/*
	Global JS Functions
*/

/* = TOP NAVIGATION JS
---------------------------------------------------------------
	The following javascript is for the top navigation
---------------------------------------------------------------*/
function findLocation() {
	if(!document.getElementById) return false;
	if(!document.getElementsByTagName) return false;
	
	var url = new String(location);
	var urlArray = new Array();
	urlArray = url.split("/");
	var directory = urlArray[3];
	
	/* select the directory */
	switch(directory) {
		case "about-us":
			if(document.getElementById('about-us'))
			var parent = document.getElementById('about-us');
			break;
		case "admissions":
			if(document.getElementById('admissions'))
			var parent = document.getElementById('admissions');
			break;
		case "academics":
			if(document.getElementById('academics'))
			var parent = document.getElementById('academics');
			break;
		case "athletics":
			if(document.getElementById('athletics'))
			var parent = document.getElementById('athletics');
			break;
		case "campus-life":
			if(document.getElementById('campus-life'))
			var parent = document.getElementById('campus-life');
			break;
		case "alumnae":
			if(document.getElementById('alumnae'))
			var parent = document.getElementById('alumnae');
			break;
		case "giving":
			if(document.getElementById('giving'))
			var parent = document.getElementById('giving');
			break;
		case "resources":
			if(document.getElementById('resources'))
			var parent = document.getElementById('resources');
			break;
		case "riding":
			if(document.getElementById('riding'))
			var parent = document.getElementById('riding');
			break;
		default:
			break;
	}
	
	if(!parent) return false;
	/* change the current directory menu item to selected */
	var selectedNav = parent.getElementsByTagName('a')[0];
	if(!selectedNav) return false;
	if(selectedNav.className)
	{
		selectedNav.className += " selected";
	}
	else {
		selectedNav.className = "selected";
	}
	
	/* setup actions for onMouseOver and onMouseOut */
	if(!document.getElementById("nav")) return false;

	var navList = document.getElementById("nav").getElementsByTagName("li");
	for (var i = 0; navList[i]; i++) {
		navList[i].onmouseover = function() {
			/* remove highlight from the current page item */
			if(this != selectedNav) {
				if(selectedNav.className != "selected" && selectedNav.className.indexOf("selected") != -1)
				{
					selectedNav.className = selectedNav.className.replace(" selected", "");
					selectedNav.className = selectedNav.className.replace("selected ", "");
				}
				else if(selectedNav.className == "selected"){
					selectedNav.className = "";
				}
			}
			return 0;
		}
		navList[i].onmouseout = function() {
			/* add highlight back to the current page item */
			if(this != selectedNav) {
				if(selectedNav.className)
				{
					selectedNav.className += " selected";
				}
				else {
					selectedNav.className = "selected";
				}
			}
			return 0;
		}
	}
	
	return 0;
}

/* = PREP RENDERED SECTION LINKS
-------------------------------------------------*/

function prepSectionNav(sectionId) {
	if(!document.getElementById) return false;
	if(!document.getElementById(sectionId)) return false;
	if(!document.getElementsByTagName) return false;
	
	var subNav = document.getElementById(sectionId);
	var subNavLink = subNav.getElementsByTagName("A");
	for ( var i = 0; i < subNavLink.length; i++)
	{
		var linkImage = subNavLink[i].getElementsByTagName("IMG")[0];
		if(!linkImage) continue;
		var imageSrc = linkImage.getAttribute("src");
		imageSrc = imageSrc.replace(".gif", "_hov.gif");
		linkImage.style.backgroundImage = "url("+imageSrc+")";
		
		subNavLink[i].onmouseover = function() {
			var linkImage = this.getElementsByTagName("IMG")[0];
			if(!linkImage) return false;
			var imageSrc = linkImage.getAttribute("src");
			linkImage.holdSrc = imageSrc;
			linkImage.setAttribute("src", "/images/transparent.gif");
			imageSrc = imageSrc.replace(".gif", "_hov.gif");
			linkImage.style.backgroundImage = "url("+imageSrc+")";
			return 0;
		}
		
		subNavLink[i].onmouseout = function() {
			var linkImage = this.getElementsByTagName("IMG")[0];
			if(!linkImage) return false;
			linkImage.setAttribute("src", linkImage.holdSrc);
			return 0;
		}
	}
	return 0;
}

function callPrepSectionNav() {
	prepSectionNav("subnav");
}
addLoadEvent(callPrepSectionNav);


/* = CLEAR FIELD
-------------------------------------------------*/

function clickClear() {
	if(!document.getElementsByTagName) return false;
	
	var inputs = document.getElementsByTagName("INPUT");
	
	for ( var i = 0; i < inputs.length; i++)
	{
		if(inputs[i].className.indexOf("clearDefault") != -1)
		{
			inputs[i].onclick = inputs[i].onfocus = function() {
				if(this.value == this.defaultValue)
				{
					this.value = "";
				}
				return 0;
			}
			if(inputs[i].className.indexOf("NoReset") != -1) continue;
			inputs[i].onblur = function() {
				if(this.value == "")
				{
					this.value = this.defaultValue;
				}
				return 0;
			}
		}
	}
	return 0;
}

/* = WIDGETS JS
-----------------------------------------------*/

