/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.5.2",build:"1076"});YAHOO.util.Get=function(){var M={},L=0,Q=0,E=false,N=YAHOO.env.ua,R=YAHOO.lang;var J=function(V,S,W){var T=W||window,X=T.document,Y=X.createElement(V);for(var U in S){if(S[U]&&YAHOO.lang.hasOwnProperty(S,U)){Y.setAttribute(U,S[U]);}}return Y;};var H=function(S,T,V){var U=V||"utf-8";return J("link",{"id":"yui__dyn_"+(Q++),"type":"text/css","charset":U,"rel":"stylesheet","href":S},T);
};var O=function(S,T,V){var U=V||"utf-8";return J("script",{"id":"yui__dyn_"+(Q++),"type":"text/javascript","charset":U,"src":S},T);};var A=function(S,T){return{tId:S.tId,win:S.win,data:S.data,nodes:S.nodes,msg:T,purge:function(){D(this.tId);}};};var B=function(S,V){var T=M[V],U=(R.isString(S))?T.win.document.getElementById(S):S;if(!U){P(V,"target node not found: "+S);}return U;};var P=function(V,U){var S=M[V];if(S.onFailure){var T=S.scope||S.win;S.onFailure.call(T,A(S,U));}};var C=function(V){var S=M[V];S.finished=true;if(S.aborted){var U="transaction "+V+" was aborted";P(V,U);return ;}if(S.onSuccess){var T=S.scope||S.win;S.onSuccess.call(T,A(S));}};var G=function(U,Y){var T=M[U];if(T.aborted){var W="transaction "+U+" was aborted";P(U,W);return ;}if(Y){T.url.shift();if(T.varName){T.varName.shift();}}else{T.url=(R.isString(T.url))?[T.url]:T.url;if(T.varName){T.varName=(R.isString(T.varName))?[T.varName]:T.varName;}}var b=T.win,a=b.document,Z=a.getElementsByTagName("head")[0],V;if(T.url.length===0){if(T.type==="script"&&N.webkit&&N.webkit<420&&!T.finalpass&&!T.varName){var X=O(null,T.win,T.charset);X.innerHTML='YAHOO.util.Get._finalize("'+U+'");';T.nodes.push(X);Z.appendChild(X);}else{C(U);}return ;}var S=T.url[0];if(T.type==="script"){V=O(S,b,T.charset);}else{V=H(S,b,T.charset);}F(T.type,V,U,S,b,T.url.length);T.nodes.push(V);if(T.insertBefore){var c=B(T.insertBefore,U);if(c){c.parentNode.insertBefore(V,c);}}else{Z.appendChild(V);}if((N.webkit||N.gecko)&&T.type==="css"){G(U,S);}};var K=function(){if(E){return ;}E=true;for(var S in M){var T=M[S];if(T.autopurge&&T.finished){D(T.tId);delete M[S];}}E=false;};var D=function(Z){var W=M[Z];if(W){var Y=W.nodes,S=Y.length,X=W.win.document,V=X.getElementsByTagName("head")[0];if(W.insertBefore){var U=B(W.insertBefore,Z);if(U){V=U.parentNode;}}for(var T=0;T<S;T=T+1){V.removeChild(Y[T]);}}W.nodes=[];};var I=function(T,S,U){var W="q"+(L++);U=U||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[W]=R.merge(U,{tId:W,type:T,url:S,finished:false,nodes:[]});var V=M[W];V.win=V.win||window;V.scope=V.scope||V.win;V.autopurge=("autopurge" in V)?V.autopurge:(T==="script")?true:false;R.later(0,V,G,W);return{tId:W};};var F=function(b,W,V,T,X,Y,a){var Z=a||G;if(N.ie){W.onreadystatechange=function(){var c=this.readyState;if("loaded"===c||"complete"===c){Z(V,T);}};}else{if(N.webkit){if(b==="script"){if(N.webkit>=420){W.addEventListener("load",function(){Z(V,T);});}else{var S=M[V];if(S.varName){var U=YAHOO.util.Get.POLL_FREQ;S.maxattempts=YAHOO.util.Get.TIMEOUT/U;S.attempts=0;S._cache=S.varName[0].split(".");S.timer=R.later(U,S,function(h){var e=this._cache,d=e.length,c=this.win,f;for(f=0;f<d;f=f+1){c=c[e[f]];if(!c){this.attempts++;if(this.attempts++>this.maxattempts){var g="Over retry limit, giving up";S.timer.cancel();P(V,g);}else{}return ;}}S.timer.cancel();Z(V,T);},null,true);}else{R.later(YAHOO.util.Get.POLL_FREQ,null,Z,[V,T]);}}}}else{W.onload=function(){Z(V,T);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(S){R.later(0,null,C,S);},abort:function(T){var U=(R.isString(T))?T:T.tId;var S=M[U];if(S){S.aborted=true;}},script:function(S,T){return I("script",S,T);},css:function(S,T){return I("css",S,T);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.5.2",build:"1076"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"base":"http://yui.yahooapis.com/2.5.2/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-experimental-min.js","requires":["element","json","datasource"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"]},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-beta-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-beta-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-beta-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop"],"skinnable":true},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-beta-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"supersedes":["simpleeditor"],"skinnable":true},"element":{"type":"js","path":"element/element-beta-min.js","requires":["dom","event"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-beta-min.js","requires":["dom","event","dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-beta-min.js","requires":["dom","event","element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-beta-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-beta-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-beta-min.js","requires":["dom","event","dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-beta-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-beta-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-experimental.js","requires":["element"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-beta-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"skinnable":true}}},ObjectUtil:{appendArray:function(o,a){if(a){for(var i=0;
i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll;if(this.dirty||!this.rollups){for(i in this.moduleInfo){m=this.moduleInfo[i];if(m&&m.rollup){rollups[i]=m;}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=this.moduleInfo[i];s=m.supersedes;roll=false;if(!m.rollup){continue;}var skin=(m.ext)?false:this.parseSkin(i),c=0;if(skin){for(j in r){if(i!==j&&this.parseSkin(j)){c++;roll=(c>=m.rollup);if(roll){break;}}}}else{for(j=0;j<s.length;j=j+1){if(this.loaded[s[j]]&&(!YUI.dupsAllowed[s[j]])){roll=false;break;}else{if(r[s[j]]){c++;roll=(c>=m.rollup);if(roll){break;}}}}}if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}if(!rolled){break;}}},_reduce:function(){var i,j,s,m,r=this.required;for(i in r){if(i in this.loaded){delete r[i];}else{var skinDef=this.parseSkin(i);if(skinDef){if(!skinDef.module){var skin_pre=this.SKIN_PREFIX+skinDef.skin;for(j in r){m=this.moduleInfo[j];var ext=m&&m.ext;if(!ext&&j!==i&&j.indexOf(skin_pre)>-1){delete r[j];}}}}else{m=this.moduleInfo[i];s=m&&m.supersedes;if(s){for(j=0;j<s.length;j=j+1){if(s[j] in r){delete r[s[j]];}}}}}}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,checkOptional=!this.loadOptional,me=this;var requires=function(aa,bb){if(loaded[bb]){return false;}var ii,mm=info[aa],rr=mm&&mm.expanded,after=mm&&mm.after,other=info[bb],optional=mm&&mm.optional;if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;
}if(checkOptional&&optional&&YUI.ArrayUtil.indexOf(optional,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&(!other.ext)){return true;}return false;};for(var i in this.required){s.push(i);}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},insert:function(o,type){this.calculate(o);if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return ;}this._loading=true;this.loadType=type;this.loadNext();},sandbox:function(o,type){if(o){}else{}this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return ;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return ;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return ;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath||this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this.onFailure.call(this.scope,{msg:this.varName+" reference failure",data:this.data});}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return ;}if(mname){if(mname!==this._loading){return ;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return ;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return ;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fn=(m.type==="css")?util.Get.css:util.Get.script,url=m.fullpath||this._url(m.path),self=this,c=function(o){self.loadNext(o.data);};if(env.ua.webkit&&env.ua.webkit<420&&m.type==="js"&&!m.varName){c=null;this._useYahooListener=true;}fn(url,{data:s[i],onSuccess:c,insertBefore:this.insertBefore,charset:this.charset,varName:m.varName,scope:self});return ;}}this._loading=null;if(this._internalCallback){var f=this._internalCallback;this._internalCallback=null;f.call(this);}else{if(this.onSuccess){this._pushEvents();this.onSuccess.call(this.scope,{data:this.data});}}},_pushEvents:function(ref){var r=ref||YAHOO;if(r.util&&r.util.Event){r.util.Event._load();}},_url:function(path){var u=this.base||"",f=this.filter;u=u+path;if(f){u=u.replace(new RegExp(f.searchExp),f.replaceStr);}return u;}};})();

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
YAHOO.namespace("lang");YAHOO.lang.JSON={_ESCAPES:/\\["\\\/bfnrtu]/g,_VALUES:/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,_BRACKETS:/(?:^|:|,)(?:\s*\[)+/g,_INVALID:/^[\],:{}\s]*$/,_SPECIAL_CHARS:/["\\\x00-\x1f\x7f-\x9f]/g,_PARSE_DATE:/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/,_CHARS:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},_applyFilter:function(C,B){var A=function(E,D){var F,G;if(D&&typeof D==="object"){for(F in D){if(YAHOO.lang.hasOwnProperty(D,F)){G=A(F,D[F]);if(G===undefined){delete D[F];}else{D[F]=G;}}}}return B(E,D);};if(YAHOO.lang.isFunction(B)){A("",C);}return C;},isValid:function(A){if(!YAHOO.lang.isString(A)){return false;}return this._INVALID.test(A.replace(this._ESCAPES,"@").replace(this._VALUES,"]").replace(this._BRACKETS,""));},dateToString:function(B){function A(C){return C<10?"0"+C:C;}return'"'+B.getUTCFullYear()+"-"+A(B.getUTCMonth()+1)+"-"+A(B.getUTCDate())+"T"+A(B.getUTCHours())+":"+A(B.getUTCMinutes())+":"+A(B.getUTCSeconds())+'Z"';},stringToDate:function(B){if(this._PARSE_DATE.test(B)){var A=new Date();A.setUTCFullYear(RegExp.$1,(RegExp.$2|0)-1,RegExp.$3);A.setUTCHours(RegExp.$4,RegExp.$5,RegExp.$6);return A;}},parse:function(s,filter){if(this.isValid(s)){return this._applyFilter(eval("("+s+")"),filter);}throw new SyntaxError("parseJSON");},stringify:function(C,K,F){var E=YAHOO.lang,H=E.JSON,D=H._CHARS,A=this._SPECIAL_CHARS,B=[];var I=function(N){if(!D[N]){var J=N.charCodeAt();D[N]="\\u00"+Math.floor(J/16).toString(16)+(J%16).toString(16);}return D[N];};var M=function(J){return'"'+J.replace(A,I)+'"';};var L=H.dateToString;var G=function(J,T,R){var W=typeof J,P,Q,O,N,U,V,S;if(W==="string"){return M(J);}if(W==="boolean"||J instanceof Boolean){return String(J);}if(W==="number"||J instanceof Number){return isFinite(J)?String(J):"null";}if(J instanceof Date){return L(J);}if(E.isArray(J)){for(P=B.length-1;P>=0;--P){if(B[P]===J){return"null";}}B[B.length]=J;S=[];if(R>0){for(P=J.length-1;P>=0;--P){S[P]=G(J[P],T,R-1)||"null";}}B.pop();return"["+S.join(",")+"]";}if(W==="object"){if(!J){return"null";}for(P=B.length-1;P>=0;--P){if(B[P]===J){return"null";}}B[B.length]=J;S=[];if(R>0){if(T){for(P=0,O=0,Q=T.length;P<Q;++P){if(typeof T[P]==="string"){U=G(J[T[P]],T,R-1);if(U){S[O++]=M(T[P])+":"+U;}}}}else{O=0;for(N in J){if(typeof N==="string"&&E.hasOwnProperty(J,N)){U=G(J[N],T,R-1);if(U){S[O++]=M(N)+":"+U;}}}}}B.pop();return"{"+S.join(",")+"}";}return undefined;};F=F>=0?F:1/0;return G(C,K,F);}};YAHOO.register("json",YAHOO.lang.JSON,{version:"2.5.2",build:"1076"});

