var mafenetrePopupImage, mafenetre;

function popUpImage(src, width, height, rootpath) {
	if(mafenetrePopupImage)
		mafenetrePopupImage.close();
	
	height += 15;
	mafenetrePopupImage = window.open(rootpath+"inc/popup_image.php?src="+ src, "popupImage", "width="+width+", height="+height+", scrollbars=no");
	mafenetrePopupImage.focus();
}

function showID(ID) {
	if(document.getElementById(ID))
		document.getElementById(ID).style.display = "block";
}

function maskID(ID) {
	if(document.getElementById(ID))
		document.getElementById(ID).style.display = "none";
}

function show_vis(ID) {
	if(document.getElementById(ID))
		document.getElementById(ID).style.visibility = "visible";
}

function mask_vis(ID) {
	if(document.getElementById(ID))
		document.getElementById(ID).style.visibility = "hidden";
}

function toggle_view(ID) {
	if(document.getElementById(ID)) {
		if(document.getElementById(ID).style.display == "none")
			document.getElementById(ID).style.display = "block";
		else
			document.getElementById(ID).style.display = "none";
	}
}




function fade_show(id, duration) {
// Affiche l'element ID en faisant un fading
	if (!duration)
		duration = 0.6;

	try {
		if(document.getElementById(id))
			new Effect.Appear(id, { duration: duration });
	}
	catch (e) {
		showID(id);
	}
}


function fade_mask(id, duration) {
// Masque l'element ID en faisant un fading
	if (!duration)
		duration = 0.6;

	try {
		if(document.getElementById(id))
			new Effect.Fade(id, { duration: duration });
	}
	catch (e) {
		maskID(id);
	}
}



function fadeToggle(id, duration) {
// Alterne l'affichage / masquage de l'element ID
	if (!duration)
		duration = 0.4;

	if(document.getElementById(id)) {
		if(document.getElementById(id).style.display == "none")
			fade_show(id, duration);
		else
			fade_mask(id, duration);
	}
}






function placeMenu(IDmenu, elementToPlace) {
	if(document.getElementById(elementToPlace) && document.getElementById(IDmenu)) {
		args = placeMenu.arguments;

		//var align	= (args[2]!=null ? args[2] : "left");
		var offsetX	= (args[2]!=null ? args[2] : 0);
		var offsetY	= (args[3]!=null ? args[3] : 0);
		var a = new Object();
		a = getPosition(document.getElementById(elementToPlace));
		document.getElementById(IDmenu).style.left = eval(a.x) + offsetX;
		document.getElementById(IDmenu).style.top = eval(a.y) + offsetY;
	}
}


function getPosition(element) {

	var elem=element, tagname="", x=0, y=0;
  
	while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")) {

		y+=elem.offsetTop;
		x+=elem.offsetLeft;
		tagname=elem.tagName.toUpperCase();

		if(tagname=="BODY")
			elem=0;

		if(typeof(elem)=="object")
			if (typeof(elem.offsetParent)=="object")
				elem=elem.offsetParent;
	}

	position = new Object();
	position.x = x;
	position.y = y;
	return position;
}


function getSize(element) {

	var elem=element, tagname="", h=0, w=0;
	while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")) {

		if(elem.height!=undefined)
			h+=elem.height-0;
		if(elem.width!=undefined)
			w+=elem.width-0;

		tagname=elem.tagName.toUpperCase();

		if(tagname=="BODY")
			elem=0;

		if(typeof(elem)=="object")
			if (typeof(elem.offsetParent)=="object")
				elem=elem.offsetParent;
	}

	position = new Object();
	position.w = w;
	position.h = h;
	return position;
}


function getSize2(element) {

	var elem=element, h=0, w=0;

	if(elem.height!=undefined)
		h = elem.height-0;
	else if(elem.offsetHeight!=undefined)
		h = elem.offsetHeight-0;

	if(elem.width!=undefined)
		w = elem.width-0;
	else if(elem.offsetWidth!=undefined)
		w = elem.offsetWidth-0;

	position = new Object();
	position.w = w;
	position.h = h;
	return position;
}

function setSize(element, w, h) {

	try { element.width  = w; } catch (e) { element.style.width  = w; }
	try { element.height = h; } catch (e) { element.style.height = h; }

}








/* FONCTIONS STRING */

function setDocumentFromFile(val, ctlDest) {
	// récupère le basename et supprime l'extension de val, et le place dans ctlDest
	if(val.lastIndexOf('\\') != 0)
		val = val.substring(val.lastIndexOf('\\')+1);
	if(val.lastIndexOf('/') != 0)
		val = val.substring(val.lastIndexOf('/')+1);
	
	if(val.lastIndexOf('.') != 0)
		val = val.substring(0, val.lastIndexOf('.'));
	
	document.getElementById(ctlDest).value = val;
}








function textareaSize(zoneTexte, num_of_chars_per_line) {
	if(!num_of_chars_per_line)
		num_of_chars_per_line = 40;

	if(zoneTexte) {
		lesLignes = escape(zoneTexte.value).split("%0D%0A");
		nbrLignes = lesLignes.length;

		for(n = 0; n < nbrLignes; n++) { 
			longueurDeLigne = unescape(lesLignes[n]).length;
			if( longueurDeLigne > num_of_chars_per_line ) {
				nbrLignes += unescape(lesLignes[n]).length / num_of_chars_per_line;
			}
		}

		zoneTexte.rows = nbrLignes;

	}
}









function URLEncode(url) {
	
	url = url.replace("%", "%25");
	url = url.replace(" ", "%20");
	url = url.replace("+", "%2B");
	url = url.replace("=", "%3D");
	url = url.replace("&", "%26");

	return url;
}

function URLDecode(url) {
	
	url = url.replace("%25", "%");
	url = url.replace("%20", " ");
	url = url.replace("%2B", "+");
	url = url.replace("%3D", "=");
	url = url.replace("%26", "&");

	return url;
}

