CallMyConfig = false;
errorPressure = 1;
basePrice = 0;
accPrice = 0;
itemPrice = 0;
pressurePrice = 0;

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) {
    var eText = AGN_oErrors.join("\n");
    alert(StT('chyby-v-zadani') + ":\n\n" + eText);
    return(false);
  } else {
    return (true);
  }
};

function StT(textID) {
	return stringtable[textID] ? stringtable[textID] : 'ST ?';
}

function AnyHeight()
	{
		var top = document.getElementById("top").offsetTop;
		var bottom = document.getElementById("bottom").offsetTop;
		var height = bottom - top;

		if(height < 655)
			{
			document.getElementById("content").style.height = 656 + 'px';
			document.getElementById("content_2").style.height = 677 + 'px';
			}

		if(height > 655)
			{
			document.getElementById("content").style.height = height + 'px';
			document.getElementById("content_2").style.height = (height + 21) + 'px';
			}
	}

function verifyLength() {
	document.getElementById('submit').disabled = (document.getElementById('verify').value.length == 3 ? '' : 'disabled');
}

function updateConfigFull() {
	confString = '';
	for (var i = 0; i < configParts.length; i++) {
		for (var j = 0; j < configPartsCnt[i]; j++) {
			if (document.getElementById(configParts[i] + '-' + j).checked) {
				confString = confString + document.getElementById(configParts[i] + '-' + j).value;
			}
		}
	}
	document.getElementById('configResult').innerHTML = confString;
	document.getElementById('orderCodeSpan').innerHTML = confString;
	document.getElementById('orderCode').value = confString;
}

function updateConfigColors() {
	confString = prefix;
	jtrn = '-';
	jtr = '-';
	zmt = '-';
	m = '-';
	locJTRNPos2 = '-';
	locJTRPos2 = '-';
	locZMTPos2 = '-';
	locMPos2 = '-';
	for (var i = 0; i < configParts.length; i++) {
		confString = confString + document.getElementById('configResult' + i).innerHTML;
		for (var j = 0; j < configPartsCnt[i]; j++) {
			if (document.getElementById(configParts[i] + '-' + j).checked) {
				//if (notAllowed != false) { // TOTO JE ODBLOKOVÁNO NOVĚ
					if (i == locJTRNPos) {
						locJTRNPos2 = j;
						jtrn = document.getElementById('config-' + i + '-' + j).value;
					} else if (i == locJTRPos) {
						locJTRPos2 = j;
						jtr = document.getElementById('config-' + i + '-' + j).value;
					} else if (i == locZMTPos) {
						locZMTPos2 = j;
						zmt = document.getElementById('config-' + i + '-' + j).value;
					} else if (i == locMPos) {
						locMPos2 = j;
						m = document.getElementById('config-' + i + '-' + j).value;
					}
				//} // TOTO JE ODBLOKOVÁNO NOVĚ
				document.getElementById('csTd' + i + '-' + j).className = 'line2';
				if (document.getElementById('configImg-' + i + '-' + j)) {
					document.getElementById('configImg-' + i + '-' + j).src = 'img/radioOn.gif';
				} else {
					document.getElementById('configImg-' + i).src = 'img/checkOn.gif';
				}
				for (var k = 0; k < i; k++) {
					document.getElementById('csTd' + i + '-' + j + '-' + k).className = 'znaceniPointAct';
				}
			} else {
				document.getElementById('csTd' + i + '-' + j).className = 'line' + (i % 2);
				if (document.getElementById('configImg-' + i + '-' + j)) {
					document.getElementById('configImg-' + i + '-' + j).src = 'img/radioOff.gif';
				} else {
					document.getElementById('configImg-' + i).src = 'img/checkOff.gif';
				}
				for (var k = 0; k < i; k++) {
					document.getElementById('csTd' + i + '-' + j + '-' + k).className = 'znaceniPointPas';
				}
			}
		}
	}
	//kotrola podle tlaku
	error = 0;
	if (notAllowed != false) {
		mask = zmt + '/' + m + '/' + jtrn + '/' + jtr;
		for (var i = 0; i < notAllowed.length; i++) {
			if (mask == notAllowed[i]) {
				if (locJTRNPos2 != '-') {
					document.getElementById('csTd' + locJTRNPos + '-' + locJTRNPos2).className = 'lineWarn';
				}
				if (locJTRPos2 != '-') {
					document.getElementById('csTd' + locJTRPos + '-' + locJTRPos2).className = 'lineWarn';
				}
				if (locZMTPos2 != '-') {
					document.getElementById('csTd' + locZMTPos + '-' + locZMTPos2).className = 'lineWarn';
				}
				if (locMPos2 != '-') {
					document.getElementById('csTd' + locMPos + '-' + locMPos2).className = 'lineWarn';
				}
				error = 1;
				break;
			}
		}
	}
	if (document.getElementById('pressurePriceSpan')) {
		mask = zmt + '/' + m + '/' + jtrn + '/' + jtr;
		pressurePrice = 0;
		if (zmt != 'A') {
			for (var i = 0; i < pressures.length; i++) {
				if (pressures[i][0] == mask) {
					pressurePrice = pressures[i][1];
					break;
				}
			}
		}
		document.getElementById('pressurePriceSpan').innerHTML = number_format(pressurePrice,0,',',' ') + ',-';
		document.getElementById('orderPressurePrice').value = pressurePrice;
	}
	
	var btn = document.getElementById('submitButton'); 
	btn.disabled = (error == 1);
	btn.value = error == 1 ? StT('nelze-pripravit1') : btnMessage;
	if (error == 1 && errorPressure == 1) {
		alert(StT('nelze-pripravit2'));
		errorPressure = 2;
	} else if (error == 0) {
		errorPressure = 1;
	}
	document.getElementById('orderCodeSpan').innerHTML = trim(confString);
	document.getElementById('orderCode').value = trim(confString);
	updateTotalPrice();
}

