// ------------------------------------------------------------------------------------------------
// Get Browser Type
// ------------------------------------------------------------------------------------------------
function GetBrowser() {

    if ((navigator.userAgent.indexOf("MSIE") >= 0) || (navigator.userAgent.indexOf("Internet Explorer") >= 0)) {
	return "ie";
    } 
    
    if ((navigator.userAgent.indexOf("Netscape") >= 0) || (navigator.userAgent.indexOf("Nav") >= 0) || (navigator.userAgent.indexOf("Gecko") >= 0)) {
	return "nn";
    } 
    
    if (navigator.userAgent.indexOf("Opera") >= 0) {
	return "op";
    } 

    return "null";
}


// ------------------------------------------------------------------------------------------------
// Get browser version
// ------------------------------------------------------------------------------------------------
function GetBrowserVer() {

    return parseInt(navigator.appVersion);
}



// ------------------------------------------------------------------------------------------------
// Test DHTML compliancy
// ------------------------------------------------------------------------------------------------
function GetDHTMLCompliancy() {

    var sComp = null;

    if (document.getElementById) {
	sComp = "sc";
    }

    else if (document.all) {
	sComp = "ie";
    }

    else if (document.layers) {
	sComp = "nn";
    }

    return sComp;
}


// ------------------------------------------------------------------------------------------------
// Test if browser DHTML capable
// ------------------------------------------------------------------------------------------------
function GetDHTMLCapable() {

    if (GetDHTMLCompliancy()) {
	return true;
    }
    
    return false;
}


// ------------------------------------------------------------------------------------------------
// Open a new popup window
// ------------------------------------------------------------------------------------------------
function PopUp(sURL, sName, iWidth, iHeight, sStatus, sToolbar, sMenubar, sScroll) {

    var sNme	= 'PopUp';
    var iWdth	= 400;
    var iHght	= 300;
    var sStat	= 'yes';
    var sTbar	= 'no';
    var sMbar	= 'yes';
    var sScrl	= 'yes';
    
    if (iWidth)   {iWdth = iWidth;}
    if (iHeight)  {iHght = iHeight;}
    if (sName)    {sNme  = sName;}
    if (sStatus)  {sStat = sStatus;}
    if (sToolbar) {sTbar = sToolbar;}
    if (sMenubar) {sMbar = sMenubar;}
    if (sScroll)  {sScrl = sScroll;}
    
    parameters = "width=" + iWdth + "," + "height=" + iHght + ",toolbar=" + sTbar + ",directories=no,status=" + sStat + ",scrollbars=" + sScrl + ",resizable=yes,menubar=" + sMbar;

    parent.window.open(sURL,sNme,parameters);
}


// ------------------------------------------------------------------------------------------------
// Switch class for a number of page elements
// ------------------------------------------------------------------------------------------------
function ToggleAll(sObjPrfx, iMax, sStyle, sTog, oTog) {

    for (i = 0; i <= iMax; i++) {
    
	var sObjID = sObjPrfx + i;
	var oElem  = GetElement(sObjID);

	if (oElem) {

	    oElem.className = sStyle;

	    var oTogImg = eval('document.images.' + sObjID + sTog);

	    if (oTogImg) {
		oTogImg.src = oTog.src;
	    }
	}
    }
}


// ------------------------------------------------------------------------------------------------
// Show or hide a page element depending on it's visibility
// ------------------------------------------------------------------------------------------------
function ToggleVis(sObjID, sStyleVis, sStyleHid, sTog, oTogOn, oTogOff) {

    var oElem = GetElement(sObjID);
    
    if (oElem) {

	var oTogImg = eval('document.images.' + sObjID + sTog);

	if (oElem.className == sStyleHid) {

	    oElem.className = sStyleVis;

	    if (oTogImg) {
		oTogImg.src = oTogOn.src;
	    }
	}

	else {
	    oElem.className = sStyleHid;

	    if (oTogImg) {
		oTogImg.src = oTogOff.src;
	    }
	}
    }
}


// ------------------------------------------------------------------------------------------------
// Get page element from ID
// ------------------------------------------------------------------------------------------------
function GetElement(sID) {

    var sBComp	= GetDHTMLCompliancy();
    var oElem	= null;

    if (sBComp == "sc") {
	oElem = document.getElementById(sID);
    }

    if (sBComp == "ie") {
	oElem = document.all[sID];
    }

    if (sBComp == "nn") {
	oElem = document.layers[sID];
    }

    return oElem;
}


// ------------------------------------------------------------------------------------------------
// Redirect to URL
// ------------------------------------------------------------------------------------------------
function GoToURL(url) {

    self.location.href = url;
}


// ------------------------------------------------------------------------------------------------
// Perform image rollover
// ------------------------------------------------------------------------------------------------
function SwapImage(imgName, imgNew) {

    if (GetDHTMLCapable()) {

	imgName.src = imgNew.src;
    }
}


// ------------------------------------------------------------------------------------------------
// Perform css rollover
// ------------------------------------------------------------------------------------------------
function SwapClass(oObj, sClass) {

    if (oObj) {
	oObj.className = sClass;
    }
}


// ------------------------------------------------------------------------------------------------
// Set status bar text
// ------------------------------------------------------------------------------------------------
function SetStatus(sText) {

    window.status = sText;
}
