
var g_sQuery;
var g_abUpdatedTabs = new Array();
var g_abResultsNavigation = new Array(); /* Holds Previous, Next, and Last Page Data for each Result Tab */
var g_sSelectedTab = "mls_window";
var asTabs = new Array("mls_window", "featured_window", "selected_window", "byowner_window", "updatemap_window", "quicksearch_window");
var g_clLastTab = null;
var g_sLastPropertiesTabSelected = "mls_window";
var g_bTabSwitching = "";
var g_sCalcLastChanged = null;
var g_clEmailRequest;
var g_sRequest;
var g_bPercentChanged = false;
var g_sSortText = "Lowest Price";
var g_clZipLabels = new Array();
var g_niZips = 0;


clZipIcon = new GIcon();
clZipIcon.image = '/pro-wide/zipbutton.png';
clZipIcon.iconSize = new GSize(68, 44);
clZipIcon.iconAnchor = new GPoint(34, 22);
clZipIcon.infoWindowAnchor = new GPoint(34, 22);

function PropertyTypeCodeToName(sCode)
{
    switch (sCode)
    {
    case 'S':
        return 'Single Family';
    case 'M':
        return 'Condominium';
    case 'B':
        return 'Mobile Home';
    }
}

function PropertyTypeNameToCode(sCode)
{
    switch (sCode)
    {
    case 'Single Family':
        return 'S';
    case 'Condominium':
        return 'M';
    case 'Mobile Home':
        return 'B';
    }
}

function Zillow_Toggle()
{
    var clId = document.getElementById("zillow_toggle");
    var clZillowContainer = document.getElementById("zillow_container");
    var clZillowNote = document.getElementById("zillow_note");
    var clZillow = document.getElementById("zillow");

    if (clId.innerHTML == "Hide Zillow")
    {
        clId.innerHTML = "Show Zillow";
        clZillowContainer.style.height = "0px";
        clZillow.style.height = "0px";
        clZillowNote.style.paddingTop = "0px";
        clZillowNote.style.fontSize = "0px";
        clZillowNote.innerHTML = "";
    }
    else
    {
        clId.innerHTML = "Hide Zillow";
        clZillowContainer.style.height = "120px";
        clZillow.style.height = "120px";
        clZillowNote.style.paddingTop = "13px";
        clZillowNote.style.fontSize = "7pt";
        clZillowNote.innerHTML = "Zillow Estimate History for Above Property";
    }
    
    map.checkResize();
}

function AddZipLabel(clMap, sZip, iIndex, bEnabled, clPoint)
{
    var markerOpts = {};
    markerOpts = {
        "icon": clZipIcon,
        "clickable": true,
        "labelText": sZip,
        "labelOffset": new GSize(-16, -8)
        };
    var newPoint = clPoint;
    var marker = new LabeledMarker(newPoint, markerOpts);
    
    
    marker.iZipIndex = iIndex;

    aZipsEnabled[iIndex] = bEnabled;
    
    GEvent.addListener(marker, "mousedown", function()
    {
        aZipsEnabled[marker.iZipIndex] = !aZipsEnabled[marker.iZipIndex];
        
        if (aZipsEnabled[marker.iZipIndex])
            marker.setImage('/pro-wide/zipbutton_mouseover.png');
        else
            marker.setImage('/pro-wide/zipbutton_unselected_mouseover.png');
    });

    GEvent.addListener(marker, "mouseover", function()
    {
        if (aZipsEnabled[marker.iZipIndex])
            marker.setImage('/pro-wide/zipbutton_mouseover.png');
        else
            marker.setImage('/pro-wide/zipbutton_unselected_mouseover.png');
    });

    GEvent.addListener(marker, "mouseout", function()
    {
        if (aZipsEnabled[marker.iZipIndex])
            marker.setImage('/pro-wide/zipbutton.png');
        else
            marker.setImage('/pro-wide/zipbutton_unselected.png');
    });
    
    clMap.addOverlay(marker);
    
    if (!bEnabled)
        marker.setImage('/pro-wide/zipbutton_unselected.png');

    g_clZipLabels[iIndex] = marker;
    
    g_niZips++;
}

function ZipMap_ZoomIn(clMap)
{
    var iZoom = clMap.getZoom();
    
    if (iZoom < clMap._maxZoom)
        iZoom++;
        
    clMap.setZoom(iZoom);
}

function ZipMap_ZoomOut(clMap)
{
    var iZoom = clMap.getZoom();

    if (iZoom > clMap._minZoom)
        iZoom--;
    
    clMap.setZoom(iZoom);
}

function ZipMap_SelectZipsFromText(sText)
{
    var i, ii;
    
    if (!sText.trim().length)
    {
        alert("To use this feature, type in a comma seperated list of zip codes and press enter..");
        return 0;
    }
    
    sText = sText.replace(" ", ",");
    sText = sText.replace(".", ",");
    sText = sText.replace(";", ",");
    
    var asZips = sText.split(",");
    
    for (i = 0; i < g_niZips; i++)
    {
        for (ii = 0; ii < asZips.length; ii++)
        {
            if (parseInt(asZips[ii]) == aZipCodes[i])
            {
                g_clZipLabels[i].setImage('/pro-wide/zipbutton.png');
                aZipsEnabled[i] = 1;
                break;
            }
        }
        
        if (ii == asZips.length)
        {
            g_clZipLabels[i].setImage('/pro-wide/zipbutton_unselected.png');
            aZipsEnabled[i] = 0;
        }
    }
}

function ZipMap_SetDefaults()
{
    var i;
    
    for (i = 0; i < g_niZips; i++)
    {
        if (g_aiZipDefaultStates[i])
            g_clZipLabels[i].setImage('/pro-wide/zipbutton.png');
        else
            g_clZipLabels[i].setImage('/pro-wide/zipbutton_unselected.png');
            
        aZipsEnabled[i] = g_aiZipDefaultStates[i];
    }
}

function ZipMap_SelectAll()
{
    var i;
    
    for (i = 0; i < g_niZips; i++)
    {
        g_clZipLabels[i].setImage('/pro-wide/zipbutton.png');
        aZipsEnabled[i] = 1;
    }
}

function ZipMap_ClearAll()
{
    var i;
    
    for (i = 0; i < g_niZips; i++)
    {
        g_clZipLabels[i].setImage('/pro-wide/zipbutton_unselected.png');
        aZipsEnabled[i] = 0;
    }
}

function SwitchToTab_PerformAction(sTab)
{
	var sRequest = "";
	
	if (sTab == "zipcodemap_window")
	{
		document.getElementById("zipcodemap_window").style.visibility = 'visible';
		return;
	}
	else
		document.getElementById("zipcodemap_window").style.visibility = 'hidden';
	
	if (g_bLoadingProperties)
	    return;
	
	if (sTab == "zipcodemap_window" || sTab == "quicksearch_window")
	    document.getElementById("refresh_results").style.visibility = 'visible';
	else
	    document.getElementById("refresh_results").style.visibility = 'hidden';
	
    /* If switching to new results, clear out old results first */
	switch (sTab)
	{
	case "mls_window":
	case "byowner_window":
	case "selected_window":
	case "featured_window":
		g_sLastPropertiesTabSelected = sTab;
	    ClearElement(document.getElementById(sTab));
		break;
	}
	
	for (var i = 0; i < asTabs.length; i++)
	{
		if (asTabs[i] != sTab)
		{
			document.getElementById(asTabs[i]).style.visibility = 'hidden';
			
			if (asTabs[i] == "quicksearch_window")
				document.getElementById(asTabs[i] + '_tab').className = 'tab_unselected_mod';
			else
				document.getElementById(asTabs[i] + '_tab').className = 'tab_unselected';				
		}
		else
		{
			document.getElementById(asTabs[i]).style.visibility = 'visible';
			
			if (asTabs[i] == "quicksearch_window")
				document.getElementById(asTabs[i] + '_tab').className = 'tab_selected_mod';
			else
				document.getElementById(asTabs[i] + '_tab').className = 'tab_selected';
		}
	}
	
	switch (sTab)
	{
	case "mls_window":
	
		if (g_abUpdatedTabs['mls'] != 1)
		{
			g_abUpdatedTabs['mls'] = 1;
			sRequest = "./idx_search.php?";
		}
		
		break;
		
	case "byowner_window":
	
		if (g_abUpdatedTabs['byowner'] != 1)
		{
			g_abUpdatedTabs['byowner'] = 1;
			sRequest = "./idx_search.php?fsbo=1&";
		}
		
		break;

	case "selected_window":
	
		if (g_abUpdatedTabs['selected'] != 1)
		{
			g_abUpdatedTabs['selected'] = 1;
			sRequest = "./idx_search.php?selected=1&";
		}
		
		break;
		
	case "featured_window":
		if (g_abUpdatedTabs['featured'] != 1)
		{
			g_abUpdatedTabs['featured'] = 1;
			sRequest = "./idx_search.php?featured=1&";
		}
		break;
		
	case "quicksearch_window":
	}
	
	g_sSelectedTab = sTab;
	
	if (sTab == "zipcodemap_window")
	{
	    zipcodemap.checkResize();
	    zipcodemap.setCenter(new GLatLng(28.80, -81.73), 13);
	    zipcodemap.setZoom(11);	
	}
	
	g_sRequest = sRequest;
	
	if (sRequest.length)
	{
	    UpdateSearchQuery();

		LoadResults(sRequest + g_sQuery, document.getElementById(sTab));
	}
}



function TabFadeOut(sTab)
{
    var fOpacity = document.getElementById(sTab).style.opacity;
    
    fOpacity -= 0.1;
    
    if (fOpacity <= 0)
    {
        document.getElementById(sTab).style.opacity = 0.0;
        setTimeout("SwitchToTab_PerformAction('" + sTab + "')", 100);
    }
    else
    {
        document.getElementById(sTab).style.opacity = fOpacity;
        setTimeout("TabFadeOut('" + sTab + "')", 100);
    }
}

function SwitchToTab(sTab)
{
    setTimeout("SwitchToTab_PerformAction('" + sTab + "')", 1);
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}


function CheckForReturn(e)
{
    var keynum;
    
    if(window.event)
    {
        keynum = e.keyCode;
    }
    else if(e.which)
    {
        keynum = e.which;
    }
    
    if (keynum == 13)
    {
        void(0);
    }
    
    return (keynum == 13);
}













var g_iClassSwitch = 0;

function CustomZoom()
{
}

CustomZoom.prototype = new GControl();

CustomZoom.prototype.initialize = function(map)
{
	var clCustomZoom = document.createElement("div");
	var clZoomIn = document.createElement("a");
	var clZoomOut = document.createElement("a");
	var sZoomInClass;
	var sZoomOutClass;
	
	if (g_iClassSwitch)
	{
	    sZoomInClass = "gmap_customzoom_zoomin";
	    sZoomOutClass = "gmap_customzoom_zoomout";
		
		var clGoBack = document.createElement("a");
		clGoBack.className = "gmap_goback";
		clGoBack.href = "javascript:void(0)";
		clGoBack.onclick = function()
		{
			document.getElementById("zipcodemap_window").style.visibility = 'hidden';
		};
		
		clCustomZoom.appendChild(clGoBack);
	}
	else
	{
	    sZoomInClass = "gmap_customzoom_zoomin_small";
	    sZoomOutClass = "gmap_customzoom_zoomout_small";
	}
	    
	clCustomZoom.className = "gmap_customzoom";
	
	clZoomIn.className = sZoomInClass;
	clZoomIn.href = "javascript:void(0)";
	clZoomIn.onclick = function()
	{
	    ZipMap_ZoomIn(map);
	};
	
	clZoomOut.className = sZoomOutClass;
	clZoomOut.href = "javascript:void(0)";
	clZoomOut.onclick = function()
	{
	    ZipMap_ZoomOut(map);
	};
	
	g_iClassSwitch++;
	
	
	clCustomZoom.appendChild(clZoomIn);
	clCustomZoom.appendChild(clZoomOut);

	map.getContainer().appendChild(clCustomZoom);
	
	return clCustomZoom;
}

