/*
 * Require jQuery JavaScript Library v1.3.2+
 * http://jquery.com/
 *
 * Copyright © 2011 MBA Multimédia (www.mba-multimedia.com)
 * 
 *
 */
					
$.tools.dateinput.localize('fr',  {
   months:        'janvier,f&eacute;vrier,mars,avril,mai,juin,juillet,ao&ucirc;t,septembre,octobre,novembre,d&eacute;cembre',
   shortMonths:   'jan,f&eacute;v,mar,avr,mai,jun,jul,ao&ucirc;,sep,oct,nov,d&eacute;c',
   days:          'dimanche,lundi,mardi,mercredi,jeudi,vendredi,samedi',
   shortDays:     'dim,lun,mar,mer,jeu,ven,sam'
});

$.tools.dateinput.localize('de',  {
   months:      'Januar,Februar,M&auml;rz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember',
   shortMonths: 'Jan,Feb,Mauml;r,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez',
   days:        'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag',
   shortDays:   'So,Mo,Di,Mi,Do,Fr,Sa'
});

$(function(){
	
	// RETOUR HAUT DE PAGE
	$('#btn-hdp a').attr('href','').bind("click keydown", function(){ $('html').stop().scrollTo(0,500); return false; });
	
	// BOUTON MBA
	// pour compatibilité W3C, pas de "target=_blank" dans le lien
	$('#btn-mba a').attr('href','').bind("click keydown", function(){ window.open ('http://www.mba-multimedia.com/'); return false; });

	// MENU
	//$('#header .menuprim-ctn').css({ height:0, display:"block"});
	//$('#header .menuprim').hover(openMenu, closeMenu);
	
	// REFLECTION
	//$("img.reflect").reflect({/* Put custom options here */});
	if($("#annee").val() != "" && $("#mois").val()!= "" && $("#jour").val() != ""){
		var date = new Date($("#annee").val(), $("#mois").val(), $("#jour").val());
	} else {
		var date = 0;	
	}
	
	// INPUT DATE
	
	
	
	
	$(":date").dateinput({ 
				// DOC sur http://flowplayer.org/tools/dateinput/
				lang: code_langue, // détails loc cf init_gabarit.js
				format: 'dd/mm/yyyy',
				firstDay:1,
				min: -1, // aujourd'hui
				max: 365, // dans 1 an
				offset: [3,0],
				value: date,
				isSelectable: function (date) {
					//console.log(date);
					// N° de jour de la semaine (0 = dimanche, 1 = lundi, etc.)
					var jour = date.getDay();
					// NB en js, les mois vont de 0 à 11 et non de 1 à 12
					var debutHauteSaison = new Date (2012,6,7); // 7 juillet 2012
					var finHauteSaison = new Date (2012,8,1); // 1 septembre 2012
					var hauteSaison = (date.getTime() >= debutHauteSaison.getTime()) && (date.getTime() <= finHauteSaison.getTime());
					// Par défaut, les jours sont tous sélectionnables en basse saison, et non sélectionnables en haute saison
					var selectable = hauteSaison ? false : true;
					
					// Cas particulier : les 01, 03, 08 et 10 mai 2012. 
					var dMai1 = new Date (2012,4,1);
					var dMai3 = new Date (2012,4,3);
					var dMai8 = new Date (2012,4,8);
					var dMai10 = new Date (2012,4,10);
					
					// Ouverture exceptionnelle les 1 et 8 mai
					if (isSameDay(date,dMai1) || isSameDay(date,dMai8)){
						return true;
					}
					
					// Fermeture exceptionnelle les 5 et 10 mai
					if (isSameDay(date,dMai3) || isSameDay(date,dMai10)){
						return false;
					}
					
					// Ouverture selon le jour de la semaine
					switch (jour) {
						case 0:
							// dimanche
							break;
						case 1:
							// lundi
							break;
						case 2:
							// mardi : non sélectionnable en basse saison
							if (!hauteSaison) selectable = false;
							break;
						case 3:
							// mercredi : sélectionnable en haute saison
							if (hauteSaison) selectable = true;
							break;
						case 4:
							// jeudi
							break;
						case 5:
							// vendredi
							break;
						case 6:
							// samedi : sélectionnable en haute saison
							if (hauteSaison) selectable = true;
							break;
						default:
							break;
					}
					//console.log("--->"+selectable?"oui":"non");
					return selectable;
				}
			});
	
	//Set le calendrier sur les dates recherchees		
	if($("#annee").length && $("#mois").length && $("#jour").length)
	{
		var mois = parseInt($("#mois").val()) + 1;
		if(mois < 10)
		{
			mois = '0' + mois
		}
		else
		{
			mois = '' + mois
		}
		
		$(":date").dateinput({ value: new Date($("#annee").val(), $("#mois").val(), $("#jour").val()), min: -10, max: 30 });
		$("#date-arrivee").val($("#jour").val()+'/'+mois+'/'+$("#annee").val())
	}		
	
	//
	// LISTINGS
	if($('.elements').length){
		$('.elements .element').hover(elementOn, elementOff).click(elementClick);
	} 
	
	//
	$("#btn-plus-criteres a").bind("click keydown",openCloseCriteres).attr('href', "javascript:return null;");
	$("#btn-close-criteres a").bind("click keydown",openCloseCriteres).attr('href', "javascript:return null;");
	$("#plus-criteres").css({opacity:0});
	
	load_region();
	load_camping();

	if($("#iframe-resalys").length){
		$("#iframe-resalys").load(hauteurIframe);
	};
	
}); 
function hauteurIframe() {
  document.getElementById('iframe-resalys').height = 480;
  var h = 0;
  h = document.getElementById('iframe-resalys').contentWindow.document.body.scrollHeight;
	//console.log ("hauteur iframe = "+h);
  document.getElementById('iframe-resalys').height = h+14;
};	

