function hide_div(p1,p2,p3) {
 if(DOM || MS) getElem(p1,p2,p3).style.visibility = "hidden";
 if(NS) getElem(p1,p2,p3).visibility = "hide";
}

function show_div(p1,p2,p3) {
	if(DOM || MS) getElem(p1,p2,p3).style.visibility = "visible";
	if(NS) getElem(p1,p2,p3).visibility = "show";
}

function is_visible_div(p1,p2,p3) {
	if (getElem(p1,p2,p3)) {
		if(DOM || MS) return (getElem(p1,p2,p3).style.visibility == "visible");
 		if(NS) return (getElem(p1,p2,p3).visibility == "show");
	}	
	return true; 
}

function get_parent_div(p1,p2,p3) {
	return getElem(p1,p2,p3).offsetParent;
}

function get_parent_obj(obj) {
	return obj.offsetParent;
}

function get_x_div(p1,p2,p3) {
	return get_x_obj(getElem(p1,p2,p3));
}

function get_x_obj(obj) {
 	if (obj.tagName == "BODY") return parseInt(obj.offsetLeft);
  	else return get_x_obj(get_parent_obj(obj)) + parseInt(obj.offsetLeft);
} 

function get_y_div(p1,p2,p3) {
	return get_y_obj(getElem(p1,p2,p3));
}

function get_y_obj(obj) {
 	if (obj.tagName == "BODY") return parseInt(obj.offsetTop);
  	else return get_y_obj(get_parent_obj(obj)) + parseInt(obj.offsetTop);
} 

function get_h_div(p1,p2,p3) {
 if(!DOM && MS) return parseInt(getElem(p1,p2,p3).offsetHeight);
 else return parseInt(getElem(p1,p2,p3).offsetHeight);
}

function get_l_div(p1,p2,p3) {
 if(!DOM && MS) return parseInt(getElem(p1,p2,p3).offsetWidth);
 else return parseInt(getElem(p1,p2,p3).offsetWidth);
}

function set_x_div(p1,p2,p3,x) {
	if(DOM || MS) getElem(p1,p2,p3).style.left = x;
	else { 
		if (OP) getElem(p1,p2,p3).style.pixelLeft = x;
		else if(NS) getElem(p1,p2,p3).left = x;
	}	 
}

function set_y_div(p1,p2,p3,y) {
 if(DOM || MS) getElem(p1,p2,p3).style.top = y;
 else { 
	if (OP) getElem(p1,p2,p3).style.pixelTop = y;
	else if(NS) getElem(p1,p2,p3).top = y;
 }	 
}

function set_h_div(p1,p2,p3,h) {
 if(DOM || MS) getElem(p1,p2,p3).style.height = h;
 else { 
	if (OP) getElem(p1,p2,p3).style.pixelHeight = h;
	else if(NS) getElem(p1,p2,p3).height = h;
 }	 
}

function set_l_div(p1,p2,p3,l) {
 if(DOM || MS) getElem(p1,p2,p3).style.width = l;
 else { 
	if (OP) getElem(p1,p2,p3).style.pixelWidth = l;
	else if(NS) getElem(p1,p2,p3).width = l;
 }	 
}

function set_style_div(p1,p2,p3,style) {
	if (!OP) {
		if (style.is_style()) getElem(p1,p2,p3).style.cssText = style;
		else if (style.is_class()) set_class_div(p1,p2,p3,style);
	}
	else {
		if (style.is_style()) getElem(p1,p2,p3).setAttribute("style",style);
		else if (style.is_class()) set_class_div(p1,p2,p3,style);	
	}	 
}

function set_class_div(p1,p2,p3,classe) {
	if (classe.is_class()) getElem(p1,p2,p3).className = classe;
	else if (classe.is_style()) set_style_div(p1,p2,p3,classe);
}

function set_position_div(p1,p2,p3,position) {getElem(p1,p2,p3).style.position = position;}

function set_opacity_div(p1,p2,p3,opacity) {
	if (DOM && !MS && !OP) getElem(p1,p2,p3).style.MozOpacity = opacity;
	else if (MS) getElem(p1,p2,p3).style.filter = "alpha(opacity = "+opacity*100+")";
}

