window.onload = function() {
	SetValidation();
	//SetSelect();
	//SetOther();
};

function SetValidation() {
	var frmContact = document.getElementById('frmContact');
	
	frmContact.onsubmit = function() {
		var strErrors = '';
		var name = document.getElementById('name');
		var email = document.getElementById('email');

		if (name.value == '') {
			strErrors += 'Please enter your name.<br>';
			label = GetLabel(name.id);
			if (label) {
				label.className = 'errors';
			}
		}
		if (email.value == '') {
			strErrors += 'Please enter your email address.<br>';
			label = GetLabel(email.id);
			if (label) {
				label.className = 'errors';
			}
		}
		
		if (strErrors) {
			if (document.getElementById('errors')) {
				errors = document.getElementById('errors');
			} else {
				//var divContact = document.getElementById('divContact');
				errors = document.createElement('p');
				errors.id = 'errors';
				errors.className = 'errors';				
				this.insertBefore(errors,this.firstChild);
			}
			errors.innerHTML = strErrors;
			
			return false;
		} else {
			return true;
		}
	};
	
	var name = document.getElementById('name');
	var email = document.getElementById('email');
	
	addEvent(name, "blur", LabelError, false);
	addEvent(email, "blur", LabelError, false);
}

function SetSelect() {
	var topic = document.getElementById('topic');
	var topic_other = document.getElementById('topic_other');
	
	topic.onchange = function() {
		if(this.value == 'Other') {
			topic_other.className = 'shown';
			//topic_other.select();
			topic_other.focus();
		} else {
			this.form.topic_other.className = 'hidden';
		}
	};
}

function SetOther() {
	var topic = document.getElementById('topic');
	var topic_other = document.getElementById('topic_other');
	
	if (topic.options[topic.selectedIndex].value == 'Other') {
		topic_other.className = 'shown';
	}
}

function GetLabel(id) {
	var labels = document.getElementsByTagName('label');
	
	for (var i = 0; i < labels.length; i++) {
		if (labels[i].htmlFor == id) {
			return labels[i];
		}
	}

	return null;
}

function LabelError(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	
	var label = GetLabel(targ.id);
	if (targ.value != '') {
		if (label) {
			label.className = '';
		}
	} else {
		if (label) {
			label.className = 'errors';
		}
	}
}

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		//alert("Handler could not be attached");
	}
}