﻿var zone_impression = 'contenu2';
var tab_formules  = new Array();
var xmldoc;
var menu_courant = -1;
var c_courant = -1;
var contact_email;
var today = new Date();

/* ----------------------------------- Lecture menu ----------------------------------- */
function CJL_loadXmlDocument(xmlFile) {
   var xdoc;
   if( window.ActiveXObject && /Win/.test(navigator.userAgent) ) {
      xdoc = new ActiveXObject("Microsoft.XMLDOM");
      xdoc.async = false;
      xdoc.load(xmlFile);
		gestionReponse(xdoc);
      return true;
   }
}

function gestionReponse(xmldoc) {
		var node = xmldoc.getElementsByTagName('wasabi')[0].childNodes[0];
		var id_nodes = 0;
		while (node) {			
			tab_formules[id_nodes] = new Object();
			tab_formules[id_nodes].menu = new Array();
			tab_formules[id_nodes].titre = node.getAttribute("nom");
			tab_formules[id_nodes].status = node.nodeName;
			
			var menu_node = node.childNodes[0];
			var id_node2 = 0;
			
			while (menu_node) {
				tab_formules[id_nodes].menu[id_node2] = new Menu(menu_node);
				menu_node = menu_node.nextSibling;
				id_node2++;
			}
			
			switch(node.nodeName) {
				case "formules" :
					$('menu').innerHTML += '<li id="menu'+id_nodes+'"><a href="#" class="menu" onclick="switch_bg();affiche_formules('+id_nodes+');switchMenu('+id_nodes+',1);">'+node.getAttribute("nom")+'</a></li>';
					break;
				case "yakitori" :
					$('menu').innerHTML += '<li id="menu'+id_nodes+'"><a href="#" class="menu" onclick="switch_bg();affiche_yakitori('+id_nodes+');switchMenu('+id_nodes+',2);">'+node.getAttribute("nom")+'</a></li>';
					break;
				case "boissons" :
					$('menu').innerHTML += '<li id="menu'+id_nodes+'"><a href="#" class="menu" onclick="switch_bg();affiche_boissons('+id_nodes+');switchMenu('+id_nodes+',3);">'+node.getAttribute("nom")+'</a></li>';
					break;
				case "dessert" :
					$('menu').innerHTML += '<li id="menu'+id_nodes+'"><a href="#" class="menu" onclick="switch_bg();affiche_boissons('+id_nodes+');switchMenu('+id_nodes+',3);">'+node.getAttribute("nom")+'</a></li>'; 
					break;
			}
			id_nodes++;	
			node = node.nextSibling;
		}
		$('menu').innerHTML ='<ul>'+$('menu').innerHTML+'</ul>';
}

function gestionReponse_mozilla(xhr) {
	if (xhr.status == 200) {		
		xmldoc = xhr.responseXML;
		gestionReponse(xmldoc)
	} else {alert('Erreur : impossible de lire le menu.');}
}
	
function request_mozilla(url,parametres) {
  	var myAjax = new Ajax.Request(url, {method: 'get',onComplete: gestionReponse_mozilla});
}

function init() {
	if (navigator.appName=="Netscape") request_mozilla('test.xml');
	else CJL_loadXmlDocument('test.xml');
}


/* ----------------------------------- Gestion menu ----------------------------------- */

function Menu(node) {
	if (node.childNodes[0].childNodes[0])this.titre = node.childNodes[0].childNodes[0].nodeValue;
	if (node.childNodes[1].childNodes[0]) this.soustitre = node.childNodes[1].childNodes[0].nodeValue
	else this.soustitre = "";
	if (node.childNodes[2].childNodes[0]) this.nb_pieces = node.childNodes[2].childNodes[0].nodeValue
	if (node.childNodes[3].childNodes[0])this.petite_photo = node.childNodes[3].childNodes[0].nodeValue
	if (node.childNodes[4].childNodes[0])this.grande_photo = node.childNodes[4].childNodes[0].nodeValue;
	if (node.childNodes[5].childNodes[0])this.prix = node.childNodes[5].childNodes[0].data;
	if (node.childNodes[6].childNodes[0])this.composition = node.childNodes[6].childNodes[0].nodeValue;
	this.quantite = 0;
}

function switch_bg() {
	document.body.style.backgroundImage ="url(images/bg.jpg)";; 
	$('c_accueil').style.display = 'none';
	$('c_centre').style.display = 'block';
	$('c_droite').style.display = 'block';
}

function affiche_accueil() {
	document.body.style.backgroundImage ="url(images/bg1.jpg)";; 
	$('c_centre').style.display = 'none';
	$('c_droite').style.display = 'none';
	$('c_accueil').style.display = 'block';
}

