ie = (document.all) ? true:false;
function getParent(el) {
	return (ie) ? el.parentElement : el.parentNode;
}

/* affiche une popup centrée */
function popup(adresse, nomFenetre, largeur, hauteur, scroll, resize) {
	if (typeof(resize) == "undefined") {
		resize = true;
	}
	var largeurEcran = (screen.width - largeur) / 2;
	var hauteurEcran = (screen.height - hauteur) / 2;
	window.open(adresse, nomFenetre, 'height=' + hauteur + ', width=' + largeur + ', top=' + hauteurEcran + ', left=' + largeurEcran + ', scrollbars=' + scroll + ((resize) ? ', resizable' : ""))
}

function setStyle(el, c) {
	el.className = c;
}

/**************************************************/
//validation formulaire

// validation d'un email
function checkEmail(elt, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	var ereg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (elt.value != "" && !ereg.test(elt.value)) {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation contenu non vide
function checkNotEmpty(elt, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (elt.value == "") {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation contenu non vide
function checkNotValueAndNotEmpty(elt, value, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (elt.value == "" || elt.value == value) {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation des options
function checkChecked(elt, msg) {
	for (var i=0; i < elt.length; i++) {
		if (elt[i].checked)
			return true;
	}
	alert(msg);
	return false;
}

//validation chaine de taille trop petite
function checkSizeMin(elt, sizeMin, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (elt.value.length < sizeMin ) {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation 2 champs identiques
function checkIdentical(elt1, elt2, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (elt1.value != elt2.value ) {
		alert(msg); if (setFocus) {elt1.focus();}; return false;
	}
	return true;
}

//validation d'un champ au format numérique
function checkIsNumeric(elt, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (elt.value != "" && isNaN(elt.value)) {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation d'un champ au format téléphonique (num, espace, "+", "(" & ")" acceptés)
function checkIsTelephone(elt, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;	
	}
	if (elt.value != "" && isNaN(elt.value.replace(/[ ()+]*/g, ''))) {
		alert(msg); if (setFocus) {elt.focus();}; return false;
	}
	return true;
}

//validation contenu non égal à zéro (et qu'il est numérique)
function checkNotZero(elt, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (!checkIsNumeric(elt, msg)) {
		return false;
	}
	else {
		if (elt.value == 0) {
			alert(msg); if (setFocus) {elt.focus();}; return false;
		}
	}
	return true;
}

//validation d'un champ multiple d'un chiffre
function checkIsMultiple(elt, mult, msg, setFocus) {
	if (typeof(setFocus) == "undefined") {
		setFocus = true;		
	}
	if (!checkIsNumeric(elt, msg)) {
		return false;
	}
	else {
		if ((elt.value % mult) != 0) {
			alert(msg); if (setFocus) {elt.focus();}; return false;
		}
	}
	return true;
}

/**************************************************/
// gestion des cookies
var caution = false

//ajout d'un cookie
function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = 
		name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	document.cookie = curCookie;
}

//lecture d'un cookie
function getCookie(name) {
	var prefix = name + "=";
	var cookieStartIndex = document.cookie.indexOf(prefix);
	if (cookieStartIndex == -1) {
		return null;
	}
	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1) {
		cookieEndIndex = document.cookie.length
	}
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

//supprime un cookie
function deleteCookie(name, path, domain) {
	if (getCookie(name)) {
		document.cookie =
			name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

//fix de la fonction date
function fixDate(date) {
	var base = new Date(0)
	var skew = base.getTime()
	if (skew > 0) {
		date.setTime(date.getTime() - skew)
	}
}