/* ***********************************************************
Example 4-3 (DHTMLapi.js)
"Dynamic HTML:The Definitive Reference"
2nd Edition
by Danny Goodman
Published by O'Reilly & Associates  ISBN 1-56592-494-0
http://www.oreilly.com
Copyright 2002 Danny Goodman.  All Rights Reserved.
************************************************************ */
// DHTMLapi.js custom API for cross-platform
// object positioning by Danny Goodman (http://www.dannyg.com).
// Release 2.0. Supports NN4, IE, and W3C DOMs.
// Additonal Code added by Craig Kaminsky

// Global variables
var isCSS, isW3C, isIE4, isNN4, isIE6CSS, isMac;
// Global Variables added by ck for specific browser detection
var isMozilla, isIE5plus, ieVersPlace, ieVers;

// check for specific instance of IE (5+) or Mozilla (Netscape 5+)
ieVersPlace = navigator.appVersion.indexOf('MSIE') + 5;
ieVers = navigator.appVersion.substr(ieVersPlace,3);
ieVers = parseInt(ieVers);
isMozilla = ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) >= 5)) ? true : false;
isIE5plus = ((navigator.appName.indexOf('Microsoft') != -1 && parseInt(ieVers) >= 5)) ? true :false;
isMac = (navigator.platform.indexOf("Mac") != -1) ? true : false;

// automatically set browser-related variables 
function initDHTMLAPI(){
	if (document.images) {
		isCSS = (document.body && document.body.style) ? true : false;
		isW3C = (isCSS && document.getElementById) ? true : false;
		isIE4 = (isCSS && document.all) ? true : false;
		isNN4 = (document.layers) ? true : false;
		isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
	}
}

// Seek nested NN4 layer from string name
function seekLayer(doc, name) {
    var theObj;
    for (var i = 0; i < doc.layers.length; i++) {
        if (doc.layers[i].name == name) {
            theObj = doc.layers[i];
            break;
        }
        // dive into nested layers if necessary
        if (doc.layers[i].document.layers.length > 0) {
            theObj = seekLayer(document.layers[i].document, name);
        }
    }
    return theObj;
}

// Convert object name string or object reference
// into a valid element object reference
function getRawObject(obj) {
    var theObj;
    if (typeof obj == "string") {
        if (isW3C) {
            theObj = document.getElementById(obj);
        } else if (isIE4) {
            theObj = document.all(obj);
        } else if (isNN4) {
            theObj = seekLayer(document, obj);
        }
    } else {
        // pass through object reference
        theObj = obj;
    }
    return theObj;
}

// Convert object name string or object reference
// into a valid style (or NN4 layer) reference
function getObject(obj) {
    var theObj = getRawObject(obj);
    if (theObj && isCSS) {
        theObj = theObj.style;
    }
    return theObj;
}

// custom function to set the left position of the 
//Diligence Corp web site's sub nav
function setSubNavLeftPos(obj,itemPos){
	var navItems = new Array(1);
	navItems[0] = 0;
	navItems[1] = 64;
	navItems[2] = 128;
	navItems[3] = 177;
	navItems[4] = 300;
	navItems[5] = 239;
	navItems[6] = 382;
	navItems[7] = 195;
	initDHTMLAPI();
	var subNavId = getObject(obj);
	var units = (typeof subNavId.left == "string") ? "px" : 0;
	if(!isMac){
		subNavId.paddingLeft = navItems[itemPos] + units;
	}else{
		if(itemPos == 1){
			subNavId.paddingLeft = (navItems[itemPos]+1) + units;
		}else if(itemPos==5){
			subNavId.paddingLeft = (navItems[itemPos]+4) + units;
		}else if(itemPos==4){
			subNavId.paddingLeft = (navItems[itemPos]-7) + units;
		}else if(itemPos==3){
			subNavId.paddingLeft = (navItems[itemPos]+4) + units;
		}else if(itemPos==2){
			subNavId.paddingLeft = (navItems[itemPos]+3) + units;
		}
		else{
			subNavId.paddingLeft = (navItems[itemPos]-3) + units;
		}
	}
	return;
}

// custom function to set the left position of the 
//Diligence Corp web site's sub nav
function setPopupnavLeftPos(obj,itemPos){
	var xnavItems = new Array(1);
	xnavItems[0] = 0;
	xnavItems[1] = 322;
	initDHTMLAPI();
	var xsubNavId = getObject(obj);
	var xunits = (typeof xsubNavId.left == "string") ? "px" : 0;
	if(!isMac){
		xsubNavId.paddingLeft = xnavItems[itemPos] + xunits;
	}else{
		if(itemPos == 1){
			xsubNavId.paddingLeft = (xnavItems[itemPos]+4) + xunits;
		}
		else if(itemPos==2){
			xsubNavId.paddingLeft = (xnavItems[itemPos]-1) + xunits;
		}
		else{
			xsubNavId.paddingLeft = (xnavItems[itemPos]-3) + xunits;
		}
	}
	return;
}