//-------------------------------------------------------------------------------------
// Contains JavaScript specific to clicking the "Request Information" link to display
// the related form.
//-------------------------------------------------------------------------------------

//window.onload = InitReqInfoPage; //Don't use - may override any handler(s) previously attached.

//Attach event handler to window load/onload event.
if (window.addEventListener) 
{
    //Firefox
    window.addEventListener("load", InitReqInfoPage, false);
} 
else 
{
   //IE
   window.attachEvent("onload", InitReqInfoPage);
}

var bTestMode = false;

var bIE = false;
var bIE7 = false;
var bIE8 = false;
var bIE8CompatMode = false;

var bIE = (navigator.appName.toString().indexOf("Explorer") > 0) ? true : false;

if (bIE) {
    var bIE8 = (document.documentMode) ? true : false;
    var bIE7 = (bIE8) ? false : true;
    if (bIE8) bIE8CompatMode = (navigator.userAgent.indexOf("trident") >= 0) ? true : false;
}


//-------------------------------------------------------------------------------------
// Browser independent (IE, FF) helper function to return a reference to the specified 
// iFrame element. 
//-------------------------------------------------------------------------------------
function $ff(sFrame, bParent) {

    try 
    {
		//IE
		if (bParent)
		{
			return parent.document.frames[sFrame];
		}
		else
		{
			return document.frames[sFrame];
		}
	}
	catch(e)
	{
		//FF
		if (bParent)
		{
			return parent.document.getElementById(sFrame);
		}
		else
		{
			return document.getElementById(sFrame);
		}
	}
}

//-------------------------------------------------------------------------------------
// Get specified cookie value.
//-------------------------------------------------------------------------------------
function GetCookie(sCookies, sName, sDefault) {
	
	if (sCookies == null) return sDefault;

	var iStart = sCookies.indexOf(sName + "=");
	var iEnd;

	if (iStart == -1) {
		// Cookie name not found.
		return sDefault;
	}
	else {
		// Parse out the cookie value.
		iStart = sCookies.indexOf("=", iStart) + 1;
		iEnd   = sCookies.indexOf(";", iStart);
		
		if (iEnd == -1) iEnd = sCookies.length;
		
		return sCookies.substring(iStart, iEnd);
	}		
}

//-------------------------------------------------------------------------------------
// Fires after pages is fully loaded and rendered.
//-------------------------------------------------------------------------------------
function InitReqInfoPage() {
    
    //Allow Streamline to preview full functionality via a test page.
//    try {
//        if ((bTestMode) && (location.toString().indexOf("testpage.asp") > 0 )) {
//            document.getElementById("ReqInfoBox").style.visibility = "visible";
//        }
//    }
//    catch(e){}
   

	//If appropriate, display the Request Initiation frame.	
	//if (document.getElementById("rightnav"))
	//{
		try
		{
			//Show the iframe.
			var oReqInitFrame = parent.document.getElementById("ReqInitFrame");
			oReqInitFrame.style.visibility = "visible";
			oReqInitFrame.style.display    = "inline";
		}
		catch(e) {}
	//}


	
	//If it hasn't already been displayed, display the overlay/popover frame.
	var sCookieName = "OverlayDisplayed";
    var sOverlayDisplayed = GetCookie(document.cookie, sCookieName, "");
    //alert("Cookie Value = " + sOverlayDisplayed);

    //Overlay can be disabled or enabled via the following flag.
    //*** 11/7/2008 *** DAN Overlay disabled per request from Zee LaFon at Streamline.
    var bShowOverlay = false;

    if ((bShowOverlay) && (sOverlayDisplayed != "YES"))
    {
		//Set cookie so overlay/popover not displayed again.
		SetCookie(document, sCookieName, "YES");

		//Display overlay/popover.
		try
		{
			//Hide the iframe.
			var oReqOverlayFrame = parent.document.getElementById("ReqOverlayFrame");
			oReqOverlayFrame.style.visibility = "visible";
			oReqOverlayFrame.style.display    = "inline";
		}
		catch(e) {}
	}

}

//-------------------------------------------------------------------------------------
// Set specified cookie value.
//-------------------------------------------------------------------------------------
function SetCookie(doc, sName, sValue) {

	//Save cookie to expire after one year.
	var oDate = new Date();
	oDate.setYear(oDate.getYear() + 1);
	doc.cookie = sName + "=" + sValue + ";expires=" + oDate;
	
	//Save cookie without specific expiration, which means the cookie expires after 
	//browser session ends.
	//doc.cookie = sName + "=" + sValue + "; "; //Session cookie
}

//-------------------------------------------------------------------------------------
// Browser independent (IE, FF) helper function to return a reference to the specified 
// iFrame element. 
//-------------------------------------------------------------------------------------
function $fr(sFrame, bParent) {

    try 
    {
		if (bParent)
		{
			return parent.document.frames[sFrame];
		}
		else
		{
			return document.frames[sFrame];
		}
	}
	catch(e)
	{
		if (bParent)
		{
			return parent.document.getElementById(sFrame);
		}
		else
		{
			return document.getElementById(sFrame);
		}
	}
}

//-------------------------------------------------------------------------------------
// Displays the "Ask a Question" iframe.
//-------------------------------------------------------------------------------------
function ShowReqAskForm() {

	//Get reference to the frame containing the dialog/form.
	var oReqAskFrame = $ff("ReqAskFrame", true);
	
	var bModal = true;

    //Home page?
	var oRefObject = document.getElementById("hm-info");
	
	//If not the home page, assume being called from an interior page.
	if (!oRefObject) oRefObject = document.getElementById("rightnav");
	
	if (oRefObject.id == "hm-info") {
 	    var iLeft = document.getElementById("container").offsetLeft + 270;
 	    var iTop = 400;
	}
	else
    if (oRefObject.id == "rightnav") {
	    var iLeft = document.getElementById("container").offsetLeft + 310;
	    var iTop = 490;
	}
	else {
	    return false;
	}
	
	//Display the popup form.
	if (bIE) {
	    try 
	    {
		    //IE
		    oReqAskFrame.Show(iLeft, iTop, bModal);
	    }
	    catch(ee) {}
	}
	else {
		try 
		{
			//FF
			oReqAskFrame.contentWindow.Show(iLeft, iTop, bModal);
		}
		catch(ee) {}
	}


}

//-------------------------------------------------------------------------------------
// Displays the Request Information forms's iframe.
//-------------------------------------------------------------------------------------
function ShowReqInfoForm()	{

	//Get reference to the frame containing the dialog/form.
	var oReqInfoFrame = $ff("ReqInfoFrame", false);
	
	var bModal = true;
	
	var oReqInfoBox = document.getElementById("ReqInfoBox");
	
	//var iLeft = document.getElementById("container").offsetLeft;
	//iLeft += (bIE && !bIE8CompatMode) ?  oReqInfoBox.offsetLeft + 50 : 30;
	
	var iLeft = document.getElementById("container").offsetLeft + 50;
	
	var iTop = 420;
	
	//Display the popup form.
	if (bIE) {
	    try 
	    {
		    //IE
		    oReqInfoFrame.Show(iLeft, iTop, "", "", "", bModal);
	    }
	    catch(ee) {}
	}
	else {
		try 
		{
			//FF
			oReqInfoFrame.contentWindow.Show(iLeft, iTop, "", "", "", bModal);
		}
		catch(ee) {}
	}

}

