/* VARIABLE GLOBALES */
var periodCalendar = "";

// Verifie la modification d'un profile membre
function valideModificationMembre() {
	// Ne doit pas contenir le caractère ' ou "
	var reg = "('|\")";
	// Verification du champ login
	if( document.getElementById( "login" ).value == "" ) {
		alert( 'Le champ nom d\'utilisateur est obligatoire !' );
		return false;
	} else if( document.getElementById( "login" ).value.match( reg ) ) {
		alert( 'Le nom d\'utilisateur ne doit pas contenir le caractère \' ou " !' );
		return false;
	}
	if( document.getElementById( "modifier" ).checked ) {
		if( document.getElementById( "nouveau_pass" ).value == "" || document.getElementById( "verification_pass" ).value == "" ) {
			alert( 'Si tu veux changer de mot de passe, remplis les champs nouveau et vérification' );
			document.getElementById( "nouveau_pass" ).value = "";
			document.getElementById( "verification_pass" ).value = "";
			return false;
		} else if( document.getElementById( "nouveau_pass" ).value != document.getElementById( "verification_pass" ).value ) {
			alert( 'Le nouveau mot de passe ne correspond pas à la vérification' );
			document.getElementById( "nouveau_pass" ).value = "";
			document.getElementById( "verification_pass" ).value = "";
			return false;
		} else {
			var str = document.getElementById( "nouveau_pass" ).value;
			if( str.length <= 5 ) {
				alert( 'Le mot de passe doit contenir au minimum 6 caractères' );
				return false;
			}
		}
	}
	// Si une date est entrée
	if( document.getElementById( "anni_d" ).value != "JJ" || document.getElementById( "anni_m" ).value != "MM" || document.getElementById( "anni_y" ).value != "AAAA" ) {
		// Le jour doit être compris entre 1 et 31
		if( isNaN( document.getElementById( "anni_d" ).value ) || ( document.getElementById( "anni_d" ).value < 1 ) || ( document.getElementById( "anni_d" ).value > 31 ) ) {
			alert( 'Ton jour de naissance doit être compris entre 1 et 31' );
			return false;
		}
		if( isNaN( document.getElementById( "anni_m" ).value ) || ( document.getElementById( "anni_m" ).value < 1 ) || ( document.getElementById( "anni_m" ).value > 12 ) ) {
			alert( 'Ton mois de naissance doit être compris entre 1 et 12' );
			return false;
		}
		if( isNaN( document.getElementById( "anni_y" ).value ) ) {
			alert( 'Ton année de naissance doit être un nombre' );
			return false;
		}
	}
	
	return true;
}

// Affiche / masque les champs du nouveau mot de passe
function modifierPass() {
	if( document.getElementById( "modifier" ).checked ) {
		// On affiche les champs
		document.getElementById( "ancien_pass" ).disabled = false;
		document.getElementById( "ancien_pass" ).style.backgroundColor = '#ffffff';
		document.getElementById( "afficher_nouveau_pass" ).style.display = "";
		document.getElementById( "afficher_verification_pass" ).style.display = "";
	} else {
		// On masque les champs
		document.getElementById( "ancien_pass" ).disabled = true;
		document.getElementById( "ancien_pass" ).style.backgroundColor = '#cccccc';
		document.getElementById( "afficher_nouveau_pass" ).style.display = "none";
		document.getElementById( "afficher_verification_pass" ).style.display = "none";
	}
}

// **************************** fonctions solcode ******************************
// fonction de placement des balises simples
function print_balise (balise,valeur,areaid) {
	var area = document.getElementById(areaid);
	
	var ouverture = '';
	var fermeture = '';
	
	//balise d'ouverture
	ouverture = "[" + balise;
	if (valeur != 0) {
		ouverture += "=" + valeur;
	}
	ouverture += "]"
	
	//balise de fermeture
	fermeture = "[/" + balise + "]";
	
	if (navigator.appName == "Microsoft Internet Explorer") { //IE
		area.value += ouverture + fermeture;
	} else { //mozilla
		var debut     = (area.value).substring(0, area.selectionStart);
		var millieu   = (area.value).substring(area.selectionStart, area.selectionEnd);
		var fin       = (area.value).substring(area.selectionEnd, area.value.length);
		var chaine    = '';
		
		//le contenu
		chaine = debut + ouverture + millieu + fermeture + fin;
		
		//document.news.contenu.value = '';
		area.value = chaine;
	}
}

