function jscss(a,o,c1,c2){switch(a){case'add':jscss.addClass(o,c1);break;case'remove':jscss.removeClass(o,c1,c2);break;case'check':return jscss.hasClass(o,c1);break;case'checkParents':do{if(jscss.hasClass(o,c1))return true;if(o.tagName.toLowerCase()=='body')return false}while(o=o.parentNode);return false;break;case'toggle':var operation='add';if(jscss('check',o,c1))operation='remove';jscss(operation,o,c1,c2);break;case'swap':jscss.replaceClass(o,c2,c1);break;case'get':return jscss.getClassList(o);break};return null};jscss.addClass=function(element,classname){var classes=jscss.getClassList(element);if(classes.indexOf(classname)==-1)classes[classes.length]=classname;jscss.setClassList(element,classes)};jscss.removeClass=function(element,classname){var classes=jscss.getClassList(element),index;if((index=classes.indexOf(classname))>-1)delete classes[index];jscss.setClassList(element,classes)};jscss.replaceClass=function(element,oldclass,newclass){var classes=jscss.getClassList(element),index;if((index=classes.indexOf(oldclass))>-1&&classes.indexOf(newclass)==-1)classes[index]=newclass;jscss.setClassList(element,classes)};jscss.getClassList=function(element){if(element.className)return element.className.split(/\s+/);return[]};jscss.setClassList=function(element,classes){element.className=classes.join(' ')};jscss.hasClass=function(element,classname){var wantedClasses=new Array();if(classname.indexOf(' ')>-1){wantedClasses=classname.split(/\s+/)}else wantedClasses[0]=classname;var classes=jscss.getClassList(element);for(var i=0;i<wantedClasses.length;i++)if(classes.indexOf(wantedClasses[i])==-1)return false;return true};if(!Array.prototype.indexOf)Array.prototype.indexOf=function(searchElement,fromIndex){var l=this.length,i=0;if(fromIndex){i=fromIndex;if(i<0){i+=l;if(i<0)i=0}};while(i<l){if(this[i]===searchElement)return i;i++};return -1};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(searchElement,fromIndex){var i=this.length;if(!fromIndex){fromIndex=0}else if(fromIndex<1){fromIndex+=i;if(fromIndex<0)fromIndex=0};while(i-->fromIndex)if(this[i]===searchElement)return i;return -1};if(!Array.getUnique)Array.prototype.getUnique=function(){var new_array=[];for(var i=0;i<this.length;i++)if(new_array.indexOf(this[i])==-1)new_array.push(this[i]);return new_array};if(!String.trim)String.prototype.trim=function(){return this.replace(/^[\0\s\t\n\r\x0B\x0C\xA0\xAD]+|[\0\s\t\n\r\x0B\x0C\xA0\xAD]+$/g,'')};var cssQuery={notLoaded:true},DOMQuery=function(){var DOMQuery;if(document.querySelector){DOMQuery=function(selector,contextNode,ns){if(typeof contextNode=="undefined")contextNode=DOMQuery.prototype.scope;try{this.result=contextNode.querySelectorAll(selector)}catch(e){if(cssQuery.notLoaded)loadCssQuery();this.result=cssQuery(selector,contextNode)};this.length=this.result.length};DOMQuery.prototype.resultType='querySelector';DOMQuery.prototype.get=function(index){return(index>=this.result.length)?undefined:this.result[index]}}else if(document.evaluate&&document.implementation.hasFeature('xpath','3.0')){DOMQuery=function(selector,contextNode,ns){if(typeof contextNode=="undefined")contextNode=DOMQuery.prototype.scope;try{var owner='';if(typeof contextNode.contentType!='undefined'){owner=contextNode.contentType}else if(contextNode.ownerDocument!=null&&typeof contextNode.ownerDocument.contentType!='undefined'){owner=contextNode.ownerDocument.contentType}else owner='text/html';var namespace=ns?ns:(['application/xml','application/xhtml+xml','text/xml'].indexOf(owner)>-1)?'html:':'',xpath=this.cssToXPath(selector,contextNode,namespace);this.result=document.evaluate(xpath,contextNode,this.NSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);this.length=this.result.snapshotLength}catch(e){if(showAlertOnXpathError)alert('XPath error:'+selector+'\n'+xpath+'\n'+e)}};DOMQuery.prototype.resultType='XPath';DOMQuery.prototype.get=function(index){return this.result.snapshotItem(index)};DOMQuery.prototype.NSResolver=function(prefix){if(prefix=='html'){return'http://www.w3.org/1999/xhtml'}else return null};DOMQuery.cachedXPaths=[{},{}];DOMQuery.prototype.cssToXPath=function(rule,contextNode,namespace){var namespaceSpecified=false;if(namespace=='undefined')namespace='';if(namespace!="")namespaceSpecified=true;var xpath=DOMQuery.cachedXPaths[namespaceSpecified?0:1][rule];if(typeof xpath=='string')return xpath;var _rule=rule,regElement=/^([#.]?)([a-z0-9\\*_-]*)((\|)([a-z0-9\\*_-]*))?/i,regAttr1=/^\[([^\]]*)\]/i,regAttr2=/^\[\s*([^\^\$~*=\s]+)\s*([\^\$~*]?=)\s*(["]?)([^"]+)\3\s*\]/i,regPseudo=/^:([a-z-]+)(\((["]?)([^)]+)\3\))?/i,regCombinator=/^(\s*[>+\s])?/i,regComma=/^\s*,/i,index=1,parts=[".//","*"],subparts=[],collection=[],lastRule=null,limit=false;while(rule.length&&rule!=lastRule){lastRule=rule;rule=rule.replace(/^\s*|\s*$/g,"");if(!rule.length)break;subparts=[];var m=regElement.exec(rule);if(m){if(!m[1]){if(m[5]){parts[index]=namespace+m[5]}else parts[index]=namespace+m[2]}else if(m[1]=='#'){subparts.push("@id='"+m[2]+"'")}else if(m[1]=='.')subparts.push("contains(concat(' ', @class, ' '),' "+m[2]+" ')");rule=rule.substr(m[0].length)};m=regAttr2.exec(rule);if(m){switch(m[2]){case'*=':subparts.push("contains(@"+m[1]+", \""+m[4]+"\")");break;case'~=':subparts.push("contains(concat(' ', @"+m[1]+", ' '), \" "+m[4]+" \")");break;case'|=':subparts.push("@"+m[1]+" = \""+m[4]+"\") or starts-with(concat(@"+m[1]+", '-'), \""+m[4]+"\"))");break;case'$=':subparts.push("substring(@"+m[1]+", string-length(@"+m[1]+") - "+(m[4].length-1)+") = \""+m[4]+"\"");break;case'^=':subparts.push("starts-with(@"+m[1]+", \""+m[4]+"\")");break;default:subparts.push("@"+m[1]+"=\""+m[4]+"\"");break};rule=rule.substr(m[0].length)}else{m=regAttr1.exec(rule);if(m){subparts.push("@"+m[1]+"");rule=rule.substr(m[0].length)}};m=regPseudo.exec(rule);while(m){rule=rule.substr(m[0].length);switch(m[1]){case'not':var notRule=m[4],notSubparts=[],notLastRule=null;while(notRule.length&&notRule!=notLastRule){notLastRule=notRule;notRule=notRule.replace(/^\s*|\s*$/g,"");if(!notRule.length)break;var m=regElement.exec(notRule);if(m){if(!m[1]){if(m[5]){notSubparts.push('self::'+namespace+m[5])}else notSubparts.push('self::'+namespace+m[2])}else if(m[1]=='#'){notSubparts.push("@id='"+m[2]+"'")}else if(m[1]=='.')notSubparts.push("contains(concat(' ', @class, ' '),' "+m[2]+" ')");notRule=notRule.substr(m[0].length)}};if(notSubparts.length>0)subparts.push("not("+notSubparts.join(" and ")+")");break;case'first-child':subparts.push("position() = 1");break;case'last-child':subparts.push("last()");break;case'only-child':subparts.push("position() = 1");subparts.push("last()");break;case'enabled':case'disabled':case'checked':subparts.push("@"+m[1]+" != \"\"");break;case'empty':subparts.push("count(.) = 0");break;case'lang':subparts.push("@lang=\""+m[4]+"\"");break;case'contains':subparts.push("contains(text(), \""+m[4]+"\")");break;case'nth-child':switch(m[4]){case'odd':case'2n+1':subparts.push("position() mod 2 > 0");break;case'even':case'2n':case'2n+0':subparts.push("position() mod 2 = 0");break;case'0n+0':subparts.push("false()");break;default:var found;if(found=m[4].match(/^(0n\+)?([0-9]+)$/)){subparts.push("position() = "+found[2])}else if(found=m[4].match(/^(^|1)n$/));else if(found=m[4].match(/^([0-9]+)n(\+0|$)$/)){subparts.push("position() mod "+found[1]+" = 0")}else if(found=m[4].match(/^-n\+([0-9]+)$/)){subparts.push("position() <= "+found[1])}else if(found=m[4].match(/^([0-9]+)n([+-])([0-9]+)$/))subparts.push("position() mod "+found[1]+" = ("+found[1]+" "+found[2]+" "+found[3]+") mod "+found[1])};break;case'target':case'hover':case'root':default:throw new Error("unsupported pseudo class: "+m[1]);break};m=regPseudo.exec(rule)};if(subparts.length>0)parts.push('['+subparts.join(" and ")+']');m=regCombinator.exec(rule);if(m&&m[0].length){if(limit){parts.push(limit);limit=false};if(m[0].indexOf(">")!=-1){parts.push("/")}else if(m[0].indexOf("+")!=-1){parts.push("/following-sibling::");limit='[1]'}else parts.push("//");index=parts.length;parts.push("*");rule=rule.substr(m[0].length)};m=regComma.exec(rule);if(m){if(limit){parts.push(limit);limit=false};collection.push(parts.join(""));parts=[".//","*"];index=parts.length-1;rule=rule.substr(m[0].length)}};if(limit)parts.push(limit);collection.push(parts.join(""));xpath=collection.join(" | ");DOMQuery.cachedXPaths[namespaceSpecified?0:1][_rule]=xpath;return xpath};DOMQuery.hasXPath=true}else if(typeof cssQuery!='undefined'){if(cssQuery.notLoaded)loadCssQuery();DOMQuery=function(selector,contextNode,ns){if(typeof contextNode=="undefined")contextNode=DOMQuery.prototype.scope;this.result=cssQuery(selector,contextNode);this.length=this.result.length};DOMQuery.prototype.resultType='cssQuery';DOMQuery.prototype.get=function(index){return this.result[index]}}else if(typeof Element!='undefined'&&Element&&typeof Element.getElementsBySelector!='undefined'&&Element.getElementsBySelector){DOMQuery=function(selector,contextNode,ns){if(typeof contextNode=="undefined")contextNode=DOMQuery.prototype.scope;if(contextNode==document)contextNode=document.documentElement;try{this.result=$(contextNode).getElementsBySelector.apply($(contextNode),selector.split(','))}catch(e){this.result=[];this.length=0;throw e};this.length=this.result.length};DOMQuery.prototype.resultType='getElementsBySelector';DOMQuery.prototype.get=function(index){return this.result[index]}}else if(typeof jQuery!='undefined'){DOMQuery=function(selector,contextNode,ns){if(typeof contextNode=="undefined")contextNode=DOMQuery.prototype.scope;this.result=jQuery(selector,contextNode);this.length=this.result.size()};DOMQuery.prototype.resultType='jQuery';DOMQuery.prototype.get=function(index){return this.result[index]}};if(typeof DOMQuery=='undefined')throw "No DOMQuery handler found.";DOMQuery.prototype.scope=document;return DOMQuery}()
function getTargets(targets,defaultDOMQuery){if(targets){if(typeof targets=='string'){return new DOMQuery(targets)}else return targets}else if(typeof defaultDOMQuery=='string'){return new DOMQuery(defaultDOMQuery)}else return defaultDOMQuery;return new DOMQuery('')}
function addClassToTargets(query,classname){var items=new DOMQuery(query);for(var i=0,item;(item=items.get(i));i++)jscss('add',item,classname,'')}
function removeClassFromTargets(query,classname){var items=new DOMQuery(query);for(var i=0,item;(item=items.get(i));i++)jscss('remove',item,classname,'')}
function addEventToTargets(targets,type,handler,defaultDOMQuery){var elements=getTargets(targets,defaultDOMQuery),el;for(var i=0;(el=elements.get(i));i++)addEvent(el,type,handler);return elements}
function addEvent(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,arguments.callee.eventListenerUseCapture)}else{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];element['on'+type]=handleEvent};handlers[handler.$$guid]=handler}};addEvent.guid=1;addEvent.eventListenerUseCapture=false
function removeEvent(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false)}else if(element.events&&element.events[type]&&handler.$$guid)delete element.events[type][handler.$$guid]}
function removeEventFromTargets(targets,type,handler,defaultDOMQuery){var elements=getTargets(targets,defaultDOMQuery),el;for(var i=0;(el=elements.get(i));i++)removeEvent(el,type,handler)}
function handleEvent(event){event=event||fixEvent(window.event);var returnValue=true,handlers=this.events[event.type];for(var i in handlers)if(!Object.prototype[i]){this.$$handler=handlers[i];if(this.$$handler(event)===false)returnValue=false};if(this.$$handler)this.$$handler=null;return returnValue}
function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event};fixEvent.preventDefault=function(){this.returnValue=false};fixEvent.stopPropagation=function(){this.cancelBubble=true};if(!window.addEventListener)document.onreadystatechange=function(){if(window.onload&&window.onload!=handleEvent){addEvent(window,'load',window.onload);window.onload=handleEvent}}
function getObj(ev,ob){if(!ob){var targ;if(!ev)ev=window.event;if(ev.target){targ=ev.target}else if(ev.srcElement)targ=ev.srcElement;if(targ&&targ.nodeType==3)targ=targ.parentNode;return targ}else return ob}
function findPos(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop}};return{x:curleft,y:curtop}}
function loadScript(url,prependBoardUrl,callback,feature){if(prependBoardUrl)url=board_template_url+url;var e=createDOMNode('script',{type:'text/javascript',src:url},[]);document.getElementsByTagName("head")[0].appendChild(e);if(!callback||!feature)return;var timer=setInterval(function(){if(!window[feature])return;clearInterval(timer);if(typeof callback=='string'){window[callback]()}else callback()},10)}
function currentStyle(element,property){return window.getComputedStyle?window.getComputedStyle(element,'').getPropertyValue(property):element.currentStyle.getAttribute(property)}
function overloadFunction(name,func){func.previousFunctionDefinition=window[name];window[name]=func}
function empty(){if(this&&this.value==this.defaultValue)this.value=''}
function unhtmlspecialchars(str){str=str.replace(/&amp;/gi,'&');str=str.replace(/&lt;/gi,'<');str=str.replace(/&gt;/gi,'>');return str}
function htmlspecialchars(input){input=input.replace(/&/g,'&amp;');input=input.replace(/>/g,'&gt;');input=input.replace(/</g,'&lt;');input=input.replace(/"/g,'&quot;');return input}
function getCookie(sName){var aCookie=document.cookie.split('; '),i=aCookie.length,aCrumb;while(i--){aCrumb=aCookie[i].split('=');if(sName==aCrumb[0])return typeof aCrumb[1]!='undefined'?unescape(aCrumb[1]):null};return null}
function getSiblingNode(startpoint,direction,tagName){var o=startpoint,tagEmpty=(tagName==undefined||tagName.length==0);if(tagName!=undefined)tagName=tagName.toLowerCase();do{if(direction=='previous'){o=o.previousSibling}else if(direction=='next'){o=o.nextSibling}else if(direction=='up')o=o.parentNode;if(o&&o.nodeType==1)if(tagEmpty||o.tagName.toLowerCase()==tagName)return o}while(o);return null}
function createDOMNode(tagname,options,children){var option,child,me;if(isIE&&['radio','checkbox','submit'].indexOf(options.type)!=-1){me=document.createElement('<input type="'+options.type+'" name="'+options.name+'"'+(typeof options.checked!='undefined'?' checked':'')+'>');if(isIE8)delete options.type}else if(tagname!=null){me=document.createElement(tagname)}else me=document.createDocumentFragment();for(option in options){if(!options.hasOwnProperty(option))continue;if(option=='event'){addEvent(me,options[option][0],options[option][1])}else if(option=='events'){var evnt;for(evnt in options[option])if(typeof options[option][evnt][0]=='string'&&typeof options[option][evnt][1]=='function')addEvent(me,options[option][evnt][0],options[option][evnt][1])}else{if(isIE&&option=='class'){me.setAttribute('className',options[option])}else if(option=='style'&&me.style.setAttribute){me.style.setAttribute('cssText',options[option]);continue};me.setAttribute(option,options[option])}};for(var i=0;(child=children[i]);i++){if(["string","number"].indexOf(typeof child)>-1)child=document.createTextNode(child);me.appendChild(child)};return me}
function setCookie(sName,sValue){document.cookie=sName+'='+escape(sValue)+'; expires=Fri, 31 Dec 2099 23:59:59 GMT; path=/'};var texts=new Array()
function getText(a,b,c){if(typeof texts[a]=='undefined'||typeof texts[a][b]=='undefined'||!texts[a][b])return'[text not found: '+a+'::'+b+']';if(c){return texts[a][b].replace('%s',c)}else return texts[a][b]}
function init(){if(arguments.callee.done)return;arguments.callee.done=true;if(_timer)clearInterval(_timer);_init(events)}
function rand(n){return(Math.floor(Math.random()*n+1))}
function resizeIframeToFullHeight(target){var iframe=new parent.DOMQuery(target).get(0);if(!iframe||arguments.callee.initialRun)return;var newHeight=document.body.scrollHeight;iframe.style.height=newHeight+'px';arguments.callee.initialRun=true};var timings=[],eventTiming=false;if(typeof showAlertOnXpathError=="undefined")var showAlertOnXpathError=false;var isIE,isIE7,isIE8,isNotIE7,isGecko,isWebKit,isWin
function _init(events,scope){if(!document.body||(this.name&&this.name.indexOf('iframe-xhr-emulator')!=-1))return;var time1,time2,funcname,funcPattern=/function\s+([^(]*)\s*\(/,total=0,duration=0;if(!arguments.callee.initalInit){isIE=navigator.userAgent.indexOf('MSIE')!=-1&&navigator.userAgent.indexOf('Opera')==-1;isIE6=isIE&&navigator.userAgent.indexOf('MSIE 6.0')!=-1;isIE7=isIE&&navigator.userAgent.indexOf('MSIE 7.0')!=-1;isIE8=isIE&&navigator.userAgent.indexOf('MSIE 8.0')!=-1;isNotIE7=!isIE7;isGecko=navigator.userAgent.indexOf('Gecko')!=-1;isWebKit=navigator.userAgent.indexOf('WebKit')!=-1;isWin=navigator.userAgent.indexOf('Windows')!=-1;jscss('add',document.body,'javascript','');arguments.callee.initalInit=true};if(scope){var previousScope=DOMQuery.prototype.scope;DOMQuery.prototype.scope=scope};for(var i=0;i<events.length;i++)try{if(eventTiming){funcname=events[i].toString().match(funcPattern);if(funcname&&funcname[1]!=''){funcname=funcname[1]}else if(funcname){funcname='anonymous'}else funcname='unknown';timings[i]=funcname+' ???';time1=new Date().getTime()};if(typeof events[i]=='function'){events[i]()}else if(typeof events[i]=='object')events[i][0].apply(window,events[i][1]);if(eventTiming){time2=new Date().getTime();duration=(time2-time1);total+=duration;for(j=(funcname.length+duration.toString().length);j<50;j++)funcname+=' ';timings[i]=funcname+duration+' ms\r\n'}}catch(e){arguments.callee(events.slice(i+1));if(scope)DOMQuery.prototype.scope=previousScope;throw e};if(scope)DOMQuery.prototype.scope=previousScope;if(eventTiming)document.body.appendChild(createDOMNode('pre',{},timings))};if(document.addEventListener)document.addEventListener("DOMContentLoaded",init,false);if(navigator.userAgent.indexOf('MSIE')!=-1&&navigator.userAgent.indexOf('Opera')==-1){document.write("<script id=__ie_onload defer src=//:><\/script>");var script=document.getElementById("__ie_onload");script.onreadystatechange=function(){if(this.readyState!="complete")return;if(typeof initReadyStateDetectionCallback!='function'||initReadyStateDetectionCallback()){init();return};var _timer=setInterval(function(){if(initReadyStateDetectionCallback())init()},10)}};if(/WebKit/i.test(navigator.userAgent))var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState))init()},10);window.onload=init

function closeAndSubmit(targets){var items=getTargets(targets,'div#topic-admin input#status');if(items.length==0)return;if(items.get(0).nextSibling.options[items.get(0).nextSibling.selectedIndex].value!='Closed'){var input=createDOMNode('input',{type:'submit',accessKey:'c',value:getText('extra','close_and_submit'),event:['click',function(){_closeAndSubmit(this.form)}]},[]);items.get(0).parentNode.appendChild(input)}}
function _closeAndSubmit(form){var items=new DOMQuery('input#status + select',form);if(items.length==0)return;var select=items.get(0),opts=select.options;for(var i=0,option;(option=opts[i]);i++)if(option.value=='Closed'){select.selectedIndex=i;select.previousSibling.checked=true;break}}
function allPagesNavigation(targets){addEventToTargets(targets,'click',_allPagesNavigation,'dl.topic-navigation span.cutoff')}
function _allPagesNavigation(){var dl=getSiblingNode(this,'up','dl'),link=new DOMQuery('dd a',dl);if(link.length==0){return}else link=link.get(0);var maxPage=dl.className.match(/pages\-([0-9]+)/)[1],pageNumber=prompt(getText('extra','enter_page_number',maxPage),'1');if(!pageNumber)return;pageNumber=parseInt(pageNumber);if(isNaN(pageNumber)||pageNumber<1||pageNumber>maxPage){alert(getText('extra','page_number_incorrect'));return};var matches=link.href.match(/^([^0-9]+\/[0-9]+)(\/[0-9]+)?(.*)$/),_link=matches[1]+'/'+pageNumber+matches[3];document.location.href=_link}
function stretchTextareas(targets){addEventToTargets(targets,'keyup',stretchTextarea,'textarea');addEventToTargets(targets,'change',stretchTextarea,'textarea')}
function stretchTextarea(){var lines=this.value.match(/([\r\n])/g);if(lines==null)return;var lineHeight=parseFloat(currentStyle(this,'line-height'));this.style.height=Math.min(500,(lineHeight?lineHeight:'13')*(lines.length+4))+'px'}
function imageGallery(){if(['list_message','list_messages'].indexOf(board_action)==-1)return;var container=new DOMQuery('div.extra-actions ul.links').get(0);if(!container)return;var actionheader=new DOMQuery('div#action-header').get(0);if(!actionheader)return;var link=createDOMNode('li',{'class':'topic-gallery'},[createDOMNode('span',{'class':'clickable',title:getText('extra','show_gallery'),event:['click',_imageGallery],request:'action=list_messages&data%5Btopicid%5D='+actionheader.className.match(/topic\-topicid\-([0-9]+)/i)[1]+'&limit=999&data%5Bfilter_keywords%5D=img&data%5Bboolean%5D=AND'},[getText('extra','show_gallery')])]);container.insertBefore(link,container.firstChild)}
function _imageGallery(){var oldForm=new DOMQuery('div#action-header div.extra-actions > form').get(0);if(oldForm)oldForm.parentNode.removeChild(oldForm);var galleryContainer=new DOMQuery('div.image-gallery').get(0);if(galleryContainer)return jscss('toggle',galleryContainer,'display-none');var invoker=this;jscss('add',invoker,'request-running');var galleryRequest=httpreq_string(this.getAttribute('request'),null,null,false),size=typeof wideScreenCSS!='undefined'&&wideScreenCSS?215:180;if(galleryRequest.getResponseHeader('X-Errormessage')){jscss('remove',invoker,'request-running');alert(galleryRequest.getResponseHeader('X-Errormessage'));return true};var container=getElementFromXHR(galleryRequest,'div#core'),items=new DOMQuery('div.message-content-content img.rml',container);if(items.length==0){jscss('remove',invoker,'request-running');jscss('add',invoker,'request-completed');setTimeout(function(){jscss('remove',invoker,'request-completed');jscss('remove',invoker,'request-active')},5000);return};var collection=[];for(var i=0,item;(item=items.get(i));i++){jscss('add',item,'display-none');item.setAttribute('maxwidth',size);item.setAttribute('maxheight',size);addEvent(item,'load',scaleImage);addEvent(item,'error',function(){var container=getSiblingNode(this,'up','li');container.parentNode.removeChild(container)});collection.push(createDOMNode('li',{},[item]))};var galleryContainer=createDOMNode('div',{'class':'image-gallery'},[createDOMNode('h3',{},[getText('extra','show_gallery_header')]),createDOMNode('ol',{},collection)]),container=getSiblingNode(this,'up','div');container.parentNode.appendChild(galleryContainer);jscss('remove',invoker,'request-running');jscss('add',invoker,'request-completed');setTimeout(function(){jscss('remove',invoker,'request-completed');jscss('remove',invoker,'request-active')},5000)}
function microblogSetup(targets){addEventToTargets(targets,'click',function(e){parent.location.href=this.href;e.preventDefault()},'a');resizeIframeToFullHeight('div#sidebar #iframe-microblog')}
function setupToggleFolders(){var menu=new DOMQuery('div.discussion-folders li');if(menu.length==1)addEvent(menu.get(0),'click',toggleFolders)}
function toggleFolders(e){e.stopPropagation();var childs=new DOMQuery('ul',this);if(childs.length>0)jscss('toggle',this,'active')}
function toggleTagcloudOverflow(e){var tagcloud=new DOMQuery('li.forum-tagcloud div').get(0);if(!tagcloud)return;if(new DOMQuery('a',tagcloud).length<10)return;var more=createDOMNode('span',{event:['click',function(e){jscss('toggle',tagcloud,'show-all');e.stopPropagation()}]},[' '+getText('normal','more')]);tagcloud.appendChild(more)}

function scrollToAnchor(){if(!location.hash)return;var link=location.hash.substr(1);if(!link.match(/^[0-9a-z]+$/))return;var element=new DOMQuery("a#"+link),scrollElement=element.get(0);if(!scrollElement)return;addEvent(window,'load',function(){scrollElement.scrollIntoView()})}
function loginForm(){var f=new DOMQuery('input#quick-login-form-user').get(0);if(f&&f.value==''){f.value=getText('forms','username');addEvent(f,'focus',_clearFieldSetTypePassword)};f=new DOMQuery('input#quick-login-form-password').get(0);if(f&&f.value=='')try{var replacement=f.cloneNode(true);replacement.type='text';replacement.value=getText('forms','password');f.parentNode.replaceChild(replacement,f);addEvent(replacement,'click',_clearFieldSetTypePassword);addEvent(replacement,'focus',_clearFieldSetTypePassword)}catch(e){}}
function _clearFieldSetTypePassword(){var password_input=new DOMQuery('input#quick-login-form-password').get(0),username_input=new DOMQuery('input#quick-login-form-user').get(0);if(username_input.value!=getText('forms','username'))return;try{var replacement=password_input.cloneNode(true);replacement.type='password';replacement.value='';password_input.parentNode.replaceChild(replacement,password_input);username_input.value=''}catch(e){}}
function createFooter(){var footer=new DOMQuery('div#footer').get(0);if(!footer)return;var item=new DOMQuery('head link[type="application/rss+xml"]');if(item.length>0){var rss=item.get(0),a=createDOMNode('a',{href:rss.href,type:rss.type,title:rss.title,"class":'rss-link'},['RSS']);footer.insertBefore(a,footer.firstChild)};var form=new DOMQuery('div#navigation form');if(form.length>0)footer.insertBefore(form.get(0).cloneNode(true),footer.firstChild)}
function topicNavigationPulldown(targets){addEventToTargets(targets,'submit',function(){return _handleTopicNavigationPulldown(this,false)},'form.topic-navigation');addEventToTargets(targets,'change',function(){return _handleTopicNavigationPulldown(this.form,false)},'form.topic-navigation select');addEventToTargets(targets,'change',function(){return _handleTopicNavigationPulldown(this.form,true)},'form select.topic-navigation')}
function _handleTopicNavigationPulldown(form,useCurrentAction){if(useCurrentAction){switch(board_action){case'update_message':case'quote_message':var selectQry=new DOMQuery('select.topic-navigation',form);if(selectQry.length){var select=selectQry.get(0);targetUrl=board_script_url+'/'+board_action+'/'+form.elements['data[messageid]'].value+'/'+select.options[select.selectedIndex].value}else return false;break;case'insert_message':var selectQry=new DOMQuery('select.topic-navigation',form);if(selectQry.length){var select=selectQry.get(0);targetUrl=board_script_url+'/'+board_action+'/'+form.elements['data[topicid]'].value+'//'+select.options[select.selectedIndex].value}else return false;break;default:return false}}else targetUrl=form.attributes['action'].value+'/'+form.elements['action'].value+'/'+form.elements['data[topicid]'].value+'/'+form.elements['data[offset]'].value;document.location.href=targetUrl;return false}
function pulldownAutoSubmits(targets){addEventToTargets(targets,'change',_handlePullDowns,'select.faq-list, form.topic-navigation select, form#form-more-topic select, select#calendar-select-date, select.page-dropdown, select.jump-to-action')}
function _handlePullDowns(){if(this.tagName.toLowerCase()!='select')return;if(!jscss('check',this,'jump-to-action'))return this.form.submit();if(Number(this.value)>0){document.location.href=board_script_url+'/list_topics/'+this.value}else if(this.value!='')document.location.href=this.value}
function toggleAuthorLinks(targets){var items=getTargets(targets,'ol.messages div.author-nickname');if(items.length==0)return;for(var i=0,item;(item=items.get(i));i++){addEvent(item,'click',_toggleAuthorLinks);jscss('add',item,'author-links-toggle','')}}
function _toggleAuthorLinks(e){if(!jscss('check',(e.srcElement||e.target),'author-nickname'))return;var item=getSiblingNode(this,'up','li');if(item)jscss('toggle',item,'author-links-expanded');jscss('toggle',this,'author-links-toggle-open')};var toggleVisibilityCookie
function toggleVisibility(targets){var items=getTargets(targets,'h3[id] + fieldset, h3[id] + dl.property-list, div.extra-actions ul li#forum-tagcloud, div.discussion-folders ul.folders li[id]');if(items.length==0)return;getToggleVisibilityCookie();for(var i=0,item;(item=items.get(i));i++){if(item.tagName.toLowerCase()=='fieldset'&&item.previousSibling.tagName.toLowerCase()=='h3'&&item.previousSibling.id.indexOf('submit')>-1)continue;switch(item.tagName.toLowerCase()){case'li':case'td':addEvent(item,'click',_toggleVisibility);jscss('add',item,'toggle-icon','');if(toggleVisibilityCookie.indexOf(item.tagName.toLowerCase()=='li'?item.id:item.parentNode.id)>-1)_toggleVisibility.call(item,null,true);break;default:addEvent(item.previousSibling,'click',_toggleVisibility);jscss('add',item.previousSibling,'toggle-icon','');if(toggleVisibilityCookie.indexOf(item.previousSibling.id)>-1)_toggleVisibility.call(item.previousSibling,null,true);break}}}
function _toggleVisibility(e,init){if(typeof e=='object'&&e!==null){var target=e.srcElement||e.target;if(target.tagName.toLowerCase()=='a')return};var tagname=this.tagName.toLowerCase();if(tagname=='td'){if(init!=true)storeToggleVisibility(this.parentNode.id,jscss('check',this,'toggle-alternate-icon'));var node=this.parentNode;while(node.nextSibling&&(node=node.nextSibling)&&!jscss('check',node,'category-name'))jscss('toggle',node,'display-none','')}else{if(init!=true)storeToggleVisibility(this.id,jscss('check',this,'toggle-alternate-icon'));if(tagname=='li'){jscss('toggle',this,'display-no-childs')}else jscss('toggle',this.nextSibling,'display-none','')};if(typeof e=='object'&&e!==null)e.stopPropagation();jscss('toggle',this,'toggle-alternate-icon','')}
function storeToggleVisibility(id,del){toggleVisibilityCookie=toggleVisibilityCookie.getUnique();if(toggleVisibilityCookie.indexOf(id)>-1&&del){var newCookie=[];for(var i=0,item;(item=toggleVisibilityCookie[i]);i++)if(item!=id)newCookie.push(item);toggleVisibilityCookie=newCookie}else if(toggleVisibilityCookie.indexOf(id)==-1)toggleVisibilityCookie.push(id);setCookie('toggle',toggleVisibilityCookie.join(':'))}
function getToggleVisibilityCookie(){var c=getCookie('toggle');if(typeof c=='string'){toggleVisibilityCookie=c.split(':')}else toggleVisibilityCookie=['topic-admin-move','topic-admin-general']};var maxImageWidth=595,maxImageHeight=2000,imagesToScale=[]
function scaleImages(targets){imagesToScale=getTargets(targets,'ol div.message-content img:not(.smiley)');for(var i=0,image;(image=imagesToScale.get(i));i++){image.setAttribute('maxwidth',maxImageWidth);image.setAttribute('maxheight',maxImageHeight);if(image.complete){scaleImage.call(image,null)}else addEvent(image,'load',scaleImage)};imagesToScale=[]}
function scaleImage(){if(!this)return;var maxWidth=this.getAttribute('maxwidth'),maxHeight=this.getAttribute('maxheight');if(this.width<=maxWidth&&this.height<=maxHeight)return jscss('remove',this,'display-none');var scaleRatio=maxWidth/maxHeight;if(this.width>maxWidth||this.height>maxHeight){var ratio=this.width/this.height;this.originalWidth=this.width;this.originalHeight=this.height;if(ratio>scaleRatio){this.width=maxWidth;this.height=maxWidth/ratio}else{this.height=maxHeight;this.width=maxHeight*ratio};if(this.parentNode.nodeName!='A'){addEvent(this,'click',popupImage);jscss('add',this,'enlargeable');this.title+=getText('extra','click_to_enlarge')}};jscss('remove',this,'display-none')}
function popupImage(){window.open(this.src,'img','width='+(this.originalWidth+16)+',height='+(this.originalHeight+16)+',left=0,top=0')}
function externalLinksInPopup(targets){var items=getTargets(targets,'ol.messages a.link'),a=createDOMNode('a',{href:board_script_url},[]);for(var i=0,item;(item=items.get(i));i++)if(item.href&&a.hostname!=item.hostname&&['http:','https:'].indexOf(item.protocol)!=-1)addEvent(item,'click',function(e){if(!_localAnchors(this)){window.open(this.href,'popupexternal');e.preventDefault()}})}

