var AGN_oErrors = new Array();
var req;

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 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');
	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');
	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 trim(str) {
	if (str) {
  	return str.replace(/^\s*|\s*$/g,"");
  } else {
  	return '';
  }
} 


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 openMap() {
	var value = 0;
	object = document.getElementById('mainFrame');
	targLeft = object.offsetLeft;
	while (object.tagName != "BODY" && object.offsetParent) {
		object = object.offsetParent;
		targLeft += object.offsetLeft;
	}
	var map = document.getElementById('mapDiv');
	map.style.left = targLeft + 300 + 'px';
	map.style.display = 'block';
}

function closeMap() {
	var map = document.getElementById('mapDiv');
	map.style.display = 'none';
}

function changeVerifyImage() {
	var vi = document.getElementById('verifyImage');
	vi.src = 'slices/verify.php?rel=' + Math.random();
}

function checklength(baseName,maxLength) {
	var item = document.getElementById('frm_' + baseName);
	var echo = document.getElementById('lenghtfrm_' + baseName);
	theLength = item.value.length;
	if (theLength > maxLength) {
		item.value = item.value.substr(0,maxLength);
		length = maxLength;
	}
	echo.innerHTML = maxLength - theLength;
}

function checksharp(vName,vLength) {
	document.getElementById('frm_submit').disabled = document.getElementById(vName).value.length != vLength;
}

function newOption(theID, theText) {
	var newOpt = document.createElement('option');
	newOpt.value = theID;
	newOpt.text = theText;
	return newOpt;
}

function processOkres() {
  if (req.readyState == 4) {
    if (req.status == 200) {
			var okresy = req.responseText;
			okresy = okresy.split(";");
			var oselect = document.getElementById('obec');
			while (oselect.length > 0) {
				oselect.remove(oselect.length - 1);
			}
			oselect.add(newOption(-1,' -- vyberte nejprve okres -- '),document.all ? oselect.length : null);
			var oselect = document.getElementById('okres');
			while (oselect.length > 0) {
				oselect.remove(oselect.length - 1);
			}
			oselect.add(newOption(-1,' -- vyberte okres -- '),document.all ? oselect.length : null);
			for (var o = 1; o < okresy.length - 1; o++) {
				parts = okresy[o].split(':');
				oselect.add(newOption(parts[0],parts[1]),document.all ? oselect.length : null);
			}
    } else {
      alert("Problem se ziskanim dat:\n" + req.statusText);
    }
  }
}

function naplnOkresPodleKraje(id) {
	req = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ...
	  req = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Internet Explorer
	  req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(req) {
		//Mozilla stávkuje!
		//req.onreadystatechange = processOkres;
		req.open("GET", "inc/okres.php?id=" + id, false);
		req.send(null);
		if (req.readyState == 4) {
			//Mozilla stávkuje!
			processOkres();
		}	
	}
}

function processObec() {
  if (req.readyState == 4) {
    if (req.status == 200) {
			var obce = req.responseText;
			obce = obce.split(";");
			var oselect = document.getElementById('obec');
			while (oselect.length > 0) {
				oselect.remove(oselect.length - 1);
			}
			oselect.add(newOption(-1,' -- vyberte obec -- '),document.all ? oselect.length : null);
			for (var o = 1; o < obce.length - 1; o++) {
				parts = obce[o].split(':');
				oselect.add(newOption(parts[0],parts[1]),document.all ? oselect.length : null);
			}
    } else {
      alert("Problem se ziskanim dat:\n" + req.statusText);
    }
  }
}

function naplnObecPodleOkresu(id) {
	req = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari, Opera, Konqueror, ...
	  req = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Internet Explorer
	  req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(req) {
		//Mozilla stávkuje!
		//req.onreadystatechange = processObec;
		req.open("GET", "inc/obec.php?id=" + id, false);
		req.send(null);
		if (req.readyState == 4) {
			//Mozilla stávkuje!
			processObec();
		}
	}
}

function openDetail(id) {
	document.getElementById('detailOpen' + id).style.display = 'none';
	document.getElementById('detailClose' + id).style.display = 'block';
	document.getElementById('detail' + id).style.display = 'block';
}

function closeDetail(id) {
	document.getElementById('detailOpen' + id).style.display = 'block';
	document.getElementById('detailClose' + id).style.display = 'none';
	document.getElementById('detail' + id).style.display = 'none';
}



