// js script for ltcpraha

// variable for opened windows
var openedWindows = new Array();

// add window to windows array
function addWindow(name, pointer) {
	openedWindows[name] = pointer;
}

// test if window is closed
function isClosed(name) {
	if (openedWindows != null) {
		if (openedWindows[name] == null) {
			return true;
		} else {
			if (openedWindows[name].closed) {
				return true;
			} else {
				return false;
			}
		}
	}
}

// function for windows with photos
function photoWindow(photoUrl) {
	var windowName = 'ltcpraha_photos';
	var myWindow;
			
	if (isClosed(windowName)) {
		myWindow = window.open(photoUrl, windowName, 'toolbar=false, location=false, directories=false, status=false, menubar=false, scrollbars=yes, resizeable=false, copyhistory=false, width=675, height=455, top=20, left=50, maximaze=no');
		addWindow(windowName,myWindow);
		openedWindows[windowName].focus();
	} else {
		openedWindows[windowName].close();
		myWindow = window.open(photoUrl, windowName, 'toolbar=false, location=false, directories=false, status=false, menubar=false, scrollbars=yes, resizeable=false, copyhistory=false, width=675, height=455, top=20, left=50, maximaze=no');
		addWindow(windowName,myWindow);
		openedWindows[windowName].focus();
	}
}

// close actul window
function closeWindow() {
	window.close();
}

//reset form
function resetForm(resetForm){
	resetForm.name.value="";
	resetForm.surname.value="";
	resetForm.street.value="";
	resetForm.city.value="";
	resetForm.country.value="";
	resetForm.zipcode.value="";
	resetForm.beds.value="";
	resetForm.from.value="";
	resetForm.to.value="";
	resetForm.email.value="";
	resetForm.phone.value="";
	resetForm.fax.value="";
	resetForm.answer.value="1";
}

