var mysettings=null;
var file_php="../zone/ajax/zone.php";
var leg=null ; // Objet leg

//Carte 2D


var map=null;
var taille_w=400;
var minimap=null;
var edition_carte=false
var envoi="";
var annule="";
var kml_z=new Array;
var kml_wz=new Array;

//carte 3d


google.load("earth", "1");
var ge = null;
var range_camera=10000;
var load_delayed=false;
var object_timer=null;
var timer_on=false;
var cap_camera=0;
var last_lat_cam=0;
var last_lng_cam=0;
var href=window.location.href.substr(0,(window.location.href.lastIndexOf("/")))+"/";

// AIS
var Platef=new Array;
var AIS_lat='';
var AIS_lng='';
var AIS_name='';
var AIS_mmsi='';
var AIS_cap='';
var AIS_type='';

var tAIS_mmsi=new Array;
var tAIS_lat=new Array;
var tAIS_lng=new Array;
var tAIS_cap=new Array;
var tAIS_name=new Array;
var tAIS_type=new Array;

var AIS__view=false;


/* TEXTE */
function edit_texte() {
	document.getElementById("zone_texte").style.display="none";
	document.getElementById("modif_texte").style.display="none";
	var s='<span>'+envoi+' <input name="Submit" type="image" id="Submit" src="../editor/btn/tick.gif"></span>';
	s+='&nbsp;&nbsp;'+annule+' <span onClick="cancel_edit_texte();" style="cursor:pointer;"> ';
	s+='<img src="../editor/btn/b_drop.png" alt="cancel" width="20" height="20"></span>';
	document.getElementById("b_submit").innerHTML=s;
	s=lg("Zone name","Nom de la zone","","")+' : <input name="nom_zone_ic" type="text" id="nom_zone_ic"  size="50"><br><br>';
	document.getElementById("chg_nom").innerHTML=s;
	document.getElementById("nom_zone_ic").value=titre_zone;
	document.getElementById("zone_texte_edit").style.display="block";
}
function valid_texte() {
	var new_titre_zone=document.getElementById("nom_zone_ic").value;
	new_titre_zone=new_titre_zone.charAt(0).toUpperCase() + new_titre_zone.substring(1);
	var reg=new RegExp("&", "g");
	new_titre_zone=new_titre_zone.replace(reg,"*");
	reg=new RegExp("=", "g");
	new_titre_zone=new_titre_zone.replace(reg,"*");
	reg=new RegExp('"', "g");
	new_titre_zone=new_titre_zone.replace(reg,"'");
	if(titre_zone!=new_titre_zone) {
			if (confirm("Confirmer le nouveau nom de la zone : "+new_titre_zone)) { // Clic sur OK
				titre_zone=new_titre_zone;
				document.getElementById("nom_site").innerHTML=titre_zone;  // bandeau du haut
				document.getElementById("nom_site2").innerHTML=titre_zone;
			}
	}
	
	var contenu=document.getElementById("edited").value;
	contenu=contenu.replace("€", "&euro;");
	document.getElementById("zone_texte").innerHTML=contenu;
	var message_='update_texte='+idx_zone+'&texte='+encodeURIComponent(contenu)+'&user='+encodeURIComponent(username)+'&new_nom='+encodeURIComponent(titre_zone);  // envoi 			
	go_(message_);
	document.getElementById("zone_texte_edit").style.display="none";
	document.getElementById("zone_texte").style.display="block";
}
function cancel_edit_texte(){
	document.getElementById("zone_texte_edit").style.display="none";
	document.getElementById("zone_texte").style.display="block";
	document.getElementById("modif_texte").style.display="block";
}
function texte_valide(reload_){
	document.getElementById("modif_texte").style.display="block";
	if (reload_) location="/zone/"+ titre_zone;
}
function message_mod3(x){
	if (x) {
		document.getElementById("message_modif3").innerHTML=lg_("If you know the zone '"+titre_zone+"', please, update it.","Si vous connaissez la zone '"+titre_zone+"', mettez la &agrave; jour si besoin. Merci.","","");
		document.getElementById("message_modif3").style.display="block";
	} else {
		document.getElementById("message_modif3").style.display="none";
	}
}


