

function togglei(no)
{
    var d=document.getElementById("si"+no);
    if(d.style.display=="none")
	d.style.display="";    
    else
	d.style.display="none";
}

function set_singel_info(stopp)
{
    tracking_agent=0;
    var buf="";
        
    // Make this stopp go red
    set_stopp_selected(stopp.stopp_id, stopp.latitude, stopp.longitude);

    for(var n=0; n < stopp.runs.length; n++)
    {
	var run = stopp.runs[n];
	
	if(n==0)
	{
	
	    clear_lines();
	    if(run.around)
	    for(var i = 0; i < run.around.length-1; i++)
	    {
		if(run.around[i].snr >= run.stopp_nr)
		    add_green_line(run.around[i].lat, run.around[i].lng, run.around[i+1].lat, run.around[i+1].lng);
		else
		    add_red_line(run.around[i].lat, run.around[i].lng, run.around[i+1].lat, run.around[i+1].lng);
	    }
	    
	    buf += "<center><table border='0' width='150' cellspacing='0' cellpadding='0'><tr><td width='30'><center>&nbsp;";
	    if(run.prev_id>0)
		buf += "<h1 style='font-size: 35px; margin: -4px;' title='Föregående stopp i turen.'><a href='JavaScript:klick_stopp(" + run.prev_id + ",false);'> &lt;&lt; </a></h1>";
	    buf += "</center></td><td width='30'><center>";			
	    buf +="<a href=\"JavaScript:klick_stopp('" + run.prev_id + ",false');\">";

	    if(run.today>0)
	    {
		if(run.ankomst)
		    buf+="<img style='margin-top: 0px; margin-bottom:0px;' class='t' src='images/t-rod.png' title='Stoppet har redan körts idag.'>";
		else
		    buf+="<img style='margin-top: 0px; margin-bottom:0px;' class='t' src='images/t-gron.png' title='Stoppet skall köras idag.'>";
	    }
	    else
	    {
		buf+="<img style='margin-top: 0px; margin-bottom:0px;' class='t' src='images/t-bla.png' title='Detta stopp körs inte idag.'>";
	    }	
	    buf += "</a></center></td><td width='30'><center>&nbsp;";
	    if(run.next_id>0)
		buf +="<h1 style='font-size: 35px; margin: -4px;' title='Nästa stopp i turen.'><a href='JavaScript:klick_stopp(" + run.next_id + ",false);'> &gt;&gt; </a></h1>";
	    buf += "</center></td></tr></table></center>";

	    // Stopp 13, Rdhakev 27b i Sunnersta.
	    buf += "<h2 style='margin-top: 8px;' onclick='zooma(" + stopp.latitude + "," + stopp.longitude +");' style='cursor: pointer;'>";
	    if(stopp.gata)
		buf += stopp.gata + " i ";
	    if(stopp.ort)
		buf += stopp.ort;    
	    buf +=".</h2>\n";

	    // Add note if there is any that data.
	    if(stopp.ext_note)
	    {
		buf += "<h3 style='margin-left:0px; margin-top:10px;'>Notering:</h3>";
		buf += "<h4 style='margin-left:10px; margin-top:2px;'>" + stopp.ext_note + "</h3>\n";
	    }

	}

	if(n==0)
	    buf+="<h1 style='margin-top: 2px; margin-bottom: 4px;'>Bilen kommer: </h1>";
	else if(n==1)
	    buf+="<h2 style='margin-top: 4px; margin-bottom: 4px;'>Körs även: </h2>";


	// if next_run is 0, its running today
	if(run.today>0)
	{
	    if(run.ankomst)
		buf +="<h3 style='color: red; margin-top: 2px; cursor: pointer;' onclick='togglei("+ n+ ");'>Idag, bes&ouml;kt kl " + run.ankomst + "</h3>\n";
	    else
		buf +="<h3 style='color: green; margin-top: 2px; cursor: pointer;' onclick='togglei("+ n+");'>Idag, ca kl " + run.tid + "</h3>\n";
	} else { 
		buf += "<h5 style='margin-top: 2px; cursor: pointer;' onclick='togglei("+ n+ ");'>" + run.datum + " ca kl " + run.tid + "</h5>";
	}
		
	if(n==0)
	    buf += "<div id='si"+n+"'>";
	else
	    buf += "<div id='si"+n+"' style='display: none;'>";
	switch(run.typ)
	{
		    case 5:
			buf+="<h3>Stoppet körs endast på sommaren.</h3>";
			break;
		    case 6:
			buf+="<h3>Stoppet körs endast på vintern.</h3>";
			break;
		    case 7:
			buf+="<h3>Stoppet besöks endast om kund ringer/skriver och berättar att han/hon önskar detta.</h3>";
			break;
		    case 8:
			buf+="<h3>Stoppet körs endast på kundens önskemål.</h3>";
			break;
		    case 9:
			buf+="<h3>Bilen stannar endast om kund väntar vid vägen.</h3>";
			break;
		    default:
			break;
		
	}
	buf += "<h4 style='margin-left: 5px; margin-top:2px;'>Körs Av: " + run.saljare + "</h4>";
	if(run.tel>0)
	    buf += "<h4 style='margin-left: 5px; margin-top:2px;'>Telefon: 0"+ run.tel + "</h4>";
	if(run.today>0)
	    buf+="<h4 style='margin-left: 3px; margin-top:2px;'><a href='JavaScript:klick_agent("+run.tur_var_id+");' style='color: green;'>Visa bilen på kartan.</a></h4>";
	buf+="<h4 style='margin-left: 3px; margin-top: 2px;'><a href='JavaScript:search_for_tur("+run.tur_var_id+");'>Lista turens samtliga stopp.</a></h4>";
	buf+="<h4 style='margin-left: 3px; margin-top: 2px;'><a href='JavaScript:print_tur("+run.tur_var_id+");'>Skriv ut hela turlistan.</a></h4>";
	if(n==0)
	    buf+="<h4 style='margin-left: 3px; margin-top: 2px;'><a href='JavaScript:klick_stopp("+stopp.stopp_id+",true);'>Rita ut färdvägen.</a></h4>";
	buf+="<h5 style='margin-left: 5px; margin-top:2px; font-size: 8px;'>Ref: " + run.turnummer + run.var_name+ ":" + run.stopp_nr + "</h5>";
	buf+="</div>";


	// New sms kund
	if(n==0)
	    buf += "<br><h4><center><a href=\"JavaScript:new_sms_kund(" + stopp.stopp_id + ");\" title='Aktivera V-I-P smsbevakning, och du får ett sms strax innan glassbilen kommer hem till dig, som även kan innehålla exklusiva förmåner. Den här tjänsten är helt gratis!'><img class=\"t\" src=\"images/icon-sms.png\"><br>Aktivera gratis sms bevakning och få ett sms exakt 10 minuter innan bilen kommer till "+stopp.gata+"!</a></center></h4><br><br>";	
    }

    
    
    
    /*
    try {
	var ua=navigator.userAgent;
	if(ua.match("Windows NT 6.0"))
	{
	    buf += "<br><br><h4 title='Se till att du inte missar glassbilen när du sitter vid datorn!'>Kör du Windows Vista?</h4><h5 style='margin-left: 5px;'><a href='gadget/download_gadget.php?stopp_id=" + stopp.stopp_id + "'> Lägg till en cool Hemglass Gadget.</A></h5>";
	} else {
	    buf += "<br><br><h4 title='Se till att du inte missar glassbilen när du sitter vid datorn!'><a href='http://desktop.google.com/sv/' style='color:#000000;'>Kör du Google Sidebar?</a></h4><h5 style='margin-left: 5px;'><a href='ggadget/download_gadget.php?stopp_id=" + stopp.stopp_id + "'> Lägg till en cool Hemglass Gadget.</A></h5>";	
	}

    } catch(e) {}
    */

    // Put page
    info_set(buf);
}

