// Global holds reference to selected element






var selectedObj;






// Globals hold location of click relative to element






var offsetX, offsetY;






offsetX=10;






offsetY=10;













// Set global reference to element being engaged and dragged













//funzione adattata






function setSelectedElem2(livID) {






    if (livID) {






        if (document.layers) {






            selectedObj = document.layers[livID];






        } else if (document.all) {






            selectedObj = document.all(livID);






        } else if (document.getElementById) {






            selectedObj = document.getElementById(livID);





        }






        setZIndex(selectedObj, 100);






        return;





    }






    selectedObj = null;






    return;






}













// Drag an element






function dragIt(evt) {






    evt = (evt) ? evt : event;






    if (selectedObj) {






        if (evt.pageX) {






            shiftTo(selectedObj, (evt.pageX+offsetX), (evt.pageY+offsetY));






        } else if (evt.clientX || evt.clientY) {





//aggiunta: corregge le coordinate aggiungendo lo spazio nascosto dallo scrolling

	    spazio_top=document.body.scrollTop;
	    spazio_left=document.body.scrollLeft;


            shiftTo(selectedObj, (evt.clientX+offsetX+spazio_left), (evt.clientY+offsetY+spazio_top));






        }






        evt.cancelBubble = true;






        return false;






    }






}













// Turn selected element on



//modificata in modo che agisca sul livello 'didascalia'


function engage(evt) {





    evt = (evt) ? evt : event;










    setSelectedElem2('didascalia');






	if (selectedObj)






		{






		if (evt.pageX) 






			{






            		shiftTo(selectedObj, (evt.pageX+offsetX), (evt.pageY+offsetY));






       			 } 






		else if (evt.clientX || evt.clientY) 






			{



//aggiunta: corregge le coordinate aggiungendo lo spazio nascosto dallo scrolling

	    spazio_top=document.body.scrollTop;
	    spazio_left=document.body.scrollLeft;


            shiftTo(selectedObj, (evt.clientX+offsetX+spazio_left), (evt.clientY+offsetY+spazio_top));






        		}






		}






}













// Turn selected element off






function release() {






    if (selectedObj) {






        setZIndex(selectedObj, 0);






        selectedObj = null;





    }



}













// Set event capture for Navigator 4






function setNSEventCapture() {






    document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);






}













// Assign event handlers used by both Navigator and IE






function init() {






    if (document.layers) {






        setNSEventCapture();






    }





    document.onmouseover = engage;
    document.onmousemove = dragIt;
    document.onmouseout = release;

}



function show2(obj) {

    var theObj = getObject(obj);

    if (theObj) {

        theObj.display = "block";

    }

}





function hide2(obj) {

    var theObj = getObject(obj);

    if (theObj) {

        theObj.display = "none";

    }

}