//----------------------------------------
// Javascript functions for Mapping
//----------------------------------------


//----------------------------------------
// setOrigin function updates the address
// fields with the values of the selected
// origin match, used for ambiguous addresses
// entered as origin points in custom
// directions and proximity search
//----------------------------------------
function resetAddressFields(formName, address, city, state, zipCode){

  if(document.forms[formName].addressLine1){
    document.forms[formName].addressLine1.value = address;
  }
  document.forms[formName].city.value = city;
  document.forms[formName].state.value = state;
  document.forms[formName].zipCode.value = zipCode;

  document.forms[formName].submit();
  
}

<!-- For Map Rollovers -->


function loadMapImages(cmRoot){
  if (document.images) {
	zoomInon = new Image();      
	zoomInon.src = cmRoot + "/graphics/maps/zoom_in_o.gif";
	
	level01on = new Image();      
	level01on.src = cmRoot + "/graphics/maps/zoom_level_01_o.gif";
	
	level02on = new Image();      
	level02on.src = cmRoot + "/graphics/maps/zoom_level_02_o.gif";
	
	level03on = new Image();      
	level03on.src = cmRoot + "/graphics/maps/zoom_level_03_o.gif";
	
	level04on = new Image();      
	level04on.src = cmRoot + "/graphics/maps/zoom_level_04_o.gif";
	
	level05on = new Image();      
	level05on.src = cmRoot + "/graphics/maps/zoom_level_05_o.gif";
	
	level06on = new Image();      
	level06on.src = cmRoot + "/graphics/maps/zoom_level_06_o.gif";
	
	level07on = new Image();      
	level07on.src = cmRoot + "/graphics/maps/zoom_level_07_o.gif";
	
	level08on = new Image();      
	level08on.src = cmRoot + "/graphics/maps/zoom_level_08_o.gif";
	
	level09on = new Image();      
	level09on.src = cmRoot + "/graphics/maps/zoom_level_09_o.gif";
	
	level10on = new Image();      
	level10on.src = cmRoot + "/graphics/maps/zoom_level_10_o.gif";
	
	zoomOuton = new Image();      
	zoomOuton.src = cmRoot + "/graphics/maps/zoom_out_o.gif";
	
	nwon = new Image();      
	nwon.src = cmRoot + "/graphics/maps/pointer_nw_o.gif";
	
	non = new Image();      
	non.src = cmRoot + "/graphics/maps/pointer_n_o.gif";
	
	neon = new Image();      
	neon.src = cmRoot + "/graphics/maps/pointer_ne_o.gif";
	
	won = new Image();      
	won.src = cmRoot + "/graphics/maps/pointer_w_o.gif";
	
	eon = new Image();      
	eon.src = cmRoot + "/graphics/maps/pointer_e_o.gif";
	
	swon = new Image();      
	swon.src = cmRoot + "/graphics/maps/pointer_sw_o.gif";
	
	son = new Image();      
	son.src = cmRoot + "/graphics/maps/pointer_s_o.gif";
	
	seon = new Image();      
	seon.src = cmRoot + "/graphics/maps/pointer_se_o.gif";


	zoomInoff = new Image(); 
	zoomInoff.src = cmRoot + "/graphics/maps/zoom_in.gif";
	
	level01off = new Image();      
	level01off.src = cmRoot + "/graphics/maps/zoom_level_01.gif"; 
	
	level02off = new Image();      
	level02off.src = cmRoot + "/graphics/maps/zoom_level_02.gif";
	
	level03off = new Image();      
	level03off.src = cmRoot + "/graphics/maps/zoom_level_03.gif";
	
	level04off = new Image();      
	level04off.src = cmRoot + "/graphics/maps/zoom_level_04.gif";
	
	level05off = new Image();      
	level05off.src = cmRoot + "/graphics/maps/zoom_level_05.gif";
	
	level06off = new Image();      
	level06off.src = cmRoot + "/graphics/maps/zoom_level_06.gif";
	
	level07off = new Image();      
	level07off.src = cmRoot + "/graphics/maps/zoom_level_07.gif";
	
	level08off = new Image();      
	level08off.src = cmRoot + "/graphics/maps/zoom_level_08.gif";
	
	level09off = new Image();      
	level09off.src = cmRoot + "/graphics/maps/zoom_level_09.gif";
	
	level10off = new Image();      
	level10off.src = cmRoot + "/graphics/maps/zoom_level_10.gif";
	
	zoomOutoff = new Image();      
	zoomOutoff.src = cmRoot + "/graphics/maps/zoom_out.gif";
	
	nwoff = new Image();      
	nwoff.src = cmRoot + "/graphics/maps/pointer_nw.gif";
	
	noff = new Image();      
	noff.src = cmRoot + "/graphics/maps/pointer_n.gif";
	
	neoff = new Image();      
	neoff.src = cmRoot + "/graphics/maps/pointer_ne.gif";
	
	woff = new Image();      
	woff.src = cmRoot + "/graphics/maps/pointer_w.gif";
	
	eoff = new Image();      
	eoff.src = cmRoot + "/graphics/maps/pointer_e.gif";
	
	swoff = new Image();      
	swoff.src = cmRoot + "/graphics/maps/pointer_sw.gif";
	
	soff = new Image();      
	soff.src = cmRoot + "/graphics/maps/pointer_s.gif";
	
	seoff = new Image();      
	seoff.src = cmRoot + "/graphics/maps/pointer_se.gif";
  }
}//end loadMapImages