/*
Copyright (c) 2008, Ankama. All rights reserved.
version: 1.0.1.A
*/
var sExt = "com";

var sCallbackType = "jsonp";
var sLinkerLanguage = "de";
var sItemUrl = "http://www.dofus." + sExt + "/fr/apidofus/item.html";
var sTemplateUrl = "http://www.dofus." + sExt + "/apidofus/items/dofus_item_template.js?l=" + sLinkerLanguage;

var sTemplate = '';
sTemplate += '<div class="itemlinker">\n';
sTemplate += '	<div id="[ITEMHEADER]" class="il_header">\n';
sTemplate += '		<div class="il_header_title">\n';
sTemplate += '			<span class="il_itemname">[ITEM_NAME]</span>&nbsp;-&nbsp;<span class="il_typename">[TYPE_NAME]</span>&nbsp;<span class="il_itemlvl">Level&nbsp;[ITEM_LVL]</span>\n';
sTemplate += '		</div>\n';
sTemplate += '		<div onclick="UnBlockItem([NUMBER]);" class="il_close"></div>\n';
sTemplate += '	</div><div class="il_content">\n';
sTemplate += '	<div class="il_infos">\n';
sTemplate += '		<div class="il_item_picto">\n';
sTemplate += '			<object class="fix" type="application/x-shockwave-flash" data="http://static.dofus.com/swf/objectViewer.swf?item=http://static.dofus.com/swf/client/items/[TYPE_ID]/[GFXID].swf" width="66" height="66">\n';
sTemplate += '				<param name="quality" value="high" />\n';
sTemplate += '				<param name="wmode" value="transparent" />\n';
sTemplate += '				<param name="AllowScriptAccess" value="always" />\n';
sTemplate += '			</object>\n';
sTemplate += '		</div>\n';
sTemplate += '		<div class="il_item_effects" style="[EFFECTSLISTSTYLE]">\n';
sTemplate += '			<div class="il_effectslist_title">\n';
sTemplate += '				<div class="il_spec_title_left"></div>\n';
sTemplate += '				<div class="il_spec_title_content">Wirkung:</div>\n';
sTemplate += '				<div class="il_spec_title_right"></div>\n';
sTemplate += '			</div>\n';
sTemplate += '			<div class="il_effectslist">[EFFECTSLIST]</div>\n';
sTemplate += '		</div>\n';
sTemplate += '		<div class="il_item_caracs" style="[CARACSLISTSTYLE]">\n';
sTemplate += '			<div class="il_item_caracs_title">\n';
sTemplate += '				<div class="il_spec_title_left"></div>\n';
sTemplate += '				<div class="il_spec_title_content">Waffen:</div>\n';
sTemplate += '				<div class="il_spec_title_right"></div>\n';
sTemplate += '			</div>\n';
sTemplate += '			<div class="il_caracslist">[CARACSLIST]</div>\n';
sTemplate += '		</div>\n';
sTemplate += '		<div class="il_item_summary" >[SUMMARY]</div>\n';
sTemplate += '	</div>\n';
sTemplate += '	<div class="il_stop"></div>\n';
sTemplate += '	<div class="il_sep_bottom"></div>\n';
sTemplate += '	<div id="il_craftslisttitle_[NUMBER]" onclick="OpenCloseIlContent(\'il_more_content_craft_[NUMBER]\', \'il_spec_title_rec_content_[NUMBER]\')" style="[CRAFTLISTTITLESTYLE]" class="il_craftslist_title openable">\n';
sTemplate += '		<div id="il_spec_title_rec_content_[NUMBER]" class="il_spec_btn_title_left il_spec_title_rec_close"></div>\n';
sTemplate += '		<div class="il_spec_title_content">Herstellen dieses Gegenstandes :</div>\n';
sTemplate += '		<div class="il_spec_title_right"></div></div><div class="il_stop"></div>\n';
sTemplate += '		<div id="il_more_content_craft_[NUMBER]" style="display:none;">\n';
sTemplate += '			<div class="il_top_more_content"></div>\n';
sTemplate += '			<div class="il_craftslist" style="[CRAFTLISTSTYLE]">[CRAFTLIST]</div>\n';
sTemplate += '			<div class="il_bottom_more_content"></div>\n';
sTemplate += '		</div>\n';
sTemplate += '		<div class="il_stop"></div>\n';
sTemplate += '		<div class="il_bottom"[PRINTKNOWMORE]>\n';
sTemplate += '			<a href="http://www.dofus.com/de/mmorpg-spiel/gegenstaende/[SUPERTYPE_ID]-item/[TYPE_ID]-[TYPE_NAME].html?pa=1&se=[ITEM_NAME_URL]" target="_blanck">\n';
sTemplate += '				<div class="il_knowmore il_knowmore_de"></div>\n';
sTemplate += '			</a>\n';
sTemplate += '		</div>\n';
sTemplate += '	</div>\n';
sTemplate += '</div>\n';

