function MM_reloadPage(init) {  //reloads the window if Nav4 resized
	if (init == true) with (navigator) {
  		if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
    		document.MM_pgW = innerWidth; 
    		document.MM_pgH = innerHeight; 
    		onresize = MM_reloadPage; 
    	}
    }
  	else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) 
  		location.reload();
}
MM_reloadPage(true);

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 P7_autoLayers() { //v1.4 by PVII
	var g, b, k, f, args = P7_autoLayers.arguments;
	a = parseInt(args[0]);
	if(isNaN(a))
		a = 0;
		
 	if(!document.p7setc) {
 		p7c = new Array();
 		document.p7setc = true;
 		
 		for(var u=0; u<10; u++)
 			p7c[u] = new Array();
 	}
 	
 	for(k=0; k<p7c[a].length; k++) {
 		if((g=MM_findObj(p7c[a][k])) != null) {
 			b = (document.layers) ? g : g.style;
 			b.visibility = "hidden";
 		}
 	}
 	
 	for(k=1; k<args.length; k++) {
 		if((g=MM_findObj(args[k])) != null) {
 			b = (document.layers) ? g : g.style;
 			b.visibility = "visible";
 			f = false;
 			for(var j=0; j<p7c[a].length; j++) {
 				if(args[k] == p7c[a][j])
 					f = true;
 			}
			if(!f)
				p7c[a][p7c[a].length++] = args[k];
		}
	}
}

var parentOpener = (window.opener == null) ? window.parent : window.opener;

// meant to be executed from tab frame
function resetSideNav(navID) {
	try {
		if (!navID)
			navID = parentOpener.document.getElementById('intCurrentID').value;
	
		parentOpener.treenav.auditItem_request(''+navID);
		
		setTimeout('parentOpener.treenav.navigateItem_request('+navID+')', 2000);
		
		parentOpener.document.getElementById('intCurrentID').value = navID;
	} catch(err) {
	}
}

// meant to be executed from tab frame
function setSideNav(navID) {
	try {
		if (!navID)
			navID = parentOpener.document.getElementById('intCurrentID').value;
	
		if(''+parentOpener.treenav.selectedNode != ''+navID){
			setTimeout('parentOpener.treenav.navigateItem_request('+navID+')', 2000);
		}
			
		var cid = parentOpener.document.getElementById('intCurrentID')
		if (cid) 
			cid.value = navID;
	} catch(err) {
	}
}

// meant to be executed from tab frame
function clearSideNav(navID) {
	try {
		parentOpener.document.getElementById('intCurrentID').value = '';
	} catch(err) {
	}
}

function jsTabFrameLoad(url) {
	document.tryToLeave = true;
	document.getElementById('tabFrame').src = url;
	document.tryToLeave = false;
}

//used by the Tag Manager flash tree navigation xml
function jsSetEdit(id) {
	if (id != '')
		document.getElementById('edit_id').value = id;
}

function jsSetInnerHTML(id, html) {
	if (!document.getElementById) 
		return;
	
	div = document.getElementById(id);
	if (div)
		div.innerHTML = html;
}

function openHelp() {
	var intWidth = 237;
	var intHeight = window.screen.height;
	var myWin = window.open('help.cfm', "myWind");
	
	/* document.helpOriginX = window.screenLeft;
	document.helpOriginY = window.screenTop;
	document.helpOriginWidth = document.body.clientWidth + 30;
	document.helpOriginHeight = document.body.clientHeight + 120;
	document.helpWindow = myWin;
	document.helpWindowCloseInterval = setInterval('closeHelp()', 1000);
	myWin.moveTo(window.screen.availWidth - intWidth, 0)
	myWin.resizeTo(intWidth, window.screen.availHeight);
	window.self.moveTo(0, 0);
	window.self.resizeTo(window.screen.availWidth - intWidth, window.screen.availHeight);
	myWin.focus(); */
}

function closeHelp() {
	if (document.helpWindow.closed) {
		clearInterval(document.helpWindowCloseInterval);
		window.self.resizeTo(document.helpOriginWidth, document.helpOriginHeight);
		window.self.moveTo(document.helpOriginX, document.helpOriginY);
		document.helpWindowCloseInterval = null;
		document.helpWindow = null;
	}
}

function jsPopup(name, urlparam) {
	if (window.showModalDialog)
		window.showModalDialog('popup.cfm?p=' + name + '&' + urlparam, window, 'resizable: yes; help: no; status: no; scroll: no; ');
	else
		alert('You need Internet Explorer 5 or higher.\nThis module works in browser IE 5.5 or higher.');
}

function jsDump (obj) {
	var k = '';
	var str = '';
	var c = 0;
	
	for (k in obj) {
		str += k + ': ' + obj[k] + '\n';
		c++;
		if (c == 10) {
			if (str == '') {
				if (!confirm(obj)) 
					return;
			} else {
				if (!confirm(str)) 
					return;
			}
			c = 0;
			str = '';
		}
	}
	
	if (str == '') 
		if (!confirm(obj)) 
			return;
	else 
		confirm(str);
}

// Ajax Div Updater :: Ajax Engine
function createAjaxObject() 
{   var obj = null;
    
	if(navigator.appName == "Microsoft Internet Explorer")
	{	obj = new ActiveXObject("Microsoft.XMLHTTP"); }
	else
	{	obj = new XMLHttpRequest();	}
	
    return obj;
}

var ajaxObject = createAjaxObject();
var ajaxDiv = '';

function makeAjaxReq(url, divID) 
{   ajaxDiv = divID;
	
	// Open a connection to the server
	ajaxObject.open('get', url, true);
	// Setup a function for the server to run when it's done
	ajaxObject.onreadystatechange = getAjaxData;
	// Send the request
	ajaxObject.send(null);
}

function getAjaxData() 
{	var resp = '';

	// If the repsonse object is ready, check for the status, if status is 200 OK, 
	// populate a variable with the data received
	if(ajaxObject.readyState == 4)
	{	if (ajaxObject.status == 200)
		{	resp = ajaxObject.responseText;
			displayAjaxData(resp);
		}
    }
}

function displayAjaxData(resp)
{	var tempObj = getJSObject(ajaxDiv);
	tempObj.innerHTML = resp;
}

function loopAjaxEvent(url, divID, timedelay)
{	var tempFnString = 'loopAjaxEvent("' + url +'","' + divID +'","' + timedelay +'")';
	makeAjaxReq(url, divID);
	setTimeout(tempFnString, parseInt(timedelay));
}

function getJSObject(objId) {
	var tempObjString = 'document.getElementById("' + objId + '")';
	var tempObj = eval(tempObjString);
	
	return tempObj;
}

function disableMe(obj) {
	obj.disabled = true;
}

function enableMe(obj) {
	obj.disabled = false;
}

function displayInDiv(msg, divID)
{	var tempObj = getJSObject(divID);
	tempObj.innerHTML = msg;
}
// ... 

