//Home Page Scripts, including the CSS Menu, Popup Boxes, and Text Resize Tool

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);
}

<!--I used multiple stylesheets to facilitate troubleshooting. With the exception of the sheets that handle the IE6 and IE7 Fixes, all of these sheets may be consolidated into one.-->
switch(readCookie("fontSize")) {
    case 'small':
    	document.write("<link id='pfs_base' type='text/css' rel='stylesheet' href='/corporate-info/stylesheets/travelersHome.css' />");
    	break;
    case 'medium':
    	document.write("<link id='pfs_base' type='text/css' rel='stylesheet' href='/corporate-info/stylesheets/travelersHomeMedium.css' />");
    	break;
    case 'large':
    	document.write("<link id='pfs_base' type='text/css' rel='stylesheet' href='/corporate-info/stylesheets/travelersHomeLarge.css' />");
    	break;
    default:
    	document.write("<link id='pfs_base' type='text/css' rel='stylesheet' href='/corporate-info/stylesheets/travelersHome.css' />");
  	break;
}

if (typeof STA4JS == "undefined") {
	var STA4JS = {};
	STA4JS["EventManager"] = {};
}

STA4JS.EventManager.addEvent = function(obj, evType, fn) {
	YAHOO.util.Event.addListener(obj, evType, fn);
}

STA4JS.EventManager.removeEvent = function(obj, evType, fn) {
	YAHOO.util.Event.removeListener(obj, evType, fn);
}

var selectedFontSize = 'small';

function setFontStyleSheet(size)
{
	selectedFontSize = size;
	if (typeof (document.getElementById('pfs_base').href) != 'undefined')
	{
		var styleSheetElement = document.getElementById('pfs_base');
		
		if (size == "large")
		{
			styleSheetElement.href = '/corporate-info/stylesheets/travelersHomeLarge.css';
			textimageSwapper("large","selected");
			textimageSwapper("medium","off");
			textimageSwapper("small","off");
		}
		else if (size == "medium")
		{
			styleSheetElement.href = '/corporate-info/stylesheets/travelersHomeMedium.css';
			textimageSwapper("large","off");
			textimageSwapper("medium","selected");
			textimageSwapper("small","off");
		}
		else if (size == "small")
		{
			styleSheetElement.href = '/corporate-info/stylesheets/travelersHome.css';
			textimageSwapper("large","off");
			textimageSwapper("medium","off");
			textimageSwapper("small","selected");
		}
		else
		{
			styleSheetElement.href = '/corporate-info/stylesheets/travelersHome.css';
			textimageSwapper("large","off");
			textimageSwapper("medium","off");
			textimageSwapper("small","selected");
		}

		setCookie("fontSize",size,0);

		if (window.styleSheetSwapper)
			styleSheetSwapper(size);
	}
}

function imageSwapper(elementId,switchToImageName)
{
	if (document.getElementById(elementId) != null)
		document.getElementById(elementId).src = switchToImageName;
}

function textimageSwapper(size,state)
{
	if ((state == "selected") && (size == 'large'))
		imageSwapper('largeTextImage','/corporate-info/images/home/largeSelected.gif');
	else if ((state == "selected") && (size == 'medium'))
		imageSwapper('mediumTextImage','/corporate-info/images/home/mediumSelected.gif');
	else if ((state == "selected") && (size == 'small'))
		imageSwapper('smallTextImage','/corporate-info/images/home/smallSelected.gif');
	else if ((state == "off") && (size == 'large') && !(selectedFontSize == size))
		imageSwapper('largeTextImage','/corporate-info/images/home/largeUnselected.gif');
	else if ((state == "off") && (size == 'medium') && !(selectedFontSize == size))
		imageSwapper('mediumTextImage','/corporate-info/images/home/mediumUnselected.gif');
	else if ((state == "off") && (size == 'small') && !(selectedFontSize == size))
		imageSwapper('smallTextImage','/corporate-info/images/home/smallUnSelected.gif');
//	else if ((state == "on") && (size == 'large') && !(selectedFontSize == size))
//		imageSwapper('largeTextImage','/corporate-info/images/home/largeHover.gif');
//	else if ((state == "on") && (size == 'medium') && !(selectedFontSize == size))
//		imageSwapper('mediumTextImage','/corporate-info/images/home/mediumHover.gif');
//	else if ((state == "on") && (size == 'small') && !(selectedFontSize == size))
//		imageSwapper('smallTextImage','/corporate-info/images/home/smallHover.gif');
}