// Récupérer les infos via l'id de zone du flash
function infoZonageFlash (id){
	//console.log ("infoZonageFlash ("+id+")");

	for (var i in dataZonage) {
		if(dataZonage[i].idFlash == id){
			return dataZonage[i];
		} 
	}
	return null;
}

// Récupérer les infos via l'id de zone du PHP
function infoZonagePHP (id){
	for (var i in dataZonage) {
		if(dataZonage[i].idPHP == id){
			return dataZonage[i];
		} 
	}
	return null;
}


// FONCTIONS
function isSameDay(d1, d2) {
	return d1.getFullYear() === d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate();
}
function openMenu (){
	$('#header .menuprim-ctn').stop().animate({height:137}, 200);
}
function closeMenu (){
	$('#header .menuprim-ctn').stop().animate({height:0}, 400);
}

function openCloseCriteres () {
	if($("#plus-criteres").hasClass("open")) {
		$("#plus-criteres").stop().animate({opacity:0}, 200, function(){ $(this).removeClass("open").css({display:"none"});  });
	} else {
		$("#plus-criteres").css({display:"block"}).stop().animate({opacity:1}, 200, function(){ $(this).addClass("open"); });
	}
}

function openCloseSuite () {
	if($("#suite").hasClass("open")) {
		$("#suite").stop().animate({height:175}, 200, function(){ $(this).removeClass("open"); });
		$("#suite .degrade").stop().animate({opacity:1}, 200);
	} else {
		var h = $("#suite > .texte").outerHeight();
		$("#suite").stop().animate({height:h}, 200, function(){ $(this).addClass("open"); });
		$("#suite .degrade").stop().animate({opacity:0}, 200);
	}
	return false;
}

function elementOn (){
	$(this).addClass ('on');
}

function elementOff (){
	$(this).removeClass ('on');
} 

function elementClick (){
	window.open($(this).find('a').attr('href'), '_top');
}

function initThemes () {
	/*$("#themes-nav ul").tabs("#themes-items > div", { effect:"fade", fadeOutSpeed:"slow", event:"mouseover", rotate: true }).slideshow().data("slideshow").play();*/
	$("#themes-nav ul").tabs("#themes-items > div", { effect:"fade", fadeOutSpeed:"slow" });
}

function initDiaporama () {
	var rootApi = $("#diaporama .scrollable").scrollable({circular:true}).autoscroll({interval:5000});
	
	if ($("#diaporama-txt").length) {
		var rootApiTxt = $("#diaporama-txt .scrollable").scrollable({circular:true});
		
		// Api "maître"
		var api = rootApi.data("scrollable"); 
		
		// Api "pilotée par l'api maître"
		var apiTxt = rootApiTxt.data("scrollable"); 

		// Désactiver le défilement par le clavier de l'api pilotée (sinon défile sans l'api maître)
		apiTxt.getConf().keyboard = false;
		
		// Activer le défilement par le clavier de l'api maître (ne semble pas fonctionner sous FF)
		api.getConf().keyboard = true;
		
		// Aperçu par défaut
		$("#apercu_"+(api.getSize()-1)).addClass("apercu-left");
		$("#apercu_1").addClass("apercu-right");
		
		// Affichage des aperçus au survol des boutons suivant/précédent
		$("#diaporama .prev").hover (function(){ $(".apercu-left").stop().animate({left:0}, 100); }, function(){ $(".apercu-left").stop().animate({left:-250}, 100); });
		$("#diaporama .next").hover (function(){ $(".apercu-right").stop().animate({right:0}, 100); }, function(){ $(".apercu-right").stop().animate({right:-250}, 100); });
		
		// Action avant de changer de panneau sur l'api maître
		api.onBeforeSeek = function() {
			// Masquer le texte
			$("#diaporama-txt").stop().animate({opacity:0}, 300);
			// Raz des aperçus
			$(".apercu-left").removeAttr("style").removeClass("apercu-left");
			$(".apercu-right").removeAttr("style").removeClass("apercu-right");
		}
		
		// Action au changement de panneau de l'api maître
		api.onSeek = function() {
			// Affichage du texte
			apiTxt.seekTo (api.getIndex(), 0);
			$("#diaporama-txt").stop().animate({opacity:1}, 100);
			
			// Id aperçu de gauche
			var nLeft = api.getIndex()-1;
			if (nLeft<0) nLeft = api.getSize()-1;
			
			// Id aperçu de droite
			var nRight = api.getIndex()+1;
			if (nRight>api.getSize()-1) nRight = 0;
			
			// Placement des aperçus
			$("#apercu_"+nLeft).addClass("apercu-left");
			$("#apercu_"+nRight).addClass("apercu-right");
		}
	}
}

