/**
 * categoryShowOnly
 * @param {type} catId 
 */
 function categoryShowOnly(catId) {
 	noPropDiv = document.getElementById("noProperties");
 	noPropDiv.style.display = 'none';
 	var divsToShow = false;
	var divs = document.getElementsByClassName("property", "sort_table_0");
	for (var i=0; i<divs.length; i++) {
		if (catId == -1) {
			divs[i].style.display = 'block';
			divsToShow = true;
		} else {
			if (divs[i].getAttribute("typeId") != catId) {
				divs[i].style.display = 'none';
			} else {
				divs[i].style.display = 'block';
				divsToShow = true;
			}
		}
	}
	if (!divsToShow) {
		
		noPropDiv.style.display = 'block';
	}
 }
 
 function selectType(type, phase) {
 	var typeOptions = getSelectedOptions(type);
 	var properties = document.getElementById("properties");
 	var funds = document.getElementById("funds");
 	
 	// here is the code that shows/hides based on type
 	var rowType = type.options[type.selectedIndex].value;
 	//var rows = document.getElementsById('propertyRow');
 	var rows = document.getElementsByClassName('propertyRow','sort_table_0');
 	var usedOptions = new Array();
	
	for (h=0; h<typeOptions.length; h++) {  // for each row that was selected
	 	theRow = typeOptions[h].value;

	 	for (i=0; i<rows.length; i++) {  // for each property in the table
	 		if (theRow == "all") {
	 			rows[i].style.display = "";
	 			properties.style.display = "block";
	 			funds.style.display = "block";
	 		} else if (theRow == "fund") {
	 			 properties.style.display = "none";
	 			 funds.style.display = "block";
	 		}else {
	 			properties.style.display = "block";
	 			funds.style.display = "none";
				if (usedOptions.indexOf(rows[i].getAttribute("category")) == -1) {  // if we haven't already processed this category

			 		if (rows[i].getAttribute("category") == theRow) {
			 			rows[i].style.display = "";
			 		} else {
			 			rows[i].style.display = "none";
			 		}
		 		}
	 		}
	 	}
		usedOptions[usedOptions.length] = theRow;  // we have processed this category
	}
 	
 	// here is the code that shows/hides based on phase
 	phaseOptions = getSelectedOptions(phase);
 	
 	for (j=0; j< phaseOptions.length; j++) {
	 	phase_to_show = phaseOptions[j].value;
	 	
	 	if (phase_to_show == 'all') {
	 		for (i=0; i<phase.length; i++) {
	 			if (phase[i].value != 'all') {
	 				document.getElementById(phase[i].value+"_header").style.display = "";
		 			document.getElementById(phase[i].value+"_body").style.display = "";
		 			
		 			document.getElementById("fund_"+phase[i].value+"_header").style.display = "";
		 			document.getElementById("fund_"+phase[i].value+"_body").style.display = "";
		 		}
	 		}
	 	} else {
		 	for (i=0; i<phase.length; i++) {
		 		if (!phase[i].selected && phase[i].value.toLowerCase() != 'all') {
		 			document.getElementById(phase[i].value+"_header").style.display = "none";
		 			document.getElementById(phase[i].value+"_body").style.display = "none";
		 			
		 			document.getElementById("fund_"+phase[i].value+"_header").style.display = "none";
		 			document.getElementById("fund_"+phase[i].value+"_body").style.display = "none";
		 		} else {
		 			if (phase[i].value != "all") {
		 				document.getElementById(phase[i].value+"_header").style.display = "";
		 				document.getElementById(phase[i].value+"_body").style.display = "";
		 			}
		 			document.getElementById("fund_"+phase_to_show+"_header").style.display = "";
		 			document.getElementById("fund_"+phase_to_show+"_body").style.display = "";
		 		}
		 	}
	 	}
 	}
 	// now that we have shown/hid all the rows, we need to tally the visable columns
 	getTotals(rows);
 }
 
 function getTotals(rows) {
 	var totalCost = 0;
 	var capitalRaised = 0;
 	var salePrice = 0;
 	var annualizedROI = 0;
 	var count = 0;

 	for (i=0; i<rows.length; i++) {  // for each property in the table
 		if (rows[i].style.display == '' && rows[i].parentNode.style.display == '') {
 			count++;
 			// if this row is visable we need to total the values
 			totalCost += addMe(getInnerHTML(rows[i].getElementsByTagName("td")[3]));
 			capitalRaised += addMe(getInnerHTML(rows[i].getElementsByTagName("td")[4]));
 			salePrice += addMe(getInnerHTML(rows[i].getElementsByTagName("td")[5]));
 			annualizedROI += addMe(getInnerHTML(rows[i].getElementsByTagName("td")[6]));
 		}
 	}
 	var averageROI = annualizedROI / count;
 	//alert(annualizedROI + " / " +count + " = " + averageROI);
 	document.getElementById("totalCost").innerHTML = currency(totalCost);
 	document.getElementById("capitalRaised").innerHTML = currency(capitalRaised);
 	document.getElementById("salePrice").innerHTML = currency(salePrice);
 	document.getElementById("annualizedROI").innerHTML = averageROI.toFixed(2) + "%<em class='px9'> (avg.)</em>";
 }
 
 function getInnerHTML(node) {
 	if (node.childNodes.item(0) != null) {
 		return node.childNodes.item(0).data
 	} else {
 		return "0";
 	}
 }
 
 function getSelectedOptions(selectObject) {
 	var selectedOptions = new Array();
 	for (i = 0; i < selectObject.length; i++) {
 		if (selectObject.options[i].selected) {
 			selectedOptions[selectedOptions.length] = selectObject.options[i];
 		}
 	}
 	return selectedOptions;
 }
 
 function popEmailSignup() {
 	window.open("/emailSignUp/","emailSingUp","width=325, height=288");
 }
 
 function switchCards(obj) {
 	for (i = 0; i < obj.options.length; i++) {
 		if (!obj.options[i].selected) {
 			// hide the div
 			$(obj.options[i].value).style.display = "none";
 		} else {
 			// show the div
 			$(obj.options[i].value).style.display = "block";
 		}
 	}
 }
 	
 function addMe(value) {
 	//parseInt(getInnerHTML(rows[i].getElementsByTagName("td")[3]))
 		value = value.replace("None", "");
 		value = value.replace(/,/g, "");
 		value = value.replace("$", "");
 		if (value == "") {
 			return 0;
 		}
 		return parseInt(value);
 }
 
 function currency(num) {
 num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) {
		num = "0";
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	//cents = num%100;
	num = Math.floor(num/100).toString();
	//if(cents<10)
	//cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + '$' + num);
 }