var sCraftRow = '';
sCraftRow += '<div class="il_itemcraft_picto" title="[QUANTITY]&nbsp;[NAME]">\n';
sCraftRow += '	<object class="fix" type="application/x-shockwave-flash" data="http://static.dofus.com/swf/objectViewer.swf?item=http://static.dofus.com/swf/client/items/[TYPE_ID]/[GFXID].swf" width="45" height="45">\n';
sCraftRow += '		<param name="quality" value="high" />\n';
sCraftRow += '		<param name="wmode" value="transparent" />\n';
sCraftRow += '		<param name="AllowScriptAccess" value="always" />\n';
sCraftRow += '	</object>\n';
sCraftRow += '</div>\n';
sCraftRow += '<div class="il_stop"></div>\n';
sCraftRow += '<div class="il_itemcraft_name">[QUANTITY]&nbsp;x&nbsp;[NAME]</div>\n';

var sCaracRow = '';
sCaracRow += '<ul>\n';
sCaracRow += '	<li>AP:&nbsp;<span class="il_important_content">[PA]</span></li>\n';
sCaracRow += '	<li>Reichweite:&nbsp;<span class="il_important_content">[PO]</span></li>\n';
sCaracRow += '	<li>KT:&nbsp;<span class="il_important_content">[CC]</span></li>\n';
sCaracRow += '	<li>KP:&nbsp;<span class="il_important_content">[EC]</span></li>\n';
sCaracRow += '</ul>\n';

