ACC.labelsForDiff = {
    'porteur_carte':'type_carte_fidelite;num_carte_fidelite',
    'code_preferentiel':'code_avantage'
};

ACC.tools.DOMready(function() {
	ACC.booking = ACC.tools.showHide({
		triggerContext: 'booking-search',
		triggerTag: 'h2',
		target: 'parent',
		classShow: 'on',
		classHide: 'off',
		showOnLoad: 1,
		singleOnView: true
	});
	
	var showCarteFidOnLoad = $('porteur_carte').checked;
	ACC.carteFidelite = ACC.tools.showHide({
		triggerID: 'porteur_carte',
		target: 'carte-fidelite-more',
		classShow: 'on',
		classHide: 'off',
		showOnLoad: showCarteFidOnLoad,
		onShow: function() {
			if ($('porteur_carte').checked) {
				$('type_carte_fidelite').disabled = false;
				$('num_carte_fidelite').disabled = false;
				$('type_carte_fidelite').style.display = "block";
				$('num_carte_fidelite').style.display = "block";
				$('meilleur-prix').style.display = "none";
			}
		},
		onHide: function() {
			if (!$('porteur_carte').checked) {
				$('type_carte_fidelite').disabled = true;
				$('num_carte_fidelite').disabled = true;
				$('type_carte_fidelite').style.display = "none";
				$('num_carte_fidelite').style.display = "none";
				$('meilleur-prix').style.display = "block";
			}
		}
	});
	
	var showCodePrefOnLoad = $('code_preferentiel').checked;
	ACC.codePref = ACC.tools.showHide({
		triggerID: 'code_preferentiel',
		target: 'code-pref-more',
		classShow: 'on',
		classHide: 'off',
		showOnLoad: showCodePrefOnLoad,
		onShow: function() {
			$('code_avantage').disabled = false;
			$('code_avantage').style.visibility = "visible";
		},
		onHide: function() {
			$('code_avantage').disabled = true;
			$('code_avantage').style.visibility = "hidden";
		}
	});
	
	ACC.langMenu = ACC.tools.showHide({
		triggerID: 'languages',
		target: 'ul',
		classShow: 'on',
		classHide: 'off',
		actionType: 'mouseover'
	});
	ACC.rechercherReserver = ACC.tools.showHide({
		triggerID: 'mTousLesHotels',
		target: 'ul',
		classShow: 'on',
		classHide: 'off',
		actionType: 'mouseover'
	});
	ACC.rechercherReserver2 = ACC.tools.showHide({
		triggerID: 'mTousLesHotels',
		target: 'mTousLesHotels',
		classShow: 'on',
		classHide: 'off',
		onShow: function() {
			$('nb_nuit').style.visibility = "hidden";
			if($('location'))
			$('location').style.visibility = "hidden";
			if($('pays'))
			$('pays').style.visibility = "hidden";
			
		},
		onHide: function() {
			
			$('nb_nuit').style.visibility = "visible";
			if($('location'))
			$('location').style.visibility = "visible";
			if($('pays'))
			$('pays').style.visibility = "visible";
		},
		actionType: 'mouseover'
	});

	ACC.progFidelite = ACC.tools.showHide({
		triggerID: 'mProgFidelite',
		target: 'ul',
		classShow: 'on',
		classHide: 'off',
		actionType: 'mouseover'/*,
		activeImage: {off: '_off.', on: '_on.'}*/
	});
		ACC.progFidelite2 = ACC.tools.showHide({
		triggerID: 'mProgFidelite',
		target: 'mProgFidelite',
		classShow: 'on',
		classHide: 'off',
		actionType: 'mouseover'
	});
	ACC.mPromos = ACC.tools.showHide({
		triggerID: 'mPromos',
		target: 'ul',
		classShow: 'on',
		classHide: 'off',
		onShow: function() {
			if($('location'))
			$('location').style.visibility = "hidden";
			if($('pays'))
			$('pays').style.visibility = "hidden";
			
		},
		onHide: function() {
			if($('location'))
			$('location').style.visibility = "visible";
			if($('pays'))
			$('pays').style.visibility = "visible";
		},
		actionType: 'mouseover'/*,
		activeImage: {off: '_off.', on: '_on.'}*/
	});
		ACC.mPromos2 = ACC.tools.showHide({
		triggerID: 'mPromos',
		target: 'mPromos',
		classShow: 'on',
		classHide: 'off',
		actionType: 'mouseover'
	});

	ACC.clearInputs = ACC.tools.clearInputText({
		transformID: 'ID_PASSWORD',
		transformTo: 'password'
	});
	
	var restoreEnterKey = function(e) { /* simule le submit automatique qui n'existe pas sous IE */
		if(window.event && window.event.keyCode == 13) { this.submit();}
		
	};
	var homeEngine = $('bookingEngine');
	Event.observe($('num_carte_fidelite'), 'keydown', restoreEnterKey.bind(homeEngine), false);
	Event.observe($('code_avantage'), 'keydown', restoreEnterKey.bind(homeEngine), false);
	var googleEngine = $('GoogleForm');
	Event.observe($('mot-rech'), 'keydown', restoreEnterKey.bind(googleEngine), false);
	
		/*AutoCompletion ******************************/
	addAutoCompletionDestination('bookingEngine', 'hotel_ou_ville', 'bouton_validation');

	
	// Géolocalisation
	if ($('geoloc-countries-list'))
	{
		var userLocalization = '';
		
		// récupération de la localisation dans le cookie userLocalization
		var cookieName = "userLocalization";
		var cookies = document.cookie.split(';');
		for (var i = 0; i < cookies.length; i++) {
			var cookie = cookies[i];
			while (cookie.charAt(0) == ' ') cookie = cookie.substring(1, cookie.length);
			if (cookie.indexOf(cookieName) == 0) {
				userLocalization = cookie.substring(cookieName.length + 1, cookie.length);
			}
		}
		
		// sélection du pays de résidence en fonction de la valeur du cookie
		if (userLocalization != '')
		{
			for (var i = 0; i < $('geoloc-countries-list').options.length; i++) {
				if ($('geoloc-countries-list').options[i].value == userLocalization)
				{
					$('geoloc-countries-list').selectedIndex = i;
					break;
				}
			}
		}
		
		// choix d'un autre pays dans la liste déroulante
		Event.observe(
			$('geoloc-countries-list'), 
			'change', 
			function() {
				if ($('geoloc-countries-list').value != userLocalization) { 
					window.location = '/geo/setCountry.jsp?country='+$('geoloc-countries-list').value;
				}
			},
			false
		);
		
	}
	
});