
String.prototype.trim = function () {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
};
/***
 * Ajoute une définition de classe CSS à un élément DOM s'il ne la possède pas déjà.
 * @param dom DomElement à modifier
 * @param class Nom de la classe CSS
 ***/
function addClassName(dom, cssclass) {
	var s = dom.className;
	var reg = new RegExp("[ ]+", "g");
	var csss = s.split(reg);
	var hasYet = false;
	for (var i = 0; i < csss.length && !hasYet; i += 1) {
		if (csss[i] == cssclass) {
			hasYet = true;
		}
	}
	if (!hasYet) {
		s += " " + cssclass;
	}
	dom.className = s;
}
/***
 * Supprime une définition de classe CSS à un élément DOM sil la possède.
 * @param dom DomElement à modifier
 * @param class Nom de la classe CSS
 ***/
function removeClassName(dom, cssclass) {
	var s = dom.className;
	var i = 0;
	var reg = new RegExp("[ ]+", "g");
	var csss = s.split(reg);
	for (i = 0; i < csss.length; i += 1) {
		if (csss[i] == cssclass) {
			delete csss[i];
		}
	}
	s = "";
	for (i = 0; i < csss.length; i += 1) {
		s += " " + csss[i];
		s = s.trim();
	}
	dom.className = s;
}
function setVisible(e, on) {
	var ee = document.getElementById(e);
	if (!ee) {
		return;
	}
	ee.style.display = on ? "block" : "none";
}
function isVisible(e) {
	var ee = document.getElementById(e);
	if (!ee) {
		return;
	}
	return ee.style.display != "none";
}
function show(e) {
	setVisible(e, true);
}
function hide(e) {
	setVisible(e, false);
}
function toggleShow(e) {
	var x = document.getElementById(e);
	if (x) {
		if (x.style.display == "none") {
			show(e);
		} else {
			hide(e);
		}
	}
}
function setEnabled(id, flag) {
	var e = document.getElementById(id);
	if (e) {
		// Modif style
		//var s = e.className;
		if (flag) {
			removeClassName(e, "disabledfield");
		} else {
			addClassName(e, "disabledfield");
		}
		e.disabled = !flag;
	}
}
function enable(id) {
	setEnabled(id, true);
}
function disable(id) {
	setEnabled(id, false);
}
function toggleEnable(id) {
	var e = document.getElementById(id);
	if (e) {
		if (e.disabled) {
			enable(id);
		} else {
			disable(id);
		}
	}
}

/** Fonction POPUP, pour afficher une url dans une nouvelle page. */
function popup(url, width, height) {        
    popup(url, ((screen.height/2)-(height/2)), ((screen.width/2)-(width/2)), width, height, "no", "no", "no", "no", "no", "yes");
}
function popup(url, top, left, width, height, toolbar, directories, status, menubar, scrollbars, resizable) {
    window.open(url, "POPUP", "width=" + width + ", height=" + height + ", toolbar="+toolbar+", directories="+directories+", status="+status+", menubar="+menubar+", scrollbars="+scrollbars+", resizable="+resizable+", top="+top+", left="+left);
}