/* 
CommunityHealthStudies.org
California Department of Public Health
Environmental Health Investigations Branch
Designed and Created by LaMa Media LLC (LaMaMedia.com)
Copyright (c) 2008 - All rights reserved
*/


// ****************************************************************
// GLOBALS
// ****************************************************************

var vPageLoc = window.location.href;

var vPage, vBrowser, vVersion;
var vIE = 0;
var vPath = "";
var vDepth = "../";
var vB0 = "_0.gif";
var vB1 = "_1.gif";

var vDelim = "|";
var vCharSP = " ";
var vCharNS = "";
var vCharNB = "&nbsp;";


// ****************************************************************
// PAGE
// ****************************************************************

function fPage(rPage, rPath, rAbsolute) {
	if (rAbsolute) {
		vPath = rPath;
	} else {
		for (var t = 0; t < rPath; t++) vPath = (vPath + vDepth);
	}
	if (fCheckBrowser()) {
		vPage = rPage;
		fLoadIncludes();
	} else {
		window.top.location.href = (vPath + "control/nobrowser.html");
	}
}

function fCheckBrowser() {
 	vBrowser = navigator.appName;
    var tAppVersion = navigator.appVersion.toLowerCase();
    var vVersion = parseFloat(tAppVersion);
    var tIEPos = tAppVersion.indexOf('msie');
    if (tIEPos != -1) {
		vIE = 1;
		vVersion = parseFloat(tAppVersion.substring(tIEPos+5,tAppVersion.indexOf(';',tIEPos)));
	}
	if (vVersion >= 5) return(1);
	else return(0);
}


function fLoadIncludes() {
	fDOpen();
	fDW('<script type="text/javascript" src="' + vPath + 'control/content.js"></script>');
	fDW('<script type="text/javascript" src="' + vPath + 'content/top/glossary.js"></script>');
	fDW('<script type="text/javascript" src="' + vPath + 'content/top/references.js"></script>');
	fDW('<link rel="stylesheet" type="text/css" href="' + vPath + 'control/style.css">');
	fDClose();
}



// ****************************************************************
// COOKIES
// ****************************************************************

function fSetCookie(rName, rValue, rDays) {
	if (typeof(rDays) == 'undefined') rDays = 1;
	var tDate = new Date();
	tDate.setDate(tDate.getDate() + rDays);
	var tCookie = (rName + '=' + escape(rValue) + '; expires=' + tDate.toGMTString() + '; path=/');
	document.cookie = tCookie;
}

function fGetCookie(rName) {
	var tOffset, tEnd;
	var tSearch = (rName + "=");
	var tValue = "";
	if (document.cookie.length > 0) {
		tOffset = document.cookie.indexOf(tSearch);
		if (tOffset != -1) {
			tOffset += tSearch.length;
			tEnd = document.cookie.indexOf(";", tOffset);
			if (tEnd == -1) tEnd = document.cookie.length;
			tValue = unescape(document.cookie.substring(tOffset, tEnd));
      }
   }
  return(tValue);
}

function fCheckCookie(rName) {
	if (fGetCookie(rName) != 1) {
		alert("You must have cookies enabled to use this feature.");
		return(false);
	} else {
		return(true);
	}
}


// ****************************************************************
// BUTTONS
// ****************************************************************

var vButtonPath;
var vButtons = new Array();
var vButtons0 = new Array();
var vButtons1 = new Array();
var vButtonsW = new Array();
var vButtonsH = new Array();
var vButtonsLink = new Array();
var vButtonsAbs = new Array();
var vButtonsTarget = new Array();

function fButtonPath(rPath) {
	vButtonPath = rPath;
}

function fNewButton(rNum, rStatus, rFile, rWidth, rHeight, rLink, rAbsolute, rTarget, rJPG) {
	var tB0, tB1;
	vButtons[rNum] = rStatus;
	if (rJPG == 1) {
		tB0 = "_0.jpg";
		tB1 = "_1.jpg"; 
	} else {
		tB0 = vB0;
		tB1 = vB1;
	}
	vButtons0[rNum] = new Image(); vButtons0[rNum].src = (vButtonPath + rFile + tB0);
	vButtons1[rNum] = new Image(); vButtons1[rNum].src = (vButtonPath + rFile + tB1);
	vButtonsW[rNum] = rWidth;
	vButtonsH[rNum] = rHeight;
	vButtonsLink[rNum] = rLink;
	vButtonsAbs[rNum] = (rAbsolute == 1) ? 1 : 0;
	vButtonsTarget[rNum] = rTarget;
}

function fShowButton(rNum) {
	fLinkImg(vButtonsLink[rNum], "fButton", (rNum + "|1"), (rNum + "|0"), ('b_' + rNum), vButtons0[rNum].src, vButtonsW[rNum], vButtonsH[rNum], vButtons[rNum], "", vButtonsAbs[rNum], vButtonsTarget[rNum]);
}

