var map = '';
var insolites = '';
var insolite21 = '';
var insolite22 = '';
var insolite23 = '';

function addListener(element, baseName, handler) {
	if (element.addEventListener)
		element.addEventListener(baseName, handler, false);
	else if (element.attachEvent)
		element.attachEvent('on'+baseName,handler);
}
function stopEvent(e) {
	var e = e || window.event;
	if (e.preventDefault) {
	   e.preventDefault();  // FF
	}
	e.returnValue = false;  // IE
}


function sfHover() {
	var elements = new Array('filter-city','filter-subcategory','filter-capacity');
	
	for(i=0;i<elements.length;i++) {
		if (document.getElementById(elements[i])) {
			var sfEl = document.getElementById(elements[i]);
			sfEl.onmouseover=function() {
				this.className = "sfhover";
			}
			sfEl.onmouseout=function() {
				this.className = '';
			}
		}
	}

	
	if (document.getElementById("nav")) {
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				if (this.className != 'separator') {
					this.className = "hover";
				}
			}
			sfEls[i].onmouseout=function() {
				if (this.className != 'separator') {
					this.className = '';
				}
			}
		}
	}
}
function stopForm(e) {
	e = e || window.event;
	if (e.preventDefault) {
	   e.preventDefault();  // FF
	}
	e.returnValue = false;  // IE
}

function filter_form_valid() {
	
	var cities = new Array();
	var subcategories = new Array();
	var capacities = new Array();
	if (document.getElementById('filter-form')) {
		for (i=0;i<document.getElementById('filter-form').elements.length;i++) {
			element = document.getElementById('filter-form').elements[i];
			if (element.id.indexOf('city_',0) == '0') {
				if (element.checked) {
					cities.push(element.value);
				}
			} else if (element.id.indexOf('subcategory_',0) == '0') {
				if (element.checked) {
					subcategories.push(element.value);
				}
			} else if (element.id.indexOf('capacity_',0) == '0') {
				if (element.checked) {
					capacities.push(element.value);
				}
			}
		}
		search_city = '';
		if (document.getElementById('filter_search_city').value != '') {
			search_city = 'search_city='+document.getElementById('filter_search_city').value+'&';
		}
		search_zone = '';
		if (document.getElementById('filter_search_zone').value != '') {
			search_zone = 'search_zone='+document.getElementById('filter_search_zone').value+'&';
		}
		search_capacity = '';
		if (document.getElementById('filter_search_capacity').value != '') {
			search_capacity = 'search_capacity='+document.getElementById('filter_search_capacity').value+'&';
		}
		search_category = '';
		if (document.getElementById('filter_search_category').value != '') {
			search_category = 'search_category='+document.getElementById('filter_search_category').value+'&';
		}
		
		var xhr; 
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) 
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }
 
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
							if(xhr.status  == 200) {
								 document.getElementById('result').innerHTML=xhr.responseText;
								 setTimeout("setPoints()", 500); 
							}
							else {
								 document.getElementById('result').innerHTML=xhr.status;
							}
         }
    }; 

   xhr.open( 'POST', 'view/results.view.php',  true); 
	 xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   xhr.send(search_city+''+search_zone+''+search_capacity+''+search_category+'departement='+document.getElementById('departement').value+'&category='+document.getElementById('category').value+'&total='+document.getElementById('total').value+'&page='+document.getElementById('page').value+'&cities='+cities.join('-')+'&subcategories='+subcategories.join('-')+'&capacities='+capacities.join('-')); 
		
		
	}
}

function check(prefix) {
	if (prefix) { 
		if (document.getElementById(prefix).checked) {
			var checked = true;
		} else {
			var checked = false;
		}
		for (i=0;i<document.getElementById('filter-form').elements.length;i++) {
			element = document.getElementById('filter-form').elements[i];
			if (element.id.indexOf(prefix,0) == '0') { 
				element.checked = checked;
			}
		}
	}
}


function updateSelection(id) {
	var xhr; 
	try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
	catch (e) 
	{
			try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
			catch (e2) 
			{
				try {  xhr = new XMLHttpRequest();     }
				catch (e3) {  xhr = false;   }
			}
	 }

	xhr.onreadystatechange  = function()
	{ 
		if(xhr.readyState  == 4) {
			if(xhr.status  == 200) {
			 if (id != '' && document.getElementById('selection-image-'+id)) {
				 if (xhr.responseText == '0') {
					 document.getElementById('selection-image-'+id).src = 'img/panier.gif';
				 } else if (xhr.responseText == '1') {
					 document.getElementById('selection-image-'+id).src = 'img/panier-on.gif';
				 }
			 }
			 ajax('view/block-selection.view.php','selection','');
			}
		}
	}; 

 xhr.open( 'POST', 'lib/selection.php',  true); 
 xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 xhr.send('id='+id);
}


