function verif(form)
{
	switch (form.id)
	{
	case 'form_inscription' :
		courriel = courriel_valide(form.elements['courriel'].value) ;
		form_valide = courriel ;
		if ( !form_valide )
		{
			alerte = "Votre adresse électronique est incorrecte" ;
			alert(alerte);
		}
		break;
		
	case 'form_recherche' :
		form_valide = (form.elements['mots'].value != 'mots clés - référence') && (form.elements['mots'].value.length>2) ;
		if ( !form_valide )
		{
			alerte = "Votre recherche est incorrecte" ;
			alert(alerte);
		}
		break ;
		
	case 'form_code_promotion' :
		form_valide = true ;
	/*
		form_valide = (form.elements['code_promo'].value != '') ;
		if ( !form_valide )
		{
			alerte = "vous n'avez pas saisi de code pour la promotion." ;
			alert(alerte);
		}
	*/
		break ;
		
	case 'form_cgv' :
		form_valide = form.elements['cgv'].checked ;
		if ( !form_valide )
		{
			alerte = "Merci d'accepter les conditions générales de vente." ;
			alert(alerte);
		}
		break ;
	/*	
	case 'form_ticket_sur_mesure':
		nom = form.elements['nom'].value.length > 0 ;
		telephone = form.elements['tel'].value.length > 9 ;
		
		qui = nom ;
		comment = telephone ;
		
		form_valide = qui && comment ;
		if ( !form_valide )
		{
			alerte = "Complétez ou corrigez\r\n" ;
			if (!qui) alerte += "Nom\r\n" ;
			if (!comment) alerte += "Téléphone\r\n" ;
			alert(alerte);
		}
		break;
	*/
	case 'form_ticket_sur_mesure' :
	case 'form_sur_mesure':
		nom = form.elements['nom'].value.length > 0 ;
		telephone = form.elements['tel'].value.length > 9 ;
		email = form.elements['email'].value.length > 5 ;
		prenom = form.elements['prenom'].value.length > 5 ;
		sociale = "";
		autre = "";
		 for (var i=0; i<form.elements['raison_sociale'].length;i++) {
         if (form.elements['raison_sociale'][i].checked) {
            sociale = form.elements['raison_sociale'][i].value;
         }
		 
      }
		
		
		qui = nom;
		comment = telephone ;
		
		form_valide = qui && comment && email && prenom && sociale;
		
		if(sociale=="Autre")
		{
			autre = form.elements['raison_sociale_autre'].value.length > 2 ;
		}else{
			autre=true;	
		}
		
		
		form_valide = form_valide && autre
		if ( !form_valide )
		{
			alerte = "Complétez ou corrigez\r\n" ;
			if (!qui) alerte += "Nom\r\n" ;
			if (!comment) alerte += "Téléphone\r\n" ;
			if (!email) alerte += "Email\r\n" ;
			if (!prenom) alerte += "Prénom\r\n" ;
			if (!sociale) alerte += "Raison sociale\r\n" ;
			if (!autre) alerte += "Précisez la raison sociale\r\n" ;
			alert(alerte);
		}
		else
		{
			form.submit();
		}
		
		
		break;
	
	case 'form_contact':
		nom = form.elements['nom'].value.length > 0 ;
		nom_association = form.elements['nom_association'].value.length > 0 ;
		telephone = form.elements['tel'].value.length > 9 ;
		courriel = courriel_valide(form.elements['courriel'].value) ;
		adresse = form.elements['adresse'].value.length > 0 ;
		code_postal = form.elements['code_postal'].value.length > 0 ;
		ville = form.elements['ville'].value.length > 0 ;
		type_client_index = form.elements['type_client'].options.selectedIndex
		type_client = (0 <= type_client_index && type_client_index < 21 ) || (21==type_client_index && form.elements['type_client_autre'].value.length > 0 )
		origine_client_index = form.elements['origine_client'].options.selectedIndex
		origine_client = (0 <= origine_client_index && origine_client_index < 10 ) || (10==origine_client_index && form.elements['origine_client_site'].value.length > 0 ) || (11==origine_client_index && form.elements['origine_client_autre'].value.length > 0 )
		abonnement = form.elements['deja_abonne'][1].checked && form.elements['abonnement'][0].checked ;
		
		qui = nom || nom_association ;
		comment = (adresse && code_postal && ville && telephone) ;
		newsletter = (abonnement)?courriel:true ;
		form_valide = qui && comment && type_client && origine_client && newsletter ;
		if ( !form_valide )
		{
			alerte = "Complétez ou corrigez\r\n" ;
			if (!qui) alerte += "Nom ou nom association\r\n" ;
			if (!comment) alerte += "Adresse, code_postal, ville et Téléphone\r\n" ;
			if (!type_client) alerte += "Indiquez qui vous êtes\r\n" ;
			if (!origine_client) alerte += "Comment vous nous avez connu\r\n" ;
			if (!newsletter) alerte += "E-mail\r\n" ;
			alert(alerte);
		}
		else if (!courriel_acceptable(form.elements['courriel'].value))
		{
			form_valide = confirm('Valider malgré l\'erreur dans l\écriture de l\'E-Mail ?') ;
		}
		break;
		
	case 'form_coordonnees':		
// Il faut vérifier l'adresse de facturation et celle de livraison	
		adf_nom_association = form.elements['adf[nom_association]'].value.length > 0 ;	
		adl_nom_association = form.elements['adl[nom_association]'].value.length > 0 ; 
		
	//	civilite = form.elements['adf[civilite]'].value.length > 0 ;
		adf_nom = form.elements['adf[nom]'].value.length > 0 ;
		adl_nom = form.elements['adl[nom]'].value.length > 0 ;
		
	//	prenom = form.elements['adf[prenom]'].value.length > 0 ;
		adf_adresse = form.elements['adf[adresse]'].value.length > 0 ;
		adl_adresse = form.elements['adl[adresse]'].value.length > 0 ;
		
		adf_code_postal = france_metropolitaine_monaco_ou_autre(form.elements['adf[code_postal]'].value, form.elements['adf[pays]'].value) ;
		adl_code_postal = france_metropolitaine_monaco_ou_autre(form.elements['adl[code_postal]'].value, form.elements['adl[pays]'].value) ;
		
		adf_ville = form.elements['adf[ville]'].value.length > 0 ;
		adl_ville = form.elements['adl[ville]'].value.length > 0 ;
		
	//	pays = form.elements['adf[pays]'].value.length > 0 ;
		adf_tel = form.elements['adf[tel]'].value.length > 9 ;
		adl_tel = form.elements['adl[tel]'].value.length > 9 ;
		
	//	fax = form.elements['adf[fax]'].value.length > 0 ;
		adf_courriel = courriel_valide(form.elements['adf[courriel]'].value) ;
		adl_courriel = courriel_valide(form.elements['adl[courriel]'].value) ;
		
		// MelRegExp.exec(form.elements['adf[courriel]'].value)
		// alert(RegExp.$1+' - '+RegExp.$2+' - '+RegExp.$3+' - '+RegExp.$4+' - '+RegExp.$5+' - '+RegExp.$6+' - '+RegExp.$7+' - '+RegExp.$8+' - '+RegExp.$9)
		
		abonnement = form.elements['deja_abonne'][1].checked && form.elements['abonnement'][0].checked ;
		// 20050109 abonnement = form.elements['abonnement'].checked ;
	//	date_manifestation = form.elements['date_manifestation'].value.length > 0 ;
	//	date_reception = form.elements['date_reception'].value.length > 0 ;
	//	client[code_client] = form.elements['client[code_client]'].value.length > 0 ;
	//	client[code_promo] = form.elements['client[code_promo]'].value.length > 0 ;
	//	client[message] = form.elements['client[message]'].value.length > 0 ;

                //Marche sous FF pas sous IE
                
                for(i=0;i<form.elements['type_client'].length;++i)
                {
                    if(form.elements['type_client'].options[i].selected == true)
                        {
                               type = form.elements['type_client'].options[i].text;
                        }
                }
                  

                type_autre = form.elements['type_client_autre'].value.length > 0;


                //Vérification
		adf_qui = adf_nom || adf_nom_association ;
		adf_comment = adf_adresse && adf_code_postal && adf_ville && adf_tel && adf_courriel ;
		newsletter = (abonnement)?adf_courriel:true ;
		adf_form_valide = adf_qui && adf_comment && newsletter ;
		
		adl_qui = adl_nom || adl_nom_association ;
		adl_comment = adl_adresse && adl_code_postal && adl_ville && (adl_tel && adl_courriel) ;
		adl_form_valide = adl_qui && adl_comment ;

                if((type=="Autre" || !(type.length > 0)) && !type_autre)
                {
                    adf_form_valide=false;
                }
                
                
		form_valide = adf_form_valide && adf_form_valide ;
		if ( !form_valide )
		{
			alerte = "Complétez ou corrigez : test \r\n" ;
			if ( !adf_form_valide )
			{
				alerte += "\r\n------------------------ Adresse de facturation ----\r\n" ;
				if (!adf_qui) alerte += "Nom ou nom association\r\n" ;
				if (!adf_comment) 
				{
					alerte += "Un moyen pour vous joindre :\r\n" ;
					if (!adf_adresse) alerte += "- Adresse\r\n" ;
					if (!adf_code_postal) alerte += "- Code postal (France métropolitaine, Corse ou Monaco)\r\n" ;
					if (!adf_ville) alerte += "- Ville\r\n" ;
					if (!(adf_tel)) alerte += "- Téléphone\r\n" ;
					if (!(adf_courriel)) alerte += "- Courriel\r\n" ;
				}
				if (adf_tel && !newsletter) alerte += "Courriel pour la Newsletter\r\n" ;
				else if (!adf_courriel && adf_courriel!='' && adf_courriel!='ma.boite@courriel.fr') alerte += "Votre adresse de messagerie est incorrecte\r\n" ;
			}
			if ( !adl_form_valide )
			{
				alerte += "\r\n------------------------ Adresse de livraison ----\r\n" ;
				if (!adl_qui) alerte += "Nom ou nom association\r\n" ;
				if (!adl_comment) 
				{
					alerte += "Un moyen pour vous joindre :\r\n" ;
					if (!adl_adresse) alerte += "- Adresse\r\n" ;
					if (!adl_code_postal) alerte += "- Code postal (France métropolitaine, Corse ou Monaco)\r\n" ;
					if (!adl_ville) alerte += "- Ville\r\n" ;
					if (!(adl_tel)) alerte += "- Téléphone\r\n" ;
					if (!(adl_courriel)) alerte += "- Courriel\r\n" ;
				}
			}
                       if((type=="Autre" || !(type.length > 0)) && !type_autre){

                           if(alerte) {
                               alerte += "\r\n------------------------ Autre ----\r\n" ;
                           }else{
                               alerte = "\r\n------------------------ Autre ----\r\n" ;
                           }

                            alerte += "- Précisez votre situation\r\n" ;
                        }
			
			if(alerte)
			{
					alerte += "\r\n Merci de renseigner le champs < manquant > \r\n" ;
			} 
			
			alert(alerte);
		}
		else if (!courriel_acceptable(form.elements['adf[courriel]'].value))
		{
			form_valide = confirm('Valider malgré l\'erreur dans l\'écriture du courriel ?\r\nVous ne pourrez recevoir de confirmation électronique') ;
		}
		break ;
		
	case '' :
		modes_p = new Array('ch', 'cr', 'mp') ;
		mode_paiement = false ;
		for (i=0 ; i<modes_p.length && !mode_paiement ; i++) mode_paiement = mode_paiement || form.elements['mode_paiement'][i].checked  ;
		break ;
	case 'form_panier' :
		var au_moins_une_case = false ;
		var i = 0 ;
		var tab_checkbox = document.getElementsByName('supprimer[]') ;
		var i_max = tab_checkbox.length ;
		
		while (!au_moins_une_case && i < i_max)
		{
			au_moins_une_case += tab_checkbox[i].checked
			i++
		}
		
		if (au_moins_une_case)
		{
			form_valide = confirm('En êtes vous sûr ? Cette action est irréversible') ;
		}
		else
		{
			alert('Sélectionnez le(s) produit(s) à supprimer') ;
			form_valide = false ;
		}
		break ;
		
	
	default: 
		form_valide = false ; 
	}
	
	return form_valide ;
}