/* INIT */
function init_zone() {
	
		//init des trad
		
		envoi=lg("submit","envoyer","salvare","enviar");
		annule=lg("cancel","annuler","annulla","cancelar");
		init_menu_g();
		range_camera=30000000/Math.pow(2,zoom_map);
		setTimeout("init_vue_3D();",1222);  //On retarde Petit bug avec Mozilla depuis MArs 2010
		plot_met_res(); //res meteo
		setTimeout("limite_carte();",1000);
		document.getElementById("b_wait").style.display="none";
}

function disp_message(x) {
		x=decodeURIComponent(x)+"<br>"+document.getElementById("message_box").innerHTML;
		document.getElementById("message_box").innerHTML=x.substring(0,220);
}

/* TRACE CARTE 2D */
function init_carte_2D() {
	
		map = new google.maps.Map2(document.getElementById("map_2D"));
		var center = new google.maps.LatLng(lat_zone,lng_zone);
		map.addMapType(G_PHYSICAL_MAP) ;
		map.setCenter(center, zoom_map,G_HYBRID_MAP);

		map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
		minimap=new GOverviewMapControl();
		map.addControl(minimap);	
		map.enableScrollWheelZoom();
		affiche_lat(lat_zone,lng_zone);
		
		//trace leg
		trace_leg();
		
		
		GEvent.addListener(map, "dragend", function() {
						limite_carte();
							
			});
		GEvent.addListener(map, "zoomend", function() {
						limite_carte();
							
			});
		
		GEvent.addListener(map, "mousemove", function(latlg) {
				document.getElementById("curseur_m").innerHTML=m_lat60(latlg.lat())+ "&nbsp;&nbsp;"+m_lng60(latlg.lng());
				
			});
		
	//	
		
		
}
function create_line(lat_2,long_2) { // Creation du premier point
			//Polyline 1 point puis drawing
			leg = new GPolygon([  new GLatLng(lat_2, long_2)], "#FF0000", 2,1,"#FFFF00",0.2);
			map.addOverlay(leg);
			
			
}
function trace_leg() {
	if (leg_lat.length<3) {
			clear_zone();
		} else {
					create_line(leg_lat[0],leg_lng[0]);
					for (var i=1;i<leg_lat.length;i++) { // Point suivants
						leg.insertVertex(i , new GLatLng(leg_lat[i],leg_lng[i]));
					}
		}
}

function limite_carte() {
					if (document.getElementById("dsp_site").checked==true){
							var bounds = map.getBounds();
							var centre=map.getCenter();
							var northEast = bounds.getNorthEast();
							var message_='call_kml=&lat='+centre.lat()+'&lng='+centre.lng()+'&N='+northEast.lat()+'&zoom='+map.getZoom()+'&idx_zone='+idx_zone;  // demande paramètres kml	
							go_(message_);
					}
					if(load_delayed) Camera(centre.lat(),centre.lng(),range_camera,0,80);
					if (document.getElementById("dsp_sondes").checked==true){
						sondes();
					}
	
}
function refresh_layers() {
	map.clearOverlays();
	if (document.getElementById("dsp_zone").checked==true){
			trace_leg();
	}
	if (document.getElementById("dsp_site").checked==true){
		kml_z.splice(0,kml_z.length);
		limite_carte();
	}
	if (document.getElementById("dsp_sondes").checked==true){
			sondes();
	}
	
}
function plot_kml(x,w) {
	x=decodeURIComponent(x);
	w=decodeURIComponent(w);
	var ladate=new Date();
	var hour=ladate.getHours();
	//Weather
	var liste_w=w.split(',');var z_already=false;
	for (var i=0;i<liste_w.length;i++) {
		z_already=false;
		for (var j=0;j<kml_wz.length;j++) {
			if (kml_wz[j]==liste_w[i]) {
						z_already=true;
						j=kml_wz.length;
			}
		}
		if (!z_already) {
			kml_wz.push(liste_w[i]);
			 var geoXml = new GGeoXml("http://www.sea-seek.com/weather_zone/kml_s/z"+liste_w[i]+"?v="+hour);
        	map.addOverlay(geoXml);
	
		}
	}
	//Zone hors meteo
	var liste_z=x.split(','); z_already=false;
	for (var i=0;i<liste_z.length;i++) {
		z_already=false;
		for (var j=0;j<kml_z.length;j++) {
			if (kml_z[j]==liste_z[i]) {
						z_already=true;
						j=kml_z.length;
			}
		}
		if (!z_already) {
			kml_z.push(liste_z[i]);
			 var geoXml = new GGeoXml("http://www.sea-seek.com/zone/kml_s/z"+liste_z[i]+"?v="+hour);
        	map.addOverlay(geoXml);

		}
	}
	
}

