// Functions for the error / msg / debugmsg boxes
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function hidediv(id) {
	
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

function showdiv(id) {
	
	//safe function to show an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}

function togglediv(id) {
	
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		if(document.getElementById(id).style.display == 'none') {
			showdiv(id);
		} else {
			hidediv(id);
		}
	} else {
		if (document.layers) { // Netscape 4
			if(document.id.display == 'none') {
				showdiv(id);
			} else {
				hidediv(id);
			}
		}
		else { // IE 4
			if(document.all.id.style.display == 'none') {
				showdiv(id);
			} else {
				hidediv(id);
			}
		}
	}
}

function resizediv(divID, sizeX, sizeY) {
        // alert(divID + " = " + sizeY);
	if(document.all && !document.getElementById) {
		if(sizeX > 0) 	document.all[divID].style.pixelWidth            = sizeX+'px';
		if(sizeY > 0) 	document.all[divID].style.pixelHeight           = sizeY+'px';
	} else {
		if(sizeX > 0) 	document.getElementById(divID).style.width      = sizeX+'px';
		if(sizeY > 0) 	document.getElementById(divID).style.height     = sizeY+'px';
	}
}

// News item stuff
var newsItemDivArray = new Array();
function addNewsItemDiv(divID) {

	newsItemDivArray.push(divID);
}

function showNewsItemDiv(divID) {

	for (var i in newsItemDivArray) {
		hidediv(newsItemDivArray[i]);
		hidediv(newsItemDivArray[i]+"btnHide");
		showdiv(newsItemDivArray[i]+"btnShow");
	}

	if(divID) {		
		showdiv(divID);
		showdiv(divID+"btnHide");
		hidediv(divID+"btnShow");
	}
}

function hideNewsItemDiv(divID) {
	
	for (var i in newsItemDivArray) {
		hidediv(newsItemDivArray[i]);
		hidediv(newsItemDivArray[i]+"btnHide");
		showdiv(newsItemDivArray[i]+"btnShow");
	}
}

function toggleNewsItemDiv(divID) {
	
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		if(document.getElementById(divID).style.display == 'none') {
			showNewsItemDiv(divID);
		} else {
			hideNewsItemDiv(divID);
		}
	} else {
		if (document.layers) { // Netscape 4
			if(document.divID.display == 'none') {
				showNewsItemDiv(divID);
			} else {
				hideNewsItemDiv(divID);
			}
		}
		else { // IE 4
			if(document.all.id.style.display == 'none') {
				showNewsItemDiv(divID);
			} else {
				hideNewsItemDiv(divID);
			}
		}
	}
}

function checkTitleHeight(divID) {
	
	var divObj 	= document.getElementById(divID);
	var headerObj 	= document.getElementById(divID).getElementsByTagName('h1')[0];
		
	if(headerObj.offsetHeight >= 60) {
		var textObj 		= document.getElementById(divID).getElementsByTagName('p')[0];
		textObj.className 	= "hidden";
	} else if(headerObj.offsetHeight >= 40) {
		var textObj 		= document.getElementById(divID).getElementsByTagName('p')[0];
		textObj.className 	= "singleline";
	}
}

