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

/* - niftyCorners.js - */
// http://www.perthes.org.uk/portal_javascripts/niftyCorners.js?original=1
function NiftyCheck(){if(!document.getElementById||!document.createElement)
return(false);isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);if(Array.prototype.push==null){Array.prototype.push=function(){this[this.length]=arguments[0];return(this.length)}}
return(true)}
function Rounded(selector,wich,bk,color,opt){var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;if(color=="transparent"){cn=cn+"x";ecolor=bk;bk="transparent"}
else if(opt&&opt.indexOf("border")>=0){var optar=opt.split(" ");for(i=0;i<optar.length;i++)
if(optar[i].indexOf("#")>=0) ecolor=optar[i];if(ecolor=="") ecolor="#666";cn+="e";edges=true}
else if(opt&&opt.indexOf("smooth")>=0){cn+="a";ecolor=Mix(bk,color)}
if(opt&&opt.indexOf("small")>=0) cn+="s";prefixt=cn;prefixb=cn;if(wich.indexOf("all")>=0){t=true;b=true}
else if(wich.indexOf("top")>=0) t="true";else if(wich.indexOf("tl")>=0){t="true";if(wich.indexOf("tr")<0) prefixt+="l"}
else if(wich.indexOf("tr")>=0){t="true";prefixt+="r"}
if(wich.indexOf("bottom")>=0) b=true;else if(wich.indexOf("bl")>=0){b="true";if(wich.indexOf("br")<0) prefixb+="l"}
else if(wich.indexOf("br")>=0){b="true";prefixb+="r"}
var v=getElementsBySelector(selector);var l=v.length;for(i=0;i<l;i++){if(edges) AddBorder(v[i],ecolor);if(t) AddTop(v[i],bk,color,ecolor,prefixt);if(b) AddBottom(v[i],bk,color,ecolor,prefixb)}}
function AddBorder(el,bc){var i;if(!el.passed){if(el.childNodes.length==1&&el.childNodes[0].nodeType==3){var t=el.firstChild.nodeValue;el.removeChild(el.lastChild);var d=CreateEl("span");d.style.display="block";d.appendChild(document.createTextNode(t));el.appendChild(d)}
for(i=0;i<el.childNodes.length;i++){if(el.childNodes[i].nodeType==1){el.childNodes[i].style.borderLeft="1px solid "+bc;el.childNodes[i].style.borderRight="1px solid "+bc}}}
el.passed=true}
function AddTop(el,bk,color,bc,cn){var i,lim=4,d=CreateEl("b");if(cn.indexOf("s")>=0) lim=2;if(bc) d.className="artop";else d.className="rtop";d.style.backgroundColor=bk;for(i=1;i<=lim;i++){var x=CreateEl("b");x.className=cn+i;x.style.backgroundColor=color;if(bc) x.style.borderColor=bc;d.appendChild(x)}
el.style.paddingTop=0;el.insertBefore(d,el.firstChild)}
function AddBottom(el,bk,color,bc,cn){var i,lim=4,d=CreateEl("b");if(cn.indexOf("s")>=0) lim=2;if(bc) d.className="artop";else d.className="rtop";d.style.backgroundColor=bk;for(i=lim;i>0;i--){var x=CreateEl("b");x.className=cn+i;x.style.backgroundColor=color;if(bc) x.style.borderColor=bc;d.appendChild(x)}
el.style.paddingBottom=0;el.appendChild(d)}
function CreateEl(x){if(isXHTML) return(document.createElementNS('http://www.w3.org/1999/xhtml',x));else return(document.createElement(x))}
function getElementsBySelector(selector,parentlist){var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];if(parentlist==null) parentlist=[document];if(parentlist.length==0) return [];blankspace_pos=selector.indexOf(" ")
if(blankspace_pos>0){parent_selector=selector.substring(0,blankspace_pos);sub_selector=selector.substring(blankspace_pos+1);parentlist=getElementsBySelector(parent_selector,parentlist);return getElementsBySelector(sub_selector,parentlist)}
if(selector.indexOf("#")>=0){s=selector.split("#");tag=s[0];selid=s[1]}
if(selid!=""){f=document.getElementById(selid);if(f) objlist.push(f);return(objlist)}
if(selector.indexOf(".")>0){s=selector.split(".");tag=s[0];selclass=s[1]}
for(pi=0;pi<parentlist.length;pi++){var v=parentlist[pi].getElementsByTagName(tag);if(selclass=="")
return(v);for(i=0;i<v.length;i++){if(v[i].className.indexOf(selclass)>=0){objlist.push(v[i])}}}
return(objlist)}
function Mix(c1,c2){var i,step1,step2,x,y,r=new Array(3);if(c1.length==4)step1=1;else step1=2;if(c2.length==4) step2=1;else step2=2;for(i=0;i<3;i++){x=parseInt(c1.substr(1+step1*i,step1),16);if(step1==1) x=16*x+x;y=parseInt(c2.substr(1+step2*i,step2),16);if(step2==1) y=16*y+y;r[i]=Math.floor((x*50+y*50)/100)}
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16))}


/* - niftyPloneCorners.js - */
// http://www.perthes.org.uk/portal_javascripts/niftyPloneCorners.js?original=1
function roundFromCSV(){if(!NiftyCheck())
return;Rounded("ul#portal-globalnav li.selected","all","white","#0d7298");Rounded("ul#portal-globalnav li.plain","all","white","#6cb3ea");Rounded("#portal-column-one dl.portlet","all","White","#0d7298");Rounded("#portal-column-two dl.portlet","all","White","#0d7298");Rounded("#content div.roundedPortletWrapper","all","White","#6cb3ea");Rounded("#content div.boxPortletWrapper","all","White","#6cb3ea","small");Rounded("div.button","all","White","#6cb3ea","small")}
registerPloneFunction(roundFromCSV)

