
function support_dom()
{
	return ( document.getElementById ) ? true : false;
}

function Init()
{
	this.getParent = function(element, nodeName) {
		if( element == null ) {
			return null;
		}
		else if( element.nodeType == 1 && element.nodeName.toLowerCase() == nodeName.toLowerCase() ) {
			return element;
		}
		else {
			return this.getParent(element.parentNode, nodeName);
		}
	}
	
	this.setCookie = function(name, value, days, path) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 86400));
		
 		document.cookie = name + "=" + escape(value) + "; expires=" + date.toGMTString() + "; path=" + path;
	}
	
	this.getCookie = function(name) {
		if( document.cookie )
		{
			var arg = name + '=';
			var i   = 0;
			
			while( i < document.cookie.length )
			{
				var j = i + arg.length;
				if( document.cookie.substring(i, j) == arg )
				{
					var endstr = document.cookie.indexOf(';', j);
					if( endstr == -1 ) {
						endstr = document.cookie.length;
					}
					
					return unescape(document.cookie.substring(j, endstr));
				}
				
				i = document.cookie.indexOf(' ', i) + 1;
				if( i == 0 ) break;
			}
		}
		
		return '';
	}
	
	this.event = new initEvent();
}

function initEvent()
{
	this.target = function(object) {
		if( object.target )
		{
			return object.target;
		}
		else
		{
        	return window.event.srcElement;
		}
	}
	
	if( window.addEventListener )
	{
		this.add = function(object, type, func, capture) {
			return object.addEventListener(type, func, capture);
		}
	}
	else if( window.attachEvent )
	{
		this.add = function(object, type, func, capture) {
			return object.attachEvent('on' + type, func);
		}
	}
	
	if( window.removeEventListener )
	{
		this.remove = function(object, type, func, capture) {
			return object.removeEventListener(type, func, capture);
		}
	}
	else if( window.detachEvent )
	{
		this.remove = function(object, type, func, capture) {
			return object.detachEvent('on' + type, func);
		}
	}
	
	this.related = function(object, glop) {
		if( object.relatedTarget )
		{
			return object.relatedTarget;
		}
		else if( glop )
		{
			return window.event.fromElement;
		}
		else
		{
			return window.event.toElement;
		}
	}
}

if( support_dom() )
{
	var phpcodeur = new Init();
}


