/* LAB.js (LABjs :: Loading And Blocking JavaScript)
    v2.0.3 (c) Kyle Simpson
    MIT License
*/
(function(W){var f=W.$LAB,j="UseLocalXHR",g="AlwaysPreserveOrder",p="AllowDuplicates",V="CacheBust",T="BasePath",R=/^[^?#]*\//.exec(location.href)[0],Q=/^\w+\:\/\/\/?[^\/]+/.exec(R)[0],X=document.head||document.getElementsByTagName("head"),e=(W.opera&&Object.prototype.toString.call(W.opera)=="[object Opera]")||("MozAppearance" in document.documentElement.style),U=document.createElement("script"),w=typeof U.preload=="boolean",S=w||(U.readyState&&U.readyState=="uninitialized"),n=!S&&U.async===true,d=!S&&!n&&!e;
function m(i){return Object.prototype.toString.call(i)=="[object Function]"
}function l(i){return Object.prototype.toString.call(i)=="[object Array]"
}function c(o,q){var i=/^\w+\:\/\//;
if(/^\/\/\/?/.test(o)){o=location.protocol+o
}else{if(!i.test(o)&&o.charAt(0)!="/"){o=(q||"")+o
}}return i.test(o)?o:((o.charAt(0)=="/"?Q:R)+o)
}function x(o,q){for(var i in o){if(o.hasOwnProperty(i)){q[i]=o[i]
}}return q
}function b(o){var q=false;
for(var i=0;
i<o.scripts.length;
i++){if(o.scripts[i].ready&&o.scripts[i].exec_trigger){q=true;
o.scripts[i].exec_trigger();
o.scripts[i].exec_trigger=null
}}return q
}function v(o,r,i,q){o.onload=o.onreadystatechange=function(){if((o.readyState&&o.readyState!="complete"&&o.readyState!="loaded")||r[i]){return
}o.onload=o.onreadystatechange=null;
q()
}
}function k(i){i.ready=i.finished=true;
for(var o=0;
o<i.finished_listeners.length;
o++){i.finished_listeners[o]()
}i.ready_listeners=[];
i.finished_listeners=[]
}function a(s,q,r,o,i){setTimeout(function(){var u,y=q.real_src,t;
if("item" in X){if(!X[0]){setTimeout(arguments.callee,25);
return
}X=X[0]
}u=document.createElement("script");
if(q.type){u.type=q.type
}if(q.charset){u.charset=q.charset
}if(i){if(S){r.elem=u;
if(w){u.preload=true;
u.onpreload=o
}else{u.onreadystatechange=function(){if(u.readyState=="loaded"){o()
}}
}u.src=y
}else{if(i&&y.indexOf(Q)==0&&s[j]){t=new XMLHttpRequest();
t.onreadystatechange=function(){if(t.readyState==4){t.onreadystatechange=function(){};
r.text=t.responseText+"\n//@ sourceURL="+y;
o()
}};
t.open("GET",y);
t.send()
}else{u.type="text/cache-script";
v(u,r,"ready",function(){X.removeChild(u);
o()
});
u.src=y;
X.insertBefore(u,X.firstChild)
}}}else{if(n){u.async=false;
v(u,r,"finished",o);
u.src=y;
X.insertBefore(u,X.firstChild)
}else{v(u,r,"finished",o);
u.src=y;
X.insertBefore(u,X.firstChild)
}}},0)
}function h(){var o={},t=S||d,y=[],u={},i;
o[j]=true;
o[g]=false;
o[p]=false;
o[V]=false;
o[T]="";
function s(A,D,z){var C;
function B(){if(C!=null){C=null;
k(z)
}}if(u[D.src].finished){return
}if(!A[p]){u[D.src].finished=true
}C=z.elem||document.createElement("script");
if(D.type){C.type=D.type
}if(D.charset){C.charset=D.charset
}v(C,z,"finished",B);
if(z.elem){z.elem=null
}else{if(z.text){C.onload=C.onreadystatechange=null;
C.text=z.text
}else{C.src=D.real_src
}}X.insertBefore(C,X.firstChild);
if(z.text){B()
}}function r(G,z,F,D){var E,C,B=function(){z.ready_cb(z,function(){s(G,z,E)
})
},A=function(){z.finished_cb(z,F)
};
z.src=c(z.src,G[T]);
z.real_src=z.src+(G[V]?((/\?.*$/.test(z.src)?"&_":"?_")+~~(Math.random()*1000000000)+"="):"");
if(!u[z.src]){u[z.src]={items:[],finished:false}
}C=u[z.src].items;
if(G[p]||C.length==0){E=C[C.length]={ready:false,finished:false,ready_listeners:[B],finished_listeners:[A]};
a(G,z,E,((D)?function(){E.ready=true;
for(var H=0;
H<E.ready_listeners.length;
H++){E.ready_listeners[H]()
}E.ready_listeners=[]
}:function(){k(E)
}),D)
}else{E=C[0];
if(E.finished){A()
}else{E.finished_listeners.push(A)
}}}function q(){var G,F=x(o,{}),E=[],D=0,I=false,C;
function B(J,K){J.ready=true;
J.exec_trigger=K;
H()
}function A(K,L){K.ready=K.finished=true;
K.exec_trigger=null;
for(var J=0;
J<L.scripts.length;
J++){if(!L.scripts[J].finished){return
}}L.finished=true;
H()
}function H(){while(D<E.length){if(m(E[D])){try{E[D++]()
}catch(J){}continue
}else{if(!E[D].finished){if(b(E[D])){continue
}break
}}D++
}if(D==E.length){I=false;
C=false
}}function z(){if(!C||!C.scripts){E.push(C={scripts:[],finished:true})
}}G={script:function(){for(var J=0;
J<arguments.length;
J++){(function(L,N){var K;
if(!l(L)){N=[L]
}for(var M=0;
M<N.length;
M++){z();
L=N[M];
if(m(L)){L=L()
}if(!L){continue
}if(l(L)){K=[].slice.call(L);
K.unshift(M,1);
[].splice.apply(N,K);
M--;
continue
}if(typeof L=="string"){L={src:L}
}L=x(L,{ready:false,ready_cb:B,finished:false,finished_cb:A});
C.finished=false;
C.scripts.push(L);
r(F,L,C,(t&&I));
I=true;
if(F[g]){G.wait()
}}})(arguments[J],arguments[J])
}return G
},wait:function(){if(arguments.length>0){for(var J=0;
J<arguments.length;
J++){E.push(arguments[J])
}C=E[E.length-1]
}else{C=false
}H();
return G
}};
return{script:G.script,wait:G.wait,setOptions:function(J){x(J,F);
return G
}}
}i={setGlobalDefaults:function(z){x(z,o);
return i
},setOptions:function(){return q().setOptions.apply(null,arguments)
},script:function(){return q().script.apply(null,arguments)
},wait:function(){return q().wait.apply(null,arguments)
},queueScript:function(){y[y.length]={type:"script",args:[].slice.call(arguments)};
return i
},queueWait:function(){y[y.length]={type:"wait",args:[].slice.call(arguments)};
return i
},runQueue:function(){var A=i,C=y.length,z=C,B;
for(;
--z>=0;
){B=y.shift();
A=A[B.type].apply(null,B.args)
}return A
},noConflict:function(){W.$LAB=f;
return i
},sandbox:function(){return h()
}};
return i
}W.$LAB=h();
(function(o,q,i){if(document.readyState==null&&document[o]){document.readyState="loading";
document[o](q,i=function(){document.removeEventListener(q,i,false);
document.readyState="complete"
},false)
}})("addEventListener","DOMContentLoaded")
})(this);
