// <!--

var siteWin = null;

function launchSiteWin(URL, windowName, windowWidth, windowHeight, scrollbars, xOffset, yOffset)
{
	var xPosition = 600; 
	var yPosition = 300;
	
    if ((parseInt(navigator.appVersion) >= 4 )) {
        xPosition = (screen.width - windowWidth) - 32;
        yPosition = ((screen.height / 2) - windowHeight) + 46;
    }
	
	if (!scrollbars) var scrollbars = 1;
	
    var args = "width=" + windowWidth + ","
	    	+ "height=" + windowHeight + ","
	    	+ "location=0,"
		    + "menubar=0,"
		    + "scrollbars=" + scrollbars + ","
		    + "status=0,"
		    + "titlebar=0,"
		    + "hotkeys=0,"
		    + "screenx=" + xPosition + ","  // NN Only
		    + "screeny=" + yPosition + ","  // NN Only
		    + "left=" + xPosition + ","     // IE Only
		    + "top=" + yPosition;           // IE Only
		
	if (siteWin != null && !siteWin.closed) {
		siteWin.close();
	}
	siteWin = window.open(URL, windowName, args);
	
	siteWin.focus();
}

var newWin = null;

function forceReload()
{
	if (document.layers) window.location.reload(true);
}

function empty(str)
{
	return (str == "") ? true : false;
}

function stripWhitespace(text)
{
	return text.replace(/ /g, "");
}

function validateArg(arg) // get boolean values for function arguments
{
	if ((arg == null) || (arg == "undefined") || (empty(arg)) || (arg.length < 1)) return false;
	else return true;
}

function validateInt(arg, allowZero)
{
	for (var i = 0; i < arg.length; i++) {
		if (isNaN(arg.charAt(i)) || arg.charAt(i) == " ")
			return false;
	}
	if (!allowZero && (arg == 0)) return false;
	return true;
}

function validateEmailAddress(email)
{
	var invalidChars = '!#$%^*()+{}[]|/:;"\'\\><?,';
	var email = stripWhitespace(email);
	var at = email.indexOf("@");
	var dot = email.lastIndexOf(".");
	
	if (email.length < 1) {
		return false;
	}
	else if (at < 1 || dot < 3 || dot == email.length -1 || (dot - at) < 2) {
		return false;
	}
	else {
		for (var i = 0; i < email.length; i++) {
			if (invalidChars.indexOf(email.charAt(i)) != -1) {
				return false;
			}
		}
	}
	return true;
}

function getQueryString(obj) // get query string from header
{
	var args = new Object();
	var qString = obj.location.search.substring(1);
	var argsArray = qString.split("&");

	for (var i = 0; i < argsArray.length; i++) {
		var pos = argsArray[i].indexOf('=');
		if (pos == -1) continue;
		var argName = argsArray[i].substring(0, pos);
	 	var value = argsArray[i].substring(pos + 1);
		args[argName] = unescape(value);
	}
	return args;
}

function Preload() // preload script
{ 
	this.length = arguments.length;
	for (var i = 0; i < this.length; i++) {
		this[i + 1] = new Image();
		this[i + 1].src = arguments[i];
	}
}

function recurseLayers(obj, name)
{
	var layerObj = null;
	
	for (var i = 0; i < obj.layers.length; i++)
	{
		layerObj = obj.layers[i].document.layers;
		
		for (var j = 0; j < layerObj.length; j++)
		{
			if (layerObj[j].name == name)
			{
				return layerObj[j];
				break;
			}
		}
		recurseLayers(obj.layers[i], name);
	} 
}


function parseLayers(obj, name, type)
{
	var typeObj = null;
	for (var i = 0; i < obj.layers.length; i++)
	{
		if (type == 'images') typeObj = obj.layers[i].document.images;
		else if (type == 'anchors') typeObj = obj.layers[i].document.anchors;
		
		for (var j = 0; j < typeObj.length; j++)
		{
			if (typeObj[j].name == name) {
				return typeObj[j];
				break;
			}
		}
		parseLayers(obj.layers[i], name, type);
	}
}

function swapImg(imgName, imgPath, msg) // rollover script
{
	if (document.images) {
		if ((document.layers) && (!validateArg(document.images[imgName]))) {
			var obj = parseLayers(document, imgName, 'images');
			obj.src = imgPath;
		}
		else {
			if (document.images[imgName]) {
				document.images[imgName].src = imgPath;
			}
		}
		window.status = msg;
	}
}

function openAWindow(URL, windowName, windowWidth, windowHeight, scrollbars)
{
	var xposition = 400; 
	var yposition = 300;
	
    if ((parseInt(navigator.appVersion) >= 4 )) {
        xposition = (screen.width - windowWidth) / 2;
        yposition = (screen.height - windowHeight) / 2;
    }
	
	if (!scrollbars) var scrollbars = 0;
	
    var args = "width=" + windowWidth + ","
	    	+ "height=" + windowHeight + ","
	    	+ "location=0,"
		    + "menubar=0,"
		    + "scrollbars=" + scrollbars + ","
		    + "status=0,"
		    + "titlebar=0,"
		    + "hotkeys=0,"
		    + "screenx=" + xposition + ","  // NN Only
		    + "screeny=" + yposition + ","  // NN Only
		    + "left=" + xposition + ","     // IE Only
		    + "top=" + yposition;           // IE Only
		
	if (newWin != null && !newWin.closed) {
		newWin.close();
	}
	newWin = window.open(URL, windowName, args);
	
	newWin.focus();
}

