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("Chyby v zadání:\n\n" + eText);
    return(false);
  } else {
    return (true);
  }
};

function trim(str) {
	if (str) {
  	return str.replace(/^\s*|\s*$/g,"");
  } else {
  	return '';
  }
} 

function checkSearch() {
	var d = document.getElementById('inDemand');
	if (d) {
		if (trim(d.value) == '') {
			alert('Nelze hledat prázdný text');
			return false;
		}
	}
	return true;
}

function DAcheck(checkbox) {	
	if (checkbox.checked) {
		document.getElementById('DAStreet').disabled = false;
		document.getElementById('DACity').disabled = false;
		document.getElementById('DAZIP').disabled = false;
		document.getElementById('DACountry').disabled = false;
		document.getElementById('DAPhone').disabled = false;
		document.getElementById('DAFax').disabled = false;
	} else {
		document.getElementById('DAStreet').disabled = true;
		document.getElementById('DACity').disabled = true;
		document.getElementById('DAZIP').disabled = true;
		document.getElementById('DACountry').disabled = true;
		document.getElementById('DAPhone').disabled = true;
		document.getElementById('DAFax').disabled = true;
	}
}

function registerBaseCheck() {
	noEmpty = new Array('Name','Surname','Email','Password','Password2');
	noEmptyExtended = new Array('DAStreet','DACity','DAZIP');
	if (document.getElementById('DeliveryAddres').checked) {
		noEmpty = noEmpty.concat(noEmptyExtended);
	} else {
		for (var i = 0; i < noEmptyExtended.length; i++) {
			document.getElementById(noEmptyExtended[i]).style.backgroundColor = 'white';
		}
	}
	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 = '#FFFF8A';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd('Chybí některé povinné položky. Chybějící položky byly zvýrazněny.');
	}
	
	pwd1 = trim(document.getElementById('Password').value);
	pwd2 = trim(document.getElementById('Password2').value);
	if (pwd1.length < 6) {
		AGN_oErrAdd('Heslo nemá dostatečnou délku (nejméně 6 znaků)');
	}
	if (pwd1 != pwd2) {
		AGN_oErrAdd('Heslo a jeho potvrzení se neshodují');
	}
	return AGN_oErrOk();
}

function editBaseCheck() {
	noEmpty = new Array('Name','Surname','Email','Street','City','ZIP','Phone','Company','ICO');
	noEmptyExtended = new Array('DAStreet','DACity','DAZIP','DAPhone');
	if (document.getElementById('DeliveryAddres').checked) {
		noEmpty = noEmpty.concat(noEmptyExtended);
	} else {
		for (var i = 0; i < noEmptyExtended.length; i++) {
			document.getElementById(noEmptyExtended[i]).style.backgroundColor = 'white';
		}
	}
	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 = '#FFFF8A';
		} else {
			obj.style.backgroundColor = 'white';
		}
	}
	if (emptyError) {
		AGN_oErrAdd('Chybí některé povinné položky. Chybějící položky byly zvýrazněny.');
	}
	
	return AGN_oErrOk();
}

function checkCreditsOrder() {
	orderOpts = 5;
	checked = false;
	for (var i = 0; i < orderOpts; i++) {
		if (document.getElementById('creditOpt' + i).checked) {
			return true;
		}
	}
	alert('Není zvolena žádná varianta.');
	return false;
}

function changeDivState(stateName,stateIndex,stateCount) {
	for (var i = 0; i < stateCount; i++) {
		var obj = document.getElementById(stateName + i);
		if (obj) {
			obj.className = i == stateIndex ? 'itemSelected' : 'itemNotSelected'; 
		}
	}
}

function numberFormat(aPrice) {
	aPrice = Math.round(aPrice * 100) / 100;
	aPrice = aPrice.toString();

	aPrice = aPrice.replace('.', ',');
	fpPos = aPrice.search(',') + 1;
	fpLen = aPrice.length;
	if (fpPos > 3) {
		aPrice = aPrice.substring(0,fpPos-4) + ' ' + aPrice.substring(fpPos-4); 
	}
	if (fpPos < 1) {
		aPrice += ',00'; 
	} else if (fpPos == fpLen - 1) {
		aPrice += '0'; 
	}
	if (aPrice == '00') {
		aPrice = '0,00'; 
	}
	return aPrice;
}

function recount() {
	var obj = document.getElementById('diameterPrice');
	newPrice = parseFloat(obj.value);
	
	var obj = document.getElementById('colorPrice');
	newPrice += parseFloat(obj.value);

	var obj = document.getElementById('pinPrice');
	newPrice += parseFloat(obj.value);

	newPriceStr = numberFormat(newPrice);
	
	var obj = document.getElementById('totalPrice');
	obj.value = newPrice;	
	
	var obj = document.getElementById('price');
	obj.innerHTML = newPriceStr;
}

function nRecount() {
	var obj = document.getElementById('nabojFrontPrice');
	newPrice = parseFloat(obj.value);
	
	var obj = document.getElementById('nabojRearPrice');
	newPrice += parseFloat(obj.value);

	newPriceStr = numberFormat(newPrice);
	
	var obj = document.getElementById('totalPrice');
	obj.value = newPrice;	
	
	var obj = document.getElementById('price');
	obj.innerHTML = newPriceStr;
}

function wRecount() {
	var obj = document.getElementById('wheelRearPrice');
	newPrice = parseFloat(obj.value);
	
	var obj = document.getElementById('wheelFrontPrice');
	newPrice += parseFloat(obj.value);

	newPriceStr = numberFormat(newPrice);
	
	var obj = document.getElementById('totalPrice');
	obj.value = newPrice;	
	
	var obj = document.getElementById('price');
	obj.innerHTML = newPriceStr;
}

function sRecount() {
	var obj = document.getElementById('spokePrice');
	newPrice = parseFloat(obj.value);
	
	newPriceStr = numberFormat(newPrice);
	
	var obj = document.getElementById('totalPrice');
	obj.value = newPrice;	
	
	var obj = document.getElementById('price');
	obj.innerHTML = newPriceStr;
}

function changeHoleState(stateName,stateIndex,stateCount,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('hole');
	obj.value = valueName;
}

function changeDiameterState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('diameter');
	obj.value = valueName;
	var obj = document.getElementById('diameterPrice');
	obj.value = price;
	recount();
}

function changeColorState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('color');
	obj.value = valueName;
	var obj = document.getElementById('colorPrice');
	obj.value = price;
	recount();
}

function changePinState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('pin');
	obj.value = valueName;
	var obj = document.getElementById('pinPrice');
	obj.value = price;
	recount();
}

function changeNabojFrontState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('nabojFront');
	obj.value = valueName;
	var obj = document.getElementById('nabojFrontPrice');
	obj.value = price;
	nRecount();
}

function changeNabojRearState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('nabojRear');
	obj.value = valueName;
	var obj = document.getElementById('nabojRearPrice');
	obj.value = price;
	nRecount();
}

function changeSpokeState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('spoke');
	obj.value = valueName;
	var obj = document.getElementById('spokePrice');
	obj.value = price;
	sRecount();
}

function changeWheelFrontState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('wheelFront');
	obj.value = valueName;
	var obj = document.getElementById('wheelFrontPrice');
	obj.value = price;
	wRecount();
}

function changeWheelRearState(stateName,stateIndex,stateCount,price,valueName) {
	changeDivState(stateName,stateIndex,stateCount);
	var obj = document.getElementById('wheelRear');
	obj.value = valueName;
	var obj = document.getElementById('wheelRearPrice');
	obj.value = price;
	wRecount();
}







