String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}
var Ulink_Validator={Version:'1.0'}
Ulink_Validator.validateInt=function(paraValue){if(!this.isAllDigits(paraValue))
return false;var iValue=parseInt(paraValue);if(isNaN(iValue)){return false;}
if(!(iValue>=-2147483648&&iValue<=2147483647)){return false;}
return true;};Ulink_Validator.validateRigthInt=function(paraValue){if(!this.isAllDigits(paraValue))
return false;var iValue=parseInt(paraValue);if(isNaN(iValue)){return false;}
if(!(iValue>=0&&iValue<=2147483647)){return false;}
return true;};Ulink_Validator.validateIntRange=function(paraValue,minValue,maxValue){if(!this.validateInt(paraValue))
return false;var v=parseInt(paraValue);return v>=minValue&&v<=maxValue;};Ulink_Validator.validateBoolean=function(bool){if(bool==null||bool=="")
return false;return bool=="false"||bool=="true";};Ulink_Validator.validateStrLength=function(str,minLength,maxLength){if(minLength==undefined)
var minLength=0;if(maxLength==undefined)
var maxLength=2147483647;if((str==undefined||str==null||str.length==0)&&minLength>0)
return false;str=str.trim();var cArr=str.match(/[^\x00-\xff]/ig);var strLength=str.length+(cArr==null?0:cArr.length);if(strLength<minLength)
return false;if(strLength>maxLength)
return false;return true;};Ulink_Validator.validateDate=function(paramValue,datePattern){if(datePattern==undefined||datePattern==null||datePattern.length==0)
datePattern="yyyy-MM-dd";var MONTH="MM";var DAY="dd";var YEAR="yyyy";var orderMonth=datePattern.indexOf(MONTH);var orderDay=datePattern.indexOf(DAY);var orderYear=datePattern.indexOf(YEAR);if((orderDay<orderYear&&orderDay>orderMonth)){var iDelim1=orderMonth+MONTH.length;var iDelim2=orderDay+DAY.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderDay&&iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");}else if(iDelim1==orderDay){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$");}else if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$");}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$");}
var matched=dateRegexp.exec(paramValue);if(matched!=null){if(!this.isValidDate(matched[2],matched[1],matched[3])){return false;}}else{return false;}}else if((orderMonth<orderYear&&orderMonth>orderDay)){var iDelim1=orderDay+DAY.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");}else if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$");}else if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$");}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$");}
var matched=dateRegexp.exec(paramValue);if(matched!=null){if(!this.isValidDate(matched[1],matched[2],matched[3])){return false;}}else{return false;}}else if((orderMonth>orderYear&&orderMonth<orderDay)){var iDelim1=orderYear+YEAR.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderDay){dateRegexp=new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");}else if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{4})(\\d{2})["+delim2+"](\\d{2})$");}else if(iDelim2==orderDay){dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})(\\d{2})$");}else{dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})["+delim2+"](\\d{2})$");}
var matched=dateRegexp.exec(paramValue);if(matched!=null){if(!this.isValidDate(matched[3],matched[2],matched[1])){return false;}}else{return false;}}else{return false;}
return true;};Ulink_Validator.validateEmail=function(emailStr){emailStr=emailStr.trim();if(emailStr.length==0){return true;}
var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=emailStr.match(emailPat);if(matchArray==null){return false;}
var user=matchArray[1];var domain=matchArray[2];if(user.match(userPat)==null){return false;}
var IPArray=domain.match(ipDomainPat);if(IPArray!=null){for(var i=1;i<=4;i++){if(IPArray[i]>255){return false;}}
return true;}
var domainArray=domain.match(domainPat);if(domainArray==null){return false;}
var atomPat=new RegExp(atom,"g");var domArr=domain.match(atomPat);var len=domArr.length;if((domArr[domArr.length-1].length<2)||(domArr[domArr.length-1].length>3)){return false;}
if(len<2){return false;}
return true;};Ulink_Validator.validateFloat=function(paraValue){var tempArray=paraValue.split(".");if(tempArray.length<=2){var check=true;for(var i=0;i<tempArray.length;i++){if(!this.isAllDigits(tempArray[i])){check=false;}
else{check=true;}}
if(check==true){var tempValue=parseFloat(paraValue);if(isNaN(tempValue))
return false;else
return true;}
else{return false;}}
else{return false;}};Ulink_Validator.validateFloatRange=function(paraValue,minValue,maxValue){if(!this.validateFloat(paraValue))
return false;var v=parseFloat(paraValue);return v>=minValue&&v<=maxValue;};Ulink_Validator.validateNumeric=function(va){};Ulink_Validator.isAllDigits=function(paraValue){if(paraValue==null||paraValue==undefined)
return false;paraValue=paraValue.toString();var validChars="0123456789";var startFrom=0;if(paraValue.substring(0,2)=="0x"){validChars="0123456789abcdefABCDEF";startFrom=2;}
else if(paraValue.charAt(0)=="-"){startFrom=1;}
for(var n=startFrom;n<paraValue.length;n++){if(validChars.indexOf(paraValue.substring(n,n+1))==-1)return false;}
return true;};Ulink_Validator.getSpecStrTimes=function(srcStr,specStr,startIndex,ser){var length=srcStr.length;var index=0;if(startIndex>0)
index=startIndex;var lastIndex=-1;var times=0;while(index<length){index=srcStr.indexOf(specStr,index);if(index<0){break;}else if(ser&&lastIndex>0&&index-lastIndex>specStr.length){break;}else{times++;}
lastIndex=index;index++;}
return times;};Ulink_Validator.isValidDate=function(day,month,year){if(month<1||month>12){return false;}
if(day<1||day>31){return false;}
if((month==4||month==6||month==9||month==11)&&(day==31)){return false;}
if(month==2){var leap=(year%4==0&&(year%100!=0||year%400==0));if(day>29||(day==29&&!leap)){return false;}}
return true;};Ulink_Validator.compareDate=function(DateOne,DateTwo)
{if(DateOne==""||DateTwo=="")
return false;var one=DateOne.split("-");var two=DateTwo.split("-");if(Date.parse(one[1]+"/"+one[2]+"/"+one[0])>Date.parse(two[1]+"/"+two[2]+"/"+two[0])){return true;}else{return false;}};Ulink_Validator.compareDateNow=function(DateOne)
{if(DateOne=="")
return false;var Datetwo=new Date();var one=DateOne.split("-");var Datethree=new Date(one[0],one[1],one[2]);if(Datetwo>Date.parse(one[1]+"/"+one[2]+"/"+one[0])){return true;}else{return false;}}