function init_form(){
	nplace =0;
	tot_places=0;
	for (var iter_lieu in tconcerts){
		for (var iter_concert in tconcerts[iter_lieu]){
			tconcerts[iter_lieu][iter_concert] = 0;
		}
	}
	reset_prix3();
	//document.getElementById('r_adh').value = reduc_adherant;
    vu = false;
}

function verif_key(e,champ){ 
   /*var touches_autorisees = new Array(8,95,96,97,98,99,100,101,102,103,104,105);*/
  /*  var touches_nonautorisees = new Array('9');
  for (var i in touches_nonautorisees) {
    if (touches_nonautorisees[i] == e ){
      return false;
      }
  };

  var tmp = champ.value?champ.value:0;
  if (nplace == tmp) {
  alert('mm saisie');
  return false;
  }*/
  //if (window.event.shiftKey){ alert ('shift');}
  return true;
}

function calcul_total(key, prix, champ, id_total, id_date){
    if (verif_inscription() & verif_key(key,champ)) {

		var nb_places = champ.value;
		var total = parseInt(document.getElementById(id_total).value);
		// verifier que le total est bien un digit
		if (!isNaN(nb_places)) {
	
		// mettre ï¿½ jour le prix total
			// prendre l'ancienne valeur et la retirer du total
			var delta = nb_places - nplace;
            if (touche_shift){
            delta=0;
            touche_shift=0;
            //nplace = 0;
        };            
			//prendre la nouvelle et l'ajouter
			total = total + (prix * delta);
			if (total < 0){
					total = 0;



                    
			}else {
				document.getElementById(id_total).value = total;


		// mettre ï¿½ jour le total de places du concert
	
			var obj_tot_place_date = document.getElementById(id_date);
			var tot_place_date = parseInt(obj_tot_place_date.value) + delta;
			obj_tot_place_date.value = tot_place_date;
			
		// mettre a jour le total global
			var obj_tototal = document.getElementById('tototal');
	
			var tototal = (obj_tototal.value)?obj_tototal.value:0;
			tototal = parseInt(tototal);
			tototal = tototal + (prix * delta) ;
			obj_tototal.value = tototal;
	
		//mettre a jour les places reservees
			tot_places = tot_places + delta;
			var obj_tot_places = document.getElementById('tot_places');
			obj_tot_places.value = tot_places;

		//mettre a jour le nombre de concerts reserves
			var tindex = id_date.split('_')[2];
			var lieu   = id_date.split('_')[1];
			var nb_places_concerts = tconcerts[lieu][tindex]?tconcerts[lieu][tindex]:0;
			tconcerts[lieu][tindex] = tot_place_date;
			var toto_concerts = 0;
			for (var iter_lieu in tconcerts){
				for (var iter_concert in tconcerts[iter_lieu]){
					toto_concerts = (tconcerts[iter_lieu][iter_concert] > 0)?++toto_concerts:toto_concerts;
				}
			}
			
			document.getElementById('tot_concert').value = toto_concerts;
		// on en profite pour desactiver les concerts non selectionnables
		// en fonction de ceux deja reserves
		/*
			if (nb_places>0){
				document.getElementById('pg_'+lieu+'_date_'+tindex).style.display = 'none';
			}else{
				document.getElementById('pg_'+lieu+'_date_'+tindex).style.display = 'block';
			}
	
		// gestion des reductions
		
			if (toto_concerts >= 3 && tot_places>=2){
				document.getElementById('p_gratuites').style.display = 'block';
			}else{
				document.getElementById('p_gratuites').style.display = 'none';
			}
		*/

			var a_payer = calcul(tototal);
            }
	
		}else {
			alert ('une valeur incorrecte a été saisie :' + nb_places);
            /* attention l'evenement declencheur est onkeyup donc plusieur caracteres
               peuvent avoir ete saisis. il faut donc trouver la derniere valuer numerique saisie */
            var expression = /([0-9]*)(\D*)/;
            expression.exec(nb_places);
            champ.value = RegExp.$1;
		}
	}else{
    //alert('Ne rien faire');
    
    }

}

function calculer_reduc_montant(tot){
	var reduction = 0;
	for (var seuil in pourcent_montant){
		if (tot >= seuil) {
			reduction = pourcent_montant[seuil];
		}else{break;};
	}
	return reduction;
}