var aItems = new Array();
var yuiPath = "";
var DofusLinker = function()
{
  self = this;
}

/************************************/
/******        CONNEXION     ********/
/************************************/

var callbackjson =
{
  success:SuccessHandlerJSON,
  failure:FailureHandlerJSON,
  timeout: 5000 
};

//Fonction executée si la connexion a réussi JSON
function SuccessHandlerJSON(oData)
{
  bLoading = false;
  try 
  {
    var message = oData;
    var messages = YAHOO.lang.JSON.parse(message.responseText);
  
    sCurrentTemplate = ProcessItemData(messages, sCallbackType);
  } 
  catch (x)
  {
    sCurrentTemplate = "JSON Parse failed! " + x
  }
  
  if(div[iCount] != undefined)
  {
    div[iCount].style.display = "";
    div[iCount].innerHTML = sCurrentTemplate;
  }
}

//Fonction executée si la connexion a échoué JSON
function FailureHandlerJSON(o)
{
  div[iCount].innerHTML = o.status + " " + o.statusText; 
}


var callbackxml =
{
  success:SuccessHandlerXML,
  failure:FailureHandlerXML,
  timeout: 5000 
};

//Fonction executée si la connexion a réussi XML
function SuccessHandlerXML(oData)
{
  bLoading = false;
  var oRoot = oData.responseXML;
  sCurrentTemplate = ProcessItemData(oRoot, sCallbackType);

  if(div[iCount] != undefined)
  {
	  div[iCount].style.display = "";
	  div[iCount].innerHTML = sCurrentTemplate;
  }
}

