jQuery.noConflict();

if(VVF === undefined) {
	var VVF = {};
}

// ----------------------- Flash D�tection et NoFlash
		//requiredVersion est la valeur du plugin que l'on veut d�tecter
		var requiredVersion = 7;
		var flash2Installed = false;
		var flash3Installed = false;
		var flash4Installed = false;
		var flash5Installed = false;
		var flash6Installed = false;
		var flash7Installed = false;
		var flash8Installed = false;
		var flash9Installed = false;
		var flash10Installed = false;
		var maxVersion = 10;
		//actualVersion sera la valeur du plugin install� sur la machine
		var actualVersion = 0;
		var jsVersion = 1.0;

		var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;
		var ns4=(document.layers);
		var ie4=(document.all&&!document.getElementById);
		var ie5=(document.all&&document.getElementById);
		var ns6=(!document.all&&document.getElementById);
		var isMac=(navigator.appVersion.indexOf("Mac")>=0)?1:0;
		var dom=(document.getElementById)? 1:0;
		var isIE = (ie4 || ie5)?1:0;

		jsVersion = 1.1;
		if(isIE && isWin){
		  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
		  document.write('on error resume next \n');
		  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
		  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
		  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
		  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');
		  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');
		  document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
		  document.write('flash10Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.10"))) \n');
		  document.write('</SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script
		}
		function detectFlash() {
		  if (navigator.plugins) {
			if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			  var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			  var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			  var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
			  
			  // modif pour Flash 10 et sup�rieur
			  var hackFlash10 = flashDescription.split(" ")[2].split('.')[0];
			  flash2Installed = flashVersion == 2;
			  flash3Installed = flashVersion == 3;
			  flash4Installed = flashVersion == 4;
			  flash5Installed = flashVersion == 5;
			  flash6Installed = flashVersion == 6;
			  flash7Installed = flashVersion == 7;
			  flash7Installed = flashVersion == 8;
			  flash7Installed = flashVersion == 9;
			  flash7Installed = flashVersion >= 10;
			}
		  }
		  else if (isMac){
			//pour MAC IE, on estime que le plugin est install�...
			actualVersion = 7;
		 }
		  for (var i = 2; i <= maxVersion; i++) {
			if (eval("flash" + i + "Installed") == true){
				actualVersion = i;
			}
		  }
		  if(hackFlash10 >= 7){
			actualVersion = hackFlash10;
		}
		  if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 3;
		  if (actualVersion >= requiredVersion) {
		  	//la version du plugin install� est sup�rieure ou �gale à la version n�cessaire
			} 
			else {
				//la version du plugin install� est inf�rieure à la version n�cessaire
				//noflash();
			}
		}

		function noflash(){
				if(jQuery("#codeLang").attr("value") == "nl-NL"){
					var txtDetect = "Om alle elementen van deze pagina weer te geven, heeft u de Flash Player plug-in nodig. Klik op « OK » om deze nu te installeren.";
				}
				else if(jQuery("#codeLang").attr("value") == "fr-FR"){
					var txtDetect = "Le plugin Flash Player est n�cessaire pour afficher tous les �l�ments de cette page. Cliquez sur « OK » pour l'installer maintenant.";
				}
				else if(jQuery("#codeLang").attr("value") == "de-DE"){
					var txtDetect = "Flash Player ist notwendig, um alle Elemente dieser Seite anzuzeigen. Klicken Sie auf OK, um ihn jetzt zu installieren.";
				}
				else if(jQuery("#codeLang").attr("value") == "en-US"){
					var txtDetect = 'The Flash Player plug-in is required to display all the items on this page. Click on "OK" to install it now.';
				}
				else{
					var txtDetect = 'The Flash Player plug-in is required to display all the items on this page. Click on "OK" to install it now.';
				}
				if (confirm(txtDetect)){
					window.open("http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","_blank","toolbar=yes,location=yes,directories=yes,status=yes,scrollbars=yes,resizable=yes,copyhistory=yes");
				}
		}




// pour les flashs
function playPause() {
	document.getElementById('diaporama').playPause();
}

function get_random() {
	var ranNum= Math.floor(Math.random()*1000);
	return ranNum;
}
var rand = get_random();

