//////// Water form functions ////////////

function handleWaterFormEdit(updateSavedFlag) {	
	WaterScorecard.calculate();
	
	Forms.setTabState('tabWater', 'Water', updateSavedFlag, parseFloat($('waterTotal').value) >= 0);
}

var WaterScorecard = {
	/* Utility */
	calcPercentage: function(num, total){
		if(isNaN(parseFloat(num)) || isNaN(parseFloat(total)))
			return NaN;		
		var percentage = total == 0 ? 0 : num/total;
		return percentage;
	},
	
	calcPointsScored: function(perc, target, weighting){
		return perc/target*weighting;
	},
	
	calculate: function(){
		//
		// Geyser water
		//
		var _score = this.calcPercentage ($F('recOutlets'), $F('numOutlets'));
		var _points = this.calcPointsScored(_score, 1.00, 3);		

		$('gwPerc').update((_score*100.0).toPerc(2));
		$('gwPoints').update(_points.toDec(2));
		$('gwTot').update(_points.toDec(2));
		$('gwTotal').value = _points.toDec(2);
		
		//
		// Rain water
		//
		var _score = this.calcPercentage ($F('captureArea'), $F('saRoof'));
		var _points = this.calcPointsScored(_score, 0.75, 3);		

		$('rwPerc').update((_score*100.0).toPerc(2));
		$('rwPoints').update(_points.toDec(2));
		if (_points > 3) _points = 3;
		$('rwTot').update(_points.toDec(2));
		$('rwTotal').value = _points.toDec(2);
		
		//
		// Tap Systems
		//
		var _score = this.calcPercentage ($F('numTapswr'), $F('numTaps'));
		var _points = this.calcPointsScored(_score, 0.75, 2);		

		$('tsPerc').update((_score*100.0).toPerc(2));
		$('tsPoints').update(_points.toDec(2));
		if (_points > 2) _points = 2;
		$('tsTot').update(_points.toDec(2));
		$('tsTotal').value = _points.toDec(2);
		
		//
		// Shower Systems
		//
		var _score = this.calcPercentage ($F('numShowerwr'), $F('numShower'));
		var _points = this.calcPointsScored(_score, 0.75, 2);		

		$('ssPerc').update((_score*100.0).toPerc(2));
		$('ssPoints').update(_points.toDec(2));
		if (_points > 2) _points = 2;
		$('ssTot').update(_points.toDec(2));
		$('ssTotal').value = _points.toDec(2);
		
		//
		// Toilet System
		//
		var _score = this.calcPercentage ($F('numToiletswr'), $F('numToilets'));
		var _points = this.calcPointsScored(_score, 0.75, 2);		

		$('toPerc').update((_score*100.0).toPerc(2));
		$('toPoints').update(_points.toDec(2));
		if (_points > 2) _points = 2;
		$('toTot').update(_points.toDec(2));
		$('toTotal').value = _points.toDec(2);
		
		//
		// Guest Awareness
		//
		var _score = this.calcPercentage ($F('numRoomsAware'), $F('numRooms'));
		var _points = this.calcPointsScored(_score, 1.00, 2);		

		$('coPerc').update((_score*100.0).toPerc(2));
		$('coPoints').update(_points.toDec(2));
		if (_points > 2) _points = 2;
		$('coTot').update(_points.toDec(2));
		$('coTotal').value = _points.toDec(2);
		
		//
		// Current year totals
		//
		
		this.wcCurYear();
		this.rcCurYear();
		this.bmCurYear();
		this.nrCurYear();
		this.nrcCurYear();
		
		//
		// Previous year totals
		//
		this.wcPrevYear();
		this.rcPrevYear();
		this.bmPrevYear();
		this.nrPrevYear();
		this.nrcPrevYear();
		
		//
		// Grand Total
		//
		
		this.waterTotaler();
		
	},
	
	
	wcCurYear: function () {
		var one = parseFloat($('wcCurYear').value)
		var two = parseFloat($('nrcCurYear').value);
		var val = one/two;
		$('mc0809').update(formatNumber(val,2));
		var three = parseFloat($('mc0607').innerHTML);
		var val2 = val-three;
		$('mcScore').update(formatNumber(val2,2));
		var val3 = (val2/-10)*6;
		$('mcPoints').update(formatNumber(val3,2));
		if(val3 > 6){
			$('mcCalc1').update(6);
		}else{
			$('mcCalc1').update(formatNumber(val3,2));
		}
		if(val3 > 0){
			$('mcCalc2').update(formatNumber(val3,2));
		}else{
			$('mcCalc2').update(0);
		}
		var val4 = parseFloat($('mcCalc1').innerHTML);
		var val5 = parseFloat($('mcCalc2').innerHTML);
		if(val4 > val5){
			$('mcFinal').update(formatNumber(val4,2));
		}else{
			$('mcFinal').update(formatNumber(val5,2));
		}
	},
	
	rcCurYear: function () {
		var one = parseInt($('rcCurYear').value);
		var two = parseInt($('nrcCurYear').value);
		var val = one/two;
		$('rcVal').update(formatNumber(val,2));
		$('nc0809').update(formatNumber(val,2));
		var three = $('nc0607').innerHTML;
		var four = $('nc0809').innerHTML;
		var val2 = four - three;
		$('ncScore').update(val2);
		var points = (val2/-50)*3
		$('ncPoints').update(formatNumber(points,2));
		if(points > 3){
			$('ncCalc1').update(3);
		}else{
			$('ncCalc1').update(formatNumber(points,2));
		}
		if(points > 0){
			$('ncCalc2').update(formatNumber(points,2));
		}else{
			$('ncCalc2').update(0);
		}
		var val3 = parseInt($('ncCalc1').innerHTML);
		var val4 = parseInt($('ncCalc2').innerHTML);
		if(val3 > val4){
			$('ncFinal').update(formatNumber(val3,2));
		}else{
			$('ncFinal').update(formatNumber(val4,2));
		}
	},
	
	bmCurYear: function (){
		var one = parseInt($('bmCurYear').value);
		var two = parseInt($('nrcCurYear').value);
		var val = one/two;
		$('bmVal').update(formatNumber(val,2));
		$('ncc0809').update(formatNumber(val,2));
		var three = $('ncc0607').innerHTML;
		var four = $('ncc0809').innerHTML;
		var val2 = four - three;
		$('nccScore').update(formatNumber(val2,2));
		var points = (val2/-25)*3
		$('nccPoints').update(formatNumber(points,2));
		if(points > 3){
		$('nccCalc1').update(3);
		}else{
			$('nccCalc1').update(formatNumber(points,2));
		}
		if(points > 0){
			$('nccCalc2').update(formatNumber(points,2));
		}else{
			$('nccCalc2').update(0);
		}
		var val3 = parseInt($('nccCalc1').innerHTML);
		var val4 = parseInt($('nccCalc2').innerHTML);
		if(val3 > val4){
			$('nccFinal').update(formatNumber(val3,2));
		}else{
			$('nccFinal').update(formatNumber(val4,2));
		}
	},
	
	nrCurYear: function (){
		var one = parseInt($('nrCurYear').value);
		var two = parseInt($('nrcCurYear').value);
		var val = two/one;
		$('nrVal').update(formatNumber(val,2));
	},
	
	nrcCurYear: function () {
		var one = parseInt($('rcCurYear').value);
		var two = parseInt($('bmCurYear').value);
		var three = parseInt($('nrCurYear').value);
		var four = parseInt($('nrcCurYear').value);
		var rcTotal = one/four;
		var bmTotal = two/four;
		var nrTotal = four/three;
		$('rcVal').update(formatNumber(rcTotal,2));
		$('bmVal').update(formatNumber(bmTotal,2));
		$('nrVal').update(formatNumber(nrTotal,2));
		this.wcCurYear();
	},
	
	wcPrevYear: function () {
		var one = parseInt($('wcPrevYear').value)
		var two = parseInt($('nrcPrevYear').value);
		var val = one/two;
		$('mc0607').update(formatNumber(val,2));
		var three = parseFloat($('mc0809').innerHTML);
		var val2 = three-val;
		$('mcScore').update(formatNumber(val2,2));
		var val3 = (val2/-10)*6;
		$('mcPoints').update(formatNumber(val3,2));
		if(val3 > 6){
			$('mcCalc1').update(6);
		}else{
			$('mcCalc1').update(formatNumber(val3,2));
		}
		if(val3 > 0){
			$('mcCalc2').update(formatNumber(val3,2));
		}else{
			$('mcCalc2').update(0);
		}
		var val4 = parseFloat($('mcCalc1').innerHTML);
		var val5 = parseFloat($('mcCalc2').innerHTML);
		if(val4 > val5){
			$('mcFinal').update(formatNumber(val4,2));
		}else{
			$('mcFinal').update(formatNumber(val5,2));
		}
	},
	
	rcPrevYear: function () {
		var one = parseInt($('rcPrevYear').value);
		var two = parseInt($('nrcPrevYear').value);
		var val = one/two;
		$('rcVal2').update(formatNumber(val,2));
		$('nc0607').update(formatNumber(val,2));
		var three = $('nc0607').innerHTML;
		var four = $('nc0809').innerHTML;
		var val2 = four - three;
		$('ncScore').update(val2);
		var points = (val2/-50)*3
		$('ncPoints').update(formatNumber(points,2));
		if(points > 3){
			$('ncCalc1').update(3);
		}else{
			$('ncCalc1').update(formatNumber(points,2));
		}
		if(points > 0){
			$('ncCalc2').update(formatNumber(points,2));
		}else{
			$('ncCalc2').update(0);
		}
		var val3 = parseInt($('ncCalc1').innerHTML);
		var val4 = parseInt($('ncCalc2').innerHTML);
		if(val3 > val4){
			$('ncFinal').update(formatNumber(val3,2));
		}else{
			$('ncFinal').update(formatNumber(val4,2));
		}
	},
	
	bmPrevYear: function (){
		var one = parseInt($('bmPrevYear').value);
		var two = parseInt($('nrcPrevYear').value);
		var val = one/two;
		$('bmVal2').update(formatNumber(val,2));
		$('ncc0607').update(formatNumber(val,2));
		var three = $('ncc0607').innerHTML;
		var four = $('ncc0809').innerHTML;
		var val2 = four - three;
		$('nccScore').update(formatNumber(val2,2));
		var points = (val2/-25)*3
		$('nccPoints').update(formatNumber(points,2));
		if(points > 3){
		$('nccCalc1').update(3);
		}else{
			$('nccCalc1').update(formatNumber(points,2));
		}
		if(points > 0){
			$('nccCalc2').update(formatNumber(points,2));
		}else{
			$('nccCalc2').update(0);
		}
		var val3 = parseInt($('nccCalc1').innerHTML);
		var val4 = parseInt($('nccCalc2').innerHTML);
		if(val3 > val4){
			$('nccFinal').update(formatNumber(val3,2));
		}else{
			$('nccFinal').update(formatNumber(val4,2));
		}
	},
	
	nrPrevYear: function () {
		var one = parseInt($('nrPrevYear').value);
		var two = parseInt($('nrcPrevYear').value);
		var val = two/one;
		$('nrVal2').update(formatNumber(val,2));
	},
	
	nrcPrevYear: function (){
		var one = parseInt($('rcPrevYear').value);
		var two = parseInt($('bmPrevYear').value);
		var three = parseInt($('nrPrevYear').value);
		var four = parseInt($('nrcPrevYear').value);
		var rcTotal = one/four;
		var bmTotal = two/four;
		var nrTotal = four/three;
		$('rcVal2').update(formatNumber(rcTotal,2));
		$('bmVal2').update(formatNumber(bmTotal,2));
		$('nrVal2').update(formatNumber(nrTotal,2));
		this.wcPrevYear();
	},
	
	waterTotaler: function (){
		var gw = parseFloat($('gwTotal').value);
		var rw = parseFloat($('rwTotal').value);
		var ts = parseFloat($('tsTotal').value);
		var ss = parseFloat($('ssTotal').value);
		var to = parseFloat($('toTotal').value);
		var co = parseFloat($('coTotal').value);
		var mc = parseFloat($('mcFinal').innerHTML);
		var nc = parseFloat($('ncFinal').innerHTML);
		var ncc = parseFloat($('nccFinal').innerHTML);
		var sum = formatNumber(gw + rw + ts + ss + to + co + mc + nc + ncc, 2);
		$('wTotal').update(sum);
		$('waterTotal').value = sum;
	
	}
}