function affiche_lat(lat,long) {	
						
						if (lat<0) {
							var s =' S';
							}
							else
							{
							var s =' N';
							}							
						 var d=Math.floor(Math.abs(lat));
						var m=100+60*(Math.abs(lat)-d);		
						m=m+'.0000';
						lat=d+'&deg;'+m.substr(1,5)+s;
						
						if (long>180) long=long-360;
						if (long>0) {
						var s =' E';
						}
						else
						{
						var s =' W';
						}
						
						 d=Math.floor(Math.abs(long));
						 m=100+60*(Math.abs(long)-d);		
						m=m+'.0000';
						long=d+'&deg;'+m.substr(1,5)+s;
	document.getElementById("lati").innerHTML=lat;
	document.getElementById("longi").innerHTML=long;
						
 
 }  // fin function affiche_lat

function sondes(){  // Recherche des sondes dans GE et affichage dans gmap
 	if(load_delayed && map!=null) {
					var bounds = map.getBounds();
					var northEast = bounds.getNorthEast();
					var SouthWest=bounds.getSouthWest();
					var dlat=(northEast.lat()-SouthWest.lat())/5;
					var dlng=(northEast.lng()-SouthWest.lng())/5;
					for (var lat=SouthWest.lat();lat<northEast.lat();lat=lat+dlat) {
						for (var lng=SouthWest.lng()+0.1*dlng;lng<northEast.lng();lng=lng+dlng) {
							alti_sol= ge.getGlobe().getGroundAltitude(lat,lng);
							if (alti_sol<0) {
								alti_sol=Math.floor(Math.abs(alti_sol));
								if (alti_sol>0) {
										if (alti_sol>=100 && alti_sol<1000) alti_sol=10*Math.floor(alti_sol/10); // arrondi
										if (alti_sol>=1000 ) alti_sol=100*Math.floor(alti_sol/100);
										var center = new GLatLng(lat,lng);
										var icon2 = new GIcon();
										icon2.image = "http://www.sea-seek.com/sondes/"+alti_sol+".png";
										icon2.iconSize = new GSize(34, 14);
										icon2.iconAnchor = new GPoint(17,7);
										icon2.infoWindowAnchor = new GPoint(17,7);
										var marker = new GMarker(center,icon2);
										map.addOverlay(marker);
								}
							}
						}	
					}
					
	}
	 
 }

/* TRACE VUE 3D */
function init_vue_3D() {
	

	google.earth.createInstance("map3d", initCallback, failureCallback);	
}

function initCallback(object) {
  ge = object;
  ge.getWindow().setVisibility(true);
 
  ge.getOptions().setFlyToSpeed(0.5);
  Camera(lat_zone,lng_zone,range_camera,0,80);
 	ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true);
	setTimeout("ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);load_delayed=true;sondes();",5000);
	setTimeout("b_runpause();",7000);//lance rotation
}

function failureCallback(object) {
}
 
function Camera(lat,long,range,head,tilt) {
		var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setRange(range);
		lookAt.setTilt(tilt);
		lookAt.setAltitude (1 )   ;
		lookAt.setHeading (head)   ;
		ge.getView().setAbstractView(lookAt);
	
}


