var ns4 = (document.layers);
var ie  = (document.all);
var ie4 = (ie && !document.getElementById);
var ie5 = (ie && document.getElementById);
var ns6 = (!ie && document.getElementById);

var aryMoused = new Array();
var aryLayerMoused = new Array();
var aryMoImages = new Array();
var imageList = new Array();
var runMouseOvers = true;
var TimerID = null;
var iLimit = 25;
var itmp = 0;

var nbTime = 100;
var nbTimes = 2;
var nbThisLoc = 325;
var aryLayerNames = new Array();
var aryNavBarLayerInfo = new Array();
var aryNavBarLayers = new Array();

var registeredObjects = new Array();
var viz = "hide";

function MOImage() {
	var arg = MOImage.arguments;
	this.ptrImage = BillzNavBarMM_findObj(arg[0]);
	this.imageMO = new Image();
	this.imageMO.src = arg[1];
	this.HTMLname = arg[0];
	this.Moused = false;
	this.OriginalSrc = '';
	return true;
}

function BillzImagePreload() {
	// 0) html image name 1) mo image src 2)image Name for rollover key (rollover may have multiple mos for one html Image) 
	var arg = BillzImagePreload.arguments;
	nbImagePreload(arg[0], arg[1], arg[2]);
}

function nbImagePreload(img_name, mo_img_src, rollover_key_img_name) {
	var imageKey = (rollover_key_img_name.length > 0) ? rollover_key_img_name : img_name;
	imageList[imageList.length] = imageKey;
	if (!(aryMoImages[imageKey])) aryMoImages[imageKey] = new MOImage(img_name, mo_img_src);
}

function BillzMouseover() {
	var arg = null;
	if (runMouseOvers) {		
		arg = BillzMouseover.arguments; //args 0)ImageName 1)OriginalSrc 2)array index (caller imagename)		
		nbMouseover(arg[0], arg[1], arg[2]);
	}
	return true;
}
// args 1) ImageName 2) OriginalSrc 3) array index (caller imagename)
function nbMouseover(img_name, orig_src, img_key) {
	var imageKey = null;
	var o = null;
	if (runMouseOvers) 
	{				
		imageKey = (img_key.length > 0) ? img_key : img_name;
		if (!(aryMoImages[imageKey].ptrImage)) aryMoImages[imageKey].ptrImage = BillzNavBarMM_findObj(img_name);		
		if (aryMoImages[imageKey] && (o = aryMoImages[imageKey].ptrImage)) {
			aryMoImages[imageKey].OriginalSrc = orig_src;
			aryMoImages[imageKey].Moused = true;
			o.src = aryMoImages[imageKey].imageMO.src;
		}
	}
	return true;
}

function navbarMouseover(bar,linkId,row){
	var ListElement = document.getElementById('Link1_' + bar);
	var ItemElement = document.getElementById('Link2_' + bar + '_' + linkId);
	var LinkElement = document.getElementById('Link3_' + bar + '_' + linkId);
	var theClass = ' hover';	
	if(ListElement){
		ListElement.className = ListElement.className + theClass;
	}
	if(ItemElement){
		ItemElement.className = ItemElement.className + theClass;
	}
	if(LinkElement){
		LinkElement.className = LinkElement.className + theClass;
	}
}
function navbarMouseout(bar,linkId,row){
	var ListElement = document.getElementById('Link1_' + bar + '_' + row);
	var ItemElement = document.getElementById('Link2_' + bar + '_' + linkId);
	var LinkElement = document.getElementById('Link3_' + bar + '_' + linkId);
	var theClass = ' hover';	
	if(ListElement){
		ListElement.className = ListElement.className.replace(theClass,"");		
	}
	if(ItemElement){
		ItemElement.className = ItemElement.className.replace(theClass,"");
	}
	if(LinkElement){
		LinkElement.className = LinkElement.className.replace(theClass,"");
	}
}

var NavBarTempOnload = null;
if (window.onload && window.onload != null) NavBarTempOnload = window.onload;

function FullyLoaded() {
	if (NavBarTempOnload != null) NavBarTempOnload();
	runMouseOvers = true;
	return true;
}

function BillzMouseOutTimer() {
	return nbMouseOutTimer();
}

function nbMouseOutTimer() {
	if (TimerID) clearTimeout(TimerID);
	TimerID = setTimeout("nbLayerRestore()",5000);
	return true;
}

function RestoreAll() {
	nbMouseoverRestore();
	nbLayerRestore();
	return true;
}

function BillzMouseoverRestore() {
	return nbMouseoverRestore();
}

function nbMouseoverRestore() {
	var i = 0;
	var o = null;
	if (runMouseOvers) {
		for (i = 0; i < imageList.length; i++) {
			if (aryMoImages[imageList[i]].Moused && (o = aryMoImages[imageList[i]].ptrImage)) {
				o.src = aryMoImages[imageList[i]].OriginalSrc;
				aryMoImages[imageList[i]].Moused = false;
			}
		}
	}
	return true;
}

