var vanilla={Version:"0.1",namespace:function(a){if(!a){return window}var d=vanilla.window;
var c=a.split(".");for(var b=0;b<c.length;b++){var e=c[b];d[e]=d[e]||{};
d=d[e]}return d},extend:function(c,a,b){if(!c||!a){return}for(property in a){if(!b||!c[property]){c[property]=a[property]
}}},debug:function(a){if(!document.body){document.write(a+"<br />")}else{var b=document.getElementById("vanilla-debug");
if(!b){b=document.createElement("DIV");b.style.font="menu";b.style.clear="both";
b.id="vanilla-debug";document.body.appendChild(b)}b.innerHTML+=(a+"<br>")
}},exists:function(a){if(!a){return false}var d=window;var c=a.split(".");
for(var b=0;b<c.length;b++){d=d[c[b]];if(!d){return false}}return true},require:function(a){if(!vanilla.exists(a)){vanilla.console.warn("The package is required : "+a);
throw ("The package is required : "+a)}},addOnloadListener:function(b,a){if(!this.onLoadCallbacks){this.onLoadCallbacks=new Array()
}this.onLoadCallbacks.push({callback:b,target:a||window})},onload:function(){if(!vanilla.onLoadCallbacks){return
}for(var a=0;a<vanilla.onLoadCallbacks.length;a++){var b=vanilla.onLoadCallbacks[a];
b.callback.call(b.target)}},emptyFunction:function(){}};vanilla.window=this;
vanilla.isBoggyIE=(document.all&&!window.opera&&(navigator.vendor!="KDE")?true:false);
if(vanilla.isBoggyIE){window.attachEvent("onload",vanilla.onload)}else{window.addEventListener("load",vanilla.onload,false)
}if(typeof console=="undefined"){vanilla.console={log:function(){},warn:function(){}}
}else{vanilla.console=console}window.document.getElementsByTagName("html")[0].className+=" javascript";vanilla.namespace("vanilla.text");vanilla.text={trim:function(a){if(typeof a!="string"&&!(a instanceof String)){return a
}var c=0;var b=a.length;while((c<b)&&(a.charAt(c)<=" ")){c++}while((c<b)&&(a.charAt(b-1)<=" ")){b--
}return(c>0||b<a.length?a.substring(c,b):a)},DefaultDateFormat:"mm/dd/yyyy",parseDate:function(k,h){if(!k){return null
}if(!h){h=this.DefaultDateFormat}if(k.length!=h.length){return null}var b=new String();
var d=new String();var j=new String();for(var c=0;c<h.length;c++){switch(h.charAt(c)){case"d":b+=k.charAt(c);
break;case"m":d+=k.charAt(c);break;case"y":j+=k.charAt(c);break;default:if(h.charAt(c)!=k.charAt(c)){return null
}}}var g=parseInt(b,10);var e=parseInt(d,10)-1;var f=parseInt(j,10);var a=new Date(f,e,g);
if(a.getDate()!=g||a.getMonth()!=e||(f.length==2?a.getYear():a.getFullYear())!=f){return null
}return a},replaceAll:function(c,b,a){return c.replace(new RegExp(b,"g"),a)
}};vanilla.namespace("vanilla.html");vanilla.html={SCRIPT_EXPRESSION:"(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)",extractScripts:function(e){var g=new RegExp(this.SCRIPT_EXPRESSION,"img");
var f=new RegExp(this.SCRIPT_EXPRESSION,"im");var c=e.match(g);var a=new Array();
for(var d=0;d<c.length;d++){var b=c[d].match(f);if(b){a.push(b[1])}}return a
},evalScripts:function(html){var scripts=this.extractScripts(html);for(var i=0;
i<scripts.length;i++){var script=scripts[i];eval(script)}}};vanilla.html.DOM={toElement:function(a){if(typeof a=="string"){return document.getElementById(a)
}return a},nextHomonym:function(a){if(!a.nodeName){return null}for(var b=a.nextSibling;
b;b=b.nextSibling){if(b.nodeName==a.nodeName){return b}}return null},previousHomonym:function(a){if(!a.nodeName){return null
}for(var b=a.previousSibling;b;b=b.previousSibling){if(b.nodeName==a.nodeName){return b
}}return null},insertAfter:function(a,c,b){if(b.nextSibling){a.insertBefore(c,b.nextSibling)
}else{a.appendChild(c)}},getFirstChildByTagName:function(b,a){b=EL(b);if(!b){return null
}a=a.toUpperCase();for(var c=b.firstChild;c;c=c.nextSibling){if(c.tagName==a){return c
}}return null},getAncestorByTagName:function(c,a){c=EL(c);if(!c){return null
}a=a.toUpperCase();for(var b=c.parentNode;b;b=b.parentNode){if(b.tagName==a){return b
}}return null},getAncestorForTagName:function(b,a){vanilla.console("getAncestorForTagName is deprecated, use getAncestorByTagName instead");
return vanilla.html.DOM.getAncestorByTagName(b,a)},getCommonAncestor:function(c,b){var a=Array();
for(var d=c.parentNode;d;d=d.parentNode){a.push(d)}if(!a.length){return c
}for(var d=b.parentNode;d;d=d.parentNode){if(a.indexOf(d)>=0){return d}}return null
},getClassNames:function(a){return EL(a).className.split(/\s+/)},updateClassName:function(a,b){EL(a).className=b.join(" ")
},hasClassName:function(c,d){var b=vanilla.html.DOM.getClassNames(c);for(var a=0;
a<b.length;a++){if(b[a]==d){return true}}return false},addClassName:function(e,f,b){if(vanilla.html.DOM.hasClassName(e,f)){return
}var d=vanilla.html.DOM.getClassNames(e);if(b){var a=d.length;for(var c=0;
c<a;c++){d.push(d[c]+"-"+f)}}d.push(f);vanilla.html.DOM.updateClassName(e,d)
},removeClassName:function(e,g,a){var d=vanilla.html.DOM.getClassNames(e);
var h=new Array();var f=new RegExp("-?("+g+"-|"+g+"$)");var c,b;for(c=0,b=0;
c<d.length;c++){if(!a){if(d[c]!=g){h[b++]=d[c]}}else{if(!f.test(d[c])){h[b++]=d[c]
}}}vanilla.html.DOM.updateClassName(e,h)}};window.EL=vanilla.html.DOM.toElement;
vanilla.html.style={get:function(b,c){b=EL(b);var e=this.camelize(c);var d=b.style[e];
if(!d){if(b.currentStyle){d=b.currentStyle[e]}else{if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);
if(a){d=a.getPropertyValue(c)}}}}if(window.opera&&(c=="top"||c=="right"||c=="bottom"||c=="left")){if(this.get(b,"position")=="static"){return null
}}return(d=="auto"?null:d)},camelize:function(b){if(!b){return b}var d=b.split("-");
var e=(b.charAt(0)=="-"?0:1);var c=(e>0?d[0]:"");for(var a=e;a<d.length;
a++){c+=d[a].charAt(0).toUpperCase()+d[a].substring(1)}return c}};vanilla.html.position={fromStyle:function(b){b=EL(b);
var a=parseInt(vanilla.html.style.get(b,"left")||"0",10);var c=parseInt(vanilla.html.style.get(b,"top")||"0",10);
return{x:a,y:c}},getRealOffset:function(a){a=EL(a);var b={x:0,y:0};for(;
a;a=a.parentNode){b.x+=a.scrollLeft||0;b.y+=a.scrollTop||0}return b},getCumulativeOffset:function(a){a=EL(a);
var c={x:0,y:0};for(var b=a;b;b=b.offsetParent){c.x+=b.offsetLeft||0;c.y+=b.offsetTop||0
}return c},getPositionnedOffset:function(a){a=EL(a);var c={x:0,y:0};for(var b=a;
b;b=b.offsetParent){p=vanilla.html.style.get(b,"position");if(p=="relative"||p=="absolute"){break
}c.x+=b.offsetLeft||0;c.y+=b.offsetTop||0}return c},nodeContains:function(a,c){a=EL(a);
var b=this.getCumulativeOffset(a);b.w=a.offsetWidth;b.h=a.offsetHeight;
return this.boxContains(b,c)},boxContains:function(a,b){return(b.x>=a.x&&b.y>=a.y&&b.x<(a.x+a.w)&&b.y<(a.y+a.h))
}};vanilla.html.Form={NOTHING:{},serialize:function(d){d=EL(d);var c=new Array();
for(var a=0;a<d.elements.length;a++){var e=d.elements.item(a);var b=this.serializeField(e);
if(b!=this.NOTHING){c.push(b)}}return c.join("&")},serializeField:function(a){return this.serializeCouple(a.name,this.getFieldValue(a))
},serializeCouple:function(a,b){if(b!=this.NOTHING&&a!=null&&a.length){return a+"="+this.encode(""+b)
}return this.NOTHING},encode:function(a){if(!a){return""}a=a.replaceAll("%","%25");
a=a.replaceAll("&","%26");a=a.replaceAll("\\?","%3F");a=a.replaceAll("=","%3D");
return a},getFieldValue:function(a){a=EL(a);switch(a.type){case"textarea":return this._removeCarriageReturn(a.value);
case"password":case"hidden":case"file":case"text":return a.value;case"select-one":return vanilla.html.Form.Popup.getSelectedValue(a);
case"submit":return(a.value?a.value:"Envoyer");case"radio":case"checkbox":return(a.checked?a.value:this.NOTHING)
}return null},setFieldValue:function(b,a){b=EL(b);switch(b.type){case"textarea":case"password":case"hidden":case"text":b.value=a;
break;case"select-one":vanilla.html.Form.Popup.setSelectedValue(b,a);break;
case"radio":case"checkbox":b.checked=(b.value==a);break}},_removeCarriageReturn:function(a){if(a){a=a.replace(/\r/g,"")
}return a}};vanilla.html.Form.Popup={clear:function(b,a,c){b=EL(b);if(!b){return
}while(b.firstChild){b.removeChild(b.firstChild)}if(typeof a!="undefined"){this.addOption(b,a,c)
}},addOption:function(a,b,c){a=EL(a);if(!a){return}a.appendChild(this.createOption(b,c))
},createOption:function(a,c){var b=document.createElement("option");b.setAttribute("value",a);
b.appendChild(document.createTextNode(c));return b},getSelectedOption:function(a){a=EL(a);
if(!a){return null}if(a.selectedIndex<0){return null}return a.options[a.selectedIndex]
},getSelectedValue:function(a){var b=this.getSelectedOption(a);return(b?b.value:null)
},getSelectedText:function(a){var b=this.getSelectedOption(a);return(b?b.text:null)
},setSelectedValue:function(a,d){a=EL(a);if(!a){return false}for(var b=0;
b<a.options.length;b++){var e=a.options[b];if(e.value==d){a.selectedIndex=b;
return true}}return false}};