/* DEBUT Coordonnées */

/* onclick="affichage_adresse_livraison(this);"  style="display: none;"

#adresse_livraison legend {
	cursor: pointer;
	cursor: hand;
}
*/
function affichage_adresse_livraison(legend) 
{
	div = prochain('div', legend) ;
	if (div.style.display == 'none')
	{
		div.style.display = '' ;
	}
	else
	{
		div.style.display = 'none' ;
	}
}

function si_pays_autre(obj)
{
	if (obj.options[obj.selectedIndex].value=='autre')
	{
		document.getElementById(obj.id+'_autre').style.display = 'block' ;
	}
	else
	{
		document.getElementById(obj.id+'_autre').style.display = 'none' ;
	}
}

function clone_facturation (elt) 
{
	clone = document.getElementById(elt.id.replace('adf', 'adl')) ;
	if (!clone.getAttribute('clonage_interdit'))
	{
		switch (elt.tagName)
		{
		case 'SELECT' :
			for (var i=0; i<clone.length; i++) {
				if (clone[i].value==elt.value) {
					clone.selectedIndex=i;
					break;
				}
			}
			si_pays_autre(clone)
			break;
		case 'TEXTAREA' :
			clone.value = elt.value ;
			break;
		default :
			clone.value = elt.value ;
			break;
		}
	}
}

