
if(!sl.loaded['sl.validator.js']){sl.validator={LOGIN_MIN_LENGTH:5,LOGIN_MAX_LENGTH:48,PASSWORD_MIN_LENGTH:8,TOP_LEVEL_DOMAINS:'ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zr|zw|com|edu|gov|int|mil|net|org|info|biz|aero|cat|coop|jobs|mobi|museum|pro|travel|name|co.cz|co.uk|me.uk|org.uk|co.jp|com.cn|org.cn|net.cn|com.tw|org.tw|idv.tw|co.nz|org.nz|net.nz|com.tr|gen.tr|org.tr|biz.tr|info.tr|av.tr|dr.tr|pol.tr|bel.tr|mil.tr|bbs.tr|k12.tr|edu.tr|name.tr|net.tr|gov.tr|web.tr|tel.tr',validInteger:function(_integer){if(typeof _integer=='number'&&_integer==Math.round(_integer))return true;return/^[+-]?[0-9]+$/.test(_integer);},validIntegerOrEmpty:function(_integer){if(_integer){return sl.validator.validInteger(_integer);}else{return true;}},validFloat:function(_float){if(typeof _float=='number'&&_float!=Math.round(_float))return true;return/^[+-]?[0-9]*\.[0-9]+$/.test(_float);},validAnyFloat:function(_float){return/^[+-]?[0-9]*(\.|,)[0-9]+$/.test(_float);},validNumber:function(number){return sl.validator.validInteger(number)||sl.validator.validFloat(number);},validAnyNumber:function(number){return sl.validator.validInteger(number)||sl.validator.validAnyFloat(number);},validNumberOrEmpty:function(number){if(number){return sl.validator.validNumber(number);}else{return true;}},validAnyNumberOrEmpty:function(number){if(number){return sl.validator.validAnyNumber(number);}else{return true;}},validPhone:function(phone){return/^[+]?[0-9]{9,}$/.test(phone);},validPhoneOrEmpty:function(phone){if(phone){return sl.validator.validPhone(phone);}else{return true;}},validEmail:function(email){return/^[A-Z0-9.!#$%&*+\/=?^_`{|}~-]+@[a-z0-9._-]+\.[a-z]{2,7}$/i.test(email);},validEmailOrEmpty:function(email){if(email){return sl.validator.validEmail(email);}else{return true;}},validTime:function(time){return/^[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?$/i.test(time);},validTimeOrEmpty:function(time){if(time){return sl.validator.validtime(time);}else{return true;}},validPSC:function(psc){return typeof psc=='string'&&/^[0-9]{5}$/.test(psc.replace(/ /gi,''));},validIC:function(ic){if(!/^[0-9]{8}$/.test(ic)){return false;}
var check_sum=0;for(var i=0;i<7;i++){check_sum+=(8-i)*ic.charAt(i);}
check_sum%=11;if(check_sum===0||check_sum===10){var last_digit=1;}else if(check_sum===1){var last_digit=0;}else{var last_digit=11-check_sum;}
return(last_digit===parseInt(ic.charAt(7)));},validICOrEmpty:function(ic){if(ic){return sl.validator.validIC(ic);}else{return true;}},validTaxNo:function(tax_no){return/^([a-z]{2}|[0-9]{3}-)[0-9]{8,10}$/i.test(tax_no);},validIp:function(ip){if(/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/.test(ip)){var octets=ip.split('.');return(octets[0]>=0)&&(octets[0]<256)&&(octets[1]>=0)&&(octets[1]<256)&&(octets[2]>=0)&&(octets[2]<256)&&(octets[3]>=0)&&(octets[3]<256);}
return false;},validIpList:function(ip_list){return/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(\/[0-9]{1,2})?(,?)?)+$/.test(ip_list);},validDomainName:function(domain_name){if(/^[a-z0-9_-]+\.[a-z0-9_-]+\.name$/i.test(domain_name)){return true;}
var domain_re=new RegExp('^[a-z0-9_-]+\\\.('+sl.validator.TOP_LEVEL_DOMAINS.replace(/\./g,'\\\.')+')$','ig');return domain_re.test(domain_name);},validLogin:function(login){if(login.length<sl.validator.LOGIN_MIN_LENGTH)return false;if(login.length>sl.validator.LOGIN_MAX_LENGTH)return false;return/^[a-z0-9_.-]+$/i.test(login);},validPasswd:function(_passwd){if(_passwd.length<sl.validator.PASSWORD_MIN_LENGTH)return false;var check_number=new RegExp('[0-9]+');if(!check_number.test(_passwd))return false;var check_letter=new RegExp('[a-z]+','ig');if(!check_letter.test(_passwd))return false;return true;},validPasswdField:function(_passwd){if(_passwd==='******')return true;return sl.validator.validPasswd(_passwd);},validEAN:function(ean){if(typeof ean!='string'){return false;}
var code=ean.replace(/[ .-]/g,'');if(!/^([0-9]{13}|[0-9]{8})$/.test(code)){return false;}
var check_sum=0;for(var i=0;i<code.length;i++){if((code.length==8&&i%2==0)||(code.length==13&&i%2==1)){check_sum+=parseInt(code.charAt(i))*3;}else{check_sum+=parseInt(code.charAt(i));}}
return(check_sum%10==0);},validEANOrEmpty:function(ean){if(ean){return sl.validator.validEAN(ean);}else{return true;}},validBankCode:function(code){reBC=new RegExp("^[0-9]{4}$");return reBC.test(code);},validBankAcount:function(code){reBA=new RegExp("^[0-9-]{4,34}$");return reBA.test(code);}}
sl.loaded['sl.validator.js']=true;}
