var map;
var mobGeo;
var svrUrl = 'http://home.ploigos.gr:13245/cityofathens/coa';
var imageURL = svrUrl +'/images';
var panelCommonCss = [
        {'background-image':'url('+svrUrl+'/images/back_visible.png)'},
        {'background-image':'url('+svrUrl+'/images/back_visible_hover.png)'},
        {'background-image':'url('+svrUrl+'/images/back_hidden.png)'},
        {'background-image':'url('+svrUrl+'/images/back_hidden_hover.png)'}
      ];
var panelManagerLeft = new PanelManager();
var panelPOI;

var selectedPoints = [];
var markersOnMap = [];

var poiCategoryLayerInfo = {};
var poiCategories = {};
var poiLayerIdToCategoryId = {};
var layersNGI_div = '<div style="background-image: url('+svrUrl+'/images/back_visible.png); background-position: right top; height:20px;width:250px; background-repeat: no-repeat; color: black; border-top:2px solid white;font-weight:bold" id="panel_poi_list_title" align="center" valign="middle">Σημεία Ενδιαφέροντος</div>';
    layersNGI_div +='<div style="background-image:url('+svrUrl+'/images/transparent_lightgray_25.png);align:center;" align="center">';
    layersNGI_div +='<div style="background-image: url('+svrUrl+'/images/transparent_lightgray_25.png); background-repeat: repeat; width:240px" id="panel_poi_list" align="left">';
var layersCustom_div = '<div style="background-image: url('+svrUrl+'/images/back_visible.png); background-position: right top; height:20px;width:250px; background-repeat: no-repeat; color: black; border-top:2px solid white;font-weight:bold" id="panel_custompoi_list_title" align="center" valign="middle">Σημεία Δήμου Αθηναίων</div>';
    layersCustom_div +='<div style="background-image:url('+svrUrl+'/images/transparent_lightgray_25.png);align:center;" align="center">';
    layersCustom_div +='<div style="background-image: url('+svrUrl+'/images/transparent_lightgray_25.png); background-repeat: repeat; width:240px" id="panel_custompoi_list" align="left">';

var pharm = '<div id="pharmacies" style="background-image: url('+svrUrl+'/images/back_hidden_empty.png); background-position: right top; height:20px; background-repeat: no-repeat; color: black; border-top:1px solid white;">';
    pharm+='<input type="checkbox" id="pharmacies_check" />Εφημερεύοντα Φαρμακεία</div>';
    
var pointfrom;
var pointto;

var routeMenu_displayed = false;

//TEST POLYGON
/*
var p_latlng_array = [];

p_latlng_array[0] = new GLatLng(37.97356775986967,23.751282691955566);
p_latlng_array[1] = new GLatLng(37.96741045292136,23.77462863922119);
p_latlng_array[2] = new GLatLng(37.98011356100264,23.75943660736084);
p_latlng_array[3] = new GLatLng(37.98676024997843,23.774542808532715);
p_latlng_array[4] = new GLatLng(37.983648389125854,23.78286838531494);
p_latlng_array[5] = new GLatLng(37.99325414315071,23.790507316589355);
p_latlng_array[6] = new GLatLng(38.000931077344774,23.7868595123291);
p_latlng_array[7] = new GLatLng(38.00326443553524,23.782310485839844);
p_latlng_array[8] = new GLatLng(37.998174913696246,23.778297901153564);
p_latlng_array[9] = new GLatLng(38.00069435569893,23.77490758895874);
p_latlng_array[10] = new GLatLng(37.99831018794891,23.769328594207764);
p_latlng_array[11] = new GLatLng(38.00478615087543,23.76321315765381);
p_latlng_array[12] = new GLatLng(38.008150720458545,23.74490976333618);
p_latlng_array[13] = new GLatLng(38.01876754564554,23.746283054351807);
p_latlng_array[14] = new GLatLng(38.02806445739448,23.752849102020264);
p_latlng_array[15] = new GLatLng(38.03256035877346,23.740575313568115);
p_latlng_array[16] = new GLatLng(38.02735455300635,23.73793601989746);
p_latlng_array[17] = new GLatLng(38.01491320729587,23.719182014465332);
p_latlng_array[18] = new GLatLng(38.00982449404459,23.71772289276123);
p_latlng_array[19] = new GLatLng(37.99629795769223,23.69429111480713);
p_latlng_array[20] = new GLatLng(37.97624027632676,23.676953315734863);
p_latlng_array[21] = new GLatLng(37.97498860351825,23.70471954345703);
p_latlng_array[22] = new GLatLng(37.97241753296282,23.7050199508667);
p_latlng_array[23] = new GLatLng(37.96886524785879,23.699398040771484);
p_latlng_array[24] = new GLatLng(37.96333349027599,23.70826005935669);
p_latlng_array[25] = new GLatLng(37.96365491878729,23.71596336364746);
p_latlng_array[26] = new GLatLng(37.96106653345441,23.72218608856201);
p_latlng_array[27] = new GLatLng(37.95516196668683,23.715040683746338);
p_latlng_array[28] = new GLatLng(37.94945997179703,23.723816871643066);
p_latlng_array[29] = new GLatLng(37.95422294455842,23.73017907142639);
p_latlng_array[30] = new GLatLng(37.957006137369426,23.74817132949829);
p_latlng_array[31] = new GLatLng(37.96167557350534,23.745810985565186);
p_latlng_array[32] = new GLatLng(37.9668352934834,23.754844665527344 );
p_latlng_array[33] = new GLatLng(37.972620515491336,23.750767707824707);
p_latlng_array[34] = new GLatLng(37.97356775986967,23.751282691955566);

var coa_poly = new GPolygon(p_latlng_array,false);
//END TEST POLYGON
*/