CustomZoom.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0, 30));
}

CustomZoom.prototype.printable = function()
{
	return false;
}














function ZipPanel()
{
}

ZipPanel.prototype = new GControl();

ZipPanel.prototype.initialize = function(map)
{
	var clZipPanel = document.createElement("div");
	var clForm = document.createElement("div");
	var clLabel = document.createElement("div");
	var clTextBox = document.createElement("input");
	var clUpdateMap = document.createElement("a");
	var clSetDefaults = document.createElement("a");
	var clClearAll = document.createElement("a");
	var clSelectAll = document.createElement("a");
	
	clZipPanel.className = "gmap_zippanel";
	
	clForm.className = "gmap_zippanel_form";
    
	clUpdateMap.className = "gmap_zippanel_updatemap";
	clUpdateMap.appendChild(document.createTextNode("Update Zips"));
	
	
	clUpdateMap.onclick =
	    function(e)
	    {
            ZipMap_SelectZipsFromText(document.getElementById("zipcodemap_ziptext").value);
            return 1;
	    };
	    
	clUpdateMap.href = "javascript:void(0)";
	
	clSetDefaults.className = "gmap_zippanel_setdefaults";
	clSetDefaults.appendChild(document.createTextNode("Load Defaults"));
	clSetDefaults.onclick = new Function("ZipMap_SetDefaults()");
	clSetDefaults.href = "javascript:void(0)";
	
	clSelectAll.className = "gmap_zippanel_selectall";
	clSelectAll.appendChild(document.createTextNode("Select All"));
	clSelectAll.onclick = new Function("ZipMap_SelectAll()");
	clSelectAll.href = "javascript:void(0)";
	
	clClearAll.className = "gmap_zippanel_clearall";
	clClearAll.appendChild(document.createTextNode("Clear All"));
	clClearAll.onclick = new Function("ZipMap_ClearAll()");
	clClearAll.href = "javascript:void(0)";
	
	clLabel.className = "gmap_zippanel_label";
	clLabel.appendChild(document.createTextNode("Type Zip Code(s)"));
	
	clTextBox.className = "gmap_zippanel_textbox";
	clTextBox.id = "zipcodemap_ziptext";
	//clTextBox.onkeypress = new Function("if (CheckForReturn(event)) { ZipMap_SelectZipsFromText(document.gmap_zippanel.zipcodemap_ziptext.value); return false; } ");
	clTextBox.onkeypress =
	    function(e)
	    {
            e = e||window.event;
            
            if (CheckForReturn(e))
            {
                ZipMap_SelectZipsFromText(document.getElementById("zipcodemap_ziptext").value);
                return 0;
            }
            
            return 1;
	    };
	    
	clForm.appendChild(clLabel);
	clForm.appendChild(clTextBox);
	clForm.appendChild(clUpdateMap);
	clForm.appendChild(clSetDefaults);
	clForm.appendChild(clSelectAll);
	clForm.appendChild(clClearAll);
	
	clZipPanel.appendChild(clForm);

	map.getContainer().appendChild(clZipPanel);
	return clZipPanel;
}

ZipPanel.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(4, 4));
}

ZipPanel.prototype.printable = function()
{
	return false;
}



function LoadingControl(sText) {
    this.customtext = sText;
}

LoadingControl.prototype = new GControl();

LoadingControl.prototype.initialize = function(map)
{
	var parentDiv = document.createElement("div");
	var textDiv = document.createElement("div");
	  
	parentDiv.className = "gmap_loading_overlay";
	textDiv.appendChild(document.createTextNode(this.customtext));
	parentDiv.appendChild(textDiv);

	map.getContainer().appendChild(parentDiv);
	return parentDiv;
}

LoadingControl.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0, 0));
}

LoadingControl.prototype.printable = function()
{
	return false;
}

function FormatUSD(sInput)
{
    sInput = Math.round(parseFloat(sInput)).toString();
    
	var iPos;
	var sAfter = '';
	var iDecimalStart = sInput.indexOf('.');
	var sReturn = '';
	
	if (sInput.length == 0)
	{
		sInput = "0.00";
		iDecimalStart = 1;
	}
	else
	if (iDecimalStart == -1)
	{
		sInput += '.00';
		iDecimalStart = sInput.indexOf('.');
	}
	else
	{
		sAfter = sInput.substr(iDecimalStart + 1);
		
		if (sAfter.length < 2)
			for (i = 0; i < (2 - sAfter.length); i++)
				sAfter += '0';
		else if (sAfter.length > 2)
			sAfter = sAfter.substr(0, 2);
		
		sInput = sInput.substr(0, iDecimalStart) + '.' + sAfter;
		iDecimalStart = sInput.indexOf('.');
	}
	
	iPos = 0;
	
	for (i = iDecimalStart - 1; i >= 0; i--)
	{
		if (sInput.charCodeAt(i) >= '0'.charCodeAt(0) && sInput.charCodeAt(i) <= '9'.charCodeAt(0))
		{
			if (iPos >= 3)
			{
				iPos = 0;
				sReturn = ',' + sReturn;
			}
			
			iPos++;
			
			sReturn = sInput.charAt(i) + sReturn;
		}
	}
	
	sReturn = '$' + sReturn;
	
	return sReturn;
}

function GetAmount(sString)
{
	var i;
	var sReturn = "";
	
	for (i = 0; i < sString.length; i++)
	{
		if ((sString.charCodeAt(i) >= '0'.charCodeAt(0) && sString.charCodeAt(i) <= '9'.charCodeAt(0)) ||
			(sString.charCodeAt(i) == '.'.charCodeAt(0)))
			sReturn += sString.charAt(i);
	}
	
	return parseFloat(sReturn);
}

function RoundUp(iValue)
{
    return (iValue / 100) * 100;
}

function Calculate()
{			
	var iAmount = GetAmount(document.mortgagecalc.amount.value); /* $100,000 */
	var iPercentDown;
	var iInterestRate = GetAmount(document.mortgagecalc.interestrate.value) / 100; /* 6.00% */
	var iYears = GetAmount(document.mortgagecalc.years.value); /* 10 Years */
	var niMonths = iYears * 12;
	var iLeft;
	var fMonthlyInterest = iInterestRate / 12;
	var iPerMonth;
	var iAmountDown;
	
	
	/* If Amount Down is given, Calculate Percentage from it */
	if ((document.mortgagecalc.amountdown.value.length != 0) && !g_bPercentChanged)
	{
	    iAmountDown = GetAmount(document.mortgagecalc.amountdown.value);
	    
	    iPercentDown = GetAmount(document.mortgagecalc.amountdown.value) / iAmount;		    
		document.mortgagecalc.percentdown.value = (Math.round((iPercentDown * 100.0) * 100.0) / 100.0).toString() + '%';
	}
	else
	{ 
	    iPercentDown = GetAmount(document.mortgagecalc.percentdown.value) / 100; /* 10% */
	    iAmountDown = GetAmount(document.mortgagecalc.amount.value) * iPercentDown;
	    
	    document.mortgagecalc.amountdown.value = FormatUSD(iAmountDown.toString());
	}
			
	iLeft = iAmount * (1.0 - iPercentDown);
	iPerMonth = iLeft * (fMonthlyInterest / (1 - Math.pow(fMonthlyInterest + 1, -niMonths)));
	
	if (g_sCalcLastChanged != "mortgage_permonth")
	{
	    document.mortgagecalc.mortgage_permonth.value = FormatUSD((Math.round(iPerMonth * 100) / 100).toString()) + '/mo';
	}
	else
	{
	    /* Test -- Get Total Cost from Monthly Cost */
	    iPerMonth = GetAmount(document.mortgagecalc.mortgage_permonth.value);
	    iAmount = (iPerMonth / (fMonthlyInterest / (1 - Math.pow(fMonthlyInterest + 1, -niMonths)))) + iAmountDown;
	    document.mortgagecalc.amount.value = FormatUSD(iAmount.toString());
	    
	    iPercentDown = GetAmount(document.mortgagecalc.amountdown.value) / iAmount;		    
		document.mortgagecalc.percentdown.value = (Math.round((iPercentDown * 100.0) * 100.0) / 100.0).toString() + '%';
			    
	    iLeft = iAmount - iAmountDown;
	}
	
	document.mortgagecalc.financed.value = FormatUSD(iLeft.toString());
	
	//g_bPercentChanged = false;
}

function close_slideout(sId)
{
    var clElement = document.getElementById(sId);
    
    if (clElement._timer)
    {
        clElement._timer = 0;
        clElement.style.visibility = 'hidden';
    }
}

function showAddress(sAddress, sCityState, clLast, clElement, sMLS)
{
    var clHolder;
    var clLastHolder;
	
	map.removeControl(clNotFound);
	map.addControl(clCustomControl);
	
	if (clLast)
	{
		clLast.className = "property_listing_unselected";
	}
	
	if (clElement)
	    clElement.className = "property_listing_selected";
	
	if (geocoder)
	{
		geocoder.getLatLng(
			sAddress,
			function(point)
			{
				if (point)
				{
					map.setCenter(point, 13);
					var clMarkerOptions = new Object();

					var clIcon = new GIcon();
					clIcon.image = "/arrow.png";
					clIcon.iconSize = new GSize(32, 29);
					
					//clIcon.shadow = "/arrow.png";
					//clIcon.shadowSize = new GSize(32, 32);
					clIcon.iconAnchor = new GPoint(16, 14);
					clIcon.infoWindowAnchor = new GPoint(15, 15);
					
					clMarkerOptions.icon = clIcon;
					clMarkerOptions.clickable = false;
					clMarkerOptions.title = '';
					
					var marker = new GMarker(point, clMarkerOptions);
					
					map.clearOverlays();
					map.addOverlay(marker);
					map.setZoom(17);
					map.setMapType(G_HYBRID_MAP);
				}
				else
				{
				    //alert('Not found');
				    map.clearOverlays();
					map.addControl(clNotFound);
				}

				map.removeControl(clCustomControl);
			}
		);
	}
}
    
function ComputeMD5(input, prehash, output)
{
    var hash = hex_md5(input.value);
    output.value = hex_md5(prehash + hash);
}
    
function GotoNextImage(iIndex)
{
	var iSelected =  g_aPropertyImageViews[g_sSelectedTab][iIndex].iSelected + 1;
	
	if (iSelected >=  g_aPropertyImageViews[g_sSelectedTab][iIndex].aImages.length)
		iSelected = 0;
		
    //document.getElementById('thumbnail' + iIndex + '_' + (iSelected + 1)).style.border = '1px solid blue';
    var sThumbnail = 'thumbnail' + iIndex + '_' + (iSelected + 1);
    var clThumbnail = document.getElementById(sThumbnail);
    
	SwitchToImage(clThumbnail, iIndex, iSelected);
			
    //g_aPropertyImageViews[g_sSelectedTab][iIndex].NextImage();
}