var raw_messages=[],formRequiredFieldsDOMQuery='dt.required + dd input, dt.required + dd textarea, dt.required + dd select, dt[class^="requires-id-"] + dd input, dt[class^="requires-id-"] + dd textarea, dt[class^="requires-id-"] + dd select',formValidateFieldsDOMQuery=formRequiredFieldsDOMQuery+', input[class^="validate-"], input#pwd2, input#keywords, input#query_input';if(typeof defaultFieldValues=='object'){var fieldName,defaultFieldsQuery=[];for(fieldName in defaultFieldValues){fieldName=/data\[(.+)\]/.exec(fieldName)[1];defaultFieldsQuery.push('input[name*="'+fieldName+'"],textarea[name*="'+fieldName+'"]')};defaultFieldsQuery=defaultFieldsQuery.join(',')}
function focusFirstFormField(targets){var focusableElements=getTargets(targets,'input.focusable, textarea.focusable');if(focusableElements.length)setTimeout(function(){focusableElements.get(0).focus()},100)}
function validateForms(targets){var items=getTargets(targets,'form');if(items.length==0)return;for(var i=0,item;(item=items.get(i));i++)addEvent(item,'submit',function(e){if(!validateForm(this))e.preventDefault()});if(defaultFieldsQuery){var fields=new DOMQuery(defaultFieldsQuery);for(var i=0,field;(field=fields.get(i));i++){addEvent(field,'focus',function(){this.hasFocus=true});addEvent(field,'blur',function(){this.hasFocus=false});addEvent(field,'change',addDefaultValue);addEvent(field,'blur',addDefaultValue);addEvent(field,'focus',removeDefaultValue);addDefaultValue.call(field)}};items=new DOMQuery(formRequiredFieldsDOMQuery);if(items.length>0){var text=new DOMQuery('div#action-header p'),p;if(text.length>0){p=text.get(0);p.appendChild(createDOMNode(null,{},[createDOMNode('br',{},[]),createDOMNode('span',{},[getText('forms','marked_fields')]),createDOMNode('span',{"class":'required'},['*']),createDOMNode('span',{},[getText('forms','required')])]))}else{p=createDOMNode('p',{},[createDOMNode('span',{},[getText('forms','marked_fields')]),createDOMNode('span',{"class":'required'},['*']),createDOMNode('span',{},[getText('forms','required')])]);var h2=new DOMQuery('div#action-header h2').get(0);if(h2)h2.parentNode.insertBefore(p,h2)}};items=new DOMQuery(formValidateFieldsDOMQuery);for(var j=0;(item=items.get(j));j++)addEvent(item,'change',function(){validateField(this)})}
function hideAdvancedOptions(targets){if(forms_show_advanced_options){jscss('add',document.body,'show-advanced-options','');return};var forms=new DOMQuery('form');for(var i=0,form;(form=forms.get(i));i++){var advancedOptions=new DOMQuery('dt.advanced-option',form);if(!advancedOptions.length)continue;if((new DOMQuery('span.toggle-advanced-options',form)).length>0)continue;var submitButton=new DOMQuery('input[type=submit]',form).get(0);if(!submitButton)continue;var toggleButton=createDOMNode('span',{event:['click',toggleAdvancedOptions],'class':'toggle-advanced-options clickable'},[getText('forms','show_advanced_options')]);submitButton.parentNode.appendChild(toggleButton);if(document.location.hash=='#showAdvancedOptions')toggleAdvancedOptions.call(toggleButton)}}
function toggleAdvancedOptions(){var form=getSiblingNode(this,'up','form');if(!form)return;jscss('toggle',form,'show-advanced-options');if(jscss('check',form,'show-advanced-options')){if(isIE){form.attributes['action'].value=form.attributes['action'].value.replace(/#(.+)$/,'')+'#showAdvancedOptions'}else form.setAttribute('action',form.getAttribute('action').replace(/#(.+)$/,'')+'#showAdvancedOptions');if(!isIE)window.location.hash='#showAdvancedOptions';this.firstChild.nodeValue=getText('forms','hide_advanced_options')}else{if(isIE){form.attributes['action'].value=form.attributes['action'].value.replace(/#showAdvancedOptions$/,'')}else form.setAttribute('action',form.getAttribute('action').replace(/#showAdvancedOptions$/,''));if(!isIE)if(jscss('check',this,'toggle-advanced-options')){document.location.hash='showAdvancedOptions'}else document.location.hash='hideAdvancedOptions';this.firstChild.nodeValue=getText('forms','show_advanced_options')}}
function validateForm(form){var items=new DOMQuery(formValidateFieldsDOMQuery,form),errors=false;if(defaultFieldsQuery){var defaultFields=new DOMQuery(defaultFieldsQuery,form);for(var i=0,field;(field=defaultFields.get(i));i++)removeDefaultValue.call(field)};for(var i=0,item;(item=items.get(i));i++)errors=validateField(item,true)||errors;if(errors){var fields=new DOMQuery('dt.field-alert + dd input',form);if(fields.length>0){if(!jscss('check',fields.get(0).form,'show-advanced-options')){var hiddenFields=new DOMQuery('h3.advanced-option dt.field-alert + dd input, dt.field-alert.advanced-option + dd input',form);if(hiddenFields.length>0)toggleAdvancedOptions()};try{fields.get(0).focus()}catch(e){}};if(defaultFieldsQuery)for(i=0;(field=defaultFields.get(i));i++)addDefaultValue.call(field)};return !errors}
function validateField(ob,ret){var field=this.tagName?this:ob,empty=fieldIsEmpty(field);unAlertUser(field);if(jscss('check',field,'not-required'))return false;if(!empty)switch(board_action){case'create_user':case'edit_user':switch(field.id){case'pwd2':return validatePassword(field);break;case'nickname':if(field.value.length<3){alertUser(field,getText('forms','name_too_short'))}else if(!ret)validateNickname(field);break;case'email':if(!ret){validateEmail(field);validateEmailDomain(field)};break};default:var reg,res,value=field.value;if(jscss('check',field,'maxlength')||field.getAttribute('maxlength')||jscss('check',field,'rml_textarea','')||field.id=='rml_textarea'){var maxlength=false;if(field.getAttribute('maxlength')){maxlength=parseInt(field.getAttribute('maxlength'))}else if(jscss('check',field,'maxlength'))maxlength=parseInt(/maxlength-([0-9]+)/.exec(field.className)[1]);if(!maxlength||isNaN(maxlength))maxlength=65535;if(field.value.length>maxlength){alertUser(field,getText('forms','too_long',maxlength)+getText('forms','too_long_expl',(field.value.length-maxlength)));return true}};if(jscss('check',field,'validate-email','')){reg=/^[\w-]+([\.\+][\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;res=reg.test(value);if(!res){alertUser(field,getText('forms','email_incorrect'));return true}};if(jscss('check',field,'validate-url','')){if(jscss('check',field,'no-http','')){reg=/^(([0-9]{1,3}\.){3}[0-9]{1,3}|\[([a-f0-9:]+)\]|([0-9a-z_!~*'\(\)-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(\/?|(\/[0-9a-z_!~*'\(\)\.;?:@&=+$,%#-]+)+\/?)$/i}else reg=/^(https?:\/\/)(([0-9]{1,3}\.){3}[0-9]{1,3}|\[([a-f0-9:]+)\]|([0-9a-z_!~*'\(\)-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})((\/?)|(\/[0-9a-z_!~*'\(\)\.;?:@&=+$,%#-]+)+\/?)$/i;res=reg.test(value);if(!res){alertUser(field,getText('forms','url_incorrect'));return true}};if(jscss('check',field,'validate-integer','')||jscss('check',field,'validate-sofinummer','')){reg=/^[0-9]*$/;res=reg.test(value);if(!res){alertUser(field,getText('forms','numeric_only'));return true}};if(jscss('check',field,'validate-sofinummer','')||jscss('check',field,'validate-bsn','')){if(value.length!=9){alertUser(field,getText('forms','length_not_9'));return true};var total=0;for(i=1;i<=8;i++)total+=(10-i)*value[i-1];total+=-1*value[8];if((total%11)>0){alertUser(field,getText('forms','sofinummer_mismatch'));return true}};if(jscss('check',field,'validate-zipcode','')){reg=/^[1-9][0-9]{3}\s*[a-z]{2}$/i;res=reg.test(value);if(!res){alertUser(field,getText('forms','zipcode_mismatch'));return true}};if(jscss('check',field,'validate-bankaccount','')){reg=/^[0-9\.]+$/i;res=reg.test(value);if(!res){alertUser(field,getText('forms','bankaccount_mismatch'));return true}};if(jscss('check',field,'validate-dutch-bankaccount','')){value=value.replace(/[^0-9\.]/,'');if(value.length!=9)alertUser(field,getText('forms','dutch_bankaccount_mismatch'));var total=0;for(i=1;i<=8;i++)total+=(10-i)*value[i-1];total+=value[8];if((total%11)>0){alertUser(field,getText('forms','dutch_bankaccount_mismatch'));return true}};if(jscss('check',field,'validate-usericon',''))if(value.length>0){var filename=value.split(/[\/\\]/).pop();if(filename.length>60){alertUser(field,getText('forms','filename_too_long'));return true};if(!filename.match(/^[ a-z0-9\_\-\.]+$/i)){alertUser(field,getText('forms','filename_invalid'));return true};if(!filename.match(/\.(jpg|jpeg|gif|png)$/i)){alertUser(field,getText('forms','extension_invalid'));return true}};switch(field.id){case'keywords':reg=/[^\w0-9_\-.\u00C0-\u00FF]+/;var values=value.split(' ');for(i=0;(value=values[i]);i++){if(value.length>50){alertUser(field,getText('forms','keyword_too_long',value));return true};res=value.match(reg);if(res){alertUser(field,getText('forms','keywords_illegal_character',value));return true}};break;case'recipients':var elements=[],previousQuote=false,is_quoted_element=false,element='';for(i=0;i<=value.length;i++){if(value.charAt(i)=='"')if(previousQuote&&previousQuote==value.charAt(i)){is_quoted_element=true;previousQuote=false;continue}else if(!previousQuote){previousQuote=value.charAt(i);continue};if((value.charAt(i)==','&&!previousQuote)||value.length==i){if(!is_quoted_element&&element.match(/[0-9]+/))element=parseInt(element.match(/[0-9]+/)[0]);elements.push(element);element='';is_quoted_element=false;continue};element+=value.charAt(i)};if(field.getAttribute('maxentries'))if(elements.length>field.getAttribute('maxentries'))alertUser(field,getText('forms','max_entries_reached',field.getAttribute('maxentries')));if(elements.indexOf(board_user_id)+elements.indexOf(board_user_nickname)!=-2)alertUser(field,getText('forms','cant_send_to_yourself'));break};if(typeof extraValidateFields=='object')for(i=0;i<extraValidateFields.length;i++)extraValidateFields[i](field);break};var dtFieldName=getSiblingNode(getSiblingNode(field,'up','dd'),'previous','dt');if(dtFieldName){var isRequired=jscss('check',dtFieldName,'required'),res=/requires\-id\-([^\s]+)/i.exec(dtFieldName.className);if(res&&res[0]){var inputField=new DOMQuery('#'+res[1],getSiblingNode(field,'up','form')).get(0);if(inputField){if(!empty){jscss('add',getSiblingNode(inputField.parentNode,'previous','dt'),'required')}else jscss('remove',getSiblingNode(inputField.parentNode,'previous','dt'),'required');return validateField(inputField,true)}};if(empty){var res=/required\-if\-empty\-([^\s]+)/i.exec(dtFieldName.className);if(res&&res[0]){var inputField=new DOMQuery('#'+res[1],getSiblingNode(field,'up','form')).get(0);if(inputField)if(!fieldIsEmpty(inputField))empty=false}}};if(empty&&isRequired){var text=getText('forms','required_field.'+field.id);if(text=='[text not found: forms::required_field.'+field.id+']')text=getText('forms','required_field');alertUser(field,text)}else if(empty&&!isRequired)return false;if(ret)return empty}
function fieldIsEmpty(field){var empty;switch(field.type){case'select-one':case'select-multiple':empty=(field.selectedIndex==-1)||(field.value=='');break;case'checkbox':if(field.name.indexOf('data[do_')!=-1)return false;empty=true;var checkboxes=field.form[field.name];if(!checkboxes.length){if(checkboxes.checked)empty=false}else for(var checkbox,i=0;(checkbox=checkboxes[i]);i++)if(checkbox.checked)empty=false;break;case'radio':var radios=field.form[field.name];empty=true;for(var radio,i=0;(radio=radios[i]);i++)if(radio.checked){empty=false;break};break;default:empty=(field.value.trim()==''?true:false);break};return empty}
function alertUser(inputfield,str){var ddInputField=getSiblingNode(inputfield,'up','dd'),ddErrorMsg=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'next','dd'),dtFieldName=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'previous','dt');if(!ddErrorMsg||!jscss('check',ddErrorMsg,'dd-sequence field-alert','')){jscss('add',dtFieldName,'field-alert','');var x=createDOMNode('dd',{"class":'dd-sequence field-alert'},[str]);if(isIE6&&(jscss('check',dtFieldName,'advanced-option')||jscss('checkParents',dtFieldName,'advanced-option')))jscss('add',x,'advanced-option-adjacent','');ddInputField.parentNode.insertBefore(x,ddInputField.nextSibling)}}
function unAlertUser(inputfield){var ddInputField=getSiblingNode(inputfield,'up','dd'),ddErrorMsg=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'next','dd'),dtFieldName=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'previous','dt');if(ddErrorMsg&&jscss('check',ddErrorMsg,'dd-sequence field-alert')){ddInputField.parentNode.removeChild(ddErrorMsg);jscss('remove',dtFieldName,'field-alert','')}}
function _validationResult(request){if(typeof request!='undefined'&&request!=null&&request.readyState==4){var response=getElementFromXHR(request,'div#core');return response.firstChild.nodeValue};return"0"}
function _xmlrequestComplete(request){return typeof request!='undefined'&&request!=null&&request.readyState==4}
function validatePassword(x){var pwd1=new DOMQuery('input#pwd1',getSiblingNode(x,'up','form')).get(0);if(pwd1.value!=x.value){alertUser(x,getText('forms','password_no_match'));return true}}
function validateNickname(field){nicknamereq=null;var request='action=validate_nickname&data%5Bnickname%5D='+encodeURI(field.value);nicknamereq=httpreq_string(request,_validateNickname,null,true,"GET")}
function _validateNickname(){if(_xmlrequestComplete(nicknamereq)&&_validationResult(nicknamereq)=='1')alertUser(new DOMQuery('#nickname').get(0),getText('forms','username_taken'))}
function validateEmailDomain(field){emaildomainreq=null;var request='action=validate_emaildomain&data%5Bemail%5D='+encodeURI(field.value);emaildomainreq=httpreq_string(request,_validateEmailDomain,false,true,"GET")}
function _validateEmailDomain(){if(_validationResult(emaildomainreq)=='1')alertUser(new DOMQuery('#email').get(0),getText('forms','invalid_domain'))}
function validateEmail(field){emailreq=null;var request='action=validate_email&data%5Bemail%5D='+encodeURI(field.value);emailreq=httpreq_string(request,_validateEmail,false,true,"GET")}
function _validateEmail(){if(emailreq&&_validationResult(emailreq)=='1')alertUser(new DOMQuery('#email').get(0),getText('forms','email_taken'))}
function addDefaultValue(e){if(this.hasFocus)return;if(this.value.trim()==''){this.value=defaultFieldValues[this.name];defaultFieldValues[this.name]=this.value;jscss('add',this,'is-default')}}
function removeDefaultValue(){if(this.value==defaultFieldValues[this.name]){this.value='';jscss('remove',this,'is-default')}}
function attachCalendarSelector(targets){addEventToTargets(targets,'click',_attachCalendarSelector,'input[id].date, input[id].datetime')};attachCalendarSelector.ifFormatDate="%d-%m-%Y";attachCalendarSelector.ifFormatDateTime="%d-%m-%Y %H:%M:%S"
function _attachCalendarSelector(){if(typeof Calendar=='undefined'){var self=this;loadScript('buffer/'+board_template_version+'/js/calendar,calendar-'+board_user_locale+',calendar-setup.js',true,function(){_attachCalendarSelector.call(self)},'Calendar');return};var cal=Calendar.setup({inputField:this.id,ifFormat:jscss('check',this,'datetime')?attachCalendarSelector.ifFormatDateTime:attachCalendarSelector.ifFormatDate,showsTime:jscss('check',this,'datetime'),align:"Tl",step:1,electric:false,firstDay:1,onClose:function(cal){cal.hide();if(document.createEvent){var evt=document.createEvent("HTMLEvents");evt.initEvent("change",true,true);cal.params['inputField'].dispatchEvent(evt)}else if(document.createEventObject){var evt=document.createEventObject();cal.params['inputField'].fireEvent("onchange",evt)}}});removeEvent(this,'click',arguments.callee);if(document.createEvent){var evt=document.createEvent('MouseEvents');evt.initEvent('click',true,true);this.dispatchEvent(evt)}else if(document.createEventObject){var evt=document.createEventObject();this.fireEvent('onclick',evt)}}
function selectAllRows(targets){var tables=getTargets(targets,'div#content form table');if(tables.length==0)return;for(var i=0;i<tables.length;i++){var checkboxes=new DOMQuery('input[TYPE="checkbox"]',tables.get(i));if(checkboxes.length==0)continue;var tablefooter=new DOMQuery("tfoot",tables.get(i)).get(0);if(!tablefooter)continue;var tr=createDOMNode('tr',{"class":'footer-form'},[createDOMNode('td',{"class":'select'},[createDOMNode('input',{type:'checkbox',id:'selectAllRows-'+i,name:'selectAllRows-'+i,event:(isIE?['click',_selectAllRows]:['change',_selectAllRows])},[])]),createDOMNode('td',{colSpan:5},[isIE?createDOMNode('label',{htmlFor:'selectAllRows-'+i},[getText('forms','select_all_rows')]):createDOMNode('label',{'for':'selectAllRows-'+i},[getText('forms','select_all_rows')])])]);tablefooter.appendChild(tr)};if(isGecko&&!isWebKit){jscss('add',document.body,'display-none','');jscss('remove',document.body,'display-none','')}}
function _selectAllRows(){var checked=this.checked,items=new DOMQuery('tbody input[TYPE="checkbox"]',getSiblingNode(this,'up','table'));for(var i=0,item;(item=items.get(i));i++)item.checked=checked}
function rewriteQuoteLinks(){if(raw_messages.length==0)return;for(var i=0,item;(item=raw_messages[i]);i++){var links=new DOMQuery("li.message-quote a",new DOMQuery("li#message-"+item[0]).get(0));if(links.length>0)addEvent(links.get(0),'click',function(e){if(!copyQuoteToRML(this))e.preventDefault()})}}
function copyQuoteToRML(x){var path=board_script_url+'/quote_message/',temp=x.href.substring(path.length),reg=/^([0-9]+)/,res=temp.match(reg),messageid=res[1];for(var i=0,item;(item=raw_messages[i]);i++)if(item[0]==messageid){putStr(item[1]);return false};return true}
function q(){return'"'}
function findForm(){var order=new DOMQuery('form#form-find select#order').get(0);if(!order)return;var queryField=new DOMQuery('form#form-find input#query_input').get(0);if(!queryField)return;if(order.options[order.selectedIndex].value=='relevance'){jscss('add',getSiblingNode(getSiblingNode(queryField,'up','dd'),'previous','dt'),'required')}else{jscss('remove',getSiblingNode(getSiblingNode(queryField,'up','dd'),'previous','dt'),'required');unAlertUser(queryField)};if(!arguments.callee.firstRun){arguments.callee.firstRun=true;addEvent(order,'change',arguments.callee)}}
function setupAutocomplete(targets){var items=getTargets(targets,'input[suggestions]');if(!items.length)return;if(typeof autocomplete!='function'){loadScript('buffer/'+board_template_version+'/js/autocomplete.js',true,'autocomplete','autocomplete')}else autocomplete()}
function logoutSessions(targets){if(board_action!='logout')return;var sessions=getTargets(targets,'input[type="checkbox"]');for(var i=0,item;(item=sessions.get(i));i++){addEvent(item,'change',_logoutSessions);addEvent(item,'click',_logoutSessions)}}
function _logoutSessions(){var logoutOptions=new DOMQuery('form#form-logout input[type="radio"]'),logoutBySession=new DOMQuery('input#logout_by_session');for(var i=0,item;(item=logoutOptions.get(i));i++)item.checked=false;logoutBySession.get(0).checked=true}

function attachRMLToolbar(targets){var rmltextareas=getTargets(targets,'textarea#rml_textarea');if(rmltextareas.length==0)return;for(var i=0,item;(item=rmltextareas.get(i));i++){item.parentNode.insertBefore(getToolbar(board_documentlibrary_allowed),item);if(isIE){addEvent(item,'click',storeCursor);addEvent(item,'keyup',storeCursor);addEvent(item,'select',storeCursor)}};if(isIE)addEvent(window,'load',function(){jscss('add',document.body,'display-none');jscss('remove',document.body,'display-none')})};var doclibsOpened=Array(),currentTextarea,rml_buttons=['bold','italic','underline','strike','hline','align_left','align_center','align_right','align_justify','hline','list_bullet','list_num','hline','color_fg','hline','link','image','hline','table','hline','maximize','documentlibrary','smileys']
function setCurrentTextarea(window){currentTextarea=doclibsOpened[window]}
function getToolbar(showDocumentLibrary){var x=createDOMNode('div',{"class":"rmltoolbar"},[]),img;for(var i=0;i<rml_buttons.length;i++){if(rml_buttons[i]=='documentlibrary'&&!showDocumentLibrary)continue;if(rml_buttons[i]=='maximize'&&events.indexOf(stretchTextareas)>-1)continue;if(rml_buttons[i]=='smileys'){var smileys=(new DOMQuery('div#smileys')).get(0);if(!smileys)continue;var smileysClone=smileys.cloneNode(true),smileysContainer=getSiblingNode(smileys,'up','dd'),smileysContainerLabel=getSiblingNode(smileysContainer,'previous','dt');smileysContainerLabel.parentNode.removeChild(smileysContainerLabel);smileysContainer.parentNode.removeChild(smileysContainer);x.appendChild(smileysClone)};img=createDOMNode('img',{src:board_template_url+'img/icons/toolbar/toolbar-sprite.gif','class':'button',title:getText('toolbar',rml_buttons[i]),alt:getText('toolbar',rml_buttons[i])},[]);if(rml_buttons[i]!='hline'){addEvent(img,'click',handleRMLToolbarClick);img.id='rmltoolbar_'+rml_buttons[i]}else jscss('add',img,'hline','');x.appendChild(img)};return x}
function handleRMLToolbarClick(){if(this.parentNode&&this.parentNode.nextSibling&&this.parentNode.nextSibling.tagName.toLowerCase()=='textarea')currentTextarea=this.parentNode.nextSibling;var listtype,my_link,my_title,sel,rows,type,out;switch(this.id){case'rmltoolbar_bold':wrapSelection('[b]','[/b]');return;break;case'rmltoolbar_italic':wrapSelection('[i]','[/i]');return;break;case'rmltoolbar_underline':wrapSelection('[u]','[/u]');return;break;case'rmltoolbar_strike':wrapSelection('[s]','[/s]');return;break;case'rmltoolbar_sup':wrapSelection('[sup]','[/sup]');return;break;case'rmltoolbar_sub':wrapSelection('[sub]','[/sub]');return;break;case'rmltoolbar_align_left':wrapSelection('[left]','[/left]');return;break;case'rmltoolbar_align_center':wrapSelection('[center]','[/center]');return;break;case'rmltoolbar_align_right':wrapSelection('[right]','[/right]');return;break;case'rmltoolbar_align_justify':wrapSelection('[justify]','[/justify]');return;break;case'rmltoolbar_list_bullet':listtype='*';case'rmltoolbar_list_num':if(typeof listtype=='undefined')listtype='1';var type='*',sel=getCurrentSelection(),rows=sel.split('\n'),out='[list='+listtype+']';for(var i=0,row;(row=rows[i]);i++)if(row!='')out+='\n\t[li]'+row+'[/li]';if(i==0)out+='\n\t[li]'+row+'[/li]';out+='\n[/list]';setSelection(out);return;break;case'rmltoolbar_color_fg':case'rmltoolbar_color_bg':var colorpicker=new DOMQuery('div#CLCP').get(0);if(!colorpicker){colorpicker=createDOMNode('div',{id:'CLCP','class':'CLCP'},[]);document.body.appendChild(colorpicker);if(typeof CLCPinitPicker!='function'){var button=this;loadScript('buffer/'+board_template_version+'/js/colorpicker.js',true,function(){CLCPinitPicker();var buttonPosition=findPos(button);_mouseCoords=[buttonPosition.x+button.width,buttonPosition.y+button.height],handleRMLToolbarClick.call(button)},'CLCPinitPicker');return}else CLCPinitPicker()};if(isIE){var range=document.selection.createRange(),stored_range=range.duplicate();stored_range.moveToElementText(currentTextarea);stored_range.setEndPoint('EndToEnd',range);currentTextarea.selectionStart=stored_range.text.length-range.text.length;currentTextarea.selectionEnd=currentTextarea.selectionStart+range.text.length};var rmlTag=this.id=='rmltoolbar_color_fg'?'fgcolor':'bgcolor';CLCPshowPicker({callback:function(){wrapSelection("["+rmlTag+"=#"+CLCPhsv2hex(HSV)+"]","[/"+rmlTag+"]")}});break;case'rmltoolbar_table':sel=getCurrentSelection();rows=sel.split('\n');out='[table]';var j;for(var i=0,row;(row=rows[i]);i++){out+='\n[tr]';var cells=row.split('\t');for(var j=0,cell;(cell=cells[j]);j++)out+='\n\t[td]'+cell+'[/td]';out+='\n[/tr]'};out+='\n[/table]';setSelection(out);return;break;case'rmltoolbar_image':if(getCurrentSelection()!=''){wrapSelection('[img]','[/img]');return};my_link=prompt(getText('toolbar','enter_img_url'),"http://");if(my_link!=null&&my_link!='http://'){lft="[img]"+my_link;rgt="[/img]";wrapSelection(lft,rgt)};return;break;case'rmltoolbar_link':my_link=prompt(getText('toolbar','enter_url'),"http://");if(my_link==null)return;var selection=getCurrentSelection();my_title=prompt(getText('toolbar','enter_title'),"");wrapSelection('[url='+my_link+(selection&&my_title?','+my_title:'')+']'+(selection?'':my_title||my_link),'[/url]');return;break;case'rmltoolbar_documentlibrary':var width=785,height=650;if(typeof wideScreenCSS!='undefined'&&wideScreenCSS){var width=980,height=750};var ref=window.open(board_script_url+'/list_documents?data[small]=1','DocumentLibrary','width='+width+',height='+height+',resizable=yes,scrollbars=yes');doclibsOpened[ref]=this.parentNode.nextSibling;break;case'rmltoolbar_smileys':toggleSmileys();addEvent(get_rmltextarea(),'focus',hideSmileys);addEvent(get_rmltextarea(),'blur',hideSmileys);break;case'rmltoolbar_maximize':var txtarea=get_rmltextarea();if(jscss('check',txtarea,'extra-large','')){jscss('remove',txtarea,'extra-large','');jscss('remove',txtarea,'large','')}else if(jscss('check',txtarea,'large')){jscss('add',txtarea,'extra-large','')}else jscss('add',txtarea,'large','');break;case'rmltoolbar_hr':setSelection('[hr]');break;case'rmltoolbar_youtube':if(getCurrentSelection()!=''){wrapSelection('[youtube]','[/youtube]');return};my_link=prompt(getText('toolbar','youtube_link'),'http://');if(my_link!=null&&my_link!='http://'){lft="[youtube]"+my_link;rgt="[/youtube]";wrapSelection(lft,rgt)};return}}
function toggleSmileys(){jscss('toggle',new DOMQuery('div#smileys').get(0),'show')}
function hideSmileys(){jscss('remove',new DOMQuery('div#smileys').get(0),'show')}
function makeSmileysClickable(targets){addEventToTargets(targets,'click',_insertSmiley,'div#smileys img')}
function _insertSmiley(){putStr(' '+this.alt+' ');hideSmileys()}
function get_rmltextarea(){if(typeof currentTextarea=='undefined')currentTextarea=new DOMQuery('textarea#rml_textarea').get(0);return currentTextarea}
function getContentFromOriginal(){get_rmltextarea().value=window.opener.get_rmltextarea().value}
function setContentToOriginal(){window.opener.get_rmltextarea().value=get_rmltextarea().value;window.close()}
function wrapSelection(lft,rgt){var txtarea=get_rmltextarea();if(isIE){IEWrap(txtarea,lft,rgt)}else mozWrap(txtarea,lft,rgt)}
function mozWrap(txtarea,lft,rgt){var selLength=txtarea.textLength,selStart=txtarea.selectionStart,selEnd=txtarea.selectionEnd;if(selEnd==1||selEnd==2)selEnd=selLength;var s1=txtarea.value.substring(0,selStart),s2=txtarea.value.substring(selStart,selEnd),s3=txtarea.value.substring(selEnd,selLength),scrollTop=txtarea.scrollTop;txtarea.value=s1+lft+s2+rgt+s3;txtarea.scrollTop=scrollTop}
function IEWrap(txtarea,lft,rgt){var selectionRange=document.selection.createRange();if(selectionRange.text==""&&txtarea.selectionStart>=0){selectionRange=txtarea.createTextRange();var newend=txtarea.selectionEnd-txtarea.selectionStart;selectionRange.collapse(true);selectionRange.moveStart("character",txtarea.selectionStart);selectionRange.moveEnd("character",newend);selectionRange.select()};var strSelection=selectionRange.text;if(strSelection&&selectionRange.parentElement()==txtarea){document.selection.createRange().text=lft+strSelection+rgt}else txtarea.value+=lft+rgt}
function getCurrentSelection(){if(typeof document.selection!='undefined'&&document.selection.createRange){return IEGet()}else if(document.getElementById){var txtarea=get_rmltextarea();return mozGet(txtarea)};return''}
function mozGet(txtarea){var selLength=txtarea.textLength,selStart=txtarea.selectionStart,selEnd=txtarea.selectionEnd;if(selEnd==1||selEnd==2)selEnd=selLength;return(txtarea.value).substring(selStart,selEnd)}
function IEGet(){return document.selection.createRange().text}
function setSelection(str){var txtarea=get_rmltextarea();if(typeof document.all!='undefined'){IESet(txtarea,str)}else if(document.getElementById)mozSet(txtarea,str)}
function mozSet(txtarea,str){var selLength=txtarea.textLength,selStart=txtarea.selectionStart,selEnd=txtarea.selectionEnd;if(selEnd==1||selEnd==2)selEnd=selLength;var s1=txtarea.value.substring(0,selStart),s2=txtarea.value.substring(selStart,selEnd),s3=txtarea.value.substring(selEnd,selLength);txtarea.value=s1+str+s3}
function IESet(txtarea,str){strSelection=document.selection.createRange().text;if(strSelection!=""){document.selection.createRange().text=str}else txtarea.value+=str}
function storeCursor(){this.cursorPos=document.selection.createRange().duplicate()}
function putStr(text){var target=get_rmltextarea();if(target){if(typeof document.all!='undefined'&&target.cursorPos){var cursorPos=target.cursorPos;cursorPos.text=cursorPos.text.charAt(cursorPos.text.length-1)==' '?text+' ':text}else try{wrapSelection('',text)}catch(e){target.value+=text};target.focus()}}

function getDocumentSelector(documentid){var data=raw_documents[documentid],documentDownloadlink=data[0],documentKey=data[1],documentLibraryid=data[2],documentExtension=data[3],documentFilename=data[4],documentIsRemote=data[5],documentHasThumb=data[6],documentWidth=data[7],format_list=[createDOMNode('option',{value:''},[getText('doclib','original')])];if(typeof formats!="undefined")for(var i=0;i<formats.length;i++)format_list[i+1]=createDOMNode('option',{value:formats[i][0]},[formats[i][0]+' ('+formats[i][1][0]+'x'+formats[i][1][1]+')'])
function toggleInsertAs(){var disabled=!(this.value=='image');new DOMQuery('input#link_'+documentid).get(0).disabled=disabled;new DOMQuery('select#format_'+documentid).get(0).disabled=disabled;new DOMQuery('select#float_'+documentid).get(0).disabled=disabled};var insert_as=[createDOMNode('dt',{},[getText('doclib','insert_as')]),createDOMNode('dd',{},[createDOMNode('input',{value:'image',name:'as',type:'radio',id:'as_image_'+documentid+'_image',checked:'checked','class':'radio',event:[(isIE?'click':'change'),toggleInsertAs]},[]),createDOMNode('label',{'for':'as_image_'+documentid+'_image'},[getText('doclib','insert_as_image')]),createDOMNode('input',{value:'text',name:'as',type:'radio',id:'as_text_'+documentid+'_image','class':'radio',event:[(isIE?'click':'change'),toggleInsertAs]},[]),createDOMNode('label',{'for':'as_text_'+documentid+'_text'},[getText('doclib','insert_as_text')])])],insert_as_link=[createDOMNode('dt',{},[getText('doclib','insert_as_link')]),createDOMNode('dd',{},[createDOMNode('input',{value:'link',name:'link',type:'checkbox',checked:'checked',id:'link_'+documentid,'class':'checkbox'},[]),createDOMNode('label',{'for':'link_'+documentid},[getText('doclib','insert_as_thumb')])])],format=[createDOMNode('dt',{},[getText('doclib','format')]),createDOMNode('dd',{},[createDOMNode('select',{name:'format',id:'format_'+documentid},format_list)])],align=[createDOMNode('dt',{},[getText('doclib','outline')]),createDOMNode('dd',{},[createDOMNode('select',{name:'float',id:'float_'+documentid},[createDOMNode('option',{value:''},[getText('doclib','none')]),createDOMNode('option',{value:'left'},[getText('doclib','left')]),createDOMNode('option',{value:'right'},[getText('doclib','right')])])])],insert=[createDOMNode('dt',{},[getText('doclib','insert')]),createDOMNode('dd',{},[createDOMNode('input',{value:getText('doclib','insert_image'),type:'submit'},[])])],form_combined=insert_as.concat(insert_as_link,format,align,insert);form_combined=form_combined.concat(insert_as_link);form_combined=form_combined.concat(format);form_combined=form_combined.concat(align);form_combined=form_combined.concat(insert);var form=createDOMNode('div',{id:"document-selector"},[createDOMNode('h3',{id:'insert_image'},[getText('doclib','insert_image')]),createDOMNode('form',{method:'POST',action:board_script_url,event:['submit',copy2rml]},[createDOMNode('fieldset',{},[createDOMNode('input',{value:documentid,name:'documentid',type:'hidden'},[]),createDOMNode('input',{value:documentDownloadlink,name:'url',type:'hidden'},[]),createDOMNode('input',{value:documentKey,name:'key',type:'hidden'},[]),createDOMNode('input',{value:documentLibraryid,name:'libraryid',type:'hidden'},[]),createDOMNode('input',{value:'',name:'alt',type:'hidden'},[]),createDOMNode('input',{value:documentFilename,name:'filename',type:'hidden'},[]),createDOMNode('dl',{},form_combined)])])]);setDocumentSelectorOptions(form,documentid);return form}
function setDocumentSelectorOptions(form,documentid){var data=raw_documents[documentid],documentDownloadlink=data[0],documentKey=data[1],documentLibraryid=data[2],documentExtension=data[3],documentFilename=data[4],documentIsRemote=data[5],documentHasThumb=data[6],documentWidth=data[7],select=new DOMQuery('select#format_'+documentid,form).get(0);if(typeof formats!="undefined"&&['gif','png','jpg','bmp'].indexOf(documentExtension)>-1){if(documentWidth>=maxImageWidth){var delta=0,lowestDelta=documentWidth,thumbnail='';for(var i=0;i<formats.length;i++){delta=maxImageWidth-formats[i][1][0];lowestDelta=Math.min(lowestDelta,delta);if(delta==lowestDelta)thumbnail=formats[i][0]};if(thumbnail!='')select.selectedIndex=new DOMQuery('option[value='+thumbnail+']',select).get(0).index}else var checkbox=new DOMQuery('input#link_'+documentid,form).get(0).checked=false}else if(documentHasThumb){thumbnail='thumbnail';select.selectedIndex=new DOMQuery('option[value='+thumbnail+']',select).get(0).index}else{select.disabled=true;new DOMQuery('select#float_'+documentid,form).get(0).disabled=true;new DOMQuery('input#as_image_'+documentid+'_image',form).get(0).disabled=true;new DOMQuery('input#as_text_'+documentid+'_image',form).get(0).disabled=true;new DOMQuery('input#as_text_'+documentid+'_image',form).get(0).checked=true}}
function doclibInteraction(){switch(board_action){case'edit_document':addEventToTargets(null,'click',modifyThumbnail,'img[longdesc]');break;case'list_documents':if(jscss('check',document.body,'small')){var links=new DOMQuery('a[href*="list_documents"], a[href*="edit_document"], a[href*="insert_document"]');for(var i=0,link;(link=links.get(i));i++){if(isIE)if(link.firstChild.nodeValue.match(/^(((ftp|https?):\/\/)|(www\.))/))link.appendChild(createDOMNode('span',{'class':'dummy'},[]));if(isIE||isWebKit){parts=link.href.split('#');link.href=parts[0];link.href+=(link.search.length?'&':'?')+'data[small]=1';if(parts[1])link.hash=parts[1]}else link.search+=(link.search.length?'&':'?')+'data[small]=1'};addEventToTargets(null,'click',doclibImageClick,'body.list_documents div.document')}else{addEventToTargets(null,'click',selectAllDocuments,'input#select_all_documents');addEventToTargets(null,'click',selectDocument,'body.list_documents div.document img, body.list_documents div.document li.select input')};break};var items=new DOMQuery('ol.messages a.doclib');for(var i=0,item;(item=items.get(i));i++)addEvent(item,'click',function(e){window.open(this.href,'popupdoclib');e.preventDefault()})}
function selectDocument(obj,checked){var callingElement=this.tagName?this:obj,checkbox,container=getSiblingNode(callingElement,'up','div');if(callingElement.tagName.toLowerCase()!='input'){checkbox=new DOMQuery('input[type=checkbox]',container).get(0);checkbox.checked=checked}else checkbox=callingElement;if(checkbox.checked){jscss('add',container,'selected','');if((new DOMQuery('div.document input')).length==(new DOMQuery('div.document.selected input')).length)(new DOMQuery('input#select_all_documents').get(0)).checked=true}else{jscss('remove',container,'selected','');(new DOMQuery('input#select_all_documents').get(0)).checked=false}}
function selectAllDocuments(){var checked=this.checked;if(board_action=='list_documents'){var img=new DOMQuery('div.document.selected img');for(var i=0;i<img.length;i++)selectDocument(img.get(i),false)};if(!checked)return;if(board_action=='list_documents'){img=new DOMQuery('div.document img');for(i=0;i<img.length;i++)selectDocument(img.get(i),true)}}
function deselectAllDocuments(){var selectedDocuments=new DOMQuery('div.document.selected');for(var i=0,selectedDocument;(selectedDocument=selectedDocuments.get(i));i++)jscss('remove',selectedDocument,'selected','')}
function doclibImageClick(e){var x=this;if(x.tagName.toLowerCase()!='img')x=new DOMQuery('img',this).get(0);if(typeof x=='undefined')return;var container=getSiblingNode(x,'up','div'),documentid=container.id.replace(/^document_/,''),currentlySelected=jscss('check',container,'selected');deselectAllDocuments();var currentForm=new DOMQuery("div.discussion-content div#document-selector").get(0);if(currentForm)currentForm.parentNode.removeChild(currentForm);var searchForm=new DOMQuery('form#form-documents-find').get(0);if(currentlySelected){jscss('remove',searchForm,'display-none');jscss('remove',getSiblingNode(searchForm,'previous','h3'),'display-none');deselectAllDocuments();return}else{jscss('add',container,'selected','');if(searchForm){jscss('add',searchForm,'display-none');jscss('add',getSiblingNode(searchForm,'previous','h3'),'display-none')}};if(window.opener!=null&&typeof window.opener.selectedDocument!='undefined')try{window.opener.selectedDocument(documentid,window)}catch(e){};var form=getDocumentSelector(documentid);if(!form)return;var p=new DOMQuery("div.discussion-content").get(0);if(!p)return;p.insertBefore(form,p.childNodes[0])}
function copy2rml(e){e.preventDefault();if(typeof window.opener=='undefined'||!window.opener.document)return false;if(typeof window.opener.SetUrl!='undefined'){window.opener.SetUrl(board_script_url+'/../download.php/download_document/'+new DOMQuery('input[name="documentid"]',this).get(0).value+'/'+new DOMQuery('input[name="key"]',this).get(0).value+'/'+new DOMQuery('select[name="format"]',this).get(0).value);window.close();return false};var items=new DOMQuery('input[name="as"]',this),data_as;for(var i=0,item;(item=items.get(i));i++)if(item.type=='hidden'||item.checked){data_as=item;break};if(!data_as)return false;var rml='';switch(data_as.value){case'image':var float_select=new DOMQuery('select[name="float"]',this),format_select=new DOMQuery('select[name="format"]',this),link_input=new DOMQuery('input[name="link"]',this),link='0',alignment='',format='';if(float_select.length>0)alignment=float_select.get(0).options[float_select.get(0).selectedIndex].value;if(format_select.length>0)format=format_select.get(0).options[format_select.get(0).selectedIndex].value;if(link_input.length>0)link=link_input.get(0).checked?'1':'0';rml='[doclib='+new DOMQuery('input[name="documentid"]',this).get(0).value+','+new DOMQuery('input[name="key"]',this).get(0).value+','+new DOMQuery('input[name="libraryid"]',this).get(0).value+','+format+','+link+(alignment!=""?(","+alignment):"")+']\n';break;case'text':rml='[doclib='+new DOMQuery('input[name="documentid"]',this).get(0).value+','+new DOMQuery('input[name="key"]',this).get(0).value+','+new DOMQuery('input[name="libraryid"]',this).get(0).value+',,0]'+new DOMQuery('input[name="filename"]',this).get(0).value+'[/]\n';break;default:return};window.opener.setCurrentTextarea(window);window.opener.putStr(rml);window.opener.focus();window.close();return false}
function insertMultipleDocuments(){if(board_action!='insert_document')return;var input=new DOMQuery('input#userfile').get(0);if(!input)return;var insertMultipleLink=createDOMNode('span',{'class':'clickable',event:['click',_insertMultipleDocuments]},['Voeg direct nog een bestand toe']);input.parentNode.appendChild(insertMultipleLink)}
function _insertMultipleDocuments(e){if(typeof arguments.callee.documentInputCount=='undefined')arguments.callee.documentInputCount=0;jscss('add',new DOMQuery('form#form-insert-document').get(0),'multiple-documents');if(new DOMQuery('span.toggle-advanced-options',new DOMQuery('form#form-insert-document').get(0)).get(0))jscss('add',new DOMQuery('span.toggle-advanced-options',new DOMQuery('form#form-insert-document').get(0)).get(0),'display-none');var input=new DOMQuery('input#userfile').get(0),copy=input.cloneNode(true);copy.id='';copy.value='';copy.name+='_'+ arguments.callee.documentInputCount++;input.parentNode.appendChild(copy);e.preventDefault()}

function loadCssQuery(){eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 C=6(){8 1H="2.0 (2S)";8 $2B=/\\s*,\\s*/;8 C=6($d,$$b){2T{8 $m=[];8 $1S=c.2Q.2A&&!$$b;8 $1K=($$b)?($$b.2R==2E)?$$b:[$$b]:[X];8 $$E=1o($d).22($2B),i;x(i=0;i<$$E.y;i++){$d=1C($$E[i]);9(16&&$d.S(0,3).2w("")==" *#"){$d=$d.S(2);$$b=26([],$1K,$d[1])}1I $$b=$1K;8 j=0,$U,$F,$c,$1a="";I(j<$d.y){$U=$d[j++];$F=$d[j++];$1a+=$U+$F;$c="";9($d[j]=="("){I($d[j++]!=")")$c+=$d[j];$c=$c.S(0,-1);$1a+="("+$c+")"}$$b=($1S&&19[$1a])?19[$1a]:2u($$b,$U,$F,$c);9($1S)19[$1a]=$$b}$m=$m.2N($$b)}1Y C.1m;7 $m}2P($1m){C.1m=$1m;7[]}};C.2i=6(){7"6 C() {\\n  [1H "+1H+"]\\n}"};8 19={};C.2A=P;C.33=6($d){9($d){$d=1C($d).2w("");1Y 19[$d]}1I 19={}};8 1P={};8 1X=P;C.1s=6($1b,$1q){9(1X)1n("$1q="+1i($1q));1P[$1b]=12 $1q()};C.30=6($Y){7 $Y?1n($Y):z};8 E={};8 v={};8 Z=[];E[" "]=6($l,$b,$q,$p){8 $5,i,j;x(i=0;i<$b.y;i++){8 $1r=1f($b[i],$q,$p);x(j=0;($5=$1r[j]);j++){9(O($5)&&1p($5,$p))$l.D($5)}}};E["#"]=6($l,$b,$H){8 $5,j;x(j=0;($5=$b[j]);j++)9($5.H==$H)$l.D($5)};E["."]=6($l,$b,$17){$17=12 1R("(^|\\\\s)"+$17+"(\\\\s|$)");8 $5,i;x(i=0;($5=$b[i]);i++)9($17.h($5.17))$l.D($5)};E[":"]=6($l,$b,$2y,$c){8 $h=v[$2y],$5,i;9($h)x(i=0;($5=$b[i]);i++)9($h($5,$c))$l.D($5)};v["2X"]=6($5){8 $X=V($5);9($X.1G)x(8 i=0;i<$X.1G.y;i++){9($X.1G[i]==$5)7 R}};v["35"]=6($5){};8 O=6($5){7($5&&$5.1Z==1&&$5.q!="!")?$5:2q};8 1l=6($5){I($5&&($5=$5.32)&&!O($5))2G;7 $5};8 K=6($5){I($5&&($5=$5.2U)&&!O($5))2G;7 $5};8 1L=6($5){7 O($5.2b)||K($5.2b)};8 2L=6($5){7 O($5.29)||1l($5.29)};8 15=6($5){8 $15=[];$5=1L($5);I($5){$15.D($5);$5=K($5)}7 $15};8 16=R;8 2z=6($5){7 V($5).31=="2V 2Y"};8 V=6($5){7 $5.2Z||$5.X};8 1f=6($5,$q){7($q=="*"&&$5.1J)?$5.1J:$5.1f($q)};8 1t=6($5,$q,$p){9($q=="*")7 O($5);9(!1p($5,$p))7 P;7 $5.q.28()==$q.28()};8 1p=6($5,$p){7!$p||($p=="*")||($5.2W==$p)};8 1V=6($5){7 $5.2K};6 26($l,$b,H){8 $m,i,j;x(i=0;i<$b.y;i++){9($m=$b[i].1J.34(H)){9($m.y==2q)$l.D($m);1I x(j=0;j<$m.y;j++)$l.D($m[j])}}7 $l};8 $1F=/\\|/;6 2u($$b,$U,$F,$c){9($1F.h($F)){$F=$F.22($1F);$c=$F[0];$F=$F[1]}8 $l=[];9(E[$U]){E[$U]($l,$$b,$F,$c)}7 $l};8 $2m=/^[^\\s>+~]/;8 $$2h=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 1C($d){9($2m.h($d))$d=" "+$d;7 $d.m($$2h)||[]};8 $2g=/\\s*([\\s>+~(),]|^|$)\\s*/g;8 $2f=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;8 1o=6($d){7 $d.G($2g,"$1").G($2f,"$1*$2")};8 1Q={2i:6(){7"\'"},m:/^(\'[^\']*\')|("[^"]*")$/,h:6($u){7 z.m.h($u)},25:6($u){7 z.h($u)?$u:z+$u+z},2k:6($u){7 z.h($u)?$u.S(1,-1):$u}};8 1O=6($14){7 1Q.2k($14)};8 $2j=/([\\/()[\\]?{}|*+-])/g;6 10($u){7 $u.G($2j,"\\\\$1")};C.1s("1x-2a",6(){E[">"]=6($l,$b,$q,$p){8 $5,i,j;x(i=0;i<$b.y;i++){8 $1r=15($b[i]);x(j=0;($5=$1r[j]);j++)9(1t($5,$q,$p))$l.D($5)}};E["+"]=6($l,$b,$q,$p){x(8 i=0;i<$b.y;i++){8 $5=K($b[i]);9($5&&1t($5,$q,$p))$l.D($5)}};E["@"]=6($l,$b,$2l){8 $h=Z[$2l].h;8 $5,i;x(i=0;($5=$b[i]);i++)9($h($5))$l.D($5)};v["3s-1e"]=6($5){7!1l($5)};v["1B"]=6($5,$Y){$Y=12 1R("^"+$Y,"i");I($5&&!$5.1j("1B"))$5=$5.24;7 $5&&$Y.h($5.1j("1B"))};8 k={};k.1E="@";k.N={};k.m=/\\[([\\w-]+)\\s*(\\W?=)?\\s*([^\\]]*)\\]/g;k.G=6($m,$t,$2s,$A){8 $1y=k.1E+$m;9(!Z[$1y]){$t=k.2t($t,$2s||"",$A||"");Z[$1y]=$t;Z.D($t)}7 Z[$1y].H};k.2e=6($d){7 $d.G(z.m,z.G)};k.2t=6($1D,$h,$A){8 $1g={};$1g.H=k.1E+Z.y;$1g.1b=$1D;$h=z.N[$h];$h=$h?$h(k.1j($1D),1O($A)):P;$1g.h=12 2r("e","7 "+$h);7 $1g};k.1j=6($1b){1w($1b.3y()){B"H":7"e.H";B"3v":7"e.17";B"x":7"e.3x";B"27":9(16){7"1i((e.3n.m(/27=\\"?([^\\\\s\\"]*)\\"?/)||[])[1]||\'\')"}}7"e.1j(\'"+$1b+"\')"};z.k=k;k.N[""]=6($t){7 $t};k.N["="]=6($t,$A){7 $t+"=="+1Q.25($A)};k.N["~="]=6($t,$A){7"/(^|\\\\s)"+10($A)+"(\\\\s|$)/.h("+$t+")"};k.N["|="]=6($t,$A){7"/^"+10($A)+"(-|$)/.h("+$t+")"};8 2d=1o;1o=6($d){7 2d(k.2e($d))}});C.1s("1x-37",6(){8 1A=1P["1x-2a"];9(!1A)7;E["~"]=6($l,$b,$q,$p){8 $5,i;x(i=0;($5=$b[i]);i++){I($5=K($5)){9(1t($5,$q,$p))$l.D($5)}}};v["38"]=6($5,$14){$14=12 1R(10(1O($14)));7 $14.h(1V($5))};v["3k"]=6($5){7 $5==V($5).2J};v["3j"]=6($5){8 $M,i;x(i=0;($M=$5.2H[i]);i++){9(O($M)||$M.1Z==3)7 P}7 R};v["2v-1e"]=6($5){7!K($5)};v["3m-1e"]=6($5){$5=$5.24;7 1L($5)==2L($5)};v["3l"]=6($5,$d){8 $1N=C($d,V($5));x(8 i=0;i<$1N.y;i++){9($1N[i]==$5)7 P}7 R};v["2x-1e"]=6($5,$c){7 1z($5,$c,1l)};v["2x-2v-1e"]=6($5,$c){7 1z($5,$c,K)};v["3i"]=6($5){7 $5.H==3c.3b.S(1)};v["2F"]=6($5){7 $5.2F};v["3A"]=6($5){7 $5.1M===P};v["1M"]=6($5){7 $5.1M};v["2D"]=6($5){7 $5.2D};8 k=1A.k;k.N["^="]=6($t,$A){7"/^"+10($A)+"/.h("+$t+")"};k.N["$="]=6($t,$A){7"/"+10($A)+"$/.h("+$t+")"};k.N["*="]=6($t,$A){7"/"+10($A)+"/.h("+$t+")"};6 1z($5,$c,$1u){1w($c){B"n":7 R;B"3r":$c="2n";Q;B"3p":$c="2n+1"}8 $$23=15($5.24);6 1T($13){8 $13=($1u==K)?$$23.y-$13:$13-1;7 $$23[$13]==$5};9(!1d($c))7 1T($c);$c=$c.22("n");8 $T=2C($c[0]);8 $L=2C($c[1]);9((1d($T)||$T==1)&&$L==0)7 R;9($T==0&&!1d($L))7 1T($L);9(1d($L))$L=0;8 $1h=1;I($5=$1u($5))$1h++;9(1d($T)||$T==1)7($1u==K)?($1h<=$L):($L>=$1h);7($1h%$T)==$L}});C.1s("1x-3t",6(){16=1n("P;/*@3o@9(@\\3q)16=R@39@*/");9(!16){1f=6($5,$q,$p){7 $p?$5.3h("*",$q):$5.1f($q)};1p=6($5,$p){7!$p||($p=="*")||($5.3f==$p)};2z=X.2I?6($5){7/3g/i.h(V($5).2I)}:6($5){7 V($5).2J.q!="3e"};1V=6($5){7 $5.1k||$5.2K||20($5)};6 20($5){8 $1k="",$M,i;x(i=0;($M=$5.2H[i]);i++){1w($M.1Z){B 11:B 1:$1k+=20($M);Q;B 3:$1k+=$M.36;Q}}7 $1k}}});12 6(){8 $$18=6($6,$2c,$c){$6.18($2c,$c)};9(\'\'.G(/^/,1i)){8 2o=1i.1U.G;8 2p=6($1v,$1c){8 $m,$1W="",$u=z;I($u&&($m=$1v.3d($u))){$1W+=$u.S(0,$m.13)+$$18($1c,z,$m);$u=$u.S($m.3a)}7 $1W+$u};1i.1U.G=6($1v,$1c){z.G=(3w $1c=="6")?2p:2o;7 z.G($1v,$1c)}}9(!2r.18){8 J="18-"+3z(12 3u);$$18=6(f,o,a){8 r;o[J]=f;1w(a.y){B 0:r=o[J]();Q;B 1:r=o[J](a[0]);Q;B 2:r=o[J](a[0],a[1]);Q;B 3:r=o[J](a[0],a[1],a[2]);Q;B 4:r=o[J](a[0],a[1],a[2],a[3]);Q;2M:8 21=[],i=a.y-1;2O 21[i]="a["+i+"]";I(i--);1n("r=o[J]("+21+")")}1Y o[J];7 r}}9(![].D)2E.1U.D=6(){x(8 i=0;i<c.y;i++){z[z.y]=c[i]}7 z.y}};1X=R;7 C}();',62,223,'|||||element|function|return|var|if||from|arguments|selector||||test|||AttributeSelector|results|match|||namespace|tagName|||attribute|string|pseudoClasses||for|length|this|value|case|cssQuery|push|selectors|filter|replace|id|while|APPLY|nextElementSibling|step|node|tests|thisElement|false|break|true|slice|multiplier|token|getDocument||document|code|attributeSelectors|regEscape||new|index|text|childElements|isMSIE|className|apply|cache|cacheSelector|name|replacement|isNaN|child|getElementsByTagName|attributeSelector|count|String|getAttribute|textContent|previousElementSibling|error|eval|parseSelector|compareNamespace|script|subset|addModule|compareTagName|traverse|expression|switch|css|key|nthChild|css2|lang|_toStream|propertyName|PREFIX|NAMESPACE|links|version|else|all|base|firstElementChild|disabled|negated|getText|modules|Quote|RegExp|useCache|_checkIndex|prototype|getTextContent|newString|loaded|delete|nodeType|_getTextContent|aa|split|children|parentNode|add|_msie_selectById|href|toUpperCase|lastChild|level2|firstChild|object|_parseSelector|parse|IMPLIED_ALL|WHITESPACE|STREAM|toString|ESCAPE|remove|attributeSelectorID|STANDARD_SELECT||_stringReplace|_functionReplace|null|Function|compare|create|select|last|join|nth|pseudoClass|isXML|caching|COMMA|parseInt|indeterminate|Array|checked|continue|childNodes|contentType|documentElement|innerText|lastElementChild|default|concat|do|catch|callee|constructor|beta|try|nextSibling|XML|scopeName|link|Document|ownerDocument|valueOf|mimeType|previousSibling|clearCache|item|visited|nodeValue|level3|contains|end|lastIndex|hash|location|exec|HTML|prefix|xml|getElementsByTagNameNS|target|empty|root|not|only|outerHTML|cc_on|odd|x5fwin32|even|first|standard|Date|class|typeof|htmlFor|toLowerCase|Number|enabled'.split('|'),0,{}));window.cssQuery=cssQuery}

var Prototype={Version:'1.6.0.2',Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div').__proto__&&document.createElement('div').__proto__!==document.createElement('form').__proto__},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)Prototype.BrowserFeatures.SpecificElementExtensions=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))parent=properties.shift()
function klass(){this.initialize.apply(this,arguments)};Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass();parent.subclasses.push(klass)};for(var i=0;i<properties.length;i++)klass.addMethods(properties[i]);if(!klass.prototype.initialize)klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype,properties=Object.keys(source);if(!Object.keys({toString:true}).length)properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super")var method=value,value=Object.extend((function(m){return function(){return ancestor[m].apply(this,arguments)}})(property).wrap(method),{valueOf:function(){return method},toString:function(){return method.toString()}});this.prototype[property]=value};return this}};var Abstract={};Object.extend=function(destination,source){for(var property in source)destination[property]=source[property];return destination};Object.extend(Object,{inspect:function(object){try{if(Object.isUndefined(object))return'undefined';if(object===null)return'null';return object.inspect?object.inspect():String(object)}catch(e){if(e instanceof RangeError)return'...';throw e}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString()};if(object===null)return'null';if(object.toJSON)return object.toJSON();if(Object.isElement(object))return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(!Object.isUndefined(value))results.push(property.toJSON()+': '+value)};return'{'+results.join(', ')+'}'},toQueryString:function(object){return $H(object).toQueryString()},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object)},keys:function(object){var keys=[];for(var property in object)keys.push(property);return keys},values:function(object){var values=[];for(var property in object)values.push(object[property]);return values},clone:function(object){return Object.extend({},object)},isElement:function(object){return object&&object.nodeType==1},isArray:function(object){return object!=null&&typeof object=="object"&&'splice' in object&&'join' in object},isHash:function(object){return object instanceof Hash},isFunction:function(object){return typeof object=="function"},isString:function(object){return typeof object=="string"},isNumber:function(object){return typeof object=="number"},isUndefined:function(object){return typeof object=="undefined"}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return names.length==1&&!names[0]?[]:names},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0]))return this;var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)))}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args))}},curry:function(){if(!arguments.length)return this;var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)))}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args)},timeout)},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)))}}});Function.prototype.defer=Function.prototype.delay.curry(0.01);Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+'-'+(this.getUTCMonth()+1).toPaddedString(2)+'-'+this.getUTCDate().toPaddedString(2)+'T'+this.getUTCHours().toPaddedString(2)+':'+this.getUTCMinutes().toPaddedString(2)+':'+this.getUTCSeconds().toPaddedString(2)+'Z"'};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break}catch(e){}};return returnValue}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1')};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},execute:function(){this.callback(this)},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting)try{this.currentlyExecuting=true;this.execute()}finally{this.currentlyExecuting=false}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value)},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0)if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else result+=source,source='';return result},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match)})},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this)},truncate:function(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'')},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'')},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'')},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img'),matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1]})},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)})},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):''},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift()),value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value)}else hash[key]=value};return hash})},toArray:function(){return this.split('')},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},times:function(count){return count<1?'':new Array(count+1).join(this)},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase()},dasherize:function(){return this.gsub(/_/,'-')},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'"},toJSON:function(){return this.inspect(true)},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}')},isJSON:function(){var str=this;if(str.blank())return false;str=this.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'');return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON())return eval('('+json+')')}catch(e){};throw new SyntaxError('Badly formed JSON string: '+this.inspect())},include:function(pattern){return this.indexOf(pattern)>-1},startsWith:function(pattern){return this.indexOf(pattern)===0},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d},empty:function(){return this==''},blank:function(){return/^\s*$/.test(this)},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object)}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;')},unescapeHTML:function(){return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>')}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)}};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements))object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3],pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr)};return before+String.interpret(ctx)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={},Enumerable={each:function(iterator,context){var index=0;iterator=iterator.bind(context);try{this._each(function(value){iterator(value,index++)})}catch(e){if(e!=$break)throw e};return this},eachSlice:function(number,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)slices.push(array.slice(index,index+number));return slices.collect(iterator,context)},all:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator(value,index);if(!result)throw $break});return result},any:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator(value,index))throw $break});return result},collect:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];this.each(function(value,index){results.push(iterator(value,index))});return results},detect:function(iterator,context){iterator=iterator.bind(context);var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break}});return result},findAll:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(iterator(value,index))results.push(value)});return results},grep:function(filter,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];if(Object.isString(filter))filter=new RegExp(filter);this.each(function(value,index){if(filter.match(value))results.push(iterator(value,index))});return results},include:function(object){if(Object.isFunction(this.indexOf))if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break}});return found},inGroupsOf:function(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice})},inject:function(memo,iterator,context){iterator=iterator.bind(context);this.each(function(value,index){memo=iterator(memo,value,index)});return memo},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args)})},max:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value>=result)result=value});return result},min:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value<result)result=value});return result},partition:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator(value,index)?trues:falses).push(value)});return[trues,falses]},pluck:function(property){var results=[];this.each(function(value){results.push(value[property])});return results},reject:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(!iterator(value,index))results.push(value)});return results},sortBy:function(iterator,context){iterator=iterator.bind(context);return this.map(function(value,index){return{value:value,criteria:iterator(value,index)}}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0}).pluck('value')},toArray:function(){return this.map()},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index))})},size:function(){return this.toArray().length},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>'}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any})
function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results};if(Prototype.Browser.WebKit)$A=function(iterable){if(!iterable)return[];if(!(Object.isFunction(iterable)&&iterable=='[object NodeList]')&&iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results};Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)iterator(this[i])},clear:function(){this.length=0;return this},first:function(){return this[0]},last:function(){return this[this.length-1]},compact:function(){return this.select(function(value){return value!=null})},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value])})},without:function(){var values=$A(arguments);return this.select(function(value){return !values.include(value)})},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))array.push(value);return array})},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']'},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value))results.push(value)});return'['+results.join(', ')+']'}});if(Object.isFunction(Array.prototype.forEach))Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i<length;i++)if(this[i]===item)return i;return -1};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1};Array.prototype.toArray=Array.prototype.clone
function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[]};if(Prototype.Browser.Opera)Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++)if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)array.push(arguments[i][j])}else array.push(arguments[i]);return array};Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(iterator){$R(0,this,true).each(iterator);return this},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string},toJSON:function(){return isFinite(this)?this.toString():'null'}});$w('abs round ceil floor').each(function(method){Number.prototype[method]=Math[method].methodize()})
function $H(object){return new Hash(object)};var Hash=Class.create(Enumerable,(function(){function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value))};return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object)},_each:function(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair)}},set:function(key,value){return this._object[key]=value},get:function(key){return this._object[key]},unset:function(key){var value=this._object[key];delete this._object[key];return value},toObject:function(){return Object.clone(this._object)},keys:function(){return this.pluck('key')},values:function(){return this.pluck('value')},index:function(value){var match=this.detect(function(pair){return pair.value===value});return match&&match.key},merge:function(object){return this.clone().update(object)},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result})},toQueryString:function(){return this.map(function(pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object')if(Object.isArray(values))return values.map(toQueryPair.curry(key)).join('&');return toQueryPair(key,values)}).join('&')},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ')}).join(', ')+'}>'},toJSON:function(){return Object.toJSON(this.toObject())},clone:function(){return new Hash(this)}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ()}},include:function(value){if(value<this.start)return false;if(this.exclusive)return value<this.end;return value<=this.end}}),$R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive)},Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator)},register:function(responder){if(!this.include(responder))this.responders.push(responder)},unregister:function(responder){this.responders=this.responders.without(responder)},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback]))try{responder[callback].apply(responder,[request,transport,json])}catch(e){}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else if(Object.isHash(this.options.parameters))this.options.parameters=this.options.parameters.toObject()}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url)},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){params._method=this.method;this.method='post'};this.parameters=params;if(params=Object.toQueryString(params))if(this.method=='get'){this.url+=(this.url.include('?')?'&':'?')+params}else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))params+='&_=';try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)this.onStateChange()}catch(e){this.dispatchException(e)}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))this.respondToReadyState(this.transport.readyState)},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,Accept:'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)headers.Connection='close'};if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push)){for(var i=0,length=extras.length;i<length;i+=2)headers[extras[i]]=extras[i+1]}else $H(extras).each(function(pair){headers[pair.key]=pair.value})};for(var name in headers)this.transport.setRequestHeader(name,headers[name])},success:function(){var status=this.getStatus();return !status||(status>=200&&status<300)},getStatus:function(){try{return this.transport.status||0}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON)}catch(e){this.dispatchException(e)};var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))this.evalResponse()};try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON)}catch(e){this.dispatchException(e)};if(state=='Complete')this.transport.onreadystatechange=Prototype.emptyFunction},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return !m||(m[0]=='#{protocol}//#{domain}#{port}'.interpolate({protocol:location.protocol,domain:document.domain,port:location.port?':'+location.port:''}))},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception)}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON()};if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON()}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||''}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))||this.responseText.blank())return null;try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,json)}).bind(this);$super(url,options)},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver))if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion)}else options.insertion(receiver,responseText)}else receiver.update(responseText)}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText};this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}})
function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)elements.push($(arguments[i]));return elements};if(Object.isString(element))element=document.getElementById(element);return Element.extend(element)};if(Prototype.BrowserFeatures.XPath)document._getElementsByXPath=function(expression,parentElement){var results=[],query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)results.push(Element.extend(query.snapshotItem(i)));return results};if(!window.Node)var Node={};if(!Node.ELEMENT_NODE)Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes)};if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes)};Object.extend(this.Element,element||{})}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none'},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element},hide:function(element){$(element).style.display='none';return element},show:function(element){$(element).style.display='';return element},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element},replace:function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts())};element.parentNode.replaceChild(content,element);return element},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))insertions={bottom:insertions};var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){insert(element,content);continue};content=Object.toHTML(content);tagName=((position=='before'||position=='after')?element.parentNode:element).tagName.toUpperCase();childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=='top'||position=='after')childNodes.reverse();childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer()};return element},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper)){$(wrapper).writeAttribute(attributes||{})}else if(Object.isString(wrapper)){wrapper=new Element(wrapper,attributes)}else wrapper=new Element('div',wrapper);if(element.parentNode)element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({id:'id',className:'class'}).each(function(pair){var property=pair.first(),attribute=pair.last(),value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true)});return result+'>'},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])if(element.nodeType==1)elements.push(Element.extend(element));return elements},ancestors:function(element){return $(element).recursivelyCollect('parentNode')},descendants:function(element){return $(element).select("*")},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element)},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[]},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling')},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling')},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings())},match:function(element,selector){if(Object.isString(selector))selector=new Selector(selector);return selector.match($(element))},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index)},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();return Object.isNumber(expression)?element.descendants()[expression]:element.select(expression)[index||0]},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index)},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index)},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args)},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element)},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+ self.counter++}while($(id));element.writeAttribute('id',id);return id},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':'))return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value};return element.getAttribute(name)},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object'){attributes=name}else attributes[name]=Object.isUndefined(value)?true:value;for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null){element.removeAttribute(name)}else if(value===true){element.setAttribute(name,name)}else element.setAttribute(name,value)};return element},getHeight:function(element){return $(element).getDimensions().height},getWidth:function(element){return $(element).getDimensions().width},classNames:function(element){return new Element.ClassNames(element)},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)))},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className))element.className+=(element.className?' ':'')+className;return element},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className)},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))element.removeChild(node);node=nextNode};return element},empty:function(element){return $(element).innerHTML.blank()},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);var originalAncestor=ancestor;if(element.compareDocumentPosition)return(element.compareDocumentPosition(ancestor)&8)===8;if(element.sourceIndex&&!Prototype.Browser.Opera){var e=element.sourceIndex,a=ancestor.sourceIndex,nextAncestor=ancestor.nextSibling;if(!nextAncestor)do{ancestor=ancestor.parentNode}while(!(nextAncestor=ancestor.nextSibling)&&ancestor.parentNode);if(nextAncestor&&nextAncestor.sourceIndex)return(e>a&&e<nextAncestor.sourceIndex)};while(element=element.parentNode)if(element==originalAncestor)return true;return false},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null};if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value},getOpacity:function(element){return $(element).getStyle('opacity')},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=';'+styles;return styles.include('opacity')?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element};for(var property in styles)if(property=='opacity'){element.setOpacity(styles[property])}else elementStyle[(property=='float'||property=='cssFloat')?(Object.isUndefined(elementStyle.styleFloat)?'cssFloat':'styleFloat'):property]=styles[property];return element},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null)return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style,originalVisibility=els.visibility,originalPosition=els.position,originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth,originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight}},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0}};return element},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right=''};return element},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=Element.getStyle(element,'overflow')||'auto';if(element._overflow!=='hidden')element.style.overflow='hidden';return element},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p!=='static')break}}while(element);return Element._returnOffset(valueL,valueT)},absolutize:function(element){element=$(element);if(element.getStyle('position')=='absolute')return;var offsets=element.positionedOffset(),top=offsets[1],left=offsets[0],width=element.clientWidth,height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';return element},relativize:function(element){element=$(element);if(element.getStyle('position')=='relative')return;element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0),left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode}while(element);return Element._returnOffset(valueL,valueT)},getOffsetParent:function(element){if(element.offsetParent)return $(element.offsetParent);if(element==document.body)return $(element);while((element=element.parentNode)&&element!=document.body)if(Element.getStyle(element,'position')!='static')return $(element);return $(document.body)},viewportOffset:function(forElement){var valueT=0,valueL=0,element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,'position')=='absolute')break}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||element.tagName=='BODY'){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT)},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});source=$(source);var p=source.viewportOffset();element=$(element);var delta=[0,0],parent=null;if(Element.getStyle(element,'position')=='absolute'){parent=element.getOffsetParent();delta=parent.viewportOffset()};if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop};if(options.setLeft)element.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)element.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)element.style.width=source.offsetWidth+'px';if(options.setHeight)element.style.height=source.offsetHeight+'px';return element}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:'class',htmlFor:'for'},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case'left':case'top':case'right':case'bottom':if(proceed(element,'position')==='static')return null;case'height':case'width':if(!Element.visible(element))return null;var dim=parseInt(proceed(element,style),10);if(dim!==element['offset'+style.capitalize()])return dim+'px';var properties;if(style==='height'){properties=['border-top-width','padding-top','padding-bottom','border-bottom-width']}else properties=['border-left-width','padding-left','padding-right','border-right-width'];return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10)})+'px';default:return proceed(element,style)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==='title')return element.title;return proceed(element,attribute)})}else if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value});$w('positionedOffset viewportOffset').each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);var offsetParent=element.getOffsetParent();if(offsetParent&&offsetParent.getStyle('position')==='fixed')offsetParent.setStyle({zoom:1});element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value})});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))if(value[1])return parseFloat(value[1])/100;return 1.0};if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))return element['offset'+style.capitalize()]+'px';return null};return value};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,'')};element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=='normal'))element.style.zoom=1;var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute('filter');return element}else if(value<0.00001)value=0;style.filter=stripAlpha(filter)+'alpha(opacity='+(value*100)+')';return element};Element._attributeTranslations={read:{names:{'class':'className','for':'htmlFor'},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2)},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:""},_getEv:function(element,attribute){attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null},style:function(element){return element.style.cssText.toLowerCase()},title:function(element){return element.title}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:'cellPadding',cellspacing:'cellSpacing'},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value},style:function(element,value){element.style.cssText=value?value:''}}};Element._attributeTranslations.has={};$w('colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc').each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv})})(Element._attributeTranslations.read.values)}else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element}}else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;if(value==1)if(element.tagName=='IMG'&&element.width){element.width++;element.width--}else try{var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n)}catch(e){};return element};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)}};if(Prototype.Browser.IE||Prototype.Browser.Opera)Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)})}else element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element};if('outerHTML' in document.createElement('div'))Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element};content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next(),fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling){fragments.each(function(node){parent.insertBefore(node,nextSibling)})}else fragments.each(function(node){parent.appendChild(node)})}else element.outerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element};Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element('div'),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild})}else div.innerHTML=html;return $A(div.childNodes)};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element)},top:function(element,node){element.insertBefore(node,element.firstChild)},bottom:function(element,node){element.appendChild(node)},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling)},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD})}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return node&&node.specified}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true};Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag,extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName,property,value;if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element))element[property]=value.methodize()};element._extendedByPrototype=Prototype.emptyFunction;return element},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated)}}});extend.refresh();return extend})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute)};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})};if(arguments.length==2){var tagName=methods;methods=arguments[1]};if(!tagName){Object.extend(Element.Methods,methods||{})}else if(Object.isArray(tagName)){tagName.each(extend)}else extend(tagName)
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods)}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))destination[property]=value.methodize()}}
function findDOMClass(tagName){var klass,trans={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass]};if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true)};if(F.SpecificElementExtensions)for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype)};Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={}};document.viewport={getDimensions:function(){var dimensions={},B=Prototype.Browser;$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=(B.WebKit&&!document.evaluate)?self['inner'+D]:(B.Opera)?document.body['client'+D]:document.documentElement['client'+D]});return dimensions},getWidth:function(){return this.getDimensions().width},getHeight:function(){return this.getDimensions().height},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();this.compileMatcher()},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath)return false;var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty")))return false;if((/(\[[\w-]*?:|:checked)/).test(this.expression))return false;return true},compileMatcher:function(){if(this.shouldUseXPath())return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return};this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break}}};this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return};this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps)if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break}};this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root)},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions,le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p))if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'')}else return this.findElements(document).include(element)}};var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break}};return match},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m)},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m)},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m)},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]',empty:"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",checked:"[@checked]",disabled:"[@disabled]",enabled:"[not(@disabled)]",not:function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v,exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p)if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break}};return"[not("+exclusion.join(" and ")+")]"},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m)},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m)},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m)},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m)},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m)},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m)},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m)},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/))return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1,b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m)},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase()},className:function(element,matches){return Element.hasClassName(element,matches[1])},id:function(element,matches){return element.id===matches[1]},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1])},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6])}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)a.push(node);return a},mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++)node._countedByPrototype=_true;return nodes},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)node._countedByPrototype=undefined;return nodes},index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++}}else for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)if(!(n=nodes[i])._countedByPrototype){n._countedByPrototype=Prototype.emptyFunction;results.push(Element.extend(n))};return Selector.handlers.unmark(results)},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)h.concat(results,node.getElementsByTagName('*'));return results},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)for(var j=0,child;child=node.childNodes[j];j++)if(child.nodeType==1&&child.tagName!='!')results.push(child);return results},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next)};return results},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)h.concat(results,Element.nextSiblings(node));return results},nextElementSibling:function(node){while(node=node.nextSibling)if(node.nodeType==1)return node;return null},previousElementSibling:function(node){while(node=node.previousSibling)if(node.nodeType==1)return node;return null},tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase(),results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)h.concat(results,node.getElementsByTagName(tagName));return results}else nodes=this[combinator](nodes);if(tagName=="*")return nodes};for(var i=0,node;node=nodes[i];i++)if(node.tagName.toUpperCase()===uTagName)results.push(node);return results}else return root.getElementsByTagName(tagName)},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode)return[];if(!nodes&&root==document)return[targetNode];if(nodes){if(combinator)if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)if(targetNode.parentNode==node)return[targetNode]}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)if(Element.descendantOf(targetNode,node))return[targetNode]}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)if(Selector.handlers.previousElementSibling(targetNode)==node)return[targetNode]}else nodes=h[combinator](nodes);for(var i=0,node;node=nodes[i];i++)if(node==targetNode)return[targetNode];return[]};return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[]},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className)},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))results.push(node)};return results},attrPresence:function(nodes,root,attr,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var results=[];for(var i=0,node;node=nodes[i];i++)if(Element.hasAttribute(node,attr))results.push(node);return results},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node)};return results},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root)}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node)};return results},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node)};return results},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))results.push(node);return results},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root)},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true)},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true)},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true)},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true)},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true)},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root)},getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo})},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++)if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode)};if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++)if(node.nodeIndex==formula)results.push(node)}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1,b=m[2]?Number(m[2]):0,indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++)for(var j=0;j<l;j++)if(node.nodeIndex==indices[j])results.push(node)};h.unmark(nodes);h.unmark(indexed);return results},empty:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=='!'||(node.firstChild&&!node.innerHTML.match(/^\s*$/)))continue;results.push(node)};return results},not:function(nodes,selector,root){var h=Selector.handlers,selectorType,m,exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)if(!node._countedByPrototype)results.push(node);h.unmark(exclusions);return results},enabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)if(!node.disabled)results.push(node);return results},disabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)if(node.disabled)results.push(node);return results},checked:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)if(node.checked)results.push(node);return results}},operators:{'=':function(nv,v){return nv==v},'!=':function(nv,v){return nv!=v},'^=':function(nv,v){return nv.startsWith(v)},'$=':function(nv,v){return nv.endsWith(v)},'*=':function(nv,v){return nv.include(v)},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ')},'|=':function(nv,v){return('-'+nv.toUpperCase()+'-').include('-'+v.toUpperCase()+'-')}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip())});return expressions},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)if(element._countedByPrototype)results.push(element);h.unmark(matches);return results},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false};return Selector.matchElements(elements,expression||'*')[index||0]},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(','));var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element))};return(l>1)?h.unique(results):results}});if(Prototype.Browser.IE)Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++)if(node.tagName!=="!")a.push(node);return a},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)node.removeAttribute('_countedByPrototype');return nodes}})
function $$(){return Selector.findChildElements(document,$A(arguments))};var Form={reset:function(form){$(form).reset();return form},serializeElements:function(elements,options){if(typeof options!='object'){options={hash:!!options}}else if(Object.isUndefined(options.hash))options.hash=true;var key,value,submitted=false,submit=options.submit,data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true))))if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value)}else result[key]=value};return result});return options.hash?data:Object.toQueryString(data)}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options)},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])elements.push(Element.extend(child));return elements})},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))continue;matchingInputs.push(Element.extend(input))};return matchingInputs},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled}),firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase())})},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params)};if(form.hasAttribute('method')&&!options.method)options.method=form.method;return new Ajax.Request(action,options)}};Form.Element={focus:function(element){$(element).focus();return element},select:function(element){$(element).select();return element}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair)}};return''},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element)},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element},clear:function(element){$(element).value='';return element},present:function(element){return $(element).value!=''},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))element.select()}catch(e){};return element},disable:function(element){element=$(element);element.blur();element.disabled=true;return element},enable:function(element){element=$(element);element.disabled=false;return element}};var Field=Form.Element,$F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value)}},inputSelector:function(element,value){if(Object.isUndefined(value)){return element.checked?element.value:null}else element.checked=!!value},textarea:function(element,value){if(Object.isUndefined(value)){return element.value}else element.value=value},select:function(element,index){if(Object.isUndefined(index)){return this[element.type=='select-one'?'selectOne':'selectMany'](element)}else{var opt,value,single=!Object.isArray(index);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];value=this.optionValue(opt);if(single){if(value==index){opt.selected=true;return}}else opt.selected=index.include(value)}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt))};return values},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue()},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form'){this.registerFormCallbacks()}else this.registerCallback(this.element)},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(element){if(element.type)switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});if(!window.Event)var Event={};Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case'mouseover':element=event.fromElement;break;case'mouseout':element=event.toElement;break;default:return null};return Element.extend(element)}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code]}}else if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false}}}else isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code)};return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){var node=Event.extend(event).target;return Element.extend(node.nodeType==Node.TEXT_NODE?node.parentNode:node)},findElement:function(event,expression){var element=Event.element(event);if(!expression)return element;var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0)},pointer:function(event){return{x:event.pageX||(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop))}},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true}}})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event)return false;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,methods);return Prototype.K}})();Object.extend(Event,(function(){var cache=Event.cache
function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id]}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";return eventName}
function getCacheForID(id){return cache[id]=cache[id]||{}}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[]}
function createWrapper(element,eventName,handler){var id=getEventID(element),c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))return false;Event.extend(event);handler.call(element,event)};wrapper.handler=handler;c.push(wrapper);return wrapper}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler})}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler))}
function destroyCache(){for(var id in cache)for(var eventName in cache[id])cache[id][eventName]=null};if(window.attachEvent)window.attachEvent("onunload",destroyCache);return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName),wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false)}else element.attachEvent("on"+name,wrapper);return element},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler)});return element}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName)});return element};var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false)}else element.detachEvent("on"+name,wrapper);destroyWrapper(id,eventName,handler);return element},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true)}else{event=document.createEventObject();event.eventType="ondataavailable"};event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event)}else element.fireEvent(event.eventType,event);return Event.extend(event)}}})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var timer
function fireContentLoadedEvent(){if(document.loaded)return;if(timer)window.clearInterval(timer);document.fire("dom:loaded");document.loaded=true};if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState))fireContentLoadedEvent()},0);Event.observe(window,"load",fireContentLoadedEvent)}else document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false)}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent()}}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content})},Top:function(element,content){return Element.insert(element,{top:content})},Bottom:function(element,content){return Element.insert(element,{bottom:content})},After:function(element,content){return Element.insert(element,{after:content})}},$continue=new Error('"throw $continue" is deprecated, use "return" instead'),Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},within:function(element,x,y){if(this.includeScrollOffsets)return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth)},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth)},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element)},relativize:function(element){Position.prepare();return Element.relativize(element)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options)}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]"};instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[]}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++)if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return !name.toString().blank()&&cn.include(' '+name+' ')}))))elements.push(Element.extend(child));return elements};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className)}}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element)},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0})._each(iterator)},set:function(className){this.element.className=className},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '))},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '))},toString:function(){return $A(this).join(' ')}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods()

