/*
Copyright (c) 2007, The Travelers Companies. All rights reserved.
Version: 1.0.8422.0
*/

if (typeof STA4JS == "undefined") {
	var STA4JS = {};
	STA4JS["EventManager"] = {};
}

STA4JS.EventManager.addEvent = function(obj, evType, fn)
{
	if (!(typeof YAHOO == "undefined"))
		YAHOO.util.Event.addListener(obj, evType, fn);
}

STA4JS.EventManager.removeEvent = function(obj, evType, fn) {
	if (!(typeof YAHOO == "undefined"))
		YAHOO.util.Event.removeListener(obj, evType, fn);
}

/*
function borisCool()
{
	alert("This is a test... event was kicked off");
}
STA4JS.EventManager.addEvent(window, 'load', borisCool);
*/

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	setCookie(name,"",-1);
}

var selectedFontSize = readCookie("fontSize");
var pageWidth = readCookie("pageWidth");

function setFontStyleSheet(size)
{
	selectedFontSize = size;
	if (typeof (document.getElementById('pfs_base').href) != 'undefined')
	{
		var styleSheetElement = document.getElementById('pfs_base');
		var slashloc = styleSheetElement.href.lastIndexOf('/')
		themeBaseUrl = 'PortalWebResource.axd?n=' + styleSheetElement.href.substring(0,slashloc + 1);
		
		if (size == "large")
		{
			swapStyleSheet('pfs_base','PFS-Style-Large.css');
			textimageSwapper("large","selected");
			textimageSwapper("medium","off");
			textimageSwapper("small","off");
		}
		else if (size == "medium")
		{
			swapStyleSheet('pfs_base','PFS-Style-Medium.css');
			textimageSwapper("large","off");
			textimageSwapper("medium","selected");
			textimageSwapper("small","off");
		}
		else if (size == "small")
		{
			swapStyleSheet('pfs_base','PFS-Style.css');
			textimageSwapper("large","off");
			textimageSwapper("medium","off");
			textimageSwapper("small","selected");
		}
		else
		{
			swapStyleSheet('pfs_base','PFS-Style.css');
			textimageSwapper("large","off");
			textimageSwapper("medium","off");
			textimageSwapper("small","selected");
			selectedFontSize = 'small';
		}
		
		setCookie("fontSize",size,0);
		
		if (window.styleSheetSwapper)
			styleSheetSwapper(size);
		
		YAHOO.util.Dom.setStyle('bodyPanel', 'height', '100%');
		YAHOO.util.Dom.setStyle('whitespaceContainer', 'height', '100%');
		
		setLeftNavHeight();
	}
}

function setPageWidth(pwidth)
{
	if (pwidth == 'fullWidth')
	{
	
		classSwapper('layoutPanelShade', 'layoutPanelShadefullWidth');
		classSwapper('layoutPanel', 'layoutPanelfullWidth');
		classSwapper('widthControl','widthControlcentered');
		swapHref('widthControl','javascript:setPageWidth(\'centered\')');
	}
	else if (pwidth == 'centered')
	{
		classSwapper('layoutPanelShade', 'layoutPanelShadecentered');
		classSwapper('layoutPanel', 'layoutPanelcentered');	
		classSwapper('widthControl','widthControlfullwidth');
		swapHref('widthControl','javascript:setPageWidth(\'fullWidth\')');
	}
	else
	{
		classSwapper('layoutPanelShade', 'layoutPanelShadefullWidth');
		classSwapper('layoutPanel', 'layoutPanelfullWidth');
		classSwapper('widthControl','widthControlcentered');
		swapHref('widthControl','javascript:setPageWidth(\'centered\')');
	}
	setCookie("pageWidth",pwidth,0);
}

function imageSwapper(elementId,switchToImageName)
{
	if (document.getElementById(elementId) != null)
		document.getElementById(elementId).src = switchToImageName;
}

function swapStyleSheet(elementId,stylsheetHref)
{
	
	if (document.getElementById(elementId) != null)
	{
		var styleSheetElement = document.getElementById(elementId);
		var slashloc = styleSheetElement.href.lastIndexOf('/')
  	themeBaseUrl = styleSheetElement.href.substring(0,slashloc + 1);
		if (styleSheetElement.href != themeBaseUrl + stylsheetHref)
		{
			styleSheetElement.href = themeBaseUrl + stylsheetHref;
		}
	}
}

function swapHref(elementId,ref)
{
	if (document.getElementById(elementId) != null)
	{
			var styleSheetElement = document.getElementById(elementId);
			styleSheetElement.href = ref;
	}
}