function add_one_row(stopp)
{
    var run = null;
    for(var i = 0; i < stopp.runs.length; i++)
	if(stopp.runs[i].today > 0)
	    run=stopp.runs[i];

    if(!run)
	run=stopp.runs[0];
    if(!run)
	return(null);

        
    var title= (run.stopp_nr > 0 && run.turnummer > 0) ? 
	"Stopp nr "+run.stopp_nr + " på tur " + run.turnummer +":"+run.var_name+" "+run.tur_namn : "";
    var row="<div title='"+title+"' onclick='klick_stopp("+stopp.stopp_id+",false);' class='stopp_row'>";
    row+="<table cellspacing='2' cellpadding='0'><tr><td>";
    if(run.today>0)
    {
	if(run.ankomst)
	    row+="<img class=\"t\" src=\"images/tl-rod.png\" title='Stoppet har redan körts idag.'>";
	else
	    row+="<img class=\"t\" src=\"images/tl-gron.png\" title='Stoppet skall köras idag.'>";
    }
    else
    {
	row+="<img class=\"t\" src=\"images/tl-bla.png\" title='Stoppet körs inte idag.'>";
    }
    row+="</td><td>";
    row+="<h3>";    
    row+=(stopp.gata ? (stopp.gata + ", ") : "") + stopp.ort;
    row+="</h3>";
    if(run.today>0)
    {
	if(run.ankomst)
	{
	    row+="<h5 style='color: #ff0000' title='Redan besökt idag klockan'>";
	    row+="Besökt idag kl: " + run.ankomst;
	    row+="</h5>";
	}
	else 
	{
	    row+="<h5 style='color: #0057a3' title='Beräknad ankomsttid idag klockan'>";
	    row+="Idag, ca kl " + run.tid;
	    row+="</h5>";
	}
    }
    row+="</td></tr></table></div>";
    	
	

    return(row);

}