function ExpandImage(iIndex)
{
	//if (! g_aPropertyImageViews[g_sSelectedTab][iIndex].ValidateTransition())
	//	return;
	
	 g_aPropertyImageViews[g_sSelectedTab][iIndex].ExpandImage();
}

function MouseLeave()
{
    g_clPropertyMouseOver = 0;
}

function SwitchToImage(hButton, iImageIndex, iThumbnail)
{
	var clContainer = document.getElementById("thumbnailholder" + iImageIndex);
	
	if (!clContainer)
		return;
		
	if (! g_aPropertyImageViews[g_sSelectedTab][iImageIndex].ValidateTransition())
		return;
		
	if (!clContainer._SelectedImage)
		clContainer._SelectedImage = document.getElementById("thumbnail" + iImageIndex + "_1");
		
	if (clContainer._SelectedImage)
	{
		if (clContainer._SelectedImage == hButton)
			return;
		
		clContainer._SelectedImage.className = 'numericthumbnail';
	}
	
	 g_aPropertyImageViews[g_sSelectedTab][iImageIndex].iSelected = iThumbnail;
	 g_aPropertyImageViews[g_sSelectedTab][iImageIndex].UpdateImage();
	
	clContainer._SelectedImage = hButton;
	hButton.className = 'numericthumbnail_highlighted';
}


function FormatYesNo(iValue)
{
    switch (iValue)
    {
    case 0:
        return "Any";
    case 1:
        return "No";
    case 2:
        return "Yes";
    default:
        return "";
    }
}

function FormatYesNo_Reverse(sValue)
{
    switch (sValue)
    {
    case "Any":
        return 0;
    case "No":
        return 1;
    case "Yes":
        return 2;
    default:
        return 0;
    }
}

function FormatAny(iValue)
{
    if (iValue <= 0)
        return "Any";
        
    return iValue.toString();
}

function FormatAnyFt(iValue)
{
    if (iValue <= 0)
        return "Any";
        
    return iValue.toString() + "ft";
}


function FormatExterior(iValue)
{
    switch (iValue)
    {
    case 0: return 'Any';
    case 1: return 'Brick';
	//case 2: return 'Stucco/Brick';
	//case 3: return 'Cedar Siding';
	//case 4: return 'Wood Siding';
	case 2: return 'Concrete/Stucco';
	//case 6: return 'Frame/Brick';
	//case 7: return 'Frame/Stone';
	//case 8: return 'Frame/Stucco';
	//case 9: return 'Log';
	//case 10: return 'Modular';
	case 3: return 'Stone';
	case 4: return 'Stucco';
	//case 13: return 'Frame';
	//case 14: return 'Vinyl';
	//case 15: return 'Brick accent';
	//case 16: return 'Masonite siding';
	}
}

function FormatExterior_Reverse(iValue)
{
    switch (iValue)
    {
    case 'Any': return 0;
    case 'Brick': return 1;
	//case 'Stucco/Brick': return 2;
	//case 'Cedar Siding': return 3;
	//case 'Wood Siding': return 4;
	case 'Concrete/Stucco': return 2;
	//case 'Frame/Brick': return 6;
	//case 'Frame/Stone': return 7;
	//case 'Frame/Stucco': return 8;
	//case 'Log': return 9;
	//case 'Modular': return 10;
	case 'Stone': return 3;
	case 'Stucco': return 4;
	//case 'Frame': return 13;
	//case 'Vinyl': return 14;
	//case 'Brick accent': return 15;
	//case 'Masonite siding': return 16;
	}
}

function ExteriorCount()
{
    return 5;
}


var g_sName, g_sThis, g_iArrowTimer = 0, g_biArrowIncrement, g_iFirstIteration = true;

function updatesearch_timer_increment()
{
    var iDelay;
    
    if (g_iFirstIteration)
    {
        iDelay = 400;
        g_iFirstIteration = false;
    }
    else
        iDelay = 100;
        
    if (g_biArrowIncrement)
        updatesearch_increment(g_sName, g_sThis);
    else
        updatesearch_decrement(g_sName, g_sThis);
    
    g_iArrowTimer = setTimeout('updatesearch_timer_increment()', iDelay);
}

function updatesearch_timer_disable()
{
    clearTimeout(g_iArrowTimer);
    g_iArrowTimer = 0;
    
    g_iFirstIteration = true;
}

function updatesearch_timer_start(sName, sThis)
{
    updatesearch_timer_disable();
    g_biArrowIncrement = sThis.indexOf('arrowup') != -1;
    
    g_sName = sName;
    g_sThis = sThis;
    
    g_iArrowTimer = setTimeout('updatesearch_timer_increment()', 0);
}

var req;

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
        } else {
          /*  alert("There was a problem retrieving the XML data:\n" +
                req.statusText);*/
        }
    }
}

function loadXMLDoc(url) {
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		req.send("var=1");
	}
}

var g_clCanvas;
var clRequest;

function createField(iWidth, sName, sValue)
{
    /* Create Field Container */
    clFieldContainer = document.createElement("div");
    clFieldContainer.className = "field_container";
    clFieldContainer.style.width = iWidth.toString() + "px";
    
    clLightText = document.createElement("div");
    clLightText.className = "light_text";
    clLightText.appendChild(document.createTextNode(sName + ":"));
    
    /* Add Field Name */
    clFieldContainer.appendChild(clLightText);

    clValue = document.createElement("div");
    clValue.className = "text_value";
    clValue.appendChild(document.createTextNode(sValue));
    
    /* Add Value */
    clFieldContainer.appendChild(clValue);
    
    return clFieldContainer;
}


function Results_GotoFirst()
{
    if (!g_abResultsNavigation[g_sSelectedTab])
        return;
        
    g_abUpdatedTabs[g_sSelectedTab] = 0;
    g_abResultsNavigation[g_sSelectedTab]['Start'] = 1;
    
    SwitchToTab(g_sSelectedTab);
}

function Results_GotoPrev()
{
    if (!g_abResultsNavigation[g_sSelectedTab])
        return;
        
    g_abUpdatedTabs[g_sSelectedTab] = 0;
    g_abResultsNavigation[g_sSelectedTab]['Start'] = g_abResultsNavigation[g_sSelectedTab]['Prev'];
    
    SwitchToTab(g_sSelectedTab);
}

function Results_GotoNext()
{
    if (!g_abResultsNavigation[g_sSelectedTab])
        return;
        
    g_abUpdatedTabs[g_sSelectedTab] = 0;
    g_abResultsNavigation[g_sSelectedTab]['Start'] = g_abResultsNavigation[g_sSelectedTab]['Next'];
    
    SwitchToTab(g_sSelectedTab);
}

function Results_GotoLast()
{
    if (!g_abResultsNavigation[g_sSelectedTab])
        return;
        
    g_abUpdatedTabs[g_sSelectedTab] = 0;
    g_abResultsNavigation[g_sSelectedTab]['Start'] = g_abResultsNavigation[g_sSelectedTab]['Last'];
    
    SwitchToTab(g_sSelectedTab);
}

function ClearElement(clSup)
{
    if (!clSup)
        return;
     
    if (clSup.hasChildNodes())
    {
        while (clSup.childNodes.length)
            clSup.removeChild(clSup.firstChild);
    }
}