String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(','),i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3)}else if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase()};return(color.length==7?color:(arguments[0]||this))};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''))}).flatten().join('')};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''))}).flatten().join('')};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element};Element.getInlineOpacity=function(element){return $(element).style.opacity||''};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n)}catch(e){}};Array.prototype.call=function(){var args=arguments;this.each(function(f){f.apply(this,args)})};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(element){if(typeof Builder=='undefined')throw ("Effect.tagifyText requires including script.aculo.us' builder.js library");var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(Builder.node('span',{style:tagifyStyle},character==' '?String.fromCharCode(160):character),child)});Element.remove(child)}})},multiple:function(element,effect){var elements;if(((typeof element=='object')||(typeof element=='function'))&&(element.length)){elements=element}else elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{}),masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}))})},PAIRS:{slide:['SlideDown','SlideUp'],blind:['BlindDown','BlindUp'],appear:['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options)}},Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5},reverse:function(pos){return 1-pos},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;return(pos>1?1:pos)},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5},pulse:function(pos,pulses){pulses=pulses||5;return(Math.round((pos%(1/pulses))*pulses)==0?((pos*pulses*2)-Math.floor(pos*pulses*2)):1-((pos*pulses*2)-Math.floor(pos*pulses*2)))},none:function(pos){return 0},full:function(pos){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(iterator){this.effects._each(iterator)},add:function(effect){var timestamp=new Date().getTime(),position=(typeof effect.options.queue=='string')?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break};effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))this.effects.push(effect);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)this.effects[i]&&this.effects[i].loop(timePos)}});Effect.Queues={instances:$H(),get:function(queueName){if(typeof queueName!='string')return queueName;if(!this.instances[queueName])this.instances[queueName]=new Effect.ScopedQueue();return this.instances[queueName]}};Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+'Internal']?'this.options.'+eventName+'Internal(this);':'')+(options[eventName]?'this.options.'+eventName+'(this);':''))};if(options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if(this.state=="idle"){this.state="running";'+codeForEvent(options,'beforeSetup')+(this.setup?'this.setup();':'')+codeForEvent(options,'afterSetup')+'};if(this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';this.position=pos;'+codeForEvent(options,'beforeUpdate')+(this.update?'this.update(pos);':'')+codeForEvent(options,'afterUpdate')+'}}');this.event('beforeStart');if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this)},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return};var pos=(timePos-this.startOn)/this.totalTime,frame=Math.round(pos*this.totalFrames);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame}}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished'},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this)},inspect:function(){var data=$H();for(property in this)if(typeof this[property]!='function')data[property]=this[property];return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>'}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(effects){this.effects=effects||[];this.start(arguments[1])},update:function(position){this.effects.invoke('render',position)},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish')})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var options=Object.extend({duration:0},arguments[0]||{});this.start(options)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw (Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options)},update:function(position){this.element.setOpacity(position)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw (Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(position){this.element.setStyle({left:Math.round(this.options.x*position+this.originalLeft)+'px',top:Math.round(this.options.y*position+this.originalTop)+'px'})}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(element,percent){this.element=$(element);if(!this.element)throw (Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale)},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=Math.round(width)+'px';if(this.options.scaleY)d.height=Math.round(height)+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2,leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px'}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px'}};this.element.setStyle(d)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw (Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options)},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return};this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'})};if(!this.options.endcolor)this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{})},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta))}});Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity(),options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity})}},arguments[1]||{});return new Effect.Opacity(element,options)};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering()},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show()}},arguments[1]||{});return new Effect.Opacity(element,options)};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element)},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle)}},arguments[1]||{}))};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show()},afterFinishInternal:function(effect){effect.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping()},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity})}})}},arguments[1]||{}))};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned()},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle)}},arguments[1]||{}))};Effect.Shake=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:20,y:0,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle)}})}})}})}})}})}})};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom'),elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show()},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'})},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom})}},arguments[1]||{}))};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show()},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'})},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({bottom:oldInnerBottom});effect.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping()},afterFinishInternal:function(effect){effect.element.hide().undoClipping()}})};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{}),oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()},dims=element.getDimensions(),initialMoveX,initialMoveY,moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break};return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show()},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle)}},options))}})};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{}),oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()},dims=element.getDimensions(),moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break};return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle)}},options))};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{},oldOpacity=element.getInlineOpacity(),transition=options.transition||Effect.Transitions.sinoidal,reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity})}},options),{transition:reverser}))};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw (Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(typeof options.style=='string'){if(options.style.indexOf(':')==-1){var cssText='',selector='.'+options.style;$A(document.styleSheets).reverse().each(function(styleSheet){if(styleSheet.cssRules){cssRules=styleSheet.cssRules}else if(styleSheet.rules)cssRules=styleSheet.rules;$A(cssRules).reverse().each(function(rule){if(selector==rule.selectorText){cssText=rule.style.cssText;throw $break}});if(cssText)throw $break});this.style=cssText.parseStyle();options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){if(transform.style!='opacity')effect.element.style[transform.style]=''})}}else this.style=options.style.parseStyle()}else this.style=$H(options.style);this.start(options)},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)})};this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color'}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null};var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit}}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))})},update:function(position){var style={},transform,i=this.transforms.length;while(i--)style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+(Math.round(transform.originalValue[0]+(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+(Math.round(transform.originalValue[1]+(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+(Math.round(transform.originalValue[2]+(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():transform.originalValue+Math.round(((transform.targetValue-transform.originalValue)*position)*1000)/1000+transform.unit;this.element.setStyle(style,true)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks)},addTracks:function(tracks){tracks.each(function(track){var data=$H(track).values().first();this.tracks.push($H({ids:$H(track).keys().first(),effect:Effect.Morph,options:{style:data}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var elements=[$(track.ids)||$$(track.ids)].flatten();return elements.map(function(e){return new track.effect(e,Object.extend({sync:true},track.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var element=document.createElement('div');element.innerHTML='<div style="'+this+'"></div>';var style=element.childNodes[0].style,styleRules=$H();Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules[property]=style[property]});if(Prototype.Browser.IE&&this.indexOf('opacity')>-1)styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];return styleRules};Element.morph=function(element,style){new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element};['getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f]});Element.Methods.visualEffect=function(element,effect,options){s=effect.dasherize().camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element)};Element.addMethods()