function initialize() {    
        map = new GMap2(document.getElementById('map'));
        map.setCenter(new GLatLng(37.98170502914355,23.727022575378418), 16);
	map.setUIToDefault();
	map.disableScrollWheelZoom();
        mobGeo = new MobicsGeo(map,svrUrl,imageURL);       
//        map.addOverlay(coa_poly);		
        panelManagerLeft.setPanelCSS(panelCommonCss[0],panelCommonCss[1],panelCommonCss[2],panelCommonCss[3]);
        panelManagerLeft.addPanel('panel_find_road_title','panel_find_road');        
        panelManagerLeft.addPanel('panel_find_route_title','panel_find_route');
        panelManagerLeft.start();
      
	mobGeo.getLayers(processPoiLayers);
	mobGeo.setPharmacyIcon('pharmacy');
	
	$('#road_search1').bind('click',function(){geocode(1)});
	$('#road_search2').bind('click',function(){geocode(2)});
	GEvent.addListener(map,'click',function(marker){	    
          if(marker && marker.openInfoWindowHtml){
	    if(marker.poiId){		
		mobGeo.reverseGeocode(processRevGeoResponce,marker.getPoint().x,marker.getPoint().y,marker.poiId);
	    }
          }
	});
	
}

function togglePharmacies(){
    if (jQuery('#pharmacies_check').get(0).checked) {
	mobGeo.setShowPharmacies(true,8);
    }
    else{
	mobGeo.setShowPharmacies(false,8);
    }
    
}