function switchMenu(id,c) {
	if (menu_courant>=0) {
		if (c_courant==1) $('menu'+menu_courant).innerHTML='<a href="#" class="menu" onclick="switch_bg();affiche_formules('+menu_courant+');switchMenu('+menu_courant+',1)">'+tab_formules[menu_courant].titre+'</a>';
		if (c_courant==2) $('menu'+menu_courant).innerHTML='<a href="#" class="menu" onclick="switch_bg();affiche_yakitori('+menu_courant+');switchMenu('+menu_courant+',2);">'+tab_formules[menu_courant].titre+'</a>';
		if (c_courant==3) $('menu'+menu_courant).innerHTML='<a href="#" class="menu" onclick="switch_bg();affiche_boissons('+menu_courant+');switchMenu('+menu_courant+',3);">'+tab_formules[menu_courant].titre+'</a>';
	}
	menu_courant = id;
	c_courant = c;
	if (menu_courant>=0) $('menu'+id).innerHTML='<span class="orange12">'+tab_formules[id].titre+'</span>';
}

function initialise_box() {
	$('contenu2').innerHTML = "";
	$('contenu3').innerHTML = "";
	$('ajouter_panier').innerHTML = '';
	document.getElementById("nota_bene").style.display='none';
}

function affiche_formules(id) {
	initialise_box();
	var contenu = '';
	for (i=0;i<tab_formules[id].menu.length;i++) {
		contenu+='<div id="formule'+id+'-'+i+'" class="formule_a" onclick="affiche_details('+id+','+i+')"><strong>'+tab_formules[id].menu[i].titre+'<br />'+tab_formules[id].menu[i].soustitre+'</strong><br />'+tab_formules[id].menu[i].nb_pieces+' pièces<br />';
		if (tab_formules[id].menu[i].petite_photo!="no") contenu+='<img src="images/'+tab_formules[id].menu[i].petite_photo+'" title="'+tab_formules[id].menu[i].soustitre+'"/></div>';
		else contenu+='</div>';	
	}
	$('contenu2').innerHTML += '<div id="titre">'+tab_formules[id].titre+'</div>'+contenu;
	sous_menu_courant = 0;
	affiche_details(id,0);
}

function affiche_yakitori(id) {
	initialise_box();
	$('ajouter_panier').innerHTML = '<span class="quantite"><a href="#" onclick="switch_bg();affiche_panier();" class="ajouter">Voir le panier</a></span>';
	var contenu = '';
	for (i=0;i<tab_formules[id].menu.length;i++) {
		contenu+='<li><table><tr><td width="40"><select type="text" name="quantite" onChange="tab_formules['+id+'].menu['+i+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis()"/>'+affiche_quantite_pair(id,i)+'</select></td><td width="140">&nbsp; <a href="#" class="menu" onclick="$(\'visuel_yaki\').src=\'images/'+tab_formules[id].menu[i].grande_photo+'\'"><strong>'+tab_formules[id].menu[i].titre+'</strong></a></td><td width="30">'+tab_formules[id].menu[i].prix+'</td></tr></table></li>';
	}
	$('contenu2').innerHTML += '<div style="background-image:url(images/yaki.jpg);height:530px"><div id="titre">'+tab_formules[id].titre+'</div></div>';
	$('contenu3').innerHTML += '<div style="float:left"><ul>'+contenu+'</ul></div><div style="float:left"><img src="pixel.gif" id="visuel_yaki"></div>';
}

function affiche_details(id,id_f) {
	$('formule'+id+'-'+sous_menu_courant).style.color = '#000000';
	sous_menu_courant = id_f;
	$('formule'+id+'-'+sous_menu_courant).style.color = '#e57242';
	
	$('ajouter_panier').innerHTML = '<span class="quantite" id="quantite">quantité &nbsp;<select type="text" name="quantite" onChange="tab_formules['+id+'].menu['+id_f+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis()"/>'+affiche_quantite(id,id_f)+'</select></span><span class="quantite"><a href="#" onclick="switch_bg();affiche_panier();" class="ajouter">Voir le panier</a></span>';
	var composition = '';
	var c = tab_formules[id].menu[id_f].composition.split(',');
	for (i=0;i<c.length;i++) {
		composition +='<li>'+c[i]+'</li>';
	}
	$('contenu3').innerHTML = '<div id="titre_formule">'+tab_formules[id].menu[id_f].titre+' <span class="txt20_b">' + tab_formules[id].menu[id_f].prix +' &euro;</span></div><div id="liste_formule"><strong>'+tab_formules[id].menu[id_f].nb_pieces+' pièces</strong><br /><ul>'+ composition +'</ul></div><div id="image_sushi"><img src="images/'+tab_formules[id].menu[id_f].grande_photo+'" title="'+tab_formules[id].menu[id_f].titre+'"/></div>';
}


