﻿// JavaScript Document

function addToCart(id)
{
	if (isNaN(id))
		var id = id.substr(id.indexOf('_') + 1, id.length);

	var container = 'shopping_cart';
	var url = '/code/varskoforlag.php?do=addToCart&param=' + id;
	
	new Ajax.Request(url, 
	{ 
		onSuccess: 
		function(response) 
		{
			var resp = response.responseText.split("|");
			var amount = resp[0];
			$(container).innerHTML = resp[1];
			var input = $('row_' + id);

			if (input != null)
			{
				refreshCart(input, amount);
			}
			
			new Effect.Pulsate(container, { pulses: 2, duration: .8 });
		}
	});
}

function removeFromCart(id)
{
	var container = 'shopping_cart';
	var url = '/code/varskoforlag.php?do=removeFromCart&param=' + id;

	new Ajax.Request(url, 
	{ 
		onSuccess: 
		function(response) 
		{
			var resp = response.responseText.split("|");
			var amount = resp[0];
			$(container).innerHTML = resp[1];
			var elements = $('row_' + id);

			if (elements != null)
			{
				refreshCart(elements, amount);
			}
		}
	});
	
	new Effect.Pulsate(container, { pulses: 2, duration: 1 });	
}

function removeRow(id)
{
	var container = 'shopping_cart';
	var url = '/code/varskoforlag.php?do=removeRow&param=' + id;
	new Ajax.Updater(container, url);
	new Effect.Pulsate(container, { pulses: 2, duration: 1 });
	var elements = $('row_' + id);
	refreshCart(elements, 0);
}

function emptyCart()
{
	var container = 'shopping_cart';
	var url = '/code/varskoforlag.php?do=emptyCart&param=cart';
	new Ajax.Request(url, 
	{
		onSuccess: 
		function() 
		{
			showStatus('cart');
			new Effect.Pulsate(container, { pulses: 2, duration: 1 });
			
			if ($('cart_outer')) 
			{				
				showCart('cart');
			}
		}
	});
}

function refreshCart(elements, new_amount)
{
	var input = elements.getElementsByTagName('input');
	
	var amount = parseInt(input[0].value);
	var price = parseInt(input[1].value);
	var sum = parseInt(input[2].value);
	
	var sumtotal = parseInt($('sumtotal').value);
	input[0].value = new_amount;
	input[2].value = new_amount * price;
	
	if (new_amount == 0)
	{
		new Effect.Fade(elements, { duration: .4 });
		$('sumtotal').value = sumtotal - sum;
		
		if (sumtotal - sum == 0)
		{
			$('cart_outer').innerHTML = '<p class="header">Handlekorga er tom.</p>';			
		}
	}
	else if (new_amount > amount)
	{
		$('sumtotal').value = sumtotal + price;
	}
	else
	{
		$('sumtotal').value = sumtotal - price;
	}
}

function showStatus(name)
{
	new Ajax.Updater('shopping_cart', '/code/varskoforlag.php?do=showStatus&param=cart');
	new Effect.Pulsate('shopping_cart', { pulses: 1, duration: 1 });	
}

function showCart(name)
{
	new Ajax.Updater('cart_outer', '/code/varskoforlag.php?do=showCart&param=cart');
}

function hover(id)
{
	var row = $(id);
	
	if (row.className == 'cart_row')
		row.className = 'cart_row_hover';
	else
		row.className = 'cart_row';

}

function showResponse(originalRequest)
{
	$('result').value = originalRequest.responseText;
}

function validate()
{
	var form = $('skjema');
	var pattern = /^.+@.+\..{2,3}$/;
	var ok = true;

	if (form.fornavn.value == '')
	{
		$('fornavn_err').innerHTML = 'Du må fylle ut et fornavn.';
		ok = false;
	}	
	else
		$('fornavn_err').innerHTML = '';

	if (form.etternavn.value == '')
	{
		$('etternavn_err').innerHTML = 'Du må fylle inn et etternavn.';
		ok = false;
	}
	else
		$('etternavn_err').innerHTML = '';
	
	if (form.adresse.value == '')
	{
		$('adresse_err').innerHTML = 'Du må fylle ut en adresse.';
		ok = false;
	}
	else
		$('adresse_err').innerHTML = '';

	if (form.postnr.value == '' || form.postnr.value.length != 4 || isNaN(form.postnr.value))
	{
		$('postnr_err').innerHTML = 'Du må fylle ut et gyldig postnummer.';
		ok = false;
	}
	else
		$('postnr_err').innerHTML = '';

	if (form.poststed.value == '')
	{
		$('poststed_err').innerHTML = 'Du må fylle ut et poststed.';
		ok = false;
	}
	else
		$('poststed_err').innerHTML = '';
		
	if (form.epost.value.match(pattern) == null)
	{
		$('epost_err').innerHTML = 'Du må fylle ut en gyldig epost-adresse.';
		ok = false;
	}
	else
		$('epost_err').innerHTML = '';
		
	if (form.tlf.value != '' && isNaN(form.tlf.value))
	{
		$('tlf_err').innerHTML = 'Du må fylle ut et gyldig telefonnummer.';
		ok = false;
	}
	else
		$('tlf_err').innerHTML = '';			

	return ok;
}


