// General purpose navigation tools - popup menus etc

/**** Add event handler to popup menus so they work in IE *****/
$(document).ready(function(){
	$('li.navigation').hover(function() { $(this).addClass('over'); }, function() { $(this).removeClass('over'); });
});
/***** End setup popupnav *****/

/***** Setup panelsets and tabs - resizePanels needs assigned to onload and onresize *****/
function setupTabs(){
	var tabheight= 20;
	var p=document.getElementsByTagName('div');
	for(var i=0; i< p.length; i++) {
		if(p[i].className.indexOf('panel')!=-1 && p[i].className.indexOf('panels')==-1) {
			var tab = document.createElement('span');
			tab.className='tab';
			tab.innerHTML=p[i].getAttribute('title');
			tab.onclick=function() { showPanel(this); }
			tab.onmouseover=function() { this.className+=' tabover'; }
			tab.onmouseout=function() { this.className=this.className.replace(/ tabover/g,''); }
			p[i].parentNode.appendChild(tab);
			//currentpanel.insertBefore(tab, currentpanel.parentNode.firstChild);
		}	// End of if class panel
	}	// End of for panel
}

function resizePanels() {
	var ps=document.getElementsByTagName('div');
	for (var i=0; i<ps.length; i++) {
		if(ps[i].className.indexOf('panels')!=-1) {
			var firstchild=false;
			ps[i].style.width = ps[i].getAttribute("panelwidth") ? (ps[i].getAttribute("panelwidth")+'px') : '100%';
			ps[i].style.height = ps[i].getAttribute("panelheight") ? (eval(ps[i].getAttribute("panelheight"))+20)+'px' : '100%';
			for(var j=0; j<ps[i].childNodes.length;j++) {
				if(ps[i].childNodes[j].className && ps[i].childNodes[j].className.indexOf('panel')!=-1) {
					var p = ps[i].childNodes[j];
					p.style.top=(p.parentNode.lastChild.offsetHeight+5)+'px';
					p.style.height=(p.parentNode.clientHeight-(p.offsetTop+5))+'px';
					p.style.left=5+'px';
					p.style.width=(p.parentNode.clientWidth-10)+'px';
				}
				if(ps[i].childNodes[j].className && ps[i].childNodes[j].className.indexOf('tab')!=-1 && !firstchild) {
					firstchild=ps[i].childNodes[j];
				}
			}
			showPanel(firstchild);
		}
	}
}

function showPanel(tab) {
	var panelset = tab.parentNode;
	for (var i=0; i<panelset.childNodes.length;i++) {
		var nod = panelset.childNodes[i];
		if(nod.nodeType==1 && nod.className.indexOf('panel')!=-1) {
			nod.className=(nod.getAttribute('title')==tab.innerHTML)?'panelactive':'panelinactive';
		}
		if(nod.nodeType==1 && nod.className.indexOf('tab')!=-1) {
			nod.className=(nod.innerHTML==tab.innerHTML)?'tabactive':'tabinactive';
		}
	}
}
/***** End of panel routines *****/	