function affiche_boissons(id) {
	initialise_box();
	$('ajouter_panier').innerHTML = '<span class="quantite"><a href="#" onclick="switch_bg();affiche_panier();" class="ajouter">Voir le panier</a></span>';
	var contenu = '';
	for (i=0;i<tab_formules[id].menu.length;i++) {
		contenu+='<li><table><tr><td width="40"><select type="text" name="quantite" onChange="tab_formules['+id+'].menu['+i+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis()"/>'+affiche_quantite(id,i)+'</select></td><td width="320">&nbsp; <strong>'+tab_formules[id].menu[i].titre+'</strong></td><td width="30">'+tab_formules[id].menu[i].prix+'</td></tr></table></li>';
	}
	$('contenu2').innerHTML += '<div style="background-image:url(images/boisson.jpg);height:530px"><div id="titre">'+tab_formules[id].titre+'</div></div>';
	$('contenu3').innerHTML += '<div style="float:left"><ul>'+contenu+'</ul></div>';
}


/* ------------------------------------- panier ------------------------------------- */
function affiche_quantite(id,id_f) {
	var quantite = '';
	for(q=0;q<11;q++) {
		if (tab_formules[id].menu[id_f].quantite!=q) quantite += '<option value="1" title="quantite">'+q+'</option>';
		else  quantite += '<option value="1" title="quantite" selected>'+q+'</option>';
	}
	return(quantite);
}

function affiche_quantite_pair(id,id_f) {
	var quantite = '';
	for(q=0;q<9;q++) {
		if (tab_formules[id].menu[id_f].quantite!=(q*2)) quantite += '<option value="'+(q*2)+'" title="quantite">'+(q*2)+'</option>';
		else  quantite += '<option value="'+(q*2)+'" title="quantite" selected>'+(q*2)+'</option>';
	}
	return(quantite);
}


function arrondir(quotient) {
	return (Math.round(quotient*100)/100);
}

function calcule_devis() {
	var devis = '';
	var prix_total = 0;
	var quantite_produits = 0;
	for (i=0;i<tab_formules.length;i++) {
		for (j=0;j<tab_formules[i].menu.length;j++) {
			prix_total = arrondir(prix_total + arrondir(tab_formules[i].menu[j].quantite * tab_formules[i].menu[j].prix));
			quantite_produits = arrondir(quantite_produits + tab_formules[i].menu[j].quantite);
		}
	}
	if (quantite_produits>0) {
		$('caddie').innerHTML = 'panier en cours<br />'+quantite_produits+' articles > '+prix_total+' &euro;';
		$('caddie').className='caddie_on';
	} else {
		$('caddie').innerHTML = 'le panier est vide<br/>&nbsp;';
		$('caddie').className='caddie_off';
		
	}
	
}

function maf(prix) { // maf = mise au format (x.xx)
	prix = ''+prix;
	if (prix.indexOf('.')==-1) 
		return prix+'.00';
	else {
		if (!prix[prix.indexOf('.')+2]) return prix+'0';
		else return prix;
	}
}



