//Contact Us page jquery initialization

//Form validation error message
var contactus_requireName = "Whoops. We'll need your name.";
var contactus_requireEmail = "Whoops. We'll need your email.";
var contactus_invalidEmail = "Invalid Email Address.";
var contactus_requireComments = "Whoops. We'll need your comments.";

var contactus_submitError = "Fail to submit data, please try again.";
var contactus_success = "Thanks! We'll get you back to you pronto.";

var contactus_success_autohide = 3000;

var contactus_submit_url = "/contact_us/";

$(document).ready(function(){
	if ($.loewy && $.loewy.CheckBox) {
		
		$("input[type='checkbox']").loewyCheckBox({
			width: 16,
			height: 16,
			checkClass: "checked",
			uncheckClass: "unchecked"
		});
		
	}
	
	$("#contactus_submit", document.frmContactUs).click(function(){
		var frm = document.frmContactUs;
		
		$(".formAction>.actionMenu", frm).hide();
		$(".formAction>.actionWait", frm).show();
		
		bSubmit = true;
		
		var errs = new Array();
		e=0;
		if (frm.contactus_name.value == "") {
			errs[e++] = contactus_requireName;
		}
		
		if (frm.contactus_email.value == "") {
			errs[e++] = contactus_requireEmail;
			
		} else if (!validEmail(frm.contactus_email.value)) {
			errs[e++] = contactus_invalidEmail;
		}
		
		if (frm.contactus_comments.value == "") {
			errs[e++] = contactus_requireComments;
		}
		
		errMsg = "";
		if (errs.length > 0) {
			bSubmit = false;
			for (i=0; i < errs.length; i++) {
				errs[i] = '<li>' + errs[i] + '</li>';
			}
			
			errMsg = '<div class="errMsg"><ul>' + errs.join("") + '</ul></div>';
		}
		
		$(frm).parent().find("div.errMsg").remove();
		$(frm).after(errMsg);
		
		$(frm).parent().find("div.errMsg").css({opacity:0,display:"none"});
		$(frm).parent().find("div.errMsg").animate({height: "show"},"fast");
		$(frm).parent().find("div.errMsg").animate({opacity: 1},"slow");
		
		
		
		if (bSubmit) {
			data = "contactus_name="+URLEncode(frm.contactus_name.value);
			data = data + "&contactus_phone="+URLEncode(frm.contactus_phone.value);
			data = data + "&contactus_email="+URLEncode(frm.contactus_email.value);
			data = data + "&contactus_newsletter="+frm.contactus_newsletter.value;
			data = data + "&contactus_comments="+URLEncode(frm.contactus_comments.value);
			data = data + "&submitted=1";
			
			$.ajax({
				url: contactus_submit_url,
				data: data,
				type: "GET",
				success: function(msg) {
				
					errMsg = '<div class="errMsg"><ul><li class="success">'+contactus_success+'</li></ul></div>';
					
					//remove old 
					$(frm).parent().find("div.errMsg").remove();
					//put new message
					$(frm).after(errMsg);
					//and show
					$(frm).parent().find("div.errMsg").css({opacity:0,display:"none"});
					$(frm).parent().find("div.errMsg").animate({height: "show"},"fast");
					$(frm).parent().find("div.errMsg").animate({opacity: 1},"slow");
					
					window.setTimeout( function() {
						$(frm).parent().find("div.errMsg").animate({opacity:0}, 1000, "", function() {
							//remove message
							$(this).remove();
							//clear form
							frm.contactus_name.value="";
							frm.contactus_phone.value="";
							frm.contactus_email.value="";
							frm.contactus_newsletter.checked=false;
							$(frm.contactus_newsletter).change();
							frm.contactus_comments.value="";
						});
					}, contactus_success_autohide);
					
					$(".formAction>.actionMenu", frm).show();
					$(".formAction>.actionWait", frm).hide();
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					
					errMsg = '<div class="errMsg"><ul><li>'+contactus_submitError+'</li></ul></div>';
					//remove old 
					$(frm).parent().find("div.errMsg").remove();
					//put new message
					$(frm).after(errMsg);
					//and show
					$(frm).parent().find("div.errMsg").css({opacity:0,display:"none"});
					$(frm).parent().find("div.errMsg").animate({height: "show"},"fast");
					$(frm).parent().find("div.errMsg").animate({opacity: 1},"slow");
					
					$(".formAction>.actionMenu", frm).show();
					$(".formAction>.actionWait", frm).hide();
					
				}
			});	
		} else {
			$(".formAction>.actionMenu", frm).show();
			$(".formAction>.actionWait", frm).hide();
		}
		
		
		//always return false, prevent page submit
		return false;
	});
});