// fonction de placement des balises url
function print_url (areaid) {
	var area = document.getElementById(areaid);
	
	var ouverture = '';
	var fermeture = '';
	
	var url   = '';
	var titre = '';
	var no_url = 'Vous devez entrer une URL ! ';
	var no_title = 'Vous devez entrer un titre ! ';
	var erreur = '';
	
	url = prompt("Entrez l'URL du lien\n(sans ' http:// ' ex: www.dekonex.ch)","");
	title = prompt("Entrez le titre du lien\n(ex: Dek'Onex)","");
	
	if (!url) {
		erreur += no_url;
	}
	if (!title) {
		erreur += no_title;
	}
	if (erreur) {
		alert(erreur);
		return;
	}
	
	//balise d'ouverture
	ouverture = "[url=" + url + "]";
	fermeture = "[/url]";
	
	if (navigator.appName == "Microsoft Internet Explorer") { //IE
		area.value += ouverture + title + fermeture;
	} else { //mozilla
		var debut     = (area.value).substring(0, area.selectionEnd);
		var fin       = (area.value).substring(area.selectionEnd, area.value.length);
		var chaine    = '';
		
		chaine = debut + ouverture + title + fermeture + fin + erreur;
		area.value = chaine;
	}
}

// fonction de placement des balises images
function print_img (areaid) {
	var area = document.getElementById(areaid);
	
	var img = '';
	var position = '';
	
	img = prompt("Entrez l'URL de l'image\n(ex: www.dekonex.ch/images/logo.jpg)","");
	position = prompt("Entrez la position de l'image\nnull => image inline standard\ndroite => image bloc\ncentre => image bloc\ngauche => image bloc","null");
	
	if (!img) {
		alert("Vous devez entrer l'URL de l'image");
		return;
	}
	
	if (navigator.appName == "Microsoft Internet Explorer") { //IE
		area.value += "[img=" + img + "]";
	} else { //mozilla
		var debut     = (area.value).substring(0, area.selectionEnd);
		var fin       = (area.value).substring(area.selectionEnd, area.value.length);
		var chaine    = '';
		
		chaine = debut + "[img=" + position + "]" + img + "[/img]" + fin;
		//chaine = debut + "[img=" + img + "]" + fin;
		area.value = chaine;
	}
}

// fonction de placement des balises mail
function print_mail (areaid) {
	var area = document.getElementById(areaid);
	
	var ouverture = '';
	var fermeture = '';

	var mail   = '';
	var title = '';
	var no_mail = 'Vous devez entrer une adresse ! ';
	var no_title = 'Vous devez entrer un titre ! ';
	var erreur = '';
	
	mail = prompt("Entrez l'adresse email\n(ex: webmaster@dekonex.ch)","");
	title = prompt("Entrez le titre de l'adresse email\n(ex: Webmaster)","");
	
	if (!mail) {
		erreur += no_mail;
	}
	if (!title) {
		erreur += no_title;
	}
	if (erreur) {
		alert(erreur);
		return;
	}
	
	//balise d'ouverture
	ouverture = "[mail=" + mail + "]";
	fermeture = "[/mail]";

	if (navigator.appName == "Microsoft Internet Explorer") { //IE
		area.value += ouverture + title + fermeture;
	} else { //mozilla
		var debut     = (area.value).substring(0, area.selectionEnd);
		var fin       = (area.value).substring(area.selectionEnd, area.value.length);
		var chaine    = '';
		
		chaine = debut + ouverture + title + fermeture + fin + erreur;
		area.value = chaine;
	}
}
// ************************** fin fonctions solcode ****************************