function colorizeRow(vi,vvi) {
	if (document.getElementById('csTd' + vi + '-' + vvi)) {
		document.getElementById('csTd' + vi + '-' + vvi).style.backgroundImage = 'url(img/reddot.gif)';
		document.getElementById('csTd' + vi + '-' + vvi).style.backgroundRepeat = 'repeat-x';
		document.getElementById('csTd' + vi + '-' + vvi).style.backgroundPosition = 'bottom';
		for (var k = 0; k <= vi; k++) {
			document.getElementById('csTd' + vi + '-' + vvi + '-' + k).style.backgroundImage = 'url(img/reddot.gif)';
			document.getElementById('csTd' + vi + '-' + vvi + '-' + k).style.backgroundRepeat = 'repeat-x';
			document.getElementById('csTd' + vi + '-' + vvi + '-' + k).style.backgroundPosition = 'bottom';
		}
	}
} 

function recolorizeRow(vi,vvi) {
	if (document.getElementById('csTd' + vi + '-' + vvi)) {
		document.getElementById('csTd' + vi + '-' + vvi).style.backgroundImage = '';
		for (var k = 0; k <= vi; k++) {
			document.getElementById('csTd' + vi + '-' + vvi + '-' + k).style.backgroundImage = '';
		}
	}
} 

function colorizeSearchRow(nr) {
	cellsNr = 8;
	for (var i = 1; i <= cellsNr; i++) {
		var cell = document.getElementById('sRow' + nr + '-' + i);
		cell.style.backgroundImage = 'url(img/reddot.gif)';
		cell.style.backgroundRepeat = 'repeat-x';
		cell.style.backgroundPosition = 'bottom';
	}
} 

function recolorizeSearchRow(nr) {
	cellsNr = 8;
	for (var i = 1; i <= cellsNr; i++) {
		var cell = document.getElementById('sRow' + nr + '-' + i);
		cell.style.backgroundImage = '';
	}
} 

function updateConfig(vi,vvi) {
	document.getElementById('configResult' + vi).innerHTML = document.getElementById('config-' + vi + '-' + vvi).value;
	updateConfigColors();
}

