var fE = {//form effects
	addEvent: function(elm, evType, fn, useCapture){
		if(elm.addEventListener){
			elm.addEventListener(evType, fn, useCapture);
			return true;
		}else if(elm.attachEvent){
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		}else{
			elm['on' + evType] = fn;
		}
	},
	
	init: function()
	{

		var frm = document.getElementsByTagName('form')[0];
		
		if (!frm) return;
		
		var fields = frm.getElementsByTagName('input');
		
		for (var i=0; i < fields.length; i++)
		{
			var fieldType = fields[i].getAttribute('type');
			if (fieldType == 'text') {
				fE.addEvent(fields[i], 'focus', fE.fFocus, false);
				fE.addEvent(fields[i], 'blur', fE.fBlur, false);
			}
		}
		
		var txtAreas = frm.getElementsByTagName('textarea');
		
		for (var i=0; i < txtAreas.length; i++)
		{
			fE.addEvent(txtAreas[i], 'focus', fE.fFocus, false);
			fE.addEvent(txtAreas[i], 'blur', fE.fBlur, false);
		}
		
		var sel = frm.getElementsByTagName('select');
		
		for (var i=0; i < sel.length; i++)
		{
			fE.addEvent(sel[i], 'focus', fE.fFocus, false);
			fE.addEvent(sel[i], 'blur', fE.fBlur, false);
		}
	},
	
	fFocus: function(e)
	{
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		
		fE._setStyle(target, "border: 1px solid #6BAC10");
	},
	
	fBlur: function(e)
	{
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		fE._setStyle(target, "border: 1px solid #a1dc10");
	},
	
	rzCC: function(s){
		// thanks http://www.ruzee.com/blog/2006/07/\
		// retrieving-css-styles-via-javascript/
		for(var exp=/-([a-z])/; 
		exp.test(s); 
		s=s.replace(exp,RegExp.$1.toUpperCase()));
		return s;
	},
	
	_setStyle: function(element, declaration) {
		if (declaration.charAt(declaration.length-1)==';')
		declaration = declaration.slice(0, -1);
		var k, v;
		var splitted = declaration.split(';');
		for (var i=0, len=splitted.length; i<len; i++) {
		k = fE.rzCC(splitted[i].split(':')[0]);
		v = splitted[i].split(':')[1];
		eval("element.style."+k+"='"+v+"'");
		
		}
	}
}

fE.addEvent(window, 'load', fE.init, false);