function Validator(A){this.formobj=document.forms[A];if(!this.formobj){alert("BUG: couldnot get Form object "+A);return }if(this.formobj.onsubmit){this.formobj.old_onsubmit=this.formobj.onsubmit;this.formobj.onsubmit=null}else{this.formobj.old_onsubmit=null}this.formobj.onsubmit=form_submit_handler;this.addValidation=add_validation;this.setAddnlValidationFunction=set_addnl_vfunction;this.clearAllValidations=clear_all_validations;this.formobj.submitHandler=form_submit_handler}function set_addnl_vfunction(A){this.formobj.addnlvalidation=A}function clear_all_validations(){for(var A=0;A<this.formobj.elements.length;A++){this.formobj.elements[A].validationset=null}}function form_submit_handler(){for(var itr=0;itr<this.elements.length;itr++){if(this.elements[itr].validationset&&!this.elements[itr].validationset.validate()){if(this.elements[itr].id=="race"){if(document.getElementById("Nationality").value=="51"){return false}}else{if(this.elements[itr].id=="txtUniv1"){if(document.getElementById("selUniv1").value==-99){return false}}else{if(this.elements[itr].id=="txtDeg1"){if(document.getElementById("selDeg1").value==-99){return false}}else{if(this.elements[itr].id=="txtCls1"){if(document.getElementById("selCls1").value==-99){return false}}else{if(this.elements[itr].id=="sponsor"||this.elements[itr].id=="SponsorCode"){if(document.getElementById("FundingMethod2").checked){return false}}else{if(this.elements[itr].id=="txtSponsor1"){if(document.getElementById("sponsor").value==""){return false}}else{if(this.elements[itr].id=="CompanyName"){if(document.getElementById("EmploymentStatus3").checked||document.getElementById("EmploymentStatus2").checked){return false}}else{if(this.elements[itr].id=="empdoc"){if(document.getElementById("EmploymentStatus3").checked){return false}}else{if(this.elements[itr].id=="expdate"){if(document.getElementById("credit").checked){return false}}else{if(this.elements[itr].id=="YearsOFServiceEmp"){if(!document.getElementById("EmploymentStatus1").checked){return false}}else{return false}}}}}}}}}}}}if(this.addnlvalidation){str=" var ret = "+this.addnlvalidation+"()";eval(str);if(!ret){return ret}}return true}function add_validation(E,C,D,A){if(!this.formobj){alert("BUG: the form object is not set properly");return }var B=this.formobj[E];if(!B){alert("BUG: Couldnot get the input object named: "+E);return }if(!B.validationset){B.validationset=new ValidationSet(B)}B.validationset.add(C,D,A)}function ValidationDesc(D,C,A,B){this.desc=C;this.error=A;this.itemobj=D;this.errorDisplay=B;this.validate=vdesc_validate}function vdesc_validate(){if(!V2validateData(this.desc,this.itemobj,this.error,this.errorDisplay)){this.itemobj.focus();return false}return true}function ValidationSet(A){this.vSet=[];this.add=add_validationdesc;this.validate=vset_validate;this.itemobj=A}function add_validationdesc(C,A,B){this.vSet[this.vSet.length]=new ValidationDesc(this.itemobj,C,A,B)}function vset_validate(){for(var A=0;A<this.vSet.length;A++){if(!this.vSet[A].validate()){return false}else{if(this.vSet[A].errorDisplay){var B=document.getElementById(this.vSet[A].errorDisplay);if(B){B.innerHTML=""}}}}return true}function validateEmailv2(A){var B="^([a-zA-Z0-9][a-zA-Z0-9_\\-\\.]*)@((\\[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$";if(A.match(B)!=null){return true}else{return false}}function V2validateData(strValidateStr,objValue,strError,errDisplay){var epos=strValidateStr.search("=");var command="";var cmdvalue="";if(epos>=0){command=strValidateStr.substring(0,epos);cmdvalue=strValidateStr.substr(epos+1)}else{command=strValidateStr}objValue.value=objValue.value.toString().replace(/^[\s\t\r\n]+|[\s\t\r\n]+$/g,"");objValue.value=objValue.value.toString().replace(/[\s\t\r\n]+/g," ");switch(command){case"req":case"required":if(eval(objValue.value.length)==0){if(!strError||strError.length==0){strError=objValue.name+" : Required Field"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"year":var charpos=objValue.value.search("^(19\\d{2}|2\\d{3})$");if(charpos==-1){if(!strError||strError.length==0){strError=objValue.name+": Only digits allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"comboreq":if(eval(objValue.value)==0){if(!strError||strError.length==0){strError=objValue.name+" : Required Field"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"strcomboreq":if(eval(objValue.value=="0")){if(!strError||strError.length==0){strError=objValue.name+" : Required Field"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"maxlength":case"maxlen":if(eval(objValue.value.length)>eval(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+" : "+cmdvalue+" characters maximum "}alert(strError+"\n[Current length = "+objValue.value.length+" ]");return false}break;case"minlength":case"minlen":if(eval(objValue.value.length)<eval(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+" : "+cmdvalue+" characters minimum  "}alert(strError+"\n[Current length = "+objValue.value.length+" ]");return false}break;case"alnum":case"alphanumeric":var charpos=objValue.value.search("[^A-Za-z0-9][\\s]");if(objValue.value.length>0&&charpos>=0){if(!strError||strError.length==0){strError=objValue.name+": Only alpha-numeric characters allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"num":case"numeric":var charpos=objValue.value.search("[^0-9]");if(objValue.value.length>0&&charpos>=0){if(!strError||strError.length==0){strError=objValue.name+": Only digits allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"cgpa":var charpos=objValue.value.search("^((\\d{0,4}(\\.\\d{1,2})?)|(10(\\.0)*))$");if(objValue.value.length>0&&charpos<0){if(!strError||strError.length==0){strError=objValue.name+": Only decimal values allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"decimal":var charpos=objValue.value.search("^(\\d+(\\.\\d{1})?)$");if(objValue.value.length>0&&charpos<0){if(!strError||strError.length==0){strError=objValue.name+": Only decimal values allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"postcode":var charpos=objValue.value.search("^(([0-9A-Z]{2,5}[ \\-]?[0-9A-Z]{2,5})|\\d{0})$");if(objValue.value.length>0&&charpos<0){if(!strError||strError.length==0){strError=objValue.name+": Only decimal values allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"mykad":var charpos=objValue.value.search("^[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])-[0-9]{2}-[0-9]{4}$");var kad=$("#idnumber")[0].value;var y=parseFloat(kad.substring(0,2));y=(y>20)?y+1900:y+2000;var m=parseFloat(kad.substring(2,4));var d=parseFloat(kad.substring(4,6));now=new Date();var ty=now.getFullYear();var tm=now.getMonth()+1;var td=now.getDate();var age=0;age=ty-y;if(m>tm||(m==tm&&d>td)){age--}if(age<0){strError=objValue.name+": ID should not contain date in future."}if(objValue.value.length>0&&(charpos<0||age<0)){if(!strError||strError.length==0){strError=objValue.name+": MyKad ID is expected in format yymmdd-nn-nnnn. "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"mobile":var charpos=objValue.value.search("^\\+?(\\d{1,4})(-| )?(\\d{1,4})(-| )?(\\d{4,10})$");if(objValue.value.length>0&&charpos<0){if(!strError||strError.length==0){strError=objValue.name+": Enter in the specified format "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"alphabetic":case"alpha":var charpos=objValue.value.search("[^A-Za-z][\\s]");if(objValue.value.length>0&&charpos>=0){if(!strError||strError.length==0){strError=objValue.name+": Only alphabetic characters allowed "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"alnumhyphen":var charpos=objValue.value.search("[^A-Za-z0-9\\-_]");if(objValue.value.length>0&&charpos>=0){if(!strError||strError.length==0){strError=objValue.name+": characters allowed are A-Z,a-z,0-9,- and _"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"email":if(!validateEmailv2(objValue.value)){if(!strError||strError.length==0){strError=objValue.name+": Enter a valid Email address "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"lt":case"lessthan":if(isNaN(objValue.value)){alert(objValue.name+": Should be a number ");return false}if(eval(objValue.value)>=eval(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+" : value should be less than "+cmdvalue}alert(strError);return false}break;case"gt":case"greaterthan":if(isNaN(objValue.value)){alert(objValue.name+": Should be a number ");return false}if(eval(objValue.value)<=eval(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+" : value should be greater than "+cmdvalue}alert(strError);return false}break;case"regexp":if(objValue.value.length>0){if(!objValue.value.match(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+": Invalid characters found "}alert(strError);return false}}break;case"dontselect":if(objValue.selectedIndex==null){alert("BUG: dontselect command for non-select Item");return false}if(objValue.selectedIndex==eval(cmdvalue)){if(!strError||strError.length==0){strError=objValue.name+": Please Select one option "}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"bdateval":var crDate=new Date();var inpDate=new Date(ddmmtommdd(objValue.value));if(crDate<inpDate){if(!strError||strError.length==0){strError=objValue.name+" : Required Field"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"pastdateval":var crDate=new Date();var inpDate=new Date(ddmmtommdd(objValue.value));if(objValue.value.length>0&&crDate<inpDate){if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break;case"bdatevalmmdd":var crDate=new Date();var inpDate=new Date(objValue.value);if(crDate<inpDate){if(!strError||strError.length==0){strError=objValue.name+" : Required Field"}if(errDisplay){document.getElementById(errDisplay).innerHTML=strError}return false}break}return true}function indExpChecked(B,H){var G=$("#IndustryRadios"+B).children("input");var A=$("#IndustryRadios"+B).children("input").length;for(var E=0;E<A;E++){G[E].disabled=H}if(B==8){$("#txtInd1")[0].disabled=H}if(B==19&&H==false){for(var D=1;D<=18;D++){var G=$("#IndustryRadios"+D).children("input");var A=$("#IndustryRadios"+D).children("input").length;for(var E=0;E<A;E++){G[E].disabled=true}$("#Industry"+D)[0].checked=false;if(D==8){$("#txtInd1")[0].disabled=true}}}else{if(H==false){$("#IndustryNone")[0].checked=false}else{var F=0;for(var C=1;C<=18;C++){if($("#Industry"+C)[0].checked){F++}}if(F==0){$("#IndustryNone")[0].checked=true}}}}function ddmmtommdd(B){var C="";var A=B.substring(0,2);var D=B.substring(3,5);var E=B.substring(6,10);C=D+"/"+A+"/"+E;return C}