// JS Drilldown
var favori = false;
var favori_timer;
var aPoint;
var mapManager = null;

window.addEvent('domready', function(){
	
	// Favorites
	add_fav = $$('.dd_results .add_favorite');
	
	if (add_fav.length > 0)
	{
		add_fav.each(function(elem){
			elem.addEvent('click', function(){
				var copy = elem.clone();
				if ($('favorites_cart'))
				{
					var favorite_pos = $('favorites_cart').getPosition($('page'));
					var size = $('favorites_cart').getSize();
					favorite_pos.x += 9;
					favorite_pos.y += 7;
				}
				
				var position = elem.getPosition($('page'));
				
				var div = new Element('div', {
					'styles': {
						'position': 'absolute',
						'top': position.y+'px',
						'left': position.x+'px',
						'z-index': 150
					}
				});
				div.adopt(copy);
				div.inject($('page'), 'after');
				var slide = new Fx.Morph(div, {duration: 1500, transition: 'quad:out'});
				var fade = new Fx.Morph(div, {duration: 500, transition: 'circ:out'});
				fade.addEvent('complete', function(){
					div.destroy();
					if (!favori)
					{
						link = $('favorites_cart').getChildren('a');
						img = link[0].getChildren('img');
						src = img[0].src;
						src = src.replace('favoris_off.gif', 'favoris_blink.gif');
						img[0].src = src;
						favori = true;
					}
				});
				slide.addEvent('complete', function(){
					fade.start({opacity: 0});
				});
				slide.start({top: favorite_pos.y, left: favorite_pos.x});
			});
		});
	}
	
	//SIFR
	if(typeof sIFR == "function"){
		sIFR.replaceElement(
			named(
				{
					sSelector: '.dd_title h2',
					sFlashSrc: 'swf/sIFR/bliss_light.swf',
					sColor: '#5c554a',
					sLinkColor: '#5c554a',
					sHoverColor: '#5c554a',
					nPaddingTop:0,
					nPaddingBottom:0,
					sWmode: 'transparent',
					sCase: 'upper',
					sFlashVars: ''
				}
			)
		);
	}
	
	if ($('more_filters') && $('more_filters_link'))
	{
		height = $('more_filters').getSize();
		
		var nb_selected = 0;
		
		$$('#more_filters div ul li').each(function(elem){
		
			if(elem.getAttribute("class") == 'selected'){
				
				nb_selected++;
				
			}
		
		});
		
		if(nb_selected == 0){
			
			$('more_filters').setStyle('height', 0);
			
		}
		
		more_height = height.y;
		
		$('more_filters_link').addEvent('click', function(){
			if ($('more_filters').getSize().y == 0)
			{
				$('more_filters').tween('height', more_height);
				$('more_filters_link').addClass('open');
			}
			else
			{
				$('more_filters').tween('height', 0);
				$('more_filters_link').removeClass('open');
				
				$$('div.filter_more').each(function(elem){
					elem.setStyle('display', 'none');
				});
				$$('.dd_filter a.open').each(function(elem){
					elem.removeClass('open');
					elem.addClass('more');
					var parent = elem.getParent();
					parent.removeClass('open');
				});
			}
		});
	}
	
	
	// Drilldown filters more
	aMore = $$('.dd_filter a.more');
	if (aMore.length > 0)
	{
		aMore.each(function(elem){
			elem.addEvent('click', function() {
				id_elem = this.id;
				id_div = 'div_filter_'+id_elem.replace('dd_filter_', '');
							
				display_more(id_elem, id_div);
			});
		});
	}
	
	// Display carto or liste
	if ( $('display_button') )
	{
		$('display_button').addEvent('click', function(){
			switch_display(this);
		});
	}
	
	// Calendar for drilldown
	if( $('dd_date_debut') && $('dd_date_fin') ){
		var dd_cal_start = new CalendarDD({ dd_date_debut: 'd/m/Y' }, { 
			classes: ['calendar_DrillDown'],
			direction: 0, 
			offset: 1, 
			days: cal_days, 
			months: cal_months
		});
		
		var dd_cal_end = new CalendarDD({ dd_date_fin: 'd/m/Y' }, { 
			classes: ['calendar_DrillDown'],
			direction: 0, 
			offset: 1, 
			days: cal_days, 
			months: cal_months
		});		
	}
	
	// Cookie pour l'affichage de la carte
	var cookieCarte = Cookie.read('affichage_carte');
	
	if(cookieCarte != null){
		
		if(cookieCarte == 1){

			if($('display_button')){
				
				switch_display($('display_button'));
				
			}
			
		}
		
	}
	
	if ($('validate_command'))
	{
		$('validate_command').addEvent('click', function(){
			var aReturn = new Array();
			var sReturn = '';
			$$('.dd_results input:checked').each(function(el, i)
				{
					aReturn[i] = el.value;
				}
			);
			
			if (aReturn.length > 0)
			{
				sReturn = aReturn.join(',');
				TB_show('Video', '../content/popup/brochure.php?brochures=' + sReturn +'&amp;keepThis=true&amp;TB_iframe=true&amp;width=580&amp;height=520', '');
			}
			
		});
	}
	
});

