var moveableObj = null;
var offsetX = 0;
var offsetY = 0;
var popupZIndex = 15;
var disabler;
var disablerZIndex = 5;
var enableMove = false;
var isModal = false;

/* state variables */
var isSearchFormExpanded = false;
var isBrowseMenuExpanded = false;

$(document).ready(function() 
{

	if (top == self)
	{
		setTopFormButton();
		initPlf();
		resetForm();
		getUserEmailNews();
		showLoginPopup();
		//dialogWinTop();
		try { document.execCommand("BackgroundImageCache", false, true); } 
		catch (err) {}
	}
	else 
	{
		initForm("PlanFolder", "change", PlanFolder_change);
	}

	if (getEl("PlanFolder") != null) 
	{
		PlanFolder_change();
	}

	autoShowDialog("save-plan-action");
	autoShowDialog("save-search-action");

});

function toggleInputBoxVisibility()
{

	//if (document.forms.name == "savePlanForm")
	//{
		//selectBox = getEl("PlanFolder");
		selectBox = document.forms['savePlanForm'].PlanFolder;
		newFolderDiv = getEl("newFolderContainer");		
				
		var index = selectBox.selectedIndex	;
		
		if ("0" == selectBox.options[index].value)
		{
			newFolderDiv.style.display = "block";
			//alert("block");
			//inputBox.style.visibility = "visible";
			//newFolderLabel.style.visibility = "visible";
		}
		else
		{
			newFolderDiv.style.display = "none";
			//alert("");
			//inputBox.style.visibility = "hidden";
			//newFolderLabel.style.visibility = "hidden";
		}
	//}
}

function toggleRows(tbl){

	var foundationCheck = getEl('foundationBit');
	
	if (foundationCheck != null)
	{
		if (foundationCheck.value == 'true')
		{
			var len = getEl(tbl).rows.length;
			var inputFirst = getEl("ImportantExtra-206");
			
			if(inputFirst)
			{
				var vStyle = (inputFirst.checked)? "none":"";
				var inputEls = getElsByName("ImportantExtra");
				
				if (vStyle == "none") {
					for (i=1; i < inputEls.length; i++)
					{
						inputEls[i].checked = false;
						inputEls[i].disabled = true;
					}
				}
				else if (vStyle == "") {
					for (i=1; i < inputEls.length; i++)
					{
						inputEls[i].disabled = false;
					}
				}

				for(i=2; i< len; i++) {
					getEl(tbl).rows[i].style.display = vStyle;		
				}
			}
		}
	}	
}


function SubmitForm()
{
	var theForm = document.forms['affiliateSignupForm'];
	if (!theForm.spam.checked)
	{
		alert('You must agree not to use the eplans affiliate program for the purpose of sending unsolicited email in order to sign up. If you agree to these terms, please check the box.');
		theForm.spam.focus();
		return false;
	}
	if (!theForm.agree.checked)
	{
		alert('You must confirm that you have read the affiliate agreement in order to sign up. If you agree to the terms of the agreement, please check the box.');
		theForm.agree.focus();
		return false;
	}
	theForm.submit();
}


function toggle_disclosure (e) {
  
  if (!e) {
    e = window.event;
  }
  
  var button = e.target;
  if (!button) {
    button = e.srcElement;
  }
  
  var suffix = button.id.split("_")[0];
  
  if (document.getElementById) {
    var group = getEl(suffix + "_group");
    var searchButtonTop = getEl("show-results-top");
    
    if (group.style.display == "block") {
      group.style.display = "none";
      var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-more.gif");
      button.src = newButtonSrc;
      isSearchFormExpanded = false;
      if (null != searchButtonTop) {
		searchButtonTop.style.display = "none";
	  }
    }
    else {
      group.style.display = "block";
      var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-fewer.gif");
      button.src = newButtonSrc;
      isSearchFormExpanded = true;
      if (null != searchButtonTop) {
		searchButtonTop.style.display = "inline";
	  }
    }
    
  }
}


function clearSearch_click()
{
	var formControl = getEl("PlanSearchForm");
	var formLen = formControl.length;
	var i;
	for(i = 0; i < formLen; i++)
	{
		var currCntrl = formControl[i];
		
		if(currCntrl.type == "select-one" && currCntrl.selectedIndex != 0)
		{
			currCntrl.selectedIndex = 0;
			selectPlanType(null);
		}
		else if(currCntrl.id == "MinSqft" || currCntrl.id == "MinWidth" || currCntrl.id == "MinDepth")
		{
			currCntrl.value = "Min";
		}else if(currCntrl.id == "MaxSqft" || currCntrl.id == "MaxWidth" || currCntrl.id == "MaxDepth")
		{
			currCntrl.value = "Max";
		}
		else if(currCntrl.type == "checkbox")
		{
			currCntrl.checked = false;
		}else if(currCntrl.type == "radio")
		{
			currCntrl.checked = false;
		}
	}
	chkPlanType=document.getElementById("PlanType");
	if(chkPlanType!=null)
		chkPlanType.checked = true;
	
	formControl = document.getElementsByName("pageView");
	if(formControl[0]!=null)
	{
		formControl[0].checked = true;
	}
	
	formControl = document.getElementsByName("Show");
	if(formControl[0]!=null)
		formControl[0].checked = true;

    ResetCostToBuildType();
}


function toggleClass(element) {
	element.className = (element.className == "active") ? "" : "active";
}

function resizeIframe() {
	if (parent == window) return false;
	var ifrmWin = parent.frames["featuredPlan"];
	if (ifrmWin) {
		var ifrm;
		if (parent.window.document.getElementById) {
			ifrm = parent.window.document.getElementById("featuredPlan");
		}
		else {
			if (parent.window.document.all) {
				ifrm = parent.window.document.all["featuredPlan"];
			}
		}
		if (ifrm) {
			ifrm.style.height = "auto"; 
			ifrm.style.height = getHeight() + "px";
		}
	}
}

function resizeIframeDialog() {
	if (parent == window) {return false};
	
	var ifrm;
	
	if (parent.window.document.getElementById) {
		ifrm = parent.window.document.getElementById("dialogWin");
	}
	else if (parent.window.document.all) {
			ifrm = parent.window.document.all["dialogWin"];
	}
	
	if (parent && parent.setDialogTitle) {
		parent.setDialogTitle(document.title);
	}
}

function getHeight() {
	var height = 0;
	if (document.height) {
		height = document.height;
	}
	else {
		if (document.body) {
			var sh = (document.body.scrollHeight) ? document.body.scrollHeight : 0;
			var oh = (document.body.offsetHeight) ? document.body.offsetHeight : 0;
			height = (sh > oh) ? sh : oh;
		}
	}
	return height;
}

function getWidth() {
	var width = 0;
	if (document.width) {
		width = document.width;
	}
	else {
		if (document.body) {
			var sh = (document.body.scrollWidth) ? document.body.scrollWidth : 0;
			var oh = (document.body.offsetWidth) ? document.body.offsetWidth : 0;
			width = (sh > oh) ? sh : oh;
		}
	}
	return width;
}

function toggleCostToBuild() {
	var elem = document.getElementById ("costToBuild");
	if (elem) {
		if (elem.style.display == "block") {
			elem.style.display = "none";
		}
		else {
			elem.style.display = "block";
		}		
	}
}

function dialogWinTop()
{
	if($("a.winTop"))
	{
		$("a.winTop").click(function(){
				
			var objWidth = $(this).width();
			var objX = getRealLeft(this);
			var objY = getRealTop(this);
			var div = $("#windowTop");
			
			var xOff = objX;
			var yOff = objY + 20;
			
			if(!div && null == objWidth)
			{
				return;
			}
			
			moveToObj(xOff, yOff, div);					
				
			var dialogSrc = $(this).attr("href");
			$(this).attr("href","javascript:void(0)");	
			
			$("#frameWinTop").src(dialogSrc).load(function(){
										
			});
			
			$("#windowTop").show().click(function(){
				$(this).hide();
			});			
			
			$(this).attr("href", dialogSrc);			
		
			return false;
		});
	}
}


function initPlf()
{
	$("#Alias").focus(function(){
	
		$(this).val("");
		
		return false;
	});
}

function showLoginPopup()
{
	
	$("a.LoginPopup").click(function(e)
	{
		var src = $(this).href();
		$(this).href("javascript: void(0)");
		$("#frameWinTop").src(src);
		
		var objWidth = $(this).width();
		var objX = getRealLeft(this);
		var objY = getRealTop(this);
		var div = $("#windowTop");
		
		$(div).css({
		
			width: "210px"
		});
		
		var xOff = objX + 90;
		var yOff = objY;	 	
		
		if(!div && null == objWidth)
		{
			return;
		}
		
		moveToObj(xOff, yOff, div);
		
		if($("#dialogWin").hide())
		{
			/*$("#frameWinTop").load(function()
			{
				$("#windowTop").show();
				
				return false;
			});*/
			
			$(function()
			{
				$("#windowTop").show();
				
				return false;
			});
		}
		/*else
		{
			$(function(){
				$("#windowTop").hide();
				return false;
			});
		}*/
		
	});
	
	$("#windowTop").click(function()
	{
		$(this).hide();
	});			
			
}

//
// FUNCTION: moveToObj
//
// MOVES
//
function moveToObj(xOff, yOff, div)
{	
	$(div).css("left", xOff + "px");
	$(div).css("top", yOff + "px");	
}

function showDialogBox(e)
{

	// Create a preloaded iframe w/help urls
	var isOff = true;	
		
	m(e);
	
	var okToProceed = true;
	var icon = this;
	var oldHelpSrc = $("#dialogWin").attr("src");
	
	if(okToProceed)
	{
		isOff = false;
		$("#loginDialog").show();
	}
}

function m(e)
{
	var yoff = -11;
	var xoff = 20;
	var el = document.getElementById('loginDialog');

	
	if(el)
	{
		moveToMouse(e, el, yoff, xoff);
	}
}

