// JavaScript Document

var pageParameters 			= [];
var cacheKey 			= "cacheKey";
var className 			= "classDoc";
var saveMessage			= "";
//var mTimer				= setInterval("alert('5 seconds')", 5000);
 
window.onload=function()
{
// This is the default onload, 
// if you include a js file with an onload you must include this call too.
	fnInitParameters();
}

window.onunload=function()
{	
// By Having an unload function load will allways be called when back is pressed
// This way the parameters won't be remembered 
	var post = fnPostNonAsync(cacheKey, "classDoc, Unload, NULL", cacheKey);
}

window.onbeforeunload = function (evt) 
{
	if (saveMessage == "")
		return;
	if (typeof evt == 'undefined') 	{	evt = window.event;		}	//IE FIX		
	if (evt) 
	{
		evt.returnValue = saveMessage;
	}
	return saveMessage;
} 

function fnReloadPage(prompt)
{
	if (prompt && (false == fnCheckSaved()))
		return;
	newLocation = reloadLocation;
	for(var param in pageParameters)
	{
		if (param && param != "url")
		{
			if(param.substring(param.length - 3) == "Min")
			{
				minVal = pageParameters[param];
				param = param.replace("Min", "");
				maxVal = pageParameters[param + "Max"];
				newLocation += param + "-" + minVal + "-" + maxVal + '/';
			}// Skip Max as it is handled above
			else if(param.substring(param.length - 3) == "Max") 
			{
			}
			else if (pageParameters[param] == 1)
			{// 1 is default so no need to put the value pair
				newLocation += param + '/';
			}
			else if (pageParameters[param] != 0)
			{// do not place 0 parameters as absence implies a zero value anyway
				newLocation += param + "-" + pageParameters[param] + '/';
			}
		}
	}
	window.document.location.href = newLocation;
}

function fnInitParameters()
{
	pageParameters 			= [];
	if(tbodyElement = document.getElementById("pageParameters"))
	{
		divArray = tbodyElement.getElementsByTagName("div");
		for(var n = 0; n < divArray.length; n++)
		{
			thisElement = divArray[n];
			if(idElement = thisElement.attributes.getNamedItem("id"))
			{
				thisElementId = idElement.value; 
				elementValue = thisElement.innerHTML;
				paramName = thisElementId.split("_")[1];
				pageParameters[paramName] = elementValue;
		// This part will highlight the correct Index Cards
				elementCase = paramName.substr(0,1).toUpperCase() + paramName.substr(1,paramName.length);
				indexId = "index" + elementCase + "_" + elementValue;
				if(thisElement = document.getElementById(indexId))
				{
//					thisElement.className = thisElement.className.replace("indexCard", "indexCard_highlight");
					thisElement.className = thisElement.className.replace("indexCard", "indexCard indexHighlight");
				}
			}
		}
	}
}

function fnGetParams()
{
	var strParams = "<parameters>";
	for(var param in pageParameters)
	{
		if (param)
			strParams += "\n<param><name>" + param + "</name><val>" + pageParameters[param]+"</val></param>";
	}
	strParams += "</parameters>";
	return strParams;
//	alert(strParams);
}


function fnUpdateParam(nDivId, parameter, parameterValue, clearParameter)
{
	if (false == fnCheckSaved())
		return;
	if ((pageParameters[parameter] == parameterValue) && (pageParameters[clearParameter] == ""))
		return; //no change
	pageParameters[parameter] 		= parameterValue;
	pageParameters[clearParameter] 	= "";
	fnReloadPage(false);
}