if(typeof Effect=='undefined')throw ("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)})},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if((typeof containment=='object')&&(containment.constructor==Array)){containment.each(function(c){options._containers.push($(c))})}else options._containers.push($(containment))};if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options)},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)if(Element.isParent(drops[i].element,deepest.element))deepest=drops[i];return deepest},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode}else containmentNode=element.parentNode;return drop._containers.detect(function(c){return containmentNode==c})},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]))},deactivate:function(drop){if(drop.hoverclass)Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null},activate:function(drop){if(drop.hoverclass)Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop},show:function(point,element){if(!this.drops.length)return;var affected=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))affected.push(drop)});if(affected.length>0){drop=Droppables.findDeepestChild(affected);Position.within(drop.element,point[0],point[1]);if(drop.onHover)drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));Droppables.activate(drop)}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true}},reset:function(){if(this.last_active)this.deactivate(this.last_active)}},Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)};this.drags.push(draggable)},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable}.bind(this),draggable.options.delay)}else{window.focus();this.activeDraggable=draggable}},deactivate:function(){this.activeDraggable=null},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer)},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null};if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null},keyPress:function(event){if(this.activeDraggable)this.activeDraggable.keyPress(event)},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks()},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks()},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event)});if(draggable.options[eventName])draggable.options[eventName](draggable,event)},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName]}).length})}},Draggable=Class.create();Draggable._dragging={};Draggable.prototype={initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}})},endeffect:function(element){var toOpacity=typeof element._opacity=='number'?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}})},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||typeof arguments[1].endeffect=='undefined')Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7})}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&(typeof options.handle=='string'))this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll)};Element.makePositioned(this.element);this.delta=this.currentDelta();this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')])},initDrag:function(event){if(typeof Draggable._dragging[this.element]!='undefined'&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)],pos=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event)}},startDrag:function(event){this.dragging=true;if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex};if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.addClassName('ghost');this.element.parentNode.insertBefore(this._clone,this.element)};if(this.options.scroll)if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop};Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element)},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element)};Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll))p=[left,top,left+width,top+height]}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)};var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed)};if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event)},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element)};if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null;this.element.removeClassName('ghost')};var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false};if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&typeof revert=='function')revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0])}else this.delta=d;if(this.options.zindex)this.element.style.zIndex=this.originalZ;if(this.options.endeffect)this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event)},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event)},draw:function(point){var pos=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY};var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop};var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap)if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this)}else if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this));var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date(),delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll))if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000};Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)};if(this.options.change)this.options.change(this)},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft};if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}};return{top:T,left:L,width:W,height:H}}};var SortableObserver=Class.create();SortableObserver.prototype={initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))this.observer(this.element)}};var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_-](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id]},destroy:function(element){var s=Sortable.options(element);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id]}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,constraint:options.constraint,handle:options.handle};if(options.starteffect)options_for_draggable.starteffect=options.starteffect;if(options.reverteffect){options_for_draggable.reverteffect=options.reverteffect}else if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0};if(options.endeffect)options_for_draggable.endeffect=options.endeffect;if(options.zindex)options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover},options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass};Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element)};(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).getElementsByClassName(options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e)});if(options.tree)(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e)});this.sortables[element.id]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate))},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag)},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag)},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element)}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element)}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode,droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index,children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only}),child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1)if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap)}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break}else{child=children[index];break}};dropon.insertBefore(element,child);Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element)}},unmark:function(){if(Sortable._marker)Sortable._marker.hide()},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)};var offsets=Position.cumulativeOffset(dropon);Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')if(sortable.overlap=='horizontal'){Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'})}else Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show()},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)};if(child.container)this._tree(child.container,options,child);parent.children.push(child)};return parent},tree:function(element){element=$(element);var sortableOptions=this.options(element),options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{}),root={id:null,parent:null,children:[],container:element,position:0};return Sortable._tree(element,options,root)},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index}while((node=node.parent)!=null);return index},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:''})},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{}),nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n)});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident]}})},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{}),name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+encodeURIComponent(item.id)].concat(item.children.map(arguments.callee))}).flatten().join('&')}else return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item)}).join('&')}};Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element)};Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren)}});return(elements.length>0?elements.flatten():[])};Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')]}

function contentInLayer(targets){if(!jscss('check',DOMQuery.prototype.scope,'lightbox-content'))addEventToTargets(targets,'click',_contentInLayer,'a[rel^="layer"]')}
function _contentInLayer(e){var rel=this.getAttribute('rel')&&this.getAttribute('rel').match(/layer\[([^\]]+)\]/i),className='layer'+(rel&&rel.length?'-'+rel[1]:''),id;if(this.id){id='layer-'+this.id}else if(this.className){id='layer-'+this.className.replace(/\s/,'-')}else id=(this.pathname+this.search).replace(/[^a-z]+/g,'-').replace(/^-*|-*$/,'');var specificElement='div#core',container,onSubmitCallback;if(typeof _contentInLayerCallback=='function'){var result=_contentInLayerCallback(this,id,rel);if(result===false){e.preventDefault();return}else if(result){specificElement=result.specificElement;container=result.container;onSubmitCallback=result.onSubmitCallback;updateType=result.updateType}};if(!container){if(!id.length)return false;if(toggleLightbox(id)){e.preventDefault();return};container=createDOMNode('div',{'class':'lightbox-content loading'},[createDOMNode('span',{'class':'clickable close',id:'close',event:['click',toggleLightbox]},['Sluit venster'])]);var lightbox=createLightbox(container,id,className);jscss('add',lightbox,'request-running')};e.preventDefault();var pathname,href;if(isIE6||isWebKit){if(isIE6){href=this.getAttribute('href',2)}else href=this.href;hrefParts=href.match(/^(?:https?:\/\/[^\/]+)?(\/?[^?]*)/);pathname=hrefParts[1];if(isIE6)pathname=pathname.substring(1)}else pathname=this.pathname;var req=httpreq_string(this.search.substr(1),null,(isIE?'/':'')+pathname,true,'GET'),invoker=this;jscss('add',invoker,'request-active');req.onreadystatechange=function(){if(req.readyState!=4)return;jscss('remove',invoker,'request-running');if(lightbox)jscss('remove',lightbox,'request-running');if(req.getResponseHeader('X-Errormessage')){handleXErrorMessage(req.getResponseHeader('X-Errormessage'),container);return};var element=getElementFromXHR(req,specificElement);if(!element){if(lightbox)toggleLightbox(id);document.location.href=invoker.href;return};var form=new DOMQuery('form.primary-input',element).get(0);if(!form&&element.tagName.toLowerCase()=='form')form=element;if(form){var eventTarget=form;if(form.addEventListener)var eventTarget=element;if(eventTarget.tagName=='form'||typeof eventTarget.__preventDefaultHandler=='undefined'){addEvent.eventListenerUseCapture=true;addEvent(eventTarget,'submit',function(e){e.__preventDefault=e.preventDefault;e.preventDefault=function(){e.defaultPrevented=true;e.__preventDefault()}});addEvent.eventListenerUseCapture=false;eventTarget.__preventDefaultHandler=true};var previewButton=new DOMQuery('input[name="data[preview]"]',element).get(0),previewButtonPressed=false;if(previewButton)addEvent(previewButton,'click',function(e){previewButtonPressed=true});var onsubmit=function(e){if(e.defaultPrevented)return false;jscss('add',invoker,'request-running');if(previewButtonPressed)return true;var processResult=function(transport,error){jscss('remove',invoker,'request-running');if(error){handleXErrorMessage(error,container);return};var callbackResult={removeForm:true,toggleLightbox:true};if(onSubmitCallback){tmpCallbackResult=onSubmitCallback(transport,container,invoker);if(typeof tmpCallbackResult=="object")callbackResult=tmpCallbackResult};if(callbackResult.removeForm)form.parentNode.removeChild(form);if(lightbox&&callbackResult.toggleLightbox)toggleLightbox(id,true);jscss('add',invoker,'request-completed');setTimeout(function(){jscss('remove',invoker,'request-completed');jscss('remove',invoker,'request-active')},5000)},request=gatherHttpForm(this);if(request){var updatereq=httpreq_string(request,null,null,false);processResult(updatereq,updatereq.getResponseHeader('X-Errormessage'));e.preventDefault()}else{var iframeName='iframe-xhr-emulator-'+new Date().getTime(),oldIframe=new DOMQuery('iframe.iframe-xhr-emulator').get(0);if(oldIframe)oldIframe.parentNode.removeChild(oldIframe);if(isIE){var ieHelper=createDOMNode('div',{},[]);ieHelper.innerHTML='<iframe name="'+iframeName+'" id="'+iframeName+'" src="about:blank" class="display-none iframe-xhr-emulator"></iframe>';document.body.appendChild(ieHelper);ieHelper.firstChild.onreadystatechange=function(){if(this.readyState=='complete')processResult(this.contentWindow,parent.frames[iframeName].error_message)}}else document.body.appendChild(createDOMNode('iframe',{'class':'display-none iframe-xhr-emulator',name:iframeName,id:iframeName,event:['load',function(){processResult(this.contentDocument,window.frames[iframeName].error_message)}]},[]));this.target=iframeName;this.setAttribute('target',iframeName);this.appendChild(createDOMNode('input',{type:'hidden',name:'dont_meta_refresh',value:'1'},[]));return}};addEvent(form,'submit',onsubmit)};if(typeof updateType=='string'&&updateType=='replace'){var extraAction=jscss('check',container,'extra-actions');if(extraAction){var x=container.lastChild;if(x&&x.tagName.toLowerCase()=='form'){container.replaceChild(element,x);container=element.parentNode}else container.appendChild(element)}else{var myparent=getSiblingNode(container,'up');myparent.replaceChild(element,container);container=element}}else container.appendChild(element);if(!e.inline&&!extraAction)jscss('add',document.body,'displaying-lightbox');var scripts=new DOMQuery('script[type="text/javascript"]',container);for(var i=0,script;(script=scripts.get(i));i++)if(script.getAttribute('src')==null||script.getAttribute('src')=='')eval(script.innerHTML);_init(events,container);jscss('remove',container,'loading')};e.preventDefault()}
function handleXErrorMessage(error,container){alert(error)}
function gatherHttpForm(form){var items=form.elements,str=[];for(var i=0,item;(item=items[i]);i++){if(item.disabled)continue;switch(item.tagName.toLowerCase()){case'input':switch(item.type){case'text':case'hidden':case'password':str.push(encodeURIComponent(item.name)+'='+encodeURIComponent(item.value));break;case'radio':case'checkbox':if(item.checked)str.push(encodeURIComponent(item.name)+'='+encodeURIComponent(item.value));break;case'file':if(item.value)return;break};break;case'select':if(item.selectedIndex>-1)str.push(encodeURIComponent(item.name)+'='+encodeURIComponent(item.options[item.selectedIndex].value));break;case'textarea':str.push(encodeURIComponent(item.name)+'='+encodeURIComponent(item.value));break}};return str.join('&')}
function httpreq_xml(request,callback,url,async){var xmlurl=url||board_script_url+'/../xml_input.php',xmlParser,xmlDocument,req;if(window.XMLHttpRequest){if(typeof DOMParser=="undefined")return false;req=new XMLHttpRequest();xmlParser=new DOMParser();xmlDocument=xmlParser.parseFromString(request,'text/xml')}else if(window.ActiveXObject){req=new ActiveXObject("MSXML2.XMLHTTP.3.0");xmlDocument=new ActiveXObject('Msxml2.DOMDocument.3.0');xmlDocument.async=false;xmlDocument.loadXML(request)};xmlDocument.insertBefore(xmlDocument.createProcessingInstruction("xml","version='1.0'"),xmlDocument.firstChild);if(callback)req.onreadystatechange=callback;req.open("POST",xmlurl,(typeof async=="boolean"?async:true));if(window.XMLHttpRequest)req.setRequestHeader('Content-Type','text/xml; utf-8');req.send(request);return req}
function httpreq_string(request,callback,url,async,method){var req,xmlurl=url||board_script_url;method=method||"POST";async=(typeof async=="boolean"?async:true);if(window.XMLHttpRequest){req=new XMLHttpRequest()}else if(window.ActiveXObject)req=new ActiveXObject("MSXML2.XMLHTTP.3.0");if(callback)req.onreadystatechange=callback;if(req.overrideMimeType)req.overrideMimeType('text/xml');request+='&dont_meta_refresh=1'+(isIE?'&'+new Date().getTime():'');if(method=="GET"){req.open(method,xmlurl+'?'+request,async);req.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8');req.send(null)}else{req.open(method,xmlurl,async);req.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8');req.send(request)};return req}
function getElementFromXHR(transport,selector,container){container=container||document.body;var root;if(isWebKit||!transportHasValidResponseXML(transport)||isIE){root=document.createElement('div');root.innerHTML=transport.responseText;if(DOMQuery.prototype.resultType=='getElementsBySelector'&&selector.match(/#/)){document.appendChild(root);var cleanup=true}}else root=transport.responseXML;var element=new DOMQuery(selector,root).get(0);if(cleanup)document.removeChild(root);if(!element)return;if(isWebKit||!transportHasValidResponseXML(transport)||isIE)return element;var _element;try{_element=container.ownerDocument.adoptNode(element,true)}catch(e){_element=container.ownerDocument.importNode(element,true)};return container.namespaceURI==_element.namespaceURI?_element:importNodeCurrentNS(_element)}
function transportHasValidResponseXML(transport){if(typeof transport.responseXML!='undefined'||transport.responseXML.firstChild.tagName=='parsererror'||transport.responseXML.documentElement==null||transport.responseXML.documentElement=='undefined')return false;return true}
function importNodeCurrentNS(node){var clone;switch(node.nodeType){default:case 8:return;case 3:return document.createTextNode(node.nodeValue);case 1:clone=document.createElement(node.tagName)};for(var i=0,attribute;(attribute=node.attributes[i]);i++)clone.setAttribute(attribute.name,attribute.value);for(var j=0,subNode,importedSubNode;(subNode=node.childNodes[j]);j++){importedSubNode=arguments.callee(node.childNodes[j]);if(importedSubNode)clone.appendChild(importedSubNode)};return clone}

Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;)ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;)ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);Calendar._SMN=ar}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0,is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y};return r};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement}else if(type=="mouseout")related=evt.toElement};while(related){if(related==el)return true;related=related.parentNode};return false};Calendar.removeClass=function(el,className){if(!(el&&el.className))return;var cls=el.className.split(" "),ar=new Array();for(var i=cls.length;i>0;)if(cls[--i]!=className)ar[ar.length]=cls[i];el.className=ar.join(" ")};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false}else{ev.preventDefault();ev.stopPropagation()};return false};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func)}else if(el.addEventListener){el.addEventListener(evname,func,true)}else el["on"+evname]=func};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func)}else if(el.removeEventListener){el.removeEventListener(evname,func,true)}else el["on"+evname]=null};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type)}else el=document.createElement(type);if(typeof parent!="undefined")parent.appendChild(el);return el};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true)}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el}else if(typeof el.parentNode.month!="undefined")return el.parentNode;return null};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el}else if(typeof el.parentNode.year!="undefined")return el.parentNode;return null};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal)return false;var cal=cal,cd=cal.activeDiv,mc=cal.monthsCombo;if(cal.hilitedMonth)Calendar.removeClass(cal.hilitedMonth,"hilite");if(cal.activeMonth)Calendar.removeClass(cal.activeMonth,"active");var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0){s.left=cd.offsetLeft+"px"}else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px"};s.top=(cd.offsetTop+cd.offsetHeight)+"px"};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal)return false;var cal=cal,cd=cal.activeDiv,yc=cal.yearsCombo;if(cal.hilitedYear)Calendar.removeClass(cal.hilitedYear,"hilite");if(cal.activeYear)Calendar.removeClass(cal.activeYear,"active");cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1),yr=yc.firstChild,show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true}else yr.style.display="none";yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep};if(show){var s=yc.style;s.display="block";if(cd.navtype<0){s.left=cd.offsetLeft+"px"}else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px"};s.top=(cd.offsetTop+cd.offsetHeight)+"px"}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal)return false;if(cal.timeout)clearTimeout(cal.timeout);var el=cal.activeDiv;if(!el)return false;var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el)Calendar.cellClick(el,ev);var mon=Calendar.findMonth(target),date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}};with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev)}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal)return;var el=cal.activeDiv,target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite")}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite")};ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el),w=el.offsetWidth,x=ev.clientX,dx,decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range,current=el._current,count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime()};var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth)Calendar.removeClass(cal.hilitedMonth,"hilite");Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon}else if(cal.hilitedMonth)Calendar.removeClass(cal.hilitedMonth,"hilite")}else{if(cal.hilitedMonth)Calendar.removeClass(cal.hilitedMonth,"hilite");var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear)Calendar.removeClass(cal.hilitedYear,"hilite");Calendar.addClass(year,"hilite");cal.hilitedYear=year}else if(cal.hilitedYear)Calendar.removeClass(cal.hilitedYear,"hilite")}else if(cal.hilitedYear)Calendar.removeClass(cal.hilitedYear,"hilite")};return Calendar.stopEvent(ev)};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev))return Calendar.stopEvent(ev)};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging))return false;var posX,posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft}else{posX=ev.pageX;posY=ev.pageY};cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev)};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal)return false;cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev)};cal.hideShowCovered()};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled)return false;var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300){with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver)}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp)}}else if(cal.isPopup)cal._dragStart(ev);if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250)}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250)}else cal.timeout=null;return Calendar.stopEvent(ev)};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie)document.selection.empty()};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled)return false;if(el.ttip){if(el.ttip.substr(0,1)=="_")el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);el.calendar.tooltips.innerHTML=el.ttip};if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate)Calendar.addClass(el.parentNode,"rowhilite")};return Calendar.stopEvent(ev)};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT.SEL_DATE;return stopEvent(ev)}};Calendar.cellClick=function(el,ev){var cal=el.calendar,closing=false,newdate=false,date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing)cal.currentDateEl=el};cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl){cal._toggleMultipleDate(new Date(date))}else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date)}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return};date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear(),mon=date.getMonth();function setMonth(m){var day=date.getDate(),max=date.getMonthDays(m);if(day>max)date.setDate(max);date.setMonth(m)};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:""}else text="Help and about box text is not translated into this language.\nIf you know this language and you feel generous please update\nthe corresponding file in \"lang\" subdir to match calendar-en.js\nand send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\nThank you!\nhttp://dynarch.com/mishoo/calendar.epl\n";alert(text);return;case -2:if(year>cal.minYear)date.setFullYear(year-1);break;case -1:if(mon>0){setMonth(mon-1)}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11)};break;case 1:if(mon<11){setMonth(mon+1)}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0)};break;case 2:if(year<cal.maxYear)date.setFullYear(year+1);break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range,current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate()))return false;break};if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true}else if(el.navtype==0)newdate=closing=true};if(newdate)ev&&cal.callHandler();if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler()}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true}else{parent=_par;this.isPopup=false};this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none"};div.appendChild(table);var thead=Calendar.createElement("thead",table),cell=null,row=null,cal=this,hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"]};row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"]};for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell)}};this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers)cell=Calendar.createElement("td",row);for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell)}};if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number"){part._range=range_start}else for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10){txt='0'+i}else txt=''+i;part._range[part._range.length]=txt};Calendar._add_evs(part);return part};var hrs=cal.date.getHours(),mins=cal.date.getMinutes(),t12=!cal.time24,pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23),span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59),AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12){AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"])}else cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am"};H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins};cal.onUpdateTime=function(){var date=this.date,h=parseInt(H.innerHTML,10);if(t12)if(/pm/i.test(AP.innerHTML)&&h<12){h+=12}else if(/am/i.test(AP.innerHTML)&&h==12)h=0;var d=date.getDate(),m=date.getMonth(),y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler()}})()}else this.onSetTime=this.onUpdateTime=function(){};var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move"};this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn)};div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr)};this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element)};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x]};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date)};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date)};while(1){switch(K){case 37:if(--x>=0){ne=cal.ar_days[y][x]}else{x=6;K=38;continue};break;case 38:if(--y>=0){ne=cal.ar_days[y][x]}else{prevMonth();setVars()};break;case 39:if(++x<7){ne=cal.ar_days[y][x]}else{x=0;K=40;continue};break;case 40:if(++y<cal.ar_days.length){ne=cal.ar_days[y][x]}else{nextMonth();setVars()};break};break};if(ne)if(!ne.disabled){Calendar.cellClick(ne)}else if(prev){prevMonth()}else nextMonth()};break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false};return Calendar.stopEvent(ev)};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year)}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year)};this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth(),mday=date.getDate(),no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild,MN=Calendar._SMN[month],ar_days=this.ar_days=new Array(),weekend=Calendar._TT["WEEKEND"],dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling};row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue}}else{cell.otherMonth=false;hasdays=true};cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip};if(status===true){cell.className+=" disabled";cell.disabled=true}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status}};if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell};if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"]};if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend"}};if(!(hasdays||this.showsOtherMonths))row.className="emptyrow"};this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates()};Calendar.prototype._initMultipleDates=function(){if(this.multiple)for(var i in this.multiple){var cell=this.datesCells[i],d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected"}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d"),cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds]}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date))this._init(this.firstDayOfWeek,date)};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date)};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays()};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z};Calendar.prototype.callHandler=function(){if(this.onSelected)this.onSelected(this,this.date.print(this.dateFormat))};Calendar.prototype.callCloseHandler=function(){if(this.onClose)this.onClose(this);this.hideShowCovered()};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el)};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar)return false;var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev)}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active")}};this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar)};this.hideShowCovered()};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar)};this.element.style.display="none";this.hidden=true;this.hideShowCovered()};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show()};Calendar.prototype.showAtElement=function(el,opts){var self=this,p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true}
function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div"),s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft}else{br.y+=window.scrollY;br.x+=window.scrollX};var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth,h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1),halign="l";if(opts.length>1)halign=opts.substr(1,1);switch(valign){case"T":p.y-=h;break;case"B":p.y+=el.offsetHeight;break;case"C":p.y+=(el.offsetHeight-h)/2;break;case"t":p.y+=el.offsetHeight-h;break;case"b":break};switch(halign){case"L":p.x-=w;break;case"R":p.x+=el.offsetWidth;break;case"C":p.x+=(el.offsetWidth-w)/2;break;case"l":p.x+=el.offsetWidth-w;break;case"r":break};p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y)};if(Calendar.is_khtml){setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10)}else Calendar.continuation_for_the_fucking_khtml_browser()};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt))};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return
function getVisib(obj){var value=obj.style.visibility;if(!value)if(document.defaultView&&typeof (document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){value=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility")}else value=''}else if(obj.currentStyle){value=obj.currentStyle.visibility}else value='';return value};var tags=new Array("applet","iframe","select"),el=this.element,p=Calendar.getAbsolutePos(el),EX1=p.x,EX2=el.offsetWidth+EX1,EY1=p.y,EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]),cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x,CX2=cc.offsetWidth+CX1,CY1=p.y,CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility)cc.__msh_save_visibility=getVisib(cc);cc.style.visibility=cc.__msh_save_visibility}else{if(!cc.__msh_save_visibility)cc.__msh_save_visibility=getVisib(cc);cc.style.visibility="hidden"}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek,cell=this.firstdayname,weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell)};if(weekend.indexOf(realday.toString())!=-1)Calendar.addClass(cell,"weekend");cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none"};Calendar.prototype._dragStart=function(ev){if(this.dragging)return;this.dragging=true;var posX,posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX};var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd)}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date(),y=0,m=-1,d=0,a=str.split(/\W+/),b=fmt.match(/%./g),i=0,j=0,hr=0,min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);break;case"%m":m=parseInt(a[i],10)-1;break;case"%Y":case"%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case"%b":case"%B":for(j=0;j<12;++j)if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break};break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":if(/pm/i.test(a[i])&&hr<12){hr+=12}else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case"%M":min=parseInt(a[i],10);break}};if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i)if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j)if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break};if(t!=-1){if(m!=-1)d=m+1;m=t}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000)}else if(d==0)d=a[i];if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined")month=this.getMonth();if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29}else return Date._MD[month]};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),then=new Date(this.getFullYear(),0,0,0,0,0),time=now-then;return Math.floor(time/Date.DAY)};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()))};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate())};Date.prototype.print=function(str){var m=this.getMonth(),d=this.getDate(),y=this.getFullYear(),wn=this.getWeekNumber(),w=this.getDay(),s={},hr=this.getHours(),pm=(hr>=12),ir=(pm)?(hr-12):hr,dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes(),sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp)}};return str};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y)};window._dynarch_popupCalendar=null