(function($) {
	var module = {
		calendar: !!VVF.Calendar,
		fauxFields: !!VVF.FauxFields,
		showHide: !!VVF.ShowHide
	};
	
	VVF.playPauseFlashBGInit = function() {
		VVF.playPauseBtn = $('#controlVideo img');
		VVF.playPauseBtn.click(VVF.playPauseClick);
	};
	VVF.playPauseClick = function(e) {
		if(VVF.ie6PNG) {
			if(this.runtimeStyle.filter.indexOf('play_video') > -1) {
				this.runtimeStyle.filter = this.runtimeStyle.filter.replace('play_video.', 'pause_video.');
			} else {
				this.runtimeStyle.filter = this.runtimeStyle.filter.replace('pause_video.', 'play_video.');
			}
		} else {
			if(this.src.indexOf('play_video') > -1) {
				this.src = this.src.replace('play_video.', 'pause_video.');
			} else {
				this.src = this.src.replace('pause_video.', 'play_video.');
			}
		}
		playPause();
		e.preventDefault();
	};
	
	VVF.updateContentFocus = function(o) {
		// remplir l'�l�ment clubFocus
	};
	
	// write all page flashs
	VVF.writeFlashs = function(datas) {
		// version du player flash install?e
		var version = parseInt(deconcept.SWFObjectUtil.getPlayerVersion().major);
		// en dessous de flash 7, pas d'expressInstall
		if(version<7)
			var exInstall = false;
		else
			var exInstall = true;
		
		var isInstall = false;
		
		var d, home = !!datas.home, club = !!datas.club;
		
		if(datas.mediator && document.getElementById('mediatorSWF')) {
			d = datas.mediator;
			
			VVF.swfMediator = new SWFObject(d.url, "mediator", "1", "1", "8", "#FFFFFF");
			VVF.swfMediator.addParam("scale", "noScale");
			VVF.swfMediator.addParam("allowScriptAccess", "always");
			VVF.swfMediator.addVariable("sessionId", rand);
			VVF.swfMediator.addVariable("nbrConnect", 2);
			VVF.swfMediator.addVariable("isHome", home);
			VVF.swfMediator.addVariable("configPath", d.config);
			VVF.swfMediator.addVariable("isLocal", false);
			if(datas.mapTool && datas.mapTool.region) {
				VVF.swfMediator.addVariable("region", datas.mapTool.region);
			}
			VVF.swfMediator.write("mediatorSWF");
		}
		
		
		if(datas.flashBG && VVF.swfMediator && document.getElementById('flashBG')) {
			d = datas.flashBG;
			var bgH = (home || club) ? '457' : '291';
			
			VVF.swfFlashBG = new SWFObject(d.url, "diaporama", "100%", bgH, "8", "#FFFFFF");
			VVF.swfFlashBG.addParam("wmode", 'transparent');
			VVF.swfFlashBG.addParam("scale", "noScale");
			VVF.swfFlashBG.addParam("allowScriptAccess", "always");
			VVF.swfFlashBG.addVariable("sessionId", rand);
			if(d.image) {
				VVF.swfFlashBG.addVariable("file", escape(d.image));
			}
			if(d.idRef) {
				VVF.swfFlashBG.addVariable("idRef", d.idRef);
			}
			if(d.cityName) {
				VVF.swfFlashBG.addVariable("cityName", d.cityName);
			}
			if(d.resortName) {
				VVF.swfFlashBG.addVariable("resortName", d.resortName);
			}
			if(d.caption) {
				VVF.swfFlashBG.addVariable("caption", d.caption);
			}
			if(d.link) {
				VVF.swfFlashBG.addVariable("link", d.link);
			}
			if(d.target) {
				VVF.swfFlashBG.addVariable("target", d.target);
			}
			/*if(exInstall && !isInstall){
				isInstall = true;
				VVF.swfFlashBG.setAttribute("xiRedirectUrl", self.location);
				VVF.swfFlashBG.useExpressInstall("/BelambraResources/flash/expressinstall.swf");
			}
*/			VVF.swfFlashBG.write("flashBG");
			
			if(d.image && d.image.indexOf('.swf') == -1) {
				$('#controlVideo').addClass('off');
			} else {
				VVF.playPauseFlashBGInit();
			}
		}
		
		//if(datas.mapTool && VVF.swfMediator && VVF.swfFlashBG && document.getElementById('mapToolSWF')) {
		if(datas.mapTool && VVF.swfMediator && document.getElementById('mapToolSWF')) {
			d = datas.mapTool;
			
			VVF.swfMap = new SWFObject(d.url, "map", "238", "240", "8", "#9E0B73");
			VVF.swfMap.addParam("wmode", "transparent");
			VVF.swfMap.addParam("scale", "noScale");
			VVF.swfMap.addParam("allowScriptAccess", "always");
			VVF.swfMap.addVariable("sessionId", rand);
			VVF.swfMap.addVariable("isHome", home);
			VVF.swfMap.addVariable("configPath", d.config);
			VVF.swfMap.addVariable("idClub", d.club);
			
			if(d.region) {
				VVF.swfMap.addVariable("regionId", d.region);
			}
			VVF.swfMap.addVariable("isLocal", false);
			if(exInstall && !isInstall){
				isInstall = true;
				VVF.swfMap.setAttribute("xiRedirectUrl", self.location);
				VVF.swfMap.useExpressInstall("http://www.belambra.fr/BelambraResources/flash/expressinstall.swf");
			}
			VVF.swfMap.write("mapToolSWF");
		}
		
		
		if(datas.club && document.getElementById('clubSwap')) {
			d = datas.club;

			VVF.clubSwap = new SWFObject(d.url, "clubSwapSWF", "471", "180", "7", "#FFFFFF");
			VVF.clubSwap.addParam("quality", 'best');
			VVF.clubSwap.addParam("wmode", 'transparent');
			VVF.clubSwap.addVariable("xmlPath", d.xml);
			VVF.clubSwap.addVariable("imgPath", d.img);
			VVF.clubSwap.addVariable("sessionId", rand);
			if(exInstall && !isInstall){
				isInstall = true;
				VVF.clubSwap.setAttribute("xiRedirectUrl", self.location);
				VVF.clubSwap.useExpressInstall("http://www.belambra.fr/BelambraResources/flash/expressinstall.swf");
			}
			VVF.clubSwap.write("clubSwap");
		}
		
		if(datas.player && document.getElementById('player')) {
			d = datas.player;
			
			VVF.player = new SWFObject(d.url, "playerSWF", "95", "18", "7", "#FFFFFF");
			VVF.player.addParam("quality", 'best');
			VVF.player.addParam("wmode", 'transparent');
			VVF.player.addVariable("autoplay", 0);
			VVF.player.addVariable("sessionId", rand);
			if(exInstall && !isInstall){
				isInstall = true;
				VVF.player.setAttribute("xiRedirectUrl", self.location);
				VVF.player.useExpressInstall("http://www.belambra.fr/BelambraResources/flash/expressinstall.swf");
			}
			VVF.player.write("player");
		}
		
		
	};
	
	// Calendar
	VVF.makeCalendar = function(datas) {
		datas.accessor.method = datas.accessor.method || 'append';
		datas.calendar.url = 'http://www.belambra.fr/BelambraResources/views/DateDispo.aspx';
		jQuery(datas.accessor.target)[datas.accessor.method](
			'<div id="' + datas.accessor.contentID + '" class="openCalendar">'+
			'	<div class="fauxSelect"><span id="' + datas.accessor.dateID + '">' + l10n.get('calendar', 'dateHolder') + '</span></div>'+
			'	<a href="#" class="open">' + l10n.get('calendar', 'altImageOpen') + '</a>'+
			'</div>'
		);
		var ajax = null;
		if(datas.calendar.typeAction) {
			ajax = {
				url: datas.calendar.url,
				getDatas: function(c) {
					return {year: c.last.y, month: c.last.m, day: c.last.d, typeAction: datas.calendar.typeAction, idClub: escape(VVF.idClubPopin || VVF.idClub), promoId: (document.forms[0].PromoId) ? document.forms[0].PromoId.value : ''};
				}				
			};
		}

		VVF[datas.calendar.id] = VVF.Calendar.Create({
			id: datas.calendar.id,
			target: datas.calendar.target,
			insert: datas.calendar.insert,
			firstDay: datas.calendar.firstDay,
			fields: datas.calendar.dayID + ', ' + datas.calendar.monthID + ', ' + datas.calendar.yearID,
			disable: datas.calendar.disable,
			isResetable: datas.calendar.isResetable,
			min: {},
			max: {y: 1, method: 'add'},
			ajax: ajax
		});
		VVF[datas.calendar.id].addListener('dateselect', function() {
			$(datas.calendar.dayID).val(this.last.d).change().blur();
			$(datas.calendar.monthID).val(this.last.m).change().blur();
			$(datas.calendar.yearID).val(this.last.y).change().blur();
		});
		VVF[datas.calendar.id].addListener('dateunselect', function() {
			$(datas.calendar.dayID).val("").change().blur();
			$(datas.calendar.monthID).val("").change().blur();
			$(datas.calendar.yearID).val("").change().blur();
		});
	};
	
	if(module.calendar) {
		VVF.Calendar.setConfig({
			dateFormat: l10n.get('calendar', 'dateFormat'),
			prevMonth: {txt: l10n.get('calendar', 'prevMonth'), cName: 'prev'},
			nextMonth: {txt: l10n.get('calendar', 'nextMonth'), cName: 'next'},
			months: l10n.get('calendar', 'months'),
			days: l10n.get('calendar', 'days'),
			closeLink: {txt: l10n.get('calendar', 'closeLink'), cName: 'close'}
		});
	}
	
	// Enable/Disable fields
	VVF.disableFields = function(target) {
		if(typeof target == 'string') {
			var h = $(target).get(0).offsetHeight;
			return $('<div class="maskFields" style="margin-bottom:-' + h + 'px; height:' + h + 'px;"></div>').insertBefore(target);
		} else {
			target.removeClass('hide');
		}
	};
	
	VVF.enableFields = function(obj) {
		if (obj != null) {
			obj.addClass('hide');
		}
	};
	
	// Input text management
	VVF.clearInputText = function() {
		if(this.value == this.defaultValue) {
			this.value = '';
		}
	};
	
	VVF.restoreInputText = function() {
		if(/^\s*$/.test(this.value)) {
			this.value = this.defaultValue;
		}
	};
	
	VVF.inputText = function(context) {
		context = context || document;
		$('input[id=fEmailFilleul], input[id=fPrenomFilleul], input[id=fNomFilleul], input[id=fTel], input[id=fNickName], input[id=fPartenaireCode], input[id=fMailNewsletter], input[id=fMailNewsletter2], input[id=fNickNameSelection],  input[type=password]', context).filter(function() {
			if(this.defaultValue) {return this;}
		}).focus(VVF.clearInputText).blur(VVF.restoreInputText);
	};
	
	VVF.openPopin = function(url, mask, elm) {
		var thumbs, img;
		if (elm) {
			elmClass = elm.attr('class');
		}
		function popinOnLoad(e, elmClass) {
					
			if(VVF.ie6PNG) {
				VVF.ie6PNG(VVF.cachePopin[this.url].popin);
			}
			VVF.inputText(VVF.cachePopin[this.url].popin);
			thumbs = $('#thumbnails', this.popin);
			img = $('#selectedImage img', this.popin);
			
			if(thumbs.length) {
				VVF.cachePopin[this.url].gallery = new VVF.SlideCycle({
					context: thumbs,
					next: 'a.down',
					prev: 'a.up',
					items: 'li',
					itemsDisplayed: 4,
					move: 91,
					direction: 'top',
					offScreen: -10000
				});
				VVF.cachePopin[this.url].gallery.items.click(function(e) {
					img.attr('src', $('a', this).attr('href'));
					e.preventDefault();
				});
			}
			VVF.lastPopinOpened = VVF.cachePopin[this.url].addListener('open', popinOnOpen);
			VVF.cachePopin[this.url].addListener('close', function() {
			    VVF.idClubPopin = null;
			});
			
		}
		
		function popinOnOpen(e) {
			if(VVF.cachePopin[this.url].gallery && this.openings > 1) {
				VVF.cachePopin[this.url].gallery.reassignEvents();
				VVF.cachePopin[url].gallery.items.click(function(e) {
					img.attr('src', $('a', this).attr('href'));
					e.preventDefault();
				});			
			} else if(e.target.popin.find('#bookingPopin').length) {				
								
				if(elm && elmClass == 'modifySearch') {
				
					var tempRegionIndex = $('#fRegion')[0].selectedIndex;
					var tempClubIndex = $('#fClub')[0].selectedIndex;
					var tempBookingToolDate = $('#bookingToolDate').html();
					var tempfLength = $('#fLength')[0].selectedIndex;
					var tempfAdults = $('#fAdults')[0].selectedIndex;
					var tempfChildren = $('#fChildren')[0].selectedIndex;
					var tempfBabies = $('#fBabies')[0].selectedIndex;
					
					VVF.js.bookingPopin(tempRegionIndex, tempClubIndex, tempBookingToolDate, tempfLength, tempfAdults, tempfChildren, tempfBabies);					

				} else if (url.indexOf('idClubDevis') > -1 ) {					
					var argIdClubDevis = url.split('idClubDevis=')[1].replace(/([^&]+).*/, '$1');					
					VVF.js.bookingPopin('', '', '', '', '', '', '', argIdClubDevis)
				}
			}
		}
		VVF.currentPopin = VVF.Popin.manager(url, mask, popinOnLoad);
		
	};
	
	VVF.closePopin = function() {
	    if (VVF.currentPopin) {
	        VVF.currentPopin.close();
	        VVF.currentPopin = null;
	    }
	};
	
	var getSelectOptions = function(select) {
		if(select.jquery) {
			select = select.get(0);
		}
		var options = [], opt, i = select.options.length, l = i - 1, sI = select.selectedIndex;
		while(i--) {
			opt = select.options[l - i];
			options.push([opt.text, opt.value, (l - i == sI)]);
		}
		return options;
	};
	
	var setSelectOptions = function(datas) {
		if(datas.select.jquery) {
			datas.select = datas.select.get(0);
		}
		
		if(datas.clean) {
			datas.select.options.length = 0;
		}
		var i = datas.options.length, l = i - 1, option, sI = 0;
		if(datas.compare === undefined) {
			while(i--) {
				option = datas.options[l - i];
				if(option[2]) {
					sI = l - i;
				}
				datas.select.options[datas.select.options.length] = new Option(option[0], option[1]);
			}
			datas.select.selectedIndex = sI;
		} else {
			if(datas.compare) {
				datas.select.options[0] = new Option(' ', '');
			}
			while(i--) {
				option = datas.options[l - i];
				if(option[1].indexOf(datas.compare) > -1) {
					datas.select.options[datas.select.options.length] = new Option(option[0], option[1]);
				}
			}
		}
	};
	
	var bookingToolIds = 'bookingForm,multiSearchForm';
	
	// Scripts
	VVF.js = {
		common: function() {
			// manage menu states
			var mkey = document.getElementById('mainMenuKey');
			if (mkey && mkey.value) {
				var elt = document.getElementById(mkey.value);
				if (elt) {
					if(elt.getElementsByTagName('ul').length) {
						$(document.body).addClass('menuMainActive');
					}
					elt.className = "on";
				}
			}
			
			var msubkey = document.getElementById('mainMenuSubKey');
			if (msubkey && msubkey.value) {
				var elt = document.getElementById(msubkey.value);
				if (elt){
					elt.className = "on";
				}
			}
			
			var isConnectedPartner = document.getElementById('isConnectedPartner');
			if (isConnectedPartner) {
				var menuToDelete = document.getElementById('mAccount');
				if (menuToDelete) {menuToDelete.parentNode.removeChild(menuToDelete);}
				menuToDelete = document.getElementById('mGroup');
				if (menuToDelete) {menuToDelete.parentNode.removeChild(menuToDelete);}
				menuToDelete = document.getElementById('mSeminars');
				if (menuToDelete) {menuToDelete.parentNode.removeChild(menuToDelete);}
			}
			
			// manage input texts focus / blur
			VVF.inputText();
			
			$(document).click(function(e) {
				var t = e.target;
				while(t.parentNode && t.nodeName != 'A') {
					t = t.parentNode;
				}
				t = $(t);
				if(t.hasClass('openPopinMax') || t.hasClass('openPopinMin') || t.hasClass('modifySearch')) {
					e.preventDefault();
					var url = t.attr('href'), mask = t.hasClass('openPopinMax') || t.hasClass('modifySearch');
					VVF.openPopin(url, mask, t);
				}
			});
		},
		
		
		showBookingTool: function(id) {
			if(bookingToolIds.indexOf(id) > -1) {
				$('#' + id).addClass('on').removeClass('off');
				VVF.js.hideBookingTool(bookingToolIds.replace(id, '').replace(',', ''));
				if(VVF.ie6PNG) {
				    window.setTimeout(function() {
				        $('#' + id).css('display','none').css('display','block');
				    }, 20);
				}
				var bookingTool = $('#bookingTool');
				if(bookingTool.hasClass('alt')) {
					bookingTool.removeClass('alt');
				} else {
					bookingTool.addClass('alt');
					$('#bookingTool .submit a').click(function(){
						//console.log("test");
					});
				}
			}
		},
		
		hideBookingTool: function(id) {
			if(bookingToolIds.indexOf(id) > -1) {
				$('#' + id).addClass('off').removeClass('on');
			}
		},
		
		support: function(id) {
			if(module.showHide && document.getElementById(id)) {
				// Show/Hide
				VVF.supportSH = VVF.ShowHide.Title({
					trigger: '#support div.item.on p, #support div.item.off p'
				});
				$('#bookingTool p').each(function(i, elm) {
					var tempHTML = $(elm).html();
					$(elm).html('');
					$(elm).append('<a href="##"></a>');
					$(elm).find('a').html(tempHTML);
				});
				$('#bookingTool p').click(function(e) {
					e.preventDefault();
					var parent = this.parentNode;
					if($(parent).hasClass('off')) {
						VVF.js.showBookingTool(parent.id);
					}
				});
				if($('#IsSearchForMulti').val() == 'true' && $('#multiRegion').val() == '') {
					VVF.js.showBookingTool('multiSearchForm');
				}
								
				if($('#MultiRegion').val() != ''){
				    var multiRegionVal = $('#MultiRegion').val();
				    $('#fRegion option[value~="'+multiRegionVal+'"]').attr('selected','selected');
				}
			}
		},

		bookingPopin: function(region,club,date,time,adults,children,babies,argIdClubDevis) {
			if(module.calendar && document.getElementById('bookingPopin')) {		
				var fClubHidden = $('#fDevisRegionClubPopin'),
					fLength = $('#fLengthPopin');
				
			
				VVF.idClubPopin = fClubHidden.val();
				
				var disableCalendar = function() {
					VVF.bookingPopinCalendar.disable();
					// disable length of stay
					fLength.parent().addClass('disabled').get(0).disabled = true;
				};
				
				var enableCalendar = function() {
					VVF.bookingPopinCalendar.enable();
				};
				
				// Calendar
				/*
				VVF.makeCalendar({
					accessor: {
						target: '#bookingPopin fieldset.startDate',
						contentID: 'bookingPopinOpenCalendar',
						dateID: 'bookingPopinDate'
					},
					calendar: {
						id: 'bookingPopinCalendar',
						target: 'bookingPopinDate',
						insert: 'bookingPopinOpenCalendar',
						firstDay: l10n.get('calendar', 'firstDay'),
						dayID: '#fStartDateDayPopin',
						monthID: '#fStartDateMonthPopin',
						yearID: '#fStartDateYearPopin',
						disable: '#bookingPopin fieldset.startDate',
						typeAction: 'datePromo'
					}
				});*/
								
				VVF.bookingPopinCalendar.addListener('dateselect', function() {
					// enable length of stay
					fLength.parent().removeClass('disabled').get(0).disabled = false;
					
					var day = this.last.d;
					if(this.last.enable['day:' + day].codePromo) {
					    $('#codePromoPopin').val(this.last.enable['day:' + day].codePromo);
					}
					
					// update length of stay			    	
					var params = {year: this.last.y, month: this.last.m, day: this.last.d, typeAction: 'duration', idClub: VVF.idClubPopin};
					$.get('http://www.belambra.fr/BelambraResources/views/DateDispo.aspx', params, function(data) {
						if(data && data.length > 5) {
							setSelectOptions({select: fLength, options: eval('(' + data + ')'), clean: true});
						}
					});
				});
				
				if(!VVF.idClubPopin) {
					disableCalendar();
				}
				
				var fClubSelect = $('#fClubPopin'), fRegionSelect = $('#fRegionPopin');
				
				if (fClubSelect.length && fRegionSelect.length) {
					var fClubOptions = getSelectOptions(fClubSelect);					
					
					fRegionSelect.change(function(e) {
						if(this.value) {
						
						VVF.idClubPopin = this.value;
						// store region ID in hidden input
						fClubHidden.val(VVF.idClubPopin);
						VVF.bookingPopinCalendar.fields.each(function() {
							this.value = '';
							VVF.bookingPopinCalendar.target[0].innerHTML = l10n.get('calendar', 'dateHolder');
						});
						VVF.bookingPopinCalendar.update();						
						enableCalendar();								
						} else {
							disableCalendar();
						}
						
						// filter clubs with the selected region
						setSelectOptions({select: fClubSelect, options: fClubOptions, clean: true, compare: this.value});
					});
					
					fClubSelect.change(function(e) {
						
						VVF.idClubPopin = this.value;
						
						// store club / region ID in hidden input
						fClubHidden.val(VVF.idClubPopin || fRegionSelect.val());
						if(!VVF.idClubPopin && !fRegionSelect.val()) {
							disableCalendar();
						} else {
							// update calendar with the new selected club or the selected region
							VVF.bookingPopinCalendar.fields.each(function() {
								this.value = '';
								VVF.bookingPopinCalendar.target[0].innerHTML = l10n.get('calendar', 'dateHolder');
							});
							VVF.bookingPopinCalendar.update();
							enableCalendar();
						}
					});
				}
				
				if(date){
					if(region) {
						var fClubOptions = getSelectOptions(fClubSelect);
						var fRegionSelect = $('#fRegionPopin')[0];
						if(region && !club){
							$('#fRegionPopin')[0].selectedIndex = region;
							setSelectOptions({select: fClubSelect, options: fClubOptions, clean: true, compare: fRegionSelect.value});
							$('#fDevisRegionClubHiddenPopin')[0].value =  $('#fRegionPopin')[0].value;
							enableCalendar();
						} else if(region && club){
							$('#fRegionPopin')[0].selectedIndex = region;
							setSelectOptions({select: fClubSelect, options: fClubOptions, clean: true, compare: fRegionSelect.value});
							$('#fClubPopin')[0].selectedIndex = club;
							$('#fDevisRegionClubHiddenPopin')[0].value =  $('#fClubPopin')[0].value;							
							enableCalendar();
						} 
					} else if (!region && club){
							$('#fClubPopin')[0].selectedIndex = club;
							$('#fDevisRegionClubHiddenPopin')[0].value =  $('#fClubPopin')[0].value;							
							enableCalendar();							
						}
					
					$('#fLengthPopin')[0].selectedIndex = time;
					
					$('#bookingPopinDate').html(date);
					
					var dayPopin = parseInt(date.substr(0,2));
					var monthPopin = parseInt(date.substr(3,2));
					var yearPopin = parseInt(date.substr(6,4));
					
					$('#fStartDateDayPopin')[0].value = dayPopin;
					$('#fStartDateMonthPopin')[0].value = monthPopin;
					$('#fStartDateYearPopin')[0].value = yearPopin;

					
					$('#fAdultsPopin')[0].selectedIndex = adults;

					if(children){
						$('#fChildrenPopin')[0].selectedIndex = children;
					};				
					
					if(babies){
						$('#fBabiesPopin')[0].selectedIndex = babies;
					};					
					
				}
				
				else if (argIdClubDevis) {
					VVF.idClubPopin = argIdClubDevis;					
					// store region ID in hidden input
					fClubHidden.val(VVF.idClubPopin);
					VVF.bookingPopinCalendar.fields.each(function() {
						this.value = '';
						VVF.bookingPopinCalendar.target[0].innerHTML = l10n.get('calendar', 'dateHolder');
					});
					VVF.bookingPopinCalendar.update();						
					enableCalendar();	
				}
				
				VVF.js.validateForms($('#bookingPopin'));
			}
		},
		
		bookingTool: function(id) {
			if(module.calendar && document.getElementById(id)) {
				var fRegion = $('#fRegion'),
					fClub = $('#fClub'),
					fDevisRegionClub = $('#fDevisRegionClub'),
					fLength = $('#fLength'),
					fClubOptions = getSelectOptions(fClub),
					hasSeeClubLink = !!$("#support #bookingToolForm").length,
					currentStay = false;
				
				VVF.idClub = fClub.val();
				
				if(hasSeeClubLink) {
					$('<span id="seeClub" style="display:none;"></span>').insertAfter(fClub);
				}
				/*
				var disableCalendar = function() {
					VVF.bookingToolCalendar.disable();
					// disable length of stay
					fLength.parent().addClass('disabled').get(0).disabled = true;
				};
				
				var enableCalendar = function() {
					VVF.bookingToolCalendar.enable();
				};
				
				// Calendar
				/*
				VVF.makeCalendar({
					accessor: {
						target: '#bookingToolForm fieldset.startDate',
						contentID: 'bookingToolOpenCalendar',
						dateID: 'bookingToolDate'
					},
					calendar: {
						id: 'bookingToolCalendar',
						target: 'bookingToolDate',
						insert: 'bookingToolOpenCalendar',
						firstDay: l10n.get('calendar', 'firstDay'),
						dayID: '#fStartDateDay',
						monthID: '#fStartDateMonth',
						yearID: '#fStartDateYear',
						disable: '#bookingTool fieldset.startDate',
						typeAction: 'date'
					}
				});
				VVF.bookingToolCalendar.addListener('dateselect', function() {
					// enable length of stay
					fLength.parent().removeClass('disabled').get(0).disabled = false;
					
					// update length of stay
					var params = {year: this.last.y, month: this.last.m, day: this.last.d, typeAction: 'duration', idClub: VVF.idClub};
					$.get('http://www.belambra.fr/BelambraResources/views/DateDispo.aspx', params, function(data) {
						if(data && data.length > 5) {
							setSelectOptions({select: fLength, options: eval('(' + data + ')'), clean: true});
							if(!isNaN(currentStay)) {
								fLength.children().each(function(i, elm) {
									if(elm.value == currentStay) {
										fLength[0].selectedIndex = i;
									}
								});
								currentStay = false;
							}
						}
					});
				});
				if(VVF.bookingToolCalendar.loadFromField) {
					currentStay = fLength.val();
					VVF.bookingToolCalendar.fireEvent('dateselect');
				}*/			
				
				// store region / club ID in hidden input
				fDevisRegionClub.val(VVF.idClub || fRegion.val());
				
				// if IsSearchForDevis => update calendar and length ???
				// if date selected => update length ???
				
				if(!VVF.idClub) {
					if(!fRegion.val()) {
						// disable calendar if no region / club selected...
						//disableCalendar();
					} else {
						// filter clubs with the selected region
						setSelectOptions({select: fClub, options: fClubOptions, clean: true, compare: fRegion.val()});
					}
					// ... and hide "see club" link
					$('#seeClub').css('display', 'none').empty();
				}
				
				fRegion.change(function(e) {
					if(this.value) {
						/*VVF.bookingToolCalendar.fields.each(function() {
							this.value = '';
							VVF.bookingToolCalendar.target[0].innerHTML = l10n.get('calendar', 'dateHolder');
						});					
						VVF.bookingToolCalendar.update();
						enableCalendar();*/						
					} else {
						/*disableCalendar();*/
					}
					
					// filter clubs with the selected region
					setSelectOptions({select: fClub, options: fClubOptions, clean: true, compare: this.value});
					// store region ID in hidden input
					fDevisRegionClub.val(this.value);
					// hide "see club" link
					$('#seeClub').css('display', 'none').empty();
				});
				
				fClub.change(function(e) {
					VVF.idClub = this.value;
					
					// store club / region ID in hidden input
					fDevisRegionClub.val(VVF.idClub || fRegion.val());
					
					if(!VVF.idClub && !fRegion.val()) {
						disableCalendar();
					} else {
						// update calendar with the new selected club or the selected region
						/*VVF.bookingToolCalendar.fields.each(function() {
							this.value = '';
							VVF.bookingToolCalendar.target[0].innerHTML = l10n.get('calendar', 'dateHolder');
						});
						VVF.bookingToolCalendar.update();
						enableCalendar();*/
					}
					
					// show / hide "see club" link if in sidebar
					if(hasSeeClubLink) {
						var tab = VVF.idClub.split('|');
						if(tab.length >= 3 && tab[0] == 'REG') {
							var id = tab[2];							
							var regId = tab[1];	
							var clubName = this.options[this.selectedIndex].text.replace(/\s/g, '_');
							var link = '';
							var url= $('#fClubUrls option[value="'+id+'"]').text();
							
							if (!url)
							    url = 'http://www.belambra.fr/club/' + clubName + '.aspx?idClub=' + id + '';
						
						   
							//if (fRegion.val())
							//    link = '<a onclick="setGoogleAnalytics(\'/quotation/more_info\');" href="/club/' + clubName + '.aspx?idClub=' + id + '&DevisRegion=REG|' + regId + '">' + l10n.seeClub + '</a>';
							//else
							    link = '<a onclick="setGoogleAnalytics(\'/quotation/more_info\');" target="_parent" href="' + url + '">' + l10n.seeClub + '</a>';
							
							$('#seeClub').html(link).css('display', 'block');
						} else {
							$('#seeClub').css('display', 'none').empty();
						}
					}
				});
			}
		},
		
		openingForm: function(id) {
			var opening = document.getElementById(id);
			if(module.calendar && !$('#opening #bookingToolForm').length && opening && $('input', opening).length) {
				var fRegion = $('#fRegionOffers'),
					fClub = $('#fClubOffers'),
					fDevisRegionClub = $('#fDevisRegionClubOffers'),
					fClubOptions = getSelectOptions(fClub),
					isSearchOffers = $('#IsSearchOffers').attr('value') == 'true';
				
				VVF.idClub = fClub.val();
				
				// Calendar
				/*
				VVF.makeCalendar({
					accessor: {
						target: '#opening fieldset.startDate',
						contentID: 'openingOpenCalendar',
						dateID: 'openingDate'
					},
					calendar: {
						id: 'openingCalendar',
						target: 'openingDate',
						insert: 'openingOpenCalendar',
						firstDay: l10n.get('calendar', 'firstDay'),
						dayID: '#fStartDateDayOffers',
						monthID: '#fStartDateMonthOffers',
						yearID: '#fStartDateYearOffers',
						disable: '#opening fieldset.startDate',
						typeAction: 'date',
						isResetable: !!$("#IsSearchOffers").length
					}
				});*/
				if(filterOffer) {
				    VVF.openingCalendar.addListener('dateselect', filterOffer);
					$('.resetButton').click(filterOffer);
				}
				
				// store region / club ID in hidden input
				fDevisRegionClub.val(VVF.idClub || fRegion.val());
				
				if(!VVF.idClub && fRegion.val()) {
					// filter clubs with the selected region
					setSelectOptions({select: fClub, options: fClubOptions, clean: true, compare: fRegion.val()});
				}
				
				fRegion.change(function(e) {
					// filter clubs with the selected region
					setSelectOptions({select: fClub, options: fClubOptions, clean: true, compare: this.value});
					// store region ID in hidden input
					fDevisRegionClub.val(this.value);
					if(isSearchOffers) {
						searchOffersAuto();
					}
					if (filterOffer)
					{
					    filterOffer();
					}
				});
				
				fClub.change(function(e) {
					VVF.idClub = this.value;
					// store club / region ID in hidden input
					fDevisRegionClub.val(VVF.idClub || fRegion.val());
					if(isSearchOffers) {
						searchOffersAuto();
					}
					if (filterOffer)
					{
					    filterOffer();
					}
				});
				
				if(isSearchOffers) {
					$('fieldset.destinations input', opening).click(searchOffersAuto);
					VVF.openingCalendar.addListener('dateselect', searchOffersAuto);
					VVF.openingCalendar.addListener('dateunselect', searchOffersAuto);
				}
			}
		},
		
		contentForm: function(id) {
			var verif = document.getElementById(id);
			if(module.fauxFields && verif && $('input', verif).length) {
				// Faux Select
				VVF.contentFS = VVF.FauxFields.Composite({
					context: 'content',
					field: 'select',
					maxHeight: 200
				});
				
				// Faux Checkbox
				VVF.contentFC = VVF.FauxFields.Composite({
					context: 'content',
					field: 'checkbox'
				});
				
				if (VVF.contentFC.collection && VVF.contentFC.collection.fSMSOffers) {
					VVF.contentFC.collection.fSMSOffers.addListener('change', function() {switchTelMobileVisibility(this.field);})
				}
				
				// Faux Radio
				VVF.FauxFields.Composite({
					context: 'content',
					field: 'radio'
				});
				
				// Calendar
				/*
				if(document.getElementById('considerNextDate')) {
					VVF.makeCalendar({
						accessor: {
							target: '#considerNextDate',
							contentID: 'nextDateOpenCalendar',
							dateID: 'nextDateDisplay'
						},
						calendar: {
							id: 'nextDateCalendar',
							target: 'nextDateDisplay',
							insert: 'nextDateOpenCalendar',
							firstDay: l10n.get('calendar', 'firstDay'),
							dayID: '#fConsiderNextDateDay',
							monthID: '#fConsiderNextDateMonth',
							yearID: '#fConsiderNextDateYear',
							disable: '#bookingTool fieldset.followOut',
						    typeAction: 'date'
						}
					});
				}*/

				
                // if(document.getElementById('lastStayDates')) {
                //     VVF.makeCalendar({
                //         accessor: {
                //             target: '#lastStayDatesFrom',
                //             contentID: 'lastStayDatesFromOpenCalendar',
                //             dateID: 'lastStayDatesFromDisplay'
                //         },
                //         calendar: {
                //             id: 'lastStayDatesFromCalendar',
                //             target: 'lastStayDatesFromDisplay',
                //             insert: 'lastStayDatesFromOpenCalendar',
                //             firstDay: l10n.get('calendar', 'firstDay'),
                //             dayID: '#fLastStayFromDay',
                //             monthID: '#fLastStayFromMonth',
                //             yearID: '#fLastStayFromYear',
                //             disable: '#bookingTool fieldset.followOut',
                //             typeAction: 'date'
                //         }
                //     });
                //     VVF.makeCalendar({
                //         accessor: {
                //             target: '#lastStayDatesTo',
                //             contentID: 'lastStayDatesToOpenCalendar',
                //             dateID: 'lastStayDatesToDisplay'
                //         },
                //         calendar: {
                //             id: 'lastStayDatesToCalendar',
                //             target: 'lastStayDatesToDisplay',
                //             insert: 'lastStayDatesToOpenCalendar',
                //             firstDay: l10n.get('calendar', 'firstDay'),
                //             dayID: '#fLastStayToDay',
                //             monthID: '#fLastStayToMonth',
                //             yearID: '#fLastStayToYear',
                //             disable: '#bookingTool fieldset.followOut',
                //             typeAction: 'date'
                //         }
                //     });
                // }
			}
		},
		
		menuContextual: function(id) {
			if(module.showHide && document.getElementById(id) && $('#core')[0].className.indexOf('offers') == -1 && $('#core')[0].className.indexOf('product') == -1) {
				VVF.tabsSH = VVF.ShowHide.Toc({
					context: '#menuContextual'
				});
				VVF.tabsSH.addListener('open', function(e, section) {
					if(setGoogleAnalyticsTabs) {
						setGoogleAnalyticsTabs(section.attr('id'));
					}
				});
			}
            if(module.showHide && document.getElementById(id) && $('#core')[0].className.indexOf('product') > -1) {
                $('#menuContextual li a').click(function(e) {
                    e.preventDefault();
                    var link = $(this).attr('href').split('?');
                    var url = link[0];
                    var data = link[1];
                    $(this).parents('#menuContextual').find('li').removeClass('on');
                    $(this).parent('li').addClass('on');
	                callAjax(url,data,'GET','contentInner', function() {if (callBackTabProduct) callBackTabProduct();});
                });
            }
		},
		
		toc: function(id) {
			if(module.showHide && document.getElementById(id) && !$('#core').hasClass('groups')) {
				VVF.tocSH = VVF.ShowHide.Toc({
					context: '#toc'
				});
				
				var changeDisplayDates = function() {
					var id = this.field.value;
					$(id).siblings('div.on').each(function() {
						$(this).removeClass('on').addClass('off');
					});
					$(id).removeClass('off').addClass('on');
				};
				if(typeof VVF.contentFS != 'object') {
					VVF.contentFS = VVF.FauxFields.Composite({context: 'content', field: 'select'});
				}
				$.each(VVF.contentFS.collection, function() {
					this.addListener('change', changeDisplayDates);
				});
				
				VVF.offersTitles = VVF.ShowHide.Title({
					trigger: '#content div.section h3',
					unique: true
				});
				VVF.tocSH.addListener('open', function(e, target) {
					VVF.offersTitles.lastTarget = target;
				});
				VVF.offersTitles.addListener('open', function(e, target) {
					var id = '#' + target.attr('id');
					location.hash = id + 'JS';
					VVF.tocSH.open(target, $('a[href=' + id + 'JS]', VVF.tocSH.context).parent());
				}).addListener('close', function(e, target, lastTarget) {
					if(target[0] == lastTarget[0]) {
						VVF.tocSH.close(target, $('a[href=#' + target.attr('id') + 'JS]', VVF.tocSH.context).parent());
					}
				});
			}
		},
		
		validateForms: function(root) {
			if(!VVF.validate) {
				VVF.validate = {};
			}
			
			if(root === undefined || !root.jquery) {
				root = $(document.body);
			}
			
			root.find('div.submit a, input[type=image]').each(function() {
				var f = this.parentNode;
				while(!f.id && !(/Form$/).test(f.id) && f.parentNode) {f = f.parentNode;}
				var id = f.id;
				if(f && (/Form$/).test(id) && VVF.validation && VVF.validation[id]) {
					VVF.validate[id] = VVF.Validator(this, f, VVF.validation[id]);
				}
			});
		},
		
		tabs : function(arg){
				var urlAjax = arg.attr('href');
				// swap de classes
				$('#resultsChoice li').removeClass('on');
				arg.parent().parent().addClass('on');
				/*
				// MAJ AJAX
				$.ajax({
						   type: "GET",
						   url: urlAjax,
						   beforeSend : function(){	
								var htmlLoader = '<img id="loading" alt="loading" src="/belambraResources/img/picto/ajax-loader.gif" />';
								$('#results').css('height','400px');
								$('#results').html(htmlLoader);
						   },
						   success: function(reponse){		
									$('#results').html(reponse);
									$('#results').css('height','auto');								
						   }, 
						   dataType: "html"
						});*/
				return false;				
			},
			
		rollOnSejourCategories: function() {
			if($('#core').hasClass('sejour') && $('#opening dd').length) {
				$(this).addClass('over');
				}
			},

		rollOffSejourCategories: function() {
			if($('#core').hasClass('sejour') && $('#opening dd').length) {
				$(this).removeClass('over');
				}
			},
			
		zapetteCollapse: function(){			
			$('#bookingForm').removeClass('on').addClass('off');
			$('#bookingTool').append('<div id="expandButtonWrapper"><a href="#" id="expandButton">expand</a></div>');
			$('#expandButton').click(function(){
				$('#bookingForm').removeClass('off').addClass('on');
				$('#expandButtonWrapper').remove();
				return false;
			})
		}
			
	};
	//rajout interstitiel XXL
	VVF.IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
	// exactly Internet Explorer 7
	VVF.IE7 = false /*@cc_on || @_jscript_version == 5.7 @*/;
	// at least Internet Explorer 7
	VVF.gteIE7 = false /*@cc_on || @_jscript_version >= 5.7 @*/;
	// any Internet Explorer (thanks to Dean)
	VVF.isMSIE = /*@cc_on!@*/false;
	var strChUserAgent = navigator.userAgent; 
	var intSplitStart = strChUserAgent.indexOf("(",0); 
	var intSplitEnd = strChUserAgent.indexOf(")",0); 
	var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd); 
	VVF.IE6 = (strChMid.indexOf("MSIE 6") != -1) ? true : false;
	VVF.IE = (strChMid.indexOf("MSIE") != -1) ? true : false;
	VVF.getAbsPos = function(what){
		var obj = (document.getElementById(what)) ? document.getElementById(what) : what;
		if(obj.offsetParent){return([obj.offsetLeft + VVF.getAbsPos(obj.offsetParent)[0], obj.offsetTop + VVF.getAbsPos(obj.offsetParent)[1]]);}
		else{return([obj.offsetLeft, obj.offsetTop]);}
	}
   	$(document).ready(function () {
		if(document.getElementById('interstice')){
       		$('#intersticlose').click(function(e){
				e.preventDefault();
				$('#interstice').fadeOut();
				if(VVF.IE6){
					//form zapette
					$('#bookingToolForm select').css('visibility', 'visible');
				}
			});
			var wrapphaut = parseInt($('#wrapper').height(), 10) + 120 + 'px';
			$('#intersticool').css('height', wrapphaut);
			$(window).load(function(){
				var vizheight = parseInt($(window).height(), 10);
				var h = $('#intersticont').height();
				var scrolled = document.documentElement.scrollTop;
				var contpoy = Math.round((vizheight - h)/2) + scrolled;
				$('#intersticont').css('top', contpoy + 'px');
				if(VVF.IE){
					//sale bug calage central sous IE
					var pox = 0;//($('#wrapper').width() - $('#intersticont').width()) / 2;
					$('#intersticont').css('left', pox + 'px');
				}
				var w = $('#interstimage').width();
				var bigw = $(window).width();
				var w1 = $('#intersticlose').width() + parseInt($('#intersticlose').css('paddingRight'), 10);
				var pox = (bigw - w)/2 + w - w1;
				if(VVF.IE){
					//sale bug calage central sous IE
					var imgw = document.getElementById('interstimage').firstChild.offsetWidth;
					pox = (bigw - imgw)/2 + imgw - w1;
				}
				$('#intersticlose').css('left', pox);
				$('#intersticlose').css('top', contpoy - 30 + 'px');
								
				$('#interstice').css('display', 'none');
				$('#interstice').fadeIn();
				$('#interstice').css('visibility', 'visible');
				//sp�cial IE6, on cache les form de la zapette et on traite les PNG
				if(VVF.IE6){
					//form zapette
					$('#bookingToolForm select').css('visibility', 'hidden');
					//PNG
					function setPNG(img) {
					    //alert(img.src);
						var src = img.src;
						img.src = 'http://www.belambra.fr/BelambraResources/img/bg/transparent.gif';
						img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='image');";
					}
					$('img[src$=.png], input[src$=.png], img[src$=/png], input[src$=/png], img[src$=x-png]').each(function() {
						setPNG(this)
					});
				}
			});
		}
    });
	//fin rajout interstitiel XXL
	//diaporamaXL
	VVF.createDiaporama = function(id, transi, defaultimg){
	//id: id du div qui contient la structure XHTML requise
	//transi: 'right', 'top', 'left', 'bottom' ou 'fade',
	//defaultimg: [facultatif] indice bouton click� par d�faut
		if(document.getElementById(id)){
			var diaporama_obj = document.getElementById(id);
			diaporama_obj.indice = 0;
			diaporama_obj.prec = -1;
			diaporama_obj.laNav;
			diaporama_obj.transi = transi;
			var cib_arr = diaporama_obj.getElementsByTagName('div');
			for (var i=0; i< cib_arr.length; i++){
				if(cib_arr[i].className == 'diaporamaXLcib'){
					var cib = cib_arr[i];
				}
			}
			diaporama_obj.laWidth = parseInt($(cib).css('width'), 10);
			diaporama_obj.laHeight = parseInt($(cib).css('height'), 10);
			$('#' + id + ' .diaporamaXLcib div').each(function(){
				if(diaporama_obj.transi == 'left'){
					$(this).css('display', 'block');
					$(this).css('left', diaporama_obj.laWidth + 'px');
				}
				if(diaporama_obj.transi == 'right'){
					$(this).css('display', 'block');
					$(this).css('left', diaporama_obj.laWidth*-1 + 'px');
				}
				if(diaporama_obj.transi == 'top'){
					$(this).css('display', 'block');
					$(this).css('top', diaporama_obj.laHeight*-1 + 'px');
				}
				if(diaporama_obj.transi == 'bottom'){
					$(this).css('display', 'block');
					$(this).css('top', diaporama_obj.laHeight + 'px');
				}
				$(this).attr('id', id + '_diapo_' + diaporama_obj.indice);
				diaporama_obj.indice ++;
				var sp1 = document.createElement('a');
				sp1.setAttribute("id", id + "_nav_" + (diaporama_obj.indice-1));
				sp1.innerHTML = diaporama_obj.indice;
				var laNav_arr = document.getElementById(id).getElementsByTagName('div');
				for (var i=0; i< laNav_arr.length; i++){
					if(laNav_arr[i].className == 'diaporamaXLnav'){
						diaporama_obj.laNav = laNav_arr[i];
					}
				}
				diaporama_obj.laNav.appendChild(sp1);
				$(sp1).click(function(e){
					e.preventDefault();
					if(!$(this).hasClass('clicked')){
						$(this).addClass('clicked');
						var num = $(this).attr('id').split("nav_")[1];
						var diapo = $('#' + id + '_diapo_' + num);
						if(diaporama_obj.transi == 'fade'){
							diapo.fadeIn(2000);
						}
						else{
							if(diaporama_obj.transi == 'left'){
								diapo.css('left', diaporama_obj.laWidth + 'px');
							}
							if(diaporama_obj.transi == 'right'){
								diapo.css('left', diaporama_obj.laWidth*-1 + 'px');
							}
							if(diaporama_obj.transi == 'top'){
								diapo.css('top', diaporama_obj.laHeight * -1 + 'px');
							}
							if(diaporama_obj.transi == 'bottom'){
								diapo.css('top', diaporama_obj.laHeight + 'px');
							}
							diapo.animate({left:0, top:0}, 1000);
						}
						if (diaporama_obj.prec >= 0){
							var diapoPrec = $('#' + id + '_diapo_' + diaporama_obj.prec);
							
							if(diaporama_obj.transi == 'fade'){
								diapoPrec.fadeOut(2000);
							}
							if(diaporama_obj.transi == 'left'){
								diapoPrec.animate({left:diaporama_obj.laWidth*-1 + 'px'}, 1000);
							}
							if(diaporama_obj.transi == 'right'){
								diapoPrec.animate({left:diaporama_obj.laWidth + 'px'}, 1000);
							}
							if(diaporama_obj.transi == 'top'){
								diapoPrec.animate({top:diaporama_obj.laHeight + 'px'}, 1000);
							}
							if(diaporama_obj.transi == 'bottom'){
								diapoPrec.animate({top:diaporama_obj.laHeight * -1 + 'px'}, 1000);
							}
							var navprec = $('#' + id + '_nav_' + diaporama_obj.prec);
							navprec.removeClass('clicked');
						}
						diaporama_obj.prec = num;
					}
					if(diaporama_obj.indice > 1){
						clearInterval(regalInterv);
						regalInterv = setInterval('VVF.autoClick("'+id+'")', interv);
					}
				});
				$(sp1).mouseover(function(e){
					$(this).addClass('hover');
				});
				$(sp1).mouseout(function(e){
					$(this).removeClass('hover');
				});
			});
			// boucle
			VVF.autoClick = function(id){
				var next = parseInt(document.getElementById(id).prec, 10) + 1;
				if(next >= document.getElementById(id).indice){
					next = 0;
				}
				$('#' + id + '_nav_' + next).click();
			}
			var interv = parseInt($('#' + id + ' .interval').text(), 10);;
			var regalInterv;
			// 1ere diapo par d�faut
			var clicked = (defaultimg) ? defaultimg : 0;
			$('#' + id + '_nav_' + clicked).click();
			//on masque la nav si 1 seule diapo
			if(diaporama_obj.indice == 1){
				$(diaporama_obj.laNav).remove();
			}
		}
	}
    $(document).ready(function () {
		//d�claration g�n�rique pour tout elt avec class="diaporamaXL"
		$('.diaporamaXL').each(function(){
			VVF.createDiaporama($(this).attr('id'), 'left');
		});
		//declaration diaporama unique
		//VVF.createDiaporama(id, transi, [defaultimg]);
		//VVF.createDiaporama('diaporama1', 'fade');
    }); 
	//fin diaporama XL
})(jQuery);

