// JavaScript Document

	function createMarker(point,text) {
	  var marker = new GMarker(point);
	  GEvent.addListener(marker, "click", function() {   marker.openInfoWindowHtml(text);  });
	  return marker; //fonction qui affiche l'info bulle légende sur le marqueur
	}
	function load() {
		if (GBrowserIsCompatible()) {
			var Lat=47.389481 // rentrez ici votre longitude
			var Lng=0.67287 // rentrez ici votre lattitude
			var Zoom=16 // rentrez ici le zoom désiré entre 1 et 16
			var TextAffiche="Mon nouveau chez moi"; // rentrez ici votre texte qui sera affiche sur le point marqueur

			var map = new GMap2(document.getElementById("map")); // affiche le module
			map.setCenter(new GLatLng(Lat,Lng ),Zoom ); //affiche la carte au lieu précisé
			map.addControl(new GSmallMapControl()); // affiche le curseur de zoom
			map.addControl(new GMapTypeControl()); // affiche le curseur de déplacement
	 
			var point = new GLatLng(Lat,Lng);
			var marker = createMarker(point,TextAffiche);
			map.addOverlay(marker); // ces 3 lignes définissent le point et sa légende
		}
	}

	var clientPC = navigator.userAgent.toLowerCase(); // Get client info
	var clientVer = parseInt(navigator.appVersion); // Get browser version
	var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
	                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
	                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
	var is_moz = 0;
	var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
	var is_mac = (clientPC.indexOf("mac")!=-1);

	
	$(document).ready( function () {
        $("ul.subMenu:not('.open_at_load')").hide();
		
        /*$("dt.toggleSubMenu span").each( function () {
            // On stocke le contenu du span :
            var TexteSpan = $(this).text();
            $(this).replaceWith('<a href="" title="Ouvrir le sous-menu" style="text-align: right; display: block; ">' + TexteSpan + '</a>') ;
        } ) ;*/
        
        $("dt.toggleSubMenu > a").click( function () {
            if ($(this).next("ul.subMenu:visible").length != 0) {
                $(this).next("ul.subMenu").slideToggle("normal", function () { $(this).parent().removeClass("open") } );
            }else {
                $("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                $(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
            }
            return false;
        });
        
        $("ul.subMenu li a").mouseover(function () {
        	$(this).animate({ fontSize: "13px", paddingLeft: "8px" }, 100 );
        });

        $("ul.subMenu li a").mouseout(function () {
        	$(this).animate({ fontSize: "12px", paddingLeft: "5px" }, 100 );
        });
    
    } ) ;
	
	// From http://www.rcmlaradio.fr/
	function bbfontstyle(bbopen, bbclose) {
		var txtarea = document.getElementById("article_texte");
		if ((clientVer >= 4) && is_ie && is_win) {
			theSelection = document.selection.createRange().text;
			if (!theSelection) {
				txtarea.value += bbopen + bbclose;
				txtarea.focus();
				return;
			}
			document.selection.createRange().text = bbopen + theSelection + bbclose;
			txtarea.focus();
			return;
		} else if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)){
			mozWrap(txtarea, bbopen, bbclose);
			return;
		} else{
			txtarea.value += bbopen + bbclose;
			txtarea.focus();
		}
	}
	
	// From http://www.rcmlaradio.fr/
	function mozWrap(txtarea, open, close){
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
			selEnd = selLength;
	
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + open + s2 + close + s3;
		return;
	}
	
	function previsualisation (value) {
		document.getElementById("apercu").innerHTML = formate_text(value);
	}
	
	function appelle_input(value) {
		if(value == "autre") {
			document.getElementById("div_input").innerHTML = "      Précisez la raison de votre message :<br /><input type=\"text\" name=\"input_titre\" class=\"input_contact\" />\n";
		}else{
			document.getElementById("div_input").innerHTML = "";
		}
	}
	
	couleurs = new Array();
	couleurs[1]  = "000000";
	couleurs[2]  = "111111";
	couleurs[3]  = "222222";
	couleurs[4]  = "333333";
	couleurs[5]  = "444444";
	couleurs[6]  = "555555";
	couleurs[7]  = "666666";
	couleurs[8]  = "777777";
	couleurs[9]  = "888888";
	couleurs[10] = "999999";
	couleurs[11] = "AAAAAA";
	couleurs[12] = "BBBBBB";
	couleurs[13] = "CCCCCC";
	couleurs[14] = "DDDDDD";
	couleurs[15] = "EEEEEE";
	couleurs[16] = "FFFFFF";
	compteur = 1;
	sens=true;
	function degrade(lien) {
		document.getElementById(lien).style.background="#"+couleurs[compteur++]+" url() no-repeat";
		if (compteur < couleurs.length)
			setTimeout("degrade('"+lien+"')", 60);
		else{compteur=1;}
	}
	
	function formate_text(x){
		
		// previsualisation du message
		text = x;
		
		// les <
		var modele = /</;
		while(modele.test(text)){text = text.replace("<","&lt;");}

		// les >
		var modele = />/;
		while(modele.test(text)){text = text.replace(">","&gt;");}

		// les retours a la ligne
		var modele = /\n/;
		while(modele.test(text)){text = text.replace("\n","<br />");}

		// texte gras
		var modele = /\[b\]/;
		while(modele.test(text)){text = text.replace("[b]","<b>");}
		var modele = /\[\/b\]/;
		while(modele.test(text)){text = text.replace("[/b]","</b>");}

		// texte italique
		var modele = /\[i\]/;
		while(modele.test(text)){text = text.replace("[i]","<i>");}
		var modele = /\[\/i\]/;
		while(modele.test(text)){text = text.replace("[/i]","</i>");}

		// texte souligné
		var modele = /\[u\]/;
		while(modele.test(text)){text = text.replace("[u]","<u>");}
		var modele = /\[\/u\]/;
		while(modele.test(text)){text = text.replace("[/u]","</u>");}

		// texte centré
		var modele = /\[center\]/;
		while(modele.test(text)){text = text.replace("[center]","<div class=\"text_center\">");}
		var modele = /\[\/center\]/;
		while(modele.test(text)){text = text.replace("[/center]","</div>");}

		// texte gauche
		var modele = /\[left\]/;
		while(modele.test(text)){text = text.replace("[left]","<div class=\"text_left\">");}
		var modele = /\[\/left\]/;
		while(modele.test(text)){text = text.replace("[/left]","</div>");}

		// texte droit
		var modele = /\[right\]/;
		while(modele.test(text)){text = text.replace("[right]","<div class=\"text_right\">");}
		var modele = /\[\/right\]/;
		while(modele.test(text)){text = text.replace("[/right]","</div>");}

		// texte justifié
		var modele = /\[just\]/;
		while(modele.test(text)){text = text.replace("[just]","<div class=\"text_just\">");}
		var modele = /\[\/just\]/;
		while(modele.test(text)){text = text.replace("[/just]","</div>");}
		
		// couleur
		var modele = /\[color=/;
		while(modele.test(text)){text = text.replace("[color=","<font color=\"");}
		var modele = /\[\/color\]/;
		while(modele.test(text)){text = text.replace("[/color]","</font>");}
		
		// taille
		var modele = /\[size=/;
		while(modele.test(text)){text = text.replace("[size=","<font style=\"font-size: ");}
		var modele = /\[\/size\]/;
		while(modele.test(text)){text = text.replace("[/size]","</font>");}
		
		// lien
		var modele = /\[url=/;
		while(modele.test(text)){text = text.replace("[url=","<a target=\"_blank\" href=\"");}
		var modele = /\[\/url\]/;
		while(modele.test(text)){text = text.replace("[/url]","</a>");}
		
		// lien interne au site
		var modele = /\[urli=/;
		while(modele.test(text)){text = text.replace("[urli=","<a href=\"");}
		var modele = /\[\/urli\]/;
		while(modele.test(text)){text = text.replace("[/urli]","</a>");}

		// image
		var modele = /\[img\]/;
		while(modele.test(text)){text = text.replace("[img]","<img class=\"bbcode_img\" alt=\"\" src=\"");}
		var modele = /\[\/img\]/;
		while(modele.test(text)){text = text.replace("[/img]","\" />");}
		
		// pdf
		var modele = /\[pdf\]/;
		while(modele.test(text)){text = text.replace("[pdf]","<a title=\"Fichier pdf\" href=\"");}
		var modele = /\[\/pdf\]/;
		while(modele.test(text)){text = text.replace("[/pdf]","\">Télécharger le fichier</a>");}
		
		// balise tableau
		var modele = /\[table\]/;
		while(modele.test(text)){text = text.replace("[table]","<table class=\"bbcode_table\">");}
		var modele = /\[\/table\]/;
		while(modele.test(text)){text = text.replace("[/table]","</table>");}
		
		// balise ligne
		var modele = /\[tr\]/;
		while(modele.test(text)){text = text.replace("[tr]","<tr class=\"bbcode_tr\">");}
		var modele = /\[\/tr\]/;
		while(modele.test(text)){text = text.replace("[/tr]","</tr>");}
		
		// balise colonne
		var modele = /\[td\]/;
		while(modele.test(text)){text = text.replace("[td]","<td class=\"bbcode_td\">");}
		var modele = /\[\/td\]/;
		while(modele.test(text)){text = text.replace("[/td]","</td>");}
		
		// colgroup
		var modele = /\[colgroup\]/;
		while(modele.test(text)){text = text.replace("[colgroup]","<colgroup>");}
		var modele = /\[\/colgroup\]/;
		while(modele.test(text)){text = text.replace("[/colgroup]","</colgroup>");}
		
		// col
		var modele = /\[col=/;
		while(modele.test(text)){text = text.replace("[col=","<col width=\"");}
		
		// imgleft
		var modele = /\[imgleft\]/;
		while(modele.test(text)){text = text.replace("[imgleft]","<img class=\"bbcode_imgleft\" src=\"");}
		var modele = /\[\/imgleft\]/;
		while(modele.test(text)){text = text.replace("[/imgleft]","\" />");}
		
		// imgright
		var modele = /\[imgright\]/;
		while(modele.test(text)){text = text.replace("[imgright]","<img class=\"bbcode_imgright\" src=\"");}
		var modele = /\[\/imgright\]/;
		while(modele.test(text)){text = text.replace("[/imgright]","\" />");}
		
		// imgpopup
		var modele = /\[imgpopup=/;
		while(modele.test(text)){text = text.replace("[imgpopup=","<img class=\"bbcode_imgpopup\" src=\"");}
		var modele = /\[\/imgpopup\]/;
		while(modele.test(text)){text = text.replace("[/imgpopup]","");}
		
		// urlpopup
		var modele = /\[urlpopup=/;
		while(modele.test(text)){text = text.replace("[urlpopup=","<a href=\"");}
		var modele = /\[\/urlpopup\]/;
		while(modele.test(text)){text = text.replace("[/urlpopup]","");}
		
		var modele = /\[googlemap\]/;
		while(modele.test(text)){text = text.replace("[googlemap]","<b>");}
		var modele = /\[\/googlemap\]/;
		while(modele.test(text)){text = text.replace("[/googlemap]","</b>");}
		
		
		var modele = /\]/;
		while(modele.test(text)){text = text.replace("]","\">");}
		
		return text;
	}
	
	var Drag = {
			
			obj : null,
		
			init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
			{
				o.onmousedown	= Drag.start;
		
				o.hmode			= bSwapHorzRef ? false : true ;
				o.vmode			= bSwapVertRef ? false : true ;
		
				o.root = oRoot && oRoot != null ? oRoot : o ;
		
				if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
				if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
				if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
				if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";
		
				o.minX	= typeof minX != 'undefined' ? minX : null;
				o.minY	= typeof minY != 'undefined' ? minY : null;
				o.maxX	= typeof maxX != 'undefined' ? maxX : null;
				o.maxY	= typeof maxY != 'undefined' ? maxY : null;
		
				o.xMapper = fXMapper ? fXMapper : null;
				o.yMapper = fYMapper ? fYMapper : null;
		
				o.root.onDragStart	= new Function();
				o.root.onDragEnd	= new Function();
				o.root.onDrag		= new Function();
			},
		
			start : function(e)
			{
				var o = Drag.obj = this;
				e = Drag.fixE(e);
				var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
				var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
				o.root.onDragStart(x, y);
		
				o.lastMouseX	= e.clientX;
				o.lastMouseY	= e.clientY;
		
				if (o.hmode) {
					if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
					if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
				} else {
					if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
					if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
				}
		
				if (o.vmode) {
					if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
					if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
				} else {
					if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
					if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
				}
		
				document.onmousemove	= Drag.drag;
				document.onmouseup		= Drag.end;
		
				return false;
			},
		
			drag : function(e)
			{
				e = Drag.fixE(e);
				var o = Drag.obj;
		
				var ey	= e.clientY;
				var ex	= e.clientX;
				var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
				var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
				var nx, ny;
		
				if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
				if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
				if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
				if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
		
				nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
				ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
		
				if (o.xMapper)		nx = o.xMapper(y)
				else if (o.yMapper)	ny = o.yMapper(x)
		
				Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
				Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
				Drag.obj.lastMouseX	= ex;
				Drag.obj.lastMouseY	= ey;
		
				Drag.obj.root.onDrag(nx, ny);
				return false;
			},
		
			end : function()
			{
				document.onmousemove = null;
				document.onmouseup   = null;
				Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
											parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
				Drag.obj = null;
			},
		
			fixE : function(e)
			{
				if (typeof e == 'undefined') e = window.event;
				if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
				if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
				return e;
			}
		};
	
	function loader(text, points){
		if(document.getElementById('loader')){				
			points = (points ? points : 0);
			points = (points+1 > 3 ? 0 : points+1);
			
			if(!text){
				text = document.getElementById('loader').innerHTML;
			}
			
			var text_suspensions = text;
			for(i=0; i<points; i++){
				text_suspensions += '.';
			}
			
			document.getElementById('loader').innerHTML = text_suspensions;
			setTimeout('loader(\''+text+'\', '+points+')', 500);
		}
	}
	
	function showPicture(url,mot) {
	    obj1 = document.getElementById('imgpopup');
	    obj2 = document.getElementById('imgpopup_content');

	    var XHR = new XHRConnection();
	    XHR.sendAndLoad("http://www.ville-saintleonard.fr/test-galerie.php?variable="+url, "GET");
	   // alert('ok : '+XHR.getAllResponseHeaders());
	    setTimeout("print(obj1,obj2,'"+url+"');",500);
	   }
	function print(obj1,obj2,url) {
		   obj1.className = 'imgpopup';
		   obj2.className = 'imgpopup_content';
		   if(is_ie) {
			   obj2.innerHTML = '<img src="'+url+'" style="float: left; max-width: 95%;" /><a href="javascript:hidePicture();"><img alt="Fermer" style="float: right; border: none;" src=\"http://www.ville-saintleonard.fr/images/suppr.png" /></a>';
		   }else{
		       obj2.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="550" height="400" id="test" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="http://www.ville-saintleonard.fr/test.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><embed src="http://www.ville-saintleonard.fr/test.swf" quality="high" wmode="transparent" width="550" height="400" name="test" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_fr" /></object><a href="javascript:hidePicture();"><img alt="Fermer" style="float: right; border: none;" src=\"http://www.ville-saintleonard.fr/images/suppr.png" /></a>';
		   }
		   obj2.style.width = "600px";
		    obj2.style.height = "600px";
		    if(is_ie) {
		     obj2.style.left = (document.body.offsetWidth-600)/2+"px";
		     obj2.style.top = "250px";
		    }else{
		     obj2.style.left = (window.innerWidth-600)/2+"px";
		     obj2.style.top = (window.innerHeight-400)/2+"px";
		    }
	   }

	
	function hidePicture() {
		obj1 = document.getElementById('imgpopup');
		obj1.className = '';
		obj2 = document.getElementById('imgpopup_content');
		obj2.style.width = "0px";
		obj2.style.height = "0px";
		obj2.style.left = "0px";
		obj2.style.top = "0px";
		obj2.className = '';
		document.getElementById('imgpopup_content').innerHTML = '';
	}
	
	function plan_open(id,url,name,domaine) {
		document.getElementById("sr_"+id).style.display = "block";
		document.getElementById("img"+id).innerHTML = "<a href=\"#\" onclick=\"javascript:plan_close('"+id+"','"+url+"','"+name+"','"+domaine+"');\"><img src=\""+domaine+"/images/moins.png\" style=\"border:none; margin-right: 10px;\" /></a><a href=\""+url+"\">"+name+"</a>";
	}
	
	function plan_close(id,url,name,domaine) {
		document.getElementById("sr_"+id).style.display = "none";
		document.getElementById("img"+id).innerHTML = "<a href=\"#\" onclick=\"javascript:plan_open('"+id+"','"+url+"','"+name+"','"+domaine+"');\"><img src=\""+domaine+"/images/plus.png\" style=\"border:none; margin-right: 10px;\" /></a><a href=\""+url+"\">"+name+"</a>";
	}
	
