function L(url,name,klasa) {
	document.write('<span onmouseout="javascript: window.status=\'\'; this.className=\''+klasa+'\';" onmouseover="javascript: window.status=\'\'; this.className=\''+klasa+'\'; this.style.cursor=\'pointer\';" onclick="javascript: window.location=\''+url+'\';" class="'+klasa+'">'+name+'</span>');
}

//addReviewForm:
function showRegistrationSection() {
	hideAllSections();
	document.getElementById("registrationSection").style.display = "block"; 
}
function showLoginSection() {
	hideAllSections();
	document.getElementById("loginSection").style.display = "block"; 
}
function showGuestSection() {
	hideAllSections();
	document.getElementById("guestSection").style.display = "block"; 
}
function hideRegistrationSection() {
	document.getElementById("registrationSection").style.display = "none";
}
function hideLoginSection() {
	document.getElementById("loginSection").style.display = "none";
}
function hideGuestSection() {
	document.getElementById("guestSection").style.display = "none";
}
function hideAllSections() {
	document.getElementById("registrationSection").style.display = "none";
	document.getElementById("loginSection").style.display = "none";
	document.getElementById("guestSection").style.display = "none";
}

//addReviewValidation:
function hideAllErrors() {
	getElement("loginError").style.display ="none";
	getElement("emailError").style.display ="none";
	getElement("reviewError").style.display ="none";
	getElement("actionRadioError").style.display ="none";
	getElement("userLoginError").style.display ="none";
	getElement("userPasswordError").style.display ="none";
	getElement("cityError").style.display ="none";
	getElement("dateBirthError").style.display ="none";
	getElement("sexError").style.display ="none";
	getElement("knowFromError").style.display ="none";
	getElement("passwordError").style.display ="none";
	getElement("repeatPasswordError").style.display ="none";
	getElement("antiBotError").style.display ="none";	
}

function clearAllErrors() {
	getElement("loginError").innerHTML ="";
	getElement("emailError").innerHTML ="";
	getElement("reviewError").innerHTML ="";
	getElement("actionRadioError").innerHTML ="";
	getElement("userLoginError").innerHTML ="";
	getElement("userPasswordError").innerHTML ="";
	getElement("cityError").innerHTML ="";
	getElement("dateBirthError").innerHTML ="";
	getElement("sexError").innerHTML ="";
	getElement("knowFromError").innerHTML ="";
	getElement("passwordError").innerHTML ="";
	getElement("repeatPasswordError").innerHTML ="";
	getElement("antiBotError").innerHTML = "";

	getElement("login").style.backgroundColor ="white";
	getElement("email").style.backgroundColor ="white";
	getElement("review").style.backgroundColor ="white";
	getElement("userLogin").style.backgroundColor ="white";
	getElement("userPassword").style.backgroundColor ="white";
	getElement("city").style.backgroundColor ="white";
	getElement("dateBirth").style.backgroundColor ="white";
	getElement("sex").style.backgroundColor ="white";
	getElement("knowFrom").style.backgroundColor ="white";
	getElement("password").style.backgroundColor ="white";
	getElement("repeatPassword").style.backgroundColor ="white";
	getElement("antiBot").style.backgroundColor ="white";
}

function hideAllRegistrationErrors() {
	getElement("loginError").style.display ="none";
	getElement("emailError").style.display ="none";
	getElement("cityError").style.display ="none";
	getElement("dateBirthError").style.display ="none";
	getElement("sexError").style.display ="none";
	getElement("knowFromError").style.display ="none";
	getElement("passwordError").style.display ="none";
	getElement("repeatPasswordError").style.display ="none";
}

function clearAllRegistrationErrors() {
	getElement("loginError").innerHTML ="";
	getElement("emailError").innerHTML ="";
	getElement("cityError").innerHTML ="";
	getElement("dateBirthError").innerHTML ="";
	getElement("sexError").innerHTML ="";
	getElement("knowFromError").innerHTML ="";
	getElement("passwordError").innerHTML ="";
	getElement("repeatPasswordError").innerHTML ="";

	getElement("login").style.backgroundColor ="white";
	getElement("email").style.backgroundColor ="white";
	getElement("city").style.backgroundColor ="white";
	getElement("dateBirth").style.backgroundColor ="white";
	getElement("sex").style.backgroundColor ="white";
	getElement("knowFrom").style.backgroundColor ="white";
	getElement("password").style.backgroundColor ="white";
	getElement("repeatPassword").style.backgroundColor ="white";
}

function hideAllLoginErrors() {
	getElement("userLoginError").style.display ="none";
	getElement("userPasswordError").style.display ="none";
}

function clearAllLoginErrors() {
	getElement("userLoginError").innerHTML ="";
	getElement("userPasswordError").innerHTML ="";
	getElement("userLogin").style.backgroundColor ="white";
	getElement("userPassword").style.backgroundColor ="white";

}



