
/* 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 -
 */

/* - toctino.js - */
// http://abouthandeczema.com/portal_javascripts/toctino.js?original=1
jq(document).ready(function(){if(jq.browser.msie){document.execCommand("BackgroundImageCache",false,true)}
jq("#document-toc li a").append(" &gt;")});

/* - multicolumn.js - */
// http://abouthandeczema.com/portal_javascripts/multicolumn.js?original=1
MultiColumnResizeTimer=null;MultiColumnList=null;
function MultiColumnSettings(){this.extraHeight=50;this.minSplitHeight=0;this.minHeight=0;this.readOnText=null;this.classNameScreen=null;this.classNamePrint=null;this.numberOfColumns=null}
function MultiColumn(columnContainerIn,settingsIn){this.getStyle=function(element,stylePropW3,stylePropIE){var y=null;if(element.currentStyle)
y=element.currentStyle[stylePropIE];else if(window.getComputedStyle&&document.defaultView.getComputedStyle(element,null)){y=document.defaultView.getComputedStyle(element,null).getPropertyValue(stylePropW3)}
return y}
this.generateColumns=function(){var i=0;var numColumns;var baseColumn=this.columnContainer.getElementsByTagName('div').item(0);var clearingNode=document.createElement('span');clearingNode.style.display="block";clearingNode.style.clear="both";clearingNode.style.zoom="1";this.columnContainer.appendChild(clearingNode);if(this.settings.numberOfColumns!=null){numColumns=this.settings.numberOfColumns} else{numColumns=Math.floor(this.columnContainer.offsetWidth/(baseColumn.offsetWidth))}
var availableWidth=Math.floor((this.columnContainer.offsetWidth-10)/numColumns)-parseInt(this.getStyle(baseColumn,'padding-right','paddingRight'))-parseInt(this.getStyle(baseColumn,'padding-left','paddingLeft'));for(i=1;i<numColumns;i++){this.columnContainer.insertBefore(baseColumn.cloneNode(false),this.columnContainer.firstChild)}
baseColumn.style.width=availableWidth+'px';var columns=this.columnContainer.getElementsByTagName('div');var minHeight;if(baseColumn.offsetHeight<=this.settings.minSplitHeight){var minHeight=baseColumn.offsetHeight} else{var minHeight=Math.max(parseInt((baseColumn.offsetHeight+numColumns*this.settings.extraHeight)/columns.length),this.settings.minHeight)}
for(i=0;i<columns.length-1;i++){var currentColumn=columns.item(i);currentColumn.style.width=availableWidth+'px';while(currentColumn.offsetHeight<minHeight&&baseColumn.hasChildNodes()){if(baseColumn.firstChild.nodeType==1){currentColumn.appendChild(baseColumn.firstChild)} else{baseColumn.removeChild(baseColumn.firstChild)}}
var lastChild=currentColumn.lastChild;var nextColumn=columns.item(i+1);switch(lastChild.nodeName.toLowerCase()){case 'p':new ParapgraphWrapper(currentColumn,lastChild,nextColumn,minHeight);break;case 'ul':case 'ol':new ListWrapper(currentColumn,lastChild,nextColumn,minHeight);break;default:}
new HeadingWrapper(currentColumn,nextColumn);if(this.settings.readOnText!=null){currentColumn.appendChild(this.readOnNode.cloneNode(true))}}
var maxHeight=0;for(i=0;i<columns.length;i++){maxHeight=Math.max(maxHeight,columns.item(i).offsetHeight)}
for(i=0;i<columns.length;i++){columns.item(i).style.height=maxHeight+"px"}}
this.settings=settingsIn;if(this.settings.readOnText!=null){this.readOnNode=document.createElement('p');this.readOnNode.className="readOn";this.readOnNode.appendChild(document.createTextNode(this.settings.readOnText))}
this.columnContainer=columnContainerIn;if(this.settings.classNameScreen!=null){this.columnContainer.className=this.settings.classNameScreen}
this.originalContent=columnContainerIn.cloneNode(true);if(this.settings.classNamePrint!=null){var printNode=this.originalContent.cloneNode(true);printNode.className=this.settings.classNamePrint;this.columnContainer.parentNode.insertBefore(printNode,this.columnContainer)}
this.generateColumns()}
function onAfter(){if(currentSlideNum==totalSlides){currentSlideNum=1;jq(".nextText .nextTextTitle").text(jq(".imageTitle.image"+currentSlideNum).text())} else{currentSlideNum++;jq(".nextText .nextTextTitle").text(jq(".imageTitle.image"+currentSlideNum).text())}}
function multiColumnSetResizeTimer(){if(MultiColumnResizeTimer){clearTimeout(MultiColumnResizeTimer)}
MultiColumnResizeTimer=setTimeout(multiColumnResize,100)}
function multiColumnResize(){if(!window.addEventListener&&window.attachEvent){window.detachEvent('onresize',multiColumnSetResizeTimer)}
for(var i=0;i<MultiColumnList.length;i++){var object=MultiColumnList[i];var newCopy=object.originalContent.cloneNode(true);object.columnContainer.parentNode.replaceChild(newCopy,object.columnContainer);object.columnContainer=newCopy;object.generateColumns()}
if(!window.addEventListener&&window.attachEvent){setTimeout("window.attachEvent('onresize',multiColumnSetResizeTimer)",0)}}
function ParapgraphWrapper(sourceColumnIn,sourceParagraphIn,destinationColumnIn,heightIn){this.sourceColumn=sourceColumnIn;this.height=heightIn;this.processElement=function(source,dest){var lastSourceChild;while(lastSourceChild=source.lastChild){if(lastSourceChild.nodeType==1){var newDest=lastSourceChild.cloneNode(false);dest.insertBefore(newDest,dest.firstChild);if(this.processElement(lastSourceChild,newDest)){return true}} else if(lastSourceChild.nodeType==3){if(this.wrapTextNode(lastSourceChild,dest)){return true}}
source.removeChild(lastSourceChild)}
return false}
this.wrapTextNode=function(source,dest){var sourceText=source.nodeValue;var sourceTextAray=sourceText.split(/\s/);var destTextArray=new Array();while(this.sourceColumn.offsetHeight>this.height&&sourceTextAray.length>0){destTextArray.push(sourceTextAray.pop());source.nodeValue=sourceTextAray.join(' ')}
var newText=(/^\s/.test(sourceText)?' ':'') + (destTextArray.reverse().join(' ')) + (/\s$/.test(sourceText)?' ':'');dest.insertBefore(document.createTextNode(newText),dest.firstChild);return this.sourceColumn.offsetHeight<=this.height}
destinationColumnIn.insertBefore(sourceParagraphIn.cloneNode(false),destinationColumnIn.firstChild);this.processElement(sourceParagraphIn,destinationColumnIn.firstChild);if(sourceParagraphIn.offsetHeight==0){this.sourceColumn.removeChild(sourceParagraphIn)}}
function ListWrapper(sourceColumnIn,sourceListIn,destinationColumnIn,heightIn){var newList=sourceListIn.cloneNode(false);destinationColumnIn.insertBefore(newList,destinationColumnIn.firstChild);while(currentElement=sourceListIn.lastChild){if(sourceColumnIn.offsetHeight<=heightIn){break}
if(currentElement.nodeName.toLowerCase()=='li'){newList.insertBefore(currentElement,newList.firstChild)} else{sourceListIn.removeChild(currentElement)}}
var numItems=1;var elementList=sourceListIn.childNodes;for(var i=0;i<elementList.length;i++){if(elementList[i].nodeName.toLowerCase()=='li'){numItems++}}
newList.start=numItems;if(sourceListIn.offsetHeight==0){sourceColumnIn.removeChild(sourceListIn)}}
function HeadingWrapper(currentColumn,nextColumn){if (/^h[1-6]$/i.test(currentColumn.lastChild.nodeName)){nextColumn.insertBefore(currentColumn.lastChild,nextColumn.firstChild)}}

