var CFCWin;
///////////////////////////////////////////////////////////////
function openNewWin(winName,winurl,features)
	{
	ClosePopUps();
	CFCWin = window.open(winurl,winName,features+',location=no,menubar=no,status=no,status=0,titlebar=yes,toolbar=no,resizable=yes,left=0,top=0');
	//CFCWin.focus();
	}
////////////////////////////////////////////////////////////////
function ClosePopUps()
{
	if (CFCWin)
	{
		if (CFCWin.closed == false)
		{
			CFCWin.close();
		}
	}
}
//////////////////////////////////////////////////////////////
function checkMapForm()
{
	form=document.mapForm;
	if (form.Address_0.value.trim()=='address' || form.Address_0.value.trim()=='')
	{
		alert("Please enter a starting address.");
		form.Address_0.focus();
		return false;
	}
	if (form.City_0.value.trim()=='city' || form.City_0.value.trim()=='')
	{
		alert("Please enter a starting city.");
		form.City_0.focus();
		return false;
	}
	if (form.Region_0.value.trim()=='st' || form.Region_0.value.trim()=='')
	{
		alert("Please enter a starting state.");
		form.Region_0.focus();
		return false;
	}
	if (form.Postal_0.value.trim()=='zip' || form.Postal_0.value.trim()=='' || form.Postal_0.value.trim().length < 5)
	{
		alert("Please enter a 5-digit starting zip.");
		form.Postal_0.focus();
		return false;
	}
	openNewWin('CFC','','width=750,height=590,scrollbars=yes')
}
//////////////////////////////////////////////////////////////
function checkLocateForm()
{
	form=document.locateForm;
	if (form.Zip.value.trim()=='enter zip' || form.Zip.value.trim()=='' || form.Zip.value.trim().length < 5)
	{
		alert("Please enter a 5 digit zip code.");
		form.Zip.focus();
		return false;
	}
	openNewWin('DCD','','width=640,height=420,scrollbars=yes')
}
/////////////////////////////////////////////////////////////
	function blocking(i)
	{
		if ( $('#number'+i).attr("class").indexOf('open') == -1 ) {
			$("#arrow_" + i).attr('src','/images/arrow_down.gif')
			$("#arrow_" + i).attr('alt','Click to Hide Detail')
			$("#arrow_" + i).attr('title','Click to Hide Detail')
			$('#number'+i).slideDown(300);
			$('#number'+i).addClass('open');
		}
		else {
			$("#arrow_" + i).attr('src','/images/arrow_right.gif')
			$("#arrow_" + i).attr('alt','Click to Show Detail')
			$("#arrow_" + i).attr('title','Click to Show Detail')
			$('#number'+i).slideUp(300);
			$('#number'+i).removeClass('open');
		}
		
	}
///////////////////////////////////////////////////////
	var shown = new Array();
