var PATH = "http://jura-servis.cz/";
var isIE=(document.all && !window.opera)?true:false;

function ConfirmDelete (url) {
	if (window.confirm("Opravdu chcete vymazat zvolen� z�znam?!")){
		parent.top.location.href=url;
	}
}
function showstitek () {
    var stitek = document.getElementById("stitek");
    if (stitek.style.display == "none") stitek.style.display = "block";
    else stitek.style.display = "none";
}
function servisType (v) {
    var stitek = document.getElementById("mistoNakupu");
    if (v.value == "3") {
        if (isIE) stitek.style.display = "block";
        else stitek.style.display = "table-row";
    }
    else {
        stitek.style.display = "none";
    }
}
function checkServisStep (el) {
    var cislo = document.getElementById("delivery_code");
    var datum = document.getElementById("date_pickup");
    if (el.value == "5") {
        cislo.style.display = "block";
        datum.style.display = "none";
    }
    else if (el.value == "2") {
        cislo.style.display = "none";
        datum.style.display = "block";
    }
    else {
        cislo.style.display = "none";
        datum.style.display = "none";
    }
}

function removeSparePart (box) {
	var line = box.getParent('tr');
	line.dispose();
	return false;
}

function validateOrderSparePart (box) {
	var box = $(box);
	var line = box.getParent('tr');
	if (box.value != "") {
		// TODO Check duplicity
		if (line.getNext('tr').getAttribute("id") == "sparePartLastTr") {
			line.getElements('td').getLast().set('html', '<a href="#pouziteDily" onclick="removeSparePart(this)" title="Odebrat náhradní díl ze zakázky"><img src="/images/lsms_delete.gif" alt="Odebrat náhradní díl ze zakázky"/></a>');
			addOrderSparePartForm();
		}
		var req = new Request.JSON({
			method: 'get',
			url: PATH+'api/validateSparePart.php?id=' + box.value,
			onComplete: function(jsonObj){
				if (jsonObj.status == 1) { // Product exists
					var i = 0;
					var partName = jsonObj.name;
					var partPrice = jsonObj.price;
					var partAmount = jsonObj.amount;
					line.getElements('input').each (
						function (el) {
							if (i == 1) {
								el.value = partName;
							}
							else if (i == 2) {
								el.value = partAmount;
							}
							i++;
						}
					);
				}
				else if (jsonObj.status == 2) { // Product does not exist
					alert("Byl zadán kód neznámého náhradního dílu.\n\nVyplňte prosím validní kód.");
				}
				else { // Internal error
					alert("Došlo k chybě při komunikaci se serverem.");
				}
			}
		}).send();
	}
}

function validateSparePart (box) {
	var box = $(box);
	var line = box.getParent('tr');
	if (box.value != "") {
		// TODO Check duplicity
		if (line.getNext('tr').getAttribute("id") == "sparePartLastTr") {
			line.getElements('td').getLast().set('html', '<a href="#pouziteDily" onclick="removeSparePart(this)" title="Odebrat náhradní díl ze zakázky"><img src="/images/lsms_delete.gif" alt="Odebrat náhradní díl ze zakázky"/></a>');
			addSparePartForm();
		}
		var req = new Request.JSON({
			method: 'get',
			url: PATH+'api/validateSparePart.php?id=' + box.value,
			onComplete: function(jsonObj){
				if (jsonObj.status == 1) { // Product exists
					var i = 0;
					var partName = jsonObj.name;
					var partPrice = jsonObj.price;
					var partAmount = jsonObj.amount;
					line.getElements('input').each (
						function (el) {
							if (i == 1) {
								el.value = partAmount;
							}
							else if (i == 2) {
								el.value = partName;
								el.setProperty("readonly", "readonly");
								el.setProperty("class", "text off");
							}
							else if (i == 3) {
								el.value = partPrice;
								el.setProperty("readonly", "readonly");
								el.setProperty("class", "amount off");
							}
							i++;
						}
					);
				}
				else if (jsonObj.status == 2) { // Product does not exist
					var i = 0;
					line.getElements('input').each (
						function (el) {
							if (i == 1) {
								el.value = "";
							}
							else if (i == 2) {
								el.value = "";
								el.removeProperty("readonly");
								el.setProperty("class", "text");
							}
							else if (i == 3) {
								el.value = "";
								el.removeProperty("readonly");
								el.setProperty("class", "amount");
							}
							i++;
						}
					);
					alert("Byl zadán kód neznámého náhradního dílu.\n\nProsíme doplňte i název produktu a jeho cenu.");
				}
				else { // Internal error
					alert("Došlo k chybě při komunikaci se serverem.");
				}
			}
		}).send();
	}
}

