window.addEvent('domready', function(){

/* add googlemap.js */

	//------------------------------------------------------------------------
	
	/**
	 * accordeon - affiner aussi par
	 *
	 */
	var oAccordion = new Fx.Accordion(
		$$('.toggler'),
		$$('.toggler_element'), 
		{opacity:false, alwaysHide : true, display : -1}
	);
		
		oAccordion.addEvent('onActive', function(el){
			//put arrow down on all image
			$$('.toggler span').set('class', 'arrow_down');
			el.getFirst('span').set('class', 'arrow_up');
		});
	
	
	//------------------------------------------------------------------------
	
	/**
	 * tooltips
	 *
	 * placement automatique
	 */
	//get position of tooltip_more and put it in tab 
	var aTooltipsMorePosition = Array();
	$$('.tooltip_more').each(function(el, i){
		aTooltipsMorePosition[i] = el.getPosition('yourChoice');
	});
	
	//set position to tooltip
	$$('.tooltip').each(function(el, i){
		iPositionY = aTooltipsMorePosition[i].y - el.getSize().y;
		el.setStyle('top', iPositionY);
		
		oArrow = el.getFirst('.tooltip_arrow');
		oArrow.setStyle('left', aTooltipsMorePosition[i].x - el.getPosition('yourChoice').x);
		
		//hide
		el.setStyle('opacity', '0');
	});
	
	//tweentab
	oTooltip = new TweenTab(
		'pageContent',
		{
			change: {
				link : 'click',
				delay : 0
			},
			cssSelector : {
				link : '.tooltip_more',
				block : '.tooltip'
			},
			element: {
				blockPrefix : 'TooltipMore',
				linkPrefix	: 'Tooltip'
			},
			move : {
				property	: 'opacity',
				from		: 0,
				to			: 1
			},
			auto_close : {
				active	: false,
				delay : 500
			}
		}
	);

	var bFirst = true;
	oTooltip.addEvent('displayStart', function()
		{
			var oThis = $(oTooltip.options.element.blockPrefix + oTooltip.sCurrentId);
			if ( !bFirst )
			{
				if ( parseInt(oThis.getStyle('top'), 10) < -500 )
					oThis.setStyle('top', (parseInt(oThis.getStyle('top'), 10) + 1000) + 'px');
			}
			else
				bFirst = false;
		}
	);

	oTooltip.addEvent('displayComplete',
		function()
		{
			$$('.tooltip').each(
				function(el, i)
				{
					if ( el.get('id') != oTooltip.options.element.blockPrefix + oTooltip.sCurrentId)
					{
						if ( parseInt(el.getStyle('top'), 10) > -500 )
							el.setStyle('top', (parseInt(el.getStyle('top'), 10) - 1000) + 'px');
					}
				}
			);
		}
	);
	//close button
	$$('.tooltip .close').addEvent('click', function(){
		oTooltip.hideCurrentElement();
	});
	
	//------------------------------------------------------------------------
	
	/**
	 * flash_map
	 *
	 */
	if ( $('flashMap') && $('flashMapContainer') )
	{
		//inject flash
		var oCityFlash = new Swiff(
			'flash/drilldown_map.swf',
			{
				id : 'drilldownMiniMap',
				width : '140',
				height : '175',
				container : 'flashMap',
				params: {
					wmode: 'transparent',
					allowScriptAccess: 'always',
					quality: 'high'
				},
				properties : {
					play: 'true',
					loop: 'true',
					scale: 'showall',
					devicefont: 'false',
					allowFullScreen: 'false'
				},
				vars : {
					saison : sSeason
				} 
			}
		);

		$$('#flashMapContainer ul li a').each(function(el, i){
			el.addEvent('mouseenter', function(){
				var aPosition = el.getPosition($('flashMap').getParent());
				var iScrollValueY = el.getParent('.scroll').getScroll().y;
				
				$('flashMap').setPosition({
					x: aPosition.x,
					y: aPosition.y - 180 + iScrollValueY
				});
				
				$('flashMap').setStyle('opacity', '1');
				$('drilldownMiniMap').overTerritory(el.get('rel'));
			});
			el.addEvent('mouseleave', function(){
				$('flashMap').setStyle('opacity', '0');
				$('drilldownMiniMap').outTerritory(el.get('rel'));
				$('flashMap').setPosition({
					x: -1000,
					y: -1000
				});
			});
		});
	}

	/**
	 * flash_map
	 *
	 */
	if ( $('flashTerMap') && $('flashTerMapContainer') )
	{
		//inject flash
		var oTerritoryFlash = new Swiff(
				'flash/drilldown_map.swf',
				{
					id : 'drilldownMiniTerMap',
					width : '140',
					height : '175',
					container : 'flashTerMap',
					params: {
					wmode: 'transparent',
					allowScriptAccess: 'always',
					quality: 'high'
				},
				properties : {
					play: 'true',
					loop: 'true',
					scale: 'showall',
					devicefont: 'false',
					allowFullScreen: 'false'
				},
				vars : {
					saison : sSeason
				} 
				}
		);
		
		$$('#flashTerMapContainer ul li a').each(function(el, i){
			el.addEvent('mouseenter', function(){
				var aPosition = el.getPosition($('flashTerMap').getParent());
				var iScrollValueY = el.getParent('.scroll').getScroll().y;
				
				$('flashTerMap').setPosition({
					x: aPosition.x,
					y: aPosition.y - 180 + iScrollValueY
				});
				
				$('flashTerMap').setStyle('opacity', '1');
				$('drilldownMiniTerMap').overTerritory(el.get('rel'));
			});
			el.addEvent('mouseleave', function(){
				$('flashTerMap').setStyle('opacity', '0');
				$('drilldownMiniTerMap').outTerritory(el.get('rel'));
				$('flashTerMap').setPosition({
					x: -1000,
					y: -1000
				});
			});
		});
	}
	
	//------------------------------------------------------------------------
	
	/**
	 * onglet
	 *
	 * use tween tab
	 */
	$$('.onglet_element').setStyle('display', 'none');
	oOnglet = new TweenTab(
		'pageContent',
		{
			change: {
				link : 'click',
				delay : 0
			},
			cssSelector : {
				link : '.onglet ul li',
				block : '.onglet_element'
			},
			element: {
				blockPrefix : 'Onglet',
				linkPrefix	: 'OngletElement'
			},
			move : {
				display	: true
			},
			activeLink: function(sId) {
				if ( $(sId) ) 
						$(sId).addClass('current');
			},
			disableLink: function(sId) {
				if ( $(sId) ) 
					$(sId).removeClass('current');
			}
		}
	);
	oOnglet.displayElement(0);
	oOnglet.addEvent('displayComplete', function() {
		if (oOnglet.sCurrentId == 1)
			if ( !isAlreadyGMap ) 
				makeGMap();
	});
	
	//------------------------------------------------------------------------
	
	/**
	 * champ saisie dans tools tip
	 *
	 * autocompletion
	 */
	
	// Test source, list of tags <a>
	var aToolTips = $$('.tooltip');
	
	aToolTips.each(function (el){
		
		var autoComplInput = el.getElements('div.tooltip_content input');
		
		//var links = el.getChildren('div.tooltip_content').getChildren('div.scroll').getChildren('ul.colonne').getChildren('li').getChildren('a');
		var aLinks = el.getElements('ul li a');
		
		var aAutoWord = new Array();
		
		aLinks.each(function (elem){
			aAutoWord.push(elem.get('text')+'|'+elem.get('href'));
		});
		
		// Custom choices creation
		if( autoComplInput[0] )
		{
			new Autocompleter.Local(autoComplInput[0], aAutoWord, {
				'minLength': 1,
				'selectMode': 'pick',
				'appendDiv': $('body'),
				'injectChoice': function(token){
		
					aIdLink = token.split('|');
					sLabel = aIdLink[1];
					sValue = aIdLink[0];
								
					var choice = new Element('li');
					//new Element('span', {'html': this.markQueryValue(sValue)}).inject(choice);
					new Element('a', {
						'class': 'demo-info',
						'href': sLabel,
						'target': '_self',
						'html': this.markQueryValue(sValue)
					}).inject(choice);
					
					choice.inputValue = sValue;
					this.addChoiceEvents(choice).inject(this.choices);
				}
			});
		}
		
	});
	
	//------------------------------------------------------------------------
	
	/**
	 * agenda
	 *
	 */
	// submit du calendrier
	if( $$('.calendar_event') )
	{
		oCalendarEveDuAu = new Calendar(
			{ 
				calendarEveDuInput: 'd/m/Y',
				calendarEveAuInput: 'd/m/Y'
			},
			{ 
				pad : 0,
				offset : 1,
				fix : false,
				submitClick: false
			}
		);
	}
	
	var aInputBroch = $$('.add_broch');
	$$('.add_broch').each(function(el)
		{
			el.addEvent('click', function()
				{
					if (  $('cmd_button') )
					{
						var aCheckedBroch = $$('.dd_result input:checked');
						if ( aCheckedBroch.length > 0 && $('cmd_button').getStyle('display') != 'block' )
						 $('cmd_button').setStyle('display', 'block');
						else if  ( aCheckedBroch.length == 0) 
							$('cmd_button').setStyle('display', 'none');
					}
				}
			);
		}
	);
	
	if( $$('div.resa').length > 0 )
	{
		var oCalendarDispo = new Calendar(
			{ 
				date_debut: 'd/m/Y'
			},
			{ 
				pad : 0,
				fix : false,
				inject: 'pageContent'
			}
		);
	}


	if ( $('nb_childs_select') )
	{
		$('nb_childs_select').addEvent('change',
			function(e)
			{
				var iVal = e.target.value.toInt() ;
				if ( iVal > 0)
				{
					var oSelectElem = new Element('select', { 'name' : 'childAge[]' });
					var oOptionElem;
					for( var j = 1; j <= 15; j++ )
					{
						oOptionElem = new Element('option', { 'value' : j, 'text' : j + ' an' + ((j>1)? 's':'')});
						oSelectElem.grab(oOptionElem);
					}

					var oDest = $('child_age');
					if ( oDest )
					{
						oDest.setStyle('display', 'block');
						var oContainer = $$('.list_child_ages');
						oContainer.set('html', '');
						for( var i = 0; i < iVal; i++ )
							oContainer.grab(oSelectElem.clone());
					}
				}
				else
				{
					var oDest = $('child_age');
					if ( oDest )
					{
						oDest.setStyle('display', 'none');
					}
				}
			}
		);
	}

	var aDrillDownOBT = $$('.jsOBT');
	var aOngletElement = $$('.onglet_element tr');
	aOngletElement.shift();
	if ( aOngletElement.length == aDrillDownOBT.length )
	{
		aOngletElement.each(function(elem, i)
		{
			var aParam = aDrillDownOBT[i].get('value').split('|');
			var oElem = new Element(
				'div',
				{
					'class' : 'dd_add_favorite_container'
				}
			);

			/* XITI Event on addToCart */
			var sXTClick = '';
			try
			{
				if ($type(xt_click) == 'function')
				{
					sXTClick = "xt_click(this, 'C', '"+ ($chk(iXITILevel) ? iXITILevel : 30) +"', '"+aParam[0]+"','A'); return false;";
				}
			}
			catch(err)
			{
				sXTClick = '';
			}
			/* END XITI Event */
			var sAltAddLink = '';
			if ( $('add_favorite_btn') )
				sAltAddLink =  $('add_favorite_btn').get('title');
			var oAddLink = new Element(
				'a',
				{
					'href' : 'javascript:void(0);',
					'class' : 'dd_add_favorite',
					'title' : sAltAddLink,
					'onclick' : sXTClick
				}
			);

				
			oElem.grab(oAddLink);
			
			var oCartNotif = $('add_dd_cart');
			
			oElem.addEvent('click', function(e) {
				e.stopPropagation();
				add_selection(aParam[0],aParam[1],aParam[2],aParam[3],aParam[4].toInt(), true);
				
				return false;
			});

			elem.addEvent('mouseenter', function()
			{
				oElem.dispose();
				elem.getElements('td').each(
					function(tdElem)
					{
						tdElem.setStyles({'background-color':'#e2d8cc', 'cursor':'pointer' });
					}
				);
					
				elem.getElement('td:first-child').grab(oElem);
				oElem.setStyle('margin-left', (elem.getStyle('width').toInt() - 35) + 'px');
				if ( oCartNotif.getStyle('display') == 'block' )
					oCartNotif.setStyle('display', 'none');
				oElem.grab(oCartNotif);



			}, oElem);
			
			elem.addEvent('mouseleave', function()
			{
				if ( oCartNotif.getStyle('display') == 'none' ) 
					oElem.dispose();
				else
				{
					var fDispose = function() { oElem.dispose(); };
					fDispose.delay(2000);
				}
				
				elem.getElements('td').each(
					function(tdElem)
					{
						tdElem.setStyles({'background-color':'', 'cursor':'default' });
					}
				);
				
			}, oElem);
		});
	}

	if ( $('select_number_by_page') )
	{
		$$('#select_number_by_page a').addEvent('click', function(e)
		{
			e.stopPropagation();
			var iVal = this.get('rel');
			var oUrl = new URI(window.location);
			oUrl.setData('nb_res', iVal);
			oUrl.go();
		});
	}

	if ( $('duree_semaine') )
	{
		$('duree_semaine').addEvent('change', function(e) {
			e.stop();
			$$('input[name=duree_type]').each(function(el) { if ( el.get('value') == 'semaine' ) el.set('checked', 'checked'); });
		});
	}

	if ( $('duree_nuit') )
	{
		$('duree_nuit').addEvent('change', function(e) {
			e.stop();
			$$('input[name=duree_type]').each(function(el) { if ( el.get('value') == 'nuit' ) el.set('checked', 'checked'); });
		});
	}



});