//////////////////////////////////////////////////////
String.prototype.trim = function()
{
  return this.replace(/^\s*/, '').replace(/\s*$/,'');
}
//////////////////////////////////////////////////////
function ValidateEmail(FieldValue)
{
	EmailFormat=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-|_)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if (!EmailFormat.test(FieldValue)) 
	{
		return false;
	}
	else 
	{
		return true;
	}
}		
//////////////////////////////////////////////////////////////
function checkSearchForm()
{
	form=document.searchForm;
	if (form.txtSearch.value.trim()=='')
	{
		alert("Please enter something to search for.");
		form.txtSearch.focus();
		return false;
	}
}
///////////////////////////////////////////////////////////
function formatCurrency(num) 
	{
num = num.toString().replace(/$|,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
	}
////////////////////////////////////////////////////
function SetInnerHTMLValue(id, value)
{

	if (document.getElementById)
	{
		x = document.getElementById(id);
		x.innerHTML = value;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = value;
	}
}
///////////////////////////////////////////////////
function ValidateChecked()
{
	somethingChecked=false;
	for (elementCount=0; elementCount < document.addMultipleToCart.elements.length; elementCount++)
	{
		if (document.addMultipleToCart.elements[elementCount].name.indexOf('_chk') != -1 && document.addMultipleToCart.elements[elementCount].checked)
		{
			somethingChecked=true;
		}
	}

	if (somethingChecked==false)
	{
		alert("You have not checked any items to add your shopping cart.");
		return false;
	}

	return true;
}
/////////////////////////////////////////////////
function ValidateDetailCart(theForm)
{
	for (elementCount=0; elementCount < theForm.elements.length; elementCount++)
	{
		if (theForm.elements[elementCount].name.indexOf('_quant') != -1 && (theForm.elements[elementCount].value.trim() == "" || theForm.elements[elementCount].value*1 == 0))
		{
			alert("Please enter the quantity of this item you'd like to add to your shopping cart.");
			theForm.elements[elementCount].focus();
			return false;
		}
	}

	return true;

}
///////////////////////////////////////////////
function showMe(theLayer,element,relative,LeftOffSet,TopOffSet)
{
	var thisLeft = getElementLeft(element);
	var thisTop = getElementTop(element);

	thisLeft += LeftOffSet;
	thisTop += TopOffSet;

	if (document.getElementById)
	{
		if (typeof(document.getElementById(element)) != 'undefined')
		{
			if (relative=='yes')
			{
				document.getElementById(theLayer).style.left=thisLeft;
				document.getElementById(theLayer).style.top=thisTop;
			}

			document.getElementById(theLayer).style.display = "block";
		}
	}
	else {   //ie
		if (typeof(document.all[element]) != 'undefined')
		{
			if (relative=='yes')
			{
				document.all[theLayer].style.left=thisLeft;
				document.all[theLayer].style.top=thisTop;
			}
			document.all[theLayer].style.display = "block";
		}
	}
}
///////////////////////////////////////////////
function hideMe(theLayer)
{
    if (document.getElementById)
	{
		if (typeof(document.getElementById(theLayer)) != 'undefined') {
			document.getElementById(theLayer).style.display = "none";
		}
	}
	else {   //ie
		if (typeof(document.all[theLayer]) != 'undefined') {
			document.all[theLayer].style.display = "none";
		}
	}
}
///////////////////////////////////////////////
function getElementLeft(eElement)
{
    var nLeftPos = eElement.offsetLeft;          // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nLeftPos += eParElement.offsetLeft;      // appending left offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nLeftPos;                             // return the number calculated
}
//////////////////////////////////////////////
function getElementTop(eElement)
{
    var nTopPos = eElement.offsetTop;            // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nTopPos += eParElement.offsetTop;        // appending top offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nTopPos;                              // return the number calculated
}
//*************************************************************************************************************
//	function arrow_onmouseover(i)
//		Description: Show the proper mouseover image depending on if the Paragraph is hidded or visible
//		Parameters:	i=Number of arrow image on the page
//		Sample Use: arrow_onmouseover(2)
//		Where Used: TransactionDetail, PendingTransactions
//*************************************************************************************************************
function arrow_onmouseover(i)
{
	if (shown[i]) {
		eval("document.arrow_" + i + ".src='/images/arrow_down_on.gif'")
	}
	else {
		eval("document.arrow_" + i + ".src='/images/arrow_right_on.gif'")
	}
}

//*************************************************************************************************************
//	function arrow_onmouseout(i)
//		Description: Show the proper mouseout image depending on if the Paragraph is hidded or visible
//		Parameters:	i=Number of arrow image on the page
//		Sample Use: arrow_onmouseout(2)
//		Where Used: TransactionDetail, PendingTransactions
//*************************************************************************************************************
function arrow_onmouseout(i)
{
	if (shown[i]) {
		eval("document.arrow_" + i + ".src='/images/arrow_down_off.gif'")
	}
	else {
		eval("document.arrow_" + i + ".src='/images/arrow_right_off.gif'")
	}
}
/////////////////////////////////////////////////////////////
	function blocking2(i)
	{
		shown[i] = (shown[i]) ? false : true;
		current = (shown[i]) ? 'block' : 'none';

		if (shown[i]) {
			eval("document.arrow_" + i + ".src='/images/arrow_down_off.gif'")
			eval("document.arrow_" + i + ".alt='Click to Hide Detail'")
		}
		else {
			eval("document.arrow_" + i + ".src='/images/arrow_right_off.gif'")
			eval("document.arrow_" + i + ".alt='Click to Show Detail'")
		}
		
		if (document.getElementById)
		{
			document.getElementById('num'+i).style.display = current;
		}
		else if (document.all)
		{
			document.all['num'+i].style.display = current;
		}
	}
//*************************************************************************************************************
//	DisableAllButtons()
//		Description: Disables all buttons on form.
//		Sample Use: DisableAllButtons()
//		Where Used: SinglePlanConfiguration
//*************************************************************************************************************
function DisableAllButtons()
{
	for (v=0; v < document.forms.length; v++)
	{
		for (x=0; x < document.forms[v].elements.length; x++)
		{
			if (document.forms[v].elements[x].type == 'button' || document.forms[v].elements[x].type == 'reset' || document.forms[v].elements[x].type == 'submit')
			{
				document.forms[v].elements[x].disabled = true
			}
		}
	}
}
//*************************************************************************************************************
//	showMe(theLayer)
//		Description: Hides the layer passed in.
//		Parameters:	theLayer=Layer to show.
//		Sample Use: showMe("DateFields")
//		Where Used: TransactionDetailForm
//*************************************************************************************************************
function showMe2(theLayer)
{
    if (navigator.appName == 'Netscape')
	{
        var version = navigator.userAgent.toLowerCase().charAt(8);
		if (version < 5) {
		}
		else {
			if (typeof(document.getElementById(theLayer)) != 'undefined') {
				document.getElementById(theLayer).style.display = "block";
			}
		}
	}
	else {   //ie
		if (typeof(document.all[theLayer]) != 'undefined') {
			document.all[theLayer].style.display = "block";
		}
	}
}

//*************************************************************************************************************
//	hideMe(theLayer)
//		Description: Opens a new window with the URL that is passed
//		Parameters:	theLayer=Layer to hide.
//		Sample Use: hideMe("DateFields")
//		Where Used: TransactionDetailForm
//*************************************************************************************************************
function hideMe2(theLayer){
	if (navigator.appName == 'Netscape') {
        var version = navigator.userAgent.toLowerCase().charAt(8);
		if (version < 5) {
		}
		else {
			if (typeof(document.getElementById(theLayer)) != 'undefined') {
				document.getElementById(theLayer).style.display = "none";
			}
		}				
	}
	else  {
		if (typeof(document.all[theLayer]) != 'undefined'){
			document.all[theLayer].style.display = "none";
		}
	}
}

//*************************************************************************************************************
//	showMe(theLayer)
//		Description: Hides the layer passed in.
//		Parameters:	theLayer=Layer to show.
//		Sample Use: showMe("DateFields")
//		Where Used: TransactionDetailForm
//*************************************************************************************************************
function showMe3(theLayer)
{
    if (navigator.appName == 'Netscape')
	{
        var version = navigator.userAgent.toLowerCase().charAt(8);
		if (version < 5) {
		}
		else {
			if (typeof(document.getElementById(theLayer)) != 'undefined') {
				document.getElementById(theLayer).style.visibility = "visible";
			}
		}
	}
	else {   //ie
		if (typeof(document.all[theLayer]) != 'undefined') {
			document.all[theLayer].style.visibility = "visible";
		}
	}
}

//*************************************************************************************************************
//	hideMe(theLayer)
//		Description: Opens a new window with the URL that is passed
//		Parameters:	theLayer=Layer to hide.
//		Sample Use: hideMe("DateFields")
//		Where Used: TransactionDetailForm
//*************************************************************************************************************
function hideMe3(theLayer){
	if (navigator.appName == 'Netscape') {
        var version = navigator.userAgent.toLowerCase().charAt(8);
		if (version < 5) {
		}
		else {
			if (typeof(document.getElementById(theLayer)) != 'undefined') {
				document.getElementById(theLayer).style.visibility = "hidden";
			}
		}				
	}
	else  {
		if (typeof(document.all[theLayer]) != 'undefined')
		{
			//alert(theLayer);
			document.all[theLayer].style.visibility = "hidden";
		}
	}
}

function mouseOutCheck(evt, elem) {
    if (!elem.contains(evt.relatedTarget || evt.toElement)) {
        return true;//mouse left elem
    }
    else {
        return false;
    }
}

if (navigator.userAgent.indexOf("Firefox") != -1) {
    HTMLElement.prototype.contains = function(node) {
    	if (node == null)
    		return false;
    	if (node == this)
    		return true;
    	else
    		return this.contains(node.parentNode);
    }
}