function addSparePart (box) {
	var box = $(box);
	var line = box.getParent('tr');
	if (box.value != "") {
		setSubmit (false);
		var req = new Request.JSON({
			method: 'get',
			url: PATH+'api/validateSparePart.php?id=' + box.value,
			onComplete: function(jsonObj){
				if (jsonObj.status == 1) { // Product exists
					var i = 0;
					var partName = jsonObj.name;
					var partPrice = jsonObj.priceVOC;
					var partAmount = jsonObj.amount;
					line.getElements('input').each (
						function (el) {
							if (i == 1) {
								el.value = partName;
							}
							else if (i == 3) {
								el.value = partAmount;
							}
							else if (i == 2) {
								el.value = partPrice;
							}
							i++;
						}
					);
					if (line.getNext('tr').getAttribute("id") == "sparePartLastTr") {
						line.getElements('td').getLast().set('html', '<a href="#pouziteDily" onclick="removeSparePart(this)" title="Odebrat náhradní díl ze zakázky"><img src="/images/lsms_delete.gif" alt="Odebrat náhradní díl ze zakázky"/></a>');
						addSparePartFormForOrder();
						setSubmit (true);
					}
				}
				else if (jsonObj.status == 2) { // Product does not exist
					alert("Byl zadán kód neznámého náhradního dílu.\n\nVyplňte prosím validní kód.");
				}
				else { // Internal error
					alert("Došlo k chybě při komunikaci se serverem.");
				}
			}
		}).send();
	}
}

function recountPrices (box) {
	var boxValue = box.value;
	var m_strOut = new String(boxValue); 
	m_strOut = m_strOut.replace(/[,]/g, '.');
    m_strOut = m_strOut.replace(/[^0-9\.]/g, ''); 
    box.value = m_strOut;
	
	var price = 0;
	var form = $("sparePartOrderForm");
	form.getElements('tr').each (
		function (el) {
			var elAmount = 0;
			var elPrice = 0;
			var i = 0;
			el.getElements('input').each (
				function (el) {
					if (i == 3) {
						elAmount = el.value;
					}
					else if (i == 2) {
						elPrice = el.value;
					}
					i++;
				}
			)
			price += elAmount * elPrice;
		}
	);
	price=Math.round(price*100)/100;
	$("totalSparePrice").set("html", "Celková cena: "+price+"€");
}

function setSubmit (value) {
	$("orderSubmit").setProperty("disabled", (!value ? "disabled" : null) );
	$("orderSubmit").setProperty("class", (!value ? "disabled" : null) );
}

