/*
	When adding a size category, just alter the switch statement below
	*/

tCheckOutLoad = function () {
	// give each input field an event
	var tCheckOut = $('fCheckOut');
	if (tCheckOut) {
		inputs = tCheckOut.getElementsByTagName('input');
		for (i=0,j=inputs.length;i<j;i++) {
			Event.observe (inputs[i],'change',tCheckOutChange);
			Event.observe (inputs[i],'focus',tCheckOutFocus);
			Event.observe (inputs[i],'keypress',tCheckOutChange);
			Event.observe (inputs[i],'keyup',tCheckOutChange);		
		}
		tCheckOutCalculateOrderPrice();
		tCheckOut.select('.js-toggler').each( function( a ) {
			Event.observe( a , 'click' , tCheckOutToggle );
		});
	}	
}

tCheckOutToggle	= function( e ) {
	e.stop ();
	
	var table	= e.element().up('table');
	if ( table.hasClassName( 'js-empty' ) || table.hasClassName( 'js-hide' ) ) {
		table.removeClassName( 'js-empty' );
		table.removeClassName( 'js-hide' );
		table.addClassName( 'js-show' );
	} else if ( table.hasClassName( 'js-show' ) ) {
		table.removeClassName( 'js-show' );
		
		//	Kijken of de tabel "leeg" is	
		var sum		= 0;
		var inputs	= table.select('input[type="text"]');
		for( var i = 0 ; i < inputs.length ; i++ )
			sum		+= parseInt( inputs[i].getValue() );
		
		if ( table.down('.js-aantal') )
			table.down('.js-aantal').innerHTML	= sum;
		
		if ( sum == 0 )
			table.addClassName( 'js-empty' );
		else
			table.addClassName( 'js-hide' );
	}
		
}

tCheckOutFocus = function (e) {
	box = Event.element(e);	
	box.select();
}


tCheckOutChange = function (e) {
	box = Event.element(e);
	
	// calculate size total
	tCheckOutCalculateSizeTotal (box.className.substring(1));
	
	// calculate price for this order
	tCheckOutCalculateOrderPrice ();
}

tCheckOutCalculateSizeTotal = function (size) {
	// calculate sum of same size photos
	sSameSize = 0;
	
	// load other values of same photo size
	iSameSize = document.getElementsByClassName ('i'+size);
	for (i=0,j=iSameSize.length;i<j;i++) {
		if (iSameSize[i].value=='') {
			iSameSize[i].value=0;
		}
		sSameSize = sSameSize + parseFloat(iSameSize[i].value);
	}
	
	// put sum in appropriate box
	$('s'+size).innerHTML = sSameSize;
}

tCheckOutCalculateOrderPrice = function () {
	var orderPrice = 0;
	
	// load sum sizes
	sums = document.getElementsByClassName('sSize');
	for (i=0,j=sums.length;i<j;i++) {
		orderPrice = orderPrice + tCheckOutCalculateSizePrice (sums[i].id.substring(1),parseFloat(sums[i].innerHTML));
	}
	
	// put orderPrice in appropriate box
	$('orderPrice').innerHTML = "&euro;"+ orderPrice.toFixed(2).toLocaleString();
}

tCheckOutCalculateSizePrice = function (size,som) {
	var price = 0;
	
	if (som<0) som = 0;
	
	switch (size) {
	
		case '13x18':
			switch (som) {
				case 0:
					price = 0;
					break;
				case 1:
					price = (1 * 13);
					break;
				case 2:
				case 3:
					price = (som * 11);
					break;
				default:
					price = 20+(som * 5);
					break;
			}
			break;
		case '20x30':
			switch (som) {
				case 1:
					price = (1 * 17);
					break;
				default:
					price = (som * 15);
					break;
			}
			break;
		case '30x40':
			price = (som * 50);
			break;
		case '40x60':
			price = (som * 65);
			break;
		case '50x70':
			price = (som * 75);
			break;
		case 'c30x45':
			price = (som * 80);
			break;
		case 'c40x60':
			price = (som * 105);
			break;
		case 'c50x70':
			price = (som * 125);
			break;		
		case 'dlow':
			price = (som * 17.50);
			break;
		case 'dhigh':
			price = (som * 40.00);
			break;
		case 'mok':
			price = (som * 24.00);
			break;
		case 'tshirts':
			price = (som * 38.00);
			break;
		case 'tshirtm':
			price = (som * 34.00);
			break;
		case 'tshirtl':
			price = (som * 34.00);
			break;
		case 'tshirtxl':
			price = (som * 34.00);
			break;
		case 'tshirtxxl':
			price = (som * 34.00);
			break;
	}
	return price;
}

Event.observe (window,'load',tCheckOutLoad);
