// Entrypage utility functions

// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko by Scott Andrew
function addEvent(elm, evType, fn, useCapture)
{
	if(elm.addEventListener)
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if(elm.attachEvent)
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{
		elm['on' + evType] = fn;
	}
}

// mouseover image event
function mouseOverImage(thisImg)
{
	ext = thisImg.src.substr(thisImg.src.lastIndexOf('.'));
	path = thisImg.src.match(/(.*)\/(.*\.(png|gif|jpg))/)[1];
	filename = thisImg.src.replace(path, '');
	filenameIndex = filename.lastIndexOf("_");
	basename = filename.substr(0, filenameIndex);
	newFilename = path + basename + "_1" + ext;
	thisImg.src = newFilename;
}

// mouseover image event
function mouseOutImage(thisImg)
{
	ext = thisImg.src.substr(thisImg.src.lastIndexOf('.'));
	path = thisImg.src.match(/(.*)\/(.*\.(png|gif|jpg))/)[1];
	filename = thisImg.src.replace(path, '');
	filenameIndex = filename.lastIndexOf("_");
	basename = filename.substr(0, filenameIndex);
	newFilename = path + basename + "_0" + ext;
	thisImg.src = newFilename;
}		

// not using this function, may rework later - colinc@criticalmass.com
function constructSwapImage()
{
	if (!document.getElementsByTagName) return;
	var theseImages = document.getElementsByTagName("img");
	for(var i=0; i<theseImages.length; i++) {
	var iImage = theseImages[i].id;
	//alert(iImage);
		if(theseImages[i].className=="rollover")
		{
			alert(iImage);
			addEvent(iImage,'mouseover',function(){mouseOverImage(document.getElementById(iImage))},false);
			//addEvent(iImage,'mouseout',function(){mouseOutImage(iImage)},false);
		}
	}
}

// This function is to clear Search box on click
function clearField()
{
	var textVal = document.getElementById("search");
	textVal.value = "";
}

function createRollOvers()
{
	var btnSearch = document.getElementById("btn-search");
	addEvent(btnSearch,'mouseover',function(){mouseOverImage(btnSearch)},false);
	addEvent(btnSearch,'mouseout',function(){mouseOutImage(btnSearch)},false);
	var btnSearchImg = new Image;
	btnSearchImg.src = "/kpweb/image/segment/entrypage/btn-search-1.gif";
	
	var btnSignon = document.getElementById("btn-signon");
	addEvent(btnSignon,'mouseover',function(){mouseOverImage(btnSignon)},false);
	addEvent(btnSignon,'mouseout',function(){mouseOutImage(btnSignon)},false);	
	var btnSignonImg = new Image;
	btnSignonImg.src = "/kpweb/image/segment/entrypage/btn-signon-1.gif";	
	
	var btnHome = document.getElementById("gnav-home");
	addEvent(btnHome,'mouseover',function(){mouseOverImage(btnHome)},false);
	addEvent(btnHome,'mouseout',function(){mouseOutImage(btnHome)},false);		
	var btnHomeImg = new Image;
	btnHomeImg.src = "/images/nav_home_1.gif";	
	
	var btnGuia = document.getElementById("gnav-guia");
	addEvent(btnGuia,'mouseover',function(){mouseOverImage(btnGuia)},false);
	addEvent(btnGuia,'mouseout',function(){mouseOutImage(btnGuia)},false);		
	var btnGuiaImg = new Image;
	btnGuiaImg.src = "/images/nav_guia_1.gif";		
	
	// Added 2008-Aug-28 for Experience tour
	var btnExpTour = document.getElementById("btn-exptour");
	addEvent(btnExpTour,'mouseover',function(){mouseOverImage(btnExpTour)},false);
	addEvent(btnExpTour,'mouseout',function(){mouseOutImage(btnExpTour)},false);		
	var btnExpTourImg = new Image;
	btnExpTourImg.src = "/kpweb/image/segment/entrypage/b_experiencemhm_1.gif";	
	
	var midNav1 = document.getElementById("midnav1");
	addEvent(midNav1,'mouseover',function(){mouseOverImage(midNav1)},false);
	addEvent(midNav1,'mouseout',function(){mouseOutImage(midNav1)},false);
	var midNav2 = document.getElementById("midnav2");
	addEvent(midNav2,'mouseover',function(){mouseOverImage(midNav2)},false);
	addEvent(midNav2,'mouseout',function(){mouseOutImage(midNav2)},false);
	var midNav3 = document.getElementById("midnav3");
	addEvent(midNav3,'mouseover',function(){mouseOverImage(midNav3)},false);
	addEvent(midNav3,'mouseout',function(){mouseOutImage(midNav3)},false);
	var midNav4 = document.getElementById("midnav4");
	addEvent(midNav4,'mouseover',function(){mouseOverImage(midNav4)},false);
	addEvent(midNav4,'mouseout',function(){mouseOutImage(midNav4)},false);
	var midNav5 = document.getElementById("midnav5");
	addEvent(midNav5,'mouseover',function(){mouseOverImage(midNav5)},false);
	addEvent(midNav5,'mouseout',function(){mouseOutImage(midNav5)},false);		
}

