function display(object) {
		if (document.getElementById && document.getElementById(object) != null) {
				 node = document.getElementById(object).style.visibility='visible';
				 node = document.getElementById(object).style.display='block';
				 }
		else if (document.layers && document.layers[object] != null) {
				document.layers[object].visibility = 'visible';
				document.layers[object].display = 'block';
				}
		else if (document.all && document.all[object] != null) {
				document.all[object].style.visibility = 'visible';
				document.all[object].style.display = '';
				}
}

function hide(object) {
		if (document.getElementById && document.getElementById(object) != null) {
				 node = document.getElementById(object).style.visibility='hidden';
				 node = document.getElementById(object).style.display='none';
				 }
		else if (document.layers && document.layers[object] != null) {
				document.layers[object].visibility = 'hidden';
				document.layers[object].display = 'none';
				}
		else if (document.all && document.all[object] != null) {
				 document.all[object].style.visibility = 'hidden';
				 document.all[object].style.display = 'none';
				 }
}

/* ===============================================================================================
			Functions used for Search Rates Tag
=============================================================================================== */

function toggleDisplayHide(id)
{
	var element = getElement(id);
	if (element.style.display == "none")
	{
		element.style.display = "block";
	}
	else
	{
		element.style.display = "none";
	}

}

function getElement(id)
{
	var element = null;
	if (document.getElementById)
	{
		element = document.getElementById(id);
	}
	else if (document.layers)
	{
		element = document.layers[object];
	}
	else if (document.all)
	{
		element = document.all[object];
	}
	return element;
}

function getValue(id)
{
	var element = getElement(id);
	if (element)
	{
		return element.value;
	}
	return null;
}

function setLabel(id, label)
{
	var element = getElement(id);
	if (element)
	{
		element.innerHTML = label;
	}
}

var rsFormExpanded = false;
var rsCompactMode = false;
var rsDynamicallyDisplayContact = false;
var rsDynamicallyDisplayContactQuestions = false;