function verouille_clonage (elt) 
{
	elt.setAttribute('clonage_interdit', true)
	elt.style.backgroundColor='#FFFFFF';
}

/* FIN Coordonnées */
var MelRegExp = new RegExp('^[a-z0-9]+([-_][a-z0-9]+)*([.][a-z0-9]+([-_][a-z0-9]+)*)*@([a-z0-9]+([-_][a-z0-9]+)*[.])+([a-z]{2,4})$','i');
function est_courriel(courriel)
{
	return MelRegExp.test(courriel)
}
function courriel_valide(courriel) 
{
	return (courriel != 'ma.boite@courriels.fr') && est_courriel(courriel)
}
function courriel_acceptable(courriel) 
{
	return (courriel == 'ma.boite@courriels.fr') || (courriel == '') || est_courriel(courriel)
}
function france_metropolitaine_monaco_ou_autre (code_postal, pays)
{
	code_postal_francais = parseInt(code_postal, 10) ;
	switch (pays)
	{
	case 'France' : return (1000<=code_postal_francais && code_postal_francais<=96000) ;
	case 'Monaco' : return true ;
	case 'autre' : return true ;
	}
}
function france_metropolitaine_ou_monaco (code_postal, pays)
{
	code_postal = parseInt(code_postal, 10) ;
	switch (pays)
	{
	case 'France' : return (1000<=code_postal && code_postal<=96000) ;
	case 'Monaco' : return true ;
	}
}

function affiche_personnalisation(id_ext, mode)
{
//	if (ce_div = prochain('div', lien)) // ne marche pas avec ie... qui peut être, avec moi, se perd dans les attributs...
	lien = document.getElementById('lien_perso_'+id_ext)
	if (ce_div = document.getElementById('perso_'+id_ext))
	{
		if (ce_div.style.display == 'none' || mode == 'ouvre') 
		{
			ce_div.style.display = '' ;
			ce_div.parentNode.style.width = 'auto';
			lien.parentNode.className = 'perso_ouverte' ;
			document.getElementById('perso_vue_'+id_ext).value = true ;
		}
		else
		{
			ce_div.style.display = 'none' ;
			ce_div.parentNode.style.width = '';
			lien.parentNode.className = 'perso_fermee' ;
		}
	}
	return false;
}


function joindre_logo (elt)
{
	mon_input = prochain('INPUT', elt) ; 
	mon_parent = elt.parentNode ;
	nouveau_noeud = document.createElement('input') ;
	nouveau_noeud.setAttribute('name', 'option_2[logo][]') ; 
	switch(elt.value){
	case '0' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'aucun'); 
		break; 
	case '1' : 
		nouveau_noeud.setAttribute('type', 'file'); 
		break; 
	case '2' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'par_courrier'); 
		break;
	}
	mon_parent.replaceChild(nouveau_noeud, mon_input); 
}

function joindre_image (elt)
{
	mon_input = prochain('INPUT', elt) ; 
	mon_parent = elt.parentNode ;
	nouveau_noeud = document.createElement('input') ;
	nouveau_noeud.setAttribute('name', 'option_2[image][]') ; 
	switch(elt.value){
	case '0' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'aucun'); 
		break; 
	case '1' : 
		nouveau_noeud.setAttribute('type', 'file'); 
		break; 
	case '2' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'par_courrier'); 
		break;
	}
	mon_parent.replaceChild(nouveau_noeud, mon_input); 
}