// fonction de confirmation de la suppression d'un element
function confirmer_suppression() {
	ok = confirm('Es-tu sûr de vouloir supprimer cette entrée ?');
	
	if( ok ) {
		return true;
	}
	return false;
}

// Fonction permettant de lister les dossier d'un path donne
function toggle( id, img, fin ) {
	var elmt = document.getElementById( id );
	if( fin == 1 ) {
		if( elmt.style.display == "none" )	{
			elmt.style.display = "";
			img.setAttribute( "src", "../../css/images/lister_dossier/moinspetit.png");
		} else	{
			elmt.style.display = "none";
			img.setAttribute( "src", "../../css/images/lister_dossier/pluspetit.png" );
		}
	} else {
		if( elmt.style.display == "none" )	{
			elmt.style.display = "";
			img.setAttribute( "src", "../../css/images/lister_dossier/moins.png" );
		} else	{
			elmt.style.display = "none";
			img.setAttribute( "src", "../../css/images/lister_dossier/plus.png");
		}
	}
}

// Function permettant d'afficher le chemin selectionne
function afficherChemin( chemin ) {
	document.getElementById( 'chemin' ).value = "administration/photos" + chemin.substring(1, chemin.length) + "/";
}

// Function permettant d'afficher / masquer le lecteur streaming MP3
function display( id, masquer ) {
	if( document.getElementById( 'container' + id ).style.display == "block" ) {
		document.getElementById( 'container' + id ).style.display = "none";
	} else {
		document.getElementById( 'container' + id ).style.display = "block";	
	}
}

// Fonction permettant de modifier de mp3
function modifier_fichier( type ) {
	// On active le champ mp3
	if( document.getElementById( 'modifier_' + type ).checked ) {
		document.getElementById( 'path_' + type ).disabled = "";	
	} else {
		document.getElementById( 'path_' + type ).disabled = "disabled";
	}
}

// Fonction permettant d'afficher / masquer un champ
function afficher_masquer( id ) {
	if( document.getElementById( id ).style.display == "block" ) {
		document.getElementById( id ).style.display = "none";
	} else {
		document.getElementById( id ).style.display = "block";
	}
}

function afficher_masquer_table( id ) {
	if( document.getElementById( id ).style.display == "" ) {
		document.getElementById( id ).style.display = "none";
	} else {
		document.getElementById( id ).style.display = "";
	}
}

// ****************************** LightBox ********************************

function gradient(id, level)
{
	var box = document.getElementById(id);
	box.style.opacity = level;
	box.style.MozOpacity = level;
	box.style.KhtmlOpacity = level;
	box.style.filter = "alpha(opacity=" + level * 100 + ")";
	box.style.display="block";
	return;
}

// Effet apparission
function fadein( id ) {
	var level = 0;
	while( level <= 1 ) {
		setTimeout( "gradient('" + id + "'," + level + ")", ( level * 1000 ) + 10 );
		level += 0.01;
	}
}


// Ouverture de la lightbox
function openbox( formtitle, fadin, boxname ) {
	if( boxname == 'video' ) {
    	var box = document.getElementById( 'box_video' );  
  	} else {
    	var box = document.getElementById('box');	  
  	}
  	document.getElementById( 'filter' ).style.display   = 'block';
  	document.getElementById( 'boxclose' ).style.display = 'block';

  	var btitle = document.getElementById( 'boxtitle' );
  	//btitle.innerHTML = formtitle;
  
  	if( fadin ) {
		if( boxname == 'video' ) {
	   		gradient( "box_video", 0 );
	   		fadein( "box_video" );
	 	} else {
  	   		gradient( "box", 0 );
	   		fadein( "box" );
	 	}
	} else {
    	box.style.display='block';
  	}  	
}