function setError(fieldName, message) {
	var errorField = getElement(fieldName + "Error");
	var errorInputField = getElement(fieldName);
	errorField.style.display = "block";
	errorField.innerHTML = message;
	errorInputField.style.backgroundColor = "#DEC3C3";
	
}	

function validateRegistrationForm() {
	clearAllRegistrationErrors();
	hideAllRegistrationErrors();
	var result = true;
	
	if (getElement("login").value == "") {
		setError("login", missingLoginMsg);
		result = false;
	} 
	if (getElement("email").value == "") {
		setError("email", missingEmailMsg);
		result = false;
	} 
	if (getElement("city").value == "") {
		setError("city", missingCityMsg);
		result = false;
	}
	if (getElement("dateBirth").value == "") {
		setError("dateBirth", missingDateBirthMsg);
		result = false;
	} else {
		var dateBirthIsCorrect = validateDateBirth(getElement("dateBirth").value);
		if (!dateBirthIsCorrect) {
			setError("dateBirth", badDateFormatMsg);
			result = false;
		}
	}
		
	if (getElement("password").value == "") {
		setError("password", missingPasswordMsg);
		result = false;
	}	
	if (getElement("repeatPassword").value == "") {
		setError("repeatPassword", missingRepeatPasswordMsg);
		result = false;
	}
	if (getElement("password").value != "" && getElement("repeatPassword").value != "" && getElement("password").value != getElement("repeatPassword").value) {
		setError("repeatPassword", passwordsNotMatchMsg);
		result = false;
	} 
	return result;
}

function validateLoginForm() {
	clearAllLoginErrors();
	hideAllLoginErrors();
	var result = true;
	
	if (getElement("userLogin").value == "") {
		setError("userLogin", missingLoginMsg);
		result = false;
	} 
	if (getElement("userPassword").value == "") {
		setError("userPassword", missingPasswordMsg);
		result = false;
	} 
	return result;
}

function validateForm() {
	clearAllErrors();
	hideAllErrors();
	var result = true;
	
	if (getElement("review").value == "") {
		setError("review", missingReviewMsg);
		result = false;
	}
	if (getElement("antiBot").value == "") {
		setError("antiBot", missingAntiBotMsg);
		result = false;
	}
	
	if (getElement("registrationRadio").checked == false 
			&& getElement("loginRadio").checked == false 
			&& getElement("guestRadio").checked == false 
			&& getElement("isLogged").value == 0) {
		setError("actionRadio", missingActionRadioMsg);
		result = false;
		return false;
	}
	
	if (getElement("registrationRadio").checked == true) {
		if (getElement("login").value == "") {
			setError("login", missingLoginMsg);
			result = false;
		} 
		if (getElement("email").value == "") {
			setError("email", missingEmailMsg);
			result = false;
		} 
		if (getElement("city").value == "") {
			setError("city", missingCityMsg);
			result = false;
		}
		if (getElement("dateBirth").value == "") {
			setError("dateBirth", missingDateBirthMsg);
			result = false;
		} else {
			var dateBirthIsCorrect = validateDateBirth(getElement("dateBirth").value);
			if (!dateBirthIsCorrect) {
				setError("dateBirth", badDateFormatMsg);
				result = false;
			}
		}
			
		if (getElement("password").value == "") {
			setError("password", missingPasswordMsg);
			result = false;
		}	
		if (getElement("repeatPassword").value == "") {
			setError("repeatPassword", missingRepeatPasswordMsg);
			result = false;
		}
		if (getElement("password").value != "" && getElement("repeatPassword").value != "" && getElement("password").value != getElement("repeatPassword").value) {
			setError("repeatPassword", passwordsNotMatchMsg);
			result = false;
		} 
		
		
	}
	
	if (getElement("loginRadio").checked == true) {
		if (getElement("userLogin").value == "") {
			setError("userLogin", missingUserLoginMsg);
			result = false;
		}
		if (getElement("userPassword").value == "") {
			setError("userPassword", missingUserPasswordMsg);
			result = false;
		}
	}
	
	if (getElement("guestRadio").checked == true) {
		if (getElement("guestName").value == "") {
			setError("guestName", missingGuestNameMsg);
			result = false;
		}
	}
		
	return result;	
}

function validateDateBirth(strValue) {
	var objRegExp  = /(^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$)/i;
	return objRegExp.test(strValue);
}

function submitForm() {
	var validateResult = validateForm();
	if (validateResult == true) {
		//return false;
		getElement("reviewForm").submit();
	} else {
		return false;
	}
}

function submitRegistrationForm() {
	var validateResult = validateRegistrationForm();
	if (validateResult == true) {
		//return false;
		getElement("registrationForm").submit();
	} else {
		return false;
	}
}

function submitLoginForm() {
	var validateResult = validateLoginForm();
	if (validateResult == true) {
		//return false;
		getElement("loginForm").submit();
	} else {
		return false;
	}
}

function getElement(id) {
	return document.getElementById(id);
}

