window.addEvent('domready', function (){
	if($$('.filter a.more'))
	{
		$$('.filter a.more').each(function(elem){
			elem.addEvent('click', function() {
				id_elem = this.id;
				id_div = 'div_'+id_elem.replace('more_', '');
				display_more(id_elem, id_div);
			});
		});

		$$('.filter a.close').each(function(elem){
			elem.addEvent('click', function() {
				id_elem = this.id;
				id_div = 'div_'+id_elem.replace('close_', '');
				display_more(id_elem, id_div);
			});
		});		
	}
	if ($$('.filters .filter').length > 3)
	{
		$$('.filters .filter').each(function (elem, index) {
			if(index > 1)
			{
				option = elem.getChildren('h4').get('html')[0];
				elem.setStyle('display', 'none');
				elem.getChildren('h4').setStyle('display', 'none');
				$('select_custom').options[$('select_custom').options.length] = new Option(option, option);
			}
		});
		$$('.filters .filter')[2].setStyle('display', 'block');
	
		var townSelect = new CustomSelect('select_more_filter');
	}
	else
	{
		if( $('select_more_filter') )
		{
			$('select_more_filter').setStyle('display', 'none');
		}
	}
	
	if($('selectSTA'))
	{
		$('selectSTA').addEvent('change', function(e){
			e.stop();
			if(this.value != 0)			
				document.location.href = this.value;
		});
	}
	if($$('div.display_options'))
	{
		var viewSearch = Cookie.read('viewSearch');
		
		if(viewSearch == 'carte')
		{
			change_disp('carte_btn', 'carte');			
			genGmMarkers();
			callMap();
		} else {
			change_disp('liste_btn', 'liste');
		}
	}
	
	// initialisation calendrier sur chaque input type fork
	var sPrefix = 'filter_';
	$$('.filters .filter').each(function(e, i){

		// ajout de l'id
		e.set('id', sPrefix + i);

		// recupere tous les inputs avec le nom dateDeb
		var inputDateDeb = $$('#'+ sPrefix + i + ' input[name=dateDeb]');
		
		if(inputDateDeb[0] != undefined)
		{
			// ajout d'un id sur le champ
			var idDateDeb = 'dateDeb_' + i;
			$$('#' + sPrefix + i + ' input[name=dateDeb]').set('id', idDateDeb);

			// creation d'un objet
			var obj  = new Object();
			obj[idDateDeb] = 'd/m/Y';
			// ajout du calendar
			cal = new Calendar(
				obj,
				{
					direction: 1,
					tweak: { x: 6, y: 0 }
				}
			);
		}	

		// recupere tous les inputs avec le nom dateFin
		var inputDateFin = $$('#' + sPrefix + i + ' input[name=dateFin]');

		if(inputDateFin[0] != undefined)
		{
			//ajout d'un id sur le champ
			var idDateFin = 'dateFin_'+i;
			$$('#' + sPrefix + i + ' input[name=dateFin]').set('id', idDateFin)

			// creation d'un objet
			var obj  = new Object();
			obj[idDateFin] = 'd/m/Y';
			// ajout du calendar
			cal = new Calendar(
				obj,
				{
					direction: 1,
					tweak: { x: 6, y: 0 }
				}
			);	
		}
	});
});

function change_disp(element, style)
{
	if(style == 'liste')
	{
		if( $('carte') && $('carte-pager') )
		{
			$('carte').setStyle('display', 'none');
			$('carte-pager').setStyle('display', 'none');
		}
		old = 'carte';
	}
	else
	{
		old = 'liste';
		
		if( $('liste') )
		{
			$('liste').setStyle('display', 'none');		
		}
	}
	
	$$('div.display_options').removeClass(old);
	
	if( $(old+'_btn') )
		$(old+'_btn').removeClass('selected');
	
	$$('div.display_options').addClass(style);
	if( $(element) )
		$(element).addClass('selected');
	
	var viewSearch = Cookie.write('viewSearch', style);
		
	if($(style))
	{
		$(style).setStyle('display', 'block');
		if(style == 'carte'){
			$(style+'-pager').setStyle('display', 'block');			
		}
	}
}

function display_more(id_link, id_div)
{
	$$('div.div_more').each(function(elem){
		if(elem.id != id_div)
			elem.setStyle('display', 'none');
	});
	$$('a.open').each(function(elem){
		if(elem.id != id_link)
		{
			elem.removeClass('open');
			elem.addClass('more');
		}
	});
	if($(id_link) && $(id_div))
	{
		if($(id_link).hasClass('more'))
		{
			type_info = id_div.replace('div_', '');
			$(id_link).removeClass('more');
			$(id_link).addClass('open');
			var top_div = $(id_link).getPosition();
			top_div = top_div.y-47;
			
			$(id_div).setStyles({'display': 'block', 'top': top_div+'px', 'opacity': 0});
			$(id_div).fade('in');
			var height = $('content_'+type_info).getChildren('div')[0].getSize().y.toInt();
			var height_max = $('div_'+type_info).getSize();
			if(height > height_max.y)
				$oScrollBar = new ScrollBar(id_div, 'content_'+type_info,{'hScroll': false});
		}
		else if(!$(id_link).hasClass('close'))
		{
			$(id_link).removeClass('open');
			$(id_link).addClass('more');
			$(id_div).fade('out');
		}
		else
		{
			$(id_div).fade('out');	
		}
	}
}

function more_selection(element)
{
	if($(element).hasClass('open'))
	{
		$(element).removeClass('open');
		$('selections').tween('height', 150);
		$(element).set('html', 'Plus');
	}
	else
	{
		$(element).addClass('open');
		$('selections').setStyle('height', 'auto');
		var height = $('selections').getSize().y;
		$('selections').setStyle('height', '150px');
		$('selections').tween('height', height);
		$(element).set('html', 'Moins');
	}
}

function submitRequestFork(idField)
{
	var model = '([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})';
	var regExp = new RegExp(model);

	var startValue = $('dateDeb_'+idField).get('value');
	if( startValue != '' )
		startValue = startValue.replace(regExp, '$3-$2-$1');
	else
		startValue = 'empty';

	var endValue = $('dateFin_'+idField).get('value');
	if( endValue != '' )
		endValue = endValue.replace(regExp, '$3-$2-$1');
	else
		endValue = 'empty';

	model = '(.*\/)(.*)(\/search-[0-9]{1,2}\-[0-9]{1}\.html)(.*$)';
	
	regExp = new RegExp(model);
	var chaine = location.href;

	var sExtract = regExp.exec(chaine);
	var sSearchQuery = sExtract[2];
	var aSearchQuery = sSearchQuery.split('~');
	
	if(startValue != '' || endValue != '')
		aSearchQuery[idField.toInt()] = startValue + '|' + endValue;
	else
		aSearchQuery[idField.toInt()] = '';

	sSearchQuery = aSearchQuery.join('~');
	
	var url = sExtract[1]+sSearchQuery+sExtract[3];
	
	setTimeout( function() { window.location.href = url; }, 1000 );
}