function b_tools() { // Toobox de nav
	var adr="/tools/tools.php?zoom="+zoom_map+"&lat="+lat_zone+"&lng="+lng_zone;
	window.open(adr,"tools","menubar=yes, status=no, scrollbars=yes, resizable=yes");
	
}
 function b_runpause() {
	 if (document.getElementById("rotate").checked==false){
	 
		 window.clearTimeout(object_timer);
	
	 } else {
 		object_timer=setTimeout("Timer_3d()",50);
		
	 }
 }
 function Timer_3d() {
	 cap_camera+=2;
	 cap_camera=cap_camera%360;
	
		var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
		lookAt.setHeading (cap_camera)   ;
		lookAt.setTilt(70);
		ge.getView().setAbstractView(lookAt);
 

	 
	 if (document.getElementById("rotate").checked==true) object_timer=setTimeout("Timer_3d()",50);
 }
 
 /* AIS */

 
 function set_AIS(){

	  tAIS_mmsi=tAIS_mmsi.concat( AIS_mmsi.split(","));
	  tAIS_lat=tAIS_lat.concat(AIS_lat.split(","));
	  tAIS_lng=tAIS_lng.concat(AIS_lng.split(","));
	  tAIS_cap=tAIS_cap.concat(AIS_cap.split(","));
	  tAIS_name=tAIS_name.concat(AIS_name.split(","));
	  tAIS_type=tAIS_type.concat(AIS_type.split(","));
	  init_AIS_ship();
 }

 
function init_AIS_ship() {
	
		
					if(tAIS_name.length>0) {
								var dejala=false;
								 for (var k=0;k<Platef.length;k++) {
									 if(Platef[k].mmsi==tAIS_mmsi[0]) {
										 dejala=true;
										 k=Platef.length;
										 
									 }
								 }
								var nom=tAIS_name[0];tAIS_name.shift();
								var lat_ref=tAIS_lat[0];tAIS_lat.shift();
								var lng_ref=tAIS_lng[0];tAIS_lng.shift();
								var cap_ref=tAIS_cap[0];tAIS_cap.shift();
								var type_=tAIS_type[0];tAIS_type.shift();
								var mmsi=tAIS_mmsi[0];tAIS_mmsi.shift();
								
							if (dejala==false && mmsi!="") { // initialise un bateau
								
								
								lat_ref=1*lat_ref;
								lng_ref=1*lng_ref;
								cap_ref=1*cap_ref;
								var i=Platef.length;
								document.getElementById("AIS_ship").innerHTML+="<span onclick='jump("+i+");' >"+nom+"</span>, ";
								
						
								var loc_ = null;
								var scal_=null   ;
								var orient_=null;
									
									var lineString = ge.createLineString('');
									
									lineString.setAltitudeMode( ge.ALTITUDE_RELATIVE_TO_GROUND ) ;
									lineString.getCoordinates().pushLatLngAlt( lat_ref, lng_ref, 0);
									lineString.getCoordinates().pushLatLngAlt( lat_ref, lng_ref, 10000);			
									// create the linestring placemark and add it to Earth
									var lineStringPlacemark = ge.createPlacemark('');
									lineStringPlacemark.setGeometry(lineString);
									ge.getFeatures().appendChild(lineStringPlacemark);
						
								//modele 3d
									var	placemark = ge.createPlacemark('');
										
										
														
										//Le model
									var	model = ge.createModel('');
										ge.getFeatures().appendChild(placemark);
										loc_ = ge.createLocation('');
										model.setLocation(loc_);
										scal_=ge.createScale  	( '' )   ;
										model.setScale	(scal_);
										orient_=ge.createOrientation('');
										model.setOrientation(orient_);
										var	link_ = ge.createLink('');
										
										var h="http://www.sea-seek.com/3d/images/models/"+mod_file[type_];
										link_.setHref(h); // model 3d
										model.setLink(link_);
										Platef[i]=new objet_platform(mmsi,lat_ref,lng_ref,0,loc_,scal_,orient_,link_,model,cap_ref,mod_cap0[type_],mod_scal0[type_],type_,false,placemark,lineStringPlacemark);
						
								 model.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);
								var Scale_ref=1;
								var scale=Scale_ref*Platef[i].scal0;
								Platef[i].scal.set(scale,scale,scale);
								Platef[i].loc.setLatitude(Platef[i].lat);
								Platef[i].loc.setLongitude(Platef[i].lng);
								Platef[i].loc.setAltitude(Platef[i].alti);
								Platef[i].orient.setHeading((Platef[i].heading+Platef[i].cap0)%360);
								
								placemark.setName(nom+' - Head:'+cap_ref);
								placemark.setGeometry(model);
								placemark.setVisibility(false);
							}
					}
					
	
 
 
}



