this.pngfix = function() {
	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	if (jQuery.browser.msie && (ie55 || ie6)) {		
		$("*").each(function(){
			var bgIMG = $(this).css('background-image');
			if(bgIMG.indexOf(".png")!=-1){
				var iebg = bgIMG.split('url("')[1].split('")')[0];
				$(this).css('background-image', 'none');
				$(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='crop')";
			};
		});
	};		
};

this.validate = function(){
	
	
	this.check = function(obj,type,errormsg){
	  var val = $(obj).val();
		var valid = true;
		if(type == "email") {
			if(!checkEmail(val)){
				error(obj,errormsg);
				valid = false;
			}
		} else if(type == "phone"){
			if(!checkPhone(val)){
				error(obj,errormsg);
				valid = false;
			}
		} else if(type == "zip"){
			if(!checkZip(val)){
				error(obj,errormsg);
				valid = false;
			}
		} else {
			if(checkContent(val)){
				error(obj,errormsg);
				valid = false;
			}
		}
		return valid;
	};
	
	this.checkContent = function(str){
	  return (str == "");
	};	
	this.checkEmail = function(str){
	  var regEx = /^[^@]+@[^@]+.[a-z]{2,}$/;
	  return (str.search(regEx) != -1);
	};	
	this.checkPhone = function(str){
	  var regEx = /[\d\s_-]{6,}/;
	  return (str.search(regEx) != -1);
	};	
	this.checkZip= function(str){
	  var regEx = /^\d{5}-\d{4}|\d{5}|[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/;
	  return (str.search(regEx) != -1);
	};	
	
	this.error = function(obj,text){
		var parent = $(obj).parent();
		parent.append("<span class=\"error\">"+ text +"</span>");
		$("span.error",parent).hide().show("fast");
	};	
	
	/* validate */

	$("#nl_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#nl_name"),"default","Please tell us your name.")) valid = false;
			if (!check($("#nl_email"),"email","We need a valid email address.")) valid = false;
		
			return valid;
	});
	
	$("#br_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#br_name"),"default","Please tell us your name.")) valid = false;
			if (!check($("#br_phone"),"phone","We need a valid phone number.")) valid = false;
			if (!check($("#br_email"),"email","We need a valid email address.")) valid = false;
		
			return valid;
	});	
	
	$("#inv_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#inv_name"),"default","Please tell us your name.")) valid = false;
			if (!check($("#inv_email"),"email","We need a valid email address.")) valid = false;
			if (!check($("#inv_name2"),"default","Please tell us your friend's name.")) valid = false;
			if (!check($("#inv_email2"),"email","Please give us your friend's valid email address.")) valid = false;
			
			return valid;
	});	
	
	$("#q_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#q_name"),"default","Please tell us your name.")) valid = false;
			if (!check($("#q_email"),"email","We need a valid email address.")) valid = false;
		
			return valid;
	});	
	
	$("#contact_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#contact_name"),"default","Please tell us your name.")) valid = false;
			if (!check($("#contact_email"),"email","We need a valid email address.")) valid = false;
			
			return valid;
	});	

	$("#manage_form .btn").click(
		function(){
			$("span.error").remove();
			var valid = true;

			if (!check($("#manage_first"),"default","Please tell us your first name.")) valid = false;
			if (!check($("#manage_last"),"default","Please tell us your last name.")) valid = false;
			if (!check($("#manage_email"),"email","We need a valid email address.")) valid = false;
			if (!check($("#manage_city"),"default","What city are you from?")) valid = false;
			if (!check($("#manage_code"),"zip","Your postal code is not valid.")) valid = false;
			
			return valid;
	});	


};

this.nav = function(){		
	$("#nav1 li").hover(
	  function () {
		$("ul",this).show();
		$("a:first",this).addClass("over");
	  }, 
	  function () {
		$("ul",this).hide("fast");
		$("a",this).removeClass("over");
	  }
	);	
};

this.questionnaire = function(){
	
	this.calculate = function(){
			var score = 0;
			$("#questionnaire input[type='radio']:checked").each(function(){
				score += parseInt($(this).val());
			});
			$("p.score strong").text(score);
			$("#q_form .score").val(score);
	};
	
	$("#questionnaire input[type='radio']").click(function(){
		calculate();											
	});
	calculate();	
	
};

$(document).ready(function(){	
	pngfix();
	validate();
	nav();
	questionnaire();
});