//Fonction executée si la connexion a échoué XML
function FailureHandlerXML(o)
{
  div[iCount].innerHTML = o.status + " " + o.statusText; 
}

//Fonction executée si la connexion a réussi JSONP
function SuccessHandlerJSONP(oData)
{
  bLoading = false;
  try 
  {
    sCurrentTemplate = ProcessItemData(jsonDofusItem, sCallbackType);
  } 
  catch (x)
  {
    sCurrentTemplate = "JSONP Parse failed! " + x;
  }
  if(div[iCount] != undefined)
  {
	  div[iCount].style.display = "";
	  div[iCount].innerHTML = sCurrentTemplate;
  }
}

//Fonction executée si la connexion a échoué JSONP
function FailureHandlerJSONP(o)
{
  div[iCount].innerHTML = o.status + " " + o.statusText; 
}

/************************************/
/******        FUNCTIONS      ********/
/************************************/

var iState = new Array();
var iBlock = new Array();
var aLinkerPosition = new Array();
var fCoordX = 0;
var fCoordY = 0;
var iCount = 0;
var iMaxCount = 1;
var bLoading = false;
for(i = iCount; i <= iMaxCount; i++)
{
  iState[i] = 0;
  iBlock[i] = 0;
  aLinkerPosition[i] = "start";
}
var div = new Array();

function mouseposition(e)
{
  if (!e) var e = window.event;
  if (e.pageX || e.pageY)
  {
    fCoordX = e.pageX;
    fCoordY = e.pageY;
  }
  else if (e.clientX || e.clientY)
  {
    fCoordX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    fCoordY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  }

  fCurrentX = fCoordX;
  if(aLinkerPosition[iCount] == "start")
  {
    if((ScreenWidth() / 2) > fCurrentX)
    { fCoordX = fCoordX + 15;}
    else 
    {fCoordX = fCoordX - 515;}
  }
  else
  {
    switch(aLinkerPosition[iCount])
    {
      case "left":
        fCoordX = fCoordX - 510; 
      break;
      case "right":
        fCoordX = fCoordX + 15;;
      break;
    }
  }
  fCoordY = fCoordY + 10;
  if(iState[iCount] == 1 && iBlock[iCount] == 0 && div[iCount] != null || bLoading)
  {
    if(aLinkerPosition[iCount] == "start")
    {
      if((ScreenWidth() / 2) > fCurrentX)
      { aLinkerPosition[iCount] = "right";}
      else {aLinkerPosition[iCount] = "left";}
    }
    
    div[iCount].style.left = fCoordX  + "px";
    div[iCount].style.top = fCoordY + "px";
  }
}

function ScreenWidth()
{
  var largeur = 0, hauteur = 0;
  if(typeof(window.innerWidth) == 'number')
  {
    largeur = window.innerWidth;
    hauteur = window.innerHeight;
  }
  else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
  {
    largeur = document.documentElement.clientWidth;
    hauteur = document.documentElement.clientHeight;
  }
  else if(document.body && (document.body.clientWidth || document.body.clientHeight))
  {
    largeur = document.body.clientWidth;
    hauteur = document.body.clientHeight;
  }
  else
  {
    largeur = -1;
    hauteur = -1;
  }
  
  return largeur;
}

var eventLoader = new YAHOO.util.YUILoader(
{ 
  require: ["event"],
  loadOptional: false,
  onSuccess: function(o)
  {
    YAHOO.util.Event.addListener(document, 'mousemove', mouseposition);
  }
})
eventLoader.insert();

