function cleanNum(num)
{
num = unescape(num);
return num.replace(',', '');
}

function outputComma(number) {
    number = '' + number
    if (number.length > 3) {
        var mod = number.length%3;
        var output = (mod > 0 ? (number.substring(0,mod)) : '');
        for (i=0 ; i < Math.floor(number.length/3) ; i++) {
            if ((mod ==0) && (i ==0))
                output+= number.substring(mod+3*i,mod+3*i+3);
            else
                output+= ',' + number.substring(mod+3*i,mod+3*i+3);
        }
        return (output);
    }
    else return number;
}

function clearStats()
{
	document.getElementById('av_p').style.visibility = 'hidden';
	document.getElementById('min_p').style.visibility = 'hidden';
	document.getElementById('max_p').style.visibility = 'hidden';
}

function display_stats(props)
{
     	var av_p = average(props);
	var min_p = min(props);
        var max_p = max(props);

	document.getElementById('av_p').innerHTML = 'Average Price: $' + outputComma(av_p.toFixed(0));
	document.getElementById('min_p').innerHTML = 'Minimum Price: $' + outputComma(min_p.toFixed(0));
	document.getElementById('max_p').innerHTML = 'Maximum Price: $' + outputComma(max_p.toFixed(0));
	document.getElementById('av_p').style.visibility = 'visible';
	document.getElementById('min_p').style.visibility = 'visible';
	document.getElementById('max_p').style.visibility = 'visible';

}

function average(props)
{
   var items = props.length;
   var sum = 0;

   for (i = 0; i < items;i++)
   {
      sum += parseInt(cleanNum(props[i].getAttribute('lp_Listing_Price')));
   }

   return (sum/items);
}

function min(props)
{
var min_val = parseInt(cleanNum(props[0].getAttribute('lp_Listing_Price')));
for (i = 0; i < props.length; i++)
{
	var price = parseInt(cleanNum(props[i].getAttribute('lp_Listing_Price')));

	if (price < min_val)
	{
		min_val = price;
	}
}
return min_val;
}

function max(props)
{
var max_val = parseInt(cleanNum(props[0].getAttribute('lp_Listing_Price')));
for (i = 0; i < props.length; i++)
{
	var price = parseInt(cleanNum(props[i].getAttribute('lp_Listing_Price')));

	if (price > max_val)
	{
		max_val = price;
	}
}
return max_val;
}


function createSaveLink()
{

        var link = "";

        if (cookieid.length > 0)
        {
                link = '<b>Name Your Search: </b><input type="text" name="nm_Search" id="nm_Search" value=""> <a href="javascript:postSaveSearch()">Save This Search</a>';
        }
        else
        {
		if (pres_agent.length > 0) {
			link = '<a href="' + root_url + '/vp/LoginServlet?SITE=' + site + '&ScreenID=AGENT_NW&pres_agent=' + pres_agent + '&context=AGENT_PAGE_SEARCH&DFLT_PAGE=VOW_HOME_AGENT" target="_parent">Login To Save Searches</a>';
		} else {
                	link = '<a href="' + root_url + '/vp/LoginServlet?ListiingSearch=TRUE&ScreenID=MY247_INFO&SITE=' + site + '&DFLT_PAGE=VOW_HOME&next_url=/vp/jsps/' + site + '/MAPSEARCH_PROXY.jsp?' + escape(createQueryString()) + '" target="_parent">Login To Save Searches</a>';
		}
        }

        return link;

}

function sortPrices(props) {
        var prices = Array();

        for (var i = 0; i < props.length; i++) {
        prices[i] = parseInt(cleanNum(props[i].getAttribute('lp_Listing_Price')));
        }

        prices.sort(function(a,b) { return a - b });

        return prices;
}

function median(prices) {

        if (prices.length % 2 == 0) {
                var high = prices[(prices.length/2)];
                var low = prices[(prices.length/2) - 1];

                return (high + low) / 2;
        } else if (prices.length == 1) {
                return prices[0];
        } else {
                return prices[Math.ceil(prices.length/2)];
        }

}
    
function showHideStats(min, max) {
        var timer = 2;  
        var obj = document.getElementById('showHide');
        var step = -1;  
        var cur_top = parseInt(obj.style.top.substring(0, obj.style.top.length-2));
        if (cur_top < max) {
                // Hiding (scrolling down)
                step = 1;
        }

        function f() {
                cur_top = parseInt(obj.style.top.substring(0, obj.style.top.length-2));
                if (step == 1) {
                        if (cur_top > max) { return; }
                } else {
                        if (cur_top < min) { return; }
                }
        
                obj.style.top = parseInt(cur_top + step) + 'px';
                
                setTimeout(f, timer);
                
        }       

        setTimeout(f, timer); 
}