function objet_platform(un_mmsi,une_latitude,une_longitude,une_alti,une_location,une_scale,une_orient,un_link,un_model,u_heading,_cap0,_scale0,_type,_highres,_place_mod,_place_ligne) {
      this.mmsi=un_mmsi;
	  this.lat=une_latitude;
      this.lng=une_longitude;
	  this.alti=une_alti;
	  this.alti0=une_alti;
	  this.alti_sol=une_alti;

	  this.loc=une_location;
	  this.scal=une_scale;
	  this.orient=une_orient;
	  this.tilt=0;
	  this.type=_type;
	  this.link_=un_link;
	  this.model=un_model;
	 
	  this.heading=u_heading;

	  this.cap0=_cap0;
	  this.scal0=_scale0; 
	  
	  this.place_mod=_place_mod; 
	  this.place_ligne=_place_ligne; 
	  this.highres=_highres; 

 }
 function AIS_view() {
	 AIS__view=document.getElementById("bt_AIS").checked;
	 if (AIS__view) {
		 for (i=0;i<Platef.length;i++) {
						Platef[i].place_mod.setVisibility(false);
						Platef[i].place_ligne.setVisibility(AIS__view);
						Platef[i].highres=false;
		}
		 distance_camera();
		
		 document.getElementById("AIS_ship").style.display="block";
	 } else {
	 	for (i=0;i<Platef.length;i++) {
						Platef[i].place_mod.setVisibility(AIS__view);
						Platef[i].place_ligne.setVisibility(AIS__view);
						Platef[i].highres=AIS__view;
		}
		 
		 document.getElementById("AIS_ship").style.display="none";
 	}
	
 }
 function distance_camera() {
	
						 if (AIS__view) {
								 var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
									
									var range2=lookAt.getRange();
									var latc=lookAt.getLatitude();
									var lngc=lookAt.getLongitude();
									for (i=0;i<Platef.length;i++) {
											var dist=range2+100000*Math.abs(Platef[i].lat-latc)+50000*Math.abs(Platef[i].lng-lngc)
											if (dist<5000 && Platef[i].highres==false) {chg_model(i,true);	}
											if (dist>5000 && Platef[i].highres) {chg_model(i,false);	}
									}
									
									var lati=Math.floor(latc);
									var lngi=Math.floor(lngc);
							
									if (  lati!= last_lat_cam && lngi!=last_lng_cam ) { // 
										last_lat_cam=lati;last_lng_cam=lngi;
										var message_='call_AIS='+idx_zone+'&latc='+latc+'&lngc='+lngc;  // demande paramètres AIS, on s'est déplacé		
										go_(message_);
										
									} 
									for (var k=0;k<5;k++) {
										init_AIS_ship();
									}
									  setTimeout("distance_camera();",500);
									
						 }
	
 }
 function chg_model(i,hi_res) {  // Alterne entre modele ou ligne
						Platef[i].place_mod.setVisibility(hi_res);
						Platef[i].place_ligne.setVisibility(!hi_res);
						Platef[i].highres=hi_res;
 }
 function jump(i) {
	//  window.clearTimeout(object_timer);
	 lat_zone=Platef[i].lat;
	 lng_zone=Platef[i].lng;
	  
					var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
					lookAt.setLatitude(lat_zone);
					lookAt.setLongitude(lng_zone);
					lookAt.setRange(400);
					lookAt.setTilt(80);
					lookAt.setAltitude (1 )   ;
					lookAt.setHeading (0)   ;
					ge.getView().setAbstractView(lookAt);
		
		
	// if (document.getElementById("rotate").checked==true) object_timer=setTimeout("Timer_3d()",5000);
 }