function fButton(rNumOn) {
	var tNum = parseInt(fGetItem(rNumOn, 0, vDelim));
	var tOn = parseInt(fGetItem(rNumOn, 1, vDelim));
	if (tOn) {
		document["b_" + tNum].src = vButtons1[tNum].src;
		fStatus(vButtons[tNum]);
	} else {
		document["b_" + tNum].src = vButtons0[tNum].src;
		fStatus();
	}
}


// ****************************************************************
// LINK
// ****************************************************************

function fLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget) {
	var tLinkStr = (fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget) + '</a>');
	fDW(tLinkStr);
}
		
function fLinkImg(rLink, rMouse, rOver, rOut, rName, rSrc, rWidth, rHeight, rAlt, rClass, rAbsolute, rTarget) {
	if (typeof(rAlt) == 'undefined') rAlt = vCharNS;
	if (typeof(rClass) == 'undefined') rClass = vCharNS;
	var tLinkStr = fMakeLink(vCharNS, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, 0);
	var tImgStr = ('<img class="' + rClass + '" name="' + rName + '" src="' + rSrc + '" width="' + rWidth + '" height="' + rHeight + '" alt="' + rAlt + '" border="0"></a>');
	fDW(tLinkStr + tImgStr);
}

function fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, rEndTag) {
	var tLoc, tLinkStr;
	if ((typeof(rTarget) == 'undefined') || (rTarget == 0)) rTarget = vCharNS;
	if (typeof(rEndTag) == 'undefined') rEndTag = 1;
	if (rAbsolute == 1) {
		tLoc = rLink;
	} else if (rLink == "index") {
		tLoc = (vPath + "index.html");
	} else {
		tLoc = (vPath + "content/" + rLink + ".html");
	}
	if ((typeof(rMouse) == 'undefined') || (rMouse == vCharNS)) {
		tLinkStr = ('<a href="' + tLoc + '"');
	} else {
		tLinkStr = ('<a href="' + tLoc + '" onMouseOver="' + rMouse + '(\'' + rOver + '\'); return true" onMouseOut="' + rMouse + '(\'' + rOut + '\'); return true"');
	}
	if (rTarget != vCharNS) tLinkStr = (tLinkStr + ' target=' + rTarget);
	tLinkStr = (tLinkStr + '>' + rLabel);
	if (rEndTag == 1) tLinkStr = (tLinkStr + '</a>');
	return(tLinkStr);
}


// ****************************************************************
// STATUS
// ****************************************************************

function fStatus(rStatus) {
	if (typeof(rStatus) == 'undefined') rStatus = vCharNS;
	vStatus = rStatus;
	setTimeout('fStatusDisplay()', 0);
}

function fStatusDisplay() {
	window.status = vStatus;
}


// ****************************************************************
// OFF SITE
// ****************************************************************

function fOffSite(rLink) {
	var tWin = window.open(rLink, "linkWin");
	tWin.focus();
}


// ****************************************************************
// POPUP
// ****************************************************************

function fPopup(rFile, rPopW, rPopH, rTarget, rPopScroll, rPopRel, rPopLR, rPopTB, rLROff, rTBOff) {
	var vWinW, vWinH, vWinL, vWinT, vWinR, vWinB, vPopX, vPopY, vArgs;
	
	if ((typeof(rTarget) == 'undefined') || (rTarget == 0)) rTarget = 'popWin';
	if (typeof(rPopScroll) == 'undefined') rPopScroll = '0';
	if (typeof(rPopRel) == 'undefined') rPopRel = 'W';
	if (typeof(rPopLR) == 'undefined') rPopLR = 'L';
	if (typeof(rPopTB) == 'undefined') rPopTB = 'T';
	if (typeof(rLROff) == 'undefined') rLROff = 0;
	if (typeof(rTBOff) == 'undefined') rTBOff = 0;

	if (rPopRel == 'W' || rPopRel == 'w') {
		if (vBrowser == "Netscape") {
			vWinL = window.screenX;
			vWinT = window.screenY;
			vWinW = (window.outerWidth - 20);
			vWinH = (window.outerHeight - 55);
		} else {
			vWinL = window.screenLeft;
			if (rPopTB == "T" || rPopTB == "t") {
				vWinT = window.top.screenTop;
			} else {
				vWinT = window.screenTop;
			}
			vWinW = (document.body.clientWidth - 10);
			vWinH = (document.body.clientHeight - 30);
		}
	} else {
		vWinL = 0;
		vWinT = 0;
		if (vBrowser == "Netscape") {
			vWinW = (screen.width - 10);
			vWinH = (screen.height - 0);
		} else {
			vWinW = (screen.width - 10);
			vWinH = (screen.height - 50);
		}
	}
	vWinR = (vWinL + vWinW);
	vWinB = (vWinT + vWinH);
	
	if (rPopLR == 'L' || rPopLR == 'l') {
		vPopX = vWinL;
	} else if (rPopLR == 'R' || rPopLR == 'r') {
		vPopX = (vWinR - rPopW);
	} else { // (rPopLR == 'C') 
		vPopX = (vWinL + ((vWinW / 2) - (rPopW / 2)));
	}
	if (rPopTB == 'T' || rPopTB == 't') {
		vPopY = vWinT;
	} else if (rPopTB == 'B' || rPopTB == 'b') {
		vPopY = (vWinB - rPopH);
	} else { // (rPopTB == 'C') 
		vPopY = (vWinT + ((vWinH / 2) - (rPopH / 2)));
	}
	vPopX = (vPopX + rLROff);
	vPopY = (vPopY + rTBOff);
	if (vBrowser == "Netscape") {
		vArgs = 'width=' + rPopW + ',height=' + rPopH + ',screenX=' + vPopX + ',screenY=' + vPopY + ',resizable=1,scrollbars=' + rPopScroll + ',menubar=0';
	} else {
		vArgs = 'width=' + rPopW + ',height=' + rPopH + ',left=' + vPopX + ',top=' + vPopY + ',resizable=1,scrollbars=' + rPopScroll + ',menubar=0';
	}
	vPopWin = window.open(rFile,rTarget,vArgs);
	vPopWin.focus();
}


