﻿window.onload = init;

function init()
{
	// Set font size functionality
	var fontSizeLinks = document.getElementById("TextSize").getElementsByTagName("a");
	if (fontSizeLinks.length == 2)
	{
		addListener(fontSizeLinks[0], "click", changeFontSize);
		addListener(fontSizeLinks[1], "click", changeFontSize);
	}
}

function openWindow(url, name, width, height, resizable, scrollbars, statusbar, menubar, toolbar)
{
	var win = null;
	var optionString = "";
	if (width) optionString += "width=" + width + ",";
	if (height) optionString += "height=" + height + ",";
	if (resizable) optionString += "resizable=1,";
	if (scrollbars) optionString += "scrollbars=1,";
	if (statusbar) optionString += "status=1,";
	if (menubar) optionString += "menubar=1,";
	if (toolbar) optionString += "toolbar=1,";
	if (optionString != "") optionString = optionString.substr(0, optionString.length - 1);
	win = window.open(url, name, optionString);
	win.focus();
	return win;
}

function printPage()
{
	if (window.print) window.print();
	else alert("Please select \"Print...\" from the File menu.");
}

function setActiveStyleSheet(title)
{
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
	{
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title"))
		{
			a.disabled = true;
			if (a.getAttribute("title") == title) a.disabled = false;
		}
	}
}

function changeFontSize(e)
{
	var trigger = (e.srcElement) ? e.srcElement : e.target;
	var amount = (trigger.innerHTML.indexOf("Larger") != -1) ? 1 : -1;
	
	if (e.preventDefault)
	{
		e.preventDefault();
	}
	else
	{
		e.returnValue = false;
	}

	var currentFontSize = parseInt(getCookie("FontSize"));
	if (isNaN(currentFontSize)) currentFontSize = 0;
	currentFontSize += amount;
	if (currentFontSize > 1) currentFontSize = 1;
	else if (currentFontSize < -1) currentFontSize = -1;
	
	var spans = trigger.parentNode.parentNode.getElementsByTagName("span");
	var spanFontSizeDown = spans[2];
	var spanFontSizeUp = spans[0];
	
	switch (currentFontSize)
	{
		case -1 :
		{
			setActiveStyleSheet("Small text size");
			if(spanFontSizeDown && spanFontSizeUp)
			{
				spanFontSizeDown.style.backgroundImage = "url(/images/FontSmallerBtnDisable.gif)";
			    spanFontSizeUp.style.backgroundImage = "url(/images/FontLargerBtn.gif)";	
			}
    		break;
		}
		case 0 :
		{
			setActiveStyleSheet("Default text size");
			if(spanFontSizeDown && spanFontSizeUp)
			{
		        spanFontSizeDown.style.backgroundImage = "url(/images/FontSmallerBtn.gif)";
			    spanFontSizeUp.style.backgroundImage = "url(/images/FontLargerBtn.gif)";
			}
			break;
		}
		case 1 :
		{
			setActiveStyleSheet("Large text size");
			if(spanFontSizeDown && spanFontSizeUp)
			{
    	        spanFontSizeDown.style.backgroundImage = "url(/images/FontSmallerBtn.gif)";
			    spanFontSizeUp.style.backgroundImage = "url(/images/FontLargerBtnDisable.gif)";
			}
			break;
		}
	}
	
	var nextYear = new Date();
	nextYear.setFullYear(nextYear.getFullYear() + 1);
	setCookie("FontSize", currentFontSize, nextYear);
}

function trim(theString)
{
	var newString = theString;
	while (newString.charAt(0) == " " || newString.charCodeAt(0) == 10 || newString.charCodeAt(0) == 13 || newString.charCodeAt(0) == 9)
	{
		newString = newString.substring(1,newString.length);
	}
	while (newString.charAt(newString.length - 1) == " " || newString.charCodeAt(newString.length - 1) == 10 || newString.charCodeAt(newString.length - 1) == 13 || newString.charCodeAt(newString.length - 1) == 9)
	{
		newString = newString.substring(0,newString.length - 1);
	}
	return newString;
}



function getCookie(name)
{
	var cookies = document.cookie.split(";")
	for (var i=0; i<cookies.length; i++)
	{
		var nameVal = cookies[i].split("=");
		if (nameVal.length == 2 && trim(nameVal[0]) == trim(name))
		{
			return trim(nameVal[1]);
		}
	}
	return "";
}

function setCookie(name, value, expires)
{
	document.cookie = name + "=" + value + ";path=/;" + (expires ? " expires=" + expires.toGMTString() + ";" : "");
}

function removeCookie(name)
{
	setCookie(name, "", new Date("2 January 1970"));
}

function getObjectWidth(obj)
{
	var result = 0;
	if (obj.offsetWidth) result = obj.offsetWidth;
	else if (obj.clip && obj.clip.width) result = obj.clip.width;
	else if (obj.style && obj.style.pixelWidth) result = obj.style.pixelWidth;
	return parseInt(result);
}

function getObjectHeight(obj)
{
	var result = 0;
	if (obj.offsetHeight) result = obj.offsetHeight;
	else if (obj.clip && obj.clip.height) result = obj.clip.height;
	else if (obj.style && obj.style.pixelHeight) result = obj.style.pixelHeight;
	return parseInt(result);
}

function addListener(object, eventType, handler)
{
	if (window.attachEvent)
	{
		object.attachEvent("on" + eventType, handler);
	}
	else if (window.addEventListener)
	{
		object.addEventListener(eventType, handler, false);
	}
}

function setRegionSelector()
{
	if (parseInt(navigator.userAgent.substr(navigator.userAgent.indexOf("MSIE ") + 5, 3)) < 7)
	{
		if($('WorkListWrapper'))
		{
			// IE6 or below, set up hovers
			var regionNav = $($('WorkListWrapper').getElementsByTagName("ul")[0]).immediateDescendants();
      for (var i=0; i<regionNav.length; i++)
      {
				regionNav[i].onmouseover = function() { this.className += " Hover";}
				regionNav[i].onmouseout = function() { this.className = this.className.replace(" Hover", ""); }
      }
    }
	}
}

function CreateBookmarkLink(url,title) {

    if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
 }