function processRevGeoResponce(data,poiId){
    var poi = mobGeo.poiman.getPOIById(poiId);
    var or_st = mobGeo.poiman.getPOIHtml(poiId);    
    var layerId = poi.layerId;
    //for (i in poiCategoryLayerInfo)
    var catId = poiLayerIdToCategoryId[layerId];
    var catName = poiCategories[catId];
    var layerName = poiCategoryLayerInfo[catId][layerId].layerName;
    var header_st = '<b>'+catName+':</b>&nbsp;'+layerName+'<br>';
 //   var header_st = '<b>'+catId+':</b>&nbsp;<br>';
    var route_st = '<a href="javascript:setRoutePointFrom(\''+poi.lat+'\',\''+poi.lng+'\')">';
      route_st += '<img src="'+svrUrl+'/images/start_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή από" alt="Διαδρομή από" /> &nbsp;<u>Διαδρομή Από</u></a> &nbsp;&nbsp;';
      route_st += '<a href="javascript:setRoutePointTo(\''+poi.lat+'\',\''+poi.lng+'\')">';
      route_st += '<img src="'+svrUrl+'/images/stop_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή έως" alt="Διαδρομή έως" />&nbsp;<u>Διαδρομή Προς</u></a>';
      
      var moreInfoWindowContent='<br><br><table>';
        if(poi.image_url!=''){
            moreInfoWindowContent +='<tr><td><img height="100px" src="'+poi.image_url+'"></td></tr>';
            moreInfoWindowContent+='<tr><td>&nbsp;</td></tr>';
                                    }
                                    if(poi.free_text!='')
                                      moreInfoWindowContent+='<tr><td valign="middle">'+poi.free_text +'</td></tr>';
                                    moreInfoWindowContent+='</table><br>';
    //alert(poi.id);
    if(data.status == 0){
	if(data.results[0]){
	    var st='<br>' +data.results[0].roadName+'&nbsp;';
	    if ( data.results[0].roadNumber1 != 0)
		st+= 	data.results[0].roadNumber1+"&nbsp;";			    
	    if (data.results[0].roadNumber2 !=0)
		st+= 	data.results[0].roadNumber2+"&nbsp;";		
	    st += "<br>" +data.results[0].roadMunicipality+", " +data.results[0].roadZip +"<br>";
	    if((poi.image_url!='')||(poi.free_text!=''))
                st +='<div id="showmore"><a href="javascript:map.getInfoWindow().maximize();"><i><u>περισσότερα...</u></i></a></div><br>';                                                                    
	    
	    poi.marker.bindInfoWindowHtml(header_st+or_st+st+route_st);	    
	    
	    if((poi.image_url!='')||(poi.free_text!=''))
                                  poi.marker.openInfoWindow(header_st+or_st+st+route_st,{maxTitle:'Αναλυτικά Στοιχεία Σ. Ενδιαφέροντος',maxContent:header_st+or_st+st+route_st+moreInfoWindowContent});
                                else
                                  poi.marker.openInfoWindowHtml(header_st+or_st+st+route_st);
                                
                                 GEvent.addListener(map.getInfoWindow(), 'maximizeend', function() {$('#showmore').html('<div id="showmore"><a href="javascript:map.getInfoWindow().restore()"><i>κλείσιμο...</i></a></div>');});
                                 GEvent.addListener(map.getInfoWindow(), 'restoreend', function() {$('#showmore').html('<div id="showmore"><a href="javascript:map.getInfoWindow().maximize()"><i>περισσότερα...</i></a></div>');});
	    
	}
    }    
}

function setRoutePointFrom(lat,lng){
    for (i in markersOnMap){
	if ((markersOnMap[i].lat == lat)&&(markersOnMap[i].lng==lng)){
	    if(!routeMenu_displayed)
		showRouteContent();
	    $('#from_point_desc').html('<font color="green">'+markersOnMap[i].name+'</font>');
	    $('#from_point_desc').css('display','');
	    pointfrom = {'name':markersOnMap[i].name, 'lat':markersOnMap[i].lat, 'lng':markersOnMap[i].lng};
	    if (pointto)
		$('#find_route').removeAttr('disabled');
	    break;
	}
    }
}
function setRoutePointTo(lat,lng){
    for (i in markersOnMap){	
	if ((markersOnMap[i].lat == lat)&&(markersOnMap[i].lng==lng)){
	    if(!routeMenu_displayed)
		showRouteContent();
	    $('#to_point_desc').html('<font color="red">'+markersOnMap[i].name+'</font>');
	    $('#to_point_desc').css('display','');
	    pointto = {'name':markersOnMap[i].name, 'lat':markersOnMap[i].lat, 'lng':markersOnMap[i].lng};
	    if (pointfrom)
		$('#find_route').removeAttr('disabled');
	    break;
	}
    }
}

