
var isIE=document.all;
var dragapproved=false;
var tempX,tempY,x,y,z;
var i=100;

function drags(e){
z=isIE?event.srcElement:e.target;
if (z.className=="drag"){
i++;
tempX=parseInt(z.style.left);
tempY=parseInt(z.style.top);
if (isNaN(tempX)){tempX=0}
if (isNaN(tempY)){tempY=0}
x=isIE?event.clientX:e.clientX;
y=isIE?event.clientY:e.clientY;
dragapproved=true;
document.onmousemove=move;
}
}

function move(e){
if (!dragapproved) return;
z.style.left=isIE?tempX+event.clientX-x+"px":tempX+e.clientX-x+"px";
z.style.top=isIE?tempY+event.clientY-y+"px":tempY+e.clientY-y+"px";
z.style.zIndex=i;
return false;
}

document.onmousedown=drags;
document.onmouseup=Function("dragapproved=false");

var ultimoclick = 0;

function clickUpping(imgId) {
	var el = fetchEl(imgId);
	if (!isIE) {
		var dt = new Date();
		var t = dt.getTime();
		if ((ultimoclick + 500) >= t) {place(el);}
		ultimoclick = t;
	}
	storeOffsettings(el);
}

function dblCliccatore(imgId) {
	var el = fetchEl(imgId);
	place(el);
	storeOffsettings(el);	
}

function fetchEl (imgId) { 
	if (isIE) {
		return document.all[imgId];
	}
	else {
		return document.getElementById(imgId);
	}
}

function storePositioning(imgId) {
	var e = fetchEl(imgId);
	storeOffsettings(e);
}


function storeOffsettings(el) {
	var d = document;
	var x;
	var y;

	try { 
		x = d[imgId]; 
		x = (d.layers)?el.x:el.offsetLeft;
		y = (d.layers)?el.y:el.offsetTop;
	}

	catch(err) { 
		x= el.offsetLeft;
		y= el.offsetTop;
		var tmp = el;
		while ((tmp=tmp.offsetParent) != null) {

			x += tmp.offsetLeft + 1;
			y += tmp.offsetTop + 1;
		}
	}

	el.left = x;
	el.top = y;

	el.moved = new Boolean(true);
}

var left = "";
var top = "";
var height = "";
var width = "";


function place(el){
	if (!isIE && !dragapproved) return;
	var bomboniera = fetchEl('bombon1');
	storeOffsettings(el);
	storeOffsettings(bomboniera);
	if (isIE) {
		el.style.left = (0 - el.left - (el.width * .5)) +  bomboniera.left + (bomboniera.width * .5);
		el.style.top = (0 - el.top - (el.height * .5)) +  bomboniera.top + (bomboniera.height * .5);
	}
	else {
		el.style.left = (0 - el.left - (el.width * .5)) +  bomboniera.left + (bomboniera.width * .5);
		el.style.top = (0 - el.top - (el.height * .5)) +  bomboniera.top + (bomboniera.height * .5);
	}
	i++;
	el.style.zIndex=i;
	return false;
}