function set_clip_div(p1,p2,p3,l,r,t,b) {
 if(DOM || MS) 
   getElem(p1,p2,p3).style.clip = "rect(" + t + " " + r + " " + b + " " + l + ")";
 if(NS) 
  getElem(p1,p2,p3).clip = "rect(" + t + " " + r + " " + b + " " + l + ")";
}

function move_clip_open_div(p1,p2,p3,x,y,dir,l,pas,speed,marge,last_action) {
	switch (dir)
	{
		case "left":
			set_clip_div(p1,p2,p3,'auto',(l-marge),'auto','auto');
			set_x_div(p1,p2,p3,x);
			break;
		case "right":
			set_clip_div(p1,p2,p3,(l-marge),'auto','auto','auto');
			set_x_div(p1,p2,p3,x);
			break;
		case "top":
			set_clip_div(p1,p2,p3,'auto','auto','auto',(l-marge));
			set_y_div(p1,p2,p3,y);
			break;
		case "bottom":
			set_clip_div(p1,p2,p3,'auto','auto',(l-marge),'auto');
			set_y_div(p1,p2,p3,y);
			break;
	}
	show_div(p1,p2,p3);
	move_clip_open_div_rec(p1,p2,p3,x,y,dir,l,pas,marge,speed,last_action);
}

function move_clip_open(p1,p2,p3,dir,pas,speed,marge,last_action) {
	var l = (dir == "right" || dir == "left")?get_l_div(p1,p2,p3):get_h_div(p1,p2,p3);
	var x = (dir == "right" || dir == "left")?((dir == "left")?l:0)+get_x_div(p1,p2,p3)-marge:get_x_div(p1,p2,p3);
	var y = (dir == "right" || dir == "left")?get_y_div(p1,p2,p3):((dir == "top")?l:0)+get_y_div(p1,p2,p3)-marge;
	move_clip_open_div(p1,p2,p3,x,y,dir,l,pas,speed,marge,last_action)
}

function move_clip_open_div_rec(p1,p2,p3,x,y,dir,l,pas,dl,speed,last_action) {
	if (Math.abs(l-(dl+(l/pas))) < (l/pas)) dl = l;
	else dl += l/pas;
	switch (dir)
	{
		case "left":
			set_x_div(p1,p2,p3,x-dl);
			set_clip_div(p1,p2,p3,'auto',dl,'auto','auto');
			break;
		case "right":
			set_x_div(p1,p2,p3,x-l+dl);
			set_clip_div(p1,p2,p3,l-dl,'auto','auto','auto');
			break;
		case "top":
			set_y_div(p1,p2,p3,y-dl);
			set_clip_div(p1,p2,p3,'auto','auto','auto',dl);
			break;
		case "bottom":
			set_y_div(p1,p2,p3,y-l+dl);
			set_clip_div(p1,p2,p3,'auto','auto',l-dl,'auto');			
			break;
	}

	if (dl != l) 
		setTimeout("move_clip_open_div_rec('" + p1 + "','" + p2 + "'," + p3 + "," + x + "," + y + ",'" + dir + "'," + l + "," + pas + "," + dl + "," + speed + ",'" + last_action + "')",speed);
	else
		eval(last_action);	
}

function move_clip_close_div(p1,p2,p3,x,y,dir,l,pas,speed,marge,last_action) {
	set_clip_div(p1,p2,p3,'auto','auto','auto','auto');
	switch (dir)
	{
		case "left":
			set_x_div(p1,p2,p3,x);
			break;
		case "right":
			set_x_div(p1,p2,p3,x);
			break;
		case "top":
			set_y_div(p1,p2,p3,y);
			break;
		case "bottom":
			set_y_div(p1,p2,p3,y);
			break;
	}
	move_clip_close_div_rec(p1,p2,p3,x,y,dir,l,pas,0,speed,marge,last_action);
}

function move_clip_close(p1,p2,p3,dir,pas,speed,marge,last_action) {
	var l = (dir == "right" || dir == "left")?get_l_div(p1,p2,p3):get_h_div(p1,p2,p3);
	var x = get_x_div(p1,p2,p3);
	var y = get_y_div(p1,p2,p3);
	move_clip_close_div(p1,p2,p3,x,y,dir,l,pas,speed,marge,last_action)
}

