function addHoverEffect(item, hoverC, outC, hoverBg, outBg, hoverB, outB, hoverCursor, outCursor) {
	var hoverEvent = "mouseover";
	var outEvent = "mouseout";
	
	//Set default styles
	styleThis(item, false);
	
	if(item.attachEvent) {
		if(hoverEvent.indexOf("on") != 1) {
			hoverEvent = "on" + hoverEvent;
			outEvent = "on" + outEvent;
		}
		
		item.attachEvent(hoverEvent, function(event) {
			var obj = event.srcElement;
			styleThis(obj, true);
		});
		
		item.attachEvent(outEvent, function(event) {
			var obj = event.srcElement;
			styleThis(obj, false);
		});
	} else if(item.addEventListener){
		if(hoverEvent.indexOf("on") != 1) {
			hoverEvent = substr(2, hoverEvent.length);
			outEvent = substr(2, outEvent.length);
		}
		
		item.addEventListener(hoverEvent, function(e) {
			var obj = e.target;
			styleThis(obj, true);
		}, false);
		
		item.addEventListener(outEvent, function(e) {
			var obj = e.target;
			styleThis(obj, false);
		}, false);
	}
	
	function styleThis(obj, hovering) {
		if(!hovering) {
			obj.style.color = outC;
			obj.style.border = outB;
			obj.style.backgroundColor = outBg;
			obj.style.cursor = (outCursor == "underfined") ? "default" : outCursor;
		} else {
			obj.style.color = hoverC;
			obj.style.border = hoverB;
			obj.style.backgroundColor = hoverBg;
			obj.style.cursor = (hoverCursor == "underfined") ? "default" : hoverCursor;
		}
	}
}
function addEvent(obj, type, func, bool) {

	if(obj.attachEvent) {
		
		if(type.indexOf("on") == -1) {
			type = "on" + type;	
		}
		
		obj.attachEvent(type, func);
	} else if(obj.addEventListener) {
		
		if(type.indexOf("on") == 0) {
			type = substr(type, 2, type.length);	
		}
		
		obj.addEventListener(type, func, bool);
	}
}


function addEvent2( obj, type, fn ) {
	if ( obj.attachEvent ) {
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
		obj.attachEvent( 'on'+type, obj[type+fn] );
	} else
		obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
	if ( obj.detachEvent ) {
		obj.detachEvent( 'on'+type, obj[type+fn] );
		obj[type+fn] = null;
	} else
		obj.removeEventListener( type, fn, false );
}



