var eventModel	= "unknown";

function checkEventModel(objEvent) {
	eventModel = (objEvent) ? (objEvent.eventPhase) ? "W3C" : "NN4" : (window.event) ? "IE4" : "unknown";
}

function addEvent(objElement, strEventType, strFunction, useCapture) {
	if (objElement.addEventListener) {
		objElement.addEventListener(strEventType, strFunction, useCapture);
		return true;
	}
	else if (objElement.attachEvent) {
		return objElement.attachEvent("on" + strEventType, strFunction);
	}
	else {
		alert("Handler could not be added");
	}
}

function setFormClass(evt) {
	var classNormal	= "npt";
	var classOn	= "npt_on";
	var classClick	= "npt_click";
	var inputName	= (eventModel == "IE4")? evt.srcElement.name: evt.target.name;
	var formName	= document.getElementById(inputName).getAttribute("formname");
	var formElement = document.forms[formName].elements[inputName];

	if (evt.type == "mouseover") {
		eval(inputName + "_onMouseOver = true;");

		if (!eval(inputName + "_onFocus")) {
			formElement.className = classOn;
		}
	}
	else if (evt.type == "mouseout") {
		eval(inputName + "_onMouseOver = false;");

		if (!eval(inputName + "_onFocus")) {
			formElement.className = classNormal;
		}
	}
	else if (evt.type == "focus") {
		eval(inputName + "_onFocus = true;");
		formElement.className = classClick;
	}
	else if (evt.type == "blur") {
		eval(inputName + "_onFocus = false;");

		if (!eval(inputName + "_onMouseOver")) {
			formElement.className = classNormal;
		}
		else if (eval(inputName + "_onMouseOver")) {
			formElement.className = classOn;
		}
	}
}

function setFormEvents() {
	for (var i = 0; i < document.forms.length; i++) {
		for (var j = 0; j < document.forms[i].elements.length; j++) {
			var inputType = document.forms[i].elements[j].type;
	
			document.forms[i].elements[j].setAttribute("formname", document.forms[i].name);
			document.forms[i].elements[j].setAttribute("id", document.forms[i].elements[j].name);

			if (inputType == "text" || inputType == "password" || inputType == "textarea") {
				document.forms[i].elements[j].className = "npt";
				eval(document.forms[i].elements[j].name + "_onMouseOver = false;");
				eval(document.forms[i].elements[j].name + "_onFocus = false;");

				addEvent(document.forms[i].elements[j], "mouseover",	setFormClass);
				addEvent(document.forms[i].elements[j], "mouseout",	setFormClass);
				addEvent(document.forms[i].elements[j], "focus",	setFormClass);
				addEvent(document.forms[i].elements[j], "blur",		setFormClass);
			}
		}
	}
}	
