﻿/* Start General Code */

function openWindow(strURL, intWidth, intHeight, strWindowName, strScrollBars, intOffsetLeft, intOffsetTop, strFeatures) 
{
	if (typeof(strWindowName) == 'undefined') strWindowName = "PopUpWin";
	if (typeof(strScrollBars) == 'undefined') strScrollBars = "1";

	var intLeft = (((screen.width - intWidth) / 2));
	var intTop = (((screen.height - intHeight) / 2) - 25);

	if (typeof(intOffsetLeft) != 'undefined') intLeft += intOffsetLeft;
	if (typeof(intOffsetTop) != 'undefined') intTop += intOffsetTop;

	// Added to allow override of window features/options
	if (typeof(strFeatures) == 'undefined') 
	{
		strFeatures = "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=" + strScrollBars + ",resizable=1";
	}
	
	strFeatures += ",left=" + intLeft + ",top=" + intTop;
	strFeatures += ",width=" + intWidth + ",height=" + intHeight;			

	winPopUp = window.open(strURL, strWindowName, strFeatures);
	setTimeout("winPopUp.focus()", 50);

	return winPopUp;
}

function findPosX(obj) 
{
	var curleft = 0;
	
	if (obj.offsetParent) 
	{
		do 
		{
			curleft += obj.offsetLeft;
			
		} 
		while (obj = obj.offsetParent);
	}
	
	return curleft;
}

function findPosY(obj) 
{
	var curtop = 0;
	
	if (obj.offsetParent) 
	{
		do 
		{
			curtop += obj.offsetTop;
		} 
		while (obj = obj.offsetParent);
	}
	
	return curtop;
}

function writeCookieEx(strName, strValue, intDays) 
{
	if (intDays)
	{
		var date = new Date();
		date.setTime(date.getTime() + (intDays*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else 
	{
		var expires = "";
	}
	
	document.cookie = strName + "=" + strValue + "; path=/";
}

function readCookieEx(strName, strDefault) 
{
	var strNameEQ = strName + "=";
	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(strNameEQ) == 0) 
			{
				return c.substring(strNameEQ.length, c.length);
			}
		}
	}
	return strDefault;
}

/* End General Code */

/* Start Event Lookup Code */

function PerilAndRange(PorR, eventTypeId, eventHistoryId) 
{
    var objPeril;
    var objRange;
    var rangeLast;
	
    objPeril = document.getElementById(eventTypeId);
    objRange = document.getElementById(eventHistoryId);	    
        
    var allYearsValue = 9; //Hard-coded value for "All Years" from CommonList.xml
    var allPerilsValue = 0; //Hard-coded value for "All Perils" from CommonList.xml
	
    switch(PorR)
    {
        case "Peril":
            /* Tests to see if "All Perils" is selected, if so delete "All Years" if it exists */
            if (objPeril.options[objPeril.selectedIndex].value == allPerilsValue) 
            {
                /* Loop through all items in the "Range" dropdown and remove the "All Years" item */
                for(var i = 0; i < objRange.length; i++)
                {
                    if(objRange.options[i].value == allYearsValue)
                    {
                        objRange.options[i] = null;
                    }
                }
            }
            break;
	        
        case "Range":
            /* Tests to see if "All Years" is selected, if so delete "All Perils" if it exists */
            if (objRange.options[objRange.selectedIndex].value == allYearsValue) 
            {
                /* Loop through all items in the "Perils" dropdown and remove the "All Perils" item */
                for(var i = 0; i < objPeril.length; i++)
                {
                    if(objPeril.options[i].value == allPerilsValue)
                    {
                        objPeril.options[i] = null;
                    }
                }
	            
            }
            break;
    }
}

/* End Event Lookup Code */

/* Start TimePeriodTable Code */

function hideUnhideInstructions(nodeID, imgID) 
{
	var nodeID = document.getElementById(nodeID);
	var imgPM = document.getElementById(imgID);

	if (nodeID.className == "hidden") 
	{
		nodeID.className = "shown";
		imgPM.src = "images/minus.gif";
	} 
	else 
	{
		nodeID.className = "hidden";
		imgPM.src = "images/plus.gif";
	}
}

function expandCollapseTimePeriods(eventTimePeriodID, eventCreator, clicked) 
{
    var lastState = readCookieEx("closeMore", '');
    
	if (lastState == '') //default to closed
	{ 
		lastState = "closed";
	}

    if(clicked) //Set change state
    {
	    if (lastState == "opened") 
	    {
	        closeMore();
	        writeCookieEx("closeMore", "closed", "");
	    }

	    if (lastState == "closed") 
	    {
	        openMore();
	        writeCookieEx("closeMore", "opened", "");
	    }
    }
    else //Set last state
    {
	    if (lastState == "opened") 
	    {
	        openMore();
	    }

	    if (lastState == "closed") 
	    {
	        closeMore();
	    }
    }
}