function initCarrousel () {
	if ($("#carrousel .element").size()>3) {
		$("#carrousel .scrollable").scrollable({circular:true}).autoscroll({interval:4000});
	} else {
		$("#carrousel .browse").css({display:"none"});
	}
}

function initOnglets () {
	//console.log ("initOnglets()");
	$("#onglets .tabs").tabs("#onglets .onglet");
}

function initBtnTemoignages () {
	$("#btn-temoignage a").overlay({

		mask: '#fff',
		close:'#btn-close a',

		onBeforeLoad: function() {

			// grab wrapper element inside content
			var wrap = this.getOverlay().find(".contentWrap");

			// load the page specified in the trigger
			wrap.load(this.getTrigger().attr("href"));
		}

	});
}

function initTri () {
	// reporter graphiquement les changements d'état du bouton radio à son label associé (inutile si formulaire validé au choix du tri)
	//$('#tri input[type=radio]').bind ('change', checkLabel);
	
	// valider le formulaire lors du click sur "date" ou "prix"
	$('#tri label').click (function(){
		$("#tri input[id='"+ $(this).attr("for") +"']").attr("checked", true);
		$('#tri_form').submit(); 
	});
	
	// au chargement de la page, mettre en surbrillance le tri actuel
	checkLabel ();
}

function checkLabel () {
	$('#tri input[type=radio]').each (function() {

		var label = $("label[for='" + $(this).attr("id") + "']");

		if ($(this).is(':checked'))
			label.addClass("checked"); 
		else
			label.removeClass("checked"); 

	});
}

function load_region()
{
	// Conflit jquery-ui et onglets jquerytools
	
	var xhrB = getXMLHttpRequest();
 
	if(xhrB && xhrB.readyState != 0) {
			xhrB.abort(); 
	}

	xhrB.onreadystatechange = function() { 
		if(xhrB.readyState == 4 && (xhrB.status == 200 || xhrB.status == 0)) { 	
				$("#ra_region").html(xhrB.responseText);
				load_camping();
		} else if(xhrB.readyState == 2 || xhrB.readyState == 3) {}
	}
	
	if(document.getElementById("ra_pays") != "" && document.getElementById("ra_pays") != null){
		var select = document.getElementById("ra_pays");
		var valeur = select.options[select.selectedIndex].value;
		
		var pays = valeur;
		var region = $("#regionHidden").val();
	
		xhrB.open("GET", "/"+code_langue+"/include/load_region.php?pays="+pays+"&region="+region, true);
		xhrB.send(null);
	}
}

function load_camping()
{
	var xhrC = getXMLHttpRequest();
 
	if(xhrC && xhrC.readyState != 0) {
			xhrC.abort(); 
	}

	xhrC.onreadystatechange = function() { 
		if(xhrC.readyState == 4 && (xhrC.status == 200 || xhrC.status == 0)) {
				$("#ra_camping").html(xhrC.responseText);//alert(xhrC.responseText);
		} else if(xhrC.readyState == 2 || xhrC.readyState == 3) {}
	}
	
	if(document.getElementById("ra_pays") != "" && document.getElementById("ra_pays") != null && document.getElementById("ra_region") != "" && document.getElementById("ra_region") != null){
		var selectd = document.getElementById("ra_pays");
		var valeurd = selectd.options[selectd.selectedIndex].value;
		
		var selectr = document.getElementById("ra_region");
		var valeur = selectr.options[selectr.selectedIndex].value;
	
		var pays = valeurd;
		var region = valeur;
			if(region == ""){
				region = $("#regionHidden").val();
			}
		var camping = $("#campingHidden").val();
		
		if(region == null){
			region= "";
		}
		if(camping == null){
			camping= "";
		}
		xhrC.open("GET", "/"+code_langue+"/include/load_camping.php?pays="+pays+"&region="+region+"&camping="+camping, true);
		xhrC.send(null);
	}
}

function load_regionDM()
{
	var xhrB = getXMLHttpRequest();
 
	if(xhrB && xhrB.readyState != 0) {
			xhrB.abort(); 
	}

	xhrB.onreadystatechange = function() { 
		if(xhrB.readyState == 4 && (xhrB.status == 200 || xhrB.status == 0)) { 	
				$("#tri-regions").html(xhrB.responseText);
		} else if(xhrB.readyState == 2 || xhrB.readyState == 3) {}
	}
	
	var select = document.getElementById("tri-pays");
	var valeur = select.options[select.selectedIndex].value;
	
	var pays = valeur;
	var region = $("#regionHiddenDM").val();

	xhrB.open("GET", "/"+code_langue+"/include/load_region.php?pays="+pays+"&region="+region, true);
	xhrB.send(null);
}
 
