$(function() { 
	$("#renewalFee").keypress(function(e){
		return isNumeric(e);
	});
	
	$("#ports").keypress(function(e){
		return isNumeric(e);
	});
	
	$("#btnCalculate").click(function(){
		populateTable($("#renewalFee").val(), $("#ports").val() )																		
	});

	
	populateTable(300, 100, true);							
});

function populateTable(p_renewalFee, p_ports, p_init){
	
	var fee = p_renewalFee;
	var ports = p_ports;
	
	var lvTotal = ((fee*ports) * .8) + (((fee*ports) * .2) * 3);
	var cpTotal = ((fee*ports) * 4);
	var cpAnnualFee = (fee * ports);
	var lvYearOneFee = ((fee * ports) * .8);
	var lvMaintenanceFee = ((fee*ports) * .2);

	$("#lv1").text(formatCurrency(lvYearOneFee));
	$("#lv2").text(formatCurrency(lvMaintenanceFee));
	$("#lv3").text(formatCurrency(lvMaintenanceFee));
	$("#lv4").text(formatCurrency(lvMaintenanceFee));
	$("#lvTotal").text(formatCurrency(lvTotal));
	
	$("#cp1").text(formatCurrency(cpAnnualFee));
	$("#cp2").text(formatCurrency(cpAnnualFee));
	$("#cp3").text(formatCurrency(cpAnnualFee));
	$("#cp4").text(formatCurrency(cpAnnualFee));
	$("#cpTotal").text(formatCurrency(cpTotal));
	
	$("#as1").text(formatCurrency(cpAnnualFee - lvYearOneFee));
	$("#as2").text(formatCurrency(cpAnnualFee - lvMaintenanceFee));
	$("#as3").text(formatCurrency(cpAnnualFee - lvMaintenanceFee));
	$("#as4").text(formatCurrency(cpAnnualFee - lvMaintenanceFee));	
	
	$("#asTotal").text(formatCurrency(cpTotal - lvTotal ));
	$("#txtTotalSavings").text(formatCurrency(cpTotal - lvTotal ));
	
	if(!p_init){
		logCalc(fee, ports);	
	}

}

function logCalc(p_a, p_b){

	$.ajax({
		type: "POST",
		url: "/unplug/unplugLog.ashx",
		dataType:"xml",
		data: "sessionID=" + document.forms[0].SessionID.value + "&portFee=" + p_a + "&ports=" + p_b,
		success: function(xml){
	   },

	   error:function(XMLHttpRequest, textStatus, errorThrown){
			//alert("Error -> " + textStatus + " : " + errorThrown)
	   }
	});
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	
	if(isNaN(num)) return 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 + '.' + cents);
}

function isNumeric(p_evt){

	var charCode = (jQuery.browser.msie) ? window.event.keyCode : p_evt.which;
	var txt;
	
	switch(charCode){
		case 0:
			// Tab Key
			return true;
			break;
		case 13:
			populateTable($("#renewalFee").val(), $("#ports").val() )
			return false;
		case 8:
		case 48:
		case 49:
		case 50:
		case 51:
		case 52:
		case 53:
		case 54:
		case 55:
		case 56:
		case 57:
			return true;
			break;
		default:
			return false;		
			break;
	}
}
