/*******************************************
*****		Global functions 		  ******
*******************************************/

var currentlySelectedMenu = "";
var timerID = 0;

function ShowFlyout(objMenu){
	//alert(objMenu.offsetParent.offsetLeft);
	//hide the currently selected flyout
	if(currentlySelectedMenu != ""){
		HideFlyout();
		clearTimeout(timerID);
		currentlySelectedMenu = "";
	}
	//set the class of the menu object
	objMenu.className = "topNavOn";
	origTopPosition = 192 + document.getElementById("topNav").offsetHeight;
	selectedMenuTopPosition = 0;
	//position the flyout by referencing it by using a specific parent div
	if (document.all && navigator.appVersion.indexOf("Mac") == -1) {
			// IE
		var mainLeftPosition = document.getElementById("mainTable").offsetLeft;
		var selectedMenuLeftPosition = objMenu.offsetParent.offsetLeft + 10;
	} else if (navigator.appVersion.indexOf("Safari") > -1) {
			// safari
		var mainLeftPosition = document.getElementById("mainTable").offsetLeft;
		var selectedMenuLeftPosition = objMenu.offsetLeft + 10;
	} else {
			// mozilla
		var mainLeftPosition = document.getElementById("textSize").offsetLeft;
		var selectedMenuLeftPosition = objMenu.offsetLeft + 10;
	}
	var flyoutWidth = 180;
	var flyoutLeftPosition;	
	flyoutLeftPosition = mainLeftPosition + selectedMenuLeftPosition;
	flyoutTopPosition = origTopPosition;
	document.getElementById(objMenu.id+'Flyout').style.left = flyoutLeftPosition + "px";
	document.getElementById(objMenu.id+'Flyout').style.top = flyoutTopPosition + "px";
	document.getElementById(objMenu.id+'Flyout').style.display = "block";
	
	//store the open menu object
	currentlySelectedMenu = objMenu;
}

/*********************************************/

function HideFlyoutTimer(){
	timerID = setTimeout("HideFlyout()", 100);
}

/*********************************************/

function HideFlyout(){
	//showProps(currentlySelectedMenu.parentNode,"obj")
	if(whichSection != currentlySelectedMenu.parentNode.id.split("_")[0]) {
		currentlySelectedMenu.className = "";
	}
	document.getElementById(currentlySelectedMenu.id+'Flyout').style.display = "none";
}

/*********************************************/

function fixPNG(objImage) 
// fix for PNG images in IE using the AlphaImageLoader filter
{
 var arVersion = navigator.appVersion.split("MSIE")
 var version = parseFloat(arVersion[1])
    if ((version >= 5.5) && (version <= 7) && (document.body.filters)) {
  var strImageSource = objImage.src;
	  if(strImageSource.indexOf('.png') > -1){
	   //only apply the filter if the current image is a png   
	   objImage.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+objImage.src+"', sizingMethod='scale')";
	   objImage.src = 'images/spacer.gif';
	  	} else if (strImageSource.indexOf('nav_bot.gif') > -1) {
		 // for transparent gifs used to trick IE   
	   objImage.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/nav_botIE.png', sizingMethod='scale')";
	   objImage.src = 'images/spacer.gif';
	   }
    } else if (!document.all) {
			// since certain PNGs have been added to style sheet, we don't want to also have it as the image
			// so need to remove them from the image source so only style sheet PNG is visible 
		if (objImage.src.indexOf("botIE.png") > -1) {
			objImage.height = 0;
		} else if (objImage.src.indexOf("midright.png") > -1 || objImage.src.indexOf("topmid2.png") > -1 || objImage.src.indexOf("botmid.png") > -1 || objImage.src.indexOf("midleft.png") > -1 || objImage.src.indexOf("home_right_sidebar") > -1 ) {
			objImage.height = 0;
		} 
	}
}

/*********************************************/

function showProps(obj,objName) {
   var result = ""
   var count = 0
   for (var i in obj) {
      result += objName + "." + i + " = " + obj[i] + "\n"
      count++
      if (count == 25) {
         alert(result)
         result = ""
         count = 0
      }
   }
   if (count != 0) alert(result)
}


