var objDragDrop=0;
var posicion;
function cargaDragDop()
{
	posicion=0; objDragDrop=0;
	
	// IE
	if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
	// Otros
	else navegador=1;
}

function evitaEventos(event)
{
	// Funcion que evita que se ejecuten eventos adicionales
	if(navegador==0)
	{
		try
		{
		window.event.cancelBubble=true;
		window.event.returnValue=false;
		}
		catch(e)
		{
			event.cancelBubble=true;
			event.returnValue=false;
		}
	}
	if(navegador==1) event.preventDefault();
}

function comienzoMovimiento(event, id)
{
	objDragDrop=document.getElementById(id);
	
	/* Si el elemento que se le hizo click es texto (nodeType=3) se toma como target
	el elemento padre */
	if(objDragDrop.nodeType==3) objDragDrop=objDragDrop.parentNode;
	
	 // Obtengo la posicion del cursor
	if(navegador==0)
	 {
	 	cursorComienzoX=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
		cursorComienzoY=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;

		document.attachEvent("onmousemove", enMovimiento);
		document.attachEvent("onmouseup", finMovimiento);
	}
	if(navegador==1)
	{    
		cursorComienzoX=event.clientX+window.scrollX;
		cursorComienzoY=event.clientY+window.scrollY;
		
		document.addEventListener("mousemove", enMovimiento, true); 
		document.addEventListener("mouseup", finMovimiento, true);
	}
	
	objDragDrop.style.position="absolute";
	objDragDrop.style.opacity="0.3";
	objDragDrop.style.border="1px solid black";
	objDragDrop.style.left=(cursorComienzoX+5)+"px";
	objDragDrop.style.top=(cursorComienzoY+5)+"px";
	objDragDrop.style.width="150px";

	elComienzoX=parseInt(objDragDrop.style.left);
	elComienzoY=parseInt(objDragDrop.style.top);
	//Actualizo el posicion del elemento
	objDragDrop.style.zIndex=++posicion;
	
	evitaEventos(event);
}

function comienzoMovimientoframe(event, obj)
{
	objDragDrop=obj;
	/* Si el elemento que se le hizo click es texto (nodeType=3) se toma como target
	el elemento padre */
 	if(objDragDrop.nodeType==3) objDragDrop=objDragDrop.parentNode;
// 	
// 	 // Obtengo la posicion del cursor
 	if(navegador==0)
 	 {
		try
		{
	 	cursorComienzoX=event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
		cursorComienzoY=event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
		}
		catch(e)
		{
			alert(event.type)
		}

		document.attachEvent("onmousemove",enMovimientoFrame);
		document.attachEvent("onmouseup", finMovimiento);
	}
	if(navegador==1)
	{    
		cursorComienzoX=event.clientX+window.scrollX;
		cursorComienzoY=event.clientY+window.scrollY;
		
		document.addEventListener("mousemove", enMovimientoFrame, true); 
		document.addEventListener("mouseup", finMovimiento, true);
	}
	
	objDragDrop.style.position="absolute";
	objDragDrop.style.opacity="0.3";
	objDragDrop.style.border="1px solid black";
	objDragDrop.style.left=(cursorComienzoX+5)+"px";
	objDragDrop.style.top=(cursorComienzoY+5)+"px";
	objDragDrop.style.width="150px";

	elComienzoX=parseInt(objDragDrop.style.left);
	elComienzoY=parseInt(objDragDrop.style.top);
	//Actualizo el posicion del elemento
	objDragDrop.style.zIndex=++posicion;
	
	evitaEventos(event);
}

function enMovimiento(event)
{  
	var xActual, yActual;
	if(navegador==0)
	{    
		xActual=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
		yActual=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
	}  
	if(navegador==1)
	{
		xActual=event.clientX+window.scrollX;
		yActual=event.clientY+window.scrollY;
	}
	
	objDragDrop.style.left=(elComienzoX+xActual-cursorComienzoX)+"px";
	objDragDrop.style.top=(elComienzoY+yActual-cursorComienzoY)+"px";

	evitaEventos(event);
}

function enMovimientoFrame(event)
{  
	var xActual, yActual;
	if(navegador==0)
	{    
		xActual=window.event.clientX;
		yActual=window.event.clientY;
	}  
	if(navegador==1)
	{
		xActual=event.clientX;
		yActual=event.clientY;
	}
	
	objDragDrop.style.left=(elComienzoX+xActual-cursorComienzoX+125)+"px";
	objDragDrop.style.top=(elComienzoY+yActual-cursorComienzoY+115)+"px";

	evitaEventos(event);

}


function finMovimiento(event)
{
	if(navegador==0)
	{
		document.detachEvent("onmousemove", enMovimientoFrame);
		document.detachEvent("onmousemove", enMovimiento);
		document.detachEvent("onmouseup", finMovimiento);
	}
	if(navegador==1)
	{
		document.removeEventListener("mousemove", enMovimientoFrame, true);
		document.removeEventListener("mousemove", enMovimiento, true);
		document.removeEventListener("mouseup", finMovimiento, true); 
	}

	objDragDrop.style.position="";
	objDragDrop.style.opacity="";
	objDragDrop.style.border="";
	objDragDrop.style.left="";
	objDragDrop.style.top="";
	objDragDrop.style.width="";
	cursorComienzoX=0;
	cursorComienzoY=0;

/*	if(navigator.userAgent.indexOf("MSIE")>=0)
		objDragDrop=0;*/
/*	event = event.target || window.event;
	event.parentNode.appendChild(event);
	alert(objDragDrop.parentNode.id)*/
}

function limpiaObjetosDragDrop()
{
	finMovimiento(null);
	objDragDrop=0;
	posicion=0;
	cursorComienzoX=0;
	cursorComienzoY=0;
}
