This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Incam_SGD/thirdpartyjs/yui/tools/tools.js

1 line
12 KiB
JavaScript

YAHOO.Tools=function(){keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";regExs={quotes:/\x22/g,startspace:/^\s+/g,endspace:/\s+$/g,striptags:/<\/?[^>]+>/gi,hasbr:/<br/i,hasp:/<p>/i,rbr:/<br>/gi,rbr2:/<br\/>/gi,rendp:/<\/p>/gi,rp:/<p>/gi,base64:/[^A-Za-z0-9\+\/\=]/g,syntaxCheck:/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/};jsonCodes={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"};return {version:"1.0"};}();YAHOO.Tools.getHeight=function(_1){var _2=$(_2);var h=$D.getStyle(_2,"height");if(h=="auto"){_2.style.zoom=1;h=_2.clientHeight+"px";}return h;};YAHOO.Tools.getCenter=function(_4){var _5=$(_5);var cX=Math.round(($D.getViewportWidth()-parseInt($D.getStyle(_5,"width")))/2);var cY=Math.round(($D.getViewportHeight()-parseInt(this.getHeight(_5)))/2);return [cX,cY];};YAHOO.Tools.makeTextObject=function(_8){return document.createTextNode(_8);};YAHOO.Tools.makeChildren=function(_9,_a){var _b=$(_b);for(var i in _9){_val=_9[i];if(typeof _val=="string"){_val=this.makeTxtObject(_val);}_b.appendChild(_val);}};YAHOO.Tools.styleToCamel=function(_d){var _e=_d.split("-");var _f=_e[0];for(var i=1;i<_e.length;i++){_f+=_e[i].substring(0,1).toUpperCase()+_e[i].substring(1,_e[i].length);}return _f;};YAHOO.Tools.removeQuotes=function(str){var _12=new String(str);return String(_12.replace(regExs.quotes,""));};YAHOO.Tools.trim=function(str){return str.replace(regExs.startspace,"").replace(regExs.endspace,"");};YAHOO.Tools.stripTags=function(str){return str.replace(regExs.striptags,"");};YAHOO.Tools.hasBRs=function(str){return str.match(regExs.hasbr)||str.match(regExs.hasp);};YAHOO.Tools.convertBRs2NLs=function(str){return str.replace(regExs.rbr,"\n").replace(regExs.rbr2,"\n").replace(regExs.rendp,"\n").replace(regExs.rp,"");};YAHOO.Tools.stringRepeat=function(str,_18){return new Array(_18+1).join(str);};YAHOO.Tools.stringReverse=function(str){var _1a="";for(i=0;i<str.length;i++){_1a=_1a+str.charAt((str.length-1)-i);}return _1a;};YAHOO.Tools.printf=function(){var num=arguments.length;var _1c=arguments[0];for(var i=1;i<num;i++){var _1e="\\{"+(i-1)+"\\}";var re=new RegExp(_1e,"g");_1c=_1c.replace(re,arguments[i]);}return _1c;};YAHOO.Tools.setStyleString=function(el,str){var _22=str.split(";");for(x in _22){if(x){__tmp=YAHOO.Tools.trim(_22[x]);__tmp=_22[x].split(":");if(__tmp[0]&&__tmp[1]){var _23=YAHOO.Tools.trim(__tmp[0]);var _24=YAHOO.Tools.trim(__tmp[1]);if(_23&&_24){if(_23.indexOf("-")!=-1){_23=YAHOO.Tools.styleToCamel(_23);}$D.setStyle(el,_23,_24);}}}}};YAHOO.Tools.getSelection=function(_25,_26){if(!_25){_25=document;}if(!_26){_26=window;}if(_25.selection){return _25.selection;}return _26.getSelection();};YAHOO.Tools.removeElement=function(el){if(!(el instanceof Array)){el=new Array($(el));}for(var i=0;i<el.length;i++){if(el[i].parentNode){el[i].parentNode.removeChild(el);}}};YAHOO.Tools.setCookie=function(_29,_2a,_2b,_2c,_2d,_2e){var _2f=arguments;var _30=arguments.length;var _31=(_30>2)?_2f[2]:null;var _32=(_30>3)?_2f[3]:"/";var _33=(_30>4)?_2f[4]:null;var _34=(_30>5)?_2f[5]:false;document.cookie=_29+"="+escape(_2a)+((_31==null)?"":("; expires="+_31.toGMTString()))+((_32==null)?"":("; path="+_32))+((_33==null)?"":("; domain="+_33))+((_34==true)?"; secure":"");};YAHOO.Tools.getCookie=function(_35){var dc=document.cookie;var _37=_35+"=";var _38=dc.indexOf("; "+_37);if(_38==-1){_38=dc.indexOf(_37);if(_38!=0){return null;}}else{_38+=2;}var end=document.cookie.indexOf(";",_38);if(end==-1){end=dc.length;}return unescape(dc.substring(_38+_37.length,end));};YAHOO.Tools.deleteCookie=function(_3a,_3b,_3c){if(getCookie(_3a)){document.cookie=_3a+"="+((_3b)?"; path="+_3b:"")+((_3c)?"; domain="+_3c:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}};YAHOO.Tools.getBrowserEngine=function(){var _3d=((window.opera&&window.opera.version)?true:false);var _3e=((navigator.vendor&&navigator.vendor.indexOf("Apple")!=-1)?true:false);var _3f=((document.getElementById&&!document.all&&!_3d&&!_3e)?true:false);var _40=((window.ActiveXObject)?true:false);var _41=false;if(_40){if(typeof document.body.style.maxHeight!="undefined"){_41="7";}else{_41="6";}}if(_3d){var _42=window.opera.version().split(".");_41=_42[0]+"."+_42[1];}if(_3f){if(navigator.registerContentHandler){_41="2";}else{_41="1.5";}if((navigator.vendorSub)&&!_41){_41=navigator.vendorSub;}}if(_3e){try{if(console){if((window.onmousewheel!=="undefined")&&(window.onmousewheel===null)){_41="2";}else{_41="1.3";}}}catch(e){_41="1.2";}}var _43={ua:navigator.userAgent,opera:_3d,safari:_3e,gecko:_3f,msie:_40,version:_41};return _43;};YAHOO.Tools.getBrowserAgent=function(){var ua=navigator.userAgent.toLowerCase();var _45=((ua.indexOf("opera")!=-1)?true:false);var _46=((ua.indexOf("safari")!=-1)?true:false);var _47=((ua.indexOf("firefox")!=-1)?true:false);var _48=((ua.indexOf("msie")!=-1)?true:false);var mac=((ua.indexOf("mac")!=-1)?true:false);var _4a=((ua.indexOf("x11")!=-1)?true:false);var win=((mac||_4a)?false:true);var _4c=false;var _4d=false;if(!_47&&!_46&&(ua.indexOf("gecko")!=-1)){_4d=true;var _4e=ua.split("/");_4c=_4e[_4e.length-1].split(" ")[0];}if(_47){var _4f=ua.split("/");_4c=_4f[_4f.length-1].split(" ")[0];}if(_48){_4c=ua.substring((ua.indexOf("msie ")+5)).split(";")[0];}if(_46){_4c=this.getBrowserEngine().version;}if(_45){_4c=ua.substring((ua.indexOf("opera/")+6)).split(" ")[0];}var _50={ua:navigator.userAgent,opera:_45,safari:_46,firefox:_47,mozilla:_4d,msie:_48,mac:mac,win:win,unix:_4a,version:_4c};return _50;};YAHOO.Tools.checkFlash=function(){var br=this.getBrowserEngine();if(br.msie){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");var _53=axo.GetVariable("$version");var _54=_53.split(" ");var _55=_54[1];var _56=_55.split(",");var _57=_56[0];}catch(e){}}else{var _58=null;var _59,len,curr_tok;if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]){_58=navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;}if(_58==null){_57=false;}else{_59=navigator.plugins["Shockwave Flash"].description.split(" ");len=_59.length;while(len--){curr_tok=_59[len];if(!isNaN(parseInt(curr_tok))){hasVersion=curr_tok;_57=hasVersion;break;}}}}return _57;};YAHOO.Tools.setAttr=function(_5a,elm){if(typeof elm=="string"){elm=$(elm);}for(var i in _5a){switch(i.toLowerCase()){case "listener":if(_5a[i] instanceof Array){var ev=_5a[i][0];var _5e=_5a[i][1];var _5f=_5a[i][2];var _60=_5a[i][3];$E.addListener(elm,ev,_5e,_5f,_60);}break;case "classname":case "class":elm.className=_5a[i];break;case "style":YAHOO.Tools.setStyleString(elm,_5a[i]);break;default:elm.setAttribute(i,_5a[i]);break;}}};YAHOO.Tools.create=function(_61){_61=_61.toLowerCase();elm=document.createElement(_61);var txt=false;var _63=false;if(!elm){return false;}for(var i=1;i<arguments.length;i++){txt=arguments[i];if(typeof txt=="string"){_txt=YAHOO.Tools.makeTextObject(txt);elm.appendChild(_txt);}else{if(txt instanceof Array){YAHOO.Tools.makeChildren(txt,elm);}else{if(typeof txt=="object"){YAHOO.Tools.setAttr(txt,elm);}}}}return elm;};YAHOO.Tools.insertAfter=function(elm,_66){if(_66.nextSibling){_66.parentNode.insertBefore(elm,_66.nextSibling);}else{_66.parentNode.appendChild(elm);}};YAHOO.Tools.inArray=function(arr,val){if(arr instanceof Array){for(var i=(arr.length-1);i>=0;i--){if(arr[i]===val){return true;}}}return false;};YAHOO.Tools.checkBoolean=function(str){return ((typeof str=="boolean")?true:false);};YAHOO.Tools.checkNumber=function(str){return ((isNaN(str))?false:true);};YAHOO.Tools.PixelToEm=function(_6c){var _6d={};var _6e=(_6c/13);_6d.other=(Math.round(_6e*100)/100);_6d.msie=(Math.round((_6e*0.9759)*100)/100);return _6d;};YAHOO.Tools.PixelToEmStyle=function(_6f,_70){var _71="";var _72=((_72)?_72.toLowerCase():"width");var _73=(_6f/13);_71+=_72+":"+(Math.round(_73*100)/100)+"em;";_71+="*"+_72+":"+(Math.round((_73*0.9759)*100)/100)+"em;";if((_72=="width")||(_72=="height")){_71+="min-"+_72+":"+_6f+"px;";}return _71;};YAHOO.Tools.base64Encode=function(str){var _75="";var _76,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;do{_76=str.charCodeAt(i++);chr2=str.charCodeAt(i++);chr3=str.charCodeAt(i++);enc1=_76>>2;enc2=((_76&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else{if(isNaN(chr3)){enc4=64;}}_75=_75+keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);}while(i<str.length);return _75;};YAHOO.Tools.base64Decode=function(str){var _79="";var _7a,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;str=str.replace(regExs.base64,"");do{enc1=keyStr.indexOf(str.charAt(i++));enc2=keyStr.indexOf(str.charAt(i++));enc3=keyStr.indexOf(str.charAt(i++));enc4=keyStr.indexOf(str.charAt(i++));_7a=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;_79=_79+String.fromCharCode(_7a);if(enc3!=64){_79=_79+String.fromCharCode(chr2);}if(enc4!=64){_79=_79+String.fromCharCode(chr3);}}while(i<str.length);return _79;};YAHOO.Tools.getQueryString=function(str){var _7d={};if(!str){var str=location.href.split("?");if(str.length!=2){str=["",location.href];}}else{var str=["",str];}if(str[1].match("#")){var _80=str[1].split("#");_7d.hash=_80[1];str[1]=_80[0];}if(str[1]){str=str[1].split("&");if(str.length){for(var i=0;i<str.length;i++){var _82=str[i].split("=");if(_82[0].indexOf("[")!=-1){if(_82[0].indexOf("[]")!=-1){var arr=_82[0].substring(0,_82[0].length-2);if(!_7d[arr]){_7d[arr]=[];}_7d[arr][_7d[arr].length]=_82[1];}else{var arr=_82[0].substring(0,_82[0].indexOf("["));var _85=_82[0].substring((_82[0].indexOf("[")+1),_82[0].indexOf("]"));if(!_7d[arr]){_7d[arr]={};}_7d[arr][_85]=_82[1];}}else{_7d[_82[0]]=_82[1];}}}}return _7d;};YAHOO.Tools.getQueryStringVar=function(str){var qs=this.getQueryString();if(qs[str]){return qs[str];}else{return false;}};YAHOO.Tools.padDate=function(n){return n<10?"0"+n:n;};YAHOO.Tools.encodeStr=function(str){if(/["\\\x00-\x1f]/.test(str)){return "\""+str.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=jsonCodes[b];if(c){return c;}c=b.charCodeAt();return "\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16);})+"\"";}return "\""+str+"\"";};YAHOO.Tools.encodeArr=function(arr){var a=["["],b,i,l=arr.length,v;for(i=0;i<l;i+=1){v=arr[i];switch(typeof v){case "undefined":case "function":case "unknown":break;default:if(b){a.push(",");}a.push(v===null?"null":YAHOO.Tools.JSONEncode(v));b=true;}}a.push("]");return a.join("");};YAHOO.Tools.encodeDate=function(d){return "\""+d.getFullYear()+"-"+YAHOO.Tools.padDate(d.getMonth()+1)+"-"+YAHOO.Tools.padDate(d.getDate())+"T"+YAHOO.Tools.padDate(d.getHours())+":"+YAHOO.Tools.padDate(d.getMinutes())+":"+YAHOO.Tools.padDate(d.getSeconds())+"\"";};YAHOO.Tools.fixJSONDate=function(_90){var tmp=_90.split("T");var _92=_90;if(tmp.length==2){var _93=tmp[0].split("-");if(_93.length==3){_92=new Date(_93[0],(_93[1]-1),_93[2]);var _94=tmp[1].split(":");if(_94.length==3){_92.setHours(_94[0],_94[1],_94[2]);}}}return _92;};YAHOO.Tools.JSONEncode=function(o){if((typeof o=="undefined")||(o===null)){return "null";}else{if(o instanceof Array){return YAHOO.Tools.encodeArr(o);}else{if(o instanceof Date){return YAHOO.Tools.encodeDate(o);}else{if(typeof o=="string"){return YAHOO.Tools.encodeStr(o);}else{if(typeof o=="number"){return isFinite(o)?String(o):"null";}else{if(typeof o=="boolean"){return String(o);}else{var a=["{"],b,i,v;for(var i in o){v=o[i];switch(typeof v){case "undefined":case "function":case "unknown":break;default:if(b){a.push(",");}a.push(YAHOO.Tools.JSONEncode(i),":",((v===null)?"null":YAHOO.Tools.JSONEncode(v)));b=true;}}a.push("}");return a.join("");}}}}}}};YAHOO.Tools.JSONParse=function(_98,_99){var _9a=((_9a)?true:false);try{if(regExs.syntaxCheck.test(_98)){var j=eval("("+_98+")");if(_9a){function walk(k,v){if(v&&typeof v==="object"){for(var i in v){if(v.hasOwnProperty(i)){v[i]=walk(i,v[i]);}}}if(k.toLowerCase().indexOf("date")>=0){return YAHOO.Tools.fixJSONDate(v);}else{return v;}}return walk("",j);}else{return j;}}}catch(e){console.log(e);}throw new SyntaxError("parseJSON");};YAHOO.tools=YAHOO.Tools;YAHOO.TOOLS=YAHOO.Tools;YAHOO.util.Dom.create=YAHOO.Tools.create;$A=YAHOO.util.Anim;$E=YAHOO.util.Event;$D=YAHOO.util.Dom;$T=YAHOO.Tools;$=YAHOO.util.Dom.get;$$=YAHOO.util.Dom.getElementsByClassName;