function joindre_une_piece (nom, i, elt)
{
	mon_input = prochain('INPUT', elt) ; 
	mon_parent = elt.parentNode ;
	nouveau_noeud = document.createElement('input') ;
	nouveau_noeud.setAttribute('name', 'option_2['+nom+']['+i+']') ; 
	switch(elt.value){
	case '0' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'aucun'); 
		break; 
	case '1' : 
		nouveau_noeud.setAttribute('type', 'file'); 
		break; 
	case '2' : 
		nouveau_noeud.setAttribute('type', 'hidden'); 
		nouveau_noeud.setAttribute('value', 'par_courrier'); 
		break;
	}
	mon_parent.replaceChild(nouveau_noeud, mon_input); 
}

function joindre_des_pieces (nom, i, elt)
{
	if ( (ancien_noeud = prochain('SPAN', elt)) ) // || (ancien_noeud = prochain('INPUT', elt)) )
	{
		mon_parent = elt.parentNode ;
		nouveau_noeud = document.createElement('span') ;
		switch(elt.value){
		case '0' : 
			nouvel_input = document.createElement('input') ;
				nouvel_input.setAttribute('name', 'option_2['+nom+']['+i+']') ; 
				nouvel_input.setAttribute('type', 'hidden'); 
				nouvel_input.setAttribute('value', 'aucun'); 
			nouveau_noeud.appendChild(nouvel_input) ;
			break; 
			
		case '1' : 
			if (document.all)  // peut aussi bien marcher pour Firefox
			{
				nouveau_noeud.innerHTML = '<button onclick="return enleve_image(this)" class="moins">-</button>'+
				'<button onclick="return ajoute_image(this)" class="plus">+</button>'+
				'<input type="file" name="option_2['+nom+'][]" />' ;
			}
			else // mais il vaut mieux utiliser les standards
			{
				nouveau_button = document.createElement('button') ;
					nouveau_button.setAttribute('onClick', 'return enleve_image(this)') ; 
					nouveau_button.setAttribute('class', 'moins') ; 
					nouveau_button.appendChild(document.createTextNode('-'))
				nouveau_noeud.appendChild(nouveau_button) ;
				nouveau_button = document.createElement('button') ;
					nouveau_button.setAttribute('onClick', 'return ajoute_image(this)') ; 
					nouveau_button.setAttribute('class', 'plus') ; 
					nouveau_button.appendChild(document.createTextNode('+'))
				nouveau_noeud.appendChild(nouveau_button) ;
				nouvel_input = document.createElement('input') ;
					nouvel_input.setAttribute('name', 'option_2['+nom+']['+i+']') ; 
					nouvel_input.setAttribute('type', 'file'); 
					nouvel_input.setAttribute('value', 'aucun'); 
				nouveau_noeud.appendChild(nouvel_input) ;
			}
			break; 
			
		case '2' : 
			nouvel_input = document.createElement('input') ;
				nouvel_input.setAttribute('name', 'option_2['+nom+']['+i+']') ; 
				nouvel_input.setAttribute('type', 'hidden'); 
				nouvel_input.setAttribute('value', 'par_courrier'); 
			nouveau_noeud.appendChild(nouvel_input) ;
			break;
		}
		mon_parent.replaceChild(nouveau_noeud, ancien_noeud); 
	}
}

function ajoute_image(elt_plus) 
{
	if (elt_plus.parentNode.getElementsByTagName('input').length < 10)
	{
		nouveau_noeud = document.createElement('input') ;
			nouveau_noeud.setAttribute('name', 'option_2[image][]') ;
			nouveau_noeud.setAttribute('type', 'file') ; 
		elt_plus.parentNode.appendChild(nouveau_noeud) ;
	}	
	return false ;
}
function enleve_image(elt_moins) 
{
	if (ancien_noeud = dernier('input', elt_moins.parentNode))
	{
		if (avant_dernier_noeud = precedent('input', ancien_noeud))
		{
			elt_moins.parentNode.removeChild(ancien_noeud) ;
		}
	}	
	return false ;
}
/***********************************************************************************/
// Niveau de gagnants
// maj 20051012

function ajoute_niveau(elt_plus, id_perso, nb_max,texte) 
{
	nb_niveaux = elt_plus.parentNode.getElementsByTagName('p').length ;
	if (nb_niveaux < nb_max)
	{
		num_niveau = nb_niveaux + 1 ;
		quantite_niveau = (document.getElementById('quantite-'+id_perso).value * tab_unite['p'+id_perso] - calcule_somme_niveaux(id_perso)) / tab_unite['p'+id_perso] ;
		if (quantite_niveau == 0) quantite_niveau = tab_colisage['p'+id_perso]/tab_unite['p'+id_perso] ;
		nouveau_noeud = document.createElement('p') ;
			nouveau_sous_noeud = document.createElement('label') ;
				nouveau_sous_sous_noeud = document.createTextNode('Niveau '+num_niveau) ;
			nouveau_sous_noeud.appendChild(nouveau_sous_sous_noeud) ; 
			if (nb_max == 5)
			{
				// nb_symb = nb_max-num_niveau+1 ;
				
				if(texte)
				{
					nb_symb = "" ;
					nouveau_sous_sous_noeud = document.createElement('span') ;
					nouveau_sous_sous_noeud.setAttribute('class', 'petit') ; 
					nouveau_sss_noeud = document.createTextNode('') ;
				}
				else
				{
					nb_symb = num_niveau ;
					nb_symb = nb_symb+' symbole'+((nb_symb>1)?'s':'') ;
					nouveau_sous_sous_noeud = document.createElement('span') ;
					nouveau_sous_sous_noeud.setAttribute('class', 'petit') ; 
					nouveau_sss_noeud = document.createTextNode(' ('+nb_symb+')') ;
				}
				
				
				nouveau_sous_sous_noeud.appendChild(nouveau_sss_noeud) ; 
				nouveau_sous_noeud.appendChild(nouveau_sous_sous_noeud) ; 
			}
				nouveau_sous_sous_noeud = document.createTextNode(' : 100 x ') ;
			nouveau_sous_noeud.appendChild(nouveau_sous_sous_noeud) ; 
				
			nouveau_sous_noeud.appendChild(nouveau_sous_sous_noeud) ; 
		nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
			nouveau_sous_noeud = document.createElement('input') ;
			nouveau_sous_noeud.setAttribute('type', 'text') ; 
			nouveau_sous_noeud.setAttribute('name', 'option_2[nb_gagnants_niveau][niveau '+num_niveau+']') ; 
			nouveau_sous_noeud.setAttribute('value', quantite_niveau) ; 
			nouveau_sous_noeud.setAttribute('onkeyup', 'temporise_somme_niveaux('+id_perso+')') ;
		nouveau_noeud.appendChild(nouveau_sous_noeud) ;
		elt_plus.parentNode.appendChild(nouveau_noeud) ;
		
		somme_niveaux(id_perso) ;
	}	
	return false ;
}

