var PostBoxOrder = {
	validateOrder: function ()
	{
		Validation.missingValues = false;
		
		if (!$('postbox_type_1').checked && !$('postbox_type_2').checked)
		{
			showMsg('Vennligst velg postkassetype');
			return false;
		}
		
		// Check if required fields have values
		Validation.isEmpty('contact[fullname]');
		Validation.isEmpty('contact[street1]');
		var postalIsEmpty = Validation.isEmpty('contact[postal_code]');
		var cityIsEmpty = Validation.isEmpty('contact[city]');
		Validation.isEmpty('color_option');
		
		var msg = '';
		
		if (Validation.missingValues) {
			msg = 'Vennligst angi verdier i alle feltene som er merket i rødt';
		}
		
		// Validate postal code
		if (!postalIsEmpty && !Validation.isValidPostalCode($('contact[postal_code]').value)) {
			msg += (msg.length > 0 ? '<br/>' : '')+ 'Postnr er ugyldig';
			Validation.flagField('contact[postal_code]', false);
		}
		else if (cityIsEmpty && !postalIsEmpty) {
			msg += (msg.length > 0 ? '<br/>' : '')+ 'Postnr finnes ikke registrert';
			Validation.flagField('contact[postal_code]', false);
		}

		// Validate email
		var email = $('contact[email]').value;
		if (email.length > 0 && !Validation.isValidEmail(email)) {
			msg += (msg.length > 0 ? '<br/>' : '')+ 'Epostadressen er ikke gyldig';
			Validation.flagField('contact[email]', false);
		}
		
		// Show message
		if (msg.length > 0)
		{
			showMsg(msg);
			return false;
		}
		
		return true;
	},

	choosePostbox: function(t)
	{
		// Set price
		if (t == 1)
			$('price').value = $('price_type_1').value;
		else
			$('price').value = $('price_type_2').value;
		
		// Set postbox type
		$('postbox_type').value = t;
		
		// Get color options for selected type
		this.setColorOptions(t);
		$('colorContainer').style.display = 'block';
		
		// Calculate price for selected type
		this.calcTotalPrice();
	},

	setColorOptions: function(t)
	{
		var colors = new Array();

		colors[0] = '';
		
		if (t == 1)
		{
			colors[1] = 'Lys grå';
			colors[2] = 'Grønn';
			colors[3] = 'Hvit';
		}
		else
		{
			colors[1] = 'Grå';
			colors[2] = 'Grønn';
			colors[3] = 'Sort';
		}
		
		this.emptyColorOptions();
		
		var el = $('color_option');
		var count = Number(colors.length);

		for (var i=0;i<count;i++)
		{
			var opt = document.createElement("option");
			opt.text = colors[i];
			opt.value = colors[i];
			el.options.add(opt);
		}
	},

	emptyColorOptions: function()
	{
		var el = $('color_option');
		var i, length = Number(el.options.length);
		
		if (navigator.appName.indexOf("Netscape") != -1)
		{
			for (i=(length); i >= 0; i--) {
				el.options[i]=null;
			}
		}
		else if (navigator.userAgent.indexOf("Opera") != -1)
		{
			for(i=(length); i >= 0; i--) {
				el.options.remove(i);
			}
		}
		else if ((navigator.userAgent.indexOf("MSIE") != -1) && (parseInt(navigator.appVersion) >= 4))
		{
			for(i=(length); i >= 0; i--) {
				el.options.remove(i);
			}
		}
		else if ((navigator.userAgent.indexOf("MSIE") != -1) && (parseInt(navigator.appVersion) < 4))
		{
			for (i=(length-1); i >= 0; i--) {
				el.options[i].selected = false;
			}
		}
		else
		{
			for (i=(length-1); i >= 0; i--) {
				el.options[i].selected = false;
			}
		}
	},

	calcTotalPrice: function(opt)
	{
		var price = parseInt($('price').value);
		
		$('total_price').innerHTML = price;
	},

	registerOrder: function()
	{
		postPage('frmPostBox', 'post_box_order.php', null, null, 'PostBoxOrder.registerOrderResult');
	},

	registerOrderResult: function(strResult)
	{
		var result = JSON.parse(strResult);
		if (result.transaction_id > 0)
			document.location.href = 'product_order_payment.php?id='+ result.transaction_id;
		else
			showMsg(result.message);
	}
}