function handleSelectOnload(formObj, selectName, override)
{
	var queryString = getQueryString(document);
	var value = queryString[selectName];
	var selectObj;
	var optionID;
	
	if (document.forms[formObj])
	{
		selectObj = document.forms[formObj][selectName];
		optionID = (override && !validateArg(value)) ?  override : value;
	}
	else return;
	
	for (var i = 0; i < selectObj.options.length; i++)
	{
		if (selectObj.options[i].value == optionID)
		{
			selectObj.selectedIndex = i;
		}
	}
}

function returnDhtmlFeature(id)
{
	if (!id) return null;
	
	var feature = null;
	if (document.all) feature = document.all(id).style;  // IE
	else if (document.layers) feature = document.layers[id];  // NN
	else if (document.getElementById) feature = document.getElementById(id).style;  // N6
	
	return feature;
}

// correct for form element discrepancies between browsers and platforms

function getStyleName(styleNameIE)
{
	if (document.all) return styleNameIE; // IE, default
	else if (document.layers) return styleNameIE + "Netscape"; // NN 4.8
	else if (document.getElementById) return styleNameIE + "Netscape"; // Netscape 6
}

function getBrowserInfo()
{
	var browser = new Object();
		browser['appName'] = navigator.appName;
		browser['appVersion'] = navigator.appVersion;
		browser['userAgent'] = navigator.userAgent;
		browser['platform'] = navigator.platform;
		browser['language'] = navigator.language;
	
	var ua = browser['userAgent'];
	
	if (ua.match(/Opera[\/][0-9\.]+/)) browser['name'] = "Opera";
	else if (ua.match(/Firefox[\/][0-9\.]+/)) browser['name'] = "Mozilla Firefox";
	else if (ua.match(/MSIE[ \/][0-9\.]+/)) browser['name'] = "Internet Explorer";
	else if (ua.match(/Netscape6[\/][6\.]+/)) browser['name'] = "Netscape 6";
	else if (ua.match(/Netscape[\/][7\.]+/)) browser['name'] = "Netscape 7";
	else if (ua.match(/Mozilla[\/][4\.]+/)) browser['name'] = "Netscape 4";
	
	return browser;
}

function getInputSize(inputSizeIE)
{
	var browser = getBrowserInfo();
	var name = browser['name'];
	
	if (name == "Netscape 4") return Math.floor(inputSizeIE / 1.6); // NN 4.8
	else if (name == "Netscape 6") return Math.floor(inputSizeIE  / 1.8); // Netscape 6
	else if (name == "Netscape 7") return Math.floor(inputSizeIE  / 1.2); // Netscape 7
	else if (name == "Mozilla Firefox") return Math.floor(inputSizeIE  / 1.3); // Mozilla Firefox
	else if (document.all && !window.print) return Math.floor(inputSizeIE  / 1.3); // Mac IE
	else return inputSizeIE; // IE, default
}

function generateInputField(type, name, value, size, maxlength, cssClass, extra)
{
	var inputHTML = '<input type="';
	inputHTML += (type) ? type + '"' : 'text"';
	inputHTML += (name) ? ' name="' + name + '"' : '';
	inputHTML += (value) ? ' value="' + value + '"' : '';
	inputHTML += (size) ? ' size="' + getInputSize(size) + '"' : '';
	inputHTML += (maxlength) ? ' maxlength="' + maxlength + '"' : '';
	inputHTML += (cssClass) ? ' class="' + getStyleName(cssClass) + '"' : '';
	inputHTML += (extra) ? ' ' + extra : '';
	
	inputHTML += '>';
	
	return inputHTML;
}

function generateTextarea(name, rows, cols, maxlength, cssClass, extra)
{
	var inputHTML = '<textarea';
	inputHTML += (name) ? ' name="' + name + '"' : '' ;
	inputHTML += (rows) ? ' rows="' + rows + '"' : '' ;
	inputHTML += (cols) ? ' cols="' + getInputSize(cols) + '"' : '';
	inputHTML += (maxlength) ? ' maxlength="' + maxlength + '"' : '';
	inputHTML += (cssClass) ? ' class="' + getStyleName(cssClass) + '"' : '';
	inputHTML += (extra) ? ' ' + extra : '' ;
	
	inputHTML += '>';

	return inputHTML;
}

function setSelect(formName, selectName, arg)
{ 
	var formObj = document.forms[formName];
	var selectObj = formObj[selectName];
	
	for (var i = 0; i < selectObj.options.length; i++)
	{
		if (selectObj.options[i].value == arg)
		{
			selectObj.selectedIndex = i;
		}
	}
}

function setVisibilityName(state)
{
	var visibilityName = state;
	if (document.layers) { // N4
		visibilityName = (state == "visible") ? "show" : "hide";
	}
	return visibilityName;
}

 // -->