﻿// JavaScript Document

var map;
var centerLatitude = 45;
var centerLongitude = 6.5; 
var startZoom = 8;
var xmlhttp;
var markers;

var iconeVert = new GIcon();
iconeVert.image = "vert.png";
iconeVert.shadow = "ombre.png";
iconeVert.iconSize = new GSize(12, 20);
iconeVert.shadowSize = new GSize(22, 20);
iconeVert.iconAnchor = new GPoint(6, 20);
iconeVert.infoWindowAnchor = new GPoint(5, 1);

var iconeVertdeca = new GIcon();
iconeVertdeca.image = "vert.png";
iconeVertdeca.shadow = "ombre.png";
iconeVertdeca.iconSize = new GSize(12, 20);
iconeVertdeca.shadowSize = new GSize(22, 20);
iconeVertdeca.iconAnchor = new GPoint(0, 25);
iconeVertdeca.infoWindowAnchor = new GPoint(5, 1);



function initializePoint(pointData) {
	var point = new GLatLng(pointData.latitude, pointData.longitude);
	if(pointData.nom == "LES LANDES" || pointData.nom == "LE CARNET DE BORD" || pointData.nom == "AU VAL DORE" || pointData.nom == "LE GRILLON" || pointData.nom == "LE CLOU" || pointData.nom == "AU P'TIT BONHEUR" || pointData.nom == "LA GUIENETTE" || pointData.nom == "LA GRENOTTE" || pointData.nom == "LES BONS ENFANTS" || pointData.nom == "LA DECOUVERTE" || pointData.nom == "LES 4 MONTAGNES"|| pointData.nom == "AUBERGE EDELWEISS"|| pointData.nom == "ALTA TERRA"|| pointData.nom == "AILLEURS EST ICI") var marker = new GMarker(point,{icon: iconeVertdeca, title: pointData.nom});else var marker = new GMarker(point,{icon: iconeVert, title: pointData.nom});
	var listItem = document.createElement('li');
	var listItemLink = listItem.appendChild(document.createElement('a'));
	listItemLink.href = "#";
	listItemLink.onmouseover = function() { marker.setImage("rouge.png");}
	listItemLink.onmouseout = function() { marker.setImage("vert.png");}
	listItemLink.innerHTML = '<span>' + pointData.nom +' </span> ' + pointData.type + ' - <em>' + pointData.ville + '</em>';
	var focusPoint = function() {
		listItem.className = 'current';
		marker.setImage("rouge.png");
		marker.openInfoWindowHtml('<div id="inner">' +'<span class=NomBleu>'+ pointData.nom +'</span>'+ pointData.proprio +'<br />'+ pointData.type +'<br /><a href="'+ pointData.lien +'" target="_blank">Voir la page</a></div>' );
		map.panTo(point);
		return false;
	}
	listItemLink.onclick = focusPoint;
	GEvent.addListener(marker, 'click', focusPoint);	
	GEvent.addListener(marker, 'mouseover', function() { marker.setImage("rouge.png"); });
	GEvent.addListener(marker, 'mouseout', function() { marker.setImage("vert.png"); });
	GEvent.addListener(marker, 'infowindowclose', function(){marker.setImage("vert.png");});	
	document.getElementById('sidebar-list').appendChild(listItem);
	map.addOverlay(marker);
}

