var debug=0;var max_error=20;var show_error=new Array();var i,z,err,pat,er;var error=0;var send="";var field_val,form_name;var back_m=0;var hi=new Array();var temp_hi=new Array();var tfname;var tkname=new Array();var process=1;function start(A){show_error[0]="Please make note of following things :\n";form_name=A.name;return }function finish(){error_counter("1");if(back_m==1){disable();back_m=0;return true}else{error_counter("2");error_counter("0");return false}}if(debug==1){alert("Validation In Testing Mode...\nPlease dont report bug for this\nFor Details : aditya@tradeindia.com")}function validate_text(field_id,field_name,field_type,min,max){if(debug==1){alert("in validate text for "+field_id)}var result=1;var message_x;var field_val=eval("document."+form_name+"."+field_id+".value");if(field_type=="char_up"){pat=/^[A-Z_-]+$/;message_x=" should consist only of characters in upper case A - Z";if(field_val.match(pat)){result=0}else{result=1}}if(field_type=="char_low"){pat=/^[a-z_-]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters in lower case a - z"}if(field_type=="char"){pat=/^[a-zA-Z\.]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters only a - z or A - Z"}if(field_type=="no_symbols"){pat=/^[a-zA-Z0-9. -]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should not consist of any non character values"}if(field_type=="user_id"){pat=/^[a-z0-9A-Z\_\.\&\-]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters(upper or lower),numbers (0-9),-,&,. or _ only."}if(field_type=="password"){pat=/^[a-z-0-9_]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters in lower case or numbers 0 - 9"}if(field_type=="phone"){pat=/^[0-9 \/ -]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of numbers 0-9, separate multiple numbers by /"}if(field_type=="mobile"){pat=/^[0-9+]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters 0-9 and +"}if(field_type=="mob_in"){pat=/^\+91[0-9+]{10,10}$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should begin with +91 and\nconsist only of characters 0-9 for Indian mobiles"}if(field_type=="num_coma"){pat=/^[0-9,]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of numericals 0 - 9 and comma"}if(field_type=="float"){pat=/^[0-9.]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of 0 - 9 and ."}if(field_type=="nonzero"){pat=/^[0-9]+$/;if(field_val.match(pat)&&field_val>0){result=0}else{result=1}message_x=" should be a number greater than zero "}if(field_type=="int"){pat=/^[0-9]*$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of numbers 0 - 9"}if(field_type=="char_int"){pat=/^[a-z0-9]+$/;if(field_val.match(pat)){result=0}else{result=1}message_x=" should consist only of characters in lower case a - z or numericals 0 - 9"}if(field_type=="string"){if(debug==1){alert("in string pat init")}var pat=/^[\s_.=]*$/;if(field_val.match(pat)){result=1}else{result=0}message_x=" should not be left blank or should consist of some valid values"}if(field_type=="email"){if(debug==1){alert("in email pat init")}if(emailCheck(field_val)==true){result=0}else{result=1}message_x=" should contain a valid email address "}if(debug==1){alert("field empty validation started")}var len=field_val.length;if(debug==1){alert("length is ="+len)}if(len==0&&min!=0){send="Please specify your "+field_name;hi[hi.length]=field_id;error_process(send);return false}if(debug==1){alert("field pattern validation started")}if(result==1){if(min==0&&len==0){}else{send=field_name+message_x;hi[hi.length]=field_id;error_process(send);return false}}if(debug==1){alert("field max min validation started")}if(max>0&&((len<min)||(len>max))){send="Length of "+field_name+" should be between "+min+" and "+max;hi[hi.length]=field_id;error_process(send);return false}else{if(len<min){if(debug==1){alert("field min validation started")}send="Length of "+field_name+" should be more than "+min;hi[hi.length]=field_id;error_process(send);return false}}if(debug==1){alert("field validation ended")}send="";return true}function validate_radio(radio_var,radio_name){if(debug==1){alert("validate radio called for "+radio_var)}var rOpt=-1;var defchecked;defchecked=eval("document."+form_name+"."+radio_var+".defaultChecked");if(defchecked){return true}for(var i=0;i<eval("document."+form_name+"."+radio_var+".length");i++){if(eval("document."+form_name+"."+radio_var+"["+i+"].checked")){rOpt=i;if(debug==1){alert("found one radio selected hence increasing counter")}}}if(rOpt==-1){if(debug==1){alert("counter was not increased during validation process hence no radio selected")}send="Please select one option for field "+radio_name;if(debug==1){alert("now sending error : "+send)}error_process(send);if(debug==1){alert("now returning radio valid false")}return false}else{if(debug==1){alert("counter was increased means that radio was selected hence return radio true")}return(true)}if(debug==1){alert("exit radio validate")}}function validate_dd(field_id,field_name){var str="document."+form_name+"."+field_id+".options.selectedIndex";if(eval(str)==0){hi[hi.length]=field_id;send="Please select a option in dropdown for field "+field_name;error_process(send)}}function validate_list(field_id,field_name,min){var inc=0;for(i=0;i<eval("document."+form_name+"."+field_id+".options.length");i++){if(eval("document."+form_name+"."+field_id+".options["+i+"].selected")){inc++;if(inc==min){break}}}if(inc<min){hi[hi.length]=field_id;send="Please select at least "+min+" option in list "+field_name;error_process(send)}}function validate_checkBox(arr,disc,typ,min){var x=0;eval("var newAr=new Array("+arr+");");for(var px=0;px<eval("newAr.length");px++){if(eval("document."+form_name+"."+newAr[px]+".checked")==true){x++}}if(x<min){if((x<min)&&(typ=="single")){for(var w=0;w<newAr.length;w++){hi[hi.length]=newAr[w]}send="You Must check "+disc+" Checkbox to submit this form";error_process(send)}if((x<min)&&(typ=="group")){send="Please select at least "+min+" checkbox"+((min>1)?"es":"")+" from "+disc;error_process(send)}}}function validate_confirm(field1,field2,disc){var field1_val=eval("document."+form_name+"."+field1+".value");var field2_val=eval("document."+form_name+"."+field2+".value");if(field1_val!=field2_val){send="The value for field "+disc+" is not confirmed";hi[hi.length]=field1;hi[hi.length]=field2;error_process(send)}}function validate_dates(G,C,F,E,B,A){var D=new Date(G,C,F);var H=new Date(E,B,A);if(H<D){send="End date should be after or equal to the start date";error_process(send)}}function error_process(A){if(process==1){if(error>=max_error){return }show_error[show_error.length]="-- "+A;error_counter("+")}if(process==0){filter=1}}function process_status(A){if(A=="start"){process=1}if(A=="stop"){process=0}return }function error_counter(A){switch(A){case"0":hi=new Array();error=0;break;case"1":if(error>0){back_m=0}else{back_m=1}break;case"+":error++;break;case"2":if(error>0){show_error[0]="Please re-enter the following field(s) again:\n";show_error[show_error.length]="\nPlease correct the above problems and submit again.";thi=hi;tkname=thi;tfname=form_name;alert(show_error.join("\n"));hi=new Array();field_id="";field_name="";field_type="";min=0;field_val="";temp_hi=hi;show_error=new Array();break}else{field_id="";field_name="";field_type="";min=0;field_val="";show_error=new Array();back_m=1;break}}}function disable(){return true;if(debug==1){alert("Disabling process started")}if(document.all||document.getElementById){for(i=0;i<eval("document."+form_name+".length");i++){var tempobj=eval("document."+form_name+".elements[i]");if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset"){tempobj.disabled=true;if(tempobj.type.toLowerCase()=="submit"){tempobj.value="Please wait .."}}}}}function high_light_clear(){for(var k=0;k<tkname.length;k++){if(eval("document."+tfname+"."+tkname[k]+".type")!="radio"&&"button"&&"hidden"){eval("document."+tfname+"."+tkname[k]+".style.backgroundColor=''")}}}function high_light(){tkname=hi;tfname=form_name;high_light_clear();high_light_clear();for(var l=0;l<hi.length;l++){if(eval("document."+form_name+"."+hi[l]+".type")!="radio"&&"button"&&"hidden"){eval("document."+form_name+"."+hi[l]+".style.backgroundColor='fff79e'")}}}var bbg=0;var thi=new Array();function blink_bg(bbg){if(bbg==0){for(var l=0;l<thi.length;l++){if(eval("document."+form_name+"."+thi[l]+".type")!="radio"&&"button"&&"hidden"){eval("document."+form_name+"."+thi[l]+".style.backgroundColor='fff79e'")}}bbg=1}else{for(var k=0;k<tkname.length;k++){if(eval("document."+tfname+"."+tkname[k]+".type")!="radio"&&"button"&&"hidden"){eval("document."+tfname+"."+tkname[k]+".style.backgroundColor=''")}}bbg=0}}function emailCheck(D){var K=D.split(",");for(var S=0;S<K.length;S++){var B=K[S];var U=/^(.+)@(.+)$/;var R='\\(\\)<>@,;:\\\\\\"\\.\\[\\]';var M="[^\\s"+R+"]";var E='("[^"]*")';var T=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var A=M+"+";var Q="("+A+"|"+E+")";var N=new RegExp("^"+Q+"(\\."+Q+")*$");var G=new RegExp("^"+A+"(\\."+A+")*$");var C=B.match(U);if(C==null){return false}var V=C[1];var W=C[2];if(V.match(N)==null){return false}var J=W.match(T);if(J!=null){for(var O=1;O<=4;O++){if(J[O]>255){return false}}return true}var H=W.match(G);if(H==null){return false}var I=new RegExp(A,"g");var F=W.match(I);var P=F.length;if(F[F.length-1].length<2||F[F.length-1].length>8){return false}if(P<2){var L='This address is missing a hostname! "'+B+'"';return false}}return true};