function enleve_niveau(elt_moins, id_perso, nb_max) 
{
	if (ancien_noeud = dernier('p', elt_moins.parentNode))
	{
		if (avant_dernier_noeud = precedent('p', ancien_noeud))
		{
			elt_moins.parentNode.removeChild(ancien_noeud) ;
		}
	}	
	
	somme_niveaux(id_perso) ;
	return false ;
}
var temporisation_somme_niveaux = null ; 
function temporise_somme_niveaux(id_perso) 
{
	clearTimeout(temporisation_somme_niveaux) ;
	if (document.getElementById('niveau-'+id_perso).getElementsByTagName('input').length > 0)
	{
		temporisation_somme_niveaux = setTimeout('somme_niveaux(\''+id_perso+'\')', 500) ;
	}
}
function somme_niveaux(id_perso) 
{
	quantite_niveaux = calcule_somme_niveaux(id_perso) ;
	quantite_globale = Math.round(document.getElementById('quantite-'+id_perso).value * tab_unite['p'+id_perso]) ;
	/* if (quantite_globale < quantite_niveaux)*/ document.getElementById('quantite-'+id_perso).value = quantite_niveaux/tab_unite['p'+id_perso] ;
	calcule_prix(id_perso, true) ;
	
	message_niveau(id_perso) ;
}

function delta_niveaux(id_perso)
{
	quantite_niveaux = calcule_somme_niveaux(id_perso) ;
	quantite_globale = Math.round(document.getElementById('quantite-'+id_perso).value * tab_unite['p'+id_perso]) ;
	return (quantite_globale-quantite_niveaux) / tab_unite['p'+id_perso];
}

function message_niveau(id_perso) 
{
	delta = delta_niveaux(id_perso)
	if (delta > 0) 
	{
		message_HTML('Vous avez encore droit à '+delta+' série'+((delta>1)?'s':'')+' de tickets \r\n pour arriver à '+quantite_globale/ tab_unite['p'+id_perso], 'alerte-niveau-'+id_perso) ;
		// alert('Vous avez encore droit à '+(quantite_proposee-quantite_souhaitee)+' tickets \r\n pour arriver à '+quantite_proposee) ;		
	}
	else if (delta < 0) 
	{
		message_HTML('Vous avez '+(-delta)+' série'+((-delta>1)?'s':'')+' de tickets en trop \r\n pour faire '+quantite_globale/ tab_unite['p'+id_perso], 'alerte-niveau-'+id_perso) ;
		// alert('Vous avez encore droit à '+(quantite_proposee-quantite_souhaitee)+' tickets \r\n pour arriver à '+quantite_proposee) ;		
	}
	else
	{
		message_HTML('Le compte est bon', 'alerte-niveau-'+id_perso) ;
	}
}
function calcule_somme_niveaux(id_perso) 
{
	var quantite = 0 ;
	var message = '' ;
	liste_input = document.getElementById('niveau-'+id_perso).getElementsByTagName('input')
	for (var i=0 ; i < liste_input.length ; i++) if (liste_input[i].name.indexOf('option_2[nb_gagnants_niveau]')>-1 )
	{
		lecture = Math.ceil(Number(liste_input[i].value)) ;
		if (!(lecture>0)) 
		{
			liste_input[i].value = 0 ;
		}
		else
		{
			liste_input[i].value = lecture ;
			quantite += lecture ;
		}
	}
	if (message != '') alert(message) ;
	return quantite * tab_unite['p'+id_perso] ;	
}
/***********************************************************************************/

function choix_encart(ce_select, i)
{
	//	alert(ce_select.value) ;
	n = i+1 ;
	mon_parent = prochain('DIV', ce_select) ;
	while (ancien_noeud = mon_parent.lastChild) mon_parent.removeChild(ancien_noeud) ; 	
	switch (ce_select.value)
	{
	case 'texte' :
		nouveau_noeud = document.createElement('textarea') ;
			nouveau_noeud.setAttribute('name', 'option_2[encart_'+n+'][texte]') ;
			mon_parent.appendChild(nouveau_noeud) ; 		
		break ;
	case 'fichier' :
		nouveau_noeud = document.createTextNode('Fichier ') ;
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createElement('input') ;
			nouveau_noeud.setAttribute('name', 'option_2[encart_'+n+'][image]') ;
			nouveau_noeud.setAttribute('type', 'file') ; 
			mon_parent.appendChild(nouveau_noeud) ; 
		break ;
	case 'texte_et_fichier' :
		nouveau_noeud = document.createElement('textarea') ;
			nouveau_noeud.setAttribute('name', 'option_2[encart_'+n+'][texte]') ;
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createTextNode('Fichier ') ;
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createElement('input') ;
			nouveau_noeud.setAttribute('name', 'option_2[encart_'+n+'][image]') ;
			nouveau_noeud.setAttribute('type', 'file') ; 
			mon_parent.appendChild(nouveau_noeud) ; 
		break ;
	case 'vierge' :
	default :
	}
}

