var display='';

function main_core() {

	var paysCode=1;

	function mkSortSelect() {

		var val = $('#typeChoix').val();
		val = (!val) ? $('#type').val() : val;

		switch(val) {
			case 'CVV' :
			case 'GSH' :
			case 'VPT' :
			case 'VIS' :
			case 'CES' :
			case 'ATS' :
			case 'ACR' :
			case 'ACA' :
			case 'DEB' :
			case 'ANG' :
			case 'VDS' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom'};
			break;
			case 'TFM' :
			case 'BIL' :
			case 'PEA' :
			case 'FES' :
			case 'SPE' :
			case 'EXP' :
			case 'EVG' :
			case 'BFP' :
			case 'FOS' :
			case 'FTR' :
			case 'SEL' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom','categorie':'Catégorie'};
			break;
			case 'HOT' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom','etoile':'Etoile','price':'Prix'};
			break;
			case 'GIM' :
			case 'CHO' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom','etoile':'Etoile / épi / clé','capacity':'Capacité','price':'Prix'};
			break;
			case 'CAM' :
			case 'RTH' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom','etoile': 'Etoile'};
			break;
			case 'RES' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom','price':'Prix'};
			break;
			case 'OTSI' :
				obj = {'zone':'Territoire','lieu':'Commune','titre':'Nom'};
			break;

		}

		if(typeof obj == 'object') {

			$('.sorting .sort select').empty().append('<option value="0">...</option>');
			for(var x in obj) {
				$('.sorting .sort select').append('<option value="'+x+'">'+obj[x]+'</option>');
			}
		}
		idfr.main.sortingInit();
	}

	function disabledField(val) {

		$('#display_form ul li, #display_form ul li > div').hide();
		$('#display_form input, #display_form select').attr('disabled',true);

		$('.default, .'+val).show();
		$('.'+val).parent('li').show();
		$('.default input[type=hidden],.default input, .'+val+' input:visible, .default select, .'+val+' select:visible,input[type=hidden].default').removeAttr('disabled');
	}

	function OStoday() {

		/*var today = new Date();
		$('#search_form .day option[value='+parseInt(today.getDate())+']').attr('selected',true);
		$('#search_form .month option[value='+(today.getMonth()+1)+']').attr('selected',true);
		$('#search_form .year option[value='+(today.getYear() + 1900)+']').attr('selected',true);
		*/
	}

	function OSresaButton(act) {
		var el = $('#resa').parent().parent();

		if(act=='hide') {
			el.addClass('hide').removeClass('default').hide();
		}
		else {
			el.removeClass('hide').addClass('default').show();
		}
	}

	function OSformResa(val) {
		var stat = $('#resa').attr('checked');

		$('input[name=ctoutvert]').val('0');
		if(stat == true) {
			var acting = 'http://ain.for-system.com/index.aspx';
			var ajax = false;

			if($('#type').val() == 'CAM') {
				acting = '/module/carto/index.php';
				ajax = true;
			}

			$('#search_form .reservation.r'+val).show();
			$('#search_form .reservation.r'+val+' input, #search_form .reservation.r'+val+' select').removeAttr('disabled');
			$('form#search_form').attr({
				'action' : acting,
				'target' : '_self'
			}).data('ajax', ajax);
		}
		else {
			$('#search_form .reservation').hide();
			$('#search_form .reservation input, #search_form .reservation select').attr('disabled',true);
			$('form#search_form').attr({
				'action' : '/module/carto/index.php',
				'target' : '_self'
			}).data('ajax',true);
		}

	}

	function OScriteres(keys) {

		if(typeof keys == 'object') {

			var key='';
			var val = '';
			for(var x in keys) {

				key = keys[x];
				switch(key) {
					case 'piscine':
						if($('#'+key).attr('checked')){
							val += '#19,198,199';
						}
					break;
					case 'animaux':
						if($('#'+key).attr('checked')){
							val += '#67';
						}
					break;
					case 'bienetre':
						if($('#'+key).attr('checked')){
							val += '#138,139,85,141,214';
						}
					break;
					case 'parkingGarage':
						if($('#'+key).attr('checked')){
							val += '#18,20,91,140,92';
						}
					break;
					case 'restaurant':
						if($('#'+key).attr('checked')){
							val += '#11,12,13';
						}
					break;
					case 'tableHot':
						if($('#'+key).attr('checked')){
							val += '#75';
						}
					break;
					case 'internet':
						if($('#'+key).attr('checked')){
							val += '#126,105';
						}
					case 'logisFrance':
						if($('#'+key).attr('checked')){
							val += '#96';
						}
					break;
					case 'chequeVac':
						if($('#'+key).attr('checked')){
							val += '#59';
						}
					break;
					case 'tableHot':
						if($('#'+key).attr('checked')){
							val += '#75';
						}
					break;
					case 'label':
						if($('#'+key).val()=='10000'){
							val += '#80,96,97,98,99,103,104,143,162,163,164,165,166,167,168,169,170,171,172,73,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,206,208,216,217,218,219,220,221,222,223,224,240,241,242,243,244,246,247,256';
						}
						else if($('#'+key).val()=='1') {
							//clé vac
							val += '#79';
						}
						else if($('#'+key).val()=='2') {
							//gite de france
							val += '#81';
						}
					break;
				}
			}
			val = val.substring(1);
			if(val) {
				$('input[name=Globales/ListeIdCaract]').attr('disabled',false).val(val);
			}
			else {
				$('input[name=Globales/ListeIdCaract]').attr('disabled',true);
			}
		}
	}

	function OSchildren(){

		var val = $('#renfant').val();
		var val2='';
		var xml= '<?xml version="1.0" encoding="utf-16" ?><XmlAges>';
		if(val>0 && $('#AgeEnfant1:visible')) {
			for(var x=1; x <= val; x++) {
				val2 = $('#AgeEnfant'+x).val();
				xml += '<XmlAgeEnfant>'+val2+'</XmlAgeEnfant>';
			}
		}
		xml += '</XmlAges>';
		$('input[name=Globales/XmlAges]').val(xml);
	}

	function OSnbChildren() {

		$('#renfant').change(function(){
			var val = $(this).val();
			$('#AgeEnfant1,#AgeEnfant2,#AgeEnfant3,#AgeEnfant4,#AgeEnfant5').hide();
			for(var x=1;x <= val;x++) {
				$('#AgeEnfant'+x).show().css('display','inline');
			}
			OSchildren();
		});
	}

	function OStypeSejour() {

		$('input[name=Globales/TypeSejour]').unbind('click').click(function(e){
			var val = $(this).val();
			if(val==2) {
				$('select[name=Globales/DureeSemaine]').hide();
				$('select[name=Globales/DureeNuit]').show();
				$('select[name=Globales/DureeNuit] option:eq(0)').attr('selected', true);
				val = 1;
			}
			else {
				$('select[name=Globales/DureeNuit]').hide();
				$('select[name=Globales/DureeSemaine]').show();
				$('select[name=Globales/DureeSemaine] option:eq(0)').attr('selected', true);
				val = 7;
			}
			$('input[name=Param/DureeSejour]').val(val);
		});

		$('select[name=Globales/DureeNuit]').unbind('change').change(function(){
			var val = $(this).val();
			$('input[name=Param/DureeSejour]').val(val);
		});

		$('select[name=Globales/DureeSemaine]').unbind('change').change(function(){
			var val = $(this).val();
			$('input[name=Param/DureeSejour]').val(val * 7);
		});
	}

	function OSclassement() {

		var val = '', val2 = '';
		$('div.etoile1 input:checked, div.etoile2 input:checked, div.etoile3 input:checked, div.etoile4 input:checked, div.etoile5 input:checked').each(function(){

			val2 = $(this).val();
			switch(val2) {
				case '1':
					val += ',1,11,35';
				break;
				case '2':
					val += ',2,12,36';
				break;
				case '3':
					val += ',3,13,37';
				break;
				case '4':
					val += ',4,5,14,38';
				break;
				case '5':
					val += ',15,39';
				break;
			}

		});

		val = (val!='') ? val.substring(1) : '*';

		val2 = $('select[name=classement]:visible').val();
		switch(val2) {
			case '1':
				val ='1,11,35';
			break;
			case '2':
				val ='2,12,36';
			break;
			case '3':
				val ='3,13,37';
			break;
			case '4':
				val ='4,5,14,38';
			break;
			case '5':
				val ='15,39';
			break;
		}
		val = (val!='') ? val : '*';

		if(val) {
			$('input[name=Globales/ListeIdClassement]').val(val);
		}

	}

	function OScapacite(what) {

		var val = $('select[name=capacite]').val();

		switch(val) {
			case '-1':
				val ='0,0';
			break;
			case '9+':
				val ='0,100';
			break;
			default:
				val = val.replace(/\-/g,',');
			break;
		}

		what = (what=='') ? 'Capacite' : what;
		$('input[name=Globales/'+what+']').val(val);
	}

	function setUrl(field, url, uncheck, lock, show) {

		if(field) {
			field = field.toLowerCase();
		}

		if($('#resa').parent('div').hasClass('checked') && uncheck == 'uncheck'){
			$('#resa').parent('div').removeClass('checked');
			$('#resa').removeAttr('checked');
		}

		var ajax = true,
		urlf = '/module/carto/index.php',
		show = (show) ? show : 'show';

		if(show == 'show') {
			idfr.ui.btLocker['resa'] = 'unlocked';
			OSresaButton('show');
		}
		else {
			idfr.ui.btLocker['resa'] = 'locked';
			OSresaButton('hide');
		}

		if(lock == true) {
			if(!$('#resa').parent('div').hasClass('checked')){
				$('#resa').parent('div').addClass('checked');
				$('#resa').attr('checked','checked');
			}
			idfr.ui.btLocker['resa'] = 'locked';
		}

		var r = $('div.resa #resa:checked');

		if(url && r.size() > 0) {
			if(typeof url == 'object') {
				if(typeof url.ctoutvert == 'undefined') {
					ajax = false;
					urlf = 'http://ain.for-system.com/index.aspx?';
					for(x in url) {
						urlf += '&'+x+'='+url[x];
					}
				}
			}
			else if(url.search(/ain\.for\-system\.com\/z/g)){
				ajax = false;
				urlf = url;
			}

			$('#search_form .reservation.r'+field).show();
			$('#search_form .reservation.r'+field+' input, #search_form .reservation.r'+field+' select').removeAttr('disabled');
			$('input[type=hidden].r'+field).removeAttr('disabled');
		}
		else {
			$('#search_form .reservation').hide();
			$('#search_form .reservation input, #search_form .reservation select').attr('disabled',true);
			$('input[type=hidden][class|="r"]').attr('disabled','disabled');
		}

		$('form#search_form').attr({
			'action' : urlf,
			'target' : '_self'
		}).data('ajax', ajax);
	}

	function initResa(state, callback) {

		var val = $('#type').val(),
		val2 = $('#typeChoix').val();
		val = (val2) ? val2 : val;
		var code, show, course,idFournisseur = '',
		zoneType = 1,
		paysCode = 1,
		_this = this,
		shortCutResa = function (data) {

			if(data.children == true) {
				OSnbChildren();
				$('#AgeEnfant1,#AgeEnfant2,#AgeEnfant3,#AgeEnfant4,#AgeEnfant5').unbind('change').change(function(){
					OSchildren();
				});
			}

			if(data.capacity) {
				OScapacite(data.capacity);
				$('select[name=capacite]').change(function(){
					OScapacite(data.capacity);
				});
			}

			if(data.typeSejour == true) {
				OStypeSejour();
			}

			if(data.ranking == true) {
				OSclassement();
				$('select[name=classement]:visible').unbind('change').change(function(){
					OSclassement();
				});

				$('div.etoile1 input:visible, div.etoile2 input:visible, div.etoile3 input:visible, div.etoile4 input:visible, div.etoile5 input:visible').unbind('click').click(function(){
					OSclassement();
				});
			}

			if(typeof data.criter == 'object') {
				var s,sel,crit = data.criter;
				for(s in crit) {
					sel +=', #display_form div.'+crit[s];
				}
				sel = sel.substring(2);

				$(sel).click(function(){
					OScriteres(data.criter);
				});
			}
		}

		OStoday();
		OSresaButton('hide');
		$('#search_form .reservation').hide();
		$('#search_form .reservation input, #search_form .reservation select').attr('disabled',true);
		$('input[type=hidden][class|="r"]').attr('disabled','disabled');

		switch(val) {
			case 'HOT':
				shortCutResa({
					'children' : true,
					'ranking'  : true,
					'criter'   : ['piscine','animaux','parkingGarage','internet','logisFrance','restaurant','bienetre']
				});

				$('input[name=Param/DureeSejour]').val($('input[name=Globales/DureeNuit]').val());

				$('select[name=Globales/DureeNuit]').unbind('change').change(function(){
					var val = $(this).val();
					$('input[name=Param/DureeSejour]').val(val);
				});

				setUrl('hot', {'NumEtape':'2', 'Globales/RZ':'878','Globales/TypeSejour':'2'}, state);
			break;
			case 'CAM':
				shortCutResa({
					'typeSejour' : true
				});
				setUrl('cam', {'ctoutvert': true}, state);
			break;
			case 'GIM':
				shortCutResa({
					'ranking'    : true,
					'criter'     : ['piscine','animaux','chequeVac','label','bienetre'],
					'capacity'   : 'CapaciteHotel',
					'typeSejour' : true
				});

				setUrl('gim', {'NumEtape':'2', 'Globales/RZ':'877'}, state);
			break;
			case 'CHO':
				shortCutResa({
					'ranking'    : true,
					'criter'     : ['piscine','animaux','chequeVac','tableHot','label','bienetre'],
					'capacity'   : 'CapaciteHotel',
					'typeSejour' : true
				});

				setUrl('cho', {'NumEtape':'2', 'Globales/RZ':'879'}, state);
			break;
			case 'CVV':
				shortCutResa({
					'children' : true
				});
				setUrl('cvv', 'http://ain.for-system.com/z3911f24364e1_fr-centre-et-villages-de-vacances.aspx', state);
			break;
			case 'RTH':
				shortCutResa({
					'children' : true
				});
				setUrl('rth', 'http://ain.for-system.com/z3911f24381_fr-.aspx', state);
			break;

			case 'CES':
				setUrl('ces', {'NumEtape':'2','Globales/RZ':'881','Param/ListeId':'*','Globales/TypeCourse':'35'}, state);
			break;
			case 'ATS':
				typ = $('#type').val();
				zoneType = 2;

				if(typ && typ != '-1') {
					switch(typ) {
						case 'CAK':
							course = 5;
						break;
						case 'CAN':
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3460':
										course = 6;
									break;
								}
							}
							else {
								course = '6';
							}
						break;
						case 'PEC':
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3461':
										course = 64;
									break;
								}
							}
							else {
								course = '64';
							}
						break;
						case 'TOF' :
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '100000':
										course = 75;
									break;
									case '100001':
										course = '75,58,70';
									break;
								}
							}
							else {
								course = '75,58,70';
							}
						break;
					}
					if(course) {
						setUrl(typ,{'NumEtape':'2', 'Globales/RZ':'882', 'Param/ListeId':'*', 'Globales/TypeCourse': course}, state);
					}
				}
				else {
					setUrl('ats', {'NumEtape':'2', 'Globales/RZ':'882', 'Param/ListeId':'*', 'Globales/TypeCourse':'5,6'}, state);
				}

			break;
			case 'VDS':
				typ = $('#type').val();
				zoneType = 2;
				OSresaButton('hide');

				if(typ && typ != '-1') {
					switch(typ) {
						case 'VIA':
							//visite accompagnée
							var t = $('#sousType').val();
							if(t == null || t == '-1') {
								setUrl('via', {'NumEtape':'2','Globales/RZ':'881', 'Param/ListeId':'*', 'Globales/TypeCourse': '97,72,90,44,45'}, state);
							}
						break;
						case 'BLU':
							//balade ludique
							setUrl('blu', {'Globales/RZ':'880', 'Param/ListeNumTheme': '45'}, state, true);
						break;
						case 'MUT':
							course = '';
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3471':
										course = '21';
									break;
									break;
									case '3473':
										course = '26';
									break;
									case '100005' :
										course = '16';
									break;
								}
							}
							else {
								course = '21,20,30,35,16';
								t = 'mut';
							}

							if(course) {
								setUrl(t, {'Globales/RZ':'880', 'Param/ListeNumTheme':course}, state);
							}
						break;
						case 'DEC':
							course = '';
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3468':
										setUrl(t, {'NumEtape':'2','Globales/RZ':'881','Param/ListeId':'*','Globales/TypeCourse': '82,95'}, state);
									break;
									case '3407':
										setUrl(t, {'NumEtape':'2','Globales/RZ':'880','Param/ListeNumTheme':'14'}, state);
									break;
								}
							}
						break;
						case 'VIE':
							course = '';
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3466':
										setUrl(t, {'NumEtape':'2','Globales/RZ':'881','Param/ListeId':'*','Globales/TypeCourse':'104'}, state);
									break;
									case '3445':
										setUrl(t, {'NumEtape':'2','Globales/RZ':'880','Param/ListeNumTheme':'47,25'}, state);
									break;
									case '100007':
										setUrl(t, {'NumEtape':'2','Globales/RZ':'881','Param/ListeId':'*','Globales/TypeCourse':'92'}, state);
									break;
								}
							}
						break;
					}
				}
			break;
			case 'ACA':
				typ = $('#type').val();
				OSresaButton('hide');

				if(typ && typ != '-1') {
					switch(typ) {
						case 'BIL':
							setUrl('bil', {'NumEtape':'2','Globales/RZ':'880', 'Param/ListeNumTheme':'6,16,17,20,21,26,34,35'}, state, true);
						break;
						case 'SEA':
							setUrl('sea', {'NumEtape':'2','Globales/RZ':'880', 'Param/ListeId':'*','Globales/TypeCourse':'31,35,45,53,44,68,91,90' }, state, true);
						break;
					}
				}
				else {
					setUrl('aca', {'NumEtape':'2','Globales/RZ':'881','Param/ListeId':'*','Globales/TypeCourse':'31,35,45,53,44,68,91,90'}, state);
				}

			break;
			break;
			case 'ACR':
				var typ = $('#type').val(),
				zoneType = 2,
				c;

				if(typ && typ != '-1') {
					c = typ;
					switch(typ) {
						case 'PAA':
							course = '20,42';

						break;
						case 'ASV':
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3465':
										course = '43,8';
										c = t;
									break;
									case '3495':
										setUrl(t, {'Globales/RZ':'883', 'Globales/ListeIdFournisseur':'29859'}, state);
									break;
								}
							}
						break;
						case 'PAS':
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3494':
										course = '19,63,89,84,96,99';
										c = t;
									break;
									case 'MON' :
										setUrl('mon',{'Globales/RZ':'1362', 'Param/ListeNumTheme':'19'}, state);
									break;
								}
							}
						break;
						case 'RAN' :
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3492':
										course = '51,28,29,27,41,98';
										c = t;
									break;
								}
							}
							else {
								course = '51,28,29,27,41,98';
							}
						break;
						case 'RAA' :
							course = 26;
						break;
						case 'VEV' :
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3489':
										course = 46;
										c = t;
									break;
									case '3490':
										setUrl(t, {'Globales/RZ':'883', 'Globales/ListeIdFournisseur': '3195,12260'}, state);
									break;
								}
							}
						break;
						case 'EQU':
							course = 60;
						break;
						case 'SES':
							course = 77;
						break;
						case 'SPL':
							var t = $('#sousType').val();
							if(t && t != '-1') {
								switch(t) {
									case '3482':
										course = 34;
										c = t;
									break;
								}
							}
							else {
								course = 34;
							}
						break;
						case 'IPL':
							setUrl('ipl', {'Globales/RZ':'1362','Param/ListeNumTheme':'44,28,23'}, state);
						break;
					}

					if(course) {
						setUrl(c, {'NumEtape':'2', 'Globales/RZ':'882', 'Param/ListeId':'*', 'Globales/TypeCourse': course}, state);
					}
				}
			break;
			case 'DEB':
				OSresaButton('hide');
			break;
			case 'ANG':
				typ = $('#type').val();
				zoneType = 2;
				OSresaButton('hide');

				if(typ && typ != '-1') {
					switch(typ) {
						case 'ACH':
							setUrl('ach', {'NumEtape':'2','Globales/RZ':'882','Param/ListeId':'*','Globales/TypeCourse':'7,30,32,47,48,49,83,86,85,93,94'}, state);
						break;
						case 'FDS':
							setUrl('fds', {'Globales/RZ':'1362','Param/ListeNumTheme':'31,32,33'}, state);
						break;
						case 'LOM':
							setUrl('lom', {'Globales/RZ':'883','Globales/ListeIdFournisseur':'11621'}, state);
						break;
					}
				}
			break;
			case 'AVF':
				OSresaButton('hide');
				zoneType = 2;
			break;
			case 'SPE':
				setUrl('spe',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '1,2,3,4,5,7,8,9,10,11,12,15,22'}, state);
			break;
			case 'TFM':
				setUrl('tfm',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '1,2,3,4,5,7,8,9,10,11,12,15,17,18,20,21,22,25,47'}, state);
			break;
			case 'FES':
				setUrl('fes',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '17'}, state);
			break
			case 'EVG':
				setUrl('evg',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '25,47'}, state);
			break;
			case 'EXP':
				setUrl('exp',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '20,21'}, state);
			break;
			case 'FOS':
				setUrl('fos',{'Globales/RZ':'2564', 'Param/ListeNumTheme': '18'}, state);
			break;
			case 'SEL':
				setUrl('sel', {'Globales/RZ':'2564', 'Param/ListeNumTheme': '13,27,28,29,3941,42,43'}, state);
			break;
			case 'PEA':
			case 'BFP':
			case 'FTR':
				OSresaButton('hide');
			break;

		}
		if(idFournisseur != '') {
			$('input[name=Globales/ListeIdFournisseur]').removeAttr('disabled').removeClass('hide').val(idFournisseur);
		}
		else {
			$('input[name=Globales/ListeIdFournisseur]').attr('disabled', true).addClass('hide');
		}
		OSzone(zoneType);

		if(code) {
			$('input[type=hidden]:not(#sector)').attr('disabled',true).hide();
			$('input[type=hidden].default').removeAttr('disabled');

			if(show!='') {
				$('input[type=hidden].'+show).removeAttr('disabled');
			}
		}

		if(typeof callback == 'function') {
			callback(show);
		}
	}

	function OSzone(code){

		var code = (typeof code == 'undefined' && paysCode) ? paysCode : code,
		    field = (code == 1) ? 'ListeIdCommune' : 'ListeInsee',
		
			communesCode = {
			'liste1' : {
				'bresse' : '169653,170057,170135,170803,170804,171547,171917,171942,172279,172705,172792,173265,173473,174063,175188,175232,176293,176294,176558,176776,177018,177265,177431,177435,177498,177762,177827,177955,178173,178212,178309,178327,178862,178926,179100,179120,180017,180319,180679,181748,182100,182272,182465,182991,183797,183829,183936,185890,187618,188085,189418,189599,189614,189644,190031,190417,190844,191423,191606,192074,192131,193029,194066,194529,194550,194879,195265,195353,195380,195381,195588,195826,195865,196312,196656,196721,196732,199441,199439,199491,199724,200126,200178,200207,200332,200359,200551,201196,201198,201327,201343,201483,201940,201979,202301,202836,203131,203238,197728,198690,198740,198750,198895,204622,185473,204851,205509,205552,206051,206128,206229,206233,206773,206898,207241,207413',
				'bugey'  : '184180,169217,169236,169259,169263,169375,169439,169622,169636,169639,169649,169652,169804,169853,169967,171768,171803,171805,171807,171838,171909,171920,172208,172413,172675,172833,173470,173623,173655,173660,173665,173865,173869,184430,175064,175129,175233,175326,175340,175479,175520,175543,175638,175797,175969,176121,176314,176336,176337,176351,176533,176912,177098,177186,177209,177332,177338,177371,177376,177411,177413,178037,178283,178383,178981,179041,179237,180067,180559,181722,181723,181922,186894,182511,182527,183018,183374,183376,183602,183604,183715,183716,183721,184000,185577,185819,185919,186204,186566,188204,188211,188239,188243,188553,188639,188640,188941,189255,189304,189669,189843,190053,190145,190161,190617,191430,191485,192080,192646,192772,192794,187951,193161,193489,193688,193762,194033,194060,194321,187172,194673,194675,194914,187253,195266,195325,195499,195791,195796,195985,197281,197526,199353,199731,199773,199903,200170,203617,200669,200746,201168,201837,201935,202064,202826,203115,203393,197847,198119,198450,198724,198726,198815,199065,199074,199152,203859,203885,203960,204127,204297,204589,205756,206409,206410,206647,207025,207244,207245,207247,207411,179402',
				'dombes' : '184178,169203,169219,169949,170907,170980,171560,171726,172289,172461,172510,184371,173177,173278,173679,175308,175321,175653,175673,184556,175852,176091,176125,176133,176306,176767,177242,177941,178395,178904,178911,180188,180193,181143,181539,181706,182606,183558,183795,183965,186251,189073,189887,190142,190755,190811,190963,191007,191016,191062,191597,187122,191827,191971,191996,193014,193087,193140,194219,194534,194701,194906,187211,196339,196564,196731,196833,197118,199446,199480,199751,200210,200223,203509,203549,200265,203706,200358,200636,200764,201103,201116,201329,201706,202057,202059,202302,202461,203239,197895,198268,203828,204341,204393,204757,204798,204988,205377,206178,206584,206793,207049,207124',
				'gex'    : '175219,175343,176562,176578,177041,177263,178191,178776,179253,180195,180370,181815,182483,186024,187519,187577,190909,193850,194528,195584,195854,200550,201076,198192,198415,198652,204391,206188,206224,190910'
			},
			'liste2' : {
				'bresse' : "'010016','010023','010024','010025','010026','010029','010038','010040','010042','010245','010050','010053','010057','010065','010069','010072','010094','010095','010102','010106','010108','010115','010123','010124','010125','010127','010128','010130','010134','010136','010139','010140','010144','010147','010150','010151','010154','010159','010163','010172','010175','010177','010179','010184','010195','010196','010197','010203','010211','010212','010229','010230','010231','010232','010236','010241','010246','010254','010259','010264','010266','010273','010284','010289','010291','010296','010301','010304','010305','010306','010309','010312','010314','010317','010320','010321','010323','010332','010334','010336','010337','010343','010344','010346','010350','010352','010355','010364','010365','010367','010369','010370','010374','010375','010380','010385','010387','010388','010391','010402','010405','010406','010408','010422','010425','010426','010429','010430','010432','010433' ,'010437','010439','010445','010447','010451','010457'",
				'bugey'  : "'010002','010004','010006','010007','010008','010009','010010','010011','010012','010013','010014','010015','010017','010019','010022','010033','010034','010035','010031','010036','010037','010039','010041','010044','010047','010051','010056','010058','010059','010060','010061','010063','010064','010066','010067','010068','010073','010076','010077','010079','010080','010081','010082','010087','010089','010091','010097','010098','010099','010100','010101','010107','010110','010111','010112','010116','010117','010118','010119','010121','010122','010133','010138','010141','010148','010149','010152','010155','010162','010171','010170','010174','010176','010181','010182','010185','010186','010187','010189','010190','010191','010192','010193','010199','010200','010202','010204','010206','010208','010213','010214','010215','010216','010218','010219','010221','010224','010227','010228','010233','010234','010237','010239','010240','010242','010255','010257','010265','010268','010269' ,'010271','010274','010277','010267','010279','010280','010282','010283','010286','010292','010293','010294','010298','010300','010302','010303','010307','010310','010311','010316','010329','010330','010331','010338','010340','010341','010345','010366','010357','010358','010363','010372','010373','010379','010384','010386','010390','010392','010396','010400','010403','010404','010407','010409','010410','010411','010413','010414','010415','010416','010417','010421','010431','010442','010441','010444','010448','010452','010453','010454','010456','740109'",
				'dombes' : "'010001','010165','010005','010021','010027','010028','010030','010032','010043','010045','010046','010049','010052','010054','010062','010074','010075','010083','010084','010085','010088','010090','010092','010093','010096','010105','010113','010129','010142','010146','010145','010156','010157','010166','010167','010169','010183','010188','010194','010198','010207','010225','010235','010238','010243','010244','010248','010249','010250','010252','010258','010260','010261','010262','010263','010272','010275','010276','010285','010290','010295','010297','010299','010318','010319','010322','010325','010328','010333','010335','010339','010347','010348','010342','010353','010349','010382','010351','010356','010359','010361','010362','010368','010371','010376','010378','010381','010383','010389','010393','010398','010412','010418','010420','010423','010424','010427','010428','010434','010443','010446','010449','010450'",
				'gex'    : "'010071','010078','010103','010104','010109','010114','010135','010143','010153','010158','010160','010173','010180','010205','010209','010210','010247','010281','010288','010308','010313','010354','010360','010397','010399','010401','010419','010435','010436','010247'"
			}
		},
		val = $('#sector').val(),
		input = '';

		if(val.search(/;1/g)!='-1') {
			input += ','+communesCode['liste'+code].bresse;
		}
		if(val.search(/;2/g)!='-1') {
			input += ','+communesCode['liste'+code].dombes;
		}
		if(val.search(/;3/g)!='-1') {
			input += ','+communesCode['liste'+code].bugey;
		}
		if(val.search(/;4/g)!='-1') {
			input += ','+communesCode['liste'+code].gex;
		}

		if(input=='') {
			input = '*';
		}
		else {
			input = input.substring(1);
		}

		$('input[name=Globales/'+field+']').val(input);
	}

	function accent(temp){
		if(typeof temp != 'undefined') {
			temp = $.trim(temp);

			temp = temp.replace(/[àâä]/gi,"a")
			.replace(/[éèêë]/gi,"e")
			.replace(/[îï]/gi,"i")
			.replace(/[ôö]/gi,"o")
			.replace(/[ùûü]/gi,"u")
			.replace(/['\,]/g,"")
			.replace(/[ ]/g,"-")
			.toLowerCase();
		}
		return temp;
	}

	return {

		/*#####################################################
		# var init
		#####################################################*/
		version : '1.0',
		sortField : '',

		/*#####################################################
		# title changer
		#####################################################*/
		changeTitle: function(title){

			var origin = $('body').data('title');
			title = title.replace(/&amp;/g,'&');
			title = title.replace(/<([^>])*>/g,'');
			$(document)[0].title = origin+' '+title;

		},

		carto3D: function(what, where, content) {
			$(what).remove();
			$(where).append(content);
			$(what).click(function(e) {
				e.preventDefault();
				tw = 1024;
				th = 600;

				tw=40+parseInt(tw);
				th=40+parseInt(th);
				if (tw>screen.Width-80) tw=screen.Width-80;
				if (th>screen.Height-80) th=screen.Height-80;

				var leftPos = (screen.availWidth-tw) / 2 ;
				var topPos = (screen.availHeight-th) / 2 ;
				var w = window.open($(this).attr("href"), "carto3d", "menubar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, width="+tw+", height="+th+", left="+leftPos+", top="+topPos);
				if (w) w.focus();
			});

		},

		/*#####################################################
		# follow tag link
		#####################################################*/
		cloudInit: function() {
			var url = $(window)[0].location.hash;

			if(url) {
				var spl = url.split(/\-/g),
					thema = '',
					root = $('input:[name=category]:checked').val(),
					search = {
						'category' : root,
						'type' : spl[1]
					};
				switch(spl[2]) {
					case '1':
						thema = 2; //hebergement
					break
					case '2':
						thema = 3; //gastronomie
					break;
					case '3':
						thema = 4; //avoir_afaire
					break;
					case '4':
						thema = 1; //fete_manif
					break;
				}

			   if(thema) {
				   $("#cartoThema .li"+thema).trigger('click')
			   }

				idfr.map.search(search,'',function(){
					idfr.main.initListing();
					var arian = $('.navigation').data('arian');
					$('.navigation p').html(arian+' &gt; Résultat de la recherche');
					$('.titre_page h1').html('Résultat de la recherche');
					idfr.main.changeTitle('Recherche cartographique');
				});
			}
		},

		/*#####################################################
		# wysistats
		#####################################################*/
		wysi : function() {
			$('.wysi').click(function(e){

				//MAIL;HOTNOR027FS0003A|site
				//URL;HOTNOR027FS0003A|site
				var sp = $(this).attr('rel').split(/\|/g);
				if (valeur==1){
					stat('cdt01','','',sp[0]+'_'+sp[1],'','','',sp[1]);
				}
			});
		},

		tagWysi : function(opt, what){
			if (valeur == 1){
				var wysi = tmp = '';
				switch(opt){
					case 'search':

						var fn = {
							'data' : {
								'field' : '',
								'root' : '',
								'type' : ''
							},
							'init' : function(field) {
								var wysi = '';
								this.field = field;

								var t = accent(this.type());
								switch(field.category) {
									case 'heb':
										wysi = 'Hebergement_';
										this.data.root = wysi;


										switch(t) {
											case 'hotel':
												wysi += this.type()+';';
												wysi += this.star()+'_';
												wysi += this.presta()+';';
												wysi += this.town()+';';
												wysi += this.resa({
													'adulte':1,
													'enfant':1,
													'duree': 2
												});
											break;
											case 'camping':
												wysi += this.type()+';';
												wysi += this.star()+'_';
												wysi += this.presta()+';';
												wysi += this.town()+';';
												wysi += this.resa({
													'adulte':1,
													'enfant':1,
													'duree': 1
												});
											break;
											case 'gites_et_meubles':
												wysi += this.type()+';';
												wysi += this.star()+'_';
												wysi += this.presta()+'_';
												wysi += this.label()+'_';
												wysi += this.capacity()+';';
												wysi += this.town()+';';
												wysi += this.resa({
													'adulte':0,
													'enfant':0,
													'duree': 1
												});
											break;
											case 'chambre_dhotes':
												wysi += this.type()+';';
												wysi += this.presta()+'_';
												wysi += this.label()+'_';
												wysi += this.capacity()+';';
												wysi += this.town()+';';
												wysi += this.resa({
													'adulte':0,
													'enfant':0,
													'duree': 1
												});
											break;
											case 'residence_de_tourisme_et_hoteliere':
												wysi = this.town()+';';
												wysi += this.resa({
													'adulte':1,
													'enfant':1,
													'duree': 2
												});
											break;
											case 'centre_et_village_de_vacances':
												wysi = this.town();
											break;
											case 'gite_detape_de_sejour_et_autre_hebergement_de_groupe':
												wysi = this.town();
											break;
										}
									break;
									case 'gas':
										wysi = 'Gastronomie_';
										this.data.root = wysi;

										switch(t) {
											case 'restaurants':
												wysi += this.type()+';';
												wysi += this.presta()+'_';
												wysi += this.price()+'_';
												wysi += this.town('short');
											break;
											case 'ventes_de_produits_du_terroir':
												wysi += this.type()+';';
												wysi += this.presta()+'_';
												wysi += this.town('short');
											break;
											case 'visites':
												wysi += this.type()+';';
												wysi += this.town('short');
											break;
											case 'cours_et_stages':
												wysi += this.type()+';';
												wysi += this.town('short');
											break;
										}
									break;
									case 'avf':
										wysi = 'AVoirAFaire_';
										this.data.root = wysi;

										t = accent(this.subtype());
										switch(t){
											case 'toutes_les_thematiques':
												wysi += 'toutes;';
												wysi += this.town('short');
											break;
											case 'activites_autour_de_leau':
											case 'activites_entre_ciel_et_terre':
											case 'activites_neige':
											case 'visites_et_decouvertes':
												wysi += this.subtype()+';';
												wysi += this.choix(this.type())+'_';
												wysi += this.town('short');
											break;
											case 'activite_culturelles_et_artistiques':
											case 'detente_et_bien-etre':
												wysi += this.subtype()+';';
												wysi += this.town('short');
											break;
										}
									break;
									case 'fma':
										wysi = 'Fetes_Manifestations;';
										this.data.root = wysi;

										wysi += t+'_';
										var end = $('input[name=start]').val();
										wysi += (end) ? end.replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/gi,'$3$2$1')+'_' : '-1_';

										var start = $('input[name=end]').val();
										wysi += (start) ? start.replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/gi,'$3$2$1')+'_' : '-1_';

										var period = $('select[name=period] option:selected').val();
										wysi += (period) ? period+'_' : '-1_';

										wysi += this.town('short');
									break;
								}

								return wysi;
							},

							'choix' : function(type) {

								if(type.match(/choix/gi)) {
									type = '-1';
								}

								return type;
							},
							'type' : function() {
								//type
								var type = $('select[name=type] option:selected').text();
								type = type.toLowerCase();
								type = type.replace(/ /gi, '_')
								this.data.type = type;

								return type;
							},
							'subtype' : function() {
								//subtype
								var type = $('select[name=typeChoix] option:selected').text();
								type = type.toLowerCase();
								type = type.replace(/ /gi, '_')
								this.data.type = type;

								return type;
							},
							'price' : function() {
								//prix
								var price = $('select[name=fourchettegas] option:selected').val();
								return price;
							},
							'star' : function() {
								//etoile
								var etoile = wysi = '';
								if(this.field.etoile) {
									var star = this.field.etoile;
									for(var x in star) {
										if(typeof star[x] != 'function') {
											etoile += '|'+star[x];
										}
									}
								}

								var classement = $('select[name=classement]:visible');
								if(classement.size() >0) {
									etoile = '|'+classement.val();
								}

								wysi += (etoile != '') ? etoile.substr(1) : '-1';

								var t = this.data.type;
								return wysi;
							},

							'presta' : function() {
								//presta
								var presta = '';
								var field = this.field;
								for(var x in field){
									if(field[x] == 1 && $('input[name='+x+'].icon').size() > 0){
										presta += '|'+x;
									}
								}
								presta = (presta != '') ? presta.substr(1) : '-1';
								presta = presta.replace(/ /g,'-');
								return presta;
							},

							'label' : function() {
								//label
								var label = '';
								label = $('select[name=label]:visible option:selected').text();
								label = (label != '') ? label : '';
								return label;
							},

							'capacity' : function() {
								//capacity
								var capacity = '';
								capacity = $('select[name=capacite]:visible option:selected').val();
								capacity = (capacity != '') ? capacity : '';
								return capacity;
							},

							'town' : function(type) {
								var wysi = '';
								var ville = $('input[name=town]').val();

								if(typeof type == 'undefined') {
									wysi += this.data.root + this.data.type + '_ville;';
								}
								wysi += (ville != 'Ville') ? ville : '-1';

								var sector = $('#sector').val();
								wysi += '|';
								wysi += (sector.search(/;1/g)!='-1') ? 'bresse' : '-1';
								wysi += '|';
								wysi += (sector.search(/;2/g)!='-1') ? 'dombes' : '-1';
								wysi += '|';
								wysi += (sector.search(/;3/g)!='-1') ? 'bugey'  : '-1';
								wysi += '|';
								wysi += (sector.search(/;4/g)!='-1') ? 'gex'    : '-1';

								return wysi;
							},

							'resa' : function(info) {
								var wysi = f ='';

								wysi += this.data.root+this.data.type+'_resa;'

								if(info.adulte == 1) {
									tmp = $('select[name=Globales/NbAdultes]:visible').val();
									f += (tmp) ? tmp : '-1';
								}

								if(info.enfant == 1) {
									tmp = $('select[name=NbEnfants]:visible').val();
									f += (tmp) ? '_'+tmp : '_-1';
								}

								tmp = $('input[name=dday]:visible').val();
								f += (tmp) ? '_'+tmp.replace(/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/gi,'$3$2$1') : '_-1';

								var tmp1 = $('select[name=Globales/DureeNuit]:visible').val();
								if(info.duree == 1) {
									var t = this.data.type;

									tmp = $('input[name=typeSejour]:visible:checked').val();
									tmp = (tmp == 1) ? 'semaine':'jour';
									f += (tmp) ? '_'+tmp : '_-1';

									var tmp2 = $('select[name=Globales/DureeSemaine]:visible').val();
									if(typeof tmp1 != 'undefined') {
										f += '_'+tmp1;
									}
									else if(typeof tmp2 != 'undefined') {
										f += '_'+tmp2;
									}
									else {
										f += '_-1';
									}
								}
								else {
									f += (typeof tmp1 != 'undefined') ? '_'+tmp1 : '_-1';
								}

								if(f.substr(0,1) == '_') {
									f = f.substr(1);
								}

								return wysi+f;
							}
						}
						var form = $('form#search_form').serializeArray();
						var field = {};
						for(var x in form) {
							if(form[x].value != '') {
								var k = form[x].name;
								var t = (typeof k != 'undefined') ? k.match(/\[\]/g) : false;

								if(t) {
									k = k.replace(/[\[\]]/g,'');

									if(typeof field[k] != 'object') {
										field[k] = [];
									}
									field[k].push(form[x].value);
								}
								else {
									field[k] = form[x].value;
								}
							}
						}

						wysi = fn.init(field);

					break;
					case 'tagcloud':
						wysi = 'Nuage_MC;'+what;
					break;
				}

				if(wysi != '') {
					stat('cdt01','','',accent(wysi));
					//echo("'cdt01','','','"+accent(wysi)+"'");
				}
			}
		},

		/*#####################################################
		# sorting
		#####################################################*/
		sortingInit: function() {

			$('#listing .sort select').change(function(e){

				$('#listing .sort select option[value=0]').remove();
				var val = $('option:selected',this).val();
				idfr.main.sortField = val;
				var type='';
				var dir = '';

				switch(val) {
					case 'price':
						type = 'float';
					break;
					case 'etoile':
						type = 'int';
						dir = 'desc';
					break;
					case 'capacity':
						type = 'int';
						dir = 'desc';
					break;
					}

				idfr.map.sorting(val, type, dir, function(){
					idfr.main.selectSortField();
				});
			});
		},

		selectSortField: function(){
			mkSortSelect();
			$('#listing .sort select option[value='+idfr.main.sortField+']').attr('selected',true);
		},

		/*#####################################################
		# Init method
		#####################################################*/
		init : function(){

			var _this = this;
			//init zoom
			$('#zoom #plus').click(function(){
				idfr.map.zoom('+1',function(old,level){

					$('#zoom #level').removeClass('level'+old).addClass('level'+level);
				});
			});

			$('#zoom #moins').click(function(){
				idfr.map.zoom('-1',function(old,level){

					$('#zoom #level').removeClass('level'+old).addClass('level'+level);
				});
			});

			//init all form
			$('form#search_form').submit(function(e, step){
				var datet = $('input[name="dday"]:visible');

				$('.lieesSlider').remove();
				$('.suggestSlider').remove();
				$('a.carto3d_popup').remove();
				$('.divcoldroite .desc').show();

				if(datet.val() == '') {
					alert('La date d\'arrivée est obligatoire, veuillez remplir ce champs avant de relancer votre recherche');
					return false;
				}

				if(step != 'externalPage') {
					idfr.main.tagWysi('search');
				}

				var data = $(this).data('ajax');

				if(typeof data == 'undefined' || data==true) {
					$('#listing,#map_workspace,#carto_footer').show();
					$('#leftBox,#rightBox').removeClass('hide');
					$('#detail').hide();

					var test = $('#map_workspace');

					if(test.length>0) {
						e.preventDefault();

						idfr.map.search('#'+$(this).attr('id'),'',function(){
							_this.initListing();
							var arian = $('.navigation').data('arian');
							$('.navigation p').html(arian+' &gt; Résultat de la recherche');
							$('.titre_page h1').html('Résultat de la recherche');
							_this.changeTitle('Recherche cartographique');

							mkSortSelect();

							_this.printer();
						});

						return false;
					}
					else {
						return true;
					}
				}
				else {
					var val = $('input[name=Globales/ListeIdCaract]').val();
					if(!val) {
						$('input[name=Globales/ListeIdCaract]').attr('disabled',true);
					}

					var com = $('#ville').val();
					if(typeof step == 'undefined') {
						e.preventDefault();
						var tempoWysi = function() {
							setTimeout(function() {
								$('form#search_form').trigger('submit', 'externalPage');
							}, 500);
						};

						if(com != 'Ville') {
							$.post('/module/carto/insee.php', {'commune' : com}, function(data){
								var field = $('input[name=Globales/ListeInsee]'),
								key = 'insee';
								if(field.size() < 1) {
									field = $('input[name=Globales/ListeIdCommune]');
									key = 'idOS';
								}

								if(field.size() > 0) {
									field.val(data[key]);
								}
								tempoWysi();

							}, "json")
						}
						else {
							tempoWysi();
						}

						return false;
					}
					else {
						return true;
					}
				}
			});
		},

		cDate :  function (date, add){
			date = date.split(/\//g);
			var origin = new Date(date[2], date[1], date[0]);
			var dateracine = new Date(origin.getTime() + (1000 * 60 * 60 * 24 * add));

			var day = '0'+date[0];
			var month = '0'+date[1];

			var day2 = '0'+dateracine.getDate();
			var month2 = '0'+dateracine.getMonth();

			var obj = {
				'start' : {
					'day' : (day.length == 2) ? day : day.substring(1),
					'month' : (month.length == 2) ? month : month.substring(1),
					'year' : ''+date[2]
				},
				'end' : {
					'day' : (day2.length == 2) ? day2 : day2.substring(1),
					'month' : (month2.length == 2) ? month2 : month2.substring(1),
					'year' : ''+dateracine.getFullYear()
				}
			}
			return obj;
		},

		initListing : function() {

			_this = this;
			$('.ctoutvert').click(function(e){
				e.preventDefault();
				var date = $('input[name=dday]').val();

				if(date != '' && $('input[name=resa]').attr('checked') ==  true) {
					var add = $('select[name=Globales/DureeNuit]:visible,select[name=Globales/DureeSemaine]:visible').val();
					add = ($('select[name=Globales/DureeNuit]:visible').size()>0) ? add : add*7;
					date = _this.cDate(date, add);

					$('input[name=select_pers], input[name=bloc_recherche], input[name=re]').removeAttr('disabled');

					var type_heb = ($('input[name=locahll]').attr('checked') == true) ? 'L' : 'E';

					$('input[name=select_pers]').val($('select[name=Globales/NbAdultes]').val());


					if(typeof date.start.day != 'undefined' && typeof date.end.day != 'undefined' && type_heb) {
						var startL = date.start.day+'@'+date.start.month+'@'+date.start.year,
							endL   = date.end.day+'@'+date.end.month+'@'+date.end.year

						$('input[name=re]').val(type_heb+'@'+startL+'@'+endL);
					}
				}

				$(this).parent('form').trigger('submit');
			});

			$('.block').unbind('mouseenter').mouseenter(function(){

				var id = $(this).attr('id').replace(/block/g,'');
				$('ul',this).addClass('selected');
				$('#picto_'+id).addClass('selected');
				$('.idfrmap_flag[id=picto_'+id+']').trigger('mouseover');

			}).unbind('mouseleave').mouseleave(function(){

				var id = $(this).attr('id').replace(/block/g,'');
				$('ul',this).removeClass('selected');
				$('#picto_'+id).removeClass('selected');
				$('.idfrmap_flag[id=picto_'+id+']').trigger('mouseout',id);
			});
		},

		initMask : function(what){

			switch(what) {
				case('bresse') :
					var map = new Array({y:20,x:0}, {y:14,x:75}, {y:0,x:140}, {y:24,x:195},	{y:60,x:195}, {y:60,x:8}, {y:54,x:15}, {y:40,x:2}, {y:35,x:8}, {y:25,x:0});
				break;
			}

			if(typeof map == 'object') {
				idfr.ui.makeMask('mask1',{
					'width': '150px',
					'height': '200px',
					'top':'12px',
					'left':'84px',
					'draw': map,
					'color': 'blue'
				});
			}
		},

		infobulle: function() {


			idfr.ui.infoBulle('.idfrmap_flag',function(id){

				var data = idfr.map.getData(id);
				var html = idfr.map.setTooltip(id,'tooltips_'+data.template);
				$('#infobulle div.warp').html(html);

				$('#infobulle .col2').unbind('mouseenter');

				var type = $('select[name=type]').val();
				var sub = $('select[name=typeChoix]').val();
				type = (type == '' || sub == '-1') ? sub : type;
				var uri = '';
				switch(type) {
					case 'HOT':
					case 'GSH':
					case 'TFM':
					case 'PEA':
					case 'FES':
					case 'EXP':
					case 'EVG':
					case 'BFP':
					case 'FOS':
					case 'FTR':
					case 'SEL':
						uri = 'z3911f';
					break;
					case 'GIM':
						uri = 'z3912f';
					break;
					case 'CHO':
						uri = 'z3913f';
					break;
					case 'CAK':
					case 'CAN':
					case 'ACA':
					case 'ASV':
					case 'PAS':
					case 'MON':
					case 'RAN':
					case 'RAA':
					case 'VEV':
						uri = 'z3915f';
					break;
					case 'SPE':
						$('#infobulle div.warp .resa').attr('href', 'http://ain.for-system.com/z2564e1_fr-Spectacle-Ain-billetterie-reservation-en-ligne-spectacle-Ain.asp');
					break;
				}

				// special CTOUTVERT
				if(type == 'CAM') {
					$('#infobulle .col2 .ctoutvert').click(function(){

						var date = $('input[name=dday]').val();
						if(date != '' && $('input[name=resa]').attr('checked') ==  true) {
							var add = $('select[name=Globales/DureeNuit]:visible,select[name=Globales/DureeSemaine]:visible').val();
							add = ($('select[name=Globales/DureeNuit]:visible').size()>0) ? add : add*7;
							date = _this.cDate(date, add);

							$('#infobulle .col2 input[name=select_pers], #infobulle .col2 input[name=bloc_recherche], #infobulle .col2 input[name=re]').removeAttr('disabled');

							var type_heb = ($('#infobulle .col2 input[name=locahll]').attr('checked') == true) ? 'L' : 'E' ;

							$('#infobulle .col2 input[name=select_pers]').val($('select[name=Globales/NbAdultes]').val());

							var startL = date.start.day+'@'+date.start.month+'@'+date.start.year,
								endL   = date.end.day+'@'+date.end.month+'@'+date.end.year

							$('#infobulle input[name=re]').val(type_heb+'@'+startL+'@'+endL);

							$(this).parent('form').trigger('submit');
						}
					});
				}

				var href = (uri != '') ? 'http://ain.for-system.com/'+uri+$('#infobulle div.warp .resa').attr('href')+'_fr-.aspx' : '';
				if(href != '') {
					$('#infobulle div.warp .resa').attr('href', href);
				}

			},{
				'vertical':'none',
				'horizontal':'left',
				'decal':[-39,14,0,4],
				'in':function(id){
					$('#block'+id).addClass('selected');
					$('#block'+id+' ul').addClass('selected');
					$('#picto_'+id).addClass('selected');
					idfr.ui.tooltips();
				},
				'out':function(id){
					$('#block'+id).removeClass('selected');
					$('#block'+id+' ul').removeClass('selected');
					$('#picto_'+id).removeClass('selected');
				}

			});

		},

		OTSIHide : function(){
			$('#rotsi').parent().parent().remove();
		},

		initForm : function(what, query) {

			var _this = this;
			$('form#search_form').attr({
				'action' : '/module/carto/index.php',
				'target' : '_self'
			});

			idfr.ui.btLocker['resa'] = 'unlocked';

			switch(what) {
				case('ots') :
					this.tplLoader('form_otsi',function(json) {

						_this.wysi();
						$('#display_form').html(_this.templates.form_otsi);
						$('.tagcloudCarto').html(_this.templates.cloud_otsi);

						idfr.ui.mkArea('.departement','#sector', [
							{
								'id':'bresse',
								'action':function() {},
								'title':'Bresse',
								'value':1
							},{
								'id':'dombes',
								'action':function() {},
								'title':'Dombes',
								'value':2
							},{
								'id':'bugey',
								'action':function() {},
								'title':'Bugey',
								'value':3
							},{
								'id':'gex',
								'title':'Pays de Gex',
								'action':function() {},
								'value':4
							}],
							{'type':'radio'}
						);

						idfr.ui.mkDefault('input.default');

						$("#ville").autocomplete("/module/carto/commune.php");
						if(query){
							idfr.ui.initForm(query,'#search_form');
						}

						$('#search_form div.center:eq(0)').hide();
						$('#search_form div.center:eq(0) + br').remove();

						// add class for font-size (standing for customer respond)
						//$('#display_form h1.label').addClass('');
						idfr.ui.tooltips();
						_this.near();

						if(query && typeof query.resa == 'undefined'){
							$('#search_form').trigger('submit','externalPage');
						}
					});
				break;
				case('heb') :
					this.OTSIHide();
					this.tplLoader('form_hebergement',function(json) {

						_this.mkSideBar(json, 'discoverSlider', 'D&eacute;couvrez aussi', true);

						_this.wysi();
						$('#display_form').html(_this.templates.form_hebergement);
						$('.tagcloudCarto').html(_this.templates.cloud_hebergement);

						idfr.ui.mkArea('.departement','#sector', [
							{
								'id':'bresse',
								'action':function() {
									OSzone();
									},
								'title':'Bresse',
								'value':1
							},{
								'id':'dombes',
								'action':function() {
									OSzone();
								},
								'title':'Dombes',
								'value':2
							},{
								'id':'bugey',
								'action':function() {
									OSzone();
								},
								'title':'Bugey',
								'value':3
							},{
								'id':'gex',
								'title':'Pays de Gex',
								'action':function() {
									OSzone();
								},
								'value':4
							}],
							{'type':'radio'}
						);

						idfr.ui.mkDefault('input.default');
						idfr.ui.mkButton([
							'etoile',
							'internet',
							'restaurant',
							'parking',
							'animaux',
							'bienetre',
							'piscine',
							'logisFrance',
							'baignade',
							'enfant',
							'chequeVac',
							'tableHot',
							'resa',
							'locahll'
						]);


						var url = '/index.php?id=article_122_1_1';
						$('a.helpPage').attr('href', url);
						$('#type').unbind('change').change(function(){

							var val = $(this).val();
							disabledField(val);
							initResa('uncheck');
							$('div.resa.checked').trigger('click');

							var url2 ='#';
							switch(val) {
								case 'HOT':
									url2 = 122;
								break;
								case 'CAM':
									url2 = 124;
								break;
								case 'GIM':
									url2 = 125;
								break;
								case 'CHO':
									url2 = 127;
								break;
								case 'RTH':
									url2 = 126;
								break;
								case 'CVV':
									url2 = 129;
								break;
								case 'GSH':
									url2 = 128;
								break;
							}
							url2 = (url2 != '#') ? '/index.php?id=article_'+url2+'_1_1' : url2;

							$('a.helpPage').attr('href', url2);
						});

						disabledField('HOT');

						$("#ville").autocomplete("/module/carto/commune.php");

						if(query){
							idfr.ui.initForm(query,'#search_form');
						}

						idfr.ui.tooltips();

						$('#resa').unbind('click').click(function(){
							initResa();
							_this.calendar();
						});

						if($('#resa').parent('div').hasClass('checked')){
							$('#resa').parent('div').removeClass('checked');
							$('#resa').removeAttr('checked');
							$('#resa').parent('div').trigger('click');
						}
						_this.near();

						if(query && typeof query.resa == 'undefined'){
							$('#search_form').trigger('submit','externalPage');
						}
					});
				break;
				case('gas') :
					this.OTSIHide();
					this.tplLoader('form_gastronomie',function(json) {

						_this.mkSideBar(json, 'discoverSlider', 'D&eacute;couvrez aussi', true);

						_this.wysi();
						$('#display_form').html(_this.templates.form_gastronomie);
						$('.tagcloudCarto').html(_this.templates.cloud_gastronomie);

							idfr.ui.mkArea('.departement','#sector', [
							{
								'id':'bresse',
								'action':function() {
									OSzone();
									},
								'title':'Bresse',
								'value':1
							},{
								'id':'dombes',
								'action':function() {
									OSzone();
								},
								'title':'Dombes',
								'value':2
							},{
								'id':'bugey',
								'action':function() {
									OSzone();
								},
								'title':'Bugey',
								'value':3
							},{
								'id':'gex',
								'title':'Pays de Gex',
								'action':function() {
									OSzone();
								},
								'value':4
							}],
							{'type':'radio'}
						);

						idfr.ui.mkDefault('input.default');
						idfr.ui.mkButton([
							'terrasse',
							'bordeau',
							'gastronomique',
							'traditionnelle',
							'francaise',
							'cuisineautres',
							'logipicto',
							'cuisinier',
							'prodvins',
							'prodfrom',
							'autreprod',
							'rdpev',
							'resa'
						]);

						OSresaButton('hide');

						$('#type').change(function(){
							var val = $(this).val();
							disabledField(val);
							initResa('uncheck');
						});
						disabledField('RES')

						$('#resa').unbind('click').click(function(){
							initResa()
							_this.calendar();
						});


						$("#ville").autocomplete("/module/carto/commune.php");

						if(query){
							idfr.ui.initForm(query,'#search_form');
						}

						idfr.ui.tooltips();

						_this.near();

						if(query && typeof query.resa == 'undefined'){
							$('#search_form').trigger('submit','externalPage');
						}
					});
				break;
				case('avf') :
					this.OTSIHide();
					this.tplLoader('form_avoir_afaire',function(json) {

						_this.mkSideBar(json, 'discoverSlider', 'D&eacute;couvrez aussi', true);

						_this.wysi();
						$('#display_form').html(_this.templates.form_avoir_afaire);
						$('.tagcloudCarto').html(_this.templates.cloud_avoir_afaire);

							idfr.ui.mkArea('.departement','#sector', [
							{
								'id':'bresse',
								'action':function() {
									OSzone('2');
								},
								'title':'Bresse',
								'value':1
							},{
								'id':'dombes',
								'action':function() {
									OSzone('2');
								},
								'title':'Dombes',
								'value':2
							},{
								'id':'bugey',
								'action':function() {
									OSzone('2');
								},
								'title':'Bugey',
								'value':3
							},{
								'id':'gex',
								'title':'Pays de Gex',
								'action':function() {
									OSzone('2');
								},
								'value':4
							}],
							{'type':'radio'}
						);

						$('a.helpPage').unbind('click').click(function(e){
							e.preventDefault();
							var url = $(this).attr('href');
							window.open(url, 'Aide', 'resizable=no, location=no, width=600, height=400, menubar=no, status=no, scrollbars=no, menubar=no');
						});

						idfr.ui.mkDefault('input.default');
						idfr.ui.mkButton([
							'terrasse',
							'bordeau',
							'gastronomique',
							'traditionnelle',
							'francaise',
							'cuisineautres',
							'logipicto',
							'cuisinier',
							'prodvins',
							'prodfrom',
							'autreprod',
							'rdpev',
							'resa',
							'nordic'
						]);

						OSresaButton('hide');

						$('#typeChoix').unbind('change').change(function(){
							var val = $(this).val();
							disabledField(val);
							initResa('uncheck');
							//$('div.resa #resa:checked').parent('div').trigger('click');
							_this.calendar();
							//idfr.ui.btLocker['resa'] = 'unlocked';
						});

						$('#type').unbind('change').change(function(){
							var val = $(this).val();
							disabledField(val);
							initResa('uncheck');
							//
							/*
							idfr.ui.btLocker['resa'] = 'unlocked';
							$('#resa:checked').parent('div').trigger('click');

							if(val=='FDS') {
								$('#resa:not(:checked)').parent('div').trigger('click');
								idfr.ui.btLocker['resa'] = 'locked';
							}
							*/
							_this.calendar();
						});

						$('#sousType').unbind('change').change(function(){
							initResa('uncheck');
						});

						$('#resa').unbind('click').click(function(){
							initResa();
							_this.calendar();
						});

						$("#ville").autocomplete("/module/carto/commune.php");

						idfr.ui.tooltips();

						var fields = new Array();

						fields[0] = {
							'ATS' : {
								'CAK' : 'Canoé kayak',
								'CAN' : 'Canyoning - Randonnée aquatique',
								'PEC' : 'Pêche',
								'BEL' : 'Baignade et bases de loisirs',
								'TOF' : 'Tourisme fluvial'
							},
							'ACR' : {
								'PAA' : 'Parcours aventure et Accrobranche&reg;',
								'ASV' : 'Escalade et Via ferrata',
								'PAS' : 'Activités aériennes',
								'RAN' : 'Randonnées',
								'RAA' : 'Randonnées avec âne',
								'VEV' : 'Vélo / VTT',
								'GOL' : 'Golf',
								'EQU' : 'Equitation',
								'BIA' : 'Biathlon',
								'SES' : 'Séjours sportifs',
								'SPL' : 'Spéléologie',
								'SPM' : 'Sports mécaniques',
								'IPL' : 'Insolites et parcs de loisirs'
							},
							'ANG' : {
								'ACH' : 'Activités / sorties accompagnées',
								'FDS' : 'Forfait de ski',
								'LOM' : 'Location de matériel',
								'SIS' : 'Sites et stations'
							},
							'VDS' : {
								'VIA' : 'Sorties accompagnées',
								'BLU' : 'Balades ludiques',
								'MUT' : 'Musées et sites touristiques',
								'DEC' : 'Sites naturels et sentiers',
								'VIE' : 'Visites d\'entreprises et Savoir-faire'
							},
							'ACA' : {
								'BIL' : 'Billetterie culturelle',
								'SEA' : 'Sorties et stages'
							}
						}
						//				<!--<option value="FOI">Forfait ski</option>-->
						//BLU -> 3475

						fields[1] = {
							'CAN':{
								3455 : 'Sites de canyoning',
								3460 : 'Sorties accompagnées, stages'
							},
							'PEC':{
								3456 : 'Sites et étangs de pêche',
								3461 : 'Sorties accompagnées, stages'
							},
							'TOF': {
								4837 : 'Haltes nautiques et ports fluviaux',
								100000 : 'Pilotage',
								100001 : 'Balades fluviales'
							},
							'ASV': {
								3464 : 'Sites de pratique',
								3465 : 'Sorties accompagnées',
								3495 : 'Location de matériel'
							},
							'PAS': {
								3458 : 'Sites d\'envol et d\'atterrissage',
								3494 : 'Baptêmes, vols, stages',
								'MON' : 'Montgolfière'
							},
							'RAN' : {
								3492 : 'Balades accompagnées',
								3406 : 'Accompagnateurs en montagne',
								3405 : 'Grands itinéraires'
							},
							'VEV' : {
								3485 : 'Sites VTT FFC',
								3489 : 'Initiation, sorties accompagnées',
								3490 : 'Location de matériel'
							},
							'SPL' : {
								3481 : 'Sites de spéléologie, grottes',
								3482 : 'Découverte, sorties accompagnées'
							},
							'MUT' : {
								3472   : 'Châteaux',
								3474   : 'Incontournables',
								3471   : 'Musées et Apothicaireries',
								3473   : 'Sites et Monuments',
								100005 : 'Visites guidées'
							},
							'DEC' : {
								3468 : 'Promenades à thèmes',
								3467 : 'Patrimoine naturel',
								3407 : 'Parcs et jardins'
							},
							'VIE' : {
								3466 : 'Métiers d\'art',
								3445 : 'Métiers de bouche',
								100007 : 'Visites d\'entreprises'
							}
						}
						/*
						,
								100009 : 'Musées, expos et sites touristiques'
						*/
						$('select[name=typeChoix]').change(function(){
							var val = $(this).val();

							$('select[name=type]').html('');
							$('select[name=sousType]').html('');
							$('li.crit,select[name=sousType]').hide();
							if(typeof fields[0][val] != 'undefined') {
								var sel = $('select[name=type]');
								var opt = fields[0][val];
								sel.append('<option value="-1">---Choix---</option>');
								for(var x in opt) {
									sel.append('<option value="'+x+'">'+opt[x]+'</option>');
								}
								sel.show();
								$('li.act').addClass('default').show();
							}
							else {
								$('li.act,li.crit').removeClass('default');
								$('li.act,li.crit,select[name=type],select[name=sousType]').hide();
							}
						});
						$('select[name=type]').change(function(){
							var val = $(this).val();

							$('select[name=sousType]').html('');
							if(typeof fields[1][val] != 'undefined') {
								var sel = $('select[name=sousType]');
								var opt = fields[1][val];
								sel.append('<option value="-1">---Choix---</option>');
								for(var x in opt) {
									sel.append('<option value="'+x+'">'+opt[x]+'</option>');
								}
								sel.show();
								$('li.crit').show();
							}
							else {
								$('li.crit').removeClass('default');
								$('li.crit,select[name=sousType]').hide();
							}
						});

						if(query){
							idfr.map.registerEvent('formReady',function(){
								$('select[name=typeChoix]').trigger('change');
								$('select[name=type]').trigger('change');
							});

							idfr.ui.initForm(query,'#search_form');
						}
						_this.near();

						if(query && typeof query.resa == 'undefined'){
							$('#search_form').trigger('submit','externalPage');
						}
					});

				break;
				case('fma') :
					this.OTSIHide();
					this.tplLoader('form_fete_manif',function(json) {

						_this.mkSideBar(json, 'discoverSlider', 'D&eacute;couvrez aussi', true);

						_this.wysi();
						$('#display_form').html(_this.templates.form_fete_manif);
						$('.tagcloudCarto').html(_this.templates.cloud_fete_manif);

							idfr.ui.mkArea('.departement','#sector', [
							{
								'id':'bresse',
								'action':function() {
									$('input[name=Globales/ListeIdCommune]').val(bresse);
									OSzone();
									},
								'title':'Bresse',
								'value':1
							},{
								'id':'dombes',
								'action':function() {
									$('input[name=Globales/ListeIdCommune]').val(dombes);
									OSzone();
								},
								'title':'Dombes',
								'value':2
							},{
								'id':'bugey',
								'action':function() {
									$('input[name=Globales/ListeIdCommune]').val(bugey);
									OSzone();
								},
								'title':'Bugey',
								'value':3
							},{
								'id':'gex',
								'title':'Pays de Gex',
								'action':function() {
									$('input[name=Globales/ListeIdCommune]').val(gey);
									OSzone();
								},
								'value':4
							}],
							{'type':'radio'}
						);

						idfr.ui.mkDefault('input.default');
						idfr.ui.mkButton([
							'resa'
						]);

						$('#type').unbind('change').change(function(){
							var val = $(this).val();
							disabledField(val);
							initResa('uncheck');
						});

						$("#ville").autocomplete("/module/carto/commune.php");

						if(query){
							idfr.ui.initForm(query,'#search_form');
						}
						disabledField('PEA');

						idfr.ui.tooltips();
						$('#resa').unbind('click').click(function(){
							initResa();
						});
						/*
						if($('#resa').parent('div').hasClass('checked')){
							$('#resa').parent('div').removeClass('checked');
							$('#resa').removeAttr('checked');
							$('#resa').parent('div').trigger('click');
						}
						*/
						var picker = function(){
							$.datepicker.setDefaults({
								changeMonth: true,
								changeYear: true,
								dateFormat:'dd/mm/yy',
								currentText: 'Now',
								minDate: 0,
								yearRange: '-109:+109'
							});

							$("input#start").datepicker();
							$("input#end").datepicker();
						}
						if(typeof jQuery.fn.datepicker!= 'function') {
							idfr.map.registerEvent('datepicker',picker);
						}
						else {
							picker();
						}
						_this.near();

						if(query && typeof query.resa == 'undefined'){
							$('#search_form').trigger('submit','externalPage');
						}
					});

				break;
			}
		},

		calendar : function() {

			var picker = function(){
				$('.myCalendar').datepicker({
					onSelect: function(selectedDate) {
						var xp = selectedDate.split(/\//g);
						$('input[name=Globales/JourDebut]').val(xp[0]).attr('disabled', false).show();
						$('input[name=Globales/MoisDebut]').val(xp[1]).attr('disabled', false).show();
						$('input[name=Globales/AnDebut]').val(xp[2]).attr('disabled', false).show();
					},
					minDate: '+0d',
					setDate :'+0'
				}).datepicker("setDate", '+0');

				var xp = $('.myCalendar').val().split(/\//g);
				$('input[name=Globales/JourDebut]').val(xp[0]).attr('disabled', false).show();
				$('input[name=Globales/MoisDebut]').val(xp[1]).attr('disabled', false).show();
				$('input[name=Globales/AnDebut]').val(xp[2]).attr('disabled', false).show();
			}

			if(typeof jQuery.fn.datepicker!= 'function') {
				idfr.map.registerEvent('datepicker',picker);
			}
			else {
				picker();
			}

		},

		viewDetail: function(id_offre,id_tmp,is_carnet, param) {

			param = (typeof param == 'undefined') ? '' : param;

			var type = $('select[name=type]').val();
			type = (!type) ? $('select[name=typeChoix]').val() : type;

			if(type == 'CAM') {

				var date = $('input[name=dday]').val();
				var add = $('select[name=Globales/DureeNuit]:visible,select[name=Globales/DureeSemaine]:visible').val();
				add = ($('select[name=Globales/DureeNuit]:visible').size() > 0) ? add : add*7;

				date = this.cDate(date, add);
				var pers = $('select[name=Globales/NbAdultes]').val(),
				    type_heb = ($('input[name=locahll]').attr('checked') == true) ? 'L' : 'E' ;

				var startL = date.start.day+'@'+date.start.month+'@'+date.start.year,
				    endL   = date.end.day+'@'+date.end.month+'@'+date.end.year

				param += '&re='+type_heb+'@'+startL+'@'+endL+'&select_pers='+pers;
			}

			$('#listing,#carnet_listing,#map_workspace,#carto_footer').hide();
			$('#leftBox,#rightBox').addClass('hide');
			$('#detail').show();
			this.printer();

			var _this = this, dir;

			var datas = idfr.map.getData(id_offre);
			var idOffre = (typeof datas != 'undefined') ? datas.identifier : id_offre;

			if(idfr.main.slider.runtime.lieesSlider) {
				clearInterval(idfr.main.slider.runtime.lieesSlider);
			}

			$('#detail').load('/module/carto/index.php?a=ajax&offre='+idOffre+param+' .detail',function(html){

				$(document).scrollTop(160);

				if(is_carnet){
					$('.carnet').hide();
					dir = idfr.map.prevCarnetNext(id_offre);

					if(dir.prev && dir.prev > 0){
						$('a.arriere:visible').attr('href','javascript:idfr.main.viewDetail('+dir.prev+',"'+id_tmp+'",true);').removeClass('disabled');
					}
					else {
						$('a.arriere:visible').attr('href','#').addClass('disabled');
					}

					if(dir.next && dir.next > 0){

						$('a.avant:visible').attr('href','javascript:idfr.main.viewDetail('+dir.next+',"'+id_tmp+'",true);').removeClass('disabled');
					}
					else {
						$('a.avant:visible').attr('href','#').addClass('disabled');
					}
				}
				else{
					dir = idfr.map.prevOfferNext(id_offre);

					if(dir.prev){
						$('a.arriere:visible').attr('href','javascript:idfr.main.viewDetail('+dir.prev+',"'+id_tmp+'");').removeClass('disabled');
					}
					else {
						$('a.arriere:visible').attr('href','#').addClass('disabled');
					}

					if(dir.next){

						$('a.avant:visible').attr('href','javascript:idfr.main.viewDetail('+dir.next+',"'+id_tmp+'");').removeClass('disabled');
					}
					else {
						$('a.avant:visible').attr('href','#').addClass('disabled');
					}
				}
				idfr.ui.tooltips();

				//#modif@adv : ne passe pas sous ie
				$('.script',html).each(function(ind,obj){
					//eval($(this).text());
					eval($(this).html());
				});

				var title = $("h1", html).html(),
				    zone = $("div.lieu",html).html();

				$("#detail h1:eq(0)").remove();
				$('.titre_page h1').html(title);
				zone = zone.replace(/(.*)\/(.*)/g,'$1');

				_this.changeTitle(title+' ('+zone+')');
				_this.wysi();
				idfr.ui.multiImg('#detail .photo');

				var atype ='';
				switch(type) {
					case 'HOT':atype = 'Hôtels';break;
					case 'CAM':atype = 'Campings';break;
					case 'GIM':atype = 'Gîtes et meublés';break;
					case 'CHO':atype = 'Chambres d\'hôtes';break;
					case 'RTH':atype = 'Résidences de tourisme et hôtelière';break;
					case 'CVV':atype = 'Centres et villages de vacances';break;
					case 'GSH':atype = 'Gîtes d\'étape, de séjour et autres hébergements de groupe';break;

					case 'RES':atype = 'Restaurants';break;
					case 'VPT':atype = 'Ventes de produits du terroir';break;
					case 'VIS':atype = 'Visites';break;
					case 'CES':atype = 'Cours et stages';break;

					case 'PEA':atype = 'Principaux évènements de l\'Ain';break;
					case 'FES':atype = 'Festivals';break;
					case 'SPE':atype = 'Spectacles';break;
					case 'EXP':atype = 'Expositions';break;
					case 'EVG':atype = 'Evènements gourmands';break;
					case 'BFP':atype = 'Brocantes, farfouilles, puces ...';break;
					case 'FOS':atype = 'Foire et salons';break;
					case 'CES':atype = 'Fêtes traditionnelles';break;
					case 'SEL':atype = 'Sports et loisirs';break;

					case 'CAK' :atype = 'Canoë kayak';break;
					case 'CAN' :atype = 'Canyoning';break;
					case 'PEC' :atype = 'Pêche';break;
					case 'BEL' :atype = 'Baignade et bas de loisirs';break;
					case 'TOF' :atype = 'Tourisme fluvial';break;
					case 'PAA' :atype = 'Parcours aventure';break;
					case 'ASV' :atype = 'Escalade et via ferrata';break;
					case 'PAS' :atype = 'Parapente et sport aériens';break;
					case 'MON' :atype = 'Montgonlfière';break;
					case 'RAN' :atype = 'Randonnées';break;
					case 'RAA' :atype = 'Randonnée avec âne';break;
					case 'VEV' :atype = 'Vélo / VTT';break;
					case 'GOL' :atype = 'Golf';break;
					case 'EQU' :atype = 'Equitation';break;
					case 'BIA' :atype = 'Biathlon';break;
					case 'SES' :atype = 'Séjours sportifs';break;
					case 'SPL' :atype = 'Spéléologie';break;
					case 'SPM' :atype = 'Sports mécaniques';break;
					case 'IPL' :atype = 'Insolites et parcs de loisirs';break;
					case 'SIS' :atype = 'Sites et stations';break;
					case 'LOM' :atype = 'Location de matériel';break;
					case 'FDS' :atype = 'Forfait de ski';break;
					case 'ACH' :atype = 'Activités hiver';break;
					case 'VIA' :atype = 'Visite accompagnée';break;
					case 'MUT' :atype = 'Musées et sites touristiques';break;
					case 'DEC' :atype = 'Découverte';break;
					case 'VIE' :atype = 'Visites d\'entreprises et savoir faire';break;
				}

				var arian = $('.navigation').data('arian');
				if(atype!='') {
					$('.navigation p').html(arian+' &gt; '+atype);
				}
				else {
					$('.navigation p').html(arian);
				}

			});

			idfr.map.query({
				'action' : 'discovery',
				'id' : id_offre
			},function(json){
				if(json.suggest) {
					_this.mkSideBar(json.suggest, 'suggestSlider', 'Nos suggestions');
				}

				if(json.discover) {
					_this.mkSideBar(json.discover, 'lieesSlider', 'Offres li&eacute;es');
				}
			});
		},

		mkSideBar: function(json, name, title, empty) {

			if($('#map_workspace').size() < 1) {
				return false;
			}
			empty = typeof empty == 'undefined' ? false : empty;
			var html = '', img = '', y = 0;

			if(empty == true) {
				$('#rightspace .divcoldroite').html('');
				$('#rightspace .divcoldroite .carto3d_popup').remove();
			}
			else {
				$('.divcoldroite .'+name).remove();
				$('.divcoldroite .desc').hide();
			}

			if(typeof json == 'object' && typeof json.offre == 'object' && json.offre.length > 0) {
				var offre = '';
				for(var x in json.offre) {
					y++;
					img = '';
					offre = json.offre[x];

					if(offre.img != ''){
						img = '<div style="width:100%; text-align:center;"><p><img src="'+offre.img+'" width="190" height="218" alt="'+offre.alt+'" border="0" /></p>';
					}

					if(offre.title) {
						html += '<li class="item'+y+'" >'+img+offre.title+'<hr /><p align="right"><a href="javascript:idfr.main.viewDetail(\''+offre.id+'\',\''+offre.id+'\')">Voir le détail</a>&nbsp;<a href="javascript:idfr.main.viewDetail(\''+offre.id+'\',\''+offre.id+'\')"><img class="pngfix" align="absmiddle" src="/download/site-principal/image/charte/suite_decouvrez.png" width="26" height="21" border="0" alt="'+offre.title+'" /></a></p></li>';
					}
				}
			}

			var titlef = '';
			if(json.desc != '') {
				titlef = json.desc;
			}
			else if(html != '') {
				titlef = '<h1>'+title+'</h1>';
			}
			$('.divcoldroite').append('<div class="divcontentgauche '+name+'">'+titlef+'<div id="'+name+'" class="slider"><div class="mask-gallery"><ul class="gallery">'+html+'</ul></div></div></div>');
			this.slider.init(name);
		},

		viewMap: function() {

			$('#listing,#map_workspace,#carto_footer').show();
			$('#leftBox,#rightBox').removeClass('hide');
			$('#carnet_listing,#detail').hide();
		},

		viewListing: function(id) {

			$('#listing,#map_workspace,#carto_footer').show();
			$('#leftBox,#rightBox').removeClass('hide');
			$('#carnet_listing,#detail').hide();
		},

		near: function(nb) {

			nb = (typeof nb == "undefined") ? 25 : nb;

			$('#commune_slider').slider({
				max:nb,
				min:0,
				slide: function(event, ui){
					$('#commune_value').removeAttr('disabled');
					$('#commune_value').val("< " + $('#commune_slider').slider('option', 'value'));
				},
				stop: function(event, ui){
					var val = $('#commune_slider').slider('option', 'value');
					if(val > 0) {
						$('#commune_value').removeAttr('disabled');
						$('#commune_value').val("< " + val);
					}
					else {
						$('#commune_value').attr('disabled',true);
						$('#commune_value').val('');
					}
				}
			});

			$('#commune_slider').slider('disable');
			$('#commune_value').attr('disabled',true);

			$('input[name=town]').keyup(function(){

				var val = $(this).val();
				if(val.length<1) {
					$('#commune_slider').slider('disable');
					$('#commune_value').attr('disabled',true);
				}
				else {
					$('#commune_slider').slider('enable');
					$('#commune_value').removeAttr('disabled');
				}
			});

			$('#commune_value').keyup(function(){

				var val = $(this).val();
				val = val.replace(/[< ]* /g,'');
				val = parseInt(val);
				if(isNaN(val)) {
					val = 0;
					$(this).val('');
				}
				else if(val > nb) {
					val = nb;
					$(this).val('< ' + nb);
				}
				else {
					$(this).val('< ' + val);
				}
				$('#commune_slider').slider('option', 'value', val);
			});
		},

		printer: function() {

			var message = ($('#detail:visible').size()<1) ? 'Imprimer le listing' : 'Imprimer la fiche';
			message += '<img src="/download/site-principal/image/charte/imprimer.png"/>';

			var zone = ($('#detail:visible').size()<1) ? 'listing' : 'detail';
			if($('.showPrinter').size()<1) {
				$('.showcarnetdiv').append('<a class="showPrinter" href="#">'+message+'</a>');
			}
			else {
				$('.showcarnetdiv a.showPrinter').html(message);
			}

			this.printerProc();
		},

		printerProc : function() {
			var zone = ($('#detail:visible').size()<1) ? 'listing' : 'detail';
			$('.showcarnetdiv a.showPrinter').unbind('click').click(function(e){
				e.preventDefault();
				var html = $('#'+zone).html();
				html = html.replace(new RegExp("insert_flash", "gi"), '//insert_flash');

				$('iframe[name=printer]').contents().find('#divframeimpression').html('<div id="'+zone+'" style="display:block">'+html+'</div>');
				window.frames['printer'].focus();
				window.frames['printer'].print();
			});
		},

		slider : {

			runtime : {},
			init : function(what){
				//Speed of the slideshow
				var speed = 6000;

				$('#'+what+' .mask-gallery, #'+what+' .gallery li').width($('#'+what).width());
				$('#'+what+' .gallery').width($('#'+what).width() * $('#'+what+' .gallery li').length);
				//$('#'+what+' .mask-gallery, #'+what+' .gallery li').height($('#'+what).height());

				if(idfr.main.slider.runtime[what]) {
					clearInterval(idfr.main.slider.runtime[what]);
				}

				if($('#'+what+' .gallery li').length > 1){

					idfr.main.slider.runtime[what] = setInterval(function(){
						idfr.main.slider.newsscoller(0, what);
					}, speed);

					$('#'+what+' .gallery li:first').addClass('selected');

					$('#'+what).unbind('hover').hover(
						function() {
							clearInterval(idfr.main.slider.runtime[what]);
						},
						function() {
							idfr.main.slider.runtime[what] = setInterval(function(){
								idfr.main.slider.newsscoller(0, what)
							}, speed);
						}
					);
				}
			},

			newsscoller: function(prev, what){
				if($('#'+what+' .gallery').size() > 0) {
					var current_image = $('#'+what+' .gallery li.selected').length ? $('#'+what+' .gallery li.selected') : $('#'+what+' .gallery li:first');

					var next_image;
					if (prev) {
						next_image = (current_image.prev().length) ? current_image.prev() : $('#'+what+' .gallery li:last');
					} else {
						next_image = (current_image.next().length) ? current_image.next() : $('#'+what+' .gallery li:first');
					}

					$('#'+what+' .gallery li').removeClass('selected');
					next_image.addClass('selected');
					$('#'+what+' .mask-gallery').scrollTo(next_image, 800);
				}
			}
		}
	}
}
/*#####################################################
# init all when dom is ready
#####################################################*/
$(document).ready(function() {

	var url = $(window)[0].location.pathname;
	var $_query_string = $(window)[0].location.search;
	var inCarto = false;

	var initialForm = $('form#search_form');
	if(url.search(/module\/carto/g)!='-1' && $_query_string.search(/offre/g)=='-1') {
		initialForm.data('ajax', true);
		var inCarto = true;
	}
	else {
		initialForm.data('ajax', false);
	}

	if(typeof jQuery.fn.datepicker != 'function') {
		$.getScript("/admin/lib/jquery-ui-1.7.1/ui/ui.datepicker.js",function(){


		$(function($){
			$.datepicker.regional['fr'] = {
				closeText: 'Fermer',
				prevText: '&#x3c;Pr&eacute;c',
				nextText: 'Suiv&#x3e;',
				currentText: 'Courant',
				monthNames: ['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin',
				'Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'],
				monthNamesShort: ['Jan','F&eacute;v','Mar','Avr','Mai','Jun',
				'Jul','Ao&ucirc;','Sep','Oct','Nov','D&eacute;c'],
				dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
				dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
				dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
				dateFormat: 'dd/mm/yy', firstDay: 1,
				isRTL: false};
			$.datepicker.setDefaults($.datepicker.regional['fr']);
			$(idfr.map.opts.listing).trigger('datepicker');
		});


	});
	}

	//factory loader object
	idfr = new idfr_core({
		'map':{
			'detail':'#detail',
			'listing':'#listing',
			'carnet':'#carnet_listing',
			'tip':'#infobulle',
			'layer':{
				'legend':{'elem':'legend','classe':'level'}
			},
			'zoom' : {
				'level':{
					1: {'x':1,'y':1,'factor':1},
					2: {'x':2,'y':2,'factor':2},
					3: {'x':15,'y':15,'factor':15}
				},
				'init':1
			},
			'result_by_page':8,
			'path' : {
				'image' : '/module/carto/img/map/'
			},
			'nav' : {
				'classPrev' : 'arriere',
				'classNext' : 'avant',
				'previous' : 'Page précédente <img src="/module/carto/img/empty.gif" class="sprite" />',
				'next' : '<img src="/module/carto/img/empty.gif" class="sprite" /> Page suivante',
				'first' : '',
				'last' :'',
				'type' : 'no-linear',
				'view' : 'class'
			},
			'message': {
				'listing_empty':'Il n\'y a pas de résultat pour cette recherche.<br />Veuillez modifier vos critères de recherche...',
				'carnet_empty':'Il n\'y a pas de résultat pour ce carnet de route.'
			}
		},
		'main':''
		},{
			'proxy' :'/module/carto/'
		}
	);

	idfr.ui = new map_ui();

	idfr.ui.mkButton(['category']);
	idfr.ui.apng('.apng');
	idfr.ui.multiImg('#detail .photo');
	idfr.map.registerEvent('pictoReady',idfr.main.infobulle);

	$('#search_form .li1,#search_form .li2,#search_form .li3,#search_form .li4, #search_form .li5').click(function(){

		$('#search_form .li1,#search_form .li2,#search_form .li3,#search_form .li4, #search_form .li5').removeClass('selected').children('div').removeClass('checked');
		$(this).addClass('selected').children('div').addClass('checked').children('input').attr('checked','checked');
		var _this = $(this).children('div');
		if(_this.hasClass('hebergement')){
			idfr.main.initForm('heb');
		}
		else if(_this.hasClass('gastronomie')){
			idfr.main.initForm('gas');
		}
		else if(_this.hasClass('avoir_afaire')){
			idfr.main.initForm('avf');
		}
		else if(_this.hasClass('fete_manif')){
			idfr.main.initForm('fma');
		}
		else if(_this.hasClass('otsi')){
			idfr.main.initForm('ots');
		}

	});

	$().ajaxStart(function(evt, request, settings){
   		$('#loader_bg,#loader').show();
 	}).ajaxComplete(function(evt, request, settings){
   		$('#loader_bg,#loader').hide();
 	}).ajaxError(function(evt, request, settings){
   		$('#loader_bg,#loader').hide();
 	});

 	$('a.retour').live('click',function(e){

		e.preventDefault(e);
		idfr.main.viewMap();
		var arian = $('.navigation').data('arian');
		$('.navigation p').html(arian+' &gt; Résultat de la recherche');
		if (inCarto) {
			idfr.main.changeTitle('Recherche cartographique');
		}
		idfr.main.printer();
		$('.lieesSlider').remove();
		$('.suggestSlider').remove();
		$('a.carto3d_popup').remove();
		$('.divcoldroite .desc').show();
		$('.titre_page h1').html('Résultat de la recherche');
	});
	/*
	$('.showcarnetdiv').show();

	$('a.showcarnet').bind('click',function(e){
		idfr.map.getCarnet();
	});
	*/
	$('#listing').bind('changepage',function(){
		idfr.main.initListing();
		idfr.main.selectSortField()
	});

	this.initForm = (typeof initForm =='undefined' || initForm =='undefined') ? false : initForm;
	this.cat = (typeof initForm =='undefined' || initForm == false) ? 'heb' : initForm.category;

	idfr.main.initForm(this.cat, this.initForm);

	//take the default arian value
	$('.navigation').data('arian',$('.navigation p').html());
	$('body').data('title',$(document)[0].title);

	$('.tagcloud_word').live('click',function(e){

		if($('#listing').size()>0) {
			var carret = $(this).attr('href');
			carret = carret.replace(new RegExp('http://'+$(window)[0].location.host,'g'),'');
			var spl = carret.split(/\-/g);

			e.preventDefault();
			$('#listing,#map_workspace,#carto_footer').show();
			$('#leftBox,#rightBox').removeClass('hide');
			$('#detail').hide();

			var root = $('input:[name=category]:checked').val();
			var search = {
				'category' : root,
				'type' : spl[1]
			}

			idfr.map.search(search,'',function(){
				idfr.main.initListing();
				var arian = $('.navigation').data('arian');
				$('.navigation p').html(arian+' &gt; Listing');
				idfr.main.changeTitle('Recherche cartographique');
				//mkSortSelect();
			});
		}
	}).live('mousedown', function(){
		idfr.main.tagWysi('tagcloud', $(this).text());
	});

	idfr.main.cloudInit();

	if(typeof cartoAction != 'undefined' && cartoAction == 'carnet'){
		idfr.map.getCarnet();
	}

	if (inCarto) {
		$('.titre_page h1').html('Recherche cartographique');
	}

	//idfr.map.debug(3);
});
