blob: 7ab4e51885bd61be276f5b2b197b6948a4817724 [file] [log] [blame]
/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
http://dojotoolkit.org/community/licensing.shtml
*/
dojo.provide("layer.validation");
dojo.provide("dojo.experimental");
dojo.experimental=function(_1,_2){
var _3="EXPERIMENTAL: "+_1;
_3+=" -- Not yet ready for use. APIs subject to change without notice.";
if(_2){
_3+=" "+_2;
}
dojo.debug(_3);
};
dojo.provide("dojo.regexp");
dojo.evalObjPath("dojo.regexp.us",true);
dojo.regexp.tld=function(_4){
_4=(typeof _4=="object")?_4:{};
if(typeof _4.allowCC!="boolean"){
_4.allowCC=true;
}
if(typeof _4.allowInfra!="boolean"){
_4.allowInfra=true;
}
if(typeof _4.allowGeneric!="boolean"){
_4.allowGeneric=true;
}
var _5="arpa";
var _6="aero|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|xxx|jobs|mobi|post";
var _7="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|er|eu|es|et|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|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|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|sk|sl|sm|sn|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|"+"tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw";
var a=[];
if(_4.allowInfra){
a.push(_5);
}
if(_4.allowGeneric){
a.push(_6);
}
if(_4.allowCC){
a.push(_7);
}
var _9="";
if(a.length>0){
_9="("+a.join("|")+")";
}
return _9;
};
dojo.regexp.ipAddress=function(_a){
_a=(typeof _a=="object")?_a:{};
if(typeof _a.allowDottedDecimal!="boolean"){
_a.allowDottedDecimal=true;
}
if(typeof _a.allowDottedHex!="boolean"){
_a.allowDottedHex=true;
}
if(typeof _a.allowDottedOctal!="boolean"){
_a.allowDottedOctal=true;
}
if(typeof _a.allowDecimal!="boolean"){
_a.allowDecimal=true;
}
if(typeof _a.allowHex!="boolean"){
_a.allowHex=true;
}
if(typeof _a.allowIPv6!="boolean"){
_a.allowIPv6=true;
}
if(typeof _a.allowHybrid!="boolean"){
_a.allowHybrid=true;
}
var _b="((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";
var _c="(0[xX]0*[\\da-fA-F]?[\\da-fA-F]\\.){3}0[xX]0*[\\da-fA-F]?[\\da-fA-F]";
var _d="(0+[0-3][0-7][0-7]\\.){3}0+[0-3][0-7][0-7]";
var _e="(0|[1-9]\\d{0,8}|[1-3]\\d{9}|4[01]\\d{8}|42[0-8]\\d{7}|429[0-3]\\d{6}|"+"4294[0-8]\\d{5}|42949[0-5]\\d{4}|429496[0-6]\\d{3}|4294967[01]\\d{2}|42949672[0-8]\\d|429496729[0-5])";
var _f="0[xX]0*[\\da-fA-F]{1,8}";
var _10="([\\da-fA-F]{1,4}\\:){7}[\\da-fA-F]{1,4}";
var _11="([\\da-fA-F]{1,4}\\:){6}"+"((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";
var a=[];
if(_a.allowDottedDecimal){
a.push(_b);
}
if(_a.allowDottedHex){
a.push(_c);
}
if(_a.allowDottedOctal){
a.push(_d);
}
if(_a.allowDecimal){
a.push(_e);
}
if(_a.allowHex){
a.push(_f);
}
if(_a.allowIPv6){
a.push(_10);
}
if(_a.allowHybrid){
a.push(_11);
}
var _13="";
if(a.length>0){
_13="("+a.join("|")+")";
}
return _13;
};
dojo.regexp.host=function(_14){
_14=(typeof _14=="object")?_14:{};
if(typeof _14.allowIP!="boolean"){
_14.allowIP=true;
}
if(typeof _14.allowLocal!="boolean"){
_14.allowLocal=false;
}
if(typeof _14.allowPort!="boolean"){
_14.allowPort=true;
}
var _15="([0-9a-zA-Z]([-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?\\.)+"+dojo.regexp.tld(_14);
var _16=(_14.allowPort)?"(\\:"+dojo.regexp.integer({signed:false})+")?":"";
var _17=_15;
if(_14.allowIP){
_17+="|"+dojo.regexp.ipAddress(_14);
}
if(_14.allowLocal){
_17+="|localhost";
}
return "("+_17+")"+_16;
};
dojo.regexp.url=function(_18){
_18=(typeof _18=="object")?_18:{};
if(typeof _18.scheme=="undefined"){
_18.scheme=[true,false];
}
var _19=dojo.regexp.buildGroupRE(_18.scheme,function(q){
if(q){
return "(https?|ftps?)\\://";
}
return "";
});
var _1b="(/([^?#\\s/]+/)*)?([^?#\\s/]+(\\?[^?#\\s/]*)?(#[A-Za-z][\\w.:-]*)?)?";
return _19+dojo.regexp.host(_18)+_1b;
};
dojo.regexp.emailAddress=function(_1c){
_1c=(typeof _1c=="object")?_1c:{};
if(typeof _1c.allowCruft!="boolean"){
_1c.allowCruft=false;
}
_1c.allowPort=false;
var _1d="([\\da-z]+[-._+&'])*[\\da-z]+";
var _1e=_1d+"@"+dojo.regexp.host(_1c);
if(_1c.allowCruft){
_1e="<?(mailto\\:)?"+_1e+">?";
}
return _1e;
};
dojo.regexp.emailAddressList=function(_1f){
_1f=(typeof _1f=="object")?_1f:{};
if(typeof _1f.listSeparator!="string"){
_1f.listSeparator="\\s;,";
}
var _20=dojo.regexp.emailAddress(_1f);
var _21="("+_20+"\\s*["+_1f.listSeparator+"]\\s*)*"+_20+"\\s*["+_1f.listSeparator+"]?\\s*";
return _21;
};
dojo.regexp.integer=function(_22){
_22=(typeof _22=="object")?_22:{};
if(typeof _22.signed=="undefined"){
_22.signed=[true,false];
}
if(typeof _22.separator=="undefined"){
_22.separator="";
}else{
if(typeof _22.groupSize=="undefined"){
_22.groupSize=3;
}
}
var _23=dojo.regexp.buildGroupRE(_22.signed,function(q){
return q?"[-+]":"";
});
var _25=dojo.regexp.buildGroupRE(_22.separator,function(sep){
if(sep==""){
return "(0|[1-9]\\d*)";
}
var grp=_22.groupSize,_28=_22.groupSize2;
if(typeof _28!="undefined"){
var _29="(0|[1-9]\\d{0,"+(_28-1)+"}(["+sep+"]\\d{"+_28+"})*["+sep+"]\\d{"+grp+"})";
return ((grp-_28)>0)?"("+_29+"|(0|[1-9]\\d{0,"+(grp-1)+"}))":_29;
}
return "(0|[1-9]\\d{0,"+(grp-1)+"}(["+sep+"]\\d{"+grp+"})*)";
});
return _23+_25;
};
dojo.regexp.realNumber=function(_2a){
_2a=(typeof _2a=="object")?_2a:{};
if(typeof _2a.places!="number"){
_2a.places=Infinity;
}
if(typeof _2a.decimal!="string"){
_2a.decimal=".";
}
if(typeof _2a.fractional=="undefined"){
_2a.fractional=[true,false];
}
if(typeof _2a.exponent=="undefined"){
_2a.exponent=[true,false];
}
if(typeof _2a.eSigned=="undefined"){
_2a.eSigned=[true,false];
}
var _2b=dojo.regexp.integer(_2a);
var _2c=dojo.regexp.buildGroupRE(_2a.fractional,function(q){
var re="";
if(q&&(_2a.places>0)){
re="\\"+_2a.decimal;
if(_2a.places==Infinity){
re="("+re+"\\d+)?";
}else{
re=re+"\\d{"+_2a.places+"}";
}
}
return re;
});
var _2f=dojo.regexp.buildGroupRE(_2a.exponent,function(q){
if(q){
return "([eE]"+dojo.regexp.integer({signed:_2a.eSigned})+")";
}
return "";
});
return _2b+_2c+_2f;
};
dojo.regexp.currency=function(_31){
_31=(typeof _31=="object")?_31:{};
if(typeof _31.signed=="undefined"){
_31.signed=[true,false];
}
if(typeof _31.symbol=="undefined"){
_31.symbol="$";
}
if(typeof _31.placement!="string"){
_31.placement="before";
}
if(typeof _31.signPlacement!="string"){
_31.signPlacement="before";
}
if(typeof _31.separator=="undefined"){
_31.separator=",";
}
if(typeof _31.fractional=="undefined"&&typeof _31.cents!="undefined"){
dojo.deprecated("dojo.regexp.currency: flags.cents","use flags.fractional instead","0.5");
_31.fractional=_31.cents;
}
if(typeof _31.decimal!="string"){
_31.decimal=".";
}
var _32=dojo.regexp.buildGroupRE(_31.signed,function(q){
if(q){
return "[-+]";
}
return "";
});
var _34=dojo.regexp.buildGroupRE(_31.symbol,function(_35){
return "\\s?"+_35.replace(/([.$?*!=:|\\\/^])/g,"\\$1")+"\\s?";
});
switch(_31.signPlacement){
case "before":
_34=_32+_34;
break;
case "after":
_34=_34+_32;
break;
}
var _36=_31;
_36.signed=false;
_36.exponent=false;
var _37=dojo.regexp.realNumber(_36);
var _38;
switch(_31.placement){
case "before":
_38=_34+_37;
break;
case "after":
_38=_37+_34;
break;
}
switch(_31.signPlacement){
case "around":
_38="("+_38+"|"+"\\("+_38+"\\)"+")";
break;
case "begin":
_38=_32+_38;
break;
case "end":
_38=_38+_32;
break;
}
return _38;
};
dojo.regexp.us.state=function(_39){
_39=(typeof _39=="object")?_39:{};
if(typeof _39.allowTerritories!="boolean"){
_39.allowTerritories=true;
}
if(typeof _39.allowMilitary!="boolean"){
_39.allowMilitary=true;
}
var _3a="AL|AK|AZ|AR|CA|CO|CT|DE|DC|FL|GA|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|MN|MS|MO|MT|"+"NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VT|VA|WA|WV|WI|WY";
var _3b="AS|FM|GU|MH|MP|PW|PR|VI";
var _3c="AA|AE|AP";
if(_39.allowTerritories){
_3a+="|"+_3b;
}
if(_39.allowMilitary){
_3a+="|"+_3c;
}
return "("+_3a+")";
};
dojo.regexp.time=function(_3d){
dojo.deprecated("dojo.regexp.time","Use dojo.date.parse instead","0.5");
_3d=(typeof _3d=="object")?_3d:{};
if(typeof _3d.format=="undefined"){
_3d.format="h:mm:ss t";
}
if(typeof _3d.amSymbol!="string"){
_3d.amSymbol="AM";
}
if(typeof _3d.pmSymbol!="string"){
_3d.pmSymbol="PM";
}
var _3e=function(_3f){
_3f=_3f.replace(/([.$?*!=:|{}\(\)\[\]\\\/^])/g,"\\$1");
var _40=_3d.amSymbol.replace(/([.$?*!=:|{}\(\)\[\]\\\/^])/g,"\\$1");
var _41=_3d.pmSymbol.replace(/([.$?*!=:|{}\(\)\[\]\\\/^])/g,"\\$1");
_3f=_3f.replace("hh","(0[1-9]|1[0-2])");
_3f=_3f.replace("h","([1-9]|1[0-2])");
_3f=_3f.replace("HH","([01][0-9]|2[0-3])");
_3f=_3f.replace("H","([0-9]|1[0-9]|2[0-3])");
_3f=_3f.replace("mm","([0-5][0-9])");
_3f=_3f.replace("m","([1-5][0-9]|[0-9])");
_3f=_3f.replace("ss","([0-5][0-9])");
_3f=_3f.replace("s","([1-5][0-9]|[0-9])");
_3f=_3f.replace("t","\\s?("+_40+"|"+_41+")\\s?");
return _3f;
};
return dojo.regexp.buildGroupRE(_3d.format,_3e);
};
dojo.regexp.numberFormat=function(_42){
_42=(typeof _42=="object")?_42:{};
if(typeof _42.format=="undefined"){
_42.format="###-###-####";
}
var _43=function(_44){
_44=_44.replace(/([.$*!=:|{}\(\)\[\]\\\/^])/g,"\\$1");
_44=_44.replace(/\?/g,"\\d?");
_44=_44.replace(/#/g,"\\d");
return _44;
};
return dojo.regexp.buildGroupRE(_42.format,_43);
};
dojo.regexp.buildGroupRE=function(a,re){
if(!(a instanceof Array)){
return re(a);
}
var b=[];
for(var i=0;i<a.length;i++){
b.push(re(a[i]));
}
return "("+b.join("|")+")";
};
dojo.provide("dojo.i18n.number");
dojo.require("dojo.i18n.common");
dojo.require("dojo.lang.common");
dojo.i18n.number.format=function(_49,_4a,_4b){
_4a=(typeof _4a=="object")?_4a:{};
var _4c=dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE,_4b);
if(typeof _4a.separator=="undefined"){
_4a.separator=_4c[1];
}
if(typeof _4a.decimal=="undefined"){
_4a.decimal=_4c[2];
}
if(typeof _4a.groupSize=="undefined"){
_4a.groupSize=_4c[3];
}
if(typeof _4a.groupSize2=="undefined"){
_4a.groupSize2=_4c[4];
}
if(typeof _4a.round=="undefined"){
_4a.round=true;
}
if(typeof _4a.signed=="undefined"){
_4a.signed=true;
}
var _4d=(_4a.signed&&(_49<0))?"-":"";
_49=Math.abs(_49);
var _4e=String((((_4a.places>0)||!_4a.round)?Math.floor:Math.round)(_49));
function splitSubstrings(str,_50){
for(var _51=[];str.length>=_50;str=str.substr(0,str.length-_50)){
_51.push(str.substr(-_50));
}
if(str.length>0){
_51.push(str);
}
return _51.reverse();
}
if(_4a.groupSize2&&(_4e.length>_4a.groupSize)){
var _52=splitSubstrings(_4e.substr(0,_4e.length-_4a.groupSize),_4a.groupSize2);
_52.push(_4e.substr(-_4a.groupSize));
_4d=_4d+_52.join(_4a.separator);
}else{
if(_4a.groupSize){
_4d=_4d+splitSubstrings(_4e,_4a.groupSize).join(_4a.separator);
}else{
_4d=_4d+_4e;
}
}
if(_4a.places>0){
var _53=_49-Math.floor(_49);
_53=(_4a.round?Math.round:Math.floor)(_53*Math.pow(10,_4a.places));
_4d=_4d+_4a.decimal+_53;
}
return _4d;
};
dojo.i18n.number.parse=function(_54,_55,_56){
_56=(typeof _56=="object")?_56:{};
var _57=dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE,_55);
if(typeof _56.separator=="undefined"){
_56.separator=_57[1];
}
if(typeof _56.decimal=="undefined"){
_56.decimal=_57[2];
}
if(typeof _56.groupSize=="undefined"){
_56.groupSize=_57[3];
}
if(typeof _56.groupSize2=="undefined"){
_56.groupSize2=_57[4];
}
if(typeof _56.validate=="undefined"){
_56.validate=true;
}
if(_56.validate&&!dojo.i18n.number.isReal(_54,_55,_56)){
return Number.NaN;
}
var _58=_54.split(_56.decimal);
if(_58.length>2){
return Number.NaN;
}
var _59;
if(_56.separator!=""){
_59=Number(_58[0].replace(new RegExp("\\"+_56.separator,"g"),""));
}else{
_59=Number(_58[0]);
}
var _5a=(_58.length==1)?0:Number(_58[1])/Math.pow(10,String(_58[1]).length);
return _59+_5a;
};
dojo.i18n.number.isInteger=function(_5b,_5c,_5d){
_5d=(typeof _5d=="object")?_5d:{};
var _5e=dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE,_5c);
if(typeof _5d.separator=="undefined"){
_5d.separator=_5e[1];
}else{
if(dojo.lang.isArray(_5d.separator)&&_5d.separator.length===0){
_5d.separator=[_5e[1],""];
}
}
if(typeof _5d.groupSize=="undefined"){
_5d.groupSize=_5e[3];
}
if(typeof _5d.groupSize2=="undefined"){
_5d.groupSize2=_5e[4];
}
var re=new RegExp("^"+dojo.regexp.integer(_5d)+"$");
return re.test(_5b);
};
dojo.i18n.number.isReal=function(_60,_61,_62){
_62=(typeof _62=="object")?_62:{};
var _63=dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE,_61);
if(typeof _62.separator=="undefined"){
_62.separator=_63[1];
}else{
if(dojo.lang.isArray(_62.separator)&&_62.separator.length===0){
_62.separator=[_63[1],""];
}
}
if(typeof _62.decimal=="undefined"){
_62.decimal=_63[2];
}
if(typeof _62.groupSize=="undefined"){
_62.groupSize=_63[3];
}
if(typeof _62.groupSize2=="undefined"){
_62.groupSize2=_63[4];
}
var re=new RegExp("^"+dojo.regexp.realNumber(_62)+"$");
return re.test(_60);
};
(function(){
dojo.i18n.number.FORMAT_TABLE={"ar-ae":["","",",",1],"ar-bh":["","",",",1],"ar-dz":["","",",",1],"ar-eg":["","",",",1],"ar-jo":["","",",",1],"ar-kw":["","",",",1],"ar-lb":["","",",",1],"ar-ma":["","",",",1],"ar-om":["","",",",1],"ar-qa":["","",",",1],"ar-sa":["","",",",1],"ar-sy":["","",",",1],"ar-tn":["","",",",1],"ar-ye":["","",",",1],"cs-cz":[".",".",",",3],"da-dk":[".",".",",",3],"de-at":[".",".",",",3],"de-de":[".",".",",",3],"de-lu":[".",".",",",3],"de-ch":["'","'",".",3],"el-gr":[".",".",",",3],"en-au":[",",",",".",3],"en-ca":[",",",",".",3],"en-gb":[",",",",".",3],"en-hk":[",",",",".",3],"en-ie":[",",",",".",3],"en-in":[",",",",".",3,2],"en-nz":[",",",",".",3],"en-us":[",",",",".",3],"en-za":[",",",",".",3],"es-ar":[".",".",",",3],"es-bo":[".",".",",",3],"es-cl":[".",".",",",3],"es-co":[".",".",",",3],"es-cr":[".",".",",",3],"es-do":[".",".",",",3],"es-ec":[".",".",",",3],"es-es":[".",".",",",3],"es-gt":[",",",",".",3],"es-hn":[",",",",".",3],"es-mx":[",",",",".",3],"es-ni":[",",",",".",3],"es-pa":[",",",",".",3],"es-pe":[",",",",".",3],"es-pr":[",",",",".",3],"es-py":[".",".",",",3],"es-sv":[",",",",".",3],"es-uy":[".",".",",",3],"es-ve":[".",".",",",3],"fi-fi":[" "," ",",",3],"fr-be":[".",".",",",3],"fr-ca":[" "," ",",",3],"fr-ch":[" "," ",".",3],"fr-fr":[" "," ",",",3],"fr-lu":[".",".",",",3],"he-il":[",",",",".",3],"hu-hu":[" "," ",",",3],"it-ch":[" "," ",".",3],"it-it":[".",".",",",3],"ja-jp":[",",",",".",3],"ko-kr":[",",",",".",3],"no-no":[".",".",",",3],"nl-be":[" "," ",",",3],"nl-nl":[".",".",",",3],"pl-pl":[".",".",",",3],"pt-br":[".",".",",",3],"pt-pt":[".",".","$",3],"ru-ru":[" "," ",",",3],"sv-se":["."," ",",",3],"tr-tr":[".",".",",",3],"zh-cn":[",",",",".",3],"zh-hk":[",",",",".",3],"zh-tw":[",",",",".",3],"*":[",",",",".",3]};
})();
dojo.i18n.number._mapToLocalizedFormatData=function(_65,_66){
_66=dojo.hostenv.normalizeLocale(_66);
var _67=_65[_66];
if(typeof _67=="undefined"){
_67=_65["*"];
}
return _67;
};
dojo.provide("dojo.validate.common");
dojo.validate.isText=function(_68,_69){
_69=(typeof _69=="object")?_69:{};
if(/^\s*$/.test(_68)){
return false;
}
if(typeof _69.length=="number"&&_69.length!=_68.length){
return false;
}
if(typeof _69.minlength=="number"&&_69.minlength>_68.length){
return false;
}
if(typeof _69.maxlength=="number"&&_69.maxlength<_68.length){
return false;
}
return true;
};
dojo.validate.isInteger=function(_6a,_6b){
var re=new RegExp("^"+dojo.regexp.integer(_6b)+"$");
return re.test(_6a);
};
dojo.validate.isRealNumber=function(_6d,_6e){
var re=new RegExp("^"+dojo.regexp.realNumber(_6e)+"$");
return re.test(_6d);
};
dojo.validate.isCurrency=function(_70,_71){
var re=new RegExp("^"+dojo.regexp.currency(_71)+"$");
return re.test(_70);
};
dojo.validate._isInRangeCache={};
dojo.validate.isInRange=function(_73,_74){
_73=_73.replace(dojo.lang.has(_74,"separator")?_74.separator:",","","g").replace(dojo.lang.has(_74,"symbol")?_74.symbol:"$","");
if(isNaN(_73)){
return false;
}
_74=(typeof _74=="object")?_74:{};
var max=(typeof _74.max=="number")?_74.max:Infinity;
var min=(typeof _74.min=="number")?_74.min:-Infinity;
var dec=(typeof _74.decimal=="string")?_74.decimal:".";
var _78=dojo.validate._isInRangeCache;
var _79=_73+"max"+max+"min"+min+"dec"+dec;
if(typeof _78[_79]!="undefined"){
return _78[_79];
}
var _7a="[^"+dec+"\\deE+-]";
_73=_73.replace(RegExp(_7a,"g"),"");
_73=_73.replace(/^([+-]?)(\D*)/,"$1");
_73=_73.replace(/(\D*)$/,"");
_7a="(\\d)["+dec+"](\\d)";
_73=_73.replace(RegExp(_7a,"g"),"$1.$2");
_73=Number(_73);
if(_73<min||_73>max){
_78[_79]=false;
return false;
}
_78[_79]=true;
return true;
};
dojo.validate.isNumberFormat=function(_7b,_7c){
var re=new RegExp("^"+dojo.regexp.numberFormat(_7c)+"$","i");
return re.test(_7b);
};
dojo.validate.isValidLuhn=function(_7e){
var sum,_80,_81;
if(typeof _7e!="string"){
_7e=String(_7e);
}
_7e=_7e.replace(/[- ]/g,"");
_80=_7e.length%2;
sum=0;
for(var i=0;i<_7e.length;i++){
_81=parseInt(_7e.charAt(i));
if(i%2==_80){
_81*=2;
}
if(_81>9){
_81-=9;
}
sum+=_81;
}
return !(sum%10);
};
dojo.provide("dojo.validate.check");
dojo.require("dojo.lang.common");
dojo.validate.check=function(_83,_84){
var _85=[];
var _86=[];
var _87={isSuccessful:function(){
return (!this.hasInvalid()&&!this.hasMissing());
},hasMissing:function(){
return (_85.length>0);
},getMissing:function(){
return _85;
},isMissing:function(_88){
for(var i=0;i<_85.length;i++){
if(_88==_85[i]){
return true;
}
}
return false;
},hasInvalid:function(){
return (_86.length>0);
},getInvalid:function(){
return _86;
},isInvalid:function(_8a){
for(var i=0;i<_86.length;i++){
if(_8a==_86[i]){
return true;
}
}
return false;
}};
if(_84.trim instanceof Array){
for(var i=0;i<_84.trim.length;i++){
var _8d=_83[_84.trim[i]];
if(dj_undef("type",_8d)||_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
_8d.value=_8d.value.replace(/(^\s*|\s*$)/g,"");
}
}
if(_84.uppercase instanceof Array){
for(var i=0;i<_84.uppercase.length;i++){
var _8d=_83[_84.uppercase[i]];
if(dj_undef("type",_8d)||_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
_8d.value=_8d.value.toUpperCase();
}
}
if(_84.lowercase instanceof Array){
for(var i=0;i<_84.lowercase.length;i++){
var _8d=_83[_84.lowercase[i]];
if(dj_undef("type",_8d)||_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
_8d.value=_8d.value.toLowerCase();
}
}
if(_84.ucfirst instanceof Array){
for(var i=0;i<_84.ucfirst.length;i++){
var _8d=_83[_84.ucfirst[i]];
if(dj_undef("type",_8d)||_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
_8d.value=_8d.value.replace(/\b\w+\b/g,function(_8e){
return _8e.substring(0,1).toUpperCase()+_8e.substring(1).toLowerCase();
});
}
}
if(_84.digit instanceof Array){
for(var i=0;i<_84.digit.length;i++){
var _8d=_83[_84.digit[i]];
if(dj_undef("type",_8d)||_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
_8d.value=_8d.value.replace(/\D/g,"");
}
}
if(_84.required instanceof Array){
for(var i=0;i<_84.required.length;i++){
if(!dojo.lang.isString(_84.required[i])){continue;}
var _8d=_83[_84.required[i]];
if(!dj_undef("type",_8d)&&(_8d.type=="text"||_8d.type=="textarea"||_8d.type=="password"||_8d.type=="file")){
if (/^\s*$/.test(_8d.value))
_85[_85.length]=_8d.name;
}else{
if(!dj_undef("type",_8d)&&(_8d.type=="select-one"||_8d.type=="select-multiple")){
if (_8d.selectedIndex==-1||/^\s*$/.test(_8d.options[_8d.selectedIndex].value))
_85[_85.length]=_8d.name;
}else{
if( dojo.lang.isArrayLike(_8d)){
var _8f=false;
for(var j=0;j<_8d.length;j++){
if(_8d[j].checked){
_8f=true;
}
}
if(!_8f){
_85[_85.length]=_8d[0].name;
}}}}}}
if(_84.required instanceof Array){
for(var i=0;i<_84.required.length;i++){
if(!dojo.lang.isObject(_84.required[i])){continue;}
var _8d,_91, _92;
for(var _92 in _84.required[i]){
_8d=_83[_92];
_91=_84.required[i][_92];
}
if(dojo.lang.isArrayLike(_8d)){
var _8f=0;
for(var j=0;j<_8d.length;j++){
if(_8d[j].checked){
_8f++;
}
}
if(_8f<_91){
_85[_85.length]=_8d[0].name;
}
}else{
if(!dj_undef("type",_8d)&&_8d.type=="select-multiple"){
var _93=0;
for(var j=0;j<_8d.options.length;j++){
if(_8d.options[j].selected&&!/^\s*$/.test(_8d.options[j].value)){
_93++;
}
}
if(_93<_91){
_85[_85.length]=_8d.name;
}}}}}
if(dojo.lang.isObject(_84.dependencies)||dojo.lang.isObject(_84.dependancies)){
if(_84["dependancies"]){
dojo.deprecated("dojo.validate.check","profile 'dependancies' is deprecated, please use "+"'dependencies'","0.5");
_84.dependencies=_84.dependancies;
}
for(_92 in _84.dependencies){
var _8d=_83[_92];
if(dj_undef("type",_8d)){
continue;
}
if(_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password"){
continue;
}
if(/\S+/.test(_8d.value)){
continue;
}
if(_87.isMissing(_8d.name)){
continue;
}
var _94=_83[_84.dependencies[_92]];
if(_94.type!="text"&&_94.type!="textarea"&&_94.type!="password"){
continue;
}
if(/^\s*$/.test(_94.value)){
continue;
}
_85[_85.length]=_8d.name;
}
}
if(dojo.lang.isObject(_84.constraints)){
for(_92 in _84.constraints){
var _8d=_83[_92];
if(!_8d){
continue;
}
if(!dj_undef("tagName",_8d)&&(_8d.tagName.toLowerCase().indexOf("input")>=0||_8d.tagName.toLowerCase().indexOf("textarea")>=0)&&/^\s*$/.test(_8d.value)){
continue;
}
var _95=true;
if(dojo.lang.isFunction(_84.constraints[_92])){
_95=_84.constraints[_92](_8d.value);
}else{
if(dojo.lang.isArray(_84.constraints[_92])){
if(dojo.lang.isArray(_84.constraints[_92][0])){
for(var i=0;i<_84.constraints[_92].length;i++){
_95=dojo.validate.evaluateConstraint(_84,_84.constraints[_92][i],_92,_8d);
if(!_95){
break;
}
}
}else{
_95=dojo.validate.evaluateConstraint(_84,_84.constraints[_92],_92,_8d);
}
}
}
if(!_95){
_86[_86.length]=_8d.name;
}
}
}
if(dojo.lang.isObject(_84.confirm)){
for(_92 in _84.confirm){
var _8d=_83[_92];
var _94=_83[_84.confirm[_92]];
if(dj_undef("type",_8d)||dj_undef("type",_94)||(_8d.type!="text"&&_8d.type!="textarea"&&_8d.type!="password")||(_94.type!=_8d.type)||(_94.value==_8d.value)||(_87.isInvalid(_8d.name))||(/^\s*$/.test(_94.value))){
continue;
}
_86[_86.length]=_8d.name;
}
}
return _87;
};
dojo.validate.evaluateConstraint=function(_96,_97,_98,_99){
var _9a=_97[0];
var _9b=_97.slice(1);
_9b.unshift(_99.value);
if(typeof _9a!="undefined"){
return _9a.apply(null,_9b);
}
return false;
};
dojo.provide("dojo.date.common");
dojo.date.setDayOfYear=function(_9c,_9d){
_9c.setMonth(0);
_9c.setDate(_9d);
return _9c;
};
dojo.date.getDayOfYear=function(_9e){
var _9f=_9e.getFullYear();
var _a0=new Date(_9f-1,11,31);
return Math.floor((_9e.getTime()-_a0.getTime())/86400000);
};
dojo.date.setWeekOfYear=function(_a1,_a2,_a3){
if(arguments.length==1){
_a3=0;
}
dojo.unimplemented("dojo.date.setWeekOfYear");
};
dojo.date.getWeekOfYear=function(_a4,_a5){
if(arguments.length==1){
_a5=0;
}
var _a6=new Date(_a4.getFullYear(),0,1);
var day=_a6.getDay();
_a6.setDate(_a6.getDate()-day+_a5-(day>_a5?7:0));
return Math.floor((_a4.getTime()-_a6.getTime())/604800000);
};
dojo.date.setIsoWeekOfYear=function(_a8,_a9,_aa){
if(arguments.length==1){
_aa=1;
}
dojo.unimplemented("dojo.date.setIsoWeekOfYear");
};
dojo.date.getIsoWeekOfYear=function(_ab,_ac){
if(arguments.length==1){
_ac=1;
}
dojo.unimplemented("dojo.date.getIsoWeekOfYear");
};
dojo.date.shortTimezones=["IDLW","BET","HST","MART","AKST","PST","MST","CST","EST","AST","NFT","BST","FST","AT","GMT","CET","EET","MSK","IRT","GST","AFT","AGTT","IST","NPT","ALMT","MMT","JT","AWST","JST","ACST","AEST","LHST","VUT","NFT","NZT","CHAST","PHOT","LINT"];
dojo.date.timezoneOffsets=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,540,570,600,630,660,690,720,765,780,840];
dojo.date.getDaysInMonth=function(_ad){
var _ae=_ad.getMonth();
var _af=[31,28,31,30,31,30,31,31,30,31,30,31];
if(_ae==1&&dojo.date.isLeapYear(_ad)){
return 29;
}else{
return _af[_ae];
}
};
dojo.date.isLeapYear=function(_b0){
var _b1=_b0.getFullYear();
return (_b1%400==0)?true:(_b1%100==0)?false:(_b1%4==0)?true:false;
};
dojo.date.getTimezoneName=function(_b2){
var str=_b2.toString();
var tz="";
var _b5;
var pos=str.indexOf("(");
if(pos>-1){
pos++;
tz=str.substring(pos,str.indexOf(")"));
}else{
var pat=/([A-Z\/]+) \d{4}$/;
if((_b5=str.match(pat))){
tz=_b5[1];
}else{
str=_b2.toLocaleString();
pat=/ ([A-Z\/]+)$/;
if((_b5=str.match(pat))){
tz=_b5[1];
}
}
}
return tz=="AM"||tz=="PM"?"":tz;
};
dojo.date.getOrdinal=function(_b8){
var _b9=_b8.getDate();
if(_b9%100!=11&&_b9%10==1){
return "st";
}else{
if(_b9%100!=12&&_b9%10==2){
return "nd";
}else{
if(_b9%100!=13&&_b9%10==3){
return "rd";
}else{
return "th";
}
}
}
};
dojo.date.compareTypes={DATE:1,TIME:2};
dojo.date.compare=function(_ba,_bb,_bc){
var dA=_ba;
var dB=_bb||new Date();
var now=new Date();
with(dojo.date.compareTypes){
var opt=_bc||(DATE|TIME);
var d1=new Date((opt&DATE)?dA.getFullYear():now.getFullYear(),(opt&DATE)?dA.getMonth():now.getMonth(),(opt&DATE)?dA.getDate():now.getDate(),(opt&TIME)?dA.getHours():0,(opt&TIME)?dA.getMinutes():0,(opt&TIME)?dA.getSeconds():0);
var d2=new Date((opt&DATE)?dB.getFullYear():now.getFullYear(),(opt&DATE)?dB.getMonth():now.getMonth(),(opt&DATE)?dB.getDate():now.getDate(),(opt&TIME)?dB.getHours():0,(opt&TIME)?dB.getMinutes():0,(opt&TIME)?dB.getSeconds():0);
}
if(d1.valueOf()>d2.valueOf()){
return 1;
}
if(d1.valueOf()<d2.valueOf()){
return -1;
}
return 0;
};
dojo.date.dateParts={YEAR:0,MONTH:1,DAY:2,HOUR:3,MINUTE:4,SECOND:5,MILLISECOND:6,QUARTER:7,WEEK:8,WEEKDAY:9};
dojo.date.add=function(dt,_c4,_c5){
if(typeof dt=="number"){
dt=new Date(dt);
}
function fixOvershoot(){
if(sum.getDate()<dt.getDate()){
sum.setDate(0);
}
}
var sum=new Date(dt);
with(dojo.date.dateParts){
switch(_c4){
case YEAR:
sum.setFullYear(dt.getFullYear()+_c5);
fixOvershoot();
break;
case QUARTER:
_c5*=3;
case MONTH:
sum.setMonth(dt.getMonth()+_c5);
fixOvershoot();
break;
case WEEK:
_c5*=7;
case DAY:
sum.setDate(dt.getDate()+_c5);
break;
case WEEKDAY:
var dat=dt.getDate();
var _c8=0;
var _c9=0;
var _ca=0;
var _cb=0;
var adj=0;
var mod=_c5%5;
if(mod==0){
_c9=(_c5>0)?5:-5;
_c8=(_c5>0)?((_c5-5)/5):((_c5+5)/5);
}else{
_c9=mod;
_c8=parseInt(_c5/5);
}
_ca=dt.getDay();
if(_ca==6&&_c5>0){
adj=1;
}else{
if(_ca==0&&_c5<0){
adj=-1;
}
}
_cb=(_ca+_c9);
if(_cb==0||_cb==6){
adj=(_c5>0)?2:-2;
}
sum.setDate(dat+(7*_c8)+_c9+adj);
break;
case HOUR:
sum.setHours(sum.getHours()+_c5);
break;
case MINUTE:
sum.setMinutes(sum.getMinutes()+_c5);
break;
case SECOND:
sum.setSeconds(sum.getSeconds()+_c5);
break;
case MILLISECOND:
sum.setMilliseconds(sum.getMilliseconds()+_c5);
break;
default:
break;
}
}
return sum;
};
dojo.date.diff=function(dtA,dtB,_d0){
if(typeof dtA=="number"){
dtA=new Date(dtA);
}
if(typeof dtB=="number"){
dtB=new Date(dtB);
}
var _d1=dtB.getFullYear()-dtA.getFullYear();
var _d2=(dtB.getMonth()-dtA.getMonth())+(_d1*12);
var _d3=dtB.getTime()-dtA.getTime();
var _d4=_d3/1000;
var _d5=_d4/60;
var _d6=_d5/60;
var _d7=_d6/24;
var _d8=_d7/7;
var _d9=0;
with(dojo.date.dateParts){
switch(_d0){
case YEAR:
_d9=_d1;
break;
case QUARTER:
var mA=dtA.getMonth();
var mB=dtB.getMonth();
var qA=Math.floor(mA/3)+1;
var qB=Math.floor(mB/3)+1;
qB+=(_d1*4);
_d9=qB-qA;
break;
case MONTH:
_d9=_d2;
break;
case WEEK:
_d9=parseInt(_d8);
break;
case DAY:
_d9=_d7;
break;
case WEEKDAY:
var _de=Math.round(_d7);
var _df=parseInt(_de/7);
var mod=_de%7;
if(mod==0){
_de=_df*5;
}else{
var adj=0;
var _e2=dtA.getDay();
var _e3=dtB.getDay();
_df=parseInt(_de/7);
mod=_de%7;
var _e4=new Date(dtA);
_e4.setDate(_e4.getDate()+(_df*7));
var _e5=_e4.getDay();
if(_d7>0){
switch(true){
case _e2==6:
adj=-1;
break;
case _e2==0:
adj=0;
break;
case _e3==6:
adj=-1;
break;
case _e3==0:
adj=-2;
break;
case (_e5+mod)>5:
adj=-2;
break;
default:
break;
}
}else{
if(_d7<0){
switch(true){
case _e2==6:
adj=0;
break;
case _e2==0:
adj=1;
break;
case _e3==6:
adj=2;
break;
case _e3==0:
adj=1;
break;
case (_e5+mod)<0:
adj=2;
break;
default:
break;
}
}
}
_de+=adj;
_de-=(_df*2);
}
_d9=_de;
break;
case HOUR:
_d9=_d6;
break;
case MINUTE:
_d9=_d5;
break;
case SECOND:
_d9=_d4;
break;
case MILLISECOND:
_d9=_d3;
break;
default:
break;
}
}
return Math.round(_d9);
};
dojo.provide("dojo.date.supplemental");
dojo.date.getFirstDayOfWeek=function(_e6){
var _e7={mv:5,ae:6,af:6,bh:6,dj:6,dz:6,eg:6,er:6,et:6,iq:6,ir:6,jo:6,ke:6,kw:6,lb:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,so:6,tn:6,ye:6,as:0,au:0,az:0,bw:0,ca:0,cn:0,fo:0,ge:0,gl:0,gu:0,hk:0,ie:0,il:0,is:0,jm:0,jp:0,kg:0,kr:0,la:0,mh:0,mo:0,mp:0,mt:0,nz:0,ph:0,pk:0,sg:0,th:0,tt:0,tw:0,um:0,us:0,uz:0,vi:0,za:0,zw:0,et:0,mw:0,ng:0,tj:0,gb:0,sy:4};
_e6=dojo.hostenv.normalizeLocale(_e6);
var _e8=_e6.split("-")[1];
var dow=_e7[_e8];
return (typeof dow=="undefined")?1:dow;
};
dojo.date.getWeekend=function(_ea){
var _eb={eg:5,il:5,sy:5,"in":0,ae:4,bh:4,dz:4,iq:4,jo:4,kw:4,lb:4,ly:4,ma:4,om:4,qa:4,sa:4,sd:4,tn:4,ye:4};
var _ec={ae:5,bh:5,dz:5,iq:5,jo:5,kw:5,lb:5,ly:5,ma:5,om:5,qa:5,sa:5,sd:5,tn:5,ye:5,af:5,ir:5,eg:6,il:6,sy:6};
_ea=dojo.hostenv.normalizeLocale(_ea);
var _ed=_ea.split("-")[1];
var _ee=_eb[_ed];
var end=_ec[_ed];
if(typeof _ee=="undefined"){
_ee=6;
}
if(typeof end=="undefined"){
end=0;
}
return {start:_ee,end:end};
};
dojo.date.isWeekend=function(_f0,_f1){
var _f2=dojo.date.getWeekend(_f1);
var day=(_f0||new Date()).getDay();
if(_f2.end<_f2.start){
_f2.end+=7;
if(day<_f2.start){
day+=7;
}
}
return day>=_f2.start&&day<=_f2.end;
};
dojo.provide("dojo.date.format");
dojo.require("dojo.lang.array");
dojo.require("dojo.lang.common");
dojo.require("dojo.lang.func");
dojo.require("dojo.string.common");
dojo.require("dojo.i18n.common");
dojo.requireLocalization("dojo.i18n.calendar","gregorian",null,"zh-cn,zh-hk,de,ko,zh-tw,zh,ja,fi,pt-br,fr,es,ROOT,hu,en,it,sv,nl,pt");
dojo.requireLocalization("dojo.i18n.calendar","gregorianExtras",null,"zh,ja,ROOT");
(function(){
dojo.date.format=function(_f4,_f5){
if(typeof _f5=="string"){
dojo.deprecated("dojo.date.format","To format dates with POSIX-style strings, please use dojo.date.strftime instead","0.5");
return dojo.date.strftime(_f4,_f5);
}
function formatPattern(_f6,_f7){
return _f7.replace(/([a-z])\1*/ig,function(_f8){
var s;
var c=_f8.charAt(0);
var l=_f8.length;
var pad;
var _fd=["abbr","wide","narrow"];
switch(c){
case "G":
if(l>3){
dojo.unimplemented("Era format not implemented");
}
s=_fe.eras[_f6.getFullYear()<0?1:0];
break;
case "y":
s=_f6.getFullYear();
switch(l){
case 1:
break;
case 2:
s=String(s);
s=s.substr(s.length-2);
break;
default:
pad=true;
}
break;
case "Q":
case "q":
s=Math.ceil((_f6.getMonth()+1)/3);
switch(l){
case 1:
case 2:
pad=true;
break;
case 3:
case 4:
dojo.unimplemented("Quarter format not implemented");
}
break;
case "M":
case "L":
var m=_f6.getMonth();
var _100;
switch(l){
case 1:
case 2:
s=m+1;
pad=true;
break;
case 3:
case 4:
case 5:
_100=_fd[l-3];
break;
}
if(_100){
var type=(c=="L")?"standalone":"format";
var prop=["months",type,_100].join("-");
s=_fe[prop][m];
}
break;
case "w":
var _103=0;
s=dojo.date.getWeekOfYear(_f6,_103);
pad=true;
break;
case "d":
s=_f6.getDate();
pad=true;
break;
case "D":
s=dojo.date.getDayOfYear(_f6);
pad=true;
break;
case "E":
case "e":
case "c":
var d=_f6.getDay();
var _100;
switch(l){
case 1:
case 2:
if(c=="e"){
var _105=dojo.date.getFirstDayOfWeek(_f5.locale);
d=(d-_105+7)%7;
}
if(c!="c"){
s=d+1;
pad=true;
break;
}
case 3:
case 4:
case 5:
_100=_fd[l-3];
break;
}
if(_100){
var type=(c=="c")?"standalone":"format";
var prop=["days",type,_100].join("-");
s=_fe[prop][d];
}
break;
case "a":
var _106=(_f6.getHours()<12)?"am":"pm";
s=_fe[_106];
break;
case "h":
case "H":
case "K":
case "k":
var h=_f6.getHours();
switch(c){
case "h":
s=(h%12)||12;
break;
case "H":
s=h;
break;
case "K":
s=(h%12);
break;
case "k":
s=h||24;
break;
}
pad=true;
break;
case "m":
s=_f6.getMinutes();
pad=true;
break;
case "s":
s=_f6.getSeconds();
pad=true;
break;
case "S":
s=Math.round(_f6.getMilliseconds()*Math.pow(10,l-3));
break;
case "v":
case "z":
s=dojo.date.getTimezoneName(_f6);
if(s){
break;
}
l=4;
case "Z":
var _108=_f6.getTimezoneOffset();
var tz=[(_108<=0?"+":"-"),dojo.string.pad(Math.floor(Math.abs(_108)/60),2),dojo.string.pad(Math.abs(_108)%60,2)];
if(l==4){
tz.splice(0,0,"GMT");
tz.splice(3,0,":");
}
s=tz.join("");
break;
case "Y":
case "u":
case "W":
case "F":
case "g":
case "A":
s="?";
break;
default:
dojo.raise("dojo.date.format: invalid pattern char: "+_f7);
}
if(pad){
s=dojo.string.pad(s,l);
}
return s;
});
}
_f5=_f5||{};
var _10a=dojo.hostenv.normalizeLocale(_f5.locale);
var _10b=_f5.formatLength||"short";
var _fe=dojo.date._getGregorianBundle(_10a);
var str=[];
var _10d=dojo.lang.curry(this,formatPattern,_f4);
if(_f5.selector=="yearOnly"){
var year=_f4.getFullYear();
if(_10a.match(/^zh|^ja/)){
year+="\u5e74";
}
return year;
}
if(_f5.selector!="timeOnly"){
var _10f=_f5.datePattern||_fe["dateFormat-"+_10b];
if(_10f){
str.push(_processPattern(_10f,_10d));
}
}
if(_f5.selector!="dateOnly"){
var _110=_f5.timePattern||_fe["timeFormat-"+_10b];
if(_110){
str.push(_processPattern(_110,_10d));
}
}
var _111=str.join(" ");
return _111;
};
dojo.date.parse=function(_112,_113){
_113=_113||{};
var _114=dojo.hostenv.normalizeLocale(_113.locale);
var info=dojo.date._getGregorianBundle(_114);
var _116=_113.formatLength||"full";
if(!_113.selector){
_113.selector="dateOnly";
}
var _117=_113.datePattern||info["dateFormat-"+_116];
var _118=_113.timePattern||info["timeFormat-"+_116];
var _119;
if(_113.selector=="dateOnly"){
_119=_117;
}else{
if(_113.selector=="timeOnly"){
_119=_118;
}else{
if(_113.selector=="dateTime"){
_119=_117+" "+_118;
}else{
var msg="dojo.date.parse: Unknown selector param passed: '"+_113.selector+"'.";
msg+=" Defaulting to date pattern.";
dojo.debug(msg);
_119=_117;
}
}
}
var _11b=[];
var _11c=_processPattern(_119,dojo.lang.curry(this,_buildDateTimeRE,_11b,info,_113));
var _11d=new RegExp("^"+_11c+"$");
var _11e=_11d.exec(_112);
if(!_11e){
return null;
}
var _11f=["abbr","wide","narrow"];
var _120=new Date(1972,0);
var _121={};
for(var i=1;i<_11e.length;i++){
var grp=_11b[i-1];
var l=grp.length;
var v=_11e[i];
switch(grp.charAt(0)){
case "y":
if(l!=2){
_120.setFullYear(v);
_121.year=v;
}else{
if(v<100){
v=Number(v);
var year=""+new Date().getFullYear();
var _127=year.substring(0,2)*100;
var _128=Number(year.substring(2,4));
var _129=Math.min(_128+20,99);
var num=(v<_129)?_127+v:_127-100+v;
_120.setFullYear(num);
_121.year=num;
}else{
if(_113.strict){
return null;
}
_120.setFullYear(v);
_121.year=v;
}
}
break;
case "M":
if(l>2){
if(!_113.strict){
v=v.replace(/\./g,"");
v=v.toLowerCase();
}
var _12b=info["months-format-"+_11f[l-3]].concat();
for(var j=0;j<_12b.length;j++){
if(!_113.strict){
_12b[j]=_12b[j].toLowerCase();
}
if(v==_12b[j]){
_120.setMonth(j);
_121.month=j;
break;
}
}
if(j==_12b.length){
dojo.debug("dojo.date.parse: Could not parse month name: '"+v+"'.");
return null;
}
}else{
_120.setMonth(v-1);
_121.month=v-1;
}
break;
case "E":
case "e":
if(!_113.strict){
v=v.toLowerCase();
}
var days=info["days-format-"+_11f[l-3]].concat();
for(var j=0;j<days.length;j++){
if(!_113.strict){
days[j]=days[j].toLowerCase();
}
if(v==days[j]){
break;
}
}
if(j==days.length){
dojo.debug("dojo.date.parse: Could not parse weekday name: '"+v+"'.");
return null;
}
break;
case "d":
_120.setDate(v);
_121.date=v;
break;
case "a":
var am=_113.am||info.am;
var pm=_113.pm||info.pm;
if(!_113.strict){
v=v.replace(/\./g,"").toLowerCase();
am=am.replace(/\./g,"").toLowerCase();
pm=pm.replace(/\./g,"").toLowerCase();
}
if(_113.strict&&v!=am&&v!=pm){
dojo.debug("dojo.date.parse: Could not parse am/pm part.");
return null;
}
var _130=_120.getHours();
if(v==pm&&_130<12){
_120.setHours(_130+12);
}else{
if(v==am&&_130==12){
_120.setHours(0);
}
}
break;
case "K":
if(v==24){
v=0;
}
case "h":
case "H":
case "k":
if(v>23){
dojo.debug("dojo.date.parse: Illegal hours value");
return null;
}
_120.setHours(v);
break;
case "m":
_120.setMinutes(v);
break;
case "s":
_120.setSeconds(v);
break;
case "S":
_120.setMilliseconds(v);
break;
default:
dojo.unimplemented("dojo.date.parse: unsupported pattern char="+grp.charAt(0));
}
}
if(_121.year&&_120.getFullYear()!=_121.year){
dojo.debug("Parsed year: '"+_120.getFullYear()+"' did not match input year: '"+_121.year+"'.");
return null;
}
if(_121.month&&_120.getMonth()!=_121.month){
dojo.debug("Parsed month: '"+_120.getMonth()+"' did not match input month: '"+_121.month+"'.");
return null;
}
if(_121.date&&_120.getDate()!=_121.date){
dojo.debug("Parsed day of month: '"+_120.getDate()+"' did not match input day of month: '"+_121.date+"'.");
return null;
}
return _120;
};
function _processPattern(_131,_132,_133,_134){
var _135=function(x){
return x;
};
_132=_132||_135;
_133=_133||_135;
_134=_134||_135;
var _137=_131.match(/(''|[^'])+/g);
var _138=false;
for(var i=0;i<_137.length;i++){
if(!_137[i]){
_137[i]="";
}else{
_137[i]=(_138?_133:_132)(_137[i]);
_138=!_138;
}
}
return _134(_137.join(""));
}
function _buildDateTimeRE(_13a,info,_13c,_13d){
return _13d.replace(/([a-z])\1*/ig,function(_13e){
var s='';
var c=_13e.charAt(0);
var l=_13e.length;
switch(c){
case "y":
s="\\d"+((l==2)?"{2,4}":"+");
break;
case "M":
s=(l>2)?"\\S+":"\\d{1,2}";
break;
case "d":
s="\\d{1,2}";
break;
case "E":
s="\\S+";
break;
case "h":
case "H":
case "K":
case "k":
s="\\d{1,2}";
break;
case "m":
case "s":
s="[0-5]\\d";
break;
case "S":
s="\\d{1,3}";
break;
case "a":
var am=_13c.am||info.am||"AM";
var pm=_13c.pm||info.pm||"PM";
if(_13c.strict){
s=am+"|"+pm;
}else{
for (var i=0; i < am.length; i++){s += '[' + am.charAt(i).toLowerCase() + '|' + am.charAt(i).toUpperCase() + ']';}
s += '|';
for (var i=0; i < pm.length; i++){ s += '[' + pm.charAt(i).toLowerCase() + '|' + pm.charAt(i).toUpperCase() + ']';}
}
break;
default:
dojo.unimplemented("parse of date format, pattern="+_13d);
}
if(_13a){
_13a.push(_13e);
}
return "\\s*("+s+")\\s*";
});
}
})();
dojo.date.strftime=function(_144,_145,_146){
var _147=null;
function _(s,n){
return dojo.string.pad(s,n||2,_147||"0");
}
var info=dojo.date._getGregorianBundle(_146);
function $(_14b){
switch(_14b){
case "a":
return dojo.date.getDayShortName(_144,_146);
case "A":
return dojo.date.getDayName(_144,_146);
case "b":
case "h":
return dojo.date.getMonthShortName(_144,_146);
case "B":
return dojo.date.getMonthName(_144,_146);
case "c":
return dojo.date.format(_144,{locale:_146});
case "C":
return _(Math.floor(_144.getFullYear()/100));
case "d":
return _(_144.getDate());
case "D":
return $("m")+"/"+$("d")+"/"+$("y");
case "e":
if(_147==null){
_147=" ";
}
return _(_144.getDate());
case "f":
if(_147==null){
_147=" ";
}
return _(_144.getMonth()+1);
case "g":
break;
case "G":
dojo.unimplemented("unimplemented modifier 'G'");
break;
case "F":
return $("Y")+"-"+$("m")+"-"+$("d");
case "H":
return _(_144.getHours());
case "I":
return _(_144.getHours()%12||12);
case "j":
return _(dojo.date.getDayOfYear(_144),3);
case "k":
if(_147==null){
_147=" ";
}
return _(_144.getHours());
case "l":
if(_147==null){
_147=" ";
}
return _(_144.getHours()%12||12);
case "m":
return _(_144.getMonth()+1);
case "M":
return _(_144.getMinutes());
case "n":
return "\n";
case "p":
return info[_144.getHours()<12?"am":"pm"];
case "r":
return $("I")+":"+$("M")+":"+$("S")+" "+$("p");
case "R":
return $("H")+":"+$("M");
case "S":
return _(_144.getSeconds());
case "t":
return "\t";
case "T":
return $("H")+":"+$("M")+":"+$("S");
case "u":
return String(_144.getDay()||7);
case "U":
return _(dojo.date.getWeekOfYear(_144));
case "V":
return _(dojo.date.getIsoWeekOfYear(_144));
case "W":
return _(dojo.date.getWeekOfYear(_144,1));
case "w":
return String(_144.getDay());
case "x":
return dojo.date.format(_144,{selector:"dateOnly",locale:_146});
case "X":
return dojo.date.format(_144,{selector:"timeOnly",locale:_146});
case "y":
return _(_144.getFullYear()%100);
case "Y":
return String(_144.getFullYear());
case "z":
var _14c=_144.getTimezoneOffset();
return (_14c>0?"-":"+")+_(Math.floor(Math.abs(_14c)/60))+":"+_(Math.abs(_14c)%60);
case "Z":
return dojo.date.getTimezoneName(_144);
case "%":
return "%";
}
}
var _14d="";
var i=0;
var _14f=0;
var _150=null;
while((_14f=_145.indexOf("%",i))!=-1){
_14d+=_145.substring(i,_14f++);
switch(_145.charAt(_14f++)){
case "_":
_147=" ";
break;
case "-":
_147="";
break;
case "0":
_147="0";
break;
case "^":
_150="upper";
break;
case "*":
_150="lower";
break;
case "#":
_150="swap";
break;
default:
_147=null;
_14f--;
break;
}
var _151=$(_145.charAt(_14f++));
switch(_150){
case "upper":
_151=_151.toUpperCase();
break;
case "lower":
_151=_151.toLowerCase();
break;
case "swap":
var _152=_151.toLowerCase();
var _153="";
var j=0;
var ch="";
while(j<_151.length){
ch=_151.charAt(j);
_153+=(ch==_152.charAt(j))?ch.toUpperCase():ch.toLowerCase();
j++;
}
_151=_153;
break;
default:
break;
}
_150=null;
_14d+=_151;
i=_14f;
}
_14d+=_145.substring(i);
return _14d;
};
(function(){
var _156=[];
dojo.date.addCustomFormats=function(_157,_158){
_156.push({pkg:_157,name:_158});
};
dojo.date._getGregorianBundle=function(_159){
var _15a={};
dojo.lang.forEach(_156,function(desc){
var _15c=dojo.i18n.getLocalization(desc.pkg,desc.name,_159);
_15a=dojo.lang.mixin(_15a,_15c);
},this);
return _15a;
};
})();
dojo.date.addCustomFormats("dojo.i18n.calendar","gregorian");
dojo.date.addCustomFormats("dojo.i18n.calendar","gregorianExtras");
dojo.date.getNames=function(item,type,use,_160){
var _161;
var _162=dojo.date._getGregorianBundle(_160);
var _163=[item,use,type];
if(use=="standAlone"){
_161=_162[_163.join("-")];
}
_163[1]="format";
return (_161||_162[_163.join("-")]).concat();
};
dojo.date.getDayName=function(_164,_165){
return dojo.date.getNames("days","wide","format",_165)[_164.getDay()];
};
dojo.date.getDayShortName=function(_166,_167){
return dojo.date.getNames("days","abbr","format",_167)[_166.getDay()];
};
dojo.date.getMonthName=function(_168,_169){
return dojo.date.getNames("months","wide","format",_169)[_168.getMonth()];
};
dojo.date.getMonthShortName=function(_16a,_16b){
return dojo.date.getNames("months","abbr","format",_16b)[_16a.getMonth()];
};
dojo.date.toRelativeString=function(_16c){
var now=new Date();
var diff=(now-_16c)/1000;
var end=" ago";
var _170=false;
if(diff<0){
_170=true;
end=" from now";
diff=-diff;
}
if(diff<60){
diff=Math.round(diff);
return diff+" second"+(diff==1?"":"s")+end;
}
if(diff<60*60){
diff=Math.round(diff/60);
return diff+" minute"+(diff==1?"":"s")+end;
}
if(diff<60*60*24){
diff=Math.round(diff/3600);
return diff+" hour"+(diff==1?"":"s")+end;
}
if(diff<60*60*24*7){
diff=Math.round(diff/(3600*24));
if(diff==1){
return _170?"Tomorrow":"Yesterday";
}else{
return diff+" days"+end;
}
}
return dojo.date.format(_16c);
};
dojo.date.toSql=function(_171,_172){
return dojo.date.strftime(_171,"%F"+!_172?" %T":"");
};
dojo.date.fromSql=function(_173){
var _174=_173.split(/[\- :]/g);
while(_174.length<6){
_174.push(0);
}
return new Date(_174[0],(parseInt(_174[1],10)-1),_174[2],_174[3],_174[4],_174[5]);
};
dojo.provide("dojo.date.serialize");
dojo.require("dojo.string.common");
dojo.date.setIso8601=function(_175,_176){
var _177=(_176.indexOf("T")==-1)?_176.split(" "):_176.split("T");
_175=dojo.date.setIso8601Date(_175,_177[0]);
if(_177.length==2){
_175=dojo.date.setIso8601Time(_175,_177[1]);
}
return _175;
};
dojo.date.fromIso8601=function(_178){
return dojo.date.setIso8601(new Date(0,0),_178);
};
dojo.date.setIso8601Date=function(_179,_17a){
var _17b="^([0-9]{4})((-?([0-9]{2})(-?([0-9]{2}))?)|"+"(-?([0-9]{3}))|(-?W([0-9]{2})(-?([1-7]))?))?$";
var d=_17a.match(new RegExp(_17b));
if(!d){
dojo.debug("invalid date string: "+_17a);
return null;
}
var year=d[1];
var _17e=d[4];
var date=d[6];
var _180=d[8];
var week=d[10];
var _182=d[12]?d[12]:1;
_179.setFullYear(year);
if(_180){
_179.setMonth(0);
_179.setDate(Number(_180));
}else{
if(week){
_179.setMonth(0);
_179.setDate(1);
var gd=_179.getDay();
var day=gd?gd:7;
var _185=Number(_182)+(7*Number(week));
if(day<=4){
_179.setDate(_185+1-day);
}else{
_179.setDate(_185+8-day);
}
}else{
if(_17e){
_179.setDate(1);
_179.setMonth(_17e-1);
}
if(date){
_179.setDate(date);
}
}
}
return _179;
};
dojo.date.fromIso8601Date=function(_186){
return dojo.date.setIso8601Date(new Date(0,0),_186);
};
dojo.date.setIso8601Time=function(_187,_188){
var _189="Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$";
var d=_188.match(new RegExp(_189));
var _18b=0;
if(d){
if(d[0]!="Z"){
_18b=(Number(d[3])*60)+Number(d[5]);
_18b*=((d[2]=="-")?1:-1);
}
_18b-=_187.getTimezoneOffset();
_188=_188.substr(0,_188.length-d[0].length);
}
var _18c="^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(.([0-9]+))?)?)?$";
d=_188.match(new RegExp(_18c));
if(!d){
dojo.debug("invalid time string: "+_188);
return null;
}
var _18d=d[1];
var mins=Number((d[3])?d[3]:0);
var secs=(d[5])?d[5]:0;
var ms=d[7]?(Number("0."+d[7])*1000):0;
_187.setHours(_18d);
_187.setMinutes(mins);
_187.setSeconds(secs);
_187.setMilliseconds(ms);
if(_18b!==0){
_187.setTime(_187.getTime()+_18b*60000);
}
return _187;
};
dojo.date.fromIso8601Time=function(_191){
return dojo.date.setIso8601Time(new Date(0,0),_191);
};
dojo.date.toRfc3339=function(_192,_193){
if(!_192){
_192=new Date();
}
var _=dojo.string.pad;
var _195=[];
if(_193!="timeOnly"){
var date=[_(_192.getFullYear(),4),_(_192.getMonth()+1,2),_(_192.getDate(),2)].join("-");
_195.push(date);
}
if(_193!="dateOnly"){
var time=[_(_192.getHours(),2),_(_192.getMinutes(),2),_(_192.getSeconds(),2)].join(":");
var _198=_192.getTimezoneOffset();
time+=(_198>0?"-":"+")+_(Math.floor(Math.abs(_198)/60),2)+":"+_(Math.abs(_198)%60,2);
_195.push(time);
}
return _195.join("T");
};
dojo.date.fromRfc3339=function(_199){
if(_199.indexOf("Tany")!=-1){
_199=_199.replace("Tany","");
}
var _19a=new Date();
return dojo.date.setIso8601(_19a,_199);
};
dojo.provide("dojo.validate.datetime");
dojo.validate.isValidTime=function(_19b,_19c){
dojo.deprecated("dojo.validate.datetime","use dojo.date.parse instead","0.5");
var re=new RegExp("^"+dojo.regexp.time(_19c)+"$","i");
return re.test(_19b);
};
dojo.validate.is12HourTime=function(_19e){
dojo.deprecated("dojo.validate.datetime","use dojo.date.parse instead","0.5");
return dojo.validate.isValidTime(_19e,{format:["h:mm:ss t","h:mm t"]});
};
dojo.validate.is24HourTime=function(_19f){
dojo.deprecated("dojo.validate.datetime","use dojo.date.parse instead","0.5");
return dojo.validate.isValidTime(_19f,{format:["HH:mm:ss","HH:mm"]});
};
dojo.validate.isValidDate=function(_1a0,_1a1){
dojo.deprecated("dojo.validate.datetime","use dojo.date.parse instead","0.5");
if(typeof _1a1=="object"&&typeof _1a1.format=="string"){
_1a1=_1a1.format;
}
if(typeof _1a1!="string"){
_1a1="MM/DD/YYYY";
}
var _1a2=_1a1.replace(/([$^.*+?=!:|\/\\\(\)\[\]\{\}])/g,"\\$1");
_1a2=_1a2.replace("YYYY","([0-9]{4})");
_1a2=_1a2.replace("MM","(0[1-9]|10|11|12)");
_1a2=_1a2.replace("M","([1-9]|10|11|12)");
_1a2=_1a2.replace("DDD","(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])");
_1a2=_1a2.replace("DD","(0[1-9]|[12][0-9]|30|31)");
_1a2=_1a2.replace("D","([1-9]|[12][0-9]|30|31)");
_1a2=_1a2.replace("ww","(0[1-9]|[1-4][0-9]|5[0-3])");
_1a2=_1a2.replace("d","([1-7])");
_1a2="^"+_1a2+"$";
var re=new RegExp(_1a2);
if(!re.test(_1a0)){
return false;
}
var year=0,_1a5=1,date=1,_1a7=1,week=1,day=1;
var _1aa=_1a1.match(/(YYYY|MM|M|DDD|DD|D|ww|d)/g);
var _1ab=re.exec(_1a0);
for(var i=0;i<_1aa.length;i++){
switch(_1aa[i]){
case "YYYY":
year=Number(_1ab[i+1]);
break;
case "M":
case "MM":
_1a5=Number(_1ab[i+1]);
break;
case "D":
case "DD":
date=Number(_1ab[i+1]);
break;
case "DDD":
_1a7=Number(_1ab[i+1]);
break;
case "ww":
week=Number(_1ab[i+1]);
break;
case "d":
day=Number(_1ab[i+1]);
break;
}
}
var _1ad=(year%4==0&&(year%100!=0||year%400==0));
if(date==31&&(_1a5==4||_1a5==6||_1a5==9||_1a5==11)){
return false;
}
if(date>=30&&_1a5==2){
return false;
}
if(date==29&&_1a5==2&&!_1ad){
return false;
}
if(_1a7==366&&!_1ad){
return false;
}
return true;
};
dojo.provide("dojo.validate.web");
dojo.validate.isIpAddress=function(_1ae,_1af){
var re=new RegExp("^"+dojo.regexp.ipAddress(_1af)+"$","i");
return re.test(_1ae);
};
dojo.validate.isUrl=function(_1b1,_1b2){
var re=new RegExp("^"+dojo.regexp.url(_1b2)+"$","i");
return re.test(_1b1);
};
dojo.validate.isEmailAddress=function(_1b4,_1b5){
var re=new RegExp("^"+dojo.regexp.emailAddress(_1b5)+"$","i");
return re.test(_1b4);
};
dojo.validate.isEmailAddressList=function(_1b7,_1b8){
var re=new RegExp("^"+dojo.regexp.emailAddressList(_1b8)+"$","i");
return re.test(_1b7);
};
dojo.validate.getEmailAddressList=function(_1ba,_1bb){
if(!_1bb){
_1bb={};
}
if(!_1bb.listSeparator){
_1bb.listSeparator="\\s;,";
}
if(dojo.validate.isEmailAddressList(_1ba,_1bb)){
return _1ba.split(new RegExp("\\s*["+_1bb.listSeparator+"]\\s*"));
}
return [];
};
dojo.provide("dojo.validate.creditCard");
dojo.require("dojo.lang.common");
dojo.validate.isValidCreditCard=function(_1bc,_1bd){
if(_1bc&&_1bd&&((_1bd.toLowerCase()=="er"||dojo.validate.isValidLuhn(_1bc))&&(dojo.validate.isValidCreditCardNumber(_1bc,_1bd.toLowerCase())))){
return true;
}
return false;
};
dojo.validate.isValidCreditCardNumber=function(_1be,_1bf){
if(typeof _1be!="string"){
_1be=String(_1be);
}
_1be=_1be.replace(/[- ]/g,"");
var _1c0=[];
var _1c1={"mc":"5[1-5][0-9]{14}","ec":"5[1-5][0-9]{14}","vi":"4([0-9]{12}|[0-9]{15})","ax":"3[47][0-9]{13}","dc":"3(0[0-5][0-9]{11}|[68][0-9]{12})","bl":"3(0[0-5][0-9]{11}|[68][0-9]{12})","di":"6011[0-9]{12}","jcb":"(3[0-9]{15}|(2131|1800)[0-9]{11})","er":"2(014|149)[0-9]{11}"};
if(_1bf&&dojo.lang.has(_1c1,_1bf.toLowerCase())){
return Boolean(_1be.match(_1c1[_1bf.toLowerCase()]));
}else{
for(var p in _1c1){
if(_1be.match("^"+_1c1[p]+"$")!=null){
_1c0.push(p);
}
}
return (_1c0.length)?_1c0.join("|"):false;
}
};
dojo.validate.isValidCvv=function(_1c3,_1c4){
if(typeof _1c3!="string"){
_1c3=String(_1c3);
}
var _1c5;
switch(_1c4.toLowerCase()){
case "mc":
case "ec":
case "vi":
case "di":
_1c5="###";
break;
case "ax":
_1c5="####";
break;
default:
return false;
}
var _1c6={format:_1c5};
if((_1c3.length==_1c5.length)&&(dojo.validate.isNumberFormat(_1c3,_1c6))){
return true;
}
return false;
};
dojo.provide("dojo.validate.us");
dojo.validate.us.isCurrency=function(_1c7,_1c8){
return dojo.validate.isCurrency(_1c7,_1c8);
};
dojo.validate.us.isState=function(_1c9,_1ca){
var re=new RegExp("^"+dojo.regexp.us.state(_1ca)+"$","i");
return re.test(_1c9);
};
dojo.validate.us.isPhoneNumber=function(_1cc){
var _1cd={format:["###-###-####","(###) ###-####","(###) ### ####","###.###.####","###/###-####","### ### ####","###-###-#### x#???","(###) ###-#### x#???","(###) ### #### x#???","###.###.#### x#???","###/###-#### x#???","### ### #### x#???","##########"]};
return dojo.validate.isNumberFormat(_1cc,_1cd);
};
dojo.validate.us.isSocialSecurityNumber=function(_1ce){
var _1cf={format:["###-##-####","### ## ####","#########"]};
return dojo.validate.isNumberFormat(_1ce,_1cf);
};
dojo.validate.us.isZipCode=function(_1d0){
var _1d1={format:["#####-####","##### ####","#########","#####"]};
return dojo.validate.isNumberFormat(_1d0,_1d1);
};