var commande = '';
function affiche_panier() {
	initialise_box();
	commande='';
	var prix_total = 0;
	var mon_panier = '<table width="483" border="0" cellpadding="0" cellspacing="4"><tr bgcolor="white" ><td width="250" align="center"><b>ma commande</b></td><td width="70" align="center"><b>quantite</b></td><td width="70" align="center"><b>prix</b></td><td width="80" align="center"><b>total</b></td></tr>';
	mon_panier +='<tr><td colspan="4">&nbsp;</td></tr>';
	for (i=0;i<tab_formules.length;i++) {
		for (j=0;j<tab_formules[i].menu.length;j++) {
			if (tab_formules[i].menu[j].quantite>0) {
				prix_total = arrondir(prix_total + arrondir(tab_formules[i].menu[j].quantite * tab_formules[i].menu[j].prix));
				mon_panier +='<tr><td>';
				switch(tab_formules[i].status) {
					case 'formules' : 
						mon_panier +='<a href="#" class="menu" onclick="affiche_formules('+i+');switchMenu('+i+',1);affiche_details('+i+','+j+')">'+tab_formules[i].menu[j].titre+'</a></td><td><select onchange="tab_formules['+i+'].menu['+j+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis();affiche_panier();">'+affiche_quantite(i,j)+'&nbsp; </select></td>';
						break;
					case 'yakitori' : 
						mon_panier +='<a href="#" class="menu" onclick="affiche_yakitori('+i+');switchMenu('+i+',2);$(\'visuel_yaki\').src=\'images/'+tab_formules[i].menu[j].grande_photo+'\'">'+tab_formules[i].menu[j].titre+'</a></td><td><select onchange="tab_formules['+i+'].menu['+j+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis();affiche_panier();">'+affiche_quantite_pair(i,j)+'&nbsp; </select></td>';
						break;
					case "boissons" :
						mon_panier +=tab_formules[i].menu[j].titre+'</td><td><select onchange="tab_formules['+i+'].menu['+j+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis();affiche_panier();">'+affiche_quantite(i,j)+'&nbsp; </select></td>';
						break;
					case 'dessert' : 
						mon_panier +=tab_formules[i].menu[j].titre+'</td><td><select onchange="tab_formules['+i+'].menu['+j+'].quantite=Number(this.options[this.options.selectedIndex].text);calcule_devis();affiche_panier();">'+affiche_quantite(i,j)+'&nbsp; </select></td>';
						break;
				}
				mon_panier +='<td align="right">'+maf(tab_formules[i].menu[j].prix)+'&nbsp;&euro;</td><td align="right">'+maf(arrondir(tab_formules[i].menu[j].quantite * tab_formules[i].menu[j].prix))+'&nbsp;&euro;</td></tr>';
				// On créé au passage le bon de commande à envoyer par email.
				commande += '<tr><td>'+tab_formules[i].menu[j].titre+'</td><td>'+tab_formules[i].menu[j].quantite+'</td><td>'+maf(tab_formules[i].menu[j].prix)+'</td><td>'+maf(arrondir(tab_formules[i].menu[j].quantite * tab_formules[i].menu[j].prix))+'</td></tr>';
			}
		}
	}
	mon_panier +='<tr><td colspan="4">&nbsp;</td></tr>';
	mon_panier +='<tr bgcolor="white"><td colspan="4" align="right"><table><tr><td><b>Montant total de ma commande</b></td><td width="80" align="right"><b>'+maf(prix_total)+'</b>&nbsp;&euro;</td></tr><tr><td>dont t.v.a. (5,5%)</td><td width="70" align="right">'+maf(arrondir(prix_total-prix_total/1.055))+'&nbsp;&euro;</td></tr></table></td></tr>';
	mon_panier +='</table>';
	
	commande +='<tr><td colspan="4">&nbsp;</td></tr>';
	commande +='<tr bgcolor="white"><td colspan="4" align="right"><table><tr><td><b>Montant total de ma commande</b></td><td width="80" align="right"><b>'+maf(prix_total)+'</b>&nbsp;&euro;</td></tr><tr><td>dont t.v.a. (5,5%)</td><td width="70" align="right">'+maf(arrondir(prix_total-prix_total/1.055))+'&nbsp;&euro;</td></tr></table></td></tr>';
	
	if (tab_coord["con_mail"]) {
		var recap_livraison = '<div class="cadre_recap"><table  border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#d0ccca" height="20" align="center">Mon adresse de livraion</td></tr><tr><td><table cellpadding="2"><tr><td>nom</td><td><b>'+tab_coord["liv_nom"]+'</b></td></tr><tr><td>prénom</td><td><b>'+tab_coord["liv_prenom"]+'</b></td></tr><tr><td>société</td><td><b>'+tab_coord["liv_societe"]+'</b></td></tr><tr><td>adresse</td><td><b>'+tab_coord["liv_adresse"]+'</b></td></tr><tr><td>ville</td><td><b>'+tab_coord["liv_ville"]+'</b></td></tr><tr><td>code postal</td><td><b>'+tab_coord["liv_cp"]+'</b></td></tr><tr><td>téléphone</td><td><b>'+tab_coord["liv_telephone"]+'</b></td></tr><tr><td colspan="2">informations complémentaires</td></td></tr><tr><td colspan="2"><b>'+tab_coord["liv_code"]+'</b></td></tr></table></td></tr><tr><td bgcolor="#d0ccca" height="20" align="center"><a href="#" class="menu" onclick="affiche_modif_inscription()">modifier mes coordonn&eacute;es</a></td></tr></table></div>';
	
		recap_livraison+='<div class="cadre_recap"><table border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#d0ccca" height="20" align="center">Mon adresse de facturation</td></tr><tr><td><table cellpadding="2"><tr><td>nom</td><td><b>'+tab_coord["fac_nom"]+'</b></td></tr><tr><td>prénom</td><td><b>'+tab_coord["fac_prenom"]+'</b></td></tr><tr><td>société</td><td><b>'+tab_coord["fac_societe"]+'</b></td></tr><tr><td>adresse</td><td><b>'+tab_coord["fac_adresse"]+'</b></td></tr><tr><td>ville</td><td><b>'+tab_coord["fac_ville"]+'</b></td></tr><tr><td>code postal</td><td><b>'+tab_coord["fac_cp"]+'</b></td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table></td></tr><tr><td bgcolor="#d0ccca" height="20" align="center"><a href="#" class="menu" onclick="affiche_modif_inscription()">modifier mes coordonn&eacute;es</a></td></tr></table></div>';
		
		recap_livraison+='<br clear="all"><br><table width="480"><tr><td width="20">&nbsp;</td><td width="240" valign="top">merci de bien vouloir préciser :</td><td>'+affiche_heure_liv()+'<br/><br/>'+affiche_jour_liv()+'<br/><br/><select class="livraison_option" id="mode_paiement"><option>votre mode de paiement</option><option>chèque</option><option>espèces</option><option>ticket restaurant</option></select></td></tr></table>';
	
	} else var recap_livraison = '<div class="connexion_recap">Vous devez vous identifier pour pouvoir commander. <a href="#" class="recap" onclick="switch_bg();affiche_inscription()">Remplissez le formulaire</a> ou connectez-vous si vous possédez un login / mot de passe.</div>';
	
	$('contenu2').innerHTML += '<div style="background-image:url(images/panier.jpg);height:530px"><div id="titre">Le panier</div></div>';
	if (prix_total>0) $('contenu3').innerHTML += '<div class="contenu_panier">'+mon_panier+'</div><br clear="all"/>'+recap_livraison+'<br clear="all"/><br/>';
	else $('contenu3').innerHTML += '<div style="float:left"><div id="titre">Votre panier est vide</div></div>';
	
	
	if (tab_coord["con_mail"]) {
		$('ajouter_panier').innerHTML = '<span class="quantite"><a href="#" onclick="envoyer_commande()" class="ajouter">envoyer la commande</a></span><br clear="all"/>';
		document.getElementById("nota_bene").style.display='block';
	}
}

