
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - toc.js - */
// http://www.slogefree.org/portal_javascripts/toc.js?original=1
function walkHeaders(node,func,data){if(!node){return false}
var valid=Array("h1","h2","h3","h4");if(node.hasChildNodes){var child=node.firstChild;while(child){walkHeaders(child,func,data);child=child.nextSibling}
var type=node.tagName;if(type){type=type.toLowerCase();for(var k=0;k<valid.length;k++){if(valid[k]==type){func(node,data);break}}}}}
function locationWithoutHash(){var loc=window.location.href;var hash=window.location.hash;if(!hash){return loc} else{return loc.substring(0,loc.lastIndexOf(hash))}}
function createTableOfContents(){var toc=cssQuery('dl.toc');if(toc.length==0){return}
toc=toc[0];var dest=cssQuery('dl.toc dd.portletItem');if(dest.length==0){return}
dest=dest[0];var content=getContentArea();if(!content){return}
var location=locationWithoutHash();var ols=[];var i=0;var func=function(node,data){if(hasClassName(node,"documentFirstHeading"))
return;var li=document.createElement('li');var link=document.createElement('a');link.appendChild(document.createTextNode(getInnerTextFast(node)));link.href=location+'#section-'+i;li.appendChild(link);var anchor=document.createElement('a');anchor.name='section-'+i;node.parentNode.insertBefore(anchor,node);var level=node.nodeName.substring(1);while(ols.length<level){var ol=document.createElement('ol');if(ols.length>0){ols[ols.length-1].appendChild(ol)}
ols.push(ol)}
while(ols.length>level){ols.pop()}
ols[ols.length-1].appendChild(li);i++}
walkHeaders(content,func);if(ols.length>0){toc.style.display="block";dest.appendChild(ols[0])}}
registerPloneFunction(createTableOfContents);

/* - input-label.js - */
// http://www.slogefree.org/portal_javascripts/input-label.js?original=1
var ploneInputLabel={focus: function(){return function(e){var target;if(!e) var e=window.event;if(e.target) target=e.target;else if(e.srcElement) target=e.srcElement;if(target.nodeType==3)
target=target.parentNode;if(hasClassName(target,"inputLabelActive")&&(target.value==target.title)){target.value='';removeClassName(target,"inputLabelActive")}}},blur: function(){return function(e){var target;if(!e) var e=window.event;if(e.target) target=e.target;else if(e.srcElement) target=e.srcElement;if(target.nodeType==3)
target=target.parentNode;if(target.value==''){addClassName(target,"inputLabelActive");target.value=target.title}}},isForm: function(node){return(node.tagName&&node.tagName.toLowerCase()=='form')},submit: function(){return function(e){var target;if(!e) var e=window.event;if(e.target) target=e.target;else if(e.srcElement) target=e.srcElement;if(target.nodeType==3)
target=target.parentNode;var elements=cssQuery("input[title].inputLabelActive");for(var i=0;i<elements.length;i++){var element=elements[i];if(hasClassName(element,"inputLabelActive")&&(element.value==element.title)){element.value='';removeClassName(element,"inputLabelActive")}}
if(target.inputLabelData.oldsubmit)
return this.inputLabelData.oldsubmit()}},init: function(){var elements=cssQuery("input[title].inputLabel");for(var i=0;i<elements.length;i++){var element=elements[i];var form=findContainer(element,ploneInputLabel.isForm);if(element.value==''){element.value=element.title;replaceClassName(element,"inputLabel","inputLabelActive")}
registerEventListener(element,'focus',ploneInputLabel.focus());registerEventListener(element,'blur',ploneInputLabel.blur());if(form.onsubmit!=ploneInputLabel.submit){if(typeof form.inputLabelData=='undefined')
form.inputLabelData=new Object();form.inputLabelData.oldsubmit=form.onsubmit;form.onsubmit=ploneInputLabel.submit()}}}};registerPloneFunction(ploneInputLabel.init);