/* - behaviour.js - */
// http://abouthandeczema.com/portal_javascripts/behaviour.js?original=1
var Behaviour={list:new Array,register: function(sheet){Behaviour.list.push(sheet)},start: function(){Behaviour.addLoadEvent(function(){Behaviour.apply()})},apply: function(){for(h=0;sheet=Behaviour.list[h];h++){for(selector in sheet){list=document.getElementsBySelector(selector);if(!list){continue}
for(i=0;element=list[i];i++){sheet[selector](element)}}}},addLoadEvent: function(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func} else{window.onload=function(){oldonload();func()}}}}
Behaviour.start();
function getAllChildren(e){return e.all?e.all:e.getElementsByTagName('*')}
document.getElementsBySelector=function(selector){if(!document.getElementsByTagName){return new Array()}
var tokens=selector.split(' ');var currentContext=new Array(document);for(var i=0;i<tokens.length;i++){token=tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');if(token.indexOf('#')>-1){var bits=token.split('#');var tagName=bits[0];var id=bits[1];var element=document.getElementById(id);if(tagName&&element.nodeName.toLowerCase()!=tagName){return new Array()}
currentContext=new Array(element);continue}
if(token.indexOf('.')>-1){var bits=token.split('.');var tagName=bits[0];var className=bits[1];if(!tagName){tagName='*'}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h])} else{elements=currentContext[h].getElementsByTagName(tagName)}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(found[k].className&&found[k].className.match(new RegExp('\\b'+className+'\\b'))){currentContext[currentContextIndex++]=found[k]}}
continue}
if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){var tagName=RegExp.$1;var attrName=RegExp.$2;var attrOperator=RegExp.$3;var attrValue=RegExp.$4;if(!tagName){tagName='*'}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h])} else{elements=currentContext[h].getElementsByTagName(tagName)}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=new Array;var currentContextIndex=0;var checkFunction;switch(attrOperator){case '=':checkFunction=function(e){return(e.getAttribute(attrName)==attrValue)};break;case '~':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b')))};break;case '|':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?')))};break;case '^':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)==0)};break;case '$':checkFunction=function(e){return(e.getAttribute(attrName).lastIndexOf(attrValue)==e.getAttribute(attrName).length-attrValue.length)};break;case '*':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)>-1)};break;default:checkFunction=function(e){return e.getAttribute(attrName)}}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(checkFunction(found[k])){currentContext[currentContextIndex++]=found[k]}}
continue}
if(!currentContext[0]){return}
tagName=token;var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements=currentContext[h].getElementsByTagName(tagName);for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=found}
return currentContext}


