| /* |
| Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. |
| Available via Academic Free License >= 2.1 OR the modified BSD license. |
| see: http://dojotoolkit.org/license for details |
| */ |
| |
| |
| if(!dojo._hasResource["dojox.uuid._base"]){ |
| dojo._hasResource["dojox.uuid._base"]=true; |
| dojo.provide("dojox.uuid._base"); |
| dojox.uuid.NIL_UUID="00000000-0000-0000-0000-000000000000"; |
| dojox.uuid.version={UNKNOWN:0,TIME_BASED:1,DCE_SECURITY:2,NAME_BASED_MD5:3,RANDOM:4,NAME_BASED_SHA1:5}; |
| dojox.uuid.variant={NCS:"0",DCE:"10",MICROSOFT:"110",UNKNOWN:"111"}; |
| dojox.uuid.assert=function(_1,_2){ |
| if(!_1){ |
| if(!_2){ |
| _2="An assert statement failed.\n"+"The method dojox.uuid.assert() was called with a 'false' value.\n"; |
| } |
| throw new Error(_2); |
| } |
| }; |
| dojox.uuid.generateNilUuid=function(){ |
| return dojox.uuid.NIL_UUID; |
| }; |
| dojox.uuid.isValid=function(_3){ |
| _3=_3.toString(); |
| var _4=(dojo.isString(_3)&&(_3.length==36)&&(_3==_3.toLowerCase())); |
| if(_4){ |
| var _5=_3.split("-"); |
| _4=((_5.length==5)&&(_5[0].length==8)&&(_5[1].length==4)&&(_5[2].length==4)&&(_5[3].length==4)&&(_5[4].length==12)); |
| var _6=16; |
| for(var i in _5){ |
| var _8=_5[i]; |
| var _9=parseInt(_8,_6); |
| _4=_4&&isFinite(_9); |
| } |
| } |
| return _4; |
| }; |
| dojox.uuid.getVariant=function(_a){ |
| if(!dojox.uuid._ourVariantLookupTable){ |
| var _b=dojox.uuid.variant; |
| var _c=[]; |
| _c[0]=_b.NCS; |
| _c[1]=_b.NCS; |
| _c[2]=_b.NCS; |
| _c[3]=_b.NCS; |
| _c[4]=_b.NCS; |
| _c[5]=_b.NCS; |
| _c[6]=_b.NCS; |
| _c[7]=_b.NCS; |
| _c[8]=_b.DCE; |
| _c[9]=_b.DCE; |
| _c[10]=_b.DCE; |
| _c[11]=_b.DCE; |
| _c[12]=_b.MICROSOFT; |
| _c[13]=_b.MICROSOFT; |
| _c[14]=_b.UNKNOWN; |
| _c[15]=_b.UNKNOWN; |
| dojox.uuid._ourVariantLookupTable=_c; |
| } |
| _a=_a.toString(); |
| var _d=_a.charAt(19); |
| var _e=16; |
| var _f=parseInt(_d,_e); |
| dojox.uuid.assert((_f>=0)&&(_f<=16)); |
| return dojox.uuid._ourVariantLookupTable[_f]; |
| }; |
| dojox.uuid.getVersion=function(_10){ |
| var _11="dojox.uuid.getVersion() was not passed a DCE Variant UUID."; |
| dojox.uuid.assert(dojox.uuid.getVariant(_10)==dojox.uuid.variant.DCE,_11); |
| _10=_10.toString(); |
| var _12=_10.charAt(14); |
| var _13=16; |
| var _14=parseInt(_12,_13); |
| return _14; |
| }; |
| dojox.uuid.getNode=function(_15){ |
| var _16="dojox.uuid.getNode() was not passed a TIME_BASED UUID."; |
| dojox.uuid.assert(dojox.uuid.getVersion(_15)==dojox.uuid.version.TIME_BASED,_16); |
| _15=_15.toString(); |
| var _17=_15.split("-"); |
| var _18=_17[4]; |
| return _18; |
| }; |
| dojox.uuid.getTimestamp=function(_19,_1a){ |
| var _1b="dojox.uuid.getTimestamp() was not passed a TIME_BASED UUID."; |
| dojox.uuid.assert(dojox.uuid.getVersion(_19)==dojox.uuid.version.TIME_BASED,_1b); |
| _19=_19.toString(); |
| if(!_1a){ |
| _1a=null; |
| } |
| switch(_1a){ |
| case "string": |
| case String: |
| return dojox.uuid.getTimestamp(_19,Date).toUTCString(); |
| break; |
| case "hex": |
| var _1c=_19.split("-"); |
| var _1d=_1c[0]; |
| var _1e=_1c[1]; |
| var _1f=_1c[2]; |
| _1f=_1f.slice(1); |
| var _20=_1f+_1e+_1d; |
| dojox.uuid.assert(_20.length==15); |
| return _20; |
| break; |
| case null: |
| case "date": |
| case Date: |
| var _21=3394248; |
| var _22=16; |
| var _23=_19.split("-"); |
| var _24=parseInt(_23[0],_22); |
| var _25=parseInt(_23[1],_22); |
| var _26=parseInt(_23[2],_22); |
| var _27=_26&4095; |
| _27<<=16; |
| _27+=_25; |
| _27*=4294967296; |
| _27+=_24; |
| var _28=_27/10000; |
| var _29=60*60; |
| var _2a=_21; |
| var _2b=_2a*_29; |
| var _2c=_2b*1000; |
| var _2d=_28-_2c; |
| var _2e=new Date(_2d); |
| return _2e; |
| break; |
| default: |
| dojox.uuid.assert(false,"dojox.uuid.getTimestamp was not passed a valid returnType: "+_1a); |
| break; |
| } |
| }; |
| } |