function display_more(id_link, id_div)
{
	var parent;
	var top_div;
	var link;
	var left_div;
	
	$$('div.filter_more').each(function(elem){
		if(elem.id != id_div)
			elem.setStyle('display', 'none');
	});
	$$('.dd_filter a.open').each(function(elem){
		if(elem.id != id_link)
		{
			elem.removeClass('open');
			elem.addClass('more');
			parent = elem.getParent();
			parent.removeClass('open');
		}
	});
	if($(id_link) && $(id_div))
	{
		parent = $(id_link).getParent();
		link = $(id_link).getSize();
		if($(id_link).hasClass('more'))
		{
			$(id_link).removeClass('more');
			$(id_link).addClass('open');
			parent.addClass('open');
			relative = $$('div.canvas_content');
			top_div = $(id_link).getPosition(relative[0]);
			top_div = top_div.y + link.y;
			left_div = $(id_link).getParent('div').getParent('div').getPosition().x;
			
			$(id_div).setStyles({'display': 'block', 'top': top_div+'px', 'left': left_div+'px', 'opacity': 0});
			$(id_div).fade('in');
		}
		else if(!$(id_link).hasClass('close'))
		{
			parent.removeClass('open');
			$(id_link).removeClass('open');
			$(id_link).addClass('more');
			$(id_div).fade('out');
		}
		else
		{
			$(id_div).fade('out');	
		}
	}
}

function switch_display(elem)
{
	if (elem)
	{
		if (elem.src.contains('affichage_carte.gif'))
		{
			
			var cookie = 1;
		
			elem.src = elem.src.replace('_carte.gif', '_liste.gif');
			$$('table.dd_results').setStyle('display', 'none');
			$$('div.gmap_display').setStyle('display', 'block');
			
			if ( GBrowserIsCompatible() && mapManager == null ) {
				oHash = new Hash(oAdditionalQuery)
				mapManager = new GMapManager('gmap',{
					oGPSCenter: {
						sLatitude	:	43.608176,
						sLongitude	:	3.879446
					},
					iZoomValue		:	8,
					sTypeData		:	'url',
					oIcon: {
						sIconPath	: 	sIconPath,
						sIconSize	: 	new Array(21, 25),
						sIconAnchor	: 	new Array(21, 25)
					},
					sTplTip			: '../content/ajax/GMapTip.php',
					sAjaxURL		: '../content/ajax/GMapRequestURL.php',
					oControl		: {
						bView		: true						
					},
					sAdditionalQuery: oHash.toQueryString()
				});
				
				mapManager.setData( oResult );
			}
		}
		else
		{
			
			var cookie = 0;
		
			elem.src = elem.src.replace('_liste.gif', '_carte.gif');
			$$('div.gmap_display').setStyle('display', 'none');
			if ( Browser.Engine.gecko )
				$$('table.dd_results').setStyle('display', 'table');
			else
				$$('table.dd_results').setStyle('display', 'block');
		}
		
		var setCookie = Cookie.write('affichage_carte',cookie,{duration: 1,path: '/'});
		
	}
}

function submitInputToQueryString(idObj, paramName)
{
	var inputObj = $(idObj);
	var inputValue = $(idObj).value;
	
	var url = window.location.href;
	var myURI = new URI(url);

	var objQuery = new Object();
	objQuery[paramName] = inputValue;
	
	if( inputValue != '' )
	{
		myURI.setData(objQuery, true);
		myURI.go();
	} else {
		if( myURI.getData(paramName) != null )
		{
			myURI.setData(objQuery, true);
			myURI.go();
		} else {
			inputObj.setStyle('background-color', '#F37F80');
		}
	}	
}

function submitRequestFork( idField )
{
	var regExp = new RegExp('([0-9]{2})/([0-9]{2})/([0-9]{4})', 'g');
	
	var startValue = $('dd_date_debut').get('value');
	startValue = startValue.replace(regExp, '$3-$2-$1');
	
	var endValue = $('dd_date_fin').get('value');
	endValue = endValue.replace(regExp, '$3-$2-$1');
	
	model = '(.*\/)(.*)(\/offres-touristiques\-[0-9]{1,2}\-[0-9]{1}\.html)(.*$)';
	
	regExp = new RegExp(model);
	var chaine = location.href;
		
	extract = regExp.exec(chaine);
	sSearchQuery = extract[2];
	aSearchQuery = sSearchQuery.split('~');
	
	if(startValue == '' && endValue == '')
	{
		aSearchQuery[idField.toInt()] = '';
	} else {
		aSearchQuery[idField.toInt()] = startValue + '|' + endValue;
	}
	
	sSearchQuery = aSearchQuery.join('~');
	
	url = extract[1]+sSearchQuery+extract[3];
	
	window.location.href = url;
}
