// empechede valider un formulaire avec la touche enter
var toucheDesac=255; //la touche 255 est inusitŽe ; touche enter = 13
var focusSuivant="adress_research"; // le premier champ de formulaire ou n'importe quel id
var gk=window.Event?1:0;

function toucheenter(e) {
	var touche=gk?e.which:window.event.keyCode; //pour compatibilitŽ FF IE
	if (touche == toucheDesac){
		document.getElementById(focusSuivant).focus();
		return false;
	}
}
document.onkeydown = toucheenter; 

//
function set_fx(type, item){
	if(type == "border_green"){
		var fx = new Fx.Styles($(item), {duration:200, wait:false});
			fx.start({
				'background-color': '#ECECEC',
				'border-width': '2px',
				'border-top-color': '#68BB41',
				'border-right-color': '#68BB41',
				'border-bottom-color': '#68BB41',
				'border-left-color': '#68BB41'

		});
	}
	else if(type == "normal"){
		var fx = new Fx.Styles($(item), {duration:200, wait:false});
			fx.start({
				'background-color': '#f5f7f1',
				'border-width': '1px',
				'border-top-color': '#f5f7f1',
				'border-right-color': '#f5f7f1',
				'border-bottom-color': '#f5f7f1',
				'border-left-color': '#f5f7f1'

			});		
	}
}