function addslashes(str)
{
    str=str.replace(/\'/g,'\\\'');
    str=str.replace(/\"/g,'\\"');

    return str;
}

function stripslashes(str)
{
    str=str.replace(/\\'/g,'\'');
    str=str.replace(/\\"/g,'"');
    
    return str;
}

function PrintResults()
{
    var clPrintResults = window.open(g_sRequest + 'print=1&' + g_sQuery, 'results_print', 'scrollbars=yes,toolbar=yes,menubar=yes,width=744,height=500');
    clPrintResults.focus();
}

function EMailResults_ShowWindow()
{
    document.getElementById("email_popup").style.visibility = 'visible';
}

function ClearSaved()
{
    loadXMLDoc("/save.php?clear=1");
	
     if (g_clLastTab)
		ClearElement(g_clLastTab);
		
	alert("Your saved results have been cleared.");
}

function EMailResults_Close()
{
    document.getElementById("email_popup").style.visibility = 'hidden';
}

function EMailResults_Send()
{
    var sEMail = document.getElementById("email").value;
    var sName = document.getElementById("name").value;
    var sPhone = document.getElementById("phone").value;
    
    /*if (sName.trim().length == 0)
    {
        alert("Please let us know your name.  Thank you.");
        return;
    }*/
    
    if (sEMail.trim().length == 0)
    {
        alert("Please let us know your E-Mail address.  Thank you.");
        return;
    }
    
    /*if (sPhone.trim().length == 0)
    {
        alert("Please let us know your phone number.  Thank you.");
        return;
    }*/

    EMailResults_XMLRequest(g_sRequest + 'print=1&email=1&email_to=' + sEMail + '&email_name=' + sName + '&email_phone=' + sPhone + '&' + g_sQuery);
    
    document.getElementById("email_popup").style.visibility = 'hidden';
}

function Sort_ShowPopup()
{
    var clPopup = document.getElementById("sort_popup");
    
    clPopup.style.top = '205px';
    clPopup.style.left = '637px';
    clPopup.style.visibility = 'visible';
}

function Sort_ClosePopup()
{
    var clPopup = document.getElementById("sort_popup");
    
    if (!clPopup._timer)
        return;
    
    clPopup.style.visibility = 'hidden';
}

function Sort_ClickItem(sItem)
{
    var clPopup = document.getElementById("sort_popup");
    clPopup.style.visibility = 'hidden';
    
    g_sSortText = sItem;
    
    document.getElementById("sort_button").innerHTML = g_sSortText;
    
    SwitchToTab(g_sSelectedTab);
}

var clEMailResults_XMLResult = null;

function EMailResults_AsyncResult()
{
    if (clEMailResults_XMLResult.readyState == 4)
    {
        if (clEMailResults_XMLResult.status == 200)
        {
            /*var clXML = clEMailResults_XMLResult.responseXML;
            var clEMailResult = clXML.getElementsByTagName("EMailResult")[0];

            if (clEMailResult)
                var sResult = clEMailResult.getAttribute("Result");*/
        }
    }
}

function EMailResults_XMLRequest(url)
{
	clEMailResults_XMLResult = false;
	
    if(window.XMLHttpRequest && !(window.ActiveXObject))
    {
    	try
    	{
			clEMailResults_XMLResult = new XMLHttpRequest();
        }
        catch(e)
        {
			clEMailResults_XMLResult = false;
        }
    }
    else if (window.ActiveXObject)
    {
       	try
       	{
        	clEMailResults_XMLResult = new ActiveXObject("Msxml2.XMLHTTP");
      	}
      	catch(e)
      	{
        	try
        	{
          		clEMailResults_XMLResult = new ActiveXObject("Microsoft.XMLHTTP");
        	}
        	catch(e)
        	{
          		clEMailResults_XMLResult = false;
        	}
		}
    }
    
	if (clEMailResults_XMLResult)
	{
		clEMailResults_XMLResult.onreadystatechange = EMailResults_AsyncResult;
		clEMailResults_XMLResult.open("POST", url, true);
		clEMailResults_XMLResult.send("var=1");
	}
}


function ResultStatus()
{
    if (clRequest.readyState == 4)
    {
        if (clRequest.status == 200)
        {
            g_bLoadingProperties = false;

            g_clCanvas = document.getElementById(g_sSelectedTab);
            
            if (g_clLastTab)
                ClearElement(g_clLastTab);

            g_clLastTab = g_clCanvas;
            iLast = -1;
			
            /* Get XML and go through all properties in the request */
            var clXML = clRequest.responseXML;
   
			if (clXML)
			{
				var clInfo = clXML.getElementsByTagName("Results")[0];
				var clResults = clXML.getElementsByTagName("Result");
            }
			else
				var clInfo = null;
			
            if (clInfo)
            {
                var sTotal = clInfo.getAttribute("Total");
                var bFSBO = parseInt(clInfo.getAttribute("FSBO"));
                var sText = "";
                var niProperties = 0;
                var sZillow = "X1-ZWz1ck3ou6vzt7_8clop";
                var sStart = clInfo.getAttribute("Start");
                var sEnd = clInfo.getAttribute("End");
                var sLast = clInfo.getAttribute("Last");
                var sPrev = clInfo.getAttribute("Prev");
                var sNext = clInfo.getAttribute("Next");
                var sPageSize = clInfo.getAttribute("Page");
            }
            else
                var sTotal = "0";
            
 		    clContainer = document.createElement("div");
		    clContainer.id = "xml_results";
		    clContainer.className = "xml_results";
		    
            if (parseInt(sTotal) == 0)
            {
                clError = document.createElement("div");
		        clError.className = "search_error";
		        clError.innerHTML = 'Your search did not return any results.  However, you may <a href="javascript:void(0)" onclick="SwitchToTab(\'quicksearch_window\')">modify the terms</a> and try another search.';
		        
				g_abResultsNavigation[g_sSelectedTab] = new Array();
				g_abResultsNavigation[g_sSelectedTab]['Start'] = 1;
				g_abResultsNavigation[g_sSelectedTab]['Last'] = 1;
				g_abResultsNavigation[g_sSelectedTab]['Prev'] = 0;
				g_abResultsNavigation[g_sSelectedTab]['Next'] = 0;
		        
		        clContainer.appendChild(clError);
		        
		        g_clCanvas.appendChild(clContainer);
		        g_clCanvas.scrollTop = 0;
                return;
            }

            g_niPropertyImages[g_sSelectedTab] = 0;
            
            g_aPropertyImageViews[g_sSelectedTab] = new Array();
            g_niPropertyImages[g_sSelectedTab] = 0;
            g_bAgents = false;
            
            g_sImageRoot = "/idxsource/images/";
		    
            clHeading = document.createElement("div");
		    clHeading.className = "results_heading";
		    clHeading.appendChild(document.createTextNode("Displaying Results " + sStart + "-" + sEnd + " out of " + sTotal));
		    
		    /* Set Navigation Data for the Navigation Buttons */
		    g_abResultsNavigation[g_sSelectedTab] = new Array();
		    g_abResultsNavigation[g_sSelectedTab]['Start'] = parseInt(sStart);
		    g_abResultsNavigation[g_sSelectedTab]['Last'] = parseInt(sLast);
		    g_abResultsNavigation[g_sSelectedTab]['Prev'] = parseInt(sPrev) + 1;
		    g_abResultsNavigation[g_sSelectedTab]['Next'] = parseInt(sNext) + 1;
		    
		    var clNavButtons = document.createElement("div");
		    clNavButtons.className = "results_navigation";
		    
		    if ((parseInt(sStart) - 1) > 0)
		    {
		        clFirst = document.createElement("a");
		        clPrevious = document.createElement("a");
		        clFirst.href = "javascript: Results_GotoFirst()";
		        clPrevious.href = "javascript: Results_GotoPrev()";
		    }
		    else
		    {
		        clFirst = document.createElement("div");
		        clPrevious = document.createElement("div");
		    }
		    
	        clFirst.className = "results_navigation_first";
            clFirst.appendChild(document.createTextNode("First"));
            
	        clPrevious.className = "results_navigation_prev";
	        clPrevious.appendChild(document.createTextNode("Prev"));
	        
    		if (parseInt(sEnd) != parseInt(sTotal))
    		{
		        clNext = document.createElement("a");
		        clLast = document.createElement("a");
		       
		        clNext.href = "javascript: Results_GotoNext()";
		        clLast.href = "javascript: Results_GotoLast()";
		    }
		    else
		    {
		        clNext = document.createElement("div");
		        clLast = document.createElement("div");
		    }
 
	        clNext.className = "results_navigation_next";
	        clLast.className = "results_navigation_last";
	        clNext.appendChild(document.createTextNode("Next"));
	        clLast.appendChild(document.createTextNode("Last"));

		    if (clFirst)
		        clNavButtons.appendChild(clFirst);
		    if (clPrevious)
                clNavButtons.appendChild(clPrevious);
            if (clNext)
		        clNavButtons.appendChild(clNext);
		    if (clLast)
                clNavButtons.appendChild(clLast);
		    
		    
		    /* Add Heading and Navigation */
		    clContainer.appendChild(clHeading);
		    clContainer.appendChild(clNavButtons);
		    
	        /* Add Break */
	        clBreak = document.createElement("br");
	        clBreak.style.clear = "both";
	        clContainer.appendChild(clBreak);
	        
	        /* Create Blue Bar */
	        clBlueBar = document.createElement("div");
		    clBlueBar.className = "blue_bar";
	        clBlueBar_Left = document.createElement("div");
		    clBlueBar_Left.className = "blue_bar_left";    
	        clBlueBar_Right = document.createElement("div");
		    clBlueBar_Right.className = "blue_bar_right";
	        clBlueBar_Padding = document.createElement("div");
		    clBlueBar_Padding.className = "blue_bar_padding";
		    
		    clBlueBar_Right.appendChild(clBlueBar_Padding);
		    clBlueBar_Left.appendChild(clBlueBar_Right);
		    clBlueBar.appendChild(clBlueBar_Left);
		    
		    /* Print */
		    clPrint = document.createElement("a");
		    clPrint.className = "results_print";
		    clPrint.href = "javascript: PrintResults()";
		    clPrint.appendChild(document.createTextNode("Print"));
		    
		    /* Email */
		    clEmail = document.createElement("a");
		    clEmail.className = "results_email";
		    
		    //clEmail.onclick = new Function("EMailResults_ShowWindow()");
		    clEmail.href = "javascript: EMailResults_ShowWindow();";
		    clEmail.appendChild(document.createTextNode("E-Mail"));
		    
			if (g_sSelectedTab == "selected_window")
			{
				clClearSaved = document.createElement("a");
				clClearSaved.className = "results_clearsaved";
				clClearSaved.href = "javascript: ClearSaved();";
				clClearSaved.appendChild(document.createTextNode("Clear Saved"));
			}
			else
				clClearSaved = null;
			
		    /* Email */
		    clArrange = document.createElement("p");
		    clArrange.className = (g_sSelectedTab == "selected_window") ? "results_arrange_label_afterclear" : "results_arrange_label";
		    clArrange.appendChild(document.createTextNode("Arrange By:"));
		    
		    /* Email */
		    clSortButton = document.createElement("a");
		    clSortButton.className = "sort_button";
		    clSortButton.id = "sort_button";
		    clSortButton.href = "javascript: Sort_ShowPopup();";
		    clSortButton.onmouseout = new Function("this._timer = setTimeout('Sort_ClosePopup();', 500);");
		    clSortButton.appendChild(document.createTextNode(g_sSortText));
		    
		    clBlueBar_Padding.appendChild(clPrint);
		    clBlueBar_Padding.appendChild(clEmail);
			
			if (clClearSaved)
				clBlueBar_Padding.appendChild(clClearSaved);
				
		    clBlueBar_Padding.appendChild(clArrange);
		    clBlueBar_Padding.appendChild(clSortButton);
		    
		    /* Add Print and Email Links */
		    clContainer.appendChild(clBlueBar);
		    
	        /* Add Break */
	        clBreak = document.createElement("br");
	        clBreak.style.clear = "both";
	        //clContainer.appendChild(clBreak);
	        
	        /* Add Break */
	        clBreak = document.createElement("br");
	        //clContainer.appendChild(clBreak);
	        
            var bMapped = false;
            
            for (var iProperty = 0; iProperty < clResults.length; iProperty++)
            {
                var clResult = clResults[iProperty];
                
                var sPrice = '$' + clResult.getAttribute('Price');
                var sSelected = clResult.getAttribute('Selected');
                var sAddress = clResult.getAttribute('Address');
                var sCity = clResult.getAttribute('City');
                var sState = clResult.getAttribute('State');
                var sMLS = clResult.getAttribute('MLS');
                var sZip = clResult.getAttribute('Zip');
                var sBeds = clResult.getAttribute('Beds');
                var sBaths = clResult.getAttribute('Baths');
                var sStories = clResult.getAttribute('Stories');
                var sYearBuilt = clResult.getAttribute('YearBuilt');
                var sHeatedSF = clResult.getAttribute('HeatedSF');
                var sFireplace = clResult.getAttribute('Fireplace');
                var sPool = clResult.getAttribute('Pool');
                var sKitchen = clResult.getAttribute('Kitchen');
                var sLivingRoom = clResult.getAttribute('LivingRoom');
                var sDiningRoom = clResult.getAttribute('DiningRoom');
                var sMasterBed = clResult.getAttribute('MasterBed');
                var sBedroom2 = clResult.getAttribute('Bedroom2');
                var sBedroom3 = clResult.getAttribute('Bedroom3');
                var sExterior = clResult.getAttribute('Exterior');
                var sType = clResult.getAttribute('Type');
                var sCourtesy = clResult.getAttribute('Courtesy');
                var sRealtor = clResult.getAttribute('Realtor');
                var sRealtorPhone = clResult.getAttribute('RealtorPhone');
                var sOfficePhone = clResult.getAttribute('OfficePhone');
                var sLotSize = clResult.getAttribute('LotSize');
                var sImages = clResult.getAttribute('Images');
                var sRemarks = clResult.getAttribute('Remarks');
                var sVirtualTour = clResult.getAttribute('VirtualTour');
                var sTaxes = clResult.getAttribute('Taxes');
                var iFirstWidth = 0;
                var iFirstHeight = 0;
                var bImage = false;
                var bValidAddress;
                var iFirstProperty, sFirstAddress, sFirstCity, sFirstState, sFirstZip, sFirstPrice, sFirstMLS;
                
		        aImageFields = sImages.split(',');
		        
		        sAddress = addslashes(sAddress);
		        
		        if (aImageFields.length >= 5)
		        {
		            bImage = true;
		            
		            iFirstWidth = aImageFields[1];
		            iFirstHeight = aImageFields[2];
		            
		            g_niPropertyImages[g_sSelectedTab]++;
		        }
                
                if (!sAddress.length)
                {
                    sAddress = "[Address Withheld by Agent]";
                }
                else
                {  
                    if (!sFirstAddress)
                    {
                        iFirstProperty = niProperties + 1;
                        sFirstAddress = sAddress;
                        sFirstState = sState;
                        sFirstCity = sCity;
                        sFirstZip = sZip;
                        sFirstPrice = sPrice;
                        sFirstMLS = sMLS;
                    }
                }
                
                niProperties++;
                
		        clListingParent = document.createElement("div");
		        clListingParent.className = "property_listing_parent";
		        
		        clUnselected = document.createElement("div");
		        clUnselected.className = "property_listing_unselected";
		        clUnselected.id = "property" + niProperties.toString();

		        clTable = document.createElement("table");
		        clTableBody = document.createElement("tbody");
		        
		        clTable.className = "property_listing";
		        //clTable.setAttribute("cellspacing", "0");
		        
		        clTableRow = document.createElement("tr");
		        //clTableRow.setAttribute("valign", "top");
		        
		        clTableLeftCol = document.createElement("td");
		        clTableLeftCol.className = "property_title_and_fields";
		        clTableLeftCol.vAlign = "top";
		        
		        clDivTitleFields = document.createElement("div");
		        clDivTitleFields.className = "property_title_and_fields";
		        
		        if (bImage)
		        {
		            
		            clListingImage = document.createElement("div");
		            clListingImage.className = "property_listing_image";
    		        
		            clListingImageLink = document.createElement("a");
		            clListingImageLink.className = "property_listing_image";
		            clListingImageLink.href = "javascript: void(0);";
		            clListingImageLink.onmousedown = new Function("GotoNextImage(" + (g_niPropertyImages[g_sSelectedTab] - 1).toString() + ");");
		            clListingImageLink.onmouseout = new Function("MouseLeave();");
		            clListingImageLink.onmouseover = new Function("ExpandImage(" + (g_niPropertyImages[g_sSelectedTab] - 1).toString() + ");");
    		        
		            clImage = document.createElement("img");
		            clImage.className = "propertyimage";
		            clImage.id = "image" + g_niPropertyImages[g_sSelectedTab].toString();
		            clImage.src = "./idxsource/images/small/" + aImageFields[0].trim();

					clImage.style.width = iFirstWidth.toString() + "px";
					clImage.style.height = iFirstHeight.toString() + "px";
		            clImage.style.opacity = '1.0';
    		        
		            clListingImageLink.appendChild(clImage);
		            clListingImage.appendChild(clListingImageLink);
		            clDivTitleFields.appendChild(clListingImage);
		        }
		        
		        clDivTitle = document.createElement("div");
		        clDivTitle.className = "property_title";
		        
		        clAddrText = document.createElement("div");
		        clAddrText.className = "address_text";
		        
		        clAddrForm = document.createElement("form");
		        clAddrForm.id = "virtualform" + niProperties.toString();
		        clAddrForm.name = "virtualform" + niProperties.toString();
		        clAddrForm.action = "#";
		        
		        clAddrForm.onsubmit = new Function("selectProperty(" + niProperties.toString() + ", '" + sAddress + "', '" + sCity + "', '" + sState + "', '" + sZip + "', '" + sZillow + "', '" + sPrice + "', '" + sMLS + "'); return false;");
		           
		        //if (!bFSBO)
		        {
		            clCheckbox = document.createElement("input");
		            clCheckbox.style.float = "left";
		            clCheckbox.type = "checkbox";
		            clCheckbox.onclick = new Function("SetSave('" + sMLS + "', this.checked)");
    		        
		            if (sSelected == "1" || g_sSelectedTab == "selected_window")
                        clCheckbox.checked = true;
                        
                    clCheckbox.value = "1";
                }

		        clPropertyLink = document.createElement("a");
		        clPropertyLink.href = "javascript: document.getElementById(\"virtualform" + niProperties.toString() + "\").onsubmit(); void(0);";
		        clPropertyLink.className = "map_address";
		        clPropertyLink.onmouseleave = new Function("window.status = ''; return true;");
		        clPropertyLink.onmouseover = new Function("window.status = 'Click to view the map for " + sAddress + " ...'; return true;");
		        clPropertyLink.title = "Get map and property estimate for " + sAddress + ".";
		        clPropertyLink.appendChild(document.createTextNode(sAddress + " " + sCity + " " + sZip));
		        
		        //if (!bFSBO)
		            clAddrForm.appendChild(clCheckbox);
		        
		        clAddrForm.appendChild(clPropertyLink);
		        
		        clAddrText.appendChild(clAddrForm);
		        clDivTitle.appendChild(clAddrText);
		    
		        clDivTitleFields.appendChild(clDivTitle);
		        
		        /* Create Price */
		        clPriceText = document.createElement("div");
		        clPriceText.className = "price_text";
		        clPriceText.appendChild(document.createTextNode(sPrice));
		        
		        /* Add Price */
		        clDivTitleFields.appendChild(clPriceText);
		        
				if (sStories == "0")
					sStories = "1";
				
		        /* Add Fields */
		        clDivTitleFields.appendChild(createField(54, "Beds", sBeds));
		        clDivTitleFields.appendChild(createField(74, "Baths", sBaths));
		        clDivTitleFields.appendChild(createField(64, "Stories", sStories));
		        clDivTitleFields.appendChild(createField(74, "YrBlt", sYearBuilt));
		        clDivTitleFields.appendChild(createField(114, "HeatedSF", sHeatedSF));
		        clDivTitleFields.appendChild(createField(64, "FirePlc", sFireplace));
		        clDivTitleFields.appendChild(createField(52, "Pool", sPool));
		        clDivTitleFields.appendChild(createField(96, "LvngRm", sLivingRoom));
		        clDivTitleFields.appendChild(createField(90, "DngRm", sDiningRoom));
		        clDivTitleFields.appendChild(createField(94, "Ktchn", sKitchen));
		        clDivTitleFields.appendChild(createField(94, "MastBd", sMasterBed));
		        clDivTitleFields.appendChild(createField(87, "Bdrm2", sBedroom2));
		        clDivTitleFields.appendChild(createField(87, "Bdrm3", sBedroom3));
		        clDivTitleFields.appendChild(createField(150, "Exterior", sExterior));
		        clDivTitleFields.appendChild(createField(110, "Lot Size", sLotSize));
				clDivTitleFields.appendChild(createField(90, "Taxes", "$" + sTaxes));

		        /* Add MLS Info */
		        if (bFSBO)
		        {
		            cMLS_Info = document.createElement("div");
		            cMLS_Info.className = "mls_info";
		            cMLS_Info.appendChild(document.createTextNode(sType + "ID #" + sMLS));
		            clDivTitleFields.appendChild(cMLS_Info);
		        }
		        else
		        {
		            cMLS_Info = document.createElement("div");
		            cMLS_Info.className = "mls_info";
		            cMLS_Info.appendChild(document.createTextNode(sType + "MLS #" + sMLS));
		            clDivTitleFields.appendChild(cMLS_Info);
		        }
				
				

		        if (sVirtualTour.length)
		        {
	                clVirtualTour = document.createElement("a");
	                clVirtualTour.className = "virtual_tour";
					
					if (sVirtualTour.substr(0,7) != "http://")
						sVirtualTour = "http://" + sVirtualTour;
					
	                clVirtualTour.href = sVirtualTour;
	                clVirtualTour.target = "_blank";
	                clVirtualTour.appendChild(document.createTextNode("Click Here for a Virtual Tour"));
	                clDivTitleFields.appendChild(clVirtualTour);
		        }
		        
		        /* Add Break */
		        clBreak = document.createElement("br");
		        clBreak.style.clear = "left";
		        clDivTitleFields.appendChild(clBreak);
		        
		        /* Add Courtesy Text */
		        clCourtesyText = document.createElement("div");
		        clCourtesyText.className = "courtesy_text";
		        clCourtesyText.appendChild(document.createTextNode("Listing Courtesy of " + sCourtesy));
		        clDivTitleFields.appendChild(clCourtesyText);
		        
		        if (!sRemarks)
		            sRemarks = "";
		            
		        clRemarks = document.createElement("div");
		        clRemarks.className = "remarks_text";
		        clRemarks.appendChild(document.createTextNode(unescape(sRemarks.replace(/\+/g, " "))));
		        clDivTitleFields.appendChild(clRemarks);
		        		        
		        /* Add Div Title Fields to Td */
		        clTableLeftCol.appendChild(clDivTitleFields);
		        
		        /* Add Property Info Cell to Tr */
		        clTableRow.appendChild(clTableLeftCol);
		        
		        /* Create Images Holder */
		        clTableRightCol = document.createElement("td");
		        clTableRightCol.style.width = "33px";
		        clTableRightCol.vAlign = "top";
		        
		        if (bImage)
		        {
	                clHolderParent = document.createElement("div");
	                clHolderParent.className = "numberthumbnail_parent";
	                
	                clHolderParentTop = document.createElement("div");
	                clHolderParentTop.className = "numericthumbnail_parent_top";
	                
	                clHolderParentBottom = document.createElement("div");
	                clHolderParentBottom.className = "numericthumbnail_parent_bottom";
	                
	                clHolderParent.appendChild(clHolderParentTop);
	                 
		            aImagePush = new Array();
		            
		            for (iImage = 0; iImage < aImageFields.length - 1; iImage += 5)
		            {
		                if ((aImageFields.length - iImage) < 5)
		                    break;
		                   
		                aImagePush.push(aImageFields[iImage].trim());
		                aImagePush.push(parseInt(aImageFields[iImage + 1].trim()));
		                aImagePush.push(parseInt(aImageFields[iImage + 2].trim()));
		                aImagePush.push(parseInt(aImageFields[iImage + 3].trim()));
		                aImagePush.push(parseInt(aImageFields[iImage + 4].trim()));
    		            
		                clNumericLinkHolder = document.createElement("div");
		                clNumericLinkHolder.className = "numberthumbnail_holder";
		                clNumericLinkHolder.id = "thumbnailholder" + (g_niPropertyImages[g_sSelectedTab] - 1).toString();
		                clNumericLinkHolder.style.width = "33px";
		                clNumericLinkHolder.style.height = "14px";
    		            
		                var sThumbnail = "thumbnail" + (g_niPropertyImages[g_sSelectedTab] - 1).toString() + "_" + ((iImage / 5) + 1).toString();
		                
		                clNumericLink = document.createElement("a");
		                clNumericLink.id = sThumbnail;

		                if (iImage == 0)
		                    clNumericLink.className = "numericthumbnail_highlighted";
		                else
		                    clNumericLink.className = "numericthumbnail";
    		                
		                clNumericLink.href = "javascript:void(0)";
		                clNumericLink.onclick = new Function("SwitchToImage(this, " + (g_niPropertyImages[g_sSelectedTab] - 1).toString() + ", " + (iImage / 5).toString() + ")");
		                clNumericLink.appendChild(document.createTextNode(((iImage / 5) + 1).toString()));
    		            
		                clNumericLinkHolder.appendChild(clNumericLink);
		                clHolderParent.appendChild(clNumericLinkHolder);
		            }
		            
		            clHolderParent.appendChild(clHolderParentBottom);
		            clTableRightCol.appendChild(clHolderParent);
    		        
		            g_aPropertyImageViews[g_sSelectedTab][g_niPropertyImages[g_sSelectedTab] - 1] = new PropertyImageView(aImagePush);
		            g_aPropertyImageViews[g_sSelectedTab][g_niPropertyImages[g_sSelectedTab] - 1].clImage = 0;
		        }
    		        
		        clTableRow.appendChild(clTableRightCol);
		        clTableBody.appendChild(clTableRow);
		        clTable.appendChild(clTableBody);
		        clUnselected.appendChild(clTable);
		        clListingParent.appendChild(clUnselected);
		        
		        clContainer.appendChild(clListingParent);
            }
            
 		    var clNavButtons = document.createElement("div");
		    clNavButtons.className = "results_navigation";
		    
		    if ((parseInt(sStart) - 1) > 0)
		    {
		        clFirst = document.createElement("a");
		        clPrevious = document.createElement("a");
		        clFirst.href = "javascript: Results_GotoFirst()";
		        clPrevious.href = "javascript: Results_GotoPrev()";
		    }
		    else
		    {
		        clFirst = document.createElement("div");
		        clPrevious = document.createElement("div");
		    }
		    
	        clFirst.className = "results_navigation_first";
            clFirst.appendChild(document.createTextNode("First"));
            
	        clPrevious.className = "results_navigation_prev";
	        clPrevious.appendChild(document.createTextNode("Prev"));
	        
    		if (parseInt(sEnd) != parseInt(sTotal))
    		{
		        clNext = document.createElement("a");
		        clLast = document.createElement("a");
		       
		        clNext.href = "javascript: Results_GotoNext()";
		        clLast.href = "javascript: Results_GotoLast()";
		    }
		    else
		    {
		        clNext = document.createElement("div");
		        clLast = document.createElement("div");
		    }
 
	        clNext.className = "results_navigation_next";
	        clLast.className = "results_navigation_last";
	        clNext.appendChild(document.createTextNode("Next"));
	        clLast.appendChild(document.createTextNode("Last"));

		    if (clFirst)
		        clNavButtons.appendChild(clFirst);
		    if (clPrevious)
                clNavButtons.appendChild(clPrevious);
            if (clNext)
		        clNavButtons.appendChild(clNext);
		    if (clLast)
                clNavButtons.appendChild(clLast);

		    clContainer.appendChild(clNavButtons);

	        /* Add Break */
	        clBreak = document.createElement("br");
	        clBreak.style.clear = "both";
	        clContainer.appendChild(clBreak);
	        
		    g_clCanvas.appendChild(clContainer);
		    g_clCanvas.scrollTop = 0;
		  
            if (sFirstAddress)
                selectProperty(iFirstProperty.toString(), sFirstAddress, sFirstCity, sFirstState, sFirstZip, sZillow, sFirstPrice, sFirstMLS);
	    
            g_bStopImageLoop = false;
            setTimeout('PropertyImages_TransitionHandler()', 10);
        }
        else
        {
            /*alert("There was a problem retrieving the XML data:\n" + clRequest.statusText);*/
        }
    }
}

var g_bLoadingProperties = false;
var g_bLoadingProperties_Sync = false;
var g_clLoading = 0;

function LoadingProperties()
{
    if (!g_clLoading)
    {
        g_clLoading = document.getElementById("update_dialog");
        
        if (!g_clLoading)
        {
            setTimeout('LoadingProperties()', 10);
            return;
        }
    }
    
    if (g_bLoadingProperties != g_bLoadingProperties_Sync)
    {
        g_clProgress = document.getElementById("update_dialog_progress");
        g_clProgressParent = document.getElementById("update_dialog_parent");
        
        g_bLoadingProperties_Sync = g_bLoadingProperties;
        
        if (g_bLoadingProperties)
        {
            g_clLoading.style.opacity = 0.0;
            g_clProgress.style.width = "0px";
        }
        else
        {
            g_clLoading.style.opacity = 1.0;
            g_clProgress.style.width = "315px";
        }
        
        g_clLoading.style.visibility = 'visible';
        g_clProgressParent.style.visibility = g_clLoading.style.visibility;
    }
    else
    {
        var fOpacity = parseFloat(g_clLoading.style.opacity);
        var fOpacity_Old = fOpacity;
        var iOpacity;
        
        if (g_bLoadingProperties)
        {
            g_clProgress = document.getElementById("update_dialog_progress");
            
            var iWidth = parseInt(g_clProgress.style.width);
            
            if (iWidth < 315)
            {
                iWidth += 3;
                
                if (iWidth > 315)
                    iWidth = 315;
                
                g_clProgress.style.width = iWidth.toString() + "px";
            }
        }
        
        if (g_bLoadingProperties && (fOpacity != 1.0))
        {
            fOpacity += 0.05;
        }
        else if (!g_bLoadingProperties && (fOpacity != 0.0))
        {
            fOpacity -= 0.05;
        }
        
        if (fOpacity_Old != fOpacity)
        {
            g_clLoading.style.opacity = fOpacity;
            
            if (!fOpacity)
                fOpacity = 0.0;
            
            if (fOpacity <= 0.0)
            {
                g_clProgressParent = document.getElementById("update_dialog_parent");
                g_clProgressParent.style.visibility = 'hidden';
                
                g_clLoading.style.visibility = 'hidden';
                g_clLoading.style.opacity = 0.0;
                g_clLoading.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
                
                fOpacity = 0.0;
            }
            else if (fOpacity >= 1.0)
            {
                g_clLoading.style.opacity = 1.0;
                g_clLoading.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
                
                fOpacity = 1.0;
            }
            else
            {
                g_clLoading.style.opacity = fOpacity;
                iOpacity = Math.round(fOpacity * 100.0);
                g_clLoading.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + iOpacity.toString() + ")";
                
            }
            
            g_clLoading.style.top = parseInt(Math.round(250.0 + 200.0 - (fOpacity * 200.0)));
        }
    }
    
    setTimeout('LoadingProperties()', 30);
}

LoadingProperties();

function LoadResults(url)
{
    g_bLoadingProperties = true;
    
    if (!g_bImageLoopStopped)
    {
        g_bStopImageLoop = true;
        setTimeout("LoadResults('" + url + "')", 10);
        return;
    }
    
    g_bStopImageLoop = false;
    
	clRequest = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			clRequest = new XMLHttpRequest();
        } catch(e) {
			clRequest = false;
        }
    // branch for IE/Windows ActiveX version
    }
    else if (window.ActiveXObject)
    {
       	try
       	{
        	clRequest = new ActiveXObject("Msxml2.XMLHTTP");
      	}
      	catch(e)
      	{
        	try
        	{
          		clRequest = new ActiveXObject("Microsoft.XMLHTTP");
        	}
        	catch(e)
        	{
          		clRequest = false;
        	}
		}
    }
	if(clRequest)
	{
		clRequest.onreadystatechange = ResultStatus;
		clRequest.open("POST", url, true);
		clRequest.send("var=1");
	}
}