function calcul(tototal){
		// calcul du total
			var cotisation;
			var select_don = -1;
            var t_cotisation = document.getElementsByName('adhe');
			for ( var val = 0; val<=3; val++){
				select_don = t_cotisation[val].checked?val:select_don;
			}
			switch (select_don){
                case 0 :
                cotisation = 0;
					break;
				case 1 :
                cotisation = 15;
					break;
				case 2 :
					cotisation = 100;
					break;
				case 3 :
					cotisation = document.getElementById('id_bienfait').value;
					if (isNaN(cotisation)){
                      cotisation = 0;
                      alert('Erreur dans la cotisation');
                    }else{
                      cotisation = cotisation?parseInt(cotisation):0;
                    };
					break;

                default :
                    cotisation = 0;
					break; 
			}
			document.getElementById('id_cotisation').value = cotisation;
			
			var reduc_montant = calculer_reduc_montant(tototal);
			document.getElementById('r_montant').value = reduc_montant;
	
			var a_payer = tototal - reduc_montant + cotisation;
			document.getElementById('tot_payer').value = a_payer;

            var cheque = a_payer / 3;
            var cheque_arrondi = cheque.toFixed(2);
			document.getElementById('prixfois3').firstChild.data = cheque_arrondi;
            
			return a_payer;
}

function verif_inscription(){
	//alert(parseInt(document.getElementById('id_bienfait').value));
	if (document.getElementsByName('adhe')[2].checked && isNaN(parseInt(document.getElementById('id_bienfait').value))) {
		alert('Informations de cotisations incorrects :'+document.getElementById('id_bienfait').value);
		return false;
	}
	return true;
}

function sauve_place(e,champ){

  if (e.keyCode == 16 || e.shiftKey){
  touche_shift = 1;
  nplace = champ.value?nplace:0;

    if (e.shiftKey){
      if (!vu){
      alert('Vous utilisez une combinaison de touche SHIFT + NUM pour saisir vos places.\nVeillez à bien saisir l\'ensemble des chiffres de vos places en maintenant cette touche enfoncée\n en cas d\'erreur vous pouvez effacer en utilisant les touches habituelles \'SUPPR\' ou \'BACKSPACE\'');
      }
      vu = true;
    }else{
      alert('Vous utilisez une combinaison de touche SHIFT + NUM pour saisir vos places.\nVeuillez utiliser les touches du pavé numérique.\nSi vous utilisez un portable veuillez activer le pavé numérique par la combinaison \'Fn\' + \'Num lock\'');
    }

  }else{
  touche_shift=0;
  nplace = champ.value?champ.value:0;
  }
}
/*
function sauve_place(champ){

  if (window.event.shiftKey){
    touche_shift = 1;
    nplace = champ.value?nplace:0;
  }else{
    touche_shift=0;
    nplace = champ.value?champ.value:0;
  }
}
*/
function active_reduc_adhe(){
	document.getElementById('r_adh').value= reduc_adherant;
}

function desactive_reduc_adhe(){
	document.getElementById('r_adh').value= 0;
}

function active_don(){
	document.getElementById('id_bienfait').style.display = "inline";
}

function desactive_don(){
	document.getElementById('id_bienfait').style.display = "none";
	document.getElementById('id_bienfait').value = "0";
}

function desactive_concerts_gratuits(){
	document.getElementById('id_bienfait').style.display = "none";
}

function activer_valeurs(){
	document.getElementById('id_cotisation').removeAttribute("disabled","false");
	document.getElementById('tototal').removeAttribute("disabled","false");
	document.getElementById('tot_places').removeAttribute("disabled","false");
	document.getElementById('tot_concert').removeAttribute("disabled","false");
	//document.getElementById('p_gratuites').removeAttribute("disabled","false");
	//document.getElementById('r_adh').removeAttribute("disabled","false");
	document.getElementById('r_montant').removeAttribute("disabled","false");
	document.getElementById('tot_payer').removeAttribute("disabled","false");

}

function reset_prix3() {
  document.getElementById('prixfois3').firstChild.data = "";
}

function sleep(time){
var maintenant = new Date();

var start = maintenant.getTime();
while(start+time > maintenant.getTime()) true;
              return;
}