/* Gestion de dates */

Date.prototype.AddDays = function(days)
{
	 return new Date(this.getTime() + (24 * 3600 * 1000 * days));
}

function affiche_heure_liv(){
	var select_heure = '<select class="livraison_option" id="heure_livraison"><option>votre heure de livraison</option>';
	select_heure +='<option>11h00-11h30</option><option>11h30-12h00</option><option>12h00-12h30</option><option>12h30-13h00</option><option>13h00-13h30</option><option>13h30-14h00</option><option>14h00-14h30</option><option>14h30-15h00</option><option>------------------</option><option>18h00-18h30</option><option>18h30-19h00</option><option>19h00-19h30</option><option>19h30-20h00</option><option>20h00-20h30</option><option>20h30-21h00</option><option>21h00-21h30</option><option>21h30-22h00</option><option>22h00-22h30</option>';
	select_heure +='</select>';
	return select_heure;
}

var tab_jour = new Array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
var tab_mois = new Array('janvier','fevrier','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre');

function affiche_jour_liv(){
	var today = new Date();
	var select_jour = '<select class="livraison_option" id="jour_livraison"><option value="">votre jour de livraison</option><option value="'+today.getDate()+'/'+(1+today.getMonth())+'/'+today.getFullYear()+'">Aujourd\'hui</option>';
	for (i=1;i<4;i++) {
		the_day = today.AddDays(i); 
		if (i==1) select_jour +='<option value="'+the_day.getDate()+'/'+(1+the_day.getMonth())+'/'+the_day.getFullYear()+'">Demain</option>';
		else select_jour +='<option value="'+the_day.getDate()+'/'+(1+the_day.getMonth())+'/'+the_day.getFullYear()+'">le '+tab_jour[the_day.getDay()]+' ' + the_day.getDate() + '</option>'
	}
	select_jour +='</select>';
	return select_jour;
}

function request_commande(url,parametres) {
  	var myAjax = new Ajax.Request(
      							url,  { method: 'post',
       		 							postBody: parametres,
        								onComplete: gestionReponseCommande
      								   });
}

function gestionReponseCommande(xhr) {	
	if (xhr.status == 200) {
		alert(xhr.responseText);
	} else alert('Erreur');
}

function envoyer_commande() {
	var liste = '';
	for (i=0;i<elts_form_inscription.length;i++) {
		if (liste) liste+='&'+elts_form_inscription[i]+'='+tab_coord[elts_form_inscription[i]];
		else liste+=elts_form_inscription[i]+'='+tab_coord[elts_form_inscription[i]];
	}
	var livraison = '&heure_livraison='+$('heure_livraison').value+'&jour_livraison='+$('jour_livraison').value+'&mode_paiement='+$('mode_paiement').value
	request_commande('commande.php','&commande='+commande+liste+livraison+'&email='+tab_coord["con_mail"]);
	
}


/* --------------------------- Vérification du formulaire ---------------------------- */

