jQuery(document).ready(function() {
	$("#storage").change(function () { doCalculate(); });
	$("#storage").keyup(function () { doCalculate(); });
	$("#users").change(function () { doCalculate(); });
	$("#users").keyup(function () { doCalculate(); });
	//$("#ssl").change(function () { doCalculate(); });
	//$("#ssl").keyup(function () { doCalculate(); });
	$("#estTotal").change(function () { doCalculate(); });
	$("#estTotal").keypress(function () { doCalculate(); });
	$("#estTotal").keyup(function () { doCalculate(); });
});
function doCalculate()
{
	var storage = getStorageCost($("#storage").val());
	var users = getUserCost($("#users").val());
	//var ssl = getSSLCost($("#ssl").val());
	var ssl = 0;
	$("#estTotal").val(formatMoney(storage+users+ssl));
}
function getStorageCost(qty)
{
	qty = stripChar(qty);
	$("#storage").val(formatNumber(qty));

	return (qty * 2);
}
function getUserCost(qty)
{
	qty = stripChar(qty);
	if (qty>33)
		qty=33; 
	$("#bandwidthOut").val(formatNumber(qty));
	return (qty * 15);
} 
function getSSLCost(qty)
{
	qty = stripChar(qty);
	$("#bandwidthIn").val(formatNumber(qty));
	return (qty * 50);
}

function formatCurrency(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);
	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
}
function formatMoney(number)
{
	if (isNaN(number))
		return "$0.00";
	else
	{
		// adapted from http://www.sonofsofaman.com/hobbies/code/js/formatcurrency.asp
		number = Math.floor(number*100+0.50000000001);
		intCents = number%100;
		strCents = intCents.toString();
		dblValue = Math.floor(number/100).toString();
		if(intCents<10)
			strCents = "0" + strCents
		for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
			dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
			dblValue.substring(dblValue.length-(4*i+3));
		return '$' + dblValue + '.' + strCents;
	}
}
function formatNumber(str)
{
    str += '';
    x = str.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 stripChar(str)
{
   return str.replace(/[^\d]/g,"");
}
function doReset()
{
	$("#storage").val("");
	$("#users").val("");
	$("#ssl").val("");	
	$("#estTotal").val("");
}