function BillzLayerRestore() {
	return nbLayerRestore();
}

function nbLayerRestore() {
	var i = 0;
	for (i = 0; i < aryLayerNames.length; i++) {
		if (!aryNavBarLayerInfo[aryLayerNames[i]].isDefault) BillzNavBarRestoreLayers(aryLayerNames[i]);	
	}
	return true;
}

function BillzArrayPushUnique(aryArray, varNewElement) { //only pushes if unique value
	var pushIt = true;
	var i = 0;
	for (i = 0; i < aryArray.length && pushIt; i++) {
		pushIt = (varNewElement != aryArray[i]);
	}
	if (pushIt) BillzArrayPush(aryArray, varNewElement);
	return pushIt;
}

function BillzArrayPush(aryArray, varNewElement) { //Implement Array Push 'cause IE cant handle it
	aryArray[aryArray.length] = varNewElement;
	return true;
}
function BillzArrayPop(aryArray) { //Implement Array Pop 'cause IE cant handle it before 5.5
	var varItemToPop = null;
	if (aryArray[aryArray.length - 1]) {
		varItemToPop = aryArray[aryArray.length - 1];
		aryArray[aryArray.length] = null;
	}
	return varItemToPop;
}

function getDivRef(id) {
	var divref;
	if(ns4) divref = document.layers[id];
	else if(ie4) divref = document.all[id];
	else if(ie5 || ns6) divref = document.getElementById(id);	
	return divref;
}

//v3.0 name changed to avoid clash with possible other JS in content, this function complements of MM Dreamweaver
function NavBarSwapRollover(swapimage,defaultimage,imageID) {
	if(imageID.length > 0 && document.getElementById(imageID))
	{
		if(swapimage.length > 0) 
			document.getElementById(imageID).src = "images/" + swapimage;
		else
			document.getElementById(imageID).src = "images/" + defaultimage;		
	}
}
function BillzNavBarMM_findObj(n, d) {
	var p,i,x;
	if (ns6) x = document.getElementById(n);
	else {		
		if (registeredObjects[n]) return registeredObjects[n];
		if (!(d)) d = document;
		try {
			p = n.indexOf("?");
		}
		catch(e) {
			p = 0;
		}
		if (p > 0 && parent.frames.length) {
			d = parent.frames[n.substring(p+1)].document;
			n = n.substring(0,p);
		}
		if (!(x = d[n]) && d.all) x = d.all[n];	
		for (i = 0; !x && i < d.forms.length; i++) {
			x = d.forms[i][n];
		}
		for (i=0; !x && d.layers && i < d.layers.length; i++) {
			if (d.layers[i].id.indexOf("external_") == -1) x = BillzNavBarMM_findObj(n, d.layers[i].document);	
		}
		registeredObjects[n] = x;
	}				
	return x;
}

function BillzArrayContains() {
	var arg = BillzArrayContains.arguments;
	var foundit = false;
	var i = 0;
	for (i = 0; i < arg[0].length && !foundit; i++) {
		foundit = (arg[1] == arg[0][i]);
	}
	return foundit;
}

function NavBarRegisterLayer() {
	var arg = NavBarRegisterLayer.arguments;
	var n = arg[0];
	var d = arg[1];
	var mo = false;
	var o = null;
	if (arg[2] && arg[2] == 'MOutLayer') mo = true;
	else mo = false;
	
	if (!(BillzArrayContains(aryLayerNames, n))) {
		if (o = BillzNavBarMM_findObj(n)) {
			aryNavBarLayers[n] = o;
			BillzArrayPushUnique(aryLayerNames, n);
			aryNavBarLayerInfo[n] = new NavBarLayer(n, d, mo);
		}
	}
	return true;
}

function BillzNavBarMM_showHideLayers() {
	//v3.0 name changed, this function complements of MM Dreamweaver with customizations by Bill Heller
	var i = 0;
	var x = "";
	var obj = null;
	var v = null;
	var p = null;
	var args = BillzNavBarMM_showHideLayers.arguments;
	
	if (args[args.length - 1] != "menu") nbMouseOutTimer();
	for (i = 0; i < (args.length - 2); i += 3) {
		if (!aryNavBarLayers[args[i]]) {
			x = (args[i + 2] == 'show') ? 'hide' : 'show';
			NavBarRegisterLayer(args[i], x);
		}
		if ((obj = aryNavBarLayers[args[i]]) != null) {
			v = args[i + 2];
			aryNavBarLayerInfo[args[i]].isDefault = false;
			if (args[args.length - 1] == "restore") v = (v == 'show') ? 'hide' : 'show';
			
			if (obj.style) obj.style.visibility = (v == 'show') ? 'visible' : ((v == 'hide') ? 'hidden' : v);
			else obj.visibility = v;
		}
	}
	return true;
}