function createRollOversWithContent()	
{
	var spotlightHealthWellness = document.getElementById("spotlight-health-wellness");
	addEvent(spotlightHealthWellness,'mouseover',function(){mouseOverImage(spotlightHealthWellness)},false);
	addEvent(spotlightHealthWellness,'mouseout',function(){mouseOutImage(spotlightHealthWellness)},false);
	
	var spotlightHealthManager = document.getElementById("spotlight-health-manager");
	addEvent(spotlightHealthManager,'mouseover',function(){mouseOverImage(spotlightHealthManager)},false);
	addEvent(spotlightHealthManager,'mouseout',function(){mouseOutImage(spotlightHealthManager)},false);
	
	var spotlightHealthPlans = document.getElementById("spotlight-health-plans");
	addEvent(spotlightHealthPlans,'mouseover',function(){mouseOverImage(spotlightHealthPlans)},false);
	addEvent(spotlightHealthPlans,'mouseout',function(){mouseOutImage(spotlightHealthPlans)},false);
	
	var spotlightKpNews = document.getElementById("spotlight-kp-news");
	addEvent(spotlightKpNews,'mouseover',function(){mouseOverImage(spotlightKpNews)},false);
	addEvent(spotlightKpNews,'mouseout',function(){mouseOutImage(spotlightKpNews)},false);	
	
	var spotlightCommunityBenefit = document.getElementById("spotlight-community-benefit");
	addEvent(spotlightCommunityBenefit,'mouseover',function(){mouseOverImage(spotlightCommunityBenefit)},false);
	addEvent(spotlightCommunityBenefit,'mouseout',function(){mouseOutImage(spotlightCommunityBenefit)},false);	
}

//
// Sign on functions
//
// Insert "members" segment into host portion of URL
function addSegmentToUrl() { 
        var theHost = document.location.host; 
        var myArray = theHost.split(".", 3); 
        
        if (myArray[0] == "www" || myArray[0] == "kaiserpermanente") { 
          var newHost = "members.kaiserpermanente.org"; 
        } else { 
          var newHost = myArray[0] + ".members." + myArray[1] + "." + myArray[2]; 
        } 
        
        return newHost; 
} 

// Build the URL, add path info
function buildUrl(pathInfo) {
	var newUrl = "https://" + addSegmentToUrl() + pathInfo;
	return newUrl;
}

// Function to signon
function submitSignOnForm() {
	var newUrl = buildUrl("/kpweb/signon.do");
	document.signon.action = newUrl;
	document.signon.method = "POST";
	document.signon.submit();
}

// Function to signoff
function signOff() {
	var newUrl = buildUrl("/kpweb/signoff.do");
	document.location = newUrl;
}

// These are ajax methods
var http = createRequestObject();