function move_clip_close_div_rec(p1,p2,p3,x,y,dir,l,pas,dl,speed,marge,last_action) {
	var lm = l - marge;
	if (Math.abs(lm-(dl+(lm/pas))) < (lm/pas)) dl = lm;
	else dl += lm/pas;
	switch (dir)
	{
		case "left":
			set_x_div(p1,p2,p3,x-dl);
			set_clip_div(p1,p2,p3,dl,'auto','auto','auto');
			break;
		case "right":
			//set_x_div(p1,p2,p3,x-l+dl);
			set_clip_div(p1,p2,p3,dl,'auto','auto','auto');
			break;
		case "top":
			set_y_div(p1,p2,p3,y-dl);
			set_clip_div(p1,p2,p3,'auto','auto',dl,'auto');
			break;
		case "bottom":
			//set_y_div(p1,p2,p3,y-l+dl);
			set_clip_div(p1,p2,p3,'auto','auto',dl,'auto');			
			break;
	}

	if (dl != lm) 
		setTimeout("move_clip_close_div_rec('" + p1 + "','" + p2 + "'," + p3 + "," + x + "," + y + ",'" + dir + "'," + l + "," + pas + "," + dl + "," + speed + "," + marge + ",'" +  last_action + "')",speed);
	else {
		hide_div(p1,p2,p3);
		eval(last_action);	
	}	
}

function opacity_open_div(p1,p2,p3,dl,speed,last_action) {
	opacity_open_div_rec(p1,p2,p3,0.05,dl,speed,last_action);
}

function opacity_open_div_rec(p1,p2,p3,opacity,dl,speed,last_action) {
	set_opacity_div(p1,p2,p3,opacity);
	opacity += dl;

	if (opacity < 1.5) 
		setTimeout("opacity_open_div_rec('" + p1 + "','" + p2 + "'," + p3 + "," + opacity + "," + dl + "," + speed + ",'" + last_action + "')",speed);
	else 
		eval(last_action);
}

function opacity_close_div(p1,p2,p3,dl,speed,last_action) {
	opacity_close_div_rec(p1,p2,p3,0.95,dl,speed,last_action);
}

function opacity_close_div_rec(p1,p2,p3,opacity,dl,speed,last_action) {
	set_opacity_div(p1,p2,p3,opacity);
	opacity -= dl;

	if (opacity > 0) 
		setTimeout("opacity_close_div_rec('" + p1 + "','" + p2 + "'," + p3 + "," + opacity + "," + dl + "," + speed + ",'" + last_action + "')",speed);
	else {
		//hide_div(p1,p2,p3);
		eval(last_action);
	}		
}


function coverSelectVisible(ifr) {
	if (document.all) {document.getElementById(ifr).style.visibility="visible";}
}

function coverSelectHidden(ifr) {
	if (document.all) {document.getElementById(ifr).style.visibility="hidden";}
}

function set_taille_cover(p1,p2,p3,ifr)
{
	set_x_cover(get_x_div(p1,p2,p3),ifr);
	set_y_cover(get_y_div(p1,p2,p3),ifr);
	set_h_cover(get_h_div(p1,p2,p3),ifr);
	set_l_cover(get_l_div(p1,p2,p3),ifr);
}


function set_x_cover(x,ifr)
{
	//alert("x"+x);
	if (document.all) 
		document.getElementById(ifr).style.left=x;
}
function set_y_cover(y,ifr)
{
	//alert("y"+y);
	if (document.all) 
		document.getElementById(ifr).style.top=y;
}
function set_h_cover(h,ifr)
{
	//alert("h"+h);
	if (document.all) 
		document.getElementById(ifr).style.height=h;
}
function set_l_cover(l,ifr)
{
	//alert("l"+l);
	if (document.all) 
		document.getElementById(ifr).style.width=l;
}

function hide_cover(ifr) {
	 coverSelectHidden(ifr) ;
}

function show_cover(ifr) {
	coverSelectVisible(ifr);
}

function is_visible_cover (ifr) {
	if (document.all) 
		return (document.getElementById(ifr).style.visibility == "visible");
	return true; 
}

function is_show_cover(ifr) {
	if (document.all) 
		return document.getElementById(ifr).style.visibility;
	return"visible";
}