function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function percentFormat(nStr)
{
	number = parseFloat(nStr);
	if(number < 0)	number = -1 * (Math.round(nStr*-100*10)/10);
	else			number = (Math.round(nStr*100*10)/10);
	return number;
}




function getValues() {
	var returnArray = new Array();
	var values = document.location.href;
	if (!values || values == "")
		values = document.location;	// IE3 needs this
		values = values.substring(values.indexOf('?') + 1, values.length);
	var valueset = split('&', values);
	for (var i = 0; i < valueset.length; i++) {
		var thisValue = split('=', valueset[i]);
		returnArray[thisValue[0]] = thisValue[1];
	}
	return returnArray;
}
function split(splitOn, string) {
		var values = new Array();
		var begin = 0;
		var end = 0;
		var splitLen = splitOn.length;
		var i = 0;
		while (end != string.length) {
			end = string.indexOf(splitOn, begin);
			if (end == -1)
				end = string.length;
			values[i++] = string.substring(begin, end);
			begin = end + splitLen;
		}
		values.length = i;	// for Netscape 2
		return values;
}
function revealResults() {
	var values = getValues();
	var myMarket = values['market'];
	var stateArea = document.getElementById("stateMenuDiv");
	var cityArea = document.getElementById("cityMenuDiv");
	if (myMarket==NaN || myMarket==undefined || myMarket=='') {
		stateArea.className = "showMe";
	} else {
		showMarketData(myMarket);
	}
}

function createCityMenu(stateMenu) {
	var cityMenu = document.getElementById("cityMenu");
	var cityArea = document.getElementById("cityMenuDiv");
	cityMenu.options.length = 0;
	var newItem = document.createElement("option");
	var textNode = document.createTextNode('Choose city/market');
	newItem.appendChild(textNode);
	newItem.setAttribute('value','');
	cityMenu.appendChild(newItem);
	for (var i = 0, length = cities.allCities.length; i < length; ++i) {
		if (stateMenu==cities.allCities[i].stateID) {
			var newItem = document.createElement("option");
			var textNode = document.createTextNode(cities.allCities[i].cityOption);
			newItem.appendChild(textNode);
			newItem.setAttribute('value',cities.allCities[i].marketID);
			cityMenu.appendChild(newItem);
		}
	}
	cityArea.className = "showMe";
}
function showMarketData(cityChoice) {
	var marketDataDiv = document.getElementById("marketDataDiv");
	var tryAgainButton = document.getElementById("tryAgainButton");
	var marketDataName = document.getElementById("marketDataName");
	var marketData1 = document.getElementById("marketData1");
	var marketData2 = document.getElementById("marketData2");
	var marketData3 = document.getElementById("marketData3");
	var marketData4 = document.getElementById("marketData4");
	var marketData5 = document.getElementById("marketData5");
	var marketData6 = document.getElementById("marketData6");
	var marketData7 = document.getElementById("marketData7");
	for (var i = 0, length = cities.allCities.length; i < length; ++i) {
		if (cityChoice==cities.allCities[i].marketID) {
			marketDataName.innerHTML = cities.allCities[i].cityOption;
			marketData1.innerHTML = '$' + addCommas(cities.allCities[i].medFamIncCurrYr);
			if (cities.allCities[i].medHomePriceCurrQ=='N/A') {
				marketData2.innerHTML =  addCommas(cities.allCities[i].medHomePriceCurrQ);
			} else {
				marketData2.innerHTML = '$' + addCommas(cities.allCities[i].medHomePriceCurrQ);
			}
			if (cities.allCities[i].chgPrevYrQtoCurrYrQ < 0.0) {
				marketData3.innerHTML = '<span style="color:red;">' + percentFormat(cities.allCities[i].chgPrevYrQtoCurrYrQ) + '%</span>';
			} else if (cities.allCities[i].chgPrevYrQtoCurrYrQ > 0.0) {
				marketData3.innerHTML = '<span style="color:green;">+' + percentFormat(cities.allCities[i].chgPrevYrQtoCurrYrQ) + '%</span>';
			} else {
				marketData3.innerHTML = cities.allCities[i].chgPrevYrQtoCurrYrQ + '%';
			}
			if (cities.allCities[i].forecast1yr < 0.0) {
				marketData4.innerHTML = '<span style="color:red;">' + percentFormat(cities.allCities[i].forecast1yr) + '%</span>';
			} else if (cities.allCities[i].forecast1yr > 0.0) {
				marketData4.innerHTML = '<span style="color:green;">+' + percentFormat(cities.allCities[i].forecast1yr) + '%</span>';
			} else {
				marketData4.innerHTML = cities.allCities[i].forecast1yr + '%';
			}
			if (cities.allCities[i].forecast2yr < 0.0) {
				marketData5.innerHTML = '<span style="color:red;">' + percentFormat(cities.allCities[i].forecast2yr) + '%</span>';
			} else if (cities.allCities[i].forecast2yr > 0.0) {
				marketData5.innerHTML = '<span style="color:green;">+' + percentFormat(cities.allCities[i].forecast2yr) + '%</span>';
			} else {
				marketData5.innerHTML = cities.allCities[i].forecast2yr + '%';
			}
			if (cities.allCities[i].worstYearChg < 0.0) {
				marketData6.innerHTML = '<span style="color:red;">' + percentFormat(cities.allCities[i].worstYearChg) + '%</span>';
			} else if (cities.allCities[i].worstYearChg > 0.0) {

				marketData6.innerHTML = '<span style="color:green;">+' + percentFormat(cities.allCities[i].worstYearChg) + '%</span>';
			} else {
				marketData6.innerHTML = percentFormat(cities.allCities[i].worstYearChg) + '%';
			}
			marketData7.innerHTML = '(' + cities.allCities[i].worstYearPeriod + ')';
		}
	}
	var stateArea = document.getElementById("stateMenuDiv");
	var cityArea = document.getElementById("cityMenuDiv");
	var formBox = document.getElementById("homePriceWidgetForm");
	formBox.className = "hideMe";
	stateArea.className = "hideMe";
	cityArea.className = "hideMe";
	marketDataDiv.className = "showMe";
	tryAgainButton.className = "hideMe";
}
function resetForm() {
	var stateArea = document.getElementById("stateMenuDiv");
	var stateMenu = document.getElementById("stateMenu");
	var cityArea = document.getElementById("cityMenuDiv");
	var cityMenu = document.getElementById("cityMenu");
	var marketDataDiv = document.getElementById("marketDataDiv");
	var tryAgainButton = document.getElementById("tryAgainButton");
	var formBox = document.getElementById("homePriceWidgetForm");
	formBox.className = "showMe";
	stateArea.className = "showMe";
	//alert(stateMenu.value);
	if (stateMenu.value == '') {
		cityArea.className = "hideMe";
	} else {
		cityArea.className = "showMe";
	}
	if (cityMenu.value == '') {
		createCityMenu(stateMenu.value);
		//alert(stateMenu.value);
	} else {
		cityArea.className = "showMe";
	}
	marketDataDiv.className = "hideMe";
	tryAgainButton.className = "hideMe";

}