function FillIn(){
	//initial variables
	document.services.svc_hours.value = 0.25;			//hours charged per service
	document.services.linux_hours.value = 0.5;			//hours per linux server
	document.services.windows_hours.value = 1;			//hours per windows server
	document.services.firewall_rate.value = 100;		//cost per month per firewall
	document.services.load_balancer_rate.value = 100;	//cost per month per load balancer
	document.services.rr_rate.value = 20;				//cost per month per port
	
	//zero out everything else and calculate
	document.services.smtp.value = 0;
	document.services.pop3.value = 0;
	document.services.www.value = 0;
	document.services.dns.value = 0;
	document.services.sql.value = 0;
	document.services.other.value = 0;
	document.services.firewall.value = 0;
	document.services.load_balancer.value = 0;
	document.services.linux_qty.value = 0;
	document.services.windows_qty.value = 0;
	document.services.rr_qty.value = 0;
	document.services.additional_hours.value = 0;
	
	document.services.smtp.focus();
	
	CalculateIt();
}

function ValidateIt( elem ) {
	var objRegExp  = /(^-?\d\d*$)/;
	if( ! objRegExp.test(elem.value) ){
		alert( "You must enter an integer!");
		elem.select();
		elem.focus();
		return;
	}
	if(
		(
			document.services.smtp.value > 0 ||
			document.services.pop3.value > 0 ||
			document.services.www.value > 0 ||
			document.services.dns.value > 0 ||
			document.services.sql.value > 0 ||
			document.services.other.value > 0
		) && (
			document.services.linux_qty.value == 0 &&
			document.services.windows_qty.value == 0
		)
	){
		var warning = "<div align=\"center\" class=\"warning\">You must have at least one server for the above services!</div>";
	} else {
		var warning = "<div align=\"center\">&nbsp;</div>";
	}
	
	document.getElementById('server_warning').innerHTML = warning;
	
	CalculateIt();
}

function CalculateIt() {
	var smtp = document.services.smtp.value * 1; //multiiply by 1 so javascript realizes it's a number and not a string
	var pop3 = document.services.pop3.value * 1;
	var www = document.services.www.value * 1;
	var dns = document.services.dns.value * 1;
	var sql = document.services.sql.value * 1;
	var other = document.services.other.value * 1;
	document.services.time.value = (smtp + pop3 + www + dns + sql + other) * document.services.svc_hours.value;
	
	document.services.linux_time.value = document.services.linux_hours.value * document.services.linux_qty.value;
	
	document.services.windows_time.value = document.services.windows_hours.value * document.services.windows_qty.value;
	
	document.services.firewall_cost.value = document.services.firewall_rate.value * document.services.firewall.value;
	
	document.services.load_balancer_cost.value = document.services.load_balancer_rate.value * document.services.load_balancer.value;
	
	document.services.rr_cost.value = document.services.rr_rate.value * document.services.rr_qty.value;
	
	var firewall_cost = document.services.firewall_cost.value * 1;
	var load_balancer_cost = document.services.load_balancer_cost.value * 1;
	var rr_cost = document.services.rr_cost.value * 1;
	document.services.cumulative_cost.value = document.services.cumulative_cost_2.value = firewall_cost + load_balancer_cost + rr_cost;
	
	var time = document.services.time.value * 1;
	var linux_time = document.services.linux_time.value * 1;
	var windows_time = document.services.windows_time.value * 1;
	document.services.total_mng_hours.value = time + linux_time + windows_time;
	
	var total_mng_hours = document.services.total_mng_hours.value * 1;
	var additional_hours = document.services.additional_hours.value * 1;
	document.services.total_hours.value = document.services.total_hours_2.value = total_mng_hours + additional_hours;
	
	
	var total_hours = document.services.total_hours.value * 1;

	var package_split = document.services.monthly_hours.value.split(",");
	var package_hours = package_split[0] * 1;
	var package_rate = package_split[1] * 1;

	if( package_hours < total_hours ){
		var over_hours = total_hours - package_hours;
		var over_cost = over_hours * 180;
	} else {
		var over_hours = 0;
		var over_cost = 0;
	}

	document.services.package_hours.value = package_hours;
	document.services.package_rate.value = package_rate;
	document.services.overage.value = over_hours;
	document.services.overage_fees.value = over_cost;

	var total_mng_cost = document.services.total_mng_cost.value = package_rate + over_cost;
	var cumulative_cost = document.services.cumulative_cost.value * 1;
	document.services.total_cost.value = total_mng_cost + cumulative_cost;
}