// Verifs des sets d'options

function check_panier(frm) {
	
	var elementList = Form.getElements(frm);
	var lst = $A(elementList);
	
	/*
	DEBUG
	var mess = '';
	elementList.each(function(champ){							
		mess += (champ.name + ': ' + champ.value +'\n');
	});
	alert(mess);
	*/
	
	var result = '';
	var tab_id = new Array(568, 569, 570, 571, 572, 573, 574, 575, 589);
	var tab_error1 = new Array();
	var tab_error2 = new Array();
	var cmpt = 0;
	var cmpt2 = 0;
	var cmpt_error = 0;
	var cmpt2_error = 0;	
	var info_couleur = '';
	var couleur_ok = 1;
	
	var jeu_option = 0;
	
	// On sort les values
	for (var i=0; i < elementList.length; i++) {
		// Si on est sur un champ de type select
		if(elementList[i].type == "select-one"){
			jeu_option = elementList[i].name.substr(0,2);
			// Si le champ correspond au jeu d'option  "id"
			if (jeu_option == 'id') {
				// On boucle pour tester si on a pas une valeur par defaut du champ
				for (var i2=0; i2 < tab_id.length; i2++) {
					if (elementList[i].value == tab_id[i2]) {
						tab_error1[cmpt] = elementList[i].name+'/'+elementList[i].value;
						cmpt++;
					}					
				}
			}
			// Si le champ correspond au jeu d'option  "ad"
			if (jeu_option == 'ad') {
				// On boucle pour tester si on a pas une valeur par defaut du champ
				for (var i2=0; i2 < tab_id.length; i2++) {
					if (elementList[i].value == tab_id[i2]) {
						tab_error2[cmpt2] = elementList[i].name+'/'+elementList[i].value;
						cmpt2++;
					}					
				}	
			}		
		}
		// On verifie que le select lié à la couleur est bien renseigné
		if (elementList[i].value != undefined) {
			// Si le select de oculeur n'est pas sur "choisisez"
			if (elementList[i].value == 589) {
				info_couleur = 'Merci de ne pas oublier de choisir une couleur\n';
				var couleur_ok = 0;
			}
			// On insère les champ cachés
			var eleme1 = '<input type="hidden" name="id[11]" value="'+elementList[i].value+'" />';
			eleme1 += '<input type="hidden" name="ad[11]" value="'+elementList[i].value+'" />';
			new Insertion.Bottom(frm, eleme1);
		}
	}
	
	// Si on a au moins 1 select on fait la verif
	if (jeu_option != 0) {	
		var affichage = '';
		// Pour la verif des select id
		for (var i=0;i<tab_error1.length;i++) {
			// On compte le nobmre d'erreur signalé pour id
			cmpt_error++;
		}
		if (cmpt_error > 0) {
			affichage += 'Veuillez faire un choix dans la liste déroulante pour l\'oeil gauche\n';
			var cmpt_ok = 0;
		} else { // Si aucune erreur rescencée, cmpt_ok = 1 donc champs renseignés
			var cmpt_ok = 1;
		}
		
		affichage += '\n';
		// Pour la verif des select ad
		for (var i=0;i<tab_error2.length;i++) {
			// On compte le nobmre d'erreur signalé pour ad
			cmpt2_error++;
		}	
		if (cmpt2_error > 0) {
			affichage += 'Veuillez faire un choix dans la liste déroulante pour l\'oeil droit\n';
			var cmpt2_ok = 0;
		} else { // Si aucune erreur rescencée, cmpt2_ok = 1 donc champs renseignés
			var cmpt2_ok = 1;
		}		
		
		// Si oeil droit est bien renseigné et oeil gauche non renseigné
		if (cmpt_ok == 0 && cmpt2_ok == 1 && couleur_ok != 0) {
			// On supprimer les infos de coté d'oeil
			Element.remove('id[14]');
			Element.remove('ad[14]');
			// On bascule la qunatité de oeil gauche à 0	
			lst.each(function(champ){
					if(champ.name == 'cart_quantity_id') {
						champ.value = 0;
					}
			});
			return true;
		}
		 
		// Si oeil gauche est bien renseigné et oeil droit non renseigné
		else if (cmpt_ok == 1 && cmpt2_ok == 0 && couleur_ok != 0) {
			// On supprimer les infos de coté d'oeil
			Element.remove('id[14]');
			Element.remove('ad[14]');
			// On bascule la qunatité de oeil guache à 0	
			lst.each(function(champ){							
					if(champ.name == 'cart_quantity_ad') {
						champ.value = 0;
					}
			});
			return true;
		}
		// Si les deux set sont bien renseignés
		else if (cmpt_ok == 1 && cmpt2_ok == 1 && couleur_ok != 0) {
			return true;
		}		
		else {
			affichage += '\n'+info_couleur;
			alert(affichage);
			return false;
		}
	} else {
		return true;
	}
}