function prepMiniCalWidget() {
	if(!document.getElementById && !document.getElementsByTagName) return 0;
	if(!document.getElementById("calendar")) return 0;
	
	var miniCal = document.getElementById("calendar");
	
	var miniCalDays = miniCal.getElementsByTagName("DIV");
	
	for (var i = 0; i < miniCalDays.length; i++)
	{
		if(miniCalDays[i].className.indexOf("day") == -1) continue;
		
		var isDayLink = miniCalDays[i].getElementsByTagName("A")[0];
		if(!isDayLink) continue;
		if(isDayLink.className.indexOf("day-num") == -1) continue;
		
		miniCalDays[i].onmouseover = function() {
			this.style.position = "relative";
			var popup = this.getElementsByTagName("DIV")[0];
			if(popup.className.indexOf("pop-up-events") != -1)
			{
				if(popup.className.indexOf("hidden") != -1)
				{
					popup.className = popup.className.replace("hidden", "");
					popup.className = popup.className.replace(" hidden", "");
					popup.className = popup.className.replace("hidden ", "");
				}
			}
		}
		miniCalDays[i].onmouseout = function() {
			this.style.position = "static";
			var popup = this.getElementsByTagName("DIV")[0];
			
			if(popup.className.indexOf("pop-up-events") != -1)
			{
				if(popup.className.indexOf("hidden") == -1)
				{
					popup.className += " hidden";
				}
			}
		}
	}
	return 0;
}


/* = PREP POP UPS FOR SQUARE PHOTO GALLERY
---------------------------------------------------------------*/

function prepGalleryPopup() {
	if(!document.getElementById && !document.getElementsByTagName) return 0;
	if(!document.getElementById("photo-galleries")) return false;
	
	var galleries = document.getElementById("photo-galleries");
	var galleryList = galleries.getElementsByTagName("UL")[0];
	if(!galleryList) return 0;
	var gallery = galleryList.getElementsByTagName("LI");
	
	for ( var i = 0; i < gallery.length; i++)
	{
		gallery[i].onmouseover = function() {
			this.style.position = "relative";

			var popup = this.getElementsByTagName("DIV")[0];
			if(!popup) return 0;
			
			if(popup.className.indexOf("pop-up") == -1) return 0;
			if(popup.className.indexOf("hover") != -1) return 0;
			
			if(popup.className)
				popup.className += " hover";
			else
				popup.className = "hover";
			return false;
		}
		
		gallery[i].onmouseout = function() {
			this.style.position = "static";
			var popup = this.getElementsByTagName("DIV")[0];
			
			if(!popup) return 0;
			if(popup.className.indexOf("pop-up") == -1) return 0;
			if(popup.className.indexOf("hover") == -1) return 0;
			
			popup.className = popup.className.replace("hover", "");
			popup.className = popup.className.replace(" hover", "");
			popup.className = popup.className.replace("hover ", "");
			return false;
		}
	}
	return 0;
}


/* = PREP ATHLETICS DROPDOWN
---------------------------------------------------------------*/

function prepAthleticDropDown() {
	if(!document.getElementById && !document.getElementsByTagName) return true;
	if(!document.getElementById("sports-dropdown")) return true;
	if(!document.getElementById("sports-button")) return true;
	
	var menu = document.getElementById("sports-dropdown");
	
	if(menu.className.indexOf("js-off") != -1)
			menu.className = menu.className.replace("js-off", "hidden");
	
	var button = document.getElementById("sports-button");
	
	button.onclick = function() {
		if (this.className.indexOf("sel") == -1)
		{
			if(this.className)
				this.className += " sel";
			else
				this.className = "sel";
		}
		else {
			this.className = this.className.replace("sel", "");
			this.className = this.className.replace(" sel", "");
			this.className = this.className.replace("sel ", "");
		}
		
		var menu = document.getElementById("sports-dropdown");
		if(!menu) return true;
		if(menu.className.indexOf("hidden") == -1)
		{
			if(menu.className)
			{
				menu.className += " hidden";
			}
			else {
				menu.className = "hidden";
			}
		}
		else {
			menu.className = menu.className.replace("hidden", "");
			menu.className = menu.className.replace(" hidden", "");
			menu.className = menu.className.replace("hidden ", "");
		}
		return false;
	}
	return 0;
}


/* = ON LOAD
---------------------------------------------------------------
	add the on load events
---------------------------------------------------------------*/
function addLoadEvent(func) {
	var oldOnLoad = window.onload
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldOnLoad();
			func();
		}
	}
}

addLoadEvent(findLocation);
addLoadEvent(clickClear);
addLoadEvent(prepMiniCalWidget);
addLoadEvent(prepAthleticDropDown);
addLoadEvent(prepGalleryPopup);


// POP window function used in a few places
function PopMeUp2(PopPage){
	newWin = window.open(PopPage,"poppage2", "resizable=yes,scrollbars=yes,status=no,toolbar=no,location=no,width=625,height=600,left=200,top=20");
}

function prepPopUpLink() {
	if(!document.getElementsByTagName) return true;
	
	var links = document.getElementsByTagName("A");
	for ( var i = 0; i < links.length; i++)
	{
		if(links[i].className.indexOf("popup-link") == -1) continue;
		
		links[i].onclick = function() {
			var href = this.getAttribute("href");
			var title = this.innerHTML;
			newWin = window.open(href,"poppage2", "resizable=yes,scrollbars=yes,status=no,toolbar=no,location=no,width=500,height=500,left=200,top=20");
			return false;
		}
	}
	return 0;
}

addLoadEvent(prepPopUpLink);