function validateForm(myForm) {
	var result = true;
	if (!validateInput('media_description', false)) {
		result = false;
	}
	if (!validateInput('city', false)) {
		result = false;
	}
	if (!validateInput('country', false)) {
		result = false;
	}
	if (!validateInput('fullname', false)) {
		result = false;
	}
	/*if (!validateInput('title', false)) {
		result = false;
	}*/
	if (!validateInput('greenfinger', false)) {
		result = false;
	}
	/*
	if (!validateInput('author', false)) {
		result = false;
	}
	*/
	if (!validateInput('email', false)) {
		result = false;
	}
	if (!validateInput('conditions', false)) {
		result = false;
	}
	if (result) {
		return true;
		//myForm.submit();
	}
	return false;
}

function validateInput(myName, direct) {
	if (document.getElementById(myName+'Input')) {
		switch (myName) {
			case 'media_description':
				if (!validateEmpty(document.getElementById('media_descriptionInput'))) {
					showMissing('media_description');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('media_description');	
					return true;
				}
				break;
			case 'video':
				if (!validateEmpty(document.getElementById('videoInput')) || !validateEmpty(document.getElementById('videotypeInput'))) {
					showMissing('video');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('city');	
					return true;
				}
				break;	
			case 'city':
				if (!validateEmpty(document.getElementById('cityInput'))) {
					showMissing('city');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('city');	
					return true;
				}
				break;
			case 'title':
				if (!validateEmpty(document.getElementById('titleInput'))) {
					showMissing('title');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('title');	
					return true;
				}
				break;	
			case 'author':
				if (!validateEmpty(document.getElementById('authorInput'))) {
					showMissing('author');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('author');	
					return true;
				}
				break;	
			case 'greenfinger':
				if (!validateEmpty(document.getElementById('greenfingerInput'))) {
					showMissing('greenfinger');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('greenfinger');	
					return true;
				}
				break;	
			case 'country':
				if (!validateEmpty(document.getElementById('countryInput'))) {
					showMissing('country');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('country');	
					return true;
				}
				break;
			case 'fullname':
				if (!validateEmpty(document.getElementById('fullnameInput'))) {
					showMissing('fullname');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else {
					clearValidation('fullname');	
					return true;
				}
				break;
			case 'conditions':
				if (!validateCheckbox(document.getElementById('conditionsInput'))) {
					showMissing('conditions');
					return false;
				} else {
					clearValidation('conditions');	
					return true;
				}
				break;
			case 'email':
				if (!validateEmpty(document.getElementById('emailInput'))) {
					showMissing('email');
					if (!direct) {
						document.getElementById(myName+'Input').focus();	
					}
					return false;
				} else if (!validateEmail(document.getElementById('emailInput'))) {
					showError('email');	
					return false;
				} else {
					clearValidation('email');
					return true;
				}
				break;		
		}
	}
}

var myBoxes = new Array();
myBoxes[0] = 'media_description';
myBoxes[1] = 'city';
myBoxes[2] = 'country';
myBoxes[3] = 'fullname';
myBoxes[4] = 'greenfinger';
myBoxes[5] = 'email';
myBoxes[6] = 'conditions';

function hideAllBoxes() {
	for (var n=0; n<myBoxes.length; n++) {
		if (document.getElementById(myBoxes[n]+'Error')) {
			document.getElementById(myBoxes[n]+'Error').style.display = 'none';
		}
		if (document.getElementById(myBoxes[n]+'Missing')) {
			document.getElementById(myBoxes[n]+'Missing').style.display = 'none';
		}
	}
}

function showMissing(myName) {
	hideAllBoxes();
	if (document.getElementById(myName+'Error')) {
		document.getElementById(myName+'Error').style.display = 'none';
	}
	if (document.getElementById(myName+'Missing')) {
		document.getElementById(myName+'Missing').style.display = 'block';
	}
	document.getElementById(myName+'Input').style.border = '1px solid red';
}

function showError(myName) {
	hideAllBoxes();
	if (document.getElementById(myName+'Missing')) {
		document.getElementById(myName+'Missing').style.display = 'none';
	}
	if (document.getElementById(myName+'Error')) {
		document.getElementById(myName+'Error').style.display = 'block';
	}
	document.getElementById(myName+'Input').style.border = '1px solid red';
}

function clearValidation(myName) {
	if (document.getElementById(myName+'Error')) {
		document.getElementById(myName+'Error').style.display = 'none';
	}
	if (document.getElementById(myName+'Missing')) {
		document.getElementById(myName+'Missing').style.display = 'none';
	}
	document.getElementById(myName+'Input').style.border = '1px solid #7F9DB9';
}

function validateEmpty(myInput) {
	if (myInput.value == '') {
		return false;
	}
	return true;
}

var emailPattern = new RegExp("^([.+a-zA-Z0-9_-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$");
function validateEmail(myInput) {
	if (myInput.value.match(emailPattern)) {
		return true;
	}
	return false;
}

function validateCheckbox(myInput) {
	if (myInput.checked) {
		return true;
	}
	return false;
}