
if(typeof YAHOO=="undefined"){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};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(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);}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={isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice)&&!A.hasOwnProperty(B.length);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return!YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType"in A&&"tagName"in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var C={},A=arguments,B;for(B=0;B<A.length;B=B+1){YAHOO.lang.augmentObject(C,A[B],true);}return C;},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.3.1",build:"541"});
YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){var E=this.subscribers.length;if(!E&&this.silent){return true;}var H=[],G=true,D,I=false;for(D=0;D<arguments.length;++D){H.push(arguments[D]);}var A=H.length;if(!this.silent){}for(D=0;D<E;++D){var L=this.subscribers[D];if(!L){I=true;}else{if(!this.silent){}var K=L.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(H.length>0){B=H[0];}try{G=L.fn.call(K,B,L.obj);}catch(F){this.lastError=F;}}else{try{G=L.fn.call(K,this.type,H,L.obj);}catch(F){this.lastError=F;}}if(false===G){if(!this.silent){}return false;}}}if(I){var J=[],C=this.subscribers;for(D=0,E=C.length;D<E;D=D+1){J.push(C[D]);}this.subscribers=J;}return true;},unsubscribeAll:function(){for(var B=0,A=this.subscribers.length;B<A;++B){this._delete(A-1-B);}this.subscribers=[];return B;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers[A]=null;},toString:function(){return"CustomEvent: '"+this.type+"', scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var J=false;var I=[];var K=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39};return{POLL_RETRYS:4000,POLL_INTERVAL:10,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,startInterval:function(){if(!this._interval){var L=this;var M=function(){L._tryPreloadAttach();};this._interval=setInterval(M,this.POLL_INTERVAL);}},onAvailable:function(N,L,O,M){F.push({id:N,fn:L,obj:O,override:M,checkReady:false});C=this.POLL_RETRYS;this.startInterval();},onDOMReady:function(L,N,M){if(J){setTimeout(function(){var O=window;if(M){if(M===true){O=N;}else{O=M;}}L.call(O,"DOMReady",[],N);},0);}else{this.DOMReadyEvent.subscribe(L,N,M);}},onContentReady:function(N,L,O,M){F.push({id:N,fn:L,obj:O,override:M,checkReady:true});C=this.POLL_RETRYS;this.startInterval();},addListener:function(N,L,W,R,M){if(!W||!W.call){return false;}if(this._isValidCollection(N)){var X=true;for(var S=0,U=N.length;S<U;++S){X=this.on(N[S],L,W,R,M)&&X;}return X;}else{if(YAHOO.lang.isString(N)){var Q=this.getEl(N);if(Q){N=Q;}else{this.onAvailable(N,function(){YAHOO.util.Event.on(N,L,W,R,M);});return true;}}}if(!N){return false;}if("unload"==L&&R!==this){K[K.length]=[N,L,W,R,M];return true;}var Z=N;if(M){if(M===true){Z=R;}else{Z=M;}}var O=function(a){return W.call(Z,YAHOO.util.Event.getEvent(a,N),R);};var Y=[N,L,W,O,Z,R,M];var T=I.length;I[T]=Y;if(this.useLegacyEvent(N,L)){var P=this.getLegacyIndex(N,L);if(P==-1||N!=G[P][0]){P=G.length;B[N.id+L]=P;G[P]=[N,L,N["on"+L]];E[P]=[];N["on"+L]=function(a){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(a),P);};}E[P].push(Y);}else{try{this._simpleAdd(N,L,O,false);}catch(V){this.lastError=V;this.removeListener(N,L,W);return false;}}return true;},fireLegacyEvent:function(P,N){var R=true,L,T,S,U,Q;T=E[N];for(var M=0,O=T.length;M<O;++M){S=T[M];if(S&&S[this.WFN]){U=S[this.ADJ_SCOPE];Q=S[this.WFN].call(U,P);R=(R&&Q);}}L=G[N];if(L&&L[2]){L[2](P);}return R;},getLegacyIndex:function(M,N){var L=this.generateId(M)+N;if(typeof B[L]=="undefined"){return-1;}else{return B[L];}},useLegacyEvent:function(M,N){if(this.webkit&&("click"==N||"dblclick"==N)){var L=parseInt(this.webkit,10);if(!isNaN(L)&&L<418){return true;}}return false;},removeListener:function(M,L,U){var P,S,W;if(typeof M=="string"){M=this.getEl(M);}else{if(this._isValidCollection(M)){var V=true;for(P=0,S=M.length;P<S;++P){V=(this.removeListener(M[P],L,U)&&V);}return V;}}if(!U||!U.call){return this.purgeElement(M,false,L);}if("unload"==L){for(P=0,S=K.length;P<S;P++){W=K[P];if(W&&W[0]==M&&W[1]==L&&W[2]==U){K[P]=null;return true;}}return false;}var Q=null;var R=arguments[3];if("undefined"===typeof R){R=this._getCacheIndex(M,L,U);}if(R>=0){Q=I[R];}if(!M||!Q){return false;}if(this.useLegacyEvent(M,L)){var O=this.getLegacyIndex(M,L);var N=E[O];if(N){for(P=0,S=N.length;P<S;++P){W=N[P];if(W&&W[this.EL]==M&&W[this.TYPE]==L&&W[this.FN]==U){N[P]=null;break;}}}}else{try{this._simpleRemove(M,L,Q[this.WFN],false);}catch(T){this.lastError=T;return false;}}delete I[R][this.WFN];delete I[R][this.FN];I[R]=null;return true;},getTarget:function(N,M){var L=N.target||N.srcElement;return this.resolveTextNode(L);},resolveTextNode:function(L){if(L&&3==L.nodeType){return L.parentNode;}else{return L;}},getPageX:function(M){var L=M.pageX;if(!L&&0!==L){L=M.clientX||0;if(this.isIE){L+=this._getScrollLeft();}}return L;},getPageY:function(L){var M=L.pageY;if(!M&&0!==M){M=L.clientY||0;if(this.isIE){M+=this._getScrollTop();}}return M;},getXY:function(L){return[this.getPageX(L),this.getPageY(L)];},getRelatedTarget:function(M){var L=M.relatedTarget;if(!L){if(M.type=="mouseout"){L=M.toElement;}else{if(M.type=="mouseover"){L=M.fromElement;}}}return this.resolveTextNode(L);},getTime:function(N){if(!N.time){var M=new Date().getTime();try{N.time=M;}catch(L){this.lastError=L;return M;}}return N.time;},stopEvent:function(L){this.stopPropagation(L);this.preventDefault(L);},stopPropagation:function(L){if(L.stopPropagation){L.stopPropagation();}else{L.cancelBubble=true;}},preventDefault:function(L){if(L.preventDefault){L.preventDefault();}else{L.returnValue=false;}},getEvent:function(Q,O){var P=Q||window.event;if(!P){var R=this.getEvent.caller;while(R){P=R.arguments[0];if(P&&Event==P.constructor){break;}R=R.caller;}}if(P&&this.isIE){try{var N=P.srcElement;if(N){var M=N.type;}}catch(L){P.target=O;}}return P;},getCharCode:function(M){var L=M.keyCode||M.charCode||0;if(YAHOO.env.ua.webkit&&(L in D)){L=D[L];}return L;},_getCacheIndex:function(P,Q,O){for(var N=0,M=I.length;N<M;++N){var L=I[N];if(L&&L[this.FN]==O&&L[this.EL]==P&&L[this.TYPE]==Q){return N;}}return-1;},generateId:function(L){var M=L.id;if(!M){M="yuievtautoid-"+A;++A;L.id=M;}return M;},_isValidCollection:function(M){try{return(typeof M!=="string"&&M.length&&!M.tagName&&!M.alert&&typeof M[0]!=="undefined");}catch(L){return false;}},elCache:{},getEl:function(L){return(typeof L==="string")?document.getElementById(L):L;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(M){if(!H){H=true;var L=YAHOO.util.Event;L._ready();L._tryPreloadAttach();}},_ready:function(M){if(!J){J=true;var L=YAHOO.util.Event;L.DOMReadyEvent.fire();L._simpleRemove(document,"DOMContentLoaded",L._ready);}},_tryPreloadAttach:function(){if(this.locked){return false;}if(this.isIE){if(!J){this.startInterval();return false;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var M,L,O,N;for(M=0,L=F.length;M<L;++M){O=F[M];if(O&&!O.checkReady){N=this.getEl(O.id);if(N){R(N,O);F[M]=null;}else{P.push(O);}}}for(M=0,L=F.length;M<L;++M){O=F[M];if(O&&O.checkReady){N=this.getEl(O.id);if(N){if(H||N.nextSibling){R(N,O);F[M]=null;}}else{P.push(O);}}}C=(P.length===0)?0:C-1;if(Q){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;return true;},purgeElement:function(O,P,R){var Q=this.getListeners(O,R),N,L;if(Q){for(N=0,L=Q.length;N<L;++N){var M=Q[N];this.removeListener(O,M.type,M.fn,M.index);}}if(P&&O&&O.childNodes){for(N=0,L=O.childNodes.length;N<L;++N){this.purgeElement(O.childNodes[N],P,R);}}},getListeners:function(N,L){var Q=[],M;if(!L){M=[I,K];}else{if(L=="unload"){M=[K];}else{M=[I];}}for(var P=0;P<M.length;P=P+1){var T=M[P];if(T&&T.length>0){for(var R=0,S=T.length;R<S;++R){var O=T[R];if(O&&O[this.EL]===N&&(!L||L===O[this.TYPE])){Q.push({type:O[this.TYPE],fn:O[this.FN],obj:O[this.OBJ],adjust:O[this.OVERRIDE],scope:O[this.ADJ_SCOPE],index:R});}}}}return(Q.length)?Q:null;},_unload:function(S){var R=YAHOO.util.Event,P,O,M,L,N;for(P=0,L=K.length;P<L;++P){M=K[P];if(M){var Q=window;if(M[R.ADJ_SCOPE]){if(M[R.ADJ_SCOPE]===true){Q=M[R.UNLOAD_OBJ];}else{Q=M[R.ADJ_SCOPE];}}M[R.FN].call(Q,R.getEvent(S,M[R.EL]),M[R.UNLOAD_OBJ]);K[P]=null;M=null;Q=null;}}K=null;if(I&&I.length>0){O=I.length;while(O){N=O-1;M=I[N];if(M){R.removeListener(M[R.EL],M[R.TYPE],M[R.FN],N);}O=O-1;}M=null;R.clearCache();}for(P=0,L=G.length;P<L;++P){G[P][0]=null;G[P]=null;}G=null;R._simpleRemove(window,"unload",R._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var L=document.documentElement,M=document.body;if(L&&(L.scrollTop||L.scrollLeft)){return[L.scrollTop,L.scrollLeft];}else{if(M){return[M.scrollTop,M.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(N,O,M,L){N.addEventListener(O,M,(L));};}else{if(window.attachEvent){return function(N,O,M,L){N.attachEvent("on"+O,M);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(N,O,M,L){N.removeEventListener(O,M,(L));};}else{if(window.detachEvent){return function(M,N,L){M.detachEvent("on"+N,L);};}else{return function(){};}}}()};}();(function(){var D=YAHOO.util.Event;D.on=D.addListener;if(D.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var B,E=document,A=E.body;if(("undefined"!==typeof YAHOO_config)&&YAHOO_config.injecting){B=document.createElement("script");var C=E.getElementsByTagName("head")[0]||A;C.insertBefore(B,C.firstChild);}else{E.write("<script id=\"_yui_eu_dr\" defer=\"true\" src=\"//:\"></script>");B=document.getElementById("_yui_eu_dr");}if(B){B.onreadystatechange=function(){if("complete"===this.readyState){this.parentNode.removeChild(this);YAHOO.util.Event._ready();}};}else{}B=null;}else{if(D.webkit){D._drwatch=setInterval(function(){var F=document.readyState;if("loaded"==F||"complete"==F){clearInterval(D._drwatch);D._drwatch=null;D._ready();}},D.POLL_INTERVAL);}else{D._simpleAdd(document,"DOMContentLoaded",D._ready);}}D._simpleAdd(window,"load",D._load);D._simpleAdd(window,"unload",D._unload);D._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(K,J){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(K.shiftKey==F.shift&&K.altKey==F.alt&&K.ctrlKey==F.ctrl){var H;var G;if(F.keys instanceof Array){for(var I=0;I<F.keys.length;I++){H=F.keys[I];if(H==K.charCode){D.fire(K.charCode,K);break;}else{if(H==K.keyCode){D.fire(K.keyCode,K);break;}}}}else{H=F.keys;if(H==K.charCode){D.fire(K.charCode,K);}else{if(H==K.keyCode){D.fire(K.keyCode,K);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.register("event",YAHOO.util.Event,{version:"2.3.1",build:"541"});
YAHOO.widget.Logger={loggerEnabled:true,_firebugEnabled:true,categories:["info","warn","error","time","window"],sources:["global"],_stack:[],_startTime:new Date().getTime(),_lastTime:null};YAHOO.widget.Logger.categoryCreateEvent=new YAHOO.util.CustomEvent("categoryCreate",this,true);YAHOO.widget.Logger.sourceCreateEvent=new YAHOO.util.CustomEvent("sourceCreate",this,true);YAHOO.widget.Logger.newLogEvent=new YAHOO.util.CustomEvent("newLog",this,true);YAHOO.widget.Logger.logResetEvent=new YAHOO.util.CustomEvent("logReset",this,true);YAHOO.widget.Logger.log=function(sMsg,sCategory,sSource){if(this.loggerEnabled){if(!sCategory){sCategory="info";}
else if(this._isNewCategory(sCategory)){this._createNewCategory(sCategory);}
var sClass="global";var sDetail=null;if(sSource){var spaceIndex=sSource.indexOf(" ");if(spaceIndex>0){sClass=sSource.substring(0,spaceIndex);sDetail=sSource.substring(spaceIndex,sSource.length);}
else{sClass=sSource;}
if(this._isNewSource(sClass)){this._createNewSource(sClass);}}
var timestamp=new Date();var logEntry={time:timestamp,category:sCategory,source:sClass,sourceDetail:sDetail,msg:sMsg};this._stack.push(logEntry);this.newLogEvent.fire(logEntry);if(this._firebugEnabled){this._printToFirebug(logEntry);}
return true;}
else{return false;}};YAHOO.widget.Logger.reset=function(){this._stack=[];this._startTime=new Date().getTime();this.loggerEnabled=true;this.log(null,"Logger reset");this.logResetEvent.fire();};YAHOO.widget.Logger.getStack=function(){return this._stack;};YAHOO.widget.Logger.getStartTime=function(){return this._startTime;};YAHOO.widget.Logger.disableFirebug=function(){YAHOO.log("YAHOO.Logger output to Firebug has been disabled.");this._firebugEnabled=false;};YAHOO.widget.Logger.enableFirebug=function(){this._firebugEnabled=true;YAHOO.log("YAHOO.Logger output to Firebug has been enabled.");};YAHOO.widget.Logger._createNewCategory=function(category){this.categories.push(category);this.categoryCreateEvent.fire(category);};YAHOO.widget.Logger._isNewCategory=function(category){for(var i=0;i<this.categories.length;i++){if(category==this.categories[i]){return false;}}
return true;};YAHOO.widget.Logger._createNewSource=function(source){this.sources.push(source);this.sourceCreateEvent.fire(source);};YAHOO.widget.Logger._isNewSource=function(source){if(source){for(var i=0;i<this.sources.length;i++){if(source==this.sources[i]){return false;}}
return true;}};YAHOO.widget.Logger._printToFirebug=function(entry){if(window.console&&console.log){var category=entry.category;var label=entry.category.substring(0,4).toUpperCase();var time=entry.time;if(time.toLocaleTimeString){var localTime=time.toLocaleTimeString();}
else{localTime=time.toString();}
var msecs=time.getTime();var elapsedTime=(YAHOO.widget.Logger._lastTime)?(msecs-YAHOO.widget.Logger._lastTime):0;YAHOO.widget.Logger._lastTime=msecs;var output=localTime+" ("+
elapsedTime+"ms): "+
entry.source+": "+
entry.msg;console.log(output);}};YAHOO.widget.Logger._onWindowError=function(msg,url,line){try{YAHOO.widget.Logger.log(msg+' ('+url+', line '+line+')',"window");if(YAHOO.widget.Logger._origOnWindowError){YAHOO.widget.Logger._origOnWindowError();}}
catch(e){return false;}};if(window.onerror){YAHOO.widget.Logger._origOnWindowError=window.onerror;}
window.onerror=YAHOO.widget.Logger._onWindowError;YAHOO.widget.Logger.log("Logger initialized");YAHOO.widget.LogWriter=function(sSource){if(!sSource){YAHOO.log("Could not instantiate LogWriter due to invalid source.","error","LogWriter");return;}
this._source=sSource;};YAHOO.widget.LogWriter.prototype.toString=function(){return"LogWriter "+this._sSource;};YAHOO.widget.LogWriter.prototype.log=function(sMsg,sCategory){YAHOO.widget.Logger.log(sMsg,sCategory,this._source);};YAHOO.widget.LogWriter.prototype.getSource=function(){return this._sSource;};YAHOO.widget.LogWriter.prototype.setSource=function(sSource){if(!sSource){YAHOO.log("Could not set source due to invalid source.","error",this.toString());return;}
else{this._sSource=sSource;}};YAHOO.widget.LogWriter.prototype._source=null;YAHOO.widget.LogReader=function(containerEl,oConfig){var oSelf=this;if(typeof oConfig=="object"){for(var param in oConfig){this[param]=oConfig[param];}}
if(containerEl){if(typeof containerEl=="string"){this._containerEl=document.getElementById(containerEl);}
else if(containerEl.tagName){this._containerEl=containerEl;}
this._containerEl.className="yui-log";}
if(!this._containerEl){if(YAHOO.widget.LogReader._defaultContainerEl){this._containerEl=YAHOO.widget.LogReader._defaultContainerEl;}
else{this._containerEl=document.body.appendChild(document.createElement("div"));this._containerEl.id="yui-log";this._containerEl.className="yui-log";YAHOO.widget.LogReader._defaultContainerEl=this._containerEl;}
var containerStyle=this._containerEl.style;if(this.width){containerStyle.width=this.width;}
if(this.left){containerStyle.left=this.left;}
if(this.right){containerStyle.right=this.right;}
if(this.bottom){containerStyle.bottom=this.bottom;}
if(this.top){containerStyle.top=this.top;}
if(this.fontSize){containerStyle.fontSize=this.fontSize;}}
if(this._containerEl){if(!this._hdEl){this._hdEl=this._containerEl.appendChild(document.createElement("div"));this._hdEl.id="yui-log-hd"+YAHOO.widget.LogReader._index;this._hdEl.className="yui-log-hd";this._collapseEl=this._hdEl.appendChild(document.createElement("div"));this._collapseEl.className="yui-log-btns";this._collapseBtn=document.createElement("input");this._collapseBtn.type="button";this._collapseBtn.style.fontSize=YAHOO.util.Dom.getStyle(this._containerEl,"fontSize");this._collapseBtn.className="yui-log-button";this._collapseBtn.value="Collapse";this._collapseBtn=this._collapseEl.appendChild(this._collapseBtn);YAHOO.util.Event.addListener(oSelf._collapseBtn,'click',oSelf._onClickCollapseBtn,oSelf);this._title=this._hdEl.appendChild(document.createElement("h4"));this._title.innerHTML="Logger Console";if(YAHOO.util.DD&&(YAHOO.widget.LogReader._defaultContainerEl==this._containerEl)){var ylog_dd=new YAHOO.util.DD(this._containerEl.id);ylog_dd.setHandleElId(this._hdEl.id);this._hdEl.style.cursor="move";}}
if(!this._consoleEl){this._consoleEl=this._containerEl.appendChild(document.createElement("div"));this._consoleEl.className="yui-log-bd";if(this.height){this._consoleEl.style.height=this.height;}}
if(!this._ftEl&&this.footerEnabled){this._ftEl=this._containerEl.appendChild(document.createElement("div"));this._ftEl.className="yui-log-ft";this._btnsEl=this._ftEl.appendChild(document.createElement("div"));this._btnsEl.className="yui-log-btns";this._pauseBtn=document.createElement("input");this._pauseBtn.type="button";this._pauseBtn.style.fontSize=YAHOO.util.Dom.getStyle(this._containerEl,"fontSize");this._pauseBtn.className="yui-log-button";this._pauseBtn.value="Pause";this._pauseBtn=this._btnsEl.appendChild(this._pauseBtn);YAHOO.util.Event.addListener(oSelf._pauseBtn,'click',oSelf._onClickPauseBtn,oSelf);this._clearBtn=document.createElement("input");this._clearBtn.type="button";this._clearBtn.style.fontSize=YAHOO.util.Dom.getStyle(this._containerEl,"fontSize");this._clearBtn.className="yui-log-button";this._clearBtn.value="Clear";this._clearBtn=this._btnsEl.appendChild(this._clearBtn);YAHOO.util.Event.addListener(oSelf._clearBtn,'click',oSelf._onClickClearBtn,oSelf);this._categoryFiltersEl=this._ftEl.appendChild(document.createElement("div"));this._categoryFiltersEl.className="yui-log-categoryfilters";this._sourceFiltersEl=this._ftEl.appendChild(document.createElement("div"));this._sourceFiltersEl.className="yui-log-sourcefilters";}}
if(!this._buffer){this._buffer=[];}
YAHOO.widget.Logger.newLogEvent.subscribe(this._onNewLog,this);this._lastTime=YAHOO.widget.Logger.getStartTime();this._categoryFilters=[];var catsLen=YAHOO.widget.Logger.categories.length;if(this._categoryFiltersEl){for(var i=0;i<catsLen;i++){this._createCategoryCheckbox(YAHOO.widget.Logger.categories[i]);}}
this._sourceFilters=[];var sourcesLen=YAHOO.widget.Logger.sources.length;if(this._sourceFiltersEl){for(var j=0;j<sourcesLen;j++){this._createSourceCheckbox(YAHOO.widget.Logger.sources[j]);}}
YAHOO.widget.Logger.categoryCreateEvent.subscribe(this._onCategoryCreate,this);YAHOO.widget.Logger.sourceCreateEvent.subscribe(this._onSourceCreate,this);YAHOO.widget.LogReader._index++;this._filterLogs();};YAHOO.widget.LogReader.prototype.logReaderEnabled=true;YAHOO.widget.LogReader.prototype.width=null;YAHOO.widget.LogReader.prototype.height=null;YAHOO.widget.LogReader.prototype.top=null;YAHOO.widget.LogReader.prototype.left=null;YAHOO.widget.LogReader.prototype.right=null;YAHOO.widget.LogReader.prototype.bottom=null;YAHOO.widget.LogReader.prototype.fontSize=null;YAHOO.widget.LogReader.prototype.footerEnabled=true;YAHOO.widget.LogReader.prototype.verboseOutput=true;YAHOO.widget.LogReader.prototype.newestOnTop=true;YAHOO.widget.LogReader.prototype.pause=function(){this._timeout=null;this.logReaderEnabled=false;};YAHOO.widget.LogReader.prototype.resume=function(){this.logReaderEnabled=true;this._printBuffer();};YAHOO.widget.LogReader.prototype.hide=function(){this._containerEl.style.display="none";};YAHOO.widget.LogReader.prototype.show=function(){this._containerEl.style.display="block";};YAHOO.widget.LogReader.prototype.setTitle=function(sTitle){var regEx=/>/g;sTitle=sTitle.replace(regEx,"&gt;");regEx=/</g;sTitle=sTitle.replace(regEx,"&lt;");this._title.innerHTML=(sTitle);};YAHOO.widget.LogReader._index=0;YAHOO.widget.LogReader._defaultContainerEl=null;YAHOO.widget.LogReader.prototype._buffer=null;YAHOO.widget.LogReader.prototype._lastTime=null;YAHOO.widget.LogReader.prototype._timeout=null;YAHOO.widget.LogReader.prototype._categoryFilters=null;YAHOO.widget.LogReader.prototype._sourceFilters=null;YAHOO.widget.LogReader.prototype._containerEl=null;YAHOO.widget.LogReader.prototype._hdEl=null;YAHOO.widget.LogReader.prototype._collapseEl=null;YAHOO.widget.LogReader.prototype._collapseBtn=null;YAHOO.widget.LogReader.prototype._title=null;YAHOO.widget.LogReader.prototype._consoleEl=null;YAHOO.widget.LogReader.prototype._ftEl=null;YAHOO.widget.LogReader.prototype._btnsEl=null;YAHOO.widget.LogReader.prototype._categoryFiltersEl=null;YAHOO.widget.LogReader.prototype._sourceFiltersEl=null;YAHOO.widget.LogReader.prototype._pauseBtn=null;YAHOO.widget.LogReader.prototype._clearBtn=null;YAHOO.widget.LogReader.prototype._createCategoryCheckbox=function(category){var oSelf=this;if(this._ftEl){var parentEl=this._categoryFiltersEl;var filters=this._categoryFilters;var filterEl=parentEl.appendChild(document.createElement("span"));filterEl.className="yui-log-filtergrp";var categoryChk=document.createElement("input");categoryChk.id="yui-log-filter-"+category+YAHOO.widget.LogReader._index;categoryChk.className="yui-log-filter-"+category;categoryChk.type="checkbox";categoryChk.category=category;categoryChk=filterEl.appendChild(categoryChk);categoryChk.checked=true;filters.push(category);YAHOO.util.Event.addListener(categoryChk,'click',oSelf._onCheckCategory,oSelf);var categoryChkLbl=filterEl.appendChild(document.createElement("label"));categoryChkLbl.htmlFor=categoryChk.id;categoryChkLbl.className=category;categoryChkLbl.innerHTML=category;}};YAHOO.widget.LogReader.prototype._createSourceCheckbox=function(source){var oSelf=this;if(this._ftEl){var parentEl=this._sourceFiltersEl;var filters=this._sourceFilters;var filterEl=parentEl.appendChild(document.createElement("span"));filterEl.className="yui-log-filtergrp";var sourceChk=document.createElement("input");sourceChk.id="yui-log-filter"+source+YAHOO.widget.LogReader._index;sourceChk.className="yui-log-filter"+source;sourceChk.type="checkbox";sourceChk.source=source;sourceChk=filterEl.appendChild(sourceChk);sourceChk.checked=true;filters.push(source);YAHOO.util.Event.addListener(sourceChk,'click',oSelf._onCheckSource,oSelf);var sourceChkLbl=filterEl.appendChild(document.createElement("label"));sourceChkLbl.htmlFor=sourceChk.id;sourceChkLbl.className=source;sourceChkLbl.innerHTML=source;}};YAHOO.widget.LogReader.prototype._filterLogs=function(){if(this._consoleEl!==null){this._clearConsole();this._printToConsole(YAHOO.widget.Logger.getStack());}};YAHOO.widget.LogReader.prototype._clearConsole=function(){this._timeout=null;this._buffer=[];this._lastTime=YAHOO.widget.Logger.getStartTime();var consoleEl=this._consoleEl;while(consoleEl.hasChildNodes()){consoleEl.removeChild(consoleEl.firstChild);}};YAHOO.widget.LogReader.prototype._printBuffer=function(){this._timeout=null;if(this._consoleEl!==null){var entries=[];for(var i=0;i<this._buffer.length;i++){entries[i]=this._buffer[i];}
this._buffer=[];this._printToConsole(entries);if(!this.newestOnTop){this._consoleEl.scrollTop=this._consoleEl.scrollHeight;}}};YAHOO.widget.LogReader.prototype._printToConsole=function(aEntries){var entriesLen=aEntries.length;var sourceFiltersLen=this._sourceFilters.length;var categoryFiltersLen=this._categoryFilters.length;for(var i=0;i<entriesLen;i++){var entry=aEntries[i];var category=entry.category;var source=entry.source;var sourceDetail=entry.sourceDetail;var okToPrint=false;var okToFilterCats=false;for(var j=0;j<sourceFiltersLen;j++){if(source==this._sourceFilters[j]){okToFilterCats=true;break;}}
if(okToFilterCats){for(var k=0;k<categoryFiltersLen;k++){if(category==this._categoryFilters[k]){okToPrint=true;break;}}}
if(okToPrint){var label=entry.category.substring(0,4).toUpperCase();var time=entry.time;if(time.toLocaleTimeString){var localTime=time.toLocaleTimeString();}
else{localTime=time.toString();}
var msecs=time.getTime();var startTime=YAHOO.widget.Logger.getStartTime();var totalTime=msecs-startTime;var elapsedTime=msecs-this._lastTime;this._lastTime=msecs;var verboseOutput=(this.verboseOutput)?"<br>":"";var sourceAndDetail=(sourceDetail)?source+" "+sourceDetail:source;var output="<span class='"+category+"'>"+label+"</span> "+
totalTime+"ms (+"+
elapsedTime+") "+localTime+": "+
sourceAndDetail+": "+
verboseOutput+
entry.msg;var oNewElement=(this.newestOnTop)?this._consoleEl.insertBefore(document.createElement("p"),this._consoleEl.firstChild):this._consoleEl.appendChild(document.createElement("p"));oNewElement.innerHTML=output;}}};YAHOO.widget.LogReader.prototype._onCategoryCreate=function(type,args,oSelf){var category=args[0];if(oSelf._ftEl){oSelf._createCategoryCheckbox(category);}};YAHOO.widget.LogReader.prototype._onSourceCreate=function(type,args,oSelf){var source=args[0];if(oSelf._ftEl){oSelf._createSourceCheckbox(source);}};YAHOO.widget.LogReader.prototype._onCheckCategory=function(v,oSelf){var newFilter=this.category;var filtersArray=oSelf._categoryFilters;if(!this.checked){for(var i=0;i<filtersArray.length;i++){if(newFilter==filtersArray[i]){filtersArray.splice(i,1);break;}}}
else{filtersArray.push(newFilter);}
oSelf._filterLogs();};YAHOO.widget.LogReader.prototype._onCheckSource=function(v,oSelf){var newFilter=this.source;var filtersArray=oSelf._sourceFilters;if(!this.checked){for(var i=0;i<filtersArray.length;i++){if(newFilter==filtersArray[i]){filtersArray.splice(i,1);break;}}}
else{filtersArray.push(newFilter);}
oSelf._filterLogs();};YAHOO.widget.LogReader.prototype._onClickCollapseBtn=function(v,oSelf){var btn=oSelf._collapseBtn;if(btn.value=="Expand"){oSelf._consoleEl.style.display="block";if(oSelf._ftEl){oSelf._ftEl.style.display="block";}
btn.value="Collapse";}
else{oSelf._consoleEl.style.display="none";if(oSelf._ftEl){oSelf._ftEl.style.display="none";}
btn.value="Expand";}};YAHOO.widget.LogReader.prototype._onClickPauseBtn=function(v,oSelf){var btn=oSelf._pauseBtn;if(btn.value=="Resume"){oSelf.resume();btn.value="Pause";}
else{oSelf.pause();btn.value="Resume";}};YAHOO.widget.LogReader.prototype._onClickClearBtn=function(v,oSelf){oSelf._clearConsole();};YAHOO.widget.LogReader.prototype._onNewLog=function(type,args,oSelf){var logEntry=args[0];oSelf._buffer.push(logEntry);if(oSelf.logReaderEnabled===true&&oSelf._timeout===null){oSelf._timeout=setTimeout(function(){oSelf._printBuffer();},100);}};
var hex_chr="0123456789abcdef";function hex(num)
{var str="";for(var j=7;j>=0;j--)
str+=hex_chr.charAt((num>>(j*4))&0x0F);return str;}
function str2blks_SHA1(str)
{var nblk=((str.length+8)>>6)+1;var blks=new Array(nblk*16);for(var i=0;i<nblk*16;i++)blks[i]=0;for(var i=0;i<str.length;i++){blks[i>>2]|=str.charCodeAt(i)<<(24-(i%4)*8);}
blks[i>>2]|=0x80<<(24-(i%4)*8);blks[nblk*16-1]=str.length*8;return blks;}
function safe_add(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
function rol(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));}
function ft(t,b,c,d)
{if(t<20)return(b&c)|((~b)&d);if(t<40)return b^c^d;if(t<60)return(b&c)|(b&d)|(c&d);return b^c^d;}
function kt(t)
{return(t<20)?1518500249:(t<40)?1859775393:(t<60)?-1894007588:-899497514;}
function calcSHA1(str)
{var x=str2blks_SHA1(str);var w=new Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++)
{if(j<16)w[j]=x[i+j];else w[j]=rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=safe_add(safe_add(rol(a,5),ft(j,b,c,d)),safe_add(safe_add(e,w[j]),kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t;}
a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);e=safe_add(e,olde);}
return hex(a)+hex(b)+hex(c)+hex(d)+hex(e);}
var Chain=Class.create();Chain.prototype={i:0,chain:function(fn){this.chains=this.chains||$A();this.chains.push(fn);return this;},callChain:function(){if(this.chains&&this.chains.length){var fn=this.chains.shift()
window.setTimeout(fn,10);}},clearChain:function(){this.chains=$A();}};function $merge(){var mix={};for(var i=0;i<arguments.length;i++){for(var property in arguments[i]){var ap=arguments[i][property];var mp=mix[property];if(mp&&$type(ap)=='object'&&$type(mp)=='object')mix[property]=$merge(mp,ap);else mix[property]=ap;}}
return mix;};function $type(obj){if(!$defined(obj))return false;if(obj.htmlElement)return'element';var type=typeof obj;if(type=='object'&&obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return(/\S/).test(obj.nodeValue)?'textnode':'whitespace';}}
if(type=='object'||type=='function'){switch(obj.constructor){case Array:return'array';case RegExp:return'regexp';case Class:return'class';}
if(typeof obj.length=='number'){if(obj.item)return'collection';if(obj.callee)return'arguments';}}
return type;};function $defined(obj){return(obj!=undefined);};
var Scriptaculous={Version:'1.8.1',require:function(libraryName){document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');},REQUIRED_PROTOTYPE:'1.6.0',load:function(){function convertVersionString(versionString){var r=versionString.split('.');return parseInt(r[0])*100000+parseInt(r[1])*1000+parseInt(r[2]);}
if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||(convertVersionString(Prototype.Version)<convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw("script.aculo.us requires the Prototype JavaScript framework >= "+
Scriptaculous.REQUIRED_PROTOTYPE);$A(document.getElementsByTagName("script")).findAll(function(s){return(s.src&&s.src.match(/scriptaculous\.js(\?.*)?$/))}).each(function(s){var path=s.src.replace(/scriptaculous\.js(\?.*)?$/,'');var includes=s.src.match(/\?.*load=([a-z,]*)/);(includes?includes[1]:'builder,effects,dragdrop,controls,slider,sound').split(',').each(function(include){Scriptaculous.require(path+include+'.js')});});}}
Scriptaculous.load();
String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element;};Element.getInlineOpacity=function(element){return $(element).style.opacity||'';};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},Transitions:{linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;return pos>1?1:pos;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;},pulse:function(pos,pulses){pulses=pulses||5;return(((pos%(1/pulses))*pulses).round()==0?((pos*pulses*2)-(pos*pulses*2).floor()):1-((pos*pulses*2)-(pos*pulses*2).floor()));},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6));},none:function(pos){return 0;},full:function(pos){return 1;}},DefaultOptions:{duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'},tagifyText:function(element){var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element('span',{style:tagifyStyle}).update(character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||Object.isFunction(element))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
this.effects[i]&&this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName))return queueName;return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get('global');Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+'Internal']?'this.options.'+eventName+'Internal(this);':'')+
(options[eventName]?'this.options.'+eventName+'(this);':''));}
if(options&&options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ '+'if (this.state=="idle"){this.state="running";'+
codeForEvent(this.options,'beforeSetup')+
(this.setup?'this.setup();':'')+
codeForEvent(this.options,'afterSetup')+'};if (this.state=="running"){'+'pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';'+'this.position=pos;'+
codeForEvent(this.options,'beforeUpdate')+
(this.update?'this.update(pos);':'')+
codeForEvent(this.options,'afterUpdate')+'}}');this.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(!Object.isFunction(this[property]))data.set(property,this[property]);return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value};this.start(Object.extend({from:from,to:to},options||{}));},update:function(position){this.method(position);}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}));},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){this.element.setStyle({left:(this.options.x*position+this.originalLeft).round()+'px',top:(this.options.y*position+this.originalTop).round()+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width.round()+'px';if(this.options.scaleY)d.height=height.round()+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'});}
if(!this.options.endcolor)
this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)
this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset(),max=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(options.offset)elementOffsets[1]+=options.offset;return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1]>max?max:elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round())});};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element)},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}})}},arguments[1]||{}));};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));};Effect.Shake=function(element){element=$(element);var options=Object.extend({distance:20,duration:0.5},arguments[1]||{});var distance=parseFloat(options.distance);var split=parseFloat(options.duration)/10.0;var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}})}})}})}})}})}});};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options))}});};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style))this.style=$H(options.style);else{if(options.style.include(':'))
this.style=options.style.parseStyle();else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key];});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]='';});}}}
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)});}
this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;}
var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit};}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))});},update:function(position){var style={},transform,i=this.transforms.length;while(i--)
style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+
(Math.round(transform.originalValue[0]+
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+
(Math.round(transform.originalValue[1]+
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+
(Math.round(transform.originalValue[2]+
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+
(transform.targetValue-transform.originalValue)*position).toFixed(3)+
(transform.unit===null?'':transform.unit);this.element.setStyle(style,true);}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get('ids'),effect=track.get('effect'),options=track.get('options');var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))});}).flatten(),this.options);}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement('div');String.prototype.parseStyle=function(){var style,styleRules=$H();if(Prototype.Browser.WebKit)
style=new Element('div',{style:this}).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style;}
Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules.set(property,style[property]);});if(Prototype.Browser.IE&&this.include('opacity'))
styleRules.set('opacity',this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return styleRules;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];return styles;});};}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(results,property){results[property]=css[property];return results;});if(!styles.opacity)styles.opacity=element.getOpacity();return styles;};};Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;},visualEffect:function(element,effect,options){element=$(element)
var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element;},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element;}};$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+'pulsate shake puff squish switchOff dropOut').each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element;}});$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(function(f){Effect.Methods[f]=Element[f];});Element.addMethods(Effect.Methods);
if(!Control)var Control={};Control.Slider=Class.create({initialize:function(handle,track,options){var slider=this;if(Object.isArray(handle)){this.handles=handle.collect(function(e){return $(e)});}else{this.handles=[$(handle)];}
this.track=$(track);this.options=options||{};this.axis=this.options.axis||'horizontal';this.increment=this.options.increment||1;this.step=parseInt(this.options.step||'1');this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(s){return $(s)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||'0');this.alignY=parseInt(this.options.alignY||'0');this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled)this.setDisabled();this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max();}
this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(h,i){i=slider.handles.length-1-i;slider.setValue(parseFloat((Object.isArray(slider.options.sliderValue)?slider.options.sliderValue[i]:slider.options.sliderValue)||slider.range.start),i);h.makePositioned().observe("mousedown",slider.eventMouseDown);});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true;},dispose:function(){var slider=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(h){Event.stopObserving(h,"mousedown",slider.eventMouseDown);});},setDisabled:function(){this.disabled=true;},setEnabled:function(){this.disabled=false;},getNearestValue:function(value){if(this.allowedValues){if(value>=this.allowedValues.max())return(this.allowedValues.max());if(value<=this.allowedValues.min())return(this.allowedValues.min());var offset=Math.abs(this.allowedValues[0]-value);var newValue=this.allowedValues[0];this.allowedValues.each(function(v){var currentOffset=Math.abs(v-value);if(currentOffset<=offset){newValue=v;offset=currentOffset;}});return newValue;}
if(value>this.range.end)return this.range.end;if(value<this.range.start)return this.range.start;return value;},setValue:function(sliderValue,handleIdx){if(!this.active){this.activeHandleIdx=handleIdx||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles();}
handleIdx=handleIdx||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((handleIdx>0)&&(sliderValue<this.values[handleIdx-1]))
sliderValue=this.values[handleIdx-1];if((handleIdx<(this.handles.length-1))&&(sliderValue>this.values[handleIdx+1]))
sliderValue=this.values[handleIdx+1];}
sliderValue=this.getNearestValue(sliderValue);this.values[handleIdx]=sliderValue;this.value=this.values[0];this.handles[handleIdx].style[this.isVertical()?'top':'left']=this.translateToPx(sliderValue);this.drawSpans();if(!this.dragging||!this.event)this.updateFinished();},setValueBy:function(delta,handleIdx){this.setValue(this.values[handleIdx||this.activeHandleIdx||0]+delta,handleIdx||this.activeHandleIdx||0);},translateToPx:function(value){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(value-this.range.start))+"px";},translateToValue:function(offset){return((offset/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start);},getRange:function(range){var v=this.values.sortBy(Prototype.K);range=range||0;return $R(v[range],v[range+1]);},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX);},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX);},isVertical:function(){return(this.axis=='vertical');},drawSpans:function(){var slider=this;if(this.spans)
$R(0,this.spans.length-1).each(function(r){slider.setSpan(slider.spans[r],slider.getRange(r))});if(this.options.startSpan)
this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value));if(this.options.endSpan)
this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum));},setSpan:function(span,range){if(this.isVertical()){span.style.top=this.translateToPx(range.start);span.style.height=this.translateToPx(range.end-range.start+this.range.start);}else{span.style.left=this.translateToPx(range.start);span.style.width=this.translateToPx(range.end-range.start+this.range.start);}},updateStyles:function(){this.handles.each(function(h){Element.removeClassName(h,'selected')});Element.addClassName(this.activeHandle,'selected');},startDrag:function(event){if(Event.isLeftClick(event)){if(!this.disabled){this.active=true;var handle=Event.element(event);var pointer=[Event.pointerX(event),Event.pointerY(event)];var track=handle;if(track==this.track){var offsets=Position.cumulativeOffset(this.track);this.event=event;this.setValue(this.translateToValue((this.isVertical()?pointer[1]-offsets[1]:pointer[0]-offsets[0])-(this.handleLength/2)));var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}else{while((this.handles.indexOf(handle)==-1)&&handle.parentNode)
handle=handle.parentNode;if(this.handles.indexOf(handle)!=-1){this.activeHandle=handle;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}}}
Event.stop(event);}},update:function(event){if(this.active){if(!this.dragging)this.dragging=true;this.draw(event);if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);}},draw:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var offsets=Position.cumulativeOffset(this.track);pointer[0]-=this.offsetX+offsets[0];pointer[1]-=this.offsetY+offsets[1];this.event=event;this.setValue(this.translateToValue(this.isVertical()?pointer[1]:pointer[0]));if(this.initialized&&this.options.onSlide)
this.options.onSlide(this.values.length>1?this.values:this.value,this);},endDrag:function(event){if(this.active&&this.dragging){this.finishDrag(event,true);Event.stop(event);}
this.active=false;this.dragging=false;},finishDrag:function(event,success){this.active=false;this.dragging=false;this.updateFinished();},updateFinished:function(){if(this.initialized&&this.options.onChange)
this.options.onChange(this.values.length>1?this.values:this.value,this);this.event=null;}});
var Gr0wl={Base:Class.create(),Smoke:null,Bezel:null};Gr0wl.Base.prototype={image:null,block:null,options:{image:'js/growl/growl.jpg',title:'Window.Growl by Daniel Mota',text:'http://icebeat.bitacoras.com',duration:2},initialize:function(image){this.image=document.createElement("img");this.image.src=image||this.options.image;return this;},create:function(styles){document.body.appendChild(this.image);$(this.image).setStyle({'position':'absolute','display':'none'}).setOpacity(0);this.block=document.createElement('div');var hstyle=$H({position:'absolute',display:'none',zIndex:'999',color:'#fff',font:'12px/14px "Lucida Grande", Arial, Helvetica, Verdana, sans-serif'}).merge(styles.div);hstyle.each(function(pair){this.block.style[pair.key]=pair.value;}.bind(this));document.body.appendChild(this.block);$(this.block).setOpacity(0);var tmp=document.createElement('img');this.block.appendChild(tmp);$(tmp).setStyle(styles.img);tmp=document.createElement('h3');this.block.appendChild(tmp);$(tmp).setStyle(styles.h3);tmp=document.createElement('p');this.block.appendChild(tmp);$(tmp).setStyle(styles.p);return this;},show:function(child,options){options=$merge(this.options,options);var elements=$A();$A([this.image,this.block]).each(function(element,contents){var el=$(element.cloneNode(contents!==false));if(el.$events){el.$events={};for(var type in element.$events)el.$events[type]={'keys':$A(element.$events[type].keys),'values':$A(element.$events[type].values)};el.removeEvents();}
elements.push(el);});elements.each(function(e,i){document.body.appendChild(e);$H(options.position).each(function(pair){e.style[pair.key]=pair.value;}.bind(this));if(i){var el=e.childElements().first();el.src=options.image;el.next().innerHTML=options.title;el.next().next().innerHTML=options.text;}
new Effect.Opacity(e,{duration:0.4,transition:Effect.Transitions.linear,from:0.0,to:0.75});});window.setTimeout(child.hide.bind(child,elements),options.duration*1000);return elements;},hide:function(elements,effect){elements.each(function(e){new Effect.Opacity(e,{duration:0.4,transition:Effect.Transitions.linear,from:0.75,to:0.0,afterFinish:function(obj){try{elements[0].remove();elements[1].remove();}catch(e){YAHOO.log(e);}}});});}};Gr0wl.Smoke=Class.create(Gr0wl.Base,{initialize:function($super,_img){$super(_img);this.queue=$A();this.parent=new Gr0wl.Base(_img);this.parent.create({div:{width:'298px',height:'73px'},img:{'float':'left',margin:'12px'},h3:{margin:'0',padding:'10px 0px',fontSize:'13px'},p:{margin:'0px 10px',fontSize:'12px'}});},show:function(options){var last=this.queue.size(),delta=document.viewport.getScrollOffsets().top+10+(last*83);options.position={'top':delta+'px','right':'10px','display':'block'};var elements=this.parent.show(this,options);this.queue.push(elements);},hide:function(elements){this.queue=this.queue.without(elements);this.queue.each(function(el){if(!Prototype.Browser.WebKit){new Effect.Move(el[0],{x:0,y:-83,mode:'relative'});new Effect.Move(el[1],{x:0,y:-83,mode:'relative'});}})
this.parent.hide(elements,{'opacity':0});}});Gr0wl.Bezel=Class.create(Gr0wl.Base,{initialize:function($super,_img){$super(_img);this.i=0;this.parent=new Gr0wl.Base(_img);this.parent.create({div:{width:'211px',height:'206px',textAlign:'center'},img:{marginTop:'25px'},h3:{margin:'0',padding:'0px',paddingTop:'22px',fontSize:'14px'},p:{margin:'15px',fontSize:'12px'}});},show:function(options){var top=document.viewport.getScrollOffsets().top+(document.viewport.getHeight()/2)-105,left=document.viewport.getScrollOffsets().left+(document.viewport.getWidth()/2)-103;if(document.viewport.getHeight()==0&&document.body.clientHeight>0)
top=document.viewport.getScrollOffsets().top+(document.body.clientHeight/2)-105;if(document.viewport.getWidth()==0&&document.body.clientWidth>0)
left=document.viewport.getScrollOffsets().left+(document.body.clientWidth/2)-103;options.position={'top':top+'px','left':left+'px','display':'block'};this.i++;this.chain(this.parent.show.bind(this.parent,this,options));if(this.i==1)this.callChain();},hide:function(elements){window.setTimeout(this.queue.bind(this),400);new Effect.Move(elements[0],{x:0,y:50,mode:'relative'});new Effect.Move(elements[1],{x:0,y:50,mode:'relative'});this.parent.hide(elements,{'opacity':0,'margin-top':[0,50]});},queue:function(){this.i--;this.callChain();}});Gr0wl.Bezel.addMethods(Chain.prototype);var Growl=function(options){if(Growl[options.type])Growl[options.type].call(options);else Growl.Smoke(options);};document.observe("dom:loaded",function(){Growl.Smoke=new Gr0wl.Smoke('js/growl/smoke.png');Growl.Bezel=new Gr0wl.Bezel('js/growl/bezel.png');});
var AutoComplete=Class.create();AutoComplete.prototype={Version:'1.3.0',REQUIRED_PROTOTYPE:'1.6.0',initialize:function(id,param){this.PROTOTYPE_CHECK();this.fld=$(id);if(!this.fld)
{throw("AutoComplete requires a field id to initialize");}
this.sInp="";this.nInpC=0;this.aSug=[];this.iHigh=0;this.sugSelected=false;this.options=param?param:{};var k,def={valueSep:null,minchars:1,meth:"get",varname:"input",className:"autocomplete",timeout:3000,delay:500,offsety:-5,shownoresults:true,noresults:"No results were found.",onfocus:"Start typing...",maxheight:250,cache:true,maxentries:25,onAjaxError:null,setWidth:false,minWidth:100,maxWidth:200,useNotifier:true};for(k in def)
{if(typeof(this.options[k])!=typeof(def[k]))
this.options[k]=def[k];}
if(this.options.useNotifier)
{this.fld.addClassName('ac_field');}
var p=this;this.fld.onkeypress=this.onKeyPress.bindAsEventListener(this);this.fld.onkeyup=this.onKeyUp.bindAsEventListener(this);this.fld.onfocus=this.onFldFocus.bindAsEventListener(this);this.fld.onblur=this.onFldBlur.bindAsEventListener(this);this.fld.setAttribute("AutoComplete","off");},convertVersionString:function(versionString){var r=versionString.split('.');return parseInt(r[0])*100000+parseInt(r[1])*1000+parseInt(r[2]);},PROTOTYPE_CHECK:function(){if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||(this.convertVersionString(Prototype.Version)<this.convertVersionString(this.REQUIRED_PROTOTYPE)))
throw("AutoComplete requires the Prototype JavaScript framework >= "+this.REQUIRED_PROTOTYPE);},onFldFocus:function(e){if(this.sugSelected)
{this.fld.value="";this.sInp="";this.sugSelected=false;this.options.callback("");}
if(this.sInp==""||this.sInp==null)
this.setSuggestions(null,null);else this.onKeyUp(e);},onFldBlur:function(e){if(this.fld.value==""||this.fld.value==null)
this.clearSuggestions();else this.resetTimeout();return true;},onKeyPress:function(e){if(!e)e=window.event;var key=e.keyCode||e.wich;switch(key)
{case Event.KEY_RETURN:this.setHighlightedValue();Event.stop(e);break;case Event.KEY_TAB:this.setHighlightedValue();break;case Event.KEY_ESC:this.clearSuggestions();break;}
return true;},onKeyUp:function(e){if(!e)e=window.event;var key=e.keyCode||e.wich;if(key==Event.KEY_UP||key==Event.KEY_DOWN)
{this.changeHighlight(key);Event.stop(e);}
else this.getSuggestions(this.fld.value);return true;},getSuggestions:function(val){if(val==this.sInp)return false;if($(this.acID))$(this.acID).remove();this.sInp=val;if(val.length<this.options.minchars)
{this.aSug=[];this.nInpC=val.length;return false;}
var ol=this.nInpC;this.nInpC=val.length?val.length:0;var l=this.aSug.length;if(this.options.cache&&(this.nInpC>ol)&&l&&(l<this.options.maxentries))
{var arr=new Array();for(var i=0;i<l;i++){if(this.aSug[i][Aparicio.META_LABEL].toLowerCase().indexOf(val.toLowerCase())!=-1)
{arr.push(this.aSug[i]);}}
this.aSug=arr;this.createList(this.aSug);}else{clearTimeout(this.ajID);this.ajID=setTimeout(function(){this.doAjaxRequest(this.sInp)}.bind(this),this.options.delay);}
document.helper=this;return false;},getLastInput:function(str){var ret=str;if(undefined!=this.options.valueSep){var idx=ret.lastIndexOf(this.options.valueSep);ret=idx==-1?ret:ret.substring(idx+1,ret.length);}
return ret;},doAjaxRequest:function(input){if(input!=this.fld.value)
return false;if(input==""||input==null)return false;this.sInp=this.getLastInput(this.sInp);if(typeof this.options.script=='function')
var url=this.options.script(encodeURIComponent(this.sInp));else
var url=this.options.script+this.options.varname+'='+encodeURIComponent(this.sInp);if(!url)return false;var p=this;var m=this.options.meth;if(this.options.useNotifier)
{this.fld.removeClassName('ac_field');this.fld.addClassName('ac_field_busy');};var options={method:m,onSuccess:function(req){if(p.options.useNotifier)
{p.fld.removeClassName('ac_field_busy');p.fld.addClassName('ac_field');};p.setSuggestions(req,input);},onFailure:(typeof p.options.onAjaxError=='function')?function(status){if(p.options.useNotifier)
{p.fld.removeClassName('ac_field_busy');p.fld.addClassName('ac_field');}
p.options.onAjaxError(status)}:function(status){if(p.options.useNotifier)
{p.fld.removeClassName('ac_field_busy');p.fld.addClassName('ac_field');}
alert("AJAX error: "+status);}}
new Ajax.Request(url,options);},setSuggestions:function(req,input){this.aSug=[];if(req!=null&&input!=null)
{if(input!=this.fld.value)
return false;if(this.options.json)
{var jsondata=eval('('+req.responseText+')');this.aSug=jsondata;}else{var results=req.responseXML.getElementsByTagName('results')[0].childNodes;for(var i=0;i<results.length;i++)
{if(results[i].hasChildNodes())
this.aSug.push({'id':results[i].getAttribute(Aparicio.META_URI),'value':results[i].getAttribute(Aparicio.META_LABEL),'info':results[i].getAttribute('info')});}}}
this.acID='ac_'+this.fld.id;this.createList(this.aSug);},createDOMElement:function(type,attr,cont,html){var ne=document.createElement(type);if(!ne)return 0;for(var a in attr)ne[a]=attr[a];var t=typeof(cont);if(t=="string"&&!html)
ne.appendChild(document.createTextNode(cont));else if(t=="string"&&html)
ne.innerHTML=cont;else if(t=="object")
ne.appendChild(cont);return ne;},createList:function(arr){if($(this.acID))$(this.acID).remove();this.killTimeout();if(arr.length==0&&!this.options.shownoresults)return false;var div=this.createDOMElement('div',{id:this.acID,className:this.options.className});var hcorner=this.createDOMElement('div',{className:'ac_corner'});var hbar=this.createDOMElement('div',{className:'ac_bar'});var header=this.createDOMElement('div',{className:'ac_header'});header.appendChild(hcorner);header.appendChild(hbar);div.appendChild(header);var ul=this.createDOMElement('ul',{id:'ac_ul'});var p=this;if(arr.length==0&&this.options.shownoresults)
{if(this.fld.value&&this.fld.value.length>=this.options.minchars)
var li=this.createDOMElement('li',{className:'ac_warning'},this.options.noresults);else var li=this.createDOMElement('li',{className:'ac_warning'},this.options.onfocus);ul.appendChild(li);}
else
{for(var i=0,l=arr.length;i<l;i++)
{var val=arr[i][Aparicio.META_LABEL];var st=val.toLowerCase().search(this.sInp.toLowerCase());if(st>-1)
var output=val.substring(0,st)+'<em>'+val.substring(st,st+this.sInp.length)+'</em>'+val.substring(st+this.sInp.length);else output=val;var span=this.createDOMElement('span',{},output,true);if(arr[i].info!='')
{var br=this.createDOMElement('br',{});span.appendChild(br);var small=this.createDOMElement('small',{},arr[i].info);span.appendChild(small);}
var a=this.createDOMElement('a',{href:'#'});var tl=this.createDOMElement('span',{className:'tl'}," ");var tr=this.createDOMElement('span',{className:'tr'}," ");a.appendChild(tl);a.appendChild(tr);a.appendChild(span);a.name=i+1;a.onclick=function(){p.setHighlightedValue();return false;};a.onmouseover=function(){p.setHighlight(this.name);};var li=this.createDOMElement('li',{},a);ul.appendChild(li);}}
div.appendChild(ul);var fcorner=this.createDOMElement('div',{className:'ac_corner'});var fbar=this.createDOMElement('div',{className:'ac_bar'});var footer=this.createDOMElement('div',{className:'ac_footer'});footer.appendChild(fcorner);footer.appendChild(fbar);div.appendChild(footer);var dimensions=this.fld.getDimensions();var pos=this.fld.cumulativeOffset();div.style.left=pos[0]+"px";div.style.top=pos[1]+dimensions['height']+"px";var w=(this.options.setWidth&&dimensions['width']<this.options.minWidth)?this.options.minWidth:(this.options.setWidth&&dimensions['width']>this.options.maxWidth)?this.options.maxWidth:dimensions['width'];div.style.width=w+"px";div.onmouseover=function(){p.killTimeout()};div.onmouseout=function(){p.resetTimeout()};document.getElementsByTagName("body")[0].appendChild(div);this.iHigh=1;this.setHighlight(1);this.toID=setTimeout(function(){this.clearSuggestions()}.bind(this),this.options.timeout);},changeHighlight:function(key){var list=$("ac_ul");if(!list)return false;var n;n=(key==Event.KEY_DOWN||key==Event.KEY_TAB)?this.iHigh+1:this.iHigh-1;n=(n>list.childNodes.length)?list.childNodes.length:((n<1)?1:n);this.setHighlight(n);},setHighlight:function(n){var list=$('ac_ul');if(!list)return false;if(this.iHigh>0)this.clearHighlight();this.iHigh=Number(n);list.childNodes[this.iHigh-1].className='ac_highlight';this.killTimeout();},clearHighlight:function(){var list=$('ac_ul');if(!list)return false;if(this.iHigh>0)
{list.childNodes[this.iHigh-1].className='';this.iHigh=0;}},setHighlightedValue:function(){if(this.iHigh)
{if(!this.aSug[this.iHigh-1])return;if(undefined!=this.options.valueSep){var str=this.getLastInput(this.fld.value);var idx=this.fld.value.lastIndexOf(str);str=this.aSug[this.iHigh-1].value+this.options.valueSep;this.sInp=this.fld.value=idx==-1?str:this.fld.value.substring(0,idx)+str;}
else
{var str=this.getLastInput(this.fld.value);var idx=this.fld.value.lastIndexOf(str);str=this.aSug[this.iHigh-1][Aparicio.META_LABEL];this.sInp=this.fld.value=idx==-1?str:this.fld.value.substring(0,idx)+str;}
this.fld.blur();this.clearSuggestions();if(typeof this.options.callback=='function')
{this.sugSelected=true;this.options.callback(this.aSug[this.iHigh-1]);}}},killTimeout:function(){clearTimeout(this.toID);},resetTimeout:function(){this.killTimeout();this.toID=setTimeout(function(){this.clearSuggestions();}.bind(this),this.options.timeout);},clearSuggestions:function(){this.killTimeout();if($(this.acID))
{this.fadeOut(300,function(){$(this.acID).remove();});}},fadeOut:function(milliseconds,callback){this._fadeFrom=1;this._fadeTo=0;this._afterUpdateInternal=callback;this._fadeDuration=milliseconds;this._fadeInterval=50;this._fadeTime=0;this._fadeIntervalID=setInterval(function(){this._changeOpacity()}.bind(this),this._fadeInterval);},_changeOpacity:function(){if(!$(this.acID))
{this._fadeIntervalID=clearInterval(this._fadeIntervalID);return;}
this._fadeTime+=this._fadeInterval;var ieop=Math.round((this._fadeFrom+((this._fadeTo-this._fadeFrom)*(this._fadeTime/this._fadeDuration)))*100)
var op=ieop/100;var el=$(this.acID);if(el.filters)
{try{el.filters.item("DXImageTransform.Microsoft.Alpha").opacity=ieop;}catch(e){el.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+ieop+')';}}else{el.style.opacity=op;}
if(this._fadeTime>=this._fadeDuration)
{clearInterval(this._fadeIntervalID);if(typeof this._afterUpdateInternal=='function')
this._afterUpdateInternal();}}}
AIM={frame:function(c){var n='f'+Math.floor(Math.random()*99999);var d=document.createElement('DIV');d.innerHTML='<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';document.body.appendChild(d);var i=document.getElementById(n);if(c&&typeof(c.onComplete)=='function'){i.onComplete=c.onComplete;}
return n;},form:function(f,name){;f.setAttribute('target',name);},submit:function(f,c,i){AIM.form(f,AIM.frame(c));if(c&&typeof(c.onStart)=='function'){return c.onStart(i.value);}else{return true;}},loaded:function(id){var i=document.getElementById(id);if(i.contentDocument){var d=i.contentDocument;}else if(i.contentWindow){var d=i.contentWindow.document;}else{var d=window.frames[id].document;}
if(d.location.href=="about:blank"){return;}
if(typeof(i.onComplete)=='function'){i.onComplete(d.body.innerHTML);}}}
var Aparicio={serviceURI:null,Template:Class.create(),Notification:Class.create(),Resource:Class.create(),Form:Class.create(),RegisterForm:Class.create(),NSHandler:Class.create(),Entry:Class.create(),StringEntry:null,MboxEntry:null,PasswordEntry:null,Message:Class.create()};function trim(stringToTrim){return stringToTrim.replace(/^\s+|\s+$/g,"");}
Aparicio.FRIENDSENTRY=null;Aparicio.LITERAL="rdfs:Literal";Aparicio.RESOURCE="rdfs:Resource";Aparicio.XSD_TYPE="xsd:Type";Aparicio.TYPE_FLOAT="xsd:float";Aparicio.VALUE="value";Aparicio.TYPE="type";Aparicio.URI="uri";Aparicio.REIF="::reif";Aparicio.META_VALUE="aparicio::value";Aparicio.META_TYPE="aparicio::type";Aparicio.META_URI="aparicio::uri";Aparicio.META_LABEL="aparicio::label";Aparicio.defaultHeight=80;
Aparicio.NSHandler.prototype={ns:$H(),initialize:function(id){$(id).select("div.namespace").each(function(entry){id=entry.id;value=entry.innerHTML;this.ns.set(id,value);}.bind(this));}}
Aparicio.Template.prototype={id:null,tabsObj:null,initialize:function(_id){this.id=_id;this.tabsObj=$("tabs");this.generateTabs(_id,this.tabsObj);},generateTabs:function(_id,tabsDisplayObj)
{var firstGroup=null;var tabsUl=document.createElement("ul");tabsUl.id="tabsUl";$(_id).select("div.group").each(function(group,index){if(firstGroup==null)firstGroup=group;var title=group.title;group.rel=index;var tabLink=document.createElement("li");tabLink.id="tab"+index;Element.addClassName(tabLink,"tabLink");tabLink.innerHTML=title;tabLink.onmouseover=this.onMouseOver.bindAsEventListener(this,tabLink,'tabLinkHover',true);tabLink.onmouseout=this.onMouseOver.bindAsEventListener(this,tabLink,'tabLinkHover',false);tabLink.onclick=this.showGroup.bind(this,_id,group);tabsUl.appendChild(tabLink);}.bind(this));tabsDisplayObj.appendChild(tabsUl);var div=document.createElement("div");div.style.clear="both";tabsDisplayObj.appendChild(div);this.showGroup(_id,firstGroup);},showGroup:function(_id,_group)
{$(_id).select("div.group").each(function(innerGroup){innerGroup.style.display="none";$("tab"+innerGroup.rel).removeClassName("tabLinkSelected");});_group.style.display="block";$("tab"+_group.rel).addClassName("tabLinkSelected");},onMouseOver:function(e,element,className,isOver){if(isOver)
{Element.addClassName(element,className);}
else{Element.removeClassName(element,className);}}};
Aparicio.Notification.prototype={type:"Smoke",setup:null,growl:null,invoke:function(_text){YAHOO.log(_text);this.setup.text=_text;this.growl.show(this.setup);},initialize:function(_title,_type){this.type=_type;if(this.type=="Smoke")
this.growl=Growl.Smoke;else
this.growl=Growl.Bezel;;this.setup={title:_title,text:"",image:'js/growl/growl.jpg',duration:2}}}
Aparicio.Resource.prototype={uri:null,growl:null,create:function(callback){var tmpuri=this.uri;if(!this.uri.match(/[^.]+[:][^.]+/))
tmpuri="$"+encodeURIComponent(this.uri)+"$";tmpuri=Aparicio.serviceURI+"/resource/"+tmpuri;var ajax=new Ajax.Request(tmpuri,{method:"POST",parameters:"_method=put",onComplete:function(resp,oColl){YAHOO.log("bacj");if(callback)
callback(this);else{this.growl.invoke(this.uri+" has been created");}}.bind(this),onException:function(resp,ex){YAHOO.log("SEVERE: [Aparicio.Request::create] ["
+this.uri+"] "+ex+", "+$H(resp).toQueryString().replace("%20"," "));}.bind(this),onFailure:function(resp){YAHOO.log("FAILURE: [Aparicio.Request::create] ["
+this.uri+"] "+resp);}.bind(this)});},commit:function(){},update:function(){},remove:function(){},initialize:function(_uri){this.uri=_uri;this.growl=new Aparicio.Notification("Testing Aparicio","Smoke");YAHOO.log(this.uri);}};
Aparicio.Form.prototype={id:null,elements:$A(),objUri:null,initialize:function(_id,objectUri,_preview){var preview=false;if(typeof _preview!='undefined'&&_preview!=null&&_preview==true)
preview=true;this.id=_id;this.objUri=objectUri;$(this.id).select("div.entry").each(function(entry){var idOfObjUri=0;for(i=0;i<a.length;i++)
{if(a[i].uri&&a[i].uri==objectUri)
{var objUri=a[i].uri;var entryId=a[i][entry.id];idOfObjUri=i;}}
var entryLabel=null;var entryMultiple=null;if(entry.innerHTML!=""&&entry.innerHTML!=null){entryLabel=entry.innerHTML;entry.innerHTML="";}
if(entry.hasClassName("single"))
entryMultiple=false;else entryMultiple=true;if(entry.hasClassName("string"))
var entry=new Aparicio.StringEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);else if(entry.hasClassName("mbox"))
var entry=new Aparicio.MboxEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,entry.hasClassName("disabled"),preview);else if(entry.hasClassName("text"))
var entry=new Aparicio.TextEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);else if(entry.hasClassName("uri"))
var entry=new Aparicio.UriEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);else if(entry.hasClassName("password"))
var entry=new Aparicio.PasswordEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);else if(entry.hasClassName("friends"))
{var entryIdTmp=entry.id;var entry=new Aparicio.FriendsEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);if(entryIdTmp&&entryIdTmp.search("knows")>=0){Aparicio.FRIENDSENTRY=entry;}}
else if(entry.hasClassName("img"))
var entry=new Aparicio.ImgEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);else
var entry=new Aparicio.StringEntry(entry.id,entry.hasClassName("required"),entryLabel,entryMultiple,a[idOfObjUri][entry.id],objUri,false,preview);});this.initAddFriend();},initAddFriend:function(){infoCont=$('friendsListInfo');if(typeof infoCont!='undefined'&&typeof Aparicio.loggedUri!='undefined'&&Aparicio.loggedUri!=""&&typeof Aparicio.isFriend!='undefined'&&Aparicio.isFriend=="false")
{var stringCont=infoCont.innerHTML;infoCont.innerHTML="";var link=document.createElement('a');link.innerHTML=stringCont;link.href="javascript:void(0);";try{var friendEntry=new Aparicio.FriendsEntry();link.onclick=friendEntry.simpleAddFriend.bindAsEventListener(friendEntry,Aparicio.loggedUri,this.objUri,this.confirmAdd);}catch(e){console.log(e);}
infoCont.appendChild(link);}
else if(typeof infoCont!='undefined'&&infoCont!=null)
infoCont.innerHTML="";},confirmAdd:function(success){var span=document.createElement('span');if(success)
{span.innerHTML=JS_MESSAGES['add_friend_ok'];}
else span.innerHTML=JS_MESSAGES['add_friend_false'];$('friendsListInfo').innerHTML="";$('friendsListInfo').appendChild(span);}}
Aparicio.Entry.prototype={entryId:null,entryLabel:null,entryMultiple:false,entryReq:false,entryVal:null,entryType:null,internalEditMode:false,removingId:null,objUri:null,sendingOneObject:false,mOverTimeOut:null,registerMode:false,previewMode:false,disabled:false,initialize:function(_id,_required,_label,_multiple,_value,_objUri,_disabled,_preview){if(typeof _id!='undefined')
this.entryId=_id;this.entryLabel=_label;this.entryReq=_required;this.entryMultiple=_multiple;this.entryVal=_value;this.objUri=_objUri;if(typeof _disabled!='undefined')
this.disabled=_disabled;if(_objUri==null)this.registerMode=true;if(typeof _preview!='undefined'&&_preview!=null&&_preview==true)
this.previewMode=true;if(this.entryId!=null)
{if(this.entryVal!=null&&this.entryVal!="")
{if(!Object.isArray(this.entryVal))
{var tmp=this.entryVal;this.entryVal=$A();this.entryVal.push(tmp);}}
else if(!this.registerMode)
this.entryVal=$A();if(this.registerMode)
this.generateEntryRegister();else if(this.previewMode)
this.generatePreview();else
this.generateEntry();}},onMouseOver:function(e,element,className,isOver){if(isOver)
{Element.addClassName(element,className);}
else
{Element.removeClassName(element,className);}},onMouseOverEntry:function(e,element,className,isOver,isMultiple){if(isOver)
{clearTimeout(this.mOverTimeOut);Element.addClassName(element,className);if(!isMultiple)
$("edit_"+element.id).style.display="block";}
else{this.mOverTimeOut=setTimeout(function(){Element.removeClassName(element,className);if(!isMultiple)
$("edit_"+element.id).fade();},700);}},generateTitle:function(){var entryTitle=document.createElement("div");Element.addClassName(entryTitle,"entryTitle");entryTitle.innerHTML=this.entryLabel;if(this.entryReq)
entryTitle.innerHTML+=" *";return entryTitle;},generateButtons:function(){var buttonsDiv=document.createElement("div");Element.addClassName(buttonsDiv,"entryValueStringButtons");buttonsDiv.id=this.entryId+"_buttons";buttonsDiv.style.display="none";var entrySave=document.createElement("button");Element.addClassName(entrySave,"entryValueStringButton");entrySave.id=this.entryId+"_save";entrySave.innerHTML=JS_MESSAGES['save'];var entryCancel=document.createElement("button");Element.addClassName(entryCancel,"entryValueStringButton");entryCancel.id=this.entryId+"_cancel";entryCancel.innerHTML=JS_MESSAGES['cancel'];buttonsDiv.appendChild(entrySave);buttonsDiv.appendChild(entryCancel);return buttonsDiv;},getEntryEditButton:function(){var editIcon=document.createElement("div");Element.addClassName(editIcon,"editIcon");editIcon.id="edit_"+this.entryId;editIcon.onmouseover=this.onMouseOver.bindAsEventListener(this,editIcon,'editIconHover',true);editIcon.onmouseout=this.onMouseOver.bindAsEventListener(this,editIcon,'editIconHover',false);editIcon.onclick=this.editMode.bindAsEventListener(this);return editIcon;},getSpinner:function(){var spinIcon=document.createElement("div");Element.addClassName(spinIcon,"spinIcon");spinIcon.id="spin_"+this.entryId;return spinIcon;},showSpin:function(show){if(show)
$("spin_"+this.entryId).style.display="block";else $("spin_"+this.entryId).style.display="none";},generateAddButton:function(){var li=document.createElement("li");li.id=this.entryId+"_"+this.entryVal.size()+"_li";var entryValue=document.createElement("span");Element.addClassName(entryValue,"entryValueMultipleOneSpan");entryValue.id=this.entryId+"_"+this.entryVal.size();var entryValueIn=this.generateNormalMode("",entryValue,this.entryVal.size());entryValueIn.id=this.entryId+"_"+this.entryVal.size()+"_value";entryValueIn.style.display="none";var entryValueAdd=document.createElement("a");entryValueAdd.innerHTML="add";entryValueAdd.id=this.entryId+"_"+this.entryVal.size()+"_value_add";Element.addClassName(entryValueAdd,"entryValueAddButton");entryValueAdd.href="javascript:void(0)";entryValue.appendChild(entryValueAdd);var addButton=document.createElement("a");Element.addClassName(addButton,"addbutton");addButton.title=JS_MESSAGES['add'];addButton.href="javascript:void(0)"
addButton.id=this.entryId+"_"+this.entryVal.size()+"_addbut";entryValue.appendChild(addButton);li.appendChild(entryValue);var entryInputSpan=document.createElement("span");var entryInput=this.generateEditMode("",entryInputSpan,this.entryVal.size());entryInput.id=this.entryId+"_"+this.entryVal.size()+"_input";entryInputSpan.id=this.entryId+"_"+this.entryVal.size()+"_input_span";entryInputSpan.style.display="none";this.generateEditFieldButtons(entryInputSpan,this.entryVal.size(),null);li.appendChild(entryInputSpan);entryValueAdd.onclick=this.smallEditModeB.bindAsEventListener(this,this.entryVal.size(),null);addButton.onclick=this.smallEditModeB.bindAsEventListener(this,this.entryVal.size(),null);$(this.entryId+"_holder").appendChild(li);},generateFieldButtons:function(field,id,value){var closeButton=document.createElement("a");Element.addClassName(closeButton,"closebutton");closeButton.title=JS_MESSAGES['close'];closeButton.href="javascript:void(0)"
field.appendChild(closeButton);var editButton=document.createElement("a");Element.addClassName(editButton,"editbutton");editButton.title=JS_MESSAGES['edit'];editButton.href="javascript:void(0)"
editButton.onclick=this.smallEditModeB.bindAsEventListener(this,id,value);closeButton.onclick=this.removeEntryStart.bindAsEventListener(this,id);field.appendChild(editButton);},generateEditFieldButtons:function(field,id,value){var okButton=document.createElement("a");Element.addClassName(okButton,"okbutton");okButton.title=JS_MESSAGES['ok'];okButton.href="javascript:void(0)"
field.appendChild(okButton);var cancelButton=document.createElement("a");Element.addClassName(cancelButton,"cancelbutton");cancelButton.title=JS_MESSAGES['cancel'];cancelButton.href="javascript:void(0)"
cancelButton.onclick=this.smallEditModeOff.bindAsEventListener(this,id);okButton.onclick=this.saveEntry.bindAsEventListener(this,id);field.appendChild(cancelButton);},generateNormalMode:function(value,superElement){var entryValueIn=document.createElement("span");if(value!=null&&value!="")
entryValueIn.innerHTML=value[Aparicio.VALUE];superElement.appendChild(entryValueIn);return entryValueIn;},generateEditMode:function(value,superElement){var entryInput=document.createElement("input");Element.addClassName(entryInput,"entryValueStringInput");if(value!=null&&value!="")
entryInput.value=value[Aparicio.VALUE];superElement.appendChild(entryInput);return entryInput;},generateValueForPreview:function(entryValueContainer,allowModif){var valNo=0;if(this.entryMultiple){var holder=document.createElement("ul");Element.addClassName(holder,"holder");holder.id=this.entryId+"_holder";this.entryVal.each(function(valueObj,index){var entryLi=document.createElement("li");entryLi.id=this.entryId+"_"+index+"_li";Element.addClassName(entryLi,"previewMode");var entryValue=document.createElement("span");Element.addClassName(entryValue,"entryValueMultipleOneSpan");entryValue.id=this.entryId+"_"+index;var entryValueIn=this.generateNormalMode(valueObj,entryValue,index,allowModif);if(entryValueIn!=null){entryValueIn.id=this.entryId+"_"+index+"_value";entryLi.appendChild(entryValue);holder.appendChild(entryLi);}}.bind(this));entryValueContainer.appendChild(holder);}
else{var entryValue=document.createElement("div");Element.addClassName(entryValue,"entryValueString");entryValue.id=this.entryId+"_0";valueObj=this.entryVal?this.entryVal[0]:null
var entryValueIn=this.generateNormalMode(valueObj,entryValue);entryValueIn.id=this.entryId+"_0_value";entryValueContainer.appendChild(entryValue);}},generateValue:function(entryValueContainer){var valNo=0;if(this.entryMultiple){var holder=document.createElement("ul");Element.addClassName(holder,"holder");holder.id=this.entryId+"_holder";this.entryVal.each(function(valueObj,index){var entryLi=document.createElement("li");entryLi.id=this.entryId+"_"+index+"_li";var entryValue=document.createElement("span");Element.addClassName(entryValue,"entryValueMultipleOneSpan");entryValue.id=this.entryId+"_"+index;var entryValueIn=this.generateNormalMode(valueObj,entryValue,index);entryValueIn.id=this.entryId+"_"+index+"_value";this.generateFieldButtons(entryValue,index,valueObj);entryLi.appendChild(entryValue);var entryInputSpan=document.createElement("span");entryInputSpan.style.display="none";var entryInput=this.generateEditMode(valueObj,entryInputSpan,index);entryInputSpan.id=this.entryId+"_"+index+"_input_span";entryInput.id=this.entryId+"_"+index+"_input";this.generateEditFieldButtons(entryInputSpan,index,valueObj);entryLi.appendChild(entryInputSpan);holder.appendChild(entryLi);}.bind(this));entryValueContainer.appendChild(holder);}
else{var entryValue=document.createElement("div");Element.addClassName(entryValue,"entryValueString");entryValue.id=this.entryId+"_0";valueObj=this.entryVal?this.entryVal[0]:null
var entryValueIn=this.generateNormalMode(valueObj,entryValue);entryValueIn.id=this.entryId+"_0_value";entryValueContainer.appendChild(entryValue);var entryInputSpan=document.createElement("span");entryInputSpan.id=this.entryId+"_0_input_span";entryInputSpan.style.display="none";var entryInput=this.generateEditMode(valueObj,entryInputSpan);entryInput.id=this.entryId+"_0_input";entryValueContainer.appendChild(entryInputSpan);}},generatePreview:function(allowModyfications){var entryTitle=this.generateTitle();var entryValueContainer=document.createElement("div");Element.addClassName(entryValueContainer,"entryValueContainer");entryValueContainer.id=this.entryId+"_cont";this.generateValueForPreview(entryValueContainer,allowModyfications);var div=document.createElement("div");div.style.clear="both";$(this.entryId).appendChild(entryTitle);$(this.entryId).appendChild(entryValueContainer);$(this.entryId).appendChild(div);},generateEntryRegister:function(){var entryTitle=this.generateTitle();var entryValueContainer=document.createElement("div");Element.addClassName(entryValueContainer,"entryValueContainer");entryValueContainer.id=this.entryId+"_cont";var entryInput=this.generateEditMode(null,entryValueContainer);entryInput.id=this.entryId+"_0_input";if(this.entryVal!=null&&typeof this.entryVal!='undefined')entryInput.value=this.entryVal[0];var entryVal=document.createElement("div");Element.addClassName(entryVal,"entryValueValidation");entryVal.id=this.entryId+"_val";entryVal.style.display="none";var div=document.createElement("div");div.style.clear="both";$(this.entryId).appendChild(entryTitle);entryValueContainer.appendChild(entryVal);$(this.entryId).appendChild(entryValueContainer);$(this.entryId).appendChild(div);},generateEntry:function(){var entryTitle=this.generateTitle();var entryValueContainer=document.createElement("div");Element.addClassName(entryValueContainer,"entryValueContainer");entryValueContainer.id=this.entryId+"_cont";this.generateValue(entryValueContainer);entryValueContainer.appendChild(this.generateButtons());if(!this.entryMultiple){$(this.entryId).appendChild(this.getEntryEditButton());}
var entryVal=document.createElement("div");Element.addClassName(entryVal,"entryValueValidation");entryVal.id=this.entryId+"_val";entryVal.style.display="none";var div=document.createElement("div");div.style.clear="both";$(this.entryId).appendChild(this.getSpinner());if(!this.disabled){$(this.entryId).onmouseover=this.onMouseOverEntry.bindAsEventListener(this,$(this.entryId),'entryHover',true,this.entryMultiple);$(this.entryId).onmouseout=this.onMouseOverEntry.bindAsEventListener(this,$(this.entryId),'entryHover',false,this.entryMultiple);}
$(this.entryId).appendChild(entryTitle);entryValueContainer.appendChild(entryVal);$(this.entryId).appendChild(entryValueContainer);$(this.entryId).appendChild(div);if(this.entryMultiple)
this.generateAddButton();},editMode:function(container){$(this.entryId).onmouseover=null;$(this.entryId).onmouseout=null;$("edit_"+this.entryId).style.display="none";Element.addClassName($(this.entryId),"entryEdit");$(this.entryId+"_"+0).style.display="none";if(!this.entryMultiple)
{$(this.entryId+"_0_input_span").style.display="block";}
$(this.entryId+"_buttons").appear();$(this.entryId+"_cancel").onclick=this.editModeOff.bindAsEventListener(this);$(this.entryId+"_save").onclick=this.saveEntry.bindAsEventListener(this);},editModeOff:function(){this.internalEditMode=false;index=0;$(this.entryId+"_"+index+"_input_span").style.display="none";$(this.entryId+"_"+index).style.display="block";$(this.entryId+"_buttons").fade({duration:0.5});$(this.entryId+"_val").fade();var background=$(this.entryId).getStyle("background-color");var border=$(this.entryId).getStyle("border-color");Element.addClassName($(this.entryId),"entryNotImportant");Element.removeClassName($(this.entryId),"entry");Element.addClassName($(this.entryId),"entryEditNotImportant");Element.removeClassName($(this.entryId),"entryEdit");$(this.entryId).morph("background:#FFFFFF;border:#FFFFFF",{afterFinish:function()
{Element.removeClassName($(this.entryId),"entryEditNotImportant");Element.removeClassName($(this.entryId),"entryNotImportant");Element.addClassName($(this.entryId),"entry");$(this.entryId).style.background=background;$(this.entryId).style.border=border;}.bind(this)});$(this.entryId).onmouseover=this.onMouseOverEntry.bindAsEventListener(this,$(this.entryId),'entryHover',true);$(this.entryId).onmouseout=this.onMouseOverEntry.bindAsEventListener(this,$(this.entryId),'entryHover',false);this.onCancelFinished(0);},smallEditModeOff:function(event,id){$(this.entryId+"_"+id).style.display="block";$(this.entryId+"_"+id+"_input_span").style.display="none";$(this.entryId+"_val").fade();this.onCancelFinished(id);},smallEditMode:function(event,id,value){this.internalEditMode=true;Element.addClassName($(this.entryId),"entryEdit");$(this.entryId+"_"+id).style.display="none";$(this.entryId+"_"+id+"_input_span").style.display="block";$(this.entryId+"_buttons").appear();$(this.entryId+"_cancel").onclick=this.editModeOff.bindAsEventListener(this);$(this.entryId+"_save").onclick=this.saveEntry.bindAsEventListener(this);},smallEditModeB:function(event,id){$(this.entryId+"_"+id).style.display="none";$(this.entryId+"_"+id+"_input").style.display="block";$(this.entryId+"_"+id+"_input_span").style.display="block";},saveEntry:function(event,id){this.preSaveAction(event,id);idtmp=this.entryMultiple?id:0;var newValue=$(this.entryId+"_"+idtmp+"_input").value;if(trim(newValue)==""&&this.entryMultiple)
{this.removeEntryStart(event,idtmp);return;}
var validation=this.validate(newValue);if(validation==0)
{if(this.entryVal[idtmp]){newObj=this.editValueObject(this.entryVal[idtmp],newValue);}
else{newObj=this.createValueObject(newValue);}
reqUri=this.getSOAUri(this.objUri,this.entryId,newValue);reqContent=this.createRequestContent(this.objUri,this.entryId,newObj,idtmp,false);var ajax=new Ajax.Request(reqUri,{contentType:"text/javascript",method:"post",parameters:"",postBody:reqContent,onCreate:this.showSpin(true),onSuccess:function(){this.finalizeSave(true,idtmp);}.bind(this),onFailure:function(){this.finalizeSave(false);}.bind(this)});}
else
{this.handleValidation(validation,idtmp);}},handleValidation:function(validation){if(validation==-1)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['f_required'];$(this.entryId+"_val").appear();}
else if(validation==-2)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['wrong_format'];$(this.entryId+"_val").appear();}
else if(validation==-3)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['pass_match'];$(this.entryId+"_val").appear();}},finalizeSave:function(success,id){this.showSpin(false);try{if(success){var i=0;var adding=(this.entryVal&&this.entryVal[id]==null)?true:false;if(!this.entryVal)this.entryVal=$A();if(adding)
{this.entryVal[id]=this.createValueObject($(this.entryId+"_"+id+"_input").value);}
else
{this.entryVal[id][Aparicio.VALUE]=$(this.entryId+"_"+id+"_input").value;}
this.onSaveAction(this.entryVal[id],this.entryId+"_"+id+"_value");if(!this.entryMultiple)
{this.editModeOff();}
else
{this.smallEditModeOff(null,id);if(adding){this.generateFieldButtons($(this.entryId+"_"+id),id,this.entryVal[id]);$(this.entryId+"_"+id+"_addbut").style.display="none";$(this.entryId+"_"+id+"_value_add").style.display="none";$(this.entryId+"_"+id+"_value").style.display="block";this.generateAddButton();}}
this.onSaveFinished(id);}
else{$(this.entryId+"_val").innerHTML=JS_MESSAGES['could_not_save'];$(this.entryId+"_val").appear();}}catch(e){alert(e.message)};},onSaveAction:function(newValue,holderObjId){$(holderObjId).innerHTML=newValue[Aparicio.VALUE];},preSaveAction:function(event,id){},onSaveFinished:function(id){},onCancelFinished:function(id){},validate:function(newValue){if(trim(newValue)==""&&this.entryReq)
{if(!this.entryMultiple)
return-1;else{if(!this.removable)return-1;}}
return 0;},removeEntryStart:function(event,id){if(this.removable()){this.removingId=id;var message=new Aparicio.Message(0,JS_MESSAGES['remove_sure'],this.removeEntry.bind(this));message.showMessage();}
else{$(this.entryId+"_val").innerHTML=JS_MESSAGES['f_required'];$(this.entryId+"_val").appear();}},removeEntry:function(proceed){if(proceed==true){var params=null;reqUri=this.getSOAUri(this.objUri,this.entryId,this.entryVal[this.removingId].value);reqContent=this.createRequestContent(this.objUri,this.entryId,this.entryVal[this.removingId],this.removingId,true);var _method="post";var _postBody=this.createRequestContent(this.objUri,this.entryId,this.entryVal[this.removingId],this.removingId,true);var _contentType="text/javascript";if(this.sendingOneObject){_method="delete";_postBody=null;_contentType="application/x-www-form-urlencoded";}
var ajax=new Ajax.Request(reqUri,{contentType:_contentType,method:_method,postBody:_postBody,onSuccess:function(){this.finalizeRemove(true);}.bind(this),onFailure:function(){this.finalizeRemove(false);}.bind(this)});}
else this.removingId=null;},finalizeRemove:function(success){if(success){$(this.entryId+"_"+this.removingId+"_li").fade();this.entryVal[this.removingId]=null;this.removingId=null;}
else{$(this.entryId+"_val").innerHTML=JS_MESSAGES['could_not_remove'];$(this.entryId+"_val").appear();}},removable:function(){if(this.entryReq){var noOfNonNull=0;this.entryVal.each(function(entry){if(entry!=null&&trim(entry)!="")
noOfNonNull++;});if(noOfNonNull<=1)return false;}
return true;},getSOAUri:function(objUri,id){if(objUri.search("mailto:")==0)
objUri=objUri.substring(7);if(objUri.search("http://")==0)
objUri=objUri.substring(objUri.lastIndexOf('/')+1);var endUri=Aparicio.serviceURItmp.replace(/{obj}/,objUri);endUri=endUri.replace(/{field}/,id.substring(id.lastIndexOf(':')+1,id.length));return endUri;},getRawValue:function(id){if(typeof id=='undefined')id=0;return $(this.entryId+"_"+id+"_input").value},activate:function(activ,id){if(typeof id=='undefined')id=0;$(this.entryId+"_"+id+"_input").disabled=(!activ);},createRequestContent:function(objUri,id,valueObj,changeId,removing){var tableOut=new $A();var objectNS=$H();var ns=$H();if(id.indexOf(":")>-1)
{nsShort=id.substring(0,id.indexOf(":"));nsLong=NSHandler.ns.get(nsShort);ns.set(nsShort,nsLong);if(valueObj[Aparicio.REIF])
{valueObj[Aparicio.REIF].each(function(obj){keys=$H(obj).keys();if(keys[0]){nsShort=keys[0].substring(0,keys[0].indexOf(":"));nsLong=NSHandler.ns.get(nsShort);ns.set(nsShort,nsLong);}});}}
objectNS.set("namespace",ns);var object=$H();object.set("uri",objUri);var table=new $A();var newAdded=false;if((this.entryVal&&this.entryVal.length==0&&!removing)||(this.sendingOneObject&&!removing)){table.push(valueObj);newAdded=true;}
else{this.entryVal.each(function(val,index){if(index!=changeId)
table.push(val);else if(!removing){table.push(valueObj);newAdded=true;}});}
if(!newAdded&&!removing)table.push(valueObj);object.set(id,table);tableOut.push(objectNS);tableOut.push(object);return tableOut.toJSON();},createValueObject:function(value){var object=new Object();object[Aparicio.VALUE]=value;object[Aparicio.TYPE]="rdfs:Literal";return object;},editValueObject:function(object,newValue){var newObj=object;newObj.value=newValue;return newObj;}};
Aparicio.StringEntry=Class.create(Aparicio.Entry,{});
Aparicio.UriEntry=Class.create(Aparicio.Entry,{generateNormalMode:function(value,superElement){var a=document.createElement("a");if(value!=null&&value!=""){a.href=value[Aparicio.VALUE];a.innerHTML=value[Aparicio.VALUE];}
superElement.appendChild(a);return a;},onSaveAction:function(newValue,holderObjId){$(holderObjId).href=newValue[Aparicio.VALUE];$(holderObjId).innerHTML=newValue[Aparicio.VALUE];},validate:function(newValue){if(trim(newValue)==""&&this.entryReq)
{return-1;}
else if(trim(newValue)!=""&&!this.isValidURL(newValue))
return-2;return 0;},isValidURL:function(url){var RegExp=/^(([\w]+:)\/\/)(([\d\w]|%[a-fA-F\d]{2,2})+(:([\d\w]|%[a-fA-F\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.?)+[\w]{2,4}(:[\d]+)?((\/)|(\/.*))?$/;if(RegExp.test(url)){return true;}else{return false;}},createValueObject:function(value){var object=new Object();object[Aparicio.VALUE]=value;object[Aparicio.TYPE]="rdfs:Resource";return object;}});
Aparicio.MboxEntry=Class.create(Aparicio.Entry,{generateNormalMode:function(value,superElement){var a=document.createElement("a");if(value!=null&&value!=""){a.href=value[Aparicio.VALUE];a.innerHTML=value[Aparicio.VALUE].search("mailto:")==0?value[Aparicio.VALUE].substring(7):value[Aparicio.VALUE];}
superElement.appendChild(a);return a;},onSaveAction:function(newValue,holderObjId){$(holderObjId).href="mailto:"+newValue[Aparicio.VALUE];$(holderObjId).innerHTML=newValue[Aparicio.VALUE];},validate:function(newValue){if(trim(newValue)==""&&this.entryReq)
{return-1;}
else if(trim(newValue)!=""&&!this.isValidMbox(newValue))
return-2;return 0;},isValidMbox:function(url){var RegExp=/^([\d\w])([\da-zA-Z._]*)@([\d\w][-\d\w]{0,253}[\d\w]?\.)+[\w]{2,4}$/;if(RegExp.test(url)){return true;}else{return false;}},createValueObject:function(value){var object=new Object();if(value.search("mailto:")!=0)
value="mailto:"+value;object[Aparicio.VALUE]=value;object[Aparicio.TYPE]="rdfs:Resource";return object;}});
Aparicio.PasswordEntry=Class.create(Aparicio.Entry,{ver1:null,ver2:null,generateNormalMode:function(value,superElement){var a=document.createElement("a");a.href="javascript:void(0)";a.innerHTML=JS_MESSAGES['change'];a.onclick=this.editMode.bindAsEventListener(this);superElement.appendChild(a);return a;},generateEditMode:function(value,superElement){var entryInput=document.createElement("input");entryInput.value="";entryInput.style.display="none";var entryInputVer1=document.createElement("input");Element.addClassName(entryInputVer1,"entryValueStringInputPassword");entryInputVer1.id=superElement.id+"pass_ver1";entryInputVer1.type="password";this.ver1=entryInputVer1;var br=document.createElement("br");var entryInputVer2=document.createElement("input");Element.addClassName(entryInputVer2,"entryValueStringInputPassword");entryInputVer2.id=superElement.id+"pass_ver";entryInputVer2.type="password";this.ver2=entryInputVer2;var spanForInfo=document.createElement("span");Element.addClassName(spanForInfo,"passwordSpanForInfo");spanForInfo.innerHTML=JS_MESSAGES['verify_pass'];superElement.appendChild(entryInput);superElement.appendChild(entryInputVer1);superElement.appendChild(br);superElement.appendChild(entryInputVer2);superElement.appendChild(spanForInfo);return entryInput;},validate:function(newValue){if(trim(newValue)==""&&this.entryReq)
{return-1;}
else if(this.ver1.value!=this.ver2.value)
return-3;return 0;},preSaveAction:function(event,id){if(this.ver1.value&&trim(this.ver1.value)!="")
$(this.entryId+"_0_input").value=calcSHA1(this.ver1.value);else
$(this.entryId+"_0_input").value=null;},activate:function(activ){this.ver1.disabled=(!activ);this.ver2.disabled=(!activ);},onSaveAction:function(){}});
Aparicio.TextEntry=Class.create(Aparicio.Entry,{generateNormalMode:function(value,superElement){var entryValueIn=document.createElement("span");entryValueIn.className="text";if(value!=null&&value!="")
entryValueIn.innerHTML=value[Aparicio.VALUE];superElement.appendChild(entryValueIn);return entryValueIn;},generateEditMode:function(value,superElement){var entryInput=document.createElement("textarea");Element.addClassName(entryInput,"entryValueStringTextarea");if(value!=null&&value!="")
entryInput.value=value[Aparicio.VALUE];superElement.appendChild(entryInput);return entryInput;}});
Aparicio.FriendsEntry=Class.create(Aparicio.Entry,{selectedUri:$A(),selectedFL:$A(),reifPredicate:"xfoaf:friendshipLevel",hideBothInKnownBy:true,autocomplete:null,currentId:null,defaultImg:(l10n.URLStatic+"/images/userw.png"),imgServFormattingString:"/image?width=50&height=50&url=",imgStartH:"<img height=\"50\" src=\"",imgStart:"<img src=\"",imgEnd:"\">",predicatesPair:["foaf:knows","xfoaf:isKnownBy"],generateEntry:function($super){if(this.previewMode)
this.generatePreview();else{if(this.entryId.search("isKnownBy")>-1)
this.generatePreview(true);else $super();}},checkForInverse:function(property,value){var inverse=null;if(this.predicatesPair[0]==property)
inverse=this.predicatesPair[1];else inverse=this.predicatesPair[0];found=false;for(i=0;i<a.length;i++)
{if(a[i].uri==this.objUri&&a[i][inverse])
{for(j=0;j<a[i][inverse].length;j++)
{if(a[i][inverse][j][Aparicio.VALUE]==value[Aparicio.VALUE])
return true;}}}
return found;},generateNormalMode:function(value,superElement,index,allowModif){var entryImg=document.createElement('div');var entryValue=document.createElement("div");entryValue.style.width="140px";entryImg.style.height="55px";var valueTmp="";if(value!=null&&value!="")
{both=this.checkForInverse(this.entryId,value);if(both&&this.entryId.search("isKnownBy")>=0&&this.hideBothInKnownBy)
return null;var img=this.getAdditionalValue(value,"foaf:depiction");if(img!=null&&img!=""){entryImg.innerHTML=this.imgStartH+this.imgServFormattingString+img+this.imgEnd;}
else{entryImg.innerHTML=this.imgStart+Aparicio.serviceURI+this.defaultImg+this.imgEnd;}
valueTmp=this.valueObjToString(value);userId=value[Aparicio.VALUE].substring(value[Aparicio.VALUE].lastIndexOf('/')+1,value[Aparicio.VALUE].length);var userLink=Aparicio.serviceURItmp.replace(/{obj}/,userId);userLink=userLink.replace(/{field}/,"");userLink=userLink.substring(0,userLink.length-1);entryValue.innerHTML="<a href=\""+userLink+"\">"+valueTmp+"</a>";if(both)
{var relationInfo=document.createElement("div");Element.addClassName(relationInfo,"connBoth");relationInfo.title=JS_MESSAGES['relation_both'];}
if(!both&&this.entryId.search("knows")>=0){var relationInfo=document.createElement("div");Element.addClassName(relationInfo,"connOut");relationInfo.title=JS_MESSAGES['relation_out'];}
if(!both&&!allowModif&&this.entryId.search("isKnownBy")>=0)
{var relationInfo=document.createElement("div");Element.addClassName(relationInfo,"connIn");relationInfo.title=JS_MESSAGES['relation_in'];}
if(!both&&allowModif&&this.entryId.search("isKnownBy")>=0)
{var relationInfo=document.createElement("a");Element.addClassName(relationInfo,"connIn");relationInfo.title=JS_MESSAGES['relation_in'];relationInfo.href="javascript:void(0)";relationInfo.id=this.entryId+"_"+index+"_changer";if(Aparicio.FRIENDSENTRY!=null){var friendEntry=Aparicio.FRIENDSENTRY;relationInfo.onclick=friendEntry.simpleAddFriend.bindAsEventListener(friendEntry,this.objUri,value[Aparicio.VALUE],friendEntry.insertElement.bind(friendEntry),this.changeToBoth.bind(this,index));}}
superElement.appendChild(relationInfo);}
entryImg.id=this.entryId+"_"+index+"_img";superElement.appendChild(entryImg);superElement.appendChild(entryValue);return entryValue;},changeToBoth:function(index){var changerLink=$(this.entryId+"_"+index+"_changer");if(changerLink!=null){changerLink.onclick=null;changerLink.className="connBoth";changerLink.style.cursor="default";}
var message=new Aparicio.Message(1,JS_MESSAGES['friends_added'],void(0));message.showMessage();},generateEditMode:function(value,superElement,id){var entryInput=document.createElement("input");entryInput.type="hidden";var fieldId=this.entryId+"_"+id;var entryInputVisible=document.createElement("input");Element.addClassName(entryInputVisible,"entryValueStringInput");entryInputVisible.id=fieldId+"_input_visible";var flevelSpan=document.createElement("span");var flevelLabel=document.createElement("div");flevelLabel.innerHTML=JS_MESSAGES['flevel'];Element.addClassName(flevelLabel,"slider_label");var flevelValue=document.createElement("div");flevelValue.id=fieldId+"_slider_value";flevelValue.style.width="40px";Element.addClassName(flevelValue,"slider_value");var slider=document.createElement("div");slider.id=fieldId+"_slider";Element.addClassName(slider,"slider");var handle=document.createElement("div");Element.addClassName(handle,"handle");handle.id=fieldId+"_slider_handle";slider.appendChild(handle);if(value!=null&&value!=""){this.selectedUri[id]=value[Aparicio.VALUE];this.selectedFL[id]=this.getReifValue(value);entryInputVisible.value=this.getAdditionalValue(value,"foaf:name");entryInputVisible.disabled="true";}
else{this.selectedFL[id]=50;}
flevelValue.innerHTML=this.selectedFL[id];superElement.appendChild(entryInput);superElement.appendChild(entryInputVisible);flevelSpan.appendChild(flevelLabel);flevelSpan.appendChild(slider);flevelSpan.appendChild(flevelValue);superElement.appendChild(flevelSpan);return entryInput;},smallEditModeB:function(event,id){$(this.entryId+"_"+id).style.display="none";$(this.entryId+"_"+id+"_input_visible").style.display="block";$(this.entryId+"_"+id+"_input_span").style.display="block";if($(this.entryId+"_"+id+"_input_visible").value==""||$(this.entryId+"_"+id+"_input_visible").value==null)
{var options={script:this.generateSugUri,json:true,minchars:3,shownoresults:true,maxresults:16,cache:false,noresults:JS_MESSAGES['friends_not_found'],callback:this.setSelectedUri.bind(this,id)};this.autocomplete=new AutoComplete(this.entryId+"_"+id+"_input_visible",options);}
new Control.Slider($(this.entryId+"_"+id+"_slider_handle"),$(this.entryId+"_"+id+"_slider"),{range:$R(0,100),sliderValue:this.selectedFL[id],onSlide:function(value){$(this.entryId+"_"+id+"_slider_value").innerHTML=parseInt(value);}.bind(this),onChange:function(value){this.setSelectedFL(value,id);}.bind(this)});},preSaveAction:function(event,id){if(this.selectedUri[id]!=null)
$(this.entryId+"_"+id+"_input").value=this.selectedUri[id]+"::"+this.selectedFL[id];else
$(this.entryId+"_"+id+"_input").value=$(this.entryId+"_"+id+"_input_visible").value+"::"+this.selectedFL[id]+"::T";},handleValidation:function($super,validation,id){if(validation==-4)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['friends_select_or_type'];$(this.entryId+"_val").appear();}
else if(validation==-5)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['friends_not_uri'];$(this.entryId+"_val").appear();}
else if(validation==-6)
{this.currentId=id;var message=new Aparicio.Message(0,JS_MESSAGES['invitation_sure'],this.invitePerson.bind(this));message.showMessage();}
else $super(validation,id);},validate:function(newValue){isNotSuggested=newValue.search("::T");if(isNotSuggested>-1&&isNotSuggested==newValue.length-3)
{newValue=trim(newValue);values=newValue.split("::");if(values[0]=="")
return-4;if(values[0]!="")
{if(!this.isValidMbox(values[0]))
{return-5;}
else{return-6;}}}
return 0;},onSaveAction:function(newValue,holderObjId){var person=new Object();person[Aparicio.URI]=newValue[Aparicio.VALUE];var personName=new Object();inputVisible=holderObjId.replace(/_value/,"_input_visible");personName[Aparicio.VALUE]=$(inputVisible).value;personName[Aparicio.TYPE]=Aparicio.LITERAL;person['foaf:name']=new Array(personName);a.push(person);$(holderObjId).innerHTML=this.valueObjToString(newValue);$(inputVisible).disabled="true";$(inputVisible).removeClassName("ac_field");},insertElement:function(success,transport,resp){if(success){if((typeof resp=='undefined'||resp==null)&&transport!=null)
try{resp=eval('('+transport.responseText+')');}
catch(ex){}
var friend=null;var knowsCont=null;var id=this.entryVal.size();for(i=0;i<resp.length;i++)
{if(resp[i].uri&&resp[i].uri==this.objUri)
{if(resp[i]['foaf:knows'])
{knowsCont=resp[i]['foaf:knows'][0];}}
else if(resp[i].uri){friend=resp[i];}}
this.entryVal[id]=knowsCont;$(this.entryId+"_"+id+"_img").remove();$(this.entryId+"_"+id+"_value").remove();var entryValue=this.generateNormalMode(knowsCont,$(this.entryId+"_"+id),id,true);entryValue.id=this.entryId+"_"+id+"_value";inputVisible=$(this.entryId+"_"+id+"_input_visible");inputVisible.removeClassName("ac_field");this.generateFieldButtons($(this.entryId+"_"+id),id,this.entryVal[id]);$(this.entryId+"_"+id+"_addbut").style.display="none";$(this.entryId+"_"+id+"_value_add").style.display="none";if(knowsCont!=null&&knowsCont!=""){this.selectedUri[id]=knowsCont[Aparicio.VALUE];this.selectedFL[id]=this.getReifValue(knowsCont);inputVisible.value=this.getAdditionalValue(knowsCont,"foaf:name");inputVisible.disabled="true";}
else{this.selectedFL[id]=50;}
flevelValue=$(this.entryId+"_"+id+"_slider_value")
flevelValue.innerHTML=this.selectedFL[id];this.generateAddButton();}},createValueObject:function(value){values=trim(value).split("::");if(values[0].indexOf("http://")!=0&&values[0].indexOf("mailto:")!=0)
values[0]="mailto:"+values[0];var object=new Object();object[Aparicio.VALUE]=values[0];object[Aparicio.TYPE]=Aparicio.RESOURCE;var reifValueObj=new Object();reifValueObj[Aparicio.VALUE]=new String(values[1]/100);reifValueObj[Aparicio.TYPE]=Aparicio.LITERAL;reifValueObj[Aparicio.XSD_TYPE]=Aparicio.TYPE_FLOAT;var reifObj=new Object();reifObj[this.reifPredicate]=new Array(reifValueObj);object[Aparicio.REIF]=new Array(reifObj);return object;},editValueObject:function(object,newValue){var values=trim(newValue).split("::");object[Aparicio.VALUE]=values[0];object[Aparicio.REIF][0][this.reifPredicate][0][Aparicio.VALUE]=new String(values[1]/100);object[Aparicio.REIF][0][this.reifPredicate][0][Aparicio.XSD_TYPE]=Aparicio.TYPE_FLOAT;return object;},invitePerson:function(){var id=this.currentId;var newValue=$(this.entryId+"_"+id+"_input").value;if(this.entryVal[id]){newObj=this.editValueObject(this.entryVal[id],newValue);}
else{newObj=this.createValueObject(newValue);}
reqUri=this.getSOAUri(this.objUri,this.entryId,newValue);reqContent=this.createRequestContent(this.objUri,this.entryId,newObj,id,false);var ajax=new Ajax.Request(reqUri,{contentType:"text/javascript",method:"post",parameters:"",postBody:reqContent,onSuccess:function(){this.finalizeSave(true,id);}.bind(this),onFailure:function(){this.finalizeSave(false);}.bind(this)});},getAdditionalValue:function(value,predicate){var valueTmp="";for(i=0;i<a.length;i++)
{if(a[i].uri&&a[i].uri==value[Aparicio.VALUE])
{if(a[i][predicate])
{valueTmp+=a[i][predicate][0][Aparicio.VALUE];}
break;}}
return valueTmp;},getReifValue:function(value){var valueTmp="";if(value["::reif"])
{valueTmp+=(value[Aparicio.REIF][0][this.reifPredicate][0][Aparicio.VALUE])*100;}
return valueTmp;},valueObjToString:function(value){var valueTmp="";valueTmp+=this.getAdditionalValue(value,"foaf:name");reif=this.getReifValue(value);if(reif!="")
{valueTmp+=" <i>[";valueTmp+=reif;valueTmp+="%]</i>";}
if(valueTmp=="")
valueTmp=value[Aparicio.VALUE];return valueTmp;},simpleAddFriend:function(event,loggedUri,friendUri,callback,callback2){this.sendingOneObject=true;var uri=this.getSOAUri(loggedUri,0,friendUri);var newObj=this.createValueObject(friendUri+"::"+50);var reqContent=this.createRequestContent(loggedUri,"foaf:knows",newObj,0,false);console.log("sending",uri,reqContent);var ajax=new Ajax.Request(uri,{contentType:"text/javascript",method:"post",postBody:reqContent,onSuccess:function(transport,resp){callback(true,transport,resp);}.bind(this),onFailure:function(transport,resp){callback(false,transport,resp);}.bind(this)});if(typeof callback2!='undefined'){callback2();}},getSOAUri:function(objUri,id,newVal){if(objUri.search("mailto:")==0)
objUri=objUri.substring(7);else if(objUri.search("http://")==0)
objUri=objUri.substring(objUri.lastIndexOf('/')+1,objUri.length);if(newVal){if(newVal.search("::")>-1)
newVal=newVal.split("::")[0];if(newVal.search("mailto:")==0)
newVal=newVal.substring(7);else if(newVal.search("http://")==0)
newVal=newVal.substring(newVal.lastIndexOf('/')+1,newVal.length);this.sendingOneObject=true;}
var endUri=Aparicio.serviceURItmp.replace(/{obj}/,objUri);endUri=endUri.replace(/{field}/,"friends");if(this.sendingOneObject)
endUri+='/'+newVal;return endUri;},generateSugUri:function(inputString)
{return endUri=Aparicio.serviceURI+"/meta::objects/find/"+inputString+"/rangeof::foaf:Person?rdfs:label=foaf:name";},isValidMbox:function(url){var RegExp=/^([\d\w])([\da-zA-Z._]*)@([\d\w][-\d\w]{0,253}[\d\w]?\.)+[\w]{2,4}$/;if(RegExp.test(url)){return true;}else{return false;}},setSelectedUri:function(id,obj){this.selectedUri[id]=obj[Aparicio.META_URI];},setSelectedFL:function(level,id){this.selectedFL[id]=parseInt(level);}});
Aparicio.ImgEntry=Class.create(Aparicio.Entry,{formDiv:$A(),img:$A(),imgTmp:$A(),uploadServlet:'/pic',generateNormalMode:function(value,superElement,id){if(typeof id=='undefined')id=0;var entryValueIn=document.createElement("span");entryValueIn.style.width="200px";if(value)
{img=document.createElement("img");if(value[Aparicio.VALUE].search(Aparicio.serviceURI)==0)
img.src=value[Aparicio.VALUE]+"?height="+Aparicio.defaultHeight+"&width=200";else
img.src="/image?uri="+value[Aparicio.VALUE]+"&height="+Aparicio.defaultHeight+"&width=200";img.style.border="none";entryValueIn.appendChild(img);}
superElement.appendChild(entryValueIn);return entryValueIn;},generateEditMode:function(value,superElement,id){this.uploadServlet=Aparicio.serviceURI+this.uploadServlet;if(typeof id=='undefined')id=0;fieldId=this.entryId+"_"+id;var entryInput=document.createElement("input");entryInput.type="hidden";this.formDiv[id]=document.createElement("div");var form;try{form=document.createElement('<form name="'+fieldId+'_form" encType="multipart/form-data">');}catch(e){form=document.createElement("form");form.name=fieldId+"_form";form.setAttribute('encType','multipart/form-data');}
form.setAttribute('method','POST');form.setAttribute('action',this.uploadServlet);form.id=fieldId+"_form";var fileInput;try{fileInput=document.createElement('<input name="'+fieldId+'_file">');}catch(e){fileInput=document.createElement("input");fileInput.name=fieldId+"_file";}
fileInput.type="file";fileInput.id=fieldId+"_file";Element.addClassName(fileInput,"entryValueStringInput");form.appendChild(fileInput);this.formDiv[id].appendChild(form);fileInput.onchange=function(event,form1,fileInput){AIM.submit(form1,{'onComplete':this.formSubmitted.bind(this,id)},fileInput);if(this.innerValidation(fileInput.value))
form1.submit();}.bindAsEventListener(this,form,fileInput);superElement.appendChild(this.formDiv[id])
superElement.appendChild(entryInput);return entryInput;},innerValidation:function(val){$(this.entryId+"_val").style.display="none";var validUrl=this.isValidImg(val);if(validUrl)return true;else{this.handleValidation(-7);return false;}},formSubmitted:function(id,result){if(result.search(/<pre/i)!=-1){result=result.substring(result.indexOf('>',result.toLowerCase().indexOf('<pre'))+1,result.length);if(result.toLowerCase().search('</pre')!=-1){result=result.substring(0,result.toLowerCase().indexOf('</pre'));}}
if(!this.imgTmp[id])
this.imgTmp[id]=document.createElement("img");if(result.search(Aparicio.serviceURI)==0)
this.imgTmp[id].src=result+"?height="+Aparicio.defaultHeight+"&width=200";else
this.imgTmp[id].src="/image?uri="+result+"&height="+Aparicio.defaultHeight+"&width=200";this.imgTmp[id].style.height=Aparicio.defaultHeight+"px";this.imgTmp[id].style.width="auto";this.imgTmp[id].style.border="none";this.imgTmp[id].style.display="none";$(this.formDiv[id]).up().appendChild(this.imgTmp[id]);this.formDiv[id].style.display="none";$(this.imgTmp[id]).appear();$(this.entryId+'_'+id+'_input').value=result;},onSaveAction:function(newValue,holderObjId){try{$(holderObjId).removeChild($(holderObjId).down('img'));}catch(e){$(holderObjId).innerHTML="";}
var img=document.createElement("img");if(newValue[Aparicio.VALUE].search(Aparicio.serviceURI)==0)
img.src=newValue[Aparicio.VALUE]+"?height="+Aparicio.defaultHeight+"&width=200";else
img.src="/image?uri="+newValue[Aparicio.VALUE]+"&height="+Aparicio.defaultHeight+"&width=200";$(holderObjId).appendChild(img);this.setImgHeight(img);},onSaveFinished:function(id){this.formDiv[id].style.display="block";if(this.imgTmp[id])
this.imgTmp[id].style.display="none";this.formDiv[id].down('form').reset();},onCancelFinished:function(id){this.onSaveFinished(id);},validate:function(newValue){if(trim(newValue)==""&&this.entryReq)
{return-1;}
else if(trim(newValue)!=""&&!this.isValidImg(newValue))
return-7;return 0;},isValidImg:function(url){if(url.search('.')==-1)return false;var type=url.substring(url.lastIndexOf('.')+1,url.length);var RegExp=/^(jpg(g)?)|(png)|(gif)|(tif(f)?)$/;if(RegExp.test(type.toLowerCase())){return true;}else{return false;}},handleValidation:function($super,validation,id){if(validation==-7)
{$(this.entryId+"_val").style.display="none";$(this.entryId+"_val").innerHTML=JS_MESSAGES['img_type'];$(this.entryId+"_val").appear();}
else $super(validation,id);},createValueObject:function(value){var object=new Object();object[Aparicio.VALUE]=value;object[Aparicio.TYPE]="rdfs:Resource";return object;},setImgHeight:function(img){var height=$(img).getStyle("height");var width=$(img).getStyle("width");img.style.height=Aparicio.defaultHeight+"px";if(height&&width)
{height=height.substring(0,height.indexOf("px"));width=width.substring(0,width.indexOf("px"));try{img.style.width=parseInt((width*Aparicio.defaultHeight)/height)+"px";}
catch(e){}}}});
Aparicio.Message.prototype={blackback:null,messageCont:null,type:null,message:null,callback:null,buttonOk:true,buttonCancel:false,initialize:function(_type,_message,_callback){this.type=_type;if(_type==0||_type==1)
this.buttonOk=true;if(_type==0)
this.buttonCancel=true;this.message=_message;this.callback=_callback;this.createVis();},createVis:function(){var blackback=document.createElement("div");blackback.id="fallBlack";this.blackback=blackback;if(Prototype.Browser.IE6){this.blackback.style.position='absolute';this.blackback.style.top=document.viewport.getScrollOffsets().top+'px';}
var messageCont=document.createElement("div");messageCont.id="messageCont";messageCont.style.display="none";this.messageCont=messageCont;var messageWindow=document.createElement("div");messageWindow.id="messageWindow";if(Prototype.Browser.IE6){this.messageWindow.style.position='absolute';this.messageWindow.style.top=document.viewport.getScrollOffsets().top+200+'px';}
var messageText=document.createElement("div");messageText.id="messageText";this.createMessage(messageText);var buttonsDiv=document.createElement("div");Element.addClassName(buttonsDiv,"entryValueStringButtonsWithoutFloat");this.addButtons(buttonsDiv);var div=document.createElement("div");div.style.clear="both";messageWindow.appendChild(messageText);messageWindow.appendChild(buttonsDiv);messageCont.appendChild(messageWindow);document.body.appendChild(blackback);document.body.appendChild(messageCont);},createMessage:function(messageObj){messageObj.innerHTML=this.message;},addButtons:function(buttonsDiv){if(this.buttonOk){var butOk=document.createElement("button");Element.addClassName(butOk,"entryValueStringButton");butOk.id="message_button_ok";butOk.innerHTML="OK";butOk.onclick=this.butOkClick.bindAsEventListener(this);}
if(this.buttonCancel)
{var butCancel=document.createElement("button");Element.addClassName(butCancel,"entryValueStringButton");butCancel.id="message_button_cancel";butCancel.innerHTML="Cancel";butCancel.onclick=this.butCancelClick.bindAsEventListener(this);}
if(this.buttonOk)
buttonsDiv.appendChild(butOk);if(this.buttonCancel)
buttonsDiv.appendChild(butCancel);},showMessage:function(){$(this.blackback).style.display="block";$(this.blackback).morph('opacity:0.6',{duration:0.5});$(this.messageCont).appear();},hideMessage:function(){$(this.blackback).morph("opacity:0",{duration:0.5,queue:'front',afterFinish:function(){$(this.blackback).style.display="none";}.bind(this)});$(this.messageCont).fade({duration:0.3});},butOkClick:function(){this.hideMessage();this.callback(true);},butCancelClick:function(){this.hideMessage();this.callback(false);}};
