/*-----------------------------------------------------------------------------------------------------------------------------------------------
Auteur : Debras Mathieu	
Date de création : 26/03/2007
Date de modification : 
Description : Fichier permettant d'accéder au fonctionalité Web 2.0
	Fichier permettant d'ajouter un produit au panier

Remarque : 
Copyright e-evolutions 2007 code déposé à l'INPI
-----------------------------------------------------------------------------------------------------------------------------------------------*/

/***********************************************************************************************
name : Fonction makePOSTRequest (url,parameters)
parameters : url correspond à l'url du fichier à exécuter (httpRequest AJAX), 
		parameters correspond au paramètres POST des formulaires ou des données nécessaire au traitement du fichier (url)
description : Cette fonction permet d'exécuter un fichier  via la technologie AJAX en fonction des deux paramètres. 
***********************************************************************************************/
function isDate(d) {
	// Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
	// Par Romuald
	
	if (d == "") // si la variable est vide on retourne faux
		return false;
	
	e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
	
	if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
		return false; // Si pas bon, retourne faux

	// On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
	j = parseInt(d.split("/")[0], 10); // jour
	m = parseInt(d.split("/")[1], 10); // mois
	a = parseInt(d.split("/")[2], 10); // année

	// Si l'année n'est composée que de 2 chiffres on complète automatiquement
	if (a < 1000) {
		if (a < 89)	a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
		else a+=1900;
	}

	// Définition du dernier jour de février
	// Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}



function AddCustomer(parameters,response_return) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      //Pour tout les changement d'etat de http_request.onreadystatechange ont effectue l'action correspondante à l'url
	  http_request.onreadystatechange = function() {
      if(http_request.readyState==4 && http_request.responseText) {
		if (http_request.status == 200) {
			if(response_return==1) {
				var temp=http_request.responseText;
				temp=temp.toString();
				var nb=temp.search(/@@/); 
				var response=temp.substr(0,nb);
				var message=temp.substr(nb+2,temp.length-1);
				document.getElementById("message").innerHTML = message;
				if(response==="true")
					setInterval("document.location.href=('./panier-livraison.php')",5000);
			}
			if(response_return==2) {
				var temp=http_request.responseText;
				temp=temp.toString();
				var nb=temp.search(/@@/); 
				var response=temp.substr(0,nb);
				var message=temp.substr(nb+2,temp.length-1);
				document.getElementById("message").innerHTML = message;		
				if(response==="true")
					setInterval("document.location.href=('./')",5000);
			}	
		}		
      }
	};
      http_request.open('POST', './lib/ajax/add_customer_ajax.php', true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}

function getAddCustomer(obj,response_return) {
	var message_alert="";
	var colorempty="#CCCCCC";
	if(document.getElementById("gender").value==-1) {
		message_alert +=" <li>Veuillez choisir votre civilit&eacute;</li>";
		window.document.getElementById("gender").style.backgroundColor = colorempty;
	}
	if(document.getElementById("first_name").value.length==0) {
		message_alert +=" <li>Veuillez renseigner votre pr&eacute;nom</li>";
		window.document.getElementById("first_name").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("last_name").value.length==0) {
		message_alert +=" <li>Veuillez renseigner votre nom </li>";
		window.document.getElementById("last_name").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("address_street").value.length==0){
		message_alert +=" <li>Veuillez renseigner la rue de votre domicile </li>";
		window.document.getElementById("address_street").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("address_city").value.length==0){
		message_alert +=" <li>Veuillez renseigner la ville de votre domicile </li>";
		window.document.getElementById("address_city").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("address_postcode").value.length==0){
		message_alert +=" <li>Veuillez renseigner la code postal de votre domicile </li>";
		window.document.getElementById("address_postcode").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("mail").value.length==0 || document.getElementById("confirm_mail").value.length==0){
		message_alert +=" <li>Veuillez renseigner votre e-mail </li>";
		window.document.getElementById("mail").style.backgroundColor  = colorempty;
		window.document.getElementById("confirm_mail").style.backgroundColor  = colorempty;
	}
	if(!(document.getElementById("mail").value===document.getElementById("confirm_mail").value)){
		message_alert +=" <li>Les champs e-mail et confirmation e-mail ne sont pas identiques </li>";
		window.document.getElementById("mail").style.backgroundColor  = colorempty;
		window.document.getElementById("confirm_mail").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("password").value.length==0 || document.getElementById("confirm_pass").value.length==0){
		message_alert +=" <li>Veuillez renseigner le password</li>";
		window.document.getElementById("password").style.backgroundColor  = colorempty;
		window.document.getElementById("confirm_pass").style.backgroundColor  = colorempty;
	}		
	if(!(document.getElementById("password").value===document.getElementById("confirm_pass").value)) {
		message_alert +=" <li>Les champs password et confirmation password ne sont pas identiques </li>";
		window.document.getElementById("password").style.backgroundColor  = colorempty;
		window.document.getElementById("confirm_pass").style.backgroundColor  = colorempty;
	}
	if(document.getElementById("birth").value.length!=0 && !isDate(document.getElementById("birth").value)){
		message_alert +=" Les champs date de naissance n'est pas dans le bon format (jj/mm/aaaa) </li>";
		window.document.getElementById("birth").style.backgroundColor  = colorempty;
	}


	if(message_alert=="") {
		var parameters = "customer_session=" + encodeURI(document.getElementById("customer_session").value) +
	                    "&customer_is_visitor=" + encodeURI(document.getElementById("customer_is_visitor").value)+
						"&customer_gender=" + encodeURI(document.getElementById("gender").value)+
						"&customer_last_name=" + encodeURI(document.getElementById("first_name").value)+
						"&customer_first_name=" + encodeURI(document.getElementById("last_name").value)+
						"&address_street=" + encodeURI(document.getElementById("address_street").value)+
						"&address_city=" + encodeURI(document.getElementById("address_city").value)+
						"&address_postcode=" + encodeURI(document.getElementById("address_postcode").value)+
						"&customer_birth=" + encodeURI(document.getElementById("birth").value)+
						"&customer_email=" + encodeURI(document.getElementById("mail").value)+
						"&customer_phone=" + encodeURI(document.getElementById("phone").value)+
						"&customer_pass=" + encodeURI(document.getElementById("password").value)+
						"&customer_newsletter=" + encodeURI(document.getElementById("newsletter").value)+
						"&response_return=" + encodeURI(response_return);	
		AddCustomer(parameters,response_return);
	}
	else {
		var message='<form><fieldset><p><img src="./images/stop.gif" alt="Erreur" class="gauche"/><b>Des informations du fomulaire ont &eacute;t&eacute; omises :</b> <br>'+message_alert+'</p></fieldset></form>';
		document.getElementById("message").innerHTML = message;
	}
	/*}
	else {
		alert(message_alert);
	}*/

}

/********************************************************************************************************************/
/**/
/********************************************************************************************************************/