function addSparePartFormForOrder () {
	 var lastTr = $('sparePartLastTr');
	 
	 var new_line = new Element('tr');
	 var new_id_input = new Element('td');
	 var new_id_input_element = new Element('input', {type: 'text', name: "partId[]", 'class': "amount", maxlength: 50, onblur: "addSparePart(this)", style: "border:1px solid #aaa;" });
	 new_id_input_element.inject (new_id_input);
	 new_id_input.inject (new_line);
	 
	 var new_name_input = new Element('td');
	 var new_name_input_element = new Element('input', {type: 'text', name: "partName[]", 'class': "text", maxlength: 100, disabled: "disabled" });
	 new_name_input_element.inject (new_name_input);
	 new_name_input.inject (new_line);

	 var new_price_input = new Element('td');
	 var new_price_input_element = new Element('input', {type: 'text', name: "partPrice[]", 'class': "price", maxlength: 20, disabled: "disabled"  });
	 new_price_input_element.inject (new_price_input);
	 new_price_input.inject (new_line);
	 
	 var new_amount_input = new Element('td');
	 var new_amount_input_element = new Element('input', {type: 'text', name: "partAmount[]", 'class': "amount", maxlength: 4, style: "border:1px solid #aaa;", onchange: "recountPrices(this)" });
	 new_amount_input_element.inject (new_amount_input);
	 new_amount_input.inject (new_line);
	 
	 var new_button_input = new Element('td');
	 new_button_input.setProperty("class", "ico");
	 new_button_input.inject (new_line);

	 new_line.id = "sparePartInsert3";
	 new_line.inject (lastTr, 'before');
}

function addOrderSparePartForm () {
	 var lastTr = $('sparePartLastTr');
	 
	 var new_line = new Element('tr');
	 var new_id_input = new Element('td');
	 var new_id_input_element = new Element('input', {type: 'text', name: "partId[]", 'class': "amount", maxlength: 50, onblur: "validateOrderSparePart(this)", style: "border:1px solid #aaa;" });
	 new_id_input_element.inject (new_id_input);
	 new_id_input.inject (new_line);
	 
	 var new_name_input = new Element('td');
	 var new_name_input_element = new Element('input', {type: 'text', name: "partName[]", 'class': "text", maxlength: 100 });
	 new_name_input_element.inject (new_name_input);
	 new_name_input.inject (new_line);

	 var new_amount_input = new Element('td');
	 var new_amount_input_element = new Element('input', {type: 'text', name: "partAmount[]", 'class': "amount", maxlength: 4, style: "border:1px solid #aaa;" });
	 new_amount_input_element.inject (new_amount_input);
	 new_amount_input.inject (new_line);
	 
	 var new_button_input = new Element('td');
	 new_button_input.setProperty("class", "ico");
	 new_button_input.inject (new_line);

	 new_line.id = "sparePartInsert2";
	 new_line.inject (lastTr, 'before');
}

function addSparePartForm () {
	 var lastTr = $('sparePartLastTr');
	 
	 var new_line = new Element('tr');
	 var new_id_input = new Element('td');
	 var new_id_input_element = new Element('input', {type: 'text', name: "partId[]", 'class': "amount", maxlength: 50, onblur: "validateSparePart(this)" });
	 new_id_input_element.inject (new_id_input);
	 new_id_input.inject (new_line);
	 
	 var new_amount_input = new Element('td');
	 var new_amount_input_element = new Element('input', {type: 'text', name: "partAmount[]", 'class': "amount", maxlength: 4 });
	 new_amount_input_element.inject (new_amount_input);
	 new_amount_input.inject (new_line);
	 
	 var new_name_input = new Element('td');
	 var new_name_input_element = new Element('input', {type: 'text', name: "partName[]", 'class': "text", maxlength: 100 });
	 new_name_input_element.inject (new_name_input);
	 new_name_input.inject (new_line);
	 
	 var new_price_input = new Element('td');
	 var new_price_input_element = new Element('input', {type: 'text', name: "partPrice[]", 'class': "amount", maxlength: 50 });
	 new_price_input_element.inject (new_price_input);
	 new_price_input.appendText(" €");
	 new_price_input.inject (new_line);
	 
	 var new_button_input = new Element('td');
	 new_button_input.setProperty("class", "ico");
	 new_button_input.inject (new_line);

	 new_line.id = "sparePartInsert2";
	 new_line.inject (lastTr, 'before');
}
