
function JSLoad(tags,path,version,executeAfterLoad,scriptConcatenatorURL){if(!tags){return;}
var objectHash={};var ordering=[];for(var i=0;i<tags.length;i++){var tag=tags[i];objectHash[tag.name]=tag;ordering.push(tag.name);}
this.tags=objectHash;this.tagOrder=ordering;this.path=path?path:"";this.version=version;this.executeAfterLoad=executeAfterLoad?true:false;this.scriptConcatenatorURL=scriptConcatenatorURL;if(this.scriptConcatenatorURL&&(/WebKit|khtml/i.test(navigator.userAgent))){this.safariSetsLoaded={};}
this.tagsLoaded={};this.sourceFileSetQueue=[];this.sourceFilesLoaded={};this.ALLJS=true;}
JSLoad.prototype.load=function(tagNames,callback,path,version,executeAfterLoad){if(!tagNames){return;}
var path=path||this.path;var version=version||this.version;var executeAfterLoad=executeAfterLoad||this.executeAfterLoad;var srcToLoad=this.getSrcToLoad(tagNames,path);this.sourceFileSetQueue.push({srcToLoad:srcToLoad,callback:callback,version:version});if(!this.sourceFileSetQueue.isRunning){if(executeAfterLoad){var thisObj=this;FastInit.addOnLoad(function(){thisObj.loadScript(thisObj.sourceFileSetQueue[0]);});this.sourceFileSetQueue.isRunning=true;}else{this.loadScript(this.sourceFileSetQueue[0]);}}}
JSLoad.prototype.getSrcToLoad=function(tagNames,path){if(!path){var path=this.path;}
var tags=this.tags;var dependentTags={};function markDependentTags(tagName){var tag=tags[tagName];if(!tag){return;}
dependentTags[tagName]=true;if(!tag.requires){return;}
for(var i=0;i<tag.requires.length;i++){var requiredTagName=tag.requires[i];if(!dependentTags[requiredTagName]){markDependentTags(requiredTagName);}}}
for(var i=0;i<tagNames.length;i++){markDependentTags(tagNames[i]);}
var srcToLoad=[];for(var i=0;i<this.tagOrder.length;i++){var tagName=this.tagOrder[i];var tag=this.tags[tagName];if(tag.tagOnly||!dependentTags[tagName]||(tag.isLoaded&&tag.isLoaded())){continue;}
if(tagName.indexOf("http://")>-1){var filePath=tagName;}else if(tag.path){var filePath=tag.path+tagName+'.js';}
else{var filePath=(path?path:"")+tagName+'.js';}
if(this.sourceFilesLoaded[filePath]||this.isQueued(filePath)){continue;}
srcToLoad.push(filePath);}
return srcToLoad;}
JSLoad.prototype.loadScript=function(srcSetObj,iteration){this.sourceFileSetQueue.isRunning=true;var thisObj=this;var thisFn=arguments.callee;function loadNext(){if(srcSetObj.callback){srcSetObj.callback();}
thisObj.sourceFileSetQueue.shift();if(thisObj.sourceFileSetQueue.length>0){thisFn.call(thisObj,thisObj.sourceFileSetQueue[0]);}else{thisObj.sourceFileSetQueue.isRunning=false;}}
function createScriptEl(url,srcSetObj,iteration){if(url.indexOf("undefined")==-1){var script=document.createElement("script");script.type="text/javascript";script.src=url
function scriptOnLoad(){if(script.readyState&&script.readyState!="loaded"&&script.readyState!="complete"){return;}
script.onreadystatechange=script.onload=null;if(thisObj.scriptConcatenatorURL){loadNext();}else{thisObj.loadScript(srcSetObj,iteration);}}
if(thisObj.safariSetsLoaded){var callbackTimer=setInterval(function(){if(thisObj.safariSetsLoaded[srcSetObj.srcToLoad.join(",")]){clearInterval(callbackTimer);scriptOnLoad();}},100);}else{script.onload=script.onreadystatechange=scriptOnLoad;}
document.getElementsByTagName("head")[0].appendChild(script);}}
if(srcSetObj.srcToLoad.length===0){loadNext();}else{if(this.scriptConcatenatorURL){for(var i=0;i<srcSetObj.srcToLoad.length;i++){var url=srcSetObj.srcToLoad[i];this.sourceFilesLoaded[url]=true;}
createScriptEl(this.scriptConcatenatorURL+srcSetObj.srcToLoad.join(",")+(srcSetObj.version?"&version="+srcSetObj.version:""),srcSetObj);}else{iteration=iteration||0;if((iteration+1)>srcSetObj.srcToLoad.length){loadNext();}
var url=srcSetObj.srcToLoad[iteration];this.sourceFilesLoaded[url]=true;createScriptEl(url+(srcSetObj.version?"?version="+srcSetObj.version:""),srcSetObj,iteration+1);}}}
JSLoad.prototype.isQueued=function(url){for(var i=0;i<this.sourceFileSetQueue.length;i++){var set=this.sourceFileSetQueue[i];for(var j=0;j<set.srcToLoad.length;j++){if(url==set.srcToLoad[j]){return true;}}}
return false;}
if(!this.JSON){JSON=function(){function f(n){return n<10?'0'+n:n;}
Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,breaker,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
return'\\u'+('0000'+
(+(a.charCodeAt(0))).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'['+breaker+gap+
partial.join(','+breaker+gap)+breaker+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value,rep);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value,rep);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{'+breaker+gap+
partial.join(','+breaker+gap)+breaker+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
return{stringify:function(value,replacer,space,linebreak){var i;gap='';indent='';if(space){if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
breaker=typeof linebreak!=='string'?'\n':linebreak;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});},parse:function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+
(+(a.charCodeAt(0))).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');}};}();}
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!==''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};var hexcase=0;var b64pad="";var chrsz=8;function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length*chrsz));}
function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length*chrsz));}
function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length*chrsz));}
function hex_hmac_sha1(key,data){return binb2hex(core_hmac_sha1(key,data));}
function b64_hmac_sha1(key,data){return binb2b64(core_hmac_sha1(key,data));}
function str_hmac_sha1(key,data){return binb2str(core_hmac_sha1(key,data));}
function sha1_vm_test()
{return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d";}
function core_sha1(x,len)
{x[len>>5]|=0x80<<(24-len%32);x[((len+64>>9)<<4)+15]=len;var w=Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++)
{if(j<16){w[j]=x[i+j];}
else{w[j]=rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);}
var t=safe_add(safe_add(rol(a,5),sha1_ft(j,b,c,d)),safe_add(safe_add(e,w[j]),sha1_kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t;}
a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);e=safe_add(e,olde);}
return Array(a,b,c,d,e);}
function sha1_ft(t,b,c,d)
{if(t<20){return(b&c)|((~b)&d);}
if(t<40){return b^c^d;}
if(t<60){return(b&c)|(b&d)|(c&d);}
return b^c^d;}
function sha1_kt(t)
{return(t<20)?1518500249:(t<40)?1859775393:(t<60)?-1894007588:-899497514;}
function core_hmac_sha1(key,data)
{var bkey=str2binb(key);if(bkey.length>16){bkey=core_sha1(bkey,key.length*chrsz);}
var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++)
{ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}
var hash=core_sha1(ipad.concat(str2binb(data)),512+data.length*chrsz);return core_sha1(opad.concat(hash),512+160);}
function safe_add(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
function rol(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));}
function str2binb(str)
{var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz){bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(32-chrsz-i%32);}
return bin;}
function binb2str(bin)
{var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz){str+=String.fromCharCode((bin[i>>5]>>>(32-chrsz-i%32))&mask);}
return str;}
function binb2hex(binarray)
{var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)
{str+=hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8+4))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8))&0xF);}
return str;}
function binb2b64(binarray)
{var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3)
{var triplet=(((binarray[i>>2]>>8*(3-i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*(3-(i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*(3-(i+2)%4))&0xFF);for(var j=0;j<4;j++){if(i*8+j*6>binarray.length*32){str+=b64pad;}
else{str+=tab.charAt((triplet>>6*(3-j))&0x3F);}}}
return str;}
var OAuth;if(OAuth==null)OAuth={};OAuth.setProperties=function setProperties(into,from){if(into!=null&&from!=null){for(var key in from){into[key]=from[key];}}
return into;}
OAuth.setProperties(OAuth,{percentEncode:function percentEncode(s){if(s==null){return"";}
if(s instanceof Array){var e="";for(var i=0;i<s.length;++s){if(e!=""){e+='&';}
e+=percentEncode(s[i]);}
return e;}
s=encodeURIComponent(s);s=s.replace(/\!/gi,"%21");s=s.replace(/\*/gi,"%2A");s=s.replace(/\'/gi,"%27");s=s.replace(/\(/gi,"%28");s=s.replace(/\)/gi,"%29");return s;},decodePercent:decodeURIComponent,getParameterList:function getParameterList(parameters){if(parameters==null){return null;}
if(typeof parameters!="object"){return decodeForm(parameters+"");}
if(parameters instanceof Array){return parameters;}
var list=[];for(var p in parameters){list.push([p,parameters[p]]);}
return list;},getParameterMap:function getParameterMap(parameters){if(parameters==null){return null;}
if(typeof parameters!="object"){return getParameterMap(decodeForm(parameters+""));}
if(parameters instanceof Array){var map={};for(var p=0;p<parameters.length;++p){var key=parameters[p][0];if(map[key]===undefined){map[key]=parameters[p][1];}}
return map;}
return parameters;},formEncode:function formEncode(parameters){var form="";var list=OAuth.getParameterList(parameters);if(list!=null){for(var p=0;p<list.length;++p){var value=list[p][1];if(value==null){value="";}
if(form!=""){form+='&';}
form+=OAuth.percentEncode(list[p][0])+'='+OAuth.percentEncode(value);}}
return form;},decodeForm:function decodeForm(form){var list=[];var nvps=form.split('&');for(var n=0;n<nvps.length;++n){var nvp=nvps[n];var equals=nvp.indexOf('=');var name;var value;if(equals<0){name=OAuth.decodePercent(nvp);value=null;}else{name=OAuth.decodePercent(nvp.substring(0,equals));value=OAuth.decodePercent(nvp.substring(equals+1));}
list.push([name,value]);}
return list;},setParameter:function setParameter(message,name,value){var parameters=message.parameters;if(parameters instanceof Array){for(var p=0;p<parameters.length;++p){if(parameters[p][0]==name){if(value===undefined){parameters.splice(p,1);}else{parameters[p][1]=value;value=undefined;}}}
if(value!==undefined){parameters.push([name,value]);}}else{parameters=OAuth.getParameterMap(parameters);parameters[name]=value;message.parameters=parameters;}},setParameters:function setParameters(message,parameters){var list=OAuth.getParameterList(parameters);for(var i=0;i<list.length;++i){OAuth.setParameter(message,list[i][0],list[i][1]);}},setTimestampAndNonce:function setTimestampAndNonce(message){OAuth.setParameter(message,"oauth_timestamp",OAuth.timestamp());OAuth.setParameter(message,"oauth_nonce",OAuth.nonce(6));},addToURL:function addToURL(url,parameters){newURL=url;if(parameters!=null){var toAdd=OAuth.formEncode(parameters);if(toAdd.length>0){var q=url.indexOf('?');if(q<0){newURL+='?';}
else{newURL+='&';}
newURL+=toAdd;}}
return newURL;},timestamp:function timestamp(){var d=new Date();return Math.floor(d.getTime()/1000);},nonce:function nonce(length){var chars=OAuth.nonce.CHARS;var result="";for(var i=0;i<length;++i){var rnum=Math.floor(Math.random()*chars.length);result+=chars.substring(rnum,rnum+1);}
return result;}});OAuth.nonce.CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";OAuth.declareClass=function declareClass(parent,name,newConstructor){var previous=parent[name];parent[name]=newConstructor;if(newConstructor!=null&&previous!=null){for(var key in previous){if(key!="prototype"){newConstructor[key]=previous[key];}}}
return newConstructor;}
OAuth.declareClass(OAuth,"SignatureMethod",function OAuthSignatureMethod(){});OAuth.setProperties(OAuth.SignatureMethod.prototype,{sign:function sign(message){var baseString=OAuth.SignatureMethod.getBaseString(message);var signature=this.getSignature(baseString);OAuth.setParameter(message,"oauth_signature",signature);return signature;},initialize:function initialize(name,accessor){var consumerSecret;if(accessor.accessorSecret!=null&&name.length>9&&name.substring(name.length-9)=="-Accessor"){consumerSecret=accessor.accessorSecret;}else{consumerSecret=accessor.consumerSecret;}
this.key=OAuth.percentEncode(consumerSecret)+"&"+OAuth.percentEncode(accessor.tokenSecret);}});OAuth.setProperties(OAuth.SignatureMethod,{sign:function sign(message,accessor){var name=OAuth.getParameterMap(message.parameters).oauth_signature_method;if(name==null||name==""){name="HMAC-SHA1";OAuth.setParameter(message,"oauth_signature_method",name);}
OAuth.SignatureMethod.newMethod(name,accessor).sign(message);},newMethod:function newMethod(name,accessor){var impl=OAuth.SignatureMethod.REGISTERED[name];if(impl!=null){var method=new impl();method.initialize(name,accessor);return method;}
var err=new Error("signature_method_rejected");var acceptable="";for(var r in OAuth.SignatureMethod.REGISTERED){if(acceptable!=""){acceptable+='&';}
acceptable+=OAuth.percentEncode(r);}
err.oauth_acceptable_signature_methods=acceptable;throw err;},REGISTERED:{},registerMethodClass:function registerMethodClass(names,classConstructor){for(var n=0;n<names.length;++n){OAuth.SignatureMethod.REGISTERED[names[n]]=classConstructor;}},makeSubclass:function makeSubclass(getSignatureFunction){var superClass=OAuth.SignatureMethod;var subClass=function(){superClass.call(this);};subClass.prototype=new superClass();subClass.prototype.getSignature=getSignatureFunction;subClass.prototype.constructor=subClass;return subClass;},getBaseString:function getBaseString(message){var URL=message.action;var q=URL.indexOf('?');var parameters;if(q<0){parameters=message.parameters;}else{parameters=OAuth.decodeForm(URL.substring(q+1));var toAdd=OAuth.getParameterList(message.parameters);for(var a=0;a<toAdd.length;++a){parameters.push(toAdd[a]);}
URL=URL.substring(0,q);}
return OAuth.percentEncode(message.method.toUpperCase())+'&'+OAuth.percentEncode(URL)+'&'+OAuth.percentEncode(OAuth.SignatureMethod.normalizeParameters(parameters));},getSignedUrl:function getSignedUrl(message,signature){var URL=message.action;var q=URL.indexOf('?');var parameters;if(q<0){parameters=message.parameters;}else{parameters=OAuth.decodeForm(URL.substring(q+1));var toAdd=OAuth.getParameterList(message.parameters);for(var a=0;a<toAdd.length;++a){parameters.push(toAdd[a]);}
URL=URL.substring(0,q);}
return URL+'?'+OAuth.SignatureMethod.normalizeParameters(parameters)+'&oauth_signature='+signature;},normalizeParameters:function normalizeParameters(parameters){if(parameters==null){return"";}
var norm=[];var list=OAuth.getParameterList(parameters);for(var p=0;p<list.length;++p){var nvp=list[p];if(nvp[0]!="oauth_signature"){norm.push(nvp);}}
norm.sort(function(a,b){if(a[0]<b[0])return-1;if(a[0]>b[0])return 1;if(a[1]<b[1])return-1;if(a[1]>b[1])return 1;return 0;});return OAuth.formEncode(norm);}});OAuth.SignatureMethod.registerMethodClass(["PLAINTEXT","PLAINTEXT-Accessor"],OAuth.SignatureMethod.makeSubclass(function getSignature(baseString){return this.key;}));OAuth.SignatureMethod.registerMethodClass(["HMAC-SHA1","HMAC-SHA1-Accessor"],OAuth.SignatureMethod.makeSubclass(function getSignature(baseString){b64pad='=';var signature=b64_hmac_sha1(this.key,baseString);return signature;}));
