/**
* Funkce z templates
*/

// mění parametry v url
// @from product_list.tpl
function changeParam(paramname, mode) {
	var location = new String(window.location)
	if (mode != -1) {
		if (location.match(paramname)) {
			var replaceexp = new RegExp ('(' + paramname + '=)[0-9]*', 'g')
			location = location.replace(replaceexp, '$1' + mode)
		} else {
			if (location.match(/\?/)) {
				location += '&'
			} else {
				location += '?'
			}
			location = location + paramname + '=' + mode;
		}

		if (paramname == 'producer' || paramname == 'sort') {
			location = firstPage(location)
		};

		window.location = location;
	}
}

// @from product_list.tpl
function firstPage(location) {
	return location.replace(/pageno=[0-9]+&?/, '')
}

// parametr funkce je id šipky (vzestupne[0] nebo sestupne[1])
// @from product_list.tpl
function sortMode(button) {
	var form = document.product_list_bar
	changeParam('sortmode', parseInt(form.sortmode.value) + parseInt(button))
}

// @from multimenu.tpl
function startMenu() {
	if (document.all && document.getElementById) {
		var multimenu = document.getElementById('multimenu')
		for (i = 0; i < multimenu.childNodes.length; i++) {
			var ul = multimenu.childNodes[i]
			if (ul.nodeName == 'UL') {
				for (j = 0; j < ul.childNodes.length; j++) {
					var node = ul.childNodes[j]
					if (node.nodeName == 'LI') {
						node.onmouseover = function() { this.className += ' over' }
						node.onmouseout = function() { this.className = this.className.replace(' over', '') }
					}
				}
			}
		}
	}
}

if (window.attachEvent) {
	window.attachEvent('onload', startMenu)
} else {
	window.onload = startMenu;
}

// @from categories.tpl
function depShowHide(id) {
	var dep = document.getElementById('depId' + id)
	var img = document.getElementById('depImgId' + id)
	var imgsrc = new String(img.src)

	if(dep.style.display == '') {
		dep.style.display = 'none'
		img.src = imgsrc.replace(/_open\.gif$/, '_close.gif')
	} else {
		dep.style.display = ''
		img.src = imgsrc.replace(/_close\.gif$/, '_open.gif')
	}
}

function depGet(url) {
	document.location = url
}

// @from download_categories.tpl
function depDownloadShowHide(id) {

	var dep = document.getElementById('depIdDown' + id)
	var img = document.getElementById('depImgIdDown' + id)
	var imgsrc = new String(img.src)

	if(dep.style.display == '') {
		dep.style.display = 'none'
		img.src = imgsrc.replace(/_open\.gif$/, '_close.gif')
	} else {
		dep.style.display = ''
		img.src = imgsrc.replace(/_close\.gif$/, '_open.gif')
	}
}

// @from basket.tpl
//function basket_clear_url() {
//	var location = new String(window.location)
//	var newlocation = location.replace(/[\?&]addproduct=[0-9]*/, '')
//	newlocation = newlocation.replace(/[\?&]count=[0-9]*/, '')
//	newlocation = newlocation.replace(/[\?&]jettison=[0-9]*/, '')
//	newlocation = newlocation.replace(/[0-9]+-.*/, 'kosik/')
//	newlocation = newlocation.replace(/([\?&]page=)[a-zA-Z_]*/, '$basket')

//	if (newlocation != location) 
//	{
//		window.location = newlocation;
//	}
//}

// @from order.tpl
var selected_tran = -1;
var service_value = new Array();

function radio_value(el) {
	var len = el.length
	for (i = 0; i < len; i++) {
		var radio = el[i]
		if (radio.checked) {
			return radio.value
		}
	}
	return false
}