function bad_luck_searching()
{
    var text = "<h1><br>Sökningen gav inget resultat!</h1><br>";
    text+="<h2>Du kan prova hitta ett stopp i närheten genom att dra och zooma i kartan.<br><br>";
    text+="Om stoppet inte finns, kan du ";
    text+="<a href=\"JavaScript:ny_stopp_guide();\">Ge glassbilen ett stoppförslag </a>";
    text+="Var kör glassbilen <a href='JavaScript:idag();'>Idag?</a></h2>";
    info_set(text);
}

var geocoder = new GClientGeocoder();
function geo_result(response)
{
    if(!response || response.Status.code != 200)
    {
	bad_luck_searching();
	return;
    }

    var place = response.Placemark[0];
    if(place.Point.coordinates[1]<1 || place.Point.coordinates[0]<1)
	return;
    var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
    
    gmap.setCenter(point);
    if(gmap.getZoom()<15)
    {
	gmap.setZoom(15);
    }
    search_by_lat_lng(place.Point.coordinates[1], place.Point.coordinates[0], place.address);
    //alert("lat: " + point.lat() + " lng: " + point.lng() + " address: " + place.address);
}

function search_by_lat_lng(lat, lng, address)
{
    var Stopp_Info_Request = getXMLHTTPRequest();
        
    var myRandom=parseInt(Math.random()*99999999);
    var query = "data_stopp_point_json.php" + "?extended=2&rand=" + myRandom + "&lat=" + lat + "&lng=" + lng + "&address=" + address+"&kontor_id="+kontor_id;
    
    Stopp_Info_Request.open("GET", query , true);
    
    Stopp_Info_Request.onreadystatechange = function() {
	// Get all "stopp"s
	if(!Stopp_Info_Request)
	    return;
	if(Stopp_Info_Request.readyState != 4)
	    return;
	if(Stopp_Info_Request.status != 200)
	    return;
	if(!Stopp_Info_Request.responseText)
	    return;
	if(Stopp_Info_Request.responseText.length < 1)
	    return;
	
	var stopp_data = eval('('+Stopp_Info_Request.responseText+')');
	if(stopp_data[0])
	{
	    set_singel_info(stopp_data[0]);
	} else {
	    bad_luck_searching();
	}
    }

    Stopp_Info_Request.send(null);
}



function get_address(address, ort)
{
    var a = address + ", " + ort + ", sweden";
    
    geocoder.getLocations(a, geo_result);
}