function autocomplete_search() {
	value = document.getElementById('search_city').value;
	if (value.length >= 3) {
		ajax('view/autocompletion_city.php','city_list','search_city='+value);
	}
	
}
function click_search(value) {
	document.getElementById('search_city').value = value;
	document.getElementById('city_list').innerHTML = '';
}

function showInsolites(cat) {
	if (document.getElementById('active_insolite').value != cat) {
		document.getElementById('insolites-21').style.display = 'none';
		document.getElementById('insolites-22').style.display = 'none';
		document.getElementById('insolites-23').style.display = 'none';
		/////
		document.getElementById('lien-21').className = '';
		document.getElementById('lien-22').className = '';
		document.getElementById('lien-23').className = '';
		/////
		for(i=0;i<insolites.length;i++) {
			marker = insolites[i];
			marker.hide();
		}
		insolite = window["insolite"+cat];
		for(i=0;i<insolite.length;i++) {
			marker = insolite[i];
			marker.show();
		}
		/////
		document.getElementById('lien-'+cat).className = 'active';
		document.getElementById('insolites-'+cat).style.display = 'block';
		document.getElementById('active_insolite').value = cat;
	} else {
		document.getElementById('insolites-21').style.display = 'none';
		document.getElementById('insolites-22').style.display = 'none';
		document.getElementById('insolites-23').style.display = 'none';
		/////
		document.getElementById('lien-21').className = '';
		document.getElementById('lien-22').className = '';
		document.getElementById('lien-23').className = '';
		/////
		for(i=0;i<insolites.length;i++) {
			marker = insolites[i];
			marker.show();
		}
		/////
		document.getElementById('active_insolite').value = '';
	}
}


/* AJAX */

function ajax(page, layer, param)
{
    var xhr; 
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) 
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }
 
    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState  == 4)
         {
							if(xhr.status  == 200) {
								 document.getElementById(layer).innerHTML=xhr.responseText;
							}
							else {
								 document.getElementById(layer).innerHTML=xhr.status;
							}
         }
    }; 

   xhr.open( 'POST', page,  true); 
	 xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   xhr.send(param); 
	 
	 
} 
//////////////////////////////////////////////////////////////////////////////////////////////////

function gallery(src) {
	document.getElementById('image').src = src;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function initialize() {
	if (GBrowserIsCompatible() && document.getElementById("map")) {
		map = new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP]});
		map.enableDragging();
		map.disableDoubleClickZoom();
		map.disableScrollWheelZoom();
		map.setCenter(new GLatLng(37.4419, 2.800), 1);
		var topRight = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(5,5));
		map.addControl(new GSmallZoomControl(), topRight);
		
		setPoints();
	}
}
function setPoints() {

	if (document.getElementById("points") && map.clearOverlays) {
		map.clearOverlays();
		
		var bounds = new GLatLngBounds;
		
		var icon1 = new GIcon(G_DEFAULT_ICON);
		icon1.image = "http://www.sud-seminaires.fr/img/marker/20_blue.png";
		icon1.shadow= "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		icon1.iconSize = new GSize(12, 20);
		icon1.shadowSize = new GSize(22, 20);
		icon1.iconAnchor = new GPoint(6, 20);
		
		var icon2 = new GIcon(G_DEFAULT_ICON);
		icon2.image = "http://www.sud-seminaires.fr/img/marker/24_red.png";
		icon2.iconSize = new GSize(24,24);
		icon2.shadowSize = new GSize(40, 24);
		icon2.iconAnchor = new GPoint(12, 24);

		
		var points = document.getElementById("points").getElementsByTagName("INPUT");
		for (var i=0; i<points.length; i++) {
			var point = points[i];
			var value = point.value.split('#-#');
			
			if (value[3] == 5 || value[3] == 4) {
				markerOptions = { zIndexProcess:orderOfCreation, icon:icon2, draggable: false, title:value[0] };
			} else {
				markerOptions = { icon:icon1, draggable: false, title:value[0] };
			}
			window["point"+i] = new GLatLng(value[1], value[2]);
			
			bounds.extend(window["point"+i]);
			setBounds(map,bounds);
				
			window["marker"+value[5]] = new GMarker(window["point"+i], markerOptions);
			map.addOverlay(window["marker"+value[5]]);
			window["marker"+value[5]].seo = value[4];
			if (value[3] >= 4) {
				GEvent.addListener(window["marker"+value[5]], "click", function() {
					window.location.href = this.seo+".html";
				});
			}
			
		}
		
		if (points.length == 1) {
			map.setCenter("point"+i, 10);
		}
	}
		
}	
function orderOfCreation(marker,b) {
	return 1;
} 
function chargement_map() {
	setTimeout("initialize()", 1000); 
}
function chargement_filter() {
	setTimeout("filter_form_valid()", 500); 
}

