/* The GPL defines source code as 'the preferred form of the work for making modifications to it'. Since this file has
 been compressed it is not easily editable and should be considered (for the sake of licencing at least) to be compiled code,
 equivalent to a binary executable.
 Source code can be found in the wikizzle SVN repository, see http://wikizzle.org for more information */
var Prototype={Version:"1.6.1",Browser:(function(){var c=navigator.userAgent;var b=Object.prototype.toString.call(window.opera)=="[object Opera]";return{IE:!!window.attachEvent&&!b,Opera:b,WebKit:c.indexOf("AppleWebKit/")>-1,Gecko:c.indexOf("Gecko")>-1&&c.indexOf("KHTML")===-1,MobileSafari:/Apple.*Mobile.*Safari/.test(c)}})(),BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:(function(){var b=window.Element||window.HTMLElement;return !!(b&&b.prototype)})(),SpecificElementExtensions:(function(){if(typeof window.HTMLDivElement!=="undefined"){return true}var d=document.createElement("div");var c=document.createElement("form");var b=false;if(d.__proto__&&(d.__proto__!==c.__proto__)){b=true}d=c=null;return b})()},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(b){return b}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Abstract={};var Try={these:function(){var d;for(var c=0,f=arguments.length;c<f;c++){var b=arguments[c];try{d=b();break}catch(g){}}return d}};var Class=(function(){function b(){}function c(){var h=null,g=$A(arguments);if(Object.isFunction(g[0])){h=g.shift()}function e(){this.initialize.apply(this,arguments)}Object.extend(e,Class.Methods);e.superclass=h;e.subclasses=[];if(h){b.prototype=h.prototype;e.prototype=new b;h.subclasses.push(e)}for(var f=0;f<g.length;f++){e.addMethods(g[f])}if(!e.prototype.initialize){e.prototype.initialize=Prototype.emptyFunction}e.prototype.constructor=e;return e}function d(n){var g=this.superclass&&this.superclass.prototype;var f=Object.keys(n);if(!Object.keys({toString:true}).length){if(n.toString!=Object.prototype.toString){f.push("toString")}if(n.valueOf!=Object.prototype.valueOf){f.push("valueOf")}}for(var e=0,h=f.length;e<h;e++){var m=f[e],l=n[m];if(g&&Object.isFunction(l)&&l.argumentNames().first()=="$super"){var o=l;l=(function(q){return function(){return g[q].apply(this,arguments)}})(m).wrap(o);l.valueOf=o.valueOf.bind(o);l.toString=o.toString.bind(o)}this.prototype[m]=l}return this}return{create:c,Methods:{addMethods:d}}})();(function(){var e=Object.prototype.toString;function m(v,x){for(var w in x){v[w]=x[w]}return v}function q(v){try{if(f(v)){return"undefined"}if(v===null){return"null"}return v.inspect?v.inspect():String(v)}catch(w){if(w instanceof RangeError){return"..."}throw w}}function o(v){var x=typeof v;switch(x){case"undefined":case"function":case"unknown":return;case"boolean":return v.toString()}if(v===null){return"null"}if(v.toJSON){return v.toJSON()}if(l(v)){return}var w=[];for(var z in v){var y=o(v[z]);if(!f(y)){w.push(z.toJSON()+": "+y)}}return"{"+w.join(", ")+"}"}function d(v){return $H(v).toQueryString()}function g(v){return v&&v.toHTML?v.toHTML():String.interpret(v)}function t(v){var w=[];for(var x in v){w.push(x)}return w}function r(v){var w=[];for(var x in v){w.push(v[x])}return w}function n(v){return m({},v)}function l(v){return !!(v&&v.nodeType==1)}function h(v){return e.call(v)=="[object Array]"}function u(v){return v instanceof Hash}function c(v){return typeof v==="function"}function b(v){return e.call(v)=="[object String]"}function s(v){return e.call(v)=="[object Number]"}function f(v){return typeof v==="undefined"}m(Object,{extend:m,inspect:q,toJSON:o,toQueryString:d,toHTML:g,keys:t,values:r,clone:n,isElement:l,isArray:h,isHash:u,isFunction:c,isString:b,isNumber:s,isUndefined:f})})();Object.extend(Function.prototype,(function(){var o=Array.prototype.slice;function e(t,q){var s=t.length,r=q.length;while(r--){t[s+r]=q[r]}return t}function m(r,q){r=o.call(r,0);return e(r,q)}function h(){var q=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return q.length==1&&!q[0]?[]:q}function l(s){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var q=this,r=o.call(arguments,1);return function(){var t=m(r,arguments);return q.apply(s,t)}}function g(s){var q=this,r=o.call(arguments,1);return function(u){var t=e([u||window.event],r);return q.apply(s,t)}}function n(){if(!arguments.length){return this}var q=this,r=o.call(arguments,0);return function(){var s=m(r,arguments);return q.apply(this,s)}}function f(s){var q=this,r=o.call(arguments,1);s=s*1000;return window.setTimeout(function(){return q.apply(q,r)},s)}function b(){var q=e([0.01],arguments);return this.delay.apply(this,q)}function d(r){var q=this;return function(){var s=e([q.bind(this)],arguments);return r.apply(this,s)}}function c(){if(this._methodized){return this._methodized}var q=this;return this._methodized=function(){var r=e([this],arguments);return q.apply(null,r)}}return{argumentNames:h,bind:l,bindAsEventListener:g,curry:n,delay:f,defer:b,wrap:d,methodize:c}})());Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(b){return String(b).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({initialize:function(c,b){this.callback=c;this.frequency=b;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},execute:function(){this.callback(this)},stop:function(){if(!this.timer){return}clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();this.currentlyExecuting=false}catch(b){this.currentlyExecuting=false;throw b}}}});Object.extend(String,{interpret:function(b){return b==null?"":String(b)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,(function(){function prepareReplacement(replacement){if(Object.isFunction(replacement)){return replacement}var template=new Template(replacement);return function(match){return template.evaluate(match)}}function gsub(pattern,replacement){var result="",source=this,match;replacement=prepareReplacement(replacement);if(Object.isString(pattern)){pattern=RegExp.escape(pattern)}if(!(pattern.length||pattern.source)){replacement=replacement("");return replacement+source.split("").join(replacement)+replacement}while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else{result+=source,source=""}}return result}function sub(pattern,replacement,count){replacement=prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0){return match[0]}return replacement(match)})}function scan(pattern,iterator){this.gsub(pattern,iterator);return String(this)}function truncate(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?"...":truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)}function strip(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}function stripTags(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,"")}function stripScripts(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")}function extractScripts(){var matchAll=new RegExp(Prototype.ScriptFragment,"img");var matchOne=new RegExp(Prototype.ScriptFragment,"im");return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||["",""])[1]})}function evalScripts(){return this.extractScripts().map(function(script){return eval(script)})}function escapeHTML(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function unescapeHTML(){return this.stripTags().replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function toQueryParams(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match){return{}}return match[1].split(separator||"&").inject({},function(hash,pair){if((pair=pair.split("="))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join("="):pair[0];if(value!=undefined){value=decodeURIComponent(value)}if(key in hash){if(!Object.isArray(hash[key])){hash[key]=[hash[key]]}hash[key].push(value)}else{hash[key]=value}}return hash})}function toArray(){return this.split("")}function succ(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)}function times(count){return count<1?"":new Array(count+1).join(this)}function camelize(){var parts=this.split("-"),len=parts.length;if(len==1){return parts[0]}var camelized=this.charAt(0)=="-"?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++){camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1)}return camelized}function capitalize(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()}function underscore(){return this.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function dasherize(){return this.replace(/_/g,"-")}function inspect(useDoubleQuotes){var escapedString=this.replace(/[\x00-\x1f\\]/g,function(character){if(character in String.specialChar){return String.specialChar[character]}return"\\u00"+character.charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes){return'"'+escapedString.replace(/"/g,'\\"')+'"'}return"'"+escapedString.replace(/'/g,"\\'")+"'"}function toJSON(){return this.inspect(true)}function unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,"$1")}function isJSON(){var str=this;if(str.blank()){return false}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)}function evalJSON(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())}function include(pattern){return this.indexOf(pattern)>-1}function startsWith(pattern){return this.indexOf(pattern)===0}function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d}function empty(){return this==""}function blank(){return/^\s*$/.test(this)}function interpolate(object,pattern){return new Template(this,pattern).evaluate(object)}return{gsub:gsub,sub:sub,scan:scan,truncate:truncate,strip:String.prototype.trim?String.prototype.trim:strip,stripTags:stripTags,stripScripts:stripScripts,extractScripts:extractScripts,evalScripts:evalScripts,escapeHTML:escapeHTML,unescapeHTML:unescapeHTML,toQueryParams:toQueryParams,parseQuery:toQueryParams,toArray:toArray,succ:succ,times:times,camelize:camelize,capitalize:capitalize,underscore:underscore,dasherize:dasherize,inspect:inspect,toJSON:toJSON,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:evalJSON,include:include,startsWith:startsWith,endsWith:endsWith,empty:empty,blank:blank,interpolate:interpolate}})());var Template=Class.create({initialize:function(b,c){this.template=b.toString();this.pattern=c||Template.Pattern},evaluate:function(b){if(b&&Object.isFunction(b.toTemplateReplacements)){b=b.toTemplateReplacements()}return this.template.gsub(this.pattern,function(e){if(b==null){return(e[1]+"")}var g=e[1]||"";if(g=="\\"){return e[2]}var c=b,h=e[3];var f=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;e=f.exec(h);if(e==null){return g}while(e!=null){var d=e[1].startsWith("[")?e[2].replace(/\\\\]/g,"]"):e[1];c=c[d];if(null==c||""==e[3]){break}h=h.substring("["==e[3]?e[1].length:e[0].length);e=f.exec(h)}return g+String.interpret(c)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable=(function(){function d(D,C){var B=0;try{this._each(function(F){D.call(C,F,B++)})}catch(E){if(E!=$break){throw E}}return this}function w(E,D,C){var B=-E,F=[],G=this.toArray();if(E<1){return G}while((B+=E)<G.length){F.push(G.slice(B,B+E))}return F.collect(D,C)}function c(D,C){D=D||Prototype.K;var B=true;this.each(function(F,E){B=B&&!!D.call(C,F,E);if(!B){throw $break}});return B}function m(D,C){D=D||Prototype.K;var B=false;this.each(function(F,E){if(B=!!D.call(C,F,E)){throw $break}});return B}function n(D,C){D=D||Prototype.K;var B=[];this.each(function(F,E){B.push(D.call(C,F,E))});return B}function y(D,C){var B;this.each(function(F,E){if(D.call(C,F,E)){B=F;throw $break}});return B}function l(D,C){var B=[];this.each(function(F,E){if(D.call(C,F,E)){B.push(F)}});return B}function h(E,D,C){D=D||Prototype.K;var B=[];if(Object.isString(E)){E=new RegExp(RegExp.escape(E))}this.each(function(G,F){if(E.match(G)){B.push(D.call(C,G,F))}});return B}function b(B){if(Object.isFunction(this.indexOf)){if(this.indexOf(B)!=-1){return true}}var C=false;this.each(function(D){if(D==B){C=true;throw $break}});return C}function v(C,B){B=Object.isUndefined(B)?null:B;return this.eachSlice(C,function(D){while(D.length<C){D.push(B)}return D})}function q(B,D,C){this.each(function(F,E){B=D.call(C,B,F,E)});return B}function A(C){var B=$A(arguments).slice(1);return this.map(function(D){return D[C].apply(D,B)})}function u(D,C){D=D||Prototype.K;var B;this.each(function(F,E){F=D.call(C,F,E);if(B==null||F>=B){B=F}});return B}function s(D,C){D=D||Prototype.K;var B;this.each(function(F,E){F=D.call(C,F,E);if(B==null||F<B){B=F}});return B}function f(E,C){E=E||Prototype.K;var D=[],B=[];this.each(function(G,F){(E.call(C,G,F)?D:B).push(G)});return[D,B]}function g(C){var B=[];this.each(function(D){B.push(D[C])});return B}function e(D,C){var B=[];this.each(function(F,E){if(!D.call(C,F,E)){B.push(F)}});return B}function r(C,B){return this.map(function(E,D){return{value:E,criteria:C.call(B,E,D)}}).sort(function(G,F){var E=G.criteria,D=F.criteria;return E<D?-1:E>D?1:0}).pluck("value")}function t(){return this.map()}function x(){var C=Prototype.K,B=$A(arguments);if(Object.isFunction(B.last())){C=B.pop()}var D=[this].concat(B).map($A);return this.map(function(F,E){return C(D.pluck(E))})}function o(){return this.toArray().length}function z(){return"#<Enumerable:"+this.toArray().inspect()+">"}return{each:d,eachSlice:w,all:c,every:c,any:m,some:m,collect:n,map:n,detect:y,findAll:l,select:l,filter:l,grep:h,include:b,member:b,inGroupsOf:v,inject:q,invoke:A,max:u,min:s,partition:f,pluck:g,reject:e,sortBy:r,toArray:t,entries:t,zip:x,size:o,inspect:z,find:y}})();function $A(d){if(!d){return[]}if("toArray" in Object(d)){return d.toArray()}var c=d.length||0,b=new Array(c);while(c--){b[c]=d[c]}return b}function $w(b){if(!Object.isString(b)){return[]}b=b.strip();return b?b.split(/\s+/):[]}Array.from=$A;(function(){var x=Array.prototype,r=x.slice,t=x.forEach;function c(B){for(var A=0,C=this.length;A<C;A++){B(this[A])}}if(!t){t=c}function q(){this.length=0;return this}function e(){return this[0]}function h(){return this[this.length-1]}function m(){return this.select(function(A){return A!=null})}function z(){return this.inject([],function(B,A){if(Object.isArray(A)){return B.concat(A.flatten())}B.push(A);return B})}function l(){var A=r.call(arguments,0);return this.select(function(B){return !A.include(B)})}function g(A){return(A!==false?this:this.toArray())._reverse()}function o(A){return this.inject([],function(D,C,B){if(0==B||(A?D.last()!=C:!D.include(C))){D.push(C)}return D})}function u(A){return this.uniq().findAll(function(B){return A.detect(function(C){return B===C})})}function v(){return r.call(this,0)}function n(){return this.length}function y(){return"["+this.map(Object.inspect).join(", ")+"]"}function w(){var A=[];this.each(function(B){var C=Object.toJSON(B);if(!Object.isUndefined(C)){A.push(C)}});return"["+A.join(", ")+"]"}function b(C,A){A||(A=0);var B=this.length;if(A<0){A=B+A}for(;A<B;A++){if(this[A]===C){return A}}return -1}function s(B,A){A=isNaN(A)?this.length:(A<0?this.length+A:A)+1;var C=this.slice(0,A).reverse().indexOf(B);return(C<0)?C:A-C-1}function d(){var F=r.call(this,0),D;for(var B=0,C=arguments.length;B<C;B++){D=arguments[B];if(Object.isArray(D)&&!("callee" in D)){for(var A=0,E=D.length;A<E;A++){F.push(D[A])}}else{F.push(D)}}return F}Object.extend(x,Enumerable);if(!x._reverse){x._reverse=x.reverse}Object.extend(x,{_each:t,clear:q,first:e,last:h,compact:m,flatten:z,without:l,reverse:g,uniq:o,intersect:u,clone:v,toArray:v,size:n,inspect:y,toJSON:w});var f=(function(){return[].concat(arguments)[0][0]!==1})(1,2);if(f){x.concat=d}if(!x.indexOf){x.indexOf=b}if(!x.lastIndexOf){x.lastIndexOf=s}})();function $H(b){return new Hash(b)}var Hash=Class.create(Enumerable,(function(){function f(v){this._object=Object.isHash(v)?v.toObject():Object.clone(v)}function g(w){for(var v in this._object){var x=this._object[v],y=[v,x];y.key=v;y.value=x;w(y)}}function o(v,w){return this._object[v]=w}function d(v){if(this._object[v]!==Object.prototype[v]){return this._object[v]}}function s(v){var w=this._object[v];delete this._object[v];return w}function u(){return Object.clone(this._object)}function t(){return this.pluck("key")}function r(){return this.pluck("value")}function h(w){var v=this.detect(function(x){return x.value===w});return v&&v.key}function m(v){return this.clone().update(v)}function e(v){return new Hash(v).inject(this,function(w,x){w.set(x.key,x.value);return w})}function c(v,w){if(Object.isUndefined(w)){return v}return v+"="+encodeURIComponent(String.interpret(w))}function b(){return this.inject([],function(x,y){var w=encodeURIComponent(y.key),v=y.value;if(v&&typeof v=="object"){if(Object.isArray(v)){return x.concat(v.map(c.curry(w)))}}else{x.push(c(w,v))}return x}).join("&")}function q(){return"#<Hash:{"+this.map(function(v){return v.map(Object.inspect).join(": ")}).join(", ")+"}>"}function n(){return Object.toJSON(this.toObject())}function l(){return new Hash(this)}return{initialize:f,_each:g,set:o,get:d,unset:s,toObject:u,toTemplateReplacements:u,keys:t,values:r,index:h,merge:m,update:e,toQueryString:b,inspect:q,toJSON:n,clone:l}})());Hash.from=$H;Object.extend(Number.prototype,(function(){function e(){return this.toPaddedString(2,16)}function f(){return this+1}function b(o,n){$R(0,this,true).each(o,n);return this}function c(q,o){var n=this.toString(o||10);return"0".times(q-n.length)+n}function g(){return isFinite(this)?this.toString():"null"}function m(){return Math.abs(this)}function l(){return Math.round(this)}function h(){return Math.ceil(this)}function d(){return Math.floor(this)}return{toColorPart:e,succ:f,times:b,toPaddedString:c,toJSON:g,abs:m,round:l,ceil:h,floor:d}})());function $R(d,b,c){return new ObjectRange(d,b,c)}var ObjectRange=Class.create(Enumerable,(function(){function c(g,e,f){this.start=g;this.end=e;this.exclusive=f}function d(e){var f=this.start;while(this.include(f)){e(f);f=f.succ()}}function b(e){if(e<this.start){return false}if(this.exclusive){return e<this.end}return e<=this.end}return{initialize:c,_each:d,include:b}})());var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(b){this.responders._each(b)},register:function(b){if(!this.include(b)){this.responders.push(b)}},unregister:function(b){this.responders=this.responders.without(b)},dispatch:function(e,c,d,b){this.each(function(f){if(Object.isFunction(f[e])){try{f[e].apply(f,[c,d,b])}catch(g){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(b){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,b||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,c,b){$super(b);this.transport=Ajax.getTransport();this.request(c)},request:function(c){this.url=c;this.method=this.options.method;var f=Object.clone(this.options.parameters);if(!["get","post","head"].include(this.method)){f._method=this.method;this.method="post"}this.parameters=f;if(f=Object.toQueryString(f)){if(this.method=="get"||this.method=="head"){this.url+=(this.url.include("?")?"&":"?")+f}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){f+="&_="}}}try{var b=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(b)}Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||f):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(d){this.dispatchException(d)}},onStateChange:function(){var b=this.transport.readyState;if(b>1&&!((b==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var f={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){f["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){f.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var d=this.options.requestHeaders;if(Object.isFunction(d.push)){for(var c=0,e=d.length;c<e;c+=2){f[d[c]]=d[c+1]}}else{$H(d).each(function(g){f[g.key]=g.value})}}for(var b in f){this.transport.setRequestHeader(b,f[b])}},success:function(){var b=this.getStatus();return !b||(b>=200&&b<300)},getStatus:function(){try{return this.transport.status||0}catch(b){return 0}},respondToReadyState:function(b){var d=Ajax.Request.Events[b],c=new Ajax.Response(this);if(d=="Complete"){try{this._complete=true;(this.options["on"+c.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(c,c.headerJSON)}catch(f){this.dispatchException(f)}var g=c.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&g&&g.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+d]||Prototype.emptyFunction)(c,c.headerJSON);Ajax.Responders.dispatch("on"+d,this,c,c.headerJSON)}catch(f){this.dispatchException(f)}if(d=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var b=this.url.match(/^\s*https?:\/\/[^\/]*/);return !b||(b[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(b){try{return this.transport.getResponseHeader(b)||null}catch(c){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(b){(this.options.onException||Prototype.emptyFunction)(this,b);Ajax.Responders.dispatch("onException",this,b)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(d){this.request=d;var e=this.transport=d.transport,b=this.readyState=e.readyState;if((b>2&&!Prototype.Browser.IE)||b==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(e.responseText);this.headerJSON=this._getHeaderJSON()}if(b==4){var c=e.responseXML;this.responseXML=Object.isUndefined(c)?null:c;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(b){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(b){return null}},getResponseHeader:function(b){return this.transport.getResponseHeader(b)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var b=this.getHeader("X-JSON");if(!b){return null}b=decodeURIComponent(escape(b));try{return b.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(c){this.request.dispatchException(c)}},_getResponseJSON:function(){var b=this.request.options;if(!b.evalJSON||(b.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(b.sanitizeJSON||!this.request.isSameOrigin())}catch(c){this.request.dispatchException(c)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,b,d,c){this.container={success:(b.success||b),failure:(b.failure||(b.success?null:b))};c=Object.clone(c);var e=c.onComplete;c.onComplete=(function(f,g){this.updateContent(f.responseText);if(Object.isFunction(e)){e(f,g)}}).bind(this);$super(d,c)},updateContent:function(e){var d=this.container[this.success()?"success":"failure"],b=this.options;if(!b.evalScripts){e=e.stripScripts()}if(d=$(d)){if(b.insertion){if(Object.isString(b.insertion)){var c={};c[b.insertion]=e;d.insert(c)}else{b.insertion(d,e)}}else{d.update(e)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,b,d,c){$super(c);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=b;this.url=d;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(b){if(this.options.decay){this.decay=(b.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=b.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(c){if(arguments.length>1){for(var b=0,e=[],d=arguments.length;b<d;b++){e.push($(arguments[b]))}return e}if(Object.isString(c)){c=document.getElementById(c)}return Element.extend(c)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(g,b){var d=[];var f=document.evaluate(g,$(b)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var c=0,e=f.snapshotLength;c<e;c++){d.push(Element.extend(f.snapshotItem(c)))}return d}}if(!window.Node){var Node={}}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(d){var c=(function(){var g=document.createElement("form");var f=document.createElement("input");var e=document.documentElement;f.setAttribute("name","test");g.appendChild(f);e.appendChild(g);var h=g.elements?(typeof g.elements.test=="undefined"):null;e.removeChild(g);g=f=null;return h})();var b=d.Element;d.Element=function(g,f){f=f||{};g=g.toLowerCase();var e=Element.cache;if(c&&f.name){g="<"+g+' name="'+f.name+'">';delete f.name;return Element.writeAttribute(document.createElement(g),f)}if(!e[g]){e[g]=Element.extend(document.createElement(g))}return Element.writeAttribute(e[g].cloneNode(false),f)};Object.extend(d.Element,b||{});if(b){d.Element.prototype=b.prototype}})(this);Element.cache={};Element.idCounter=1;Element.Methods={visible:function(b){return $(b).style.display!="none"},toggle:function(b){b=$(b);Element[Element.visible(b)?"hide":"show"](b);return b},hide:function(b){b=$(b);b.style.display="none";return b},show:function(b){b=$(b);b.style.display="";return b},remove:function(b){b=$(b);b.parentNode.removeChild(b);return b},update:(function(){var c=(function(){var f=document.createElement("select"),g=true;f.innerHTML='<option value="test">test</option>';if(f.options&&f.options[0]){g=f.options[0].nodeName.toUpperCase()!=="OPTION"}f=null;return g})();var b=(function(){try{var f=document.createElement("table");if(f&&f.tBodies){f.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var h=typeof f.tBodies[0]=="undefined";f=null;return h}}catch(g){return true}})();var e=(function(){var f=document.createElement("script"),h=false;try{f.appendChild(document.createTextNode(""));h=!f.firstChild||f.firstChild&&f.firstChild.nodeType!==3}catch(g){h=true}f=null;return h})();function d(g,h){g=$(g);if(h&&h.toElement){h=h.toElement()}if(Object.isElement(h)){return g.update().insert(h)}h=Object.toHTML(h);var f=g.tagName.toUpperCase();if(f==="SCRIPT"&&e){g.text=h;return g}if(c||b){if(f in Element._insertionTranslations.tags){while(g.firstChild){g.removeChild(g.firstChild)}Element._getContentFromAnonymousElement(f,h.stripScripts()).each(function(l){g.appendChild(l)})}else{g.innerHTML=h.stripScripts()}}else{g.innerHTML=h.stripScripts()}h.evalScripts.bind(h).defer();return g}return d})(),replace:function(c,d){c=$(c);if(d&&d.toElement){d=d.toElement()}else{if(!Object.isElement(d)){d=Object.toHTML(d);var b=c.ownerDocument.createRange();b.selectNode(c);d.evalScripts.bind(d).defer();d=b.createContextualFragment(d.stripScripts())}}c.parentNode.replaceChild(d,c);return c},insert:function(d,f){d=$(d);if(Object.isString(f)||Object.isNumber(f)||Object.isElement(f)||(f&&(f.toElement||f.toHTML))){f={bottom:f}}var e,g,c,h;for(var b in f){e=f[b];b=b.toLowerCase();g=Element._insertionTranslations[b];if(e&&e.toElement){e=e.toElement()}if(Object.isElement(e)){g(d,e);continue}e=Object.toHTML(e);c=((b=="before"||b=="after")?d.parentNode:d).tagName.toUpperCase();h=Element._getContentFromAnonymousElement(c,e.stripScripts());if(b=="top"||b=="after"){h.reverse()}h.each(g.curry(d));e.evalScripts.bind(e).defer()}return d},wrap:function(c,d,b){c=$(c);if(Object.isElement(d)){$(d).writeAttribute(b||{})}else{if(Object.isString(d)){d=new Element(d,b)}else{d=new Element("div",d)}}if(c.parentNode){c.parentNode.replaceChild(d,c)}d.appendChild(c);return d},inspect:function(c){c=$(c);var b="<"+c.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(g){var f=g.first(),d=g.last();var e=(c[f]||"").toString();if(e){b+=" "+d+"="+e.inspect(true)}});return b+">"},recursivelyCollect:function(b,d){b=$(b);var c=[];while(b=b[d]){if(b.nodeType==1){c.push(Element.extend(b))}}return c},ancestors:function(b){return Element.recursivelyCollect(b,"parentNode")},descendants:function(b){return Element.select(b,"*")},firstDescendant:function(b){b=$(b).firstChild;while(b&&b.nodeType!=1){b=b.nextSibling}return $(b)},immediateDescendants:function(b){if(!(b=$(b).firstChild)){return[]}while(b&&b.nodeType!=1){b=b.nextSibling}if(b){return[b].concat($(b).nextSiblings())}return[]},previousSiblings:function(b){return Element.recursivelyCollect(b,"previousSibling")},nextSiblings:function(b){return Element.recursivelyCollect(b,"nextSibling")},siblings:function(b){b=$(b);return Element.previousSiblings(b).reverse().concat(Element.nextSiblings(b))},match:function(c,b){if(Object.isString(b)){b=new Selector(b)}return b.match($(c))},up:function(c,e,b){c=$(c);if(arguments.length==1){return $(c.parentNode)}var d=Element.ancestors(c);return Object.isNumber(e)?d[e]:Selector.findElement(d,e,b)},down:function(c,d,b){c=$(c);if(arguments.length==1){return Element.firstDescendant(c)}return Object.isNumber(d)?Element.descendants(c)[d]:Element.select(c,d)[b||0]},previous:function(c,e,b){c=$(c);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(c))}var d=Element.previousSiblings(c);return Object.isNumber(e)?d[e]:Selector.findElement(d,e,b)},next:function(d,e,c){d=$(d);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(d))}var b=Element.nextSiblings(d);return Object.isNumber(e)?b[e]:Selector.findElement(b,e,c)},select:function(c){var b=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(c,b)},adjacent:function(c){var b=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(c.parentNode,b).without(c)},identify:function(b){b=$(b);var c=Element.readAttribute(b,"id");if(c){return c}do{c="anonymous_element_"+Element.idCounter++}while($(c));Element.writeAttribute(b,"id",c);return c},readAttribute:function(d,b){d=$(d);if(Prototype.Browser.IE){var c=Element._attributeTranslations.read;if(c.values[b]){return c.values[b](d,b)}if(c.names[b]){b=c.names[b]}if(b.include(":")){return(!d.attributes||!d.attributes[b])?null:d.attributes[b].value}}return d.getAttribute(b)},writeAttribute:function(f,d,g){f=$(f);var c={},e=Element._attributeTranslations.write;if(typeof d=="object"){c=d}else{c[d]=Object.isUndefined(g)?true:g}for(var b in c){d=e.names[b]||b;g=c[b];if(e.values[b]){d=e.values[b](f,g)}if(g===false||g===null){f.removeAttribute(d)}else{if(g===true){f.setAttribute(d,d)}else{f.setAttribute(d,g)}}}return f},getHeight:function(b){return Element.getDimensions(b).height},getWidth:function(b){return Element.getDimensions(b).width},classNames:function(b){return new Element.ClassNames(b)},hasClassName:function(b,c){if(!(b=$(b))){return}var d=b.className;return(d.length>0&&(d==c||new RegExp("(^|\\s)"+c+"(\\s|$)").test(d)))},addClassName:function(b,c){if(!(b=$(b))){return}if(!Element.hasClassName(b,c)){b.className+=(b.className?" ":"")+c}return b},removeClassName:function(b,c){if(!(b=$(b))){return}b.className=b.className.replace(new RegExp("(^|\\s+)"+c+"(\\s+|$)")," ").strip();return b},toggleClassName:function(b,c){if(!(b=$(b))){return}return Element[Element.hasClassName(b,c)?"removeClassName":"addClassName"](b,c)},cleanWhitespace:function(c){c=$(c);var d=c.firstChild;while(d){var b=d.nextSibling;if(d.nodeType==3&&!/\S/.test(d.nodeValue)){c.removeChild(d)}d=b}return c},empty:function(b){return $(b).innerHTML.blank()},descendantOf:function(c,b){c=$(c),b=$(b);if(c.compareDocumentPosition){return(c.compareDocumentPosition(b)&8)===8}if(b.contains){return b.contains(c)&&b!==c}while(c=c.parentNode){if(c==b){return true}}return false},scrollTo:function(b){b=$(b);var c=Element.cumulativeOffset(b);window.scrollTo(c[0],c[1]);return b},getStyle:function(c,d){c=$(c);d=d=="float"?"cssFloat":d.camelize();var e=c.style[d];if(!e||e=="auto"){var b=document.defaultView.getComputedStyle(c,null);e=b?b[d]:null}if(d=="opacity"){return e?parseFloat(e):1}return e=="auto"?null:e},getOpacity:function(b){return $(b).getStyle("opacity")},setStyle:function(c,d){c=$(c);var f=c.style,b;if(Object.isString(d)){c.style.cssText+=";"+d;return d.include("opacity")?c.setOpacity(d.match(/opacity:\s*(\d?\.?\d*)/)[1]):c}for(var e in d){if(e=="opacity"){c.setOpacity(d[e])}else{f[(e=="float"||e=="cssFloat")?(Object.isUndefined(f.styleFloat)?"cssFloat":"styleFloat"):e]=d[e]}}return c},setOpacity:function(b,c){b=$(b);b.style.opacity=(c==1||c==="")?"":(c<0.00001)?0:c;return b},getDimensions:function(d){d=$(d);var h=Element.getStyle(d,"display");if(h!="none"&&h!=null){return{width:d.offsetWidth,height:d.offsetHeight}}var c=d.style;var g=c.visibility;var e=c.position;var b=c.display;c.visibility="hidden";if(e!="fixed"){c.position="absolute"}c.display="block";var l=d.clientWidth;var f=d.clientHeight;c.display=b;c.position=e;c.visibility=g;return{width:l,height:f}},makePositioned:function(b){b=$(b);var c=Element.getStyle(b,"position");if(c=="static"||!c){b._madePositioned=true;b.style.position="relative";if(Prototype.Browser.Opera){b.style.top=0;b.style.left=0}}return b},undoPositioned:function(b){b=$(b);if(b._madePositioned){b._madePositioned=undefined;b.style.position=b.style.top=b.style.left=b.style.bottom=b.style.right=""}return b},makeClipping:function(b){b=$(b);if(b._overflow){return b}b._overflow=Element.getStyle(b,"overflow")||"auto";if(b._overflow!=="hidden"){b.style.overflow="hidden"}return b},undoClipping:function(b){b=$(b);if(!b._overflow){return b}b.style.overflow=b._overflow=="auto"?"":b._overflow;b._overflow=null;return b},cumulativeOffset:function(c){var b=0,d=0;do{b+=c.offsetTop||0;d+=c.offsetLeft||0;c=c.offsetParent}while(c);return Element._returnOffset(d,b)},positionedOffset:function(c){var b=0,e=0;do{b+=c.offsetTop||0;e+=c.offsetLeft||0;c=c.offsetParent;if(c){if(c.tagName.toUpperCase()=="BODY"){break}var d=Element.getStyle(c,"position");if(d!=="static"){break}}}while(c);return Element._returnOffset(e,b)},absolutize:function(c){c=$(c);if(Element.getStyle(c,"position")=="absolute"){return c}var e=Element.positionedOffset(c);var g=e[1];var f=e[0];var d=c.clientWidth;var b=c.clientHeight;c._originalLeft=f-parseFloat(c.style.left||0);c._originalTop=g-parseFloat(c.style.top||0);c._originalWidth=c.style.width;c._originalHeight=c.style.height;c.style.position="absolute";c.style.top=g+"px";c.style.left=f+"px";c.style.width=d+"px";c.style.height=b+"px";return c},relativize:function(b){b=$(b);if(Element.getStyle(b,"position")=="relative"){return b}b.style.position="relative";var d=parseFloat(b.style.top||0)-(b._originalTop||0);var c=parseFloat(b.style.left||0)-(b._originalLeft||0);b.style.top=d+"px";b.style.left=c+"px";b.style.height=b._originalHeight;b.style.width=b._originalWidth;return b},cumulativeScrollOffset:function(c){var b=0,d=0;do{b+=c.scrollTop||0;d+=c.scrollLeft||0;c=c.parentNode}while(c);return Element._returnOffset(d,b)},getOffsetParent:function(b){if(b.offsetParent){return $(b.offsetParent)}if(b==document.body){return $(b)}while((b=b.parentNode)&&b!=document.body){if(Element.getStyle(b,"position")!="static"){return $(b)}}return $(document.body)},viewportOffset:function(e){var b=0,d=0;var c=e;do{b+=c.offsetTop||0;d+=c.offsetLeft||0;if(c.offsetParent==document.body&&Element.getStyle(c,"position")=="absolute"){break}}while(c=c.offsetParent);c=e;do{if(!Prototype.Browser.Opera||(c.tagName&&(c.tagName.toUpperCase()=="BODY"))){b-=c.scrollTop||0;d-=c.scrollLeft||0}}while(c=c.parentNode);return Element._returnOffset(d,b)},clonePosition:function(c,e){var b=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});e=$(e);var f=Element.viewportOffset(e);c=$(c);var g=[0,0];var d=null;if(Element.getStyle(c,"position")=="absolute"){d=Element.getOffsetParent(c);g=Element.viewportOffset(d)}if(d==document.body){g[0]-=document.body.offsetLeft;g[1]-=document.body.offsetTop}if(b.setLeft){c.style.left=(f[0]-g[0]+b.offsetLeft)+"px"}if(b.setTop){c.style.top=(f[1]-g[1]+b.offsetTop)+"px"}if(b.setWidth){c.style.width=e.offsetWidth+"px"}if(b.setHeight){c.style.height=e.offsetHeight+"px"}return c}};Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(e,c,d){switch(d){case"left":case"top":case"right":case"bottom":if(e(c,"position")==="static"){return null}case"height":case"width":if(!Element.visible(c)){return null}var f=parseInt(e(c,d),10);if(f!==c["offset"+d.capitalize()]){return f+"px"}var b;if(d==="height"){b=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{b=["border-left-width","padding-left","padding-right","border-right-width"]}return b.inject(f,function(g,h){var l=e(c,h);return l===null?g:g-parseInt(l,10)})+"px";default:return e(c,d)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(d,b,c){if(c==="title"){return b.title}return d(b,c)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(d,c){c=$(c);try{c.offsetParent}catch(g){return $(document.body)}var b=c.getStyle("position");if(b!=="static"){return d(c)}c.setStyle({position:"relative"});var f=d(c);c.setStyle({position:b});return f});$w("positionedOffset viewportOffset").each(function(b){Element.Methods[b]=Element.Methods[b].wrap(function(g,d){d=$(d);try{d.offsetParent}catch(l){return Element._returnOffset(0,0)}var c=d.getStyle("position");if(c!=="static"){return g(d)}var f=d.getOffsetParent();if(f&&f.getStyle("position")==="fixed"){f.setStyle({zoom:1})}d.setStyle({position:"relative"});var h=g(d);d.setStyle({position:c});return h})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(c,b){try{b.offsetParent}catch(d){return Element._returnOffset(0,0)}return c(b)});Element.Methods.getStyle=function(b,c){b=$(b);c=(c=="float"||c=="cssFloat")?"styleFloat":c.camelize();var d=b.style[c];if(!d&&b.currentStyle){d=b.currentStyle[c]}if(c=="opacity"){if(d=(b.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(d[1]){return parseFloat(d[1])/100}}return 1}if(d=="auto"){if((c=="width"||c=="height")&&(b.getStyle("display")!="none")){return b["offset"+c.capitalize()]+"px"}return null}return d};Element.Methods.setOpacity=function(c,f){function g(h){return h.replace(/alpha\([^\)]*\)/gi,"")}c=$(c);var b=c.currentStyle;if((b&&!b.hasLayout)||(!b&&c.style.zoom=="normal")){c.style.zoom=1}var e=c.getStyle("filter"),d=c.style;if(f==1||f===""){(e=g(e))?d.filter=e:d.removeAttribute("filter");return c}else{if(f<0.00001){f=0}}d.filter=g(e)+"alpha(opacity="+(f*100)+")";return c};Element._attributeTranslations=(function(){var c="className";var b="for";var d=document.createElement("div");d.setAttribute(c,"x");if(d.className!=="x"){d.setAttribute("class","x");if(d.className==="x"){c="class"}}d=null;d=document.createElement("label");d.setAttribute(b,"x");if(d.htmlFor!=="x"){d.setAttribute("htmlFor","x");if(d.htmlFor==="x"){b="htmlFor"}}d=null;return{read:{names:{"class":c,className:c,"for":b,htmlFor:b},values:{_getAttr:function(e,f){return e.getAttribute(f)},_getAttr2:function(e,f){return e.getAttribute(f,2)},_getAttrNode:function(e,g){var f=e.getAttributeNode(g);return f?f.value:""},_getEv:(function(){var e=document.createElement("div");e.onclick=Prototype.emptyFunction;var h=e.getAttribute("onclick");var g;if(String(h).indexOf("{")>-1){g=function(f,l){l=f.getAttribute(l);if(!l){return null}l=l.toString();l=l.split("{")[1];l=l.split("}")[0];return l.strip()}}else{if(h===""){g=function(f,l){l=f.getAttribute(l);if(!l){return null}return l.strip()}}}e=null;return g})(),_flag:function(e,f){return $(e).hasAttribute(f)?f:null},style:function(e){return e.style.cssText.toLowerCase()},title:function(e){return e.title}}}}})();Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(b,c){b.checked=!!c},style:function(b,c){b.style.cssText=c?c:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(b){Element._attributeTranslations.write.names[b.toLowerCase()]=b;Element._attributeTranslations.has[b.toLowerCase()]=b});(function(b){Object.extend(b,{href:b._getAttr2,src:b._getAttr2,type:b._getAttr,action:b._getAttrNode,disabled:b._flag,checked:b._flag,readonly:b._flag,multiple:b._flag,onload:b._getEv,onunload:b._getEv,onclick:b._getEv,ondblclick:b._getEv,onmousedown:b._getEv,onmouseup:b._getEv,onmouseover:b._getEv,onmousemove:b._getEv,onmouseout:b._getEv,onfocus:b._getEv,onblur:b._getEv,onkeypress:b._getEv,onkeydown:b._getEv,onkeyup:b._getEv,onsubmit:b._getEv,onreset:b._getEv,onselect:b._getEv,onchange:b._getEv})})(Element._attributeTranslations.read.values);if(Prototype.BrowserFeatures.ElementExtensions){(function(){function b(f){var c=f.getElementsByTagName("*"),e=[];for(var d=0,g;g=c[d];d++){if(g.tagName!=="!"){e.push(g)}}return e}Element.Methods.down=function(d,e,c){d=$(d);if(arguments.length==1){return d.firstDescendant()}return Object.isNumber(e)?b(d)[e]:Element.select(d,e)[c||0]}})()}}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(b,c){b=$(b);b.style.opacity=(c==1)?0.999999:(c==="")?"":(c<0.00001)?0:c;return b}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(b,c){b=$(b);b.style.opacity=(c==1||c==="")?"":(c<0.00001)?0:c;if(c==1){if(b.tagName.toUpperCase()=="IMG"&&b.width){b.width++;b.width--}else{try{var f=document.createTextNode(" ");b.appendChild(f);b.removeChild(f)}catch(d){}}}return b};Element.Methods.cumulativeOffset=function(c){var b=0,d=0;do{b+=c.offsetTop||0;d+=c.offsetLeft||0;if(c.offsetParent==document.body){if(Element.getStyle(c,"position")=="absolute"){break}}c=c.offsetParent}while(c);return Element._returnOffset(d,b)}}}}}if("outerHTML" in document.documentElement){Element.Methods.replace=function(d,f){d=$(d);if(f&&f.toElement){f=f.toElement()}if(Object.isElement(f)){d.parentNode.replaceChild(f,d);return d}f=Object.toHTML(f);var e=d.parentNode,c=e.tagName.toUpperCase();if(Element._insertionTranslations.tags[c]){var g=d.next();var b=Element._getContentFromAnonymousElement(c,f.stripScripts());e.removeChild(d);if(g){b.each(function(h){e.insertBefore(h,g)})}else{b.each(function(h){e.appendChild(h)})}}else{d.outerHTML=f.stripScripts()}f.evalScripts.bind(f).defer();return d}}Element._returnOffset=function(c,d){var b=[c,d];b.left=c;b.top=d;return b};Element._getContentFromAnonymousElement=function(d,c){var e=new Element("div"),b=Element._insertionTranslations.tags[d];if(b){e.innerHTML=b[0]+c+b[1];b[2].times(function(){e=e.firstChild})}else{e.innerHTML=c}return $A(e.childNodes)};Element._insertionTranslations={before:function(b,c){b.parentNode.insertBefore(c,b)},top:function(b,c){b.insertBefore(c,b.firstChild)},bottom:function(b,c){b.appendChild(c)},after:function(b,c){b.parentNode.insertBefore(c,b.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){var b=Element._insertionTranslations.tags;Object.extend(b,{THEAD:b.TBODY,TFOOT:b.TBODY,TH:b.TD})})();Element.Methods.Simulated={hasAttribute:function(b,d){d=Element._attributeTranslations.has[d]||d;var c=$(b).getAttributeNode(d);return !!(c&&c.specified)}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);(function(b){if(!Prototype.BrowserFeatures.ElementExtensions&&b.__proto__){window.HTMLElement={};window.HTMLElement.prototype=b.__proto__;Prototype.BrowserFeatures.ElementExtensions=true}b=null})(document.createElement("div"));Element.extend=(function(){function d(h){if(typeof window.Element!="undefined"){var m=window.Element.prototype;if(m){var o="_"+(Math.random()+"").slice(2);var l=document.createElement(h);m[o]="x";var n=(l[o]!=="x");delete m[o];l=null;return n}}return false}function c(l,h){for(var n in h){var m=h[n];if(Object.isFunction(m)&&!(n in l)){l[n]=m.methodize()}}}var e=d("object");if(Prototype.BrowserFeatures.SpecificElementExtensions){if(e){return function(l){if(l&&typeof l._extendedByPrototype=="undefined"){var h=l.tagName;if(h&&(/^(?:object|applet|embed)$/i.test(h))){c(l,Element.Methods);c(l,Element.Methods.Simulated);c(l,Element.Methods.ByTag[h.toUpperCase()])}}return l}}return Prototype.K}var b={},f=Element.Methods.ByTag;var g=Object.extend(function(m){if(!m||typeof m._extendedByPrototype!="undefined"||m.nodeType!=1||m==window){return m}var h=Object.clone(b),l=m.tagName.toUpperCase();if(f[l]){Object.extend(h,f[l])}c(m,h);m._extendedByPrototype=Prototype.emptyFunction;return m},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(b,Element.Methods);Object.extend(b,Element.Methods.Simulated)}}});g.refresh();return g})();Element.hasAttribute=function(b,c){if(b.hasAttribute){return b.hasAttribute(c)}return Element.Methods.Simulated.hasAttribute(b,c)};Element.addMethods=function(d){var m=Prototype.BrowserFeatures,e=Element.Methods.ByTag;if(!d){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var c=d;d=arguments[1]}if(!c){Object.extend(Element.Methods,d||{})}else{if(Object.isArray(c)){c.each(h)}else{h(c)}}function h(o){o=o.toUpperCase();if(!Element.Methods.ByTag[o]){Element.Methods.ByTag[o]={}}Object.extend(Element.Methods.ByTag[o],d)}function b(r,q,o){o=o||false;for(var t in r){var s=r[t];if(!Object.isFunction(s)){continue}if(!o||!(t in q)){q[t]=s.methodize()}}}function f(s){var o;var r={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(r[s]){o="HTML"+r[s]+"Element"}if(window[o]){return window[o]}o="HTML"+s+"Element";if(window[o]){return window[o]}o="HTML"+s.capitalize()+"Element";if(window[o]){return window[o]}var q=document.createElement(s);var t=q.__proto__||q.constructor.prototype;q=null;return t}var l=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(m.ElementExtensions){b(Element.Methods,l);b(Element.Methods.Simulated,l,true)}if(m.SpecificElementExtensions){for(var n in Element.Methods.ByTag){var g=f(n);if(Object.isUndefined(g)){continue}b(e[n],g.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){return{width:this.getWidth(),height:this.getHeight()}},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};(function(c){var h=Prototype.Browser,f=document,d,e={};function b(){if(h.WebKit&&!f.evaluate){return document}if(h.Opera&&window.parseFloat(window.opera.version())<9.5){return document.body}return document.documentElement}function g(l){if(!d){d=b()}e[l]="client"+l;c["get"+l]=function(){return d[e[l]]};return c["get"+l]()}c.getWidth=g.curry("Width");c.getHeight=g.curry("Height")})(document.viewport);Element.Storage={UID:1};Element.addMethods({getStorage:function(c){if(!(c=$(c))){return}var b;if(c===window){b=0}else{if(typeof c._prototypeUID==="undefined"){c._prototypeUID=[Element.Storage.UID++]}b=c._prototypeUID[0]}if(!Element.Storage[b]){Element.Storage[b]=$H()}return Element.Storage[b]},store:function(c,b,d){if(!(c=$(c))){return}if(arguments.length===2){Element.getStorage(c).update(b)}else{Element.getStorage(c).set(b,d)}return c},retrieve:function(d,c,b){if(!(d=$(d))){return}var f=Element.getStorage(d),e=f.get(c);if(Object.isUndefined(e)){f.set(c,b);e=b}return e},clone:function(d,b){if(!(d=$(d))){return}var f=d.cloneNode(b);f._prototypeUID=void 0;if(b){var e=Element.select(f,"*"),c=e.length;while(c--){e[c]._prototypeUID=void 0}}return Element.extend(f)}});var Selector=Class.create({initialize:function(b){this.expression=b.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";this.compileMatcher()}}},shouldUseXPath:(function(){var b=(function(){var f=false;if(document.evaluate&&window.XPathResult){var e=document.createElement("div");e.innerHTML="<ul><li></li></ul><div><ul><li></li></ul></div>";var d=".//*[local-name()='ul' or local-name()='UL']//*[local-name()='li' or local-name()='LI']";var c=document.evaluate(d,e,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);f=(c.snapshotLength!==2);e=null}return f})();return function(){if(!Prototype.BrowserFeatures.XPath){return false}var c=this.expression;if(Prototype.Browser.WebKit&&(c.include("-of-type")||c.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(c)){return false}if(b){return false}return true}})(),shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false}if(Selector.CASE_INSENSITIVE_CLASS_NAMES){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(b){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m,len=ps.length,name;if(Selector._cache[e]){this.matcher=Selector._cache[e];return}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){this.matcher.push(Object.isFunction(c[name])?c[name](m):new Template(c[name]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var l=this.expression,n=Selector.patterns,d=Selector.xpath,h,c,b=n.length,f;if(Selector._cache[l]){this.xpath=Selector._cache[l];return}this.matcher=[".//*"];while(l&&h!=l&&(/\S/).test(l)){h=l;for(var g=0;g<b;g++){f=n[g].name;if(c=l.match(n[g].re)){this.matcher.push(Object.isFunction(d[f])?d[f](c):new Template(d[f]).evaluate(c));l=l.replace(c[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(b){b=b||document;var d=this.expression,c;switch(this.mode){case"selectorsAPI":if(b!==document){var f=b.id,g=$(b).identify();g=g.replace(/([\.:])/g,"\\$1");d="#"+g+" "+d}c=$A(b.querySelectorAll(d)).map(Element.extend);b.id=f;return c;case"xpath":return document._getElementsByXPath(this.xpath,b);default:return this.matcher(b)}},match:function(o){this.tokens=[];var t=this.expression,b=Selector.patterns,g=Selector.assertions;var c,f,h,s=b.length,d;while(t&&c!==t&&(/\S/).test(t)){c=t;for(var n=0;n<s;n++){f=b[n].re;d=b[n].name;if(h=t.match(f)){if(g[d]){this.tokens.push([d,Object.clone(h)]);t=t.replace(h[0],"")}else{return this.findElements(document).include(o)}}}}var r=true,d,q;for(var n=0,l;l=this.tokens[n];n++){d=l[0],q=l[1];if(!Selector.assertions[d](o,q)){r=false;break}}return r},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});if(Prototype.BrowserFeatures.SelectorsAPI&&document.compatMode==="BackCompat"){Selector.CASE_INSENSITIVE_CLASS_NAMES=(function(){var d=document.createElement("div"),b=document.createElement("span");d.id="prototype_test_id";b.className="Test";d.appendChild(b);var c=(d.querySelector("#prototype_test_id .test")!==null);d=b=null;return c})()}Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(b){if(b[1]=="*"){return""}return"[local-name()='"+b[1].toLowerCase()+"' or local-name()='"+b[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(b){b[1]=b[1].toLowerCase();return new Template("[@#{1}]").evaluate(b)},attr:function(b){b[1]=b[1].toLowerCase();b[3]=b[5]||b[6];return new Template(Selector.xpath.operators[b[2]]).evaluate(b)},pseudo:function(b){var c=Selector.xpath.pseudos[b[1]];if(!c){return""}if(Object.isFunction(c)){return c(b)}return new Template(Selector.xpath.pseudos[b[1]]).evaluate(b)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(g){var n=g[6],d=Selector.patterns,o=Selector.xpath,b,q,l=d.length,c;var f=[];while(n&&b!=n&&(/\S/).test(n)){b=n;for(var h=0;h<l;h++){c=d[h].name;if(g=n.match(d[h].re)){q=Object.isFunction(o[c])?o[c](g):new Template(o[c]).evaluate(g);f.push("("+q.substring(1,q.length-1)+")");n=n.replace(g[0],"");break}}}return"[not("+f.join(" and ")+")]"},"nth-child":function(b){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",b)},"nth-last-child":function(b){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",b)},"nth-of-type":function(b){return Selector.xpath.pseudos.nth("position() ",b)},"nth-last-of-type":function(b){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",b)},"first-of-type":function(b){b[6]="1";return Selector.xpath.pseudos["nth-of-type"](b)},"last-of-type":function(b){b[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](b)},"only-of-type":function(b){var c=Selector.xpath.pseudos;return c["first-of-type"](b)+c["last-of-type"](b)},nth:function(g,e){var h,l=e[6],d;if(l=="even"){l="2n+0"}if(l=="odd"){l="2n+1"}if(h=l.match(/^(\d+)$/)){return"["+g+"= "+h[1]+"]"}if(h=l.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(h[1]=="-"){h[1]=-1}var f=h[1]?Number(h[1]):1;var c=h[2]?Number(h[2]):0;d="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(d).evaluate({fragment:g,a:f,b:c})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(b){b[3]=(b[5]||b[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(b)},pseudo:function(b){if(b[6]){b[6]=b[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(b)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:[{name:"laterSibling",re:/^\s*~\s*/},{name:"child",re:/^\s*>\s*/},{name:"adjacent",re:/^\s*\+\s*/},{name:"descendant",re:/^\s/},{name:"tagName",re:/^\s*(\*|[\w\-]+)(\b|$)?/},{name:"id",re:/^#([\w\-\*]+)(\b|$)/},{name:"className",re:/^\.([\w\-\*]+)(\b|$)/},{name:"pseudo",re:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/},{name:"attrPresence",re:/^\[((?:[\w-]+:)?[\w-]+)\]/},{name:"attr",re:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/}],assertions:{tagName:function(b,c){return c[1].toUpperCase()==b.tagName.toUpperCase()},className:function(b,c){return Element.hasClassName(b,c[1])},id:function(b,c){return b.id===c[1]},attrPresence:function(b,c){return Element.hasAttribute(b,c[1])},attr:function(c,d){var b=Element.readAttribute(c,d[1]);return b&&Selector.operators[d[2]](b,d[5]||d[6])}},handlers:{concat:function(d,c){for(var e=0,f;f=c[e];e++){d.push(f)}return d},mark:function(b){var e=Prototype.emptyFunction;for(var c=0,d;d=b[c];c++){d._countedByPrototype=e}return b},unmark:(function(){var b=(function(){var c=document.createElement("div"),f=false,e="_countedByPrototype",d="x";c[e]=d;f=(c.getAttribute(e)===d);c=null;return f})();return b?function(c){for(var d=0,e;e=c[d];d++){e.removeAttribute("_countedByPrototype")}return c}:function(c){for(var d=0,e;e=c[d];d++){e._countedByPrototype=void 0}return c}})(),index:function(b,e,h){b._countedByPrototype=Prototype.emptyFunction;if(e){for(var c=b.childNodes,f=c.length-1,d=1;f>=0;f--){var g=c[f];if(g.nodeType==1&&(!h||g._countedByPrototype)){g.nodeIndex=d++}}}else{for(var f=0,d=1,c=b.childNodes;g=c[f];f++){if(g.nodeType==1&&(!h||g._countedByPrototype)){g.nodeIndex=d++}}}},unique:function(c){if(c.length==0){return c}var e=[],f;for(var d=0,b=c.length;d<b;d++){if(typeof(f=c[d])._countedByPrototype=="undefined"){f._countedByPrototype=Prototype.emptyFunction;e.push(Element.extend(f))}}return Selector.handlers.unmark(e)},descendant:function(b){var e=Selector.handlers;for(var d=0,c=[],f;f=b[d];d++){e.concat(c,f.getElementsByTagName("*"))}return c},child:function(b){var f=Selector.handlers;for(var e=0,d=[],g;g=b[e];e++){for(var c=0,l;l=g.childNodes[c];c++){if(l.nodeType==1&&l.tagName!="!"){d.push(l)}}}return d},adjacent:function(b){for(var d=0,c=[],f;f=b[d];d++){var e=this.nextElementSibling(f);if(e){c.push(e)}}return c},laterSibling:function(b){var e=Selector.handlers;for(var d=0,c=[],f;f=b[d];d++){e.concat(c,Element.nextSiblings(f))}return c},nextElementSibling:function(b){while(b=b.nextSibling){if(b.nodeType==1){return b}}return null},previousElementSibling:function(b){while(b=b.previousSibling){if(b.nodeType==1){return b}}return null},tagName:function(b,m,d,c){var n=d.toUpperCase();var f=[],l=Selector.handlers;if(b){if(c){if(c=="descendant"){for(var g=0,e;e=b[g];g++){l.concat(f,e.getElementsByTagName(d))}return f}else{b=this[c](b)}if(d=="*"){return b}}for(var g=0,e;e=b[g];g++){if(e.tagName.toUpperCase()===n){f.push(e)}}return f}else{return m.getElementsByTagName(d)}},id:function(b,n,c,d){var m=$(c),l=Selector.handlers;if(n==document){if(!m){return[]}if(!b){return[m]}}else{if(!n.sourceIndex||n.sourceIndex<1){var b=n.getElementsByTagName("*");for(var f=0,e;e=b[f];f++){if(e.id===c){return[e]}}}}if(b){if(d){if(d=="child"){for(var g=0,e;e=b[g];g++){if(m.parentNode==e){return[m]}}}else{if(d=="descendant"){for(var g=0,e;e=b[g];g++){if(Element.descendantOf(m,e)){return[m]}}}else{if(d=="adjacent"){for(var g=0,e;e=b[g];g++){if(Selector.handlers.previousElementSibling(m)==e){return[m]}}}else{b=l[d](b)}}}}for(var g=0,e;e=b[g];g++){if(e==m){return[m]}}return[]}return(m&&Element.descendantOf(m,n))?[m]:[]},className:function(c,b,d,e){if(c&&e){c=this[e](c)}return Selector.handlers.byClassName(c,b,d)},byClassName:function(d,c,g){if(!d){d=Selector.handlers.descendant([c])}var l=" "+g+" ";for(var f=0,e=[],h,b;h=d[f];f++){b=h.className;if(b.length==0){continue}if(b==g||(" "+b+" ").include(l)){e.push(h)}}return e},attrPresence:function(d,c,b,h){if(!d){d=c.getElementsByTagName("*")}if(d&&h){d=this[h](d)}var f=[];for(var e=0,g;g=d[e];e++){if(Element.hasAttribute(g,b)){f.push(g)}}return f},attr:function(b,m,l,n,d,c){if(!b){b=m.getElementsByTagName("*")}if(b&&c){b=this[c](b)}var o=Selector.operators[d],g=[];for(var f=0,e;e=b[f];f++){var h=Element.readAttribute(e,l);if(h===null){continue}if(o(h,n)){g.push(e)}}return g},pseudo:function(c,d,f,b,e){if(c&&e){c=this[e](c)}if(!c){c=b.getElementsByTagName("*")}return Selector.pseudos[d](c,f,b)}},pseudos:{"first-child":function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(Selector.handlers.previousElementSibling(f)){continue}d.push(f)}return d},"last-child":function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(Selector.handlers.nextElementSibling(f)){continue}d.push(f)}return d},"only-child":function(c,l,b){var f=Selector.handlers;for(var e=0,d=[],g;g=c[e];e++){if(!f.previousElementSibling(g)&&!f.nextElementSibling(g)){d.push(g)}}return d},"nth-child":function(c,d,b){return Selector.pseudos.nth(c,d,b)},"nth-last-child":function(c,d,b){return Selector.pseudos.nth(c,d,b,true)},"nth-of-type":function(c,d,b){return Selector.pseudos.nth(c,d,b,false,true)},"nth-last-of-type":function(c,d,b){return Selector.pseudos.nth(c,d,b,true,true)},"first-of-type":function(c,d,b){return Selector.pseudos.nth(c,"1",b,false,true)},"last-of-type":function(c,d,b){return Selector.pseudos.nth(c,"1",b,true,true)},"only-of-type":function(c,e,b){var d=Selector.pseudos;return d["last-of-type"](d["first-of-type"](c,e,b),e,b)},getIndices:function(d,c,e){if(d==0){return c>0?[c]:[]}return $R(1,e).inject([],function(b,f){if(0==(f-c)%d&&(f-c)/d>=0){b.push(f)}return b})},nth:function(c,u,w,t,e){if(c.length==0){return[]}if(u=="even"){u="2n+0"}if(u=="odd"){u="2n+1"}var s=Selector.handlers,r=[],d=[],g;s.mark(c);for(var q=0,f;f=c[q];q++){if(!f.parentNode._countedByPrototype){s.index(f.parentNode,t,e);d.push(f.parentNode)}}if(u.match(/^\d+$/)){u=Number(u);for(var q=0,f;f=c[q];q++){if(f.nodeIndex==u){r.push(f)}}}else{if(g=u.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(g[1]=="-"){g[1]=-1}var x=g[1]?Number(g[1]):1;var v=g[2]?Number(g[2]):0;var y=Selector.pseudos.getIndices(x,v,c.length);for(var q=0,f,n=y.length;f=c[q];q++){for(var o=0;o<n;o++){if(f.nodeIndex==y[o]){r.push(f)}}}}}s.unmark(c);s.unmark(d);return r},empty:function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(f.tagName=="!"||f.firstChild){continue}d.push(f)}return d},not:function(b,e,o){var l=Selector.handlers,q,d;var n=new Selector(e).findElements(o);l.mark(n);for(var g=0,f=[],c;c=b[g];g++){if(!c._countedByPrototype){f.push(c)}}l.unmark(n);return f},enabled:function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(!f.disabled&&(!f.type||f.type!=="hidden")){d.push(f)}}return d},disabled:function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(f.disabled){d.push(f)}}return d},checked:function(c,g,b){for(var e=0,d=[],f;f=c[e];e++){if(f.checked){d.push(f)}}return d}},operators:{"=":function(c,b){return c==b},"!=":function(c,b){return c!=b},"^=":function(c,b){return c==b||c&&c.startsWith(b)},"$=":function(c,b){return c==b||c&&c.endsWith(b)},"*=":function(c,b){return c==b||c&&c.include(b)},"~=":function(c,b){return(" "+c+" ").include(" "+b+" ")},"|=":function(c,b){return("-"+(c||"").toUpperCase()+"-").include("-"+(b||"").toUpperCase()+"-")}},split:function(c){var b=[];c.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(d){b.push(d[1].strip())});return b},matchElements:function(g,l){var f=$$(l),e=Selector.handlers;e.mark(f);for(var d=0,c=[],b;b=g[d];d++){if(b._countedByPrototype){c.push(b)}}e.unmark(f);return c},findElement:function(c,d,b){if(Object.isNumber(d)){b=d;d=false}return Selector.matchElements(c,d||"*")[b||0]},findChildElements:function(f,m){m=Selector.split(m.join(","));var e=[],g=Selector.handlers;for(var d=0,c=m.length,b;d<c;d++){b=new Selector(m[d].strip());g.concat(e,b.findElements(f))}return(c>1)?g.unique(e):e}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(d,c){for(var e=0,f;f=c[e];e++){if(f.tagName!=="!"){d.push(f)}}return d}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(b){b=$(b);b.reset();return b},serializeElements:function(h,c){if(typeof c!="object"){c={hash:!!c}}else{if(Object.isUndefined(c.hash)){c.hash=true}}var d,g,b=false,f=c.submit;var e=h.inject({},function(l,m){if(!m.disabled&&m.name){d=m.name;g=$(m).getValue();if(g!=null&&m.type!="file"&&(m.type!="submit"||(!b&&f!==false&&(!f||d==f)&&(b=true)))){if(d in l){if(!Object.isArray(l[d])){l[d]=[l[d]]}l[d].push(g)}else{l[d]=g}}}return l});return c.hash?e:Object.toQueryString(e)}};Form.Methods={serialize:function(c,b){return Form.serializeElements(Form.getElements(c),b)},getElements:function(f){var g=$(f).getElementsByTagName("*"),e,b=[],d=Form.Element.Serializers;for(var c=0;e=g[c];c++){b.push(e)}return b.inject([],function(h,l){if(d[l.tagName.toLowerCase()]){h.push(Element.extend(l))}return h})},getInputs:function(h,d,e){h=$(h);var b=h.getElementsByTagName("input");if(!d&&!e){return $A(b).map(Element.extend)}for(var f=0,l=[],g=b.length;f<g;f++){var c=b[f];if((d&&c.type!=d)||(e&&c.name!=e)){continue}l.push(Element.extend(c))}return l},disable:function(b){b=$(b);Form.getElements(b).invoke("disable");return b},enable:function(b){b=$(b);Form.getElements(b).invoke("enable");return b},findFirstElement:function(c){var d=$(c).getElements().findAll(function(e){return"hidden"!=e.type&&!e.disabled});var b=d.findAll(function(e){return e.hasAttribute("tabIndex")&&e.tabIndex>=0}).sortBy(function(e){return e.tabIndex}).first();return b?b:d.find(function(e){return/^(?:input|select|textarea)$/i.test(e.tagName)})},focusFirstElement:function(b){b=$(b);b.findFirstElement().activate();return b},request:function(c,b){c=$(c),b=Object.clone(b||{});var e=b.parameters,d=c.readAttribute("action")||"";if(d.blank()){d=window.location.href}b.parameters=c.serialize(true);if(e){if(Object.isString(e)){e=e.toQueryParams()}Object.extend(b.parameters,e)}if(c.hasAttribute("method")&&!b.method){b.method=c.method}return new Ajax.Request(d,b)}};Form.Element={focus:function(b){$(b).focus();return b},select:function(b){$(b).select();return b}};Form.Element.Methods={serialize:function(b){b=$(b);if(!b.disabled&&b.name){var c=b.getValue();if(c!=undefined){var d={};d[b.name]=c;return Object.toQueryString(d)}}return""},getValue:function(b){b=$(b);var c=b.tagName.toLowerCase();return Form.Element.Serializers[c](b)},setValue:function(b,c){b=$(b);var d=b.tagName.toLowerCase();Form.Element.Serializers[d](b,c);return b},clear:function(b){$(b).value="";return b},present:function(b){return $(b).value!=""},activate:function(b){b=$(b);try{b.focus();if(b.select&&(b.tagName.toLowerCase()!="input"||!(/^(?:button|reset|submit)$/i.test(b.type)))){b.select()}}catch(c){}return b},disable:function(b){b=$(b);b.disabled=true;return b},enable:function(b){b=$(b);b.disabled=false;return b}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(b,c){switch(b.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(b,c);default:return Form.Element.Serializers.textarea(b,c)}},inputSelector:function(b,c){if(Object.isUndefined(c)){return b.checked?b.value:null}else{b.checked=!!c}},textarea:function(b,c){if(Object.isUndefined(c)){return b.value}else{b.value=c}},select:function(d,g){if(Object.isUndefined(g)){return this[d.type=="select-one"?"selectOne":"selectMany"](d)}else{var c,e,h=!Object.isArray(g);for(var b=0,f=d.length;b<f;b++){c=d.options[b];e=this.optionValue(c);if(h){if(e==g){c.selected=true;return}}else{c.selected=g.include(e)}}}},selectOne:function(c){var b=c.selectedIndex;return b>=0?this.optionValue(c.options[b]):null},selectMany:function(e){var b,f=e.length;if(!f){return null}for(var d=0,b=[];d<f;d++){var c=e.options[d];if(c.selected){b.push(this.optionValue(c))}}return b},optionValue:function(b){return Element.extend(b).hasAttribute("value")?b.value:b.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,b,c,d){$super(d,c);this.element=$(b);this.lastValue=this.getValue()},execute:function(){var b=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(b)?this.lastValue!=b:String(this.lastValue)!=String(b)){this.callback(this.element,b);this.lastValue=b}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({initialize:function(b,c){this.element=$(b);this.callback=c;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var b=this.getValue();if(this.lastValue!=b){this.callback(this.element,b);this.lastValue=b}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(b){if(b.type){switch(b.type.toLowerCase()){case"checkbox":case"radio":Event.observe(b,"click",this.onElementEvent.bind(this));break;default:Event.observe(b,"change",this.onElementEvent.bind(this));break}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});(function(){var A={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{}};var f=document.documentElement;var B="onmouseenter" in f&&"onmouseleave" in f;var t;if(Prototype.Browser.IE){var l={0:1,1:4,2:2};t=function(D,C){return D.button===l[C]}}else{if(Prototype.Browser.WebKit){t=function(D,C){switch(C){case 0:return D.which==1&&!D.metaKey;case 1:return D.which==1&&D.metaKey;default:return false}}}else{t=function(D,C){return D.which?(D.which===C+1):(D.button===C)}}}function w(C){return t(C,0)}function v(C){return t(C,1)}function o(C){return t(C,2)}function d(E){E=A.extend(E);var D=E.target,C=E.type,F=E.currentTarget;if(F&&F.tagName){if(C==="load"||C==="error"||(C==="click"&&F.tagName.toLowerCase()==="input"&&F.type==="radio")){D=F}}if(D.nodeType==Node.TEXT_NODE){D=D.parentNode}return Element.extend(D)}function r(D,F){var C=A.element(D);if(!F){return C}var E=[C].concat(C.ancestors());return Selector.findElement(E,F,0)}function u(C){return{x:c(C),y:b(C)}}function c(E){var D=document.documentElement,C=document.body||{scrollLeft:0};return E.pageX||(E.clientX+(D.scrollLeft||C.scrollLeft)-(D.clientLeft||0))}function b(E){var D=document.documentElement,C=document.body||{scrollTop:0};return E.pageY||(E.clientY+(D.scrollTop||C.scrollTop)-(D.clientTop||0))}function s(C){A.extend(C);C.preventDefault();C.stopPropagation();C.stopped=true}A.Methods={isLeftClick:w,isMiddleClick:v,isRightClick:o,element:d,findElement:r,pointer:u,pointerX:c,pointerY:b,stop:s};var y=Object.keys(A.Methods).inject({},function(C,D){C[D]=A.Methods[D].methodize();return C});if(Prototype.Browser.IE){function h(D){var C;switch(D.type){case"mouseover":C=D.fromElement;break;case"mouseout":C=D.toElement;break;default:return null}return Element.extend(C)}Object.extend(y,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});A.extend=function(D,C){if(!D){return false}if(D._extendedByPrototype){return D}D._extendedByPrototype=Prototype.emptyFunction;var E=A.pointer(D);Object.extend(D,{target:D.srcElement||C,relatedTarget:h(D),pageX:E.x,pageY:E.y});return Object.extend(D,y)}}else{A.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(A.prototype,y);A.extend=Prototype.K}function q(G,F,H){var E=Element.retrieve(G,"prototype_event_registry");if(Object.isUndefined(E)){e.push(G);E=Element.retrieve(G,"prototype_event_registry",$H())}var C=E.get(F);if(Object.isUndefined(C)){C=[];E.set(F,C)}if(C.pluck("handler").include(H)){return false}var D;if(F.include(":")){D=function(I){if(Object.isUndefined(I.eventName)){return false}if(I.eventName!==F){return false}A.extend(I,G);H.call(G,I)}}else{if(!B&&(F==="mouseenter"||F==="mouseleave")){if(F==="mouseenter"||F==="mouseleave"){D=function(J){A.extend(J,G);var I=J.relatedTarget;while(I&&I!==G){try{I=I.parentNode}catch(K){I=G}}if(I===G){return}H.call(G,J)}}}else{D=function(I){A.extend(I,G);H.call(G,I)}}}D.handler=H;C.push(D);return D}function g(){for(var C=0,D=e.length;C<D;C++){A.stopObserving(e[C]);e[C]=null}}var e=[];if(Prototype.Browser.IE){window.attachEvent("onunload",g)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}var n=Prototype.K;if(!B){n=function(D){var C={mouseenter:"mouseover",mouseleave:"mouseout"};return D in C?C[D]:D}}function x(F,E,G){F=$(F);var D=q(F,E,G);if(!D){return F}if(E.include(":")){if(F.addEventListener){F.addEventListener("dataavailable",D,false)}else{F.attachEvent("ondataavailable",D);F.attachEvent("onfilterchange",D)}}else{var C=n(E);if(F.addEventListener){F.addEventListener(C,D,false)}else{F.attachEvent("on"+C,D)}}return F}function m(H,F,I){H=$(H);var E=Element.retrieve(H,"prototype_event_registry");if(Object.isUndefined(E)){return H}if(F&&!I){var G=E.get(F);if(Object.isUndefined(G)){return H}G.each(function(J){Element.stopObserving(H,F,J.handler)});return H}else{if(!F){E.each(function(L){var J=L.key,K=L.value;K.each(function(M){Element.stopObserving(H,J,M.handler)})});return H}}var G=E.get(F);if(!G){return}var D=G.find(function(J){return J.handler===I});if(!D){return H}var C=n(F);if(F.include(":")){if(H.removeEventListener){H.removeEventListener("dataavailable",D,false)}else{H.detachEvent("ondataavailable",D);H.detachEvent("onfilterchange",D)}}else{if(H.removeEventListener){H.removeEventListener(C,D,false)}else{H.detachEvent("on"+C,D)}}E.set(F,G.without(D));return H}function z(F,E,D,C){F=$(F);if(Object.isUndefined(C)){C=true}if(F==document&&document.createEvent&&!F.dispatchEvent){F=document.documentElement}var G;if(document.createEvent){G=document.createEvent("HTMLEvents");G.initEvent("dataavailable",true,true)}else{G=document.createEventObject();G.eventType=C?"ondataavailable":"onfilterchange"}G.eventName=E;G.memo=D||{};if(document.createEvent){F.dispatchEvent(G)}else{F.fireEvent(G.eventType,G)}return A.extend(G)}Object.extend(A,A.Methods);Object.extend(A,{fire:z,observe:x,stopObserving:m});Element.addMethods({fire:z,observe:x,stopObserving:m});Object.extend(document,{fire:z.methodize(),observe:x.methodize(),stopObserving:m.methodize(),loaded:false});if(window.Event){Object.extend(window.Event,A)}else{window.Event=A}})();(function(){var e;function b(){if(document.loaded){return}if(e){window.clearTimeout(e)}document.loaded=true;document.fire("dom:loaded")}function d(){if(document.readyState==="complete"){document.stopObserving("readystatechange",d);b()}}function c(){try{document.documentElement.doScroll("left")}catch(f){e=c.defer();return}b()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",b,false)}else{document.observe("readystatechange",d);if(window==top){e=c.defer()}}Event.observe(window,"load",b)})();Element.addMethods();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(b,c){return Element.insert(b,{before:c})},Top:function(b,c){return Element.insert(b,{top:c})},Bottom:function(b,c){return Element.insert(b,{bottom:c})},After:function(b,c){return Element.insert(b,{after:c})}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},within:function(c,b,d){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(c,b,d)}this.xcomp=b;this.ycomp=d;this.offset=Element.cumulativeOffset(c);return(d>=this.offset[1]&&d<this.offset[1]+c.offsetHeight&&b>=this.offset[0]&&b<this.offset[0]+c.offsetWidth)},withinIncludingScrolloffsets:function(c,b,e){var d=Element.cumulativeScrollOffset(c);this.xcomp=b+d[0]-this.deltaX;this.ycomp=e+d[1]-this.deltaY;this.offset=Element.cumulativeOffset(c);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+c.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+c.offsetWidth)},overlap:function(c,b){if(!c){return 0}if(c=="vertical"){return((this.offset[1]+b.offsetHeight)-this.ycomp)/b.offsetHeight}if(c=="horizontal"){return((this.offset[0]+b.offsetWidth)-this.xcomp)/b.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(b){Position.prepare();return Element.absolutize(b)},relativize:function(b){Position.prepare();return Element.relativize(b)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(c,d,b){b=b||{};return Element.clonePosition(d,c,b)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(c){function b(d){return d.blank()?null:"[contains(concat(' ', @class, ' '), ' "+d+" ')]"}c.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(d,f){f=f.toString().strip();var e=/\s/.test(f)?$w(f).map(b).join(""):b(f);return e?document._getElementsByXPath(".//*"+e,d):[]}:function(f,g){g=g.toString().strip();var h=[],l=(/\s/.test(g)?$w(g):null);if(!l&&!g){return h}var d=$(f).getElementsByTagName("*");g=" "+g+" ";for(var e=0,n,m;n=d[e];e++){if(n.className&&(m=" "+n.className+" ")&&(m.include(g)||(l&&l.all(function(o){return !o.toString().blank()&&m.include(" "+o+" ")})))){h.push(Element.extend(n))}}return h};return function(e,d){return $(d||document.body).getElementsByClassName(e)}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(b){this.element=$(b)},_each:function(b){this.element.className.split(/\s+/).select(function(c){return c.length>0})._each(b)},set:function(b){this.element.className=b},add:function(b){if(this.include(b)){return}this.set($A(this).concat(b).join(" "))},remove:function(b){if(!this.include(b)){return}this.set($A(this).without(b).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);var Scriptaculous={Version:"1.8.2",require:function(b){},REQUIRED_PROTOTYPE:"1.6.0.3",load:function(){function b(c){var d=c.replace(/_.*|\./g,"");d=parseInt(d+"0".times(4-d.length));return c.indexOf("_")>-1?d-1:d}if((typeof Prototype=="undefined")||(typeof Element=="undefined")||(typeof Element.Methods=="undefined")||(b(Prototype.Version)<b(Scriptaculous.REQUIRED_PROTOTYPE))){throw ("script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE)}}};Scriptaculous.load();String.prototype.parseColor=function(){var b="#";if(this.slice(0,4)=="rgb("){var d=this.slice(4,this.length-1).split(",");var c=0;do{b+=parseInt(d[c]).toColorPart()}while(++c<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var c=1;c<4;c++){b+=(this.charAt(c)+this.charAt(c)).toLowerCase()}}if(this.length==7){b=this.toLowerCase()}}}return(b.length==7?b:(arguments[0]||this))};Element.collectTextNodes=function(b){return $A($(b).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:(c.hasChildNodes()?Element.collectTextNodes(c):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(b,c){return $A($(b).childNodes).collect(function(d){return(d.nodeType==3?d.nodeValue:((d.hasChildNodes()&&!Element.hasClassName(d,c))?Element.collectTextNodesIgnoreClass(d,c):""))}).flatten().join("")};Element.setContentZoom=function(b,c){b=$(b);b.setStyle({fontSize:(c/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return b};Element.getInlineOpacity=function(b){return $(b).style.opacity||""};Element.forceRerendering=function(b){try{b=$(b);var d=document.createTextNode(" ");b.appendChild(d);b.removeChild(d)}catch(c){}};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(b){return(-Math.cos(b*Math.PI)/2)+0.5},reverse:function(b){return 1-b},flicker:function(b){var b=((-Math.cos(b*Math.PI)/4)+0.75)+Math.random()/4;return b>1?1:b},wobble:function(b){return(-Math.cos(b*Math.PI*(9*b))/2)+0.5},pulse:function(c,b){return(-Math.cos((c*((b||5)-0.5)*2)*Math.PI)/2)+0.5},spring:function(b){return 1-(Math.cos(b*4.5*Math.PI)*Math.exp(-b*6))},none:function(b){return 0},full:function(b){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(b){var c="position:relative";if(Prototype.Browser.IE){c+=";zoom:1"}b=$(b);$A(b.childNodes).each(function(d){if(d.nodeType==3){d.nodeValue.toArray().each(function(e){b.insertBefore(new Element("span",{style:c}).update(e==" "?String.fromCharCode(160):e),d)});Element.remove(d)}})},multiple:function(c,d){var f;if(((typeof c=="object")||Object.isFunction(c))&&(c.length)){f=c}else{f=$(c).childNodes}var b=Object.extend({speed:0.1,delay:0},arguments[2]||{});var e=b.delay;$A(f).each(function(h,g){new d(h,Object.extend(b,{delay:g*b.speed+e}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(c,d){c=$(c);d=(d||"appear").toLowerCase();var b=Object.extend({queue:{position:"end",scope:(c.id||"global"),limit:1}},arguments[2]||{});Effect[c.visible()?Effect.PAIRS[d][1]:Effect.PAIRS[d][0]](c,b)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(b){this.effects._each(b)},add:function(c){var d=new Date().getTime();var b=Object.isString(c.options.queue)?c.options.queue:c.options.queue.position;switch(b){case"front":this.effects.findAll(function(f){return f.state=="idle"}).each(function(f){f.startOn+=c.finishOn;f.finishOn+=c.finishOn});break;case"with-last":d=this.effects.pluck("startOn").max()||d;break;case"end":d=this.effects.pluck("finishOn").max()||d;break}c.startOn+=d;c.finishOn+=d;if(!c.options.queue.limit||(this.effects.length<c.options.queue.limit)){this.effects.push(c)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(b){this.effects=this.effects.reject(function(c){return c==b});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var d=new Date().getTime();for(var c=0,b=this.effects.length;c<b;c++){this.effects[c]&&this.effects[c].loop(d)}}});Effect.Queues={instances:$H(),get:function(b){if(!Object.isString(b)){return b}return this.instances.get(b)||this.instances.set(b,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(b){function c(e,d){return((e[d+"Internal"]?"this.options."+d+"Internal(this);":"")+(e[d]?"this.options."+d+"(this);":""))}if(b&&b.transition===false){b.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),b||{});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;this.render=(function(){function d(f,e){if(f.options[e+"Internal"]){f.options[e+"Internal"](f)}if(f.options[e]){f.options[e](f)}}return function(e){if(this.state==="idle"){this.state="running";d(this,"beforeSetup");if(this.setup){this.setup()}d(this,"afterSetup")}if(this.state==="running"){e=(this.options.transition(e)*this.fromToDelta)+this.options.from;this.position=e;d(this,"beforeUpdate");if(this.update){this.update(e)}d(this,"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(d){if(d>=this.startOn){if(d>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var c=(d-this.startOn)/this.totalTime,b=(c*this.totalFrames).round();if(b>this.currentFrame){this.render(c);this.currentFrame=b}}},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(b){if(this.options[b+"Internal"]){this.options[b+"Internal"](this)}if(this.options[b]){this.options[b](this)}},inspect:function(){var b=$H();for(property in this){if(!Object.isFunction(this[property])){b.set(property,this[property])}}return"#<Effect:"+b.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(b){this.effects=b||[];this.start(arguments[1])},update:function(b){this.effects.invoke("render",b)},finish:function(b){this.effects.each(function(c){c.render(1);c.cancel();c.event("beforeFinish");if(c.finish){c.finish(b)}c.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(d,g,f){d=Object.isString(d)?$(d):d;var c=$A(arguments),e=c.last(),b=c.length==5?c[3]:null;this.method=Object.isFunction(e)?e.bind(d):Object.isFunction(d[e])?d[e].bind(d):function(h){d[e]=h};this.start(Object.extend({from:g,to:f},b||{}))},update:function(b){this.method(b)}});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(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var b=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(b)},update:function(b){this.element.setOpacity(b)}});Effect.Move=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(b)},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(b){this.element.setStyle({left:(this.options.x*b+this.originalLeft).round()+"px",top:(this.options.y*b+this.originalTop).round()+"px"})}});Effect.MoveBy=function(c,b,d){return new Effect.Move(c,Object.extend({x:d,y:b},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(c,d){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:d},arguments[2]||{});this.start(b)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(c){this.originalStyle[c]=this.element.style[c]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var b=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(c){if(b.indexOf(c)>0){this.fontSize=parseFloat(b);this.fontSizeType=c}}.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(b){var c=(this.options.scaleFrom/100)+(this.factor*b);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*c+this.fontSizeType})}this.setDimensions(this.dims[0]*c,this.dims[1]*c)},finish:function(b){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(b,f){var g={};if(this.options.scaleX){g.width=f.round()+"px"}if(this.options.scaleY){g.height=b.round()+"px"}if(this.options.scaleFromCenter){var e=(b-this.dims[0])/2;var c=(f-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){g.top=this.originalTop-e+"px"}if(this.options.scaleX){g.left=this.originalLeft-c+"px"}}else{if(this.options.scaleY){g.top=-e+"px"}if(this.options.scaleX){g.left=-c+"px"}}}this.element.setStyle(g)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(b)},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(b){return parseInt(this.options.startcolor.slice(b*2+1,b*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(b){return parseInt(this.options.endcolor.slice(b*2+1,b*2+3),16)-this._base[b]}.bind(this))},update:function(b){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(c,d,e){return c+((this._base[e]+(this._delta[e]*b)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(d){var c=arguments[1]||{},b=document.viewport.getScrollOffsets(),e=$(d).cumulativeOffset();if(c.offset){e[1]+=c.offset}return new Effect.Tween(null,b.top,e[1],c,function(f){scrollTo(b.left,f.round())})};Effect.Fade=function(d){d=$(d);var b=d.getInlineOpacity();var c=Object.extend({from:d.getOpacity()||1,to:0,afterFinishInternal:function(e){if(e.options.to!=0){return}e.element.hide().setStyle({opacity:b})}},arguments[1]||{});return new Effect.Opacity(d,c)};Effect.Appear=function(c){c=$(c);var b=Object.extend({from:(c.getStyle("display")=="none"?0:c.getOpacity()||0),to:1,afterFinishInternal:function(d){d.element.forceRerendering()},beforeSetup:function(d){d.element.setOpacity(d.options.from).show()}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Puff=function(c){c=$(c);var b={opacity:c.getInlineOpacity(),position:c.getStyle("position"),top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};return new Effect.Parallel([new Effect.Scale(c,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(c,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(d){Position.absolutize(d.effects[0].element)},afterFinishInternal:function(d){d.effects[0].element.hide().setStyle(b)}},arguments[1]||{}))};Effect.BlindUp=function(b){b=$(b);b.makeClipping();return new Effect.Scale(b,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(c){c.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(c){c=$(c);var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(d){d.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(c){c=$(c);var b=c.getInlineOpacity();return new Effect.Appear(c,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(d){new Effect.Scale(d.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(e){e.element.makePositioned().makeClipping()},afterFinishInternal:function(e){e.element.hide().undoClipping().undoPositioned().setStyle({opacity:b})}})}},arguments[1]||{}))};Effect.DropOut=function(c){c=$(c);var b={top:c.getStyle("top"),left:c.getStyle("left"),opacity:c.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(c,{x:0,y:100,sync:true}),new Effect.Opacity(c,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(d){d.effects[0].element.makePositioned()},afterFinishInternal:function(d){d.effects[0].element.hide().undoPositioned().setStyle(b)}},arguments[1]||{}))};Effect.Shake=function(e){e=$(e);var c=Object.extend({distance:20,duration:0.5},arguments[1]||{});var f=parseFloat(c.distance);var d=parseFloat(c.duration)/10;var b={top:e.getStyle("top"),left:e.getStyle("left")};return new Effect.Move(e,{x:f,y:0,duration:d,afterFinishInternal:function(g){new Effect.Move(g.element,{x:-f*2,y:0,duration:d*2,afterFinishInternal:function(h){new Effect.Move(h.element,{x:f*2,y:0,duration:d*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:-f*2,y:0,duration:d*2,afterFinishInternal:function(m){new Effect.Move(m.element,{x:f*2,y:0,duration:d*2,afterFinishInternal:function(n){new Effect.Move(n.element,{x:-f,y:0,duration:d,afterFinishInternal:function(o){o.element.undoPositioned().setStyle(b)}})}})}})}})}})}})};Effect.SlideDown=function(d){d=$(d).cleanWhitespace();var b=d.down().getStyle("bottom");var c=d.getDimensions();return new Effect.Scale(d,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(e){e.element.makePositioned();e.element.down().makePositioned();if(window.opera){e.element.setStyle({top:""})}e.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(e){e.element.down().setStyle({bottom:(e.dims[0]-e.element.clientHeight)+"px"})},afterFinishInternal:function(e){e.element.undoClipping().undoPositioned();e.element.down().undoPositioned().setStyle({bottom:b})}},arguments[1]||{}))};Effect.SlideUp=function(d){d=$(d).cleanWhitespace();var b=d.down().getStyle("bottom");var c=d.getDimensions();return new Effect.Scale(d,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(e){e.element.makePositioned();e.element.down().makePositioned();if(window.opera){e.element.setStyle({top:""})}e.element.makeClipping().show()},afterUpdateInternal:function(e){e.element.down().setStyle({bottom:(e.dims[0]-e.element.clientHeight)+"px"})},afterFinishInternal:function(e){e.element.hide().undoClipping().undoPositioned();e.element.down().undoPositioned().setStyle({bottom:b})}},arguments[1]||{}))};Effect.Squish=function(b){return new Effect.Scale(b,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(c){c.element.makeClipping()},afterFinishInternal:function(c){c.element.hide().undoClipping()}})};Effect.Grow=function(d){d=$(d);var c=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var b={top:d.style.top,left:d.style.left,height:d.style.height,width:d.style.width,opacity:d.getInlineOpacity()};var h=d.getDimensions();var l,g;var f,e;switch(c.direction){case"top-left":l=g=f=e=0;break;case"top-right":l=h.width;g=e=0;f=-h.width;break;case"bottom-left":l=f=0;g=h.height;e=-h.height;break;case"bottom-right":l=h.width;g=h.height;f=-h.width;e=-h.height;break;case"center":l=h.width/2;g=h.height/2;f=-h.width/2;e=-h.height/2;break}return new Effect.Move(d,{x:l,y:g,duration:0.01,beforeSetup:function(m){m.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(m){new Effect.Parallel([new Effect.Opacity(m.element,{sync:true,to:1,from:0,transition:c.opacityTransition}),new Effect.Move(m.element,{x:f,y:e,sync:true,transition:c.moveTransition}),new Effect.Scale(m.element,100,{scaleMode:{originalHeight:h.height,originalWidth:h.width},sync:true,scaleFrom:window.opera?1:0,transition:c.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(n){n.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(n){n.effects[0].element.undoClipping().undoPositioned().setStyle(b)}},c))}})};Effect.Shrink=function(d){d=$(d);var c=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var b={top:d.style.top,left:d.style.left,height:d.style.height,width:d.style.width,opacity:d.getInlineOpacity()};var g=d.getDimensions();var f,e;switch(c.direction){case"top-left":f=e=0;break;case"top-right":f=g.width;e=0;break;case"bottom-left":f=0;e=g.height;break;case"bottom-right":f=g.width;e=g.height;break;case"center":f=g.width/2;e=g.height/2;break}return new Effect.Parallel([new Effect.Opacity(d,{sync:true,to:0,from:1,transition:c.opacityTransition}),new Effect.Scale(d,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(d,{x:f,y:e,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(h){h.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(h){h.effects[0].element.hide().undoClipping().undoPositioned().setStyle(b)}},c))};Effect.Pulsate=function(d){d=$(d);var c=arguments[1]||{},b=d.getInlineOpacity(),f=c.transition||Effect.Transitions.linear,e=function(g){return 1-f((-Math.cos((g*(c.pulses||5)*2)*Math.PI)/2)+0.5)};return new Effect.Opacity(d,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(g){g.element.setStyle({opacity:b})}},c),{transition:e}))};Effect.Fold=function(c){c=$(c);var b={top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};c.makeClipping();return new Effect.Scale(c,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(d){new Effect.Scale(c,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(e){e.element.hide().undoClipping().setStyle(b)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(d){this.element=$(d);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(b.style)){this.style=$H(b.style)}else{if(b.style.include(":")){this.style=b.style.parseStyle()}else{this.element.addClassName(b.style);this.style=$H(this.element.getStyles());this.element.removeClassName(b.style);var c=this.element.getStyles();this.style=this.style.reject(function(e){return e.value==c[e.key]});b.afterFinishInternal=function(e){e.element.addClassName(e.options.style);e.transforms.each(function(f){e.element.style[f.style]=""})}}}this.start(b)},setup:function(){function b(c){if(!c||["rgba(0, 0, 0, 0)","transparent"].include(c)){c="#ffffff"}c=c.parseColor();return $R(0,2).map(function(d){return parseInt(c.slice(d*2+1,d*2+3),16)})}this.transforms=this.style.map(function(h){var g=h[0],f=h[1],e=null;if(f.parseColor&&f.parseColor("#zzzzzz")!="#zzzzzz"){f=f.parseColor();e="color"}else{if(g=="opacity"){f=parseFloat(f);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(f)){var d=f.match(/^([\+\-]?[0-9\.]+)(.*)$/);f=parseFloat(d[1]);e=(d.length==3)?d[2]:null}}}var c=this.element.getStyle(g);return{style:g.camelize(),originalValue:e=="color"?b(c):parseFloat(c||0),targetValue:e=="color"?b(f):f,unit:e}}.bind(this)).reject(function(c){return((c.originalValue==c.targetValue)||(c.unit!="color"&&(isNaN(c.originalValue)||isNaN(c.targetValue))))})},update:function(b){var e={},c,d=this.transforms.length;while(d--){e[(c=this.transforms[d]).style]=c.unit=="color"?"#"+(Math.round(c.originalValue[0]+(c.targetValue[0]-c.originalValue[0])*b)).toColorPart()+(Math.round(c.originalValue[1]+(c.targetValue[1]-c.originalValue[1])*b)).toColorPart()+(Math.round(c.originalValue[2]+(c.targetValue[2]-c.originalValue[2])*b)).toColorPart():(c.originalValue+(c.targetValue-c.originalValue)*b).toFixed(3)+(c.unit===null?"":c.unit)}this.element.setStyle(e,true)}});Effect.Transform=Class.create({initialize:function(b){this.tracks=[];this.options=arguments[1]||{};this.addTracks(b)},addTracks:function(b){b.each(function(c){c=$H(c);var d=c.values().first();this.tracks.push($H({ids:c.keys().first(),effect:Effect.Morph,options:{style:d}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(b){var e=b.get("ids"),d=b.get("effect"),c=b.get("options");var f=[$(e)||$$(e)].flatten();return f.map(function(g){return new d(g,Object.extend({sync:true},c))})}).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 c,b=$H();if(Prototype.Browser.WebKit){c=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';c=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(d){if(c[d]){b.set(d,c[d])}});if(Prototype.Browser.IE&&this.include("opacity")){b.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return b};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(c){var b=document.defaultView.getComputedStyle($(c),null);return Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=b[e];return d})}}else{Element.getStyles=function(c){c=$(c);var b=c.currentStyle,d;d=Element.CSS_PROPERTIES.inject({},function(e,f){e[f]=b[f];return e});if(!d.opacity){d.opacity=c.getOpacity()}return d}}Effect.Methods={morph:function(b,c){b=$(b);new Effect.Morph(b,Object.extend({style:c},arguments[2]||{}));return b},visualEffect:function(d,f,c){d=$(d);var e=f.dasherize().camelize(),b=e.charAt(0).toUpperCase()+e.substring(1);new Effect[b](d,c);return d},highlight:function(c,b){c=$(c);new Effect.Highlight(c,b);return c}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(b){Effect.Methods[b]=function(d,c){d=$(d);Effect[b.charAt(0).toUpperCase()+b.substring(1)](d,c);return d}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(b){Effect.Methods[b]=Element[b]});Element.addMethods(Effect.Methods);if(Object.isUndefined(Effect)){throw ("dragdrop.js requires including script.aculo.us' effects.js library")}var Droppables={drops:[],remove:function(b){this.drops=this.drops.reject(function(c){return c.element==$(b)})},add:function(c){c=$(c);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var d=b.containment;if(Object.isArray(d)){d.each(function(e){b._containers.push($(e))})}else{b._containers.push($(d))}}if(b.accept){b.accept=[b.accept].flatten()}Element.makePositioned(c);b.element=c;this.drops.push(b)},findDeepestChild:function(b){deepest=b[0];for(i=1;i<b.length;++i){if(Element.isParent(b[i].element,deepest.element)){deepest=b[i]}}return deepest},isContained:function(c,b){var d;if(b.tree){d=c.treeNode}else{d=c.parentNode}return b._containers.detect(function(e){return d==e})},isAffected:function(b,d,c){return((c.element!=d)&&((!c._containers)||this.isContained(d,c))&&((!c.accept)||(Element.classNames(d).detect(function(e){return c.accept.include(e)})))&&Position.within(c.element,b[0],b[1]))},deactivate:function(b){if(b.hoverclass){Element.removeClassName(b.element,b.hoverclass)}this.last_active=null},activate:function(b){if(b.hoverclass){Element.addClassName(b.element,b.hoverclass)}this.last_active=b},show:function(b,d){if(!this.drops.length){return}var c,e=[];this.drops.each(function(f){if(Droppables.isAffected(b,d,f)){e.push(f)}});if(e.length>0){c=Droppables.findDeepestChild(e)}if(this.last_active&&this.last_active!=c){this.deactivate(this.last_active)}if(c){Position.within(c.element,b[0],b[1]);if(c.onHover){c.onHover(d,c.element,Position.overlap(c.overlap,c.element))}if(c!=this.last_active){Droppables.activate(c)}}},fire:function(c,b){if(!this.last_active){return}Position.prepare();if(this.isAffected([Event.pointerX(c),Event.pointerY(c)],b,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(b,this.last_active.element,c);return true}}},reset:function(){if(this.last_active){this.deactivate(this.last_active)}}};var Draggables={drags:[],observers:[],register:function(b){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)}this.drags.push(b)},unregister:function(b){this.drags=this.drags.reject(function(c){return c==b});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(b){if(b.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=b}.bind(this),b.options.delay)}else{window.focus();this.activeDraggable=b}},deactivate:function(){this.activeDraggable=null},updateDrag:function(b){if(!this.activeDraggable){return}var c=[Event.pointerX(b),Event.pointerY(b)];if(this._lastPointer&&(this._lastPointer.inspect()==c.inspect())){return}this._lastPointer=c;this.activeDraggable.updateDrag(b,c)},endDrag:function(b){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable){return}this._lastPointer=null;this.activeDraggable.endDrag(b);this.activeDraggable=null},keyPress:function(b){if(this.activeDraggable){this.activeDraggable.keyPress(b)}},addObserver:function(b){this.observers.push(b);this._cacheObserverCallbacks()},removeObserver:function(b){this.observers=this.observers.reject(function(c){return c.element==b});this._cacheObserverCallbacks()},notify:function(c,b,d){if(this[c+"Count"]>0){this.observers.each(function(e){if(e[c]){e[c](c,b,d)}})}if(b.options[c]){b.options[c](b,d)}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(b){Draggables[b+"Count"]=Draggables.observers.select(function(c){return c[b]}).length})}};var Draggable=Class.create({initialize:function(c){var d={handle:false,reverteffect:function(g,f,e){var h=Math.sqrt(Math.abs(f^2)+Math.abs(e^2))*0.02;new Effect.Move(g,{x:-e,y:-f,duration:h,queue:{scope:"_draggable",position:"end"}})},endeffect:function(f){var e=Object.isNumber(f._opacity)?f._opacity:1;new Effect.Opacity(f,{duration:0.2,from:0.7,to:e,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[f]=false}})},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect)){Object.extend(d,{starteffect:function(e){e._opacity=Element.getOpacity(e);Draggable._dragging[e]=true;new Effect.Opacity(e,{duration:0.2,from:e._opacity,to:0.7})}})}var b=Object.extend(d,arguments[1]||{});this.element=$(c);if(b.handle&&Object.isString(b.handle)){this.handle=this.element.down("."+b.handle,0)}if(!this.handle){this.handle=$(b.handle)}if(!this.handle){this.handle=this.element}if(b.scroll&&!b.scroll.scrollTo&&!b.scroll.outerHTML){b.scroll=$(b.scroll);this._isScrollChild=Element.childOf(this.element,b.scroll)}Element.makePositioned(this.element);this.options=b;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")])},initDrag:function(b){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return}if(Event.isLeftClick(b)){var d=Event.element(b);if((tag_name=d.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return}var c=[Event.pointerX(b),Event.pointerY(b)];var e=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(f){return(c[f]-e[f])});Draggables.activate(this);Event.stop(b)}},startDrag:function(c){this.dragging=true;if(!this.delta){this.delta=this.currentDelta()}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this._originallyAbsolute){Position.absolutize(this.element)}this.element.parentNode.insertBefore(this._clone,this.element)}if(this.options.scroll){if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}}Draggables.notify("onStart",this,c);if(this.options.starteffect){this.options.starteffect(this.element)}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event)}if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element)}Draggables.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this)}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity)}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity)}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity)}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity)}this.startScrolling(speed)}if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(event)},finishDrag:function(c,g){this.dragging=false;if(this.options.quiet){Position.prepare();var f=[Event.pointerX(c),Event.pointerY(c)];Droppables.show(f,this.element)}if(this.options.ghosting){if(!this._originallyAbsolute){Position.relativize(this.element)}delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null}var h=false;if(g){h=Droppables.fire(c,this.element);if(!h){h=false}}if(h&&this.options.onDropped){this.options.onDropped(this.element)}Draggables.notify("onEnd",this,c);var b=this.options.revert;if(b&&Object.isFunction(b)){b=b(this.element)}var e=this.currentDelta();if(b&&this.options.reverteffect){if(h==0||b!="failure"){this.options.reverteffect(this.element,e[1]-this.delta[1],e[0]-this.delta[0])}}else{this.delta=e}if(this.options.zindex){this.element.style.zIndex=this.originalZ}if(this.options.endeffect){this.options.endeffect(this.element)}Draggables.deactivate(this);Droppables.reset()},keyPress:function(b){if(b.keyCode!=Event.KEY_ESC){return}this.finishDrag(b,false);Event.stop(b)},endDrag:function(b){if(!this.dragging){return}this.stopScrolling();this.finishDrag(b,true);Event.stop(b)},draw:function(b){var h=Position.cumulativeOffset(this.element);if(this.options.ghosting){var e=Position.realOffset(this.element);h[0]+=e[0]-Position.deltaX;h[1]+=e[1]-Position.deltaY}var g=this.currentDelta();h[0]-=g[0];h[1]-=g[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){h[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;h[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var f=[0,1].map(function(d){return(b[d]-h[d]-this.offset[d])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){f=this.options.snap(f[0],f[1],this)}else{if(Object.isArray(this.options.snap)){f=f.map(function(d,l){return(d/this.options.snap[l]).round()*this.options.snap[l]}.bind(this))}else{f=f.map(function(d){return(d/this.options.snap).round()*this.options.snap}.bind(this))}}}var c=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){c.left=f[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){c.top=f[1]+"px"}if(c.visibility=="hidden"){c.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(b){if(!(b[0]||b[1])){return}this.scrollSpeed=[b[0]*this.options.scrollSpeed,b[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0}this.draw(Draggables._lastScrollPointer)}if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(c,b){this.element=$(c);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element)}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(b){while(b.tagName.toUpperCase()!="BODY"){if(b.id&&Sortable.sortables[b.id]){return b}b=b.parentNode}},options:function(b){b=Sortable._findRootElement($(b));if(!b){return}return Sortable.sortables[b.id]},destroy:function(b){b=$(b);var c=Sortable.sortables[b.id];if(c){Draggables.removeObserver(c.element);c.droppables.each(function(e){Droppables.remove(e)});c.draggables.invoke("destroy");delete Sortable.sortables[c.element.id]}},create:function(d){d=$(d);var c=Object.extend({element:d,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:d,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(d);var b={revert:true,quiet:c.quiet,scroll:c.scroll,scrollSpeed:c.scrollSpeed,scrollSensitivity:c.scrollSensitivity,delay:c.delay,ghosting:c.ghosting,constraint:c.constraint,handle:c.handle};if(c.starteffect){b.starteffect=c.starteffect}if(c.reverteffect){b.reverteffect=c.reverteffect}else{if(c.ghosting){b.reverteffect=function(g){g.style.top=0;g.style.left=0}}}if(c.endeffect){b.endeffect=c.endeffect}if(c.zindex){b.zindex=c.zindex}var e={overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass,onHover:Sortable.onHover};var f={onHover:Sortable.onEmptyHover,overlap:c.overlap,containment:c.containment,hoverclass:c.hoverclass};Element.cleanWhitespace(d);c.draggables=[];c.droppables=[];if(c.dropOnEmpty||c.tree){Droppables.add(d,f);c.droppables.push(d)}(c.elements||this.findElements(d,c)||[]).each(function(l,g){var h=c.handles?$(c.handles[g]):(c.handle?$(l).select("."+c.handle)[0]:l);c.draggables.push(new Draggable(l,Object.extend(b,{handle:h})));Droppables.add(l,e);if(c.tree){l.treeNode=d}c.droppables.push(l)});if(c.tree){(Sortable.findTreeElements(d,c)||[]).each(function(g){Droppables.add(g,f);g.treeNode=d;c.droppables.push(g)})}this.sortables[d.id]=c;Draggables.addObserver(new SortableObserver(d,c.onUpdate))},findElements:function(c,b){return Element.findChildren(c,b.only,b.tree?true:false,b.tag)},findTreeElements:function(c,b){return Element.findChildren(c,b.only,b.tree?true:false,b.treeTag)},onHover:function(f,e,b){if(Element.isParent(e,f)){return}if(b>0.33&&b<0.66&&Sortable.options(e).tree){return}else{if(b>0.5){Sortable.mark(e,"before");if(e.previousSibling!=f){var c=f.parentNode;f.style.visibility="hidden";e.parentNode.insertBefore(f,e);if(e.parentNode!=c){Sortable.options(c).onChange(f)}Sortable.options(e.parentNode).onChange(f)}}else{Sortable.mark(e,"after");var d=e.nextSibling||null;if(d!=f){var c=f.parentNode;f.style.visibility="hidden";e.parentNode.insertBefore(f,d);if(e.parentNode!=c){Sortable.options(c).onChange(f)}Sortable.options(e.parentNode).onChange(f)}}}},onEmptyHover:function(f,h,l){var m=f.parentNode;var b=Sortable.options(h);if(!Element.isParent(h,f)){var g;var d=Sortable.findElements(h,{tag:b.tag,only:b.only});var c=null;if(d){var e=Element.offsetSize(h,b.overlap)*(1-l);for(g=0;g<d.length;g+=1){if(e-Element.offsetSize(d[g],b.overlap)>=0){e-=Element.offsetSize(d[g],b.overlap)}else{if(e-(Element.offsetSize(d[g],b.overlap)/2)>=0){c=g+1<d.length?d[g+1]:null;break}else{c=d[g];break}}}}h.insertBefore(f,c);Sortable.options(m).onChange(f);b.onChange(f)}},unmark:function(){if(Sortable._marker){Sortable._marker.hide()}},mark:function(c,b){var e=Sortable.options(c.parentNode);if(e&&!e.ghosting){return}if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var d=Position.cumulativeOffset(c);Sortable._marker.setStyle({left:d[0]+"px",top:d[1]+"px"});if(b=="after"){if(e.overlap=="horizontal"){Sortable._marker.setStyle({left:(d[0]+c.clientWidth)+"px"})}else{Sortable._marker.setStyle({top:(d[1]+c.clientHeight)+"px"})}}Sortable._marker.show()},_tree:function(f,c,g){var e=Sortable.findElements(f,c)||[];for(var d=0;d<e.length;++d){var b=e[d].id.match(c.format);if(!b){continue}var h={id:encodeURIComponent(b?b[1]:null),element:f,parent:g,children:[],position:g.children.length,container:$(e[d]).down(c.treeTag)};if(h.container){this._tree(h.container,c,h)}g.children.push(h)}return g},tree:function(e){e=$(e);var d=this.options(e);var c=Object.extend({tag:d.tag,treeTag:d.treeTag,only:d.only,name:e.id,format:d.format},arguments[1]||{});var b={id:null,parent:null,children:[],container:e,position:0};return Sortable._tree(e,c,b)},_constructIndex:function(c){var b="";do{if(c.id){b="["+c.position+"]"+b}}while((c=c.parent)!=null);return b},sequence:function(c){c=$(c);var b=Object.extend(this.options(c),arguments[1]||{});return $(this.findElements(c,b)||[]).map(function(d){return d.id.match(b.format)?d.id.match(b.format)[1]:""})},setSequence:function(c,d){c=$(c);var b=Object.extend(this.options(c),arguments[2]||{});var e={};this.findElements(c,b).each(function(f){if(f.id.match(b.format)){e[f.id.match(b.format)[1]]=[f,f.parentNode]}f.parentNode.removeChild(f)});d.each(function(f){var g=e[f];if(g){g[1].appendChild(g[0]);delete e[f]}})},serialize:function(d){d=$(d);var c=Object.extend(Sortable.options(d),arguments[1]||{});var b=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:d.id);if(c.tree){return Sortable.tree(d,arguments[1]).children.map(function(e){return[b+Sortable._constructIndex(e)+"[id]="+encodeURIComponent(e.id)].concat(e.children.map(arguments.callee))}).flatten().join("&")}else{return Sortable.sequence(d,arguments[1]).map(function(e){return b+"[]="+encodeURIComponent(e)}).join("&")}}};Element.isParent=function(c,b){if(!c.parentNode||c==b){return false}if(c.parentNode==b){return true}return Element.isParent(c.parentNode,b)};Element.findChildren=function(e,c,b,d){if(!e.hasChildNodes()){return null}d=d.toUpperCase();if(c){c=[c].flatten()}var f=[];$A(e.childNodes).each(function(h){if(h.tagName&&h.tagName.toUpperCase()==d&&(!c||(Element.classNames(h).detect(function(l){return c.include(l)})))){f.push(h)}if(b){var g=Element.findChildren(h,c,b,d);if(g){f.push(g)}}});return(f.length>0?f.flatten():[])};Element.offsetSize=function(b,c){return b["offset"+((c=="vertical"||c=="height")?"Height":"Width")]};var CookieJar=Class.create();CookieJar.prototype={appendString:"__CJ_",initialize:function(c){this.options={expires:3600,path:"",domain:"",secure:""};Object.extend(this.options,c||{});if(this.options.expires!=""){var b=new Date();b=new Date(b.getTime()+(this.options.expires*1000));this.options.expires="; expires="+b.toGMTString()}if(this.options.path!=""){this.options.path="; path="+escape(this.options.path)}if(this.options.domain!=""){this.options.domain="; domain="+escape(this.options.domain)}if(this.options.secure=="secure"){this.options.secure="; secure"}else{this.options.secure=""}},put:function(b,d){b=this.appendString+b;cookie=this.options;var c=typeof d;switch(c){case"undefined":case"function":case"unknown":return false;case"boolean":case"string":case"number":d=String(d.toString())}var g=b+"="+escape(Object.toJSON(d));try{document.cookie=g+cookie.expires+cookie.path+cookie.domain+cookie.secure}catch(f){return false}return true},remove:function(d){d=this.appendString+d;cookie=this.options;try{var c=new Date();c.setTime(c.getTime()-(3600*1000));var b="; expires="+c.toGMTString();document.cookie=d+"="+b+cookie.path+cookie.domain+cookie.secure}catch(f){return false}return true},get:function(b){b=this.appendString+b;var c=document.cookie.match(b+"=(.*?)(;|$)");if(c){return(unescape(c[1])).evalJSON()}else{return null}},empty:function(){keys=this.getKeys();size=keys.size();for(i=0;i<size;i++){this.remove(keys[i])}},getPack:function(){pack={};keys=this.getKeys();size=keys.size();for(i=0;i<size;i++){pack[keys[i]]=this.get(keys[i])}return pack},getKeys:function(){keys=$A();keyRe=/[^=; ]+(?=\=)/g;str=document.cookie;CJRe=new RegExp("^"+this.appendString);while((match=keyRe.exec(str))!=undefined){if(CJRe.test(match[0].strip())){keys.push(match[0].strip().gsub("^"+this.appendString,""))}}return keys}};window.k=window.k||{};(function(){var b={header:"&nbsp;",speedin:0.3,speedout:0.5,outDirection:{y:-20},life:5,sticky:false,className:""};var f={location:"tr",width:"250px"};var g=(Prototype.Browser.IE)?parseFloat(navigator.appVersion.split("MSIE ")[1])||0:0;function e(l,h){h=h||b;new Effect.Parallel([new Effect.Move(l,Object.extend({sync:true,mode:"relative"},h.outDirection)),new Effect.Opacity(l,{sync:true,to:0})],{duration:h.speedout,afterFinish:function(){try{var n=l.down("div.notice-exit");if(n!=undefined){n.stopObserving("click",e)}if(h.created&&Object.isFunction(h.created)){l.stopObserving("notice:created",h.created)}if(h.destroyed&&Object.isFunction(h.destroyed)){l.fire("notice:destroyed");l.stopObserving("notice:destroyed",h.destroyed)}}catch(m){}try{l.remove()}catch(m){}}})}function c(h,q,l){var m=Object.clone(b);l=l||{};Object.extend(m,l);var o;if(m.className!=""){o=new Element("div",{"class":m.className}).setStyle({display:"block",opacity:0})}else{o=new Element("div",{"class":"Growler-notice"}).setStyle({display:"block",opacity:0})}if(m.created&&Object.isFunction(m.created)){o.observe("notice:created",m.created)}if(m.destroyed&&Object.isFunction(m.destroyed)){o.observe("notice:destroyed",m.destroyed)}if(m.sticky){var n=new Element("div",{"class":"Growler-notice-exit"}).update("&times;");n.observe("click",function(){e(o,m)});o.insert(n)}o.insert(new Element("div",{"class":"Growler-notice-head"}).update(m.header));o.insert(new Element("div",{"class":"Growler-notice-body"}).update(q));h.insert(o);new Effect.Opacity(o,{to:0.85,duration:m.speedin});if(!m.sticky){e.delay(m.life,o,m)}o.fire("notice:created");return o}function d(r,l,s,q,h,v){s.header=s.header||q;var u=c(r,l,s);u.setStyle({backgroundColor:h,color:v});return u}k.Growler=Class.create({initialize:function(h){var l=Object.clone(f);h=h||{};Object.extend(l,h);this.growler=new Element("div",{"class":"Growler",id:"Growler"});this.growler.setStyle({position:((g==6)?"absolute":"fixed"),padding:"10px",width:l.width,"z-index":"50000"});if(g==6){var m={w:parseInt(this.growler.style.width)+parseInt(this.growler.style.padding)*3,h:parseInt(this.growler.style.height)+parseInt(this.growler.style.padding)*3};switch(l.location){case"br":this.growler.style.setExpression("left","( 0 - Growler.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'");this.growler.style.setExpression("top","( 0 - Growler.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'");break;case"tl":this.growler.style.setExpression("left","( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'");this.growler.style.setExpression("top","( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'");break;case"bl":this.growler.style.setExpression("left","( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'");this.growler.style.setExpression("top","( 0 - Growler.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'");break;default:this.growler.setStyle({right:"auto",bottom:"auto"});this.growler.style.setExpression("left","( 0 - Growler.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'");this.growler.style.setExpression("top","( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'");break}}else{switch(l.location){case"br":this.growler.setStyle({bottom:0,right:0});break;case"tl":this.growler.setStyle({top:0,left:0});break;case"bl":this.growler.setStyle({top:0,right:0});break;case"tc":this.growler.setStyle({top:0,left:"25%",width:"50%"});break;case"bc":this.growler.setStyle({bottom:0,left:"25%",width:"50%"});break;default:this.growler.setStyle({top:0,right:0});break}}this.growler.wrap(document.body)},growl:function(l,h){return c(this.growler,l,h)},warn:function(l,h){return d(this.growler,l,h,"Warning!","#F6BD6F","#000")},error:function(l,h){return d(this.growler,l,h,"Critical!","#F66F82","#000")},info:function(l,h){return d(this.growler,l,h,"Information!","#BBF66F","#000")},ungrowl:function(l,h){e(l,h)}})})();if(!window.Modalbox){var Modalbox=new Object()}Modalbox.Methods={overrideAlert:false,focusableElements:new Array,currFocused:0,initialized:false,active:true,options:{title:"ModalBox Window",overlayClose:true,width:500,height:90,overlayOpacity:0.65,overlayDuration:0.25,slideDownDuration:0.5,slideUpDuration:0.5,resizeDuration:0.25,inactiveFade:true,transitions:true,loadingString:"Please wait. Loading...",closeString:"Close window",closeValue:"&times;",params:{},method:"get",autoFocusing:true,aspnet:false},_options:new Object,setOptions:function(b){Object.extend(this.options,b||{})},_init:function(c){Object.extend(this._options,this.options);this.setOptions(c);this.MBoverlay=new Element("div",{id:"MB_overlay",opacity:"0"});this.MBwindow=new Element("div",{id:"MB_window",style:"display: none"}).update(this.MBframe=new Element("div",{id:"MB_frame"}).update(this.MBheader=new Element("div",{id:"MB_header"}).update(this.MBcaption=new Element("div",{id:"MB_caption"}))));this.MBclose=new Element("a",{id:"MB_close",title:this.options.closeString,href:"#"}).update("<span>"+this.options.closeValue+"</span>");this.MBheader.insert({bottom:this.MBclose});this.MBcontent=new Element("div",{id:"MB_content"}).update(this.MBloading=new Element("div",{id:"MB_loading"}).update(this.options.loadingString));this.MBframe.insert({bottom:this.MBcontent});var b=this.options.aspnet?$(document.body).down("form"):$(document.body);b.insert({top:this.MBwindow});b.insert({top:this.MBoverlay});this.initScrollX=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;this.initScrollY=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;this.hideObserver=this._hide.bindAsEventListener(this);this.kbdObserver=this._kbdHandler.bindAsEventListener(this);this._initObservers();this.initialized=true},show:function(c,b){if(!this.initialized){this._init(b)}this.content=c;this.setOptions(b);if(this.options.title){$(this.MBcaption).update(this.options.title)}else{$(this.MBheader).hide();$(this.MBcaption).hide()}if(this.MBwindow.style.display=="none"){this._appear();this.event("onShow")}else{this._update();this.event("onUpdate")}},hide:function(b){if(this.initialized){if(b&&typeof b.element!="function"){Object.extend(this.options,b)}this.event("beforeHide");if(this.options.transitions){Effect.SlideUp(this.MBwindow,{duration:this.options.slideUpDuration,transition:Effect.Transitions.sinoidal,afterFinish:this._deinit.bind(this)})}else{$(this.MBwindow).hide();this._deinit()}}else{throw ("Modalbox is not initialized.")}},_hide:function(b){b.stop();if(b.element().id=="MB_overlay"&&!this.options.overlayClose){return false}this.hide()},alert:function(c){var b='<div class="MB_alert"><p>'+c+'</p><input type="button" onclick="Modalbox.hide()" value="OK" /></div>';Modalbox.show(b,{title:"Alert: "+document.title,width:300})},_appear:function(){if(Prototype.Browser.IE&&!navigator.appVersion.match(/\b7.0\b/)){window.scrollTo(0,0);this._prepareIE("100%","hidden")}this._setWidth();this._setPosition();if(this.options.transitions){$(this.MBoverlay).setStyle({opacity:0});new Effect.Fade(this.MBoverlay,{from:0,to:this.options.overlayOpacity,duration:this.options.overlayDuration,afterFinish:function(){new Effect.SlideDown(this.MBwindow,{duration:this.options.slideDownDuration,transition:Effect.Transitions.sinoidal,afterFinish:function(){this._setPosition();this.loadContent()}.bind(this)})}.bind(this)})}else{$(this.MBoverlay).setStyle({opacity:this.options.overlayOpacity});$(this.MBwindow).show();this._setPosition();this.loadContent()}this._setWidthAndPosition=this._setWidthAndPosition.bindAsEventListener(this);Event.observe(window,"resize",this._setWidthAndPosition)},resize:function(h,l,d){var g=$(this.MBwindow).getHeight();var e=$(this.MBwindow).getWidth();var f=$(this.MBheader).getHeight();var c=$(this.MBcontent).getHeight();var b=((g-f+l)<c)?(c+f-g):l;if(d){this.setOptions(d)}if(this.options.transitions){new Effect.ScaleBy(this.MBwindow,h,b,{duration:this.options.resizeDuration,afterFinish:function(){this.event("_afterResize");this.event("afterResize")}.bind(this)})}else{this.MBwindow.setStyle({width:e+h+"px",height:g+b+"px"});setTimeout(function(){this.event("_afterResize");this.event("afterResize")}.bind(this),1)}},resizeToContent:function(b){var c=this.options.height-this.MBwindow.offsetHeight;if(c!=0){if(b){this.setOptions(b)}Modalbox.resize(0,c)}},resizeToInclude:function(d,c){var e=$(d);var b=e.getHeight()+parseInt(e.getStyle("margin-top"))+parseInt(e.getStyle("margin-bottom"))+parseInt(e.getStyle("border-top-width"))+parseInt(e.getStyle("border-bottom-width"));if(b>0){if(c){this.setOptions(c)}Modalbox.resize(0,b)}},_update:function(){$(this.MBcontent).update("");this.MBcontent.appendChild(this.MBloading);$(this.MBloading).update(this.options.loadingString);this.currentDims=[this.MBwindow.offsetWidth,this.MBwindow.offsetHeight];Modalbox.resize((this.options.width-this.currentDims[0]),(this.options.height-this.currentDims[1]),{_afterResize:this._loadAfterResize.bind(this)})},loadContent:function(){if(this.event("beforeLoad")!=false){if(typeof this.content=="string"){var htmlRegExp=new RegExp(/<\/?[^>]+>/gi);if(htmlRegExp.test(this.content)){this._insertContent(this.content.stripScripts());this._putContent(function(){this.content.extractScripts().map(function(script){return eval(script.replace("<!--","").replace("// -->",""))}.bind(window))}.bind(this))}else{new Ajax.Request(this.content,{method:this.options.method.toLowerCase(),parameters:this.options.params,onSuccess:function(transport){var response=new String(transport.responseText);this._insertContent(transport.responseText.stripScripts());this._putContent(function(){response.extractScripts().map(function(script){return eval(script.replace("<!--","").replace("// -->",""))}.bind(window))})}.bind(this),onException:function(instance,exception){Modalbox.hide();throw ("Modalbox Loading Error: "+exception)}})}}else{if(typeof this.content=="object"){this._insertContent(this.content);this._putContent()}else{Modalbox.hide();throw ("Modalbox Parameters Error: Please specify correct URL or HTML element (plain HTML or object)")}}}},_insertContent:function(c){$(this.MBcontent).hide().update("");if(typeof c=="string"){setTimeout(function(){this.MBcontent.update(c)}.bind(this),1)}else{if(typeof c=="object"){var b=c.cloneNode(true);if(c.id){c.id="MB_"+c.id}$(c).select("*[id]").each(function(d){d.id="MB_"+d.id});this.MBcontent.appendChild(b);this.MBcontent.down().show();if(Prototype.Browser.IE){$$("#MB_content select").invoke("setStyle",{visibility:""})}}}},_putContent:function(b){if(this.options.height==this._options.height){setTimeout(function(){Modalbox.resize(0,$(this.MBcontent).getHeight()-$(this.MBwindow).getHeight()+$(this.MBheader).getHeight(),{afterResize:function(){this.MBcontent.show().makePositioned();this.focusableElements=this._findFocusableElements();this._setFocus();setTimeout(function(){if(b!=undefined){b()}this.event("afterLoad")}.bind(this),1)}.bind(this)})}.bind(this),1)}else{this._setWidth();this.MBcontent.setStyle({overflow:"auto",height:$(this.MBwindow).getHeight()-$(this.MBheader).getHeight()-13+"px"});this.MBcontent.show();this.focusableElements=this._findFocusableElements();this._setFocus();setTimeout(function(){if(b!=undefined){b()}this.event("afterLoad")}.bind(this),1)}},activate:function(b){this.setOptions(b);this.active=true;$(this.MBclose).observe("click",this.hideObserver);if(this.options.overlayClose){$(this.MBoverlay).observe("click",this.hideObserver)}$(this.MBclose).show();if(this.options.transitions&&this.options.inactiveFade){new Effect.Appear(this.MBwindow,{duration:this.options.slideUpDuration})}},deactivate:function(b){this.setOptions(b);this.active=false;$(this.MBclose).stopObserving("click",this.hideObserver);if(this.options.overlayClose){$(this.MBoverlay).stopObserving("click",this.hideObserver)}$(this.MBclose).hide();if(this.options.transitions&&this.options.inactiveFade){new Effect.Fade(this.MBwindow,{duration:this.options.slideUpDuration,to:0.75})}},_initObservers:function(){$(this.MBclose).observe("click",this.hideObserver);if(this.options.overlayClose){$(this.MBoverlay).observe("click",this.hideObserver)}if(Prototype.Browser.IE){Event.observe(document,"keydown",this.kbdObserver)}else{Event.observe(document,"keypress",this.kbdObserver)}},_removeObservers:function(){$(this.MBclose).stopObserving("click",this.hideObserver);if(this.options.overlayClose){$(this.MBoverlay).stopObserving("click",this.hideObserver)}if(Prototype.Browser.IE){Event.stopObserving(document,"keydown",this.kbdObserver)}else{Event.stopObserving(document,"keypress",this.kbdObserver)}},_loadAfterResize:function(){this._setWidth();this._setPosition();this.loadContent()},_setFocus:function(){if(this.focusableElements.length>0&&this.options.autoFocusing==true){var b=this.focusableElements.find(function(c){return c.tabIndex==1})||this.focusableElements.first();this.currFocused=this.focusableElements.toArray().indexOf(b);b.focus()}else{if($(this.MBclose).visible()){$(this.MBclose).focus()}}},_findFocusableElements:function(){this.MBcontent.select("input:not([type~=hidden]), select, textarea, button, a[href]").invoke("addClassName","MB_focusable");return this.MBcontent.select(".MB_focusable")},_kbdHandler:function(c){var b=c.element();switch(c.keyCode){case Event.KEY_TAB:c.stop();if(b!=this.focusableElements[this.currFocused]){this.currFocused=this.focusableElements.toArray().indexOf(b)}if(!c.shiftKey){if(this.currFocused==this.focusableElements.length-1){this.focusableElements.first().focus();this.currFocused=0}else{this.currFocused++;this.focusableElements[this.currFocused].focus()}}else{if(this.currFocused==0){this.focusableElements.last().focus();this.currFocused=this.focusableElements.length-1}else{this.currFocused--;this.focusableElements[this.currFocused].focus()}}break;case Event.KEY_ESC:if(this.active){this._hide(c)}break;case 32:this._preventScroll(c);break;case 0:if(c.which==32){this._preventScroll(c)}break;case Event.KEY_UP:case Event.KEY_DOWN:case Event.KEY_PAGEDOWN:case Event.KEY_PAGEUP:case Event.KEY_HOME:case Event.KEY_END:if(Prototype.Browser.WebKit&&!["textarea","select"].include(b.tagName.toLowerCase())){c.stop()}else{if((b.tagName.toLowerCase()=="input"&&["submit","button"].include(b.type))||(b.tagName.toLowerCase()=="a")){c.stop()}}break}},_preventScroll:function(b){if(!["input","textarea","select","button"].include(b.element().tagName.toLowerCase())){b.stop()}},_deinit:function(){this._removeObservers();Event.stopObserving(window,"resize",this._setWidthAndPosition);if(this.options.transitions){Effect.toggle(this.MBoverlay,"appear",{duration:this.options.overlayDuration,afterFinish:this._removeElements.bind(this)})}else{this.MBoverlay.hide();this._removeElements()}$(this.MBcontent).setStyle({overflow:"",height:""})},_removeElements:function(){$(this.MBoverlay).remove();$(this.MBwindow).remove();if(Prototype.Browser.IE&&!navigator.appVersion.match(/\b7.0\b/)){this._prepareIE("","");window.scrollTo(this.initScrollX,this.initScrollY)}if(typeof this.content=="object"){if(this.content.id&&this.content.id.match(/MB_/)){this.content.id=this.content.id.replace(/MB_/,"")}this.content.select("*[id]").each(function(b){b.id=b.id.replace(/MB_/,"")})}this.initialized=false;this.event("afterHide");this.setOptions(this._options)},_setWidth:function(){$(this.MBwindow).setStyle({width:this.options.width+"px",height:this.options.height+"px"})},_setPosition:function(){$(this.MBwindow).setStyle({left:Math.round((Element.getWidth(document.body)-Element.getWidth(this.MBwindow))/2)+"px"})},_setWidthAndPosition:function(){$(this.MBwindow).setStyle({width:this.options.width+"px"});this._setPosition()},_getScrollTop:function(){var b;if(document.documentElement&&document.documentElement.scrollTop){b=document.documentElement.scrollTop}else{if(document.body){b=document.body.scrollTop}}return b},_prepareIE:function(b,c){$$("html, body").invoke("setStyle",{width:b,height:b,overflow:c});$$("select").invoke("setStyle",{visibility:c})},event:function(b){if(this.options[b]){var c=this.options[b]();this.options[b]=null;if(c!=undefined){return c}else{return true}}return true}};Object.extend(Modalbox,Modalbox.Methods);if(Modalbox.overrideAlert){window.alert=Modalbox.alert}Effect.ScaleBy=Class.create();Object.extend(Object.extend(Effect.ScaleBy.prototype,Effect.Base.prototype),{initialize:function(c,d,e,b){this.element=$(c);var b=Object.extend({scaleFromTop:true,scaleMode:"box",scaleByWidth:d,scaleByHeight:e},arguments[3]||{});this.start(b)},setup:function(){this.elementPositioning=this.element.getStyle("position");this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;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]}this.deltaY=this.options.scaleByHeight;this.deltaX=this.options.scaleByWidth},update:function(b){var d=this.dims[0]+(this.deltaY*b);var c=this.dims[1]+(this.deltaX*b);d=(d>0)?d:0;c=(c>0)?c:0;this.setDimensions(d,c)},setDimensions:function(b,f){var g={};g.width=f+"px";g.height=b+"px";var e=Math.round((b-this.dims[0])/2);var c=Math.round((f-this.dims[1])/2);if(this.elementPositioning=="absolute"||this.elementPositioning=="fixed"){if(!this.options.scaleFromTop){g.top=this.originalTop-e+"px"}g.left=this.originalLeft-c+"px"}else{if(!this.options.scaleFromTop){g.top=-e+"px"}g.left=-c+"px"}this.element.setStyle(g)}});var Cookies=Class.create({initialize:function(c,b){this.path=c||"/";this.domain=b||null},set:function(h,g,l){if(typeof h!="string"){throw"Invalid key"}if(typeof g!="string"&&typeof g!="number"){throw"Invalid value"}if(l&&typeof l!="number"){throw"Invalid expiration time"}var d=h+"="+escape(new String(g));if(l){var c=new Date();c.setTime(c.getTime()+(l*24*60*60*1000));var f="; expires="+c.toGMTString()}else{var f=""}var e="; path="+escape(this.path);var b=(this.domain)?"; domain="+escape(this.domain):"";var m=d+f+e+b;document.cookie=m},get:function(c){var b=c+"=";var d=false;document.cookie.split(";").invoke("strip").each(function(e){if(e.startsWith(b)){d=unescape(e.substring(b.length,e.length));throw $break}});return d},clear:function(b){this.set(b,"",-1)},clearAll:function(){document.cookie.split(";").collect(function(b){return b.split("=").first().strip()}).each(function(b){this.clear(b)}.bind(this))}});var JsonCookies=Class.create(Cookies,{});JsonCookies.addMethods({set:function($super,b,c,d){switch(typeof c){case"undefined":case"function":case"unknown":throw"Invalid value type";break;case"boolean":case"string":case"number":c=String(c.toString());break}$super(b,Object.toJSON(c),d)},get:function($super,b){var c=$super(b);return(c)?c.evalJSON():false}});var PersistentObject=Class.create({id:null,initialize:function(b){this.store=new JsonCookies();this.id=b;this.load()},load:function(){var b=this.store.get(this.id);if(b){$H(b).each(function(c){this[c.key]=c.value}.bind(this))}},save:function(){var b={};$H(this).each(function(c){if(typeof c.key!="function"&&["id","store"].indexOf(c.key)==-1){b[c.key]=c.value}});this.store.set(this.id,b)},"delete":function(){this.store.clear(this.id)}});var Article_Escape={wiki_escape:function(b){b=b.replace(/ /g,"_");b=escape(b);return b},wiki_unescape:function(b){b=unescape(b);b=b.replace(/_/g," ");return b}};var WIKIZZLE={"3rd_party":{},api:{},toolbar_actions:{},wiki2xml:{},util:{prototype:{}},"interface":{synhi:{}}};String.prototype.namespace=function(c,b,d){return Object.extend(this.split(d||".").inject((b||window),function(e,f){return(e[f]=e[f]||{})}),c||{})};"WIKIZZLE.this_install".namespace({dir:"wikiz",buildtime:"1253884985",version:"0.5",svn_revision:/\d+/.exec("svn-$Revision: 494 $")[0]});"WIKIZZLE.mw_install".namespace({api:"http://wikizzle.org/wiki/api.php",version:"1.14.0",dir:"wiki",db_name:"",mainpage:"Main Page",sitename:"Wikizzle project",logo:"skins/wikizzle-artwork/logo-fs8.png",rightsicon:"skins/wikiwyg-artwork/project-icon.png"});Date.prototype.mediawiki_format=function date_as_mediawiki_format(){function b(c){if(c<10){return"0"+c.toString()}else{return c.toString()}}return this.getFullYear().toString()+b(this.getUTCMonth()+1)+b(this.getUTCDate())+b(this.getUTCHours())+b(this.getUTCMinutes())+b(this.getUTCSeconds())};function MediaWiki_Api(b){this.api_action=b}MediaWiki_Api.prototype.api_call=function(b,c){if(!b.action&&this.api_action){b.action=this.api_action}c=c.bind(this);b.format="json";XMLHttpRequest.send_url_encoded_post(b,WIKIZZLE.mw_install.api,c)};var url_utils=new function Url_Utils(){this.encode_url_vars=function(e,d){if(!e||e.length==0){return""}var f=[];if(d){for(var c in e){if(!e.hasOwnProperty(c)){continue}f.push(c+"="+encodeURIComponent(e[c]))}}else{for(var c in e){if(!e.hasOwnProperty(c)){continue}f.push(c+"="+e[c])}}return f.join("&")};this.url_params_string=function(e,c){var d=url_utils.encode_url_vars(e,c);if(!d){return""}else{return"?"+d}};this.parse_url=function(c){};this.url_domain=function(c){var e=c.indexOf("//");var d=c.indexOf("/",e+2);if(d==-1){d=c.length}return c.substring(e+2,d)};this.current_domain_name=function(){return url_utils.url_domain(document.URL)};this.url_arguments=function(c){if(!c){c=document.URL}var e=c.indexOf("#");if(e!=-1){c=c.substring(0,e)}var g={};var m=c.indexOf("?");if(m==-1){m=c.length}var h=c.substring(m+1).split("&");for(var f=0;f<h.length;f++){var n=h[f];if(!n){continue}var d=n.indexOf("=");if(d==-1){g[n]=1;continue}var l=n.substring(0,d);var o=n.substring(d+1);g[l]=o}return g};this.get_var=function b(c,e){if(!e){e=c;c=document.URL}var d=url_utils.url_arguments(c);return d[e]}};function $GET(b){return url_utils.get_var(b)}Function.composite=function make_composite_function(){var b=$A(arguments);var c=(function(){var e=true,d=arguments;b.each(function(f){if(!f){return}if(false===f.apply(this,d)){e=false}},this);return e});c.add=function(e){var d=b.length;b.push(e);return d};c.toString=function(){return"[Composite functino:"+b.length+" component(s)]"};c.remove=function(d){b[d]=null};return c};var CHARSET_TREE={name:"Charsets",sub:[{name:"European Alphabets",sub:[{name:"Armenian",sub:[{range:"0530-058F"},{name:"+ Ligatures",nonspecific:true,range:"FB00-FB4F"}]},{name:"Coptic",sub:[{range:"2C80-2CFF"},{name:"+ in Greek block",nonspecific:true,range:"0370-03FF"}]},{name:"Cyrillic",sub:[{range:"0400-04FF"},{name:"+ Supplement",range:"0500-052F"}]},{name:"Georgian",sub:[{range:"10A0-10FF"},{name:"+ Supplement",range:"2D00-2D2F"}]},{name:"Greek",sub:[{range:"0370-03FF"},{name:"+ Extended",range:"1F00-1FFF"},]},{name:"Latin",sub:[{name:"Basic Latin",range:"0000-007F"},{name:"+-1",range:"0800-00FF"},{name:"+ Extended A",range:"0100-017F"},{name:"+ Extended B",range:"0188-024F"},{name:"+ Extended C",range:"",unicode_ver:"5.0"},{name:"+ Extended Additional",range:"1E00-1EFF"},{name:"+ Ligatures",nonspecific:true,range:"FB00-FB4F"},{name:"Fullwidth Latin Letters",nonspecific:true,range:"FF00-FFEF"},{name:"Small Forms",range:"FE50-FE6F"},]},]},{name:"African Scripts",sub:[{name:"Ethiopic",sub:[{range:"1200-137F"},{name:"+ Supplement",range:"1380-139F"},{name:"+ Extended",range:"2D80-2DDF"}]},{name:"Other",sub:[{name:"N'Ko",range:"",unicode_ver:"5.0"},{name:"Tifinagh",range:"2D30-2D7F"}]},]},{name:"Middle Eastern Scripts",sub:[{name:"Arabic",sub:[{range:"0600-06FF"},{name:"+ Supplement",range:"0750-077F"},{name:"+ Presentation Forms A",range:"FB50-FDFF"},{name:"+ Presentation Forms B",range:"FE70-FEFF"},]},{name:"Hebrew",sub:[{range:"0590-05FF"},{name:"+ Presentation Forms",range:"FB00-FB4F"}]},{name:"Other Middle Eastern Scripts",sub:[{name:"Syriac",range:"0700-074F"},{name:" Thaana",range:"0780-07BF"},]},]},{name:"American scripts",sub:[{name:"Canadian Symbolics",range:"1400-167F"},{name:"Cherokee",range:"13A0-13FF"},{name:"Deseret",range:"10400-1044F"},]},{name:"Other scripts",weight:1,sub:[{name:"Shavian",range:"10450-1047F"},{name:"Osmanya",range:"10480-104AF"},{name:"Glagolitic",range:"2C00-2C5F"},]},{name:"Indic Scripts",sub:[{name:"Bengali",range:"0980-09FF"},{name:"Devanagari",range:"0900-097F"},{name:"Gujarati",range:"0A80-0AFF"},{name:"Gurmukhi",range:"0A00-0A7F"},{name:"Kannada",range:"0C80-0CFF"},{name:"Limbu",range:"1900-194F"},{name:"Malayalam",range:"0D00-0D7F"},{name:"Oriya",range:"0B00-0B7F"},{name:"Sinhala",range:"0D80-0DFF"},{name:"Syloti Nagri",range:"A800-A82F"},{name:"Tamil",range:"0B80-0BFF"},{name:"Telugu",range:"0C00-0C7F"},]},{name:"Philippine Scripts",sub:[{name:"Buhid",range:"1740-175F"},{name:"Hanunoo",range:"1720-173F"},{name:"Tagalog",range:"1700-171F"},{name:"Tagbanwa",range:"1760-177F"},]},{name:"South East Asian",sub:[{name:"Buginese",range:"1A00-1A1F"},{name:"Balinese",unicode_ver:"5.0",range:""},{name:"Khmer",range:"1780-17FF"},{name:"Lao",range:"0E80-0EFF"},{name:"Myanmar",range:"1000-109F"},{name:"New Tai Lue",range:"1980-19DF"},{name:"Tai Le",range:"1950-197F"},{name:"Thai",range:"0E00-0E7F"},]},{name:"East Asian Scripts",sub:[{name:"Han Ideographs",sub:[{name:"Unified CJK Ideographs",range:"04E00-9FBF"},{name:"CJK Ideographs Ext. A",range:"3400-4DBF"},{name:"CJK Ideographs Ext. B",range:"20000-2A6DF"},{name:"Compatability Ideographs",range:"F900-FAFF"},{name:"Compatability Ideo. Suppl.",range:"2F800-2FA1F"},{name:"Kanbun",range:"3190-319F"},]},{name:"Radicals and Strokes",sub:[{name:"CJK Radicals",range:"2E80-2EFF"},{name:"KangXi Radicals",range:"2F00-2FDF"},{name:"CJK Strokes",range:"31C0-31EF"},{name:"Ideographic Description",range:"2FF0-2FFF"},]},{name:"Chinese-specific",sub:[{name:"CJK Bopomofo",range:"3100-312F"}]},{name:"Japanese-specific",sub:[{name:"Hiragana",range:"3040-309F"},{name:"Katakana",range:"30A0-30FF"},{name:"Katakana Phonetic Ext.",range:"31F0-31FF"},{name:"Halfwidth Katakana",nonspecific:true,range:"FF00-FFEF"},]},{name:"Korean-specific",sub:[{name:"Hangul Syllables",range:"AC00-D7AF"},{name:"Hangul Jamo",range:"1100-11FF"},{name:"Hangul Compatability Jamo",range:"3130-318F"},{name:"Halfwidth Jamo",nonspecific:true,range:"FF00-FFEF"},]},{name:"Yi",sub:[{name:"+",range:"A000-A48F"},{name:"+ Radicals",range:"A490-A4CF"},]},]},{name:"Central Asian Scripts",sub:[{name:"Kharoshti",range:"10A00-10A5F"},{name:"Mongolian",range:"1800-18AF"},{name:"Phags-Pa",unicode_ver:"5.0",range:""},{name:"Tibetan",range:"0F00-0FFF"}]},{name:"Aincient Scripts",weight:2,sub:[{name:"Aincient Greek",sub:[{name:"+ Numerals",range:"10140-1018F"},{name:"+ Musical",range:"1D200-1D24F"},]},{name:"Cuneiform",sub:[{name:"+",unicode_ver:"5.0",range:""},{name:"+ Numbers",unicode_ver:"5.0",range:""},{name:"Old Persian",range:"103A0-103DF"},{name:"Ugaritic",range:"10380-1039F"},]},{name:"Linear B",sub:[{name:"+ Syllabary",range:"10000-1007F"},{name:"+ Ideograms",range:"10080-100FF"},]},{name:"Other +",sub:[{name:"Aegean Numbers",range:"10100-1013F"},{name:"Counting Rod Numbers",unicode_ver:"5.0",range:""},{name:"Cypriot Syllabary",range:"10800-1083F"},{name:"Gothic",range:"10330-1034F"},{name:"Old Italic",range:"10300-1032F"},{name:"Ogham",range:"1680-169F"},{name:"Runic",range:"16A0-16FF"},{name:"Phoenician",unicode_ver:"5.0",range:""},]},]},{name:"Punctuation",weight:8,sub:[{name:"General Punctuation",sub:[{name:"ASCII Punctuation",nonspecific:true,range:"0000-007F"},{name:"Latin-1 Punctuation",nonspecific:true,range:"0080-00FF"},{name:"+",range:"2000-206F"},{name:"Supplemental Punctuation",range:"2E00-2E7F"},]},{name:"CJK Punctuation",sub:[{name:"+",range:"3000-303F"},{name:"Fullwidth ASCII Punctuation",nonspecific:true,range:"FF00-FFEF"},{name:"Vertical Forms",range:"FE10-FE1F"}]},]},{name:"Enclosed and Square",weight:10,sub:[{name:"Enclosed Alphanumerics",range:"2460-24FF"},{name:"CJK Letters and Months",range:"3200-32FF"},{name:"CJK Compatability",range:"3300-33FF"},]},{name:"Combining Diacritical Marks",weight:9,sub:[{name:"+",range:"0300-036F"},{name:"+ for Symbols",range:"20D0-20FF"},{name:"+ Supplement",range:"1DC0-1DFF"},{name:"Combining Half Marks",range:"FE20-FE2F"},]},{name:"Phonetic Symbols",weight:6,sub:[{name:"IPA Extentions",range:"0250-02AF"},{name:"Phonetic Extentions",range:"1D00-1D7F"},{name:"Phonetic Extentions Supplement",range:"1D80-1DBF"},{name:"Modifier Tone Letters",range:"A700-A71F"},{name:"Spacing Modifier Letters",range:"02B0-02FF"},]},{name:"Mathematical Symbols",weight:7,sub:[{name:"Numbers and Digits",sub:[{name:"ASCII Digits",nonspecific:true,range:"0000-007F"},{name:"Fullwidth ASCII Digits",nonspecific:true,range:"FF00-FFEF"},{name:"Number Forms",range:"2150-218F"},{name:"Super and Subscripts",range:"2070-209F"},]},{name:"Letterlike Symbols",sub:[{name:"+",range:"2100-214F"},{name:"Math Alphanumeric Synbols",range:"1D400-1D7FF"},]},{name:"Arrows and Operators",sub:[{name:"Arrows",range:"2190-21FF"},{name:"Mathematical Operators",range:"2200-22FF"},{name:"Suppl. Math Operators",range:"2A00-2AFF"},{name:"Misc. Math Symbols A",range:"27C0-27EF"},{name:"Misc. Math Symbols B",range:"2980-29FF"},{name:"Supplemental Arrows A",range:"27F0-27FF"},{name:"Supplemental Arrows B",range:"2900-297F"},{name:"Misc. Symbols and Arrows",range:"2B00-2BFF"},]},{name:"Geometrical Symbols",sub:[{name:"Geometrical Shapes",range:"25A0-25FF"},{name:"Box Drawing",range:"2500-257F"},{name:"Block Elements",range:"2580-259F"},]},{name:"Technical Symbols",sub:[{name:"Control Pictures",range:"2400-243F"},{name:"Miscellaneous Technical",range:"2300-23FF"},{name:"OCR",range:"2440-245F"},]},]},{name:"Symbols",weight:5,sub:[{name:"Miscellaneous Symbols",sub:[{name:"Dingbats",range:"2700-27BF"},{name:"+",range:"2600-26FF"},{name:"Tai Xuan Jing Symbols",range:"1D300-1D35F"},{name:"Yijing Hexagrams",range:"4DC0-4DFF"},{name:"Braille Patterns",range:"2800-28FF"},]},{name:"Musical Notation",sub:[{name:"Ancient Greek Musical",range:"1D200-1D24F"},{name:"Byzantine Musical Symbols",range:"1D000-1D0FF"},{name:"Western Musical Symbols",range:"1D100-1D1FF"},]},{name:"Currency Symbols",sub:[{name:"Dollor Sign",nonspecific:true,range:"0000-007F"},{name:"Yen, Pound and Cent",nonspecific:true,range:"0080-00FF"},{name:"Currency Symbols",range:"20A0-20CF"},{name:"Fullwidth Currency Symbols",nonspecific:true,range:"FF00-FFEF"},{name:"Mark",nonspecific:true,range:"2100-214F"},{name:"Pfennig",nonspecific:true,range:"20A0-20CF"},{name:"Rial Sign",nonspecific:true,range:"FB50-FDFF"},]}]}]};CHARSET_TREE.sub.sort(cmp_charsets);function cmp_charsets(d,c){if(!d.weight){d.weight=0}if(!c.weight){c.weight=0}if(d.weight==c.weight){if(c.name>d.name){return -1}else{return 1}}else{if(c.weight>d.weight){return -1}else{return 1}}}var continable_tags=["bold","italic","code","tt","b","u","i","small","strike","center","h1","h2","h3","h4","h5","h6","font","line","char-ref","signature","toc-placeholder","force-toc","no-toc"];function is_spannable(b,c){return b.tag_name!="line"}function Correct_Context(){this.curr_open={}}function correct(b,c){correct_errors(b,c)}function correct_errors(b,c){var d=b.select("syntax-error")}function correct_xhtml(c,b){}function correct_wiki_syntax(c,b){}function correct_link(c,b){}function correct_html_table(c,b){}Function.empty=function empty(){};Function.alwaysReturn=function(b){return(function(){return b})};Function.has=function(b){return(function(c){for(k in b){if(c[k]!=b[k]){return false}}return true})};Function.prototype.wrap=Function.prototype.wrap.wrap(function(d,e){var b=this;var c=d(e);c.unwrap=function(){return b};return c});Function.prototype.trace=function(){var b=[];var c=this;while(c){b.push(c.signature());c=c.caller}return b};Function.prototype.signature=function(){var c={"function":this,name:this.getName(),params:[],toString:function(){var d=this.params.length>0?"'"+this.params.join("', '")+"'":"";return this.name+"("+d+")"}};if(this.arguments){for(var b=0;b<this.arguments.length;b++){c.params.push(this.arguments[b])}}return c};Function.prototype.getName=function(){if(this.name){return this.name}var b=this.toString().split("\n")[0];var c=/^function ([^\s(]+).+/;if(c.test(b)){return b.split("\n")[0].replace(c,"$1")||"anonymous"}return"anonymous"};var CHAR_ENTITIES={nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,agrave:192,aacute:193,acirc:194,atilde:195,auml:196,aring:197,aelig:198,ccedil:199,egrave:200,eacute:201,ecirc:202,euml:203,igrave:204,iacute:205,icirc:206,iuml:207,eth:208,ntilde:209,ograve:210,oacute:211,ocirc:212,otilde:213,ouml:214,times:215,oslash:216,ugrave:217,uacute:218,ucirc:219,uuml:220,yacute:221,thorn:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,lt:60,gt:62,amp:38,apos:39,quot:34,oelig:338,oelig:339,scaron:352,scaron:353,yuml:376,circ:710,tilde:732,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,dagger:8225,permil:8240,lsaquo:8249,rsaquo:8250,euro:8364,fnof:402,alpha:913,beta:914,gamma:915,delta:916,epsilon:917,zeta:918,eta:919,theta:920,iota:921,kappa:922,lambda:923,mu:924,nu:925,xi:926,omicron:927,pi:928,rho:929,sigma:931,tau:932,upsilon:933,phi:934,chi:935,psi:936,omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,bull:8226,hellip:8230,prime:8242,prime:8243,oline:8254,frasl:8260,weierp:8472,image:8465,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,larr:8656,uarr:8657,rarr:8658,darr:8659,harr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};var REVERSE_CHAR_ENTITIES={};for(var _name in CHAR_ENTITIES){REVERSE_CHAR_ENTITIES[CHAR_ENTITIES[_name]]=_name}if(!console){var console={},emptyF=Function.empty;$w("log debug info warn error assert dir dirxml trace group groupEnd time timeEnd profile profileEnd count").each(function(b){console[b]=emptyF})}var interface_strings={mainpage:"Main Page",portal:"-",portal:"Community portal",help:"Help",navigation:"Navigation",currentevents:"-",currentevents:"Current events",help:"Help",search:"Search",go:"Go",history:"Page history",edit:"Edit",personaltools:"Personal tools",addsection:"+",talk:"Discussion",lastmodified:"This page was last modified $1.",go:"Go",toc:"Table of contents","nstab-main":"Article",summary:"Summary",editing:"Editing $1",recentchanges:"Recent changes",randompage:"Random page"};Function.prototype.onetime=function(){var b=this;return function(){var c=b.apply(this,arguments);b=function(){};return c}};var Singleton={create:function(){return this._create(arguments,true)},_create:function(f,e,d){var c=Class.create.apply(Class,f),b;c=Class.create(c,{initialize:function($super){if(b){throw ("cannot create another - this is a singleton")}$super()}});if(d){c.get=function(){b=new c();c.get=function(){return b};return b}}else{b=new c();if(e){c.get=function(){return b}}}return c}};var LazySingleton={create:function(){return Singleton._create(arguments,true,true)}};var IsolatedSingleton={create:function(){return Singleton._create(arguments,false,false)}};var FADE_MIXIN_FACTORY={make:function(f,e,c){var d,b;f=f||{};e=e||{};f.afterFinish=(f.afterFinish||function(){}).wrap(function(g){g();b=null});e.afterFinish=(e.afterFinish||function(){}).wrap(function(g){g();d=null});return{appear:function(){if(d){return}if(b){b.cancel();b=null}f.owner=this;d=new Effect.Appear(c||this.toElement(),f)},fade:function(){if(b){return}if(d){d.cancel();d=null}e.owner=this;b=new Effect.Fade(c||this.toElement(),e)}}}};Array.prototype.apply=function(b){var c=this.clone(),d=this.first();c.shift();return d.apply(b,c)};function print_r(f){if(!f){f=this}if(this.constructor==Array){var e="[\n"}else{var e="{\n"}for(var d in f){if(!f.hasOwnProperty(d)){continue}var c=f[d];if(c==null){c="null"}else{if(Function==c.constructor){var b=c.name||"anon";c="function "+b}else{if(Array==c.constructor||Object==c.constructor){c=print_r(c)}else{c=c.toString()}}}e+="    "+d+"\t:"+c+"\n"}if(this.constructor==Array){e+="]\n"}else{e+="}\n"}return e}function set_cookie(d,f,b,h,e,g){if(arguments.length==1){var m=arguments[0];set_cookie(m.name,m.value,m.expires,m.path,m.domain,m.secure);return}if(!h){h="/"}var l=(d+"="+f);if(b){if(b=="day"){b=new Date(new Date().getTime()+1000*60*60*24)}if(b=="month"){b=new Date(new Date().getTime()+1000*60*60*24*31)}l+=("; expires="+b.toGMTString())}if(h){l+=("; path="+h)}if(e){l+=("; domain="+e)}if(g){l+=("; secure")}document.cookie=l}function set_cookies(){$A(arguments).each(set_cookie)}function clear_cookie(){var b=new Date(1);$A(arguments).each(function(c){set_cookie(c,"(fake value)",b)})}function cookie_map(){var e={};var f=document.cookie;f=f.split("; ");for(var d=0;d<f.length;d++){var c=f[d];var b=c.split("=");e[b[0]]=b[1]}return e}function get_cookie_now(b){var c=cookie_map();return c[b]}var INITIAL_COOKIES=cookie_map();function get_cookie(b){return INITIAL_COOKIES[b]}function db_cookie_name(b){if(WIKIZZLE.mw_install.db_name){return WIKIZZLE.mw_install.db_name+b}else{return"wikidb_"+b}}function get_db_cookie(b){return get_cookie(db_cookie_name(b))}function get_db_cookie_now(b){return get_cookie_now(db_cookie_name(b))}function set_db_cookie(d,f,b,h,e,g){if(arguments.length==1){var l=arguments[0];set_cookie(db_cookie_name(l.name),l.value,l.expires,l.path,l.domain,l.secure);return}set_cookie(db_cookie_name(d),f,b,h,e,g)}function clear_db_cookie(){var b=$A(arguments).collect(db_cookie_name);clear_cookie.apply(window,b)}WIKIZZLE["interface"].KEYBOARD_SHORTCUT_MIXIN={add_shortcut:function(c,l,e){if(!("shortcuts" in this)){this.shortcuts={}}var h={type:"keydown",propagate:false,disable_in_input:false,target:this.shortcut_target?this.shortcut_target():this.toElement(),keycode:false};if(!e){e=h}else{for(var b in h){if(typeof e[b]=="undefined"){e[b]=h[b]}}}var g=e.target;if(typeof e.target=="string"){g=document.getElementById(e.target)}var d=this;c=c.toLowerCase();var f=function(r){r=r||window.event;if(e.disable_in_input){var n;if(r.target){n=r.target}else{if(r.srcElement){n=r.srcElement}}if(n.nodeType==3){n=n.parentNode}if(n.tagName=="INPUT"||n.tagName=="TEXTAREA"){return}}if(r.keyCode){code=r.keyCode}else{if(r.which){code=r.which}}var q=String.fromCharCode(code).toLowerCase();if(code==188){q=","}if(code==190){q="."}var v=c.split("+");var u=0;var s={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"};var o={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123};var t={shift:{wanted:false,pressed:false},ctrl:{wanted:false,pressed:false},alt:{wanted:false,pressed:false},meta:{wanted:false,pressed:false}};if(r.ctrlKey){t.ctrl.pressed=true}if(r.shiftKey){t.shift.pressed=true}if(r.altKey){t.alt.pressed=true}if(r.metaKey){t.meta.pressed=true}for(var m=0;k=v[m],m<v.length;m++){if(k=="ctrl"||k=="control"){u++;t.ctrl.wanted=true}else{if(k=="shift"){u++;t.shift.wanted=true}else{if(k=="alt"){u++;t.alt.wanted=true}else{if(k=="meta"){u++;t.meta.wanted=true}else{if(k.length>1){if(o[k]==code){u++}}else{if(e.keycode){if(e.keycode==code){u++}}else{if(q==k){u++}else{if(s[q]&&r.shiftKey){q=s[q];if(q==k){u++}}}}}}}}}}if(u==v.length&&t.ctrl.pressed==t.ctrl.wanted&&t.shift.pressed==t.shift.wanted&&t.alt.pressed==t.alt.wanted&&t.meta.pressed==t.meta.wanted){try{l(r)}catch(r){console.log("error in shortcut callback",r)}if(!e.propagate){r.cancelBubble=true;r.returnValue=false;if(r.stopPropagation){r.stopPropagation();r.preventDefault()}return false}}};this.shortcuts[c]={callback:f,target:g,event:e.type};if(g.addEventListener){g.addEventListener(e.type,f,false)}else{if(g.attachEvent){g.attachEvent("on"+e.type,f)}else{g["on"+e.type]=f}}},remove_shortcut:function(b){b=b.toLowerCase();var e=this.shortcuts[b];delete (this.shortcuts[b]);if(!e){return}var c=e.event;var d=e.target;var f=e.callback;if(d.detachEvent){d.detachEvent("on"+c,f)}else{if(d.removeEventListener){d.removeEventListener(c,f,false)}else{d["on"+c]=false}}}};var Listener_Mixin={listento:function(e,d){var c,b;for(b=0;b<arguments.length;b+=2){e=arguments[b];d=arguments[b+1];c=e.startNotifying(d,this)}return c},waitfor:function(c,b){return c.when(b,this)}};var Notifier_Mixin={delegateCirculation:function(d,b){console.log("event_name_map is:",b);var c={};$H(b).each(function(e){c[e.key]=function(){console.log("delegating now");var f=$A(arguments);f.unshift(e.value);console.log("delegating notification of",e.name,"to",d,".circulate with arguments",arguments);d.circulate.apply(d,arguments)}});console.log("delegation object is:",c);this.startNotifying(c,d);console.log("should now be delegating",this)},startNotifying:function(c,e){if(!e){e=this}var b={};$H(c).each(function(f){b[f.key]=d.call(this,f.key,f.value)},this);return b;function d(n,l){if(l==Function.empty){return}try{var f=l.bind(e);if(n=="mousewheelup"||n=="mousewheeldown"){function o(q){if(q.wheelDelta){delta=q.wheelDelta/120;if(window.opera){delta=-delta}}else{if(q.detail){delta=-q.detail/3}}if(n=="mousewheelup"&&delta>0){f(q)}else{if(n=="mousewheeldown"&&delta<0){f(q)}}if(q.preventDefault){q.preventDefault()}return false}if(window.addEventListener){this.addEventListener("DOMMouseScroll",o,false)}else{this.listen({mousewheel:o})}return}var h=this["on"+n];if(!h){this["on"+n]=Function.composite(f);return 0}else{if(h.add){return h.add(f)}else{this["on"+n]=Function.composite(h,f);return 1}}}catch(m){console.error(m+":\n  error while trying to add "+(l?"function '"+(l.name||l)+"'":"undefined")+" to listen to "+n+" on "+this+", bound to "+e);var g=(function(){return})();g()}}},stopNotifying:function(b){$H(b).each(function(d){if(d.value==="*"){this["on"+d.key]=null}var c=this["on"+d.key];c.remove(d.value)},this)},circulate:function(d){var c=this["on"+d];var b=$A(arguments);b.shift();b=b||[{}];if(c){c.apply(this,b)}var e={};e[d]=1;this._circulated=Object.extend(this._circulated||{},e);return this},circulate_defered:function(b){this.circulate.bind(this).defer(b);return this},hasCirculated:function(b){return this._circulated&&this._circulated[b]},when:function(b,c){if(!c){c=this}$H(b).each(function(e){if(this.hasCirculated(e.key)){e.value.bind(c,this)()}else{var d={};d[e.key]=e.value.onetime();this.startNotifying(d,c)}},this)},listenersToConsole:function(){Object.keys(this).each(function(b){if(b.substring(0,2)=="on"){var c=this[b];if(c.toConsole){console.log(b,":");c.toConsole()}else{console.log(b,":",c)}}},this)}};Object.extend(Node.prototype,Notifier_Mixin);Object.extend(window,Notifier_Mixin);var Lightbox=LazySingleton.create({show:function(){if($("lightbox")){return}var c=document.body;c.insert(["#lightbox",{style:{width:window.innerWidth+"px",height:window.innerHeight+"px",display:"none"}}]);$("lightbox").appear({from:0,to:0.7})},hide:function(){$("lightbox").fade({from:0.7,to:0,afterFinish:function(){$("lightbox").remove()}})}});(function(){function b(g,d){for(var f in d){if(f=="jsonml-ng:listen"){g.listen(d[f])}else{if(f.toLowerCase()==="style"){if(typeof d[f]==="object"){for(var l in d[f]){g.style[l]=d[f][l]}}else{if("undefined"!==typeof g.style.cssText){g.style.cssText=d[f]}else{g.style=d[f]}}}else{if(f.toLowerCase()==="class"){g.className=g.className+" "+d[f]}else{try{g.setAttribute(f,d[f])}catch(h){console.log(h,"when setting attribute ",f," to ",d[f],"the attrs I have are ",d.toJSON());console.trace();throw h}}}}}}function c(g){var f;if(g[0].constructor===String){var d=g[0];if(d.toLowerCase()=="script"){throw ("creating of <scripts> not allowed!")}try{var l=document.createElement(d)}catch(m){console.log("couldn't create element with tagname '"+d+"' -- ilegal name?jml var is "+g);var h=(function(){return})();h()}f=1}else{l=document.createDocumentFragment();f=0}for(;f<g.length;f++){var n=g[f];if(n instanceof Node||n.toElement||n.toNode){l.insert(n)}else{if(typeof(n)==="object"){b(l,n)}}}return l}Object.extend(Array.prototype,{toElement:function(d){var e=c;e=e.wrap(function(h,g){function f(l){g[0]="input";g.push({type:l})}switch(g[0]){case"checkbox":f("checkbox");break;case"text-input":f("text");break}return h(g)});e=e.wrap(function(m,l){if(!Object.isString(l[0])){return m(l)}var n=/(^[\w\d-_]+|\.[\w\d-]+|#[\w\d-]+)/g,h=l[0].match(n);if(!h){return m(l)}var o="div",q="",g=[],f={};h.each(function(r){switch(r.charAt(0)){case".":g.push(r.substr(1));break;case"#":q=r.substr(1);break;default:o=r;break}});if(q){f.id=q}if(g.length>0){f["class"]=g.join(" ")}l[0]=o;l.push(f);return m(l)});e=e.wrap(function(g,f){if(f.length==0){return document.createDocumentFragment()}else{return g(f)}});e=e.wrap(function(g,f){if(d){return d(g(f))}else{return g(f)}});return e(this)}});String.prototype.toElement=function(){return document.createTextNode(this)}})();var Abstract_Interface=Class.create(Listener_Mixin,Notifier_Mixin,{initialize:function(){this._tab_actions={raise:{},lower:{}};this._current_front_tab=""},toString:function(){return"[Abstract Interface]"},add_to_page:function(){throw ("abstract method not implemented")},get_selected_tab:function(){return this._current_front_tab},get_follow_link_decider:function(){return function b(){if("edit"==this._current_front_tab){return Edit.get().permission_to_stop()}else{return true}}.bind(this)}});var Language=Singleton.create({string:function(c,b){var d=interface_strings[c];return d||"("+c+")"}});function MediaWiki_Login_Api(){this.is_logged_in=function(){var b=this.get_userid();return !!b};this.get_username=function(){return get_db_cookie_now("UserName")};this.get_userid=function(){return get_db_cookie_now("UserID")};this.get_token=function(){return get_db_cookie_now("dbToken")};this.login=function(e,c,d){var b={lgname:e,lgpassword:c};this.api_call(b,function(g){var f=g.login;if("Success"==f.result){this.circulate("login",{api:this})}d(f.result)})};this.logout=function(){clear_db_cookie("Token","UserID","_session");var b=new Date();set_db_cookie({name:"LoggedOut",value:b.mediawiki_format(),expires:"day"});this.circulate("logout",{api:this})};this.toString=function(){return"MediaWiki_Login_Api instance"}}MediaWiki_Login_Api.prototype=new MediaWiki_Api("login");var mediawiki_login_api=new MediaWiki_Login_Api();Object.extend(MediaWiki_Login_Api.prototype,Notifier_Mixin);function Popdown_Interface(){}Object.extend(String.prototype,{toNode:function(){return document.createTextNode(this)}});Object.extend(Array.prototype,{toNode:function(){return this.toElement()}});Text.toXmlString=function(e,b,d){function c(f){return f.textContent.replace("\n","{nl}").replace("\xAO","{nb}")}if(b&&d>0){return"\u00a0\u00a0\u00a0\u00a0"+c(e)}else{return c(e)}};Object.extend(Text.prototype,{toXmlString:Text.toXmlString.methodize()});(function(){var b={ancestors:function(){if(this.parentNode){var c=Element.ancestors(this.parentNode);c.unshift(this.parentNode);return c}return[]},wrap:function(d,c){if(Object.isElement(d)){$(d).writeAttribute(c||{})}else{if(Object.isString(d)){d=new Element(d,c)}else{d=new Element("div",d)}}if(this.parentNode){this.parentNode.replaceChild(d,this)}d.appendChild(this);return d},remove:function(){this.parentNode.removeChild(this)}};Object.extend(Text.prototype,b)})();Node.prototype.path=function(b){var e=this.ancestors();e.unshift(this);if(b){var c=[this];for(var d=1;d<e.length;d++){c.push(e[d]);if(Node.ELEMENT_NODE===e[d].nodeType&&e[d].match(b)){break}}e=c}return e};Object.extend(Element,{is:function(b){return Object.isElement(b)},checkIs:function(c){if(!Object.isElement(c)){var b=(function(){return})();b();throw new Error("Element expected but got "+typeof c+" "+c+" "+c.toString())}}});Object.extend(Node,{is:function(b){return !!b.nodeType},checkIs:function(c){if(!c.nodeType){var b=(function(){return})();b();throw new Error("Node expected but got "+c.constructor.name+c)}}});var DOM_INSERT_MIXIN={_convert:function(b,c){if(c.toElement){return c.toElement()}if(c.toNode){return c.toNode()}return c},push:function(c,b){return c.insert({top:b})},insert:function(f,b){if(b===""){return}if(b instanceof Node||b.toElement||b.toNode){var d=f._convert(b);try{f.appendChild(d)}catch(c){console.log("could not add ",d," to ",f," conversion was from ",b);console.trace()}return f}for(pos in b){var g=f._convert(b[pos]);switch(pos){case"top":f.insertBefore(g,f.firstChild);break;case"bottom":f.appendChild(g);break;case"before":f.parentNode.insertBefore(g,f);break;case"after":throw"Element.insert {after:} not reimplemented";break;default:if(!isNaN(pos)){pos=parseInt(pos);if(pos>=0){f.insertBefore(g,f.childNodes[pos])}else{f.insertBefore(g,f.childNodes[f.childNodes.length+pos])}}break}}return f},insertAll:function(d,c){function b(f){var g=d.ownerDocument.createDocumentFragment();$A(f).each(function(h){h=d._convert(h);g.appendChild(h)});return g}if([Array,NodeList].include(c.constructor)){Element.insert(d,b(c));return d}var e={};if(a=c.top){e.top=b(a)}if(a=c.bottom){e.bottom=b(a)}if(a=c.before){e.before=b(a)}if(a=c.after){e.after=b(a)}return d.insert(e)}};Element.addMethods(DOM_INSERT_MIXIN);Object.extend(DocumentFragment.prototype,{insert:DOM_INSERT_MIXIN.insert.methodize(),insertAll:DOM_INSERT_MIXIN.insertAll.methodize(),_convert:DOM_INSERT_MIXIN._convert.methodize()});Element.addMethods({unwrap:function(b){b.insertAll({before:b.childNodes});b.remove()},wrapContents:function(c,d,b){c=$(c);if(Object.isElement(d)){$(d).writeAttribute(b||{})}else{if(Object.isString(d)){d=new Element(d,b)}else{d=new Element("div",d)}}c.insert(d.insertAll(c.childNodes));return d},setHasClass:function(c,b,d){if(d){Element.addClassName(c,b)}else{Element.removeClassName(c,b)}},toggleClass:function(c,b){Element.setHasClass(c,b,!Element.hasClassName(c,b))},getAllAttributes:function(b){var c={};$A(b.attributes).each(function(d){c[d.nodeName]=d.nodeValue});return c},toXmlString:function(h,e,g,d){var q="";if(!d){d=Function.alwaysReturn("")}var o=d.wrap(function f(x,y){var w=x(y);return w?" <!--"+w+"-->":""});var m=h.childNodes.length==0?new Template("<#{tagName}#{attributes}/>#{annotation}"):new Template("<#{tagName}#{attributes}>#{annotation}#{cr}#{content}</#{tagName}>");var v=new Template(' #{name}="#{value}"');var u=Element.getAllAttributes(h);var c="";for(name in u){if(!u.hasOwnProperty(name)){continue}var t=u[name];t=t.replace(/\"/g,'\\"');c+=v.evaluate({name:name,value:t})}var s=e;var n=(h.childNodes.length==1&&h.firstChild.nodeType==Node.TEXT_NODE);if(n){s=false}var l=$A(h.childNodes).collect(function(w){if(w.nodeType==Node.ELEMENT_NODE){return Element.toXmlString(w,s,g+1,d)}else{return Text.toXmlString(w,s,g+1,d)}});l=l.select(function(w){return w!=""});var r=e;if(n){r=false}var b=l.join((r?"\n":""));if(r){b+="\n"}var q=m.evaluate({tagName:h.tagName,attributes:c,content:b,annotation:o(h),cr:(r?"\n":"")});if(e&&g>0){q=q.replace(/(^)/gm,"\u00a0\u00a0\u00a0\u00a0")}return q},toIndentedXml:function(b){return Element.toXmlString(b,true,0)},selectXpath:function(d,b){var e=[];var c=d.ownerDocument.evaluate(b,d,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var f=c.iterateNext();f;f=c.iterateNext()){e.push(f)}return e},decendentNodes:function(b){return b.selectXpath("//*|//text()")},decendentNodesAndSelf:function(b){return b.selectXpath(".|//*|//text()")},makeEmpty:function(b){b.textContent="";return b},replaceWith:function(c,b){c.parentNode.replaceChild(b,c)},child_pos:function(d,f){var c=d.childNodes;for(var b=0,e=c.length;b<e;b++){if(c[b]===f){return b}}return -1}});var Wikizzle_URIs=Singleton.create({initialize:function(){"WIKIZZLE.this_install".namespace({domain:url_utils.current_domain_name()});var b=this._current_article_name();"WIKIZZLE.this_article".namespace({fullname:b,namespace:this.namespace(b)})},namespace:function(b){var c=b.split(":");return(c.length>1?c[0]:"")},internal_uri:function(c,d){var b=c.replace(/\s/g,"_");b+=url_utils.url_params_string(d);return"/"+WIKIZZLE.this_install.dir+"/"+b},article_uri:function(c,d){var b=c.replace(/\s/g,"_");b+=url_utils.url_params_string(d);return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.this_install.dir+"/"+b},test_uri:function(){return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.this_install.dir+"/utils/echo_recieved.php"},_current_article_name:function(){var g=url_utils.url_arguments.title;if(g){return g}var e=document.URL;var d=e.indexOf(WIKIZZLE.this_install.dir+"/")+WIKIZZLE.this_install.dir.length+1;var b=e.indexOf("?");if(b==-1){b=e.length}var h=e.indexOf("#");if(h==-1){h=e.length}var c=Math.min(h,b);if(d==c){return Language.get().string("mainpage")}else{var f=e.substring(d,c);return this.wiki_unescape(f)}}},Article_Escape);var Edit=Singleton.create(Listener_Mixin,Notifier_Mixin,{PREVIEW_REFRESH_WAIT:0.15,PREVIEW_REFRESH_WAIT_AFTER_EDIT:0.6,BUG_ME_NOT_DELAY:1.5,initialize:function(){this._cursor_wikixml=null;this._preview_dirty=false;this._article=null;this._current_section=null;this._wpSection=null;this._time_last_user_interaction=null;this._has_been_edited=false},start:function(c){this._current_section=c;if(this._current_section==undefined){this._wpSection=""}else{if(this._current_section=="new"){this._wpSection="new"}else{this._wpSection=section_numbers[this._current_section]}}this._time_last_user_interaction=0;this._has_been_edited=false;var d=$("bodyContent");var b=$("editpane");if("new"==c){this._article=new Article()}else{if(!c){this._article=Article.current}else{this._article=Article.current.subsection(c)}}EditPane.get().toElement().focus();$("previewlabel").style.display="block";b.style.display="block";d.addClassName("editpreview");position_for_editing();this._old_article_xhtml=$("article");if(this._article.get_text()==""){this.create_blank_preview("new"==c)}else{if(c){this._reparse_and_update_preview()}}this._preview_dirty=false;this.circulate("edit_start");this.update_preview_loop_start();reposition_in_a_while()},stop:function(){if(!this.permission_to_stop()){return false}var c=$("article");c.parentNode.replaceChild(this._old_article_xhtml,c);this._old_article_xhtml=null;this._current_section=null;var d=$("bodyContent");var b=$("editpane");this._article=null;this._selected_chunk.get_xhtml().removeClassName("selected");this._selected_chunk=null;this._subchunk.get_xhtml().removeClassName("subselect");this._subchunk=null;$("previewlabel").style.display="none";b.style.display="none";d.removeClassName("editpreview");unposition_from_editing();position_for_viewing();this.circulate("edit_end");return true},get_current_section:function(){return this._current_section},permission_to_stop:function(){if(!this._has_been_edited){return true}return window.confirm("This article has edits that haven't been saved. If you leave the editor now, these changes will be lost.\n\nAre you sure you wish to leave the editor?")},_get_section_name:function(b){var c="#"+b;return wiki_xml.select(c).first().textContent},get_section:function(b,c,d){if(!d){return{text:c,xml:b}}if(d=="new"){return{text:"",xml:["section"].toElement()}}return{text:c,xml:b}},user_interaction_just_happened:function(b){this._time_last_user_interaction=new Date().getTime()},text_changed:function(b){this._has_been_edited=true;this._preview_dirty=true;this.circulate("editpane_change",b)},cursor_moved:function(d){this.circulate("editpane_cursor_move",d);var b=EditPane.get().getCursorPos(),c=this._article.get_xml().drill_wikixml(b);if(c!==this._cursor_node){console.log("\nEdit circulating editpane_cursor_move_change_node, is now at",c,c.ancestors());this.circulate("editpane_cursor_move_change_node",d,c)}this._cursor_node=c},create_blank_preview:function(b){clear_catlinks();var c="A preview of "+(b?"your addition to this page":"the new page")+" will be shown here once you start typing.";var e=["#article.blank-preview",c].toElement();var d=$("article");d.parentNode.replaceChild(e,d)},add_new_section_header:function add_new_section_header(b){var c=$("editheader");var d;if(c.hasClassName("showing-instructions")){d="untitled new section"}else{d=c.value}b.children.insert({top:["heading",{level:2,id:"_new_section_id"}]})},_reparse_and_update_preview:function(){this.circulate("reparse_start");var c=this;b.delay(0.05);function b(){if(c._preview_move_effect){c._preview_move_effect.cancel()}c._article.set_text(EditPane.get().getText());new In_One_Parser(c._article);c.update_preview()}},update_preview:function(){b.delay(0.05);var c=this;function b(){c.circulate("preview_update_start");var e=as_XHTML(c._article.get_xml(),new Present_Context(true));var d=$("article");e.setAttribute("style",d.getAttribute("style"));d.parentNode.replaceChild(e,d);c._preview_dirty=false;c.circulate("preview_refreshed",{old_xhtml:d,new_xhtml:e})}},update_preview_loop_start:function(){var b=this;(function c(){if(b._article==null){return}var e=(new Date().getTime()-b._time_last_user_interaction)/1000;var d;if(b._preview_dirty&&e>b.BUG_ME_NOT_DELAY){b._reparse_and_update_preview();d=true}else{d=false}var f=(d?b.PREVIEW_REFRESH_WAIT_AFTER_EDIT:b.PREVIEW_REFRESH_WAIT);c.delay(f)})()},get_article:function(){return this._article}});Edit.is_editing=function(){return(Interface.get().get_selected_tab()=="edit")};function mk_table(){var d,g;var b=false,c=false,h=false;if(arguments.length==1){d=arguments[0]}else{g=arguments[0];d=arguments[1];b=g.thead;c=g.cols;h=g.cell_classes}var f=["table"].toElement();if(c){g.each(function(l){f.insert(["col",{"class":l}])})}var e=["tbody"].toElement();f.insert(e);d.each(function(l){var m=["tr"].toElement();e.insert(m);l.each(function(o){if(o.toElement){o.toElement()}var n=["td"].toElement();if(h){n.addClassName(g[j])}if(o.colspan){n.setAttribute("colspan",o.colspan)}if(o.rowspan){n.setAttribute("rowspan",o.rowspan)}if(o.content){o=o.content}m.insert(n);n.insert(o)})});return f}var Userscript_Interface=Class.create(Abstract_Interface,{});function New_Ac_Interface(){var e;function l(){var n,q;var r=[[["label",{"for":"wpName1"},"Username:"].toElement(),["input .loginText #wpName1",{type:"text",name:"wpName",tabindex:1}].toElement()],[["label",{"for":"wpPassword1"},"Password:"].toElement(),["input .loginText #wpPassword1",{type:"password",name:"wpPassword",tabindex:2}].toElement()],["",document.createDocumentFragment(n=["button #wpLoginattempt",{type:"submit",tabindex:"5"},"Log in"].toElement(),q=["button #wpLogincancel",{type:"submit",tabindex:"6"},"Cancel"].toElement())]];e=["div #login-outer",["div #userloginForm .popupbox",["form",["h2","Log in"],["p #userloginlink","Don't have a login? ",["a",{href:"javascript:new_ac_interface.show()"},"Create an account"],"."],mk_table(r)]]].toElement();n.startNotifying({click:function o(){login_interface.attempt_login();return false}});q.startNotifying({click:function m(){f();return false}});e.startNotifying({keypress:function(s){if(s.keyCode==s.DOM_VK_ESCAPE){f()}}})}l();function d(){e.down().style.top="-1000px";e.style.opacity=0.01;var n=$(n);n.insert(e);n.addClassName("showing-popup");var q=e.down().getHeight();e.down().style.top=(-q)+"px";var m=$("wpName1");var o=mediawiki_login_api.get_username();if(!m.value&&o){m.value=o}new Effect.Parallel([new Effect.Move($("userloginForm"),{y:q,mode:"relative"}),new Effect.Opacity(e,{from:0,to:1})],{afterFinish:function(){$("wpName1").focus()}})}function f(){$("p-personal").removeClassName("showing-popup");$$("#userloginForm input").each(function(o){alert(o);o.blur()});var n=e.down().getHeight();new Effect.Parallel([new Effect.Move(e.down(),{y:(-n),mode:"relative"}),new Effect.Opacity(e,{from:1,to:0})],{afterFinish:function m(){e.remove();e.style.opacity=""}})}this.toggle=function(){if(!$("p-personal").hasClassName("showing-popup")){d()}else{f()}};this.attempt_login=function(){var m=$("wpName1").value;var o=$("wpPassword1").value;var n=$("wpLoginattempt");n.setAttribute("disabled","disabled");mediawiki_login_api.login(m,o,q);function q(r){n.removeAttribute("disabled");if(r=="Success"){f();c()}else{g(r,m)}}};function c(){if(b){b.removeClassName("invalid")}if(h){h.remove()}}function g(n,m){c();if(n=="NoName"||n=="NotExists"||n=="Illegal"){var q="wpName1"}else{var q="wpPassword1"}b=$(q);b.addClassName("invalid");try{b.focus()}catch(r){}var o=g.error_messages[n]||("unknown error:"+n);o=o.replace("$1",m);h=["div.error-message",o].toElement();b.parentNode.appendChild(h)}g.error_messages={NoName:"You have not specified a valid user name.",Illegal:"You have not specified a valid user name.",NotExists:'There is no user by the name "$1". Check your spelling, or create a new account.',EmptyPass:"Password entered was blank. Please try again.",WrongPass:"Incorrect password entered. Please try again."};var b=null;var h=null}New_Ac_Interface.prototype=new Popdown_Interface();New_Ac_Interface.prototype.toString=function new_ac_interface_to_string(){return"new account interface"};var new_ac_interface=new New_Ac_Interface();function Login_Interface(){var e;function l(){var n,q;var r=[[["label",{"for":"wpName1"},"Username:"].toElement(),["input .loginText #wpName1",{type:"text",name:"wpName",tabindex:1}].toElement()],[["label",{"for":"wpPassword1"},"Password:"].toElement(),["input .loginText #wpPassword1",{type:"password",name:"wpPassword",tabindex:2}].toElement()],["",document.createDocumentFragment(n=["button #wpLoginattempt",{type:"submit",tabindex:"5"},"Log in"].toElement(),q=["button #wpLogincancel",{type:"submit",tabindex:"6"},"Cancel"].toElement())]];e=["#login-outer",["#userloginForm .popupbox",["form",["h2","Log in"],["p #userloginlink","Don't have a login? ",["a",{href:"javascript:new_ac_interface.show()"},"Create an account"],"."],mk_table(r)]]].toElement();n.startNotifying({click:function o(){login_interface.attempt_login();return false}});q.startNotifying({click:function m(){f();return false}});e.startNotifying({keypress:function(s){if(s.keyCode==s.DOM_VK_ESCAPE){f()}}})}l();function d(){e.down().style.top="-1000px";e.style.opacity=0.01;$("p-personal").insert(e);$("p-personal").addClassName("showing-popup");var o=e.down().getHeight();e.down().style.top=(-o)+"px";var m=$("wpName1");var n=mediawiki_login_api.get_username();if(!m.value&&n){m.value=n}new Effect.Parallel([new Effect.Move($("userloginForm"),{y:o,mode:"relative"}),new Effect.Opacity(e,{from:0,to:1})],{afterFinish:function(){$("wpName1").focus()}})}function f(){$("p-personal").removeClassName("showing-popup");$$("#userloginForm input").each(function(o){alert(o);o.blur()});var n=e.down().getHeight();new Effect.Parallel([new Effect.Move(e.down(),{y:(-n),mode:"relative"}),new Effect.Opacity(e,{from:1,to:0})],{afterFinish:function m(){if(e.parentNode){e.remove()}e.style.opacity=""}})}this.toggle=function(){if($("p-personal").hasClassName("showing-popup")){d()}else{f()}};this.attempt_login=function(){var m=$("wpName1").value;var o=$("wpPassword1").value;var n=$("wpLoginattempt");n.setAttribute("disabled","disabled");mediawiki_login_api.login(m,o,q);function q(r){n.removeAttribute("disabled");if(r=="Success"){f();c()}else{g(r,m)}}};function c(){if(b){b.removeClassName("invalid")}if(h){h.remove()}}function g(n,m){c();if(n=="NoName"||n=="NotExists"||n=="Illegal"){var q="wpName1"}else{var q="wpPassword1"}b=$(q);b.addClassName("invalid");try{b.focus()}catch(r){}var o=g.error_messages[n]||("unknown error:"+n);o=o.replace("$1",m);h=[".error-message",o].toElement();b.parentNode.appendChild(h)}g.error_messages={NoName:"You have not specified a valid user name.",Illegal:"You have not specified a valid user name.",NotExists:'There is no user by the name "$1". Check your spelling, or create a new account.',EmptyPass:"Password entered was blank. Please try again.",WrongPass:"Incorrect password entered. Please try again."};var b=null;var h=null}Login_Interface.prototype=new Popdown_Interface();Login_Interface.prototype.toString=function login_interface_to_string(){return"login interface"};var login_interface=new Login_Interface();var personal_menu=new (function Personal_Menu(){var c=["ul"].toElement();this.make_dom=function(){d();return["div #p-personal .portlet",["h5","Personal tools"],["div .pBody",c]].toElement()};function b(){if(mediawiki_login_api.is_logged_in()){var f=mediawiki_login_api.get_username();var e={userpage:"wikilink:User:"+f,mytalk:"wikilink:User_talk:"+f,preferences:"",watchlist:"",mycontris:"",logout:"javascript:mediawiki_login_api.logout()"};return Interface.get().make_interface_list_items(e,"pt")}else{return["li .pt-anonlogin #pt-anonlogin",["a",{href:"javascript:login_interface.toggle()",accesskey:"o"},"log in"]," / ",["a",{href:"javascript:new_ac_interface.toggle()"},"create account"]].toElement()}}function d(){c.makeEmpty();c.insert(b())}mediawiki_login_api.startNotifying({login:d,logout:d})})();function reposition(){if(Edit.is_editing()){position_for_editing()}else{position_for_viewing()}}window.startNotifying({resize:reposition});function reposition_in_a_while(){reposition.delay(0.5)}function position_for_editing(){var g=$("content");var h=$("innerContent");var c=$("bodyContent");var e=$("editpane");var d=EditPane.get().toElement();var m=$("footer");var f=$("editheader");var b=("new"==Edit.get().get_current_section());var n=6;if(b){f.style.display="block";$("add-edit-firstHeading").style.display="inline";$("norm-edit-firstHeading").style.display="none";$("globalWrapper").addClassName("new-section")}else{f.style.display="none";$("add-edit-firstHeading").style.display="none";$("norm-edit-firstHeading").style.display="inline";$("globalWrapper").removeClassName("new-section")}var l=get_window_height()-$("p-personal").getHeight()-$("p-cactions").getHeight()-$("footer").getHeight()-10;g.style.minHeight="";g.style.height=l+"px";set_editpane_preview_split(editpane_split);fix_editpane_width();m.addClassName("bottom-of-screen")}var editpane_split=0.5;function set_editpane_preview_split(c){editpane_split=c;if(Interface.get().get_selected_tab()!="edit"){return}var e=$("content").getHeight()-$("firstHeading").getHeight()-$("edit_split").getHeight()-12;var b=e*c-2;$("bodyContent").style.height=b+"px";var d=e*(1-c)-2;EditPane.get().toElement().style.height=d+"px"}function fix_editpane_width(){EditPane.get().toElement().clonePosition($("bodyContent"),{setLeft:0,setTop:0,setHeight:0})}function unposition_from_editing(){var d=$("content");var f=$("innerContent");var c=$("bodyContent");var b=$("editpane");var g=$("footer");var e=$("article");e.style.bottom="";d.style.minHeight="";d.style.height="";c.style.position="";c.style.bottom="";c.style.height="";b.style.height="";b.style.position="";b.style.top="";g.removeClassName("bottom-of-screen")}var _content_min_height=0;var _content_fills_screen=false;function position_for_viewing(){var b=$("content");_content_min_height=get_window_height()-$("p-personal").getHeight()-$("p-cactions").getHeight()-$("footer").getHeight()-10;b.style.height="";b.style.minHeight=_content_min_height+"px";_content_fills_screen=(b.getHeight()>_content_min_height);$("footer").setHasClass("bottom-of-screen",!_content_fills_screen)}function position_for_viewing_content_added(){if(_content_fills_screen){return}var b=$("content");_content_fills_screen=(b.clientHeight>_content_min_height);if(_content_fills_screen){$("footer").removeClassName("bottom-of-screen")}}var Medaiwiki_URIs=Singleton.create({initizlize:function(){},indexphp_url:function mediawiki_uris__(){return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.mw_install.dir+"/index.php"},raw_checkout_url:function(b){return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.mw_install.dir+"/index.php?title="+this.wiki_escape(b)+"&action=raw"},xml_checkout_url:function(b){return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.mw_install.dir+"/index.php/Special:Export/"+b},hacky_xml_checkout_url:function(b){return"http://"+WIKIZZLE.this_install.domain+"/"+WIKIZZLE.mw_install.dir+"/index.php/Special:Export/ "+b},image_url:function(d,c,b){return c?"/"+WIKIZZLE.mw_install.dir+"/images/thumb/"+b+"px-"+d:"/"+WIKIZZLE.mw_install.dir+"/images/"+d}},Article_Escape);Function.prototype.maxrate=function(c,g){var b=0;var e=this;var d=-1;return function(){var h=new Date().getTime();var m=b+c;if(h>m){b=h;return e.apply(this,arguments)}if(g&&d==-1){var l=this;var f=arguments;d=window.setTimeout(function(){var n=new Date().getTime();b=n;e.apply(l,f);d=-1},m-h)}}};Node.drill=function(f,l){if(l<0){l=0}else{if(l>f.textContent.length){l=f.textContent.length}}if(f.nodeType===Node.TEXT_NODE){return{node:f,offset:l}}if(f.childNodes.length==0&&l==0){return{node:f,offset:0}}var d=0;for(var c=0,h=f.childNodes.length;c<h;c++){var g=f.childNodes[c];var b=d;d=d+g.textContent.length;if(d>l||(d===l&&c==h-1)){return Node.drill(g,l-b)}}console.log("illegal state - went past all children of node",f,"looking for charpos",l,"length of the node is",f.textContent.length);var e=(function(){return})();e()};Node.drillOffset=function(b,c){if(c===b.childNodes.length){return Node.drill(b,b.textContent.length)}else{return Node.drill(b.childNodes[c],0)}};Object.extend(Node.prototype,{drill:Node.drill.methodize(),drill_wikixml:function(e){function d(f){return d.tagNames.include(f.tagName)}d.tagNames=$w("paragraph preformatted line cell-lines row table list item");if(e<0){return null}if(e>this.textContent.length){return null}if(this.tagName=="article"&&this.textContent.length==e){return this.select("line").last()}var c=b(this,e);return c;function b(m,r){if(!m.hasChildNodes()){return m}if(m.match("line[type=heading]")&&((m.childNodes.length===2&&m.lastChild.match("token[type=EOL]"))||m.childNodes.length===1)){return b(m.firstChild,r)}if(r==0){if(d(m.firstChild)){return b(m.firstChild,0)}else{return m}}var h=0;for(var g=0,q=m.childNodes.length;g<q;g++){var o=m.childNodes[g];var f=h;h=h+o.textContent.length;if(h==r){if(d(o)){continue}else{return m}}if(h>r){var l=r-f;if(l==0&&!d(o)){return o}else{return b(o,l)}}}return m}}});var EditPane=(function(){var d="move",c="edit",b="modified";return Class.create(Notifier_Mixin,Listener_Mixin,{key_type:function(f){var e=KeyboardEvent;switch(f){case e.DOM_VK_LEFT:case e.DOM_VK_RIGHT:case e.DOM_VK_DOWN:case e.DOM_VK_UP:case e.DOM_VK_PAGE_UP:case e.DOM_VK_PAGE_DOWN:case e.DOM_VK_HOME:case e.DOM_VK_END:return d;case e.DOM_VK_SHIFT:case e.DOM_VK_CONTROL:case e.DOM_VK_ALT:case e.DOM_VK_META:return b;default:return c}},keyup:function(f){var e=Edit.get();e.update_time_last_activity();switch(this.key_type(f.keyCode)){case d:e.circulate("editpane_cursor_move");break;case c:e.text_changed();break;case b:break}},mouse_clicked:function(f){var e=Edit.get();e.update_time_last_activity();if(f.keyCode!=2){e.circulate("editpane_cursor_move")}else{e.text_changed()}}})})();(function(){var b;EditPane.get=function(){if(b){return b}return b=new Editpane_Synhi()}})();var Article=Class.create(Notifier_Mixin,{initialize:function(e,g,c,f){this._name=e;this._text=g;this._last_modified=c;this._http_size=f;var b=this._xml_container=["article-container"].toElement(),d=this;window.startNotifying({load:function(){b.style.display="none";document.body.insert(b)}});$H({DOMNodeInserted:"xml_nodeinserted",DOMNodeRemoved:"xml_noderemoved",DOMAttrModified:"xml_onattrmodified",DOMCharacterDataModified:"xml_oncharacterdatamodified"}).each(function(h){b.addEventListener(h.key,function(l){d.circulate(h.value,l)},false)})},get_name:function(){return this._name},get_text:function(){return this._text},set_text:function(b){this._text=b;this.circulate("text_change");return this},set_xml:function(b){this._xml=b;this._xml_container.makeEmpty().insert(b);return this},get_xml:function(){return this._xml},get_xml_container:function(){return this._xml_container},subsection:function(b){if(!b){return this.clone()}return this.clone()},toString:function(){return'[Article "#{name}"]'.interpolate({name:this._name})},clone:function(){var b=new Article(this._name,this._text,this._last_modified,this._http_size);b._xml=this._xml?this._xml.cloneNode(true):null;console.log("cloning article ",this._name);console.trace();console.log("article xml is ",this._xml.toMapString(true));return b}});(function(){var b={};Article.fetch=function(c){var d=Medaiwiki_URIs.get().raw_checkout_url(c);var e=new Article(c);new Ajax.Request(d,{method:"get",onSuccess:function(f){(function(){b[c]="yes";e._text=f.responseText;e._last_modified=f.getResponseHeader("Last-Modified");e._http_size=f.getResponseHeader("Content-Length");e.circulate("loaded",this)}).defer()},onFailure:function(f){console.log("FAILED!");b[c]="no";e.circulate("load_failed",this)}});return e};Article.check_available=function(g,h){var f=g.down("namespace");if(f&&f.getAttribute("type")=="interwiki"){return}var e=g.textContent;if(b[e]){h(b[e]);return}function c(l){b[e]=l;h(l)}var d=new Ajax.Request(Medaiwiki_URIs.get().raw_checkout_url(e),{method:"head",onSuccess:c.curry("yes"),onFailure:c.curry("no")})}})();Article.current=Article.fetch(WIKIZZLE.this_article.fullname);function Present_Context(b){this.external_linkno=1;this.include_toc=b;this.toc_on_page=false;this.headings_in_toc=0;if(b){this.container_div=["#toc_inside_div"].toElement();this.toc=["#tocContainer",["table#toc",["tbody",["tr#toctitle",["td",["span.tocheading",Language.get().string("toc")],["span.toctoggle"," [",["a#showlink",{href:"javascript:toggle_toc();"},"show"],["a#hidelink",{href:"javascript:toggle_toc();"},"hide"],"] "]]],["tr#tocinside",["td",this.container_div]]]]].toElement()}}Present_Context.prototype.next_ext_linkno=function(){return this.external_linkno++};function presentFooter(){var e=$("f-list");var d=Language.get().string("lastmodified");var b=date_string(new Date(article_last_modified).getTime());d=d.replace("$1",b+" ago");e.insert(["li#f-lastmod",d]);var c=(article_raw_size/1024).toFixed(1)+"k of raw content was downloaded to make this page";e.insert(["li#f-size",c])}function date_string(o){var q=new Date().getTime()-o;q=Math.floor(q/1000);var c=3600;var d=c*24;var b=d*7;var e=d*30;var m=d*365;var r=[{max:600,name1:"minute",div1:60,name2:"second",div2:1,mod2:60},{max:c,name1:"minute",div1:60},{max:c*6,name1:"hour",div1:c,name2:"minute",div2:60,mod2:60},{max:d,name1:"hour",div1:c},{max:b,name1:"day",div1:d},{max:e,name1:"week",div1:b},{max:m,name1:"month",div1:e},{max:e*2,name1:"year",div1:m,name2:"month",div2:e,mod2:12},{max:Number.MAX_VALUE,name1:"year",div1:m}];for(var g=0;g<r.length;g++){var f=r[g];if(q<f.max){var l=Math.floor(q/f.div1);var n=l+" "+f.name1+(l==1?"":"s");if(f.name2){var h=Math.floor((q/f.div2)%f.mod2);if(h!=0){n+=", "+h+" "+f.name2+(h==1?"":"s")}}return n}}}function toggle_toc(){var b=$("toc");if(has_class(b,"hide")){b.removeClassName("hide")}else{b.addClassName("hide")}}var Interwiki_Map=Class.create({initialize:function(b){this._data=b},has:function(b){return !!this._data[b]},get_url:function(b){var c=this._data[b];if(Object.isString(c)){return c}else{return c.url}},is_local:function(b){var c=this._data[b];if(Object.isString(c)){return false}else{return c.local}}});WIKIZZLE.mw_install.interwiki=new Interwiki_Map({acronym:"http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1",advogato:"http://www.advogato.org/$1",annotationwiki:"http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1",arxiv:"http://www.arxiv.org/abs/$1",c2find:"http://c2.com/cgi/wiki?FindPage&value=$1",cache:"http://www.google.com/search?q=cache:$1",codersbase:"http://www.codersbase.com/index.php/$1",commons:"http://commons.wikimedia.org/wiki/$1",corpknowpedia:"http://corpknowpedia.org/wiki/index.php/$1",dictionary:"http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1",disinfopedia:"http://www.disinfopedia.org/wiki.phtml?title=$1",docbook:"http://wiki.docbook.org/topic/$1",drumcorpswiki:"http://www.drumcorpswiki.com/index.php/$1",dwjwiki:"http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1",efnetceewiki:"http://purl.net/wiki/c/$1",efnetcppwiki:"http://purl.net/wiki/cpp/$1",efnetpythonwiki:"http://purl.net/wiki/python/$1",efnetxmlwiki:"http://purl.net/wiki/xml/$1",elibre:"http://enciclopedia.us.es/index.php/$1",eljwiki:"http://elj.sourceforge.net/phpwiki/index.php/$1",emacswiki:"http://www.emacswiki.org/cgi-bin/wiki.pl?$1",eokulturcentro:"http://esperanto.toulouse.free.fr/wakka.php?wiki=$1",foldoc:"http://foldoc.org/?$1",foxwiki:"http://fox.wikis.com/wc.dll?Wiki~$1",freebsdman:"http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1",gej:"http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1","gentoo-wiki":"http://gentoo-wiki.com/$1",google:"http://www.google.com/search?q=$1",googlegroups:"http://groups.google.com/groups?q=$1",gotamac:"http://www.got-a-mac.org/$1",hammondwiki:"http://www.dairiki.org/HammondWiki/$1",hewikisource:{url:"http://he.wikisource.org/wiki/$1",local:1},hrwiki:"http://www.hrwiki.org/index.php/$1",imdb:"http://us.imdb.com/Title?$1",infosecpedia:"http://www.infosecpedia.org/pedia/index.php/$1",jargonfile:"http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1",jspwiki:"http://www.jspwiki.org/wiki/$1",keiki:"http://kei.ki/en/$1",kmwiki:"http://kmwiki.wikispaces.com/$1",linuxwiki:"http://linuxwiki.de/$1",lojban:"http://www.lojban.org/tiki/tiki-index.php?page=$1",lqwiki:"http://wiki.linuxquestions.org/wiki/$1",lugkr:"http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1",mathsongswiki:"http://SeedWiki.com/page.cfm?wikiid=237&doc=$1",meatball:"http://www.usemod.com/cgi-bin/mb.pl?$1",mediawikiwiki:"http://www.mediawiki.org/wiki/$1",mediazilla:{url:"http://bugzilla.wikipedia.org/$1",local:1},memoryalpha:"http://www.memory-alpha.org/en/index.php/$1",metawiki:"http://sunir.org/apps/meta.pl?$1",metawikipedia:"http://meta.wikimedia.org/wiki/$1",moinmoin:"http://purl.net/wiki/moin/$1",mozillawiki:"http://wiki.mozilla.org/index.php/$1",oeis:"http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1",openfacts:"http://openfacts.berlios.de/index.phtml?title=$1",openwiki:"http://openwiki.com/?$1",orgpatterns:"http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns?$1",patwiki:"http://gauss.ffii.org/$1",pmeg:"http://www.bertilow.com/pmeg/$1.php",ppr:"http://c2.com/cgi/wiki?$1",pythoninfo:"http://wiki.python.org/moin/$1",rfc:"http://www.rfc-editor.org/rfc/rfc$1.txt",s23wiki:"http://is-root.de/wiki/index.php/$1",seattlewiki:"http://seattle.wikia.com/wiki/$1",seattlewireless:"http://seattlewireless.net/?$1",senseislibrary:"http://senseis.xmp.net/?$1",slashdot:"http://slashdot.org/article.pl?sid=$1",sourceforge:"http://sourceforge.net/$1",squeak:"http://wiki.squeak.org/squeak/$1",susning:"http://www.susning.nu/$1",svgwiki:"http://wiki.svg.org/$1",tavi:"http://tavi.sourceforge.net/$1",tejo:"http://www.tejo.org/vikio/$1",theopedia:"http://www.theopedia.com/$1",tmbw:"http://www.tmbw.net/wiki/$1",tmnet:"http://www.technomanifestos.net/?$1",tmwiki:"http://www.EasyTopicMaps.com/?page=$1",twiki:"http://twiki.org/cgi-bin/view/$1",uea:"http://www.tejo.org/uea/$1",unreal:"http://wiki.beyondunreal.com/wiki/$1",usemod:"http://www.usemod.com/cgi-bin/wiki.pl?$1",vinismo:"http://vinismo.com/en/$1",webseitzwiki:"http://webseitz.fluxent.com/wiki/$1",why:"http://clublet.com/c/c/why?$1",wiki:"http://c2.com/cgi/wiki?$1",wikia:"http://www.wikia.com/wiki/$1",wikibooks:{url:"http://en.wikibooks.org/wiki/$1",local:1},wikicities:"http://www.wikicities.com/index.php/$1",wikif1:"http://www.wikif1.org/$1",wikihow:"http://www.wikihow.com/$1",wikimedia:"http://wikimediafoundation.org/wiki/$1",wikinews:{url:"http://en.wikinews.org/wiki/$1",local:1},wikinfo:"http://www.wikinfo.org/index.php/$1",wikipedia:{url:"http://en.wikipedia.org/wiki/$1",local:1},wikiquote:{url:"http://en.wikiquote.org/wiki/$1",local:1},wikisource:{url:"http://sources.wikipedia.org/wiki/$1",local:1},wikispecies:{url:"http://species.wikipedia.org/wiki/$1",local:1},wikitravel:"http://wikitravel.org/en/$1",wikt:{url:"http://en.wiktionary.org/wiki/$1",local:1},wiktionary:{url:"http://en.wiktionary.org/wiki/$1",local:1},wlug:"http://www.wlug.org.nz/$1",zwiki:"http://zwiki.org/$1","zzz wiki":"http://wiki.zzz.ee/index.php/$1"});if(!WIKIZZLE__CONTEXT){throw ("no WIKIZZLE__CONTEXT varible set")}switch(WIKIZZLE__CONTEXT){case"page":window.startNotifying({load:function(){var b=Interface.get();b.add_to_page();b.set_title();position_for_viewing();window.startNotifying({resize:position_for_viewing});new Incremental_Presenter(Article.current);new Incremental_Parser(Article.current)}});break;case"unit tests":break;case"domworker":break}Article.addMethods({save:function(c){var b=this.gather_values_for_send();Ajax.Request(b.url,{parameters:b.params,onSuccess:function(){var d=Wikizzle_URIs.get().internal_url(WIKIZZLE.this_article.fullname,Interface.get().get_sticky_url_params());window.location.replace(d)},onFailure:function(d){alert("sending failed:\n"+d.responseText)}})},gather_values_for_send:function(){function d(){var e=new Date(article_last_modified);return e.mediawiki_format()}var c=get_summary_field();var b=$("editarea");return{url:Medaiwiki_URIs.get().indexphp_url(),params:{title:arti,action:"submit",wpTextbox1:b.value,wpSummary:c.value,wpSave:"Save page",wpSection:this._wpSection,wpEdittime:d()}}}});var Interface_From_Scratch=Singleton.create(Abstract_Interface,{toString:function(){return"[Interface created from scratch]"},toElement:function(){return this._element},add_to_page:function(){this._element=this._build();var b=$$("body").first();b.appendChild(this.toElement());this.set_selected_tab("view");var c=WIKIZZLE.this_article.namespace;var d="namespace--"+(c?name_bits[0].toLowerCase():"none");b.addClassName(d);if(Prototype.Browser.Gecko){b.addClassName("gecko")}else{if(Prototype.Browser.WebKit){b.addClassName("webkit")}}this.circulate("interface_add")},_build:function(){var h=function h(){var q=Wikizzle_URIs.get().article_uri(WIKIZZLE.mw_install.mainpage,this.get_sticky_url_params());var o=["#p-logo.portlet",["a",{href:q,style:{backgroundImage:"url("+WIKIZZLE.mw_install.logo+")"}}]].toElement();this.listento(o.down("a"),{click:this.get_follow_link_decider()});return o}.bind(this);var g=function g(){var o={mainpage:"wikilink:"+WIKIZZLE.mw_install.mainpage,portal:"wikilink:"+WIKIZZLE.mw_install.sitename+":Community Portal",currentevents:"wikilink:Current events",recentchanges:"",randompage:"",help:"wikilink:Help:Contents"};return this.make_interface_list("#p-nav .portlet","navigation",o,"n-",".pBody")}.bind(this);var n=function n(){return["#p-search.portlet",["h5",["label",{"for":"searchInput"},"Search"]],[".pBody",["form#searchform",{name:"searchForm"},["input#searchInput",{type:"text",disabled:"true"}],["input#searchGoButton .searchButton",{type:"submit",value:"Go",disabled:"true"}],["input.searchButton",{type:"submit",value:"Search",disabled:"true"}]]]].toElement()}.bind(this);var b=function b(){return["#column-one",f(),personal_menu.make_dom(),["#column-one-point-five.portlet",h(),g(),n()]].toElement()}.bind(this);var l=function l(){return["#footer.bottom-of-screen",["#f-poweredbyico2.badge.software",["a",{href:"http://wikizzle.org"},["img",{src:"/#{dir}/skins/common/images/poweredby_wikizzle_88x31.png".interpolate(WIKIZZLE.mw_install),width:88,height:31}]].toElement()],["#f-poweredbyico.badge.software",["a",{href:"http://mediawiki.org"},["img",{src:"/#{dir}/skins/common/images/poweredby_mediawiki_88x31.png".interpolate(WIKIZZLE.mw_install),width:88,height:31}]].toElement()],["#f-copyrightico.badge.wiki",["img",{src:WIKIZZLE.mw_install.rightsicon,width:88,height:31}]],["ul#f-list"],[".visualClear"]].toElement()}.bind(this);var f=function f(){var s=Edit.get();Object.extend(this._tab_actions.raise,{xml:xml_viewer.start_viewing_xml,edit:s.start.bind(s)});Object.extend(this._tab_actions.lower,{xml:xml_viewer.stop_viewing_xml,edit:s.stop.bind(s)});var q=(WIKIZZLE.this_article.namespace=="Talk");var u=(q?"javascript:Interface.get().set_selected_tab('talk')":"wikilink+raiseonclick:Talk:"+WIKIZZLE.this_article.fullname);var v=(q?"wikilink+raiseonclick:"+WIKIZZLE.this_article.fullname.substring(5):"javascript:Interface.get().set_selected_tab('nstab-main')");var t=(q?"javascript:Interface.get().set_selected_tab('edit','new')":"omit");var o={"nstab-main":v,talk:u,edit:"javascript:Interface.get().set_selected_tab('edit')",addsection:t,history:"",xml:"javascript:Interface.get().set_selected_tab('xml')"};var r=this.make_interface_list("#p-cactions .portlet","views",o,"ca-","","#ca-list");return r}.bind(this);var m=function m(){return["#column-content",e()].toElement()}.bind(this);var e=function e(){var w=WIKIZZLE.this_article.fullname;var x="";var u=/^(.*)(\(.*\))$/.exec(WIKIZZLE.this_article.fullname);if(u){var w=u[1];var x=u[2]}var q=WIKIZZLE.this_article.namespace;if(q){w=w.substr(q.length+1);if(q=="Talk"){q="Discussion of "}else{q+=":"}}var o=Language.get().string("editing").replace("$1","");var z="Adding to ";var v=["span #edit-firstHeading .optional-firstHeading",{style:"display:none"},["span #norm-edit-firstHeading",o],["span #add-edit-firstHeading",{style:"display:none"},z]].toElement();var s=["span #xml-firstHeading .optional-firstHeading",{style:"display:none"},"Parsed XML for "].toElement();var t=["h1 .firstHeading #firstHeading",v,s,["span #ns-firstHeading",q],w,["span #brac-firstHeading",x]].toElement();var r=["#previewlabel",{style:"display:none"}].toElement();var y=["#bodyContent",["#xml-viewer .central-element",{style:"display:none"}]].toElement();return["#content",["a #contentTop"],t,["#innerContent",r,y,["#edit_split"],c()]].toElement()}.bind(this);var c=function c(){return["#editpane",{style:"display:none"},["text-input #editheader"],EditPane.get().toElement()].toElement()}.bind(this);var d=["#globalWrapper",m(),b(),[".visualClear",l()]].toElement();return d},set_selected_tab:function(q,f,d,c){if(q=="view"){var m=(WIKIZZLE.this_article.namespace=="Talk");q=(m?"talk":"nstab-main")}var r=this._current_front_tab;var g="ca-"+q;var n="ca-"+r;var o=$("ca-list").childNodes;var b=true;if(r&&this._tab_actions.lower[r]){var l=this._tab_actions.lower[r];b=l()}if(!b){return}this._current_front_tab=q;if(this._tab_actions.raise[q]){var e=function e(){var v=this._tab_actions.raise[q];v(f,d,c)}.bind(this);window.setTimeout(e,250)}if(r){var t=((r=="talk")&&(WIKIZZLE.this_article.namespace=="Talk"));this._munge_tab_ele(r,t,true);if(r=="edit"&&$("ca-addsection")){this._munge_tab_ele("addsection",false)}}this._munge_tab_ele(q,true);if((q=="edit")&&$("ca-addsection")){if(f=="new"){this._munge_tab_ele("addsection",true)}else{this._munge_tab_ele("addsection",false,false,true)}}var u=$("globalWrapper");u.removeClassName(n);u.addClassName(g);var s=$(r+"-firstHeading");if(s){s.style.display="none"}var h=$(q+"-firstHeading");if(h){h.style.display="inline"}},_munge_tab_ele:function(e,l,c,h){if(c===undefined){c=!l}var g=$("ca-"+e);if(l){g.addClassName("selected")}else{g.removeClassName("selected")}if(h){g.addClassName("disabled")}else{g.removeClassName("disabled")}var d=g.firstChild;if(c==(d.tagName=="span")){var f=d.textContent;var b=[(c?"a":"span"),{href:d.getAttribute("href")},f].toElement();g.removeChild(d);g.appendChild(b)}},set_title:function(b){var c=WIKIZZLE.this_article.fullname+" - "+WIKIZZLE.mw_install.sitename;if(b){c=b+c}document.title=c},get_sticky_url_params:function(){var c={};var b=url_utils.url_arguments();if(b.debug){c.debug=b.debug}if(b.compress){c.compress=b.compress}if(b.build){c.build=b.build}return c},make_interface_list:function(g,d,b,c,h,l){var f=[g,["h5",Language.get().string(d)]];var e=["ul "+l].toElement();if(h){f.push([h,e])}else{f.push(e)}e.insert(this.make_interface_list_items(b,c));return f.toElement()},make_interface_list_items:function(b,f){var h=function h(u,n,z){var o="";if(n==""){n='javascript:alert("not implemented yet")';o=".unimpl"}var q=Language.get().string(u);var t;var v=n.indexOf(":");var s=(v==-1?"":n.substr(0,v));switch(s){case"wikilink+raiseonclick":case"wikilink":var A=n.substr(v+1);var l=A;var r="[[#{a}|#{b}]]".interpolate({a:A,b:q});var w=Simple_Parser.get().to_xml(r).down("link");t=as_XHTML(w);break;default:t=["a "+o,{href:n},q].toElement()}var x=["li #"+z+u,t].toElement();switch(s){case"wikilink+raiseonclick":function y(D){var C=this.get_follow_link_decider();var B=C();if(B){this._munge_tab_ele(this._current_front_tab,false);this._munge_tab_ele(D,true)}return B}var m=y.bind(this,u);this.listento(x,{click:m});break;case"wikilink":this.listento(t,{click:this.get_follow_link_decider()})}return x}.bind(this);var g=[];for(var e in b){if(!b.hasOwnProperty(e)){continue}var d=b[e];if(d=="omit"){continue}var c=h(e,d,f);g.push(c)}return g}});var Interface={get:function(){switch(WIKIZZLE__CONTEXT){case"page":return Interface_From_Scratch.get();case"userscript":return Userscript_Interface.get()}}};var xml_viewer=new function XML_viewer(){var b="article";this.start_viewing_xml=function(){$(b).style.display="none";$("xml-viewer").style.display="";var d="''Shown below is "+WIKIZZLE.this_article.fullname+" in the XML format Wikizzle.org parses to. This format is based on the output from  [http://cvs.sourceforge.net/viewcvs.py/wikipedia/flexbisonparse/ flexBisonParse], but is not wholy compatable with it.''By using an intermediate format, the XHTML generation is completely decoupled from the parsing. This allows the possiblity of presenting the wiki article with different XHTML markup or using different media with relatively little effort.";var e=quick_n_dirty_wiki2xhtml(d);e.setAttribute("id","xml-intro");var c=p("#xml-while","On longer articles this will take a while to appear...");append("xml-viewer",[e,c]);xml_viewer.bring_in_console_css();window.setTimeout(function(){remove("xml-while");var f=syntax_highlight(wiki_xml.toIndentedXml(),"xml-viewer-inner");append("xml-viewer",f);position_for_viewing()},150)};this.stop_viewing_xml=function(){remove("xml-viewer-inner");remove("xml-intro");$(b).style.display="";$("xml-viewer").style.display="none";return true};this.bring_in_console_css=function(){var g=url_utils.url_arguments();var h=(g.compress=="no");var f=h?"xml_highlight.css":"xml_highlight-"+WIKIZZLE.this_install.buildtime+".cssminz";var d="skins/colorbook/"+f;var e=document.getElementsByTagName("head")[0];var c=make_element("link","",[],{rel:"stylesheet",type:"text/css",href:d});append(e,c)}};function get_window_height(){if(self.innerHeight){return self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}}if(document.body){return document.body.clientHeight}throw"couldn't get window height!"}function find_ypos_within(c,b){var d=0;while(c!=b){d+=c.offsetTop;c=c.offsetParent}return d}function find_xpos_within(d,c){var b=0;while(d!=c){b+=d.offsetLeft;d=d.offsetParent}return b}function findPosY(c){var b=0;if(c.offsetParent){while(c.offsetParent){b+=c.offsetTop;c=c.offsetParent}}else{if(c.y){b+=c.y}}return b}var Module=Class.create(Listener_Mixin,{initialize:function(){if(WIKIZZLE__CONTEXT=="unit tests"){return}if(this.on_interface_added){this.listento(Interface.get(),{interface_add:this.on_interface_added})}this.listento(Edit.get(),{edit_start:this.on_edit_start||Function.empty,edit_end:this.on_edit_end||Function.empty,preview_update_start:this.on_preview_update_start||Function.empty,edit_reparse_start:this.on_edit_reparse_start||Function.empty,preview_refreshed:this.on_preview_refreshed||Function.empty,editpane_cursor_move:this.on_editpane_cursor_move||Function.empty,editpane_cursor_move_change_node:this.on_editpane_cursor_move_change_node||Function.empty,editpane_change:this.on_editpane_change||Function.empty})},toString:function(){return"[a module that didn't override tostring]"}});Object.extend(String.prototype,{get_indexOf:function(d,b){return this.indexOf.apply(this,arguments)},get_sub:function(c,b){return this.substring.apply(this,arguments)},regex_exec:function(b){return b.exec(this)}});Object.extend(Text.prototype,{get_indexOf:function(d,c){var b=this.data;return b.indexOf.apply(b,arguments)},get_sub:function(d,c){var b=this.data;return document.createTextNode(b.substring.apply(b,arguments))},regex_exec:function(b){return b.exec(this.data)}});function template_text_not_avaliable(b){b.set("unavaliable","true");update_XHTML(b)}function template_text_arrived(g,e){var c=new Parse_Context();c.perform_post_proc=false;var b=parseAll(e,c);b.tag_name="template-text";var f=g.down("template-params");var d;if(f!=null){d=name_value_map(f)}else{d={}}b.childElements.findAll(function(){return ele.tagName=="template-var"}).each(function(h){var m=h.down("name").textContent;var l=d[m];if(!l){h.set("unassigned","true");return}h.add(l.clone())});apply_post_proc(b,c);correct(b,new Correct_Context());g.add(b);update_XHTML(g)}var Template_Article=Class.create(Article,{substitute:function(b){}});(function(){var b={},c="__NOT_AVAILABLE__";Template_Article.fetch=Article.fetch.wrap(function(e,d){return e(d)})})();WIKIZZLE.util.VISITABLE_MIXIN={add_visitor_door:function(c,f,h,d){var g=false,b=this;this[c]=function e(){if(g){console.warn("double visit to",c,e.trace())}else{var o=true;var m=f.call(b)}try{var l=$A(arguments).apply(b)}catch(n){console.error("%s:: exception %o caught, will exit with %o",c,n,h);console.error("stack is",Object.toJSON(n.stack));if(o){h.call(b,m)}console.groupEnd();throw n}if(o){h.call(b,m)}return l};this["always_"+c]=function(m){var l=this;return function(){var n=$A(arguments);n.unshift(m);l[c].apply(l,n)}}},add_interception:function(b,d,f,c){var e=this[b];this.add_visitor_door(b,d,f,c);this.doorName=this.doorName.curry(e)}};var Save_Interface=Singleton.create(Module,{on_edit_start:function(){},show:function show_save_dialog(){$("save-dialog").appear({duration:0.5,delay:0.2});Lightbox.get().show();return false},toElement:function(){return["form#save-dialog",["h2",["span",{"class":"savetext"},"Save "],Edit.get().get_article().get_name()],["p","Blah blah blah, save things with permission"],["label",{name:"editsummary"},"Edit summary"],["text-input#editsummary",{value:"type a summary of your edit here","class":"showing-instructions"}],[".edit-buttons",["button#save-dialog-cancel.cancel",{name:"cancel"},"cancel"],["button.save",{name:"save"},"save"]]].toElement()}});var Edit_Highlight=Singleton.create(Module,Notifier_Mixin,{initialize:function($super){$super();this.highlighted={}},on_editpane_cursor_move_change_node:function(c,b){this.update_keyboard_highlighting(b)}.maxrate(100,true),on_preview_refreshed:function(){this.update_keyboard_highlighting()},update_keyboard_highlighting:function(c){if(!c){var b=EditPane.get().getCursorPos();c=Edit.get().get_article().get_xml().drill_wikixml(b)}this.make_highlighted("keyboard",Edit_Highlight.find_highlightable_wikixml(c),c)},get_highlighting_path:function(b){var c=[b,b.ancestors().reject(function(d){return d.tagName=="article"})].flatten().collect(function(d){if(d.get_xhtml){return d.get_xhtml()}return null}).compact();return c},make_highlighted:function(e,b,d){var c=this.highlighted[e];if(c==b){return}console.log("Edit_Highlight will now move the highlighting to ",b,"which has xhtml",b.get_xhtml());var f=this.get_highlighting_path(b);console.log(f);if(c){this.remove_highlighting(e,c)}f.first().addClassName("sel").addClassName("sel-leaf").addClassName("sel-leaf--"+e);f.invoke("addClassName","sel").invoke("addClassName","sel--"+e);this.highlighted[e]=b;this.circulate("keyboard_highlighting_move",{hilighted:b,cursorNode:d})},remove_highlighting:function(c,b){var d=this.get_highlighting_path(b);d.first().removeClassName("sel").removeClassName("sel-leaf").removeClassName("sel-leaf--"+c);d.invoke("removeClassName","sel").invoke("removeClassName","sel--"+c)},toString:function(){return"[Edit Highlight changer]"}});Edit_Highlight.find_highlightable_wikixml=function(b){var c=b;if(b instanceof Text){b=b.parentNode}while(!b.get_xhtml()){b=b.parentNode}return b};var Progress_Bar=Singleton.create(Module,{PROGRESS_BAR_WIDTH_MIN:0,PROGRESS_BAR_WIDTH_MAX:50,PROGRESS_BAR_WIDTH_RANGE:50,initialize:function($super){$super();var b;var c=0;this.listento(Article.current,{parse_start:function(d){this.show();b=d.select("line")},parse_progress:function(e,d){for(;;c++){if(b[c]==d){break}}this.loading(c/b.length)},parse_complete:function(){this.loading(1);this.hide()}})},on_interface_added:function(){$("firstHeading").insert(["div #progress-bar",{style:"display:none"},"loading 0%"])},set:function(f,c,e){var d=$("progress-bar");var b=this.PROGRESS_BAR_WIDTH_MIN+this.PROGRESS_BAR_WIDTH_RANGE*c;if(e){f+=" "+Math.round(c*100)+"%"}d.style.width=b+"%";d.firstChild.nodeValue=f;this.hide()},loading:function(b){if(1!=b){this.set("loading:",b,true)}else{this.set("Finished loading",1,false)}},show:function(){$("progress-bar").style.display=""},hide:function(){Effect.Fade.curry("progress-bar").delay(0.3)}});IsolatedSingleton.create(Module,{toString:function(){return"[Sidebar Hiding object]"},on_interface_added:function(){var b=["a #sidebar-hider",{href:"#"}].toElement();this.listento(b,{click:this.toggle});$("column-one").appendChild(b);$("globalWrapper").addClassName("sidebar-hiding");if("off"==get_cookie("sidebar")){$("globalWrapper").addClassName("no-sidebar")}},on_edit_start:function(){if(!$("globalWrapper").hasClassName("no-sidebar")){this.toggle()}},toggle:function(){var b=$("globalWrapper").hasClassName("no-sidebar");var c=(b?"on":"off");set_cookie({name:"sidebar",value:c,expires:"month"});this.set_classes(b);if(!Scriptaculous||url_utils.get_var("noanim")){position_for_editing()}else{this.animate(b)}},set_classes:function(b){$("globalWrapper").toggleClass("no-sidebar")},animate:function(c){Effect.Queues.get("sidebar").each(function(n){n.cancel()});var e=$("column-one-point-five");var m=25;var f=e.getWidth();var h=0.25;var d="margin-left:13em; background-position: -13em -2.8em";var l="margin-left:2em;  background-position: -2em  -2.8em";var g="left:14em";var b="left:3em";e.style.display="block";if(c&&!e.style.left){e.style.left=-f+"px";e.style.opacity=h}if(!$("content").style.marginLeft){$("content").style.marginLeft=(c?"2em":"13em")}if(!$("p-cactions").style.left){$("p-cactions").style.left=(c?"3em":"14em")}new Effect.Parallel([new Effect.Move(e,{x:(c?0:-f),mode:"absolute",duration:m,sync:true}),new Effect.Opacity(e,{from:e.getStyle("opacity"),to:(c?1:h),duration:m,sync:true}),new Effect.Morph($("content"),{style:(c?d:l),afterUpdate:"edit"==Interface.get().get_selected_tab()?fix_editpane_width:Prototype.emptyFunction,duration:m,sync:true}),new Effect.Morph($("p-cactions"),{style:(c?g:b),duration:m,sync:true})],{queue:{scope:"sidebar"},afterFinish:function(){if(Interface.get().get_selected_tab()=="edit"){position_for_editing()}}})}});LazySingleton.create({CHAR_ROWS:12,CHAR_COLS:16,SCROLL_ONE_CLICK:16,initialize:function($super){$super();this.display_start=160;this.selected_chars="";this.insert_pos=0},toString:function(){return"[Special char chooser]"},on_interface_added:function(){var e=[".down"].toElement();this.listento(e,{click:this.page_down});var c=[".up"].toElement();this.listento(c,{click:this.page_up});var d=["#special-chars",["#large-char",["#large-example","A"],["#ent-ref","&a;"]],["#chooser",this.make_charset_chooser(),this.make_table(this.display_start),[".visualClear"],["#buttons",e,c]]];var b=["button #special-char-button","special character"].toElement();this.listento(b,{click:this.toggle});$("edit-options").appendChild(["#special-char-button-outer",[b,["#special-char-hider",d]]].toElement());this.hide()},show:function(b){this.selected_chars="";this.preview_char();$("special-char-button-outer").removeClassName("hidden");this.insert_pos=$("editarea").selectionStart;this.make_pixel_perfect()},hide:function(b){$("special-char-button-outer").addClassName("hidden")},is_shown:function(){return !$("special-char-button-outer").hasClassName("hidden")},toggle:function(){if(this.is_shown()){this.hide()}else{this.show()}},make_pixel_perfect:function(){$("charsets").style.height=$("chooser-table").getHeight()+"px"},make_charset_chooser:function(){var c=b.bind(this);return["div #charsets",c()].toElement();function b(e,r,g){if(!e){return c(CHARSET_TREE,null,0)}var q=e.name;if(r){if(!q){q=r.name}else{q=q.replace("+",r.name)}}if(e.sub){var n=(g==0?"expanded":"collapsed");var o=["ul",{"class":n}].toElement();for(var h=0;h<e.sub.length;h++){var d=c(e.sub[h],e,g+1);if(null!=d){o.appendChild(d)}}if(0==g){return o}else{var m=["div.handle",{"class":n}].toElement();var l=["h"+g,q].toElement();this.listento(m,{click:this.handle_press});this.listento(l,{click:this.handle_press});return["li",m,l,o].toElement()}}else{if(""==e.range){return null}var f="leaf"+(e.nonspecific?" nonspecific":"")+(e.unicode_ver?" new":"");var s=["li",{"class":f},["a",q]].toElement();this.listento(s,{click:this.jumpto.curry(e.range)});return s}}},handle_press:function(f){var d;var c;var b=f.element();if(b.tagName=="div"){d=b.nextSibling.nextSibling;c=b}else{d=b.nextSibling;c=b.previousSibling}if(d.hasClassName("expanded")){d.removeClassName("expanded");c.removeClassName("expanded");d.addClassName("collapsed");c.addClassName("collapsed")}else{d.removeClassName("collapsed");c.removeClassName("collapsed");d.addClassName("expanded");c.addClassName("expanded")}},make_table:function(f){var c=["table#chooser-table"].toElement();var d=f;for(var b=0;b<this.CHAR_ROWS;b++){var e=this.make_row(d);c.appendChild(e);d+=this.CHAR_COLS}this.listento(c,{mouseout:this.mouse_leave_table,mousewheelup:this.row_up,mousewheeldown:this.row_down});return c},make_row:function(h){var b=h+this.CHAR_COLS-1;var f=["tr"].toElement();for(var e=h;e<b;e++){var g=String.fromCharCode(e);var d=["td",g].toElement();this.listento(d,{mouseover:this.mouse_over_char,click:this.char_clicked});f.appendChild(d)}return f},on_window_resize:function(){alert("you resized the window!")},refresh_table:function(){var b=$("chooser-table");var c=this.make_table(this.display_start);b.parentNode.replaceChild(c,b)},row_down:function(){var d=$("chooser-table");var b=this.make_row(this.display_start+this.CHAR_ROWS*this.CHAR_COLS);this.display_start+=this.SCROLL_ONE_CLICK;d.firstChild.remove();try{Element.insert(d,{bottom:b})}catch(c){}},row_up:function(){var d=$("chooser-table");var b=this.make_row(this.display_start-this.SCROLL_ONE_CLICK);this.display_start-=this.CHAR_ROWS*this.CHAR_COLS;d.lastChild.remove();try{Element.insert(d,{top:b})}catch(c){}},page_down:function(){var d=$("chooser-table");var b=this.make_row(this.display_start+this.CHAR_ROWS*this.CHAR_COLS);this.display_start+=this.SCROLL_ONE_CLICK;d.firstChild.remove();try{Element.insert(d,{bottom:b})}catch(c){}new Effect.Move(d,{y:d.getHeight(),mode:"relative"})},page_up:function(){var c=$("chooser-table");var b=this.make_row(this.display_start-this.SCROLL_ONE_CLICK);this.display_start-=this.SCROLL_ONE_CLICK;this.refresh_table()},jumpto:function(b){var c=/^([0123456789ABCDEF]+)-/i.exec(b)[1];this.display_start=parseInt(c,16);this.refresh_table()},mouse_leave_table:function(c){var d=c.element();var b=c.relatedTarget;for(;;){if(b==d){return}if(!b){break}try{b=b.parentNode}catch(c){break}}this.preview_char()},char_clicked:function(d){var f=d.element();var b=f.firstChild.nodeValue;this.selected_chars+=b;var c=this.simplest_char_ref(b);Edit.get().insert_string_to_editor(c,f.insert_pos);f.insert_pos+=c.length;this.preview_char(b)},mouse_over_char:function(c){var b=c.element().firstChild.nodeValue;this.preview_char(b)},preview_char:function(c){var b=$("large-example");var f;if(c){f=this.simplest_char_ref(c);b.removeClassName("unshown");switch(f){case"&shy;":c="-";b.addClassName("unshown");break;case"&nbsp;":c="_";b.addClassName("unshown");break}}else{c="";f=""}var h=this.selected_chars;var g=span("",[span(".before",document.createTextNode(h)),span(".preview",document.createTextNode(c)),]);b.replaceChild(g,b.firstChild);var d=$("ent-ref");d.replaceChild(document.createTextNode(f),d.firstChild);var e=$("large-char")},simplest_char_ref:function(c){var b=c.charCodeAt(0);if(REVERSE_CHAR_ENTITIES[b]){return"&"+REVERSE_CHAR_ENTITIES[b]+";"}else{return"&#"+b+";"}}});(function(){var e=Class.create(Listener_Mixin,{initialize:function(g,n,o,q,r){this.id=g;q=q||Function.empty;r=r||Function.empty;var m,h,s=this,t=this.element=["span.button-wrap.clickable",{id:g+"-but-wrap"},(h=["button",{id:g+"-but"}].toElement()),(m=["label",{"for":g+"-but",style:{display:"none"}},g,["span.shortcut",n]].toElement())].toElement(),l=FADE_MIXIN_FACTORY.make({duration:0.5,delay:0.25},{duration:0.5},m);o=o.wrap(function(u,v){if(!t.hasClassName("disabled")){t.addClassName("performing");Element.removeClassName.delay(1,t,"performing");(function(){console.group("performing action",s);u(v,this);console.groupEnd()}).defer()}});this.listento(h,{click:o,mouseover:function(){l.appear()},mouseout:function(){l.fade()}},Edit.get(),{editpane_cursor_move_change_node:q});EditPane.get().add_shortcut(n,o)},toElement:function(){return this.element},toString:function(){return"[Button "+this.id+"]"},setEnabled:function(g){this.element.setHasClass("disabled",!g);this.element.setHasClass("clickable",g)},setSelected:function(g){this.element.setHasClass("selected",g)},showDialog:function(m){var n=this.element,h=n.wrap([".but-wrap"].toElement()),g=n.up("div.toolbar-wrap"),l=g.retrieve("toolbar");if(!Element.is(m)){m=m.toElement()}g.style.zIndex="101";this.setSelected(true);n.removeClassName("clickable");l.buttons.each(function(o){if(o!==this){o.setEnabled(false)}},this);h.insert([".dialog-wrap",m]);m.style.display="none";m.appear({duration:0.5,delay:0.2});Lightbox.get().show()},hideDialog:function(){}}),b=Class.create(e,{initialize:function($super,h,g){$super(h,g,Function.empty)}}),f=Class.create(e,{initialize:function($super,g,n,o,h){var r=this,m=EditPane.get(),l=function(){m.without_cleaning_synhi_mutations(function(){m.while_syncing_synhi_with_wikixml(o)});Edit.get().update_preview()},q=function(v,u){var t=h(u);r.setSelected(t.selected);r.setEnabled(t.enabled)};$super(g,n,l,q)}}),d=Class.create(f,{initialize:function($super,n,g,l,m){function h(){l()}$super(n,g,h,m)}}),c=Class.create(f,{initialize:function($super,l,q,n,m,o){var g=function(t){return t.collect(function(u){return(Element.is(u)?u.selectXpath(".//text()"):u)}).flatten().all(o)},s=this,r=function(){var u=EditPane.get().get_first_range_wikixml(),t=u.isolate_text_nodes(),v=(g(t)?m:n);console.log("Text_State_Action:: about to do action",v,"over range",u,"which gave me textnodes",t,"is_all_already:",g(t));v.call(s,t,u);console.log("Text_State_Action:: might be done now?",t)},h=function(u){function t(v){for(;v.parentNode;v=v.parentNode){if(v instanceof Text){continue}if(["token","target","xhtml-attrs","options"].include(v.tagName)){return false}if(v.match("line[type~=table-start]")){return false}if(v.match("value[name=text]")){v=v.parentNode;continue}}return true}return{selected:g([u]),enabled:t(u)}};$super(l,q,r,h)}});"WIKIZZLE.toolbar_actions".namespace({Action:e,Placeholder:b,XML_Changer:f,Text_Inserter:d,Reversible_XML_Changer:c})})();var Incremental_Presenter=Class.create(Listener_Mixin,{initialize:function(d){var c=new Present_Context();var b=this.listento(d,{parse_start:function(e){this.lines=e.select("line");this.presented_upto_lineno=-1;this.waitfor(Interface.get(),{interface_add:function(){var f=["#article"].toElement();$("bodyContent").insert(f);e.set_xhtml(f);Object.extend(b,this.listento(d,{line_parse:function(h,g){this.add_lines_to(h,g,c)}}))}})},parse_complete:function(e){this.add_lines_to(e,this.lines.last(),c);this.lines=null;console.log("Incremental_Presenter::parsing complete",e.cloneNode(true));d.stopNotifying(b)},parse_cancelled:function(){}})},add_lines_to:function(c,b,e){while(this.lines[this.presented_upto_lineno]!=b){this.presented_upto_lineno++;d(this.lines[this.presented_upto_lineno])}function d(f){if(f.get_xhtml()){return}var h=f.path("article");h.reverse();var l=h.find(function(m){return !m.get_xhtml()});var g=as_XHTML(l,e);l.parentNode.get_xhtml().insert(g)}}});(function(){var b=WIKIZZLE.toolbar_actions;b.Indent_Action=Class.create(b.Text_Action,{initialize:function($super,e,d){function c(){}$super(e,d,c)}})})();IsolatedSingleton.create(Module,{initialize:function($super){$super();this.hi_line=null;this.listento(Edit_Highlight.get(),{keyboard_highlighting_move:function(f){var d=f.cursorNode,c=this.hi_line,b=d;while(b&&b.tagName!="line"){b=b.parentNode}if(!b){console.error("could not find line parent of",d);return}if(b===c){return}EditPane.get().without_cleaning_synhi_mutations(function(){if(c){var e=c.synhi,g=e.getAttribute("class").split(" ").reject(function(h){return h=="cur-line"});e.setAttribute("class",g.join(" "))}e=b.synhi;g=e.getAttribute("class").split(" ");g.push("cur-line");e.setAttribute("class",g.uniq().join(" "))});this.hi_line=b}})}});switch($GET("action")){case"edit":Article.current.when({parse_complete:function(){Interface.get().set_selected_tab("edit")}});break}IsolatedSingleton.create(Module,{initialize:function($super){$super();this.cur_hi=[]},on_editpane_cursor_move_change_node:function(g,f){var c=this,h=null;function e(){EditPane.get().without_cleaning_synhi_mutations(function(){c.cur_hi.pluck("synhi").compact().invoke("removeClassName","sel-related")});if(h!==null){window.clearTimeout(h);h=null}}function d(m){var l;if(m==m.parentNode.lastChild){l=m.parentNode.firstChild}else{if(m==m.parentNode.firstChild){l=m.parentNode.lastChild}else{return null}}if(l.nodeType===Node.ELEMENT_NODE&&l.tagName==="token"&&l.getAttribute("type")===m.getAttribute("type")){return l}}if(f.nodeType===Node.TEXT_NODE){f=f.parentNode}while(f.tagName!="token"){f=f.parentNode;if(f.tagName==="article"){e();this.cur_hi=[];return}}if(this.cur_hi.include(f)){return}e();var b=d(f);if(!b){return}this.cur_hi=[f,b];EditPane.get().without_cleaning_synhi_mutations(function(){c.cur_hi.pluck("synhi").compact().invoke("addClassName","sel-related")});h=e.delay(0.75)}});IsolatedSingleton.create(Module,{PREVIEW_MOVE_EFFECT_DURATION:0.7,initialize:function($super){$super();this.highlighted={};this.move_effect=null;this.move_effect_target=null;var b=this.position_preview.bind(this);this.listento(Edit_Highlight.get(),{keyboard_highlighting_move:function(c){console.log("Edit_Highlight_Position was notified of highlight change with",c);b.defer(c.hilighted)}},window,{resize:function(){var c=EditPane.get().getCursorPos(),d=Edit.get().get_article().get_xml().drill_wikixml(c);b(Edit_Highlight.find_highlightable_wikixml(d))}})},on_edit_start:function(){var b=$("bodyContent");b.addClassName("auto-move");b.scrollTop=0;this.set_preview_position(0)},position_preview:function(d){if(d.nodeType===Node.TEXT_NODE){d=d.parentNode}var b=EditPane.get().getCursorPos(),c=d.get_xhtml();var e=$("bodyContent").getHeight();while((c.parentNode.getAttribute("id")!="article")&&(c.parentNode.getHeight()<e)){c=c.parentNode}this.set_preview_position(c)},set_preview_position:function(e){console.info("will centre on ",e);var c=$("bodyContent").getHeight();if(Object.isElement(e)){var b=find_ypos_within(e,$("article"));b-=(c/2);b+=e.clientHeight/2;b+=10;e=b}var d=$("article").clientHeight-c+30;e=Math.min(d,e);e=Math.max(-20,e);e=Math.floor(e);if(Math.abs(this.move_effect_target-e)<12){return}this.move_effect_target=e;if(this.move_effect){this.move_effect.cancel()}this.move_effect=new Effect.Move($("article"),{x:0,y:-e,mode:"absolute",afterFinish:function(){this.move_effect=null}.bind(this),duration:this.PREVIEW_MOVE_EFFECT_DURATION})}});var MwLangTemplate=Class.create(Template,{initialize:function($super,c){var b=/(^|.|\r|\n)((?:$|{{)(\d|[\w:]+)(?:}})?)/;$super(c,b)}});(function(){var b=WIKIZZLE.toolbar_actions;b.Text_Wrapper=Class.create(b.Reversible_XML_Changer,{initialize:function($super,d,l,h,e,f){var m=this,c={top:["token",{type:d,direction:"open"},h],bottom:["token",{type:d,direction:"close"},e]};function g(o){console.group(m,"is making",o,o.invoke("path","article"),"NOT so");var n=o.invoke("path","article").flatten().select(Function.has({tagName:d}));console.log("I care about",n);n.each(function(r){var q;while(q=r.down("token[type="+d+"]")){console.log("token is",q);q.remove()}r.unwrap()});console.groupEnd()}$super(d,l,function(q,n){console.log("Wrapper_Action",m,"is making",q,"so",q.invoke("path"));g(q);var o=q.collect(function(r){var s=r.path("article").reverse().find(function(t){if(t.nodeType===Node.TEXT_NODE){return true}if(f.include(t.tagName)){return false}return n.containsCompletely(t)});return s}).uniq();console.info("will be acting on:",o,"paths are:",o.invoke("path","article"));o.each(function(r){console.info("Will wrap",r,"in a",d);r.wrap(d).insert(c)});console.info("Will be wanting to select to include all of",q,"synhis are",q.pluck("synhi"));EditPane.get().setCursorPos({node:q.first().synhi,offset:0},{node:q.last().synhi,offset:q.last().synhi.length},true)},function(n){g(n)},function(n){return n.ancestors().pluck("tagName").any(function(o){return o===d})})}})})();var TextAreaEditPane=LazySingleton.create(EditPane,{initialize:function(){var b=this.element=["textarea#editarea"].toElement();Article.current.when({loaded:function(){b.value=Article.current.get_text()}});this.listento(b,{keyup:this.keyup,click:this.mouse_clicked})},toElement:function(){return this.element},getCursorPos:function(){return this.element.selectionStart},getText:function(){return this.element.value}});Range.isolate_text_nodes=function(c){console.group("Range#isolate_text_nodes()");var h=c.startContainer.ownerDocument;c=(function(l){var m=h.createRange();m.setStart(l.startContainer,l.startOffset);m.setEnd(l.endContainer,l.endOffset);return m})(c);console.log("isolating textnodes from",c,"\n(",c.startContainer.cloneNode(true),",",c.startOffset,")","-->","(",c.endContainer.cloneNode(true),",",c.endOffset,")");if(c.collapsed&&c.startContainer.nodeType===Node.ELEMENT_NODE){var f={},g=h.createTextNode("");console.log("will insert blank textnode",g,"into",c.startContainer,"at position",c.startOffset,"and return",[g]);f[c.startOffset]=g;c.startContainer.insert(f);console.groupEnd();return[g]}var b=c.commonAncestorContainer,e=b instanceof Text?[b]:Element.selectXpath(b,".//text()"),d=[];console.log("candidate textnodes (selected or partially selected) are",e.invoke("cloneNode",true));e.each(function(l){if(l===c.startContainer&&l===c.endContainer){if(c.startOffset==0&&c.endOffset==l.length){d.push(l);return}console.log("splitting",l,"at",c.startOffset,"and",c.endOffset);l.splitText(c.endOffset);d.push(l.splitText(c.startOffset));return}if(l===c.startContainer){if(!c.collapsed&&l.length===c.startOffset){return}console.log("splitting",l,"at",c.startOffset);d.push(l.splitText(c.startOffset));return}if(l===c.endContainer){if(!c.collapsed&&0===c.endOffset){return}l.splitText(c.endOffset);d.push(l);return}if(Range.containsCompletely(c,l)){d.push(l)}});console.log("returning",d);console.groupEnd();return d};Range.containsCompletely=function(c,d){var e=c.startContainer.ownerDocument,b=e.createRange();b.selectNode(d);return(b.compareBoundaryPoints(Range.START_TO_START,c)>=0&&b.compareBoundaryPoints(Range.END_TO_END,c)<=0)};Object.extend(Range.prototype,{isolate_text_nodes:Range.isolate_text_nodes.methodize(),containsCompletely:Range.containsCompletely.methodize()});IsolatedSingleton.create(Module,{on_interface_added:function(){var c;if(c=get_cookie("edit_split")){set_editpane_preview_split(c)}var b=$("edit_split");b.addClassName("draggable");(function(){var e,d;new Draggable(b,{constraint:"vertical",snap:function(f,h,g){h=Math.min(h,e*0.95);h=Math.max(h,$("firstHeading").getHeight()+e*0.1);return[f,h]},ghosting:true,revert:true,zindex:1,onStart:function(){e=$("bodyContent").getHeight()+$("edit_split").getHeight()+$("editarea").getHeight();$("globalWrapper").style.cursor="row-resize"},change:function(){var f=b.positionedOffset().top-$("firstHeading").getHeight();d=f/e;set_editpane_preview_split(d)},onEnd:function(){b.removeClassName("dragging");set_cookie({name:"edit_split",value:d});$("globalWrapper").style.cursor=""}})})()},toString:function(){return"[edit split drag object]"}});XMLHttpRequest.prototype.state_names={0:"uninitialised",1:"loading",2:"loaded",3:"interactive",4:"complete"};XMLHttpRequest.prototype.get_state_name=function get_state_name(){return this.state_names[this.readyState]};XMLHttpRequest.prototype.set_complete_action=function set_complete_action(b){var c=this;this.onreadystatechange=function(){if("complete"==c.get_state_name()){b()}}};Editpane_Synhi=LazySingleton.create(EditPane,WIKIZZLE["interface"].KEYBOARD_SHORTCUT_MIXIN,WIKIZZLE.util.VISITABLE_MIXIN,{initialize:function(){this.init_visitables();this.wikixml_to_synhi__extend_others();this.init_wikixml_watching();var c=this.element=["#editarea-wrapper",["iframe#editarea"]].toElement(),b=Edit.get();this.listento(b,{edit_start:this.init2.bind(this)});(function(){var d;Draggables.addObserver({onStart:function(){d=[".shield"].toElement();$("editarea-wrapper").insert({bottom:d});d.clonePosition($("editarea-wrapper"))},onEnd:function(){d.remove();d=null},onDrag:function(){d.clonePosition($("editarea-wrapper"))}})})()},toElement:function(){return this.element},init2:function(){var b=this,d=this.element.firstChild,g=this.subwin=d.contentWindow,f=this.subdoc=g.document,c='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><!--	size and font straight away (so size doesn\'t change when stylesheet arrives): --><style>body{font-family:monospace;font-size:110%}.token{	font-weight:bold;}.line{ padding-left:5px}.line.type--empty{	font-size:75%;min-height:1em;}#article{margin-top:15px}.table .list{margin-right:15px;}.paragraph,.preformatted,.list,.line.type--heading{margin-top:1px; margin-bottom:1px;}.list, .line.type--heading, .table, .paragraph, .preformatted{	border:1px #ddd solid;background-color:#f0f0f0;}</style><!--	everything else comes from the stylesheet: --><link rel="stylesheet" type="text/css" href="skins/colorbook/synhi.css.php"/><script type="text/javascript" src="javascript/3rd_party/prototypejs.org/prototype.js" ><\/script><script type="text/javascript" src="javascript/util/prototype/dom.js" ><\/script><script type="text/javascript" src="javascript/util/jsonml-ng.js" ><\/script><script type="text/javascript" src="javascript/util/composite_function.js" ><\/script><script type="text/javascript" src="javascript/util/function.js" ><\/script><script type="text/javascript" src="javascript/util/listener.js" ><\/script></head><body id="editarea-body"></body><script type="text/javascript">/* console.log( \'the subwin has loaded\' );window.parent.console.log( "the subwin is writing this to main win\'s console" ); */subwin_loaded();<\/script></html>\n',e=Edit.get();f.open();f.write(c);f.close();g.subwin_loaded=function(){(function(){f.designMode="on";b.focus();b.circulate("synhi_ready")}).defer();if(e.get_article().hasCirculated("parse_complete")){b.update_highlighting()}e.get_article().startNotifying({parse_complete:b.update_highlighting.bind(b)});b.init_synhi_mutation_cleaning();var h={keyup:function(l){e.user_interaction_just_happened();if(b.key_type(l.keyCode)=="move"){e.cursor_moved()}},click:function(){e.user_interaction_just_happened();e.cursor_moved()},focus:function(){b.without_cleaning_synhi_mutations(function(){f.body.addClassName("focused")})},blur:function(){b.without_cleaning_synhi_mutations(function(){f.body.removeClassName("focused")})}};for(k in h){f.addEventListener(k,h[k],false)}};this.init_wikixml_watching(Article.current)},focus:function(){var c=this.subdoc,b=this.subwin;console.log("editpane_synhi::setCursorPos giving focus to subwin");b.parent.focus();b.focus()},shortcut_target:function(){return this.subdoc},getText:function(){return this.perform_wikitexted(function(){var b=this.subdoc.getElementById("article");return b.textContent.replace(/\xA0/g," ")})},toString:function(){return"[iframe-designmode editor module]"},on_preview_refreshed:function(){this.update_highlighting()}},{init_wikixml_watching:function(g){var c=this;this.watching_article=g;this.wikixml_mutation_listeners={DOMNodeInserted:b,DOMNodeRemoved:e,DOMAttrModified:f,DOMCharacterDataModified:d};function f(m){var l=m.target.synhi;if(!l){return}var h=l.getAttribute("class").split(" ");m.prevValue.split(" ").each(function(n){h.without(m.attrName+"--"+n)});m.newValue.split(" ").each(function(n){h.push(m.attrName+"--"+n)});c.without_cleaning_synhi_mutations(function(){l.setAttribute("class",h.join(" "))})}function b(o){var q=o.target,m=o.relatedNode,h=c.wikixml_to_synhi(q);if(!h){console.log("no synhi for the inserted node, ",q,"doing nothing");console.groupEnd();return}var l=m.synhi,r=m.child_pos(o.target),n={};n[r]=h;c.without_cleaning_synhi_mutations(function(){l.insert(n)})}function e(l){var h=l.target.synhi;if(!h){return}c.without_cleaning_synhi_mutations(function(){h.parentNode.removeChild(h)})}function d(h){if(h.target.synhi){c.without_cleaning_synhi_mutations(function(){h.target.synhi.data=h.target.data})}}},start_wikixml_syncing:function(c){var b=this.watching_article.get_xml_container();for(k in this.wikixml_mutation_listeners){b.addEventListener(k,this.wikixml_mutation_listeners[k],false)}},stop_wikixml_syncing:function(c){var b=this.watching_article.get_xml_container();for(k in this.wikixml_mutation_listeners){b.removeEventListener(k,this.wikixml_mutation_listeners[k],false)}}},{init_synhi_mutation_cleaning:function(){var c=this.dirty_nodes=[];var b=this;this.mutation_cleaning_listeners={DOMNodeInserted:function(d){c.push(d.target)},DOMCharacterDataModified:function(d){c.push(d.target)},DOMSubtreeModified:function(){Edit.get().user_interaction_just_happened();Edit.get().text_changed({source:"typing"})},keyup:function(d){if(0!==c.length){b.clean_dirty_synhi_nodes()}}};this.start_synhi_mutation_cleaning()},start_synhi_mutation_cleaning:function(){for(k in this.mutation_cleaning_listeners){this.subdoc.addEventListener(k,this.mutation_cleaning_listeners[k],false)}},stop_synhi_mutation_cleaning:function(){for(k in this.mutation_cleaning_listeners){this.subdoc.removeEventListener(k,this.mutation_cleaning_listeners[k],false)}},clean_dirty_synhi_nodes:function(f){var d,c=this.subdoc;while(d=this.dirty_nodes.shift()){switch(d.nodeType){case Node.ELEMENT_NODE:var g=this.getCursorPos(true);d=this.perform_protected(function b(h){console.log(h);$A(h.childNodes).each(function(l){if(l.nodeType===Node.ELEMENT_NODE){b(l)}});var e;switch(h.tagName.toLowerCase()){case"span":case"br":h.removeAttribute("style");break;case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"a":case"table":console.info("Sorry, wont convert HTML to proper wikitext","maybe one day");default:e=document.createElement("span");$A(h.childNodes).each(function(l){e.appendChild(l)});if("div"===h.tagName.toLowerCase()){if(!(e.lastChild&&e.lastChild.tagName&&"br"===e.lastChild.tagName.toLowerCase())){if(!(h.parentNode.lastChild===h&&h.parentNode.tagName.toLowerCase()==="div")){e.appendChild(document.createElement("br"))}}}}if(e){h.parentNode.replaceChild(e,h);h=e}return h},d);this.setCursorPos(g,g,true);break;case Node.TEXT_NODE:break}console.groupEnd()}}},{get_first_range_synhi:function(){return this.subwin.getSelection().getRangeAt(0)},get_first_range_wikixml:function(){var b=this.get_first_range_synhi(),d=document.createRange();try{d.setStart(b.startContainer.wikixml,b.startOffset);d.setEnd(b.endContainer.wikixml,b.endOffset)}catch(c){console.error(c,"(",b.startContainer.wikixml,",",b.startOffset,")","-->","(",b.endContainer.wikixml,",",b.endOffset,")")}return d},setCursorPos:function(e,b,l){var f=this.subdoc.getElementById("article"),m=this,d;console.log("editpane_synhi::setCursorPos will set selection's first range to ",e,b?b:"");if(!f){return}var h=m.subwin.getSelection();if(h.rangeCount==0){d=m.subdoc.createRange();h.addRange(d)}else{d=h.getRangeAt(0)}if(l){g()}else{this.perform_wikitexted(g)}this.focus();function g(){e=c(e);d.setStart(e.node,e.offset);if(Object.isUndefined(b)){d.collapse(true);return}b=c(b);d.setEnd(b.node,b.offset)}function c(n){if(Object.isNumber(n)){n=Node.drill(f,n)}return n}},getCursorPos:function(m){if(!this.subwin||this.subwin.getSelection().rangeCount==0){return 0}var f=this.subwin.getSelection().getRangeAt(0),c=f.startContainer,h,e,o,l;if(!c){return 0}if(c.nodeType==Node.ELEMENT_NODE){if(f.startOffset==c.childNodes.length){h=c.textContent.length}else{h=0;c=c.childNodes[f.startOffset]}}else{h=f.startOffset}while(!(c.getAttribute&&(["html","body"].include(c.tagName.toLowerCase())||c.getAttribute("class")=="article"))){if(!m&&c.hasAttributes()&&(c.getAttribute("class")||"").split(" ").include("line")){var g=this.subdoc.getElementsByTagName("div");for(var d=0;d<g.length;d++){var b=g[d];if(b==c){break}if(b.getAttribute("class").split(" ").include("line")){h++}}}e=0;o=c.parentNode.firstChild;l=c.parentNode.childNodes;while(o!==c){if(!m&&o.nodeType==Node.ELEMENT_NODE&&o.tagName.toLowerCase()=="br"){h++}else{if(o.textContent===null){console.log(o)}h+=o.textContent.length}e++;o=l[e]}c=c.parentNode}return h}},{_wikixml_text_to_synhi:function(b){var d=b.nodeValue;d=d.replace(/(\s{2,}|^\s|\s$)/g,function(e){return"\xA0".times(e.length)});var c=this.subdoc.createTextNode(d);b.synhi=c;c.wikixml=b;return c},_wikixml_element_to_synhi:function(f){if(f.match("token[type=EOL]")){return null}var e=[f.tagName],d=f.getAllAttributes(),b=this;for(name in d){var h=d[name];if(h.indexOf(" ")==-1){e.push(name+"--"+h)}else{h.split(" ").each(function(m){e.push(name+"--"+m)})}}var g=["line","list","table","paragraph","preformatted","row","article"].include(f.tagName);var c=(g?"div":"span");var l=this.subdoc.createElement(c);l.setAttribute("class",e.join(" "));if(f.match("line[type~=empty]")){l.insert(["br.emptyline"])}else{$A(f.childNodes).invoke("to_synhi").compact().each(function(m){l.insert(m)})}if("article"===f.tagName){l.setAttribute("id","article")}if("link"===f.tagName&&"unknown"===f.getAttribute("available")){f.startNotifying({availability_update:function(m){b.without_cleaning_synhi_mutations(function(){l.removeClassName("available--unknown").removeClassName("available--yes").removeClassName("available--no").addClassName("available--"+m)})}})}f.synhi=l;l.wikixml=f;return l},wikixml_to_synhi:function(b){if(b.nodeType===Node.TEXT_NODE){return this._wikixml_text_to_synhi(b)}else{return this._wikixml_element_to_synhi(b)}},wikixml_to_synhi__extend_others:function(){var b=this;Article.addMethods({to_synhi:function(){return b._wikixml_element_to_synhi(this.get_xml())}});Object.extend(Element.prototype,{to_synhi:function(){return b._wikixml_element_to_synhi(this)}});Object.extend(Text.prototype,{to_synhi:function(){return b._wikixml_text_to_synhi(this)}})},update_highlighting:function(){console.info(this,"updating synhi pane from scratch now!");this.perform_protected(function(){var d=Edit.get().get_article().to_synhi(),b=this.subdoc.body,c=b.firstChild;if(c){b.replaceChild(d,c)}else{b.appendChild(d)}}.bind(this))}},{init_visitables:function(){this.add_visitor_door("maintain_cursor_pos",this.getCursorPos,this.setCursorPos);this.add_visitor_door("without_cleaning_synhi_mutations",this.stop_synhi_mutation_cleaning,this.start_synhi_mutation_cleaning);this.add_visitor_door("while_syncing_synhi_with_wikixml",this.start_wikixml_syncing,this.stop_wikixml_syncing);this.add_visitor_door("perform_protected",function(){this.stop_synhi_mutation_cleaning();return this.getCursorPos()},function(c){this.setCursorPos(c);this.start_synhi_mutation_cleaning()});var b=[];this.add_visitor_door("perform_wikitexted",this.always_without_cleaning_synhi_mutations(function(){var e=this.subdoc,d=e.getElementById("article"),f=e.createTextNode.bind(e,"\n"),c=$A(d.getElementsByTagName("div")).select(function(g){return g.getAttribute("class").split(" ").include("line")});c.pop();c.each(function(g){b.push(g.appendChild(f()))});$A(d.getElementsByTagName("br")).each(function(g){if(g.hasAttribute("class")&&g.getAttribute("class").split(" ").include("emptyline")){return}if(Prototype.Browser.Gecko){if("_moz"===g.getAttribute("type")||g.hasAttribute("_moz_editor_bogus_node")){return}if(g.parentNode.lastChild===g&&g.previousSibling&&g.previousSibling.nodeType===Node.TEXT_NODE&&g.previousSibling.nodeValue.substr(-1)===" "){return}}else{if(Prototype.Browser.WebKit){}}b.push(g.parentNode.insertBefore(f(),g))})}),this.always_without_cleaning_synhi_mutations(function(){b.invoke("remove");b=[]}))}});(function(){var d=WIKIZZLE.toolbar_actions,c=Class.create(Listener_Mixin,{initialize:function(g,f){c.name=this;Object.extend(this,FADE_MIXIN_FACTORY.make({duration:0.5,afterFinish:function(){this.owner.resize_shadow()}},{duration:1}));this.name=g;var o=[],h=$A(arguments),n,m,l=this.buttons=[];h.shift();h.shift();h.each(function(q){n=[".group"];q.each(function(r){l.push(r);n.push(r.toElement())});o.push(n);o.push([".spacer"])});o.pop();o=["div",{"class":["toolbar-wrap",f.position].join(" ")},[".toolbar-shadow"],[".toolbar",{id:g+"-toolbar"},o]];m=this.element=o.toElement();m.store("toolbar",this);if(f.start_hidden){m.style.display="none"}if(f.show_only_in){this.listento(Edit.get(),{editpane_cursor_move_change_node:function(s,r){var q=r.path("article").any(function(t){return(t.nodeType==Node.ELEMENT_NODE&&t.tagName==f.show_only_in)});if(q){this.appear()}else{this.fade()}}})}var e=this.resize_shadow.bind(this);$("editarea-wrapper").insert(this);new Draggable(m);e.defer();window.startNotifying({resize:e})},resize_shadow:function(){var f=this.element,g=f.select(".toolbar-shadow").first(),e=f.select(".toolbar").first();g.clonePosition(e,{setLeft:0,setTop:0})},toElement:function(){return this.element},toString:function(){return this.name+" toolbar"}});EditPane.get().when({synhi_ready:function b(){new c("edit",{draggable:true,position:"top-left"},[new d.Text_Wrapper("bold","ctrl+b","'''","'''",$w("article line table")),new d.Text_Wrapper("italic","ctrl+i","''","''",$w("article line table")),new d.Text_Wrapper("u","ctrl+u","<u>","</u>",$w("article line table")),new d.Text_Wrapper("strike","ctrl+k","<strike>","</strike>",$w("article line table"))]);new c("save",{position:"bottom-right"},[new d.Action("cancel","esc",function(g,f){var h=Interface.get();$("cancel-but").startNotifying({click:h.set_selected_tab.bind(h,"view")})}),new d.Action("save","ctrl+s",function(g,f){f.showDialog(Save_Interface.get())})]);new c("table",{position:"bottom-left",show_only_in:"table",start_hidden:true},[new d.Placeholder("insert-row   ","ctrl+-",Function.empty),new d.Placeholder("insert-column","ctrl+\\",Function.empty),new d.Placeholder("delete-row","ctrl+shift+_",Function.empty),new d.Placeholder("delete-column","ctrl+shift+|",Function.empty),new d.Placeholder("make-header-cell","ctrl+1",Function.empty)])}})})();XMLHttpRequest._send_url_encoded=function _url_encoded(c,d,h,g){if(h!="POST"&&h!="GET"){throw"invlaid method - neither POST nor GET"}var b=null;var f=url_utils.encode_url_vars(c,true);if("GET"==h){d+="?"+f}else{b=f}var e=new XMLHttpRequest();e.set_complete_action(function(){var l=e.responseText;if("application/json"==e.get_content_type()){try{l=l.evalJSON()}catch(m){alert("could not parse "+l+" error was "+m)}}g(l,e)});e.open(h,d,true);e.setRequestHeader("Content-Type","application/x-www-form-urlencoded");e.send(b)};XMLHttpRequest.send_url_encoded_post=function url_encoded_post(b,c,d){XMLHttpRequest._send_url_encoded(b,c,"POST",d)};XMLHttpRequest.send_url_encoded_get=function url_encoded_get(b,c,d){XMLHttpRequest._send_url_encoded(b,c,"GET",d)};XMLHttpRequest.prototype.get_content_type=function(){var b=this.getResponseHeader("Content-Type");return(b.split(";"))[0]};var Grammar_Cacher={};Grammar_Cacher.add_cache=(function(){var b={};return function(c){return c}})();var Grammar=Class.create({initialize:function(c,d,b){this.pattern=c;this.jsonml=d;if(b){Object.extend(this,b)}},make_ele:function grammar__make_ele(c){var b=this.jsonml.toElement();if(c){b.insertAll(c)}return b},get_created_tagname:function(){return this.jsonml[0]},get_created_namespace:function(){return this.namespace},toString:function(){return"a grammar that didn't override toString"},tolerates_errors:function(){return false},parse:function(c,b,d){throw new Error("A Grammar subclass didn't override parse")}});Grammar.xml={sym:function(e,b,c){var d=new Sym_Grammar({left:Grammar.xml._tag_regex(e,true,b),right:Grammar.xml._tag_regex(e,false)},[e],{namespace:"xhtml"});if(c){d.perform_on=c}return d},token:function(d,b,c){return new Token_Grammar(Grammar.xml._empty_tag_regex(d,b),[d],{namespace:"xhtml"})},_empty_tag_regex:function(b,c){return new RegExp("(<"+b+"\\s*\\/?>)","i")},_tag_regex:function(c,b,d){var e;if(b){if(d){return new RegExp("(<"+c+"(?:\\s[^>]*)?>)","i")}else{return new RegExp("(<"+c+"[\\s]*>)","i")}}else{return new RegExp("(<\\/"+c+"[\\s]*>)","i")}}};Element.addMethods({increment_version:function(b){if(!b.retrieve("version")){b.store("version",1);return}var c=b.retrieve("version");c++;b.store("version",c)},get_version:function(b){var c=b.retrieve("version");if(!c){return 0}return c},version_changed:function(c,b){return(c.get_version()!=b)}});function get_letter(b){return String.fromCharCode(b+97)}function diff(d,c){var e=Math.min(d.length,c.length);for(var b=0;b<e;b++){if(d.charCodeAt(b)!=c.charCodeAt(b)){return b}}return -1}function get_unique_id(c,d){var e=c.replace(/\s/g,"_");e=e.replace(/\W/g,"");e=e.toLowerCase();if(d[e]){var b=2;while(d[e+"_"+b]){b++}e+="_"+b}d[e]=true;return e}var CHAR_REF_REGEX=/&(\w{2,7}|#\d{3,4});/g;function expand_char_references(e){var c="";var d;var f=0;while((d=CHAR_REF_REGEX.exec(e))!=null){var b=new Number(d[1]);if(isNaN(b)){b=CHAR_ENTITIES[d[1].toLowerCase()]}c+=e.substring(f,d.index)+String.fromCharCode(b);f=d.index+d[0].length}c+=e.substring(f);return c}var Composite_Grammar=Class.create(Grammar,{initialize:function(){this.component_grammars=[];this.add_grammars($A(arguments))},add_grammars:function(b){b.each(function(c){if(c.constructor==Array){this.add_grammars(c)}else{if(c.constructor==Composite_Grammar){this.add_grammars(c.component_grammars)}else{this.component_grammars.push(c)}}},this)},reject:function(b){return new Composite_Grammar(this.component_grammars.reject(b))},reject_tag:function(b){return this.reject(function(c){c.tag==b})},toString:function(){return"Composite_Grammar containing:\n\t"+(this.component_grammars.length?this.component_grammars.invoke("toString").join("\n\t"):"(nothing)")},prune:function(g,m){var l;if(Object.isString(g)){l=g.toLowerCase()}else{l=g.selectXpath(".//text()").select(function(q){return !((q.parentNode.nodeType==Node.ELEMENT_NODE)&&(q.parentNode.tagName=="token"))}).pluck("nodeValue").join(" ").toLowerCase()}if(""==l){return new Composite_Grammar()}var c=[];var e=null;var h=null;var o=null;var n=null;var f=null;var b=null;var d=null;this.component_grammars.each(function(q){var r=q.get_created_tagname();if("xhtml"==q.get_created_namespace()){if(e===null){e=(l.indexOf("<")==-1)}if(e){return}if(r.length>2){if(l.indexOf(r)==-1){return}}else{if((l.indexOf("<"+r)==-1)&&(l.indexOf("</"+r)==-1)){return}}}else{if(r=="link"||r=="ext-link"){if(h===null){h=((l.indexOf("[")==-1)&&(l.indexOf("]")==-1))}if(h){return}}else{if(r=="bold"||r=="italic"){if(n===null){n=(l.indexOf("''")==-1)}if(n){return}}else{if(r=="char-ref"){if(l.indexOf("&")==-1){return}}else{if(r=="heading"){if(d===null){d=(l.indexOf("=")==-1)}if(d){return}var t=q.wrapee.jsonml[1].level;var s="=".times(t);if(l.indexOf(s)==-1){return}}else{if(r=="rule"){if(l.indexOf("--")==-1){return}}else{if(r=="template-ref"||r=="template-var name"){if(b===null){b=((l.indexOf("{{")==-1)&&(l.indexOf("}}")==-1))}if(b){return}}else{if(r=="comment"){if((l.indexOf("<!")==-1)&&(l.indexOf("->")==-1)){return}}else{if(r=="signature"){if(o===null){o=(l.indexOf("~~~")==-1)}if(o){return}}else{if(r.indexOf("magicword-")!=-1){if(f===null){f=(l.indexOf("__")==-1)}if(f){return}}}}}}}}}}}c.push(q)});if(this.component_grammars.length==c.length){return this}if(c.length==0){return Null_Grammar.get()}if(c.length==1){return c[0]}return(new Composite_Grammar(c))},_parse:function(c,b){this.component_grammars.invoke("parse",c,b)},parse:function(d,c){function e(f){switch(f.tagName){case"token":case"target":case"char-ref":case"xhtml-attrs":return false;default:return true}}if(d.childNodes.length==1&&d.firstChild.nodeType==Node.ELEMENT_NODE){if(e(d.firstChild)){this.parse(d.firstChild,c)}return}var b=this.prune(d,c);if(b instanceof Null_Grammar){return}if(b instanceof Composite_Grammar){b._parse(d,c)}else{b.parse(d,c)}d.childElements().each(function(f){if(!e(f)){return}b.parse(f,c)})}});var Parser={run_oncomplete:function(c,b){[c,c.descendants()].flatten().pluck("oncomplete").compact().invoke("call",null,b)}};var In_One_Parser=Class.create(Parser,Listener_Mixin,{initialize:function(b){this.waitfor(b,{loaded:function(){var c=new Parse_Context(b);console.time("In_One_Parser "+b.get_name());var e=split_wikitext_lines(b.get_text());b.set_xml(e);var d=Line_Parser_Collection.get();e.select("line").each(function(f){d.parse(f,c)});this.run_oncomplete(e,c);console.timeEnd("In_One_Parser "+b.get_name());b.circulate("parse_complete",e)}})}});var Line_Parser=Class.create({initialize:function(){this.cache={}},parse_inside:function(c,b){b.ctx_common_grammars.parse(c,b)}});var Empty_Line_Parser=Class.create(Line_Parser,{parse:function(c,b){var d=c.textContent;if(d==""||d=="\n"){c.setAttribute("type","empty");return true}return false}});var Block_Line_Parser=Class.create(Line_Parser,{initialize:function(b){this._tagName=b},blockparse:function(c,b){c.setAttribute("type",this._tagName);var d=this._tagName;var e=c.previous();if(e&&e.tagName==d){e.insert(c)}else{c.wrap(d)}this.parse_inside(c,b)}});var Paragraph_Line_Parser=Class.create(Block_Line_Parser,{initialize:function($super){$super("paragraph")},parse:function(c,b){if(!/^\s*$/.test(c.textContent)){this.blockparse(c,b);return true}return false}});var Pre_Line_Parser=Class.create(Block_Line_Parser,{initialize:function($super){$super("preformatted")},parse:function(c,b){var e=c.textContent,d=c.previous();if(d&&d.tagName=="preformatted"&&/^\s/.test(e)){this.blockparse(c,b);return true}if(/^\s+\S/.test(e)){this.blockparse(c,b);return true}return false}});var Heading_Line_Parser=Class.create(Line_Parser,{parse:function(d,b){var c=d.get_version();b.ctx_heading_grammars.parse(d,b);if(d.version_changed(c)){d.setAttribute("type","heading");b.ctx_common_grammars.parse(d.down("heading"),b);return true}else{return false}}});var List_Line_Parser=Class.create(Line_Parser,{parse:function(o,m){var c=o.textContent;var g=/^([\*:;#]+)(\s*)(.*)/.exec(c);if(!g){return false}o.setAttribute("type","list");g={baubles:g[1],whitespace:g[2],content:g[3]};var n={"*":"bullet","#":"numbered",":":"indent",";":"definition"};m.ctx_common_grammars.parse(o,m);var q=g.baubles.toArray().collect(function(s){return n[s]});o.firstChild.splitText(g.baubles.length);o.removeChild(o.firstChild);o.insertAll({top:g.baubles.toArray().collect(function(s){return["token",{type:"bauble "+n[s]},s]})});var b=o.wrap("item");var h=b.previous();var f=0,d,r;for(;;){r=q[f++];if(h&&h.match("list[type="+r+"]")){var e=h;h=h.lastChild}else{f--;h=e;break}}var l=b;for(d=q.length-1;d>=f;d--){l=l.wrap("list",{type:q[d]})}if(f!=0){h.insert(l)}return true}});var Line_Parser_Collection=Class.create({initialize:function(){this._line_parsers=$A(arguments)},parse:function(c,b){if(c.match("token[type=EOF]")){return}this._line_parsers.each(function(e){var d=e.parse(c,b);if(d){throw $break}})}});Line_Parser_Collection.get=function(){return new Line_Parser_Collection(new Table_Line_Parser(),new Empty_Line_Parser(),new Heading_Line_Parser(),new List_Line_Parser(),new Pre_Line_Parser(),new Paragraph_Line_Parser())};var regex_perfomed_no=0;var MULTISTRING_MIXIN={textnodes_to_strings:function(){return this.collect(function(b){if(b.nodeType&&b.nodeType==Node.TEXT_NODE){return b.nodeValue}return b})},strings_to_textnodes:function(){return this.collect(function(b){if(b.constructor==String){return document.createTextNode(b)}return b})},multistr_indexof:function(e,m,n){m=m||0;n=n||0;function g(r,s,q){var o=r.get_indexOf(e,q);if(o==-1){return null}return new Multistr_Search_Results(s,o,r,e)}function f(s,t,q){var o;if(q===0){o=s}else{o=s.get_sub(q)}var r=o.regex_exec(e);if(r==null){return null}found=r[1];if(!found){throw ("are you sure Regexp "+e+" has at least one subexpression?")}char_index=o.get_indexOf(found)+q;return new Multistr_Search_Results(t,char_index,s,found)}var l=(e.constructor==RegExp?f:g);for(var d=m;d<this.length;d++){var h=this[d];if(!h.get_indexOf){continue}var b=(d==m?n:0);var c=l(h,d,b);if(c){return c}}return null},multistr_before:function(b){return this.multistr_subsection(0,0,b.str_index,b.char_index)},multistr_after:function(b){return this.multistr_subsection(b.str_index,b.char_index_after_found())},multistr_separate:function(b){return{before:this.multistr_subsection(0,0,b.str_index,b.char_index),after:this.multistr_subsection(b.str_index,b.char_index_after_found())}},multistr_subsection:function(d,g,c,b){if(d==c){return[this[d].get_sub(g,b)]}if(d>=this.length){return[]}var f=[];if(g==0){f.push(this[d])}else{if(!this[d].get_sub){throw ("asked to split ["+this+"] starting at ("+d+","+g+") but item "+d+" has no get_sub function")}if(g<this[d].length){f.push(this[d].get_sub(g))}}if(c){for(var e=d+1;e<c;e++){f.push(this[e])}}else{for(var e=d+1;e<this.length;e++){f.push(this[e])}return f}if(b){if(!this[c].get_sub){throw ("asked to split ["+this+"] ending at ("+c+","+b+") but item "+c+" has no get_sub function")}f.push(this[c].get_sub(0,b))}return f},multistr_split:function(d,c,n){if(!n){n=Prototype.K}if(this.length==0){return[]}var b=this.multistr_indexof(d);if(b==null){return[n($A(this))]}var h=[];if(!((b.str_index==0)&&(b.char_index==0))){var e=this.multistr_subsection(0,0,b.str_index,b.char_index);e=n(e);h.push(e)}var m;if(c){m=b.found;if(c.constructor==Function){m=c(m)}h.push(m)}var f=true;while(f){var l=b;var b=this.multistr_indexof(d,l.str_index,l.char_index_after_found(),"","");m=null;if(b){if(c){m=b.found;if(c.constructor==Function){m=c(m)}}}else{b=new Multistr_Search_Results(this.length,0,"","");f=false}var g=!this._multistr_same_pos(l.str_index,l.char_index_after_found(),b.str_index,b.char_index);if(g){var e=this.multistr_subsection(l.str_index,l.char_index_after_found(),b.str_index,b.char_index);e=n(e);h.push(e)}if(m){h.push(m)}if((b.str_index==this.length-1)&&(b.char_index_after_found()==this.last().length)){f=false}}return h},_multistr_same_pos:function(d,e,b,c){if(d==b&&e==c){return true}if((d+1==b)&&(e>=this[d].length)&&(c==0)){return true}return false}};Object.extend(Array.prototype,MULTISTRING_MIXIN);Object.extend(NodeList.prototype,MULTISTRING_MIXIN);Element.addMethods({multistr_indexof:function(c,b,d,e){return c.childNodes.multistr_indexof(b,d,e)},multistr_before:function(b,c){return b.childNodes.multistr_before(c)},multistr_after:function(b,c){return b.childNodes.multistr_after(c)},multistr_separate:function(b,c){return b.childNodes.multistr_separate(c)},multistr_subsection:function(d,e,f,c,b){return d.childNodes.multistr_subsection(e,f,c,b)},multistr_split:function(b,e,d,c){return b.childNodes.multistr_split(e,d,c)}});var Multistr_Search_Results=Class.create({initialize:function(e,c,d,b){if(d instanceof Text){d=d.data}this.str_index=e;this.char_index=c;this.str=d;this.found=b},toString:function(){return Object.toJSON(this)},is_before:function(b){if(this.str_index<b.str_index){return true}if((this.str_index==b.str_index)&&(this.char_index_after_found()<b.char_index)){return true}return false},char_index_after_found:function(){return this.char_index+this.found.length},equals:function(b){return this.str_index==b.str_index&&this.char_index==b.char_index}});var Null_Grammar=Singleton.create(Grammar,{toString:function(){return"the null grammar"},parse:function(c,b,d){return c},tolerates_errors:function(){return false}});var Parse_Context=Class.create({initialize:function(b){this.perform_post_proc=true;this.unique_ids={};this.ctx_common_grammars=COMMON_GRAMMARS;this.ctx_heading_grammars=HEADING_GRAMMARS;if(b){this.sublanguage(b)}},sublanguage:function(b){var c=(b instanceof Article?b.get_text():b);this.ctx_common_grammars=this.ctx_common_grammars.prune(c);this.ctx_heading_grammars=this.ctx_heading_grammars.prune(c)}});var Incremental_Parser=(function(){var b=66;return Class.create(Parser,{initialize:function(c){c.when({loaded:function(){var d=new Parse_Context(c);var f=split_wikitext_lines(c.get_text());c.set_xml(f);var h=f.firstChild,l,e=Line_Parser_Collection.get();c.circulate("parse_start",f,h);var g=function(){var n=false,q=false,o=new Date().getTime()+b;while((new Date().getTime())<o){var m=h.next();if(q=h.match("token[type=EOF]")){break}e.parse(h,d);this.run_oncomplete(h,d);c.circulate("line_parse",f,h);n=true;l=h;h=m}if(!q){if(n){c.circulate("parse_progress",f,l)}g.delay(b/2000)}else{c.circulate("parse_complete",f)}}.bind(this);g()}},this)}})})();function Present_Context(b){this.external_linkno=1;this.include_toc=b;this.toc_on_page=false;this.headings_in_toc=0;if(b){this.container_div=["#toc_inside_div"].toElement();this.toc=["#tocContainer",["table#toc",["tbody",["tr#toctitle",["td",["span.tocheading",Language.get().string("toc")],["span.toctoggle"," [",["a#showlink",{href:"javascript:toggle_toc();"},"show"],["a#hidelink",{href:"javascript:toggle_toc();"},"hide"],"] "]]],["tr#tocinside",["td",this.container_div]]]]].toElement()}}Present_Context.prototype.next_ext_linkno=function(){return this.external_linkno++};var Repeater_Grammar=Class.create(Grammar,{initialize:function(b){this.wrapee=b},toString:function(c,b){return"repeater grammar wrapping ["+this.wrapee+"]"},make_ele:function repeater_grammar__make_ele(b){return this.wrapee.make_ele(b)},get_created_tagname:function(){return this.wrapee.get_created_tagname()},get_created_namespace:function(){return this.wrapee.get_created_namespace()},parse:function(d,c){var b=this.wrapee;function e(g){do{var f=d.get_version();b.parse(d,c,g)}while(d.version_changed(f))}e(false);if(b.tolerates_errors()){e(true)}}});var Simple_Parser=Singleton.create(Parser,{to_xml:function(e){var b=new Parse_Context(e);var d=split_wikitext_lines(e);var c=Line_Parser_Collection.get();d.select("line").each(function(f){c.parse(f,b)});this.run_oncomplete(d,b);return d},to_xhtml:function(b){console.log(b);console.log(this.to_xml(b).toIndentedXml());return as_XHTML(this.to_xml(b))}});var Sym_Grammar=Class.create(Grammar,{toString:function(){return"Sym_Grammar: makes #{e} from #{l} and #{r}".interpolate({e:this.make_ele().toXmlString(),l:this.pattern.left,r:this.pattern.right})},parse:function(e,v,c){var u=this.pattern.left;var r=this.pattern.right;var x=false,h=false;var t=e.multistr_indexof(u);if(!t){if((!c)||(u==r)||(this.never_allow_wikil_missing)){return}x=true}else{u=t.found}var s;if(!x){s=e.multistr_indexof(r,t.str_index,t.char_index+u.length)}else{s=e.multistr_indexof(r)}if(!s){if((!c)||(this.never_allow_wikir_missing)){return}h=true}else{r=s.found}if(h&&x){return}if(!c){var q;do{q=t;t=e.multistr_indexof(u,q.str_index,q.char_index+1)}while(t!=null&&t.is_before(s));t=q}if(x){t=s;u=r}else{if(h){s=t;r=u}}e.increment_version();var g=$A(e.childNodes);e.makeEmpty();for(var w=0;w<t.str_index;w++){e.insert(g[w])}var n=t.str.substring(0,t.char_index);if(n!=""){e.insert(n)}if(x||h){var y;if(this.pattern.left==this.pattern.right){y="open or close missing"}else{y=x?"open missing":"close missing"}var l=this.make_ele().wrap("syntax-error",{type:y});l.ns="wikizzle";e.insert(l)}else{var d=g.multistr_subsection(t.str_index,t.char_index_after_found(),s.str_index,s.char_index);var m=this.make_ele(d);e.insert(m);if(this.onmatch){this.onmatch(m,v,u,r)}var o=this.get_created_tagname();m.insert({top:["token",{direction:"open",type:o},t.found]});var f=m.getAttribute("suffix");if(m.getAttribute("suffix")){var z=s.found.length-f.length;m.insert({bottom:["token",{direction:"close",type:o},s.found.substring(0,z),["token",{type:"suffix"},s.found.substring(z)]]})}else{m.insert({bottom:["token",{direction:"close",type:o},s.found]})}if(this.oncomplete){m.oncomplete=this.oncomplete.methodize().bind(m)}}var n=s.str.substring(s.char_index+r.length);if(n!=""){e.insert(n)}for(var w=s.str_index+1;w<g.length;w++){e.insert(g[w])}}});var Table_Line_Parser=Class.create(Line_Parser,{initialize:function(){this.stack=[]},parse:function(e,v){var q=e.textContent,o=q.charAt(0),n=q.substring(0,2),f;if(this.stack.length>0){f=this.stack.last();var B=/^(\||!|{\+|\|})/.match(n);if(B){f.insert(e)}else{var c=f.childElements().reverse().find(function(C){return C.tagName==="row"});if(!c){c=["row"].toElement();f.insert(c)}function z(){var C=c.childElements().reverse().find(function(D){return D.tagName==="cell"});if(!C){C=["cell"].toElement();c.insert(C)}return C}var m=(c.lastChild.tagName=="cell-lines"?c.lastChild:(c.insert(["cell-lines",{"for":z().identify()}]),c.lastChild));m.insert(e)}}if(n!="{|"&&!f){return false}function y(D,E){var C=D.firstChild,F,G;F=C.splitText(2);G=[["token",{type:"table"},C],["options",F]];D.insert({top:G});Element.replaceWith(F,parse_html_params(F.textContent,E));return D}switch(n){case"{|":var t=y(e,"table").wrap("table");this.stack.push(t);e.setAttribute("type","table table-start");return true;case"|-":f.insert(e);y(e,"row").wrap("row");e.setAttribute("type","table table-row");return true;case"|+":f.insert(e);e.makeEmpty().insert(["caption",["token",{type:"table"},"|+"],q.substring(2)]);e.setAttribute("type","table table-caption");return true;case"|}":var b=e.firstChild.splitText(2);if(b.length!=0){e.insert({top:["ignore",b]})}e.insert({top:["token",{type:"table"},e.firstChild]});e.setAttribute("type","table table-end");this.stack.pop();return true}if(o=="!"||o=="|"){var s=e.firstChild.data.split(/(^!|^\||!!|\|\|)/);e.removeChild(e.firstChild);var x=[],l=[];for(var w=2;w<s.length;w+=2){var u=s[w-1],h=((u.charAt(0)=="!")?"heading":"data"),r=s[w],A=r.indexOf("|"),d=(A!=-1?["cell",{type:h},["options",parse_html_params(r.substring(0,A),"cell"),["token",{type:"table param-end"},"|"]],r.substring(A+1)]:["cell",{type:h},r]).toElement();x.push(["token",{type:"table "+h},u],d);l.push(d)}e.insert({top:x});var g=f.childElements().reverse().find(function(C){return C.tagName=="row"});if(!g){g=["row"].toElement();f.insert(g)}g.insert(e);l.each(function(C){v.ctx_common_grammars.parse(C,v)});e.setAttribute("type","table table-cells");return true}return false}});var Token_Grammar=Class.create(Grammar,{toString:function(){return"Token_Grammar: makes #{e} from #{p}".interpolate({e:this.make_ele().toXmlString(),p:this.pattern})},parse:function(e,c,f){var g=e.multistr_indexof(this.pattern);if(g==null){return}e.increment_version();var b=$A(e.childNodes);e.makeEmpty();e.insertAll(b.multistr_subsection(0,0,g.str_index,g.char_index));var d=["token",{type:this.get_created_tagname(),direction:"open+close"},g.found].toElement();var h=this.make_ele([d]);e.insert(h);e.insertAll(b.multistr_subsection(g.str_index,g.char_index_after_found()));if(this.onmatch){this.onmatch(h,c,g.found)}if(this.oncomplete){ele.oncomplete=this.oncomplete.methodize().bind(ele)}}});function split_wikitext_lines(b){var c,d=["article"];b.split(/(\n)/).each(function(e){if(e!="\n"){d.push(c=["line",e])}else{c.push(["token",{type:"EOL"},e])}});d.push(["token",{type:"EOF"}]);return d.toElement()}function parse_first_parameter(d,c){var b=d.multistr_indexof("|");var f=[c].toElement();if(b==null){f.insertAll($A(d.childNodes));d.insert(f);return d}var e=d.multistr_subsection(0,0,b.str_index,b.char_index);var g=d.multistr_subsection(b.str_index,b.char_index_after_found());d.makeEmpty();f.insertAll(e);d.insert(f);d.insert(["token",{direction:"open+close"},"|"].toElement());d.insertAll(g);return d}var parse_html_params=(function(){var c=/([\s])*(\w+)=(?:(")((?:[^\<\>&"']|\\")+)(")|([^\<\>&"' ]+))/g;c.exec=c.exec.wrap(function(g,h){var f=g(h);if(f){return Object.extend(f,{whitespace:f[1],name:f[2],lquote:f[3],rquote:f[5],value:(f[4]||f[6])})}return null});var b={1:"x-small",2:"small",3:"normal",4:"large",5:"x-large",6:"xx-large",7:"xx-large","-6":"50%","-5":"60%","-4":"70%","-3":"80%","-2":"90%","-1":"95%","+1":"115%","+2":"150%","+3":"175%","+4":"195%","+5":"220%","+6":"260%"};var e=$w("id class lang dir title style");var d={font:[e,$w("size color face")].flatten(),table:[e,$w("align bgcolor border cellpadding cellspacing frame rules summary vspace width")].flatten(),row:[e,$w("align bgcolor char valign width")].flatten(),cell:[e,$w("align bgcolor colspan rowspan valign width")].flatten()};return function(n,h){var s=d[h],f,q={},m=["xhtml-attrs"];while((f=c.exec(n))!=null){var t=f.name,g=f.value;switch(t){case"color":t="style";g="color:"+g;break;case"size":t="style";if(b[g]){g=b[g]}g="font-size:"+g;break;case"face":t="style";g="font-family:"+g;break}if(t=="style"){var r=g.split(";");g=q.style;if(!g){g=["style-rules"].toElement()}for(var l=0;l<r.length;l++){var o=r[l].indexOf(":");g.insert(["style-rule",["name",r[l].substring(0,o)],["token",":"],["value",r[l].substring(o+1)]].toElement())}}if(f.lquote){g=[["token",f.lquote],g,["token",f.rquote]]}m.push([(f.whitespace?["ignore",f.whitespace]:[]),["xhtml-attr",{allowed:s.include(t)?"yes":"no"},["name",f.name],["token","="],["value",g]]])}return m.toElement()}})();function name_value_xml(e,b,c){var d=[b].toElement();for(i in e){if(!e.hasOwnProperty(i)){continue}if(e[i]===true){d.insertAll(name_value_eles(i,void true,c))}else{d.insertAll(name_value_eles(i,e[i],c))}}return d}function name_value_eles(f,d,c){var e;var b=["name",f.toString()].toElement();if(!d){e=[b]}else{if(Object.isElement(d)&&(d.tagName=="value")){e=[b,d]}else{e=[b,["value",d.toString()].toElement()]}}if(c){return[c].toElement().insertAll(e)}return e}function parse_inside_font(e,c,d,b){e.insert({top:parse_html_params(d,ALLOWED_HTML_PARAMS.font)})}function decode_entity(f,b,e){var c=e.substring(1,e.length-1);var d;if(c.charAt(0)=="#"){d=new Number(c.substring(1))}else{d=CHAR_ENTITIES[c.toLowerCase()]}f.setAttribute("name",c);if(!isNaN(d)){f.setAttribute("code",""+d)}else{f.wrap("syntax-error",{type:"unknown entity",name:c})}}function parse_inside_link(e,o,q,g){var m=/^((\w|\d|_)*):(.*)/;e=parse_first_parameter(e,"target");var f=e.down("target");var b=m.exec(f.firstChild.nodeValue);if(b!=null){if(/image/i.test(b[0])){e.setAttribute("is-image","yes")}namespace_parent=f;do{var h=b[1];var d=b[3];var n=namespace_type(h);var l=["namespace",{type:n},["key",h],["token",{direction:"open+close",type:"namespace"},":"],["article-name",d]].toElement();if(namespace_parent.tagName=="namespace"){namespace_parent.down("article-name").replace(l)}else{namespace_parent.makeEmpty().insert(l)}b=m.exec(d);namespace_parent=l}while(b!=null)}else{var c=["article-name",f.firstChild.nodeValue];f.makeEmpty().insert(c)}Article.check_available(f,function(r){e.setAttribute("available",r);e.circulate("availability_update",r)});if(g!="]]"){e.setAttribute("suffix",g.substring(2))}}function namespace_type(b){if(b=="image"){return"media"}if(b=="Category"){return"category"}if(WIKIZZLE.mw_install.interwiki.has(b)){return"interwiki"}return"normal"}function parse_inside_template(b){parse_first_parameter(b,"template-name")}function seperate_other_piped_params(d,h){h=h?h:Function.empty;var m=["options"].toElement();d.insert({"-1":m});var l=0;for(var c=d.childNodes;l<c.length;l++){var b=c[l];if((b.tagName=="token")&&(b.textContent=="|")){var n=b;break}}if(!n){return}var f=$A(d.childNodes).slice(l+1,-2);f.each(function(o){d.removeChild(o)});f.multistr_split("|",e,g).each(function(o){m.insert(o)});function e(){return["token",{direction:"open+close"},"|"].toElement()}function g(o){var q=["value",o].toElement();h(q);return q}}function post_proc_link(c){if(c.down("options")){return}var e=function d(f){f.setAttribute("name","text")};if(c.getAttribute("is-image")=="yes"){e=e.wrap(function b(g,m){if(m.childNodes.length!=1){m.setAttribute("name","text");return}switch(m.textContent){case"thumb":case"thumbnail":m.setAttribute("name","thumb");return;case"frame":m.setAttribute("name","frame");return;case"right":case"left":case"center":case"none":m.setAttribute("name","horiz-align");return}var h=/(\d+)(px|em|in|cm|pt|pc|ex)/.exec(m.textContent);if(h!=null){var l=h[1];var f=h[2];m.setAttribute("name","size");m.makeEmpty().insert([["quantity",l],["units",f]]);return}g(m)})}seperate_other_piped_params(c,e)}function post_proc_template(b){if(b.down("template-params")){return}seperate_other_piped_params(b,function(d){equals_pos=d.multistr_indexof("=");if(!equals_pos){return}var c=d.mutlistr_serparate(equals_pos);d.insertAll(name_value_eles(c.before,c.after))});fetch_template_text(b)}function parse_inside_ext_link(d){var c=d.multistr_indexof(/( +)/);if(c){var e=d.multistr_separate(c);d.makeEmpty().insert(["target"].toElement().insertAll(e.before)).insert(["token",{direction:"open+close"},c.found]).insert(options_eles({text:e.after}))}else{var b=["target"].toElement();b.insertAll($A(d.childNodes));d.insert(b).insert(options_eles({}))}}function options_eles(c){var d=["options"];for(var b in c){d.push(["value",{name:b},c[b]])}return d.toElement()}function give_unique_id(e,b){var f=e.getAttribute("id");if(f){return f}var c=e.textContent;var d=get_unique_id(c,b.unique_ids);e.setAttribute("id",d)}var HEADING_GRAMMARS=new Composite_Grammar([new Sym_Grammar({left:/^(==)[^=]/,right:"=="},["heading",{level:2}],{oncomplete:give_unique_id}),new Sym_Grammar({left:/^(===)[^=]/,right:"==="},["heading",{level:3}],{oncomplete:give_unique_id}),new Sym_Grammar({left:/^(====)[^=]/,right:"===="},["heading",{level:4}],{oncomplete:give_unique_id}),new Sym_Grammar({left:/^(=)[^=]/,right:"="},["heading",{level:1}],{oncomplete:give_unique_id}),new Sym_Grammar({left:/^(=====)[^=]/,right:"====="},["heading",{level:5}],{oncomplete:give_unique_id}),new Sym_Grammar({left:/^(======)/,right:"======"},["heading",{level:6}],{oncomplete:give_unique_id})].collect(function(b){return new Repeater_Grammar(b)}));var PRESENTATION_GRAMMARS=new Composite_Grammar([new Sym_Grammar({left:"'''",right:"'''"},["bold"]),new Sym_Grammar({left:"''",right:"''"},["italic"]),Grammar.xml.sym("code"),Grammar.xml.sym("tt"),Grammar.xml.sym("b"),Grammar.xml.sym("u"),Grammar.xml.sym("i"),Grammar.xml.sym("small"),Grammar.xml.sym("strike"),Grammar.xml.sym("center"),Grammar.xml.sym("sup",true),Grammar.xml.sym("sub",true),Grammar.xml.sym("cite",true),Grammar.xml.sym("h1"),Grammar.xml.sym("h2"),Grammar.xml.sym("h3"),Grammar.xml.sym("h4"),Grammar.xml.sym("h5"),Grammar.xml.sym("h6"),Grammar.xml.sym("big"),Grammar.xml.sym("font",true,{onmatch:parse_inside_font}),Grammar.xml.token("br")].collect(function(b){return new Repeater_Grammar(b)}));var COMMON_GRAMMARS=(new Composite_Grammar(PRESENTATION_GRAMMARS,[new Sym_Grammar({left:"<!--",right:"-->"},["comment"]),new Sym_Grammar({left:"{{{",right:"}}}"},["template-var name"]),new Sym_Grammar({left:/(\{\{(?:template:)?)/i,right:"}}"},["template-ref"],{onmatch:parse_inside_template,oncomplete:post_proc_template}),new Sym_Grammar({left:/(\[\[)(?!(?:http|https|mailto|news|ftp|irc))/,right:/(]]\w*)/},["link",{available:"unknown"}],{onmatch:parse_inside_link,oncomplete:post_proc_link}),new Sym_Grammar({left:/(\[)(?:mailto:|(?:http|https|news|ftp|irc):\/\/)/,right:"]"},["ext-link",{}],{onmatch:parse_inside_ext_link,no_missing_wikil:true,no_missing_wikir:false}),new Token_Grammar("----",["rule"]),new Token_Grammar("~~~~~",["signature",{"show-name":"no","show-date":"yes"}]),new Token_Grammar(/(?:^|[^~])(~~~~)(?:$|[^~])/,["signature",{"show-name":"yes","show-date":"yes"}]),new Token_Grammar(/(?:^|[^~])(~~~)(?:$|[^~])/,["signature",{"show-name":"yes","show-date":"no"}]),new Token_Grammar(/(&(?:\w{2,10}|#\d{1,10});)/,["char-ref"],{onmatch:decode_entity}),new Token_Grammar("__TOC__",["magicword-toc-placeholder"]),new Token_Grammar("__FORCETOC__",["magicword-force-toc"]),new Token_Grammar("__NOTOC__",["magicword-no-toc"])].collect(function(b){return new Repeater_Grammar(b)})));var XML_convertors={article:"div#article",bold:"b",italic:"i",code:"code",tt:"tt",i:"i",b:"b",u:"u",br:"br",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",big:"big",small:"small",strike:"strike",center:"div.center",sup:"sup",sub:"sub",cite:"cite",font:"span.font","xhtml-attrs":XHTML_attrs_as_XHTML,paragraph:"p",preformatted:"pre",heading:heading_as_XHTML,token:"omit",link:link_as_XHTML,"ext-link":link_as_XHTML,target:target_as_XHTML,list:list_as_XHTML,item:"li","syntax-error":syn_err_as_XHTML,line:line_as_XHTML,"template-ref":template_ref_as_XHTML,"template-name":"omit","template-params":"omit","template-text":"DocumentFragment","template-var":template_var_as_XHTML,comment:"omit","char-ref":"span.char-ref",rule:"hr",signature:signature_as_XHTML,table:"table",row:"tr",cell:"td","cell-lines":cell_lines_as_XHTML,options:"ChildrenOnly"};function as_XHTML(e,d){if(Node.TEXT_NODE===e.nodeType){return textnode_as_XHTML(e)}var b=XML_convertors[e.tagName];if(!b){var c=["pre .not-converting",e.tagName+" not supported yet\n "+e.toIndentedXml()].toElement();return c}switch(b.constructor){case String:return convert_direct_equivlence(e,b,d);case Function:return b(e,d);default:throw"unknown converter type"}throw"flow shouldn't get here!"}function textnode_as_XHTML(b){var c=b.cloneNode(false);b.set_xhtml(c);return c}function convert_direct_equivlence(d,b,c){var e;switch(b){case"DocumentFragment":case"ChildrenOnly":e=document.createDocumentFragment();break;case"omit":return null;default:e=[b].toElement()}if(e.nodeType===Node.ELEMENT_NODE){d.set_xhtml(e)}do_children(e,d.childNodes,c);return e}function update_XHTML(d){var b=d.get_xhtml();if(b&&b.parentNode!=null){var c=as_XHTML(d);b.parentNode.replaceChild(c,b);return}setTimeout(function(){update_XHTML(d)},300)}function do_children(c,e,d){if(e instanceof NodeList){e=$A(e)}var b=e.collect(function(f){return as_XHTML(f,d)}).compact();c.insertAll(b)}function line_as_XHTML(d,c){var b=d.getAttribute("type").split(" "),e;if(b.include("table")){return convert_direct_equivlence(d,"ChildrenOnly",c)}if(b.include("paragraph")){e=convert_direct_equivlence(d,"span.line",c);e.insert(" ")}else{e=convert_direct_equivlence(d,"div.line",c)}if(b.include("heading")){e.addClassName("heading-line")}if(/^\s*$/.test(d.textContent)){e.insert(["span.edit-hint","¶"]);e.addClassName("empty-line")}return e}function cell_lines_as_XHTML(c,b){return convert_direct_equivlence(c,"div.cell-lines",b)}function XHTML_attrs_as_XHTML(f,e){if(f.childNodes.length==0){return null}var b=["div.errors"],d=f.parentNode,h=d.get_xhtml(),c;while(d.tagName=="token"||d.tagName=="line"||!h){d=d.parentNode;h=d.get_xhtml()}console.log("will apply ",f,"to",d);f.childElements().each(function(l){if(l.tagName!="xhtml-attr"){return}var m=l.down("name").textContent;var n=l.down("value");if(l.getAttribute("allowed")=="no"){b.push(error_marker("attribute '"+m+"' unknown or not allowed"));c=true}if(m=="style"){n=n.select("style-rule").pluck("textContent").join(";")}else{n="todo"}h.setAttribute(m,n)});if(!c){return null}var g=b.toElement();if(b.length>1){f.set_xhtml(g)}return g}function heading_as_XHTML(f,c){var b=f.getAttribute("level");var d=["h"+b].toElement();do_children(d,f.childNodes,c);var l=f.textContent;var h=f.getAttribute("id");d.setAttribute("id",h);var g=d;if(c.include_toc){if(!c.toc_on_page){c.toc_on_page=true;g=document.createDocumentFragment();g.appendChild(c.toc);g.appendChild(d)}var e=[".tocline"+b,["a",{href:"#"+h},l]].toElement();c.container_div.appendChild(e);c.headings_in_toc++;if(c.headings_in_toc==5){c.toc.addClassName("full")}}var m=edit_section_link(h);var n=document.createDocumentFragment();n.insert(g).insert(m).insert(d);f.set_xhtml(d);return n}var section_numbers={};var num_sections=1;function edit_section_link(b){if(section_numbers[b]==undefined){section_numbers[b]=num_sections++}url="javascript:Interface.get().set_selected_tab( 'edit', '"+b+"' )";return[".editsection",["a",{href:url},"edit"]].toElement()}function list_as_XHTML(e,d){var b,g=true;switch(e.getAttribute("type")){case"bullet":b=["ul"];break;case"numbered":b=["ol"];break;case"indent":b=["ul.indent"];break;default:b=["pre.not-converting","not doing "+list_type+" lists yet\n"+e.wiki_xml.toIndentedXml()];g=false}var c=b.toElement();var f=("list"==e.parentNode.tagName)?c.wrap(["li.phantom"].toElement()):c;e.set_xhtml(f);if(g){do_children(c,e.childNodes,d)}return f}function template_ref_as_XHTML(d,c){var e;if(d.attributes.unavaliable=="true"){e=[".template.not-avaliable","template not avaliable"].toElement();d.set_xhtml(e);return e}var b=d.down("template-text");if(b==null){e=[".template.waiting"].toElement();d.set_xhtml(e);return e}var e=["span.template"].toElement();do_children(e,d.childNodes,c);d.set_xhtml(e);return e}function template_var_as_XHTML(d,c){var f=d.down("value");if(f==null){var b=d.down("name");var e=span(".template-sub .unassigned");e.appendChild(error_marker("no value for template parameter"));do_children(e,b.childNodes,c);return e}var e=span(".template-sub");do_children(e,f.childNodes,c);return e}function signature_as_XHTML(d,c){var b=["span.signature"];if(d.attributes["show-name"]=="yes"){b.push(["span.name.server-field","your username"])}if(d.attributes["show-date"]=="yes"){b.push(["span.date.server-field","current date"])}var e=b.toElement();d.set_xhtml(e);return e}function target_as_XHTML(b){var c=["span.target",b.textContent].toElement();b.set_xhtml(c);return c}function get_link_caption(f,e){var c=f.select("options value[name=text]");if(c.length!=0){return $A(c.first().childNodes)}var b=("ext-link"==f.tagName);if(b){var d="["+e.next_ext_linkno()+"]";return[d.toNode()]}else{return[f.down("target")]}}function combine_strings_and_char_refs(b){var e="";for(var d=0;d<b.length;d++){var c=b[d];if(c.constructor==String){e+=c}else{if(c.tag_name=="char-ref"){e+=c.children[0]}}}return e}function get_article_name(b){switch(b.tagName){case"target":case"namespace":case"article-name":return b.textContent;default:throw"unknown tag "+b.tagName+" in article name "+b.toXmlString()}}function link_as_XHTML(h,n){function q(y){switch(y){case"yes":return"";case"no":return"new";case"unknown":case"unknowable":return"unknown"}}if(h.getAttribute("is-image")=="yes"){return image_as_XHTML(h,n)}var d=("ext-link"==h.tagName);var x=h.down("target");var g=get_article_name(x);var t=x.down("namespace");var e=t?t.attributes:null;var r=e&&e.type=="interwiki";var f=Interface.get().get_sticky_url_params();var c,u;if(d){c=g;u="external"}else{if(r){var s=e.key.toLowerCase();var b=WIKIZZLE.mw_install.interwiki.get_url(s);var v=get_article_name(t.firstChild);c=b.replace("$1",v);u="extiw"}else{var l=h.getAttribute("available");if("no"==l){f.action="edit"}c=Wikizzle_URIs.get().internal_uri(g,f);u=q(l);if(l=="unknown"){h.startNotifying({availability_update:function(y){o.removeClassName("new").removeClassName("unknown").addClassName(q(y))}})}}}var o=["a",{href:c,"class":u}].toElement();var w=get_link_caption(h,n);h.set_xhtml(o);do_children(o,w,n);if(e&&e.key=="Category"){var m=$("catlinks");m.appendChild(o);m.style.display="block";return document.createDocumentFragment()}return o}function clear_catlinks(){var b=$("catlinks");while(b.hasChildNodes()){b.removeChild(b.lastChild)}b.style.display="none"}function image_as_XHTML(n,q){var e=["div","here is an image"].toElement();n.set_xhtml(e);return e;var A=n.children[0].children[0];var c=A.attributes.name;var m=A.attributes.id;var s=name_value_map(n.down("linkoptions"));var r=s.frame;var y=s.thumb;var t=s.size?s.size.down("quant").children[0]:false;var v=s["horiz-align"]?s["horiz-align"].children[0]:false;var z=s.text;if(!t&&y){t=180}if(!v&&y){v="right"}if(y){r=true}var b=s.expanded?Medaiwiki_URIs.get().image_url(c,false,t):Medaiwiki_URIs.get().image_url(c,y,t);var x=img(".content-img",b);if(t&&!s.expanded){x.style.width=t+"px"}if(s.expanded){x.style.minWidth=s["width-as-thumb"].children[0]+"px";x.style.minHeight=s["height-as-thumb"].children[0]+"px";x.style.backgroundImage="url("+s["src-as-thumb"].children[0]+")"}var f;if(y){x.onmouseover=highlight_thumb;x.onmouseout=unhighlight_thumb;f=s.expanded?"javascript:collapse_thumb('"+m+"')":"javascript:expand_thumb('"+m+"')";x=["a",{href:f,"class":(r?"internal":"image")},x].toElement()}var e=x;if(r){var o=[".thumbcaption"].toElement();if(y){var u="/#{dir}/skins/colorbook/magnify-wysi#{flip}#{rev}.png".interpolate({dir:WIKIZZLE.this_install.dir,flip:v=="left"?"-flip":"",rev:s.expanded?"-rev":""});o.insert([".magnify",["a.internal",{href:f},["img",{alt:"enlarge",src:u,width:15,height:11}]].toElement()])}if(z){var w=span(".captiontext");if(s.expanded&&s["caption-width-as-thumb"]){o.style.maxWidth=s["caption-width-as-thumb"].children[0]+"px"}o.appendChild(w);do_children(w,z.childNodes,q)}var h=div("",[x,o]);if(t){if(s.expanded){}else{h.style.width=(Number(t)+2)+"px"}}var d={left:".tleft",right:".tright",center:".tnone"}[v];if(s.expanded){d+=" .expanded"}var g=div(".thumb "+d,h);if(v=="center"){g=div(".center",g)}e=g}else{if(v){var l={left:".floatleft",right:".floatright",center:".center"}[v];e=div(l,e)}}n.set_xhtml(e);return e}function expand_thumb(b){var h=wiki_xml.select("#"+b).first();h=h.up(2);var c=h.down("linkoptions");var f=name_value_map(c);var e=h.get_xhtml().getElementsByTagName("img")[0];Object.extend(f,{expanded:true,"width-as-thumb":e.clientWidth,"height-as-thumb":e.clientHeight,"src-as-thumb":e.getAttribute("src")});var d=h.get_xhtml().childNodes[0].childNodes[1];f["caption-width-as-thumb"]=d.clientWidth;var g=name_value_xml(f,"linkoptions","linkoption");h.replaceChild(c,g);update_XHTML(h)}function collapse_thumb(b){var e=wiki_xml.select("#"+b).first();e=e.parentNode.parentNode;var d=e.down("linkoptions");for(var c=0;c<d.children.length;c++){if(d.children[c].children[0].children[0]=="expanded"){d.children.splice(c,1);break}}update_XHTML(e)}function highlight_thumb(c){var b=this;while(!has_class(b,"thumb")){b=b.parentNode}b.addClassName("highlight")}function unhighlight_thumb(){var b=this;while(!has_class(b,"thumb")){b=b.parentNode}b.removeClassName("highlight")}function error_marker(b){return["img",{src:"/wysi/skins/monobook/syntax-error.png",title:b}].toElement()}function syn_err_as_XHTML(e,d){var b;switch(e.attributes.type){case"open or close missing":case"open missing":case"close missing":var c=e.children[0];if(c.namespace=="xhtml"){c="<"+c.tag_name+">"}else{c=c.tag_name}b=e.attributes.type+" for "+c;break;case"unknown entity":b="unknown entity '"+e.attributes.name+"'";break;default:b=e.attributes.type}return error_marker(b)}(function(){function b(c,d){d.wikixml=c;c.xhtml=d}Object.extend(Node.prototype,{set_wikixml:function(c){b(c,this)},set_xhtml:function(c){b(this,c)},get_wikixml:function(){return this.wikixml},get_xhtml:function(){return this.xhtml},toMapString:function(d){var e=function(g){return function f(l){var h=g?l.get_xhtml():l.get_wikixml();if(h){return h.tagName}else{return""}}};var c=d?this.get_xhtml():this.get_wikixml();return this.toXmlString(true,0,e(d))+"\n\n"+c.toXmlString(true,0,e(!d))}})})();IsolatedSingleton.create(Module,{NONE:"none",FRESH:"fresh",STALE:"stale",REFRESHING:"refreshing",toString:function(){return"[preview stale fade module]"},on_interface_added:function(){Object.extend(this,FADE_MIXIN_FACTORY.make({duration:0.5,to:1},{to:0.4},"article"))},on_edit_start:function(){this.appear()},on_edit_end:function(){},on_preview_refreshed:function(){this.appear()},on_editpane_change:function(){this.fade()}.maxrate(333)});(function(){IsolatedSingleton.create(Module,{NONE:"none",FRESH:"fresh",STALE:"stale",PARSING:"parsing",REFRESHING:"refreshing",initialize:function($super){$super();this._status=""},toString:function(){return"[preview status object]"},on_interface_added:function(){this.status_indicator=["#preview-status","preview is current"].toElement();$("bodyContent").appendChild(this.status_indicator)},set_display:function(c){var d=$("preview-status");var b=(Scriptaculous&&!url_utils.get_var("noanim"));d.setAttribute("class","");if(b){this.cancel_anim();if(c==this.STALE){this.start_animate_stale()}}if(c==this.NONE){return}if(this._status!=c){this._status=c;switch(c){case this.FRESH:var e="Preview is current";this._fade_effect=new Effect.Fade($("preview-status"),{delay:1,duration:1.5});break;case this.STALE:var e="Preview is stale";this._fade_effect=new Effect.Appear($("preview-status"),{duration:0.5});break;case this.PARSING:var e="Parsing...";case this.REFRESHING:var e="Refreshing preview...";break;default:throw"unknown status"}d.firstChild.nodeValue=e}d.addClassName(c)},cancel_anim:function(){if(this._effect){this._effect.cancel()}if(this._fade_effect){this._fade_effect.cancel()}$("preview-status").removeClassName("animated")},start_animate_stale:function(){var c=$("preview-status");c.addClassName("animated");var d=Edit.get();var b=d.BUG_ME_NOT_DELAY+d.PREVIEW_REFRESH_WAIT/2;this._effect=new Effect.Morph(c,{beforeStart:function(){c.style.backgroundPosition="100% 0"},style:"background-position: 0% 0%",duration:b})},on_edit_start:function(){this.set_display(this.FRESH)},on_edit_end:function(){this.set_display(this.NONE)},on_edit_reparse_start:function(){this.set_display(this.PARSING)},on_preview_update_start:function(){this.set_display(this.REFRESHING)},on_preview_refreshed:function(){this.set_display(this.FRESH)},on_editpane_change:function(){this.set_display(this.STALE)}.maxrate(333)})})();var interface_strings={mainpage:"Main Page",portal:"-",portal:"Community portal",help:"Help",navigation:"Navigation",currentevents:"-",currentevents:"Current events",help:"Help",search:"Search",go:"Go",history:"Page history",edit:"Edit",personaltools:"Personal tools",addsection:"+",talk:"Discussion",lastmodified:"This page was last modified $1.",go:"Go",toc:"Table of contents","nstab-main":"Article",summary:"Summary",editing:"Editing $1",recentchanges:"Recent changes",randompage:"Random page"};
