/* = PREP NAV
-------------------------------------------------
	This function sets the hover events for
	nav drop downs.
	Required Nav Structure: Nexted ULs
-------------------------------------------------*/

function prepNav(elementId) {
	if(!document.getElementsByTagName) return 0;
	if(!document.getElementById) return 0;
	if(!document.getElementById(elementId)) return 0;
	
	var listItem = document.getElementById(elementId).getElementsByTagName("LI");
	for(var i = 0; i < listItem.length; i++)
	{
		listItem[i].onmouseover = listItem[i].onmouseout = function() {
			
			if(this.className) {
				this.className += " hover";
			}
			else {
				this.className = "hover";
			}
			
			return 0;
		}
		listItem[i].onmouseout = function() {
			
			this.className = this.className.replace(/\b ?hover ?\b/,"");
			
			return 0;
		}
	}
	return 0;
}

function callPrepNav() {
	prepNav("main-nav");
}

addLoadEvent(callPrepNav);


/* = CLEAR FIELD
-------------------------------------------------
	Clears any input when clicked on if it contains
	its default value.  All that is required is
	that you put the class "clearDefault" on the
	input.
-------------------------------------------------*/

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;
			}
		}
	}
	
	var form = document.getElementsByTagName("FORM");
	
	for(var i = 0; i < form.length; i++) {
		form[i].onsubmit = function() {
			var inputs = this.getElementsByTagName("INPUT");
			for ( var j = 0; j < inputs.length; j++)
			{
				if(inputs[j].className.indexOf("clearDefault") != -1)
				{
					if(inputs[j].value == inputs[j].defaultValue)
					{
						inputs[j].value = "";
					}
				}
			}
			return 0;
		}
	}
	
	
	return 0;
}

addLoadEvent(clickClear);

/* = PREP POP UP LINK
-------------------------------------------------
	By adding the class "popup-link" to any link
	the link will popup a window with the page the
	link was linked to in the href.
	
	Use:
	popup-link-width-height
	example:
	popup-link-600-500
	
	Default: popup-link
	
	Deafult size: 500 X 500
-------------------------------------------------*/

function prepPopUpLink() {
	if(!document.getElementsByTagName) return true;
	
	var width = "500";
	var height = "500";
	
	var links = document.getElementsByTagName("A");
	for ( var i = 0; i < links.length; i++)
	{
		if(links[i].className.indexOf("popup-link") == -1) continue;
	
		var classes = links[i].className.split(" ");
		for( var j = 0; j < classes.length; j++)
		{
			if(classes[j].indexOf("popup-link") == -1) continue;
			var splitClass = classes[j].split("-");
			if(splitClass.length <= 2) continue;
			width = splitClass[2];
			if(splitClass.length <=3) continue;
			height = splitClass[3];
		}
		
		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="+width+",height="+height+",left=200,top=20");
			return false;
		}
	}
	return 0;
}

addLoadEvent(prepPopUpLink);


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

function prepGalleryPopup(elementId) {
	if(!document.getElementById && !document.getElementsByTagName) return 0;
	if(!document.getElementById(elementId)) return false;
	
	var galleries = document.getElementById(elementId);
	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;
}

function callPrepGalleryPopup() {
	prepGalleryPopup("sq-gallery");
}

addLoadEvent(callPrepGalleryPopup);


/* = 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;
}

//addLoadEvent(prepMiniCalWidget);


/*function prepPNG() {
	if(!document.getElementsByTagName) return false;
	var images = document.getElementsByTagName("IMG");
	
	for ( var i = 0; i < images.length; i++)
	{
		if(images[i].getAttribute("src").indexOf(".png") == -1) continue;
		if(!images[i].filters) return false;
		var src = images[i].getAttribute("src");
		images[i].runtimeStyles.filter =  "progid:DXImageTransform.Microsoft." + "AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}


addLoadEvent(prepPNG);
*/

function flashEmergency() {
	var emergency = $('fp-emergency');
	if(!emergency) return false;
	
	new Effect.Pulsate(emergency);
	
	return 0;
}

addLoadEvent(flashEmergency);

/* = ADD ON LOAD
-------------------------------------------------
	This adds functions to onload without
	stepping on each other.
-------------------------------------------------*/

function addLoadEvent(func) {
	var oldOnLoad = window.onload
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldOnLoad();
			func();
		}
	}
}