function SetSave(sMLS, bSave)
{
    var sSave;
    
    if (bSave)
        sSave = '1';
    else
        sSave = '0';
    
    loadXMLDoc("/save.php?mls=" + sMLS + "&save=" + sSave);
}

function format_number(pnumber,decimals)
{
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';
	
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot == -1){
			dec += '.'; 
			dot = dec.indexOf('.');
		}
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	} else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');		
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}	
	return result;
}

function updatesearch_increment(sName, sThis)
{
	var clValue = document.getElementById(sName);
	var clArrow = document.getElementById(sThis);
	var iValue = parseInt(GetAmount(clValue.innerHTML));
	
	if (!iValue || clValue.innerHTML == 'Any')
		iValue = 0;
	
	clArrow.className = 'updatesearch_arrowup_1';
	
	switch (sName)
	{
	case "updatesearch_minbeds":
	case "updatesearch_maxbeds":
	case "updatesearch_minbaths":
	case "updatesearch_maxbaths":
		
		iValue++;
		
		if (iValue >= 4)
			iValue = 0;
			
		clValue.innerHTML = iValue.toString();
		
		break;
		
	case "updatesearch_minsquareft":	
	case "updatesearch_maxsquareft":
	
		if (iValue < 2000)
			iValue += 200;
		else if (iValue < 10000)
		    iValue += 500;
		else
		    iValue += 1000;
		
		if (iValue < 0) 
		    iValue = 0;
			
		if (iValue && iValue < 600)
			iValue = 600;
		
		if (iValue > 10000)
		    iValue = 0;
		
		if (!iValue)
		{
			iValue = 0;
			clValue.innerHTML = "Any";
		}
		else
			clValue.innerHTML = iValue.toString();
			
		break;
		
	case "updatesearch_minprice":
	case "updatesearch_maxprice":
	
		if (iValue < 150000)
			iValue += 10000;
		else
			iValue += 20000;
		
		if (iValue > 500000)
			clValue.innerHTML = "Any";
		else
			clValue.innerHTML = FormatUSD(iValue.toString());
		
		break;
		
		
	/*case "updatesearch_propertytype":
	
	    iValue = clValue.innerHTML;
	    
		if (!iValue)
		    iValue = 'Single Family';
		
	    switch (iValue)
	    {
        case 'Single Family':
            iValue = 'Condominium';
            break;
        case 'Condominium':
            iValue = 'Mobile Home';
            break;
        case 'Mobile Home':
            iValue = 'Single Family';
            break;
	    }
		
		clValue.innerHTML = iValue;
		
		break;*/
		
	case "updatesearch_pool":	
	case "updatesearch_fireplace":
	
	      iValue = FormatYesNo_Reverse(clValue.innerHTML);
	      
	      iValue++;
	      
	      if (iValue > 2)
	        iValue = 0;
	        
	      clValue.innerHTML = FormatYesNo(iValue);
	        
	      break;
	      
    case "updatesearch_stories":
    
        iValue++;
        
        if (iValue > 2)
            iValue = 0;
            
        clValue.innerHTML = FormatAny(iValue);
	        
	    break;
	    
	    
	case "updatesearch_minmasterbdsize":
	
        iValue++;
        
        if (iValue > 20)
            iValue = 0;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minyearbuilt":
	
	    if (iValue == 0)
	        iValue = 1950 - 1;
	    
        iValue++;
        
        if (iValue > 2007)
            iValue = 1950 - 1;
            
        if (iValue == (1950 - 1))
            clValue.innerHTML = "Any";
        else
            clValue.innerHTML = FormatAny(iValue);
        
	    break;
	    
	case "updatesearch_minkitchensize":
	
        iValue++;
        
        if (iValue > 20)
            iValue = 0;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minlivingrmsize":
	
        iValue++;
        
        if (iValue > 20)
            iValue = 0;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minlotsize":
	
        iValue += 10;
        
        if (iValue > 200)
            iValue = 0;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_exteriortype":  

        iValue = FormatExterior_Reverse(clValue.innerHTML);
        
        iValue++;
         
        if (iValue > (ExteriorCount() - 1))
            iValue = 0;
            
        clValue.innerHTML = FormatExterior(iValue);
	    break; 
	}
}