function rsExpandForm(onlyIfExpanded, doScroll)
{
	if (getElement('loanPurpAltSelect'))
	{
	  if (getValue("loanPurpAltSelect") == 'PURC' || getValue("loanPurpAltSelect") == 'PRE')
	  {
			if (getElement('purcTypeQuestions')) getElement('purcTypeQuestions').style.display='block';
		  if (getValue("purcTypeSelect") == 'CONT' || getValue("purcTypeSelect") == 'NEGO')
		  {
				if (getElement('loanPurpSelect')) getElement('loanPurpSelect').value='PURC';
		  }
		  else
		  {
				if (getElement('loanPurpSelect')) getElement('loanPurpSelect').value='PRE';
		  }
		}
		else
		{
			if (getElement('purcTypeQuestions')) getElement('purcTypeQuestions').style.display='none';
			if (getElement('loanPurpSelect')) getElement('loanPurpSelect').value=getValue("loanPurpAltSelect");
		}
	}



	var doExpand = false;
	if (!rsCompactMode && onlyIfExpanded)
	{
		doExpand = rsFormExpanded;


		if (getValue("loanPurpSelect") == 'HELOC')
		{
			if (getElement('helocQuestions')) getElement('helocQuestions').style.display='block';
			if (getElement('LoanAmountLabel')) getElement('LoanAmountLabel').innerHTML='HE Loan Amount';
		}
		else
		{
			if (getElement('helocQuestions')) getElement('helocQuestions').style.display='none';
			if (getElement('LoanAmountLabel')) getElement('LoanAmountLabel').innerHTML='Loan Amount';
		}
	}
	else
	{
		doExpand = true;
	}

	if (doExpand)
	{

		if (getElement('helocQuestions')) getElement('helocQuestions').style.display='none';
		if (getElement('nLoanAmount')) getElement('nLoanAmount').name = 'nLoanAmount';
		if (getElement('nExistingLoanBalance')) getElement('nExistingLoanBalance').name = 'nExistingLoanBalance';
		if (getElement('n2ndAmount')) getElement('n2ndAmount').name = 'n2ndAmount';
		if (getElement('LoanAmountLabel')) getElement('LoanAmountLabel').innerHTML='Loan Amount';


		if (getValue("loanPurpSelect") == 'HELOC')
		{
			if (getElement('helocQuestions')) getElement('helocQuestions').style.display='block';
			if (getElement('nLoanAmount')) getElement('nLoanAmount').name = 'n2ndAmount';
			if (getElement('nExistingLoanBalance')) getElement('nExistingLoanBalance').name = 'nLoanAmount';
			if (getElement('n2ndAmount')) getElement('n2ndAmount').name = 'nullvalue';
			if (getElement('LoanAmountLabel')) getElement('LoanAmountLabel').innerHTML='HE Loan Amount';
		}

		var value = null;

		hide("goButton");
		if (!rsCompactMode)
		{
			display("propUseType");
		}

		//========================================================
		//  Referred By
		//========================================================
		var referredByBlock = getElement("HeardAboutAmerisave");
		var tReferredBy = getValue("tReferredBy");
		if (referredByBlock && (tReferredBy == "AM Radio" || tReferredBy == "FM Radio"))
		{
			display("radioStation");
		}
		else
		{
			hide("radioStation");
		}

		//========================================================
		//  Contact Questions
		//========================================================
		if (getValue("loanPurpSelect") == "COMMERCIAL")
		{
			hide("contactQuestions");
		}
		else
		{
			if (rsDynamicallyDisplayContactQuestions == true && getValue("loanPurpSelect") != "")
			{
				display("contactQuestions");
			}
			else if (rsDynamicallyDisplayContactQuestions == true && getValue("loanPurpSelect") == "")
			{
				hide("contactQuestions");
			}
			else
			{
				display("contactQuestions");
			}
		}

		//========================================================
		//  Property type
		//========================================================
		if (!rsCompactMode && getValue("propertyTypeSelect") == "CONDO")
		{
			display("numFloors");
		}
		else
		{
			hide("numFloors");
		}

		//========================================================
		//  Credit score, escrow, document income
		//========================================================
		if (!rsCompactMode)
		{

			if (getValue("loanPurpSelect") == 'HELOC')
			{
				display("creditEscrowIncome");
			}
			else
			{
				display("creditEscrowIncome");
				display("creditWaiveEscrow");
			}
		}

		//========================================================
		//  Second mortgage
		//========================================================
		value = getValue("loanPurpSelect");
		if (!rsCompactMode && (value == "REFI" || value == "CASHOUT"))
		{
			display("second");

			var secondLabel = "";
			var balLimLabel = "";
			value = getValue("secondTypeSelect");
			if (value == "2NDMORT")
			{
				secondLabel = "Second Mortgage:";
				balLimLabel = "Balance"
			}
			else if (value == "HOME")
			{
				secondLabel = "Home Equity Line:";
				balLimLabel = "Max Limit"
			}

			if (value == "2NDMORT" || value == "HOME")
			{
				setLabel("secondPayoffLabel", secondLabel)
				display("secondPayoff");

				value = getValue("secondPayoffSelect");
				if (value == "PAYOFF")
				{
					hide("secondAmount");
					setLabel("secondOpenedLabel", secondLabel)
					display("secondOpened");
				}
				else if (value == "LEAVEOPEN")
				{
					hide("secondOpened");
					setLabel("secondAmountLabel", secondLabel)
					setLabel("secondBalanceLimitLabel", balLimLabel);
					display("secondAmount");
				}
			}
			else
			{
				hide("secondPayoff");
				hide("secondAmount");
				hide("secondOpened");
			}
		}
		else
		{
			hide("second");
			hide("secondPayoff");
			hide("secondAmount");
			hide("secondOpened");
		}

		//========================================================
		//  Contact Info
		//========================================================
		if (rsDynamicallyDisplayContact == true && getValue("loanPurpSelect") != "")
		{
			display("contactInfo");
		}
		else if (rsDynamicallyDisplayContact == true && getValue("loanPurpSelect") == "")
		{
			hide("contactInfo");
		}
		else
		{
			if (getValue("contactSelect") == "1" || getValue("notifySelect") == "1")
			{
				display("contactInfo");
			}
			else
			{
				hide("contactInfo");
			}
		}

		display("searchButton");

		if (doScroll)
		{
			scrollIntoView(getElement("rateSearchControl"));
		}

		rsFormExpanded = true;
	}
}

/* ===============================================================================================
			Functions used for Footer
=============================================================================================== */

function toggleDisplayHideGeographics(id)
{
	var element = getElement(id);
	var show = false;
	if (element.style.display == "none")
	{
		show = true;
	}

	hide("pacific");
	hide("mountain");
	hide("central");
	hide("eastern");

	if (show)
	{
		display(id);
	}
}

/* ===============================================================================================
			Functions used for rate results print version
=============================================================================================== */
	function expandCollapse (DOMEvent)
	{
		var parentID;
		var child;
		if (document.all)
		{
			parentID = window.event.srcElement.id;
			child = getElement ("Sub-" + parentID);
		}
		else
		{
			parentID = DOMEvent.target.id;
			child = getElement ("Sub-" + parentID);
		}
		if (child != null)
		{
			//var parentImage = getElement (parentID);
			if (child.style.display == "none")
			{
				child.style.display = "block";
			}
			else
			{
				child.style.display = "none";
			}
		}
	}
