function hpformsAjaxSubmit(formObj){

	var formAction = formObj.attr('action');
	formObj.attr('action', '');
	var formParent = formObj.parent();
	var successMsg = formObj.find("input[name='success']").val();
	var loadingMsg = formObj.find("input[name='loading']").val();
	var errorMsg = formObj.find("input[name='error']").val();
	
	var formData = '';
	
	formObj.find(":input").each(function(i){
	
		prop = $(this).attr('name');
		val = $(this).val();
		
		if(i > 0){
			formData += '&';
		}
		
		formData += prop+'='+val;
	
	});
	
	formData += '&ajax=true';
	
	$.ajax({
		type: "POST",
		url: formAction,
		data: formData,
		success: function(retData){
			if(successMsg == ''){
				formParent.html('<p class="success">Success</p>');
			}else{
				formParent.html('<p class="success">'+successMsg+'</p>');
			}
		},
		error: function(retData){
			if(errorMsg == ''){
				formParent.html('<p class="error">Error</p>');
			}else{
				formParent.html('<p class="error">'+errorMsg+'</p>');
			}
		}
	});
	
	if(loadingMsg == ''){
		formParent.html('<p class="loading">Loading...</p>');
	}else{
		formParent.html('<p class="loading">'+loadingMsg+'</p>');
	}
	
	return false;

}

$(document).ready(function(){
	
	$("form.validate").validate();
		
	$("form.ajax").each(function(){
								 
		$(this).submit(function(form){
								 
			hpformsAjaxSubmit($(form));
								 
		});
		
	});

	$("form.validateajax").validate({
									
		submitHandler: function(form){
		   
			hpformsAjaxSubmit($(form));
		
		}
	   
	});	

});