function initialPoint(pointData) {
	var point = new GLatLng(pointData.latitude, pointData.longitude);
	if(pointData.nom == "LES LANDES" || pointData.nom == "LE CARNET DE BORD" || pointData.nom == "CASA SOBRA" || pointData.nom == "AU VAL DORE" || pointData.nom == "LE GRILLON" || pointData.nom == "FERME DE TRIELLE" || pointData.nom == "ALTA TERRA" || pointData.nom == "VERT AZUR" || pointData.nom == "AU P'TIT BONHEUR" || pointData.nom == "LE PAS SAGE" || pointData.nom == "LA GUIENETTE" || pointData.nom == "LA GRENOTTE" || pointData.nom == "L'ANCOLIE" || pointData.nom == "LES BONS ENFANTS" || pointData.nom == "LA DECOUVERTE" || pointData.nom == "LES 4 MONTAGNES" || pointData.nom == "LA DECOUVERTE" || pointData.nom == "AUBERGE EDELWEISS") var marker = new GMarker(point,{icon: iconeVertdeca, title: pointData.nom});else var marker = new GMarker(point,{icon: iconeVert, title: pointData.nom});
	var listItem = document.createElement('li');
	var listItemLink = listItem.appendChild(document.createElement('a'));
	listItemLink.href = "#";
	listItemLink.onmouseover = function() { marker.setImage("rouge.png");}
	listItemLink.onmouseout = function() { marker.setImage("vert.png");}
	listItemLink.innerHTML = '<span>' + pointData.nom +' </span> ' + pointData.type + ' - <em>' + pointData.ville + '</em>';
	if(pointData.plus == "x") var plus = "Seul le dernier th&egrave;me s&eacute;lectionn&eacute; dispose d\'information compl&eacute;mentaire. D&eacute;sactivez et r&eacute;activez le th&egrave;me que vous souhaitez voir d&eacute;taill&eacute; dans cette fen&ecirc;tre."; else  var plus = pointData.plus ;
	var focusPoint = function() {
		listItem.className = 'current';
		marker.setImage("rouge.png");
		var infoTabs = [
		new GInfoWindowTab("Hôte", '<div id="innerbis"><span class=NomBleu>'+ pointData.nom +'</span>'+ pointData.proprio +'<br />'+ pointData.type +'<br /><a href="'+ pointData.lien +'" target="_blank">Voir la page</a></div>' ),
		new GInfoWindowTab("Info", '<div id="innerbis">'+ plus.replace(/\\("|'|\\)/g, "$1")
 +'</div>')
		];
		marker.openInfoWindowTabsHtml(infoTabs,{
		selectedTab:0,
		maxWidth:420
	});
		map.panTo(point);
		return false;
	}
	listItemLink.onclick = focusPoint;
	GEvent.addListener(marker, 'click', focusPoint);	
	GEvent.addListener(marker, 'mouseover', function() { marker.setImage("rouge.png"); });
	GEvent.addListener(marker, 'mouseout', function() { marker.setImage("vert.png"); });
	GEvent.addListener(marker, 'infowindowclose', function(){marker.setImage("vert.png");});	
	document.getElementById('sidebar-list').appendChild(listItem);
	map.addOverlay(marker);
}

function windowHeight() {
	// Standard browsers (Mozilla, Safari, etc.)
	if (self.innerHeight)
		return self.innerHeight;
	// IE 6
	if (document.documentElement && document.documentElement.clientHeight)
		return document.documentElement.clientHeight;
	// IE 5
	if (document.body)
		return document.body.clientHeight;
	// Just in case.
	return 0;
}

function handleResize() {
	var height = windowHeight() - document.getElementById('toolbar').offsetHeight - 30;
	document.getElementById('map').style.height = height + 'px';
	document.getElementById('sidebar').style.height = height + 'px';
	document.getElementById('sidebar2').style.height = height + 'px';
}

function changeBodyClass(from, to) {
	document.body.className = document.body.className.replace(from, to);
	return false;
}

function setAlertText(str) {
	document.getElementById('alert').innerHTML = '<p>' + str + '</p>';
}

function zero(str) {
	var Chckbox = document.getElementsByName(str);
				for (i=0; i<Chckbox.length; i++) 
					{	
						Chckbox[i].checked=false;
					}}
					
function MAJ_simple(lulu) {
document.getElementById("status").innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='ajax-loader-bar.gif'/>";
var base_url = 'base_heb.php?genre=' + lulu['genre'] + '&dep=' + lulu['dep'] ;
xmlhttp = GXmlHttp.create();
	xmlhttp.open('GET', base_url, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
       		if (xmlhttp.status != 200) 
       			setAlertText('Impossible d\'acéder aux données de la carte.');
       		else
       		{
				var responseText = xmlhttp.responseText;
				markers = eval(responseText);
				try {if(typeof(markers[0].nom)!='undefined'){ map.clearOverlays();
				var bounds = new GLatLngBounds();
				document.getElementById("sidebar-list").innerHTML='';
				changeBodyClass('nosidebar', 'sidebar-right');
				zero('dej');zero('theme');
	for(id in markers) {
		initializePoint(markers[id]);
		bounds.extend(new GLatLng(markers[id].latitude, markers[id].longitude));
	}
	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	document.getElementById("status").innerHTML = "";
	
	}}
				
				catch(err) { document.getElementById("status").innerHTML = "Désolé, pas de réponse...";
}
				
			}
       }
    }
    xmlhttp.send(null);
}


function MAJ_carte(lulu) {
document.getElementById("status").innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='ajax-loader-bar.gif'/>";
var plus = new Array();
for(elt in lulu){plus.push(elt+"="+lulu[elt]);}
plus=plus.join("&")
var base_url = 'base_heb.php?' + plus;
xmlhttp = GXmlHttp.create();
	xmlhttp.open('GET', base_url, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
       		if (xmlhttp.status != 200) 
       			setAlertText('Impossible d\'acéder aux données de la carte.');
       		else
       		{
				var responseText = xmlhttp.responseText;
				markers = eval(responseText);
				try {if(typeof(markers[0].nom)!='undefined'){ map.clearOverlays();
				var bounds = new GLatLngBounds();
				document.getElementById("sidebar-list").innerHTML='';
	for(id in markers) {
		if(markers[0].plus=='blabla'){
		initializePoint(markers[id]);} else {
		initialPoint(markers[id]);}
		bounds.extend(new GLatLng(markers[id].latitude, markers[id].longitude));
	}
	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	document.getElementById("status").innerHTML = "";
	
	}}
				
				catch(err) { document.getElementById("status").innerHTML = "Désolé, pas de réponse...";
}
				
			}
       }
    }
    xmlhttp.send(null);
}