function ajoute_encart(elt_plus, id_int, id_option, nb) 
{
	i = elt_plus.parentNode.getElementsByTagName('select').length ;
	// si recherche par div, il faut penser à diviser par 2 car chaque div enfant possède un noeud, petit enfant, div compté lui aussi
	if (i < nb)
	{
		nouveau_noeud = document.createElement('div') ;
			nouveau_noeud.innerHTML = '<label for="optionST-'+id_option+'-'+i+'-'+id_int+'">Encart n°'+(i+1)+' : </label>'+
			'<select id="optionST-'+id_option+'-'+i+'-'+id_int+'" onchange="choix_encart(this, '+i+')">'+
			'	<option value="vierge">vierge</option>'+
			'	<option value="texte">un texte</option>'+
			'	<option value="fichier">un fichier</option>'+
			'	<option value="texte_et_fichier">texte et fichier</option>'+
			'</select>'+
			'<div class="encart"></div>' ;
		elt_plus.parentNode.appendChild(nouveau_noeud) ;
	}	
	return false ;
}
function enleve_encart(elt_moins) 
{
	if (ancien_noeud = dernier('DIV', elt_moins.parentNode))
	{
		if (avant_dernier_noeud = precedent('DIV', ancien_noeud))
		{
			elt_moins.parentNode.removeChild(ancien_noeud) ;
		}
	}	
	return false ;
}
/***********************************************************************************/
/*
function version_de_ticket(ce_select)
{
	mon_parent = prochain('DIV', ce_select) ;
	while (ancien_noeud = mon_parent.lastChild) mon_parent.removeChild(ancien_noeud) ; 
	switch(ce_select.value)
	{
	case 'a_gratter' :
		nouveau_noeud = document.createElement('label') ;
			nouveau_sous_noeud = document.createTextNode('Texte Ticket') ;
				nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createElement('textarea') ;
			nouveau_noeud.setAttribute('name', 'option_2[texte_ticket]') ;
			mon_parent.appendChild(nouveau_noeud) ; 
		br = document.createElement('br') ;
			mon_parent.appendChild(br) ; 
	
			
		nouveau_noeud = document.createElement('label') ;
			nouveau_sous_noeud = document.createTextNode('Prix de vente') ;
				nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createElement('input') ;
			nouveau_noeud.setAttribute('name', 'option_2[prix_de_vente]') ;
			nouveau_noeud.setAttribute('type', 'text') ; 
			mon_parent.appendChild(nouveau_noeud) ; 
			mon_parent.appendChild(br) ; 
			
		nouveau_noeud = document.createElement('label') ;
			nouveau_sous_noeud = document.createTextNode('Retrait des lots') ;
				nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
			mon_parent.appendChild(nouveau_noeud) ; 
		nouveau_noeud = document.createElement('textarea') ;
			nouveau_noeud.setAttribute('name', 'option_2[retrait_des_lots]') ;
			mon_parent.appendChild(nouveau_noeud) ; 
		break;
	case 'numerotes' :
		nouveau_noeud = document.createElement('div') ;
			nouveau_noeud.innerHTML = '<label>Texte Ticket</label><textarea name="option_2[texte_ticket]"></textarea><br />'+
			'<label>Prix de vente</label><input name="option_2[prix_de_vente]" type="text">' ;
		mon_parent.parentNode.replaceChild(nouveau_noeud, mon_parent) ;
	
		break;
	case 'tirage_au_sort' :
		break;
	case 'a_souche' :
		break;
	default :
	}
}
*/
/***********************************************************************************/
// Version ticket en accord avec le visuel
// 20060116

// Pour les tombola le ticket &agrave; souche ne peut avoir pour visuel, que
// le visuel g&eacute;n&eacute;rique

var message_erreur_visuel = 'Le ticket à souche n\'est disponible\r\n qu\'avec le visuel générique' ;
function controle_visuel(form)
{
	if (!verif_visuel(form))
	{
		alert(message_erreur_visuel) ;
	}
}
function verif_visuel(form)
{
// NON ( 'ticket à souche'  ET NON 'visuel générique')
	return !( (form.elements['option_2[version_ticket]'].selectedIndex==3) && !form.elements['option_2[ticket]'][0].checked ) ;
}

/***********************************************************************************/


var message_erreur_couleur_souple = 'Les cartons souples ne sont disponibles qu\'en vert ou jaune' ;
function controle_couleur_souple(form)
{
	if (form.id == 'form-216' && !verif_couleur_souple(form))
	{
		alert(message_erreur_couleur_souple) ;
	}
}
function verif_couleur_souple(form)
{
// ( 'carton souple'  ET  ('vert ou jaune') )  OU  NON 'carton souple'
	if (form.elements['option_2[couleur]'])
	{
		CS = form.elements['option_1[]'][0].selectedIndex==1
		V = form.elements['option_2[couleur]'].selectedIndex==0
		J = form.elements['option_2[couleur]'].selectedIndex==1
		return (CS && (V || J)) || !CS;
	}
	else
	{
		return true ;
	}
}

/***********************************************************************************/