/* EDITE CARTE*/
function edit_carte() {
	edition_carte=true;
			var s='<div>';
			s+='<span onClick="submit_edit_carte();" style="cursor:pointer;">'; 
			s+='<img src="../editor/btn/tick.gif" alt="submit" width="20" height="20"></span>';
			s+='<span>&nbsp;&nbsp;'+envoi+' </span></div>';
			s+=' <div><span onClick="cancel_edit_carte();" style="cursor:pointer;">'; 
			s+='<img src="../editor/btn/b_drop.png" alt="cancel" width="20" height="20"></span>';
			s+='<span>&nbsp;&nbsp;'+annule+' </span></div>';
	document.getElementById("modif_carte").style.display="none";
	document.getElementById("bt_carte").innerHTML=s;
	document.getElementById("bt_carte").style.display="block";
	map.setMapType(G_HYBRID_MAP);
	
	
	if (document.getElementById("dsp_zone").checked!=true){
			document.getElementById("dsp_zone").checked=true;
			refresh_layers();
	}
	

	document.getElementById("coment_titre").innerHTML="Drag & drop polycon corners";
	document.getElementById("coment_titre").style.display="block";
	//init zone
	
			s='<span onClick="clear_zone();" >'; 
			s+='<img src="../editor/btn/b_zone.png" alt="clear zone"  width="20" height="20"></span>';
			s+='<span> clear zone </span>';
			document.getElementById("bt_clear").innerHTML=s;
			document.getElementById("bt_clear").style.display="block";
			
			leg.enableEditing();
			
}
function clear_zone() {
	map.clearOverlays();
	
	var sw=map.getBounds().getSouthWest();
	var ne=map.getBounds().getNorthEast();
	var deltalat=(ne.lat()-sw.lat())/3;
	var deltalng=(ne.lng()-sw.lng())/3;
	lat_zone=(ne.lat()+sw.lat())/2;
	lng_zone=(ne.lng()+sw.lng())/2;
	
			leg_lat[0]=lat_zone +deltalat;leg_lat[1]=leg_lat[0];
			leg_lat[2]=lat_zone -deltalat;leg_lat[3]=leg_lat[2];
			leg_lng[0]=lng_zone -deltalng;leg_lng[3]=leg_lng[0];
			leg_lng[1]=lng_zone +deltalng;leg_lng[2]=leg_lng[1];
			
		
		
					create_line(leg_lat[0],leg_lng[0]);
							
					for (var i=0;i<4;i++) { // Point suivants
						var j=(i+1);
						var k=j%4;
						leg.insertVertex(j , new GLatLng(leg_lat[k],leg_lng[k]));
						
					}
			if (edition_carte) {
					leg.enableEditing();
					
			}
}
function submit_edit_carte() {
	zoom_map=map.getZoom();
	var lat_point="";var lng_point="";var v="";
	var nbpoint= leg.getVertexCount();
		for (i=0;i<nbpoint;i++) {
			var latlg=leg.getVertex(i);
			lat_point+=v+latlg.lat();
			lng_point+=v+latlg.lng();
			v=",";
		}
	document.getElementById("bt_carte").style.display="none";
	document.getElementById("coment_titre").style.display="none";
	document.getElementById("bt_clear").style.display="none";
	document.getElementById("b_wait").style.display="block";
	edition_carte=false;
	leg.disableEditing();
	var message_='update_carte='+idx_zone+'&zoom='+zoom_map+'&user='+encodeURIComponent(username)+'&lat_point='+encodeURIComponent(lat_point)+'&lng_point='+encodeURIComponent(lng_point);  // envoi 			
	go_(message_);
	
}
function cancel_edit_carte() {
	document.getElementById("modif_carte").style.display="block";
	document.getElementById("bt_carte").style.display="none";
	document.getElementById("coment_titre").style.display="none";
	document.getElementById("bt_clear").style.display="none";
	document.getElementById("b_wait").style.display="none";
	edition_carte=false;
	leg.disableEditing();
	refresh_layers();
	
}
function fin_update_carte() {
	document.getElementById("modif_carte").style.display="block";
	document.getElementById("bt_carte").style.display="none";
	document.getElementById("coment_titre").style.display="none";
	document.getElementById("bt_clear").style.display="none";
	document.getElementById("b_wait").style.display="none";
	edition_carte=false;
	leg.disableEditing();
	location.reload();
}


 function deci60(en_deci)  {
            var en_abs = Math.abs(en_deci);
			var en_conv=Math.floor(en_abs)+0.6*(en_abs-Math.floor(en_abs));
			en_60=en_conv;
			if(en_deci<0) {
				en_60=-en_60;
				}
            return en_60
} 
function m60deci(en_60) {
 						
						var d=Math.floor(Math.abs(en_60));
						var m=(Math.abs(en_60)-d)/0.6;	
						d=d+m		;		
						if (en_60<0) {
										d=-d;
										}
		return d
 }