//Détruit la popup courante
function CloseItem()
{
  if(iState[iCount] == 1 && iBlock[iCount] == 0)
  {
    aLinkerPosition[iCount] = "start";
    document.body.removeChild(div[iCount]);
    iState[iCount] = 0;
  }
}
//Détruit une popup définir
function CloseItemByNumber(iNumber)
{
  if(iState[iNumber] == 1 && iBlock[iNumber] == 0)
  {
    aLinkerPosition[iNumber] = "start";
    document.body.removeChild(div[iNumber]);
    div[iNumber] = null;
    iState[iNumber] = 0;
  }
}
//Laisse une popup affichée
function BlockItem()
{
  if(bLoading == false)
  {
	  if(iCount < iMaxCount)
	  {
		  iBlock[iCount] = 1;
		  SetCurrentItem();
	  }
  }
  return 0;
}
//Referme une popup bloquée
function UnBlockItem(iNumber)
{
  iBlock[iNumber] = 0;
  CloseItemByNumber(iNumber);
  SetCurrentItem();
}
//Recherche la première instance du bloc à utiliser
function SetCurrentItem()
{
  i = 0;
  while(i < iMaxCount && div[i] != null)
  {
    i++;
  }
  iCount = i;
}
//Insère le contenu du template dans la popup en remplacant les champs
function ProcessItemData(messages, sType)
{
  var sCurrentTemplate = sTemplate;
  
  switch(sType)
  {
    case "json":
    case "jsonp":
    	//document.write("<textarea>" + dump(messages) + "</textarea>");
      sCurrentTemplate = sCurrentTemplate.replace(/\[ITEM_NAME\]/g, messages["item"]["name"]);
      sCurrentTemplate = sCurrentTemplate.replace(/\[ITEM_LVL\]/g, messages["item"]["lvl"]);
      if(messages["item"]["typeid"] != null)
        sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_ID\]/g, messages["item"]["typeid"]);
      else if(messages["item"]["supertypeid"] != null)
        sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_ID\]/g, messages["item"]["supertypeid"]);
      else sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_ID\]/g, "");
      if(messages["item"]["typename"] != null)
        sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_NAME\]/g, messages["item"]["typename"]);
      else sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_NAME\]/g, "");
      sCurrentTemplate = sCurrentTemplate.replace(/\[GFXID\]/g, messages["item"]["gfxid"]);
      sCurrentTemplate = sCurrentTemplate.replace(/\[SUPERTYPE_ID\]/g, messages["item"]["supertypeid"]);
      sCurrentTemplate = sCurrentTemplate.replace(/\[ITEM_NAME_URL\]/g, encodeURI(messages["item"]["name"]));
      
      if(messages["item"]["typeid"] == -1)
        sCurrentTemplate = sCurrentTemplate.replace(/\[PRINTKNOWMORE\]/g, 'style="display:none;"');
      else
        sCurrentTemplate = sCurrentTemplate.replace(/\[PRINTKNOWMORE\]/g, '');
      var bDescription = true;
      var sEffectsStyle = "display:none;";
      if(messages["item"]["effectslist"] != undefined)
      {
        if(messages["item"]["effectslist"].length > 0 && messages["item"]["typeid"] != 18)
        {
          sEffectsStyle = "";
          bDescription = false;
        }
      }
      sCurrentTemplate = sCurrentTemplate.replace(/\[EFFECTSLISTSTYLE\]/g, sEffectsStyle);
      var sCaracsStyle = "display:none;";
      if(messages["item"]["carac"] != undefined && messages["item"]["typeid"] != 18)
      {
        sCaracsStyle = "";
        bDescription = false;
      }
      
      sCurrentTemplate = sCurrentTemplate.replace(/\[CARACSLISTSTYLE\]/g, sCaracsStyle);
      
      if(bDescription)
      {
        sCurrentTemplate = sCurrentTemplate.replace(/\[SUMMARY\]/g, messages["item"]["summary"]);
      }
      else
      {
        sCurrentTemplate = sCurrentTemplate.replace(/\[SUMMARY\]/g, "");
      }
      
      var sCraftStyle = "display:none;";
      var sCraftTitleStyle = "display:none;";
      if(messages["item"]["craftslist"] != undefined)
      {
        if(messages["item"]["craftslist"].length > 0)
        {
          var iCraftHeight = 0;
          if(messages["item"]["craftslist"].length%5 == 0)
            iCraftHeight = messages["item"]["craftslist"].length/5;
          else
            iCraftHeight = Math.floor(messages["item"]["craftslist"].length/5) + 1;
          if(iCraftHeight == 0)
            iCraftHeight = 1;
          sCraftStyle = "height:" + iCraftHeight*90 + "px;";
          sCraftTitleStyle = "";
        }
      }
      
      sCurrentTemplate = sCurrentTemplate.replace(/\[CRAFTLISTSTYLE\]/g, sCraftStyle);
      sCurrentTemplate = sCurrentTemplate.replace(/\[CRAFTLISTTITLESTYLE\]/g, sCraftTitleStyle);
      sEffects = "";
      if(messages["item"]["effectslist"] != undefined)
      {
	      sEffects += "<ul id=\"dofusitem_effects\">";
	      for(i=0;i<messages["item"]["effectslist"].length;i++)
	      {
	        sEffects += "<li>" + messages["item"]["effectslist"][i]["value"] + "</li>";
	      }
	      sEffects += "</ul>";
      }
      sCurrentTemplate = sCurrentTemplate.replace(/\[EFFECTSLIST\]/g, sEffects);
      sCaracs = "";
      if(messages["item"]["carac"] != undefined)
      {
        sCaracs = sCaracRow;
        sCaracs = sCaracs.replace(/\[PA\]/g, messages["item"]["carac"]["pa"]);
        sCaracs = sCaracs.replace(/\[PO\]/g, messages["item"]["carac"]["po"]);
        sCaracs = sCaracs.replace(/\[CC\]/g, messages["item"]["carac"]["cc"]);
        sCaracs = sCaracs.replace(/\[EC\]/g, messages["item"]["carac"]["ec"]);
      }
      sCurrentTemplate = sCurrentTemplate.replace(/\[CARACSLIST\]/g, sCaracs);
      sCrafts = "";
      if(messages["item"]["craftslist"] != undefined)
      {
        sCrafts += "<ul id=\"dofusitem_craftlist\">";
        for(i=0;i<messages["item"]["craftslist"].length;i++)
        {
          sCurrentRow = sCraftRow;
          sCurrentRow = sCurrentRow.replace(/\[TYPE_ID\]/g, messages["item"]["craftslist"][i]["typeid"]);
          sCurrentRow = sCurrentRow.replace(/\[GFXID\]/g, messages["item"]["craftslist"][i]["gfxid"]);
          if(messages["item"]["craftslist"][i]["quantity"] != undefined)
            sCurrentRow = sCurrentRow.replace(/\[QUANTITY\]/g, messages["item"]["craftslist"][i]["quantity"]);
          else sCurrentRow = sCurrentRow.replace(/\[QUANTITY\]/g, "1");
          sCurrentRow = sCurrentRow.replace(/\[NAME\]/g, messages["item"]["craftslist"][i]["name"]);
          sCrafts += "<li>" + sCurrentRow + "</li>";
        }
        sCrafts += "</ul>";
      }
      sCurrentTemplate = sCurrentTemplate.replace(/\[CRAFTLIST\]/g, sCrafts);
      //On savegarde le contenu sans avoir changer les count
      aItems[messages["item"]["id"]] = sCurrentTemplate;
      //On termine les remplacement
      sCurrentTemplate = sCurrentTemplate.replace(/\[ITEMHEADER\]/g, "itemHeader_" + iCount);
      sCurrentTemplate = sCurrentTemplate.replace(/\[NUMBER\]/g, iCount);
    break;
    case "xml" :
      var sPages = messages.getElementsByTagName('page');
      for (i = 0; i < sPages.length; i++)
      {
        var item = sPages[0].getElementsByTagName('item')[i];
        
        var itemId = item.attributes.getNamedItem('id').value;
        var itemName = item.attributes.getNamedItem('name').value;
        var itemSuperTypeId = '';
        if(item.attributes.getNamedItem('supertypeid') != undefined)
          itemSuperTypeId = item.attributes.getNamedItem('supertypeid').value;
        var itemTypeId = '';
        if(item.attributes.getNamedItem('typeid') != undefined)
          itemTypeId = item.attributes.getNamedItem('typeid').value;
        var itemGfxId = item.attributes.getNamedItem('gfxid').value;
        var itemLvl = item.attributes.getNamedItem('lvl').value;
        var itemUrl = item.attributes.getNamedItem('url').value;
        sCurrentTemplate = sCurrentTemplate.replace(/\[ITEM_NAME]/g, itemName);
        sCurrentTemplate = sCurrentTemplate.replace(/\[ITEM_LVL]/g, itemLvl);
        sCurrentTemplate = sCurrentTemplate.replace(/\[TYPE_ID]/g, itemTypeId);
        sCurrentTemplate = sCurrentTemplate.replace(/\[GFXID]/g, itemGfxId);
        
        for (j = 0; j < item.length; j++)
        {
          var aEffectsList = item[0].getElementsByTagName('effectslist')[j].firstChild.nodeValue
          var sSummary = item[0].getElementsByTagName('effectslist')[j].firstChild.nodeValue
          var sCraftslist = item[0].getElementsByTagName('effectslist')[j].firstChild.nodeValue
          var sSet = item[0].getElementsByTagName('effectslist')[j].firstChild.nodeValue
        }
      }
      aItems[item.attributes.getNamedItem('id').value] = sCurrentTemplate;
      //On remplace les count après avoir savgarder, afin de pour conserver la possibilité de la changer d'instance
      sCurrentTemplate = sCurrentTemplate.replace(/\[ITEMHEADER]/g, "itemHeader_" + iCount);
      sCurrentTemplate = sCurrentTemplate.replace(/\[NUMBER]/g, iCount);
    break;
    default:
      sCurrentTemplate = "";
    break;
  }
  
  return sCurrentTemplate;
  return "";
}