function updateConfigCheck(vi,vvi) {
	//alert('config-' + vi + '-' + vvi);
	document.getElementById('config-' + vi + '-' + vvi).checked = (document.getElementById('config-' + vi + '-' + vvi).checked == true) ? false : true;
	document.getElementById('configResult' + vi).innerHTML = (document.getElementById('config-' + vi + '-' + vvi).checked == true) ? document.getElementById('config-' + vi + '-' + vvi).value : '&nbsp;';
	for (var i = 0; i < items.length; i++) {
		if (items[i][0] == vi && items[i][1] == vvi) {
			items[i][4] = (document.getElementById('config-' + vi + '-' + vvi).checked == true) ? 1 : 0;
			break;
		}
	}
	updateTotalPrice();
	updateConfigColors();
}

function updateConfigState(vi,vvi) {
	document.getElementById('config-' + vi + '-' + vvi).checked = true;
	document.getElementById('configImg-' + vi + '-' + vvi).src = 'img/radioOn.gif';
	updateItemPrice(vi,vvi);
	updateConfig(vi,vvi);
}

function myOnLoad() {
	if (CallMyConfig) {
		updateConfigColors();
	}
}

function dlLang(line,newVal) {
	parts = newVal.split('?'); 
	document.getElementById('href' + line).href = parts[0];
	document.getElementById('fS' + line).innerHTML = parts[1];
}

function checksharp(vName,vLength) {
	document.getElementById('frm_submit').disabled = document.getElementById(vName).value.length != vLength;
}

function checkSubmitP() {
	AGN_oErrEmpty();
	if (trim(document.getElementById('email').value) == '') {
		AGN_oErrAdd(StT('nevyplneny-kontakt'));
	}
	if (trim(document.getElementById('poptavka').value) == '') {
		AGN_oErrAdd(StT('nevyplnena-poptavka'));
	}
	return AGN_oErrOk();
}

function trim(str) {
	if (str) {
  	return str.replace(/^\s*|\s*$/g,"");
  } else {
  	return '';
  }
} 

function number_format(number, precision, decDiv, xDiv) {
	r = 1;
	while (precision > 0) {
		precision--;
		r = r *10;
	}
	number = (Math.round(number * r) / r) + '';
	commaPositions = [4,8,12,16];
	for (var i = 0; i < commaPositions.length; i++) {
		if (number.length >= commaPositions[i]) {
			number = number.substring(0,number.length - commaPositions[i] + 1) + xDiv + number.substring(number.length - commaPositions[i] + 1);
		}
	}
	number = number.replace('.', decDiv);
	return number;
}

function updateTotalPrice() {
	if (document.getElementById('orderCount').value >= 10) {
		price =  discountPrice; 
	} else {
		price =  basePrice; 
	}
	accPrice = 0;
	for (var i = 0; i < accessories.length; i++) {
		if (document.getElementById('accCheck' + i).checked) {
			accPrice += accessories[i][1];
		}
	}
	itemPrice = 0;
	for (var i = 0; i < items.length; i++) {
		if (items[i][4] == 1) {
			itemPrice += items[i][3];
		}
	}
	thisPrice = (price + itemPrice + accPrice + pressurePrice);
	totalPrice = document.getElementById('orderCount').value * thisPrice;
	document.getElementById('orderPrice').value = thisPrice;
	document.getElementById('orderPriceSpan').innerHTML = number_format(thisPrice,0,',',' ') + ',-';
	document.getElementById('orderTPrice').value = totalPrice;
	document.getElementById('orderTPriceSpan').innerHTML = number_format(totalPrice,0,',',' ') + ',-';
}

function updatePressurePrice() {
	pressurePrice = 0;
}

function updateItemPrice(vi,vvi) {
	for (var i = 0; i < items.length; i++) {
		if (items[i][0] == vi && items[i][1] != vvi) {
			items[i][4] = 0;
		} else if (items[i][0] == vi && items[i][1] == vvi) {
			items[i][4] = 1;
		}
	}
	updateTotalPrice();
}

