/**
* @author Lukas Foldyna, mailto: lfoldyna@gmail.com
* @license http://www.arat.cz/licence
* @license type: is NOT Open Source Software and Limitations Apply
* @copyright Copyright (c) 2005-2007 ARaT http://www.arat.cz
*/

var i_added   = new Array;
var i_options = new Array;
var i_multy   = new Array;

function changeItem(event, id) {
	if ($F('s_i_multiply') != 'split') {
		i_multy = $F('s_i_multiply').split(':');
		$('s_i_multiply').value = 'split';
		
		var newArr = new Array;
		
		for (var i = 0; i < i_multy.length; i++) {
			newArr[i_multy[i]] = 'on';
		}
		i_multy = newArr;
	}
	
	if (event) {
		var evEl = Event.element(event)	
	} else {
		var evEl = $(id);
	}
	var id, val, opt;
	
	if (evEl.id) {
		id  = evEl.id.split('_');
		val = id[id.length - 1];
		opt = id[id.length - 2];
	}

	if (i_multy[opt] == 'on') {
		changeItemMulti(event, id);
	} else {
		changeItemNormal(event, id);
	}
}
function changeItemNormal(event, id) {
	if (event) {
		var evEl = Event.element(event)	
	} else {
		var evEl = $(id);
	}
	var def   = parseInt($F('s_i_price'));
	var price = 0;
	var id, val, opt;
	
	if (evEl.id) {
		id  = evEl.id.split('_');
		val = id[id.length - 1];
		opt = id[id.length - 2];
	}
	
	if ($('s_i_option_' + opt + '_' + val)) {
		i_added[opt] = parseInt($F('s_i_option_' + opt + '_' + val));
	}
	var i = 0;

	for (var e in i_added) {
		if (typeof i_added[e] == 'number') {
			price = price + i_added[e];
		}
	}
	if (!price) {
		price = 0;
	}
	price = (def * getCount()) + price;
	
	if (!price) {
		price = def;
	}
	$('item_price').update(price);
		
	var form = document.forms['shop_item_' + $F('s_i_category')];

	if (form) {
		for (var i = 0; i < form['s_i_option_r_' + opt].length; i++) {
			if ($(form['s_i_option_r_' + opt][i]).hasClassName('selected')) {
				$(form['s_i_option_r_' + opt][i].id).removeClassName('selected');
				$('t_' + form['s_i_option_r_' + opt][i].id).removeClassName('selected');
			}
		}
	}
	$(evEl.id).addClassName('selected');
	
	if ($('t_' + evEl.id)) {
		$('t_' + evEl.id).addClassName('selected');
	}
}
function changeItemMulti(event, id) {
	if (event) {
		var evEl = Event.element(event)	
	} else {
		var evEl = $(id);
	}
	var def   = parseInt($F('s_i_price'));
	var price = 0;
	var id, val, opt;
	
	if (evEl.id) {
		id = evEl.id.split('_');
		val = id[id.length - 1];
		opt = id[id.length - 2];
	}
	var plus = 0;

	if (result = parseInt($F('s_i_option_' + opt + '_' + val))) {
		plus = result;
	}
	i_added[opt + '_' + val] =  plus * evEl.value;

	var i = 0;

	for (var e in i_added) {
		if (typeof i_added[e] == 'number') {
			price = price + i_added[e];
		}
	}
	if (!price) {
		price = 0;
	}
	if (price > 0 && $('tr')) {
		$('tr').show();
		$('tr_on').value = 1;
	} else {
		$('tr').hide();
		$('tr_on').value = 0;
	}
	
	price = (def * getCount()) + price;
	
	if (!price) {
		price = def;
	}
	$('item_price').update(price);
}
function getCount() {
	if ($F('s_i_count') > 0) {
		return $F('s_i_count');
	}
	return 1;
}
function hoverOpt(id) {
	if (!$(id).hasClassName('selected')) {
		$(id).addClassName('hover');
	}
}
function clearOpt(id) {
	$(id).removeClassName('hover');
}
function selectOpt(id) {
	$(id).checked = true;
	changeItem(false, id);
}

Event.observe(window, 'load', function() {
	if ($('s_i_count')) {
		$('s_i_count').onblur = function() {
			changeItemNormal(null, 's_i_count');
		}
		$('s_i_count').onkeyup = function() {
			changeItemNormal(null, 's_i_count');
		}
	}
});