function moveToMouse(e, el, yScrollTop, xScrollLeft)
{
	// Moves an element to the position of the mouse
	xPos = getPointerX(e);
	yPos = getPointerY(e);
	
	move(el, (yPos + yScrollTop), (xPos + xScrollLeft));
}

function getPointerX(e)
{
	return (e != '' ? e.pageX:getRealLeftByObj(window.event.srcElement));
}

function getPointerY(e)
{
	return (e != '' ? e.pageY:getRealTopByObj(window.event.srcElement));
}

function move(el, top, left)
{
	// Moves an element vertically and horizontally
	el.style.top =  top + "px";
	el.style.left = left + "px"; 
}

function getRealLeft(div)
{
	thisObj = div;
	xPos = getRealLeftByObj(div);
	return xPos;
}

function getRealTop(div)
{
	thisObj = div;
	yPos = getRealTopByObj(div);
	return yPos;
}

function getRealTopByObj()
{
	yPos = 0;
	if(thisObj)
	{
		yPos = thisObj.offsetTop;
		tempEl = thisObj.offsetParent;
		while(tempEl != null)
		{
			yPos += tempEl.offsetTop;
			tempEl = tempEl.offsetParent;
		}
	}
	//return event.clientY + document.documentElement.scrollTop; // true yPos mouse event
	return yPos;
}

function getRealLeftByObj()
{
	xPos = 0;
	if(thisObj)
	{
		xPos = thisObj.offsetLeft;
		tempEl = thisObj.offsetParent;
		while(tempEl != null)
		{
			xPos += tempEl.offsetLeft;
			tempEl = tempEl.offsetParent;
		}
	}
	//return event.clientX + document.documentElement.scrollLeft; // true xPos mouse event
	return xPos;
}

function getFormElements(el)
{
	if (typeof(el.form) != "undefined") 
	{ 
		return el.form.elements;
	}
	else 
	{
		if(document.forms[0] != undefined)
		{
			return document.forms[0].elements;
		}
		else
		{
			return null;
		}
	}
}


function getEl(id) {
	var obj;
	if (document.getElementById) {
		obj = document.getElementById(id);
	} else if (document.all) {
		obj = eval("document.all." + id);
	} 
	return obj;
}


function getElsByName(name) {
	var obj;
	if (document.getElementsByName) {
		obj = document.getElementsByName(name);
	}
	return obj;
}


function getParentEl(id)
{
	var element;
	if (parent.window.document.getElementById) 
	{
		element = parent.window.document.getElementById(id);
	}
	else 
	{
		if (parent.window.document.all) 
		{
			element = parent.window.document.all[id];
		}
	}
	return element;
}


function getRadioVal(name) {
	var els = getElsByName(name);
	if (els) {
		for (var i=0; i<els.length; i++) {
			if (els[i] && els[i].checked) {
				return els[i].value;
			}
		}
	}
	return null;
}


function getCurrencyDisplay(el) {
	return formatCurrency(getCurrencyValue(el));
}


function formatCurrency(val) {
	var formattedVal = val.toString();
	if (formattedVal.indexOf('.') < 0) formattedVal += '.00';
	return '$' + formatComma(formattedVal);
}


function formatComma(val) {
	var vals = val.toString().split('.', 2);
	var wholePart = vals[0];
	var decimalPart = vals[1];
	if (typeof(decimalPart) != 'undefined' && decimalPart != '') {
		if (wholePart.length > 3) {
			return formatComma(wholePart.substring(0, wholePart.length - 3)) + ',' + wholePart.substring(wholePart.length - 3) + '.' + decimalPart;
		}
		else {
			return wholePart + '.' + decimalPart;
		}
	}
	else {
		if (wholePart.length > 3) {
			return formatComma(wholePart.substring(0, wholePart.length - 3)) + ',' + wholePart.substring(wholePart.length - 3);
		}
		else {
			return wholePart;
		}
	}
}

var bLoaded = true;

function downDialog(e) {
	if (!e) {
		e = event;
	}
	enableMove = true;
	offsetX = getOffsetX(e);
	offsetY = getOffsetY(e);
	
	var tg = (e.target) ? e.target : e.srcElement;

	moveableObj = selectDialog(tg);
	return false;
}


function selectDialog(el) {
	if (el && el.onmousedown == downDialog) return el;
	else if (el) return (selectDialog(getParentElement(el)));
	return moveableObj;
}


function upDialog(e) {
	if (!e) {
		e = event;
	}
	enableMove = false;
	return false;
}


function showEl(obj) {
	if ((obj == null) || (!bLoaded)) return;
	if (document.getElementById) {
		obj.style.visibility = "visible";
	} else if (document.all) {
		obj.style.visibility = "visible";
	} 
}


function hideEl(obj) {
	if ((obj == null) || (!bLoaded)) return;
	if (document.getElementById) {
		obj.style.visibility = "hidden";
	} else if (document.all) {
		obj.style.visibility = "hidden";
	} 
}


function refreshParent() 
{
	if (window != window.top) window.top.location = window.top.location;
}

function setParentUrl(url) {
	if (parent == window) {return false;}
		
	parent.location = url;
}


function selectPlanType(e) 
{
	var elem;
	var elemName;
	var elemType;
	var elemValue;
	var elemLabel;
 
	if (!top.document.PlanSearchForm) { return; }

	var formElements = top.document.PlanSearchForm.elements;	
	var selectBox = top.document.PlanSearchForm.PlanType;

 	if (null == formElements || null == selectBox)
	{
		alert("no form");
		return;
	}  

	var index = selectBox.selectedIndex;

	for (var i = 0; i < formElements.length; i++) 
	{
		formElements[i].disabled = false;
		
		if (("Amenities" == formElements[i].name || "Styles" == formElements[i].name)) 
		{
			formElements[i].parentNode.parentNode.style.display = "block";
		}
	}
	
	var group;
	var button;
	
	if (document.getElementById) 
	{
		group = document.getElementById ("search_group");
		button = document.getElementById ("search_button");				
	}
	
	if ("House" == selectBox.options[index].value) 
	{		
		for (var i = 0; i < formElements.length; i++) 
		{
			elem = formElements[i];
			elemName = formElements[i].name;
			elemType = formElements[i].type;
			
			elem.disabled = false;
		}
		
		if (button)
		{
			var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-more.gif");
			button.src = newButtonSrc;
			button.style.cursor = "pointer"
			
			if (isSearchFormExpanded == true) 
			{
				if (group.style.display == "block") 
				{
					group.style.display = "none";
					var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-more.gif");
					button.src = newButtonSrc;
				}
				else 
				{
					group.style.display = "block";
					var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-more.gif");
					button.src = newButtonSrc;
				}
			}
		}
	}
	
	else if ("Garage" == selectBox.options[index].value) 
	{
		for (var i = 0; i < formElements.length; i++) 
		{
			elem = formElements[i];
			elemName = formElements[i].name;
			elemType = formElements[i].type;
			elemValue = formElements[i].value;
			
			if ("select-one" == elemType || "button" == elemType || "submit" == elemType) 
			{
				continue;
			}
			
			if ("Amenities" == elemName || "Styles" == elemName) 
			{
					elem.disabled = true;
			}
		}
		
		if (button)
		{
			group.style.display = "none";
			
			var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-blank.gif");
			button.src = newButtonSrc;
			button.style.cursor = "none";
			button.style.cursor = "auto";	
		}		
	}	
	
	else if ("Project" == selectBox[index].value) 
	{
		for (var i = 0; i < formElements.length; i++) 
		{
			var elem = formElements[i];
			var elemName = formElements[i].name;
			var elemType = formElements[i].type;
			var elemValue = formElements[i].value;

			if ("select-one" == elemType || "button" == elemType || "submit" == elemType) 
			{
				continue;
			}

			if ("Styles,Amenities,Bedrooms,Bathrooms,Stories,GarageBays".indexOf(elemName) != -1) 
			{
				elem.disabled = true;
			}
		}
		
		if (button)
		{
			group.style.display = "none";
			var newButtonSrc = button.src.replace(/icon-\w+\.gif/, "icon-blank.gif");
			button.src = newButtonSrc;
			button.style.cursor = "none";
			button.style.cursor = "auto";
		}
	}
	
	else if ("Landscapes" == selectBox[index].value) 
	{
		for (var i = 0; i < formElements.length; i++) 
		{
			var elem = formElements[i];
			var elemName = formElements[i].name;
			var elemType = formElements[i].type;
			var elemValue = formElements[i].value;

			if ("button" == elemType || "submit" == elemType) 
			{
				continue;
			}

			if ("MinSqft,MaxSqft,Styles,Amenities,Bedrooms,Bathrooms,Stories,GarageBays".indexOf(elemName) != -1) 
			{
				elem.disabled = true;
			}
			
			if ("Amenities" == elemName || "Styles" == elemName) 
			{
					elem.parentNode.parentNode.style.display = "none";
			}
		}
	}
	
	else if ("Deck" == selectBox[index].value) 
	{
		for (var i = 0; i < formElements.length; i++) 
		{
			var elem = formElements[i];
			var elemName = formElements[i].name;
			var elemType = formElements[i].type;
			var elemValue = formElements[i].value;

			if ("button" == elemType || "submit" == elemType) {
				continue;
			}

			if ("MinSqft,MaxSqft,Amenities,Bedrooms,Bathrooms,Stories,GarageBays".indexOf(elemName) != -1) 
			{
				elem.disabled = true;
			}
			
			if ("Amenities" == elemName || "Styles" == elemName) 
			{
					elem.parentNode.parentNode.style.display = "none";
			}
		}
	}
	
	else 
	{
		for (var i = 0; i < formElements.length; i++) 
		{
			var elem = formElements[i];
			var elemType = formElements[i].type;
			
			if ("select-one" == elemType || "button" == elemType || "submit" == elemType) 
			{
				continue;
			}
		}
	}
}