function openMore(hideableNames, closeMoreButton)
{    
	var hideableNames = document.getElementById('time-period-table').getElementsByTagName('tr');
	var closeMoreButton = document.getElementById('close-more');
	
	for (i = 5; i < hideableNames.length; i++) //change the i to change the number of rows exposed
    { 
		if(navigator.appName.indexOf("Microsoft") > -1) //IE
		{
            hideableNames[i].style.display = "block";
        } 
        else //Mozilla/Firefox
        {
            hideableNames[i].style.display = 'table-row';
        }
        
		closeMoreButton.innerHTML = "&#160;&#160;<img id='close-more-img' class='close-more-img' src='images/up.gif'/>&#160;&#160;&#160;&#160;&#160;Close&#160;&#160;&#160;&#160;&#160;";
	}
}

function closeMore(closeMoreButton)
{    
	var hideableNames = document.getElementById('time-period-table').getElementsByTagName('tr');
	var closeMoreButton = document.getElementById('close-more');
	
	for (i = 5; i < hideableNames.length; i++) //change the i to change the number of rows exposed
	{
		hideableNames[i].style.display = "none";
		closeMoreButton.innerHTML = "&#160;&#160;<img id='close-more-img' class='close-more-img' src='images/down.gif'/>&#160;&#160;&#160;&#160;&#160;More&#160;&#160;&#160;&#160;";
	}
}

function colorSelected(eventTimePeriodID, eventCreator) 
{
	var getEventCreator = eventTimePeriodID + eventCreator;	
	document.getElementById(getEventCreator).className = "colorSelected";
}

/* End TimePeriodTable Code */

/* Start Scenario Navigator Code */

function openNavagator(strURL) 
{
	var secondwindow;
	secondwindow = window.open(strURL, 'ScenarioNavigator', 'height=700, width=700, scrollbars=yes, menubar=no, toolbar=no, resizable=yes');
}

/* End Scenario Navigator Code */

/* Start Help Library Code */

function showHelpLibrary() 
{
	openWindow('help/default.htm', 780, 500, 'HelpLibrary', "1", 0, 0, 'toolbar=1,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1');
}

/* End Help Library Code */

/* Start Menu Code */

var tabAboutTimer;
var tabPerilsTimer;
var tabModelingTimer;

function hideUnhide(nodeID, classCss, parentObj) 
{
    var parentLeft = findPosX(parentObj);
    var parentTop = findPosY(parentObj);
    
    var node = document.getElementById(nodeID);
    node.className = classCss;
    node.style.top = (parentTop + 36) + "px"; //36 is a "magic number". If UI is adjusted, this needs to be changed.
    node.style.left = (parentLeft + 10) + "px"; //10 is a "magic number". If UI is adjusted, this needs to be changed.
        
    if (nodeID == "tab-about") 
    {
        document.getElementById("tab-perils").className = "hidden";
        document.getElementById("tab-modeling").className = "hidden";
    }
    
    if (nodeID == "tab-perils") 
    {
        document.getElementById("tab-about").className = "hidden";
        document.getElementById("tab-modeling").className = "hidden";
    }
    
    if (nodeID == "tab-modeling") 
    {
        document.getElementById("tab-perils").className = "hidden";
        document.getElementById("tab-about").className = "hidden";
    }
}

function startTimer(nodeID) 
{
    var milliSeconds = 300; //this sets the mouseover timer
    
    if (nodeID == 'tab-about') 
    {
        tabAboutTimer = window.setTimeout("closeMenu('" + nodeID + "')", milliSeconds);
    }
    
    if (nodeID == 'tab-perils') 
    {
        tabPerilsTimer = window.setTimeout("closeMenu('" + nodeID + "')", milliSeconds);
    }
    
    if (nodeID == 'tab-modeling') 
    {
        tabModelingTimer = window.setTimeout("closeMenu('" + nodeID + "')", milliSeconds);
    }
}

function closeMenu(nodeID) 
{
    document.getElementById(nodeID).className = "hidden";
}

function killTimer(nodeID) 
{
    if (nodeID == 'tab-about') 
    {
        window.clearTimeout(tabAboutTimer);
    }
    
    if (nodeID == 'tab-perils') 
    {
        window.clearTimeout(tabPerilsTimer);
    }
    
    if (nodeID == 'tab-modeling') 
    {
        window.clearTimeout(tabModelingTimer);
     }
}

/* End Menu Code */

/* FeePrompt.aspx */

function FeeForm_Validator(confirmCheckBox) 
{
    var accepttrue    = document.getElementById("accept");
    var agreementValue = document.getElementById("agreement");

    switch(confirmCheckBox.checked)
    {
        case true:
	        accepttrue.disabled = false;
	        agreementValue.value = "Accept";
            break;
        case false:
	        accepttrue.disabled = true;
	        agreementValue.value = "Decline";
            break;
    }
}
	
/* End FeePrompt.aspx */

/* Validation Functions */

function ValidateChecked(oSrc, args)
{
    debugger;
    
    if(document.all[controlToValidate].checked == false)
    {
        args.IsValid = false;
    }
}

/* End Validation Functions */