//Validation des categories

 
function test(){
	document.getElementById("details").innerHTML="Loaded++";
}

// Sources prévision meteo 
var titre_=new Array();
var nom_w_zone=new Array();
var url_=new Array();
var disp_mode_x=new Array();
var period_x=new Array();
var type_list_x=new Array();

var disp_mode_idx=new Array();
var period=new Array();var period_idx=new Array();
var source_type=new Array();var source_type_idx=new Array();

									   
 function disp_sources() {
	 
	 s="";
	 var reg=new RegExp("_","g");
	 document.getElementById("sources_meteo").innerHTML="titre"+titre_.length;
	 for(var i=1;i<titre_.length;i++){
			 
	  s+='<div   >';
	  			var nwz_l=decodeURIComponent(nom_w_zone[i]);
				var nwz=nwz_l.replace(reg," ");
				 s+='<h2><div class="w_zone"><a href="/weather_zone/'+nwz_l+'">'+nwz+'</a></div>'+decodeURIComponent(titre_[i])+'</h2>';
						 
						 var k=0;
						  for (var j=0;j<period_idx.length;j++) {
							  if (period_x[i]==period_idx[j]) k=j;
						  }
					 s+='<div>'+decodeURIComponent(period[k])+' : '; 
					 var type_list_idx="*,"+type_list_x[i]+','; var v="";
					 
							 for (var j=0;j<source_type.length;j++) {
																if(	type_list_idx.indexOf(","+source_type_idx[j]+",",0)>0)	{s+=v+' '+decodeURIComponent(source_type[j]);v=",";}
							}
					 s+='</div>';
					if (disp_mode_x[i]==1) { // Inclusion 600
							s+='<iframe src="'+decodeURIComponent(url_[i])+'" width="870" height="600"></iframe>';
					}
					if (disp_mode_x[i]==2) { // Image
							s+='<img src="'+decodeURIComponent(url_[i])+'" alt="" title="" >';
					}
					if (disp_mode_x[i]==3) { // Inclusion1000
							s+='<iframe src="'+decodeURIComponent(url_[i])+'" width="870" height="1000"></iframe>';
					}			
					
					s+='<div class="fsize10">Source: ' +decodeURIComponent(url_[i])+'</div>	';
			s+='</div>';
	  }
	
	 document.getElementById("sources_meteo").innerHTML=s;
 }
 function call_source(){
	titre_.splice(0,titre_.length);
	nom_w_zone.splice(0,nom_w_zone.length);
 	url_.splice(0,url_.length);
  disp_mode_x.splice(0, disp_mode_x.length);
   period_x.splice(0,period_x.length);
  type_list_x.splice(0,type_list_x.length);

  disp_mode_idx.splice(0,disp_mode_idx.length);
  period.splice(0, period.length);  period_idx.splice(0,period_idx.length);
  source_type.splice(0,source_type.length);  source_type_idx.splice(0,source_type_idx.length);

	 var message_="call_source=&lat="+lat_zone+"&lng="+lng_zone;
	 
	 go_(message_);
 }

// Init carte 2D
 google.setOnLoadCallback(init_carte_2D);
 
 /* Iframe Blog */
function reload_iframe(idx_blog){
	document.getElementById('blog_iframe').src = "/blog_iframe.php?idx_blog="+idx_blog; 
}
