var num_free_panos = 0;
var pano_price = 50.00;
var dist_for_discount = 100;
var price_above = 0.25;
var price_below = 0.35;
var price_discount = 0.00;
var panos_for_discount = 11;
var price_vt = 0.00;
var price_obj_vt = 4.1666666666666666666666666666667;
var price_obj_page = 0.00;
var usual_pano_price = 66.00;
var usual_dist_price = 0.35;
var usual_vase_stranky_price = 25.00;


function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? ',' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1 + x2;
}

function check_value(value) {
	if (parseFloat(value) == NaN || parseFloat(value)+'' != value || value < 0) {
		return false;
	}
	
	return true;
}

function get_pano_price() {
	if (check_value(document.calcform.pano_count.value)) {
		var pocet_prehliadok = parseInt(document.calcform.pano_count.value);

		if (pocet_prehliadok > 999) {
			pocet_prehliadok = 999;
			document.calcform.pano_count.value = 999;
		}

		pocet_platenych_prehliadok = Math.max(pocet_prehliadok-num_free_panos, 0);
		cenaEUR_pano = (pocet_platenych_prehliadok*pano_price).toFixed(2);
		cenaSK_pano = (cenaEUR_pano*30.1260).toFixed(2);
		document.calcform.pano_price_eur.value = '€'+addCommas(cenaEUR_pano);
		document.calcform.pano_price_sk.value = addCommas(cenaSK_pano)+ ' Sk';

		if (document.calcform.obj_page.checked) {
			get_dist_price();
		}
		
		return parseFloat(cenaEUR_pano);
	}
}

function get_dist_price() {
	if (check_value(document.calcform.dist.value) && check_value(document.calcform.pano_count.value)) {
		var vzdialenost = parseInt(document.calcform.dist.value);

		if (vzdialenost > 999) {
			vzdialenost = 999;
			document.calcform.dist.value = 999;
		}

		if (document.calcform.pano_count.value >= panos_for_discount) {
			price_km = price_discount;
		}
		else if (vzdialenost > dist_for_discount) {
			price_km = price_above;
		}
		else {
			price_km = price_below;
		}
		
		cenaEUR_dist = (vzdialenost*price_km*2).toFixed(2);
		cenaSK_dist = (cenaEUR_dist*30.1260).toFixed(2);
		document.calcform.dist_price_eur.value = '€'+addCommas(cenaEUR_dist);
		document.calcform.dist_price_sk.value = addCommas(cenaSK_dist)+ ' Sk';

		return parseFloat(cenaEUR_dist);
	}
}

function get_placement_price() {
	if (check_value(document.calcform.pano_count.value)) {
		var pocet_prehliadok = parseInt(document.calcform.pano_count.value);
		cenaEUR_vt = document.calcform.vt.checked ? (price_vt).toFixed(2) : 0.00;
		cenaSK_vt = (cenaEUR_vt*30.1260).toFixed(2);

		cenaEUR_obj_vt = (document.calcform.obj_vt.checked ? (pocet_prehliadok > 0 ? price_obj_vt * 12 : 0.00) : 0.00).toFixed(2);
		cenaSK_obj_vt =  (cenaEUR_obj_vt*30.1260).toFixed(2);

		cenaEUR_obj_page = (document.calcform.obj_page.checked ? (document.calcform.pano_price_eur.value == 'Error' ? 0.00 : price_obj_page * pocet_prehliadok) : 0.00).toFixed(2);
		cenaSK_obj_page =(cenaEUR_obj_page*30.1260).toFixed(2);
		
		document.calcform.place_vt_price_eur.value = '€'+addCommas(cenaEUR_vt);
		document.calcform.place_vt_price_sk.value = addCommas(cenaSK_vt)+ ' Sk';
		document.calcform.place_obj_vt_price_eur.value = '€'+addCommas(cenaEUR_obj_vt)+'/rok';
		document.calcform.place_obj_vt_price_sk.value = addCommas(cenaSK_obj_vt)+ ' Sk/rok';
		document.calcform.place_obj_page_price_eur.value = '€'+addCommas(cenaEUR_obj_page);
		document.calcform.place_obj_page_price_sk.value = addCommas(cenaSK_obj_page)+ ' Sk';
	
		return (parseFloat(cenaEUR_vt)+parseFloat(cenaEUR_obj_vt)+parseFloat(cenaEUR_obj_page)).toFixed(2);
	}
}