function cmd_broch(aIdBroch, lang, id_version)
{
	
	TB_show('Brochure', 'php/cmd_broch.php?lng=' + lang + '&amp;id_version=' + id_version +'&amp;broch_id=' + aIdBroch.join('~') +'&amp;keepThis=true&amp;TB_iframe=true&amp;width=580&amp;height=480&amp;', '');
	return false;
}

function cmd_broch_multiple( lang, id_version )
{
	var aBroch = new Array();
	$$('.dd_result input:checked').each(
		function(el)
		{
			aBroch.push(el.value);
		}
	);
	if ( aBroch.length > 0)
		cmd_broch(aBroch, lang, id_version);
}
/**
* fonction permettant de valider le calendrier du drilldown sous la forme 
* d'une url drilldown
*
*/
function submitField( idField, urlLocation, urlLabel )
{
	var chaine = '';
	
	// reg expr for url
	model = '(.*\/)(.*)(\/[a-zA-Z]*)(\-[0-9]{1,2}\-[0-9]{1}\.html)(.*$)';
	
	regExp = new RegExp(model);
	
	chaine = location.href;
	if( $chk(urlLocation) )
		chaine = urlLocation;
	
	extract = regExp.exec(chaine);
	sSearchQuery = extract[2];
	aSearchQuery = sSearchQuery.split('~');
	
	aSearchQuery[idField.toInt()] = urlLabel;
	
	sSearchQuery = aSearchQuery.join('~');
	
	url = extract[1]+sSearchQuery+extract[3]+extract[4];
	
	window.location.href = url;
}
