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