function option_extra__html (form, perso)
{
/* 
Personnalisation pour tous les supports, excepté souple, des cartons et plaques en Tradition ou Prestige
Ces articles qui font exception sont listés dans le tableau option_extra__tab_article
*/
// concernant les cartons et plaques Tradition ou Prestige, le support est codé en option 0
	id_ext = form.id.substring(form.id.indexOf('-')+1) ; 
	
	if(	in_array(id_ext, option_extra__tab_article_carton) || 
			in_array(id_ext, option_extra__tab_article_bracelet) || 
			in_array(id_ext, option_extra__tab_article_loterie))
	{
		/*if (id_ext == id) id_tab_opt = 'p'+id_perso ;
		else */
		
		id_tab_opt = id_ext ;
		id_perso = id_article_personnalise(id_ext) ;

//		texte_support = document.getElementById('option-'+id_ext+'-0').options[document.getElementById('option-'+id_ext+'-0').selectedIndex].innerHTML ;
	
		if (document.getElementById('optionST-option_extra-'+id_ext))
		{
			ce_select = document.getElementById('optionST-option_extra-'+id_ext) ;
		}
		else
		{
			ce_select = document.getElementById('optionST-option_extra-'+id_perso) ;
		}
	
		if(!perso)
		{
			if (mon_parent = prochain('DIV', ce_select))
			{
				while (ancien_noeud = mon_parent.lastChild) mon_parent.removeChild(ancien_noeud) ; 
				switch(ce_select.value)
				{
				case 'texte' :
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Texte') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('textarea') ;
							nouveau_noeud.setAttribute('name', 'option_2[texte]') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
					mon_parent.appendChild(nouveau_bloc) ; 
						
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 1 ;
					break;
					
				case 'logo' :
					nouveau_bloc = document.createElement('p') ;		
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Texte') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('textarea') ;
							nouveau_noeud.setAttribute('name', 'option_2[texte]') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						/*
						nouveau_noeud = document.createElement('br') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						*/	
					mon_parent.appendChild(nouveau_bloc) ; 
						
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Logo') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('span') ;
							nouveau_noeud.innerHTML = '<select onchange="joindre_une_piece(\'logo_carton\', \'\', this)">'+
						'<option value="1">en fichier joint</option>'+
						'<option value="2">par courrier</option>'+
						'</select>'+
						'<input type="file" name="option_2[logo_carton][]" />' ;
						nouveau_bloc.appendChild(nouveau_noeud) ;
					mon_parent.appendChild(nouveau_bloc) ;  
						
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 2 ;		
					break;
					
				case 'cases' :
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Texte') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('textarea') ;
							nouveau_noeud.setAttribute('name', 'option_2[texte]') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						/*
						nouveau_noeud = document.createElement('br') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						*/	
					mon_parent.appendChild(nouveau_bloc) ; 
						
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Logo') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('span') ;
							nouveau_noeud.innerHTML = '<select onchange="joindre_une_piece(\'logo_carton\', \'\', this)">'+
							'<option value="1">en fichier joint</option>'+
							'<option value="2">par courrier</option>'+
							'</select>'+
							'<input type="file" name="option_2[logo_carton][]" />' ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						/*
						nouveau_noeud = document.createElement('br') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						*/	
					mon_parent.appendChild(nouveau_bloc) ; 
						
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Logo partenaire') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('span') ;
							nouveau_noeud.innerHTML = '<select onchange="joindre_une_piece(\'logo_carton\', \'\', this)">'+
							'<option value="1">en fichier joint</option>'+
							'<option value="2">par courrier</option>'+
							'</select>'+
							'<input type="file" name="option_2[logo_carton][]" />' ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
					mon_parent.appendChild(nouveau_bloc) ; 
						
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 3 ;
					break;
					
				case 'tirage_sort' :
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 6 ;
					break;
					
				case 'personnalise' :
					nouveau_bloc = document.createElement('p') ;		
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Texte') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('textarea') ;
							nouveau_noeud.setAttribute('name', 'option_2[texte]') ;
							nouveau_bloc.appendChild(nouveau_noeud) ; 
					mon_parent.appendChild(nouveau_bloc) ; 
						
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Logo') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('span') ;
							nouveau_noeud.innerHTML = '<select onchange="joindre_une_piece(\'logo\', \'\', this)">'+
						'<option value="0">aucun</option>'+
						'<option value="1">en fichier joint</option>'+
						'<option value="2">par courrier</option>'+
						'</select>'+
						'<input value="aucun" name="option_2[logo][]" type="hidden">' ;
						nouveau_bloc.appendChild(nouveau_noeud) ;
					mon_parent.appendChild(nouveau_bloc) ;  
						
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 7 ;		
					break;
					
				case 'aucun' :
				default :
			/* Modif prix */
					option_extra__tab_id_supplement_article[id_tab_opt] = 0 ;
				}
			}
		}
		else
		{
//			id_ext = id_perso.substring(0,3);
			id = 'option-'+id_perso+'-edit-perso';
			id = 'Clone_Option_3-'+id_ext
			//var id = 'Clone_Option_3-'+id_ext;
			//alert(id_ext+' - '+id_perso);
			
			elt_perso_image = window.top.document.getElementById("perso_image_"+id_perso+"")
			if (elt_perso_image) 
			{
				elt_perso_image.src =  "";
				elt_perso_image.style.display ='none';
			}
		
			
			if (mon_parent = prochain('DIV', ce_select))
			{
				while (ancien_noeud = mon_parent.lastChild) mon_parent.removeChild(ancien_noeud) ; 
				
				
	 			switch(ce_select.value)
	 			{
	 			case 'texte' :
	 				document.getElementById(id).style.display = 'inline';
	 				option_extra__tab_id_supplement_article[id_tab_opt] = 1 ;	
	 				set_perso('custom_'+id_perso);
	 				break;
	 				
	 			case 'texte_logo' :
	 				document.getElementById(id).style.display = 'inline';
	 				option_extra__tab_id_supplement_article[id_tab_opt] = 2 ;
	 				set_perso('custom_'+id_perso);
	 				break;
	 				
	 			case 'texte_logocases' :
	 				document.getElementById(id).style.display = 'inline';
	 				option_extra__tab_id_supplement_article[id_tab_opt] = 3 ;
	 				set_perso('custom_'+id_perso);
	 				break;
	 				
	 			case 'aucun' :
	 			default :
	 				document.getElementById(id).style.display = 'none';
	// 				document.getElementById('perso_vue_'+id_ext).value = 'true';
	 				option_extra__tab_id_supplement_article[id_tab_opt] = 0 ;
	 				set_no_perso('custom_'+id_perso);
				
							
					nouveau_bloc = document.createElement('p') ;
						nouveau_noeud = document.createElement('label') ;
							nouveau_sous_noeud = document.createTextNode('Choisir une couleur :') ;
								nouveau_noeud.appendChild(nouveau_sous_noeud) ; 
							nouveau_bloc.appendChild(nouveau_noeud) ; 
						nouveau_noeud = document.createElement('span') ;
						switch(eval(id_ext))
	 					{
						/* Cas tradition carton et plaque */
						case 216 :
						case 398 :
						case 723 :
							nouveau_noeud.innerHTML = '<select name="option_2[theme]" onchange="controle_couleur_souple(this.form);">'+
							'<option value="vert">Vert</option>'+
							'<option value="jaune">Jaune</option>'+
							'<option value="rose">Rose</option>'+
							'<option value="lilas">Lilas</option>'+
							'<option value="bleu">Bleu</option>'+
							'<option value="orange">Orange</option>'+
							'<option value="saumon">Saumon</option>'+
							'<option value="caramel">Caramel</option>'+
							'<option value="crème">Crème</option>'+
							'</select>' ;
							break ;
							
						/* Cas prestige carton et plaque */
						case 215 :
						case 396 :
							nouveau_noeud.innerHTML = '<select name="option_2[theme]">'+
							'<option value="bleu/rose">Bleu/rose</option>'+
							'<option value="rouge/bleu">Rouge/bleu</option>'+
							'<option value="vert/orange">Vert/orange</option>'+
							'<option value="orange/vert">Orange/vert</option>'+
							'</select>' ;
							break ;
						}
						nouveau_bloc.appendChild(nouveau_noeud) ;
					mon_parent.appendChild(nouveau_bloc) ;  
				}
 			}
		}
		
		calcule_prix(id_perso) ;
	}
}