function PlanFolder_change() {
//PlanFolder is the PlanFolder dropdown on the save-plan-dialog-form.xml XForm.
	folderDropDown = getEl("PlanFolder");
	createFolderTxtBox = getEl("NewPlanFolderName");

	if(folderDropDown.value == "0")
	{
		//Value of "0" means that 'Create New folder' was selected from the dropdown,
		//so we need to allow the user to enter a new folder's name. 
		createFolderTxtBox.disabled = false;
	}
	else
	{
		//User has selected an existing folder, so we don't new to show the 'New folder name' textbox.
		createFolderTxtBox.disabled = true;
	}
}

function resetForm()
{
	$("a.reset").click(function(){
	
		document.getElementById("PlanSearchForm").reset();
	});
}

function getUserEmailNews()
{		
	$("#newsletter-signup-form-submit").mousedown(function(){	
		
		var button = $(this);
		
		var emailBox = $("#email").val();

		if(emailBox == '')
		{
			alert("Please enter an email address");
			
			return;
		}
		
		$.post("ajax/storeincookie.hwx", {email: emailBox}, function(xml)
		{
			try
			{		
				setTimeout($confirmEmail.message(), 1000);
			}
			catch(x) 
			{		
				//alert("Error");
			}	
		});
		
		var $confirmEmail = {
		
			message : function()
			{
				
				$("#windowTop").css({
					
					"z-index": 2000,
					width: "250px",
					left: "400px",
					top: "400px"
					
					
				}).show();
				
				var iframeDoc = $(frames['frameWinTop'].document.body);
				$(iframeDoc).html("<div style='width: 200px;'><p style='font-size: 12px; color: #776E62;'><b>Thank you for signing up to receive DreamHomeSource.com Special Offers and Discounts.</b></p></div>");
				
				$("#windowTop").click(function(){
				
					$(this).hide();
				});			
			}
		}
	});
}


function phoneKeyUpMask(e)
{
	if (!e) {
		e = event;
	}

	var control = (e.target) ? e.target : e.srcElement;

	var delimLocs = new Array('3', '7');
	var delim = '-';
	var i;
	var j;
	var currVal = control.value;
	
	for(i = 0; i < delimLocs.length; i++)
	{
		for(j=0; j <currVal.length; j++)
		{
			if(j == delimLocs[i])
			{
				if(currVal.substring(j, j+1) != delim)
				{
					currVal = currVal.substring(0, j) + delim + currVal.substring(j, currVal.length);
				}
			}
		}
	}
	
	control.value = currVal;
}

function checkoutAgreementSubmitClick()
{
	var agreementBox = getEl("AcceptsAgreement");
	
	if(!agreementBox.checked)
	{
		alert("You must check the box to accept the terms and conditions to proceed.");
		return false;
	}
	else
	{
		return true;
	}
}
function checkoutAddressingAndPaymentSubmitClick()
{
	var agreementBox = getEl("rdTermsAndConditions");
	var crdNum=getEl("CardNumber");
	var verifNum=getEl("VerificationNumber");
	var cardnumber=crdNum.value;
	var verificationnumber=verifNum.value;
	var regExp = /\s+/g;
	cardnumber=cardnumber.replace(regExp,'');
	crdNum.value=cardnumber.replace(/-/g,'');
	verificationnumber=verificationnumber.replace(regExp,'');
	verifNum.value=verificationnumber.replace(/-/g,'');
	if(!agreementBox.checked)
	{
		alert("You must check the check box to accept the terms and conditions to proceed.");
		return false;
	}
	else
	{
		return true;
	}
}
function initForm (controlId, signal, functionHandler) {

	var formControl = null;
	
	if (document == controlId) {
		formControl = document;
	}
	
	if ("window" == controlId) {
		formControl = window;
	}
	
	if ("PlanType" == controlId && top.document.PlanSearchForm) {
		formControl = top.document.PlanSearchForm.PlanType
	}
	
	if (null == formControl) {	
		if (document.getElementById) {
			formControl = document.getElementById(controlId);
		}
		else if (top.document.all) {
			formControl = document.all[controlId];
		}
	}
	
	// abort since there is nothing to attach
	if (!formControl) {
		return;
	}

  if (document.addEventListener) {
      formControl.addEventListener(signal, functionHandler, true);
  }
  else if (document.attachEvent) {
      formControl.attachEvent("on" + signal, functionHandler);
  }
  else if (document.all) {
		var sigHandler = eval(formControl + ".on" + signal)
		sigHandler = functionHandler;
  }
}


function getCookie (cookiename) {
	var val = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );
 
	if (val)
	{
		return unescape(val[1]);
	}
	else
	{
		return null;
	}
}

function softLogout(softLogoutSpace, url)
{
	var el = getEl(softLogoutSpace);
	if (el)
	{
		el.innerHTML = '<iframe src=\"' + url + '\" style=\"width:0px;height:0px;\"></iframe>';
		pauseExecution(3000);
	}
}

function pauseExecution(milliseconds)
{
	date = new Date();
	var curDate = null;
	do 
	{ 
		curDate = new Date(); 
	}
	while((curDate - date) < milliseconds);
} 

function softLogoutCookie() 
{
	var expires = new Date().setTime(0);
	
	setCookie ("WebnizCookie", "anonymous", expires, "/", "");
	setCookie ("WebnizUserCookie", "anonymous", expires, "/", "");
	
	if (document.cookie.indexOf ("WebnizCookie") != -1 || document.cookie.indexOf ("WebnizUserCookie") != -1) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}


function setCookie (cname, cval, cexpires, cpath, cdomain) 
{

	var cookieStr = cname + "=" + cval + ";"
	
	if (cexpires)
	{
		cookieStr = cookieStr + "expires=" + cexpires + ";"
	}
	
	if (cpath)
	{
		cookieStr = cookieStr + "path=" + cpath + ";"
	}
	
	if (cdomain)
	{
		cookieStr = cookieStr + "domain=" + cdomain + ";"
	}
	
	document.cookie = cookieStr;
}


function autoShowDialog(idString)
{
	var el = getEl(idString);

	if (el != null && self == top && top.location.href.indexOf('Action.Save') != -1) 
	{
		var reUriInJavaScript = /.*'([^']*)'.*/i
		var href = el.getAttribute("href");
		var uri = href.replace(reUriInJavaScript, "$1");
		
		showDialog(uri);
	}
}


function setTopFormButton() 
{
	var searchButtonTop = getEl("show-results-top");
	var moreButton = getEl("search_button")
	
	if (searchButtonTop && moreButton && moreButton.src.indexOf("icon-more.gif") != -1) 
	{
		searchButtonTop.style.display = "none";
    } 
}

function showSignUp(url)
{
	window.open(url,'mywindow','width=300,height=150,left=450,top=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no,resizable=no');
	/*var dialog = document.getElementById ("dialog");	
	moveableObj = dialog;
	
	var w = 300;
	var h = 300;
	
	if (url.indexOf('HelpLarge') != -1) {
		w = 500;
		h = 500;
	}
	else if (url.indexOf('help') != -1) {
		w = 300;
		h = 300;
	}

	var eplansIframe = parent.frames["eplans"];
	
	if(eplansIframe)
	{	
		positionFromLeftEdge(dialog, w, h);
	}
	else if(w > 300)
	{
		positionFromBottomLeftCenterWell(dialog, w, h);
	}
	else
	{
		positionCenter(dialog);
	}
	
	setDialogTitle("Loading...")
	
	dialog.style.display = "block";
	dialog.style.width = w + 'px';*/
	
	/*var ifrm;

	if (document.getElementById) {
		ifrm = document.getElementById("dialogWin");
	}
	else if (document.all) {
		ifrm = document.all["dialogWin"];
	}
	
	if (ifrm)
	{
		ifrm.src = url;
		ifrm.style.height = h + 'px';
		ifrm.style.width = w + 'px';
	}
	
	if (!isModal) {negotiateSelects(moveableObj, true, false)};*/
	
}


//
// EVENT: DOCUMENT READY
//
$(document).ready(OnGlobalReady);


//
// FUNCTION: OnGlobalReady
//
// INVOKED WHEN THE DOCUMENT READY EVENT FIRES.
//
function OnGlobalReady ()
{
}


//
// FUNCTION: getCurrencyValue
//
// RETURNS A "CURRENCY VALUE," OR FLOATING POINT VALUE WITH 2 DECIMALS FROM THE SPECIFIED ELEMENT.
//
function getCurrencyValue(el)
{
	return parseFloat(getFloatValue(el, 0.00).toFixed(2));
}


//
// FUNCTION: getFloatValue
//
// RETURNS A FLOAT VALUE FROM THE SPECIFIED ELEMENT OR THE DEFAULT VALUE IF THE ELEMENT DOES NOT EXIST OR DOES NOT CONTAIN A NUMERIC VALUE.
//
function getFloatValue(el, defaultVal)
{
	if (el && hasNumericValue(el))
		return parseFloat(el.value);
		
	return parseFloat(defaultVal);
}


//
// FUNCTION: hasNumericValue
//
// CHECKS IF THE SPECIFIED ELEMENT HAS A NUMERIC VALUE AND RETURNS TRUE IF IT DOES, FALSE OTHERWISE.
//
function hasNumericValue(el)
{
	return (el && el.value != '' && !isNaN(el.value));
}

// FUNCTIONALITY THAT CONTROLS THE "ARCHITECTURAL STYLES" SLIDER MENU AT THE TOP OF THE PAGE.
//
 
var ArchitecturalStylesMenuControl;

//
// EVENT: DOCUMENT READY
//
$(document).ready(OnArchitecturalStylesReady);
 


//
// FUNCTION: OnArchitecturalStylesReady
//
// INVOKED WHEN THE DOCUMENT IS READY.
 
// CONFIGURES THE ARCHITECTURAL STYLES SLIDER CONTROL AT THE TOP OF THE PAGE.
//
function OnArchitecturalStylesReady ()
{
	$("#showArchitectural").mousemove(ShowArchitecturalStylesMenu);
	$("#architecturalStyles").mousemove(ShowArchitecturalStylesMenu); 
	ConfigureArchitecturalStylesMenu();
}

