   var geocoder;
   var map;
   var query = '';
   var restaurant = "<strong>sakio</strong><br />";
  // var address = "2, Place Martin Nadaud 75020 Paris";


 
 

function TLabel(){}
	TLabel.prototype.initialize=function(a){
	 this.parentMap=a;
	 var b=document.createElement('span');
	 b.setAttribute('id',this.id);
	 b.innerHTML=this.content;
	 document.body.appendChild(b);
	 b.style.position='absolute';
	 b.style.zIndex=1;
	 if(this.percentOpacity){this.setOpacity(this.percentOpacity);}
	 this.w = document.getElementById(this.id).offsetWidth;
	 this.h = document.getElementById(this.id).offsetHeight;
	 this.mapTray=a.getPane(G_MAP_MARKER_PANE);
	 this.mapTray.appendChild(b);
	 if(!this.markerOffset){this.markerOffset=new GSize(0,0);}
	 this.setPosition();
	 GEvent.bind(a,"zoomend",this,function(){this.setPosition()});
	 GEvent.bind(a,"moveend",this,function(){this.setPosition()});
	}
	
	TLabel.prototype.setPosition=function(a){
	 if(a){this.anchorLatLng=a;}
	 var b=this.parentMap.fromLatLngToDivPixel(this.anchorLatLng);
	 var x=parseInt(b.x);
	 var y=parseInt(b.y);
	 with(Math){switch(this.anchorPoint){
	  case 'topLeft':break;
	  case 'topCenter':x-=floor(this.w/2);break;
	  case 'topRight':x-=this.w;break;
	  case 'midRight':x-=this.w;y-=floor(this.h/2);break;
	  case 'bottomRight':x-=this.w;y-=this.h;break;
	  case 'bottomCenter':x-=floor(this.w/2);y-=this.h;break;
	  case 'bottomLeft':y-=this.h;break;
	  case 'midLeft':y-=floor(this.h/2);break;
	  case 'center':x-=floor(this.w/2);y-=floor(this.h/2);break;
	  default:break;
	 }}
	 var d=document.getElementById(this.id);
	 if(d){d.style.left=x-this.markerOffset.width+'px';}
	 if(d){d.style.top=y-this.markerOffset.height+'px';}
	}
	
	TLabel.prototype.setOpacity=function(b){
	 if(b<0){b=0;} if(b>100){b=100;}
	 var c=b/100;
	 var d=document.getElementById(this.id);
	 if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
	 if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
	 if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
	 if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}
	}
	
	var _maptype = 'map';
	var nb_elem;
    var zoompos = new Array(2,5,8,11,14,17);	
	var zoomlevel = zoompos[3];
	var modelatlng = 7;

	function maptype(maptype){
		
		$j('#map1').jmap('SetMapType', {'mapType': maptype});	
		
		if(maptype == "satelit"){
			$j("#map_relief").removeClass();
			$j("#map_relief").addClass('off');
			$j("#map_hybrid").removeClass();
			$j("#map_hybrid").addClass('off');	
			$j("#map_satelit").removeClass();
			$j("#map_satelit").addClass('on');
		}else if (maptype == "relief"){
			$j("#map_satelit").removeClass();
			$j("#map_satelit").addClass('off');
			$j("#map_hybrid").removeClass();
			$j("#map_hybrid").addClass('off');	
			$j("#map_relief").removeClass();
			$j("#map_relief").addClass('on');			
		}else {
			$j("#map_satelit").removeClass();
			$j("#map_satelit").addClass('off');
			$j("#map_relief").removeClass();
			$j("#map_relief").addClass('off');			
			$j("#map_hybrid").removeClass();
			$j("#map_hybrid").addClass('on');	
		}
	}

	function getmapzoom(){
			console.info('ici_');
		$j('#map1').jmap('GetMapZoom',function(map, result, options) {
			zoomlevel = map.getZoom();
			console.info('ici');
       console.debug("resultGetMapZoom --> " + zoomlevel); 
       
     });  
	}
	
	
	function setmapzoom(maplevel){
		$j('#map1').jmap('GetMapZoom',function(map, result, options) {
				map.setZoom(maplevel);
				setzoomlevel(maplevel);
     });  
	}
	






	function mapzoom(mapZoom){
		$j('#map1').jmap('SetMapZoom', {'mapZoom' : mapZoom },
		
		function(map, result, options) {
       console.debug("zoom --> " + map.getZoom()); 
       zoomlevel = map.getZoom();
       setzoomlevel(zoomlevel);
     });  
	}
	
	
	function setzoomlevel(zoomlevel){
		getmapzoom();
		if(zoomlevel <= zoompos[0]){
			console.info("--> 5");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('off');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('off');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('off');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('off');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('off');	
		}else if(zoomlevel <= zoompos[1]){
			console.info("--> 5");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('off');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('off');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('off');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('off');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('on');	
		}else if (zoomlevel <= zoompos[2]){
			console.info("--> 4");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('off');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('off');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('off');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('on');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('on');	
		}else if (zoomlevel <= zoompos[3]){
			console.info("--> 3");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('off');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('off');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('on');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('on');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('on');				
		}else if (zoomlevel <= zoompos[4]){
			console.info("--> 2");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('off');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('on');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('on');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('on');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('on');				
		}else if (zoomlevel <= zoompos[5]){
			console.info("--> 1");
			$j("#zoom_level1").removeClass();
			$j("#zoom_level1").addClass('on');
			$j("#zoom_level2").removeClass();
			$j("#zoom_level2").addClass('on');			
			$j("#zoom_level3").removeClass();
			$j("#zoom_level3").addClass('on');		
			$j("#zoom_level4").removeClass();
			$j("#zoom_level4").addClass('on');		
			$j("#zoom_level5").removeClass();
			$j("#zoom_level5").addClass('on');		
		}
	}
	
	function loadDataMap(){
		setzoomlevel(zoomlevel);
  $j('#map1').jmap('reqQuartier',
  	function(result) {
 
 //  var zoompos = new Array(2,5,8,11,14,17);	

 	/*	if(zoomlevel>=6) {
			if (zoomlevel>=6) modelatlng=5;
			if (zoomlevel>=7) modelatlng=5;
			if (zoomlevel>=8) modelatlng=4;
			if (zoomlevel>=9) modelatlng=3;
			// modifi� 
			if (zoomlevel>=10) modelatlng=2;
			if (zoomlevel>=13) modelatlng=1; //metro
			

		}*/
  
				if (zoomlevel <= 11) {
					modelatlng=7;
					//idq
				}else if (zoomlevel <= 8) {
					modelatlng=4;
					//sdiv1
				}
				
				
				else if (zoomlevel <= 8) {
					modelatlng=4;
					//sdiv1
				}else	if (zoomlevel <= 9) {
					modelatlng=3;
					//sdiv2
				}else if (zoomlevel <= 10) {
					modelatlng=2;
					//ci
				}else {
					modelatlng=1;
					//idlieux
				}
  	
  	
  	// --> 6 div
  	/*
  	
  		modelatlng=5;
					//sdiv
					
					*/
  		
      console.debug("result --> " + result); 
      console.debug("query --> " + query); 
      var url_quartier = "/js,ajax,jgetmapmarkers.xml";
			var data_quartier = 'modelatlng='+modelatlng+'&latlng='+result+'&zoom='+zoomlevel+'&'+query;   
			console.debug("data_quartier --> " + data_quartier); 
		
					$j('#map1').jmap('RemoveAllElement', {'nb_elem': nb_elem});
		
console.debug("url_quartier --> " + url_quartier); 
loader_on_map();
		$j.ajax({
			type: "GET", 
			url: url_quartier, 
			data: data_quartier, 
			dataType: "xml", 
			success: function(xml){
			
				var _poly = "";
				console.debug("lire");
				console.debug(xml);
				nb_elem = 0;
				console.info("-->" + zoomlevel);
				$j(xml).find('quartier').each(function(){
					nb_elem++;
					_poly = $j("poly", this).text();
					_lat = $j("lat", this).text();
					_lng = $j("lng", this).text();
					_id = $j("id", this).text();
					_nb = $j("nb", this).text();
					_libelle = $j("libelle", this).text();
					_idquartier = $j("idquartier", this).text();
					_nb = "<div class=\"marker\" onclick=\"f_query_map('"+_id+"');\"><span>"+_nb+"</span></div>";
					
				  //console.debug(_poly);
				  //console.debug("XML --> "+_libelle+"__"+_lat+"_"+_lng);
					//console.debug(_idquartier);
					//cr�ation des quartiers
					
						if(_poly) {
							if(zoomlevel > 8){
								console.info('zoomlevel > 8' + zoomlevel);
								$j('#map1').jmap('AddPolylineEncoded', {'polygonPoints': _poly,'polygonFillOpacity': 0.5});
								//cr�ation des labels sur les quartiers
								var anchorPoint = "center";
								$j('#map1').jmap('AddTLabel', {'pointLatLng': [_lat,_lng],'id': nb_elem, 'content': _nb, 'anchorPoint': anchorPoint });
							}
						}else {
						//cr�ation des labels sur les villes
						var anchorPoint = "bottomLeft";
						$j('#map1').jmap('AddTLabel', {'pointLatLng': [_lat,_lng],'id': nb_elem, 'content': _nb, 'anchorPoint': anchorPoint });
					}
					loader_off_map();
				});
			}, error: function (){
				   $j.prompt("Le serveur n'est pas en mesure de r�pondre");
				   loader_off_map();
			}
		});  		
       
       
       
       
       
     });
  
  
  
  
    /*$j("#latlong").load('/js,ajax,jgetmapmarkers.htm?modelatlng=7&latlng='+$j('#latlong').html()+'&zoom=11&euro=1&idtt=2&idtypebien=1,2&rechercher=Rechercher+%9b','',function(){ });*/
 

	
		
	}
	
	