function updateAccessories(thisNr) {
	if (accessories.length == 0) {
		return;
	}
	document.getElementById('accCheck' + thisNr).checked = !document.getElementById('accCheck' + thisNr).checked;
	document.getElementById('accI' + thisNr).src = 'img/check' + (document.getElementById('accCheck' + thisNr).checked ? 'On' : 'Off') + '.gif'; 
	updateTotalPrice();
}

function checkRequiredOrder() {
	noEmpty = new Array('Email','Telefon');
	AGN_oErrEmpty();

	if (trim(document.getElementById('Prijmeni').value) == '' && 	trim(document.getElementById('Firma').value) == '') {
		noEmpty = new Array('Email','Telefon','Prijmeni','Firma');
	} else {
		document.getElementById('Prijmeni').style.backgroundColor = 'white';
		document.getElementById('Firma').style.backgroundColor = 'white';
	}
	emptyError = false;
	for (var i = 0; i < noEmpty.length; i++) {
		var obj = document.getElementById(noEmpty[i]);
		if (trim(obj.value) == '') {
			emptyError = true;
			obj.style.backgroundColor = '#0880bb';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd(StT('chybi-povinne'));
	}
	
	return AGN_oErrOk();
}

function registerBaseCheck() {
	noEmpty = new Array('Email','Password','Password2','Telefon','PSC','Mesto','Ulice','ICO');
	AGN_oErrEmpty();

	if (trim(document.getElementById('Prijmeni').value) == '' && trim(document.getElementById('Firma').value) == '') {
		noEmpty[noEmpty.length] = 'Prijmeni';
		noEmpty[noEmpty.length] = 'Firma';
	} else {
		document.getElementById('Prijmeni').style.backgroundColor = 'white';
		document.getElementById('Firma').style.backgroundColor = 'white';
	}
	
	emptyError = false;
	for (var i = 0; i < noEmpty.length; i++) {
		var obj = document.getElementById(noEmpty[i]);
		if (trim(obj.value) == '') {
			emptyError = true;
			obj.style.backgroundColor = '#0880bb';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd(StT('chybi-povinne'));
	}
	
	pwd1 = trim(document.getElementById('Password').value);
	pwd2 = trim(document.getElementById('Password2').value);
	if (pwd1.length < 6) {
		AGN_oErrAdd(StT('chyba-heslo1'));
	}
	if (pwd1 != pwd2) {
		AGN_oErrAdd(StT('chyba-heslo2'));
	}
	return AGN_oErrOk();
}

function registerEBaseCheck() {
	noEmpty = new Array('Jmeno','Prijmeni','Email','Password');
	AGN_oErrEmpty();
	
	emptyError = false;
	for (var i = 0; i < noEmpty.length; i++) {
		var obj = document.getElementById(noEmpty[i]);
		if (trim(obj.value) == '') {
			emptyError = true;
			obj.style.backgroundColor = '#0880bb';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd(StT('chybi-povinne'));
	}
	
	pwd1 = trim(document.getElementById('Password').value);
	if (pwd1.length < 6) {
		AGN_oErrAdd(StT('chyba-heslo1'));
	}
	return AGN_oErrOk();
}

function editBaseCheck() {
	noEmpty = new Array('Jmeno','Prijmeni','Email');
	AGN_oErrEmpty();
	
	emptyError = false;
	for (var i = 0; i < noEmpty.length; i++) {
		var obj = document.getElementById(noEmpty[i]);
		if (trim(obj.value) == '') {
			emptyError = true;
			obj.style.backgroundColor = '#0880bb';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd(StT('chybi-povinne'));
	}
	
	return AGN_oErrOk();
}

function noZeroCheck() {
	if (noZero && noZero.length > 0) {
		for (var i = 0; i < noZero.length; i++) {
			if (parseInt(document.getElementById(noZero[i]).value) > 0) {
				return true;
			}
		}
	}
	alert(StT('nezvoleno-prislusenstvi'));
	return false;
}