//
// FUNCTION: ConfigureBrowseCollectionsMenu
//
// CREATES AND CONFIGURES THE ARCHITECTURAL STYLES MENU.
//
function ConfigureArchitecturalStylesMenu ()
{
	ArchitecturalStylesMenuControl = new CreateArchitecturalStylesMenu();
	ArchitecturalStylesMenuControl.InitializeMenu();
	
	$("#ArchitecturalStylesCloseButtonLinkTop").click(function(){ArchitecturalStylesMenuControl.HideMenu(); return false;}); 
	$("#ArchitecturalStylesCloseButtonLinkBottom").click(function(){ArchitecturalStylesMenuControl.HideMenu(); return false;});
}


//
// FUNCTION: CreateArchitecturalStylesMenu
//
// CREATES THE ARCHITECTURAL STYLES MENU.
//
function CreateArchitecturalStylesMenu ()
{	 
	//
	// MENU SYSTEM INITIALIZATION
	//
	this.TabElement = $("#showArchitectural");
	this.MenuElement = $("#architecturalStyles");
	
	this.IsOpen = false;
	this.UserIsInMenu = false;
	
	//
	// THESE ARE GLOBALLY DEFINED ELEMENTS THAT WE WANT TO HIDE ACROSS ALL PAGES.
	// IF THIS BECOMES UNMANAGEABLE THEN INDIVIDUAL PAGES WILL HAVE TO OVERRIDE THIS PROPERTY AND LIST THEIR OWN SHINE THROUGH ELEMENTS.
	// FOR RIGHT NOW WE ONLY HAVE 5 CONTROLS THAT SHINE THROUGH.  NO BIG DEAL.
	//
	this.ShineThroughElements = ["#SortColumn","#Proximity", "#StateProvince", "#CategorySelect", "#Range", "#toppagerShow", "#toppagerSortColumn", "#toppagerRange"];
	
	this.OpenSpeed = 5;
	this.CloseSpeed = 500;
	this.DelayUntilClose = 5;
	
	//
	// METHOD DEFINITIONS
	//
	this.InitializeMenu = IntitializeArchitecturalStylesMenu;
	this.ShowMenu = ShowArchitecturalStylesMenu;
	this.HideMenu = HideArchitecturalStylesMenu;
	this.DisableMenu = DisableArchitecturalStylesMenu;
	this.OnMouseOut = OnArchitecturalStylesMouseOut;
	this.OnMouseIn = OnArchitecturalStylesMouseIn;
	
	//
	// DONE.
	//
	return this;
}


//
// FUNCTION: IntitializeArchitecturalStylesMenu
//
// INITIALIZES AND CONFIGURES THE ARCHITECTURAL STYLES MENU AND TAB.
//
function IntitializeArchitecturalStylesMenu ()
{
	//
	// CONFIGURE THE TAB ELEMENT.
	//
	$("#showArchitectural").hover(this.OnMouseIn, this.OnMouseOut);
	
	//
	// CONFIGURE THE MENU ELEMENT.
	//
	$("#architecturalStyles").hover(this.OnMouseIn, this.OnMouseOut);
}


//
// FUNCTION: OnArchitecturalStylesMouseOut
//
// CLOSES THE ARCHITECTURAL STYLES MENU IF THE USER MOUSES OUT OF THE MENU AND STAYS OUT OF THE MENU FOR MORE THAN DelayUntilClose MILLISECONDS.
//
function OnArchitecturalStylesMouseOut ()
{
	ArchitecturalStylesMenuControl.UserIsInMenu = false;
	window.setTimeout(function(){if (!ArchitecturalStylesMenuControl.UserIsInMenu) ArchitecturalStylesMenuControl.HideMenu();}, ArchitecturalStylesMenuControl.DelayUntilClose);
}


//
// FUNCTION: OnBrowsOnArchitecturalStylesMouseIneCollectionsMouseIn
//
// OPENS THE ARCHITECTURAL STYLES MENU IF IT IS NOT OPEN ALREADY.
//
function OnArchitecturalStylesMouseIn ()
{
	ArchitecturalStylesMenuControl.UserIsInMenu = true;
	
	if (!ArchitecturalStylesMenuControl.IsOpen)
		ArchitecturalStylesMenuControl.ShowMenu();
}


//
// FUNCTION: HideArchitecturalStylesMenu
//
// HIDES THE ARCHITECTURAL STYLES MENU.
//
function HideArchitecturalStylesMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE ARCHITECTURAL STYLES MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	for (var i = 0; i < ShineThroughElements.length; i++)
		$(ShineThroughElements[i]).css("visibility", "visible");

	//
	// HIDE THE ARCHITECTURAL STYLES MENU.
	//
	$("#architecturalStyles").hide();

	//
	// THE MENU IS CLOSED.
	//
	ArchitecturalStylesMenuControl.IsOpen  = false;
}


//
// FUNCTION: ShowArchitecturalStylesMenu
//
// SHOWS THE ARCHITECTURAL STYLES MENU.
//
function ShowArchitecturalStylesMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE ARCHITECTURAL STYLES MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	var svmfForm = document.getElementById("svmFcSearchForm");
	
	if(svmfForm!=null && svmfForm!="undefined" && svmfForm!="") 	//skipping hide property for radios  collection in -
	{
		for (var i = 0; i < ShineThroughElements.length; i++)									//service-match-directory.hwx page
		{
			if(ShineThroughElements[i]!= "#CategorySelect")
				$(ShineThroughElements[i]).css("visibility", "hidden");
		}
	}
	else
	{
		for (var i = 0; i < ShineThroughElements.length; i++)
				$(ShineThroughElements[i]).css("visibility", "hidden");
	
	}

	//
	// OPEN THE ARCHITECTURAL STYLES MENU WITH THE SPECIFIED ANIMATION.
	//
	$("#architecturalStyles").fadeIn(OpenSpeed);
	
	//
	// THE MENU IS OPEN.
	//
	ArchitecturalStylesMenuControl.IsOpen  = true;
}


//
// FUNCTION: DisableArchitecturalStylesMenu
//
// DISABLES THE ARCHITECTURAL STYLES MENU FOR PAGES AND APPLICATIONS WHERE IT SHOULD NOT APPEAR.
//
function DisableArchitecturalStylesMenu ()
{
	//
	// "UNCONFIGURE" THE TAB ELEMENT.
	//
	$("#showArchitectural").unbind();
	
	//
	// "UNCONFIGURE" THE MENU ELEMENT.
	//
	$("#architecturalStyles").unbind();

}


// FUNCTIONALITY THAT CONTROLS THE "BROWSE COLLECTIONS" SLIDER MENU AT THE TOP OF THE PAGE.
//
var BrowseCollectionsMenuControl;

//
// EVENT: DOCUMENT READY
//
$(document).ready(OnBrowseCollectionsReady);


//
// FUNCTION: OnBrowseCollectionsReady
//
// INVOKED WHEN THE DOCUMENT IS READY.
// CONFIGURES THE BROWSE COLLECTIONS SLIDER CONTROL AT THE TOP OF THE PAGE.
//
function OnBrowseCollectionsReady ()
{
	$("#showBrowse").mousemove(ShowBrowseCollectionsMenu);
	$("#collections").mousemove(ShowBrowseCollectionsMenu);
	ConfigureBrowseCollectionsMenu();
}


//
// FUNCTION: ConfigureBrowseCollectionsMenu
//
// CREATES AND CONFIGURES THE BROWSE COLLECTIONS MENU.
//
function ConfigureBrowseCollectionsMenu ()
{
	BrowseCollectionsMenuControl = CreateBrowseCollectionsStyleMenu();
	BrowseCollectionsMenuControl.InitializeMenu();
	
	$("#BrowseCollectionsCloseButtonLinkTop").click(function(){BrowseCollectionsMenuControl.HideMenu(); return false;});
	$("#BrowseCollectionsCloseButtonLinkBottom").click(function(){BrowseCollectionsMenuControl.HideMenu(); return false;});
}


//
// FUNCTION: CreateBrowseCollectionsStyleMenu
//
// CREATES THE BROWSE COLLECTIONS MENU.
//
function CreateBrowseCollectionsStyleMenu ()
{
	//
	// MENU SYSTEM INITIALIZATION
	//
	this.TabElement = $("#showBrowse");
	this.MenuElement = $("#collections");
	
	this.IsOpen = false;
	this.UserIsInMenu = false;
	
	//
	// THESE ARE GLOBALLY DEFINED ELEMENTS THAT WE WANT TO HIDE ACROSS ALL PAGES.
	// IF THIS BECOMES UNMANAGEABLE THEN INDIVIDUAL PAGES WILL HAVE TO OVERRIDE THIS PROPERTY AND LIST THEIR OWN SHINE THROUGH ELEMENTS.
	// FOR RIGHT NOW WE ONLY HAVE 5 CONTROLS THAT SHINE THROUGH.  NO BIG DEAL.
	//
	this.ShineThroughElements = ["#SortColumn", "#Proximity", "#StateProvince", "#CategorySelect", "#Range", "#toppagerShow", "#toppagerSortColumn", "#toppagerRange"];
	
	this.OpenSpeed = 5;
	this.CloseSpeed = 500;
	this.DelayUntilClose = 5;
	
	//
	// METHOD DEFINITIONS
	//
	this.InitializeMenu = IntitializeBrowseCollectionsMenu;
	this.ShowMenu = ShowBrowseCollectionsMenu;
	this.HideMenu = HideBrowseCollectionsMenu;
	this.DisableMenu = DisableBrowseCollectionsMenu;
	this.OnMouseOut = OnBrowseCollectionsMouseOut;
	this.OnMouseIn = OnBrowseCollectionsMouseIn;
	
	//
	// DONE.
	//
	return this;
}


//
// FUNCTION: IntitializeBrowseCollectionsMenu
//
// INITIALIZES AND CONFIGURES THE BROWSE COLLECTIONS MENU AND TAB.
//
function IntitializeBrowseCollectionsMenu ()
{
	//
	// CONFIGURE THE TAB ELEMENT.
	//
	$(TabElement).hover(this.OnMouseIn, this.OnMouseOut);
	
	//
	// CONFIGURE THE MENU ELEMENT.
	//
	$(MenuElement).hover(this.OnMouseIn, this.OnMouseOut);
}