var regExpCodePostal=/^([A-Z]+[A-Z]?\-)?[0-9]{1,2} ?[0-9]{3}$/g;	// Accepte une chaine de type 'code postal'. Ex : F-33370 ou 33 370 ou 33370 ou F-1 370
var regExpTelephoneFixe=/^(01|02|03|04|05)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230
var regExpTelephonePortable=/^(06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;				// Accepte un numero de téléphone de type 'portable'.
var regExpTelephoneNational=/^(0[1234568])[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'national' y compris numéros en '08'.
var regExpTelephoneInternational=/^(\+[0-9]{2})[ \.\-]?[0-9][ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;	// Accepte un numero de téléphone de type 'international'. Ex : (+33) 1 34 12 52 30
var regExpEmailAdress=/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/g; 	// Accepte une adresse email. Ex : toto@toto.com
var regExpInt=/^[0-9]+$/g;				// Accepte une chaine de type 'int'
var color_error = "#FFFFFF"

function matchRegularExpression(valeur, regularExpression)
{
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}

/* ----------------------------------- Inscription ----------------------------------- */


var message_alert = '';
var elts_form_inscription = new Array("con_mail","con_identifiant","con_passe","liv_nom","liv_prenom","liv_adresse","liv_cp","liv_ville","liv_code","liv_societe","liv_telephone","fac_nom","fac_prenom","fac_adresse","fac_cp","fac_ville","fac_societe","fac_telephone")


function valide_form() {
	if (matchRegularExpression($("con_mail").value, regExpEmailAdress) && 
		 $('con_identifiant').value!='' && $('con_passe').value!='' &&
		 matchRegularExpression($("liv_telephone").value, regExpTelephoneNational) &&
		 $('liv_nom').value!='' && $('liv_prenom').value!='' && $('liv_adresse').value!='' && $('liv_ville').value!='' && $('liv_cp').value!='') return true;
	else return false;
}

function request_inscription(url,parametres) {
  	var myAjax = new Ajax.Request(
      							url,  { method: 'post',
       		 							postBody: parametres,
        								onComplete: gestionReponseInscription
      								   });
}

function gestionReponseInscription(xhr) {
	var repInscription='';
	if (xhr.status == 200) {	
		repInscription = xhr.responseXML;
		if (repInscription!=null) {
			var root = repInscription.getElementsByTagName('root')[0];
			if (root.childNodes[0].data!='no') {
				var node = root.childNodes[0];
				for (id_nodes=0;id_nodes<elts_form_inscription.length;id_nodes++) {
					tab_coord[ordre_tab[id_nodes]] = $(elts_form_inscription[id_nodes]).value;
				}
				alert(message_alert);
				switch_bg();
				affiche_panier();
				$('presentation').innerHTML = 'Bonjour '+ tab_coord["liv_prenom"] + ' ' + tab_coord["liv_nom"];
			} else alert('Impossible de vous inscrire. Vous êtes certainement déjà inscrit.');
		} else alert('Erreur null '+xhr.responseText);
	} else alert('Erreur '+ xhr.status);
}

function inscrire() {
	message_alert = 'Vous avez été inscrit dans la base de données. Vous pouvez désormais commander en validant le panier.';
	if ( valide_form()) {
		var liste = '';
		for (i=0;i<elts_form_inscription.length;i++) {
			if (liste) liste+='&'+elts_form_inscription[i]+'='+$(elts_form_inscription[i]).value
			else liste+=elts_form_inscription[i]+'='+$(elts_form_inscription[i]).value
		}
		request_inscription('inscription.php',liste);
	} else alert('Erreur de saisie.\n Vérifiez votre email, ainsi que tous les champs obligatoires.')
}

function copier() {
	var tab_fac = new Array("nom","prenom","adresse","cp","ville","societe","telephone");
	for (f=0;f<tab_fac.length;f++) {
		$('fac_'+tab_fac[f]).value = $('liv_'+tab_fac[f]).value
	}
}

function affiche_inscription() {
	initialise_box();
	$('ajouter_panier').innerHTML = '<span class="inscrire"><a href="#" onclick="inscrire()" class="ajouter">S\'inscrire</a></span>';
	$('contenu2').innerHTML = '<div style="background-image:url(images/inscrire.jpg);height:530px"><div id="titre">Inscription</div></div>';
	$('contenu3').innerHTML ='<div id="titre_inscription">mes informations de connexion</div><div class="margin15"><table><tr><td width="180">mon adresse email</td><td><input type="text" name="con_mail" id="con_mail" class="input_inscription"/></td></tr><tr><td>mon identifiant</td><td><input type="text" name="con_identifiant" id="con_identifiant"  class="input_inscription"/></td></tr><tr><td>mon mot de passe</td><td><input type="password" name="con_passe" id="con_passe"  class="input_inscription"/></td></tr></table></div><div id="titre_inscription">mon adresse de livraison</div><div class="margin15"><table><tr><td width="180">nom*</td><td><input type="text" name="liv_nom" id="liv_nom" class="input_inscription"/></td></tr><tr><td>prénom*</td><td><input type="text" name="liv_prenom" id="liv_prenom"  class="input_inscription"/></td></tr><tr><td>société*</td><td><input type="text" name="liv_societe" id="liv_societe"  class="input_inscription"/></td></tr><tr><td>adresse*</td><td><input type="text" name="liv_adresse" id="liv_adresse" class="input_inscription"/></td></tr><tr><td>code postal*</td><td><input type="text" name="liv_cp" id="liv_cp"  class="input_inscription"/></td></tr><tr><td>ville*</td><td><input type="text" name="liv_ville" id="liv_ville"  class="input_inscription"/></td></tr><tr><td>code entrée, bâtiment, étage</td><td><textarea name="liv_code" id="liv_code"  class="textarea_inscription"></textarea> <!--<input type="text" name="liv_code" id="liv_code"  class="input_inscription"/>--></td></tr><tr><td>téléphone*</td><td><input type="text" name="liv_telephone" id="liv_telephone"  class="input_inscription"/></td></tr></table></div><div id="titre_inscription">mon adresse de facturation</div><div class="margin15"><table><tr><td colspan="2">copier les coordonnées de livraison&nbsp; <input type="checkbox" id="copie_adresse" onfocus="copier()"/></td></tr><tr><td width="180">nom</td><td><input type="text" name="fac_nom" id="fac_nom" class="input_inscription"/></td></tr><tr><td>prénom</td><td><input type="text" name="fac_prenom" id="fac_prenom"  class="input_inscription"/></td></tr><tr><td>société</td><td><input type="text" name="fac_societe" id="fac_societe"  class="input_inscription"/></td></tr><tr><td>adresse</td><td><input type="text" name="fac_adresse" id="fac_adresse" class="input_inscription"/></td></tr><tr><td>code postal</td><td><input type="text" name="fac_cp" id="fac_cp"  class="input_inscription"/></td></tr><tr><td>ville</td><td><input type="text" name="fac_ville" id="fac_ville"  class="input_inscription"/></td></tr><tr><td>téléphone</td><td><input type="text" name="fac_telephone" id="fac_telephone" class="input_inscription"/></td></tr></table></div>';
}

/* ----------------------------------- Connexion ----------------------------------- */
var repConnexion;
var tab_coord=new Array();
var ordre_tab = new Array("con_mail","con_identifiant","con_passe","liv_nom","liv_prenom","liv_adresse","liv_cp","liv_ville","liv_code","liv_societe","liv_telephone","fac_nom","fac_prenom","fac_adresse","fac_cp","fac_ville","fac_societe","fac_telephone","date");

function request_connexion(url,parametres) {
  	var myAjax = new Ajax.Request(
      				  url,  { method: 'post',
       		 				postBody: parametres,
        					onComplete: gestionReponseConnexion
      				  });
}

function gestionReponseConnexion(xhr) {
	//alert(xhr.responseText);
	if (xhr.status == 200) {		
		repConnexion = xhr.responseXML;
		if (repConnexion!=null) {
			var root = repConnexion.getElementsByTagName('root')[0];
			if (root.childNodes[0].data!='no') {
				var node = root.childNodes[0];
				var id_nodes = 0;
				while (node) {	
					tab_coord[ordre_tab[id_nodes]] = node.firstChild.data
					id_nodes++;
					node = node.nextSibling;
				}
				$('presentation').innerHTML = 'Bonjour '+ tab_coord["liv_prenom"] + ' ' + tab_coord["liv_nom"];
				affiche_panier();
			} else alert('Votre identifiant / mot de passe est erroné');
		} else alert('Votre identifiant / mot de passe est erroné');
	} else alert('erreur');
}

function connexion() {
	request_connexion('login.php',"login="+$('login').value+"&password="+$('password').value);
}


/* ----------------------------------- Modification de l'inscription ----------------------------------- */

function modif_inscrire() {
	message_alert = 'Vos coordonnées ont été modifiées dans la base de données.';
	var liste = '';
	for (i=0;i<elts_form_inscription.length;i++) {
		if (liste) liste+='&'+elts_form_inscription[i]+'='+$(elts_form_inscription[i]).value
		else liste+=elts_form_inscription[i]+'='+$(elts_form_inscription[i]).value
	}
	liste+="&vieux_mail="+tab_coord["con_mail"];
	request_inscription('modification.php',liste);
}

function affiche_modif_inscription() {
	initialise_box()
	if (tab_coord["con_mail"]) {
		$('ajouter_panier').innerHTML = '<span class="inscrire"><a href="#" onclick="modif_inscrire()" class="ajouter">Modifier mes coordonnées</a></span>';
		$('contenu2').innerHTML = '<div style="background-image:url(images/inscrire.jpg);height:530px"><div id="titre">Inscription</div></div>';
		$('contenu3').innerHTML ='<div id="titre_inscription">mes informations de connexion</div><div class="margin15"><table><tr><td width="180">mon adresse email</td><td><input type="text" name="con_mail" id="con_mail" value="'+tab_coord["con_mail"]+'" class="input_inscription"/></td></tr><tr><td>mon identifiant</td><td><input type="text" name="con_identifiant" id="con_identifiant"  class="input_inscription" value="'+tab_coord["con_identifiant"]+'"/></td></tr><tr><td>mon mot de passe</td><td><input type="password" name="con_passe" id="con_passe"  class="input_inscription" value="'+tab_coord["con_passe"]+'"/></td></tr></table></div><div id="titre_inscription">mon adresse de livraison</div><div class="margin15"><table><tr><td width="180">nom*</td><td><input type="text" name="liv_nom" id="liv_nom" class="input_inscription" value="'+tab_coord["liv_nom"]+'"/></td></tr><tr><td>prénom*</td><td><input type="text" name="liv_prenom" id="liv_prenom"  class="input_inscription"  value="'+tab_coord["liv_prenom"]+'"/></td></tr><tr><td>société*</td><td><input type="text" name="liv_societe" id="liv_societe"  class="input_inscription"  value="'+tab_coord["liv_societe"]+'"/></td></tr><tr><td>adresse*</td><td><input type="text" name="liv_adresse" id="liv_adresse" class="input_inscription"  value="'+tab_coord["liv_adresse"]+'"/></td></tr><tr><td>code postal*</td><td><input type="text" name="liv_cp" id="liv_cp"  class="input_inscription" value="'+tab_coord["liv_cp"]+'"/></td></tr><tr><td>ville*</td><td><input type="text" name="liv_ville" id="liv_ville"  class="input_inscription" value="'+tab_coord["liv_ville"]+'"/></td></tr><tr><td>code entrée, bâtiment, étage</td><td><textarea name="liv_code" id="liv_code"  class="textarea_inscription">'+tab_coord["liv_code"]+'</textarea></td></tr><tr><td>téléphone*</td><td><input type="text" name="liv_telephone" id="liv_telephone"  class="input_inscription"  value="'+tab_coord["liv_telephone"]+'"/></td></tr></table></div><div id="titre_inscription">mon adresse de facturation</div><div class="margin15"><table><tr><td colspan="2">copier les coordonnées de livraison&nbsp; <input type="checkbox" id="copie_adresse" onfocus="copier()"/></td></tr><tr><td width="180">nom</td><td><input type="text" name="fac_nom" id="fac_nom" class="input_inscription" value="'+tab_coord["fac_nom"]+'"/></td></tr><tr><td>prénom</td><td><input type="text" name="fac_prenom" id="fac_prenom"  class="input_inscription"  value="'+tab_coord["fac_prenom"]+'"/></td></tr><tr><td>société</td><td><input type="text" name="fac_societe" id="fac_societe"  class="input_inscription"  value="'+tab_coord["fac_societe"]+'"/></td></tr><tr><td>adresse</td><td><input type="text" name="fac_adresse" id="fac_adresse" class="input_inscription"  value="'+tab_coord["fac_adresse"]+'"/></td></tr><tr><td>code postal</td><td><input type="text" name="fac_cp" id="fac_cp"  class="input_inscription"  value="'+tab_coord["fac_cp"]+'"/></td></tr><tr><td>ville</td><td><input type="text" name="fac_ville" id="fac_ville"  class="input_inscription"  value="'+tab_coord["fac_ville"]+'"/></td></tr><tr><td>téléphone</td><td><input type="text" name="fac_telephone" id="fac_telephone" class="input_inscription"  value="'+tab_coord["fac_telephone"]+'"/></td></tr></table></div>';
	}
}


/* ----------------------------------- Récupération du mot de passe ----------------------------------- */

//request_passe_perdu('passeperdu.php','email='+contact_email)

function request_passe_perdu(url,parametres) {
  	var myAjax = new Ajax.Request(
      				  url,  { method: 'post',
       		 				postBody: parametres,
        					onComplete: gestionReponsePasse
      				  });
}

function gestionReponsePasse(xhr) {
	if (xhr.status == 200) {		
		alert(xhr.responseText)
	} else alert('erreur');
}

