var formErrors = new Array();
var isFormErrors = false;
var spanCollection;
var inputCollection;
function validateForm(event) {
	isFormErrors = false;
	spanCollection = document.getElementsByTagName('SPAN');
	inputCollection = document.getElementsByTagName('INPUT');
	var spanLength = spanCollection.length;
	var inputLength = inputCollection.length;
	//return default colors of spans
	for (i = 0; i < spanLength; i++) {
		if (spanCollection[i].className.indexOf('required') != -1) {
			spanCollection[i].style.color = '#050e51';
		}
	}
	for (c = 0; c < inputLength; c++) {
			if (inputCollection[c].className.indexOf('validate') != -1) {
				var reg = new RegExp('validate ([a-z]+) ([a-z]+)');
				var regResults = reg.exec(inputCollection[c].className);
				var fieldName = regResults[1];
				var fieldName2 = regResults[2];
				
				if (fieldName == 'input' || fieldName == 'url') {
					if (fieldName == 'url') {
						var isCorrect = validateURL(inputCollection[c]);
					} else if (fieldName == 'starttime') {
						var isCorrect = validateDate(inputCollection[c]);
					} else {
						var isCorrect = validateText(inputCollection[c]);
					}
				}
				
				if (!isCorrect) {
					for (i = 0; i < spanLength; i++) {
						if (spanCollection[i].className.indexOf('required') != -1) {
							var reg2 = new RegExp('required (.*)');
							var regResults2 = reg2.exec(spanCollection[i].className);
							var spanName = regResults2[1];
							if (spanName == fieldName2) {
								spanCollection[i].style.color = 'red';
							}
						}
					}
					isFormErrors = true;
				}
			}
	}
	
	if (!isFormErrors) {
		return true;
	} else {
		alert('Some fields not filled or not correct filled.');
		return false;
	} 
}

function validateText(inputField) {
	if (inputField.value != '') {
		return true;
	} else {
		return false;
	}
}

function validateURL(inputField) {
	var regExp = new RegExp('[a-zA-Z0-9\\-\\_]\\..+');
	var regResult = regExp.exec(inputField.value);
	if (regResult == null || inputField.value == 'http://') {
		return false;
	} else {
		return true;
	}
}

function validateDate(inputField) {
	var regExp = new RegExp('\d+\\.\d+\\.\d+');
	var regResult = regExp.exec(inputField.value);
	if (regResult == null) {
		return false;
	} else {
		return true;
	}
}