/* - smartprint.js - */
// http://abouthandeczema.com/portal_javascripts/smartprint.js?original=1
var in_progres=false;var $j=jQuery.noConflict();
function cleanupContent(node){var arr=node.getElementsByTagName('div');for(var i=0;i<arr.length;i++){var classname=arr[i].className;if(classname.indexOf('documentActions')!=-1||classname.indexOf('documentByLine')!=-1){arr[i].parentNode.removeChild(arr[i])}}
var arr=node.getElementsByTagName('p');for(var i=0;i<arr.length;i++){if(arr[i].id=='link-presentation'){arr[i].parentNode.removeChild(arr[i])}}
var arr=node.getElementsByTagName('div');for(var i=0;i<arr.length;i++){if(arr[i].id=='smartprint'){arr[i].parentNode.removeChild(arr[i])}}}
function getContentElement(){var el=$j('#content');if(!el[0])
el=$j('#region-content');if(!el[0])
alert('No DOM node with id "region-content" or "content" found');return el}
function openControl(){if(!$j('#smartprint')[0]){var divContent=getContentElement().clone(true);if(!divContent){alert('Error: the element with id=content could not be found!');return}
var newdiv=document.createElement('div');newdiv.id='smartprint';getContentElement().append(newdiv)} else{if(in_progres){alert('Conversion in progres...please wait');return}
closeControl()}}
function closeControl(){$j('#smartprint').remove()}
function showResponse(request){if($j('#smartprint'))
$j('#smartprint')[0].innerHTML=request.responseText}
function smartPrintSelection(url,template){openControl();var url=url+'/'+template;var r=$j.ajax({url:url,type:'GET',complete:showResponse})}
function startConversion(url){var divContent=getContentElement().clone(true);if(!divContent){alert('Error: the element with id=content could not be found!');return}
divContent=divContent[0]
cleanupContent(divContent);$j('#smartprint-html')[0].value=divContent.innerHTML
var postBody=$j('#smartprint-selection-form').serialize();in_progres=true;var r=$j.ajax({url:url+'/sp_progres',type:'GET',asynchronous:false,complete:showResponse});var r2=$j.ajax({url:url+'/smartPrintConvert',type:'POST',asynchronous:true,data:postBody,requestHeaders:['content-type','application/x-www-form-urlencoded'],complete: function(request){in_progres=false;closeControl();if(request.status==200){var filename=request.responseText;document.location=url+'/smartPrintDeliver?filename='+encodeURIComponent(filename)} else{var status=request.status;alert('Conversion failed (Error code: '+status+')')}},onFailure: function(request){in_progres=false;var status=request.status;alert('Conversion failed (Error code: '+status+')');closeControl()}})}


/* - toctino_pdf_print.js - */
// http://abouthandeczema.com/portal_javascripts/toctino_pdf_print.js?original=1
function closePrintControl(){$j('.printLink').remove()}
function showPrintResponse(request){if($j('.printLink'))
$j('.printLink')[0].innerHTML=request.responseText}
function startToctinoConversion(url,template,stylesheet){var divContent=getContentElement().clone(true);if(!divContent){alert('Error: the element with id=content could not be found!');return}
divContent=divContent[0];cleanupContent(divContent);var postBody={'converter_name':'zopyx.smartprintng.converters.default','format':'pdf2','options.stylesheet:record':stylesheet,'options.template:record':template,'options.workchain:record:list':'removeReviewHistory','print_options.column-count:record':1,'print_options.font-size:record':'10pt','print_options.orientation:record':'portrait','print_options.paper-size:record':'a4','html':divContent.innerHTML};in_progres=true;var r=$j.ajax({url:url+'/sp_progres',type:'GET',asynchronous:false,complete:showPrintResponse});var r2=$j.ajax({url:url+'/smartPrintConvert',type:'POST',asynchronous:true,data:postBody,requestHeaders:['content-type','application/x-www-form-urlencoded'],complete: function(request){in_progres=false;if(request.status==200){var filename=request.responseText;jq("#print-detailed-report").attr("href",url+'/smartPrintDeliver?filename='+encodeURIComponent(filename));jq("#print-detailed-report").click(function(){pageTracker._trackEvent("printDetailedReport","click")});jq("#print-detailed-report").text(jq("#print-detailed-report-translated").text())} else{var status=request.status;alert('Conversion failed (Error code: '+status+')')}},onFailure: function(request){in_progres=false;closePrintControl();var status=request.status;alert('Conversion failed (Error code: '+status+')')}})}