Calendar._DN=new Array("Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag","Zondag");Calendar._SDN_len=2;Calendar._MN=new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");Calendar._TT={};Calendar._TT["INFO"]="Info";Calendar._TT["ABOUT"]="DHTML Datum/Tijd Selector\n(c) dynarch.com 2002-2005 / Author: Mihai Bazon\nGa voor de meest recente versie naar: http://www.dynarch.com/projects/calendar/\nVerspreid onder de GNU LGPL. Zie http://gnu.org/licenses/lgpl.html voor details.\n\nDatum selectie:\n- Gebruik de \xab \xbb knoppen om een jaar te selecteren\n- Gebruik de "+String.fromCharCode(0x2039)+", "+String.fromCharCode(0x203a)+" knoppen om een maand te selecteren\n- Houd de muis ingedrukt op de genoemde knoppen voor een snellere selectie.";Calendar._TT["ABOUT_TIME"]="\n\nTijd selectie:\n- Klik op een willekeurig onderdeel van het tijd gedeelte om het te verhogen\n- of Shift-klik om het te verlagen\n- of klik en sleep voor een snellere selectie.";Calendar._TT["PREV_YEAR"]="Vorig jaar (ingedrukt voor menu)";Calendar._TT["PREV_MONTH"]="Vorige maand (ingedrukt voor menu)";Calendar._TT["GO_TODAY"]="Ga naar Vandaag";Calendar._TT["NEXT_MONTH"]="Volgende maand (ingedrukt voor menu)";Calendar._TT["NEXT_YEAR"]="Volgend jaar (ingedrukt voor menu)";Calendar._TT["SEL_DATE"]="Selecteer datum";Calendar._TT["DRAG_TO_MOVE"]="Klik en sleep om te verplaatsen";Calendar._TT["PART_TODAY"]=" (vandaag)";Calendar._TT["DAY_FIRST"]="Toon %s eerst";Calendar._TT["WEEKEND"]="0,6";Calendar._TT["CLOSE"]="Sluiten";Calendar._TT["TODAY"]="(vandaag)";Calendar._TT["TIME_PART"]="(Shift-)Klik of sleep om de waarde te veranderen";Calendar._TT["DEF_DATE_FORMAT"]="%d-%m-%Y";Calendar._TT["TT_DATE_FORMAT"]="%a, %e %b %Y";Calendar._TT["WK"]="wk";Calendar._TT["TIME"]="Tijd:"

Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined")params[pname]=def};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params.disableFunc);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp)if(typeof params[tmp[i]]=="string")params[tmp[i]]=document.getElementById(params[tmp[i]]);if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false}
function onSelect(cal){var p=cal.params,update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange()};if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat)if(typeof p.flatCallback=="function")p.flatCallback(cal);if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler()};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false};var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat)cal.setDateFormat(params.ifFormat);if(params.inputField&&typeof params.inputField.value=="string")cal.parseDate(params.inputField.value);cal.create(params.flat);cal.show();return false};var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea,dateFmt=params.inputField?params.ifFormat:params.daFormat,mustCreate=false,cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide()});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true}else{if(params.date)cal.setDate(params.date);cal.hide()};if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i],ds=d.print("%Y%m%d");cal.multiple[ds]=d}};cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position){cal.showAtElement(params.button||params.displayArea||params.inputField,params.align)}else cal.showAt(params.position[0],params.position[1]);return false};return cal}

