/* FONCTION DE GESTION ARTICLE DANS PANIER */
function AjouterAuPanier(pAction, pForm, pClientID, pArtID, pPrixUnitaire)
{
	pForm.operation.value='AJOUTER_PRODUIT';
	pForm.id_client.value=pClientID;
	pForm.id_produit.value=pArtID;
	pForm.prixUnitaire.value=pPrixUnitaire;
	pForm.action=pAction;
	pForm.submit();
}
function SupprimerDuPanier(pForm, pID)
{
	pForm.operation.value = "SUPPRIMER_PRODUIT";
	pForm.id_produit.value = pID;
	pForm.submit();
}
function ModifierQteMoins(pForm, pID)
{
	pForm.operation.value = "DECREMENTER_PRODUIT";
	pForm.id_produit.value = pID;
	pForm.submit();
}
function ModifierQtePlus(pForm, pID)
{
	pForm.operation.value = "INCREMENTER_PRODUIT";
	pForm.id_produit.value = pID;
	pForm.submit();
}
function ModifierTaille(pForm, pID,pIDTAILLE)
{
	pForm.operation.value = "CHOIX_TAILLE";
	pForm.id_produit.value = pID;
	pForm.id_taille.value = pIDTAILLE;
	pForm.submit();
}
/* FONCTION POUR LA PRISE DE COMMANDE */
var testform = 0;
function validFormVosInfos(debinput, type) {
	testform = 0;
	
	//On checke l'adresse de facturation
	checkAdresse(debinput,type)
	
	if(type == 1){
		//Email
		//Check de l'intégrité de l'adresse email
		var re;
		re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/;
		if (testform == 0 && re.test(document.ADRESSE.f_email.value) == false) {
			document.ADRESSE.f_email.focus();
			alert("Entrez un email valide sous la forme nom_utilisateur@nom_domaine");
			testform = 1 ;
		}
		//Check de la concordance des deux emails
		if (testform == 0 && document.ADRESSE.f_email.value != document.ADRESSE.f_email_copy.value) {
			document.ADRESSE.f_email.focus();
			alert("Attention, les deux emails saisies ne correspondent pas");
			testform = 1;
		}
	}
	
	//On submit si ok
	if (testform == 0) {
		document.ADRESSE.submit();
	}
}
function validFormModeLivraison(pids_url)
{
	if(getRadioValue(document.f_livraison.modelivraison)==1){
		document.f_livraison.action = 'mode-paiement.asp'+pids_url;
	}else{
		document.f_livraison.action = 'adresse-livraison.asp'+pids_url;
	}
	document.f_livraison.submit();
}
function validFormModePaiement()
{
	if (getRadioValue(document.f_paiement.modepaiement) == '') {
		alert("Veuillez selectionner un mode de paiement.");
	}else{
		document.f_paiement.submit();
	}
}
function validFormFinal(ids_url)
{
	if(document.getElementById('cgv').checked == false){
		alert("Merci d'accepter les conditions générales de vente");
	}else{
		document.VALIDATION.operation.value = "VALIDER_COMMANDE";
		document.VALIDATION.action = "validation-commande2.asp"+ids_url;
		document.VALIDATION.submit();
	}
}
function modifierLivraison(ids_url)
{
	document.VALIDATION.action = "mode-livraison.asp"+ids_url;
	document.VALIDATION.submit();
}
function modifierPaiement(ids_url)
{
	document.VALIDATION.action = "mode-paiement.asp"+ids_url;
	document.VALIDATION.submit();
}
function modifierFacturation(ids_url)
{
	document.VALIDATION.action = "vos-informations.asp"+ids_url;
	document.VALIDATION.submit();
}
function checkAdresse(debinput, itype) {
	sTexteSup = ''
	
	if (itype == 2) {
		sTexteSup = ' dans l\'adresse de livraison'
	}

	//Civilite
	if (testform == 0 && getRadioValue(eval('document.ADRESSE.' + debinput + '_civilite')) == '') {
		//eval('document.ADRESSE.' + debinput + '_civilite.focus()');
		alert("N\'oubliez pas d\'indiquer la civilité" + sTexteSup);
		testform = 1 ;
	}

	//Nom
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_nom.value') == '') {
		eval('document.ADRESSE.' + debinput + '_nom.focus()');
		alert("N\'oubliez pas d\'indiquer votre nom" + sTexteSup);
		testform = 1 ;
	}

	//Prenom
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_prenom.value') == '') {
		eval('document.ADRESSE.' + debinput + '_prenom.focus()');
		alert("N\'oubliez pas d\'indiquer votre prénom" + sTexteSup);
		testform = 1 ;
	}
		
	//Rue
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_rue.value') == '') {
		eval('document.ADRESSE.' + debinput + '_rue.focus()');
		alert("N\'oubliez pas d\'indiquer votre rue" + sTexteSup);
		testform = 1 ;
	}

	//CP
	if (testform == 0 && (eval('document.ADRESSE.' + debinput + '_cp.value.length') != 5 || IsNumeric(eval('document.ADRESSE.' + debinput + '_cp.value')) == false)) {
		eval('document.ADRESSE.' + debinput + '_cp.focus()');
		alert("N\'oubliez pas d\'indiquer le code postal au format 12345" + sTexteSup);
		testform = 1 ;
	}
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_cp.value.substring(0,2)') >= 96 && eval('document.ADRESSE.' + debinput + '_cp.value') != '99999') {
		eval('document.ADRESSE.' + debinput + '_cp.focus()');
		alert("Nous ne livrons qu\'en France Métropolitaine" + sTexteSup);
		testform = 1 ;
	}
	/*if (testform == 0 && eval('document.ADRESSE.' + debinput + '_cp.value.substring(0,2)') == '00') {
		eval('document.ADRESSE.' + debinput + '_cp.focus()');
		alert("Le code postal de l\'adresse de livraison ne peut pas commencer par 00" + sTexteSup);
		testform = 1 ;
	}*/

	//Ville
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_ville.value') == '') {
		eval('document.ADRESSE.' + debinput + '_ville.focus()');
		alert("N\'oubliez pas d\'indiquer votre ville" + sTexteSup);
		testform = 1 ;
	}
	
	//Pays
	/*if (testform == 0 && eval('document.ADRESSE.' + debinput + '_pays.value') == '') {
		eval('document.ADRESSE.' + debinput + '_pays.focus()');
		alert("N\'oubliez pas d\'indiquer votre pays" + sTexteSup);
		testform = 1 ;
	}*/
	
	//Téléphone et portable
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_telephone.value') == '' && eval('document.ADRESSE.' + debinput + '_portable.value') == '') {
		eval('document.ADRESSE.' + debinput + '_telephone.focus()');
		alert("N\'oubliez pas d\'indiquer un numéro de téléphone ou de portable");
		testform = 1;
	}
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_telephone.value') != '' && (eval('document.ADRESSE.' + debinput + '_telephone.value.length') != 10 || IsNumeric(eval('document.ADRESSE.' + debinput + '_telephone.value')) == false)) {
		eval('document.ADRESSE.' + debinput + '_telephone.focus()');
		alert("Le numéro de téléphone doit être au format 0101010101");
		testform = 1;
	}
	if (testform == 0 && eval('document.ADRESSE.' + debinput + '_portable.value') != '' && (eval('document.ADRESSE.' + debinput + '_portable.value.length') != 10 || IsNumeric(eval('document.ADRESSE.' + debinput + '_portable.value')) == false)) {
		eval('document.ADRESSE.' + debinput + '_portable.focus()');
		alert("Le numéro de portable doit être au format 0601010101");
		testform = 1;
	}
}
function toggleMode(pMode)
{
	if (document.getElementById) {
		// Récupération de l'état de la case à cocher
		if (getRadioValue(document.f_livraison.modelivraison) == "1") {
			document.getElementById('divinfo1').style.display = 'block';
			document.getElementById('divinfo2').style.display = 'none';
		} else {
			document.getElementById('divinfo1').style.display = 'none';
			document.getElementById('divinfo2').style.display = 'block';
		}
	}
}
/* FONCTIONS DE VERIFICATION ET RECUPERATION DE DONNEES */
function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
			Char = sText.charAt(i);
			if (ValidChars.indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
		}
	return IsNumber;
}

function IsDate(d) {
	if (d == "") // si la variable est vide on retourne faux
		return false;
	  
	e = new RegExp("^[0-9]{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

	// Définition du dernier jour de février
	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 getCheckedValue(obj){
	var res='';
	var cpt;
	cpt=0;
	if (obj.length=='undefined') {		
		res=obj.value;
	} else {
		for(i=0; i<obj.length; i++){
			if(obj[i].checked == true){
				res=obj[i].value;				
				cpt++;
			}
		}
		if (cpt == 0) res='-1';
	}
	return res;
}

function getRadioValue(obj) {
	var res='';

	for (var i=0; i<obj.length;i++) {
		if (obj[i].checked) {
			res = obj[i].value
		}
	}
	return res;
}