function loadjmap(address) {

	var ad = address.split('##');
	if(ad[1] && ad[2]){
		var adresse = ad[1] + ad[2];
		$j('#map_brd').show();
	//creat map
$j('#map1').jmap('init', {'mapType':G_NORMAL_MAP},function (map, element, options){	
	//alert("SearchAddress");
		$j('#map1').jmap('SearchAddress',{
            'query': adresse,
            'returnType': 'getLocations'
        }, function(result, options) {
	//alert("result");
            var valid = Mapifies.SearchCode(result.Status.code);
            if (valid.success) {
				//load marker
		//	alert("succes");
  

				$j.each(result.Placemark, function(i, point){if(i == 0){
                                        
						$j('#map1').jmap('AddMarker',{
							'pointLatLng':[point.Point.coordinates[1], point.Point.coordinates[0]],
							'centerMap': true,
							'centerMoveMethod': 'pan',
							'pointHTML':point.address
                                                        
						});
						
						$j('#stview').click(function(){ 
							console.log("_#1_"+$j('#streetview').is(':hidden'));
							console.log("_#1_"+$j('#streetview').is(':visible'));
							if($j('#streetview').is(':hidden')){
							
								$j('#map1').jmap('AddStreetView', {
									'mapCenter':[point.Point.coordinates[1], point.Point.coordinates[0]]
								}, function(stview, options) {
									//load streetview
									$j('#streetview').show();
									
									$j('#map1').jmap('CreateStreetviewPanorama', {
										'latlng':[point.Point.coordinates[1], point.Point.coordinates[0]],
										'overideContainer': '#streetview'
									}, function (map, view, options){
										GEvent.addListener(map,"click", function(overlay,latlng) {
										  view.setLocationAndPOV(latlng);
										});
									});
									
									/*$j('#stview').click(function(){ 
										console.log("_#2_"+$j('#streetview').is(':hidden'));
										console.log("_#1_"+$j('#streetview').is(':visible'));

										if($j('#streetview').is(':visible')){
											$j('#map1').jmap('RemoveStreetView',stview, function(stview, options) {
												$j('#streetview').hide();
											});	
										}
									});*/
								});	
							}							
						});}
				});
            } else {
			//alert("off");
			   $j('#map_brd').hide();
            }
        });
	});
		

		}

}


