/*!
 * jQuery form Validation
 * http://www.hamidraza.com/
 *
 */
(function($){$.fn.HVal=function(j){var k={errorClass:'Hamid_Error',successClass:'Hamid_Success',ajaxPost:true,errorMessage:'Error on Submit',successMessage:'Submitted Successfully',disableOnSubmit:true,displayOutput:true,checkboxNames:[],radioNames:[],beforeSubmit:function(){},onComplete:function(){},onSuccess:function(){},onError:function(){},showResult:true};var l=$.extend(k,j);return this.each(function(){var f=$(this);var g=f.find('[type=submit]').val();if(f.find('[type=submit][disabled]').val()==g){f.find('[type=submit][disabled]').removeAttr('disabled')}if((l.radioNames).length>0){for(var i=0;(l.radioNames).length>i;i++){$('[name='+l.radioNames[i]+'][type=radio]',this).wrapAll("<span style='display:inline-block;' class='Hamid_rbwrap'></span>")}}if((l.checkboxNames).length>0){for(var i=0;(l.checkboxNames).length>i;i++){$('[name='+l.checkboxNames[i]+'][type=checkbox]',this).wrapAll("<span style='display:inline-block;' class='Hamid_cbwrap'></span>")}}$('input, select, textarea',this).not('*[type=submit], [type=checkbox], [type=radio], [type=reset]').addClass('HamidField');var h=$(this).attr('action');f.find('input[type=reset]').click(function(){f.find('[type=submit]').removeAttr('disabled').val(g);$('.HamidField, .Hamid_cbwrap, .Hamid_rbwrap',f).removeClass(l.errorClass);$('.HamidRemotePg, .result',f).slideUp(function(){$(this).remove()})});$(this).submit(function(){$(l.beforeSubmit);var d=0;f.find('[type=submit]').attr('disabled',true).val('Submitting..');$('.HamidField, .Hamid_cbwrap, .Hamid_rbwrap',this).removeClass(l.errorClass);$('.errorbox',this).remove();for(var i=0;(l.checkboxNames).length>i;i++){if($('.Hamid_cbwrap [type=checkbox][name='+l.checkboxNames[i]+']',this).length>0){var e=1;$('.Hamid_cbwrap [type=checkbox][name='+l.checkboxNames[i]+']',this).each(function(){if(this.checked){e=0}});if(e==1){d=1;$('.Hamid_cbwrap [type=checkbox][name='+l.checkboxNames[i]+']',this).parent().addClass('error')}}}for(var i=0;(l.radioNames).length>i;i++){if($('.Hamid_rbwrap [type=radio][name='+l.radioNames[i]+']',this).length>0){var e=1;$('.Hamid_rbwrap [type=radio][name='+l.radioNames[i]+']',this).each(function(){if(this.checked){e=0}});if(e==1){d=1;$('.Hamid_rbwrap [type=radio][name='+l.radioNames[i]+']',this).parent().addClass('error')}}}$('.HamidField',this).each(function(){if($.isArray($(this).val())){if($(this).val().length<=0){$(this).addClass(l.errorClass);d=1}else if($(this).val().length==1){if($(this).val()[0]==''){$(this).addClass(l.errorClass);d=1}}}else{var a=$.trim($(this).val());if($(this).hasClass('required')){if(a==''){$(this).addClass(l.errorClass);d=1}}if($(this).hasClass('email')){var b=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(!b.test(a)){$(this).addClass(l.errorClass);d=1}}if($(this).hasClass('mobile')||$(this).hasClass('numeric')){if(isNaN(a)||a==''){$(this).addClass(l.errorClass);d=1}}}});if(d==0){if(!l.disableOnSubmit){f.find('[type=submit]').removeAttr('disabled').val(g)}if(l.ajaxPost){$.post(h,$(this).serialize(),function(a){$('.HamidRemotePg, .result',f).remove();f.append('<div class="HamidRemotePg" style="display:none">'+a+'</div>');var b=$('.HamidRemotePg',f).find('#Hamid_errorcode').text();if(l.displayOutput){var c=$('.HamidRemotePg',f).find('#Hamid_resultmessage').html()}else{var c=''}if(b==1){if(l.showResult){f.append('<div class="result" style="display:none;">'+c+'<div class="Hamid_successmsg">'+l.successMessage+'</div></div>')}f.find('[type=submit]').val('Submitted');$(l.onSuccess)}else{if(l.showResult){f.append('<div class="result" style="display:none;">'+l.errorMessage+'</div>')}f.find('[type=submit]').removeAttr('disabled').val('Error');$(l.onError)}$('.result',f).slideDown();$('.HamidRemotePg',f).remove()});$(l.onComplete);return false}else{$(l.onComplete);return true}}else{f.find('[type=submit]').removeAttr('disabled').val(g);$('.HamidRemotePg, .result',f).slideUp(function(){$(this).remove()});$(l.onComplete);return false}})})}})(jQuery);