// ****************************************************************
// DOM
// ****************************************************************

var vIsDHTML = 0;
var vIsID = 0;
var vIsAll = 0;
var vIsLayers = 0;

if (document.getElementById) {vIsID = 1; vIsDHTML = 1;
} else if (document.all) {vIsAll = 1; vIsDHTML = 1;
} else if ((navigator.appName.indexOf('Netscape') != -1) && 
           (parseInt(navigator.appVersion) == 4)) { vIsLayers = 1; vIsDHTML = 1;
}

function fDOM(rObjectID, rStyle) {
	if (rStyle == 1) {
		if (vIsID) { return (document.getElementById(rObjectID).style);
		} else if (vIsAll) { return (document.all[rObjectID].style);
		} else if (vIsLayers) { return (document.layers[rObjectID]);
		}
	} else {
		if (vIsID) { return (document.getElementById(rObjectID));
		} else if (vIsAll) { return (document.all[rObjectID]);
		} else if (vIsLayers) { return (document.layers[rObjectID]);
		}
	}
}

function fStyle(rID, rStyle, rValue) {
	var tDOM = fDOM(rID, 1);
	switch (rStyle) {
		case "display": tDOM.display = rValue; break;
		case "left": tDOM.left = rValue; break;
		case "visibility":  tDOM.visibility = rValue; break;
		case "height":  tDOM.height = rValue; break;
		case "color":  tDOM.color = rValue; break;
		case "background-color":  tDOM.backgroundColor = rValue; break;
		default: //alert("fStyle " + rStyle + " does not exist");
	}
	
}


// ****************************************************************
// UTILITIES
// ****************************************************************

function fDOpen() { document.open(); }
function fDW(rString) { document.write(rString); }
function fDClose() { document.close(); }

function fNumItems(rString, rDelim) {
	var tPos;
	var tCount = 0;
	var tLoop = 1;
	while (tLoop) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tLoop = 0;
		rString = rString.substring(tPos + 1, rString.length);
		++tCount;
	}
	return (tCount);
}

function fGetItem(rString, rNum, rDelim) {
	var tCount, tPos, tItem;
	for (tCount = 0; tCount <= rNum; tCount++) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tPos = rString.length;
		tItem = rString.substring(0, tPos);
		tPos = tItem.length + 1;
		rString = rString.substring(tPos, rString.length);
	}
	return (tItem);
}

function fReplaceChar(rString, rChars, rReplace) {
	var tPos, tLen, tStrL, tStrR;
	var tCLen = rChars.length;
	while ((tPos = rString.indexOf(rChars)) >= 0) {
		tLen = rString.length;
		tStrL = rString.substring(0, tPos);
		tStrR = rString.substring(tPos + tCLen, tLen);
		rString = (tStrL + rReplace + tStrR);
	}
	return (rString);
}

function fStripZero(rString) {
	var tLen;
	while (rString.indexOf("0") == 0) {
		tLen = rString.length;
		rString = rString.substring(1, tLen);
	}
	return (rString);
}

function fAddZero(rNumber) {
	if ((parseInt(rNumber) > 0) && (parseInt(rNumber) < 10)) rNumber = ("0" + rNumber);
	return (rNumber);
}