//
// FUNCTION: OnBrowseCollectionsMouseOut
//
// CLOSES THE BROWSE COLLECTIONS MENU IF THE USER MOUSES OUT OF THE MENU AND STAYS OUT OF THE MENU FOR MORE THAN DelayUntilClose MILLISECONDS.
//
function OnBrowseCollectionsMouseOut ()
{
	BrowseCollectionsMenuControl.UserIsInMenu = false;
	window.setTimeout(function(){if (!BrowseCollectionsMenuControl.UserIsInMenu) BrowseCollectionsMenuControl.HideMenu();}, BrowseCollectionsMenuControl.DelayUntilClose);
}


//
// FUNCTION: OnBrowseCollectionsMouseIn
//
// OPENS THE BROWSE COLLECTIONS MENU IF IT IS NOT OPEN ALREADY.
//
function OnBrowseCollectionsMouseIn ()
{
	BrowseCollectionsMenuControl.UserIsInMenu = true;
	
	if (!BrowseCollectionsMenuControl.IsOpen)
		BrowseCollectionsMenuControl.ShowMenu();
}


//
// FUNCTION: HideBrowseCollectionsMenu
//
// HIDES THE BROWSE COLLECTIONS MENU.
//
function HideBrowseCollectionsMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE BROWSE COLLECTIONS MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	for (var i = 0; i < ShineThroughElements.length; i++)
		$(ShineThroughElements[i]).css("visibility", "visible");

	//
	// HIDE THE BROWSE COLLECTIONS MENU.
	//
	$(MenuElement).hide();

	//
	// THE MENU IS CLOSED.
	//
	BrowseCollectionsMenuControl.IsOpen  = false;
}


//
// FUNCTION: ShowBrowseCollectionsMenu
//
// SHOWS THE BROWSE COLLECTIONS MENU.
//
function ShowBrowseCollectionsMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE BROWSE COLLECTIONS MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	var svmfForm = document.getElementById("svmFcSearchForm");
	
	if(svmfForm!=null && svmfForm!="undefined" && svmfForm!="")		//skipping hide property for radios  collection in -
	{
		for (var i = 0; i < ShineThroughElements.length; i++)								//service-match-directory.hwx page
		{
			if(ShineThroughElements[i]!= "#CategorySelect")
				$(ShineThroughElements[i]).css("visibility", "hidden");
		}
	}
	else
	{
		for (var i = 0; i < ShineThroughElements.length; i++)
				$(ShineThroughElements[i]).css("visibility", "hidden");
	
	}

	//
	// OPEN THE BROWSE COLLECTIONS MENU WITH THE SPECIFIED ANIMATION.
	//
	$(MenuElement).fadeIn(OpenSpeed);
	
	//
	// THE MENU IS OPEN.
	//
	BrowseCollectionsMenuControl.IsOpen  = true;
}


//
// FUNCTION: DisableBrowseCollectionsMenu
//
// DISABLES THE BROWSE COLLECTIONS MENU FOR PAGES AND APPLICATIONS WHERE IT SHOULD NOT APPEAR.
//
function DisableBrowseCollectionsMenu ()
{
	//
	// "UNCONFIGURE" THE TAB ELEMENT.
	//
	$(TabElement).unbind();
	
	//
	// "UNCONFIGURE" THE MENU ELEMENT.
	//
	$(MenuElement).unbind();

}

// MANAGES THE MY SAVED PLANS POP UP - WE CALL IT A MENU.
// THIS IS RELATED TO THE "MY SAVED PLANS" PAGE BUT THIS SCRIPT ONLY MANAGES THE LITTLE POP UP AT THE TOP OF THE PAGE.
//
// DEPENDENCIES: jquery.js, browse-collections.js
//
var SavedPlansMenu;

//
// EVENT: DOCUMENT READY
//
$(document).ready(OnSavedPlansDocumentReady);


//
// FUNCTION: OnSavedPlansDocumentReady
//
// INVOKED WHEN THE DOCUMENT READY EVENT FIRES.
//
function OnSavedPlansDocumentReady ()
{
	ConfigureSavedPlansMenu();
	
	//
	// THE LOGIN DIALOG POPS UP WHEN THE USER IS NOT LOGGED-IN AND TRIES TO VIEW HIS OR HER SAVED PLANS.
	//
	//ConfigureLoginDialog();
}


//
// FUNCTION: ConfigureSavedPlansMenu
//
// CREATES AND INITIALIZES THE SAVED PLANS MENU SYSTEM.
//
function ConfigureSavedPlansMenu ()
{
	SavedPlansMenu = new CreateSavedPlansMenu();
	SavedPlansMenu.InitializeMenu();
}


//
// FUNCTION: CreateSavedPlansMenu
//
//
function CreateSavedPlansMenu ()
{
	//
	// MENU SYSTEM INITIALIZATION
	//
	this.TabElement = $("#SavedPlansListItem");
	this.MenuElement = $("#savedDetails");
	
	this.IsOpen = false;
	this.UserIsInMenu = false;
	
	this.ShineThroughElements = [];
	this.OpenSpeed = 300;
	this.CloseSpeed = 300;
	this.DelayUntilClose = 750;
	
	//
	// METHOD DEFINITIONS
	//
	this.InitializeMenu = IntitializeSavedPlansMenu;
	this.ShowMenu = ShowSavedPlansMenu;
	this.HideMenu = HideSavedPlansMenu;
	this.DisableMenu = DisableSavedPlansMenu;
	this.OnMouseIn = OnSavedPlansMenuMouseIn;
	this.OnMouseOut = OnSavedPlansMenuMouseOut;
	
	//
	// DONE.
	//
	return this;
}


//
// FUNCTION: IntitializeSavedPlansMenu
//
// INITIALIZES AND CONFIGURES THE SAVED PLANS MENU DIV AND TAB.
//
function IntitializeSavedPlansMenu ()
{
	//
	// CONFIGURE THE TAB ELEMENT.
	//
	$(this.TabElement).hover(this.OnMouseIn, this.OnMouseOut);
	
	//
	// CONFIGURE THE MENU ELEMENT.
	//
	$(this.MenuElement).hover(this.OnMouseIn, this.OnMouseOut);
	
	//
	// CONFIGURE THE CLOSE "X" BUTTON IN THIS MENU.
	//
	$(this.MenuElement).children("a#CloseButtonImageLink").click(function(){SavedPlansMenu.HideMenu(); return false;});
}


//
// FUNCTION: OnSavedPlansMenuMouseIn
//
// OPENS THE SAVED PLANS MENU IF IT IS NOT OPEN ALREADY.
// THIS FUNCTION EXECUTES IN THE CONTEXT OF THE MOUSED-IN ELEMENT, NOT THE MENU OBJECT.
//
function OnSavedPlansMenuMouseIn ()
{
	SavedPlansMenu.UserIsInMenu = true;
	
	if (!SavedPlansMenu.IsOpen)
		SavedPlansMenu.ShowMenu();
}


//
// FUNCTION: OnSavedPlansMenuMouseOut
//
// CLOSES THE SAVED PLANS MENU IF THE USER MOUSES OUT OF THE MENU AND STAYS OUT OF THE MENU FOR MORE THAN DelayUntilClose MILLISECONDS.
// THIS FUNCTION EXECUTES IN THE CONTEXT OF THE MOUSED-IN ELEMENT, NOT THE MENU OBJECT.
//
function OnSavedPlansMenuMouseOut ()
{
	SavedPlansMenu.UserIsInMenu = false;
	window.setTimeout(function(){if (!SavedPlansMenu.UserIsInMenu) SavedPlansMenu.HideMenu();}, SavedPlansMenu.DelayUntilClose);
}


//
// FUNCTION: HideSavedPlansMenu
//
// HIDES THE SAVED PLANS MENU.
// THIS FUNCTION EXECUTES IN THE CONTEXT OF THE MENU OBJECT.
//
function HideSavedPlansMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	for (var i = 0; i < this.ShineThroughElements.length; i++)
		$(this.ShineThroughElements[i]).css("visibility", "visible");

	//
	// HIDE THE MENU.
	//
	$("#mySavedPlans").hide();
	$(this.MenuElement).hide();

	//
	// THE MENU IS CLOSED.
	//
	this.IsOpen = false;
	
	return false;
}


//
// FUNCTION: ShowSavedPlansMenu
//
// SHOWS THE SAVED PLANS MENU.
// THIS FUNCTION EXECUTES IN THE CONTEXT OF THE MENU OBJECT.
//
function ShowSavedPlansMenu ()
{
	//
	// HIDE THE FOLLOWING ELEMENTS SO THEY DON'T "SHINE THROUGH" THE MENU.
	// THIS DEFECT IS EVIDENT IN INTERNET EXPLORER 6.
	//
	for (var i = 0; i < this.ShineThroughElements.length; i++)
		$(this.ShineThroughElements[i]).css("visibility", "hidden");

	//
	// OPEN THE BROWSE COLLECTIONS MENU WITH THE SPECIFIED ANIMATION.
	//
	$("#mySavedPlans").css({"z-Index": 100, left: "505px", top: "75px"}).show();
	$(this.MenuElement).fadeIn(this.OpenSpeed);
	
	//
	// THE MENU IS OPEN.
	//
	this.IsOpen = true;
}


//
// FUNCTION: DisableSavedPlansMenu
//
// DISABLES THE SAVED PLANS MENU FOR PAGES WHERE IT SHOULD NOT APPEAR.
//
function DisableSavedPlansMenu ()
{
	//
	// "UNCONFIGURE" THE TAB ELEMENT.
	//
	$(this.TabElement).unbind();
	
	//
	// "UNCONFIGURE" THE MENU ELEMENT.
	//
	$(this.MenuElement).unbind();

}


