$(document).ready(function(){
	
	  
	  $(".required").blur(function () {validate(this); });

	  
	  $("form").submit(function(){  
			$form = $(this).attr('name');
			
			
			var validationRes;
			var frmValid = true;
			$("form[name="+$form+"] .required").each(function (i) {
				
				validationRes = validate(this);
				if (frmValid == true &&  validationRes == false)
					frmValid = false;
					
			});
		
  
		
  
			if (frmValid){
				if ($(this).attr("action")=="#"){
				
					var dataString = $(this).find(':input[value]').serialize();
					
					$.ajax({  
						type: "POST",  
						url: "ajax/index.php",  
						data: dataString,
						error: function (XMLHttpRequest, textStatus, errorThrown) {
						  // typically only one of textStatus or errorThrown 
						  // will have info
						  //alert(textStatus + ' ' +errorThrown);
							
						  //$('form .error').html('We\'re sorry, an error occured while sending the mesasge.<br />Please try again or contact us if you still have problems!').css('display','block');
						  this; // the options for this ajax request
						},							
						success: function(data) {  
							data = data.split("||");
							if (jQuery.trim(data[0]) == "done")
								$('form[name='+$form+']').html(data[1]);
							else
								$('form[name='+$form+'] .error').html('ERROR 945!').css('display','block');
							
						  
						}
					});
				}
				else
				{
					return true;
				}
			}
			
			return false;
		
		
			
		}); 
	  
});		  
		
function validate(el){
	
	
	//alert(fieldType[2]);
	
	if (jQuery.trim($(el).val())==""){
		
		$(el).parentsUntil( $("form[name='frm_contact']"), ".rowElem" ).addClass("field_error");
		return false;
	} 
	else
	{
		var err = true;
		var fieldType = $(el).attr("class").split(" ");
	
		switch(fieldType[1])
		{
		case "username":
			var reg = /^([A-Za-z0-9_]*)$/i;
			err = reg.test($(el).val());

			break;
		case "email":
			var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
			
			err = reg.test($(el).val());

			break;
		case "pass1":
			if ($('#pass2').val()!=""){
				if ($(el).val() != $('#pass2').val()){
					$('#pass2').addClass("field_error");
					$('#pass2Info').addClass("fieldinfo_error");
					return false;
				} else {
					$('#pass2').removeClass("field_error");
					$('#pass2Info').removeClass("fieldinfo_error");
					return true;
				}
			}	
			break;
		case "pass2":
			err = $(el).val() == $('#pass1').val();
			break;
		case "float":

			var reg = /^[-+]?\d{1,10}(\.\d{1,10})?$/;
			
			err = reg.test($(el).val());
			break;
		case "int":

			var reg = /[0-9]|\./;
			
			err = reg.test($(el).val());
			break;
		default:
		  
		}
		
		if (!err)
		{
			
			$(el).parentsUntil( $("form[name='frm_contact']"), ".rowElem" ).addClass("field_error");
			//$('#'+$(el).attr('id')+'Info').addClass("fieldinfo_error");
			return false;
		}
		else
		{
			$(el).parentsUntil( $("form[name='frm_contact']"), ".rowElem" ).removeClass("field_error");
			return true;
		}
	}
	
	
	
}