function setLayerImages(i,layerId){
    
	if (poiCategories[i].indexOf('Δημοτ') > -1)
          mobGeo.setLayerImage(layerId,'athens');
	else if (poiCategories[i].indexOf('Στάθ') > -1)
	    mobGeo.setLayerImage(layerId,'Cars');
	else if (poiCategories[i].indexOf('ΑΤΜ') > -1)
	    mobGeo.setLayerImage(layerId,'ATM');
        else if (poiCategories[i].indexOf('Αξιοθέατα') > -1)
           mobGeo.setLayerImage(layerId,'Sights');	
        else if (poiCategories[i].indexOf('Αθλητικά') > -1)
          mobGeo.setLayerImage(layerId,'Sports');	
        else if (poiCategories[i].indexOf('Αυτοκίνητο') > -1)
          mobGeo.setLayerImage(layerId,'Cars');
        else if (poiCategories[i].indexOf('Δημόσιες') > -1)
          mobGeo.setLayerImage(layerId,'Public_Services');
        else if (poiCategories[i].indexOf('Χώροι') > -1)
          mobGeo.setLayerImage(layerId,'Public_Places');	
        else if (poiCategories[i].indexOf('Εκπαίδευση') > -1)
          mobGeo.setLayerImage(layerId,'Education');        
        else if (poiCategories[i].indexOf('Θρησκεία') > -1)
          mobGeo.setLayerImage(layerId,'Religion');        
        else if (poiCategories[i].indexOf('Πολιτισμός') > -1)
          mobGeo.setLayerImage(layerId,'Culture');        
        else if (poiCategories[i].indexOf('Συγκοινωνίες') > -1)
          mobGeo.setLayerImage(layerId,'Transportation');        
        else if (poiCategories[i].indexOf('Τράπεζες') > -1)
          mobGeo.setLayerImage(layerId,'Banks');
        else if (poiCategories[i].indexOf('Υγεία') > -1)
          mobGeo.setLayerImage(layerId,'Health');	
        else if (poiCategories[i].indexOf('Ασφαλείας') > -1)
          mobGeo.setLayerImage(layerId,'Security');        
        else  mobGeo.setLayerImage(layerId,'athens');
	
/*    if(catid==0) mobGeo.setLayerImage(layerId,'ATM');	
    else if(catid ==1) mobGeo.setLayerImage(layerId,'Sports');	
    else if(catid ==2) mobGeo.setLayerImage(layerId,'Sights');	
    else if(catid ==15) mobGeo.setLayerImage(layerId,'Cars');	
    else if(catid ==3) mobGeo.setLayerImage(layerId,'athens');	
    else if(catid ==4) mobGeo.setLayerImage(layerId,'athens');	
    else if(catid ==5) mobGeo.setLayerImage(layerId,'athens');	
    else if(catid ==6) mobGeo.setLayerImage(layerId,'Public_Services');	
    else if(catid ==7) mobGeo.setLayerImage(layerId,'Public_Places');	
    else if(catid ==8) mobGeo.setLayerImage(layerId,'Education');	
    else if(catid ==9) mobGeo.setLayerImage(layerId,'Religion');	
    else if(catid ==10) mobGeo.setLayerImage(layerId,'Culture');	
    else if(catid ==11) mobGeo.setLayerImage(layerId,'Transportation');	
    else if(catid ==12) mobGeo.setLayerImage(layerId,'Banks');	
    else if(catid ==13) mobGeo.setLayerImage(layerId,'Health');	
    else if(catid ==14) mobGeo.setLayerImage(layerId,'Security');    */
//    else if(catid ==16) mobGeo.setLayerImage(layerId,'Hotels');	
//    else if(catid ==17) mobGeo.setLayerImage(layerId,'Tourism');	
//    else if(catid ==18) mobGeo.setLayerImage(layerId,'Gas_Stations');	
//    else if(catid ==19) mobGeo.setLayerImage(layerId,'Entertainment');

}

function createLayers(source){
    var st='';    
    for (i in poiCategories){	
	for(k in poiCategoryLayerInfo[i]){
	    if (poiCategoryLayerInfo[i][k].geometryType == source){
	    st+='<div id="cat_panel_'+i+'_title" style="background-image: url('+svrUrl+'/images/back_hidden.png); background-position: right top; height:20px; background-repeat: no-repeat; color: black; border-top:1px solid white;">';
	    st+='<input type="checkbox" id="poicheck_'+i+'" />'+poiCategories[i]+'</div>';
	    st+='<div style="background-image: url('+svrUrl+'/images/transparent_lightgray_25.png);color:black; background-repeat: repeat;display:none" id="cat_panel_'+i+'"><table>';
	    var counter=0;
	    for (j in poiCategoryLayerInfo[i]){                 	
	      if (counter%2==0) st+='<tr>';
		st+='<td nowrap="nowrap">';
		var layerName = poiCategoryLayerInfo[i][j].layerName;
		if (layerName.length>12) layerName = layerName.slice(0,12) + '...';                
		st+='<input type="checkbox" id="poicheck_'+i+'_'+poiCategoryLayerInfo[i][j].layerID+'" />';
		st+='<span style="font-size:9px;" id="layerName_'+poiCategoryLayerInfo[i][j].layerID+'" title="'+poiCategoryLayerInfo[i][j].layerName+'" >'+layerName+'</span>';            
		st+='</td>';
		if (counter%2==1) st+='</tr>'        
		counter++;            
	    }    
	    st +='</table></div>';
	    break;
	    }
	}
    }
    return st;
}

