
tb.loader={path:'service/',loadlist:'',list:'',fileload:function(pModule,pElement,pIsAsync){var myIdentifier=pModule+'/'+pElement+';';if(tb.cache.findindex(myIdentifier)!=-1){return;}
var myIsAsync=(pIsAsync!==null?pIsAsync:true);var myUrl=this.path+'service.php?url=twobirds/modules/'+pModule+'/'+pElement;tb.cache.set(myIdentifier,(myIsAsync===true?'async':'sync'));if(myIsAsync===true){return tb.request.add(tb.loader.fileload_cb,'GET',myUrl,null,true);}
else{tb.request.add(tb.loader.fileload_cb,'GET',myUrl,null,false);}},fileload_cb:function(pXml,pText){var myIdentifierStart=pText.indexOf('/*')+2;var myIdentifierEnd=pText.indexOf('*/');var myIdentifier=pText.slice(myIdentifierStart,myIdentifierEnd);var myData=pText.slice(pText.indexOf('*/')+2);tb.cache.set(myIdentifier,myData);tb.element.requireok(myIdentifier);},jsload:function(pModule,pElement,pIsAsync){var myIdentifier=pModule+'.'+pElement+'.js;';var myUrl=this.path+'service.php?url=twobirds/modules/'+pModule+'/js/'+pElement+'.js';var myScript=document.createElement('script');myScript.setAttribute('language','javascript');myScript.setAttribute('type','text/javascript');myScript.setAttribute('src',myUrl);document.getElementsByTagName('head')[0].appendChild(myScript);},cssload:function(pModule,pElement,pIsAsync){var myIdentifier=pModule+'.'+pElement+'.css;';var myUrl=this.path+'service.php?url=twobirds/modules/'+pModule+'/css/'+pElement+'.css';var myScript=document.createElement('link');myScript.setAttribute('rel','stylesheet');myScript.setAttribute('type','text/css');myScript.setAttribute('href',myUrl);document.getElementsByTagName('head')[0].appendChild(myScript);},tplload:function(pModule,pElement,pIsAsync){var myIdentifier=pModule+'.'+pElement+'.html.tpl;';if(tb.cache.findindex(myIdentifier)!=-1){return;}
var myUrl=this.path+'service.php';var myParms='url=twobirds/modules/'+pModule+'/tpl/'+pElement+'.html.tpl';var myIsAsync=(pIsAsync!==null?pIsAsync:true);tb.request.add(tb.loader.tplload_cb,'GET',myUrl,myParms,myIsAsync);},tplload_cb:function(pXml,pText,pObj){var myIdentifierStart=pText.indexOf('<!--')+4;var myIdentifierEnd=pText.indexOf('-->');var myIdentifier=pText.slice(myIdentifierStart,myIdentifierEnd);var myData=pText.slice(pText.indexOf('>')+1);tb.cache.set(myIdentifier,myData);tb.element.requireok(myIdentifier);},tplget:function(pModule,pElement){var myIdentifier=pModule+'.'+pElement+'.html.tpl;';return tb.cache.get(myIdentifier);}};tb.element={show:function(pDivId,pModule,pElement,pParms,pIsAsync){var myIsAsync=(pIsAsync!==null?pIsAsync:true);var myIdentifier=pModule+'.'+pElement+'.js;';if(this.isloading(myIdentifier)===false&&this.isloaded(myIdentifier)===false){tb.loader.jsload(pModule,pElement,myIsAsync);}
var myCondition='( typeof '+pModule+' != \'undefined\' && typeof '+pModule+'.'+pElement+' != \'undefined\' )';var myCallback='if ( typeof '+pModule+'.'+pElement+'.init == \'function\') '+pModule+'.'+pElement+'.init(\''+pDivId+'\');';var myFrequency=50;tb.misc.wait(myCondition,myCallback,myFrequency);},require:function(pRequire,pCallback,pIsAsync){var myRequire=(typeof pRequire!='array'?eval(pRequire):pRequire);var myCallback=(typeof pCallback!='string'?'':pCallback);var myIsAsync=(typeof pIsAsync!='boolean'?true:pIsAsync);var myDone=true;var myRequireString='';var myIdentifier='';var myCallbackGeneral='';if(pCallback&&pCallback.length>0){myCallbackGeneral=myCallback.substring(0,pCallback.indexOf('('))+'();';}
if(myCallback===''||(myCallbackGeneral.length>0&&this.eleok.indexOf(myCallbackGeneral)<0)){for(var i in myRequire){switch(myRequire[i][0]){case'js':myIdentifier=myRequire[i][1]+'.'+myRequire[i][2]+'.js;';if(!eval('('+myRequire[i][1]+'.'+myRequire[i][2]+')')){if(this.isloading(myIdentifier)===false){this.requireadd(myIdentifier);tb.loader.jsload(myRequire[i][1],myRequire[i][2],myIsAsync);myRequireString=myRequireString+(myRequireString.length>0?'|':'')+myIdentifier;if(myDone===true){myDone=this.isloaded(myIdentifier);}}}
else{this.requireok(myIdentifier);}
break;case'css':myIdentifier=myRequire[i][1]+'.'+myRequire[i][2]+'.css;';if(this.isloaded(myIdentifier)===true){break;}
this.requireadd(myIdentifier);tb.loader.cssload(myRequire[i][1],myRequire[i][2],myIsAsync);myRequireString=myRequireString+(myRequireString.length>0?'|':'')+myIdentifier;if(myDone===true){myDone=this.isloaded(myIdentifier);}
break;case'tpl':myIdentifier=myRequire[i][1]+'.'+myRequire[i][2]+'.html.tpl;';if(this.isloaded(myIdentifier)===true){break;}
if(this.isloading(myIdentifier)===false){this.requireadd(myIdentifier);tb.loader.tplload(myRequire[i][1],myRequire[i][2],myIsAsync);myRequireString=myRequireString+(myRequireString.length>0?'|':'')+myIdentifier;if(myDone===true){myDone=this.isloaded(myIdentifier);}}
break;case'file':myIdentifier=myRequire[i][1]+'.'+myRequire[i][2];if(this.isloaded(myIdentifier)===true){break;}
if(this.isloading(myIdentifier)===false){this.requireadd(myIdentifier);tb.loader.fileload(myRequire[i][1],myRequire[i][2],myIsAsync);myRequireString=myRequireString+(myRequireString.length>0?'|':'')+myIdentifier;if(myDone===true){myDone=this.isloaded(myIdentifier);}}
break;}}}
if(myDone===true){if(myCallback&&myCallback.length>0){if(this.eleok.indexOf(myCallbackGeneral)<0){this.eleok+=myCallbackGeneral;}
tb.timer.add(myCallback,20);}}
else{myCallback='tb.element.requiretest( \''+myRequireString+'\', \''+myCallback+'\' )';tb.timer.add(myCallback,100);}},req:'',reqok:'',eleok:'',requiretest:function(pRequireString,pCallback){var myRequire=pRequireString.split('|');var myCallbackGeneral='';if(pCallback&&pCallback.length>0){myCallbackGeneral=pCallback.substring(0,pCallback.indexOf('('))+'();';}
for(var i in myRequire){if(this.isloading(myRequire[i])===true){var myCallback='tb.element.requiretest( \''+pRequireString+'\', \''+pCallback+'\' )';tb.timer.add(myCallback,50);return;}}
if(pCallback!==''){if(this.eleok.indexOf(myCallbackGeneral)<0){this.eleok+=myCallbackGeneral;}
tb.timer.add(pCallback,20);}},iscss:function(pModule,pElement){var myIdentifier=pModule+'/css/'+pElement;var myLinkHref='';if(document.styleSheets.length>0){for(var i=0;i<document.styleSheets.length;i++){try{if(/MSIE/.test(navigator.userAgent)===true){myLinkHref=document.styleSheets(i).href;}
else{myLinkHref=document.styleSheets.item(i).href;}}
catch(e){alert(e.toString()+i);return false;}
if(myLinkHref&&myLinkHref.length&&myLinkHref.length>0&&myLinkHref.indexOf(myIdentifier)>-1){this.requireok(pModule+'.'+pElement+';');return true;}}}
return false;},requireadd:function(pIdentifier){this.req+=pIdentifier;},requireok:function(pIdentifier){this.reqok+=(this.reqok.indexOf(pIdentifier)<0?pIdentifier:'');this.req=this.req.replace(new RegExp(pIdentifier),'');},isloaded:function(pIdentifier){var myModule=pIdentifier.split('.')[0];var myElement=pIdentifier.split('.');myElement.shift();myElement=myElement.join('.');myElement=myElement.replace(/;/,'');var myType=pIdentifier.split('.');myType=myType.pop();var myRet=false;switch(myType){case'js;':try{eval('( '+myModule+'.'+myElement+' )');this.requireok(pIdentifier);myRet=true;}
catch(e){}
break;case'css;':if(this.iscss(myModule,myElement)===true){this.requireok(pIdentifier);myRet=true;}
break;default:if(this.reqok.indexOf(pIdentifier)>-1){myRet=true;}}
return myRet;},isloading:function(pIdentifier){var myModule=pIdentifier.split('.')[0];var myElement=pIdentifier.split('.');myElement.shift();myElement=myElement.join('.');myElement=myElement.replace(/;/,'');var myType=pIdentifier.split('.');myType=myType.pop();var myRet=false;switch(myType){case'js;':if(document.getElementsByTagName('head')[0].innerHTML.indexOf(myModule+'/js/'+myElement)>-1&&this.isloaded(pIdentifier)===false){myRet=true;}
break;case'css;':if(document.getElementsByTagName('head')[0].innerHTML.indexOf(myModule+'/css/'+myElement)>-1&&this.iscss(myModule,myElement)===false){myRet=true;}
break;default:if(this.req.indexOf(pIdentifier)>-1){myRet=true;}}
return myRet;}};