function documentSelector(){var documentSelectors=new DOMQuery('div.document-selector'),input,image;for(var i=0,container;(container=documentSelectors.get(i));i++){input=new DOMQuery('input[type=hidden]',container).get(0);image=new DOMQuery('img',container).get(0);container.appendChild(createDOMNode('ul',{},[]));if(!image||image.src!=board_script_url+'/'){documentSelectorActions(container)}else if(image)image.parentNode.removeChild(image);addEventToTargets(null,'mouseup',_documentSelector,'li.select-document a');addEventToTargets(null,'click',_documentSelector,'li.select-document a')}}
function _documentSelector(e){var li=getSiblingNode(this,'up','li'),container=getSiblingNode(li,'up','div'),input=new DOMQuery('input[type=hidden]',container).get(0),image=new DOMQuery('img',container).get(0),input_do=new DOMQuery('input#'+input.id+'-change').get(0);switch(li.className){case'add-document':documentWindow=window.open(board_script_url+'/insert_document?data[small]=1','DocumentLibrary','width=900, height=500, resizable=yes, scrollbars=yes');doclibsOpened[documentWindow]=container;e.preventDefault();break;case'select-document':documentWindow=window.open(board_script_url+'/list_documents?data[small]=1','DocumentLibrary','width=900, height=500, resizable=yes, scrollbars=yes');doclibsOpened[documentWindow]=container;e.preventDefault();break;case'delete-document':input.value='';image.parentNode.removeChild(image);documentSelectorActions(container);contentInLayer(new DOMQuery('li.add-document a',container));e.preventDefault();break};if(input_do)input_do.setAttribute('checked','checked')}
function documentSelectorActions(container){var ul=new DOMQuery('ul',container).get(0),input=new DOMQuery('input[type=hidden]',container).get(0),image=new DOMQuery('img',container).get(0);if(!ul)return;while(ul.firstChild)ul.removeChild(ul.firstChild);if(image&&image.getAttribute('src',2)!=''){var editLink=createDOMNode('li',{'class':'edit-document'},[createDOMNode('a',{href:board_script_url+'/edit_document/'+input.value.split('/').shift(),target:'_blank',event:['click',_documentSelector]},[getText('publish','edit_document')])]),deleteLink=createDOMNode('li',{'class':'delete-document'},[createDOMNode('a',{href:'javascript:void(0)','class':'clickable',event:['click',_documentSelector]},[getText('publish','remove_document')])]);ul.appendChild(editLink);ul.appendChild(deleteLink)}else{var addLink=createDOMNode('li',{'class':'add-document'},[createDOMNode('a',{href:board_script_url+'/insert_document',rel:'layer[add-document]','class':input.name.replace(/[^a-z0-9]+/g,'_'),event:['click',function(){var dsc=getSiblingNode(getSiblingNode(this,'up','li'),'up','div');doclibsOpened[documentWindow]=dsc}]},[getText('publish','upload_document')])]),selectLink=createDOMNode('li',{'class':'select-document'},[createDOMNode('a',{href:board_script_url+'/list_documents',target:'_blank',event:['click',_documentSelector]},[getText('publish','add_document')])]);ul.appendChild(addLink);ul.appendChild(selectLink)}}
function selectedDocument(document_id,popup_win){var container=doclibsOpened[popup_win];if(!container||container.tagName.toUpperCase()=='TEXTAREA')return;var document_hash=popup_win.raw_documents[document_id][0].split('/');document_hash.pop();document_hash=document_hash.pop();var ul=new DOMQuery('ul',container).get(0),input=new DOMQuery('input[type=hidden]',container).get(0),image=new DOMQuery('img',container).get(0),input_do=new DOMQuery('input#'+input.id+'-change').get(0);if(!image){image=createDOMNode('img',{src:board_script_url+'/download_document/'+document_id+'/'+document_hash+'/document'},[]);ul.parentNode.insertBefore(image,ul)}else image.src=board_script_url+'/download_document/'+document_id+'/'+document_hash+'/document';if(input_do)input_do.setAttribute('checked','checked');input.value=document_id+'/'+document_hash;popup_win.close();documentSelectorActions(container)};if(typeof _contentInLayerCallback=='function')var _contentInLayerCallbackOriginal=_contentInLayerCallback;_contentInLayerCallback=function(invoker,id,rel){if(rel&&rel.length)switch(rel[1]){case'add-document':return{specificElement:'form.primary-input'}};return _contentInLayerCallbackOriginal.apply(this,arguments)}

var window_height,window_width,mouse_down=false,mouse_x,mouse_y,al,img,min_width=20,min_height=20,img_loading,mouse_in_al=false,may_paint,cmd;if(!formats)var formats=parent.formats
function modifyThumbnail(ev,ob){this.id='thumbformat_'+this.name;var iframe=document.getElementById('imagewizard');if(iframe)iframe.parentNode.removeChild(iframe);writeIWFrame(this.getAttribute('longdesc'),this.name);document.srcThumbnailID=this.id;c=this.src;document.previewImage=function(c){document.getElementById(document.srcThumbnailID).src=c}}
function writeIWFrame(url,format){document.SrcImage=new IWConfig(url,format);document.previewImage=function(c){var img=document.createElement('IMG');img.src=c;document.body.appendChild(img)};document.getImage=function(){return document.SrcImage};var iframe=document.createElement('IFRAME');iframe.id='imagewizard';iframe.scrolling='no';iframe.src=board_template_url+'html/imagewizard.html';document.body.appendChild(iframe)}
function IWConfig(src,format){this.src=src;this.format=format}
function Coor(x,y,w,h){this.x=(typeof x=='number')?Math.ceil(x):parseInt(x);this.y=parseInt(y);this.w=(typeof w=='number')?Math.ceil(w):parseInt(w);this.h=(typeof h=='number')?Math.ceil(h):parseInt(h);this.translate=function translateWithFactor(f){return new Coor(this.x*f,this.y*f,this.w*f,this.h*f)};this.ratio=function ratio(){return h/w};this.setRatio=function setRatio(ratio,constraint){if(ratio!=this.ratio())if(ratio<this.ratio()){this.w=Math.min(Math.ceil(this.h/ratio),Math.ceil(constraint.w-this.x));this.h=Math.ceil(this.w*ratio)}else{this.h=Math.min(Math.ceil(this.w*ratio),Math.ceil(constraint.h-this.y));this.w=Math.ceil(this.h/ratio)}}
function aspectratio(){return fraction(h/w)};this.clone=function clone(){return new Coor(this.x,this.y,this.w,this.h)};this.toString=function toString(){return this.w+'x'+this.h+' @ '+this.x+'x'+this.y}}
function initImageWizard(){var conf;if(img){if(!img.complete||img.width==0||img.height==0){window.setTimeout('initImageWizard();',200);return};conf=parent.document.getImage()}else{img=document.getElementById('src-element');conf=parent.document.getImage();img.src=conf.src+'/__imagewizard';img.setAttribute('source',conf.src);return initImageWizard()};var org_width=parent.document.getElementById('thumb_source_width'),org_height=parent.document.getElementById('thumb_source_height');if(org_width==null||org_height==null){alert('error :: original sizes of sourcefile not found');return};img.original=new Coor(findPosX(img),findPosY(img),org_width.value,org_height.value);findScreenSize();window_ratio=window_width/window_height;if(img!=null){img.setAttribute('ratio',img.width/img.height);if(img.width>window_width||img.height>window_height)if(window_ratio<img.getAttribute('ratio')){img.width=window_width;img.height=window_width/img.getAttribute('ratio')}else img.height=window_height;img.style.display='';img.style.visibility='visible';img.setAttribute('factor',img.original.h/img.height);img.current=new Coor(findPosX(img),findPosY(img),img.width,img.height);createLayer(img.current);if(document.body.addEventListener){parent.document.getElementById('imagewizard').style.height=document.body.offsetHeight+'px'}else parent.document.getElementById('imagewizard').style.height=document.body.scrollHeight+'px'};fillFormatsPulldown();if(conf.format!=null)setFormValue('size',conf.format)}
function fillFormatsPulldown(){var pulldown=document.getElementById('iw').elements['size'],option;for(i=0;i<formats.length;i++){option=document.createElement('OPTION');option.value=formats[i][0];option.selected=false;option.appendChild(document.createTextNode(formats[i][0]+' ('+formats[i][1][0]+'x'+formats[i][1][1]+')'));pulldown.appendChild(option)}}
function fraction(d){var p=0.01;for(var i=1;i<1000;i++){var b=d*i;if(b-Math.floor(b)<p){document.getElementById('crop_ratio').value=Math.floor(b)+':'+i;return}}}
function findScreenSize(){if(self.innerHeight){x=self.innerWidth;y=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){x=document.documentElement.clientWidth;y=document.documentElement.clientHeight}else if(document.body){x=document.body.clientWidth;y=document.body.clientHeight};window_width=x;window_height=y}
function clearDelay(){may_paint=true}
function createLayer(img){var div=document.createElement('DIV');al=div;div.id='adjustment_layer';div.coor=new Coor(img.x,img.y,img.w,img.h);document.body.appendChild(div);modifyAdjustmentLayer(div.coor);div.setAttribute('keepratio',0);document.body.onmousemove=captureMouseMovement;div.onmousedown=captureMouseDown;document.body.onmouseup=captureMouseUp;div.onmouseover=function(){mouse_in_al=true};div.onmouseout=function(){if(!mouse_down)mouse_in_al=false}}
function captureMouseMovement(e){findMousePosition(e);if(mouse_down){var cursor=al.style.cursor,newcoor=al.coor.clone(),keepratio=al.getAttribute('keepratio');if(cursor=='move'){newcoor.y=(al.coor.y-mouse_down.y+mouse_y);newcoor.x=(al.coor.x-mouse_down.x+mouse_x)};if(cursor=='w-resize'||cursor=='nw-resize'||cursor=='sw-resize'){newcoor.x=Math.max(img.current.x,Math.min(img.current.w+img.current.x,mouse_x));newcoor.w=al.coor.w+al.coor.x-newcoor.x};if(cursor=='e-resize'||cursor=='ne-resize'||cursor=='se-resize')newcoor.w=Math.min(img.current.w+img.current.x-al.coor.x,al.coor.w-mouse_down.x+mouse_x);if(cursor=='n-resize'||cursor=='nw-resize'||cursor=='ne-resize'){newcoor.y=Math.max(img.current.y,Math.min(img.current.h+img.current.y,mouse_y));newcoor.h=al.coor.h+mouse_down.y-mouse_y};if(cursor=='s-resize'||cursor=='se-resize'||cursor=='sw-resize')newcoor.h=Math.min(img.current.y+img.current.h-al.coor.y,al.coor.h-mouse_down.y+mouse_y);if(keepratio>0)if(cursor=='ne-resize'||cursor=='nw-resize'){newcoor.h=Math.min(al.coor.y+al.coor.h,newcoor.w*keepratio);newcoor.w=newcoor.h/keepratio}else if(cursor=='w-resize'||cursor=='nw-resize'||cursor=='sw-resize'||cursor=='e-resize'||cursor=='ne-resize'||cursor=='se-resize'){newcoor.h=Math.min(img.current.y+img.current.h-al.coor.y,newcoor.w*keepratio);newcoor.w=newcoor.h/keepratio}else{newcoor.w=Math.min(img.current.x+img.current.w-al.coor.x,newcoor.h/keepratio);newcoor.h=newcoor.w*keepratio};if(cursor=='s-resize'||cursor=='se-resize'||cursor=='e-resize'){newcoor.x=al.coor.x;newcoor.y=al.coor.y}else if(cursor=='w-resize'||cursor=='sw-resize'){newcoor.x=al.coor.x+al.coor.w-newcoor.w}else if(cursor=='n-resize'||cursor=='ne-resize'){newcoor.y=al.coor.y+al.coor.h-newcoor.h}else if(cursor=='nw-resize'){newcoor.y=al.coor.h+al.coor.y-newcoor.h;newcoor.x=al.coor.x+al.coor.w-newcoor.w};newcoor.w=Math.ceil(newcoor.w);newcoor.h=Math.ceil(newcoor.h);newcoor.y=Math.max(img.current.y,Math.min(newcoor.y,img.current.y+img.current.h-newcoor.h));newcoor.x=Math.max(img.current.x,Math.min(newcoor.x,img.current.x+img.current.w-newcoor.w));if(modifyAdjustmentLayer(newcoor))updateForm(newcoor);may_paint=false}}
function modifyAdjustmentLayer(coor){var fe=document.getElementById('iw').elements;if(fe.size.value!='custom'){var min_size=getFormatSize(fe.size.value);min_size=min_size.translate(1/img.getAttribute('factor'));if(!(coor.w>=10&&coor.h>=10)){return}else if(!(coor.w>=min_size.w&&coor.h>=min_size.h)){al.className='over_scaled'}else if(!(coor.w>=min_size.w&&coor.h>=min_size.h)){al.className='over_scaled'}else al.className=''};al.style.top=Math.max(img.current.y,Math.min(coor.y,img.current.y+img.current.h-coor.h))+'px';al.style.left=Math.max(img.current.x,Math.min(coor.x,img.current.x+img.current.w-coor.w))+'px';al.style.width=coor.w+'px';al.style.height=coor.h+'px';document.getElementById('al').value=coor;delete coor;return true}
function formSubmit(){var fe=document.getElementById('iw').elements,size;if(fe.size.value!='custom'){size=fe.size.value}else size=fe.crop_w.value+'x'+fe.crop_h.value;var conf=(size+'.'+fe.crop_x.value+'x'+fe.crop_y.value+'.'+fe.crop_w.value+'x'+fe.crop_h.value),timestamp=new Date().getTime();parent.document.previewImage(img.getAttribute('source')+'/'+conf+'?'+timestamp);return false}
function setFormValue(name,value){var fe=document.getElementById('iw').elements;if(fe[name]!=null){if(fe[name].tagName=='SELECT'){for(i=0;i<fe[name].options.length;i++)if(fe[name].options[i].value==value){fe[name].selectedIndex=i;fe[name].options[i].setAttribute('selected','selected')}}else fe[name].value=value;formChange()}}
function getFormatSize(name){for(i=0;i<formats.length;i++)if(formats[i][0]==name)return new Coor(0,0,formats[i][1][0],formats[i][1][1])}
function formChange(){var fe=document.getElementById('iw').elements;if(fe.size.value!='custom'){var size=getFormatSize(fe.size.value),adjustment=al.coor.clone();adjustment.setRatio(size.ratio(),img.current);if(modifyAdjustmentLayer(adjustment)){updateAlCoor();updateForm(adjustment)};al.setAttribute('keepratio',size.ratio())}else al.setAttribute('keepratio',0)}
function updateForm(coor){var original=coor.translate(img.getAttribute('factor')),fe=document.getElementById('iw').elements;fe.crop_x.value=original.x;fe.crop_y.value=original.y;fe.crop_h.value=original.h;fe.crop_w.value=original.w}
function captureMouseDown(e){if(mouse_in_al){mouse_down=true;mouse_down=new Coor(mouse_x,mouse_y,0,0)}}
function updateAlCoor(){al.coor=new Coor(parseInt(al.style.left),parseInt(al.style.top),parseInt(al.style.width),parseInt(al.style.height));fraction(al.coor.h/al.coor.w)}
function captureMouseUp(e){if(mouse_down){updateAlCoor();mouse_down=false}}
function findMousePosition(e){if(!e)e=window.event;if(e.pageX||e.pageY){mouse_x=e.pageX;mouse_y=e.pageY}else if(e.clientX||e.clientY){mouse_x=e.clientX+document.body.scrollLeft;mouse_y=e.clientY+document.body.scrollTop};MouseInAdjustmentLayer()}
function MouseInAdjustmentLayer(){if(!mouse_in_al||mouse_down)return;if(al==null)return;var w=4;if(onLine(mouse_x,al.coor.x,w)){if(onLine(mouse_y,al.coor.y,w)){al.style.cursor='nw-resize'}else if(onLine(mouse_y,al.coor.y+al.coor.h,w)){al.style.cursor='sw-resize'}else al.style.cursor='w-resize'}else if(onLine(mouse_x,al.coor.x+al.coor.w,w)){if(onLine(mouse_y,al.coor.y,w)){al.style.cursor='ne-resize'}else if(onLine(mouse_y,al.coor.y+al.coor.h,w)){al.style.cursor='se-resize'}else al.style.cursor='e-resize'}else if(onLine(mouse_y,al.coor.y,w)){al.style.cursor='n-resize'}else if(onLine(mouse_y,al.coor.y+al.coor.h,w)){al.style.cursor='s-resize'}else al.style.cursor='move'}
function onLine(pos,l,p){return Math.abs(pos-l)<=p}
function findPosX(obj){var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent}}else if(obj.x)curleft+=obj.x;return curleft}
function findPosY(obj){var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent}}else if(obj.y)curtop+=obj.y;return curtop}
function closeIW(){parent.document.body.removeChild(parent.document.getElementById('imagewizard'))}

var texts=[];texts.doclib=[];texts.doclib['insert_as']='Invoegen als';texts.doclib['insert_as_image']='afbeelding';texts.doclib['insert_as_text']='tekst';texts.doclib['insert_as_link']='Link';texts.doclib['insert_as_thumb']='Link thumbnail naar origineel';texts.doclib['format']='Formaat';texts.doclib['original']='Origineel';texts.doclib['outline']='Uitlijning';texts.doclib['none']='Geen';texts.doclib['left']='Links';texts.doclib['right']='Rechts';texts.doclib['insert']='Invoegen';texts.doclib['insert_image']='Afbeelding invoegen';texts.doclib['not_implemented']='Nog niet mogelijk';texts.forms=[];texts.forms['marked_fields']='Velden gemarkeerd met een ';texts.forms['required']=' zijn verplicht';texts.forms['max_chars']='Je mag hier maximaal %s karakters gebruiken';texts.forms['name_too_short']='Deze gebruikersnaam is te kort';texts.forms['email_incorrect']='Dit emailadres is incorrect';texts.forms['url_incorrect']='Deze URL is incorrect';texts.forms['numeric_only']='Dit veld kan alleen getallen bevatten';texts.forms['required_field']='Dit veld is verplicht';texts.forms['required_field.query_input']='Dit veld is verplicht bij sortering op relevantie';texts.forms['password_no_match']='De ingevoerde wachtwoorden komen niet overeen.';texts.forms['username_taken']='Deze gebruikersnaam is al in gebruik.';texts.forms['invalid_domain']='Dit domein mag niet op dit forum gebruikt worden. Kies svp een ander email-adres.';texts.forms['email_taken']='Dit email-adres is al in gebruik.';texts.forms['select_all_rows']='Selecteer alle rijen';texts.forms['select_messages']='Klik op één of meerdere berichten om deze te selecteren. Klik vervolgens op Verstuur om ze daadwerkelijk te verwijderen.';texts.forms['username']='Gebruikersnaam';texts.forms['password']='Wachtwoord';texts.forms['bankaccount_mismatch']='Dit is geen geldig bankrekeningnummer';texts.forms['dutch_bankaccount_mismatch']='Dit is geen geldig nederlands bankrekeningnummer';texts.forms['sofinummer_mismatch']='Dit getal voldoet niet aan de 11-proef, sofinummer ongeldig.';texts.forms['zipcode_mismatch']='Dit is geen geldige postcode.';texts.forms['length_not_9']='Dit veld moet precies 9 karakters bevatten.';texts.forms['hide_advanced_options']='Geavanceerde mogelijkheden verbergen';texts.forms['show_advanced_options']='Bekijk ook de geavanceerde mogelijkheden';texts.forms['keyword_too_long']='Sleutelwoord `%s` is te lang, gebruik maximaal 50 karakters';texts.forms['keywords_illegal_character']='Sleutelwoord `%s` bevat ongeldige karakters; gebruik enkel a-z, 0-9 en - of _';texts.forms['max_entries_reached']='Je mag maximaal %s stuks opgeven';texts.forms['cant_send_to_yourself']='Je kan geen privébericht naar jezelf sturen';texts.forms['filename_too_long']='De bestandsnaam overschrijdt de limiet van 60 karakters';texts.forms['filename_invalid']='De bestandsnaam bevat ongeldige karakters';texts.forms['extension_invalid']='De extensie is ongeldig';texts.forms['too_long']='Dit veld kan maximaal %s karakters bevatten';texts.forms['too_long_expl']=', het bevat momenteel %s karakters te veel';texts.imagewizard=[];texts.imagewizard['sizes_error']='error :: original sizes of sourcefile not found';texts.normal=[];texts.normal['disabled_option']='Deze optie is niet mogelijk.';texts.normal['more']='Meer...';texts.normal['search_webkit']='Zoek binnen dit forum...';texts.normal['back']='Terug';texts.xmlhttp=[];texts.xmlhttp['close']='Sluit';texts.xmlhttp['form_already_exists']='Er is al een formulier op het scherm voor.\nWilt u deze vervangen?';texts.extra=[];texts.extra['searchPopup']='Zoek...';texts.extra['close_and_submit']='Sluit & verstuur';texts.extra['accesskey_indicator']='(%s)';texts.extra['click_to_enlarge']=' - klik om te vergroten';texts.extra['enter_page_number']='Geef een paginanummer tussen 1 en %s';texts.extra['page_number_incorrect']='U heeft geen geldig paginanummer opgegeven.';texts.extra['show_gallery']='Toon alle afbeeldingen in dit onderwerp';texts.extra['show_gallery_header']='Alle afbeeldingen in dit onderwerp';texts.toolbar=[];texts.toolbar['enter_img_url']='Geef de URL van de afbeelding op:';texts.toolbar['enter_url']='Geef de URL op:';texts.toolbar['enter_title']='Geef optioneel een titel:';texts.toolbar['hline']='';texts.toolbar['bold']='Maak tekst vetgedrukt';texts.toolbar['italic']='Maak tekst schuingedrukt';texts.toolbar['underline']='Maak tekst onderstreept';texts.toolbar['strike']='Streep tekst door';texts.toolbar['sup']='Plaats tekst hoger';texts.toolbar['sub']='Plaats tekst lager';texts.toolbar['align_left']='Lijn tekst links uit';texts.toolbar['align_center']='Lijn tekst in het midden uit';texts.toolbar['align_right']='Lijn tekst rechts uit';texts.toolbar['align_justify']='Vul tekst uit';texts.toolbar['list_bullet']='Maak een lijst';texts.toolbar['list_num']='Maak een genummerde lijst';texts.toolbar['color_bg']='Wijzig de achtergrondkleur';texts.toolbar['color_fg']='Wijzig de tekstkleur';texts.toolbar['link']='Voeg een link toe';texts.toolbar['image']='Voeg een afbeelding toe';texts.toolbar['table']='Voeg een tabel toe';texts.toolbar['hr']='Voeg een horizontale streep toe';texts.toolbar['maximize']='Vergroot het invoerveld';texts.toolbar['documentlibrary']='Open de documentenbibliotheek';texts.toolbar['smileys']='Kies een smiley';texts.toolbar['youtube']='Plaats YouTube filmpje';texts.toolbar['youtube_link']='Link naar YouTube filmpje';texts.calendar=[];texts.calendar['calendarevent']='Afspraken';texts.calendar['calendareventallday']='Dagafspraken';texts.calendar['topicstart']='Onderwerpen';texts.calendar['topicevent']='Topicstarts';texts.calendar['birthday']='Verjaardagen';texts.colorpicker=[];texts.colorpicker['select_color']='Gebruik de geselecteerde kleur';var defaultFieldValues={'data[topicnote_content]':'Plaats hier notities welke voor andere beheerders nuttig kunnen zijn, bijvoorbeeld "Voor het laatst opgeruimd om 12:10."','data[split_to_topicid]':'Onderwerp-nummer','data[mergetopicid]':'Onderwerp-nummer'}

texts.publish=[];texts.publish['edit_document']='Wijzig bestand';texts.publish['remove_document']='Geen bestand';texts.publish['upload_document']='Upload bestand';texts.publish['add_document']='Kies bestand'

texts.forms['username_taken']='Deze gebruikersnaam is al ingebruik, we hebben de volgende suggestie: %s';texts.forms['no_preg_match']='Deze nickname bevat incorrecte karakters, of voldoet niet aan de ingestelde eisen';texts.forms['email_addresses_no_match']='De opgegeven emailadressen komen niet overeen';texts.vdwvm=[];texts.vdwvm['check_availability']='Beschikbaar?';texts.vdwvm['document_is_no_image']='Het geselecteerde bestand kan niet worden verwerkt. Het bestand moet een JPEG, GIF of PNG bestand zijn.';texts.vdwvm['lightbox_ok']='Ok';texts.vdwvm['lightbox_cancel']='Annuleren';texts.vdwvm['error_heading']='Er is een fout opgetreden';texts.normal['quicksearch']='Zoeken';texts.toolbar['youtube']='Plaats YouTube filmpje';texts.toolbar['youtube_link']='Link naar YouTube filmpje';texts.publish['upload_document']='Voeg bestand toe';texts.publish['remove_document']='Verwijder bestand';texts.forms['select_messages']='Klik op één of meerdere berichten om deze te selecteren. Klik vervolgens op verstuur om ze daadwerkelijk te verwijderen.'

