var costlims= new Array(1000, 3000, 50000, 200000, 500000, 2000000000);
var price = new Array();
var package_ = new Array();
var expense = new Array();

function calculate(){
	if (!validateFields()) return false;
	portions = new Array();
	// выбрать материал
	var m = document.getElementById('material');
	var mat = m.options[m.selectedIndex].value;
	var sq = document.getElementById('sq');
	var passes = document.getElementById('passes');
	// определим сколько нам нужно квадратов проход на площадь
	var sq_rest=sq.value*passes.value;
	// определение банок
	for (var i=1;i<package_[mat].length;i++){
		if (sq_rest>0) {
			portions[i] = Math.floor(sq_rest/(expense[mat]*package_[mat][i]));
			sq_rest%=expense[mat]*package_[mat][i];
		} else portions[i] = 0;
	}
	var found=0;
	var acost=0;
	if (sq_rest>0) {
		for (var i=1;i<package_[mat].length;i++) {
			if ((!found || acost>price[mat][i][0]) && sq_rest<=expense[mat]*package_[mat][i]) {
				found=i;
				acost=price[mat][i][0];
			}
		}
		portions[found]++;
	}
	optim='<br><b>Оптимальный вариант покупки</b>:<br>';
	summa=0;
	for (i=1;i<package_[mat].length;i++){
		  summa+=portions[i]*price[mat][i][0];
	}
	if (summa==0) portions[package_[mat].length-1]=1;
	summa=0;
	for (i=1;i<package_[mat].length;i++){
		switch (portions[i]){
			case 1 : word = "банка"; break;
			case 2 : ;
			case 3 : ;
			case 4 : word = "банки по"; break;
			default : word = "банок по";
		}
		if (portions[i]!=0) optim+=portions[i]+" "+word+" "+package_[mat][i]+"л<br>";
		summa+=portions[i]*price[mat][i][0];
	}
	var level=0;
	while (summa>costlims[level]) level++;
	var summa2=0;

	for (i=1;i<package_[mat].length;i++)  summa2+=portions[i]*price[mat][i][level];
	// вывод
	document.getElementById("psum").innerHTML=summa;
	if (level>0) {
		var ost = Math.floor((summa-summa2)*100+0.5)/100;
		summa2 = "Цена с учетом <b>скидки</b>: <span class=r>"+summa2+"</span> руб. <br>Вы сэкономите: <span class=r>"+ost+"</span> руб.<br>";
	} else
		summa2 = "";
//	document.getElementById("discount").innerHTML=summa2;
	document.getElementById("pstr").innerHTML=summa2+optim;
}

function validateFields(){
	var sq = document.getElementById('sq');
	var passes = document.getElementById('passes');
	if (!isInt(sq.value)) {alert ("Площадь должна быть задана целочисленным значением"); return false;}
	if (!isInt(passes.value)) {alert ("Число проходов должно быть задано целочисленным значением"); return false;}
	if (parseInt(sq.value)<=0) {alert ("Площадь должна быть положительным числом"); return false;}
	if (parseInt(passes.value)<=0) {alert ("Число проходов должно быть положительным числом"); return false;}
	if (parseInt(sq.value)>65535 || parseInt(passes.value)>100) {alert ("Задано слишком большое число"); return false;}
	return true;
}

function isInt(n){
		for (j=0;j<n.length; j++)
				if (n.charCodeAt(j)<48 ||
					  n.charCodeAt(j)>57) return false;
		return true;
}

function changeSel(el){
	while (el.options[el.selectedIndex].value==0) el.selectedIndex++;
	document.location='?cat='+el.options[el.selectedIndex].value;
}