/*********************************************/

function init() {
	if (whichSection != "") {
			// turn appropriate left nav item on
		if (whichSection != "Home") {
			var navLinks = document.getElementById(whichSection).getElementsByTagName('a');
			var currentFile = location.pathname.split("/")[location.pathname.split("/").length-1];
			
			
			for (i=0; i<navLinks.length; i++) {
				if(currentFile == navLinks[i].href.split("/")[navLinks[i].href.split("/").length-1]) {
					navLinks[i].className = "leftNavOn";
				}
			}
			document.getElementById(whichSection).style.display = "block";
		}
		
			// cycle through topnav
		var navLinks = document.getElementById("topNav").getElementsByTagName('li');
		for (i=0; i<navLinks.length; i++) {
			if(whichSection == navLinks[i].id.split("_")[0]) {
				navLinks[i].firstChild.className = "topNavOn";
			}
		}
	}
}

//****************************************//

var carePhotoArr = new Array(
	"resident",
	"family",
	"health",
	"physician",
	"exec_dir",
	"res_assist",
	"building_services",
	"dining_services",
	"activities"
    );
	
//****************************************//

function cacheCareImages() {
	for (var i=0; i<carePhotoArr.length; i++) {
		eval(carePhotoArr[i] + "_off = new Image()");
		eval(carePhotoArr[i] + "_off.src = 'images/" + carePhotoArr[i] + "_off.jpg'");
		eval(carePhotoArr[i] + "_on = new Image()");
		eval(carePhotoArr[i] + "_on.src = 'images/" + carePhotoArr[i] + "_on.jpg'");
	}
}

//****************************************//

var allLoaded = false;

function initCare() {
	cacheCareImages();
	allLoaded = true;
	//document.getElementById("residentText").style.display = "block";
}

/*********************************************/

function swapImage(which,how) {
	if (allLoaded) {
		document.images[which+"Img"].src = eval(which + "_"+ how+".src");
	}
	
}

/*********************************************/

function swapText(which,how) {
	if (allLoaded) {
		document.getElementById(which+"Text").style.display = (how == "on") ? "block" : "none";
	}
}

/*********************************************/

function doSwap(which,how) {
	if (allLoaded) {
		if (which != "resident") {
			swapText("resident","off");
		}
		swapImage(which,how);
		swapText(which,how);
		if (how == "off") {
			swapText("resident","on");
		}
	}
}

//****************************************//

function toggleDiv(obj,div) {
	var strDiv = document.getElementById(div);
	if (strDiv.style.display != "block") {
		strDiv.style.display = "block";
		obj.innerHTML = obj.innerHTML.replace("Show","Hide");
	} else {	
		strDiv.style.display = "none";
		obj.innerHTML = obj.innerHTML.replace("Hide","Show");
	}
}

/*********************************************/

function emailValid() {	
	if (document.getElementById("email").value.match( /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)) {
		return true;
	} else {
		return false;
	}
}
/*********************************************/

function validate(form) {	
	var errors = false;
	for (var i=0;i<form.elements.length;i++)
	{
		if (form.elements[i].type != "submit" && form.elements[i].type != "reset") {
			var o = document.getElementById(form.elements[i].name);
			o.style.borderWidth="0px";
			if (isSafari) o.style.backgroundColor = "#FFF";
		}
		
		if ((form.elements[i].value == "" && form.elements[i].type != "submit" && form.elements[i].type != "reset") || !emailValid()) {
		
			errors = true;
			if (form.elements[i].value == "") {
				var o = document.getElementById(form.elements[i].name);
			} else {
				var o = document.getElementById("email");
			}
			if (isSafari) {
				o.style.backgroundColor = "#FF6B6B";
			} else {
				o.style.borderStyle="solid";
				o.style.borderColor="red";
				o.style.borderWidth="1px";
			}
		}
	}
	
	if (errors) {
		alert("Please fill in the missing or invalid information.");
		return false;
	}
	//return false;
	return true;
}
	