function checkForm(checkedForm, language){
	var nameMsg="";
	var surnameMsg="";
	var streetMsg="";
	var cityMsg="";
	var countryMsg="";
	var zipcodeMsg="";
	var bedsMsg="";
	var fromMsg="";
	var toMsg="";
	var emailMsg="";
	var phoneMsg="";
	var faxMsg="";
	var answerMsg="";
	var missing="";
	var badFormat="";
	var numberFormat="";
	var dateFormat="";
	var dateRegexp="";
	var tooLong="";
	
	var errorMsg="";
	
	var wasEmail=false;
	var wasPhone=false;
	var wasFax=false;
	
	//messages by language
	if (language=="cs"){
		nameMsg="Jméno";
		surnameMsg="Příjmení";
		streetMsg="Ulice";
		cityMsg="Město";
		countryMsg="Země";
		zipcodeMsg="PSČ";
		bedsMsg="Počet lůžek";
		fromMsg="Datum od";
		toMsg="Datum do";
		emailMsg="E-mail";
		phoneMsg="Telefon";
		faxMsg="Fax";
		answerMsg="Potvrzení";
		missing=" chybí.\n";
		badFormat=" má neplatný formát. Musí být ";
		numberFormat=" číslo.\n";
		dateFormat=" datum (dd.mm.rrrr)\n";
		dateRegexp="^[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}$";
		emailFormat=" email.\n";
		phoneFormat=" telefon/fax (např.: +420123456789 nebo 00420123456789).\n";
		zipcodeFormat=" 5 čísel.\n";
		tooLong=" - příliš dlouhý text.\n";
	} else {
		nameMsg="Name";
		surnameMsg="Surname";
		streetMsg="Street";
		cityMsg="City";
		countryMsg="Country";
		zipcodeMsg="Zip code";
		bedsMsg="Number of beds";
		fromMsg="From";
		toMsg="To";
		emailMsg="E-mail";
		phoneMsg="Phone";
		faxMsg="Fax";
		answerMsg="Confirmation";
		missing=" is missing.\n";
		badFormat=" bad format. Must be ";
		numberFormat=" number.\n";
		dateFormat=" date (dd/mm/yyyy)\n";
		dateRegexp="^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$";
		emailFormat=" email.\n";
		phoneFormat=" phone/fax format (ex.: +420123456789 or 00420123456789).\n";
		zipcodeFormat=" 5 numbers.\n";
		tooLong=" - too long.\n";
	}
	
	if (checkedForm.name.value == null || checkedForm.name.value == ""){
		errorMsg+=nameMsg+missing;
	} else {
		if (checkedForm.name.value.length > 100){
			errorMsg+=nameMsg+tooLong;
		}
	}
	if (checkedForm.surname.value == null || checkedForm.surname.value == ""){
		errorMsg+=surnameMsg+missing;
	} else {
		if (checkedForm.surname.value.length > 100){
			errorMsg+=surnameMsg+tooLong;
		}
	}
	if (checkedForm.street.value == null || checkedForm.street.value == ""){
		//nothing todo must be not filled
	} else {
		if (checkedForm.street.value.length > 100){
			errorMsg+=streetMsg+tooLong;
		}
	}
	if (checkedForm.city.value == null || checkedForm.city.value == ""){
		errorMsg+=cityMsg+missing;
	} else {
		if (checkedForm.city.value.length > 100){
			errorMsg+=cityMsg+tooLong;
		}
	}
	if (checkedForm.country.value == null || checkedForm.country.value == ""){
		errorMsg+=countryMsg+missing;
	} else {
		if (checkedForm.country.value.length > 100){
			errorMsg+=countryMsg+tooLong;
		}
	}
	if (checkedForm.zipcode.value == null || checkedForm.zipcode.value == ""){
		errorMsg+=zipcodeMsg+missing;
	} else {
		if (window.RegExp) {
			re = new RegExp("^[0-9]{5}$");
			if (!re.test(checkedForm.zipcode.value)) {
				errorMsg+=zipcodeMsg+badFormat+zipcodeFormat;
			}
		}
		if (checkedForm.zipcode.value.length > 5){
			errorMsg+=zipcodeMsg+tooLong;
		}
	}
	if (checkedForm.beds.value == null || checkedForm.beds.value == ""){
		errorMsg+=bedsMsg+missing;
	} else {
		if (window.RegExp) {
			re = new RegExp("^[0-9]{1,2}$");
			if (!re.test(checkedForm.beds.value)) {
				errorMsg+=bedsMsg+badFormat+numberFormat;
			}
		}
		if (checkedForm.beds.value.length > 2){
			errorMsg+=bedsMsg+tooLong;
		}
	}
	if (checkedForm.from.value == null || checkedForm.from.value == ""){
		errorMsg+=fromMsg+missing;
	} else {
		if (window.RegExp) {
			re = new RegExp(dateRegexp);
			if (!re.test(checkedForm.from.value)) {
				errorMsg+=fromMsg+badFormat+dateFormat;
			}
		}
		if (checkedForm.from.value.length > 10){
			errorMsg+=fromMsg+tooLong;
		}
	}
	if (checkedForm.to.value == null || checkedForm.to.value == ""){
		errorMsg+=toMsg+missing;
	} else {
		if (window.RegExp) {
			re = new RegExp(dateRegexp);
			if (!re.test(checkedForm.to.value)) {
				errorMsg+=toMsg+badFormat+dateFormat;
			}
		}
		if (checkedForm.to.value.length > 10){
			errorMsg+=toMsg+tooLong;
		}
	}
	if (checkedForm.answer.value == null || checkedForm.answer.value == ""){
		errorMsg+=answerMsg+missing;
	} else {
		if (checkedForm.answer.value == 1){
			if (checkedForm.email.value == null || checkedForm.email.value == ""){
				errorMsg+=emailMsg+missing;
			}
		}
		if (checkedForm.answer.value == 2){
			if (checkedForm.phone.value == null || checkedForm.phone.value == ""){
				errorMsg+=phoneMsg+missing;
			}
		}
		if (checkedForm.answer.value == 3){
			if (checkedForm.fax.value == null || checkedForm.fax.value == ""){
				errorMsg+=faxMsg+missing;
			}
		}
		if (checkedForm.answer.value.length > 1){
			errorMsg+=answerMsg+tooLong;
		}
	}
	if (checkedForm.email.value != null && checkedForm.email.value != "" ){
		if (window.RegExp) {
			re = new RegExp("^[^@]+@[^.]+\..+$");
			if (!re.test(checkedForm.email.value)) {
				errorMsg+=emailMsg+badFormat+emailFormat;
			}
		}
		if (checkedForm.email.value.length > 150){
			errorMsg+=emailMsg+tooLong;
		}
	}
	if (checkedForm.phone.value != null && checkedForm.phone.value != "" ){
		if (window.RegExp) {
			re = new RegExp("^\\+[0-9]{1,12}$|^[0-9]{3,14}$");
			if (!re.test(checkedForm.phone.value)) {
				errorMsg+=phoneMsg+badFormat+phoneFormat;
			}
		}
		if (checkedForm.phone.value.length > 14){
			errorMsg+=phoneMsg+tooLong;
		}
	}
	if (checkedForm.fax.value != null && checkedForm.fax.value != "" ){
		if (window.RegExp) {
			re = new RegExp("^\\+[0-9]{1,12}$|^[0-9]{3,14}$");
			if (!re.test(checkedForm.fax.value)) {
				errorMsg+=faxMsg+badFormat+phoneFormat;
			}
		}
		if (checkedForm.fax.value.length > 14){
			errorMsg+=faxMsg+tooLong;
		}
	}
	
	if (errorMsg==""){
		return true;
	} else {
		alert(errorMsg);
		return false;
	}
}

