/**
 * function unit_price()
 *
 * change prices in article details according to selected article unit. also change name of ujit in cart-adding
 * form and value of unit_id element. then get optional discount for selected unit and display it
 */
function unit_price(){
	var prices_array = document.getElementById("jednotka").value.split("#");

	if(document.getElementById("jednotka_nazev")) document.getElementById("jednotka_nazev").innerHTML = prices_array[0];
	if(document.getElementById("jednotka_id")) document.getElementById("jednotka_id").value = prices_array[1];
	if(document.getElementById("cena")) document.getElementById("cena").innerHTML = prices_array[2]+" Kč";
	if(document.getElementById("dph")) document.getElementById("dph").innerHTML = prices_array[3]+" Kč";
	if(document.getElementById("cena_dph")) document.getElementById("cena_dph").innerHTML = prices_array[4]+" Kč";
	if(document.getElementById("celkem_cena_dph")) document.getElementById("celkem_cena_dph").innerHTML = prices_array[5]+" Kč (včetně DPH)";

	if(prices_array[6]){
		document.getElementById("sleva_text").innerHTML = prices_array[6]+"<br /><span>(tato sleva není do výše uvedené ceny započítána)</span>";
		document.getElementById("sleva_text").style.display = "block";
	}else{
		document.getElementById("sleva_text").style.display = "none";
	}
}


/**
 * function katalog_add_to_cart()
 *
 * add article into shopping cart directly from catalogue
 *
 * @param int zbozi_id "article Id"
 * @param int jednotka_id "article unit Id"
 */
function katalog_add_to_cart(zbozi_id,jednotka_id){
	document.getElementById("zbozi_id").value = zbozi_id;
	document.getElementById("jednotka_id").value = jednotka_id;
	document.getElementById("katalog_form").submit();
}


/**
 * function kosik_edit()
 *
 * update ammount and unit of article in cart by adjusting some form variables and submitting the form
 *
 * @param int kosik_id "article Id"
 */
function kosik_edit(kosik_id){
	document.getElementById("kosik_id").value = kosik_id;
	document.getElementById("pocet_jednotek").value = document.getElementById("pocet_jednotek_"+kosik_id).value;
	document.getElementById("jednotka_id").value = document.getElementById("jednotka_id_"+kosik_id).value;
	document.getElementById("akce").value = "upravit";
	document.getElementById("form_akce").submit();
}


/**
 * function kosik_remove()
 *
 * remove one item from shopping cart by adjusting some form variables and submitting the form
 *
 * @param string zbozi_nazev "article name"
 * @param int kosik_id "article Id"
 */
function kosik_remove(zbozi_nazev,kosik_id){
	if(confirm("Odebrat zboží \""+zbozi_nazev+"\" z košíku?")==true){
		document.getElementById("kosik_id").value = kosik_id;
		document.getElementById("akce").value = "smazat";
		document.getElementById("form_akce").submit();
	}
}


/**
 * function coupon_remove()
 *
 * remove one item from shopping cart by adjusting some form variables and submitting the form
 *
 * @param string zbozi_nazev "article name"
 * @param int kosik_id "article Id"
 */
function coupon_remove(){
	if(confirm("Opravdu zrušit uplatnění slevového kupónu?")==true){
		document.getElementById("akce").value = "coupon_remove";
		document.getElementById("form_akce").submit();
	}
}


/**
 * function kosik_truncate()
 *
 * truncate shopping cart completely
 */
function kosik_truncate(kosik_id){
	if(confirm("Odebrat všechno zboží z košíku?")==true){
		document.getElementById("akce").value = "vyprazdnit";
		document.getElementById("form_akce").submit();
	}
}


/**
 * function createRequest()
 *
 * create new XMLHttpRequest
 *
 * @param string url "requested file url"
 */
function createRequest(url){
	if(window.XMLHttpRequest){
		httpRequest = new XMLHttpRequest();
	}
	if(window.ActiveXObject){
		httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}

	httpRequest.open("GET",url,true);
	httpRequest.onreadystatechange = function () {processRequest();};
	httpRequest.send(null);
}


/**
 * function processRequest()
 *
 * process XMLHttpRequest, write plain text data into file label
 *
 * no params needed, inner function of createRequest
 */
function processRequest(){
	if(httpRequest.readyState==4){
		if(httpRequest.status==200){
			var data_string = httpRequest.responseText;
			var data_array = data_string.split("#");
			document.getElementById("cena_doprava").innerHTML = data_array[0];
			document.getElementById("cena_platba").innerHTML = data_array[1];
			document.getElementById("cena").innerHTML = data_array[2];
			document.getElementById("dph").innerHTML = data_array[3];
			document.getElementById("cena_dph").innerHTML = data_array[4];
			document.getElementById("hidden_cena").value = data_array[2];
			document.getElementById("hidden_dph").value = data_array[3];
			document.getElementById("hidden_cena_dph").value = data_array[4];
		}else{
			alert("Při načítání informací se vyskytla chyba.\n\nStiskněte F5 pro znovunačtení stránky a poté\nznovu vyberte způsob dopravy zboží a způsob\nplatby objednávky.");
		}
	}
}


/**
 * function get_prices()
 *
 * get payment and transport values and call XMLHttpRequest
 *
 * @param int Id "file Id"
 */
function get_prices(cena,dph,cena_dph){
	var doprava = document.getElementById("doprava").value;
	var platba = document.getElementById("platba").value;
	createRequest("inc/get_prices.inc.php?doprava="+doprava+"&platba="+platba+"&cena="+cena+"&dph="+dph+"&cena_dph="+cena_dph);
}


/**
 * function cart_options_selected()
 *
 * check if transport and payment type is selected. if not, display error and return false
 *
 * no params needed :-)
 */
function cart_options_selected(){
	if(document.getElementById("doprava").value==0){
		alert("Vyberte typ dopravy zboží.");
		return false;
	}else if(document.getElementById("platba").value==0){
		alert("Vyberte typ platby za zboží.");
		return false;
	}else{
		return true;
	}
}