//###   Add custom method - this requires the value to be the same as the first parameter   ###
$.validator.methods.notequal = function(value, element, param) {
	return value != param;
};

$(document).ready(function() {
	//###   CONTACT FORM   ###
	$("#contactus").validate({
		submitHandler: function(form) {
			//###   Disable the Submit button   ###
			$("#contactus button").attr("disabled","true").fadeTo("slow", 0.20).addClass("disabled");

			SubmitForm( $("#contactus") );
			return false;
		}
	});
	$("#requestbrochure").validate({
		submitHandler: function(form) {
			//###   Disable the Submit button   ###
			$("#requestbrochure button").attr("disabled","true").fadeTo("slow", 0.20).addClass("disabled");

			SubmitForm( $("#requestbrochure") );
			return false;
		}
	});

	//###   SEARCH FORM   ###
	$("#sitesearch").validate({minlength:3});

	//###   SEARCH LOCATION FORM   ###
	$("#findhome").validate({
		minlength:3,
	        errorPlacement: function(error, element) {
	                error.insertAfter("#sidebar #findhome button");
		}
	});

	//###   JOB APPLICATION FORM   ###
	$("#jobapply").validate({
/*		submitHandler: function(form) {
			//###   Disable the Submit button   ###
			$("#jobapply button").attr("disabled","true").fadeTo("slow", 0.20).addClass("disabled");

			SubmitForm( $("#jobapply") );
			return false;
		} */
	});

	//###   NEWSLETTER   ###
	$("#signupnews").validate({
		submitHandler: function(form) {
			//###   Disable the Submit button   ###
			$("#signupnews input[type=submit]").attr("disabled","true").fadeTo("slow", 0.20).addClass("disabled");

			SubmitNewsletterForm();
			return false;
		}
	});


}); //###   End of DOM Ready   ###


$(document).ready(function(){
	//###############   Form focus & default text   ###############
	$("form input.required:not([type=password]), form textarea.required").each(function(i) {
		$ParentForm = $(this).parents("form");
		if ($ParentForm.attr("id") == "newsletter-form")
			DefaultValue = "";
		else if ($ParentForm.attr("id") == "sitesearch")
			DefaultValue = "Search the site";
		else if ($ParentForm.attr("id") == "findhome")
			DefaultValue = "Enter town, city or postcode";
		else if ($(this).attr("name") == "cm-fujjid-fujjid")
			DefaultValue = "Enter your email address";
		else
			DefaultValue = "";
		$(this).attr("notequal", DefaultValue);

		if ($(this).val() == "") {$(this).val(DefaultValue).addClass("empty");}

		$(this).focus(function () {
			if ($(this).parents("#sitesearch").length)
				DefaultValue = "Search the site";
			else if ($(this).parents("#findhome").length)
				DefaultValue = "Enter town, city or postcode";
			else if ($(this).attr("name") == "cm-name")
				DefaultValue = "";
			else if ($(this).attr("name") == "cm-fujjid-fujjid")
				DefaultValue = "Enter your email address";
			else
				DefaultValue = "required";
			if ($(this).val() == DefaultValue) {$(this).val("").removeClass("empty");}
		}).blur(function () {
			if ($(this).val() == "") {
				if ($(this).parents("#sitesearch").length)
					DefaultValue = "Search the site";
				else if ($(this).parents("#findhome").length)
					DefaultValue = "Enter town, city or postcode";
				else if ($(this).attr("name") == "cm-name")
					DefaultValue = "";
				else if ($(this).attr("name") == "cm-fujjid-fujjid")
					DefaultValue = "Enter your email address";
				else
					DefaultValue = "";

				$(this).val(DefaultValue).addClass("empty");
			}
		});
	});
});


//###   KEY FORMS SUBMITTED   ###
function SubmitForm( $form ) {
	//###   Send form via AJAX   ###
	$.ajax({
		type: "POST",
		data: $form.serialize() + "&action=" + $form.attr("action"),
		dataType: "html",
		success: function (html) {
			//console.log(html);

			if ( html.search(/error/i) >= 0 ) {
				if (html.search(/captcha/i) >= 0) {
					$("#captcha").addClass('error').after('<label class="error" for="captcha" generated="true">' + $("#captcha").attr('title') + '</label>')
				}
				$form.find(".button").fadeTo("slow", 1).removeAttr("disabled").removeClass("disabled");

			} else {
				$form.hide();//.prev("p").hide();
				$("#content .form-success").show();//slideDown("slow");
				if ( $("#emailnews-signup").is(":checked") == true) {
					//###   Create Appropriate Fields for Newsletter Submission   ###
/*					$NameField = $(form).find("#fullname");
					$NameField.clone().insertAfter($NameField).attr("name", "cm-name");
					$EmailField = $form.find("#email");
					$EmailField.clone().insertAfter($EmailField).attr("name", "cm-fujjid-fujjid"); */

					SubmitNewsletterForm( $form.attr("id") );
				}
				//ClearForm("#contact-form");
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			//alert(textStatus + errorThrown);
			$form.find(".button").fadeTo("slow", 1).removeAttr("disabled").removeClass("disabled");
		}
	});
}


//###   NEWSLETTER SUBMISSION   ###
function SubmitNewsletterForm(formID) {
//console.log("SubmitNewsletterForm=".formID);
	if (formID == undefined || formID == "signupnews") {
		//###   Serialize form values to be submitted with POST   ###
		var str = $("#signupnews [name*=cm-]").serialize();
		//###   Grab form action   ###
		var formAction = $("#signupnews").attr("action");
	} else {
		//###   Serialize form values to be submitted with POST   ###
		if ( $("#"+formID+" #fullname").length ) {
			var str = "cm-name="+encodeURIComponent( $("#"+formID+" #fullname").val() );
		} else {
			var str = "cm-name="+encodeURIComponent( $("#"+formID+" #firstname").val()+" "+$("#"+formID+" #surname").val() );
		}
		str = str + "&cm-fujjid-fujjid="+encodeURIComponent($("#"+formID+" #email").val());
//console.log("str=".str);
/*			$NameField = $("#register-form #fullname");
					$NameField.clone().insertAfter($NameField).attr("name", "cm-name");
					$EmailField = $("#register-form #email");
					$EmailField.clone().insertAfter($EmailField).attr("name", "cm-fujjid-fujjid"); */
//		var str = $("#"+formID+" [name*=cm-]").serialize();
		//###   Set form action   ###
		var formAction = "http://create.design-mail.co.uk/t/r/s/fujjid/";
	}
			
	//###   Add form action to end of serialized data
	var final = str + "&action=" + formAction;

	//###   Submit the form via ajax
	$.ajax({
		url: "/themes/site_themes/carebase/newsletter-proxy.php",
		type: "POST",
		data: final,
		success: function(html) {
			//alert(html);
			$("#signupnews").hide().next(".form-success").slideDown("slow");

			//###   Set Session Variable   ###
/*			$.ajax({
				url: "/ajax/newsletter"
			}); */
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			$("#signupnews input[type=submit]").removeAttr("disabled").fadeTo("slow", 1).removeClass("disabled");
		}
	});
} //###   End of SubmitNewsletter function   ###


