var W3CDOM = (document.getElementsByTagName && document.createElement);

window.onload = function () {
	document.forms[0].onsubmit = function () {
		return validate()
	}
}


function validate() {
	var chkReq = new Array ("title","description","code");
	var chkInts = new Array ("start_day");
	validForm = true;
	firstError = null;
	errorstring = '';
	var x = document.forms[0].elements;

	for (i=0;i< chkReq.length; i++)
	{
	var chkThis = chkReq[i];
	if (x[chkThis].value == "") {
	writeError(x[chkThis],'This field is required');
	}
	}

	for (j=0; j< chkInts.length; j++) {
		var chkNum = chkInts[j]
		if(x[chkNum].value.indexOf('.')!= -1 || x[chkNum].value == "" ) writeError(x[chkNum],'Please enter an integer');
		else {
			for(k=0; k < x[chkNum].value.length; k++) {
			if( x[chkNum].value.charAt(k) < "0" || x[chkNum].value.charAt(k) > "9") writeError(x[chkNum],'Please enter an integer');
			}
		}
	}
	if (!W3CDOM)
		alert(errorstring);
	if (firstError)
		firstError.focus();
	if (!validForm)
	return false;
}

function writeError(obj,message) {
	validForm = false;
	if (obj.hasError) return;
	if (W3CDOM) {
		obj.className += ' error';
		obj.onchange = removeError;
		var sp = document.createElement('span');
		sp.className = 'error';
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message + '\n';
		obj.hasError = true;
	}
	if (!firstError)
		firstError = obj;
}

function removeError()
{
	this.className = this.className.substring(0,this.className.lastIndexOf(' '));
	this.parentNode.removeChild(this.hasError);
	this.hasError = null;
	this.onchange = null;
}