db66897fa3e27b9cdd41c268a2b504216853bcfa
2 (function(){if(window
.google
&&google
.gears
){return;}
3 var factory
=null;if(typeof GearsFactory
!='undefined'){factory
=new GearsFactory();}else{try{factory
=new ActiveXObject('Gears.Factory');if(factory
.getBuildInfo().indexOf('ie_mobile')!=-1){factory
.privateSetGlobalObject(this);}}catch(e
){if((typeof navigator
.mimeTypes
!='undefined')&&navigator
.mimeTypes
["application/x-googlegears"]){factory
=document
.createElement("object");factory
.style
.display
="none";factory
.width
=0;factory
.height
=0;factory
.type
="application/x-googlegears";document
.documentElement
.appendChild(factory
);}}}
5 if(!window
.google
){google
={};}
6 if(!google
.gears
){google
.gears
={factory
:factory
};}})();if(typeof deconcept
=="undefined")var deconcept
=new Object();if(typeof deconcept
.util
=="undefined")deconcept
.util
=new Object();if(typeof deconcept
.SWFObjectUtil
=="undefined")deconcept
.SWFObjectUtil
=new Object();deconcept
.SWFObject=function(swf
,id
,w
,h
,ver
,c
,quality
,xiRedirectUrl
,redirectUrl
,detectKey
){if(!document
.getElementById
){return;}
7 this.DETECT_KEY
=detectKey
?detectKey
:'detectflash';this.skipDetect
=deconcept
.util
.getRequestParameter(this.DETECT_KEY
);this.params
=new Object();this.variables
=new Object();this.attributes
=new Array();if(swf
){this.setAttribute('swf',swf
);}
8 if(id
){this.setAttribute('id',id
);}
9 if(w
){this.setAttribute('width',w
);}
10 if(h
){this.setAttribute('height',h
);}
11 if(ver
){this.setAttribute('version',new deconcept
.PlayerVersion(ver
.toString().split(".")));}
12 this.installedVer
=deconcept
.SWFObjectUtil
.getPlayerVersion();if(!window
.opera
&&document
.all
&&this.installedVer
.major
>7){deconcept
.SWFObject
.doPrepUnload
=true;}
13 if(c
){this.addParam('bgcolor',c
);}
14 var q
=quality
?quality
:'high';this.addParam('quality',q
);this.setAttribute('useExpressInstall',false);this.setAttribute('doExpressInstall',false);var xir
=(xiRedirectUrl
)?xiRedirectUrl
:window
.location
;this.setAttribute('xiRedirectUrl',xir
);this.setAttribute('redirectUrl','');if(redirectUrl
){this.setAttribute('redirectUrl',redirectUrl
);}}
15 deconcept
.SWFObject
.prototype={useExpressInstall:function(path
){this.xiSWFPath
=!path
?"expressinstall.swf":path
;this.setAttribute('useExpressInstall',true);},setAttribute:function(name
,value
){this.attributes
[name
]=value
;},getAttribute:function(name
){return this.attributes
[name
];},addParam:function(name
,value
){this.params
[name
]=value
;},getParams:function(){return this.params
;},addVariable:function(name
,value
){this.variables
[name
]=value
;},getVariable:function(name
){return this.variables
[name
];},getVariables:function(){return this.variables
;},getVariablePairs:function(){var variablePairs
=new Array();var key
;var variables
=this.getVariables();for(key
in variables
){variablePairs
.push(key
+"="+variables
[key
]);}
16 return variablePairs
;},getSWFHTML:function(){var swfNode
="";if(navigator
.plugins
&&navigator
.mimeTypes
&&navigator
.mimeTypes
.length
){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute('swf',this.xiSWFPath
);}
17 swfNode
='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"';swfNode
+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';var params
=this.getParams();for(var key
in params
){swfNode
+=[key
]+'="'+params
[key
]+'" ';}
18 var pairs
=this.getVariablePairs().join("&");if(pairs
.length
>0){swfNode
+='flashvars="'+pairs
+'"';}
19 swfNode
+='/>';}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute('swf',this.xiSWFPath
);}
20 swfNode
='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';swfNode
+='<param name="movie" value="'+this.getAttribute('swf')+'" />';var params
=this.getParams();for(var key
in params
){swfNode
+='<param name="'+key
+'" value="'+params
[key
]+'" />';}
21 var pairs
=this.getVariablePairs().join("&");if(pairs
.length
>0){swfNode
+='<param name="flashvars" value="'+pairs
+'" />';}
22 swfNode
+="</object>";}
23 return swfNode
;},write:function(elementId
){if(this.getAttribute('useExpressInstall')){var expressInstallReqVer
=new deconcept
.PlayerVersion([6,0,65]);if(this.installedVer
.versionIsValid(expressInstallReqVer
)&&!this.installedVer
.versionIsValid(this.getAttribute('version'))){this.setAttribute('doExpressInstall',true);this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));document
.title
=document
.title
.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document
.title
);}}
24 if(this.skipDetect
||this.getAttribute('doExpressInstall')||this.installedVer
.versionIsValid(this.getAttribute('version'))){var n
=(typeof elementId
=='string')?document
.getElementById(elementId
):elementId
;n
.innerHTML
=this.getSWFHTML();return true;}else{if(this.getAttribute('redirectUrl')!=""){document
.location
.replace(this.getAttribute('redirectUrl'));}}
26 deconcept
.SWFObjectUtil
.getPlayerVersion=function(){var PlayerVersion
=new deconcept
.PlayerVersion([0,0,0]);if(navigator
.plugins
&&navigator
.mimeTypes
.length
){var x
=navigator
.plugins
["Shockwave Flash"];if(x
&&x
.description
){PlayerVersion
=new deconcept
.PlayerVersion(x
.description
.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{try{var axo
=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e
){try{var axo
=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");PlayerVersion
=new deconcept
.PlayerVersion([6,0,21]);axo
.AllowScriptAccess
="always";}catch(e
){if(PlayerVersion
.major
==6){return PlayerVersion
;}}
27 try{axo
=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e
){}}
28 if(axo
!=null){PlayerVersion
=new deconcept
.PlayerVersion(axo
.GetVariable("$version").split(" ")[1].split(","));}}
29 return PlayerVersion
;}
30 deconcept
.PlayerVersion=function(arrVersion
){this.major
=arrVersion
[0]!=null?parseInt(arrVersion
[0]):0;this.minor
=arrVersion
[1]!=null?parseInt(arrVersion
[1]):0;this.rev
=arrVersion
[2]!=null?parseInt(arrVersion
[2]):0;}
31 deconcept
.PlayerVersion
.prototype.versionIsValid=function(fv
){if(this.major
<fv
.major
)return false;if(this.major
>fv
.major
)return true;if(this.minor
<fv
.minor
)return false;if(this.minor
>fv
.minor
)return true;if(this.rev
<fv
.rev
)return false;return true;}
32 deconcept
.util
={getRequestParameter:function(param
){var q
=document
.location
.search
||document
.location
.hash
;if(q
){var pairs
=q
.substring(1).split("&");for(var i
=0;i
<pairs
.length
;i
++){if(pairs
[i
].substring(0,pairs
[i
].indexOf("="))==param
){return pairs
[i
].substring((pairs
[i
].indexOf("=")+1));}}}
34 deconcept
.SWFObjectUtil
.cleanupSWFs=function(){var objects
=document
.getElementsByTagName("OBJECT");for(var i
=0;i
<objects
.length
;i
++){objects
[i
].style
.display
='none';for(var x
in objects
[i
]){if(typeof objects
[i
][x
]=='function'){objects
[i
][x
]=function(){};}}}}
35 if(deconcept
.SWFObject
.doPrepUnload
){deconcept
.SWFObjectUtil
.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window
.attachEvent("onunload",deconcept
.SWFObjectUtil
.cleanupSWFs
);}
36 window
.attachEvent("onbeforeunload",deconcept
.SWFObjectUtil
.prepUnload
);}
37 if(Array
.prototype.push
==null){Array
.prototype.push=function(item
){this[this.length
]=item
;return this.length
;}}
38 var getQueryParamValue
=deconcept
.util
.getRequestParameter
;var FlashObject
=deconcept
.SWFObject
;var SWFObject
=deconcept
.SWFObject
;Persist
=(function(){var VERSION
='0.1.0',P
,B
,esc
,init
,empty
,ec
;ec
=(function(){var EPOCH
='Thu, 01-Jan-1970 00:00:01 GMT',RATIO
=1000*60*60*24,KEYS
=['expires','path','domain'],esc
=escape
,un
=unescape
,doc
=document
,me
;var get_now=function(){var r
=new Date();r
.setTime(r
.getTime());return r
;}
39 var cookify=function(c_key
,c_val
){var i
,key
,val
,r
=[],opt
=(arguments
.length
>2)?arguments
[2]:{};r
.push(esc(c_key
)+'='+esc(c_val
));for(i
=0;i
<KEYS
.length
;i
++){key
=KEYS
[i
];if(val
=opt
[key
])
42 r
.push('secure');return r
.join('; ');}
43 var alive=function(){var k
='__EC_TEST__',v
=new Date();v
=v
.toGMTString();this.set(k
,v
);this.enabled
=(this.remove(k
)==v
);return this.enabled
;}
44 me
={set:function(key
,val
){var opt
=(arguments
.length
>2)?arguments
[2]:{},now
=get_now(),expire_at
,cfg
={};if(opt
.expires
){opt
.expires
*=RATIO
;cfg
.expires
=new Date(now
.getTime()+opt
.expires
);cfg
.expires
=cfg
.expires
.toGMTString();}
45 var keys
=['path','domain','secure'];for(i
=0;i
<keys
.length
;i
++)
47 cfg
[keys
[i
]]=opt
[keys
[i
]];var r
=cookify(key
,val
,cfg
);doc
.cookie
=r
;return val
;},has:function(key
){key
=esc(key
);var c
=doc
.cookie
,ofs
=c
.indexOf(key
+'='),len
=ofs
+key
.length
+1,sub
=c
.substring(0,key
.length
);return((!ofs
&&key
!=sub
)||ofs
<0)?false:true;},get:function(key
){key
=esc(key
);var c
=doc
.cookie
,ofs
=c
.indexOf(key
+'='),len
=ofs
+key
.length
+1,sub
=c
.substring(0,key
.length
),end
;if((!ofs
&&key
!=sub
)||ofs
<0)
48 return null;end
=c
.indexOf(';',len
);if(end
<0)
49 end
=c
.length
;return un(c
.substring(len
,end
));},remove:function(k
){var r
=me
.get(k
),opt
={expires
:EPOCH
};doc
.cookie
=cookify(k
,'',opt
);return r
;},keys:function(){var c
=doc
.cookie
,ps
=c
.split('; '),i
,p
,r
=[];for(i
=0;i
<ps
.length
;i
++){p
=ps
[i
].split('=');r
.push(un(p
[0]));}
50 return r
;},all:function(){var c
=doc
.cookie
,ps
=c
.split('; '),i
,p
,r
=[];for(i
=0;i
<ps
.length
;i
++){p
=ps
[i
].split('=');r
.push([un(p
[0]),un(p
[1])]);}
51 return r
;},version
:'0.2.1',enabled
:false};me
.enabled
=alive
.call(me
);return me
;}());empty=function(){};esc=function(str
){return'PS'+str
.replace(/_/g,'__').replace(/ /g,'_s');};C={search_order:['gears','localstorage','whatwg_db','globalstorage','flash','ie','cookie'],name_re:/^[a
-z
][a
-z0
-9_
-]+$/i
,methods
:['init','get','set','remove','load','save'],sql
:{version
:'1',create
:"CREATE TABLE IF NOT EXISTS persist_data (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)",get:"SELECT v FROM persist_data WHERE k = ?",set:"INSERT INTO persist_data(k, v) VALUES (?, ?)",remove
:"DELETE FROM persist_data WHERE k = ?"},flash
:{div_id
:'_persist_flash_wrap',id
:'_persist_flash',path
:'persist.swf',size
:{w
:1,h
:1},args
:{autostart
:true}}};B
={gears
:{size
:-1,test:function(){return(window
.google
&&window
.google
.gears
)?true:false;},methods
:{transaction:function(fn
){var db
=this.db
;db
.execute('BEGIN').close();fn
.call(this,db
);db
.execute('COMMIT').close();},init:function(){var db
;db
=this.db
=google
.gears
.factory
.create('beta.database');db
.open(esc(this.name
));db
.execute(C
.sql
.create
).close();},get:function(key
,fn
,scope
){var r
,sql
=C
.sql
.get;if(!fn
)
52 return;this.transaction(function(t
){r
=t
.execute(sql
,[key
]);if(r
.isValidRow())
53 fn
.call(scope
||this,true,r
.field(0));else
54 fn
.call(scope
||this,false,null);r
.close();});},set:function(key
,val
,fn
,scope
){var rm_sql
=C
.sql
.remove
,sql
=C
.sql
.set,r
;this.transaction(function(t
){t
.execute(rm_sql
,[key
]).close();t
.execute(sql
,[key
,val
]).close();if(fn
)
55 fn
.call(scope
||this,true,val
);});},remove:function(key
,fn
,scope
){var get_sql
=C
.sql
.get;var r
,val
;sql
=C
.sql
.remove
,r
,val
;this.transaction(function(t
){if(fn
){r
=t
.execute(get_sql
,[key
]);if(r
.isValidRow()){val
=r
.field(0);t
.execute(sql
,[key
]).close();fn
.call(scope
||this,true,val
);}else{fn
.call(scope
||this,false,null);}
56 r
.close();}else{t
.execute(sql
,[key
]).close();}});}}},whatwg_db
:{size
:200*1024,test:function(){var name
='PersistJS Test',desc
='Persistent database test.';if(!window
.openDatabase
)
57 return false;if(!window
.openDatabase(name
,C
.sql
.version
,desc
,B
.whatwg_db
.size
))
58 return false;return true;},methods
:{transaction:function(fn
){if(!this.db_created
){var sql
=C
.sql
.create
;this.db
.transaction(function(t
){t
.executeSql(sql
,[],function(){this.db_created
=true;});},empty
);}
59 this.db
.transaction(fn
);},init:function(){var desc
,size
;desc
=this.o
.about
||"Persistent storage for "+this.name
;size
=this.o
.size
||B
.whatwg_db
.size
;this.db
=openDatabase(this.name
,C
.sql
.version
,desc
,size
);},get:function(key
,fn
,scope
){var sql
=C
.sql
.get;if(!fn
)
60 return;scope
=scope
||this;this.transaction(function(t
){t
.executeSql(sql
,[key
],function(t
,r
){if(r
.rows
.length
>0)
61 fn
.call(scope
,true,r
.rows
.item(0)['v']);else
62 fn
.call(scope
,false,null);});});},set:function(key
,val
,fn
,scope
){var rm_sql
=C
.sql
.remove
,sql
=C
.sql
.set;this.transaction(function(t
){t
.executeSql(rm_sql
,[key
],function(){t
.executeSql(sql
,[key
,val
],function(t
,r
){if(fn
)
63 fn
.call(scope
||this,true,val
);});});});return val
;},remove:function(key
,fn
,scope
){var get_sql
=C
.sql
.get;sql
=C
.sql
.remove
;this.transaction(function(t
){if(fn
){t
.executeSql(get_sql
,[key
],function(t
,r
){if(r
.rows
.length
>0){var val
=r
.rows
.item(0)['v'];t
.executeSql(sql
,[key
],function(t
,r
){fn
.call(scope
||this,true,val
);});}else{fn
.call(scope
||this,false,null);}});}else{t
.executeSql(sql
,[key
]);}});}}},globalstorage
:{size
:5*1024*1024,test:function(){return window
.globalStorage
?true:false;},methods
:{key:function(key
){return esc(this.name
)+esc(key
);},init:function(){this.store
=globalStorage
[this.o
.domain
];},get:function(key
,fn
,scope
){key
=this.key(key
);if(fn
)
64 fn
.call(scope
||this,true,this.store
.getItem(key
));},set:function(key
,val
,fn
,scope
){key
=this.key(key
);this.store
.setItem(key
,val
);if(fn
)
65 fn
.call(scope
||this,true,val
);},remove:function(key
,fn
,scope
){var val
;key
=this.key(key
);val
=this.store
[key
];this.store
.removeItem(key
);if(fn
)
66 fn
.call(scope
||this,(val
!==null),val
);}}},localstorage
:{size
:-1,test:function(){return window
.localStorage
?true:false;},methods
:{key:function(key
){return esc(this.name
)+esc(key
);},init:function(){this.store
=localStorage
;},get:function(key
,fn
,scope
){key
=this.key(key
);if(fn
)
67 fn
.call(scope
||this,true,this.store
.getItem(key
));},set:function(key
,val
,fn
,scope
){key
=this.key(key
);this.store
.setItem(key
,val
);if(fn
)
68 fn
.call(scope
||this,true,val
);},remove:function(key
,fn
,scope
){var val
;key
=this.key(key
);val
=this.store
.getItem(key
);this.store
.removeItem(key
);if(fn
)
69 fn
.call(scope
||this,(val
!==null),val
);}}},ie
:{prefix
:'_persist_data-',size
:64*1024,test:function(){return window
.ActiveXObject
?true:false;},make_userdata:function(id
){var el
=document
.createElement('div');el
.id
=id
;el
.style
.display
='none';el
.addBehavior('#default#userData');document
.body
.appendChild(el
);return el
;},methods
:{init:function(){var id
=B
.ie
.prefix
+esc(this.name
);this.el
=B
.ie
.make_userdata(id
);if(this.o
.defer
)
70 this.load();},get:function(key
,fn
,scope
){var val
;key
=esc(key
);if(!this.o
.defer
)
71 this.load();val
=this.el
.getAttribute(key
);if(fn
)
72 fn
.call(scope
||this,val
?true:false,val
);},set:function(key
,val
,fn
,scope
){key
=esc(key
);this.el
.setAttribute(key
,val
);if(!this.o
.defer
)
74 fn
.call(scope
||this,true,val
);},load:function(){this.el
.load(esc(this.name
));},save:function(){this.el
.save(esc(this.name
));}}},cookie
:{delim
:':',size
:4000,test:function(){return P
.Cookie
.enabled
?true:false;},methods
:{key:function(key
){return this.name
+B
.cookie
.delim
+key
;},get:function(key
,val
,fn
,scope
){key
=this.key(key
);val
=ec
.get(key
);if(fn
)
75 fn
.call(scope
||this,val
!=null,val
);},set:function(key
,val
,fn
,scope
){key
=this.key(key
);ec
.set(key
,val
,this.o
);if(fn
)
76 fn
.call(scope
||this,true,val
);},remove:function(key
,val
,fn
,scope
){var val
;key
=this.key(key
);val
=ec
.remove(key
)
78 fn
.call(scope
||this,val
!=null,val
);}}},flash
:{test:function(){if(!window
.SWFObject
||!deconcept
||!deconcept
.SWFObjectUtil
)
79 return false;var major
=deconcept
.SWFObjectUtil
.getPlayerVersion().major
;return(major
>=8)?true:false;},methods
:{init:function(){if(!B
.flash
.el
){var o
,key
,el
,cfg
=C
.flash
;el
=document
.createElement('div');el
.id
=cfg
.div_id
;document
.body
.appendChild(el
);o
=new SWFObject(this.o
.swf_path
||cfg
.path
,cfg
.id
,cfg
.size
.w
,cfg
.size
.h
,'8');for(key
in cfg
.args
)
80 o
.addVariable(key
,cfg
.args
[key
]);o
.write(el
);B
.flash
.el
=document
.getElementById(cfg
.id
);}
81 this.el
=B
.flash
.el
;},get:function(key
,fn
,scope
){var val
;key
=esc(key
);val
=this.el
.get(this.name
,key
);if(fn
)
82 fn
.call(scope
||this,val
!==null,val
);},set:function(key
,val
,fn
,scope
){var old_val
;key
=esc(key
);old_val
=this.el
.set(this.name
,key
,val
);if(fn
)
83 fn
.call(scope
||this,true,val
);},remove:function(key
,fn
,scope
){var val
;key
=esc(key
);val
=this.el
.remove(this.name
,key
);if(fn
)
84 fn
.call(scope
||this,true,val
);}}}};var init=function(){var i
,l
,b
,key
,fns
=C
.methods
,keys
=C
.search_order
;for(i
=0,l
=fns
.length
;i
<l
;i
++)
85 P
.Store
.prototype[fns
[i
]]=empty
;P
.type
=null;P
.size
=-1;for(i
=0,l
=keys
.length
;!P
.type
&&i
<l
;i
++){b
=B
[keys
[i
]];if(b
.test()){P
.type
=keys
[i
];P
.size
=b
.size
;for(key
in b
.methods
)
86 P
.Store
.prototype[key
]=b
.methods
[key
];}}
87 P
._init
=true;};P
={VERSION
:VERSION
,type
:null,size
:0,add:function(o
){B
[o
.id
]=o
;C
.search_order
=[o
.id
].concat(C
.search_order
);init();},remove:function(id
){var ofs
=C
.search_order
.indexOf(id
);if(ofs
<0)
88 return;C
.search_order
.splice(ofs
,1);delete B
[id
];init();},Cookie
:ec
,Store:function(name
,o
){if(!C
.name_re
.exec(name
))
89 throw new Error("Invalid name");if(!P
.type
)
90 throw new Error("No suitable storage found");o
=o
||{};this.name
=name
;o
.domain
=o
.domain
||location
.hostname
||'localhost.localdomain';this.o
=o
;o
.expires
=o
.expires
||365*2;o
.path
=o
.path
||'/';this.init();}};init();return P
;})();
This page took 0.688213 seconds and 5 git commands to generate.