var compareType = "year";

function selectCompareType(t)
{
	compareType = t;
}

function calculate()
{
	var c_salary = $("input[name='c_salary']");
	var n_salary = $("input[name='n_salary']");

	if(c_salary.val() == "")
	{
		alert("Please enter in your current salary.");
	}
	else if(!isNumeric(c_salary.val()))
	{
		alert("Please check your current salary.");
	}
	else if(n_salary.val() == "")
	{
		alert("Please enter in your new salary.");
	}
	else if(!isNumeric(n_salary.val()))
	{
		alert("Please check your new salary.");
	}
	else
	{
		determineCurrentGrossIncome(c_salary.val());
		determineNewGrossIncome(n_salary.val());
		determineCurrentSuper();
		determineNewSuper();
		determineCTaxIncome();
		determineNTaxIncome();
		determineIncomeDiff();
		determineSuperDiff();
		determineTaxIncomeDiff();

		$('div#calculator_results').slideDown();
		$('.calc_results').fadeIn();
	}
}

function isNumeric(sText)
{
	var ValidChars = "0123456789.,";
	var IsNumber=true;
	var Char;
 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if(ValidChars.indexOf(Char) == -1) 
			IsNumber = false;
	}
	
	return IsNumber;
}

function determineCurrentGrossIncome(amount)
{
	dur = $("select[name='c_duration']").val();

	amount = prepareAmount(amount);

	cSalary = amount;
	
	var cDuration = dur;
	var cGrossIncome;

	if(compareType == "year")
	{
		if(dur == "Month")
			cGrossIncome = cSalary*12;
		else if(dur == "Week")
			cGrossIncome = cSalary*52;
		else if(dur == "Year")
			cGrossIncome = cSalary;
	}
	else if(compareType == "month")
	{
		if(dur == "Month")
			cGrossIncome = cSalary;
		else if(dur == "Week")
			cGrossIncome = cSalary/52;
		else if(dur == "Year")
			cGrossIncome = cSalary/12;
	}
	else if(compareType == "fortnight")
	{
		if(dur == "Month")
			cGrossIncome = (cSalary/2)-(cSalary/26);
		else if(dur == "Week")
			cGrossIncome = cSalary*2;
		else if(dur == "Year")
			cGrossIncome = cSalary/26;
	}
	else if(compareType == "week")
	{
		if(dur == "Month")
			cGrossIncome = cSalary/4-(cSalary/52);
		else if(dur == "Week")
			cGrossIncome = cSalary;
		else if(dur == "Year")
			cGrossIncome = cSalary/52;
	}

	$('span#cGrossIncome').html(formatNumber(cGrossIncome));
}

function determineNewGrossIncome(amount)
{
	dur = $("select[name='n_duration']").val();

	amount = prepareAmount(amount);

	var nSalary = amount;
	
	var nDuration = dur;
	var nGrossIncome;

	if(compareType == "year")
	{
		if(dur == "Month")
			nGrossIncome = nSalary*12;
		else if(dur == "Week")
			nGrossIncome = nSalary*52;
		else if(dur == "Year")
			nGrossIncome = nSalary;
	}
	else if(compareType == "month")
	{
		if(dur == "Month")
			nGrossIncome = nSalary;
		else if(dur == "Week")
			nGrossIncome = nSalary/52;
		else if(dur == "Year")
			nGrossIncome = nSalary/12;
	}
	else if(compareType == "fortnight")
	{
		if(dur == "Month")
			nGrossIncome = (nSalary/2)-(nSalary/26);
		else if(dur == "Week")
			nGrossIncome = nSalary*2;
		else if(dur == "Year")
			nGrossIncome = nSalary/26;
	}
	else if(compareType == "week")
	{
		if(dur == "Month")
			nGrossIncome = nSalary/4-(nSalary/52);
		else if(dur == "Week")
			nGrossIncome = nSalary;
		else if(dur == "Year")
			nGrossIncome = nSalary/52;
	}

	$('span#nGrossIncome').html(formatNumber(nGrossIncome));
}

