/**
 * Ouvre une nouvelle fenêtre HTML centrée dans l'écran.
 * @pram	lien      : L'adresse de la page apparaissant dans la fenêtre	- Défaut : #
 * @param	cible     : Le nom de la fenêtre								- Défaut : POPUP
 * @param	largeur   : La largeur de la fenêtre en pixels					- Défaut : 500
 * @param	hauteur   : La hauteur de la fenêtre en pixels					- Défaut : 500
 * @param	options   : Les propriétés de la fenêtre
 *						Défaut : resizable=yes,scrollbars=yes,status=yes
 */
function ouvrePopup()
{
  var lien = (ouvrePopup.arguments.length>0?ouvrePopup.arguments[0]:"#");
  var cible= (ouvrePopup.arguments.length>1?ouvrePopup.arguments[1]:"POPUP");
  var w    = (ouvrePopup.arguments.length>2?ouvrePopup.arguments[2]:400);
  var h    = (ouvrePopup.arguments.length>3?ouvrePopup.arguments[3]:400);
  var opt  = (ouvrePopup.arguments.length>4?","+ouvrePopup.arguments[4]:",resizable=yes,scrollbars=yes");
  
  var x = Math.floor((screen.availWidth-w)/2);
  var y = Math.floor((screen.availHeight-h)/2);
  
  var win = window.open(lien, cible, "left="+x+",top="+y+",width="+w+",height="+h+opt);
  win.focus();
  return win;
}

function ouvreImagePopup(img) {
	var win = ouvrePopup("","IMAGEPOPUP",20,20,"toolbar=no,scrollbars=no,resizable=no,status=yes");	
	win.document.writeln("<html><head><title>La Sellerie des Lyres</title>");
	win.document.writeln("<link rel='stylesheet' type='text/css' href='/css/popup.css' title='Normal' /></head>");
	win.document.writeln("<script language=javascript>document.title=window.opener.document.title; function checksize()  { if (document.images[0].complete) { var dim = new Array(document.images[0].width+40, document.images[0].height+130); window.resizeTo(dim[0], dim[1]); window.moveTo(Math.floor((screen.availWidth-dim[0])/2), Math.floor((screen.availHeight-dim[1])/2)); window.focus(); } else { setTimeout('check()',250) } }</"+"SCRIPT>");
	win.document.writeln("<body onload='checksize()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0>");
	win.document.writeln("<p class='illustration'><a href='javascript:window.close()'><img src='"+img+"' border='0'/></a></p>");
	win.document.writeln("<p class='fermer'><a href='javascript:window.close()'><span>Fermer la fenêtre</span></a></p>");
	win.document.writeln("</BODY></HTML>");
	win.document.close();
}

function isErreur(cond, champ, message) {
	if(cond) {
		if(message && (message!=null) && (message!="")) {
			alert(message);
		}
		champ.focus();
		champ.select();
	}
	return !cond;
}

function estNumerique(champ, message) {
	return isErreur(isNaN(champ.value), champ, (message?message:null));
}
function estSuperieur(champ, min, message) {
	return isErreur( (isNaN(champ.value) || (eval(champ.value)<=min) ), champ, (message?message:null));
}

function estRempli(champ, message) {
	return isErreur((trim(champ.value)==""), champ, (message?message:null));
}

function estEMail(champ, message) {
	var aro = champ.value.lastIndexOf("@");
	var pt  = champ.value.lastIndexOf(".");
	if( (aro>1) && (pt>aro) && (pt<champ.value.length-1) ) {
		return true;
	} else {
		isErreur(true, champ, (message?message:null));
		return false;
	}
}

function estLongueur(champ, longueur, message) {
	return isErreur((champ.value.length != longueur), champ, (message?message:null));
}

function trim(str) {
	var regExpBeginning = /^\s+/;
	var regExpEnd       = /\s+$/;
	// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.
	return str.replace(regExpBeginning, "").replace(regExpEnd, "");
}