function getIndex(el) {
    ind = null;
    for (i=0; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.id == el) {
            ind = i;
            break;
        }
    }
    return ind;
}


function arrange() {
	firstInd = 0;
    nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
    for (i=firstInd+1; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.visibility != "hide") {
            whichEl.pageY = nextY;
            nextY += whichEl.document.height;
        }
    }
}

function initChannel(url){
    var server, re, str;
    server = location.href
    re = /ShellSource/i;
    str = server.search(re);
    temp = server.slice(0, (str - 1));
    window.location.href = temp + url;
}



function initIt(){
    if (NS4) {
        for (i=0; i<document.layers.length; i++) {
            whichEl = document.layers[i];
            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
        }
        arrange();
		if (navObjects.link){
			expandIt(navObjects.link);
		}
    }
    else {
        divColl = document.all.tags("tr");
        for (i=0; i<divColl.length; i++) {
            whichEl = divColl(i);
            if (whichEl.className == "child") {
			whichEl.style.display = 'none';
	    }
        }
	if (navObjects.link){
		expandIt(navObjects.link);
	}
    }
}


function showIt(divId){
        divColl = document.all.tags("tr");
        for (i=0; i<divColl.length; i++) {
            whichEl = divColl(i);
            if (whichEl.className == "child"){
		if (whichEl.id == divId){
			whichEl.style.display = 'block';
			document.all(divId).src = "/images/nav/" + divId + "nav_on.gif";
		}
		else{
			whichEl.style.display = 'none';
		}
	    }
        }
	if (navObjects.link){
		expandIt(navObjects.link);
	}
}
	

	function PrintWindow()
	{
				var details;
				details="toolbar=no,title=no";
				window.open('<%=AutoSession.URLUsingAlternateTemplate("Prt_New Contact")%>','',details)
	}


	function expandIt(el) {

    if (IE4){
        whichEl = eval(el + "Child");
        whichParent = eval(el + "Parent");
        if (whichEl.style.display == "none") {
            whichEl.style.display = "block";      
        }
        else {
            whichEl.style.display = "none";
        }
    } else if (NS6) {
		whichEl = (el + "Child");
		whichParent = (el + "Parent");	 
		obj = document.getElementById(whichEl);	
		objP = document.getElementById(whichParent);
 
		// Access the IMG node by traversing the tree (this method is sensitive to whitespaces)
		//objTable = objP.childNodes[1];
		//objTBody = objTable.childNodes[1];
		//objTR = objTBody.childNodes[0];
		//objTD = objTR.childNodes[1];
		//objA = objTD.childNodes[0];
		//objIMG = objA.childNodes[1];
		
		// Access the IMG node using a helper method (this assumes only one IMG under the parent DIV)
		objIMG = objP.getElementsByTagName('IMG')[0];

       	if (obj.style.display == 'none') {
			// Make visible
			obj.style.display = "block";
		} else {
			// Make invisible
			obj.style.display = "none";
        }
    } else if (NS4) {
	    firstInd = getIndex(el);
        whichEl = eval("document." + el + "Child");
        whichIm = eval("document." + el + "Parent.document.images['imEx']");
        if (whichEl.visibility == "hide") {
            whichEl.visibility = "show";
        }
        else {
            whichEl.visibility = "hide";
        }
        arrange();
    }
}

function navObject (name, link) {
//Parse the URL to see if we were sent an element to expand.
  this.name     = name;
  partialString = '';

    if (cgiString.indexOf(name + '=') != -1) {
      partialString = cgiString.substring(cgiString.indexOf(name + '=') + name.length + 1, cgiString.length);

      // ENSURE THAT AN ENDING DELIMETER EXISTS
      if (partialString.indexOf(DELIMETER) != -1) {
        this.link = partialString.substring(0, partialString.indexOf(DELIMETER));
      }
      // NO DELIMETER EXISTS, COPY TO END OF STRING
      else {
        this.link = partialString;
      }
    }
    // USE DEFAULT LINK
    else {
      this.link = link;
    }
}
  // GET CALLING URL
  var callingURL = document.URL;

  // SET STRING TO CGI CALLING PARAMETERS (A QUESTION MARK ALWAYS PRECEDES
  //  THE CGI CALLING PARAMETERS [NAME/VALUE PAIRS] WHICH TAKE ON THE
  //  FOLLOWING FORMAT:
  //
  //  ?NAME1=VALUE1&NAME2=VALUE2...&NAMEn=VALUEn
  //
  var cgiString   = callingURL.substring(callingURL.indexOf('?'),callingURL.length);
  var DELIMETER     = '&';    // STANDARD CGI CALLING PARAMETER SEPARATOR/DELIMETER

navObjects = new navObject('navObj', '');

onload = initIt;

