﻿function bookmarkSite(title, url)
{
    if(document.all)
        window.external.AddFavorite(url,title);
    else if(window.sidebar)
        window.sidebar.addPanel(title,url,'');
}

// Ritorna la posizione assoluta dell'elemento html
// specificato.
function getElementPosition(elemObj) {
    var offsetTrail = elemObj;
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    
    return {left:offsetLeft, top:offsetTop};
}

// Ritorna la posizione assoluta dell'elemento html
// corrispondente all'id specificato.
function getElementPositionById(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

beginDrag = function(elementToDrag,event)
{
	dragElement = elementToDrag;
	
	var strTop = elementToDrag.style.top;
	var strLeft = elementToDrag.style.left;
	
	var x = parseInt(strLeft);
	var y = parseInt(strTop);
	
	deltaX = event.clientX - x;
	deltaY = event.clientY - y;
	
	if(document.addEventListener)
	{
		document.addEventListener('mousemove', moveHandler, true);
		document.addEventListener('mouseup', upHandler, true);
	}
	else if (document.attachEvent)
	{
		document.attachEvent('onmousemove',moveHandler);
		document.attachEvent('onmouseup',upHandler);
	}
	
	if(event.stopPropagation)
		event.stopPropagation();
	else
		event.cancelBubble = true;
	
	if(event.preventDefault)
		event.preventDefault();
	else
		event.returnValue = false;
}
	
moveHandler = function(e)
{	
	if(!e) e = window.event;
	
	dragElement.style.left = (e.clientX - deltaX) + 'px';
	dragElement.style.top = (e.clientY - deltaY) + 'px';
	
	if(event.stopPropagation)
		event.stopPropagation();
	else
		event.cancelBubble = true;
}
	
upHandler = function(e)
{
	if(document.removeEventListener)
	{
		document.removeEventListener("mouseup", upHandler,true);
		document.removeEventListener("mousemove", moveHandler,true);
	}
	else
	{
		document.detachEvent('onmouseup',upHandler);
		document.detachEvent('onmousemove', moveHandler);
	}
	
	if(event.stopPropagation)
		event.stopPropagation();
	else
		event.cancelBubble = true;
}