//
// FUNCTION: ConfigureLoginDialog
//
// CONFIGURES THE "MY SAVED PLANS" LINKS TO DISPLAY A LOGIN DIALOG BOX WHEN CLICKED.
// AFTER THE USER TYPES HIS OR HER CORRECT LOGIN INFORMATION THE USER IS REDIRECTED TO THE MY SAVED PLANS PAGE.
//
/*
function ConfigureLoginDialog ()
{
	//
	// IF THE USER IS NOT AUTHENTICATED THEN CONFIGURE THE MY SAVED PLAN LINKS ON THE PAGE TO MAKE THE USER LOG IN.
	//
	if ($("#LoginRegisterButtonLink").length > 0)
	{
		//
		// CONFIGURE THE MY SAVED PLANS LOGIN LINK TO MAKE THE DIALOG BOX APPEAR SO THE USER CAN LOG IN.
		//
		$("#MySavedPlansLoginDialogLink").click(OnToolTipOpenClick);
		
		$("#SavedPlansListItem a:eq(0)").attr("href", $("#MySavedPlansLoginDialogLink").attr("href"));
		$("#SavedPlansListItem a:eq(0)").click(OnToolTipOpenClick);
	}

	//
	// WE ADD TO THE CLICK FUNCTIONALITY WE FIND IN "tool-tips.js".
	//
	$("#ToolTipsCloseLink").click(OnToolTipCloseClick);
}
*/

// MANAGES THE "TOOL TIP" POP UPS THAT TYPICALLY DISPLAY HELP INFORMATION TO THE END USER.
//


//
// EVENT: DOCUMENT READY
//
$(document).ready(OnToolTipsDocumentReady);


//
// FUNCTION: OnToolTipsDocumentReady
//
// INVOKED WHEN THE DOCUMENT READY EVENT FIRES.
//
function OnToolTipsDocumentReady ()
{
}


//
// FUNCTION: OnToolTipCloseClick
//
// HIDES THE TOOL TIP AND RETURNS FALSE TO PREVENT ANY DEFAULT BEHAVIOR, SUCH AS FOLLOWING AN ANCHOR LINK CLICK.
//
function OnToolTipCloseClick ()
{
	HideToolTip(); return false;
}


//
// FUNCTION: HideToolTip
//
// HIDES THE TOOL TIP.
//
function HideToolTip ()
{
	//
	// SET THE STYLE TO HIDE THE TOOL TIP WINDOW.
	//
	$("#ToolTipsDiv").css("display", "none");
	
	//
	// RE-DISPLAY SELECT ELEMENTS THAT CAUSED COLLISIONS WITH THE DIV.
	//
	var ToolTipsDiv = document.getElementById("ToolTipsDiv");
	negotiateSelects(ToolTipsDiv, false, false);
}


//
// FUNCTION: ShowToolTip
//
// DISPLAYS THE TOOL TIP.
//
// url - MANDATORY.  THIS IS THE URL RENDERED TO THE USER.
// title - OPTIONAL.  IF SPECIFIED THIS WILL CHANGE THE TITLE OF THE TOOL TIP BOX.  THE DEFAULT IS "Dream Home Source Tips."
//
function ShowToolTip (url, title)
{
	//
	// WE MUST GET THE TOOL TIPS DIV ELEMENT BY ID HERE BECAUSE positionCenter EXPECTS A DIRECT REFERENCE TO THE ELEMENT.
	//
	var ToolTipsDiv = document.getElementById("ToolTipsDiv");
	
	//
	// POSITION THE TOOL TIP.
	//
	positionCenter(ToolTipsDiv);
	
	//
	// ASSIGN A TITLE TO THE TOOL TIP BOX.
	//
	if (title)
		$("#ToolTipsTitle").html(title);
	else
		$("#ToolTipsTitle").html("Dream Home Source Tips");
	
	//
	// SIZE THE TOOL TIP BASED ON WHAT IS FOUND IN THE URL.
	//
	// IF THE URL CONTAINS ToolTipSize.Small THEN USE DIMENSIONS: 200 X 200.
	// IF THE URL CONTAINS ToolTipSize.Medium THEN USE DIMENSIONS: 275 X 300.
	// IF THE URL CONTAINS ToolTipSize.MediumWide THEN USE DIMENSIONS: 275 X 450.
	// IF THE URL CONTAINS ToolTipSize.Large THEN USE DIMENSIONS: 450 X 450.
	// IF THE URL CONTAINS NO ToolTipSize SPECIFICATION THEN USE DIMENSIONS: 275 X 300 (DEFAULT - MEDIUM).
	//
	if (url.indexOf("ToolTipSize.Small") > -1)
		$("#ToolTipsDiv").attr("class", "ttSmall");
	else if (url.indexOf("ToolTipSize.MediumWide") > -1)
		$("#ToolTipsDiv").attr("class", "ttMedWide");
	else if (url.indexOf("ToolTipSize.Medium") > -1)
		$("#ToolTipsDiv").attr("class", "ttMed");
	else if (url.indexOf("ToolTipSize.Large") > -1)
		$("#ToolTipsDiv").attr("class", "ttLarge");
	else
		$("#ToolTipsDiv").attr("class", "ttMed");
	
	//
	// DISPLAY THE TOOL TIP.
	//
	$(ToolTipsDiv).css("display", "block");

	//
	// HIDE ALL SELECT ELEMENTS THAT CAUSE COLLISIONS WITH THE DIV SO THEY DO NOT "SHINE-THROUGH."
	//
	negotiateSelects(ToolTipsDiv, true, true);

	//
	// LOAD THE TOOL TIP WITH THE SPECIFIED CONTENT.
	//
	$("#ToolTipsIframe").attr("src", url);
}


//
// FUNCTION: OnShowToolTip
//
// EXECUTED WHEN THE USER CLICKS ON ANY TOOL TIP LINK.
// EXECUTES IN THE CONTEXT OF THE ANCHOR TAG.
//
function OnShowToolTip ()
{
	ShowToolTip($(this).attr("href")); return false;
}


//
// FUNCTION: OnToolTipOpenClick
//
// EXECUTED WHEN THE USER CLICKS ON ANY TOOL TIP LINK.
// EXECUTES IN THE CONTEXT OF THE ANCHOR TAG.
//
function OnToolTipOpenClick ()
{
	ShowToolTip($(this).attr("href")); return false;
}


//
// FUNCTION: positionCenter
//
function positionCenter (ToolTipsDiv)
{
	ToolTipsDiv.style.top = (getScrollTop() + 100) + 'px';
	ToolTipsDiv.style.left = ((screen.availWidth / 3.5) + getScrollLeft()) + 'px';
}


//
// FUNCTION: getScrollTop
//
function getScrollTop ()
{
	if (document.documentElement && document.documentElement.scrollTop)
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body)
	{
		return document.body.scrollTop;
	}
	else if (window.pageYOffset)
	{
		return window.pageYOffset;
	}
}


//
// FUNCTION: getScrollLeft
//
function getScrollLeft ()
{
	if (document.documentElement && document.documentElement.scrollLeft)
		return document.documentElement.scrollLeft;
	else if (document.body)
		return document.body.scrollLeft;
	else if (window.pageXOffset)
		return window.pageXOffset;
}


//
// FUNCTION: negotiateSelects
//
// CHECKS IF THE TOOL TIP WINDOW COLLIDES WITH ANY SELECT ELEMENTS, THEN HIDES THE SELECT ELEMENTS.
//
function negotiateSelects(topEl, activate, keepHidden)
{
	negotiateElements('select', topEl, activate, keepHidden);
}


//
// FUNCTION: negotiateElements
//
// CHECKS IF THE TOOL TIP WINDOW COLLIDES WITH ANY ELEMENTS, THEN HIDES THE ELEMENTS.
//
function negotiateElements(tagName, topEl, activate, keepHidden)
{
	var allEls = document.getElementsByTagName(tagName);
	
	for (var i = 0; i < allEls.length; i++)
	{
		if (activate)
		{
			if (topEl != allEls[i])
			{
				if (checkOverlap(topEl, allEls[i]))
					hideEl(allEls[i]);
				else
				{
					if (!keepHidden)
						showEl(allEls[i]);
				}
			}
		}
		else
			showEl(allEls[i]);
	}
}


//
// FUNCTION: checkOverlap
//
// CHECKS IF A "TOP" ELEMENT COLLIDES WITH A "BOTTOM" ELEMENT.
//
function checkOverlap(topEl, bottomEl)
{
	return overlap(getDimensions(topEl), getDimensions(bottomEl));
}


//
// FUNCTION: hideEl
//
// HIDES THE GIVEN OBJECT.
//
function hideEl(obj)
{
	$(obj).hide();
}


//
// FUNCTION: showEl
//
// SHOWS THE GIVEN OBJECT.
//
function showEl(obj)
{
	$(obj).show();
}


//
// FUNCTION: getDimensions
//
// GETS THE DIMENSIONS OF THE SPECIFIED ELEMENT.
//
function getDimensions (el)
{
	var points = new Array();	
	points[0] = getOffsetLeft(el);					//left
	points[1] = points[0] + getOffsetWidth(el);		//right
	points[2] = getOffsetTop(el);					//top
	points[3] = points[2] + getOffsetHeight(el);	//bottom
	return points;
}


//
// FUNCTION: overlap
//
// CHECKS IF THE 2 SPECIFIED DIMENSIONS INTERSECT.  RETURNS TRUE IF YES FALSE OTHERWISE.
//
function overlap(dims1, dims2)
{
	if (((dims1[0] > dims2[0] && 
		  dims1[1] > dims2[0] && 
		  dims1[0] > dims2[1] && 
		  dims1[1] > dims2[1]) ||
		 (dims1[0] < dims2[0] && 
		  dims1[1] < dims2[0] && 
		  dims1[0] < dims2[1] && 
		  dims1[1] < dims2[1])) ||
	    ((dims1[2] > dims2[2] &&
		  dims1[3] > dims2[2] &&
		  dims1[2] > dims2[3] &&
		  dims1[3] > dims2[3]) ||
		 (dims1[2] < dims2[2] &&
		  dims1[3] < dims2[2] &&
		  dims1[2] < dims2[3] &&
		  dims1[3] < dims2[3]))) {
			return false;	
	}

	return true;
}