function registerPOIPanels() {    
    for (i in poiCategories){	
        function b(i){	    
            jQuery('#poicheck_'+i).bind('click',function(e) {e.stopPropagation(); togglePOICategory(i);});	    
            var catpaneltitle = 'cat_panel_'+i+'_title';
            var catpanel = 'cat_panel_'+i;
            panelPOI.addPanel(catpaneltitle,catpanel);
        }
	
        b(i);	
        for (j in poiCategoryLayerInfo[i]){	
            function c(i,j){
                jQuery('#poicheck_'+i+'_'+poiCategoryLayerInfo[i][j].layerID).bind('click',function(e) {togglePOIItem( i,poiCategoryLayerInfo[i][j].layerID); });
            }
            c(i,j);
        }	
    }
    $('#pharmacies_check').bind('click',function(){togglePharmacies()});
//$('#pharmacies_check').bind('click',function(){doRoute()});
  }
  

function processPoiLayers(data){
    poiCategoryLayerInfo = data.layerinfo;    
    poiCategories = data.categories;
    for(j in poiCategories){
	for (i in poiCategoryLayerInfo[j]){
	    poiLayerIdToCategoryId[poiCategoryLayerInfo[j][i].layerID]=j;
	    setLayerImages(j,poiCategoryLayerInfo[j][i].layerID);
	}
    }
    var layersNGI = layersNGI_div +  pharm +createLayers(1) +'</div></div>';
    var customLayers = layersCustom_div +createLayers(2) +'</div></div>';
    document.getElementById('layerCategories').innerHTML = customLayers+layersNGI;    
    panelPOI = new PanelManager();	
    panelPOI.setPanelCSS(panelCommonCss[0],panelCommonCss[1],panelCommonCss[2],panelCommonCss[3]);
    panelPOI.setCloseCurrent(true);
    registerPOIPanels();	
    panelPOI.setDefault(null);
    panelPOI.start();        
}