// Fermeture de la lightbox
function closebox( chemin, fadin, boxname ) {
	if( boxname == 'video' ) {
		var box = document.getElementById( 'box_video' );
	} else {
	  	var box = document.getElementById( 'box' );	
	}
	document.getElementById( 'filter' ).style.display   = 'none';
    document.getElementById( 'boxclose' ).style.display = 'none';
   
	if( fadin ) {
		if( boxname == 'video' ) {
	   		gradient( "box_video", 0 );
		 	fadein( "box_video" );
	   	} else {
	 	 	gradient( "box", 0 );
		 	fadein( "box" );
	   	}
  	} else { 	
    	box.style.display='none';
	}
   // Redirection sur la page precedente
   if( boxname == 'video' ) {
	   document.location.href = "videos.php?annee=" + chemin;   
   } else {
	   document.location.href = "photos.php?annee=" + chemin;
   }
}

/* COMMANDE */
// Activation du bouton
function activer_button( id ) {
	if( document.getElementById( id ).disabled ) {
		document.getElementById( id ).disabled = false;
	} else {
		document.getElementById( id ).disabled = true;
	}
}

// Verification des champs
function verifier_commande() {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if( document.getElementById( 'titre' ).value == "-" ) {
		alert( 'Le titre est obligatoire' );
		return false;
	} else	if( document.getElementById( 'nom' ).value == "" ) {
		alert( 'Le nom est obligatoire' );
		return false;
	} else if( document.getElementById( 'prenom' ).value == "" ) {
		alert( 'Le prénom est obligatoire' );
		return false;
	} else if( document.getElementById( 'adresse' ).value == "" ) {
		alert( 'L\'adresse est obligatoire' );
		return false;
	} else if( document.getElementById( 'npa' ).value == "" ) {
		alert( 'Le code postal est obligatoire' );
		return false;
	} else if( document.getElementById( 'ville' ).value == "" ) {
		alert( 'La ville est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail' ).value == "" ) {
		alert( 'L\'adresse e-mail est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail' ).value.search( emailRegEx ) == -1 ) {
		alert( 'Le format de l\'adresse e-mail n\'est pas correct' );
		return false;
	} else if( document.getElementById( 'quantite' ).value == "" ) {
		alert( 'La quantité est obligatoire' );
		return false;
	} else if( isNaN( parseInt( document.getElementById( 'quantite' ).value, 10) ) ) {
		alert( 'La quantité doit être un nombre positif supérieur à 0' );
		return false;
	} else if( parseInt( document.getElementById( 'quantite' ).value ) <= 0 ) {
		alert( 'La quantité doit être un nombre positif supérieur à 0' );
		return false;
	} else if( document.getElementById( 'captcha' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire' );
		return false;
	}
	return true;
}

// Verification des champs
function verifier_contact() {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if( document.getElementById( 'contact' ).value == -1 ) {
		alert( 'Le contact est obligatoire !' );
		return false;
	} else if( document.getElementById( 'nom' ). value == "" ) {
		alert( 'Le nom est obligatoire !' );
		return false;
	} else if( document.getElementById( 'mail' ).value == "" ) {
		alert( 'L\'adresse e-mail est obligatoire !' );
		return false;
	} else if( document.getElementById( 'mail' ).value.search( emailRegEx ) == -1 ) {
		alert( 'Le format de l\'adresse e-mail n\'est pas correct !' );
		return false;
	} else if( document.getElementById( 'message' ).value == "" ) {
		alert( 'Le message est obligatoire !' );
		return false;
	} else if( document.getElementById( 'code' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire !' );
		return false;
	}
	return true;
}

// Verification des champs
function verifier_inscription() {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if( document.getElementById( 'nom' ).value == "" ) {
		alert( 'Le nom est obligatoire' );
		return false;
	} else if( document.getElementById( 'prenom' ).value == "" ) {
		alert( 'Le prénom est obligatoire' );
		return false;
	} else if( document.getElementById( 'tel' ).value == "" ) {
		alert( 'Le téléphone est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail' ).value == "" ) {
		alert( 'L\'adresse e-mail est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail' ).value.search( emailRegEx ) == -1 ) {
		alert( 'Le format de l\'adresse e-mail n\'est pas valide' );
		return false;
	} else if( document.getElementById( 'instrument' ).value == "-1" ) {
		alert( 'L\'instrument est obligatoire' );
		return false;
	} else if( document.getElementById( 'code' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire' );
		return false;
	}
	return true;
}

function verifier_inscription_iphone() {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if( document.getElementById( 'nom-recherche' ).value == "" ) {
		alert( 'Le nom est obligatoire' );
		return false;
	} else if( document.getElementById( 'prenom-recherche' ).value == "" ) {
		alert( 'Le prénom est obligatoire' );
		return false;
	} else if( document.getElementById( 'tel-recherche' ).value == "" ) {
		alert( 'Le téléphone est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail-recherche' ).value == "" ) {
		alert( 'L\'adresse e-mail est obligatoire' );
		return false;
	} else if( document.getElementById( 'mail-recherche' ).value.search( emailRegEx ) == -1 ) {
		alert( 'Le format de l\'adresse e-mail n\'est pas valide' );
		return false;
	} else if( document.getElementById( 'instrument-recherche' ).value == "-1" ) {
		alert( 'L\'instrument est obligatoire' );
		return false;
	} else if( document.getElementById( 'code-recherche' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire' );
		return false;
	}
	return true;
}

// Valide les champs du livre d or
function valider_livreor() {
	if( document.getElementById( 'pseudo' ).value == "" ) {
		alert( 'Le pseudo est obligatoire' );
		return false;
	} else if( document.getElementById( 'message' ).value == "" ) {
		alert( 'Le message est obligatoire' );
		return false;
	} else if( document.getElementById( 'code' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire' );
		return false;
	}
	return true;
}

// Valide l'intern book
function valider_internbook() {
	if( document.getElementById( 'pseudo-intern' ).value == "" ) {
		alert( 'Le pseudo est obligatoire' );
		return false;
	} else if( document.getElementById( 'message-intern' ).value == "" ) {
		alert( 'Le message est obligatoire' );
		return false;
	} else if( document.getElementById( 'code-intern' ).value == "" ) {
		alert( 'Le code de sécurité est obligatoire' );
		return false;
	}
	return true;
}

function valider_livreor_membre() {
	if( document.getElementById( 'pseudo' ).value == "" ) {
		alert( 'Le pseudo est obligatoire' );
		return false;
	} else if( document.getElementById( 'message' ).value == "" ) {
		alert( 'Le message est obligatoire' );
		return false;
	}
	return true;
}

// Valide le champ adresse e-mail permettant de modifier son mot de passe
function valider_newPass() {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if( document.getElementById( 'mail_newpass' ).value == "" ) {
		alert( 'L\'adresse e-mail est obligatoire !' );
		return false;
	} else if( document.getElementById( 'mail_newpass' ).value.search( emailRegEx ) == -1 ) {
		alert( 'Le format de l\'adresse e-mail n\'est pas correct' );
		return false;
	}
	return true;
}

// Affiche le contrat
function afficher_contrat( event ) {
	if( window.event )
		event = window.event
		
	// Recuperation des coordonnees de la souris
	mousePosition( event, 350 );
	// On affiche les infos de la sortie
	document.getElementById( 'contrat' ).style.left    = posX + "px";
	document.getElementById( 'contrat' ).style.top     = posY + "px";
	document.getElementById( 'contrat' ).style.display = "block";
}

// Affiche un élément
function displayItem( id, event, offsetY ) {
	if( window.event )
		event = window.event
		
	// Recuperation des coordonnees de la souris
	mousePosition( event, offsetY );
	// On affiche les infos de la sortie
	document.getElementById( id ).style.left    = posX + "px";
	document.getElementById( id ).style.top     = posY + "px";
	document.getElementById( id ).style.display = "block";
}
	
	
function mousePosition( event, offsetY ) {
	var offsetX = 50;
	if ( event.pageX || event.pageY ) {
		posX = event.pageX - offsetX;
		posY = event.pageY - offsetY;
	} else if ( event.clientX || event.clientY ) {
		posX = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft + offsetX - 300;
		posY = event.clientY + document.body.scrollTop  + document.documentElement.scrollTop  - offsetY;
	}
}

function displayLoading( id ) {
	document.getElementById( id ).style.display = "";
}

function displayLoadingAndHideForm( id_loading, id_form ) {
	document.getElementById( id_loading ).style.display = "";
	document.getElementById( id_form ).style.display = "none";
}

function hiddeLoading( id ) {
	document.getElementById( id ).style.display = "none";
}

function reload_captcha( chemin ) {
	var timeStamp = new Date().getTime();
	document.getElementById( 'captcha' ).src = chemin + "scripts/captcha.php?ms=" + timeStamp;
}

function reload_captcha_with_id( chemin, id ) {
	var timeStamp = new Date().getTime();
	document.getElementById( id ).src = chemin + "scripts/captcha.php?ms=" + timeStamp;
}

function reload_captcha_iphone( chemin, id ) {
	var timeStamp = new Date().getTime();
	document.getElementById( id ).src = chemin + "captcha.php?ms=" + timeStamp;
}

function reload_captcha2( chemin ) {
	var timeStamp = new Date().getTime();
	document.getElementById( 'captcha' ).src = chemin + "scripts/captcha2.php?ms=" + timeStamp;
}

function changerEtatModif() {
	if( document.getElementById( 'modif' ).checked ) {
		document.getElementById( 'message' ).disabled    = "";
		document.getElementById( 'footer' ).disabled     = "";
		document.getElementById( 'btnEnvoyer' ).disabled = "";
	} else {
		document.getElementById( 'message' ).disabled    = "disabled";
		document.getElementById( 'footer' ).disabled     = "disabled";
		document.getElementById( 'btnEnvoyer' ).disabled = "disabled";
	}
}

function activerModifPassInvite() {
	if( document.getElementById( 'modifierPassInvite' ).checked ) {
		document.getElementById( 'modifPassInvite' ).style.display = "";
	} else {
		document.getElementById( 'modifPassInvite' ).style.display = "none";
	}
}

function checkChangePassInvite() {
	if( document.getElementById( 'newPassInvite' ).value == "" ) {
		alert( 'Le nouveau mot de passe est obligatoire' );
		return false;
	} else if( document.getElementById( 'newPassInvite' ).value != document.getElementById( 'verifPassInvite' ).value ) {
		alert( 'La vérification du mot de passe ne correspond pas au nouveau mot de passe' );
		return false;
	}
	return true;
}

function confirmerReinitialisationCompteur() {
	ok = confirm('Réinitialiser le compteur ?');
	
	if( ok ) {
		return true;
	}
	return false;
}

function controlerPass( pass, verif ) {
	if( document.getElementById( pass ).value != "" ) {
		if( document.getElementById( pass ).value != document.getElementById( verif ).value ) {
			alert( 'La vérification du mot de passe a échoué !' );
			return false;
		} else {
			return true;
		}
	} else {
		return true;
	}
}

function go( item, value ) {
	document.getElementById( item ).value = value;
	document.form2go.submit();
}

function setPeriodCalendar( period ) {
	periodCalendar = period;
}

function getPeriodCalendar() {
	return periodCalendar;
}

/* AJAX */
var path = null;
var div  = null;
function setAjaxItem( pathFile, idDiv ) {
	path = pathFile;
	div  = idDiv;
	ouvrirFichier();
}

function stateChanged() {
	if( obj.readyState == 4 && obj.status == 200 ) {
		var req = obj.responseText;
		document.getElementById( div ).innerHTML = req;
	}
}
var obj = null;
// Ouverture d'un fichier
function ouvrirFichier() {
	if( window.XMLHttpRequest )
		obj = new XMLHttpRequest();
	else if( window.ActiveXObject )
		obj = new ActiveXObject( "Microsoft.XMLHTTP" );
	
	if( obj = null ) {
		alert( 'Votre navigateur ne prend pas en compte l\'AJAX' );
		return;
	}
	
	obj.onreadystatechange = stateChanged;
	obj.open( "get", path, true );
	obj.send( null );
}

// Conversion de l'adresse e-mail afin de ne pas être vu par les robots
function str2hex( chaine ) {
   var a, b, lettre;
   var hexStr    = '';
   var hexMasque = "0123456789ABCDEF";
   
   for ( var i=0; i < chaine.length; i++ ) {
      lettre  = chaine.charCodeAt( i );
      a       = lettre % 16;
      b       = ( lettre - a ) / 16;
      hexStr += '%' + hexMasque.charAt( b ) + hexMasque.charAt( a );
   }
   return hexStr;
}

function valider_txt( id ) {
	if( document.getElementById( id ).value == "" ) {
		document.getElementById( id ).style.border = "1px solid #ff0000";
	} else {
		document.getElementById( id ).style.border = "1px solid #b5b4b8";
	}
}

function valider_txt_size( id, nb ) {
	if( document.getElementById( id ).value.length < nb ) {
		document.getElementById( id ).style.border = "1px solid #ff0000";
	} else {
		document.getElementById( id ).style.border = "1px solid #b5b4b8";
	}
}

function valider_combo( id, strDefault ) {
	if( document.getElementById( id ).value == strDefault ) {
		document.getElementById( id ).style.border = "1px solid #ff0000";
	} else {
		document.getElementById( id ).style.border = "1px solid #b5b4b8";
	}
}

function valider_qte( id ) {
	if( document.getElementById( id ).value == "" || isNaN( parseInt( document.getElementById( id ).value, 10) ) || parseInt( document.getElementById( id ).value ) <= 0 ) {
		document.getElementById( id ).style.border = "1px solid #ff0000";
	} else {
		document.getElementById( id ).style.border = "1px solid #b5b4b8";
	}
}

function valider_mail( id ) {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if( document.getElementById( id ).value == "" || document.getElementById( 'mail' ).value.search( emailRegEx ) == -1 ) {
		document.getElementById( id ).style.border = "1px solid #ff0000";
	} else {
		document.getElementById( id ).style.border = "1px solid #b5b4b8";
	}
}

// Redimensionne un textarea en fonction de son contenu
function textareaSize( zoneTexte ) {
	if( zoneTexte ) {
		nbrLignes       	= 2;
		longueurDeLigne 	= 2; // Taille minimal de la zone de texte.
		nbrLignesMax    	= 18;
		longueurDeLigneMax	= 9; // Taille maximale de la zone de texte.
		lesLignes			= escape( zoneTexte.value ).split( "%0D%0A" ); 
		if( lesLignes ) {
			nbrLignes = lesLignes.length;
		}
		if( nbrLignes > document.body.clientHeight / nbrLignesMax ) {
			nbrLignes = document.body.clientHeight / nbrLignesMax;
		}

		if( lesLignes ) {
			for( n=0; n < ( lesLignes.length ); n++ ) {
				if( longueurDeLigne < unescape( lesLignes[n] ).length) {
					longueurDeLigne = unescape( lesLignes[n] ).length;
				}
				if( longueurDeLigne > document.body.clientWidth / longueurDeLigneMax ) {
					longueurDeLigne = document.body.clientWidth / longueurDeLigneMax;
					nbrLignes += unescape( lesLignes[n] ).length / ( document.body.clientWidth / longueurDeLigneMax );
				}
			}
		} else {
			longueurDeLigne = zoneTexte.value.length
		}
		if( nbrLignes > document.body.clientHeight / nbrLignesMax ) {
			nbrLignes = document.body.clientHeight / nbrLignesMax;
		}

		zoneTexte.cols = longueurDeLigne + 1; // Charge le nombre de colonnes utile, plus une colonne pour la clarté
		zoneTexte.rows = nbrLignes + 1; // Charge le nombre de lignes utile, plus une ligne pour la clarté
	}
}

// Redirection après X secondes
function reload( chemin, temps ) {
	setTimeout( "window.location='"+ chemin +"'", temps * 1000 );
}

// Rechargement des morceaux
function reloadMorceaux() {
	if( document.getElementById( 'morceaux' ).value > -1 )
		window.location = 'index.php?id=' + document.getElementById( 'morceaux' ).value;
}

// Apercu en temps réel d'un message
function setApercu( idSource, idDest ) {
	document.getElementById( idDest ).value = document.getElementById( idSource ).value;
}
