function prepareContactFormValidation () {
	var errors = 0;
	var oldErrors = 0;
	var currentFocus;
	var isReSizable = true;
	
	// validate signup form on keyup and submit
	$.each($(".sendMail"), function(index, itemObj){
		// Handle Focus
		$(itemObj).find(":input").focus(function () {
			 currentFocus = this.id;
			 isReSizable = true;
		});	
		
		$(itemObj).find(":input").blur(function () {
			 isReSizable = false;
		});	
						
		// Handle Validation				
		$(itemObj).validate({
			submitHandler: function(form) {
				sendMail(form);
			},
			invalidHandler: function(form, validator) {
			  errors = validator.numberOfInvalids(); 
			},
			showErrors: function(errorMap, errorList) {
			  this.defaultShowErrors();
			  //alert(errors);
			  if ($("a.lightbox").length > 0 && isReSizable) {
					$.fancybox.resize();
					$("#" + currentFocus).focus();
					oldErrors = errors;
			  } 
			}
		});
		
		if($("#cntComp").length > 0)
			$(itemObj).find("#cntComp").rules("add", {
				required: true
			});

		if($("#cntName").length > 0)
			$(itemObj).find("#cntName").rules("add", {
				required: true
			});
		
		if($("#cntPhone").length > 0)
			$(itemObj).find("#cntPhone").rules("add", {
				required: true
			});
		
		if($("#cntEmail").length > 0)
			$(itemObj).find("#cntEmail").rules("add", {
				required: true,
				email: true
			});
		
		if($("#cntMessage").length > 0)
			$(itemObj).find("#cntMessage").rules("add", {
				required: true
			});		
	});
}


function sendMail(form) {
	var dataString = $(form).serialize() + "&lang=" + lang;
	$("#sendinginProgress").removeClass("hidden");
	$.fancybox.resize();
	$.ajax({  
		type: "POST",
		data: dataString,
		url: "/" + contextRootURI + "includes/sendMail.php",  
		success: function(response, textStatus) { 
			try {
				var success 	= $.evalJSON(response).success; 
				var text		= $.evalJSON(response).textInfo; 
			} catch(err) {
				var error = response;
			}
			if(success) {
				$("#sendinginProgress").addClass("hidden");
				$('#Notifyer').jGrowl(text, {theme:  'success', sticky:true  });
			}
			else {
				try {
					var error 	= $.evalJSON(response).error;    
				} catch(err) {
					var error = response;
				}
				$("#sendinginProgress").addClass("hidden");
				$('#Notifyer').jGrowl(error, {theme:  'error', sticky:true });
			}
			$.fancybox.close();
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			$("#sendinginProgress").addClass("hidden");
			$('#Notifyer').jGrowl(textStatus + ": " + errorThrown, {theme:  'error', sticky:true });
			$.fancybox.close();
		}
	});			
}