function BillzNavBarRestoreLayers() {
	var i = 0;
	var x = "";
	var obj = null;
	var v = null;
	var p = null;
	var args = BillzNavBarRestoreLayers.arguments;
	for (i = 0; i < (args.length); i++) {
		if (obj = aryNavBarLayers[args[i]]) {
			v = aryNavBarLayerInfo[args[i]].defaultVisibility;
			if (obj.style) {
				obj = obj.style;
				v = (v == 'show' ) ? 'visible' : ((v == 'hide') ? 'hidden' : v);
			}
			obj.visibility = v;
			if (!aryNavBarLayerInfo[args[i]].MOutLayer) aryNavBarLayerInfo[args[i]].isDefault = true;			
		}
	}
	return true;
}

function NavBarLayer() {
	var arg = NavBarLayer.arguments;
	this.defaultVisibility = arg[1];
	this.isDefault = true;
	this.MOutLayer = arg[2];
	return true;
}

function BillzNavMove() {
	return nbNavMove();
}

function nbNavMove() {
	var thisl = null;
	var otherl = null;
	if (thisl = BillzNavBarMM_findObj("nbScrollLayer")) {
		if (thisl.style) {
			thisl = thisl.style;
			viz = "hidden";
		} 
		thisl.top = nbThisLoc -= 3;
		if (nbThisLoc < -750) {
			nbThisLoc = 325;
			nbTimes--;
		}
	}
	if (nbTimes <= 0) {
		otherl = BillzNavBarMM_findObj("BillzLayer");
		otherl.visibility = viz;
	} else {
		setTimeout("nbNavMove()", nbTime);
	}	
	return true;
}

function NavBar_openadmin() {
	window.open('admin/','SiteAdmin','height=screen.availheight,width=screen.availwidth,scrollbars=1,toolbar=0,directories=0,status=0,menubar=0,resizable=1');
	return true;
}

window.onload = FullyLoaded;nbImagePreload('hospital_chelsea_1_1','images/hospital_chelsea_on.jpg', '');
nbImagePreload('hospital_annarbor_1_2','images/hospital_annarbor_on.jpg', '');
nbImagePreload('hospital_howell_1_3','images/hospital_howell_on.jpg', '');
nbImagePreload('hospital_pontiac_1_4','images/hospital_pontiac_on.jpg', '');
nbImagePreload('hospital_huron_1_5','images/hospital_huron_on.jpg', '');
nbImagePreload('hospital_saline_1_6','images/hospital_saline_on.jpg', '');
nbImagePreload('hospital_livonia_1_7','images/hospital_livonia_on.jpg', '');

function NavBar_setCookie(cookievalue,navVersion,linkID) 
{	
	var cookiename = "SLIDINGTABLE_NAVBAR" + navVersion;
	var cookieVersionname = "SLIDINGTBL_NAVBAR_VERSION";
	var cookieClear = "SLIDINGTBL_NAVBAR_CLEARCOOKIES";	
	document.cookie = cookieClear.toUpperCase() + "=false";
	if(cookievalue.length > 0)
		document.cookie = cookiename.toUpperCase() + "=" + escape(cookievalue);
	if(navVersion.length > 0)	
		document.cookie = cookieVersionname.toUpperCase() + "=" + navVersion;	
	if(linkID.length > 0)
		NavBar_setPLinkIDCookie(linkID,navVersion);		
}
function NavBar_setoLevelIDCookie(cookievalue,linkID,navVersion) 
{
	var name = "SLIDINGTBL_NAVBAR_OLEVELID";		
	if(cookievalue.length > 0)
		document.cookie = name.toUpperCase() + "=" + escape(cookievalue);	
	if(linkID.length > 0)
		NavBar_setPLinkIDCookie(linkID,navVersion);	
	if(navVersion.length > 0)	
		document.cookie = "SLIDINGTBL_NAVBAR_VERSION=" + navVersion;		
}
function NavBar_setPLinkIDCookie(linkID,navVersion)
{	
	document.cookie = "SLIDINGTBL_NAVBAR_PLINKID=" + linkID;	
	if(navVersion.length > 0)	
		document.cookie = "SLIDINGTBL_NAVBAR_VERSION=" + navVersion;
}
function NavBar_deleteCookie() 
{
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var check_name = "SLIDINGTABLE_NAVBAR";	
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f	

	document.cookie = "SLIDINGTBL_NAVBAR_VERSION=0";	
	document.cookie = "SLIDINGTBL_NAVBAR_OLEVELID=";	
	for (i = 0; i < a_all_cookies.length; i++)
	{		
		a_temp_cookie = a_all_cookies[i].split( '=' );			
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		
		//expire all cookies for every slidingTable_navbar intances.			
		if (cookie_name.toUpperCase().indexOf(check_name) == 0)		
			document.cookie = cookie_name.toUpperCase() + "=";			 	
	}	
}