function get_total_price() {
	if (check_value(document.calcform.pano_count.value) && check_value(document.calcform.dist.value)) {
		totalEUR = (parseFloat(get_pano_price())+parseFloat(get_dist_price())+parseFloat(get_placement_price())).toFixed(2);
		totalSK = ((totalEUR-0)*30.1260).toFixed(2);
	
		document.calcform.total_price_eur.value = '€'+addCommas(totalEUR);
		document.calcform.total_price_sk.value = addCommas(totalSK)+ ' Sk';
	}
	else {
		if (!check_value(document.calcform.pano_count.value)) {
			document.calcform.pano_count.value = 0;
			document.calcform.pano_count.focus();
			document.calcform.pano_count.select();
			document.calcform.pano_price_eur.value = '€0,00';
			document.calcform.pano_price_sk.value = '0,00 Sk';
		}
		if (!check_value(document.calcform.dist.value)) {
			document.calcform.dist.value = 0;
			document.calcform.dist.focus();
			document.calcform.dist.select();
			document.calcform.dist_price_eur.value = '€0,00';
			document.calcform.dist_price_sk.value = '0,00 Sk';
		}
		if (!(check_value(document.calcform.pano_count.value) && check_value(document.calcform.dist.value))) {
			document.calcform.total_price_eur.value = '€0,00';
			document.calcform.total_price_sk.value = '0,00 Sk';
		}
		else {
			get_total_price();
		}
	}
	
	get_usual_price();
	get_diff();
	//document.getElementById('get_discount').innerHTML = 'Nepáči sa Vám naša cena? :-( Napíšte nám o Vašom objekte a zjednajte si lepšiu :-) <a href="index.php?menu=cats&view=contact">Zjednať cenu</a>';
}

function get_usual_price() {
	if (check_value(document.calcform.pano_count.value) && check_value(document.calcform.dist.value)) {
		var pocet_prehliadok = parseInt(document.calcform.pano_count.value);

		if (document.calcform.obj_page.checked) umiestnenie = pocet_prehliadok*usual_vase_stranky_price;
			else umiestnenie = 0;
	
		var cenaEUR_pano = (pocet_prehliadok*usual_pano_price+umiestnenie+parseInt(document.calcform.dist.value)*usual_dist_price*2+parseFloat(get_placement_price())).toFixed(2);
		var cenaSK_pano = (cenaEUR_pano*30.1260).toFixed(2);
		document.calcform.usual_total_price_eur.value = '€'+addCommas(cenaEUR_pano);
		document.calcform.usual_total_price_sk.value = addCommas(cenaSK_pano)+ ' Sk';

		return parseFloat(cenaEUR_pano);
	}
	else {
		document.calcform.usual_total_price_eur.value = '€0,00';
		document.calcform.usual_total_price_sk.value = '0,00 Sk';
	}
}

function get_diff() {
	if (check_value(get_usual_price()) && check_value(parseFloat(get_pano_price())+parseFloat(get_dist_price())+parseFloat(get_placement_price()))) {
		var cenaEUR_pano = ((parseFloat(get_usual_price()))-(parseFloat(get_pano_price())+parseFloat(get_dist_price())+parseFloat(get_placement_price()))).toFixed(2);
		var cenaSK_pano = (cenaEUR_pano*30.1260).toFixed(2);
		document.calcform.diff_eur.value = '€'+addCommas(cenaEUR_pano);
		document.calcform.diff_sk.value = addCommas(cenaSK_pano)+ ' Sk';
	}
	else {
		document.calcform.diff_eur.value = '€0,00';
		document.calcform.diff_sk.value = '0,00 Sk';
	}
}

function panocalc_values() {
	var place = '';
	if (document.calcform.vt.checked) {
		place = place + document.calcform.vt.value;
	}
	if (document.calcform.obj_vt.checked) {
		place = place + document.calcform.obj_vt.value;
	}
	if (document.calcform.obj_page.checked) {
		place = place + document.calcform.obj_page.value;
	}

	var price = document.calcform.total_price_eur.value;
	var dist = document.calcform.dist.value;
	var cnt = document.calcform.pano_count.value;
    var url = '/ajax/ins_panocalc_vals.php?cnt=' + cnt + '&dist=' + dist + '&place=' + place + '&price=' + escape(price);
    request.open("GET", url, true);
    //request.onreadystatechange = a;
    request.send(null);
}