function textimageSwapper(size,state)
{
	if ((state == "selected") && (size == 'large'))
		imageSwapper('largeTextImage','PortalWebResource.axd?n=/theme/ITU/images/largeSelected.gif');
	else if ((state == "selected") && (size == 'medium'))
		imageSwapper('mediumTextImage','PortalWebResource.axd?n=/theme/ITU/images/mediumSelected.gif');
	else if ((state == "selected") && (size == 'small'))
		imageSwapper('smallTextImage','PortalWebResource.axd?n=/theme/ITU/images/smallSelected.gif');
	else if ((state == "off") && (size == 'large') && !(selectedFontSize == size))
		imageSwapper('largeTextImage','PortalWebResource.axd?n=/theme/ITU/images/largeUnselected.gif');
	else if ((state == "off") && (size == 'medium') && !(selectedFontSize == size))
		imageSwapper('mediumTextImage','PortalWebResource.axd?n=/theme/ITU/images/mediumUnselected.gif');
	else if ((state == "off") && (size == 'small') && !(selectedFontSize == size))
		imageSwapper('smallTextImage','PortalWebResource.axd?n=/theme/ITU/images/smallUnselected.gif');
	else if ((state == "on") && (size == 'large') && !(selectedFontSize == size))
		imageSwapper('largeTextImage','PortalWebResource.axd?n=/theme/ITU/images/largeHover.gif');
	else if ((state == "on") && (size == 'medium') && !(selectedFontSize == size))
		imageSwapper('mediumTextImage','PortalWebResource.axd?n=/theme/ITU/images/mediumHover.gif');
	else if ((state == "on") && (size == 'small') && !(selectedFontSize == size))
		imageSwapper('smallTextImage','PortalWebResource.axd?n=/theme/ITU/images/smallHover.gif');
}

function classSwapper(elementId,switchToClassName)
{
	if (document.getElementById(elementId) != null)
			document.getElementById(elementId).className = switchToClassName;
}

function loadPageWidthFromCookie()
{
	
	pageWidth = readCookie("pageWidth");
	setPageWidth(pageWidth);
}

function loadFontStyleFromCookie()
{
	selectedFontSize = readCookie("fontSize");
	setFontStyleSheet(selectedFontSize);
}


// Another hack until the loading of PFS-Style is kept separate from visual image styling
// How the control is painted should be in the style sheet instead of being JS logic
	if (!(typeof YAHOO == "undefined"))
 	{
		YAHOO.util.Event.onDOMReady(loadFontStyleFromCookie);
		YAHOO.util.Event.onDOMReady(loadPageWidthFromCookie);
		
	}

function setLeftNavHeight()
{
	// This has been added as a 'hack' for the fact that the PFS Style isn't preloaded when loading via setFontStyleSheet
	// This also causes flickering while the SS is being downloaded
 	if (!(typeof YAHOO == "undefined"))
 	{
	YAHOO.util.Event.onAvailable("pfs_base", function() {
		if (document.body == null) return;
		if ( document.getElementById("pfsMySiteMapText") != null) return;
		if ( document.getElementById("bodyPanel") == null) return;
		var h = Math.max(document.body.scrollHeight - document.getElementById("bodyPanel").offsetTop, YAHOO.util.Dom.get('whitespaceContainer').scrollHeight);
		YAHOO.util.Dom.setStyle('bodyPanel', 'height', h + 'px');
		YAHOO.util.Dom.setStyle('whitespaceContainer', 'height', h + 'px');
	});
	}
}
function enableLeftNavigationResize(fn, args, customObject)  //type <string>, args <array>, customobject <object>
{
	if (!(typeof YAHOO == "undefined"))
 	{
		var resize = new YAHOO.util.Resize('leftNavigationContainer', {proxy: true, minWidth: customObject.minWidth, maxWidth: customObject.maxWidth});
		resize.on('resize', function(ev)
		{
			var leftNavWidth = parseInt(YAHOO.util.Dom.getStyle('leftNavigationContainer', 'width'), 10);
			YAHOO.util.Dom.setStyle(YAHOO.util.Dom.get('whitespaceContainer'), 'left', leftNavWidth +'px');
		});
	}
}
function makePrintSafe()
{
	if (!(typeof closeAllMenus == "undefined"))
			closeAllMenus();
	if (!(typeof menuDisplay == "undefined"))
		menuDisplay(getMenuByName('PrimaryNavigationMenu'), 0);
}
function makePrintUnsafe()
{
	if (!(typeof menuDisplay == "undefined"))
		menuDisplay(getMenuByName('PrimaryNavigationMenu'), 1);
}
STA4JS.EventManager.addEvent(window, 'beforeprint', makePrintSafe);
STA4JS.EventManager.addEvent(window, 'afterprint', makePrintUnsafe);

/* Email Page */
function emailPage() 
{
	window.location = "mailto:"+"?subject=Information from Travelers" + "&body=I thought this information might interest you.  You can view it at: "+"  "+window.location+" ";
}
