if(!Array.prototype.push){Array.prototype.push=function(){var l=this.length;for(var i=0;i<arguments.length;++i){this[l+i]=arguments[i];}return this.length;};}if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length===0){return null;}var t=this[this.length-1];--this.length;return t;};}
if(!Function.prototype.apply){ Function.prototype.apply=function(o,p){if(!o){o=window;}if(!p){p=[];}var a=[];for(var i=0;i<p.length;++i){a[i]='p['+i+']';}o.__apply__=this;var r=eval('o.__apply__('+a.join(',')+')');o.__apply__=null;return r;};}if(!Function.prototype.call){ Function.prototype.call=function(s){var a=[];for(var i=1;i<arguments.length;++i){a[i-1]=arguments[i];}return this.apply(s,a);};}Function.prototype.bind=function(o){var m=this;var a=arguments;return function(){var p=[];for(var i=0;i<arguments.length;++i){p.push(arguments[i]);}for(var j=1;j<a.length;++j){p.push(a[j]);}m.apply(o,p);};};Function.prototype.bindAsEventListener=function(o){var m=this;return function(e){m.call(o,e||window.event);};};Function.EMPTY=function(){};
if(typeof(EventListener)=="undefined"){ function EventListener(){}}EventListener.patch=function(o){if(!o||o.addEventListener){ return;}var e=EventListener._;if(o.prototype){if(o.prototype.addEventListener){ return;}o.prototype.__refObj=o;o.prototype.addEventListener=e.A;o.prototype.removeEventListener=e.R;o.prototype.dispatchEvent=e.D;}else{if(o.addEventListener){ return;}o.__refObj=o;o.addEventListener=e.A;o.removeEventListener=e.R;o.dispatchEvent=e.D;}};EventListener._={ D:function(e,ev){if(!this._events){ return;}var es=this._events[e];if(!es){return true;}for(var i=0,l=es.length;i<l;++i){  var f=es[i];if(typeof(f)=="function"&&f.call(this,ev)===false){return false;}}return true;}, A:function(e,f,p){if(!f){return;}if(!this._events){this._events=[];}if(!this._events[e]){this._events[e]=[];var fo=this.__refObj["on"+e];if(fo){this._events[e].push(fo);}this.__refObj["on"+e]=new Function("ev","if(!ev){ev = event;}return this.dispatchEvent(\x27"+e+"\x27,ev);");}this._events[e].push(f);}, R:function(e,f,p){if(!f||!this._events[e]){return;}var fs=this._events[e];for(var i=0;i<fs.length;++i){if(fs[i]===f){fs[i]=null;}}}};EventListener.patch(window);EventListener.patch(document);
var ArrayUtil={ addAll:function( a, s){if(!a){return;}for(var i=0,l=s.length;i<l;++i){a.push(s[i]);}}, forEach:function( a, f, c){if(!a){return;}c=c||window;for(var i=0,l=a.length;i<l;++i){f.call(c,a[i],i,a);}}, indexOf:function( a, v, i){if(!a){return;}for(i=i||0;i<a.length;++i){if(a[i]===v){return i;}}return-1;}};
var XPathUtil={  RE1:/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/,RE2:/\s+/,getElementsBySelector:function( s, d){if(!d){d=document;} var v0=s.split(',');var founds=[];for(var i0=0;i0<v0.length;++i0){var tokens=v0[i0].split(' ');var currentContext=[d];for(var i=0;i<tokens.length;++i){var bits,tagName,found,elements;token=tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');if(token.indexOf('#')>-1){ bits=token.split('#');tagName=bits[0];var id=bits[1];var element=document.getElementById(id);if(!element||tagName&&element.nodeName.toLowerCase()!=tagName){ currentContext=[];break;} currentContext=[element];continue;}if(token.indexOf('.')>-1){ bits=token.split('.');tagName=bits[0];var className=bits[1];if(!tagName){tagName='*';} found=[];for(var h=0;h<currentContext.length;h++){if(tagName=='*'){elements=XPathUtil.getAllChildren(currentContext[h]);}else{elements=currentContext[h].getElementsByTagName(tagName);}ArrayUtil.addAll(found,elements);}currentContext=[];for(var k=0;k<found.length;k++){if(found[k].className&&found[k].className.match(new RegExp('\x5Cb'+className+'\x5Cb'))){currentContext.push(found[k]);}}continue;} if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){tagName=RegExp.$1;var attrName=RegExp.$2;var attrOperator=RegExp.$3;var attrValue=RegExp.$4;if(!tagName){tagName='*';} found=[];for(var h0=0;h0<currentContext.length;++h0){if(tagName=='*'){elements=XPathUtil.getAllChildren(currentContext[h0]);}else{elements=currentContext[h0].getElementsByTagName(tagName);}ArrayUtil.addAll(found,elements);}currentContext=[];var checkFunction; switch(attrOperator){case '=': checkFunction=function(e){return(e.getAttribute(attrName)==attrValue);};break;case '~': checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('\x5Cb'+attrValue+'\x5Cb')));};break;case '|': checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?')));};break;case '^': checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)===0);};break;case '$': checkFunction=function(e){return(e.getAttribute(attrName).lastIndexOf(attrValue)==e.getAttribute(attrName).length-attrValue.length);};break;case '*': checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)>-1);};break;default: checkFunction=function(e){return e.getAttribute(attrName);};}currentContext=[];for(var k1=0;k1<found.length;++k1){if(checkFunction(found[k1])){currentContext.push(found[k1]);}} continue;}if(!currentContext[0]){currentContext=[];break;} tagName=token;found=[];for(var h2=0;h2<currentContext.length;++h2){elements=currentContext[h2].getElementsByTagName(tagName);ArrayUtil.addAll(found,elements);}currentContext=found;}ArrayUtil.addAll(founds,currentContext);}return founds;},getParentByNodeName:function(o,t){t=t.toLowerCase();var r=o;while(r&&r.nodeName&&r.nodeName.toLowerCase()!=t){r=r.parentNode;}return r;},getNextSiblingByNodeName:function(o,t){t=t.toLowerCase();var r=o;while(r&&r.nodeName&&r.nodeName.toLowerCase()!=t){r=r.nextSibling;}return r;},getFirstChildByNodeName:function(o,t){t=t.toLowerCase();var c=o.childNodes;for(var i=0,l=c.length;i<l;++i){if(c[i]&&c[i].nodeName&&c[i].nodeName.toLowerCase()==t){return c[i];}}return null;},getChildrenByNodeName:function(o,t){if(!o){return[];} var elementParts=t.split("@");t=elementParts[0].toLowerCase();var attributs=[];for(var k=1;k<elementParts.length;++k){var a=elementParts[k].split("=");attributs.push([a[0].toLowerCase(),a[1]]);}var result=[];var childNodes=o.childNodes;for(var i=0;i<childNodes.length;++i){if(childNodes[i]&&childNodes[i].nodeName&&childNodes[i].nodeName.toLowerCase()==t){ var ok=true;for(var j=0;j<attributs.length;++j){var attributeValue=null;if(childNodes[i].getAttributeNode){if(childNodes[i].getAttributeNode(attributs[j][0])){attributeValue=childNodes[i].getAttributeNode(attributs[j][0]).value;}}else if(childNodes[i].getAttribute){attributeValue=childNodes[i].getAttribute(attributs[j][0]);}ok=false;if(attributeValue!==null&&typeof(attributeValue)!="undefined"&&attributeValue==attributs[j][1]){ok=true;}else{ok=false;break;}}if(ok){result[result.length]=childNodes[i];}}}return result;},getChildren:function(o){var childNodes=o.childNodes;var result=[];for(var i=0;i<childNodes.length;++i){if(childNodes[i].nodeType==1){result.push(childNodes[i]);}}return result;},getElementsByXPath:function(xPath,root){var result=[];if(typeof(root)=="undefined"){root=document.getElementsByNodeName("body")[0];}var indexSlash=xPath.indexOf("/");if(indexSlash===0){xPath=xPath.substring(1,xPath.length);indexSlash=xPath.indexOf("/");}var element="";var otherElements="";if(indexSlash!=-1){element=xPath.substring(0,indexSlash);otherElements=xPath.substring(indexSlash+1,xPath.length);}else{element=xPath.substring(0,xPath.length);} elements=XPathUtil.getChildrenByNodeName(root,element);if(otherElements!==""){for(var i=0;i<elements.length;++i){result.addAll(XPathUtil.getElementsByXPath(otherElements,elements[i]));}}else{for(var j=0;j<elements.length;++j){result.push(elements[j]);}}return result;},getIndex:function(o){var c=XPathUtil.getChildren(o.parentNode);for(var i=0,l=c.length;i<l;++i){if(c[i]==o){return i;}}return-1;},getAllChildren:function(e){ return e.all?e.all:e.getElementsByTagName('*');}};
function I18N(b){this.setBundleRessource(b);}I18N.prototype={ get:function(k){var m=this.br[k];if(typeof(m)=="undefined"||m===null){ return "";}if(typeof(m)!="string"){return m;}for(var i=1,l=arguments.length;i<l;++i){m=m.replace(new RegExp("\x5C{"+(i-1)+"\x5C}","g"),arguments[i]);} m=m.replace(I18N.R[0],"");return m;},     setBundleRessource:function( b, e){if(!b){b=[];}if(e&&this.brDef){ for(var l in this.brDef){if(typeof(l)!="string"||typeof(this.brDef[l])!="object"||!b[l]){continue;}for(var r in this.brDef[l]){if(typeof(r)!="string"||typeof(this.brDef[l][r])!="string"||typeof(b[l][r])!="undefined"){continue;}b[l][r]=this.brDef[l][r];}}} this.brDef=b; this.br=b[I18N.getLang()];if(!this.br){  this.br=b[I18N.defLang];}if(!this.br){  for(var i in b){this.br=b[i];break;}}if(!this.br){  this.br=[];}}}; I18N.defLang="fr_FR"; I18N.lang=null;I18N.getLang=function(){var s=I18N,l=I18N.lang;if(!l){ l=document.getElementsByTagName("html")[0].lang;if(!l){ l=navigator.language;} if(!l){l=navigator.browserLanguage;}I18N.lang=l=l.replace(I18N.R[1],"_").split("_")[0];}return l;}; I18N.R=[(/{\d+}/g),(/\W/g)]; I18N.setup=function( o, f, e){if(!o){return;}if(!o.i18nDef){o.i18nDef={};}if(o.i18n&&!f){ return;}if(!o.i18n||e){o.i18n=new I18N(o.i18nDef);}else{o.i18n.setBundleRessource(o.i18nDef,e);}if(o.i18nSetup){o.i18nSetup(f);}};
var HtmlUtil={ getAbsolutePos:function( o){var r={x:0,y:0};while(o){r.x+=o.offsetLeft;r.y+=o.offsetTop;o=o.offsetParent;}return r;}};
if(typeof(HTMLElement)=="undefined"){ HTMLElement=function(){}; HTMLElement.patch=function(o){if(!o){return;}if(o._HTMLElement_patch){ return o;}o._HTMLElement_patch=true;for(var i in HTMLElement.prototype){o[i]=HTMLElement.prototype[i];}return o;};}else{HTMLElement.patch=function(o){return o;};} HTMLElement.prototype.getAbsolutePos=function(){HtmlUtil.getAbsolutePos(this);}; HTMLElement.prototype.getAbsoluteLeftPos=function(){return HtmlUtil.getAbsolutePos(this).x;}; HTMLElement.prototype.getAbsoluteTopPos=function(){return HtmlUtil.getAbsolutePos(this).y;};
var CUi={ _:function(className,obj){return(function( o, opt){if(!o||o["_x"+className]){return;}var c=window[className];this.constructor=c; I18N.setup(c);  EventListener.patch(o); EventListener.patch(this);HTMLElement.patch(o);this.el=o;this.el.className+=" CUi_"+className;this.el["_"+className]=this;this.opt=opt?opt:{};if(this._){ this._();}});},create:function(n,d){var o=CUi._(n);for(var p in d){o[p]=d[p];}o=window[n]=o;o.className=n; o.i18nDef={}; if(o.init){o.init();}return o;}};
var ObjectUtil={ forEach:function( o, f, c){if(!o){return;}c=c||o;for(var p in o){f.call(c,o[p],p,o);}},extend:function(s,d){for(var p in s){d[p]=s[p];}return s;}};
var UiBuilder=CUi.create("UiBuilder",{prototype:{ _:function(){this.list={_d:[]};this.timer={};}, register:function( o){if(!o){return;}if(o.push){for(var i=0;i<o.length;++i){this.register(o[i]);}return;}else if(!o.selectors){return;}if(o.isValid&&o.isValid()===false){return;}var v=o.selectors,s=o.starter,l=this.list,d=o.delay,e=this;if(!d){d=20;}if(!s){s="_d";}else if(!l[s]){l[s]=[];}ObjectUtil.forEach(v,function(def,sel){l[s][sel]=def;},this);if(s!="_d"){this.timer[s]=setInterval(function(){e.runStarter(s);},d);}}, runStarter:function( s, f){if(this.timer[s]!==null&&(document.getElementById(s)||f)){clearInterval(this.timer[s]);this.timer[s]=null;this.build(s);}}, runStarters:function(f){ObjectUtil.forEach(this.timer,function(o,l){this.runStarter(l,f);},this);}, build:function( s){var o=this.list[s||'_d'];for(var e in o){var l=XPathUtil.getElementsBySelector(e,this.el);if(!l){continue;}for(var i=0;i<l.length;++i){if(!l[i]){continue;}if(o[e](l[i],l)===false){break;}}}},getPagePath:function(){var e=this.el;if(!e._pagePath){ var M=e.getElementsByTagName("meta");for(var i=0,m;(m=M[i]);++i){if(m.httpEquiv=="Page-Path"||m.name=="Page-Path"){e._pagePath=m.content;break;}}}return e._pagePath;}}});if(typeof uiBuilder=="undefined"){ var uiBuilder=new UiBuilder(document);window.addEventListener("load",function(){uiBuilder.runStarters(true);uiBuilder.build();},false);}

