var ext = ' kr.';
var VATlimit = 80;
var customslimit = 1150;
var POSTDK_GEBYR = 160;
var POSTDK_GEBYR_PR_LINE = 36;

var customsRateNames = new Array( "DVD'er", "Musik CD'er", "Spil til konsol", "B&#248;ger", "Golf", "Kikkerter", "Briller", "Solbriller" );
var customsRates = new Array( 0.035, 0.035, 0.035, 0, 0.027, 0.042, 0.029, 0.029 );

var rateNames = new Array( "DKK", "EUR&#8364;", "USD$", "GBP&#163;", "AUD$", "HKD$", "CAD$", "JPY&#165;" );

//DKK, EUR, USD, GBP, AUD, HKD, CAD, JPY
//var rates = new Array(1, 7.4540, 5.3327, 7.8966, 3.6464, 0.6881, 4.3742, 0.059145); //january - 2009
//var rates = new Array(1, 7.4507, 5.7713, 7.9381, 3.7371, 0.7438, 4.5584, 0.064169); //februar
//var rates = new Array(1, 7.4513, 5.9156, 7.9340, 3.7774, 0.7628, 4.6917, 0.060193); //march
//var rates = new Array(1, 7.4486, 5.7531, 8.3862, 4.0548, 0.7423, 4.6247, 0.058720); //may
//var rates = new Array(1, 7.4452, 5.4384, 8.4355, 4.2170, 0.7015, 4.7349, 0.053946); //june
//var rates = new Array(1, 7.4464, 5.3791, 8.7359, 4.2473, 0.6941, 4.7136, 0.055858); //juli
//var rates = new Array(1, 7.4458, 5.2468, 8.6099, 4.2657, 0.6770, 4.7413, 0.056199); //august
//var rates = new Array(1, 7.4418, 5.0340, 8.2742, 4.4019, 0.6495, 4.7118, 0.055141); //october
//var rates = new Array(1, 7.4434, 4.9885, 8.2695, 4.6018, 0.6437, 4.7248, 0.054803); //november
//var rates = new Array(1, 7.4433, 5.2139, 8.3193, 4.5749, 0.6724, 4.9678, 0.056841); //january - 2010
//var rates = new Array(1, 7.4435, 5.4229, 8.5656, 4.8999, 0.6980, 5.2031, 0.059696); //march - 2010
//var rates = new Array(1, 7.4520, 5.8141, 8.8771, 5.1439, 0.7478, 5.6097, 0.066821); //august - 2010
//var rates = new Array(1, 7.4499, 5.5746, 8.7103, 5.3278, 0.7183, 5.4466, 0.065847); //october - 2010
var rates = new Array(1, 7.4576, 5.1379, 8.4105, 5.4791, 0.6609, 5.4009, 0.062079); //may - 2011

function fillRates( )
{
	$("#currency").find('option').remove();

	for( i=0; i<rateNames.length; i++ )
	{
		var visualRate = rates[i] * 100;

		if( visualRate >= 100 || visualRate < 10 )
		{
			visualRate = visualRate.toPrecision( 5 );
		}
		else if( visualRate < 100 && visualRate >= 10 )
		{
			visualRate = visualRate.toPrecision( 4 );
		}

		$("#currency").append( "<option value=\"" + i + "\">" + rateNames[i] + ' ' + visualRate + "</option>" );
	}

	$("#currency").attr( 'selectedIndex', 0 );
}

function fillCustomsRates( )
{
	$("#goodsType").find('option').remove();

	for( i=0; i<customsRates.length; i++ )
	{
		$("#goodsType").append( "<option value=\"" + customsRates[i] + "\">" + customsRateNames[i] + "</option>" );
	}

	$("#goodsType").attr( 'selectedIndex', 0 );
}

function setTotalGreen(green)
{
	if( green )
	{
		$("#total").css( "border-color", "green" );
	}
	else
	{
		$("#total").css( "border-color", "red" );
	}
}

function calcTotal()
{
	var numGoods = $("#numGoods").val().replace(/,/, '.') * 1;
	var price = $("#price").val().replace(/,/, '.') * 1;
	var pp = $("#pp").val().replace(/,/, '.') * 1;
	var customsRate = $("#goodsType").val().replace(/,/, '.') * 1;
	var currency = $("#currency").val() * 1;

	price = Math.round(price * rates[currency] * 100) / 100;
	pp = Math.round(pp * rates[currency] * 100) / 100;

	var customs = 0;
	var VAT = 0;
	var postdk = 0;
	var total = price + pp;

	var baseOfCalculation = 0;

	if( $("#boc").attr("checked") )
		baseOfCalculation = total;
	else
		baseOfCalculation = price;

	if( baseOfCalculation<VATlimit )
	{
		setTotalGreen(true);
	}
	else
	{
		setTotalGreen(false);

		if( baseOfCalculation>customslimit )
		{
			customs = total * customsRate;
		}

		postdk = POSTDK_GEBYR;

		if( numGoods > 1 )
			postdk += ( numGoods - 1 ) * POSTDK_GEBYR_PR_LINE;

		VAT = (total + customs) * 0.25;

		total = total + VAT + customs + postdk;
	}

	$("#customs").val( (customs + VAT).toFixed(2) + ext );
	$("#postdk").val( postdk.toFixed(2) + ext );
	$("#subtotal").val( 'ca. ' + (total - VAT - customs - postdk).toFixed(2) + ext );
	$("#total").val( 'ca. ' + total.toFixed(2) + ext );
}

function NumbersOnly(input, e)
{
	var key;

	if (window.event)
	{
		key = window.event.keyCode;
	}
	else if (e)
	{
		key = e.which;
	}
	else
	{
		return true;
	}

	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (('0123456789.,').indexOf(String.fromCharCode(key)) > -1))
	{
		return true;
	}
	else
	{
		return false;
	}
}