function prepareAmount(amount)
{
	var newAmount = "";
	
	for (i=0;i<amount.length; i++) 
	{ 
		Char = amount.charAt(i); 
		if(Char != ',' && Char != '$' && Char != '-') 
			newAmount += Char;
	}
	
	return parseFloat(newAmount);
}

function determineCurrentSuper()
{
	var super2 = 0;
	var superPercent = $("input[name='c_super']").val();
	var isChecked = $("input[name='c_incsuper']").attr('checked');
	
	if(isChecked)
	{
		var cGrossIncome = prepareAmount($('span#cGrossIncome').text());
		var super2 = (cGrossIncome/100)*superPercent;
	}

	$("span#cSuper").html('-' + formatNumber(super2));
}

function determineNewSuper()
{
	var super2 = 0;
	var superPercent = $("input[name='n_super']").val();

	if($("input[name='n_incsuper']").attr('checked'))
	{
		var nGrossIncome = prepareAmount($('span#nGrossIncome').text());
		var super2 = (nGrossIncome/100)*superPercent;
	}

	$("span#nSuper").html('-' + formatNumber(super2));
}

function determineCTaxIncome()
{
	var cTaxIncome;

	var cGrossIncome = prepareAmount($('span#cGrossIncome').text());
	var cSuper = prepareAmount($('span#cSuper').text());

	var cTaxIncome = cGrossIncome - cSuper;

	$('span#cTaxIncome').text(formatNumber(cTaxIncome));
}

function determineNTaxIncome()
{
	var nTaxIncome;

	var nGrossIncome = prepareAmount($('span#nGrossIncome').text());
	var nSuper = prepareAmount($('span#nSuper').text());

	var nTaxIncome = nGrossIncome - nSuper;

	$("span#nTaxIncome").text(formatNumber(nTaxIncome));
}

function determineIncomeDiff()
{
	var cGrossIncome = prepareAmount($('span#cGrossIncome').text());
	var nGrossIncome = prepareAmount($('span#nGrossIncome').text());
	
	var incomeDiff = nGrossIncome - cGrossIncome;
	
	if(incomeDiff < 0)
		$('span#incomeDiffArrow').html('<img src="images/down_arrow.png" />');
	else if(incomeDiff > 0)
		$('span#incomeDiffArrow').html('<img src="images/up_arrow.png" />');
	else
		$('span#incomeDiffArrow').html('');

	$('span#incomeDiff').text(formatNumber(incomeDiff));
}

function determineSuperDiff()
{
	var cSuper = prepareAmount($('span#cSuper').text());
	var nSuper = prepareAmount($('span#nSuper').text());
	
	var superDiff = nSuper - cSuper;
	
	if(superDiff < 0)
		$('span#superDiffArrow').html('<img src="images/down_arrow.png" />');
	else if(superDiff > 0)
		$('span#superDiffArrow').html('<img src="images/up_arrow.png" />');
	else
		$('span#superDiffArrow').html('');

	$('span#superDiff').text(formatNumber(superDiff));
}

function determineTaxIncomeDiff()
{
	var cTaxIncome = prepareAmount($('span#cTaxIncome').text());
	var nTaxIncome = prepareAmount($('span#nTaxIncome').text());
	
	var taxDiff = nTaxIncome - cTaxIncome;

	if(taxDiff < 0)
		$('span#taxIncomeDiffArrow').html('<img src="images/down_arrow.png" />');
	else if(taxDiff > 0)
		$('span#taxIncomeDiffArrow').html('<img src="images/up_arrow.png" />');
	else
		$('span#taxIncomeDiffArrow').html('');

	$('span#taxIncomeDiff').text(formatNumber(taxDiff));
}

function formatNumber(num)
{
	var dec = 2;
	num = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	
	return '$' + addCommas(num);
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.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 clearCalc()
{
	$('div#calculator_results').slideUp();
	$('.calc_results').fadeOut();

	$("input[name='c_salary']").val("");
	$("input[name='n_salary']").val("");
	$("input[name='c_super']").val("9");
	$("input[name='n_super']").val("9");
	$("input[name='compare_salary']").removeAttr("checked");
	$("#year_compare").attr("checked","checked");
}