function set_no_perso(id)
{
	if(document.getElementById(id).value == 2)
	{
		document.getElementById(id).value = 3;
	}
	else
	{
		document.getElementById(id).value = 0;
	}
}
function set_perso(id)
{
	if(document.getElementById(id).value == 3)
	{
		document.getElementById(id).value = 2;
	}
	else
	{
		document.getElementById(id).value = 1;
	}
}
/***********************************************************************************/

var MAX_boucle = 50 ;
function precedent(nom_du_noeud, noeud_de_ref)
{
	nom_du_noeud = nom_du_noeud.toUpperCase() ;
	if (candidat = noeud_de_ref.previousSibling)
	{
		cpt = 0 ;
		while (candidat.nodeName != nom_du_noeud && cpt < MAX_boucle )
		{
			if (candidat = candidat.previousSibling)
			{
				cpt++ ;
			}
			else break ;
		}
		if (cpt < MAX_boucle) 
		{
			return candidat ;
		}
		else 
		{
			alert('Erreur dans precedent('+nom_du_noeud+', '+noeud_de_ref+')') ;
			return null ;
		}
	}
	else
	{
		return null ;
	}
	
}
function prochain(nom_du_noeud, noeud_de_ref)
{
	nom_du_noeud = nom_du_noeud.toUpperCase() ;
	if (noeud_de_ref)
	{
		if (candidat = noeud_de_ref.nextSibling)
		{
			cpt = 0 ;
			while (candidat.nodeName != nom_du_noeud && cpt < MAX_boucle )
			{
				if (candidat = candidat.nextSibling) cpt++ ;
				else break ;
			}
			if (cpt < MAX_boucle) 
			{
				return candidat ;
			}
			else 
			{
				alert('Erreur dans prochain('+nom_du_noeud+', '+noeud_de_ref+')') ;
				return null ;
			}
		}
		else
		{
			alert('Erreur dans prochain('+nom_du_noeud+', '+noeud_de_ref+'), pas de candidat') ;
			return null ;
		}
	}
	else
	{
		return null ;
	}
	
}
function dernier(nom_du_noeud, noeud_parent)
{
	nom_du_noeud = nom_du_noeud.toUpperCase()
	if (candidat = noeud_parent.lastChild)
	{
		cpt = 0 ;
		while (candidat.nodeName != nom_du_noeud && cpt < MAX_boucle )
		{
			if (candidat = candidat.previousSibling) cpt++ ;
			else break ;
		}
		if (cpt < MAX_boucle) 
		{
			return candidat ;
		}
		else 
		{
			alert('Erreur dans dernier('+nom_du_noeud+', '+noeud_parent+')') ;
			return null ;
		}
	}
	else
	{
		return null ;
	}
}


/* Réservation calendrier */

function action_client(form)
{
	if (form.est_client[0].checked) 
	{
		document.getElementById('div_code_client').style.display = '';
	}
	else 
	{
		document.getElementById('div_code_client').style.display = 'none';
	}
}
function clic(id)
{
	// <legend><a href="personalisation" onclick="return clic('div_photo');">POUR LES CALENDRIERS PHOTOS :</a></legend>
	ce_style = document.getElementById(id).style; if (ce_style.display=='none') ce_style.display=''; else ce_style.display='none';
	return false ;
}