function permis_type(annee){
	var indicator = $('indicator_2');
	indicator.style.display = "block";
	$('permis_type').style.display = "none";

	new Ajax('/permis/choixpermis/annee/' + annee, {
		method: 'get',
		update: $('permis_type'),		
		onComplete: function() {
			indicator.style.display = "none";
			update_etapes(2);
			$('error_1').style.display = "none";
			$('permis_type').style.display = "block";
			
			// on met en evidence le type de permis
			set_fx('border_green', 'permis_type');
			
			// on enleve l'evidence sur les autres blocs
			set_fx('normal', 'permis_annee');
			set_fx('normal', 'permis_province');
			set_fx('normal', 'add_permis_to_basket_div');

		}

	}).request();	

}
function set_input_value(vle, input_id){
	$(input_id).value = vle;
	$('error_2').style.display = "none";	
	
			set_fx('normal', 'permis_type');
			
			if($('province').selectedIndex != 0){
				
				set_fx('border_green', 'add_permis_to_basket_div');
				hide_all_by_class('arrow_position');	
				$('arrow_4').style.display = 'block';			
			}
			else {
				update_etapes(3);
				set_fx('border_green', 'permis_province');
			}
}
function hide_all_by_class(class_name){
	switch(class_name)
    {
    case "etape_button_top" :
		var i = 1;
		$$('.etape_button_top').each(function(item){
			item.src = '/images/template_front/etapes' + i + '.gif';		
			i++;
		});	
        break;
    case "etape_button" :
		var i = 1;
		$$('.etape_button').each(function(item){
			item.style.backgroundImage = 'url(/images/template_front/et' + i + '.gif)';
			item.style.fontWeight ="normal" 
			item.style.color ="#777777" 
			i++;
		});
        break;
    case "arrow_position" :
		var i = 1;
		$$('.arrow_position').each(function(item){
			item.style.display = 'none';		
			i++;
		});
        break;
    default :
    } 
}
function update_etapes(nr_etape){

	hide_all_by_class('etape_button_top');
	$('st' + nr_etape).src = '/images/template_front/etapes' + nr_etape + '-over.gif';
	
	hide_all_by_class('etape_button');
	var activ_item = $('stli' + nr_etape);
	activ_item.style.backgroundImage = 'url(/images/template_front/et' + nr_etape + '-over.gif)';
	activ_item.style.fontWeight ="bold" 
	activ_item.style.color ="#000000" 
	
	// arrows	
	hide_all_by_class('arrow_position');
	$('arrow_' + nr_etape).style.display = 'block';
	

}
function add_permis_to_basket_button(option_value){
	if(option_value != 0){
	
			$('error_3').style.display = "none";
			set_fx('normal', 'permis_province');
			
			if($('permis_id').value == '' ){
				update_etapes(1);
				set_fx('border_green', 'permis_annee');				
			}
			else if($('permis_id').value == 'choice'){
				update_etapes(2);
				set_fx('border_green', 'permis_type');								
			}
			else if($('province').selectedIndex != 0){	
				set_fx('border_green', 'add_permis_to_basket_div');					
				hide_all_by_class('arrow_position');	
				$('arrow_4').style.display = 'block';	
			}
			else {
				update_etapes(3);
				set_fx('border_green', 'permis_province');	
			}
			
	}
	
}
function add_permis_to_basket(){

    		var permis_id = $('permis_id').value;
    		var province_choix = $('province').value;
    		
    		// on supprime les eventuels messages d'erreur
    		$$('.error').each(function(item){
				item.style.display = "none";
			});
    		
			if(permis_id != 'choice' && permis_id != '' && province_choix != 0){
				new Ajax('/permis/add/type/permis/id/' + permis_id + '/province/' + province_choix, {
					method: 'get',
					update: $('cart'),
					onComplete: function() {
							//alert('permis ajoute');
							var Tips1 = new Tips($$('.ttips'));
							Mediabox.open('#mb_accept', 'inline content', 'mediabox[520 410]');
					}
				}).request();	
			}
			else {
				if(permis_id == ''){
					$('error_1').style.display = "block";
				}
				if(permis_id == 'choice'){
					$('error_2').style.display = "block";
				}
				if(province_choix == 0){
					$('error_3').style.display = "block";
				}
			}
}
function add_carte_to_basket(carte_id, carte_date_valid){
	var is_valid_operation = true;
	if(carte_date_valid != 'no_valid_date'){
		// on verifie si la date est correcte (une premiere fois en js)
		if(isValidDate(carte_date_valid)){
			is_valid_operation = true;
		}
		else {
			is_valid_operation = false;
		}
	}
	if(carte_id != '' && is_valid_operation == true){
	
		carte_date_valid = carte_date_valid.replace(new RegExp(/\//g),"-");
		
		new Ajax('/carte/add/type/carte/id/' + carte_id + '/carte_date_valid/' + carte_date_valid, {
					method: 'get',
					update: $('cart'),
					onComplete: function() {
							//alert('permis ajoute');
							var Tips1 = new Tips($$('.ttips'));
							Mediabox.open('#mb_accept', 'inline content', 'mediabox[520 410]');
					}
				}).request();	
	}
}
function remove_to_cart(type, item, redirect){
	
	$('indicator_3').style.display = "block";
	
	if(type == "permis"){
		new Ajax('/permis/remove/type/' + type + '/id/' + item, {
					method: 'get',
					update: $('cart'),
					onComplete: function() {
						$('indicator_3').style.display = "none";
						
						if(redirect == 'commande'){
							window.location.replace("liste");
						}
						else {
						
						new Ajax('/cart/show', {
							method: 'get',
							update: $('cart'),
							onComplete: function(){
								var Tips1 = new Tips($$('.ttips'));
							}
						}).request();	
						
						}
						
					}
				}).request();	
	}
	else {
		
		new Ajax('/carte/remove/type/' + type + '/id/' + item, {
					method: 'get',
					update: $('cart'),
					onComplete: function() {
						$('indicator_3').style.display = "none";
						
						if(redirect == 'commande'){
							window.location.replace("liste");
						}
						else {
						new Ajax('/cart/show', {
							method: 'get',
							update: $('cart'),
							onComplete: function(){
								var Tips1 = new Tips($$('.ttips'));
							}
						}).request();	
						}
					}
				}).request();	
		
	}
}
function isValidDate(dateStr) {
	// Checks for the following valid date formats:
	// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
	// Also separates date into month, day, and year variables

	var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;

	// To require a 4 digit year entry, use this line instead:
	// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		alert("La date n'est pas dans un format valide.")
		return false;
	}
	month = matchArray[3]; // parse date into variables
	day = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		alert("Le mois doit être entre 1 et 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		alert("Les jours doivent être entre 1 et 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Le mois "+month+" ne peut avoir 31 jours")
		return false
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert("Février " + year + " n'a pas " + day + " jours pour l'année indiqué!");
			return false;
   		}
	}
	return true;  // date is valid
}