function geocode(opt) {
    var streetName='';
    var streetNumber = '';
    if (opt == 1){
	 streetName = document.frm.street_name1.value;
	 streetNumber = document.frm.street_number1.value;	
    }
    else if (opt == 2){
	streetName = document.frm.street_name2.value;
	streetNumber = document.frm.street_number2.value;	
    }
    else{
	streetName = document.frm.streetName.value;
	streetNumber = document.frm.streetNumber.value;	
    }
    if(streetName!=''){
	var st = '<img src="'+svrUrl+'/images/loader.gif">';
	$('#results').html(st);
	$('#results').css('text-align','center');
	$('#results').slideDown('fast');
	mobGeo.geocodeAddress(processGeocodeResponse,'ΑΤΤΙΚΗ','',streetName,streetNumber,'',opt);
    }
}
function showRouteContent(){
    routeMenu_displayed = true;
    $('#find_road_td').css('font-style','');
    $('#find_road_td').css('cursor','pointer');
    $('#find_road_td').css('color','black');
    $('#find_road_td').css('border','none');
    $('#find_road_td').css('border-bottom','1px solid');
    $('#find_road_td').css('border-color','#acacac');
    $('#find_road_td').css('background-image','');    
    $('#find_road_content').css('display','none');
    $('#find_route_td').css('font-style','italic');
    $('#find_route_td').css('cursor','');
  //  $('#find_route_td').css('color','');
    $('#find_route_td').css('border','1px solid');
    $('#find_route_td').css('border-color','#acacac');
    $('#find_route_td').css('background-image','url(http://home.ploigos.gr:13245/cityofathens/coa/images/transparent_lightgray_25.png)');
    $('#find_route_td').css('border-bottom','none');
    //$('#find_route_content').slideDown('fast');
    
    var st = '<td colspan="2" align="center"><table style="width:100%">';
	st+='<tr><td colspan="2">Από: <span id="from_point_desc" style="display:none"></span></td></tr>';
	st+= '<tr><td><div style="background-image: url(http://home.ploigos.gr:13245/cityofathens/coa/images/transparent_lightgray_25.png); background-repeat: repeat;" align="center" id="panel_find_road1">';
	st+= '<table><tr>';
	st+= '<td>Οδός: <input type="text" name="street_name1" id="street_name1" size="18"></td>';
	st+= '<td>Αρ.:<input type="text" name="street_number1" id="street_number1" size="5"></td>';
	st+= '<td colspan="2" align="center"><input type="button" value="Εύρεση!" id="road_search1" /></td>';
	st+= '</tr></table>';
	st+= '</div></td></tr>';
	st+= '<tr><td colspan="2">Προς: <span id="to_point_desc" style="display:none"></span></td></tr>';
	st+= '<tr><td><div style="background-image: url(http://home.ploigos.gr:13245/cityofathens/coa/images/transparent_lightgray_25.png); background-repeat: repeat;" align="center" id="panel_find_road2">';
	st+= '<table><tr>';
	st+= '<td>Οδός: <input type="text" name="street_name2" id="street_name2" size="18"></td>';
	st+= '<td>Αρ.: <input type="text" name="street_number2" id="street_number2" size="5"></td>';
	st+= '<td colspan="2" align="center"><input type="button" value="Εύρεση!" id="road_search2" /></td>';
	st+= '</tr></table>';
	st+= '</div></td></tr>';
	st+= '</table><br>';
	st+= '<input type="button" id="find_route" onclick="doRoute()" disabled="true" value="Διαδρομή"></td>';
    $('#find_route_content').html(st); 
    $('#road_search1').bind('click',function(){geocode(1)});
    $('#road_search2').bind('click',function(){geocode(2)});
    if (pointfrom){
	$('#from_point_desc').html('<font color="green">'+markersOnMap[i].name+'</font>');
	$('#from_point_desc').css('display','');
    }
    if(pointto){
	$('#to_point_desc').html('<font color="red">'+markersOnMap[i].name+'</font>');
	$('#to_point_desc').css('display','');
    }
    if(pointfrom && pointo)	
	$('#find_route').removeAttr('disabled');
    
    
    $('#find_route_content').css('display','');
    
    
    
}

function showRoadContent(){
    routeMenu_displayed = false;    
    $('#find_route_td').css('font-style','');
    $('#find_route_td').css('color','black');
    $('#find_route_td').css('border','none');
    $('#find_route_td').css('background-image','');
    $('#find_route_td').css('cursor','pointer');
    $('#find_route_td').css('border-bottom','1px solid');
    $('#find_route_td').css('border-color','#acacac');
    $('#find_route_content').css('display','none');
    $('#find_road_td').css('font-style','italic');
    //$('#find_road_td').css('color','');
    $('#find_road_td').css('cursor','');
    $('#find_road_td').css('border','1px solid');
    $('#find_road_td').css('border-color','#acacac');
    $('#find_road_td').css('background-image','url(http://home.ploigos.gr:13245/cityofathens/coa/images/transparent_lightgray_25.png)');
    $('#find_road_td').css('border-bottom','none');
    //$('#find_road_content').slideDown('fast');
    $('#find_road_content').css('display','');
    
    
}
function SlideUp(div){
    $('#'+div).slideUp('fast')
}
//function addressMark(icon,lat,lng,text) {
function addressMark(id,opt) {
    var lat;
    var lng;
    var text;
    for (i in selectedPoints){
	if (selectedPoints[i].id == id){
	lat = selectedPoints[i].data.pointY;
	lng = selectedPoints[i].data.pointX;
//	text = getMarkerText(selectedPoints[i].data);
	markersOnMap.push({'lat':lat,'lng':lng,'name':selectedPoints[i].data.foundAs});
	break;
	}
    }
	$('#results').slideUp('fast');	
        //mobGeo.addMarker('Default',lat,lng,text);
	
	mobGeo.addMarker('Default',lat,lng,selectedPoints[i].data);
	
        map.setCenter(new GLatLng(lat,lng));	
	if(opt ==1 )
	    setRoutePointFrom(lat,lng);
	else if (opt == 2)
	    setRoutePointTo(lat,lng);
}

function removeAddressMark(id){
    mobGeo.removeMarker(id);
}