function recalc_total(curr, before) {
	var trans_value = radio_value(document.getElementsByName('transport'));
	var paym_value = radio_value(document.getElementsByName('payment'));

	var price = 0
	if (trans_value) {
			price += trans_prices[trans_value];
			if (service_value[trans_value]) {
				price += service_value[trans_value]
			}
	}
	if (paym_value) {
		price += paym_prices[paym_value]
	}
	

//	alert('trans: '+price+'\r\ntotal: '+base_price);
					 
		var id_price_transport = document.getElementById('price-transport');
		if (id_price_transport != null) id_price_transport.innerHTML = format_currency2(price,curr, before);
		var id_price_total = document.getElementById('price-total');
		if (id_price_total != null) id_price_total.innerHTML = format_currency2(price + base_price - coupone,curr, before);
}

function radio_label_state(prefix, id, enabled) {
	if (enabled) {
		document.getElementById(prefix + '_' + id).disabled = ''
		removeClassName(document.getElementById(prefix + '_' + id + '_label'), 'disabled')
	} else {
		document.getElementById(prefix + '_' + id).disabled = 'disabled'
		addClassName(document.getElementById(prefix + '_' + id + '_label'), 'disabled')
		document.getElementById(prefix + '_' + id).checked = false
	}
}

function transport_payment_change(prefix, ids,curr, before) {
	//var form_el = document.order.elements
	//var re = new RegExp('^' + prefix + '_(\\d+)')
	if (prefix == 'payment') {
		for (i in paym_ids) {
 		   radio_label_state(prefix, paym_ids[i], false);
		}
	}
	
	for (i in ids) {
		radio_label_state(prefix, ids[i], true)
  	}

	recalc_total(curr, before)
}

function transport_change(id,curr, before) {
	
	var stocks = document.getElementById('stocks');
	
	if (stocks != null)
	{
		if(id==3) {
			document.getElementById('stocks').style.display='block';
		} else {
			document.getElementById('stocks').style.display='none';
		}
	}
		
	if (loyalty != 1) {
	transport_payment_change('payment', tp_enable[id],curr, before)
	}

	if(selected_tran != -1) {
		elem = document.getElementById('services_'+selected_tran);
		if(elem){
			addClassName(elem, 'hidden');
		}
	}

	elem = document.getElementById('services_'+id);
	if(elem){
		removeClassName(elem, 'hidden');
	}

	selected_tran = id;

	//napevno nadefinovane... v pripade osobneho odberu sa vybere automaticky platba v hotovosti na predajni (podla ziadosti klienta)
	if(id == 3) {
		document.getElementById('payment_3').checked = true;
	}
	
}

function payment_change(id,curr, before) {
	transport_payment_change('transport', pt_enable[id],curr, before)
}

function service_change(elem, id_tran, id_serv, curr, before) {
	if (!service_value[id_tran]) service_value[id_tran] = 0;

	if (elem.checked) {
		service_value[id_tran] += service_price[id_serv];
	} else {
		service_value[id_tran] -= service_price[id_serv];
	}

	recalc_total(curr, before);
}

function change_order_part(id, num) {
	if(document.getElementById('order_part_'+id).style.display == 'none') {
		document.getElementById('order_part_'+id).style.display = 'block';
	    document.getElementById('order_part_image_'+id).setAttribute('class', 'part_arrow_opened');
		if(num==true) 
			document.getElementById('order_field_'+id).setAttribute('class', 'back_2_number');
		else
			document.getElementById('order_field_'+id).setAttribute('class', 'back_opened');
		
		// document.getElementById('order_field_'+id).style.background= "#EDEDED url('img/design/bg_order_2.png') no-repeat 98% bottom";
		// background:#EDEDED url('img/design/bg_order_2.png') no-repeat 98% bottom;
	}
	else {
		document.getElementById('order_part_'+id).style.display = 'none';
	    document.getElementById('order_part_image_'+id).setAttribute('class', 'part_arrow_closed');
		
		if(num==true)
			document.getElementById('order_field_'+id).setAttribute('class', 'back_'+id);
		else
			document.getElementById('order_field_'+id).setAttribute('class', 'back');
	}
}

