/* CONST */
INTERVAL=15; // durée entre deux déplacements : par défaut 10 millisecondes
RESIZESTEP=5; // en combien de mouvements se fera le redimensionnement : par défaut 5
MOVESTEP=15; // en combien de mouvements se fera le déplacement : par défaut 3

/**************************************************************************************
/*
/*
***************************************************************************************/
function moveElement(elementID, final_x, final_y) {
if (!document.getElementById) return false;
if (!document.getElementById(elementID)) return false;
var elem = document.getElementById(elementID);

if (elem.movement) clearTimeout(elem.movement);

if (!elem.style.left) elem.style.left = "0px";
if (!elem.style.top) elem.style.top = "0px";

var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
if (xpos == final_x && ypos == final_y) return true;

if (xpos < final_x) {
 var dist = Math.ceil((final_x - xpos)/MOVESTEP);
 xpos = xpos + dist;
}

if (xpos > final_x) {
 var dist = Math.ceil((xpos - final_x)/MOVESTEP);
 xpos = xpos - dist;
}

if (ypos < final_y) {
 var dist = Math.ceil((final_y - ypos)/MOVESTEP);
 ypos = ypos + dist;
}

if (ypos > final_y) {
 var dist = Math.ceil((ypos - final_y)/MOVESTEP);
 ypos = ypos - dist;
}

elem.style.left = xpos + "px";
elem.style.top = ypos + "px";
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+INTERVAL+")";
elem.movement = setTimeout(repeat,INTERVAL);
}

/**************************************************************************************
/*
/*
***************************************************************************************/
function resizeElement(elementID, final_x, final_y) {
if (!document.getElementById) return false;
if (!document.getElementById(elementID)) return false;
var elem = document.getElementById(elementID);

if (elem.movement) clearTimeout(elem.movement);

if (!elem.style.width) elem.style.width = "0px";
if (!elem.style.height) elem.style.top = "0px";

var xpos = parseInt(elem.style.width);
var ypos = parseInt(elem.style.height);
if (xpos == final_x && ypos == final_y) return true;

if (xpos < final_x) {
 var dist = Math.ceil((final_x - xpos)/RESIZESTEP);
 xpos = xpos + dist;
}

if (xpos > final_x) {
 var dist = Math.ceil((xpos - final_x)/RESIZESTEP);
 xpos = xpos - dist;
}

if (ypos < final_y) {
 var dist = Math.ceil((final_y - ypos)/RESIZESTEP);
 ypos = ypos + dist;
}

if (ypos > final_y) {
 var dist = Math.ceil((ypos - final_y)/RESIZESTEP);
 ypos = ypos - dist;
}

elem.style.width = xpos + "px";
elem.style.height = ypos + "px";
var repeat = "resizeElement('"+elementID+"',"+final_x+","+final_y+","+INTERVAL+")";
elem.movement = setTimeout(repeat,INTERVAL);
}

/**************************************************************************************
/*
/*
***************************************************************************************/
function showElement(elementID) {
var elem=document.getElementById(elementID);
elem.style.display="";
return;
}

/**************************************************************************************
/*
/*
***************************************************************************************/
function hideElement(elementID) {
var elem=document.getElementById(elementID);
elem.style.display="none";
return;
}

/**************************************************************************************
/*
/*
***************************************************************************************/
function changeBackground(elementID,newColor) {
var elem=document.getElementById(elementID);
elem.style.backgroundColor=newColor;
return;
}