function classSwapper(elementId,switchToClassName)
{
	if (document.getElementById(elementId) != null)
		document.getElementById(elementId).className = switchToClassName;
}

function loadFontStyleFromCookie()
{
	selectedFontSize = readCookie("fontSize");
	setFontStyleSheet(selectedFontSize);
}
loadFontStyleFromCookie();
// 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
YAHOO.util.Event.onDOMReady(loadFontStyleFromCookie);

//CSS Menu Script

function fShowDropdown(strID) {
	if(strCurrentMenu != "") {
		fHideDiv(strCurrentMenu);
	}
	if(strCurrentSubMenu != "") {
		fHideDiv(strCurrentSubMenu);
	}
	strCurrentMenu = strID;
	var oDiv = document.getElementById(strID);
	oDiv.style.visibility = "visible";
	oDiv.style.display = "block";
	if(oTimer != null) {
		clearTimeout(oTimer);
		clearTimeout(oTimer2);
	}	
}

function fShowSubDropdown(strID,strParentID) {
	if(strCurrentMenu != "") {
		fHideDiv(strCurrentMenu);
	}
	if(strCurrentSubMenu != "") {
		fHideDiv(strCurrentSubMenu);
	}
	strCurrentMenu = strParentID;
	strCurrentSubMenu = strID;
	var oDiv = document.getElementById(strID);
	
	oDiv.style.visibility = "visible";
	oDiv.style.display = "block";
	var oDiv2 = document.getElementById(strParentID);	
	
	oDiv2.style.visibility = "visible";
	oDiv2.style.display = "block";
	if(oTimer != null) {
		clearTimeout(oTimer);
		clearTimeout(oTimer2);
	}	
}

function fHideSubDropdown(strID2) {
	oTimer2 = setTimeout('fHideDiv2(\"' + strID2 + '\");', 1000);		
}

function fHideDropdown(strID) {
	oTimer = setTimeout('fHideDiv(\"' + strID + '\");', 1000);	
}

function fHideDiv(strID) {
	var oDiv = document.getElementById(strID);
	oDiv.style.visibility = "hidden";
	clearTimeout(oTimer);	
}

function fHideDiv2(strID) {
	var oDiv = document.getElementById(strID);
	oDiv.style.visibility = "hidden";
	clearTimeout(oTimer2);	
}

oTimer = null;
oTimer2 = null;
strCurrentMenu = "";
strCurrentSubMenu = "";

var oTimer = null;
var oTimer2 = null;
var strSection;

// End of CSS Menu Script

// Popup Box Script

function fShowBox(strDiv,strImg) {
	var objDiv = document.getElementById(strDiv); 
	 
	if (strCurrentBox != "") {
		if (strCurrentBox != strDiv) {
	 	var objDiv2 = document.getElementById(strCurrentBox);
	 	objDiv2.style.visibility = "hidden";
	 	objDiv2.style.display = "none";		 	
	 	document.getElementById(strCurrentImg).src = "/corporate-info/images/home/" + strCurrentImg + "_off.png";
	 }
	}	 
	 
	if(objDiv.style.visibility == "hidden") {
	 objDiv.style.visibility = "visible";
	 objDiv.style.display = "block";
	 document.getElementById(strImg).src = "/corporate-info/images/home/" + strImg + "_on.png";
	 strCurrentBox = strDiv;
	 strCurrentImg = strImg;		 
	} else {
	 objDiv.style.visibility = "hidden";
	 objDiv.style.display = "none";
	 document.getElementById(strImg).src = "/corporate-info/images/home/" + strImg + "_off.png";
	}
}

strCurrentBox = "";

//End of Popup Box Script

// Load any Flash movies and check the player version
	AC_FL_RunContent = 0;
	DetectFlashVer = 0;

// Globals
// Major version of Flash required
	var requiredMajorVersion = 9;
// Minor version of Flash required
	var requiredMinorVersion = 0;
// Revision of Flash required
	var requiredRevision = 0;
// End of Flash code