function update_stopp_info(stopp_data)
{
    if(stopp_data && stopp_data.length>0)
    {
	if(stopp_data.length>1)
	{
		var buf="<h1>Stopplista:</h1>";
		for(var i = 0; i < stopp_data.length; i++)
		{
			var nn=add_one_row(stopp_data[i]);
			if(nn)
			    buf+=nn;
		}
		info_set(buf);
		correctPNG();
	}
	else
	{
	    if(stopp_data[0])
	    {
		set_singel_info(stopp_data[0]);
	    }
	    else
	    { // No result
		get_address(document.search.gata.value, document.search.ort.value);
	    }
	}
    } else {
	get_address(document.search.gata.value, document.search.ort.value);
    }    

}


function klick_stopp(id, around)
{
    back_add("klick_stopp("+id+","+around+");");

    // Just change info window, so user see that anythinh happends.
    
    var Stopp_Info_Request = getXMLHTTPRequest();
        
    var myRandom=parseInt(Math.random()*99999999);
    var query = "data_stopp_json.php" + "?extended=2&rand=" + myRandom + "&id=" + id + "&gata=" + document.search.gata.value + "&ort=" + document.search.ort.value+"&kontor_id="+kontor_id+"&around="+(around ? "1" : "0");
    
    Stopp_Info_Request.open("GET", query , true);
    
    Stopp_Info_Request.onreadystatechange = function() {
	if(!Stopp_Info_Request)
	    return;
	if(Stopp_Info_Request.readyState != 4)
	    return;
	if(Stopp_Info_Request.status != 200)
	    return;
	if(!Stopp_Info_Request.responseText)
	    return;
	if(Stopp_Info_Request.responseText.length < 1)
	    return;
	
	update_stopp_info(eval('('+Stopp_Info_Request.responseText+')'));
    }

    Stopp_Info_Request.send(null);

}


// Called on freetext search
function search_for_stop()
{
    if(!document.search.gata.value && !document.search.ort)
    {
	alert("Du måste söka på gata eller ort!");
	return;
    }
    search_for_stop2(document.search.gata.value, document.search.ort.value);
}

function search_for_stop2(gata, ort)
{
    back_add("search_for_stop2('"+gata+"', '"+ort+"');");
    var Stopp_Info_Request = getXMLHTTPRequest();
        
    var myRandom=parseInt(Math.random()*99999999);
    var query = "data_stopp_json.php" + "?extended=2&rand=" + myRandom + "&gata=" + gata + "&ort=" + ort +"&kontor_id="+kontor_id;
    
    Stopp_Info_Request.open("GET", query , true);
    
    Stopp_Info_Request.onreadystatechange = function() {
	if(!Stopp_Info_Request)
	    return;
	if(Stopp_Info_Request.readyState != 4)
	    return;
	if(Stopp_Info_Request.status != 200)
	    return;
	if(!Stopp_Info_Request.responseText)
	    return;
	if(Stopp_Info_Request.responseText.length < 1)
	    return;
	
	update_stopp_info(eval('('+Stopp_Info_Request.responseText+')'));
    }

    Stopp_Info_Request.send(null);
}

function search_for_tur(tur_id)
{
    back_add("search_for_tur("+tur_id+");");
    var Stopp_Info_Request = getXMLHTTPRequest();
        
    var myRandom=parseInt(Math.random()*99999999);
    var query = "data_stopp_json.php" + "?extended=1&rand=" + myRandom + "&tur_id=" + tur_id+"&kontor_id="+kontor_id;
    
    Stopp_Info_Request.open("GET", query , true);
    
    Stopp_Info_Request.onreadystatechange = function() {
	if(!Stopp_Info_Request)
	    return;
	if(Stopp_Info_Request.readyState != 4)
	    return;
	if(Stopp_Info_Request.status != 200)
	    return;
	if(!Stopp_Info_Request.responseText)
	    return;
	if(Stopp_Info_Request.responseText.length < 1)
	    return;
	
	update_stopp_info(eval('('+Stopp_Info_Request.responseText+')'));
    }

    Stopp_Info_Request.send(null);
}
