var DOKU_BASE='/';var DOKU_TPL='/lib/tpl/default/';var DOKU_UHN=0;var DOKU_UHC=0;LANG={"searchmedia":"Search for files","keepopen":"Keep window open on selection","hidedetails":"Hide Details","nosmblinks":"Linking to Windows shares only works in Microsoft Internet Explorer.\nYou still can copy and paste the link.","linkwiz":"Link Wizard","linkto":"Link to:","del_confirm":"Really delete selected item(s)?","mu_btn":"Upload multiple files at once","plugins":{"snippets":{"preview":"preview","insert":"insert"}}};var toolbar=[{"type":"format","title":"Bold Text","icon":"bold.png","key":"b","open":"**","close":"**"},{"type":"format","title":"Italic Text","icon":"italic.png","key":"i","open":"\/\/","close":"\/\/"},{"type":"format","title":"Underlined Text","icon":"underline.png","key":"u","open":"__","close":"__"},{"type":"format","title":"Code Text","icon":"mono.png","key":"c","open":"''","close":"''"},{"type":"format","title":"Strike-through Text","icon":"strike.png","key":"d","open":"<del>","close":"<\/del>"},{"type":"autohead","title":"Same Level Headline","icon":"hequal.png","key":"8","text":"Headline","mod":0},{"type":"autohead","title":"Lower Headline","icon":"hminus.png","key":"9","text":"Headline","mod":1},{"type":"autohead","title":"Higher Headline","icon":"hplus.png","key":"0","text":"Headline","mod":-1},{"type":"picker","title":"Select Headline","icon":"h.png","class":"pk_hl","list":[{"type":"format","title":"Level 1 Headline","icon":"h1.png","key":"1","open":"====== ","close":" ======\\n"},{"type":"format","title":"Level 2 Headline","icon":"h2.png","key":"2","open":"===== ","close":" =====\\n"},{"type":"format","title":"Level 3 Headline","icon":"h3.png","key":"3","open":"==== ","close":" ====\\n"},{"type":"format","title":"Level 4 Headline","icon":"h4.png","key":"4","open":"=== ","close":" ===\\n"},{"type":"format","title":"Level 5 Headline","icon":"h5.png","key":"5","open":"== ","close":" ==\\n"}]},{"type":"linkwiz","title":"Internal Link","icon":"link.png","key":"l","open":"[[","close":"]]"},{"type":"format","title":"External Link","icon":"linkextern.png","open":"[[","close":"]]","sample":"http:\/\/example.com|External Link"},{"type":"formatln","title":"Ordered List Item","icon":"ol.png","open":"  - ","close":"","key":"-"},{"type":"formatln","title":"Unordered List Item","icon":"ul.png","open":"  * ","close":"","key":"."},{"type":"insert","title":"Horizontal Rule","icon":"hr.png","insert":"\\n----\\n"},{"type":"mediapopup","title":"Add Images and other files","icon":"image.png","url":"lib\/exe\/mediamanager.php?ns=","name":"mediaselect","options":"width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes"},{"type":"picker","title":"Smileys","icon":"smiley.png","list":{"8-)":"icon_cool.gif","8-O":"icon_eek.gif","8-o":"icon_eek.gif",":-(":"icon_sad.gif",":-)":"icon_smile.gif","=)":"icon_smile2.gif",":-\/":"icon_doubt.gif",":-\\":"icon_doubt2.gif",":-?":"icon_confused.gif",":-D":"icon_biggrin.gif",":-P":"icon_razz.gif",":-o":"icon_surprised.gif",":-O":"icon_surprised.gif",":-x":"icon_silenced.gif",":-X":"icon_silenced.gif",":-|":"icon_neutral.gif",";-)":"icon_wink.gif","^_^":"icon_fun.gif",":?:":"icon_question.gif",":!:":"icon_exclaim.gif","LOL":"icon_lol.gif","FIXME":"fixme.gif","DELETEME":"delete.gif"},"icobase":"smileys"},{"type":"picker","title":"Special Chars","icon":"chars.png","list":["\u00c0","\u00e0","\u00c1","\u00e1","\u00c2","\u00e2","\u00c3","\u00e3","\u00c4","\u00e4","\u01cd","\u01ce","\u0102","\u0103","\u00c5","\u00e5","\u0100","\u0101","\u0104","\u0105","\u00c6","\u00e6","\u0106","\u0107","\u00c7","\u00e7","\u010c","\u010d","\u0108","\u0109","\u010a","\u010b","\u00d0","\u0111","\u00f0","\u010e","\u010f","\u00c8","\u00e8","\u00c9","\u00e9","\u00ca","\u00ea","\u00cb","\u00eb","\u011a","\u011b","\u0112","\u0113","\u0116","\u0117","\u0118","\u0119","\u0122","\u0123","\u011c","\u011d","\u011e","\u011f","\u0120","\u0121","\u0124","\u0125","\u00cc","\u00ec","\u00cd","\u00ed","\u00ce","\u00ee","\u00cf","\u00ef","\u01cf","\u01d0","\u012a","\u012b","\u0130","\u0131","\u012e","\u012f","\u0134","\u0135","\u0136","\u0137","\u0139","\u013a","\u013b","\u013c","\u013d","\u013e","\u0141","\u0142","\u013f","\u0140","\u0143","\u0144","\u00d1","\u00f1","\u0145","\u0146","\u0147","\u0148","\u00d2","\u00f2","\u00d3","\u00f3","\u00d4","\u00f4","\u00d5","\u00f5","\u00d6","\u00f6","\u01d1","\u01d2","\u014c","\u014d","\u0150","\u0151","\u0152","\u0153","\u00d8","\u00f8","\u0154","\u0155","\u0156","\u0157","\u0158","\u0159","\u015a","\u015b","\u015e","\u015f","\u0160","\u0161","\u015c","\u015d","\u0162","\u0163","\u0164","\u0165","\u00d9","\u00f9","\u00da","\u00fa","\u00db","\u00fb","\u00dc","\u00fc","\u01d3","\u01d4","\u016c","\u016d","\u016a","\u016b","\u016e","\u016f","\u01d6","\u01d8","\u01da","\u01dc","\u0172","\u0173","\u0170","\u0171","\u0174","\u0175","\u00dd","\u00fd","\u0178","\u00ff","\u0176","\u0177","\u0179","\u017a","\u017d","\u017e","\u017b","\u017c","\u00de","\u00fe","\u00df","\u0126","\u0127","\u00bf","\u00a1","\u00a2","\u00a3","\u00a4","\u00a5","\u20ac","\u00a6","\u00a7","\u00aa","\u00ac","\u00af","\u00b0","\u00b1","\u00f7","\u2030","\u00bc","\u00bd","\u00be","\u00b9","\u00b2","\u00b3","\u00b5","\u00b6","\u2020","\u2021","\u00b7","\u2022","\u00ba","\u2200","\u2202","\u2203","\u018f","\u0259","\u2205","\u2207","\u2208","\u2209","\u220b","\u220f","\u2211","\u203e","\u2212","\u2217","\u221a","\u221d","\u221e","\u2220","\u2227","\u2228","\u2229","\u222a","\u222b","\u2234","\u223c","\u2245","\u2248","\u2260","\u2261","\u2264","\u2265","\u2282","\u2283","\u2284","\u2286","\u2287","\u2295","\u2297","\u22a5","\u22c5","\u25ca","\u2118","\u2111","\u211c","\u2135","\u2660","\u2663","\u2665","\u2666","\u03b1","\u03b2","\u0393","\u03b3","\u0394","\u03b4","\u03b5","\u03b6","\u03b7","\u0398","\u03b8","\u03b9","\u03ba","\u039b","\u03bb","\u03bc","\u039e","\u03be","\u03a0","\u03c0","\u03c1","\u03a3","\u03c3","\u03a4","\u03c4","\u03c5","\u03a6","\u03c6","\u03c7","\u03a8","\u03c8","\u03a9","\u03c9","\u2605","\u2606","\u260e","\u261a","\u261b","\u261c","\u261d","\u261e","\u261f","\u2639","\u263a","\u2714","\u2718","\u00d7","\u201e","\u201c","\u201d","\u201a","\u2018","\u2019","\u00ab","\u00bb","\u2039","\u203a","\u2014","\u2013","\u2026","\u2190","\u2191","\u2192","\u2193","\u2194","\u21d0","\u21d1","\u21d2","\u21d3","\u21d4","\u00a9","\u2122","\u00ae","\u2032","\u2033","[","]","{","}","~","(",")","%","\u00a7","$","#","|","@"]},{"type":"signature","title":"Insert Signature","icon":"sig.png","key":"y"},{"type":"mediapopup","title":"Insert Templates","icon":"\/lib\/plugins\/snippets\/images\/icon.png","url":"lib\/plugins\/snippets\/exe\/snippets.php?ns=","name":"snippets","options":"width=800,height=500,left=20,top=20,scrollbars=no,resizable=yes"},{"type":"format","title":"Mark text as key press","icon":"..\/..\/plugins\/keyboard\/keyboard.png","open":"<key>","close":"<\/key>"}];function isUndefined(prop){return(typeof prop=='undefined');}function isFunction(prop){return(typeof prop=='function');}function isString(prop){return(typeof prop=='string');}function isNumber(prop){return(typeof prop=='number');}function isNumeric(prop){return isNumber(prop)&&!isNaN(prop)&&isFinite(prop);}function isArray(prop){return(prop instanceof Array);}function isRegExp(prop){return(prop instanceof RegExp);}function isBoolean(prop){return('boolean'==typeof prop);}function isScalar(prop){return isNumeric(prop)||isString(prop);}function isEmpty(prop){if(isBoolean(prop))return false;if(isRegExp(prop)&&new RegExp("").toString()==prop.toString())return true;if(isString(prop)||isNumber(prop))return!prop;if(Boolean(prop)&&false!=prop){for(var i in prop)if(prop.hasOwnProperty(i))return false}return true;}if('undefined'==typeof Object.hasOwnProperty){Object.prototype.hasOwnProperty=function(prop){return!('undefined'==typeof this[prop]||this.constructor&&this.constructor.prototype[prop]&&this[prop]===this.constructor.prototype[prop]);}}function hasFlash(version){var ver=0;try{if(navigator.plugins!=null&&navigator.plugins.length>0){ver=navigator.plugins["Shockwave Flash"].description.split(' ')[2].split('.')[0];}else{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");ver=axo.GetVariable("$version").split(' ')[1].split(',')[0];}}catch(e){}if(ver>=version)return true;return false;}function addEvent(element,type,handler){if(!handler.$$guid)handler.$$guid=addEvent.guid++;if(!element.events)element.events={};var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element["on"+type]){handlers[0]=element["on"+type];}}handlers[handler.$$guid]=handler;element["on"+type]=handleEvent;};addEvent.guid=1;function removeEvent(element,type,handler){if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];}};function handleEvent(event){var returnValue=true;event=event||fixEvent(window.event);var handlers=this.events[event.type];for(var i in handlers){if(!handlers.hasOwnProperty(i))continue;this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false){returnValue=false;}}return returnValue;};function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;event.target=event.srcElement;return event;};fixEvent.preventDefault=function(){this.returnValue=false;};fixEvent.stopPropagation=function(){this.cancelBubble=true;};window.fireoninit=function(){if(arguments.callee.done)return;arguments.callee.done=true;if(_timer){clearInterval(_timer);_timer=null;}if(typeof window.oninit=='function'){window.oninit();}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",window.fireoninit,null);}/*@cc_on @*//*@if(@_win32)document.write("<scr"+"ipt id=\"__ie_init\" defer=\"true\" src=\"//:\"><\/script>");var script=document.getElementById("__ie_init");script.onreadystatechange=function(){if(this.readyState=="complete"){window.fireoninit();}};/*@end @*/if(/WebKit/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){window.fireoninit();}},10);}window.onload=window.fireoninit;window.oninit=function(){};function addInitEvent(func){var oldoninit=window.oninit;if(typeof window.oninit!='function'){window.oninit=func;}else{window.oninit=function(){oldoninit();func();};}}function bind(fnc){var args=Array.prototype.slice.call(arguments,1);return function(){return fnc.apply(this,args);}}DokuCookie={data:Array(),name:'DOKU_PREFS',setValue:function(key,val){DokuCookie.init();DokuCookie.data[key]=val;var now=new Date();DokuCookie.fixDate(now);now.setTime(now.getTime()+365*24*60*60*1000);var text='';for(var key in DokuCookie.data){if(!DokuCookie.data.hasOwnProperty(key))continue;text+='#'+escape(key)+'#'+DokuCookie.data[key];}DokuCookie.setCookie(DokuCookie.name,text.substr(1),now,DOKU_BASE);},getValue:function(key){DokuCookie.init();return DokuCookie.data[key];},init:function(){if(DokuCookie.data.length)return;var text=DokuCookie.getCookie(DokuCookie.name);if(text){var parts=text.split('#');for(var i=0;i<parts.length;i+=2){DokuCookie.data[unescape(parts[i])]=unescape(parts[i+1]);}}},setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie;},getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!==0){return null;}}else{begin+=2;}var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}return unescape(dc.substring(begin+prefix.length,end));},fixDate:function(date){var base=new Date(0);var skew=base.getTime();if(skew>0){date.setTime(date.getTime()-skew);}}};var clientPC=navigator.userAgent.toLowerCase();var is_macos=navigator.appVersion.indexOf('Mac')!=-1;var is_gecko=((clientPC.indexOf('gecko')!=-1)&&(clientPC.indexOf('spoofer')==-1)&&(clientPC.indexOf('khtml')==-1)&&(clientPC.indexOf('netscape/7.0')==-1));var is_safari=((clientPC.indexOf('AppleWebKit')!=-1)&&(clientPC.indexOf('spoofer')==-1));var is_khtml=(navigator.vendor=='KDE'||(document.childNodes&&!document.all&&!navigator.taintEnabled));if(clientPC.indexOf('opera')!=-1){var is_opera=true;var is_opera_preseven=(window.opera&&!document.childNodes);var is_opera_seven=(window.opera&&document.childNodes);}function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')element=document.getElementById(element);if(arguments.length==1)return element;elements.push(element);}return elements;}function isset(varname){return(typeof(window[varname])!='undefined');}function getElementsByClass(searchClass,node,tag){var classElements=new Array();if(node==null)node=document;if(tag==null)tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(var i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}return classElements;}function findPosX(object){var curleft=0;var obj=$(object);if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent;}}else if(obj.x){curleft+=obj.x;}return curleft;}function findPosY(object){var curtop=0;var obj=$(object);if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}else if(obj.y){curtop+=obj.y;}return curtop;}function jsEscape(text){var re=new RegExp("\\\\","g");text=text.replace(re,"\\\\");re=new RegExp("'","g");text=text.replace(re,"\\'");re=new RegExp('"',"g");text=text.replace(re,'&quot;');re=new RegExp("\\\\\\\\n","g");text=text.replace(re,"\\n");return text;}function escapeQuotes(text){var re=new RegExp("'","g");text=text.replace(re,"\\'");re=new RegExp('"',"g");text=text.replace(re,'&quot;');re=new RegExp("\\n","g");text=text.replace(re,"\\n");return text;}function prependChild(parent,element){if(!parent.firstChild){parent.appendChild(element);}else{parent.insertBefore(element,parent.firstChild);}}function showLoadBar(){document.write('<img src="'+DOKU_BASE+'lib/images/loading.gif" '+'width="150" height="12" alt="..." />');}function hideLoadBar(id){obj=$(id);if(obj)obj.style.display="none";}function addTocToggle(){if(!document.getElementById)return;var header=$('toc__header');if(!header)return;var toc=$('toc__inside');var obj=document.createElement('span');obj.id='toc__toggle';obj.style.cursor='pointer';if(toc&&toc.style.display=='none'){obj.innerHTML='<span>+</span>';obj.className='toc_open';}else{obj.innerHTML='<span>&minus;</span>';obj.className='toc_close';}prependChild(header,obj);obj.parentNode.onclick=toggleToc;try{obj.parentNode.style.cursor='pointer';obj.parentNode.style.cursor='hand';}catch(e){}}function toggleToc(){var toc=$('toc__inside');var obj=$('toc__toggle');if(toc.style.display=='none'){toc.style.display='';obj.innerHTML='<span>&minus;</span>';obj.className='toc_close';}else{toc.style.display='none';obj.innerHTML='<span>+</span>';obj.className='toc_open';}}function footnote(e){var obj=e.target;var id=obj.id.substr(5);var fndiv=$('insitu__fn');if(!fndiv){fndiv=document.createElement('div');fndiv.id='insitu__fn';fndiv.className='insitu-footnote JSpopup dokuwiki';addEvent(fndiv,'mouseout',function(e){if(e.target!=fndiv){e.stopPropagation();return;}if(e.pageX){var bx1=findPosX(fndiv);var bx2=bx1+fndiv.offsetWidth;var by1=findPosY(fndiv);var by2=by1+fndiv.offsetHeight;var x=e.pageX;var y=e.pageY;if(x>bx1&&x<bx2&&y>by1&&y<by2){e.stopPropagation();return;}}else{if(e.offsetX>0&&e.offsetX<fndiv.offsetWidth-1&&e.offsetY>0&&e.offsetY<fndiv.offsetHeight-1){e.stopPropagation();return;}}fndiv.style.display='none';});document.body.appendChild(fndiv);}var a=$("fn__"+id);if(!a){return;}var content=new String(a.parentNode.parentNode.innerHTML);content=content.replace(/<sup>.*<\/sup>/gi,'');content=content.replace(/^\s+(,\s+)+/,'');content=content.replace(/\bid=\"(.*?)\"/gi,'id="insitu__$1');fndiv.innerHTML=content;var x;var y;if(e.pageX){x=e.pageX;y=e.pageY;}else{x=e.offsetX;y=e.offsetY;}fndiv.style.position='absolute';fndiv.style.left=(x+2)+'px';fndiv.style.top=(y+2)+'px';fndiv.style.display='';}addInitEvent(function(){var elems=getElementsByClass('fn_top',null,'a');for(var i=0;i<elems.length;i++){addEvent(elems[i],'mouseover',function(e){footnote(e);});}});function initSizeCtl(ctlid,edid){if(!document.getElementById){return;}var ctl=$(ctlid);var textarea=$(edid);if(!ctl||!textarea)return;var hgt=DokuCookie.getValue('sizeCtl');if(hgt){textarea.style.height=hgt;}else{textarea.style.height='300px';}var wrp=DokuCookie.getValue('wrapCtl');if(wrp){setWrap(textarea,wrp);}var l=document.createElement('img');var s=document.createElement('img');var w=document.createElement('img');l.src=DOKU_BASE+'lib/images/larger.gif';s.src=DOKU_BASE+'lib/images/smaller.gif';w.src=DOKU_BASE+'lib/images/wrap.gif';addEvent(l,'click',function(){sizeCtl(edid,100);});addEvent(s,'click',function(){sizeCtl(edid,-100);});addEvent(w,'click',function(){toggleWrap(edid);});ctl.appendChild(l);ctl.appendChild(s);ctl.appendChild(w);}function sizeCtl(edid,val){var textarea=$(edid);var height=parseInt(textarea.style.height.substr(0,textarea.style.height.length-2));height+=val;textarea.style.height=height+'px';DokuCookie.setValue('sizeCtl',textarea.style.height);}function toggleWrap(edid){var textarea=$(edid);var wrap=textarea.getAttribute('wrap');if(wrap&&wrap.toLowerCase()=='off'){setWrap(textarea,'soft');}else{setWrap(textarea,'off');}DokuCookie.setValue('wrapCtl',textarea.getAttribute('wrap'));}function setWrap(textarea,wrapAttrValue){textarea.setAttribute('wrap',wrapAttrValue);var parNod=textarea.parentNode;var nxtSib=textarea.nextSibling;parNod.removeChild(textarea);parNod.insertBefore(textarea,nxtSib);}function closePopups(){if(!document.getElementById){return;}var divs=document.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if(divs[i].className.indexOf('JSpopup')!=-1){divs[i].style.display='none';}}}function scrollToMarker(){var obj=$('scroll__here');if(obj)obj.scrollIntoView();}function focusMarker(){var obj=$('focus__this');if(obj)obj.focus();}function cleanMsgArea(){var elems=getElementsByClass('(success|info|error)',document,'div');if(elems){for(var i=0;i<elems.length;i++){elems[i].style.display='none';}}}addInitEvent(function(){var revForm=$('page__revisions');if(!revForm)return;var elems=revForm.elements;var countTicks=0;for(var i=0;i<elems.length;i++){var input1=elems[i];if(input1.type=='checkbox'){addEvent(input1,'click',function(e){if(this.checked)countTicks++;else countTicks--;for(var j=0;j<elems.length;j++){var input2=elems[j];if(countTicks>=2)input2.disabled=(input2.type=='checkbox'&&!input2.checked);else input2.disabled=(input2.type!='checkbox');}});input1.checked=false;}else if(input1.type=='submit'){input1.disabled=true;}}});addInitEvent(function(){var selector=$('action__selector');if(!selector)return;addEvent(selector,'change',function(e){this.form.submit();});$('action__selectorbtn').style.display='none';});function checkWindowsShares(){if(!LANG['nosmblinks'])return true;var elems=getElementsByClass('windows',document,'a');if(elems){for(var i=0;i<elems.length;i++){var share=elems[i];addEvent(share,'click',function(){if(document.all==null){alert(LANG['nosmblinks']);}});}}}addInitEvent(function(){checkWindowsShares();});addInitEvent(function(){var break_classes=new RegExp('secedit|toc|page');var btns=getElementsByClass('btn_secedit',document,'form');for(var i=0;i<btns.length;i++){addEvent(btns[i],'mouseover',function(e){var tgt=e.target;if(tgt.form)tgt=tgt.form;tgt=tgt.parentNode.previousSibling;if(tgt.nodeName!="DIV")tgt=tgt.previousSibling;while(!break_classes.test(tgt.className)){tgt.className+=' section_highlight';if(tgt.tagName=='H1')break;tgt=(tgt.previousSibling!=null)?tgt.previousSibling:tgt.parentNode;}});addEvent(btns[i],'mouseout',function(e){var secs=getElementsByClass('section_highlight');for(var j=0;j<secs.length;j++){secs[j].className=secs[j].className.replace(/section_highlight/,'');}var secs=getElementsByClass('section_highlight');});}});function sack(file){this.AjaxFailedAlert="Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";this.requestFile=file;this.method="POST";this.URLString="";this.encodeURIString=true;this.execute=false;this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.afterCompletion=function(){};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(err){this.xmlhttp=null;}}if(!this.xmlhttp&&typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}if(!this.xmlhttp){this.failed=true;}};this.setVar=function(name,value){if(this.URLString.length<3){this.URLString=name+"="+value;}else{this.URLString+="&"+name+"="+value;}};this.encVar=function(name,value){var varString=encodeURIComponent(name)+"="+encodeURIComponent(value);return varString;};this.encodeURLString=function(string){varArray=string.split('&');for(i=0;i<varArray.length;i++){urlVars=varArray[i].split('=');if(urlVars[0].indexOf('amp;')!=-1){urlVars[0]=urlVars[0].substring(4);}varArray[i]=this.encVar(urlVars[0],urlVars[1]);}return varArray.join('&');};this.runResponse=function(){eval(this.response);};this.runAJAX=function(urlstring){this.responseStatus=new Array(2);if(this.failed&&this.AjaxFailedAlert){alert(this.AjaxFailedAlert);}else{if(urlstring){if(this.URLString.length){this.URLString=this.URLString+"&"+urlstring;}else{this.URLString=urlstring;}}if(this.encodeURIString){var timeval=new Date().getTime();this.URLString=this.encodeURLString(this.URLString);this.setVar("rndval",timeval);}if(this.element){this.elementObj=document.getElementById(this.element);}if(this.xmlhttp){var self=this;if(this.method=="GET"){var totalurlstring=this.requestFile+"?"+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);}if(this.method=="POST"){try{this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');}catch(e){}}this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;self.onCompletion();if(self.execute){self.runResponse();}if(self.elementObj){var elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}self.afterCompletion();self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.createAJAX();}function ajax_qsearch_class(){this.sack=null;this.inObj=null;this.outObj=null;this.timer=null;}var ajax_qsearch=new ajax_qsearch_class();ajax_qsearch.sack=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax_qsearch.sack.AjaxFailedAlert='';ajax_qsearch.sack.encodeURIString=false;ajax_qsearch.init=function(inID,outID){ajax_qsearch.inObj=document.getElementById(inID);ajax_qsearch.outObj=document.getElementById(outID);if(ajax_qsearch.inObj===null){return;}if(ajax_qsearch.outObj===null){return;}addEvent(ajax_qsearch.inObj,'keyup',ajax_qsearch.call);addEvent(ajax_qsearch.outObj,'click',function(){ajax_qsearch.outObj.style.display='none';});};ajax_qsearch.clear=function(){ajax_qsearch.outObj.style.display='none';ajax_qsearch.outObj.innerHTML='';if(ajax_qsearch.timer!==null){window.clearTimeout(ajax_qsearch.timer);ajax_qsearch.timer=null;}};ajax_qsearch.exec=function(){ajax_qsearch.clear();var value=ajax_qsearch.inObj.value;if(value===''){return;}ajax_qsearch.sack.runAJAX('call=qsearch&q='+encodeURI(value));};ajax_qsearch.sack.onCompletion=function(){var data=ajax_qsearch.sack.response;if(data===''){return;}ajax_qsearch.outObj.innerHTML=data;ajax_qsearch.outObj.style.display='block';};ajax_qsearch.call=function(){ajax_qsearch.clear();ajax_qsearch.timer=window.setTimeout("ajax_qsearch.exec()",500);};var index={throbber_delay:500,treeattach:function(obj){if(!obj)return;var items=getElementsByClass('idx_dir',obj,'a');for(var i=0;i<items.length;i++){var elem=items[i];addEvent(elem,'click',function(e){return index.toggle(e,this);});var listitem=elem.parentNode;while(listitem.tagName!='LI'){listitem=listitem.parentNode;}if(listitem.getElementsByTagName('ul').length){listitem.open=true;}}},toggle:function(e,clicky){var listitem=clicky.parentNode.parentNode;listitem.open=!listitem.open;var sublists=listitem.getElementsByTagName('ul');if(!listitem.open){if(sublists.length){sublists[0].style.display='none';}listitem.className='closed';e.preventDefault();return false;}if(sublists.length&&listitem.open){sublists[0].style.display='';listitem.className='open';e.preventDefault();return false;}var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;var ul=document.createElement('ul');ul.className='idx';timeout=window.setTimeout(function(){if(listitem.open){ul.innerHTML='<li><img src="'+DOKU_BASE+'lib/images/throbber.gif" alt="loading..." title="loading..." /></li>';listitem.appendChild(ul);listitem.className='open';}},this.throbber_delay);ajax.elementObj=ul;ajax.afterCompletion=function(){window.clearTimeout(timeout);index.treeattach(ul);if(listitem.className!='open'){if(!listitem.open){ul.style.display='none';}listitem.appendChild(ul);if(listitem.open){listitem.className='open';}}};ajax.runAJAX(clicky.search.substr(1)+'&call=index');e.preventDefault();return false;}};addInitEvent(function(){index.treeattach($('index__tree'));});var drag={obj:null,handle:null,oX:0,oY:0,eX:0,eY:0,attach:function(obj,handle){if(handle){handle.dragobject=obj;addEvent($(handle),'mousedown',drag.start);}else{addEvent($(obj),'mousedown',drag.start);}},start:function(e){drag.handle=e.target;if(drag.handle.dragobject){drag.obj=drag.handle.dragobject;}else{drag.obj=drag.handle;}drag.handle.className+=' ondrag';drag.obj.className+=' ondrag';drag.oX=parseInt(drag.obj.style.left);drag.oY=parseInt(drag.obj.style.top);drag.eX=drag.evX(e);drag.eY=drag.evY(e);addEvent(document,'mousemove',drag.drag);addEvent(document,'mouseup',drag.stop);e.preventDefault();e.stopPropagation();return false;},stop:function(){drag.handle.className=drag.handle.className.replace(/ ?ondrag/,'');drag.obj.className=drag.obj.className.replace(/ ?ondrag/,'');removeEvent(document,'mousemove',drag.drag);removeEvent(document,'mouseup',drag.stop);drag.obj=null;drag.handle=null;},drag:function(e){if(drag.obj){drag.obj.style.top=(drag.evY(e)+drag.oY-drag.eY+'px');drag.obj.style.left=(drag.evX(e)+drag.oX-drag.eX+'px');}},evX:function(e){return(e.pageX)?e.pageX:e.clientX+document.body.scrollTop;},evY:function(e){return(e.pageY)?e.pageY:e.clientY+document.body.scrollTop;}};function selection_class(){this.start=0;this.end=0;this.obj=null;this.rangeCopy=null;this.scroll=0;this.fix=0;this.getLength=function(){return this.end-this.start;};this.getText=function(){if(!this.obj)return'';return this.obj.value.substring(this.start,this.end);}}function getSelection(textArea){var sel=new selection_class();sel.obj=textArea;sel.start=textArea.value.length;sel.end=textArea.value.length;textArea.focus();if(document.getSelection){sel.start=textArea.selectionStart;sel.end=textArea.selectionEnd;sel.scroll=textArea.scrollTop;}else if(document.selection){sel.rangeCopy=document.selection.createRange().duplicate();var before_range=document.body.createTextRange();before_range.moveToElementText(textArea);before_range.setEndPoint("EndToStart",sel.rangeCopy);var before_finished=false,selection_finished=false;var before_text,selection_text;before_text=before_range.text;selection_text=sel.rangeCopy.text;sel.start=before_text.length;sel.end=sel.start+selection_text.length;do{if(!before_finished){if(before_range.compareEndPoints("StartToEnd",before_range)==0){before_finished=true;}else{before_range.moveEnd("character",-1);if(before_range.text==before_text){sel.start+=2;sel.end+=2;}else{before_finished=true;}}}if(!selection_finished){if(sel.rangeCopy.compareEndPoints("StartToEnd",sel.rangeCopy)==0){selection_finished=true;}else{sel.rangeCopy.moveEnd("character",-1);if(sel.rangeCopy.text==selection_text){sel.end+=2;}else{selection_finished=true;}}}}while((!before_finished||!selection_finished));var countNL=function(str){var m=str.split("\r\n");if(!m||!m.length)return 0;return m.length-1;};sel.fix=countNL(sel.obj.value.substring(0,sel.start));}return sel;}function setSelection(selection){if(document.getSelection){selection.obj.setSelectionRange(selection.start,selection.end);if(selection.scroll)selection.obj.scrollTop=selection.scroll;}else if(document.selection){selection.rangeCopy.collapse(true);selection.rangeCopy.moveStart('character',selection.start-selection.fix);selection.rangeCopy.moveEnd('character',selection.end-selection.start);selection.rangeCopy.select();}}function pasteText(selection,text,opts){if(!opts)opts={};selection.obj.value=selection.obj.value.substring(0,selection.start)+text+selection.obj.value.substring(selection.end,selection.obj.value.length);selection.end=selection.start+text.length;if(opts.startofs)selection.start+=opts.startofs;if(opts.endofs)selection.end-=opts.endofs;if(opts.nosel)selection.start=selection.end;setSelection(selection);}function insertTags(textAreaID,tagOpen,tagClose,sampleText){var txtarea=$(textAreaID);var selection=getSelection(txtarea);var text=selection.getText();var opts;if(text.charAt(text.length-1)==' '){selection.end--;text=selection.getText();}if(!text){text=sampleText;opts={startofs:tagOpen.length,endofs:tagClose.length};}else{opts={nosel:true};}text=tagOpen+text+tagClose;pasteText(selection,text,opts);}function insertAtCarret(textAreaID,text){var txtarea=$(textAreaID);var selection=getSelection(txtarea);pasteText(selection,text,{nosel:true});}var pickercounter=0;function initToolbar(tbid,edid,tb){var toolbar=$(tbid);if(!toolbar)return;var edit=$(edid);if(!edit)return;if(edit.readOnly)return;toolbar.innerHTML='';var cnt=tb.length;for(var i=0;i<cnt;i++){var actionFunc;var btn=createToolButton(tb[i]['icon'],tb[i]['title'],tb[i]['key']);actionFunc='tb_'+tb[i]['type'];if(isFunction(window[actionFunc])){addEvent(btn,'click',bind(window[actionFunc],btn,tb[i],edid));toolbar.appendChild(btn);continue;}actionFunc='addBtnAction'+tb[i]['type'].charAt(0).toUpperCase()+tb[i]['type'].substring(1);if(isFunction(window[actionFunc])){if(window[actionFunc](btn,tb[i],edid)){toolbar.appendChild(btn);}continue;}alert('unknown toolbar type: '+tb[i]['type']+'  '+actionFunc);}}function tb_format(btn,props,edid){var sample=props['title'];if(props['sample']){sample=props['sample'];}insertTags(edid,fixtxt(props['open']),fixtxt(props['close']),fixtxt(sample));pickerClose();return false;}function tb_formatln(btn,props,edid){var sample=props['title'];if(props['sample']){sample=props['sample'];}sample=fixtxt(sample);props['open']=fixtxt(props['open']);props['close']=fixtxt(props['close']);var opts;var selection=getSelection($(edid));if(selection.getLength()){sample=selection.getText();opts={nosel:true};}else{opts={startofs:props['open'].length,endofs:props['close'].length};}sample=sample.split("\n").join(props['close']+"\n"+props['open']);sample=props['open']+sample+props['close'];pasteText(selection,sample,opts);pickerClose();return false;}function tb_insert(btn,props,edid){insertAtCarret(edid,fixtxt(props['insert']));pickerClose();return false;}function tb_mediapopup(btn,props,edid){window.open(DOKU_BASE+props['url']+encodeURIComponent(NS),props['name'],props['options']);return false;}function tb_autohead(btn,props,edid){var lvl=currentHeadlineLevel(edid);lvl+=props['mod'];if(lvl<1)lvl=1;if(lvl>5)lvl=5;var tags='=';for(var i=0;i<=5-lvl;i++)tags+='=';insertTags(edid,tags+' ',' '+tags+"\n",props['text']);pickerClose();return false;}function addBtnActionPicker(btn,props,edid){var pickerid='picker'+(pickercounter++);createPicker(pickerid,props,edid);addEvent(btn,'click',function(){pickerToggle(pickerid,btn);return false;});return true;}function addBtnActionLinkwiz(btn,props,edid){linkwiz.init($(edid));addEvent(btn,'click',function(){linkwiz.toggle();return false;});return true;}function pickerToggle(pickerid,btn){var picker=$(pickerid);if(picker.style.marginLeft=='-10000px'){var x=findPosX(btn);var y=findPosY(btn);picker.style.left=(x+3)+'px';picker.style.top=(y+btn.offsetHeight+3)+'px';picker.style.marginLeft='0px';}else{picker.style.marginLeft='-10000px';}}function pickerClose(){var pobjs=getElementsByClass('picker');for(var i=0;i<pobjs.length;i++){pobjs[i].style.marginLeft='-10000px';}}function fixtxt(str){return str.replace(/\\n/g,"\n");}function createToolButton(icon,label,key,id){var btn=document.createElement('button');var ico=document.createElement('img');btn.className='toolbutton';btn.title=label;if(key){btn.title+=' ['+key.toUpperCase()+']';btn.accessKey=key;}if(id){btn.id=id;ico.id=id+'_ico';}if(icon.substr(0,1)=='/'){ico.src=icon;}else{ico.src=DOKU_BASE+'lib/images/toolbar/'+icon;}btn.appendChild(ico);return btn;}function createPicker(id,props,edid){var icobase=props['icobase'];var list=props['list'];var picker=document.createElement('div');picker.className='picker';if(props['class']){picker.className+=' '+props['class'];}picker.id=id;picker.style.position='absolute';picker.style.marginLeft='-10000px';for(var key in list){if(!list.hasOwnProperty(key))continue;if(isNaN(key)){var btn=document.createElement('button');btn.className='pickerbutton';var ico=document.createElement('img');if(list[key].substr(0,1)=='/'){ico.src=list[key];}else{ico.src=DOKU_BASE+'lib/images/'+icobase+'/'+list[key];}btn.title=key;btn.appendChild(ico);addEvent(btn,'click',bind(pickerInsert,key,edid));picker.appendChild(btn);}else if(isString(list[key])){var btn=document.createElement('button');btn.className='pickerbutton';var txt=document.createTextNode(list[key]);btn.title=list[key];btn.appendChild(txt);addEvent(btn,'click',bind(pickerInsert,list[key],edid));picker.appendChild(btn);}else{initToolbar(picker,edid,list);break;}}var body=document.getElementsByTagName('body')[0];body.appendChild(picker);return picker;}function pickerInsert(text,edid){insertAtCarret(edid,text);pickerClose();}function addBtnActionSignature(btn,props,edid){if(typeof(SIG)!='undefined'&&SIG!=''){addEvent(btn,'click',bind(insertAtCarret,edid,SIG));return true;}return false;}function keyHandler(e){if(e.keyCode!=13&&e.keyCode!=8&&e.keyCode!=32)return;var field=e.target;var selection=getSelection(field);var search="\n"+field.value.substr(0,selection.start);var linestart=Math.max(search.lastIndexOf("\n"),search.lastIndexOf("\r"));search=search.substr(linestart);if(e.keyCode==13){var match=search.match(/(\n  +([\*-] ?)?)/);if(match){var scroll=field.scrollHeight;insertAtCarret(field.id,match[1]);field.scrollTop+=(field.scrollHeight-scroll);e.preventDefault();return false;}}else if(e.keyCode==8){var match=search.match(/(\n  +)([*-] ?)$/);if(match){var spaces=match[1].length-1;if(spaces>3){field.value=field.value.substr(0,linestart)+field.value.substr(linestart+2);selection.start=selection.start-2;selection.end=selection.start;}else{field.value=field.value.substr(0,linestart)+field.value.substr(selection.start);selection.start=linestart;selection.end=linestart;}setSelection(selection);e.preventDefault();return false;}}else if(e.keyCode==32){var match=search.match(/(\n  +)([*-] )$/);if(match){field.value=field.value.substr(0,linestart)+'  '+field.value.substr(linestart);selection.start=selection.start+2;selection.end=selection.start;setSelection(selection);e.preventDefault();return false;}}}addInitEvent(function(){var field=$('wiki__text');if(!field)return;addEvent(field,'keydown',keyHandler);});function currentHeadlineLevel(textboxId){var field=$(textboxId);var selection=getSelection(field);var search="\n"+field.value.substr(0,selection.start);var lasthl=search.lastIndexOf("\n==");if(lasthl==-1&&field.form.prefix){search=field.form.prefix.value;lasthl=search.lastIndexOf("\n==");}search=search.substr(lasthl+1,6);if(search=='======')return 1;if(search.substr(0,5)=='=====')return 2;if(search.substr(0,4)=='====')return 3;if(search.substr(0,3)=='===')return 4;if(search.substr(0,2)=='==')return 5;return 0;}var textChanged=false;function changeCheck(msg){if(textChanged){var ok=confirm(msg);if(ok){var dwform=$('dw__editform');if(dwform){var params='call=draftdel';params+='&id='+encodeURIComponent(dwform.elements.id.value);var sackobj=new sack(DOKU_BASE+'lib/exe/ajax.php');sackobj.AjaxFailedAlert='';sackobj.encodeURIString=false;sackobj.runAJAX(params);}}return ok;}else{return true;}}function initChangeCheck(msg){var edit_text=document.getElementById('wiki__text');if(!edit_text)return;if(edit_text.readOnly)return;if(!$('dw__editform'))return;var links=document.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(links[i].className.indexOf('JSnocheck')==-1){links[i].onclick=function(){var rc=changeCheck(msg);if(window.event)window.event.returnValue=rc;return rc;};}}var forms=document.forms;for(i=0;i<forms.length;i++){if(forms[i].className.indexOf('JSnocheck')==-1){forms[i].onsubmit=function(){var rc=changeCheck(msg);if(window.event)window.event.returnValue=rc;return rc;};}}var btn_save=document.getElementById('edbtn__save');btn_save.onclick=function(){textChanged=false;};var btn_prev=document.getElementById('edbtn__preview');btn_prev.onclick=function(){textChanged=false;};edit_text.onchange=function(){textChanged=true;summaryCheck();};var summary=document.getElementById('edit__summary');addEvent(summary,'change',summaryCheck);addEvent(summary,'keyup',summaryCheck);if(textChanged)summaryCheck();edit_text.focus();}function summaryCheck(){var sum=document.getElementById('edit__summary');if(sum.value===''){sum.className='missing';}else{sum.className='edit';}}function locktimer_class(){this.sack=null;this.timeout=0;this.timerID=null;this.lasttime=null;this.msg='';this.pageid='';};var locktimer=new locktimer_class();locktimer.init=function(timeout,msg,draft){locktimer.timeout=timeout*1000;locktimer.msg=msg;locktimer.draft=draft;locktimer.lasttime=new Date();if(!$('dw__editform'))return;locktimer.pageid=$('dw__editform').elements.id.value;if(!locktimer.pageid)return;locktimer.sack=new sack(DOKU_BASE+'lib/exe/ajax.php');locktimer.sack.AjaxFailedAlert='';locktimer.sack.encodeURIString=false;locktimer.sack.onCompletion=locktimer.refreshed;addEvent($('dw__editform').elements.wikitext,'keypress',function(){locktimer.refresh();});locktimer.reset();};locktimer.reset=function(){locktimer.clear();locktimer.timerID=window.setTimeout("locktimer.warning()",locktimer.timeout);};locktimer.warning=function(){locktimer.clear();alert(locktimer.msg);};locktimer.clear=function(){if(locktimer.timerID!==null){window.clearTimeout(locktimer.timerID);locktimer.timerID=null;}};locktimer.refresh=function(){var now=new Date();if(now.getTime()-locktimer.lasttime.getTime()>30*1000){var params='call=lock&id='+encodeURIComponent(locktimer.pageid);if(locktimer.draft){var dwform=$('dw__editform');params+='&prefix='+encodeURIComponent(dwform.elements.prefix.value);params+='&wikitext='+encodeURIComponent(dwform.elements.wikitext.value);params+='&suffix='+encodeURIComponent(dwform.elements.suffix.value);params+='&date='+encodeURIComponent(dwform.elements.date.value);}locktimer.sack.runAJAX(params);locktimer.lasttime=now;}};locktimer.refreshed=function(){var data=this.response;var error=data.charAt(0);data=data.substring(1);$('draft__status').innerHTML=data;if(error!='1')return;locktimer.reset();};var linkwiz={wiz:null,entry:null,result:null,timer:null,sack:null,textArea:null,selected:-1,selection:null,init:function(textArea){linkwiz.sack=new sack(DOKU_BASE+'lib/exe/ajax.php');linkwiz.sack.AjaxFailedAlert='';linkwiz.sack.encodeURIString=false;linkwiz.wiz=document.createElement('div');linkwiz.wiz.id='link__wiz';linkwiz.wiz.className='picker';linkwiz.wiz.style.top=(findPosY(textArea)+20)+'px';linkwiz.wiz.style.left=(findPosX(textArea)+80)+'px';linkwiz.wiz.style.marginLeft='-10000px';linkwiz.wiz.innerHTML='<div id="link__wiz_header">'+'<img src="'+DOKU_BASE+'lib/images/close.png" width="16" height="16" align="right" alt="" id="link__wiz_close" />'+LANG['linkwiz']+'</div>'+'<div>'+LANG['linkto']+' <input type="text" class="edit" id="link__wiz_entry" autocomplete="off" /></div>'+'<div id="link__wiz_result"></div>';textArea.form.parentNode.appendChild(linkwiz.wiz);linkwiz.textArea=textArea;linkwiz.result=$('link__wiz_result');linkwiz.entry=$('link__wiz_entry');var obj;obj=$('link__wiz_close');obj.onclick=linkwiz.hide;linkwiz.sack.elementObj=linkwiz.result;addEvent(linkwiz.entry,'keyup',linkwiz.onEntry);addEvent(linkwiz.result,'click',linkwiz.onResultClick);drag.attach(linkwiz.wiz,$('link__wiz_header'));},onEntry:function(e){if(e.keyCode==37||e.keyCode==39){return true;}if(e.keyCode==27){linkwiz.hide();e.preventDefault();e.stopPropagation();return false;}if(e.keyCode==38){linkwiz.select(linkwiz.selected-1);e.preventDefault();e.stopPropagation();return false;}if(e.keyCode==40){linkwiz.select(linkwiz.selected+1);e.preventDefault();e.stopPropagation();return false;}if(e.keyCode==13){if(linkwiz.selected>-1){var obj=linkwiz.getResult(linkwiz.selected);if(obj){var a=obj.getElementsByTagName('A')[0];linkwiz.resultClick(a);}}else if(linkwiz.entry.value){linkwiz.insertLink(linkwiz.entry.value);}e.preventDefault();e.stopPropagation();return false;}linkwiz.autocomplete();},getResult:function(num){var obj;var childs=linkwiz.result.getElementsByTagName('DIV');obj=childs[num];if(obj){return obj;}else{return null;}},select:function(num){if(num<0){linkwiz.deselect();return;}var obj=linkwiz.getResult(num);if(obj){linkwiz.deselect();obj.className+=' selected';if(obj.offsetTop>linkwiz.result.scrollTop+linkwiz.result.clientHeight){linkwiz.result.scrollTop+=obj.clientHeight;}else if(obj.offsetTop-linkwiz.result.clientHeight<linkwiz.result.scrollTop){linkwiz.result.scrollTop-=obj.clientHeight;}if((obj.offsetTop>linkwiz.result.scrollTop+linkwiz.result.clientHeight)||(obj.offsetTop<linkwiz.result.scrollTop)){obj.scrollIntoView();}linkwiz.selected=num;}},deselect:function(){if(linkwiz.selected>-1){var obj=linkwiz.getResult(linkwiz.selected);if(obj){obj.className=obj.className.replace(/ ?selected/,'');}}linkwiz.selected=-1;},onResultClick:function(e){if(e.target.tagName!='A')return;e.stopPropagation();e.preventDefault();linkwiz.resultClick(e.target);return false;},resultClick:function(a){var id=a.title;if(id==''||id.substr(id.length-1)==':'){linkwiz.entry.value=id;linkwiz.autocomplete_exec();}else{linkwiz.entry.value=id;if(a.nextSibling&&a.nextSibling.tagName=='SPAN'){linkwiz.insertLink(a.nextSibling.innerHTML);}else{linkwiz.insertLink('');}}},insertLink:function(title){if(!linkwiz.entry.value)return;var sel=getSelection(linkwiz.textArea);if(sel.start==0&&sel.end==0)sel=linkwiz.selection;var stxt=sel.getText();if(!stxt&&!DOKU_UHC)stxt=title;if(linkwiz.textArea.form['id'].value.indexOf(':')!=-1&&linkwiz.entry.value.indexOf(':')==-1){linkwiz.entry.value=':'+linkwiz.entry.value;}var link='[['+linkwiz.entry.value+'|';if(stxt)link+=stxt;link+=']]';var so=linkwiz.entry.value.length+3;var eo=2;pasteText(sel,link,{startofs:so,endofs:eo});linkwiz.hide();},autocomplete:function(){if(linkwiz.timer!==null){window.clearTimeout(linkwiz.timer);linkwiz.timer=null;}linkwiz.timer=window.setTimeout(linkwiz.autocomplete_exec,350);},autocomplete_exec:function(){linkwiz.deselect();linkwiz.result.innerHTML='<img src="'+DOKU_BASE+'lib/images/throbber.gif" alt="" width="16" height="16" />';linkwiz.sack.runAJAX('call=linkwiz&q='+encodeURI(linkwiz.entry.value));},clear:function(){linkwiz.result.innerHTML='Search for a matching page name above, or browse through the pages on the right';linkwiz.entry.value='';},show:function(){linkwiz.selection=getSelection(linkwiz.textArea);linkwiz.wiz.style.marginLeft='0px';linkwiz.entry.focus();linkwiz.autocomplete();},hide:function(){linkwiz.wiz.style.marginLeft='-10000px';linkwiz.textArea.focus();},toggle:function(){if(linkwiz.wiz.style.marginLeft=='-10000px'){linkwiz.show();}else{linkwiz.hide();}}};var media_manager={keepopen:false,hide:false,treeattach:function(obj){if(!obj)return;var items=obj.getElementsByTagName('li');for(var i=0;i<items.length;i++){var elem=items[i];var clicky=elem.getElementsByTagName('img')[0];clicky.style.cursor='pointer';addEvent(clicky,'click',function(event){return media_manager.toggle(event,this);});var link=elem.getElementsByTagName('a')[0];link.style.cursor='pointer';addEvent(link,'click',function(event){return media_manager.list(event,this);});}},selectorattach:function(obj){if(!obj)return;var items=getElementsByClass('select',obj,'a');for(var i=0;i<items.length;i++){var elem=items[i];elem.style.cursor='pointer';addEvent(elem,'click',function(event){return media_manager.select(event,this);});}items=getElementsByClass('example',obj,'div');for(var i=0;i<items.length;i++){elem=items[i];elem.style.display='none';}var file=$('upload__file');if(!file)return;addEvent(file,'change',media_manager.suggest);},confirmattach:function(obj){if(!obj)return;items=getElementsByClass('btn_media_delete',obj,'a');for(var i=0;i<items.length;i++){var elem=items[i];addEvent(elem,'click',function(e){if(e.target.tagName=='IMG'){var name=e.target.parentNode.title;}else{var name=e.target.title;}if(!confirm(LANG['del_confirm']+"\n"+name)){e.preventDefault();return false;}else{return true;}});}},attachoptions:function(obj){if(!obj)return;if(opener){var kobox=document.createElement('input');kobox.type='checkbox';kobox.id='media__keepopen';if(DokuCookie.getValue('keepopen')){kobox.checked=true;kobox.defaultChecked=true;media_manager.keepopen=true;}addEvent(kobox,'click',function(event){return media_manager.togglekeepopen(event,this);});var kolbl=document.createElement('label');kolbl.htmlFor='media__keepopen';kolbl.innerHTML=LANG['keepopen'];var kobr=document.createElement('br');obj.appendChild(kobox);obj.appendChild(kolbl);obj.appendChild(kobr);}var hdbox=document.createElement('input');hdbox.type='checkbox';hdbox.id='media__hide';if(DokuCookie.getValue('hide')){hdbox.checked=true;hdbox.defaultChecked=true;media_manager.hide=true;}addEvent(hdbox,'click',function(event){return media_manager.togglehide(event,this);});var hdlbl=document.createElement('label');hdlbl.htmlFor='media__hide';hdlbl.innerHTML=LANG['hidedetails'];var hdbr=document.createElement('br');obj.appendChild(hdbox);obj.appendChild(hdlbl);obj.appendChild(hdbr);media_manager.updatehide();},showsearchfield:function(event,link){var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;cleanMsgArea();var content=$('media__content');content.innerHTML='<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />';ajax.elementObj=content;ajax.afterCompletion=function(){media_manager.selectorattach(content);media_manager.confirmattach(content);media_manager.updatehide();};ajax.runAJAX(link.search.substr(1)+'&call=mediasearchlist');return false;},togglekeepopen:function(event,cb){if(cb.checked){DokuCookie.setValue('keepopen',1);media_manager.keepopen=true;}else{DokuCookie.setValue('keepopen','');media_manager.keepopen=false;}},togglehide:function(event,cb){if(cb.checked){DokuCookie.setValue('hide',1);media_manager.hide=true;}else{DokuCookie.setValue('hide','');media_manager.hide=false;}media_manager.updatehide();},updatehide:function(){var obj=$('media__content');if(!obj)return;var details=getElementsByClass('detail',obj,'div');for(var i=0;i<details.length;i++){if(media_manager.hide){details[i].style.display='none';}else{details[i].style.display='';}}},select:function(event,link){var id=link.name.substr(2);if(!opener){var ex=$('ex_'+id.replace(/:/g,'_'));if(ex.style.display==''){ex.style.display='none';}else{ex.style.display='';}return false;}opener.insertTags('wiki__text','{{'+id+'|','}}','');if(!media_manager.keepopen)window.close();opener.focus();return false;},list:function(event,link){var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;cleanMsgArea();var content=$('media__content');content.innerHTML='<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />';ajax.elementObj=content;ajax.afterCompletion=function(){media_manager.selectorattach(content);media_manager.confirmattach(content);media_manager.updatehide();media_manager.initFlashUpload();};ajax.runAJAX(link.search.substr(1)+'&call=medialist');return false;},toggle:function(event,clicky){var listitem=clicky.parentNode;var sublists=listitem.getElementsByTagName('ul');if(sublists.length){listitem.removeChild(sublists[0]);clicky.src=DOKU_BASE+'lib/images/plus.gif';return false;}var link=listitem.getElementsByTagName('a')[0];var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;var ul=document.createElement('ul');listitem.appendChild(ul);ajax.elementObj=ul;ajax.afterCompletion=function(){media_manager.treeattach(ul);};ajax.runAJAX(link.search.substr(1)+'&call=medians');clicky.src=DOKU_BASE+'lib/images/minus.gif';return false;},suggest:function(){var file=$('upload__file');var name=$('upload__name');if(!file||!name)return;var text=file.value;text=text.substr(text.lastIndexOf('/')+1);text=text.substr(text.lastIndexOf('\\')+1);name.value=text;},initFlashUpload:function(){if(!hasFlash(8))return;var oform=$('dw__upload');var oflash=$('dw__flashupload');if(!oform||!oflash)return;var clicky=document.createElement('img');clicky.src=DOKU_BASE+'lib/images/multiupload.png';clicky.title=LANG['mu_btn'];clicky.alt=LANG['mu_btn'];clicky.style.cursor='pointer';clicky.onclick=function(){oform.style.display='none';oflash.style.display='';};oform.appendChild(clicky);}};addInitEvent(function(){media_manager.treeattach($('media__tree'));media_manager.selectorattach($('media__content'));media_manager.confirmattach($('media__content'));media_manager.attachoptions($('media__opts'));media_manager.initFlashUpload();});var crypt_keys=[];var tag_enc="ENCRYPTED";var tag_pt="SECRET";var encryptForSubmitInUse=false;addInitEvent(function(){return(decryptEditSetup());});function editFormOnSubmit(){var msg="Unsaved changes will be lost [edt].\nReally continue?";if(encryptForSubmit()===false){return(false);}var rc=changeCheck(msg);if(window.event){window.event.returnValue=rc;}return rc;}function decryptEditSetup(msg){var editform=null,wikitext=null,hiddentext=null,preview=null;if(!(editform=document.getElementById('dw__editform'))){return(true);}if(!(wikitext=document.getElementById('wiki__text'))){return(false);}if(!(preview=document.getElementById('edbtn__preview'))){return(false);}if(!(hiddentext=document.createElement('input'))){return(false);}hiddentext.setAttribute('id','wiki__text_submit');hiddentext.setAttribute('name','wikitext');hiddentext.setAttribute('type','hidden');editform.insertBefore(hiddentext,null);editform.parentNode.insertBefore(wikitext,editform);if(!(decryptButton=document.createElement('input'))){return(false);}decryptButton.setAttribute('id','decryptButton');decryptButton.setAttribute('name','decryptButton');decryptButton.setAttribute('type','Button');decryptButton.setAttribute('value','DecryptSecret');decryptButton.onclick=decryptEditForm;decryptButton.setAttribute('class','button');decryptButton.setAttribute('className','button');preview.parentNode.insertBefore(decryptButton,preview);editform.onsubmit=function(){return editFormOnSubmit();};locktimer.refresh=function(){var now=new Date();if(now.getTime()-locktimer.lasttime.getTime()>30*1000){var params='call=lock&id='+encodeURIComponent(locktimer.pageid);if(locktimer.draft){var dwform=$('dw__editform');if(encryptForSubmit()===false){return(false);}params+='&prefix='+encodeURIComponent(dwform.elements.prefix.value);params+='&wikitext='+encodeURIComponent(dwform.elements.wikitext.value);params+='&suffix='+encodeURIComponent(dwform.elements.suffix.value);params+='&date='+encodeURIComponent(dwform.elements.date.value);}locktimer.sack.runAJAX(params);locktimer.lasttime=now;}};}function encryptForSubmit(){var wikitext=null,hiddentext=null;while(encryptForSubmitInUse!==false){}encryptForSubmitInUse=true;if(!(wikitext=document.getElementById('wiki__text'))){alert("failed to get wiki__text");encryptForSubmitInUse=false;return(false);}if(!(hiddentext=document.getElementById('wiki__text_submit'))){alert("failed to get wiki__text_submit");encryptForSubmitInUse=false;return(false);}var tosubmit=encryptMixedText(wikitext.value);if(tosubmit===false){encryptForSubmitInUse=false;return(false);}hiddentext.value=tosubmit;encryptForSubmitInUse=false;return(true);}function decryptEditForm(){var elem=null,newtext="";if(!(elem=document.getElementById('wiki__text'))){return(true);}if((newtext=decryptMixedText(elem.value))===false){alert("failed to decrypt wiki__text");return(false);}elem.value=newtext;return(true);}function setKeyFromAscii(pass){var s=encode_utf8(pass);var i,kmd5e,kmd5o;if(s.length==1){s+=s;}md5_init();for(i=0;i<s.length;i+=2){md5_update(s.charCodeAt(i));}md5_finish();kmd5e=byteArrayToHex(digestBits);md5_init();for(i=1;i<s.length;i+=2){md5_update(s.charCodeAt(i));}md5_finish();kmd5o=byteArrayToHex(digestBits);var hs=kmd5e+kmd5o;key=hexToByteArray(hs);hs=byteArrayToHex(key);return(key);}function toggleElemVisibility(elemid){elem=document.getElementById(elemid);if(elem.style.visibility=="visible"){elem.style.visibility="hidden";elem.style.position="absolute";}else{elem.style.visibility="visible";elem.style.position="relative";}}function toggleCryptDiv(elemid,lock,ctext){var elem=null,atab=null,key="",ptext="";var ctStr="Decrypt Encrypted Text",ptStr="Hide Plaintext";elem=document.getElementById(elemid);atag=document.getElementById(elemid+"_atag");if(elem===null||atag===null){alert("failed to find element id "+elemid);}if(atag.innerHTML==ptStr){elem.innerHTML=ctext;atag.innerHTML=ctStr;crypt_keys[lock]=undefined;}else if(atag.innerHTML==ctStr){if((ptext=verifyDecrypt(ctext,lock,false))===false){alert("unable to find key for lock "+lock);return;}elem.innerHTML=ptext;atag.innerHTML=ptStr;elem.style.visibility="visible";elem.style.position="relative";}else{alert("Broken");return;}}function getEncryptionKeyForLock(lock){if(undefined===crypt_keys[lock]){var x,y;x=prompt("Enter passphrase key for lock "+lock);if(x===null){return(false);}y=prompt("Verify passphrase key for lock "+lock);if(y===null){return(false);}if(x!=y){crypt_debug("passwords do not match\n");return(false);}crypt_debug("x="+x+" y="+y);crypt_keys[lock]=x;return(x);}else{return(crypt_keys[lock]);}}var debugval="";function crypt_debug(str){debugval+=str;}function decryptMixedText(x){var tag=tag_enc;var ret="",key="",ctext="";var tagend=0,opentag=0,blockend=0,pos=0;while((cur=x.indexOf("<"+tag,pos))!=-1){if((opentag_end=x.indexOf(">",cur))==-1){alert("unable to close to open tag");return(false);}if((closetag=x.indexOf("</"+tag+">",opentag_end))==-1){alert("unable to find close of "+tag+" tag");return(false);}if(!(ctext=decryptBlock(x.substring(cur,closetag+tag.length+3),false))){return(false);}ret+=x.substring(pos,cur)+ctext;pos=closetag+tag.length+3;}ret+=x.substring(pos);return(ret);}function encryptMixedText(x){var tag=tag_pt;var ret="",key="",ctext="";var tagend=0,opentag=0,blockend=0,pos=0;while((cur=x.indexOf("<"+tag,pos))!=-1){if((opentag_end=x.indexOf(">",cur))==-1){alert("unable to close to open tag");return(false);}if((closetag=x.indexOf("</"+tag+">",opentag_end))==-1){x=x+"</"+tag+">";closetag=x.indexOf("</"+tag+">",opentag_end);}if(!(ctext=encryptBlock(x.substring(cur,closetag+tag.length+3),false))){alert("failed to encrypt text");return(false);}ret+=x.substring(pos,cur)+ctext;pos=closetag+tag.length+3;}ret+=x.substring(pos);return(ret);}function verifyDecrypt(ctext,lock,key){var ptext=null;if(undefined!==crypt_keys[lock]){key=crypt_keys[lock];}if(key===false&&(undefined===crypt_keys[lock])){var key=prompt("Enter passphrase for lock "+lock);if(key===null){return(false);}if(!(ptext=decryptTextString(ctext,key))){var pstr="Try again: Enter passphrase for lock "+lock;while(null!==(key=prompt(pstr))){ptext=decryptTextString(ctext,key);if(ptext){break;}}if(key==null){return(false);}}crypt_keys[lock]=key;}else{var xkey=key;if(key===false){xkey=crypt_keys[lock];}if(!(ptext=decryptTextString(ctext,xkey))){if(key!==false){alert("failed to decrypt with provided key");}return(false);}}return(ptext);}function decryptBlock(data,key){var tagend=0,ptend=0,lock=null,ptext;if((tagend=data.indexOf(">"))==-1){crypt_debug("no > in "+data);return(false);}if((ptend=data.lastIndexOf("</"))==-1){crypt_debug(" no </ in "+data);return(false);}lock=getTagAttr(data.substring(0,tagend+1),"LOCK");if(lock===null){lock="default";}collapsed=getTagAttr(data.substring(0,tagend+1),"COLLAPSED");if(collapsed===null){collapsed="0";}if(!(ptext=verifyDecrypt(data.substring(tagend+1,ptend),lock,key))){return(false);}return("<"+tag_pt+" LOCK="+lock+" "+"COLLAPSED="+collapsed+">"+ptext+"</"+tag_pt+">");}function getTagAttr(opentag,attr){var loff=0;if((loff=opentag.indexOf(attr+"="))!=-1){if((t=opentag.indexOf(" ",loff+attr.length+1))!=-1){return(opentag.substring(loff+attr.length+1,t));}else{return(opentag.substring(loff+attr.length+1,opentag.length-1));}}return(null);}function encryptBlock(data,key){var tagend=0,ptend=0,lock=null,ctext;if((tagend=data.indexOf(">"))==-1){crypt_debug("no > in "+data);return(false);}if((ptend=data.lastIndexOf("</"))==-1){crypt_debug(" no </ in "+data);return(false);}lock=getTagAttr(data.substring(0,tagend+1),"LOCK");if(lock===null){lock="default";}collapsed=getTagAttr(data.substring(0,tagend+1),"COLLAPSED");if(collapsed===null){collapased="0";}if(key===false){key=getEncryptionKeyForLock(lock);if(key===false){return(false);}}if(!(ctext=encryptTextString(data.substring(tagend+1,ptend),key))){return(false);}return("<ENCRYPTED LOCK="+lock+" "+"COLLAPSED="+collapsed+">"+ctext+"</ENCRYPTED>");}function encryptTextString(ptext,akey){var v,i,ret,key;var prefix="#####  Encrypted: decrypt with ";prefix+="http://www.fourmilab.ch/javascrypt/\n";suffix="#####  End encrypted message\n";if(akey.length===0){alert("Please specify a key with which to encrypt the message.");return;}if(ptext.length===0){alert("No plain text to encrypt!");return;}ret="";key=setKeyFromAscii(akey);addEntropyTime();prng=new AESprng(keyFromEntropy());var plaintext=encode_utf8(ptext);md5_init();for(i=0;i<plaintext.length;i++){md5_update(plaintext.charCodeAt(i));}md5_finish();var header="";for(i=0;i<digestBits.length;i++){header+=String.fromCharCode(digestBits[i]);}i=plaintext.length;header+=String.fromCharCode(i>>>24);header+=String.fromCharCode(i>>>16);header+=String.fromCharCode(i>>>8);header+=String.fromCharCode(i&0xFF);var ct=rijndaelEncrypt(header+plaintext,key,"CBC");delete prng;return(prefix+armour_base64(ct)+suffix);}function decryptTextString(ctext,akey){key=setKeyFromAscii(akey);var ct=[];ct=disarm_base64(ctext);var result=rijndaelDecrypt(ct,key,"CBC");var header=result.slice(0,20);result=result.slice(20);var dl=(header[16]<<24)|(header[17]<<16)|(header[18]<<8)|header[19];if((dl<0)||(dl>result.length)){dl=result.length;}var i,plaintext="";md5_init();for(i=0;i<dl;i++){plaintext+=String.fromCharCode(result[i]);md5_update(result[i]);}md5_finish();successful=true;for(i=0;i<digestBits.length;i++){if(digestBits[i]!=header[i]){crypt_debug("Invalid decryption key.");return(false);}}return(decode_utf8(plaintext));}var keySizeInBits=256;var blockSizeInBits=128;var roundsArray=[undefined,undefined,undefined,undefined,[undefined,undefined,undefined,undefined,10,undefined,12,undefined,14],undefined,[undefined,undefined,undefined,undefined,12,undefined,12,undefined,14],undefined,[undefined,undefined,undefined,undefined,14,undefined,14,undefined,14]];var shiftOffsets=[undefined,undefined,undefined,undefined,[undefined,1,2,3],undefined,[undefined,1,2,3],undefined,[undefined,1,3,4]];var Rcon=[0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91];var SBox=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];var SBoxInverse=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125];function cyclicShiftLeft(theArray,positions){var temp=theArray.slice(0,positions);theArray=theArray.slice(positions).concat(temp);return theArray;}var Nk=keySizeInBits/32;var Nb=blockSizeInBits/32;var Nr=roundsArray[Nk][Nb];function xtime(poly){poly<<=1;return((poly&0x100)?(poly^0x11B):(poly));}function mult_GF256(x,y){var bit,result=0;for(bit=1;bit<256;bit*=2,y=xtime(y)){if(x&bit){result^=y;}}return result;}function byteSub(state,direction){var S;if(direction=="encrypt"){S=SBox;}else{S=SBoxInverse;}for(var i=0;i<4;i++){for(var j=0;j<Nb;j++){state[i][j]=S[state[i][j]];}}}function shiftRow(state,direction){for(var i=1;i<4;i++){if(direction=="encrypt"){state[i]=cyclicShiftLeft(state[i],shiftOffsets[Nb][i]);}else{state[i]=cyclicShiftLeft(state[i],Nb-shiftOffsets[Nb][i]);}}}function mixColumn(state,direction){var b=[];var i=0;for(var j=0;j<Nb;j++){for(i=0;i<4;i++){if(direction=="encrypt"){b[i]=mult_GF256(state[i][j],2)^mult_GF256(state[(i+1)%4][j],3)^state[(i+2)%4][j]^state[(i+3)%4][j];}else{b[i]=mult_GF256(state[i][j],0xE)^mult_GF256(state[(i+1)%4][j],0xB)^mult_GF256(state[(i+2)%4][j],0xD)^mult_GF256(state[(i+3)%4][j],9);}}for(i=0;i<4;i++){state[i][j]=b[i];}}}function addRoundKey(state,roundKey){for(var j=0;j<Nb;j++){state[0][j]^=(roundKey[j]&0xFF);state[1][j]^=((roundKey[j]>>8)&0xFF);state[2][j]^=((roundKey[j]>>16)&0xFF);state[3][j]^=((roundKey[j]>>24)&0xFF);}}function keyExpansion(key){var expandedKey=[];var temp;Nk=keySizeInBits/32;Nb=blockSizeInBits/32;Nr=roundsArray[Nk][Nb];for(var j=0;j<Nk;j++){expandedKey[j]=(key[4*j])|(key[4*j+1]<<8)|(key[4*j+2]<<16)|(key[4*j+3]<<24);}for(j=Nk;j<Nb*(Nr+1);j++){temp=expandedKey[j-1];if(j%Nk===0){temp=((SBox[(temp>>8)&0xFF])|(SBox[(temp>>16)&0xFF]<<8)|(SBox[(temp>>24)&0xFF]<<16)|(SBox[temp&0xFF]<<24))^Rcon[Math.floor(j/Nk)-1];}else if(Nk>6&&j%Nk==4){temp=(SBox[(temp>>24)&0xFF]<<24)|(SBox[(temp>>16)&0xFF]<<16)|(SBox[(temp>>8)&0xFF]<<8)|(SBox[temp&0xFF]);}expandedKey[j]=expandedKey[j-Nk]^temp;}return expandedKey;}function jcRound(state,roundKey){byteSub(state,"encrypt");shiftRow(state,"encrypt");mixColumn(state,"encrypt");addRoundKey(state,roundKey);}function inverseRound(state,roundKey){addRoundKey(state,roundKey);mixColumn(state,"decrypt");shiftRow(state,"decrypt");byteSub(state,"decrypt");}function finalRound(state,roundKey){byteSub(state,"encrypt");shiftRow(state,"encrypt");addRoundKey(state,roundKey);}function inverseFinalRound(state,roundKey){addRoundKey(state,roundKey);shiftRow(state,"decrypt");byteSub(state,"decrypt");}function encrypt(block,expandedKey){var i;if(!block||block.length*8!=blockSizeInBits){return;}if(!expandedKey){return;}block=packBytes(block);addRoundKey(block,expandedKey);for(i=1;i<Nr;i++){jcRound(block,expandedKey.slice(Nb*i,Nb*(i+1)));}finalRound(block,expandedKey.slice(Nb*Nr));return unpackBytes(block);}function decrypt(block,expandedKey){var i;if(!block||block.length*8!=blockSizeInBits){return;}if(!expandedKey){return;}block=packBytes(block);inverseFinalRound(block,expandedKey.slice(Nb*Nr));for(i=Nr-1;i>0;i--){inverseRound(block,expandedKey.slice(Nb*i,Nb*(i+1)));}addRoundKey(block,expandedKey);return unpackBytes(block);}function byteArrayToHex(byteArray){var result="";if(!byteArray){return;}for(var i=0;i<byteArray.length;i++){result+=((byteArray[i]<16)?"0":"")+byteArray[i].toString(16);}return result;}function hexToByteArray(hexString){var byteArray=[];if(hexString.length%2){return;}if(hexString.indexOf("0x")===0||hexString.indexOf("0X")===0){hexString=hexString.substring(2);}for(var i=0;i<hexString.length;i+=2){byteArray[Math.floor(i/2)]=parseInt(hexString.slice(i,i+2),16);}return byteArray;}function packBytes(octets){var state=[];if(!octets||octets.length%4){return;}state[0]=[];state[1]=[];state[2]=[];state[3]=[];for(var j=0;j<octets.length;j+=4){state[0][j/4]=octets[j];state[1][j/4]=octets[j+1];state[2][j/4]=octets[j+2];state[3][j/4]=octets[j+3];}return state;}function unpackBytes(packed){var result=[];for(var j=0;j<packed[0].length;j++){result[result.length]=packed[0][j];result[result.length]=packed[1][j];result[result.length]=packed[2][j];result[result.length]=packed[3][j];}return result;}function formatPlaintext(plaintext){var bpb=blockSizeInBits/8;var i;if((!((typeof plaintext=="object")&&((typeof(plaintext[0]))=="number")))&&((typeof plaintext=="string")||plaintext.indexOf)){plaintext=plaintext.split("");for(i=0;i<plaintext.length;i++){plaintext[i]=plaintext[i].charCodeAt(0)&0xFF;}}i=plaintext.length%bpb;if(i>0){plaintext=plaintext.concat(getRandomBytes(bpb-i));}return plaintext;}function getRandomBytes(howMany){var i,bytes=[];for(i=0;i<howMany;i++){bytes[i]=prng.nextInt(255);}return bytes;}function rijndaelEncrypt(plaintext,key,mode){var expandedKey,i,aBlock;var bpb=blockSizeInBits/8;var ct;if(!plaintext||!key){return;}if(key.length*8!=keySizeInBits){return;}if(mode=="CBC"){ct=getRandomBytes(bpb);}else{mode="ECB";ct=[];}plaintext=formatPlaintext(plaintext);expandedKey=keyExpansion(key);for(var block=0;block<plaintext.length/bpb;block++){aBlock=plaintext.slice(block*bpb,(block+1)*bpb);if(mode=="CBC"){for(i=0;i<bpb;i++){aBlock[i]^=ct[(block*bpb)+i];}}ct=ct.concat(encrypt(aBlock,expandedKey));}return ct;}function rijndaelDecrypt(ciphertext,key,mode){var expandedKey;var bpb=blockSizeInBits/8;var pt=[];var aBlock;var block;if(!ciphertext||!key||typeof ciphertext=="string"){return;}if(key.length*8!=keySizeInBits){return;}if(!mode){mode="ECB";}expandedKey=keyExpansion(key);for(block=(ciphertext.length/bpb)-1;block>0;block--){aBlock=decrypt(ciphertext.slice(block*bpb,(block+1)*bpb),expandedKey);if(mode=="CBC"){for(var i=0;i<bpb;i++){pt[(block-1)*bpb+i]=aBlock[i]^ciphertext[(block-1)*bpb+i];}}else{pt=aBlock.concat(pt);}}if(mode=="ECB"){pt=decrypt(ciphertext.slice(0,bpb),expandedKey).concat(pt);}return pt;}var entropyData=[];var edlen=0;addEntropyTime();ce();function addEntropyByte(b){entropyData[edlen++]=b;}function ce(){addEntropyByte(Math.floor((((new Date()).getMilliseconds())*255)/999));}function addEntropy32(w){var i;for(i=0;i<4;i++){addEntropyByte(w&0xFF);w>>=8;}}function addEntropyTime(){addEntropy32((new Date()).getTime());}var mouseMotionCollect=0;var oldMoveHandler;function mouseMotionEntropy(maxsamp){if(mouseMotionCollect<=0){mouseMotionCollect=maxsamp;if((document.implementation.hasFeature("Events","2.0"))&&document.addEventListener){document.addEventListener("mousemove",mouseMoveEntropy,false);}else{if(document.attachEvent){document.attachEvent("onmousemove",mouseMoveEntropy);}else{oldMoveHandler=document.onmousemove;document.onmousemove=mouseMoveEntropy;}}}}var mouseEntropyTime=0;function mouseMoveEntropy(e){if(!e){e=window.event;}if(mouseMotionCollect>0){if(mouseEntropyTime--<=0){addEntropyByte(e.screenX&0xFF);addEntropyByte(e.screenY&0xFF);ce();mouseMotionCollect--;mouseEntropyTime=(entropyData[edlen-3]^entropyData[edlen-2]^entropyData[edlen-1])%19;}if(mouseMotionCollect<=0){if(document.removeEventListener){document.removeEventListener("mousemove",mouseMoveEntropy,false);}else if(document.detachEvent){document.detachEvent("onmousemove",mouseMoveEntropy);}else{document.onmousemove=oldMoveHandler;}}}}function keyFromEntropy(){var i,k=[];if(edlen===0){alert("Blooie!  Entropy vector void at call to keyFromEntropy.");}md5_init();for(i=0;i<edlen;i+=2){md5_update(entropyData[i]);}md5_finish();for(i=0;i<16;i++){k[i]=digestBits[i];}md5_init();for(i=1;i<edlen;i+=2){md5_update(entropyData[i]);}md5_finish();for(i=0;i<16;i++){k[i+16]=digestBits[i];}return k;}function AESprng(seed){this.key=[];this.key=seed;this.itext=hexToByteArray("9F489613248148F9C27945C6AE62EECA3E3367BB14064E4E6DC67A9F28AB3BD1");this.nbytes=0;this.next=AESprng_next;this.nextbits=AESprng_nextbits;this.nextInt=AESprng_nextInt;this.round=AESprng_round;bsb=blockSizeInBits;blockSizeInBits=256;var i,ct;for(i=0;i<3;i++){this.key=rijndaelEncrypt(this.itext,this.key,"ECB");}var n=1+(this.key[3]&2)+(this.key[9]&1);for(i=0;i<n;i++){this.key=rijndaelEncrypt(this.itext,this.key,"ECB");}blockSizeInBits=bsb;}function AESprng_round(){bsb=blockSizeInBits;blockSizeInBits=256;this.key=rijndaelEncrypt(this.itext,this.key,"ECB");this.nbytes=32;blockSizeInBits=bsb;}function AESprng_next(){if(this.nbytes<=0){this.round();}return(this.key[--this.nbytes]);}function AESprng_nextbits(n){var i,w=0,nbytes=Math.floor((n+7)/8);for(i=0;i<nbytes;i++){w=(w<<8)|this.next();}return w&((1<<n)-1);}function AESprng_nextInt(n){var p=1,nb=0;while(n>=p){p<<=1;nb++;}p--;while(true){var v=this.nextbits(nb)&p;if(v<=n){return v;}}}function uGen(old,a,q,r,m){var t;t=Math.floor(old/q);t=a*(old-(t*q))-(t*r);return Math.round((t<0)?(t+m):t);}function LEnext(){var i;this.gen1=uGen(this.gen1,40014,53668,12211,2147483563);this.gen2=uGen(this.gen2,40692,52774,3791,2147483399);i=Math.floor(this.state/67108862);this.state=Math.round((this.shuffle[i]+this.gen2)%2147483563);this.shuffle[i]=this.gen1;return this.state;}function LEnint(n){var p=1;while(n>=p){p<<=1;}p--;while(true){var v=this.next()&p;if(v<=n){return v;}}}function LEcuyer(s){var i;this.shuffle=[];this.gen1=this.gen2=(s&0x7FFFFFFF);for(i=0;i<19;i++){this.gen1=uGen(this.gen1,40014,53668,12211,2147483563);}for(i=0;i<32;i++){this.gen1=uGen(this.gen1,40014,53668,12211,2147483563);this.shuffle[31-i]=this.gen1;}this.state=this.shuffle[0];this.next=LEnext;this.nextInt=LEnint;}function array(n){for(i=0;i<n;i++){this[i]=0;}this.length=n;}function integer(n){return n%(0xffffffff+1);}function shr(a,b){a=integer(a);b=integer(b);if(a-0x80000000>=0){a=a%0x80000000;a>>=b;a+=0x40000000>>(b-1);}else{a>>=b;}return a;}function shl1(a){a=a%0x80000000;if(a&0x40000000==0x40000000){a-=0x40000000;a*=2;a+=0x80000000;}else{a*=2;}return a;}function shl(a,b){a=integer(a);b=integer(b);for(var i=0;i<b;i++){a=shl1(a);}return a;}function and(a,b){a=integer(a);b=integer(b);var t1=a-0x80000000;var t2=b-0x80000000;if(t1>=0){if(t2>=0){return((t1&t2)+0x80000000);}else{return(t1&b);}}else{if(t2>=0){return(a&t2);}else{return(a&b);}}}function or(a,b){a=integer(a);b=integer(b);var t1=a-0x80000000;var t2=b-0x80000000;if(t1>=0){if(t2>=0){return((t1|t2)+0x80000000);}else{return((t1|b)+0x80000000);}}else{if(t2>=0){return((a|t2)+0x80000000);}else{return(a|b);}}}function xor(a,b){a=integer(a);b=integer(b);var t1=a-0x80000000;var t2=b-0x80000000;if(t1>=0){if(t2>=0){return(t1^t2);}else{return((t1^b)+0x80000000);}}else{if(t2>=0){return((a^t2)+0x80000000);}else{return(a^b);}}}function not(a){a=integer(a);return 0xffffffff-a;}var state=[];var count=[];count[0]=0;count[1]=0;var buffer=[];var transformBuffer=[];var digestBits=[];var S11=7;var S12=12;var S13=17;var S14=22;var S21=5;var S22=9;var S23=14;var S24=20;var S31=4;var S32=11;var S33=16;var S34=23;var S41=6;var S42=10;var S43=15;var S44=21;function jcF(x,y,z){return or(and(x,y),and(not(x),z));}function jcG(x,y,z){return or(and(x,z),and(y,not(z)));}function jcH(x,y,z){return xor(xor(x,y),z);}function jcI(x,y,z){return xor(y,or(x,not(z)));}function rotateLeft(a,n){return or(shl(a,n),(shr(a,(32-n))));}function jcFF(a,b,c,d,x,s,ac){a=a+jcF(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b;return a;}function jcGG(a,b,c,d,x,s,ac){a=a+jcG(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b;return a;}function jcHH(a,b,c,d,x,s,ac){a=a+jcH(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b;return a;}function jcII(a,b,c,d,x,s,ac){a=a+jcI(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b;return a;}function transform(buf,offset){var a=0,b=0,c=0,d=0;var x=transformBuffer;a=state[0];b=state[1];c=state[2];d=state[3];for(i=0;i<16;i++){x[i]=and(buf[i*4+offset],0xFF);for(j=1;j<4;j++){x[i]+=shl(and(buf[i*4+j+offset],0xFF),j*8);}}a=jcFF(a,b,c,d,x[0],S11,0xd76aa478);d=jcFF(d,a,b,c,x[1],S12,0xe8c7b756);c=jcFF(c,d,a,b,x[2],S13,0x242070db);b=jcFF(b,c,d,a,x[3],S14,0xc1bdceee);a=jcFF(a,b,c,d,x[4],S11,0xf57c0faf);d=jcFF(d,a,b,c,x[5],S12,0x4787c62a);c=jcFF(c,d,a,b,x[6],S13,0xa8304613);b=jcFF(b,c,d,a,x[7],S14,0xfd469501);a=jcFF(a,b,c,d,x[8],S11,0x698098d8);d=jcFF(d,a,b,c,x[9],S12,0x8b44f7af);c=jcFF(c,d,a,b,x[10],S13,0xffff5bb1);b=jcFF(b,c,d,a,x[11],S14,0x895cd7be);a=jcFF(a,b,c,d,x[12],S11,0x6b901122);d=jcFF(d,a,b,c,x[13],S12,0xfd987193);c=jcFF(c,d,a,b,x[14],S13,0xa679438e);b=jcFF(b,c,d,a,x[15],S14,0x49b40821);a=jcGG(a,b,c,d,x[1],S21,0xf61e2562);d=jcGG(d,a,b,c,x[6],S22,0xc040b340);c=jcGG(c,d,a,b,x[11],S23,0x265e5a51);b=jcGG(b,c,d,a,x[0],S24,0xe9b6c7aa);a=jcGG(a,b,c,d,x[5],S21,0xd62f105d);d=jcGG(d,a,b,c,x[10],S22,0x2441453);c=jcGG(c,d,a,b,x[15],S23,0xd8a1e681);b=jcGG(b,c,d,a,x[4],S24,0xe7d3fbc8);a=jcGG(a,b,c,d,x[9],S21,0x21e1cde6);d=jcGG(d,a,b,c,x[14],S22,0xc33707d6);c=jcGG(c,d,a,b,x[3],S23,0xf4d50d87);b=jcGG(b,c,d,a,x[8],S24,0x455a14ed);a=jcGG(a,b,c,d,x[13],S21,0xa9e3e905);d=jcGG(d,a,b,c,x[2],S22,0xfcefa3f8);c=jcGG(c,d,a,b,x[7],S23,0x676f02d9);b=jcGG(b,c,d,a,x[12],S24,0x8d2a4c8a);a=jcHH(a,b,c,d,x[5],S31,0xfffa3942);d=jcHH(d,a,b,c,x[8],S32,0x8771f681);c=jcHH(c,d,a,b,x[11],S33,0x6d9d6122);b=jcHH(b,c,d,a,x[14],S34,0xfde5380c);a=jcHH(a,b,c,d,x[1],S31,0xa4beea44);d=jcHH(d,a,b,c,x[4],S32,0x4bdecfa9);c=jcHH(c,d,a,b,x[7],S33,0xf6bb4b60);b=jcHH(b,c,d,a,x[10],S34,0xbebfbc70);a=jcHH(a,b,c,d,x[13],S31,0x289b7ec6);d=jcHH(d,a,b,c,x[0],S32,0xeaa127fa);c=jcHH(c,d,a,b,x[3],S33,0xd4ef3085);b=jcHH(b,c,d,a,x[6],S34,0x4881d05);a=jcHH(a,b,c,d,x[9],S31,0xd9d4d039);d=jcHH(d,a,b,c,x[12],S32,0xe6db99e5);c=jcHH(c,d,a,b,x[15],S33,0x1fa27cf8);b=jcHH(b,c,d,a,x[2],S34,0xc4ac5665);a=jcII(a,b,c,d,x[0],S41,0xf4292244);d=jcII(d,a,b,c,x[7],S42,0x432aff97);c=jcII(c,d,a,b,x[14],S43,0xab9423a7);b=jcII(b,c,d,a,x[5],S44,0xfc93a039);a=jcII(a,b,c,d,x[12],S41,0x655b59c3);d=jcII(d,a,b,c,x[3],S42,0x8f0ccc92);c=jcII(c,d,a,b,x[10],S43,0xffeff47d);b=jcII(b,c,d,a,x[1],S44,0x85845dd1);a=jcII(a,b,c,d,x[8],S41,0x6fa87e4f);d=jcII(d,a,b,c,x[15],S42,0xfe2ce6e0);c=jcII(c,d,a,b,x[6],S43,0xa3014314);b=jcII(b,c,d,a,x[13],S44,0x4e0811a1);a=jcII(a,b,c,d,x[4],S41,0xf7537e82);d=jcII(d,a,b,c,x[11],S42,0xbd3af235);c=jcII(c,d,a,b,x[2],S43,0x2ad7d2bb);b=jcII(b,c,d,a,x[9],S44,0xeb86d391);state[0]+=a;state[1]+=b;state[2]+=c;state[3]+=d;}function md5_init(){count[0]=count[1]=0;state[0]=0x67452301;state[1]=0xefcdab89;state[2]=0x98badcfe;state[3]=0x10325476;for(i=0;i<digestBits.length;i++){digestBits[i]=0;}}function md5_update(b){var index,i;index=and(shr(count[0],3),0x3F);if(count[0]<0xFFFFFFFF-7){count[0]+=8;}else{count[1]++;count[0]-=0xFFFFFFFF+1;count[0]+=8;}buffer[index]=and(b,0xff);if(index>=63){transform(buffer,0);}}function md5_finish(){var bits=[];var padding;var i=0,index=0,padLen=0;for(i=0;i<4;i++){bits[i]=and(shr(count[0],(i*8)),0xFF);}for(i=0;i<4;i++){bits[i+4]=and(shr(count[1],(i*8)),0xFF);}index=and(shr(count[0],3),0x3F);padLen=(index<56)?(56-index):(120-index);padding=[];padding[0]=0x80;for(i=0;i<padLen;i++){md5_update(padding[i]);}for(i=0;i<8;i++){md5_update(bits[i]);}for(i=0;i<4;i++){for(j=0;j<4;j++){digestBits[i*4+j]=and(shr(state[i],(j*8)),0xFF);}}}var maxLineLength=64;var hexSentinel="?HX?",hexEndSentinel="?H";function armour_hex(b){var h=hexSentinel+byteArrayToHex(b)+hexEndSentinel;var t="";while(h.length>maxLineLength){t+=h.substring(0,maxLineLength)+"\n";h=h.substring(maxLineLength,h.length);}t+=h+"\n";return t;}function disarm_hex(s){var hexDigits="0123456789abcdefABCDEF";var hs="",i;if((i=s.indexOf(hexSentinel))>=0){s=s.substring(i+hexSentinel.length,s.length);}if((i=s.indexOf(hexEndSentinel))>=0){s=s.substring(0,i);}for(i=0;i<s.length;i++){var c=s.charAt(i);if(hexDigits.indexOf(c)>=0){hs+=c;}}return hexToByteArray(hs);}var acgcl,acgt,acgg;function armour_cg_outgroup(){if(acgcl.length>maxLineLength){acgt+=acgcl+"\n";acgcl="";}if(acgcl.length>0){acgcl+=" ";}acgcl+=acgg;acgg="";}function armour_cg_outletter(l){if(acgg.length>=5){armour_cg_outgroup();}acgg+=l;}var codegroupSentinel="ZZZZZ";function armour_codegroup(b){var charBase=("A").charCodeAt(0);acgcl=codegroupSentinel;acgt="";acgg="";var cgrng=new LEcuyer(0xbadf00d);for(i=0;i<b.length;i++){var r=cgrng.nextInt(23);armour_cg_outletter(String.fromCharCode(charBase+((((b[i]>>4)&0xF))+r)%24));r=cgrng.nextInt(23);armour_cg_outletter(String.fromCharCode(charBase+((((b[i]&0xF))+r)%24)));}delete cgrng;while(acgg.length<5){armour_cg_outletter("Z");}armour_cg_outgroup();acgg="YYYYY";armour_cg_outgroup();acgt+=acgcl+"\n";return acgt;}var dcgs,dcgi;function disarm_cg_insig(){while(dcgi<dcgs.length){var c=dcgs.charAt(dcgi++).toUpperCase();if((c>="A")&&(c<="Z")){return c;}}return"";}function disarm_codegroup(s){var b=[];var nz=0,ba,bal=0,c;dcgs=s;dcgi=0;while(nz<5){c=disarm_cg_insig();if(c=="Z"){nz++;}else if(c===""){nz=0;break;}else{nz=0;}}if(nz===0){alert("No codegroup starting symbol found in message.");return"";}var charBase=("A").charCodeAt(0);var cgrng=new LEcuyer(0xbadf00d);for(nz=0;nz<2;){c=disarm_cg_insig();if((c=="Y")||(c==="")){break;}else if(c!="Z"){var r=cgrng.nextInt(23);var n=c.charCodeAt(0)-charBase;n=(n+(24-r))%24;if(nz===0){ba=(n<<4);nz++;}else{ba|=n;b[bal++]=ba;nz=0;}}}delete cgrng;var kbo="  Attempting decoding with data received.";if(nz!==0){alert("Codegroup data truncated."+kbo);}else{if(c=="Y"){nz=1;while(nz<5){c=disarm_cg_insig();if(c!="Y"){break;}nz++;}if(nz!=5){alert("Codegroup end group incomplete."+kbo);}}else{alert("Codegroup end group missing."+kbo);}}return b;}var base64code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",base64sent="?b64",base64esent="?64b",base64addsent=true;function armour_base64(b){var b64t="";var b64l=base64addsent?base64sent:"";var i;for(i=0;i<=b.length-3;i+=3){if((b64l.length+4)>maxLineLength){b64t+=b64l+"\n";b64l="";}b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4)|(b[i+1]>>4));b64l+=base64code.charAt(((b[i+1]&0xF)<<2)|(b[i+2]>>6));b64l+=base64code.charAt(b[i+2]&0x3F);}if((b.length-i)==1){b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4));b64l+="==";}else if((b.length-i)==2){b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4)|(b[i+1]>>4));b64l+=base64code.charAt(((b[i+1]&0xF)<<2));b64l+="=";}if((b64l.length+4)>maxLineLength){b64t+=b64l+"\n";b64l="";}if(base64addsent){b64l+=base64esent;}b64t+=b64l+"\n";return b64t;}function disarm_base64(s){var b=[];var i=0,j,c,shortgroup=0,n=0;var d=[];if((j=s.indexOf(base64sent))>=0){s=s.substring(j+base64sent.length,s.length);}if((j=s.indexOf(base64esent))>=0){s=s.substring(0,j);}while(i<s.length){if(base64code.indexOf(s.charAt(i))!=-1){break;}i++;}while(i<s.length){for(j=0;j<4;){if(i>=s.length){if(j>0){alert("Base64 cipher text truncated.");return b;}break;}c=base64code.indexOf(s.charAt(i));if(c>=0){d[j++]=c;}else if(s.charAt(i)=="="){d[j++]=0;shortgroup++;}else if(s.substring(i,i+base64esent.length)==base64esent){i=s.length;continue;}else{}i++;}if(j==4){b[n++]=((d[0]<<2)|(d[1]>>4))&0xFF;if(shortgroup<2){b[n++]=((d[1]<<4)|(d[2]>>2))&0xFF;if(shortgroup<1){b[n++]=((d[2]<<6)|d[3])&0xFF;}}}}return b;}function unicode_to_utf8(s){var utf8="";for(var n=0;n<s.length;n++){var c=s.charCodeAt(n);if(c<=0x7F){utf8+=String.fromCharCode(c);}else if((c>=0x80)&&(c<=0x7FF)){utf8+=String.fromCharCode((c>>6)|0xC0);utf8+=String.fromCharCode((c&0x3F)|0x80);}else{utf8+=String.fromCharCode((c>>12)|0xE0);utf8+=String.fromCharCode(((c>>6)&0x3F)|0x80);utf8+=String.fromCharCode((c&0x3F)|0x80);}}return utf8;}function utf8_to_unicode(utf8){var s="",i=0,b1,b2;while(i<utf8.length){b1=utf8.charCodeAt(i);if(b1<0x80){s+=String.fromCharCode(b1);i++;}else if((b1>=0xC0)&&(b1<0xE0)){b2=utf8.charCodeAt(i+1);s+=String.fromCharCode(((b1&0x1F)<<6)|(b2&0x3F));i+=2;}else{b2=utf8.charCodeAt(i+1);b3=utf8.charCodeAt(i+2);s+=String.fromCharCode(((b1&0xF)<<12)|((b2&0x3F)<<6)|(b3&0x3F));i+=3;}}return s;}function encode_utf8(s){var i,necessary=false;for(i=0;i<s.length;i++){if((s.charCodeAt(i)==0x9D)||(s.charCodeAt(i)>0xFF)){necessary=true;break;}}if(!necessary){return s;}return String.fromCharCode(0x9D)+unicode_to_utf8(s);}function decode_utf8(s){if((s.length>0)&&(s.charCodeAt(0)==0x9D)){return utf8_to_unicode(s.substring(1));}return s;}function plugin_tagindex_class(){this.pages=null;this.page=null;this.sack=null;this.done=1;this.count=0;}var pl_si=new plugin_tagindex_class();pl_si.sack=new sack(DOKU_BASE+'lib/plugins/tag/ajax.php');pl_si.sack.AjaxFailedAlert='';pl_si.sack.encodeURIString=false;function plugin_tagindex_throbber(on){obj=document.getElementById('pl_si_throbber');if(on){obj.style.visibility='visible';}else{obj.style.visibility='hidden';}}function plugin_tagindex_status(text){obj=document.getElementById('pl_si_out');obj.innerHTML=text;}function plugin_tagindex_cb_clear(){ok=this.response;if(ok==1){window.setTimeout("plugin_tagindex_index()",1000);}else{plugin_tagindex_status(ok);window.setTimeout("plugin_tagindex_clear()",5000);}}function plugin_tagindex_cb_pages(){data=this.response;pl_si.pages=data.split("\n");pl_si.count=pl_si.pages.length;plugin_tagindex_status(pl_si.pages.length+" pages found");pl_si.page=pl_si.pages.shift();window.setTimeout("plugin_tagindex_clear()",1000);}function plugin_tagindex_cb_index(){ok=this.response;if(ok==1){pl_si.page=pl_si.pages.shift();pl_si.done++;window.setTimeout("plugin_tagindex_index()",1000);}else{plugin_tagindex_status(ok);window.setTimeout("plugin_tagindex_index()",5000);}}function plugin_tagindex_index(){if(pl_si.page){plugin_tagindex_status('indexing<br />'+pl_si.page+'<br />('+pl_si.done+'/'+pl_si.count+')<br />');pl_si.sack.onCompletion=plugin_tagindex_cb_index;pl_si.sack.URLString='';pl_si.sack.runAJAX('call=indexpage&page='+encodeURI(pl_si.page));}else{plugin_tagindex_status('finished');plugin_tagindex_throbber(false);}}function plugin_tagindex_clear(){plugin_tagindex_status('clearing index...');pl_si.sack.onCompletion=plugin_tagindex_cb_clear;pl_si.sack.URLString='';pl_si.sack.runAJAX('call=clearindex');}function plugin_tagindex_go(){document.getElementById('pl_si_gobtn').style.display='none';plugin_tagindex_throbber(true);plugin_tagindex_status('Finding all pages');pl_si.sack.onCompletion=plugin_tagindex_cb_pages;pl_si.sack.URLString='';pl_si.sack.runAJAX('call=pagelist');}acl={init:function(){this.ctl=$('acl_manager');if(!this.ctl)return;var sel=$('acl__user').getElementsByTagName('select')[0];addEvent(sel,'change',acl.userselhandler);addEvent($('acl__tree'),'click',acl.treehandler);addEvent($('acl__user').getElementsByTagName('input')[1],'click',acl.loadinfo);},userselhandler:function(e){if(this.value=='__g__'||this.value=='__u__'){$('acl__user').getElementsByTagName('input')[0].style.display='';$('acl__user').getElementsByTagName('input')[1].style.display='';}else{$('acl__user').getElementsByTagName('input')[0].style.display='none';$('acl__user').getElementsByTagName('input')[1].style.display='none';}acl.loadinfo();},loadinfo:function(){var frm=$('acl__detail').getElementsByTagName('form')[0];var ajax=new sack(DOKU_BASE+'lib/plugins/acl/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;var data=Array();data[0]=ajax.encVar('ns',frm.elements['ns'].value);data[1]=ajax.encVar('id',frm.elements['id'].value);data[2]=ajax.encVar('acl_t',frm.elements['acl_t'].value);data[3]=ajax.encVar('acl_w',frm.elements['acl_w'].value);data[4]=ajax.encVar('sectok',frm.elements['sectok'].value);data[5]=ajax.encVar('ajax','info');ajax.elementObj=$('acl__info');ajax.runAJAX(data.join('&'));return false;},parseatt:function(str){if(str[0]=='?')str=str.substr(1);var attributes={};var all=str.split('&');for(var i=0;i<all.length;i++){var att=all[i].split('=');attributes[att[0]]=decodeURIComponent(att[1]);}return attributes;},hsc:function(str){str=str.replace(/&/g,"&amp;");str=str.replace(/\"/g,"&quot;");str=str.replace(/\'/g,"&#039;");str=str.replace(/</g,"&lt;");str=str.replace(/>/g,"&gt;");return str;},treetoggle:function(clicky){var listitem=clicky.parentNode.parentNode;var sublists=listitem.getElementsByTagName('ul');if(sublists.length){listitem.removeChild(sublists[0]);clicky.src=DOKU_BASE+'lib/images/plus.gif';clicky.alt='+';return false;}var link=listitem.getElementsByTagName('a')[0];var ajax=new sack(DOKU_BASE+'lib/plugins/acl/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;if(ajax.failed)return true;var ul=document.createElement('ul');listitem.appendChild(ul);ajax.elementObj=ul;ajax.runAJAX(link.search.substr(1)+'&ajax=tree');clicky.src=DOKU_BASE+'lib/images/minus.gif';return false;},treehandler:function(e){if(e.target.src){acl.treetoggle(e.target);}else if(e.target.href){var obj=getElementsByClass('cur',$('acl__tree'),'a');for(var i=0;i<obj.length;i++){obj[i].className=obj[i].className.replace(/ cur/,'');}e.target.className+=' cur';var frm=$('acl__detail').getElementsByTagName('form')[0];if(e.target.className.search(/wikilink1/)>-1){frm.elements['ns'].value='';frm.elements['id'].value=acl.hsc(acl.parseatt(e.target.search)['id']);}else if(e.target.className.search(/idx_dir/)>-1){frm.elements['ns'].value=acl.hsc(acl.parseatt(e.target.search)['ns']);frm.elements['id'].value='';}acl.loadinfo();}e.stopPropagation();e.preventDefault();return false;}};addInitEvent(acl.init);function rack_getElementsByClass(searchClass,node,tag){var classElements=new Array();if(node==null)node=document;if(tag==null)tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|\$)");for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}return classElements;}function ie6fix(){if(/MSIE/.test(navigator.userAgent)){var tables=rack_getElementsByClass('rack');for(var i=0;i<tables.length;i++){tables[i].style.display="inline";}}}function usrmgr_delconfirm(){if($('usrmgr__del')){addEvent($('usrmgr__del'),'click',function(){return confirm(reallyDel);});}};addInitEvent(usrmgr_delconfirm);addInitEvent(function(){var btns=getElementsByClass('btn_incledit',document,'form');for(var i=0;i<btns.length;i++){addEvent(btns[i],'mouseover',function(e){var tgt=e.target;if(tgt.form)tgt=tgt.form;id='plugin_include__'+tgt.id.value;var divs=getElementsByClass('plugin_include_content');for(var j=0;j<divs.length;j++){if(divs[j].id==id){divs[j].className+=' section_highlight';}}});addEvent(btns[i],'mouseout',function(e){var secs=getElementsByClass('section_highlight',document,'div');for(var j=0;j<secs.length;j++){secs[j].className=secs[j].className.replace(/ section_highlight/,'');}});}});if(toolbar){toolbar[toolbar.length]={"type":"format","title":"note","key":"","icon":"../../plugins/note/images/tb_note.png","open":"<note>","close":"</note>"};toolbar[toolbar.length]={"type":"format","title":"tip","key":"","icon":"../../plugins/note/images/tb_tip.png","open":"<note tip>","close":"</note>"};toolbar[toolbar.length]={"type":"format","title":"important","key":"","icon":"../../plugins/note/images/tb_important.png","open":"<note important>","close":"</note>"};toolbar[toolbar.length]={"type":"format","title":"warning","key":"","icon":"../../plugins/note/images/tb_warning.png","open":"<note warning>","close":"</note>"};}function WindowSize(){this.w=0;this.h=0;return this.update();}WindowSize.prototype.update=function(){var d=document;this.w=(window.innerWidth)?window.innerWidth:(d.documentElement&&d.documentElement.clientWidth)?d.documentElement.clientWidth:d.body.clientWidth;this.h=(window.innerHeight)?window.innerHeight:(d.documentElement&&d.documentElement.clientHeight)?d.documentElement.clientHeight:d.body.clientHeight;return this;};function PageSize(){this.win=new WindowSize();this.w=0;this.h=0;return this.update();}PageSize.prototype.update=function(){var d=document;this.w=(window.innerWidth&&window.scrollMaxX)?window.innerWidth+window.scrollMaxX:(d.body.scrollWidth>d.body.offsetWidth)?d.body.scrollWidth:d.body.offsetWidt;this.h=(window.innerHeight&&window.scrollMaxY)?window.innerHeight+window.scrollMaxY:(d.body.scrollHeight>d.body.offsetHeight)?d.body.scrollHeight:d.body.offsetHeight;this.win.update();if(this.w<this.win.w)this.w=this.win.w;if(this.h<this.win.h)this.h=this.win.h;return this;};function PagePos(){this.x=0;this.y=0;return this.update();}PagePos.prototype.update=function(){var d=document;this.x=(window.pageXOffset)?window.pageXOffset:(d.documentElement&&d.documentElement.scrollLeft)?d.documentElement.scrollLeft:(d.body)?d.body.scrollLeft:0;this.y=(window.pageYOffset)?window.pageYOffset:(d.documentElement&&d.documentElement.scrollTop)?d.documentElement.scrollTop:(d.body)?d.body.scrollTop:0;return this;};function UserAgent(){var ua=navigator.userAgent;this.isWinIE=this.isMacIE=false;this.isGecko=ua.match(/Gecko\//);this.isSafari=ua.match(/AppleWebKit/);this.isOpera=window.opera;if(document.all&&!this.isGecko&&!this.isSafari&&!this.isOpera){this.isWinIE=ua.match(/Win/);this.isMacIE=ua.match(/Mac/);this.isNewIE=(ua.match(/MSIE 5\.5/)||ua.match(/MSIE 6\.0/));}return this;}function LightBox(option){var self=this;self._imgs=new Array();self._wrap=null;self._box=null;self._open=-1;self._page=new PageSize();self._pos=new PagePos();self._ua=new UserAgent();self._expandable=false;self._expanded=false;self._expand=option.expandimg;self._shrink=option.shrinkimg;return self._init(option);}LightBox.prototype={_init:function(option){var self=this;var d=document;if(!d.getElementsByTagName)return;var links=d.getElementsByTagName("a");for(var i=0;i<links.length;i++){var anchor=links[i];var num=self._imgs.length;if(!anchor.getAttribute("href")||anchor.getAttribute("rel")!="lightbox")continue;self._imgs[num]={src:anchor.getAttribute("href"),w:-1,h:-1,title:'',cls:anchor.className};if(anchor.getAttribute("title"))self._imgs[num].title=anchor.getAttribute("title");else if(anchor.firstChild&&anchor.firstChild.getAttribute&&anchor.firstChild.getAttribute("title"))self._imgs[num].title=anchor.firstChild.getAttribute("title");anchor.onclick=self._genOpener(num);}var body=d.getElementsByTagName("body")[0];self._wrap=self._createWrapOn(body,option.loadingimg);self._box=self._createBoxOn(body,option);return self;},_genOpener:function(num){var self=this;return function(){self._show(num);if(window.event)window.event.returnValue=false;return false;}},_createWrapOn:function(obj,imagePath){var self=this;if(!obj)return null;var wrap=document.createElement('div');wrap.id='gallery__overlay';with(wrap.style){display='none';position='fixed';top='0px';left='0px';zIndex='50';width='100%';height='100%';}if(self._ua.isWinIE)wrap.style.position='absolute';addEvent(wrap,"click",function(){self._close();});obj.appendChild(wrap);var imag=new Image;imag.onload=function(){var spin=document.createElement('img');spin.id='gallery__loadingImage';spin.src=imag.src;spin.style.position='relative';self._set_cursor(spin);addEvent(spin,'click',function(){self._close();});wrap.appendChild(spin);imag.onload=function(){};};if(imagePath!='')imag.src=imagePath;return wrap;},_createBoxOn:function(obj,option){var self=this;if(!obj)return null;var box=document.createElement('div');box.id='gallery__lightbox';with(box.style){display='none';position='absolute';zIndex='60';}obj.appendChild(box);var img=document.createElement('img');img.id='gallery__lightboxImage';self._set_cursor(img);addEvent(img,'click',function(){self._close();});addEvent(img,'mouseover',function(){self._show_action();});addEvent(img,'mouseout',function(){self._hide_action();});box.appendChild(img);var zoom=document.createElement('img');zoom.id='gallery__actionImage';with(zoom.style){display='none';position='absolute';top='15px';left='15px';zIndex='70';}self._set_cursor(zoom);zoom.src=self._expand;addEvent(zoom,'mouseover',function(){self._show_action();});addEvent(zoom,'click',function(){self._zoom();});box.appendChild(zoom);addEvent(window,'resize',function(){self._set_size(true);});if(option.closeimg){var btn=document.createElement('img');btn.id='gallery__closeButton';with(btn.style){display='inline';position='absolute';right='10px';top='10px';zIndex='80';}btn.src=option.closeimg;self._set_cursor(btn);addEvent(btn,'click',function(){self._close();});box.appendChild(btn);}if(option.nextimg){var btn=document.createElement('img');btn.id='gallery__nextButton';with(btn.style){display='inline';position='absolute';right='10px';bottom='10px';zIndex='80';}btn.src=option.nextimg;self._set_cursor(btn);addEvent(btn,'click',function(){self._move(+1)});box.appendChild(btn);}if(option.previmg){var btn=document.createElement('img');btn.id='gallery__prevButton';with(btn.style){display='inline';position='absolute';left='10px';bottom='10px';zIndex='80';}btn.src=option.previmg;self._set_cursor(btn);addEvent(btn,'click',function(){self._move(-1)});box.appendChild(btn);}var caption=document.createElement('span');caption.id='gallery__lightboxCaption';with(caption.style){display='none';position='absolute';zIndex='80';}box.appendChild(caption);return box;},_set_photo_size:function(){var self=this;if(self._open==-1)return;var imag=self._box.firstChild;var targ={w:self._page.win.w-30,h:self._page.win.h-30};var orig={w:self._imgs[self._open].w,h:self._imgs[self._open].h};var ratio=1.0;if((orig.w>=targ.w||orig.h>=targ.h)&&orig.h&&orig.w)ratio=((targ.w/orig.w)<(targ.h/orig.h))?targ.w/orig.w:targ.h/orig.h;imag.width=Math.floor(orig.w*ratio);imag.height=Math.floor(orig.h*ratio);self._expandable=(ratio<1.0)?true:false;if(self._ua.isWinIE)self._box.style.display="block";self._box.style.top=[self._pos.y+(self._page.win.h-imag.height-30)/2,'px'].join('');self._box.style.left=[((self._page.win.w-imag.width-30)/2),'px'].join('');self._show_caption(true);},_set_size:function(onResize){var self=this;if(self._open==-1)return;self._page.update();self._pos.update();var spin=self._wrap.firstChild;if(spin){var top=(self._page.win.h-spin.height)/2;if(self._wrap.style.position=='absolute')top+=self._pos.y;spin.style.top=[top,'px'].join('');spin.style.left=[(self._page.win.w-spin.width-30)/2,'px'].join('');}if(self._ua.isWinIE){self._wrap.style.width=[self._page.win.w,'px'].join('');self._wrap.style.height=[self._page.h,'px'].join('');}if(onResize)self._set_photo_size();},_show_action:function(){var self=this;if(self._open==-1||!self._expandable)return;var obj=document.getElementById('gallery__actionImage');if(!obj)return;obj.src=(self._expanded)?self._shrink:self._expand;obj.style.display='inline';},_hide_action:function(){var self=this;var obj=document.getElementById('gallery__actionImage');if(obj)obj.style.display='none';},_zoom:function(){var self=this;if(self._expanded){self._set_photo_size();self._expanded=false;}else if(self._open>-1){var imag=self._box.firstChild;self._box.style.top=[self._pos.y,'px'].join('');self._box.style.left='0px';imag.width=self._imgs[self._open].w;imag.height=self._imgs[self._open].h;self._show_caption(false);self._expanded=true;}self._show_action();},_show_caption:function(enable){var self=this;var caption=document.getElementById('gallery__lightboxCaption');if(!caption)return;if(caption.innerHTML.length==0||!enable){caption.style.display='none';}else{var imag=self._box.firstChild;with(caption.style){top=[imag.height+10,'px'].join('');left='0px';width=[imag.width+20,'px'].join('');height='1.2em';display='block';}}},_move:function(by){var self=this;var num=self._open+by;if(num<0)num=self._imgs.length-1;if(num>=self._imgs.length)num=0;self._disable_keyboard();self._hide_action();self._box.style.display="none";self._show(num);},_show:function(num){var self=this;var imag=new Image;if(num<0||num>=self._imgs.length)return;var loading=document.getElementById('gallery__loadingImage');var caption=document.getElementById('gallery__lightboxCaption');self._open=num;self._set_size(false);self._wrap.style.display="block";if(loading)loading.style.display='inline';imag.onload=function(){if(self._imgs[self._open].w==-1){self._imgs[self._open].w=imag.width;self._imgs[self._open].h=imag.height;}if(caption)caption.innerHTML=self._imgs[self._open].title;self._set_photo_size();self._hide_action();self._box.style.display="block";self._box.firstChild.src=imag.src;self._box.firstChild.setAttribute('title',self._imgs[self._open].title);if(loading)loading.style.display='none';};self._expandable=false;self._expanded=false;self._enable_keyboard();imag.src=self._imgs[self._open].src;self._preload_neighbors(num);},_preload_neighbors:function(num){var self=this;if((self._imgs.length-1)>num){var preloadNextImage=new Image();preloadNextImage.src=self._imgs[num+1].src;}if(num>0){var preloadPrevImage=new Image();preloadPrevImage.src=self._imgs[num-1].src;}},_set_cursor:function(obj){var self=this;if(self._ua.isWinIE&&!self._ua.isNewIE)return;obj.style.cursor='pointer';},_close:function(){var self=this;self._open=-1;self._disable_keyboard();self._hide_action();self._wrap.style.display="none";self._box.style.display="none";},_enable_keyboard:function(){__lightbox=this;addEvent(document,'keydown',this._keyboard_action);},_disable_keyboard:function(){delete __lightbox;removeEvent(document,'keydown',this._keyboard_action);},_keyboard_action:function(e){var self=__lightbox;var keycode=0;if(e.which){keycode=e.which;}else{keycode=event.keyCode;}var key=String.fromCharCode(keycode).toLowerCase();if((key=='x')||(key=='c')||(keycode==27)){self._close();}else if((key=='p')||(keycode==37)){self._move(-1);}else if(key=='n'||(keycode==39)){self._move(+1);}}};function gallery_plugin(){var opts=$('media__opts');if(!opts)return;if(!window.opener)return;var glbl=document.createElement('label');var glnk=document.createElement('a');var gbrk=document.createElement('br');glnk.name='gallery_plugin';glnk.innerHTML='Add namespace as gallery';glnk.style.cursor='pointer';glnk.onclick=function(){var h1=$('media__ns');if(!h1)return;var ns=h1.innerHTML;opener.insertAtCarret('wiki__text','{{gallery>'+ns+'}}');if(!media.keepopen)window.close();};opts.appendChild(glbl);glbl.appendChild(glnk);opts.appendChild(gbrk);}addInitEvent(function(){var lightbox=new LightBox({loadingimg:DOKU_BASE+'lib/plugins/gallery/images/loading.gif',expandimg:DOKU_BASE+'lib/plugins/gallery/images/expand.gif',shrinkimg:DOKU_BASE+'lib/plugins/gallery/images/shrink.gif',closeimg:DOKU_BASE+'lib/plugins/gallery/images/close.gif',nextimg:DOKU_BASE+'lib/plugins/gallery/images/next.gif',previmg:DOKU_BASE+'lib/plugins/gallery/images/prev.gif'});gallery_plugin();});snippets={keepopen:false,attach:function(obj){if(!obj)return;if(!opener)return;var opts=$('plugin_snippets__opts');if(opts){var kobox=document.createElement('input');kobox.type='checkbox';kobox.id='snippets__keepopen';if(DokuCookie.getValue('snippets_keepopen')){kobox.checked=true;kobox.defaultChecked=true;media.keepopen=true;}addEvent(kobox,'click',function(event){snippets.togglekeepopen(this);});var kolbl=document.createElement('label');kolbl.htmlFor='snippets__keepopen';kolbl.innerHTML=LANG['keepopen'];var kobr=document.createElement('br');opts.appendChild(kobox);opts.appendChild(kolbl);opts.appendChild(kobr);}links=getElementsByClass('wikilink1',obj,'a');if(links){for(var i=0;i<links.length;i++){link=links[i];page=link.title;div=link.parentNode;span=document.createElement('span');span.innerHTML=link.innerHTML;div.removeChild(link);preview=document.createElement('a');preview.className='plugin_snippets_preview';preview.title=LANG['plugins']['snippets']['preview'];preview.href=page;addEvent(preview,'click',function(event){event.preventDefault();event.stopPropagation();snippets.preview(this.href);return false;});div.appendChild(preview);insert=document.createElement('a');insert.className='plugin_snippets_insert';insert.title=LANG['plugins']['snippets']['insert'];insert.href=page;addEvent(insert,'click',function(event){event.preventDefault();event.stopPropagation();snippets.insert(this.href);return false;});div.appendChild(insert);div.appendChild(span);}}links=getElementsByClass('wikilink2',obj,'a');if(links){for(var i=0;i<links.length;i++){link=links[i];span=document.createElement('span');span.innerHTML=link.innerHTML;div=link.parentNode;div.removeChild(link);div.appendChild(span);}}lists=obj.getElementsByTagName('ul');if(lists){for(var i=1;i<lists.length;i++){list=lists[i];list.style.display='none';div=list.previousSibling;if(div.nodeType!=1){div=div.previousSibling;}div.className='li closed';addEvent(div,'click',function(event){snippets.toggle(this);});}}},toggle:function(obj){if(!obj)return;list=obj.nextSibling;if(list.nodeType!=1){list=list.nextSibling;}if(list.style.display=='none'){list.style.display='block';obj.className='li open';}else{list.style.display='none';obj.className='li closed';}return false;},togglekeepopen:function(cb){if(cb.checked){DokuCookie.setValue('snippets_keepopen',1);snippets.keepopen=true;}else{DokuCookie.setValue('snippets_keepopen','');snippets.keepopen=false;}},preview:function(page){preview=$('plugin_snippets__preview');if(!preview)return;preview.innerHTML='<img src="'+DOKU_BASE+'/lib/images/throbber.gif" />';var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;ajax.setVar('call','snippet_preview');ajax.setVar('id',page);ajax.onCompletion=function(){var data=this.response;if(data==='')return;preview.innerHTML=data;};ajax.runAJAX();return false;},insert:function(page){if(!opener)return;var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;ajax.setVar('call','snippet_insert');ajax.setVar('id',page);ajax.onCompletion=function(){var data=this.response;opener.insertAtCarret('wiki__text',data,'');if(!snippets.keepopen){window.close();}opener.focus();};ajax.runAJAX();return false;}};addInitEvent(function(){var idx=$('plugin_snippets__idx');if(!idx)return;snippets.attach(idx);});addInitEvent(function(){var code=$('plugin__captcha_code');if(!code)return;var box=$('plugin__captcha');box.value=code.innerHTML;$('plugin__captcha_wrapper').style.display='none';});var folded_reveal='reveal';var folded_hide='hide';function folded_toggle(evt){id=this.href.match(/#(.*)$/)[1];e=$(id);if(!e)return;if(e.className.match(/\bhidden\b/)){e.className=e.className.replace(/\bhidden\b/g,'');e.className=e.className.replace(/  /g,' ');this.title=folded_hide;this.className+=' open';}else{e.className+=' hidden';this.title=folded_reveal;this.className=this.className.replace(/\bopen\b/g,'');this.className=this.className.replace(/  /g,' ');}evt.preventDefault();return false;}function folded_setup(){var eStrings=$('folded_reveal','folded_hide');if(!eStrings[0])return;folded_reveal=eStrings[0].innerHTML.match(/^<!-- (.*) -->$/)[1];folded_hide=eStrings[1].innerHTML.match(/^<!-- (.*) -->$/)[1];var folds=getElementsByClass('folder');for(var i=0;i<folds.length;i++){addEvent(folds[i],'click',folded_toggle);folds[i].title=folded_reveal;}}addInitEvent(folded_setup);document.write('<style type="text/css" media="screen"><!--/*--><![CDATA[/*><!--*/ .folded.hidden { display: none; } .folder .indicator { visibility: visible; } /*]]>*/--></style>');var syntax_plugin_code=function(){var _cH=' codeHidden',_cS=' codeShown',_reH=/\s*\bcodeHidden\b/gi,_reS=/\s*\bcodeShown\b/gi,_Divs=function(){var d,e,l,r=[],re=/\bcode\b/i;try{if((d=window.document.getElementsByTagName('div'))&&(l=d.length)){do{if((e=d[--l])&&(e.className)&&re.test(e.className)){r[r.length]=e;}}while(l);}}catch(X){}return r;},_Ps=function(){var d=_Divs(),e,fc,fcn,l,lc,lcn,p='p',pf='pre',r=[];_Divs=0;if((l=d.length)){try{do{if((e=d[--l])&&(fc=e.firstChild)&&(fcn=fc.tagName.toLowerCase())&&(lc=e.lastChild)&&(lcn=lc.tagName.toLowerCase())){if((pf===fcn)&&(p===lcn)){lc._PRE=fc;r[r.length]=lc;}else if((pf===lcn)&&(p===fcn)){fc._PRE=lc;r[r.length]=fc;}}d.length=l;}while(l);}catch(X){}}return r;},_r;function _sw(O,R2d,C2a){R2d.lastIndex=0;if(R2d.test(O.className)){R2d.lastIndex=0;O.className=(C2a)?O.className.replace(R2d,C2a):O.className.replace(R2d,'');}else if(C2a){O.className+=C2a;}R2d.lastIndex=0;}function _t(E){if((E=E||window.event)){E.cancelBubble=true;E.returnValue=false;}if(this.className){if(_reH.test(this.className)){_sw(this._PRE,_reH,_cS);_sw(this,_reH,_cS);}else{_sw(this,_reS,_cH);_sw(this._PRE,_reS,_cH);}}else{this.className=this._PRE.className=_cH;}return false;}function ini(){if(!_Ps){return;}var d=_Ps(),l=d.length,p,re=/\s*\bHideOnInit\b/ig;_Ps=0;while(l){if((p=d[--l])&&(p._PRE)){if(re.test(p.className)){re.lastIndex=0;p._PRE.className+=_cH;p.className=p.className.replace(re,_cH);}else{p._PRE.className+=_cS;p.className+=_cS;}p.onclick=_t;re.lastIndex=0;}}}if('undefined'!==typeof(window.addEvent)){try{window.addEvent(window,'load',ini);}catch(X){window.setTimeout(ini,512);}}else{window.setTimeout(ini,512);}return _r;}();var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion(){var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}return version;}function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}var flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera){flashVer=ControlVersion();}return flashVer;}function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision){versionStr=GetSwfVer();if(versionStr==-1){return false;}else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=versionStr.split(".");}var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer)){return true;}else if(versionMajor==parseFloat(reqMajorVer)){if(versionMinor>parseFloat(reqMinorVer))return true;else if(versionMinor==parseFloat(reqMinorVer)){if(versionRevision>=parseFloat(reqRevision))return true;}}return false;}}function AC_AddExtension(src,ext){if(src.indexOf('?')!=-1)return src.replace(/\?/,ext+'?');else return src+ext;}function AC_Generateobj(objAttrs,params,embedAttrs){var str='';if(isIE&&isWin&&!isOpera){str+='<object ';for(var i in objAttrs){str+=i+'="'+objAttrs[i]+'" ';}str+='>';for(var i in params){str+='<param name="'+i+'" value="'+params[i]+'" /> ';}str+='</object>';}else{str+='<embed ';for(var i in embedAttrs){str+=i+'="'+embedAttrs[i]+'" ';}str+='> </embed>';}document.write(str);}function AC_FL_RunContent(){var ret=AC_GetArgs(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}function AC_SW_RunContent(){var ret=AC_GetArgs(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"classid":break;case"pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case"src":case"movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblclick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":case"type":case"codebase":case"id":ret.objAttrs[args[i]]=args[i+1];break;case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret;}function isBlank(s){if((s===null)||(s.length===0)){return true;}for(var i=0;i<s.length;i++){var c=s.charAt(i);if((c!=' ')&&(c!='\n')&&(c!='\t')){return false;}}return true;}function validate(form){if(!form)return;if(isBlank(form.name.value)){form.name.focus();form.name.style.backgroundColor='#fcc';return false;}else{form.name.style.backgroundColor='#fff';}if(isBlank(form.mail.value)||form.mail.value.indexOf("@")==-1){form.mail.focus();form.mail.style.backgroundColor='#fcc';return false;}else{form.mail.style.backgroundColor='#fff';}if(isBlank(form.text.value)){form.text.focus();form.text.style.borderColor='#fcc';return false;}}function discussion_ajax_preview(){if(!document.getElementById)return;var textarea=$('discussion__comment_text');var comment=textarea.value;if(!comment)return;var preview=$('discussion__comment_preview');preview.innerHTML='<img src="'+DOKU_BASE+'/lib/images/throbber.gif" />';var ajax=new sack(DOKU_BASE+'lib/exe/ajax.php');ajax.AjaxFailedAlert='';ajax.encodeURIString=false;ajax.setVar('call','discussion_preview');ajax.setVar('comment',comment);ajax.onCompletion=function(){var data=this.response;if(data===''){return;}preview.style.visibility='hidden';preview.innerHTML=data;preview.style.visibility='visible';};ajax.runAJAX();}addInitEvent(function(){if(typeof window.initToolbar=='function'){initToolbar("discussion__comment_toolbar","discussion__comment_text",toolbar)}});addInitEvent(function(){var btn=$('discussion__btn_preview');if(!btn)return;addEvent(btn,'click',discussion_ajax_preview);});addInitEvent(function(){var form=$('discussion__comment_form');if(!form)return;addEvent(form,'submit',function(){return validate(form);});});addInitEvent(function(){ajax_qsearch.init('qsearch__in','qsearch__out');});addInitEvent(function(){addEvent(document,'click',closePopups);});addInitEvent(function(){addTocToggle();});addInitEvent(function(){initSizeCtl('size__ctl','wiki__text');});addInitEvent(function(){initToolbar('tool__bar','wiki__text',toolbar);});addInitEvent(function(){initChangeCheck('Unsaved changes will be lost.\nReally continue?');});addInitEvent(function(){locktimer.init(840,'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.',1);});addInitEvent(function(){scrollToMarker();});addInitEvent(function(){focusMarker();});