//Fonction d'affichage d'une valeure existante 
function ProcessExistingData(itemId)
{
  bLoading = false;
  sCurrentTemplate = aItems[itemId];
  //On remplace les count par ceux de la nouvelle instance
  sCurrentTemplate = sCurrentTemplate.replace(/\[ITEMHEADER\]/g, "itemHeader_" + iCount);
  sCurrentTemplate = sCurrentTemplate.replace(/\[NUMBER\]/g, iCount);
  if(div[iCount] != undefined)
  {
	  div[iCount].style.display = "";
	  div[iCount].innerHTML = sCurrentTemplate;
  }
}

function OpenCloseIlContent(id, titleId)
{
  var oContent = document.getElementById(id);
  var oTitleId = document.getElementById(titleId);
  if(oContent != undefined)
  {
    if(oContent.style.display == "")
    {
      oTitleId.className = "il_spec_btn_title_left il_spec_title_rec_close";
      oContent.style.display = "none";
    }
    else
    {
      oTitleId.className = "il_spec_btn_title_left il_spec_title_rec_open";
      oContent.style.display = "";
    }
  }
}

/************************************/
/******        LOADER             ********/
/************************************/
//Affichage de la popup
DofusLinker.ShowItem = function (currentObject, itemId, lang, sCallbackType)
{
  if(lang == null)
    lang = 'de';
  if(sCallbackType == null)
    sCallbackType = 'jsonp';
   
  if(iState[iCount] == 0 && iBlock[iCount] == 0)
  {
   bLoading = true;
   //On créé la div pour le chargement
   div[iCount] = document.createElement("div");
   div[iCount].setAttribute('id', 'dofusitem_' + iCount);
   div[iCount].style.position = 'absolute';
   div[iCount].style.display = '';
   document.body.appendChild(div[iCount]);

  div[iCount].innerHTML = "<img src='http://staticns.ankama." + sExt + "/global/api/dofus/linker/img/loading.gif' width='32px' height='32px' alt='' title=''>";
  var loader = new YAHOO.util.YUILoader(
  { 
    require: ["connection", "dragdrop", "animation", "json", "get"],
    loadOptional: false,
    onSuccess: function(o)
    {
      div[iCount].style.left = fCoordX + "px";
      div[iCount].style.top = fCoordY + "px";
      div[iCount].style.zIndex = "5001";
      
      if(aItems[itemId] == null)
       {
         var bResult = true;
         switch(sCallbackType)
         {
          case "json":
            var sPostData = 'itemid=' + itemId + '&lang=' + lang + '&type=' + sCallbackType;
            var request = YAHOO.util.Connect.asyncRequest('POST', sItemUrl, callbackjson, sPostData);
          break;
          case "jsonp":
            sCurrentUrl = sItemUrl + '?itemid=' + itemId + '&lang=' + lang + '&type=' + sCallbackType;
            YAHOO.util.Get.script(sCurrentUrl, { onSuccess: SuccessHandlerJSONP, onFailure: FailureHandlerJSONP});
          break;
          case "xml":
             var sPostData = 'itemid=' + itemId + '&lang=' + lang + '&type=' + sCallbackType;
             var request = YAHOO.util.Connect.asyncRequest('POST', sItemUrl, callbackxml, sPostData);
           break;
           default:
             bResult = false;
           break;
          }
        }
        else
        {
          ProcessExistingData(itemId);
          bResult = true;
        }

      if(bResult)
      {
        iState[iCount] = 1;
              
        //Permet de faire du drag and drop sur la popup
        (function() 
        { 
          var ddDofusItem; 
          // Configure one or more child element as a drag handle 
          ddDofusItem = new YAHOO.util.DD("dofusitem_" + iCount); 
          ddDofusItem.setHandleElId("itemHeader_" + iCount);
        })();
       }
       else
       {
        //Si on est pas dans un des cas possible on supprime la div
        document.body.removeChild(div[iCount]);
       }
    },
    onFailure: function(o)
    {
      document.body.removeChild(div[iCount]);
    }
  });
    loader.insert();
  }
}

DofusLinker.Item = function (currentObject, itemId, lang)
{
  if(lang == null)
    lang = 'de';

  currentObject.style.cursor = "pointer";
  //currentObject.setAttribute("onclick", "BlockItem();");
  //currentObject.setAttribute("onmouseout", "CloseItem();");
  currentObject.onclick = function(){if(bLoading == false){if(iCount < iMaxCount){iBlock[iCount] = 1;SetCurrentItem();}}return 0;};
  currentObject.onmouseout = function(){if(iState[iCount] == 1 && iBlock[iCount] == 0){aLinkerPosition[iCount] = "start";document.body.removeChild(div[iCount]);iState[iCount] = 0;}};
  currentObject.removeAttribute("href");
  DofusLinker.ShowItem(currentObject, itemId, lang);
}

function is_defined(mVar)
{
  return(typeof(window[mVar]) == "undefined")?  false: true;
}

