﻿/***********************************************************
*	Gestion des évènements de la souris
***********************************************************/
var startDrag		=	false;
var offsetX		=	0;
var offsetY		=	0;
var elementName		=	"";
var target		=	"";

function mdown(e){
	x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX;
    	y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY;
	if(bw.ie5 || bw.ie6) y+=document.body.scrollTop;

	if (bw.ns6)
		target		= e.target.id;
	else
		target		= event.srcElement.id;

	// Clique de la souris sur l'entete de l'un des portlets
	if ((!startDrag) && (target.indexOf("header") >= 0)) {
		startDrag	= true;
		elementName	= "portlet" + target.substring(6);
		eval("document.getElementById('" + elementName + "').style.zIndex = 200");
		portletX	= eval("document.getElementById('" + elementName + "').style.left");
		portletY	= eval("document.getElementById('" + elementName + "').style.top");
		//eval("document.getElementById('" + elementName + "').style.position = 'absolute'");
		if (portletX.indexOf("px") >= 0)
			portletX	= portletX.substring(0,portletX.length - 2);
		if (portletY.indexOf("px") >= 0)
			portletY	= portletY.substring(0,portletY.length - 2);
		offsetX		= x - portletX;
		offsetY		= y - portletY;
		return false;
	}
	
	// Clique de la souris sur le cadre de selection du nombre de lignes et de colonnes d'un tableau
	if ((!startDrag) && (target.indexOf("AddTable") == 0)) {
		startDrag	= true;
		return false;
	}
	return true;
}

function mmove(e){
	x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX;
    	y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY;
	if(bw.ie5 || bw.ie6) y+=document.body.scrollTop;

	// Deplacement d'un portlet
	if ((startDrag) && (target.indexOf("header") >= 0)) {
		eval("document.getElementById('" + elementName + "').style.left = " + (x - offsetX));
		eval("document.getElementById('" + elementName + "').style.top = " + (y - offsetY));
		return false;
	}
	
	// Modification de la fenetre du nombre de col et de lignes d'une table
	if ((startDrag) && (target.indexOf("AddTable") == 0)) {
		testPosition(x,y);
		
		eval("var width	=	document.getElementById('DivTable').style.width;");

		if (width.indexOf("px") > 0)
			width	=	parseInt(width.substring(0,width.length-2));
		else
			width	=	parseInt(width);

		eval("var left	=	document.getElementById('DivTable').style.left;");
		if (left.indexOf("px") > 0)
			left	=	parseInt(left.substring(0,left.length-2));
		else
			left	=	parseInt(left);

		if (x > width + left) {
			if (x - left > 300)
				x = 300 + left;
			eval("document.getElementById('DivTable').style.width = x - left;");
			eval("document.getElementById('BgTable').style.width = x - left;");
		}

		eval("var top	=	document.getElementById('DivTable').style.top;");
		if (top.indexOf("px") > 0)
			top	=	parseInt(top.substring(0,top.length-2));
		else
			top	=	parseInt(top);

		eval("var height=	document.getElementById('DivTable').style.height;");
		if (height.indexOf("px") > 0)
			height	=	parseInt(height.substring(0,height.length-2));
		else
			height	=	parseInt(height);

		if (y > height + top) {
			if (y - top > 300)
				y = 300 + top;
			eval("document.getElementById('DivTable').style.height = y - top;");
			eval("document.getElementById('BgTable').style.height = y - top;");
		}
						
		return false;
	}

	if (!startDrag){
		if (bw.ns6)
			target		= e.target.id;
		else
			target		= event.srcElement.id;
		
		try { 
			if ((target) && (target.indexOf("AddTable") == 0))
				testPosition(x,y);
		} catch(er) {}
	}
			
	return true;
}

function mup(e){
	if (startDrag) {
		if (target.indexOf("header") >= 0)
			eval("document.getElementById('" + elementName + "').style.zIndex = 100");
		
		startDrag	= false;
	}
	
	if (target.indexOf("AddTable") == 0)
		hideTable(true);
	return false;
}

var bw		=	new lib_bwcheck(); 