function getMarkerText(data){
    var st='<b>'+data.foundAs+'</b>,<br>'+data.zip+', '+data.municipality+'<br><br>';
      st += '<a href="javascript:setRoutePointFrom(\''+data.pointY+'\',\''+data.pointX+'\')">';
      st += '<img src="'+svrUrl+'/images/start_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή από" alt="Διαδρομή από" /> &nbsp;<u>Διαδρομή Από</u></a> &nbsp;&nbsp;';
      st += '<a href="javascript:setRoutePointTo(\''+data.pointY+'\',\''+data.pointX+'\')">';
      st += '<img src="'+svrUrl+'/images/stop_hex.png" style="border:0px; margin-right:3px;" title="Διαδρομή έως" alt="Διαδρομή έως" />&nbsp;<u>Διαδρομή Προς</u></a>&nbsp;&nbsp;';
      st += '<a href="javascript:setRoutePointTo(\''+data.pointY+'\',\''+data.pointX+'\')">';
      st += '<img src="'+svrUrl+'/images/delete_hex.png" style="border:0px; margin-right:3px;" title="ΔΙαγραφή" alt="Διαγραφή" />&nbsp;<u>Διαγραφή Σημείου</u></a>&nbsp;&nbsp;';
      
    return st;
    
}

function processGeocodeResponse(data,opt) {
        var res = '';
	selectedPoints = [];
        res += '<b>Αποτελέσματα Αναζήτησης &nbsp;&nbsp;</b> <a href="javascript:SlideUp(\'results\')"><img src="'+svrUrl+'/images/close_hex.png"></a><div style="max-height:290px;overflow:auto" align="left"><br><ol>';
        for (var i=0; i < data.length; i++) {
	  selectedPoints.push({'id':i,'data':data[i]});	    
          res += '<li>';
          if (!data[i].foundAs) {
            res += 'Δεν βρέθηκαν αποτελέσματα!';
          } else {
	    res += '<a style="color:blue;text-decoration:underline" href="javascript:addressMark('+i+','+opt+')">';            
            res += data[i].foundAs+', '+data[i].municipality;
            res += '</a>';
          }
          res += '</li>';
        }
        res += '</ol></div>';
	//document.getElementById('results').innerHTML = res;
	$('#results').html(res);	
	$('#results').slideDown('fast');
	
}
function showLayer(layerid) {    
        mobGeo.showLayers(layerid);
}

function hideLayer(layerid) {
        mobGeo.removeLayers(layerid);
}

function togglePOICategory(catid) {       
  var ls = poiCategoryLayerInfo[catid];
  if (jQuery('#poicheck_'+catid).get(0).checked) {        
    var layers = [];    
    for (var i in ls) {
      jQuery('#poicheck_'+catid+'_'+ls[i].layerID).get(0).checked = true;     
      layers.push(ls[i].layerID);      
    }    
    showLayer(layers);
  } else {
    var layers = [];    
    for (var i in ls) {
      jQuery('#poicheck_'+catid+'_'+ls[i].layerID).get(0).checked = false;
      layers.push(ls[i].layerID);            
    }
    hideLayer(layers);
  }
}

function togglePOIItem(catid,layerid) {    
  if (jQuery('#poicheck_'+catid+'_'+layerid).get(0).checked) {
    jQuery('#poicheck_'+catid).get(0).checked = true; 
    showLayer([layerid]);    
  } else {
    var allchecked = false;
    var s = poiCategoryLayerInfo[catid];
    for (var i in s) allchecked = allchecked || jQuery('#poicheck_'+catid+'_'+s[i].layerID).get(0).checked;
    if (!allchecked) jQuery('#poicheck_'+catid).get(0).checked = false;
    hideLayer([layerid]);    
  }
}

 function doRoute() {
//          var pointfrom = {'name':'point1', 'lat':document.frm.from_lat.value, 'lng':document.frm.from_lng.value}; 
//          var pointto = {'name':'point2', 'lat':document.frm.to_lat.value, 'lng':document.frm.to_lng.value}; 
          mobGeo.route(pointfrom, pointto, 'results1',{'avoid_daktilios':0});
}

function removeRoute(){
    if(mobGeo.routeentry){
	mobGeo.routeentry.remove();
	pointfrom = null;
	pointto = null;
	showRouteContent();
    }
}


