// system wide functionality
var g_IEVersion = 7;	/* only use this value if you have already
			determined that the browser is IE.  Otherwise
			the value if this variable is meaningless. */
/* Set blank default to off */
var g_Blank = false;

// these are here because when non-IE browsers check for an IE deficency function
// it won't generate a javascript error.
onSubMenuCreate = null;
onSubMenuDestroy = null;
ieFixObjects = null;

// BEGIN BrowserDetect
var BrowserDetect = {
        init: function () {
                this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
                this.version = this.searchVersion(navigator.userAgent)
                        || this.searchVersion(navigator.appVersion)
                        || "an unknown version";
                this.OS = this.searchString(this.dataOS) || "an unknown OS";
        },
        searchString: function (data) {
                for (var i=0;i<data.length;i++) {
                        var dataString = data[i].string;
                        var dataProp = data[i].prop;
                        this.versionSearchString = data[i].versionSearch || data[i].identity;
                        if (dataString) {
                                if (dataString.indexOf(data[i].subString) != -1)
                                        return data[i].identity;
                        }
                        else if (dataProp)
                                return data[i].identity;
                }
        },
        searchVersion: function (dataString) {
                var index = dataString.indexOf(this.versionSearchString);
                if (index == -1) return;
                return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
        dataBrowser: [
                {       string: navigator.userAgent,
                        subString: "OmniWeb",
                        versionSearch: "OmniWeb/",
                        identity: "OmniWeb"
                },
                {
                        string: navigator.vendor,
                        subString: "Apple",
                        identity: "Safari"
                },
                {
                        prop: window.opera,
                        identity: "Opera"
                },
                {
                        string: navigator.vendor,
                        subString: "iCab",
                        identity: "iCab"
                },
                {
                        string: navigator.vendor,
                        subString: "KDE",
                        identity: "Konqueror"
                },
                {
                        string: navigator.userAgent,
                        subString: "Firefox",
                        identity: "Firefox"
                },
                {
                        string: navigator.vendor,
                        subString: "Camino",
                        identity: "Camino"
                },
                {               // for newer Netscapes (6+)
                        string: navigator.userAgent,
                        subString: "Netscape",
                        identity: "Netscape"
                },
                {
                        string: navigator.userAgent,
                        subString: "MSIE",
                        identity: "Explorer",
                        versionSearch: "MSIE"
                },
                {
                        string: navigator.userAgent,
                        subString: "Gecko",
                        identity: "Mozilla",
                        versionSearch: "rv"
                },
                {               // for older Netscapes (4-)
                        string: navigator.userAgent,
                        subString: "Mozilla",
                        identity: "Netscape",
                        versionSearch: "Mozilla"
                }
        ],
        dataOS : [
                {
                        string: navigator.platform,
                        subString: "Win",
                        identity: "Windows"
                },
                {
                        string: navigator.platform,
                        subString: "Mac",
                        identity: "Mac"
                },
                {
                        string: navigator.platform,
                        subString: "Linux",
                        identity: "Linux"
                }
        ]

};
BrowserDetect.init();
// END BrowserDetect

function getAbsoluteLeft(objectId)
{
	// Get an object left position from the upper left viewport corner
	// Tested with relative and nested objects
	var o = document.getElementById(objectId);
	var oLeft = o.offsetLeft;            // Get left position from the parent object
	while(o.offsetParent!=null)
	{   // Parse the parent hierarchy up to the document element
		var oParent = o.offsetParent;    // Get parent object reference
		oLeft += oParent.offsetLeft; // Add parent left position
		o = oParent;
	}
	// Return left postion
	return oLeft;
}

function getAbsoluteTop(objectId)
{
	// Get an object top position from the upper left viewport corner
	// Tested with relative and nested objects
	var o = document.getElementById(objectId);
	if(!o)
		return null;
	var oTop = o.offsetTop;            // Get top position from the parent object
	while(o.offsetParent!=null)
	{ // Parse the parent hierarchy up to the document element
		var oParent = o.offsetParent;  // Get parent object reference
		oTop += oParent.offsetTop; // Add parent top position
		o = oParent;
	}
	// Return top position
	return oTop;
}

/* BEGIN onload hook */
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function() {
			oldonload();
			func()
		}
	}
}

addLoadEvent(onPageLoad);
//	addLoadEvent(function() {
//	/* more code to run on page load */
//	});

/* END onload hook */
function onPageLoad()
{
	if(ieFixObjects)
		ieFixObjects(document.all);
	var mortgagecalc = document.getElementById("mortgagecalc");
	if(mortgagecalc)
	{
		// install hook for displaying the calculator
		mortgagecalc.addEventListener("click", displayMortgageCalc, false);
		mortgagecalc.addEventListener("keypress", displayMortgageCalc, false);
		// allow the link to be tabstopped
		mortgagecalc.setAttribute("tabindex", "0");
		var calculate = document.getElementById("calcpayment");
		calculate.addEventListener("click", calculatePayment, false);
		calculate.addEventListener("keypress", calculatePayment, false);
	}
	
	var homeplans = document.getElementById("homeplans");
	if(homeplans)
	{
		var plans = homeplans.getElementsByTagName("div");
		for(var i = 0;i < plans.length;i++)
		{
			plans[i].addEventListener("click", displayHomePlanOption, true);
		}
	}
}

function displayHomePlanOption(e)
{// begin displayHomePlanOption
	var e_out;
	var ie_var = "srcElement";
	var w3c_var = "target";
	var object = e[w3c_var] ? e[w3c_var] : e[ie_var];
	var img = object.getElementsByTagName("img");
	if(img.length == 0)
	{
		var img = object.parentNode.getElementsByTagName("img");
	}
	document.getElementById("homeplan-pic").src = img[0].src;
}// end displayHomePlanOption

function displayMortgageCalc(e)
{// begin displayMortgageCalc
	var e_out;
	var ie_var = "srcElement";
	var w3c_var = "target";
	var object = e[w3c_var] ? e[w3c_var] : e[ie_var];
	var container = document.getElementById("mortgagecalc-container");
	if(container.style.display == "block")
	{
		container.style.display = "none";
	}
	else
	{
		container.style.display = "block";
		document.getElementById("paym").focus();
		document.getElementById("years").focus();
	}
}// end displayMortgageCalc

function calculatePayment(e)
{// begin calculatePayment
	var e_out;
	var ie_var = "srcElement";
	var w3c_var = "target";
	var object = e[w3c_var] ? e[w3c_var] : e[ie_var];
	calcPaym(0);
}// end calculatePayment
