/*
 * A JavaScript implementation of some utility fonctions
 * Copyright (C) ARTWORKS CREATIVE'S DEVELOPMENT TEAM 2009.
*/


/*
 * Fonction de pré-chargement d'images (au lancement de la page HTML).
 */ 
function MM_preloadImages(){ //v3.0
	var d=document;
	if(d.images){
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
		for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){
				d.MM_p[j]=new Image;
				d.MM_p[j++].src=a[i];
			}
	}
}

/*
 * Fonction de restauration d'images.
 */
function MM_swapImgRestore(){ //v3.0
	var i,x,a=document.MM_sr;
  	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

/*
 * Fonction...
 */
function MM_findObj(n, d){ //v4.01
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length){
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
  	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  	if(!x && d.getElementById) x=d.getElementById(n);
	return x;
}

/*
 * Fonction d'échange d'images.
 */
function MM_swapImage(){ //v3.0
	var i,j=0,x,a=MM_swapImage.arguments;
	document.MM_sr=new Array;
	for(i=0;i<(a.length-2);i+=3)
   		if ((x=MM_findObj(a[i]))!=null){
			document.MM_sr[j++]=x;
			if(!x.oSrc) x.oSrc=x.src;
			x.src=a[i+2];
		}
}

// Désactivation du clic droit.
function inhiber(){
	if(event.button == 2){
		// Message d'information.
		alert('Désolé...\nCette fonction n\'est pas autorisée !');
	}
}
document.onmousedown=inhiber;

/*
 * Fonctions de gestion de l'affichage d'une image et
 * de sa légende (description).
 */
function affiche_image(img,information){
	document.affiche_img.src=img;
	document.affiche_img.alt=information;
}

/*
 * Fonction d'affichage d'une fenêtre de type 'popup'.
  OPTION : "menubar=no,scrollbars=no,statusbar=no,resizable=no"
 */
var info=null;
function popupcentre(page,largeur,hauteur,options){
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;

	if (info){
		info.close();
		info=window.open(page,"info","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
		info.focus();
	}
	else{
		info=window.open(page,"info","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
		info.focus();
	}
}

/*
 * Fonction de validation des champs du formulaire 'CONTACT'.
 */
var emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var nomFilter  = /^([a-zA-Zàäâéèëêïîöôùüûç,\-\'\ ])+$/ ;

function checkForm(f){

	if (f.IDNom.value.length==0){
		alert('Le champ « NOM, PRENOM » est obligatoire.');
		f.IDNom.focus();
		return false;
	}
	if (f.IDNom.value.length>0 && !nomFilter.test(f.IDNom.value)){
		alert('Le format du champ « NOM, PRENOM » n\est pas valide.\nVeillez à n\'utiliser que des caractères alphabétiques (et la virgule de séparation).');
		f.IDNom.focus();
		return false;
	}
	// Gestion du nombre de caractères (300 max.) du champ 'NOM, PRENOM'.
	if(f.IDNom.value.length>0) {
		var longueurMax = '50';
		var msgCommentaire='Le champ « NOM, PRENOM » est limité à '+longueurMax+' caractères.';
		longueurChaine = f.IDNom.value.length;
		if (longueurChaine > longueurMax){
			f.IDNom.value = f.IDNom.value.substring(0, longueurMax);
			chaine = longueurMax;
			alert(msgCommentaire);
			f.IDNom.focus();
			longueurChaine = longueurMax - chaine;
			return false;
		}
	}
	if (f.IDEmail.value.length==0){
		alert('Le champ « EMAIL » est obligatoire');
		f.IDEmail.focus();
		return false;
	}	
	if (f.IDEmail.value.length>0 && !emailFilter.test(f.IDEmail.value)){
		alert('Le format du champ « EMAIL » n\est pas valide.');
		f.IDEmail.focus();
		return false;
	}
	// Gestion du nombre de caractères (300 max.) du champ 'EMAIL'.
	if(f.IDEmail.value.length>0) {
		var longueurMax = '50';
		var msgCommentaire='Le champ « EMAIL » est limité à '+longueurMax+' caractères.';
		longueurChaine = f.IDEmail.value.length;
		if (longueurChaine > longueurMax){
			f.IDEmail.value = f.IDEmail.value.substring(0, longueurMax);
			chaine = longueurMax;
			alert(msgCommentaire);
			f.IDEmail.focus();
			longueurChaine = longueurMax - chaine;
			return false;
		}
	}
	if (f.IDSujet.value.length==0){
		alert('Le champ « SUJET » est obligatoire.');
		f.IDSujet.focus();
		return false;
	}
	// Gestion du nombre de caractères (300 max.) du champ 'SUJET'.
	if(f.IDSujet.value.length>0) {
		var longueurMax = '80';
		var msgCommentaire='Le champ « SUJET » est limité à '+longueurMax+' caractères.';
		longueurChaine = f.IDSujet.value.length;
		if (longueurChaine > longueurMax){
			f.IDSujet.value = f.IDSujet.value.substring(0, longueurMax);
			chaine = longueurMax;
			alert(msgCommentaire);
			f.IDSujet.focus();
			longueurChaine = longueurMax - chaine;
			return false;
		}
	}
	if (f.IDMessage.value.length==0){
		alert('Le champ « COMMENTAIRE » est obligatoire.');
		f.IDMessage.focus();
		return false;
	}
	// Gestion du nombre de caractères (300 max.) du champ 'MESSAGE'.
	if(f.IDMessage.value.length>0) {
		var longueurMax = '200';
		var msgCommentaire='Le champ « COMMENTAIRE » est limité à '+longueurMax+' caractères.';
		longueurChaine = f.IDMessage.value.length;
		if (longueurChaine > longueurMax){
			f.IDMessage.value = f.IDMessage.value.substring(0, longueurMax);
			chaine = longueurMax;
			alert(msgCommentaire);
			f.IDMessage.focus();
			longueurChaine = longueurMax - chaine;
			return false;
		}
	}
	//
	alert('Votre message a bien été envoyé.\nMerci de votre confiance.');
	return true;
}