//
// FUNCTION: getOffsetWidth
//
// RETURNS THE OFFSET WIDTH OF THE SPECIFIED ELEMENT.
//
function getOffsetWidth (el)
{
	var width = el.offsetWidth;
	return width;
	
}


//
// FUNCTION: getOffsetHeight
//
// RETURNS THE OFFSET HEIGHT OF THE SPECIFIED ELEMENT.
//
function getOffsetHeight (el)
{
	var height = el.offsetHeight;
	return height;
}



//
// FUNCTION: getOffsetLeft
//
// RETURNS THE OFFSET LEFT OF THE SPECIFIED ELEMENT.
//
function getOffsetLeft (el)
{
	var left = 0;
	var curEl = el;
	while (curEl != null) {
		left += curEl.offsetLeft;
		curEl = curEl.offsetParent;
	}
	return left;
}


//
// FUNCTION: getOffsetTop
//
// RETURNS THE OFFSET TOP OF THE SPECIFIED ELEMENT.
//
function getOffsetTop (el)
{
	var top = 0;
	var curEl = el;
	while (curEl != null) {
		top += curEl.offsetTop;
		curEl = curEl.offsetParent;
	}
	return top;
}


//
// FUNCTION: SetToolTipTitle
//
// SETS THE TOOL TIP TITLE
//
// title - MANDATORY.  CHANGE THE TITLE OF THE TOOL TIP BOX.  THE DEFAULT IS "Dream Home Source Tips."
//
function SetToolTipTitle (title)
{
	//
	// WE MUST GET THE TOOL TIPS DIV ELEMENT BY ID HERE BECAUSE positionCenter EXPECTS A DIRECT REFERENCE TO THE ELEMENT.
	//
	var ToolTipsDiv = document.getElementById("ToolTipsDiv");
	
	//
	// ASSIGN A TITLE TO THE TOOL TIP BOX.
	//
	if (title)
		$("#ToolTipsTitle").html(title);
	else
		$("#ToolTipsTitle").html("Dream Home Source Tips");
}

// JAVASCRIPT LOGIC THAT MANAGES THE PLAN CODE LOOKUP FORM THAT APPEARS AT THE TOP RIGHT OF MULTIPLE PAGES.
//


//
// EVENT: DOCUMENT READY
//
$(document).ready(OnPlanCodeLookupFormDocumentReady);


//
// FUNCTION: OnPlanCodeLookupFormDocumentReady
//
// EXECUTED WHEN THE PAGE LOADS.  MANAGES THE PLAN LOOKUP FORM.
//
function OnPlanCodeLookupFormDocumentReady ()
{
	//
	// CONFIGURE THE PLAN LOOKUP FORM AT THE BOTTOM LEFT OF THIS PAGE.
	//
	ConfigureHousePlanCodeForm("PlanLookupForm2", "Alias2");
}


//
// FUNCTION: ConfigureHousePlanCodeForm
//
// CONFIGURES THE HOUSE PLAN CODE LOOKUP FORM WITH THE SPECIFIED DOCUMENT ELEMENT ID.
// ON HOMEPAGE, FOR EXAMPLE, THERE ARE MULTIPLE PLAN LOOKUP FORMS.
// THIS FUNCTION CAN BE USED TO CONFIGURE BOTH OR EITHER OF THEM.
//
function ConfigureHousePlanCodeForm (PlanLookupFormId, TextInputId)
{
	$("#" + PlanLookupFormId).bind("submit", {TextInputId: TextInputId}, FixPlanCodeField);
}


//
// FUNCTION: FixPlanCodeField
//
// FIXES THE HOUSE PLAN CODE LOOKUP FORM TEXT BOX.
// IF THE USER MAKES THE TEXT INPUT FIELD TOTALLY BLANK (EMPTY) THEN WE PLACE A SPACE INSIDE OF THE INPUT FIELD SO THE SEARCH MECHANISM PERFORMS A FULL SEARCH AND RETURNS 0 RESULTS.
//
function FixPlanCodeField (EventObject)
{
	//
	// EXTRACT THE ID OF THE ALIAS TEXT BOX WHERE THE USERS ENTERS THE HOUSE PLAN CODE.
	//
	var TextInputId = "#" + EventObject.data.TextInputId;
	
	//
	// IF THE ALIAS TEXT BOX IS EMPTY THEN JUST ADD A SPACE INSIDE OF IT.
	//
	if (!$(TextInputId, this).attr("value"))
		$(TextInputId, this).attr("value", " ");
}


$(document).ready(ConfigureMySavedPlans);

function ConfigureMySavedPlans ()
{
	//
	// IF THE USER IS NOT AUTHENTICATED THEN CONFIGURE THE SAVE THIS HOUSE PLAN LINK TO MAKE THE USER LOG IN.
	//
	if ($("#LoginRegisterButtonLink").length > 0){
		//
		// CONFIGURE THE "VIEW ALL SAVED PLANS" LINK TO MAKE THE DIALOG BOX APPEAR SO THE USER CAN LOG IN.
		//
		$(".SimplifiedLoginDialog").click(OnToolTipOpenClick);
		}

	//
	// WE ADD TO THE CLICK FUNCTIONALITY WE FIND IN "tool-tips.js".
	//
	$("#ToolTipsCloseLink").click(OnToolTipCloseClick);
}

var scriptLoc = 'http://www.myaffiliateprogram.com/u/eplans/rep.asp';
	
	var kbId = 0;
	var qryString = window.location.search.substring(1);
	var imgdata = '';
	var subdata = '';

	if (qryString.length > 0)
	{
		var pairs = qryString.split('&');
								
		for(var i = 0; i < pairs.length; i++)
		{
			var pairs2 = pairs[i].split('=');
			
			switch(pairs2[0].toLowerCase())
			{
				case 'kbid':
					kbId = pairs2[1];
					break;
				case 'clearcookie':
					if (pairs2[1] == 1)
					{
						DeleteCookie("kbid");
					}
					break;
				case 'img':
					imgdata = pairs2[1];
					break;
				case 'sub':
					subdata = pairs2[1];
					break;
			}
		} //end for
	}//end if

	if (GetCookie("kbid") == null)
	{
		if (kbId != 0)
		{
			var img = new Image();
			var url = scriptLoc + '?id=' + kbId;
			if (imgdata != '')
			{
				url += '&img=' + imgdata
			}

			if (subdata != '')
			{
				url += '&sub=' + subdata
			}

			img.src = url;
			
			//SetCookie("kbid", kbId, 1);
		}
	}//end if
	
	function getCookieVal (offset) 
	{
		var endstr = document.cookie.indexOf (";", offset);
		if (endstr == -1)
			endstr = document.cookie.length;

		return unescape(document.cookie.substring(offset, endstr));
	}

	function GetCookie (name) 
	{
		var arg = name + "=";
		var alen = arg.length;
		var clen = document.cookie.length;
		var i = 0;
		
		while (i < clen) 
		{
			var j = i + alen;
			if (document.cookie.substring(i, j) == arg)
				return getCookieVal (j);
			
			i = document.cookie.indexOf(" ", i) + 1;

			if (i == 0) break; 
		}
		
		return null;
	}

	function WriteCookie (name, value, expires) 
	{
		var argv = SetCookie.arguments;
		var argc = SetCookie.arguments.length;
		var path = (argc > 3) ? argv[3] : null;
		var domain = (argc > 4) ? argv[4] : null;
		var secure = (argc > 5) ? argv[5] : false;
		
		var cookie = name + "=" + escape(value) +
			((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
			((path == null) ? "" : ("; path=" + path)) +
			((domain == null) ? "" : ("; domain=" + domain)) +
			((secure == true) ? "; secure" : "");
		
		document.cookie = cookie;
	}

	function DeleteCookie (name) 
	{
		var exp = new Date();
		exp.setTime (exp.getTime() - 1000000000);  // This cookie is history (changed -1 to make it previous time)
		var cval = GetCookie (name);
		document.cookie =name + "=" + cval + "; expires=" + exp.toGMTString();
	}

	function SetCookie(name, value, expiredays)
	{
		var expdate = new Date(); 
		expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * expiredays)); 
		WriteCookie(name, value, expdate);  
	}

//
// JAVASCRIPT LOGIC FOR Permalink - LSI Group.
//
function post2Url(url)
{
	var ThisUrl = location.protocol + "//" + location.hostname + location.pathname;

	var QPos = ThisUrl.indexOf("/Q/");
	var paramStr='';
	if( QPos > 0 )
	{
		 paramStr = ThisUrl.substr(QPos+3);
		paramStr = paramStr.replace("/", "&").replace(/\./g, "=");
	}
	
	tf1 = document.getElementById('permalinkForm');
	tf1.action = url;
	//alert( ThisUrl  + ' --- ' + url + '  ===  ' + paramStr + ' ~~~' + '* ' + tf1.action );
	tf1.submit();
}