// Function to 'activate' images.
function imgOn(imgName) {
        if (document.images) {
            document[imgName].src = eval(imgName + "on.src");
        }
}

// Function to 'deactivate' images.
function imgOff(imgName) {
        if (document.images) {
            document[imgName].src = eval(imgName + "off.src");
        }
}

//Function to prepare page for hover functionality
function dm(oi,ws) {
	// This javascript finds out what kind of browser the user is using and then
	// specifies how to get individual elements, which is needed later to do
	// the popup. The popup is shown/hidden by the 'showPopup' function.
	var hm = 0;
	var ns = 0;
	var ie = 0;
	var wc = 0;
	
		 
	if (document.getElementById) {wc = 1; hm = 1;} 
	else if (document.all) {ie = 1; hm = 1;} 
	else { browserVersion = parseInt(navigator.appVersion); 
	
		if ((navigator.appName.indexOf('Netscape') != -1)  && (browserVersion == 4)) {ns = 1; hm = 1;}}

        if (ws == 1) { 
        	if (wc) return (document.getElementById(oi).style); 
        	else if (ie) return (document.all[oi].style); 
	        else if (ns) return (document.layers[oi]);
        } else {
        	if (wc) return (document.getElementById(oi)); 
	        else if (ie) return (document.all[oi]); 
        	else if (ns) return (document.layers[oi]);
        }
} 

//Supporting function for hover functionality
function wd() {
	if (window.innerWidth != null) return window.innerWidth; 
        if (document.body.clientWidth != null)
        	return document.body.clientWidth; 
        return (null);
}

//Function to determine map's offset within page
function offsets(elemId){

	//determine where the map is located in the page
	var offsetTrail = document.getElementById(elemId);	
	if(!offsetTrail){
		offsetTrail = document.all[elemId];
		if(!offsetTrail)
			offsetTrail = document.layers[elemId];
	}
			
	var offsetLeft = 0;
	var offsetTop = 0;
	while (offsetTrail) {
        	offsetLeft += offsetTrail.offsetLeft;
	        offsetTop += offsetTrail.offsetTop;
        	offsetTrail = offsetTrail.offsetParent;
	}
	if (navigator.userAgent.indexOf("Mac") != -1 && 
        	typeof document.body.leftMargin != "undefined") {
   		offsetLeft += document.body.leftMargin;
	        offsetTop += document.body.topMargin;
	}
	return {left:offsetLeft, top:offsetTop};
}

//Function that displays popup for hover over
function showPopup (id, x, y, mapDivId) {

	ds = dm(id,1); 
        dx = dm(id,0); 
	coordinates = offsets(mapDivId);

        st = ds.visibility;

        if (st == "visible" || st == "show") ds.visibility = "hidden"; 
        else {
                ds.left = x + coordinates.left + 'px';
	        ds.top = y + coordinates.top  + 'px';
                ds.visibility = "visible";
        }
}

//Function that hides previous popup
function hidePopup (id) {
	ds = dm(id,1); 

        st = ds.visibility;

        if (st == "visible" || st == "show") ds.visibility = "hidden"; 
}

