/* Gestion du timer pour la saisie en mode passager : c'est à dire avec le problème
 * de n'avoir aucune autre action utilisateur sauf le bouton d'envoi pour lancer le calcul
 * d'itinéraire et l'affichage du trajet.
 */

var terminusInsere = 0;

function detecterInactiviteChamp (value){
	terminusInsere = 1;
	setTimeout("testValue(\""+value+"\")",1000);
}

function testValue(value){
	if (terminusInsere == 1 && value == document.getElementById("terminus_adresse").value){
		terminusInsere = 0;
		arriveeValChanged = 1;
		hidePolyLine = 1;
		searchTerminus();
	}
}

function refreshInputText()
{
    /*
     * $("#log").html("<br />refreshinputtext : text_terminus_adresse"+$("#text_terminus_adresse").html()+" terminus_adresse"+$("#terminus_adresse").attr("value"));
    if($('#text_terminus_adresse').html() != $('#terminus_adresse').attr("value")
    && $('#terminus_adresse').attr("value").length > 2)
    {
        $('#text_terminus_adresse').html($('#terminus_adresse').attr("value");
        $("#log").append("Mise à jour de l'arrivée");
		arriveeValChanged = 1;
		hidePolyLine = 1;
		searchTerminus();
    }
            $.doTimeout( 'someid', 2000, function( state ){
            refreshInputText(); // alert true in 1 second
        }, true);
   */
	alert("mise à jour");
	$("#log").text("Mise à jour");
	$.doTimeout( 'someid', 5000, function( state ){
        refreshInputText(); // alert true in 1 second
    }, true);
}

/* Commun */
function showDetailsTrajet(id_trajet,id_depart)
{
	fromListeResultats = 1;
	var closed=0;
		
	if(resultOpened==id_trajet && resultOpenedDepart==id_depart)
		return '';
		
	if(resultOpened>0)
	{
		if(closeDetailsTrajet(resultOpened,resultOpenedDepart,1,id_trajet)==true)
		{
			closed=1;
			resultOpened=0;
			resultOpenedDepart=0;
		}
	}
		
	if(closed==0)
	{
		clearMarkers();
		clearAllDirections();
	
		var tbTmp = [];
	
		for( x in tabMarkers)
		{
			if(x==id_trajet)
			{
				for(var i = 0;i<tabMarkers[x].length;i++)
				{
					tabMarkers[x][i].show();	
					tbTmp.push(tabMarkers[x][i].getLatLng());
				}
			}
		}
			
		var passe = 0;
		for(var l = 0;l<tabIdsTrajet.length;l++)
		{
			if(tabIdsTrajet[l]==id_trajet && tabIdsDepart[l]==id_depart)
			{
				passe=1;
			} else if(passe==1)
			{	
				var Mt = document.getElementById("lineResult"+tabIdsDepart[l]).style.marginTop.replace("px","");
				Mt = parseInt(Mt) + 156;
				$("#lineResult"+tabIdsDepart[l]).animate( { marginTop:Mt+"px" }, { queue:true, duration:300 } );
			}
		}
		
		show('detais_trajet_'+id_depart);
		$("#detais_trajet_"+id_depart).animate( { height:"150px"}, { queue:true, duration:300 } );
		
		var height = document.getElementById("resultsTrajets").offsetHeight;
		height += 156;
	
		height = document.getElementById("contenuResultatsTrajets").offsetHeight;
		height += 156;
		$("#contenuResultatsTrajets").animate( { height:height+"px" }, { queue:true, duration:300 } );
		
		document.getElementById('lineResult'+id_depart).setAttribute("class","trajetSelected");
		
		resultOpened = id_trajet;
		resultOpenedDepart = id_depart;
		
		GEvent.trigger(tabMarkers[id_depart][0], 'click');
		GEvent.trigger(tabMarkers[id_depart][1], 'click');	
	}
	else
	{
		setTimeout("chooseResult("+id_trajet+","+id_depart+")",300);
	}
}


//Trace un trajet avec comme coordonnés en paramètre la chaine "43.524910//5.454144"
function traceTrajetWithParameter(coordDepart, coordArrivee, conducteur, role){    
  var tabDepart = coordDepart.split("//");
  var tabArrivee = coordArrivee.split("//");
  var departLatLng = new GLatLng(tabDepart[0], tabDepart[1]);
  var arriveeLatLng = new GLatLng(tabArrivee[0], tabArrivee[1]);
  //avec paramètre map => affiche dans le conteneur map défini de l'application Quivaou
  var directions = new GDirections();        	
  GEvent.addListener(directions,"load",function(){
      if (conducteur == 1){
		    	var poly = directions.getPolyline();    	
		    	map.addOverlay(poly);
		    	var bounds = new GLatLngBounds();				
					bounds.extend(departLatLng);
					bounds.extend(arriveeLatLng);				
					map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds) - 2);
      }
  });
  var tabPoints = new Array();
  tabPoints.push(departLatLng);
  tabPoints.push(arriveeLatLng);
  directions.loadFromWaypoints(tabPoints, {preserveViewport:false, getSteps:false,getPolyline:true});
  var imgIconDepart = web_path + "/images/marqueur/gr-mark1.png";
  var imgIconTerminus = web_path + "/images/marqueur/gr-mark1.png";
  if (conducteur == role){
   	imgIconDepart = web_path + "/images/icone_depart_trajet.png";
   	imgIconTerminus = web_path + "/images/icone_arrivee_trajet.png";   
  }
  var Icon = new GIcon(); 
  Icon.image = imgIconDepart; 
  Icon.iconSize = new GSize(32, 32); 
  Icon.shadowSize = new GSize(22, 20); 
  Icon.iconAnchor = new GPoint(16, 32); 
  Icon.infoWindowAnchor = new GPoint(6, 1); 
  Icon.infoShadowAnchor = new GPoint(13, 13); 
  markerDepart = new GMarker(departLatLng,Icon);
  map.addOverlay(markerDepart);	     	
  Icon = new GIcon();
  Icon.image = imgIconTerminus;  
  Icon.iconSize = new GSize(32, 32); 
  Icon.shadowSize = new GSize(22, 20); 
  Icon.iconAnchor = new GPoint(16, 32); 
  Icon.infoWindowAnchor = new GPoint(6, 1); 
  Icon.infoShadowAnchor = new GPoint(13, 13); 
  markerTerminus = new GMarker(arriveeLatLng,Icon);
  map.addOverlay(markerTerminus);
}