// JAVASCRIPT LOGIC FOR PLAN COUNTER FUNCTIONALITY - LSI Group.
//

	function Validate(txtBox)
	{
		if(txtBox.value > 32767)
			{
				txtBox.value=32767;
			}
		updatePlanCount();
	}
	//function to call the ajax handler, to execute the getPlanCount() function in the webNiz AjaxContent.cs
	function updatePlanCount()
	{
		//adjust the URL depending on the page user is working on.
		//Has to Do this...to resolve the path for ajax call.
		//There is a difference in the path when Refine page is viewed from Quick search page and Full Search page.
		//localhost/dreamhomesource.com.2/house-plans-full-search.hwx/Q/searchId.100013904/range.10/pageView.2
		/*var ThisUrl=document.URL;
		var slashSplits = ThisUrl.split("/");
		var slStrCount =slashSplits.length - 5;
		var dhsUrl = "ajax/getplancount.hwx";

		for( var i = 0; i < slStrCount; i++ )
			dhsUrl = "../" + dhsUrl;
		*/
///get plan on sale counter
	            ///
	                   //    var plansUrl = SiteRoot + "ajax/plansonsale.hwx";
	                   //    var stg = "";
					       //$.ajax({type: "POST",
					                //url: plansUrl,
					                //data: stg,
					                //success: 
									$(document).ready(function(msg)
					                {
						                    //var pscnt =$('getplanonsalecount/PlansonsaleCount', msg).text();
						                var hdnPOSExist= getEl("hdnPlansOnSaleExist");
					                    if((hdnPOSExist!=null) && (hdnPOSExist!='undefined'))
					                    {
					                        if(hdnPOSExist.value.toLowerCase()=='false')
					                        {
					                            $("#PlansOnSale1").attr('disabled', 'disabled');
					                        }
					                        else
					                        {
					                           $("#PlansOnSale1").removeAttr('disabled');
					                        }
					                    }
						            }
					            
			                    );
         SelectCostToBuildType(); 	            
	            ///	     
	            ///	
		var ThisUrl = location.protocol + "//" + location.hostname + location.pathname;

		var hwxPos = ThisUrl.indexOf(".hwx");
		if( hwxPos > 0 )
		  ThisUrl = ThisUrl.substr(0,hwxPos);

		hwxPos = ThisUrl.lastIndexOf("/");
		ThisUrl = ThisUrl.substr(0,hwxPos);

		var dhsUrl = ThisUrl.toString() + "/ajax/getplancount.hwx";

		//collect the selected inputs in the PlanSearchForm and prepare the query string to send to the ajaxHandler
		var st="";
		var anum=/(^[0-9a-zA-Z,]+$)/;
		var elems = document.getElementById("PlanSearchForm").elements;
		for(var e=0;e< elems.length;e++)
		{
			if(elems[e].name!="" && elems[e].name!="undefined")
			{
				if((elems[e].type=="checkbox"||elems[e].type=="radio")&&(elems[e].checked==true))
				{
					if(st!=""){st+="&"}
						st += elems[e].name + "=" + elems[e].value;
				}
				if(elems[e].type=="text")
				{
					if(st!=""){st+="&"}
					
					var st1 = elems[e].value
					if(st1.length>6)
					{
						st1 = st1.toUpperCase();
					    if (st1=='ENTER MIN')
					    {
					        st1 = '0';
					    }
					    else if (st1=='ENTER MAX')
					    {
					        st1 = '0';
					    }
					    else if ((elems[e].name == "MinCostToBuild") || (elems[e].name == "MaxCostToBuild"))
					    { 
					        st1 = st1;
					    }
					    else
					    {
					     	st = 'Error';
						    break;
						}
					}
		
					st1 = st1.toUpperCase();
					if (st1=='MIN' || st1 =='MAX' || st1 == '' )
					{
					}
					else if (st1=='ENTER MIN' )
					{
					    st1 = '0';
					}
					else if (st1=='ENTER MAX')
					{
					    st1 = '0';
					}
					else
					{
						if(anum.test(st1))
						{
							st1 = st1.replace(/[^0-9]/g,'');
							if( st1.length == 0 )
							{
								st1 = '';
							}
							else
							{
								var num = Number(st1);
								if( num < 0 || num > 999999 )
								{ 
								    if ((elems[e].name == "MinCostToBuild") || (elems[e].name == "MaxCostToBuild"))
					                { 
					                    st1 = st1;
					                }
					                else
					                {
					     	            st = 'Error';
						                break;
						            }
								}
								else 
								{ 
									st1 = num.toString(); 
								}
							}
						}
						else
						{
							st = 'Error';
							break;
						}
					}

					st += elems[e].name + "=" + st1;
				}
				if(elems[e].type=="select-one")
				{ 
					if(st!=""){st+="&"}
					st += elems[e].name + "=" + elems[e].options[elems[e].selectedIndex].value;
				}	
			}
		}
		if(st=='Error')
		{
		    $("div[id='plansCount']").each(function() {
				this.innerHTML= "<h2>0</h2>";
			});
		}
		else
		{
			st=st+'&show-results=Search';
			//and finally call the ajaxHandler through the ajax Post call
			//and update the plansCount on the page with the planCount returned
			$.ajax({ type: "POST",
			    url: dhsUrl,
			    data: st,
			    success: function(msg) {
			    var pcnt = $('PlanCount', msg).text();

			    $("div[id='plansCount']").each(function() {
			            this.innerHTML = "<h2>" + pcnt + "</h2>";
			        });
			        //						$("span[@class=warningBlock]",document.forms["PlanSearchForm"]).each(function(){
			        //								this.innerHTML= "";
			        //						});
			    }
			});
		}
	}





//
// FUNCTION: OnPlanCounterDocumentReady
//
// INVOKED WHEN THE DOCUMENT READY EVENT FIRES.
//
function OnPlanCounterDocumentReady ()
{
	var dhsUrl = "";

	//when the page rendering completed, the code below is executed
	//and planCounter gets into action right away
	$(document).ready(function(){
		//Add the onClick event functions to the checkBox, Radio and Text inputs in the PlanSearchForm
		//so that, updatePlanCount function can be called for each of these inputs when the user changes selection
		$("input",document.forms["PlanSearchForm"]).each(function(){
			if(this.type=="checkbox"||this.type=="radio"){
				this.onclick =updatePlanCount;
			}
			if(this.type=="text")
			{
				this.onblur =updatePlanCount;
			}
		});
		
        $("#SelectMinCostToBuild").each(function(){
			this.onchange =updatePlanCount;
		});
		$("#SelectMaxCostToBuild").each(function(){
			this.onchange =updatePlanCount;
		});

		//$(PlanSearchForm).each(function(){
		//	updatePlanCount();
		//});
		
		//when the PlanSearchForm is rendered on screen,
		//call the function to update the page with appropriate value
		$("#PlanSearchForm").each(function(){
			updatePlanCount();
		});		
		
	});
}

	function readCookie(name)
	{
		var nameEQ = name + "=";
		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(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}


function SelectCostToBuildType()
{
    var elems = document.getElementById("PlanSearchForm").elements;
    $("#MinCostToBuild").attr('disabled', 'disabled');
    $("#MaxCostToBuild").attr('disabled', 'disabled');
	for(var e=0;e< elems.length;e++)
	{
		if(elems[e].name=="CostToBuildType" && elems[e].name!="undefined")
		{
			if((elems[e].type=="radio")&&(elems[e].checked==true))
			{
				if (elems[e].value == '1')
				{
				    $("#MinCostToBuild").attr('value','enter Min');
                    $("#MaxCostToBuild").attr('value','enter Max');
                    $("#MinCostToBuild").attr('disabled', 'disabled');
                    $("#MaxCostToBuild").attr('disabled', 'disabled');
                    $("#SelectMinCostToBuild" ).removeAttr('disabled'); 
                    $("#SelectMaxCostToBuild" ).removeAttr('disabled');
				}
				else
				{
				    $("#MinCostToBuild" ).removeAttr('disabled');
                    $("#MaxCostToBuild" ).removeAttr('disabled');
                    $("#SelectMinCostToBuild").val('00');
                    $("#SelectMaxCostToBuild").val('10000000');
                    $("#SelectMinCostToBuild").attr('disabled', 'disabled'); 
                    $("#SelectMaxCostToBuild").attr('disabled', 'disabled');
                }
                if($("#MinCostToBuild").val().toUpperCase()!='ENTER MIN')
	            {
	                validatecosttobuildtextboxes($("#MinCostToBuild"));
	            }
	            if($("#MaxCostToBuild").val().toUpperCase()!='ENTER MAX')
                {
                    validatecosttobuildtextboxes($("#MaxCostToBuild"));
                }
                if($("#MinCostToBuild").val().length > 9  || $("#MaxCostToBuild").val().length > 9 )
                {
                    alert(" Please enter valid minimum value and maximum value for Cost To Build. \n Value must be integer(0-9) and length should be less than 10.");
                    $("#MinCostToBuild").attr('value','enter Min');
                    $("#MaxCostToBuild").attr('value','enter Max');
                    return false;
                }					
			}
			else
			{
                $("#MinCostToBuild").attr('disabled', 'disabled');
                $("#MaxCostToBuild").attr('disabled', 'disabled');
			}			
		}		
	}
	if ( (Number($("#SelectMinCostToBuild").val()) > Number($("#SelectMaxCostToBuild").val())) && (Number($("#SelectMaxCostToBuild").val())>0))
    {
        alert(" Please select valid minimum value and maximum value for Cost To Build. \n Min Value should be less than Max Value.");
        $("#SelectMinCostToBuild").val('00');
        $("#SelectMaxCostToBuild").val('10000000');
        return false;
    }
    if ( (Number($("#MinCostToBuild").val()) > Number($("#MaxCostToBuild").val())) && (Number($("#MaxCostToBuild").val()>0)))
    {
        alert(" Please enter valid minimum value and maximum value for Cost To Build. \n Min Value should be less than Max Value. \n Value must be integer(0-9) and length should be less than 10.");
        $("#MinCostToBuild").attr('value','enter Min');
        $("#MaxCostToBuild").attr('value','enter Max');
        return false;
    }
}
function ResetCostToBuildType()
{
    $("#CostToBuildType").attr('checked','checked');
    $("#SelectMinCostToBuild").val('00');
    $("#SelectMaxCostToBuild").val('10000000');
    $("#SelectMinCostToBuild" ).removeAttr('disabled'); 
    $("#SelectMaxCostToBuild" ).removeAttr('disabled');
    $("#MinCostToBuild").attr('value','enter Min');
    $("#MaxCostToBuild").attr('value','enter Max');
    $("#MinCostToBuild").attr('disabled', 'disabled');
    $("#MaxCostToBuild").attr('disabled', 'disabled');		    
			 
	return false;	 
}
function validatecosttobuildtextboxes(textBox)
{
    var validNum='0123456789';
	var tbvalue = textBox.val();
	//alert(tbvalue);
    for(i =0 ; i< tbvalue.length; i++)
	{
	    if(validNum.indexOf(tbvalue.charAt(i)) <= -1 )
	    {
		    textBox.attr('value','0');
		}
	}
}