var UFO={req:["movie","width","height","majorversion","build"],opt:["play","loop","menu","quality","scale","salign","wmode","bgcolor","base","flashvars","devicefont","allowscriptaccess","seamlesstabbing","allowfullscreen"],optAtt:["id","name","align"],optExc:["swliveconnect"],ximovie:"ufo.swf",xiwidth:"215",xiheight:"138",ua:navigator.userAgent.toLowerCase(),pluginType:"",fv:[0,0],foList:[],create:function(FO,id){if(!UFO.uaHas("w3cdom")||UFO.uaHas("ieMac"))return;UFO.getFlashVersion();UFO.foList[id]=UFO.updateFO(FO);UFO.createCSS("#"+id,"visibility:hidden;");UFO.domLoad(id)},updateFO:function(FO){if(typeof FO.xi!="undefined"&&FO.xi=="true"){if(typeof FO.ximovie=="undefined")FO.ximovie=UFO.ximovie;if(typeof FO.xiwidth=="undefined")FO.xiwidth=UFO.xiwidth;if(typeof FO.xiheight=="undefined")FO.xiheight=UFO.xiheight};FO.mainCalled=false;return FO},domLoad:function(id){var _t=setInterval(function(){if((document.getElementsByTagName("body")[0]!=null||document.body!=null)&&document.getElementById(id)!=null){UFO.main(id);clearInterval(_t)}},250);if(typeof document.addEventListener!="undefined")document.addEventListener("DOMContentLoaded",function(){UFO.main(id);clearInterval(_t)},null)},main:function(id){var _fo=UFO.foList[id];if(_fo.mainCalled)return;UFO.foList[id].mainCalled=true;document.getElementById(id).style.visibility="hidden";if(UFO.hasRequired(id))if(UFO.hasFlashVersion(parseInt(_fo.majorversion,10),parseInt(_fo.build,10))){if(typeof _fo.setcontainercss!="undefined"&&_fo.setcontainercss=="true")UFO.setContainerCSS(id);UFO.writeSWF(id)}else if(_fo.xi=="true"&&UFO.hasFlashVersion(6,65))UFO.createDialog(id);document.getElementById(id).style.visibility="visible"},createCSS:function(selector,declaration){var _h=document.getElementsByTagName("head")[0],_s=UFO.createElement("style");if(!UFO.uaHas("ieWin"))_s.appendChild(document.createTextNode(selector+" {"+declaration+"}"));_s.setAttribute("type","text/css");_s.setAttribute("media","screen");_h.appendChild(_s);if(UFO.uaHas("ieWin")&&document.styleSheets&&document.styleSheets.length>0){var _ls=document.styleSheets[document.styleSheets.length-1];if(typeof _ls.addRule=="object")_ls.addRule(selector,declaration)}},setContainerCSS:function(id){var _fo=UFO.foList[id],_w=/%/.test(_fo.width)?"":"px",_h=/%/.test(_fo.height)?"":"px";UFO.createCSS("#"+id,"width:"+_fo.width+_w+"; height:"+_fo.height+_h+";");if(_fo.width=="100%")UFO.createCSS("body","margin-left:0; margin-right:0; padding-left:0; padding-right:0;");if(_fo.height=="100%"){UFO.createCSS("html","height:100%; overflow:hidden;");UFO.createCSS("body","margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;")}},createElement:function(el){return(UFO.uaHas("xml")&&typeof document.createElementNS!="undefined")?document.createElementNS("http://www.w3.org/1999/xhtml",el):document.createElement(el)},createObjParam:function(el,aName,aValue){var _p=UFO.createElement("param");_p.setAttribute("name",aName);_p.setAttribute("value",aValue);el.appendChild(_p)},uaHas:function(ft){var _u=UFO.ua;switch(ft){case"w3cdom":return(typeof document.getElementById!="undefined"&&typeof document.getElementsByTagName!="undefined"&&(typeof document.createElement!="undefined"||typeof document.createElementNS!="undefined"));case"xml":var _m=document.getElementsByTagName("meta"),_l=_m.length;for(var i=0;i<_l;i++)if(/content-type/i.test(_m[i].getAttribute("http-equiv"))&&/xml/i.test(_m[i].getAttribute("content")))return true;return false;case"ieMac":return/msie/.test(_u)&&!/opera/.test(_u)&&/mac/.test(_u);case"ieWin":return/msie/.test(_u)&&!/opera/.test(_u)&&/win/.test(_u);case"gecko":return/gecko/.test(_u)&&!/applewebkit/.test(_u);case"opera":return/opera/.test(_u);case"safari":return/applewebkit/.test(_u);default:return false}},getFlashVersion:function(){if(UFO.fv[0]!=0)return;if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){UFO.pluginType="npapi";var _d=navigator.plugins["Shockwave Flash"].description;if(typeof _d!="undefined"){_d=_d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var _m=parseInt(_d.replace(/^(.*)\..*$/,"$1"),10),_r=/r/.test(_d)?parseInt(_d.replace(/^.*r(.*)$/,"$1"),10):0;UFO.fv=[_m,_r]}}else if(window.ActiveXObject){UFO.pluginType="ax";try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");UFO.fv=[6,0];_a.AllowScriptAccess="always"}catch(e){if(UFO.fv[0]==6)return};try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}};if(typeof _a=="object"){var _d=_a.GetVariable("$version");if(typeof _d!="undefined"){_d=_d.replace(/^\S+\s+(.*)$/,"$1").split(",");UFO.fv=[parseInt(_d[0],10),parseInt(_d[2],10)]}}}},hasRequired:function(id){var _l=UFO.req.length;for(var i=0;i<_l;i++)if(typeof UFO.foList[id][UFO.req[i]]=="undefined")return false;return true},hasFlashVersion:function(major,release){return(UFO.fv[0]>major||(UFO.fv[0]==major&&UFO.fv[1]>=release))?true:false},writeSWF:function(id){var _fo=UFO.foList[id],_e=document.getElementById(id);if(UFO.pluginType=="npapi"){if(UFO.uaHas("gecko")||UFO.uaHas("xml")){while(_e.hasChildNodes())_e.removeChild(_e.firstChild);var _obj=UFO.createElement("object");_obj.setAttribute("type","application/x-shockwave-flash");_obj.setAttribute("data",_fo.movie);_obj.setAttribute("width",_fo.width);_obj.setAttribute("height",_fo.height);var _l=UFO.optAtt.length;for(var i=0;i<_l;i++)if(typeof _fo[UFO.optAtt[i]]!="undefined")_obj.setAttribute(UFO.optAtt[i],_fo[UFO.optAtt[i]]);var _o=UFO.opt.concat(UFO.optExc),_l=_o.length;for(var i=0;i<_l;i++)if(typeof _fo[_o[i]]!="undefined")UFO.createObjParam(_obj,_o[i],_fo[_o[i]]);_e.appendChild(_obj)}else{var _emb="",_o=UFO.opt.concat(UFO.optAtt).concat(UFO.optExc),_l=_o.length;for(var i=0;i<_l;i++)if(typeof _fo[_o[i]]!="undefined")_emb+=' '+_o[i]+'="'+_fo[_o[i]]+'"';_e.innerHTML='<embed type="application/x-shockwave-flash" src="'+_fo.movie+'" width="'+_fo.width+'" height="'+_fo.height+'" pluginspage="http://www.macromedia.com/go/getflashplayer"'+_emb+'></embed>'}}else if(UFO.pluginType=="ax"){var _objAtt="",_l=UFO.optAtt.length;for(var i=0;i<_l;i++)if(typeof _fo[UFO.optAtt[i]]!="undefined")_objAtt+=' '+UFO.optAtt[i]+'="'+_fo[UFO.optAtt[i]]+'"';var _objPar="",_l=UFO.opt.length;for(var i=0;i<_l;i++)if(typeof _fo[UFO.opt[i]]!="undefined")_objPar+='<param name="'+UFO.opt[i]+'" value="'+_fo[UFO.opt[i]]+'" />';var _p=window.location.protocol=="https:"?"https:":"http:";_e.innerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+_objAtt+' width="'+_fo.width+'" height="'+_fo.height+'" codebase="'+_p+'//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+_fo.majorversion+',0,'+_fo.build+',0"><param name="movie" value="'+_fo.movie+'" />'+_objPar+'</object>'}},createDialog:function(id){var _fo=UFO.foList[id];UFO.createCSS("html","height:100%; overflow:hidden;");UFO.createCSS("body","height:100%; overflow:hidden;");UFO.createCSS("#xi-con","position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");UFO.createCSS("#xi-dia","position:absolute; left:50%; top:50%; margin-left: -"+Math.round(parseInt(_fo.xiwidth,10)/2)+"px; margin-top: -"+Math.round(parseInt(_fo.xiheight,10)/2)+"px; width:"+_fo.xiwidth+"px; height:"+_fo.xiheight+"px;");var _b=document.getElementsByTagName("body")[0],_c=UFO.createElement("div");_c.setAttribute("id","xi-con");var _d=UFO.createElement("div");_d.setAttribute("id","xi-dia");_c.appendChild(_d);_b.appendChild(_c);var _mmu=window.location;if(UFO.uaHas("xml")&&UFO.uaHas("safari")){var _mmd=document.getElementsByTagName("title")[0].firstChild.nodeValue=document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0,47)+" - Flash Player Installation"}else var _mmd=document.title=document.title.slice(0,47)+" - Flash Player Installation";var _mmp=UFO.pluginType=="ax"?"ActiveX":"PlugIn",_uc=typeof _fo.xiurlcancel!="undefined"?"&xiUrlCancel="+_fo.xiurlcancel:"",_uf=typeof _fo.xiurlfailed!="undefined"?"&xiUrlFailed="+_fo.xiurlfailed:"";UFO.foList["xi-dia"]={movie:_fo.ximovie,width:_fo.xiwidth,height:_fo.xiheight,majorversion:"6",build:"65",flashvars:"MMredirectURL="+_mmu+"&MMplayerType="+_mmp+"&MMdoctitle="+_mmd+_uc+_uf};UFO.writeSWF("xi-dia")},expressInstallCallback:function(){var _b=document.getElementsByTagName("body")[0],_c=document.getElementById("xi-con");_b.removeChild(_c);UFO.createCSS("body","height:auto; overflow:auto;");UFO.createCSS("html","height:auto; overflow:auto;")},cleanupIELeaks:function(){var _o=document.getElementsByTagName("object"),_l=_o.length;for(var i=0;i<_l;i++){_o[i].style.display="none";for(var x in _o[i])if(typeof _o[i][x]=="function")_o[i][x]=null}}};if(typeof window.attachEvent!="undefined"&&UFO.uaHas("ieWin"))window.attachEvent("onunload",UFO.cleanupIELeaks)

maxImageWidth=419;maxImageHeight=419;var rml_buttons=Array('bold','italic','underline','strike','hline','align_left','align_center','align_right','hline','list_bullet','list_num','hline','color_bg','color_fg','hline','link','image','hline','table','hr','hline','maximize','documentlibrary')
function rateItem(targets){addEventToTargets(targets,'click',_rateItem,'div.block-type-rating ul a')}
function _rateItem(e){var rating=this.href,block=this;rating=rating.split('/').reverse();if(rating[2]){var request='data[reactid]='+getCookie('ReactID')+'&data[rate]='+rating[0]+'&data[id]='+rating[1]+'&data[type]='+rating[2];httpreq_string(request,null,board_script_url+'/rate',false);while(!block.id&&block.tagName!='div'&&block.tagName!='html')block=block.parentNode;new Ajax.Request(board_script_url+'/get_block/'+block.id.split('-')[1],{postBody:'data[rating_type]='+rating[2]+'&data[rating_id]='+rating[1],onComplete:function(transport){block.innerHTML=transport.responseText.replace(/^<div [^>]+>(.*)<\/div><hr \/>$/,'$1');_init(events,block)}});e.preventDefault()}}
function attachBlocks(blockId){var cleanupAttached=false;if(blockId&&typeof (blockid)=='string'){var blocks=new DOMQuery('div#'+blockId)}else{var blocks=new DOMQuery('div.block');cleanupAttached=true};if(cleanupAttached)for(var i=0,block;(block=blocks.get(i));i++)jscss('remove',block,'attached');for(var i=0,block;(block=blocks.get(i));i++){if(!jscss('check',block,'attach-next-block'))continue;var offset_left=block.offsetLeft,offset_top=block.offsetTop,attached=false,nextBlock;for(var j=1;(nextBlock=blocks.get(i+j));j++){if(nextBlock.offsetTop<offset_top)continue;if(nextBlock.offsetLeft==offset_left||nextBlock.offsetLeft==offset_left-1){jscss('add',nextBlock,'attached');attached=true;break}};if(!attached)jscss('remove',block,'attach-next-block')}}
function emulateEllipsis(targets){if(isIE)return;if(!targets)var targets='div.block > h2';var headings=new DOMQuery(targets),average_char_width=8;for(var i=0,heading;(heading=headings.get(i));i++)if(heading.firstChild.length*average_char_width>heading.clientWidth)heading.firstChild.nodeValue=heading.firstChild.nodeValue.substr(0,(heading.clientWidth/average_char_width))+'...'}
function fixBrowserIssuesSite(){if(isIE){addClassToTargets('div#action-header ol li:last-child, div#action-footer ol li:last-child, ul#navigation-2 li:last-child, ul#footer li:last-child, ul.archive-navigation li:last-child','last-child');if(isNotIE7){addClassToTargets('div.block:first-child','block-first-child');addClassToTargets('div#action-header ol li:first-child','first-child');addClassToTargets('a[rel=more]','more');addClassToTargets('input[type=radio]','radio');addClassToTargets('a[rel=edit]','editlink');var classes=['block-type-show-topic.limit-1','block.attached','block.attached.block-type-show-topic.limit-1'];for(var i=0;i<classes.length;i++)addClassToTargets('div.'+classes[i],classes[i].replace(/\./g,'-'));var adminLinks=new DOMQuery('ul#admin-links').get(0);if(adminLinks)adminLinks.parentNode.insertBefore(createDOMNode('div',{style:'clear: both;'},''),adminLinks.nextSibling)};var overlay=createDOMNode('div',{id:'iefix-overlay',style:'height: '+document.body.clientHeight,title:'Klik om terug te gaan'},'');addEvent(overlay,'click',function(){if(jscss('check',document.body,'inline-admin')){document.body.removeChild(new DOMQuery('iframe.inline-admin').get(0));jscss('remove',document.body,'inline-admin')}});document.body.appendChild(overlay)}}
function readonlyKeywords(){if(['list_messages','list_message','insert_topic'].indexOf(board_action)==-1)return;var editLink=new DOMQuery('ul#admin-links li.edit-blocks a').get(0);if(editLink)return;var fields=new DOMQuery('input#keywords_content, input#keywords_content, input#keywords');for(var i=0,field;(field=fields.get(i));i++)if(isIE){var ro=document.createAttribute('readonly');ro.value='readonly';field.setAttributeNode(ro)}else field.setAttribute('readonly','readonly')}

var blockGroups={'page-content':'content',sidebar:'sidebar'},blockGroupsArray=['page-content','sidebar']
function makeBlocksEditable(targets){var adminLinks=new DOMQuery('ul#admin-links').get(0),editLink='ul#admin-links li.edit-blocks a';if(!adminLinks)return false;layoutChanges=false;orderChanges=false;blockLayoutsCurrent=new Array();blockLayoutsNew=new Array();blockLayoutsChanged=new Array();saveButton=createDOMNode('li',{'class':'save'},[createDOMNode('a',{title:'Save layout options',href:'javascript:;',event:['click',savePage]},['Save'])]);adminLinks.insertBefore(saveButton,adminLinks.firstChild);addEventToTargets(targets,'click',_makeBlocksEditable,editLink);addEvent(window,'unload',checkBlockChanges);if(getCookie('edit_blocks')=='1'&&new DOMQuery(editLink).get(0))_makeBlocksEditable()}
function _makeBlocksEditable(e){if(e)e.preventDefault();var blocks=new DOMQuery('div.block[id]'),block,blockId,editLink,editable=true;jscss('toggle',new DOMQuery('ul#admin-links li.edit-blocks a').get(0),'active');for(var i=0,block;(block=blocks.get(i));i++)if(editLink=new DOMQuery('ul.block-actions',block).get(0)){editLink.parentNode.removeChild(editLink);editable=false}else{blockId=block.id.match(/block\-([0-9]+)/i);if(!blockId)continue;blockId=blockId[1];blockActions=createDOMNode('ul',{'class':'block-actions'},[createDOMNode('li',{'class':'editlink'},[createDOMNode('a',{href:board_adminscript_url+'?action=update_block&data%5Bblock_id%5D='+blockId,rel:'edit',title:'Blok aanpassen'},['Blok aanpassen'])]),createDOMNode('li',{'class':'layout-menu-link'},[createDOMNode('a',{href:'#',rel:'edit',title:'Layout aanpassen',event:['click',blockLayoutMenu]},['Layout'])])]);block.appendChild(blockActions)};if(editable){makeBlocksSortable();setCookie('edit_blocks','1')}else{for(i in blockGroups)try{Sortable.destroy(i)}catch(e){};setCookie('edit_blocks','0')}}
function blockBackend(e){e.preventDefault();var element=$(this).up('div.block');this.title='Annuleren';if(jscss('check',document.body,'inline-admin')){document.body.removeChild(new DOMQuery('iframe.inline-admin').get(0));if(!isIE)do{jscss('remove',element,'highlight');element=element.parentNode}while(element);jscss('remove',document.body,'inline-admin');this.title='Blok aanpassen';return};var inlineAdmin=createDOMNode('iframe',{src:this.href,'class':'inline-admin'},[]);document.body.appendChild(inlineAdmin);if(!isIE)do{jscss('add',element,'highlight');element=element.parentNode}while(element);jscss('add',document.body,'inline-admin');return}
function blocksToString(container,groupName){var blocks=new DOMQuery(container+' div.block'),waa=new Array(),groupName=groupName||'content';if(blocks.length>0)for(var i=0,block;(block=blocks.get(i));i++)waa[i]=block.id.split('-')[1];return groupName+':'+waa+';'}
function makeBlocksSortable(){for(i in blockGroups)if(new DOMQuery('#'+i).get(0))Sortable.create(i,{ghosting:false,tag:'div',only:'block',constraint:'',hoverclass:'hover',dropOnEmpty:true,containment:blockGroupsArray,onUpdate:sortablesOnUpdate})}
function updateBlockOrder(){var ps='';for(i in blockGroups)ps+=blocksToString('div#'+i,blockGroups[i]);var req=httpreq_string('action=xml_update_blockorder&data[block_order]='+ps,null,board_adminscript_url,null,'POST');req.onreadystatechange=function(){if(req.readyState!=4)return;jscss('remove',saveButton,'busy');jscss('add',saveButton,'done');orderChanges=false}}
function blockLayoutMenu(e){if(!jscss('check',e,'block')){e=e||fixEvent(e);e.preventDefault();var element=$(this).up('div.block')}else var element=e;var menu=new DOMQuery('div.layout-menu',element).get(0),blockID=element.id.match(/block\-([0-9]+)/i)[1];if(menu!=null){if(jscss('check',menu,'open')){Effect.BlindUp(menu,{duration:.5})}else Effect.BlindDown(menu,{duration:.5});jscss('toggle',menu,'open');return};var menu=createDOMNode('div',{'class':'layout-menu open',style:'display: none'},[createDOMNode('h3',{},['Layout opties'])]);element.insertBefore(menu,element.firstChild);var req=httpreq_string('action=xml_get_layouts&data[block_id]='+blockID,null,board_adminscript_url,true,'GET');req.onreadystatechange=function(){if(req.readyState!=4)return;if(req.responseText=='')return;eval('var layoutOptions = '+req.responseText);var currentLayout=element.className.split(' ').slice(2),optionChecked=false,ul=createDOMNode('ul','',''),li,input;for(var i=0;i<layoutOptions.length;i++){optionChecked=false;if(typeof blockLayoutsCurrent[blockID]=='undefined')blockLayoutsCurrent[blockID]=new Array();if(currentLayout.indexOf(layoutOptions[i])!=-1){optionChecked=true;blockLayoutsCurrent[blockID].push(layoutOptions[i])};input=createDOMNode('input',{type:'checkbox',value:layoutOptions[i],event:['click',function(){if(this.checked==true){jscss('add',element,this.value)}else jscss('remove',element,this.value);jscss('remove',saveButton,'done');checkLayoutChanges(blockID)}]},'');if(optionChecked==true)input.defaultChecked=true;switch(layoutOptions[i]){case'show-topic-image':break;case'attach-next-block':addEvent(input,'click',attachBlocks);break};li=createDOMNode('li','',[createDOMNode('label','',[input,layoutOptions[i]])]);ul.appendChild(li)};menu.appendChild(ul);Effect.BlindDown(menu,{duration:.5})}}
function layoutMenuIE6Fix(element){if(isIE&&isNotIE7){var bottomDiv=new DOMQuery('div.bottom',element).get(0);alert(bottomDiv);bottomDiv.style.display='none';bottomDiv.style.display='block'}}
function updateBlockLayouts(){if(layoutChanges==false)return;var layouts='';for(var i=0,len=blockLayoutsChanged.length;i<len;i++){var blockID=blockLayoutsChanged[i];layouts+=blockID+':'+blockLayoutsNew[blockID].toString()+';'};blockLayoutsRequest=httpreq_string('action=xml_save_layouts&data[layouts]='+layouts,null,board_adminscript_url,true)}
function sortablesOnUpdate(){orderChanges=true;jscss('remove',saveButton,'done');checkEmptyGroups()}
function checkEmptyGroups(){var group,blocks;for(i in blockGroups){if(!(group=new DOMQuery('div#'+i).get(0)))continue;blocks=new DOMQuery('div.block',group);if(blocks.length==0){jscss('add',group,'empty')}else jscss('remove',group,'empty')}}
function checkLayoutChanges(blockID){if(typeof blockID=='undefined')return false;if(typeof blockLayoutsChanged!='undefined')blockLayoutsChanged=blockLayoutsChanged.without(blockID);layoutChanges=false;blockLayoutsNew[blockID]=new Array();var layouts=new DOMQuery('div#block-'+blockID+' input[type=checkbox]');for(var i=0,layout;(layout=layouts.get(i));i++)if(layout.checked)blockLayoutsNew[blockID].push(layout.value);if(blockLayoutsNew[blockID].length==blockLayoutsNew[blockID].length){for(var i=0;i<layouts.length;i++)if(blockLayoutsNew[blockID][i]!=blockLayoutsCurrent[blockID][i]){layoutChanges=true;blockLayoutsChanged.push(blockID);break}}else{layoutChanges=true;blockLayoutsChanged.push(blockID)};if(blockLayoutsChanged.length>0){layoutChanges=true}else layoutChanges=false}
function checkBlockChanges(){if(layoutChanges==false&&orderChanges==false)return;if(confirm('Save changes?'))savePage()}
function savePage(e){jscss('add',saveButton,'busy');if(orderChanges==true)updateBlockOrder();if(layoutChanges==true){updateBlockLayouts();jscss('add',saveButton,'busy');if(typeof e!='undefined')blockLayoutsRequest.onreadystatechange=function(){if(blockLayoutsRequest.readyState!=4)return;refreshBlocks();jscss('remove',saveButton,'busy');jscss('add',saveButton,'done')}};layoutChanges=false;orderChanges=false}
function refreshBlocks(){if(blockLayoutsChanged.length==0)return false;var blockID=blockLayoutsChanged.shift(),req=httpreq_string('action=xml_get_block&data[block_id]='+blockID,null,board_adminscript_url,true,'GET');req.onreadystatechange=function(){if(req.readyState!=4)return;var block=document.getElementById('block-'+blockID),layoutMenu=new DOMQuery('div.layout-menu',block).get(0),blockActions=new DOMQuery('ul.block-actions',block).get(0),div=document.createElement('div');div.innerHTML=req.responseText;var updatedBlock=div.getElementsByTagName('div')[0];updatedBlock.insertBefore(layoutMenu,updatedBlock.firstChild);updatedBlock.appendChild(blockActions);block.parentNode.replaceChild(updatedBlock,block);if(blockLayoutsChanged.length==0)makeBlocksSortable()};refreshBlocks()}

var forum_type=forum_type||false,originalDocumentSelectorActions=documentSelectorActions,documentSelectorActions=function(container){var ret=originalDocumentSelectorActions.apply(this,arguments),ul=new DOMQuery('ul',container).get(0),image=new DOMQuery('img',container).get(0);if(!ul)return;if(image&&image.getAttribute('src',2)=='')return ret;var addDocumentLink=new DOMQuery('li.add-document a',container).get(0);if(addDocumentLink&&forum_type=='userforum')addDocumentLink.href=board_script_url+'/project/'+project_id+'/insert_document';return ret},original_documentSelector=_documentSelector,_documentSelector=function(e){var li=getSiblingNode(this,'up','li'),container=getSiblingNode(li,'up','div');switch(li.className){case'select-document':documentWindow=window.open(board_script_url+'/list_documents?data[small]=1'+(project_folder_id?'&data[folder]='+project_folder_id:''),'DocumentLibrary','width=900, height=500, resizable=yes, scrollbars=yes');doclibsOpened[documentWindow]=container;e.preventDefault();return;break};return original_documentSelector.apply(this,arguments)},originalSelectedDocument=selectedDocument,selectedDocument=function(document_id,popup_win){if(topic_document_allowed_formats.indexOf(popup_win.raw_documents[document_id][3])<0){if(isIE){var currentForm=new DOMQuery('div.discussion-content div#document-selector',popup_win.document).get(0)}else var currentForm=new popup_win.DOMQuery('div.discussion-content div#document-selector').get(0);if(currentForm)currentForm.parentNode.removeChild(currentForm);if(isIE){var invoker=new DOMQuery('div.discussion-content div#document_'+document_id,popup_win.document).get(0)}else var invoker=new popup_win.DOMQuery('div.discussion-content div#document_'+document_id).get(0);jscss('remove',invoker,'selected');popup_win.alert('Het geselecteerde bestand is geen afbeelding!');return};var ret=originalSelectedDocument.apply(this,arguments);if(isIE){jscss('add',document.body,'display-none');jscss('remove',document.body,'display-none')};return ret}
function documentActions(){if(board_action!='list_documents')return;addEventToTargets(null,'click',_documentActions,'span#download-documents, span#delete-documents')}
function _documentActions(){var form=getSiblingNode(this,'up','form'),type_field=new DOMQuery('input#submittype',form).get(0),submittype;switch(this.id){case'download-documents':submittype='zip_download';break;case'delete-documents':submittype='delete';break};type_field.value=submittype;form.submit()}

function equalizeColumns(){if(!arguments.callee.delayed){arguments.callee.delayed=true;addEvent(window,'load',arguments.callee);if(isIE)return};var content=new DOMQuery('div#page-content').get(0),sidebar=new DOMQuery('div#sidebar').get(0);if(!content||!sidebar){setGradientHeight();return};var contentHeight=calculateHeight(content),sidebarHeight=calculateHeight(sidebar),sidebarLeft=new DOMQuery('div#sidebar-left',sidebar).get(0),sidebarRight=new DOMQuery('div#sidebar-right',sidebar).get(0),sidebarBottom=new DOMQuery('div#sidebar-bottom',sidebar).get(0);if(sidebarBottom){if(sidebarHeight<contentHeight)sidebar.style.height=contentHeight+'px';var sidebarColumnHeight=Math.max(calculateHeight(sidebarLeft),calculateHeight(sidebarRight))}else if(sidebarHeight<contentHeight){var sidebarTopHeight=0,sidebarTop=new DOMQuery('div#sidebar-top',sidebar).get(0);if(sidebarTop)sidebarTopHeight=calculateHeight(sidebarTop);var sidebarColumnHeight=contentHeight-sidebarTopHeight}else var sidebarColumnHeight=Math.max(calculateHeight(sidebarLeft),calculateHeight(sidebarRight));sidebarLeft.style.height=sidebarRight.style.height=sidebarColumnHeight+'px';setGradientHeight()}
function setGradientHeight(){if(isIE&&isNotIE7){var wrapper=new DOMQuery('div#wrapper-1').get(0);if(!wrapper)return;var height=parseInt(wrapper.scrollHeight),items=new DOMQuery('div.gradient');for(var i=0,item;(item=items.get(i));i++)item.style.height=height+'px'}}
function calculateHeight(element){if(document.defaultView&&typeof (document.defaultView.getComputedStyle)=="function"){height=parseInt(document.defaultView.getComputedStyle(element,"").getPropertyValue("height"))}else if(element.currentStyle)height=parseInt(element.scrollHeight);return height}
function moveContextualLinks(){return false;var sidebarLeft=new DOMQuery('div#sidebar-left').get(0);if(!sidebarLeft)return;var folders=new DOMQuery('div#page-content div.discussion-folders').get(0);if(folders){sidebarLeft.insertBefore(createDOMNode('div',{'class':'block block-type-discussion-folders'},[folders.cloneNode(true)]),sidebarLeft.firstChild);folders.parentNode.removeChild(folders)};var contextualLinks=new DOMQuery('div#page-content div.block div#action-header > ul.related-links, div#page-header ul.related-links'),collection=[];for(var i=0,item;(item=contextualLinks.get(i));i++){collection.push(item.cloneNode(true));item.parentNode.removeChild(item)};if(collection.length)sidebarLeft.insertBefore(createDOMNode('div',{'class':'block block-type-contextual-links highlight'},collection),sidebarLeft.firstChild)}
function hidePasswordFieldUntilChecked(targets){var items=getTargets(targets,'form#form-subscribe-forum dl dd ul li input[type=checkbox]');for(var i=0,item,passwordContainer;(item=items.get(i));i++){passwordContainer=new DOMQuery('input[type=password]',getSiblingNode(item,'up','li')).get(0);if(!passwordContainer)continue;passwordContainer=getSiblingNode(passwordContainer,'up','span');jscss((item.checked?'remove':'add'),passwordContainer,'display-none');addEvent(item,'change',_hidePasswordFieldUntilChecked)}}
function _hidePasswordFieldUntilChecked(){passwordContainer=getSiblingNode(new DOMQuery('input[type=password]',getSiblingNode(this,'up','li')).get(0),'up','span');jscss((this.checked?'remove':'add'),passwordContainer,'display-none')}
function _validateNickname(){if(_xmlrequestComplete(nicknamereq)){var result=_validationResult(nicknamereq),input=new DOMQuery('input#nickname').get(0);if(isIE){var span=getSiblingNode(getSiblingNode(input,'up','div'),'next','span')}else var span=getSiblingNode(input,'next','span');jscss('remove',span,'validating');if(result==-1){jscss('remove',span,'succes');alertUser(new DOMQuery('input#nickname').get(0),getText('forms','no_preg_match'))}else if(result!=input.value){jscss('remove',span,'succes');alertUser(new DOMQuery('input#nickname').get(0),getText('forms','username_taken',result))}else jscss('add',span,'succes')}}
function checkNicknameButton(){if(board_action!='create_user')return;var input=new DOMQuery('input#nickname').get(0);if(!input)return;var button=createDOMNode('a',{'class':'text-button clickable',event:['click',function(){if(isIE){var span=getSiblingNode(getSiblingNode(input,'up','div'),'next','span')}else var span=getSiblingNode(input,'next','span');jscss('remove',span,'succes');jscss('add',span,'validating');validateNickname(input)}]},[getText('vdwvm','check_availability')]);input.parentNode.appendChild(createDOMNode('span',{'class':'status'},[]));input.parentNode.appendChild(button)}
function fixBrowserIssuesVdwvm(){var submitbuttons=new DOMQuery('form dl > dd input#submit-btn, form dl > dd input#admin-submit, form dl > dd button#submit-btn');for(var i=0,submitbutton,dd;(submitbutton=submitbuttons.get(i));i++){dd=getSiblingNode(submitbutton,'up','dd');jscss('add',dd,'submit');jscss('add',getSiblingNode(dd,'previous','dt'),'submit')};if(isIE){if(!isIE7){addClassToTargets('ol.breadcrumb li:first-child,div.block:first-child,div#page-content div.block-type-react-action ol#weblog-topics li.topic:first-child,div#sidebar dt:first-child,div#sidebar div.block-type-communities-list li:first-child,div#sidebar div.block-type-communities-list dt:first-child,ol.messages li.message:first-child,div#header ul#site-navigation li:first-child,div#bottom-footer div.block-type-static ul.partners li:first-child,div.list_topics tbody tr:first-child,div#bottom-footer div.disclaimers ul li:first-child','first-child');addClassToTargets('div#header ul#site-navigation li > a > span','child');addClassToTargets('div.block-is-primary-react-action h3 + dl,div.block-is-primary-react-action h3 + fieldset dl,div.block-is-primary-react-action h3 + input.hidden + fieldset dl','h3-adjacent');var selects=new DOMQuery('select'),items=new DOMQuery('ul#site-navigation li');for(var i=0,item;(item=items.get(i));i++){addEvent(item,'mouseover',function(){jscss('add',this,'hover');if(jscss('check',this,'nav-community')||jscss('check',this,'nav-partners')||jscss('check',this,'nav-how'))for(var j=0,select;(select=selects.get(j));j++)jscss('add',select,'visibility-hidden')});addEvent(item,'mouseout',function(){jscss('remove',this,'hover');if(jscss('check',this,'nav-community')||jscss('check',this,'nav-partners')||jscss('check',this,'nav-how'))for(var j=0,select;(select=selects.get(j));j++)jscss('remove',select,'visibility-hidden')})}};var homeLink=new DOMQuery('a#home-link').get(0);if(homeLink)homeLink.style.display='block';addClassToTargets('ol.breadcrumb li:last-child','last-child');var classes=['div.highlight.first-child','li.message.frontpage.first-child','div.block-type-react-action.list_users','div.show-topic-replycount.show-topic-date','li.nav-ideas.active','li.nav-help.active','li.nav-action.active','li.nav-archive.active'];for(var i=0;i<classes.length;i++)addClassToTargets(classes[i],classes[i].replace(/^[^.]*\./,'').replace(/\./g,'-'));var items=new DOMQuery('ol.breadcrumb li');for(var i=0,item;(item=items.get(i));i++)if(!jscss('check',item,'last-child'))item.appendChild(createDOMNode('span',{},[' / ']));var items=new DOMQuery('input, textarea');for(var i=0,item;(item=items.get(i));i++){addEvent(item,'focus',function(){jscss('add',this,'focus')});addEvent(item,'blur',function(){jscss('remove',this,'focus')})};var buttons=new DOMQuery('a.text-button,span.text-button,form button,form input[type=submit],form input[type=button],form input[type=text],form input[type=password],form textarea');if(buttons.length){var div=createDOMNode('div',{},[]),div_clone,button_type,div_class;for(var i=0,button;(button=buttons.get(i));i++){if(jscss('check',button,'no-container'))continue;if(isNotIE7&&(button.id=='quick-login-form-user'||button.id=='quick-login-form-password'))continue;button_type=(button.nodeName=='textarea')?'textarea':button.getAttribute('type');div_clone=div.cloneNode(false);switch(button_type){case'text':case'password':div_class='input-container';break;case'textarea':div_class='textarea-container';if(button.id=='rml_textarea')div_class+=' rml_textarea '+button.className;break;default:div_class='button-container';break};jscss('add',div_clone,div_class);if(jscss('check',button,'main-button')||button_type=='submit'||button_type=='button')jscss('add',div_clone,'main-button');button.parentNode.insertBefore(div_clone,button);switch(button_type){case'text':case'password':div_clone.appendChild(createDOMNode('span',{'class':'input-container-2 '+button.className},[button]));break;case'textarea':div_clone.appendChild(createDOMNode('div',{'class':'textarea-container-2 '+button.className},[button]));break;default:div_clone.appendChild(button);break}}}}};var originalhandleRMLToolbarClick=handleRMLToolbarClick,handleRMLToolbarClick=function(){if(this.parentNode&&this.parentNode.nextSibling&&this.parentNode.nextSibling.tagName=='TEXTAREA')currentTextarea=this.parentNode.nextSibling;var listtype,my_link,my_title,sel,rows,type,out;switch(this.id){case'rmltoolbar_documentlibrary':if(project_id!=''){var ref=window.open(board_script_url+'/list_documents?data[small]=1'+(project_folder_id?'&data[folder]='+project_folder_id:''),'DocumentLibrary','width=1024,height=650,resizable=yes,scrollbars=yes')}else var ref=window.open(board_script_url+'/list_documents?data[small]=1','DocumentLibrary','width=1024,height=650,resizable=yes,scrollbars=yes');doclibsOpened[ref]=this.parentNode.nextSibling;break;case'rmltoolbar_youtube':if(getCurrentSelection()!=''){wrapSelection('[youtube]','[/youtube]');return};my_link=prompt(getText('toolbar','youtube_link'),'http://');if(my_link!=null&&my_link!='http://'){lft="[youtube]"+my_link;rgt="[/youtube]";wrapSelection(lft,rgt)};return;default:return originalhandleRMLToolbarClick.apply(this,arguments)}}
function keywordSelectorHandleClick(s){var o=s.options[s.selectedIndex],i=document.getElementById('keywords_content');if(!i)i=document.getElementById('keywords');var k=' '+o.value+' ',v=' '+i.value+' ',p=v.indexOf(k);if(p!=-1){v=v.substr(0,p)+' '+v.substr(p+k.length);jscss('remove',o,'selected')}else{v+=k;jscss('add',o,'selected')};i.value=v.replace('  ',' ').replace(/^\s+|\s+$/g,'');s.selectedIndex=-1}
function quickSearchTargets(){var select=new DOMQuery('form#quick-search-form dl select#quick-search-in').get(0);if(!select)return;_quickSearchTargets(select);addEvent(select,'change',_quickSearchTargets)}
function _quickSearchTargets(element){if(typeof element=='object'&&element.tagName=='SELECT'){var self=element}else var self=this;var action=new DOMQuery('form#quick-search-form input[name="action"]').get(0),query=document.getElementById('quick-search-form-query');if(self.value=='members'){action.value='list_users';query.setAttribute('name','data[search_for]')}else if(self.value=='messages'){action.value='find';query.setAttribute('name','data[q]')}}
function rateThruXMLHTTP(targets){if(!board_user_id)return;addEventToTargets(targets,'click',_rateThruXMLHTTP,'div.block-type-rating a')}
function _rateThruXMLHTTP(e){var self=this,url=this.href,urlParts=url.split('/').reverse();if(self.rel)return e.preventDefault();if(!url)return;var req='data[reactid]='+getCookie('ReactID'),div=getSiblingNode(this,'up','div'),res=httpreq_string(req,null,url,true,'POST');jscss('add',div,'rating-loading');res.onreadystatechange=function(){if(res.readyState!=4)return;if(res.getResponseHeader('X-Errormessage'))return alert(res.getResponseHeader('X-Errormessage'));if(isIE)var d=new Date();var rating=httpreq_string((isIE?d.getTime():''),null,board_script_url+'/get_rating/'+(jscss('check',self,'rate-document')?'document':'forum')+'/'+urlParts[1],false,'GET'),new_rating=rating.responseXML.getElementsByTagName('average_rating_percentage')[0].firstChild.nodeValue,new_count=rating.responseXML.getElementsByTagName('votes')[0].firstChild.nodeValue;jscss('remove',div,'rating-loading');var project_div=getSiblingNode(div,'up','div'),votes=new DOMQuery('dl dd.stats-votes',project_div).get(0);if(votes)votes.firstChild.nodeValue=new_count;var votes_week=new DOMQuery('dl dd.stats-votes-this-week',project_div).get(0);if(votes_week)votes_week.firstChild.nodeValue=parseInt(votes_week.firstChild.nodeValue)+1;self.blur();var span=createDOMNode('span',{'class':'user-has-rated'},['Je hebt gestemd']);self.parentNode.replaceChild(span,self);if(jscss('check',project_div.parentNode,'project'))jscss('add',project_div.parentNode,'user-has-rated')};e.preventDefault()}
function pmMaxRecipients(){addEventToTargets(null,'keydown',_pmMaxRecipients,'form#form-pm-new-message input#recipients')}
function _pmMaxRecipients(e){var maxentries,value,entries;if(!this.hasAttribute('maxentries'))return;maxentries=this.getAttribute('maxentries');if(this.value.indexOf('"')!=-1){value=this.value.replace(/"[^"]*"/g,'x')}else value=this.value;if((value.split(',').length>maxentries)){alertUser(this,getText('forms','max_receipients_reached'))}else unAlertUser(this)};var originalFocusFirstFormField=focusFirstFormField,focusFirstFormField=function(){if(!document.getElementById('form-find'))return originalFocusFirstFormField.apply(this,arguments)}
function textareaMaximumWords(){addEventToTargets(null,'keyup',_textareaMaximumWords,'form#form-submit-verhaal textarea.max-words');addEventToTargets(null,'mouseup',_textareaMaximumWords,'form#form-submit-verhaal textarea.max-words');if(isIE)addEventToTargets(null,'paste',_textareaMaximumWords,'form#form-submit-verhaal textarea.max-words');items=new DOMQuery('form#form-submit-verhaal textarea.max-words');for(var i=0,item;(item=items.get(i));i++)_textareaMaximumWords('',item)};var shownMaxWordsAlert=false
function _textareaMaximumWords(e,textarea){var maxwords,span,words;if(typeof textarea=='undefined')textarea=this;if(!textarea.getAttribute('maxwords'))return;maxwords=textarea.getAttribute('maxwords');span=new DOMQuery('span',getSiblingNode(textarea.parentNode,'next','dd')).get(0);if(!span)return;words=textarea.value.replace(/^\s+|\s+$/g,'').split(/[^a-z]+/).length;if(!isIE)words--;span.style.color='';span.innerHTML=maxwords-words;if(words<=maxwords){shownMaxWordsAlert=false}else{span.style.color='red';if(!shownMaxWordsAlert){alert('Let op; je gebruikt meer dan 500 woorden!');shownMaxWordsAlert=true}}}
function textareaMaximumCharacters(){addEventToTargets(null,'keyup',_textareaMaximumCharacters,'textarea');addEventToTargets(null,'mouseup',_textareaMaximumCharacters,'textarea')}
function _textareaMaximumCharacters(textarea){var calledByValidateField=false;if(textarea.tagName=='TEXTAREA'){var self=textarea;calledByValidateField=true}else self=this;if(self.className.indexOf('character-limit-')<0)return false;var limitRegexp=/character-limit-([0-9]+)/,maxCharacters=limitRegexp.exec(self.className)[1],alertLimit=20,characters=self.value.length,alertString,x,preventSubmit=false;if(characters>maxCharacters){x=characters-maxCharacters;alertString='Je tekst is '+x+' karakter'+(x==1?'':'s')+' te lang!';preventSubmit=true}else if((characters+alertLimit)>=maxCharacters&&!calledByValidateField){x=maxCharacters-characters;alertString='Je hebt nog maar '+x+' van de '+maxCharacters+' karakters over!'}else return unAlertUser(self);updateAlertUser(self,alertString);return preventSubmit}
function updateAlertUser(inputfield,str){var ddInputField=getSiblingNode(inputfield,'up','dd'),ddErrorMsg=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'next','dd'),dtFieldName=getSiblingNode(getSiblingNode(inputfield,'up','dd'),'previous','dt');if(ddErrorMsg&&jscss('check',ddErrorMsg,'dd-sequence field-alert')){ddErrorMsg.firstChild.nodeValue=str}else alertUser(inputfield,str)};var validateFieldOriginal=validateField,validateField=function(ob,ret){var field=this.tagName?this:ob,lightbox=field;while(lightbox&&!jscss('check',lightbox,'lightbox'))lightbox=getSiblingNode(lightbox,'up','div');var lightboxAction=lightbox&&(jscss('check',lightbox,'layer-edit-project')||jscss('check',lightbox,'layer-create-project')||jscss('check',lightbox,'layer-add-document'));if((board_action=='edit_user'||lightboxAction)&&field.type=='file'&&field.value.trim()!=''){var type=field.value.split('.').reverse()[0].toLowerCase();if(topic_document_allowed_formats.indexOf(type)<0){alertUser(field,getText('vdwvm','document_is_no_image'));return true}else unAlertUser(field)};var result;if(field.tagName=='TEXTAREA'&&field.value.trim()!=''){result=_textareaMaximumCharacters(field)}else if(field.id=="test"){result=_projectCheckName(field)}else if(field.id=='email2'&&field.value.trim()!=''){result=validateEmail(field)}else var result=validateFieldOriginal(ob,ret);return result},validateEmailOriginal=validateEmail,validateEmail=function(field){if(field.id=='email2'){unAlertUser(field);var email=new DOMQuery('input#email').get(0);if(email.value!=field.value){alertUser(field,getText('forms','email_addresses_no_match'));return true}};return validateEmailOriginal(field)}
function quicksearch(){var inputs=new DOMQuery('input#quick-search-form-query');if(!inputs)return;for(var i=0,input;(input=inputs.get(i));i++){if(input.value=='')input.value=getText('normal','quicksearch');addEvent(input,'focus',_quicksearch);addEvent(input,'blur',_quicksearch)}}
function _quicksearch(e){switch(e.type){case'focus':if(this.value==getText('normal','quicksearch'))this.value='';break;case'blur':if(this.value.trim()=='')this.value=getText('normal','quicksearch');break}}
function dynamicInputFieldsAddEntry(e){var parentOl=getSiblingNode(this,'up','ol'),parentLi=getSiblingNode(this,'up','li'),limitRegexp=/^limit-([0-9]+)$/,cssClasses=jscss.getClassList(parentOl);for(var i=0,limit=0,m;i<cssClasses.length;i++){if(!(m=limitRegexp.exec(cssClasses[i])))continue;limit=parseInt(m[1]);if(limit!=0&&parentOl.childNodes.length>=limit){e.preventDefault();return};break};var newLi=parentLi.cloneNode(true),inputs=new DOMQuery('input',newLi);for(var i=0,input;(input=inputs.get(i));i++)input.value='';parentOl.appendChild(newLi);var link=new DOMQuery('a.add-entry-link',newLi).get(0);if(isIE)link.events={};addEvent(link,'click',dynamicInputFieldsAddEntry);this.className='remove-entry-link';removeEvent(this,'click',dynamicInputFieldsAddEntry);addEvent(this,'click',dynamicInputFieldsRemoveEntry);e.joehoe=true;e.preventDefault()}
function dynamicInputFieldsRemoveEntry(e){if(e.joehoe)return;var parentOl=getSiblingNode(this,'up','ol');if(parentOl.childNodes.length==1){e.preventDefault();return};var parentLi=getSiblingNode(this,'up','li');parentOl.removeChild(parentLi);e.preventDefault()}
function dynamicInputFields(text){addEventToTargets('ol.dynamic-entries li a.add-entry-link','click',dynamicInputFieldsAddEntry);addEventToTargets('ol.dynamic-entries li a.remove-entry-link','click',dynamicInputFieldsRemoveEntry)}
function createFooter(){var footer=new DOMQuery('div#bottom-footer').get(0);if(!footer)return;var quicksearch=new DOMQuery('form#quick-search-form').get(0);if(quicksearch)footer.appendChild(quicksearch.cloneNode(true))}
function createLayerLinks(){var links=new DOMQuery('div#content ul.related-links li.topic-new-topic a,div#content ul.related-links li.forum-new-topic a');for(var i=0,link,layerName;(link=links.get(i));i++){if(link.href.indexOf('create_project')!=-1){layerName='create-project'}else{layerName='insert-topic';jscss('add',link,'text-button main-button')};link.setAttribute('rel','layer['+layerName+']')}}
function createTabs(){var tabs=new DOMQuery('div.block div.tabs ul a[rel^=tab-]');if(!tabs)return;for(var i=0,tab;(tab=tabs.get(i));i++)addEvent(tab,'click',_toggleTab);if(document.location.hash.indexOf('tab-')!=-1)_toggleTab(document.location.hash.substr(1))}
function _toggleTab(id){var self=this;if(typeof id=='string'){var fake_invoker=new DOMQuery('div.tabs ul li a[rel='+id+']').get(0);if(!fake_invoker)return;self=fake_invoker};var block=self;while(block&&!block.id)block=getSiblingNode(block,'up','div');removeClassFromTargets('div.tabs ul li','active',block);jscss('add',getSiblingNode(self,'up','li'),'active');var tabs=new DOMQuery('div.tab',block);for(var i=0,tab;(tab=tabs.get(i));i++){var required_fields=new DOMQuery('dt.required',tab);for(var j=0,required_field;(required_field=required_fields.get(j));j++){jscss('remove',required_field,'required');jscss('add',required_field,'was-required')};jscss('add',tab,'display-none')};var activeTab=new DOMQuery('div.'+self.getAttribute('rel'),block).get(0);jscss('remove',activeTab,'display-none');var required_fields=new DOMQuery('dt.was-required',activeTab);for(var j=0,required_field;(required_field=required_fields.get(j));j++){jscss('add',required_field,'required');jscss('remove',required_field,'was-required')};equalizeColumns()}
function attachTogglers(){addEventToTargets('a.toggle, input.toggle','click',_toggleIt)}
function _toggleIt(e){e.preventDefault();var id=this.id.replace('toggle-',''),target=new DOMQuery('#'+id).get(0);if(target)target.style.display=(target.style.display=='block'?'none':'block');equalizeColumns()}
function stretchTextareas(targets){targets=new DOMQuery(targets,document.body);addEventToTargets(targets,'keyup',stretchTextarea,'textarea#rml_textarea');addEventToTargets(targets,'change',stretchTextarea,'textarea#rml_textarea')}
function setCaretPosition(element,position){if(typeof element!='object')return;if(element.setSelectionRange){element.setSelectionRange(position,position);if(!isIE)element.scrollTop=element.scrollHeight}else{var range=element.createTextRange();range.move('character',position);range.select()}}
function focusTextareaCursor(){var textarea=new DOMQuery('body.quote_message form.primary-input textarea#rml_textarea').get(0);if(!textarea)return;var textLength=textarea.firstChild.nodeValue.length;addEvent(textarea,'focus',function(){if(jscss('check',this,'has-been-focussed'))return;setCaretPosition(this,textLength);jscss('add',this,'has-been-focussed')})}
function externalLinksInPopup(targets){var items=getTargets(targets,'ol.messages a.link'),a=createDOMNode('a',{href:board_script_url},[]),hostname=a.hostname;hostname=hostname.replace('www.','');for(var i=0,item;(item=items.get(i));i++)if(item.href&&-1==item.hostname.indexOf(hostname)&&['http:','https:'].indexOf(item.protocol)!=-1)addEvent(item,'click',function(e){window.open(this.href,'popupexternal');e.preventDefault()})}
function quickreplyToggle(){if(board_user_id||(board_action!='list_messages'&&board_action!='list_message'))return;addEventToTargets(null,'click',_quickreplyToggle,'span.quickreply-toggle')}
function _quickreplyToggle(){var qr_anonymous=new DOMQuery('div#quickreply-anonymous').get(0),qr_login=new DOMQuery('div#quickreply-login').get(0),fields_anonymous=new DOMQuery('input',qr_anonymous),fields_login=new DOMQuery('input',qr_login),field;if(!(qr_anonymous&&qr_login))return;jscss('toggle',qr_anonymous,'display-none');jscss('toggle',qr_login,'display-none');var dts=new DOMQuery('div#quickreply-anonymous dt.required,div#quickreply-login dt.required, div#quickreply-anonymous dt.was-required,div#quickreply-login dt.was-required');for(var i=0,dt;(dt=dts.get(i));i++){jscss('toggle',dt,'was-required');jscss('toggle',dt,'required')};for(i=0,field;(field=fields_anonymous.get(i));i++)if(field.getAttribute('disabled')){field.removeAttribute('disabled')}else field.setAttribute('disabled','disabled');for(i=0,field;(field=fields_login.get(i));i++)if(field.getAttribute('disabled')){field.removeAttribute('disabled')}else field.setAttribute('disabled','disabled');var email_field=new DOMQuery('input.validate-email, input.was-validate-email',qr_anonymous).get(0),url_field=new DOMQuery('input.validate-url, input.was-validate-url',qr_anonymous).get(0);jscss('toggle',email_field,'was-validate-email');jscss('toggle',email_field,'validate-email');jscss('toggle',url_field,'was-validate-url');jscss('toggle',url_field,'validate-url')}
function positionSocialLinks(){if(board_action!='list_messages'&&board_action!='list_message')return;var block=new DOMQuery('div.block-type-socialmedia-links').get(0),links=new DOMQuery('ul.links',block).get(0),messageinfo=new DOMQuery('ol#firstmessage div.message-content-content div.topic-author-info').get(0);if(!block||!messageinfo)return;var text=createDOMNode('p',{},['Deel deze blog posting: ']);messageinfo.parentNode.insertBefore(block,messageinfo);block.insertBefore(text,links)}

var _contentInLayerOld=_contentInLayer;_contentInLayer=function(e){var rel=this.getAttribute('rel')&&this.getAttribute('rel').match(/layer\[([^\]]+)\]/i);if(rel[1])current_lightbox=rel[1];return _contentInLayerOld.apply(this,arguments)};var _contentInLayerCallbackOld=_contentInLayerCallback,calledFromLightbox=false;_contentInLayerCallback=function(invoker,id,rel){if(rel&&rel.length)switch(rel[1]){case'activate_user':return{specificElement:'div#core',onSubmitCallback:lightboxSubmitCallback};case'niet-ok':return{specificElement:'div.block-type-react-action.insert_topic',container:null,onSubmitCallback:lightboxSubmitCallback};case'edit-project':case'create-project':case'create_project':board_action='insert_topic';case'update-project-round':case'update-project-round-archive':case'edit-resources':case'edit-resources-people':calledFromLightbox=true;return{specificElement:'div#core',onSubmitCallback:lightboxSubmitCallback};case'insert-topic':board_action='insert_topic';default:calledFromLightbox=true;return{specificElement:'div.block-type-react-action',onSubmitCallback:lightboxSubmitCallback}};return _contentInLayerCallbackOld.apply(this,arguments)};var validateFormsOld=validateForms;validateForms=function(targets){if(!calledFromLightbox==true)return validateFormsOld.apply(this,arguments);var items=getTargets(targets,"form input[type=submit]");if(items.length==0)return;for(var i=0,item;(item=items.get(i));i++)addEvent(item,'click',function(e){if(!validateForm(getSiblingNode(this,'up','form'))){var lightbox=findLightbox(this);jscss('remove',lightbox,'submitting');e.preventDefault();e.stopPropagation();return false}});items=new DOMQuery(formRequiredFieldsDOMQuery);if(items.length>0){var text=new DOMQuery('div#action-header p'),p;if(text.length>0){p=text.get(0);p.appendChild(createDOMNode(null,{},[createDOMNode('br',{},[]),createDOMNode('span',{},[getText('forms','marked_fields')]),createDOMNode('span',{"class":'required'},['*']),createDOMNode('span',{},[getText('forms','required')])]))}else{p=createDOMNode('p',{},[createDOMNode('span',{},[getText('forms','marked_fields')]),createDOMNode('span',{"class":'required'},['*']),createDOMNode('span',{},[getText('forms','required')])]);var h2=new DOMQuery('div#action-header h2').get(0);if(h2)h2.parentNode.insertBefore(p,h2)}};items=new DOMQuery(formValidateFieldsDOMQuery);for(var j=0;(item=items.get(j));j++)addEvent(item,'change',function(){validateField(this)})}
function createLightbox(content,lightboxId,className){lightbox=createDOMNode('div',{id:lightboxId,'class':'lightbox'+(className?' '+className:'')},[]);var button=new DOMQuery('span#close',content).get(0);button.firstChild.nodeValue=getText('vdwvm','lightbox_cancel');jscss('add',button,'text-button');lightbox.appendChild(content);var other_lightboxes=new DOMQuery('body > div.lightbox');if(other_lightboxes.length)jscss('add',document.body,'displaying-multiple-lightboxes');jscss('add',document.body,'displaying-lightbox');document.body.appendChild(lightbox);if(isIE)jscss('add',document.documentElement,'displaying-lightbox');if(lightbox.scrollIntoView)lightbox.scrollIntoView();return lightbox}
function toggleLightbox(lightboxId){if(typeof lightboxId!='string'){var lightbox=this.parentNode;while(!jscss('check',lightbox,'lightbox')&&lightbox.tagName!='html')lightbox=lightbox.parentNode;if(lightbox.tagName=='html')return false;lightboxId=lightbox.id};var lightbox=new DOMQuery('div#'+lightboxId).get(0);if(lightbox){lightbox.parentNode.removeChild(lightbox);var other_lightboxes=new DOMQuery('body > div.lightbox');if(other_lightboxes.length){if(other_lightboxes.length==1)jscss('remove',document.body,'displaying-multiple-lightboxes');return false};jscss('toggle',document.body,'displaying-lightbox');if(isIE)jscss('toggle',document.documentElement,'displaying-lightbox');board_action=board_action_original;return true}}
function lightboxSubmitCallback(xhrRequest,container){if(typeof xhrRequest.responseXML=="undefined"){if(isIE){var _result2=new DOMQuery('div.block-type-react-action',xhrRequest.document.body).get(0);if(!_result2)var _result2=new DOMQuery('div#core',xhrRequest.document.body).get(0);var _result=document.createElement('div');_result.innerHTML=_result2.innerHTML}else{var tmp=document.createElement('div');tmp.innerHTML=unescape(xhrRequest.body.innerHTML);var result=new DOMQuery('div.block-type-react-action',tmp).get(0);if(!result)var result=new DOMQuery('div#core',tmp).get(0);try{_result=document.adoptNode(result,true)}catch(e){_result=document.importNode(result,true)}}}else{var _result=getElementFromXHR(xhrRequest,'div.block-type-react-action');if(!_result)var _result=getElementFromXHR(xhrRequest,'div#core')};container.replaceChild(_result,container.firstChild);jscss('remove',container,'submitting');var form=new DOMQuery('form',_result).get(0);if(form){_contentInLayerAfterError(container);container.appendChild(createDOMNode('span',{'class':'clickable text-button close',id:'close',event:['click',toggleLightbox]},[getText('vdwvm','lightbox_cancel')]))}else container.appendChild(createDOMNode('div',{'class':'right-button'},[createDOMNode('span',{'class':'clickable text-button main-button',id:'close',event:['click',function(e){handleLightboxClose(this,xhrRequest,container)}]},[getText('vdwvm','lightbox_ok')])]));_init(events,container);return{toggleLightbox:false,removeForm:true}}
function handleLightboxClose(scope,xhrRequest,container){var elements=new DOMQuery('a[rel=redirect]',container);if(elements.length){var element=elements.get(0);toggleLightbox.apply(container,[]);location.href=element.href}else toggleLightbox.apply(scope,[])}
function lightboxPostProcess(){var button=new DOMQuery('div.lightbox-content > span#close',document.body).get(0);if(!button)return;var lightbox=findLightbox(button),submitButtons=new DOMQuery('input[type="submit"]',lightbox);if(submitButtons.length)var submitButton=submitButtons.get(submitButtons.length-1);if(submitButton){addEvent(button,'click',function(){var form=getSiblingNode(this,'up','form');form.reset()});addEvent(submitButton,'click',function(){var lightbox=findLightbox(this);jscss('add',lightbox,'submitting')});submitButton.parentNode.insertBefore(button,submitButton)}else{button.className+=" main-button";button.firstChild.nodeValue=getText('vdwvm','lightbox_ok');lightbox.appendChild(createDOMNode('div',{'class':'right-button'},[button]))}}
function imageLightbox(targets){if(!jscss('check',DOMQuery.prototype.scope,'lightbox-content'))addEventToTargets(targets,'click',_imageLightbox,'a[rel^="document-lightbox"]')}
function _imageLightbox(e){var id=this.getAttribute('rel'),className='document-lightbox';if(toggleLightbox(id)){e.preventDefault();return};container=createDOMNode('div',{'class':'lightbox-content'},[createDOMNode('div',{'class':'document-container'},[createDOMNode('img',{src:this.href,alt:''},[])]),createDOMNode('span',{'class':'clickable close',id:'close',event:['click',toggleLightbox]},[getText('vdwvm','lightbox_ok')])]);var lightbox=createLightbox(container,id,className);e.preventDefault()}
function findLightbox(invoker){var lightbox=invoker;while(!jscss('check',lightbox,'lightbox-content')&&lightbox.tagName!='html')lightbox=lightbox.parentNode;return lightbox}
function handleXErrorMessage(error,container){jscss('remove',container,'loading');var form=new DOMQuery('form',container).get(0),p_error=createDOMNode('p',{'class':'x-error-message'},[error]);if(form){jscss('remove',container,'submitting');var p=new DOMQuery('p.x-error-message',form).get(0);if(p){p.parentNode.replaceChild(p_error,p)}else form.insertBefore(p_error,form.firstChild)}else{container.innerHTML='';container.appendChild(createDOMNode('h2',{},[getText('vdwvm','error_heading')]));container.appendChild(p_error);container.appendChild(createDOMNode('div',{'class':'right-button'},[createDOMNode('span',{'class':'clickable text-button main-button',id:'close',event:['click',toggleLightbox]},[getText('vdwvm','lightbox_ok')])]))}}
function _contentInLayerAfterError(container){var form=new DOMQuery('form.primary-input',container).get(0);if(!form&&element.tagName.toLowerCase()=='form')form=element;if(form){var eventTarget=form;if(form.addEventListener)var eventTarget=form.parentNode;if(eventTarget.tagName=='form'||typeof eventTarget.__preventDefaultHandler=='undefined'){addEvent.eventListenerUseCapture=true;addEvent(eventTarget,'submit',function(e){e.__preventDefault=e.preventDefault;e.preventDefault=function(){e.defaultPrevented=true;e.__preventDefault()}});addEvent.eventListenerUseCapture=false;eventTarget.__preventDefaultHandler=true};var onsubmit=function(e){if(e.defaultPrevented)return false;if(e&&e.type=="submit"&&typeof e.explicitOriginalTarget!='undefined'&&e.explicitOriginalTarget.name=="data[preview]")return true;var processResult=function(transport,error){if(error){handleXErrorMessage(error,container);return};var callbackResult={removeForm:true,toggleLightbox:true},onSubmitCallback=lightboxSubmitCallback;if(onSubmitCallback){tmpCallbackResult=onSubmitCallback(transport,container);if(typeof tmpCallbackResult=="object")callbackResult=tmpCallbackResult};if(callbackResult.removeForm)form.parentNode.removeChild(form);if(lightbox&&callbackResult.toggleLightbox)toggleLightbox(id)},request=gatherHttpForm(this);if(request){var updatereq=httpreq_string(request,null,null,false);processResult(updatereq,updatereq.getResponseHeader('X-Errormessage'));e.preventDefault()}else{var iframeName='iframe-xhr-emulator-'+new Date().getTime(),oldIframe=new DOMQuery('iframe.iframe-xhr-emulator').get(0);if(oldIframe)oldIframe.parentNode.removeChild(oldIframe);if(isIE){var ieHelper=createDOMNode('div',{},[]);ieHelper.innerHTML='<iframe name="'+iframeName+'" id="'+iframeName+'" src="about:blank" class="display-none iframe-xhr-emulator"></iframe>';document.body.appendChild(ieHelper);ieHelper.firstChild.onreadystatechange=function(){if(this.readyState=='complete')processResult(this.contentWindow,parent.frames[iframeName].error_message)}}else document.body.appendChild(createDOMNode('iframe',{'class':'display-none iframe-xhr-emulator',name:iframeName,id:iframeName,event:['load',function(){processResult(this.contentDocument,window.frames[iframeName].error_message)}]},[]));this.target=iframeName;this.setAttribute('target',iframeName);this.appendChild(createDOMNode('input',{type:'hidden',name:'dont_meta_refresh',value:'1'},[]));return}};addEvent(form,'submit',onsubmit)}}
function redirectToLightbox(){if(current_lightbox.length>0||parent.current_lightbox.length>0)return;events=[];document.documentElement.id='redirecting';var redirect=board_http_referrer+(board_http_referrer.indexOf('?')!=-1?'&':'?')+'lightbox='+escape(document.location.href);setTimeout(function(){document.location=redirect},0)}
function openRedirectLightboxes(){if(document.location.search.indexOf('lightbox')==-1)return;if(document.location.search){var uri=decodeURI(unescape(document.location.search)),parts=uri.substring(1).split('?'),vars=Object,pair;for(var i=0,part;(part=parts[i]);i++){pair=part.split('=');vars[pair[0]]=pair[1]};var a=new DOMQuery('a[href^='+vars.lightbox+']').get(0);if(!a)return;openLightbox(a)}}
function openOnloadLightbox(){if(typeof lightbox_onload=='undefined'||!lightbox_onload)return;if(isIE){var a=new DOMQuery('a[rel*='+lightbox_onload+']').get(0);if(!a)return;if(a.getAttribute('rel').indexOf('layer['+lightbox_onload+']')==-1)return}else var a=new DOMQuery('a[rel="layer['+lightbox_onload+']"]').get(0);if(!a)return;openLightbox(a)}
function openLightbox(invoker){if(document.createEvent){var evt=document.createEvent("MouseEvents");evt.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);invoker.dispatchEvent(evt)}else if(document.createEventObject){var evt=document.createEventObject();invoker.fireEvent("onclick",evt)}}

function fixBrowserIssues(){var i=0,items,item;if(board_action=='error_general'){var reference=new DOMQuery('ul.error-links li.home').get(0);if(reference)reference.parentNode.appendChild(createDOMNode('li',{"class":"back"},[createDOMNode('span',{"class":"clickable",event:['click',function(){history.go(-1)}]},[getText('normal','back')])]))};if(isWebKit){items=new DOMQuery('input.searchfield');var a=createDOMNode('a',{href:board_script_url},[]);for(i=0;(item=items.get(i));i++){item.setAttribute('type','search');item.setAttribute('autosave',a.host.split('.').reverse().join('.')+'.search');item.setAttribute('results',5);item.setAttribute('placeholder',getText('normal','search_webkit'))}}}

var blockGroups={'page-header':'page_header','page-content':'content','sidebar-left':'sidebar_left','sidebar-right':'sidebar_right'},blockGroupsArray=['page-header','page-content','sidebar-left','sidebar-right'],topic_document_allowed_formats=Array('jpg','jpeg','gif','png');switch(board_action){case'insert_topic':var rml_buttons=['bold','italic','underline','strike','hline','list_bullet','list_num','hline','link','image','youtube','documentlibrary','smileys'];break;default:var rml_buttons=['bold','italic','underline','strike','hline','list_bullet','list_num','hline','link','image','youtube','smileys'];break};var maxImageWidth=400,maxImageHeight=400;if(typeof events=='undefined')var events=[];events.push(createLayerLinks,documentSelector,contentInLayer,lightboxPostProcess,checkNicknameButton,positionSocialLinks,fixBrowserIssuesVdwvm,openRedirectLightboxes,openOnloadLightbox,quicksearch,quickSearchTargets,attachRMLToolbar,focusTextareaCursor,pulldownAutoSubmits,focusFirstFormField,validateForms,quickreplyToggle,imageLightbox,createTabs,topicNavigationPulldown,attachCalendarSelector,rewriteQuoteLinks,loginForm,documentActions,[scaleImages,['ol.messages div.message-content-content > img']],[toggleVisibility,['div#topic-admin h3[id] + fieldset, div.discussion-folders ul.folders li[id]']],makeSmileysClickable,selectAllRows,logoutSessions,setupAutocomplete,scrollToAnchor,equalizeColumns,hidePasswordFieldUntilChecked,makeBlocksEditable,[externalLinksInPopup,['a[href]']],rateThruXMLHTTP,pmMaxRecipients,textareaMaximumWords,textareaMaximumCharacters,dynamicInputFields,attachTogglers,[stretchTextareas,['textarea#rml_textarea']]);var conditionalEvents=['privateMessagingCopyContact','fixBrowserIssuesIE','doclibInteraction','toggleChangeCheckboxTopicAdmin','selectSelectedTopicAdmin',['transparantPNG',['img.smiley']]];for(var i=0,evt;(evt=conditionalEvents[i]);i++)if(typeof evt=='object'&&typeof window[evt[0]]=='function'){events.push([window[evt[0]],evt[1]])}else if(typeof window[evt]=='function')events.push(window[evt])

