/**
 * @author Administrator
 */
var Actions = {};
var Xoffset = null;
var Yoffset = null;
var debug = false;
var CE; //Current Element

Actions.mouseclick = function(e){};
Actions.mouseover = function(e)
{
	Actions.stopAffect(e);
};

Actions.mousemove = function(e)
{
	var xy = Actions.getMousePosition(e);
	var lightbox = document.getElementById("lightbox");

	lightbox.style.left = xy[0] + 'px';
	lightbox.style.top = xy[1] + 'px'; 
	//******************
//	lightboxform.innerHTML = "X = " + lightbox.style.left + "<br>Y = " + lightbox.style.top + "<br><br>Xoffset = " + Xoffset + "<br>Yoffset = " + Yoffset;
	//******************
 	Actions.stopAffect(e);
};

Actions.stopAffect = function(e)
{
	if(e.stopPropogation)
	{
		e.stopPropogation();
	}
	else
	{
		e.cancelBubble = true;
	} 
};

Actions.mousedown = function(e)
{
	//Get the offset between mouse cursor and element.
	Xoffset = e.clientX - lightbox.OrigX;
	Yoffset = e.clientY - lightbox.OrigY;
	//CE.innerHTML = ("clientX = " + e.clientX + "\nclientY = " + e.clientY + "\nOrigX = " + OrigX + "\nOrigY = " + OrigY);
	Handler.add(CE, 'mouseup', Actions.mouseup);
	Handler.add(CE, 'mousemove', Actions.mousemove);
	Handler.add(document, 'mouseup', Actions.mouseup);
	Handler.add(document, 'mousemove', Actions.mousemove);
	Actions.stopAffect(e);
};

Actions.mouseup = function(e)
{
	Handler.remove(CE, 'mouseup', Actions.mouseup);
	Handler.remove(CE, 'mousemove', Actions.mousemove);
	Handler.remove(document, 'mouseup', Actions.mouseup);
	Handler.remove(document, 'mousemove', Actions.mousemove);
	lightbox.backToOrigXY();
	Actions.stopAffect(e);
};

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
Actions.pause = function(numberMillis) 
{
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) 
	{
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
};

Actions.getMousePosition  = function(e)
{
	//var element = document.getElementById('lightbox');
	//Get the element original x,y from css's property.
	//var origX = parseInt(element.style.left);
	//var origY = parseInt(element.style.top);
	//Save the original x,y to global variable for later use.
	//OrigX = origX;
	//OrigY = origY;
	//Get the current mouse x,y and convert it to document related x,y.
	var x = e.clientX - Xoffset;
	var y = e.clientY - Yoffset;
	//Get the offset between mouse cursor and element.
	//var Xoffset = mouseX - origX;
	//var Yoffset = mouseY - origY;
	//Return new position of element.
	var xy = new Array();
	return (xy = [x, y]);
};

Actions.initActions = function()
{
	CE = document.getElementById('lightboxtitle');
	CE.style.cursor = 'move';
	Handler.add(CE, 'mousedown', Actions.mousedown);
	if(debug)alert("Initialization of Actions are successfully..");
};