function setBounds(map,bounds) {
	map.setZoom((map.getBoundsZoomLevel(bounds)));
	map.setCenter(bounds.getCenter());
}

addListener(window, 'load', chargement_map);
addListener(window, 'load', chargement_filter);
addListener(window, 'load', sfHover);

function movePanel(way) {

	if ((parseFloat(document.getElementById('gallery').style.left) == 0 && way == -510) || (parseFloat(document.getElementById('gallery').style.left) == -510 && way == 510)) {
		if (parseFloat(document.getElementById('gallery').style.left) != way) {
			new Effect.Move(document.getElementById('gallery'), { x: way, y: 0 });
			new Effect.Move(document.getElementById('promotion'), { x: way, y: 0 });
		}
	}
	
	return false;
	
}


/************************************************************************************************************
	(C) www.dhtmlgoodies.com, October 2005
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Updated:	
		March, 11th, 2006 - Fixed positioning of tooltip when displayed near the right edge of the browser.
		April, 6th 2006, Using iframe in IE in order to make the tooltip cover select boxes.
		
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/	
	var dhtmlgoodies_tooltip = false;
	var dhtmlgoodies_tooltipShadow = false;
	var dhtmlgoodies_shadowSize = 4;
	var dhtmlgoodies_tooltipMaxWidth = 200;
	var dhtmlgoodies_tooltipMinWidth = 100;
	var dhtmlgoodies_iframe = false;
	var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('opera')==-1 && document.all)?true:false;
	function showTooltip(e,tooltipTxt)
	{
		
		var bodyWidth = Math.max(document.body.clientWidth,document.documentElement.clientWidth) - 20;
	
		if(!dhtmlgoodies_tooltip){
			dhtmlgoodies_tooltip = document.createElement('DIV');
			dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
			dhtmlgoodies_tooltipShadow = document.createElement('DIV');
			dhtmlgoodies_tooltipShadow.id = 'dhtmlgoodies_tooltipShadow';
			
			document.body.appendChild(dhtmlgoodies_tooltip);
			document.body.appendChild(dhtmlgoodies_tooltipShadow);	
			
			if(tooltip_is_msie){
				dhtmlgoodies_iframe = document.createElement('IFRAME');
				dhtmlgoodies_iframe.frameborder='5';
				dhtmlgoodies_iframe.style.backgroundColor='#FFFFFF';
				dhtmlgoodies_iframe.src = '#'; 	
				dhtmlgoodies_iframe.style.zIndex = 100;
				dhtmlgoodies_iframe.style.position = 'absolute';
				document.body.appendChild(dhtmlgoodies_iframe);
			}
			
		}
		
		dhtmlgoodies_tooltip.style.display='block';
		dhtmlgoodies_tooltipShadow.style.display='block';
		if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';
		
		var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
		if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
		var leftPos = e.clientX + 10;
		
		dhtmlgoodies_tooltip.style.width = null;	// Reset style width if it's set 
		dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
		dhtmlgoodies_tooltip.style.left = leftPos + 'px';
		dhtmlgoodies_tooltip.style.top = e.clientY + 10 + st + 'px';

		
		dhtmlgoodies_tooltipShadow.style.left =  leftPos + dhtmlgoodies_shadowSize + 'px';
		dhtmlgoodies_tooltipShadow.style.top = e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';
		
		if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){	/* Exceeding max width of tooltip ? */
			dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
		}
		
		var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;		
		if(tooltipWidth<dhtmlgoodies_tooltipMinWidth)tooltipWidth = dhtmlgoodies_tooltipMinWidth;
		
		
		dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
		dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
		dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';		
		
		if((leftPos + tooltipWidth)>bodyWidth){
			dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth)) + 'px';
			dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
		}
		
		if(tooltip_is_msie){
			dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
			dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
			dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
			dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';
		
		}
				
	}
	
	function hideTooltip()
	{
		dhtmlgoodies_tooltip.style.display='none';
		dhtmlgoodies_tooltipShadow.style.display='none';		
		if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';		
	}
	