if(jQuery && document.getElementById && document.getElementsByTagName && document.createElement && document.createTextNode) {
	jQuery(document.documentElement || 'html').attr('id', 'js');
	
	jQuery(document).ready(function() {
		VVF.js.common();
		VVF.js.support('support');
		VVF.js.bookingTool('bookingToolForm');
		VVF.js.openingForm('opening');
		VVF.js.contentForm('content');
		VVF.js.menuContextual('menuContextual');
		VVF.js.toc('toc'); //entrez !
		VVF.js.validateForms();
		if(jQuery("#codeLang").attr("value") != undefined){
			detectFlash();
		};
		
		/*
		if(jQuery('.noResults').length) {
			jQuery('#resultsChoice li a').click( function() {
				VVF.js.tabs(jQuery(this));
				return false;
				}
			)
		}; */
		
		if(jQuery('.specialOffers').length) {
			VVF.js.zapetteCollapse()
		};
		
		/*if(jQuery('.detailRegion').length) {
			VVF.js.zapetteCollapse()
		};

        if(jQuery('.guideRegion').length) {
			VVF.js.zapetteCollapse()
		};*/

		
		jQuery('#opening dd').hover(VVF.js.rollOnSejourCategories,VVF.js.rollOffSejourCategories)

	});
	jQuery(window).unload(function() {
		VVF = null;
	});
	
}