function updatesearch_decrement(sName, sThis)
{
	var clValue = document.getElementById(sName);
	var clArrow = document.getElementById(sThis);
	var iValue = parseInt(GetAmount(clValue.innerHTML));
	
	if (!iValue || clValue.innerHTML == 'Any')
		iValue = 0;
	
	clArrow.className = 'updatesearch_arrowdown_1';
	
	switch (sName)
	{
	case "updatesearch_minbeds":
	case "updatesearch_maxbeds":
	case "updatesearch_minbaths":
	case "updatesearch_maxbaths":
		
		iValue--;
		
		clValue.innerHTML = FormatAny(iValue);
		
		break;
	
	case "updatesearch_minsquareft":	
	case "updatesearch_maxsquareft":
	
	
		if (iValue < 2000)
			iValue -= 200;
		else if (iValue < 10000)
		    iValue -= 500;
		else
		    iValue -= 1000;
		
		if (iValue < 600) 
		    iValue = 0;
		
		if (iValue > 10000)
		    iValue = 0;
		
		if (!iValue)
		{
			iValue = 0;
			clValue.innerHTML = "Any";
		}
		else
			clValue.innerHTML = iValue.toString();
		
		/*
		if (iValue < 2000)
			iValue -= 200;
		else if (iValue < 5000)
		    iValue -= 500;
		else
		    iValue -= 1000;
		
		if (iValue < 0) 
		    iValue = 0;
		
		if (iValue >= 10000)
		    iValue = 10000;
		
	    clValue.innerHTML = FormatAny(iValue);*/
			
		break;
		
	/*case "updatesearch_propertytype":
	
	    iValue = clValue.innerHTML;
	    
		if (!iValue)
		    iValue = 'Single Family';
 
	    switch (iValue)
	    {
        case 'Single Family':
            iValue = 'Mobile Home';
            break;
        case 'Condominium':
            iValue = 'Single Family';
            break;
        case 'Mobile Home':
            iValue = 'Condominium';
            break;
	    }
		
		clValue.innerHTML = iValue;
		
		break;*/
		
	case "updatesearch_minprice":
	case "updatesearch_maxprice":
	
		if (iValue < 150000)
			iValue -= 10000;
		else
			iValue -= 20000;
		    
		if (iValue <= 0)
			clValue.innerHTML = "Any";
		else
			clValue.innerHTML = FormatUSD(iValue.toString());
			
		break;
	
	case "updatesearch_pool":	
	case "updatesearch_fireplace":
	
	      iValue = FormatYesNo_Reverse(clValue.innerHTML);
	      
	      iValue--;
	      
	      if (iValue < 0)
	        iValue = 2;
	        
	      clValue.innerHTML = FormatYesNo(iValue);
	        
	      break;
	      
    case "updatesearch_stories":
    
        iValue--;
        
        if (iValue < 0)
            iValue = 2;
            
        clValue.innerHTML = FormatAny(iValue);
	        
	    break;
	    
	    
	case "updatesearch_minmasterbdsize":
	
        iValue--;
        
        if (iValue < 0)
            iValue = 20;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minyearbuilt":
	
        iValue--;
        
	    if (iValue == (1950 - 1))
	        iValue = 0;
	    else if (iValue <= 0)
	        iValue = 2007;
            
        clValue.innerHTML = FormatAny(iValue);
	    break;
	    
	case "updatesearch_minkitchensize":
	
        iValue--;
        
        if (iValue < 0)
            iValue = 20;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minlivingrmsize":
	
        iValue--;
        
        if (iValue < 0)
            iValue = 20;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_minlotsize":
	
        iValue -= 10;
        
        if (iValue < 0)
            iValue = 200;
            
        clValue.innerHTML = FormatAnyFt(iValue);
	    break;
	    
	case "updatesearch_exteriortype":  

        iValue = FormatExterior_Reverse(clValue.innerHTML);
        
        iValue--;
         
        if (iValue < 0)
            iValue = ExteriorCount() - 1;
            
        clValue.innerHTML = FormatExterior(iValue);
	    break; 
	}	
}