function createRequestObject()
{
    var ro;
    if(navigator.appName == "Microsoft Internet Explorer")
    {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else
    {
        ro = new XMLHttpRequest();
    }
    return ro;
}

function handleResponse()
{
	// alert('readyState: ' + http.readyState + ' status: ' + http.status);
    if(http.readyState == 4 && http.status == 200)
    {
       var response = http.responseText;
      // alert('The server says: ' + response); 
       var SignOnDiv = document.getElementById("signon");
       var SignOffDiv = document.getElementById("signoff");
       
       if(response.substring(0, 4)=="true")
       {
       	SignOnDiv.style.display = "none";
       	SignOffDiv.style.display = "block";
		SignOffDiv.innerHTML="<h2 class=\"h2-signoff\">You're signed on</h2><p class=\"signoff-text\">Manage your health and your health plan at <a href=\"/kpweb/toc.do?theme=myhealthmanager_members\">my health manager</a>.</p><div style=\"text-align:center\"><a href=\"javascript:signOff();\" onmouseover=\"swapImg('signOffBtn','/kpweb/image/segment/entrypage/btn-sign-off_1.gif')\" onmouseout=\"swapImg('signOffBtn','/kpweb/image/segment/entrypage/btn-sign-off_0.gif')\"><img id=\"signOffBtn\" src=\"/kpweb/image/segment/entrypage/btn-sign-off_0.gif\" width=\"62\" height=\"18\" alt=\"\" /></a></div><div style=\"padding:65px 0 0 15px;\"><a href=\"http://info.kp.org/richmedia/experience/index.htm\" onmouseover=\"swapImg('expTourBtn','/kpweb/image/segment/entrypage/b_experiencemhm_1.gif')\" onmouseout=\"swapImg('expTourBtn','/kpweb/image/segment/entrypage/b_experiencemhm_0.gif')\"><img id=\"expTourBtn\" src=\"/kpweb/image/segment/entrypage/b_experiencemhm_0.gif\" alt=\"Experience my health manager\" border=\"0\" /></a></div>";
       	setTimeout("location.href='/kpweb/timeoutwarning.do?prevPage='+location.href", 1080000);
       }
       else
       {
       	SignOffDiv.style.display = "none";
		SignOnDiv.style.display = "block";
		document.getElementById("userid").focus()
       }        
    }
}

function getStatus()
{
	try {
     http.open('GET', '/kpweb/SignOnSignOffStatus');
     http.onreadystatechange = handleResponse;
     http.send(null);
    }
    catch (e) {
    	alert('Error: ' + e.description);
    }
}

// init function to load one, multiple fuctions on page load
function init()
{
	document.getElementById("signon").style.display = "none";
	addEvent(document.getElementById("search"),"click",clearField,false);
	createRollOvers();	
	createRollOversWithContent();
	getStatus();
}

window.onload = init;

// R12 - enalbe links on entry page with different audience type. (1/17/2008) 
function insertAudience(url, audience) 
{ 
        path = location.href; 
        kaiser = ".kaiserpermanente.org"; 
        urlStart = path.substring(0, path.indexOf("/")+2); 
        
        if (path.indexOf("www") > -1) 
        { 
                // production 
                urlNew = urlStart + audience + kaiser + url; 
        } 
        else 
        { 
                // test environment 
                host = location.host; 
                kaiserStartPos = host.indexOf(kaiser); 
                
                serverPart1 = host.substring(0, kaiserStartPos + 1);        // eg dev1. 
                serverPart2 = host.substring(kaiserStartPos); 
                
                urlNew = urlStart + serverPart1 + audience + serverPart2 + url; 
        } 
        window.location = urlNew; 
} 

function gotoEmployer(url) 
{ 
        insertAudience(url, "employers"); 
} 

function gotoProEmployer(url) 
{ 
        insertAudience(url, "prospectiveemployers"); 
} 

function gotoProMember(url) 
{ 
        insertAudience(url, "prospectivemembers"); 
} 

function gotoBroker(url) 
{ 
        insertAudience(url, "brokers"); 
} 
function gotoNewsMedia(url) 
{ 
        insertAudience(url, "newsmedia"); 
} 
// End 
