//  ############### preload images for nav ############### 
function doPreload(){
	preloadImages('images/nav/tnav_about.gif','images/nav/tnav_about-over.gif','images/nav/tnav_cap.gif','images/nav/tnav_cap-over.gif','images/nav/tnav_prop.gif','images/nav/tnav_prop-over.gif','images/nav/tnav_case.gif','images/nav/tnav_case-over.gif','images/nav/tnav_invest.gif','images/nav/tnav_invest-over.gif','images/nav/tnav_work.gif','images/nav/tnav_work-over.gif')
}

function preloadImages() {
  var d=document; 
  if(d.images){ 
  	if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; 
	for(i=0; i<a.length; i++)
    	if (a[i].indexOf("#")!=0){ 
			d.p[j]=new Image; 
			d.p[j++].src=a[i];
		}
	}
}

//  ############### START : Dropdown Code ############### 
 var bName = navigator.appName;
 var bVer = parseInt(navigator.appVersion);
 var NS6 = (bName == "Netscape" && bVer >= 5);
 var NS4 = (bName == "Netscape" && bVer >= 4 && bVer < 5);
 var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);
 var NS3 = (bName == "Netscape" && bVer < 4);
 var IE3 = (bName == "Microsoft Internet Explorer" && bVer < 4);

 window.onerror = null;
 var menuActive = 0
 var menuOn = 0
 var onLayer
 var timeOn = null // LAYER SWITCHING CODE
 if (NS4 || IE4 || NS6) {
	 if (navigator.appName == "Netscape" && !document.getElementById){
	 layerStyleRef="layer.";
	 layerRef="document.layers";
	 styleSwitch="";
	 layerVis="show";
	 layerHid="hide";
	 }
	 else if (!document.all && document.getElementById) {
	 layerStyleRef="layer.style.";
	 layerRef="document.getElementById";
	 styleSwitch=".style";
	 layerVis="visible";
	 layerHid="hidden";
	 }
	 else {
	 layerStyleRef="layer.style.";
	 layerRef="document.all";
	 styleSwitch=".style";
	 layerVis="visible";
	 layerHid="hidden";
	 }
 }
// SHOW MENU
function shLayer(layerName, imageName){
 img = getImage(imageName);
 x = getImagePageLeft(img);
 y = getImagePageTop(img);
 menuTop = y + 13 ; // LAYER TOP POSITION
 
 // !!!! Set the layer's left position here !!!!

 menuAboutL = x ;
 menuCapL =  x ;
 menuPropertiesL = x ;
 menuCaseL = x ;
 menuInvestL =  x ;
 menuWorkL = x - 88
 //netscape returns an x value of 1 less than IE, so 
 //	check for it and add 1 pixel
 if (navigator.appName == "Netscape") {menuWorkL += 1}
if (NS4 || IE4 || NS6) {
 if (timeOn != null) {
 clearTimeout(timeOn)
 hideLayer(onLayer)
 }
 if (NS4 || IE4) {
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="'+layerVis+'"');
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top="'+menuTop+'"');
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.left="'+eval(layerName+'L')+'"');
 } 
 if (NS6) {
 eval(layerRef+'("'+layerName+'")'+styleSwitch+'.visibility="'+layerVis+'"');
 eval(layerRef+'("'+layerName+'")'+styleSwitch+'.top="'+menuTop+'"');
 eval(layerRef+'("'+layerName+'")'+styleSwitch+'.left="'+eval(layerName+'L')+'"');
 } 
 onLayer = layerName
 }
}

// HIDE Function
function hideLayer(layerName){
 if (menuActive == 0) {
 if (NS4 || IE4) {
 eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="'+layerHid+'"');
 }
 if (NS6) {
 eval(layerRef+'("'+layerName+'")'+styleSwitch+'.visibility="'+layerHid+'"');
 }
 }
}

// TIMER MOUSE OUT
function btnTimer() {
 timeOn = setTimeout("btnOut()",100)
}

// MOUSE OUT
function btnOut(layerName) {
 if (menuActive == 0) {
 hideLayer(onLayer)
 }
}

// MENU MOUSE OVER 
function menuOver() {
 clearTimeout(timeOn)
 menuActive = 1
}

// MENU MOUSE OUT 
function menuOut() {
 menuActive = 0 
 timeOn = setTimeout("hideLayer(onLayer)", 80)
}

function getImage(name) {
  if (NS4 || NS6) {
    return findImage(name, document);
  }
  if (IE4 || NS6)
    return eval('document.all.' + name);
  return null;
}

function findImage(name, doc) {
  var i, img;
  for (i = 0; i < doc.images.length; i++)
    if (doc.images[i].name == name)
      return doc.images[i];
  for (i = 0; i < doc.layers.length; i++)
    if ((img = findImage(name, doc.layers[i].document)) != null) {
      img.container = doc.layers[i];
      return img;
    }
  return null;
}

function getImagePageLeft(img) {
  var x, obj;
  if (NS4 || NS6) {
    if (img.container != null)
      return img.container.pageX + img.x - 1;
    else
      return img.x - 1;
  }
  if (IE4) {
    x = 0;
    obj = img;
    while (obj.offsetParent != null) {
      x += obj.offsetLeft;
      obj = obj.offsetParent;
    }
    x += obj.offsetLeft;
    return x;
  }
  return -1;
}

function getImagePageTop(img) {
  var y, obj;
  if (NS4 || NS6) {
    if (img.container != null)
      return img.container.pageY + img.y;
    else
      return img.y;
  }
  if (IE4) {
    y = 0;
    obj = img;
    while (obj.offsetParent != null) {
      y += obj.offsetTop;
      obj = obj.offsetParent;
    }
    y += obj.offsetTop;
    return y;
  }
  return -1;
}
//  ############### END : Dropdown Code ############### 

//  ############### START : Generic Functions ############### 


function makeWindow(url) {
var width = 621
if (arguments[1] != null && arguments[1] > 600) {
	width = arguments[1]
}
width += ''
        logonWindow=window.open("","logonwin","width=" + width +  ",height=600,resizable=yes,scrollbars=yes,toobar=no,location=no,directories=no,status=no,menubar=no");
        logonWindow.location.href=url
                if(logonWindow.opener == null) logonWindow.opener = window;
        logonWindow.opener.name = "opener";   
		logonWindow.focus();
}

// function used on Properties page to turn thumbs on and off
 function doImageState(action,obj)
 {
	switch(action)
	{
		case 'over':
		 	cssClassUtility('swap', obj, 'propertyDetailThumbnails','propertyDetailThumbnailsOver')
			break;
		case 'out':
			cssClassUtility('swap', obj, 'propertyDetailThumbnailsOver','propertyDetailThumbnails')
			break;
		case 'click':
			for (var i = 1; i < numberOfThumbs + 1; i++) 
			{
				var imgName = document.getElementById("cs" + i);
			}			
			break;
	}
}

 
 
function cssClassUtility(action,obj,classOne,classTwo)
{
	switch (action){
		case 'swap':
	
	obj.className=!cssClassUtility('check',obj,classOne)?obj.className.replace(classTwo,classOne):obj.className.replace(classOne,classTwo);
		break;
		case 'add':
			if(!cssClassUtility('check',obj,classOne)){obj.className+=obj.className?' '+classOne:classOne;}
		break;
		case 'remove':
			var rep=obj.className.match(' '+classOne)?' '+classOne:classOne;
			obj.className=obj.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp('\\b'+classOne+'\\b').test(obj.className)
		break;
	}
}
// ********************************//