function CheckForAny(sString)
{
    if (sString == "Any")
        return "";
        
    return sString;
}

function UpdateSearchQuery()
{
    var aPrices = new Array();
    var sFieldNames = new Array('beds', 'baths', 'squareft');
    var aFieldValues = new Array();
    var i, ii;
    var sQuery = "";
    var bFirst = true;
    var iResult = 0;
    
    g_abUpdatedTabs = new Array();
    
    aPrices[0] = document.getElementById('updatesearch_minprice').innerHTML;
    aPrices[1] = document.getElementById('updatesearch_maxprice').innerHTML;
    
    for (i = 0; i < 2; i++)
    {
        if (aPrices[i] == "Any")
            aPrices[i] = "";
        else
        {
            aPrices[i] = GetAmount(aPrices[i]);
            aPrices[i] = parseInt(aPrices[i]).toString();
        }
    }
    
    /*if (aPrices[0].length && aPrices[1].length)
    {
        if (parseInt(aPrices[0]) > parseInt(aPrices[1]))
        {
            alert('The minimum price cannot be greater than the maximum price.  You may revise this value in the Modify Search tab');
            return;
        }
    }*/
    
    sQuery += 'minprice=' + aPrices[0];
    sQuery += '&maxprice=' + aPrices[1];
    //sQuery += '&propertytype=' + PropertyTypeNameToCode(document.getElementById('updatesearch_propertytype').innerHTML);
    
	var sTypes = "";
	
	if (document.getElementById('check_single').checked)
	{
		if (sTypes)
			sTypes += ',';
		
		sTypes += 'S';
	}
	if (document.getElementById('check_condo').checked)
	{
		if (sTypes)
			sTypes += ',';
		
		sTypes += 'M';
	}
	if (document.getElementById('check_mobile').checked)
	{
		if (sTypes)
			sTypes += ',';
		
		sTypes += 'B';
	}
	
	sQuery += '&propertytype=' + sTypes;
	
    var iFireplace = FormatYesNo_Reverse(document.getElementById('updatesearch_fireplace').innerHTML);
    var iPool = FormatYesNo_Reverse(document.getElementById('updatesearch_pool').innerHTML);
    var sAddZips = "";
    
    sQuery += '&minmasterbedsize=' + CheckForAny(document.getElementById('updatesearch_minmasterbdsize').innerHTML);
    sQuery += '&minkitchensize=' + CheckForAny(document.getElementById('updatesearch_minkitchensize').innerHTML);
    sQuery += '&minlivingrmsize=' + CheckForAny(document.getElementById('updatesearch_minlivingrmsize').innerHTML);
    sQuery += '&minlotsize=' + CheckForAny(document.getElementById('updatesearch_minlotsize').innerHTML);
    sQuery += '&exteriortype=' + CheckForAny(document.getElementById('updatesearch_exteriortype').innerHTML);
    sQuery += '&stories=' + CheckForAny(document.getElementById('updatesearch_stories').innerHTML);
    sQuery += '&minyearbuilt=' + CheckForAny(document.getElementById('updatesearch_minyearbuilt').innerHTML);
    
    if (iPool)
        sQuery += '&pool=' + (iPool - 1).toString();
    
    if (iFireplace)
        sQuery += '&fireplace=' + (iFireplace - 1).toString();
    
    if (g_abResultsNavigation[g_sSelectedTab])
        iResult = g_abResultsNavigation[g_sSelectedTab]['Start'] - 1;
        
    sQuery += '&start=' + iResult.toString();
    
    for (i = 0; i < g_niPolygons; i++)
    {
        if (aZipsEnabled[i])
        {
            if (sAddZips.length)
                sAddZips += ',';
                
            sAddZips += aZipCodes[i];
        }
    }
    
    if (sAddZips.length)
        sQuery += '&zips=' + sAddZips;
    
    for (i = 0; i < sFieldNames.length; i++)
    {
        aFieldValues[i * 2] =  document.getElementById('updatesearch_min' + sFieldNames[i]).innerHTML;
        aFieldValues[i * 2 + 1] =  document.getElementById('updatesearch_max' + sFieldNames[i]).innerHTML;

        for (ii = i * 2; ii < i * 2 + 2; ii++)
            if (aFieldValues[ii] == "Any")
                aFieldValues[ii] = "";

        sQuery += '&min' + sFieldNames[i] + '=' + aFieldValues[i * 2];
        sQuery += '&max' + sFieldNames[i] + '=' + aFieldValues[i * 2 + 1];
        
        /*if (aFieldValues[i * 2].length && aFieldValues[i * 2 + 1].length)
        {
            if (parseInt(aFieldValues[i * 2]) > parseInt(aFieldValues[i * 2 + 1]))
            {
                alert('The search fields are invalid, please revise.  You have a minimum value with a bigger value than the maximum value.  You may revise the fields in the Modify Search tab.');
                return;
            }
        }*/
    }
	
	if (sCustomSearch)
	{
		g_sQuery = "customsearch=" + escape(sCustomSearch);
		sCustomSearch = "";
	}
	else
		g_sQuery = sQuery;
		
	
    switch (g_sSortText)
    {
    case "Lowest Zip":
        g_sQuery += "&sort=Zip&sort_asc=1";
        break;
    case "Highest Zip":
        g_sQuery += "&sort=Zip&sort_asc=0";
        break;
    case "Lowest Price":
        g_sQuery += "&sort=Sale+Price&sort_asc=1";
        break;
    case "Highest Price":
        g_sQuery += "&sort=Sale+Price&sort_asc=0";
        break;
    case "Most Bedrooms":
        g_sQuery += "&sort=Beds&sort_asc=0";
        break;
    case "Least Bedrooms":
        g_sQuery += "&sort=Beds&sort_asc=1";
        break;
    case "Lowest Square Ft":
        g_sQuery += "&sort=Square+Footage&sort_asc=1";
        break;
    case "Highest Square Ft":
        g_sQuery += "&sort=Square+Footage&sort_asc=0";
        break;
    case "Smallest Lot":
        g_sQuery += "&sort=LotSize&sort_asc=1";
        break;
    case "Largest Lot":
        g_sQuery += "&sort=LotSize&sort_asc=0";
        break;
    case "g_sQuery Built":
        sQuery += "&sort=Year+Built&sort_asc=1";
        break;
    case "Newest Built":
        g_sQuery += "&sort=Year+Built&sort_asc=0";
        break;
    }
    
    return g_sQuery;
}


var g_bCommentsSelected = false;
var g_bRegistered = false;
var g_iStep = 0;
var clLandingPage_XMLResult = null;
var g_clTransitioning;
var g_iStartTime;
var g_iTransitionTime = 700; /* 0.6 Seconds */
var g_iTimeEquationBased = true;
var g_iStartValue;
var g_iEndValue;
var g_fTransitionFunction;

function LandingPage_HidePages()
{
	document.getElementById("landing_page1").style.visibility = "hidden";
	document.getElementById("landing_page2").style.visibility = "hidden";
	document.getElementById("landing_page3").style.visibility = "hidden";
	document.getElementById("landing_page4").style.visibility = "hidden";
	document.getElementById("map_buttons").style.visibility = "hidden";
	document.getElementById("landing_page_error").style.visibility = "hidden";
}

function LandingPage_LetsStart()
{
	g_bRegistered = false;
	
	LandingPage_HidePages();
	
	document.getElementById("landing_page2").style.visibility = "visible";
	document.getElementById("map_buttons").style.visibility = "visible";
}


function LandingPage_BackToStart()
{
	LandingPage_HidePages();
	
	document.getElementById("landing_page1").style.visibility = "visible";
}


function LandingPage_AlreadyRegistered()
{
	g_bRegistered = true;
	
	LandingPage_HidePages();

	document.getElementById("landing_page3").style.visibility = "visible";
	document.getElementById("map_buttons").style.visibility = "visible";
}


