var nomObj='';
var offsetX=0;
var offsetY=0;
var firstMov=false; //primer movimiento
var moverEna=true; //establece si se pueden mover o no las fichas
var v_logPos=false; //setea si se debe loguear o no las pos X e Y
var v_logPosTxt=false; //setea si el logue X e Y sale por pantalla
var v_posX=0; //posicion X actual del cursor
var v_posY=0; //posicion Y actual del cursor

var objLogPos=null;

function iniMov(id,soltarOnClick,outRangeSoltar,onClickEv)
{
    try {
        var obj = document.getElementById(id);
        obj.onmousemove=mover;
        if (soltarOnClick==true||soltarOnClick==undefined)
            obj.onmouseup=soltar;
        if (outRangeSoltar==true||outRangeSoltar==undefined)
            obj.onmouseout=soltar;
            
        if (onClickEv==true||onClickEv==undefined)
            obj.onclick=mov_onClick;
        
        return true;
    }catch(anye){
        window.alert ("Error inicializando MOV ! \r\n ( "+anye.message+" )");
        return false;
    }
}

function mover(e)
{
    var posX=0;
    var posY=0;

        var obj = document.getElementById(nomObj);
        if (esIE())
        {
            posX=event.clientX;
            posY=event.clientY;
  //          event.stopPropagation();
        }
        else
        {
            posX=e.pageX;
            posY=e.pageY;
//            e.stopPropagation();
    	}

    if (nomObj!='')
    {
        if (!firstMov)
        {
            firstMov=true;
            calcOffset(e);
        }

    	posX=posX-offsetX;
    	posY=posY-offsetY;

    	obj.style.left=posX;
    	obj.style.top=posY;
//    	nomObj='';
	}
	
    if (v_logPos)
        logPos(posX,posY);

}

function iniLogPos(logTxt,idObj)
{ //setea que se va a loguear la posicion X e Y en el objpasado
    try {
        if (logTxt)
        {
            v_logPosTxt=true;
            objLogPos = document.getElementById(idObj);
        }
        v_logPos=true;
        return true;
    }catch(anye){
        window.alert ("Error inicializando logPos !");
        return false;
    }
}

function logPos(X,Y)
{
    try {
        v_posX=X;
        v_posY=Y;
        if (v_logPosTxt)
            objLogPos.innerHTML="X: "+X+" Y: "+Y;
  //      return true;
    }catch(anye){
        objLogPos.innerHTML=anye.message;
//        return false;
    }
}

function objAMover(obj)
{
    if (moverEna)
    {
        ponenom(obj)
    }
    else
    {
        soltar();
    }
}

function ponenom(obj)
{
    try {
    offsetX=parseInt(obj.style.left);
    offsetY=parseInt(obj.style.top);
   // calcOffset();
   nomObj=obj.id;
//    nomObj=nom;
    }catch(anye){
        window.alert ("Error moviendo obj. ! \r\n ( "+anye.message+" )");
        return false;
    }
}

function calcOffset(e)
{
    var posX=0;
    var posY=0;

    if (esIE())
    {
        posX=event.clientX;
        posY=event.clientY;
    }else{
       	posX=e.pageX;
        posY=e.pageY;
    }

    offsetX=posX-offsetX;
    offsetY=posY-offsetY;
}

function soltar()
{
    var aux=nomObj;
    nomObj='';
    firstMov=false;
}

function mov_CurPos(e)
{
    var mtx = new Array();

    if (esIE())
    {
        mtx[0]=event.clientX;
        mtx[1]=event.clientY;
  //          event.stopPropagation();
    }else{
        mtx[0]=e.pageX;
        mtx[1]=e.pageY;
//            e.stopPropagation();
    }

    return mtx;
}

function mov_onClick(e)
{
    try {
        if (v_logPos)
        {
            var mtx = new Object();
            mtx = mov_CurPos(e);
            logPos(mtx[0],mtx[1]);
        }
    }catch(anye){
        window.alert ("Error en el evento click ! \r\n ( "+anye.message+" )");
        return false;
    }
}
/*function esIE() //verifica si el navegador actual es IE
{
    var nn = window.navigator.appName.toLowerCase();
    if (nn.indexOf('internet explorer')!=-1)
    {
        return true;
    }
    else
    {
        return false;
    }
}*/

