var mouseX = 0;
var mouseY = 0;

if ( isNetscape() )
{
	document.captureEvents( Event.MOUSEMOVE );
}

function mousePosition( e )
{
	var tempX = 0;
	var tempY = 0;
	if ( isExplorer() ) 
	{ 
	    tempX = event.clientX + document.body.scrollLeft;
	    tempY = event.clientY + document.body.scrollTop;
  	}
  	else 
  	{ 
	    tempX = e.pageX;
    	tempY = e.pageY;
	}
	
	mouseX = tempX;
	mouseY = tempY;
}

document.onmousemove = mousePosition;

function hookEvent( eventname , name , hookFunction ,  first , constraints )
{
  var elementList = null;
	  
	if ( constraints )
 		elementList = getElementsByTagAndConstraint( name , constraints);
	else
		elementList = document.getElementsByTagName( name );
		
	hookEventList( elementList , eventname ,  hookFunction , first );
}


function hookEventList( elementList ,  eventname , hookFunction ,  bubble  )
{
	var finalEventName = null;

	for( i = 0 ; i < elementList.length; i++ ) 
	{
	    if ( elementList[ i ].addEventListener  )		
			elementList[ i ].addEventListener( eventname ,  hookFunction , bubble );

		else
			 if (elementList[ i ].attachEvent)
			 {
			 	finalEventName = "on" + eventname;
			    elementList[ i ].attachEvent(finalEventName, hookFunction); 
			 }
			else
				alert(' no soporta nada');
	}
}
 
function getTarget( e )
{
	var tgt = null;
	
	if ( e.target )
		tgt = e.target;
	else
		if ( e.srcElement )
			tgt = e.srcElement;
			
	return tgt;
}