function LandingPage_Login()
{	
	var sEmail = document.getElementById("login_email").value;
	
	if (!sEmail.trim().length)
	{
		LandingPage_Error("Please enter a valid email address!", "Error!");
		return;
	}
	
	LandingPage_XMLRequest("welcome.php?step=0&login=1&email="  + escape(sEmail));
}                                                 


function LandingPage_Test_Email(s)
{
     var regex = new RegExp("^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$");
     
     return regex.test(s);
}


/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function LandingPage_Test_Phone(s)
{
    s = s.replace(')',"-");
    s = s.replace('(',"");
    
    if (!s || (s == ""))
        return false
	
    return checkInternationalPhone(s);
 }

function LandingPage_Test_String(s)
{
    if (s.length)
        return true;
    
    return false;
}

function LandingPage_Test_Zip(s)
{
    if (s.length)
        return true;
    
    return false;
}
      
function LandingPage_Test_Value(sInput, sId, fFunction, sError)
{
    if (!fFunction(sInput))
    {
        document.getElementById(sId).focus();
        alert(sError);
        return false;
    }
    
    return true;
}

function LandingPage_Register()
{
	var sName = document.getElementById("reg_name").value;
	var sEmail = document.getElementById("reg_email").value;
	var sPhone = document.getElementById("reg_phone").value;
	var sZip = document.getElementById("reg_zip").value;
	
	/*
	var sPriceRange = document.getElementById("reg_pricerange").value;
	var sState = document.getElementById("reg_state").value;
	var sCity = document.getElementById("reg_city").value;
	var sComments = document.getElementById("reg_comments").value;
	var sDownPayment = document.getElementById("reg_downpayment").value;
	var sPurchaseDate = document.getElementById("reg_purchasedate").value;
	var sAddress = document.getElementById("reg_address").value;
	var sIncome = document.getElementById("reg_income").value;
	var sCanContact = document.getElementById("reg_contact").checked;
    */
	if (!LandingPage_Test_Value(sPhone, "reg_phone", LandingPage_Test_Phone, "Please enter a valid phone number"))
		return;
	
	if (!LandingPage_Test_Value(sName, "reg_name", LandingPage_Test_String, "Please your full name"))
		return;
	
	if (!LandingPage_Test_Value(sEmail, "reg_email", LandingPage_Test_Email, "Please your e-mail address"))
		return;
	
	if (!LandingPage_Test_Value(sZip, "reg_zip", LandingPage_Test_Zip, "Please your zip"))
		return;
		
	/*
	if (!LandingPage_Test_Value(sPriceRange, "reg_pricerange", LandingPage_Test_String, "Please your estimated price range"))
		return;
	
	if (!LandingPage_Test_Value(sPurchaseDate, "reg_purchasedate", LandingPage_Test_String, "Please your estimated purchase date"))
		return;
	
	if (!LandingPage_Test_Value(sDownPayment, "reg_downpayment", LandingPage_Test_String, "Please your estimated down payment"))
		return;
	
	if (!LandingPage_Test_Value(sIncome, "reg_income", LandingPage_Test_String, "Please your family income"))
		return;
	
	if (sCanContact != false)
	{
		if (!LandingPage_Test_Value(sState, "reg_state", LandingPage_Test_String, "Please your state"))
			return;
		
		if (!LandingPage_Test_Value(sAddress, "reg_address", LandingPage_Test_String, "Please your address"))
			return;
		
		if (!LandingPage_Test_Value(sCity, "reg_city", LandingPage_Test_String, "Please your city"))
			return;
	}*/
        
	/*
	LandingPage_XMLRequest("welcome.php?step=1&pricerange=" + escape(sPriceRange) +
                               "&name=" + escape(sName) +
                               "&phone=" + escape(sPhone) +
                               "&zip=" + escape(sZip) +
                               "&state=" + escape(sState) +
                               "&city=" + escape(sCity) +
                               "&income=" + escape(sIncome) + 
                               "&comments=" + escape(sComments) +
                               "&purchasedate=" + escape(sPurchaseDate) +
                               "&downpayment=" + escape(sDownPayment) +
                               "&cancontact=" + escape(sCanContact) +
                               "&address=" + escape(sAddress) +
                               "&email="  + escape(sEmail));
    */
	
	LandingPage_XMLRequest("welcome.php?step=1" +
                               "&name=" + escape(sName) +
                               "&phone=" + escape(sPhone) +
                               "&zip=" + escape(sZip) +
                               "&email="  + escape(sEmail));			   
	LandingPage_HidePages();
	document.getElementById("landing_page4").style.visibility = "visible";
    document.getElementById("landingpage_scroll").scrollTop = 0;
}


function LandingPage_Error(sMessage, sTitle)
{
	LandingPage_HidePages();
	
	document.getElementById("landing_page_error").style.visibility = "visible";
	
	var clTitle = document.getElementById("landing_page_error_title");
	var clMessage = document.getElementById("landing_page_error_message");
	
	while (clTitle.firstChild)
		clTitle.removeChild(clTitle.firstChild);
	while (clMessage.firstChild)
		clMessage.removeChild(clMessage.firstChild);
		
	clTitle.appendChild(document.createTextNode(sTitle));
	clMessage.appendChild(document.createTextNode(sMessage));
	
}

var sCustomSearch = "";

function CustomSearch(event)
{
	if (!(window.event && window.event.keyCode == 13) && !(event && event.keyCode == 13))
		return;
	
	sCustomSearch = document.getElementById("search").value;
	
	SwitchToTab_PerformAction("mls_window");
	
	document.getElementById("search").value = "";
}

function LandingPage_ErrorClickOk()
{
	if (g_bRegistered)
		LandingPage_AlreadyRegistered();
	else
		LandingPage_LetsStart();
}


function LandingPage_SelectZips()
{
	ZipMap_ClearAll();

	var sZips = "";
	
	if (document.getElementById("county_lake_n").style.visibility != "hidden")
		sZips += "34705,34748,32497,34737,32702,32767,32784,32735,32736,32159,34731,34788,32726,32778,32757,32776,";
	
	if (document.getElementById("county_lake_s").style.visibility != "hidden")
		sZips += "34715,34753,34736,34711,34714,";
		
	if (document.getElementById("county_orange_w").style.visibility != "hidden")
		sZips += "34787,34760,32798,32712,32703,32810,32818,34761,34734,34786,32836,32819,32835,32818,32808,32804,32805,";
		
	if (document.getElementById("county_orange_e").style.visibility != "hidden")
		sZips += "32821,32837,32824,32827,32832,32819,32809,32806,32812,32801,32807,32789,32751,32792,32817,32826,32828,32825,32820,32833,32832,32831,32709,";
		
	if (document.getElementById("county_seminole").style.visibility != "hidden")
		sZips += "32771,32746,32779,32750,32714,32701,32730,32707,32708,32765,32732,32765,32766,32732,32725,32738,32763,32771,32744,32724,32720,";

	if (document.getElementById("county_volusia") && document.getElementById("county_volusia").style.visibility != "hidden")
		sZips += "32764,32725,32738,32744,32168,32128,32713,32720,32724,327124,32130,32180,32102,32190,32139,32145,32131,32033,32092,";
	
	ZipMap_SelectZipsFromText(sZips);
	
    SwitchToTab(g_sLastPropertiesTabSelected);
}


function transition()
{
	var clDate = new Date();
	var iTime = clDate.getTime();
	var iDiff = iTime - g_iStartTime;
	var iNewValue;
	var iScale;
	
	if (iDiff > g_iTransitionTime)
		iDiff = g_iTransitionTime;
	
	iScale = (iDiff / g_iTransitionTime);
	iScale = Math.sin(iScale * (Math.PI  / 2));
	
	iNewValue = (g_iStartValue + (g_iEndValue - g_iStartValue)) * iScale;
	
	if (g_fTransitionFunction)
		g_fTransitionFunction(g_clTransitioning, iScale * iNewValue);
	else
		g_clTransitioning.style.height = (iScale * iNewValue).toString() + "px";
	
	if (iDiff != g_iTransitionTime)
		setTimeout("transition()", 1);
}


function transition_start(sEntryId, iStartValue, iEndValue, fFunction)
{
	g_clTransitioning = document.getElementById(sEntryId);
	
	g_iStartValue = iStartValue;
	g_iEndValue = iEndValue;
	g_iStartTime = (new Date()).getTime();
	
	g_clTransitioning.style.height = g_iStartValue.toString() + "px";

	g_fTransitionFunction = fFunction;
	
	transition();
}


function LandingPage_checkforreturn(e)
{
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
		keynum = e.keyCode;
	else if(e.which) // Netscape/Firefox/Opera
		keynum = e.which;

	if (keynum == 13)
		LandingPage_submit();
}

function LandingPage_FadeWelcome(clWelcome, iFactor)
{
	clWelcome.style.opacity = iFactor;
	
    var iOpacity = Math.round(iFactor * 100.0);
    clWelcome.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + iOpacity.toString() + ")";
	clWelcome.style.visibility = "visible";
}


function LandingPage_ShowWelcome()
{
	var clWelcome = document.getElementById("welcome");
	
	transition_start("welcome", 0, 1, LandingPage_FadeWelcome);
}

function LandingPage_HideWelcome()
{
	var clWelcome = document.getElementById("welcome");
	clWelcome.parentNode.removeChild(clWelcome);
}

function LandingPage_AsyncResult()
{
    if (clLandingPage_XMLResult.readyState == 4)
    {
        if (clLandingPage_XMLResult.status == 200)
        {
            var clXML = clLandingPage_XMLResult.responseXML;
	    var clInfo = clXML.getElementsByTagName("Welcome")[0];
            var bExists = clInfo.getAttribute("Exists");
	    var sFormError = clInfo.getAttribute("Error");
			
            if (bExists == "true")
            {
                    LandingPage_SelectZips();
                    
                    var clLandingPage_IETweak = document.getElementById("landingpage_ietweak");
                    clLandingPage_IETweak.parentNode.removeChild(clLandingPage_IETweak);
                    
                    var clLandingPage = document.getElementById("landingpage_parent");
                    clLandingPage.parentNode.removeChild(clLandingPage);
					
					LandingPage_ShowWelcome();
            }
            else
            {
                    if (!sFormError)
                        sFormError = "The e-mail address entered doesn't exist on record.  Please register.";
                    
                    LandingPage_Error(sFormError, "Error");
            }
        }
    }
}


function LandingPage_XMLRequest(url)
{
	clLandingPage_XMLResult = false;
	
    if(window.XMLHttpRequest && !(window.ActiveXObject))
    {
    	try
    	{
			clLandingPage_XMLResult = new XMLHttpRequest();
        }
        catch(e)
        {
			clLandingPage_XMLResult = false;
        }
    }
    else if (window.ActiveXObject)
    {
       	try
       	{
        	clLandingPage_XMLResult = new ActiveXObject("Msxml2.XMLHTTP");
      	}
      	catch(e)
      	{
        	try
        	{
          		clLandingPage_XMLResult = new ActiveXObject("Microsoft.XMLHTTP");
        	}
        	catch(e)
        	{
          		clLandingPage_XMLResult = false;
        	}
		}
    }
    
	if (clLandingPage_XMLResult)
	{
		clLandingPage_XMLResult.onreadystatechange = LandingPage_AsyncResult;
		clLandingPage_XMLResult.open("POST", url, true);
		clLandingPage_XMLResult.send("var=1");
	}
}