var AGN_oErrors = new Array();

function AGN_oErrEmpty() {
  AGN_oErrors.length = 0;
};  

function AGN_oErrAdd(message) {
  AGN_oErrors[AGN_oErrors.length] = ' - ' + message;
};

function AGN_oErrOk() {
  if (AGN_oErrors.length > 0) {
   	alert(AGN_oErrors.join("\n"));
    return(false);
  } else {
    return (true);
  }
};

function trim(str) {
	if (str) {
  	return str.replace(/^\s*|\s*$/g,"");
  } else {
  	return '';
  }
} 

function swapPMImage(id, append) {
	document.getElementById('pMenuItem' + id).src = 'slices/productPanel-' + id + append + '.jpg';
}

function round(number) {
	return Math.round(number);
}

function number_format(value,decimals,dpoint,thous) {
	value = round(value * 100) / 100;
	if (round(value) == value) {
		return value + '.00';
	} else if (round(value * 10) == value * 10) {
		return value + '0';
	} else {
		return value;
	}
}

function CZKprice(price) {
	return number_format(round(price * 100)/100,2,'.','');
}

function EURprice(price) {
	return number_format(round(price * 100)/100,2,'.','');
}

function price(price, lang) {
	return lang == 'cz' ? CZKprice(price) : EURprice(price);
}

function prepocitej(lang) {
	POST = lang == 'sk' ? 6 : 150;
	actPrice = parseFloat(document.getElementById('zakladni-cena').value); 
	for (var i = 0; i < usedSections.length; i++) {
		actPrice += parseFloat(document.getElementById('cena-' + usedSections[i]).value); 
	}
	pocet = document.getElementById('ks').value;
	if (trim(pocet) == '') {
		document.getElementById('cenaKs').value = '-';
		document.getElementById('cenaBezDPH').value = '-';
		document.getElementById('DPH').value = '-';
		document.getElementById('cenaVcDPH').value = '-';
		if (lang == 'sk') {
			document.getElementById('cenaVcDPHSKK').value = '-';
		}
		return;
	}
	pocet = parseInt(pocet);
	document.getElementById('cenaKs').value = price(actPrice,lang);
	document.getElementById('cenaBezDPH').value = price(actPrice * pocet,lang);
	document.getElementById('DPH').value = price(actPrice * pocet * 0.19,lang);
	document.getElementById('cenaVcDPH').value = price(actPrice * pocet * 1.19 + POST,lang);
	if (lang == 'sk') {
		document.getElementById('cenaVcDPHSKK').value = price((actPrice * pocet * 1.19 + POST) * 30.126,lang);
	}
}

function updateAndRecount() {
	var pars = updateAndRecount.arguments;
	document.getElementById(pars[0]).value = pars[1];
	document.getElementById(pars[4]).value = pars[5];
	document.getElementById(pars[2]).innerHTML = (pars[3] == '' ? '&nbsp;' : '<br>' + pars[3]);
	prepocitej(pars[6]);
}

function recountDoplnky(lang) {
	var selected = new Array();
	var aPrice = 0;
	for (var i = 0; i < doplnkySections.length; i++) {
		var item = document.getElementById(doplnkySections[i]);
		item = item.value;
		if (item != '-') {
			parts = item.split('|');
			aPrice += parseFloat(parts[1]);
			selected[selected.length] = parts[0];
		};	
	} 
	document.getElementById('typ-doplnky').value = selected.join(', ');
	document.getElementById('cena-doplnky').value = price(aPrice);
	prepocitej(lang);
}

function verifySubmit(lang) {
	AGN_oErrEmpty();
	var req = new Array('jmeno', 'ulice', 'obec', 'overeni', 'potvrzeni','ks');
	var reqClass1 = new Array('objText', 'objText', 'objText', 'objText', 'objText','price');
	var reqClass2 = new Array('objTextAlert', 'objTextAlert', 'objTextAlert', 'objTextAlert', 'objTextAlert','priceAlert');
	emptyError = false;
	for (var i = 0; i < req.length; i++) {
		var obj = document.getElementById(req[i]);
		if (trim(obj.value) == '') {
			emptyError = true;
			obj.className = reqClass2[i];
		} else {
			obj.className = reqClass1[i];
		}
	}
	if (emptyError) {
		AGN_oErrAdd(lang == 'cz' ? 'Chybí některé povinné položky. Chybějící položky byly zvýrazněny.' : 'Formulár nie je možné odoslať, doplnte chýbajúce (zvýraznené) položky.');
	}
		
	return AGN_oErrOk();
}

