var currentRouteID = "";
var currentRouteTitel = "";
      
function startRouting( start, dest,titel ){
        currentRouteTitel=titel;
        show("wDiv")
        M24.calculateRouteAddr({ 
          start: start,
          destination: dest,
          showRoute: true,
          onRoute: onRoute,
          language: "NL"
      
        });
      }
 function startRoutingF( start, dest,titel ){
        currentRouteTitel=titel;
        M24.calculateRouteAddr({ 
          start: start,
          destination: dest,
          showRoute: true,
          onRoute: onRoute,
          language: "FR"
      });
     }
      
 function onRoute( routeRes ){
        if(currentRouteID != '' && currentRouteID != 'undefined')
          removeRoute( currentRouteID );
         currentRouteID = routeRes.Info.RouteID;
         //Print the route description in a table
        var res= new String("");
        
        res += "<table>";
        res += "<tr><td colspan='4' class='tsstitel'>WEGWIJZER</td></tr>";
        res += "<tr><td colspan='4'><span class='mapgroen'>Bestemming:</span> "+currentRouteTitel+"</td></tr>";
        res += "<tr><td colspan='4'><span class='mapgroen'>Afstand:</span> "+routeRes.TotalLength+" "+routeRes.TotalLengthUnit+"</td></tr>";
        res += "<tr><td colspan='4'><span class='mapgroen'>Duur:</span> "+routeRes.TotalTime+"</td></tr>";
         var y=true;
         for( var i=0; i < routeRes.RouteSegments.length;i++){
          var segment = routeRes.RouteSegments[i];
          var t =""
          if (y==true) {y=false;t=" class='pay'";} else {y=true;t=" class='nopay2'";};
          res += "<tr><td"+t+" style='width:20px'>"+dirimg(segment.Direction)+" </td>"
          res +="<td"+t+"  style='width:340px'>"+segment.Description+"</td>";
          res+=" <td"+t+" style='width:60px'>"+ segment.CurrentLength+" "+segment.CurrentLengthUnit+"</td>";
          res +="<td"+t+" style='width:60px'>"+segment.CurrentTime+"min.</td>";
          res += "</tr>";
        }
        res += "</table>";
         var resDiv = document.getElementById("resultDiv");
        resDiv.innerHTML = res;
        hide("wDiv")
        
        zoomout()
        hf()
      }
    function hf(){
     var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push(
            new Map24.Webservices.MRC.ControlMapObject({
            Control: "ENABLE",
            MapObjectIDs: currentRouteID
        })
    );
    mrcContainer.push( 
  new Map24.Webservices.MRC.ControlComponent({
      Component: "M3DROUTE",
      Control: "SHOW",
      Properties: new Map24.Webservices.Hashtable({
      Map24RouteObjectID: currentRouteID
    })
  }) 
);
mrcContainer.push( 
  new Map24.Webservices.MRC.ControlComponent({
    Component: "SHOWM3DROUTE",
    Control: "SHOW"
  }) 
);
mrcContainer.push(
  new Map24.Webservices.MRC.ControlComponent({
    Component: "M3DROUTE",
    Control: "SHOW",
    Properties: new Map24.Webservices.Hashtable({
      Map24RouteObjectID: new Array(currentRouteID),
      Control: "start"
    })
  })
);
map.Webservices.sendRequest( mrcContainer );
    }  
    function dirimg(types){
        ret="";
        switch (types){
            case "Straight": 
                ret="<img src='/images/rd.gif'></img>";
                break;
            case "Left": 
                ret="<img src='/images/l.gif'></img>";
                break;
            case "Right": 
                ret="<img src='/images/r.gif'></img>";
                break;
            case "SharpLeft": 
                ret="<img src='/images/sl.gif'></img>";
                break;
            case "SharpRight": 
                ret="<img src='/images/sr.gif'></img>";
                break;
            case "SlightLeft": 
                ret="<img src='/images/sll.gif'></img>";
                break;
            case "SlightRight": 
                ret="<img src='/images/slr.gif'></img>";
                break;
            default : ret=types;
        }
        return ret;
    }
  
 
      function removeRoute(){
        M24.removeObj( currentRouteID );
      }


function addit(lon,lat,txthtml,id){
    	  var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
    	  // aanmaken van icoon
    	 var dobj="hObj"+id
        mrcContainer.push(
          new Map24.Webservices.MRC.DeclareMap24Location({
            MapObjectID: "myLocation"+id,
            Coordinate: new Map24.Coordinate( lon, lat ),
            LogoURL: "http://www.lcpnet.com/images/mapdot.gif",
            SymbolID: 20100,
            Events: new Array(
            new Map24.Webservices.MapObjectEvent({
            ID: "OnMouseOver",
			Commands: new Map24.Webservices.CommandsArray(new Map24.Webservices.MRC.ControlMapObject({Control: 'ENABLE',MapObjectIDs: dobj}))}),
            new Map24.Webservices.MapObjectEvent({
              ID: "OnMouseOut",
            Commands: new Map24.Webservices.CommandsArray(new Map24.Webservices.MRC.ControlMapObject({Control: 'DISABLE',MapObjectIDs: dobj}))}),
            new Map24.Webservices.MapObjectEvent({
              ID: "OnClick",
             Commands:new Map24.Webservices.CommandsArray( new Map24.Webservices.MRC.SetMapView({Coordinates: new Map24.Coordinate( lon, lat ),ClippingWidth:new Map24.Webservices.ClippingWidth({ MinimumWidth: 10000 })})
            //Commands:new Map24.Webservices.CommandsArray( new Map24.Webservices.MRC.SetMapView({Coordinates: new Map24.Coordinate( lon, lat ),ClippingWidth:new Map24.Webservices.ClippingWidth({ MinimumWidth: 5000 })})
                        //,
                    //new Map24.Webservices.MRC.ControlMapObject({Control: 'ENABLE',MapObjectIDs: dobj})
                    )
                  
                })
                )
              })  
		 );
		 
        // in de group stoppen
        mrcContainer.push( new Map24.Webservices.MRC.DeclareMapObjectGroup({
          MapObjectGroupID: "group",
          MapObjectIDs: new Array( "group", "myLocation"+id )
        }));
        map.Webservices.sendRequest( mrcContainer );
        mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        // html label
       
        mrcContainer.push(
          new Map24.Webservices.MRC.DeclareMap24HTMLObject({
            MapObjectID: dobj,
            Coordinate: new Map24.Coordinate( lon,lat ),
            HTML: "<div width=\"400\" height=\"180\" font-face=\"Arial\" font-size=\"11\" style=\"padding: 0px; margin: px; border: 0px; \">"+
					"<table ><tr><td  width=\"205px\"  height=\"80px\"></td><td width=\"190px\" style=\"bgcolor:#FFDDDD; border:1px; padding: 5px;\" >"+
					 txthtml+
					 "</td></tr><tr><td  width=\"210px\" ></td><td width=\"190px\"  ><br/></td></tr></table></div>"
          })
        );
         //mrcContainer.push(new Map24.Webservices.MRC.ControlMapObject({Control: "ENABLE",MapObjectIDs: dobj}));
         map.Webservices.sendRequest( mrcContainer );
		}
		
		function centerOnObjectGroup(){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push( genSetMapView ( '', '', 15000, 20, 'group' ) );
        map.Webservices.sendRequest( mrcContainer );
      }  
function genSetMapView( Long, Lat, ClippingWidth, ClippingPercent, id ){
        var SetMapView = null;
        var Clip = new Array();
        if (ClippingWidth != '') 
          Clip['MinimumWidth'] = ClippingWidth;
        if (ClippingPercent != '') 
          Clip['ViewPercentage'] = ClippingPercent;
        if (Long != '' && Lat != '')
        {
          SetMapView = new Map24.Webservices.MRC.SetMapView({
            Coordinates: new Map24.Coordinate( Long, Lat ),
            ClippingWidth: new Map24.Webservices.ClippingWidth( Clip )           
          });
        }
        else if ( id != '' ){
          SetMapView = new Map24.Webservices.MRC.SetMapView({
            ClippingWidth: new Map24.Webservices.ClippingWidth( Clip ),
            MapObjectIDs: id
          });
        }
        return SetMapView;	
      }	
      function controlLayer( cmd, layerId ){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push( new Map24.Webservices.MRC.ControlLayer( cmd, layerId, true ) );
        map.Webservices.sendRequest( mrcContainer );
      }
function centerMapAboveGivenCoordinate(lon,lat,min){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push(
          new Map24.Webservices.MRC.SetMapView({
            Coordinates: new Map24.Coordinate( lon, lat ),
            ClippingWidth: new Map24.Webservices.ClippingWidth(
              {MinimumWidth: min}  
            )          
          })
        );
        map.Webservices.sendRequest( mrcContainer );
        }
function geocode( addressString ){
        map.Webservices.sendRequest(        
          new Map24.Webservices.Request.MapSearchFree(map, {
            SearchText: addressString,
            MaxNoOfAlternatives: 3
          })
        );
     
 map.onMapSearchFree = function( event ){
          var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
          var firstResult = event.Alternatives[0];
          var lon = firstResult.Coordinate.Longitude;
          var lat = firstResult.Coordinate.Latitude;
          mrcContainer.push(
            new Map24.Webservices.MRC.SetMapView({
              Coordinates: new Map24.Coordinate( lon, lat ),
              ClippingWidth: new Map24.Webservices.ClippingWidth(
                { MinimumWidth: 5000 }              
              )
            })
          );
          mrcContainer.push(
          new Map24.Webservices.MRC.DeclareMap24Label({
            Anchor: "CENTER",
            Coordinate: new Map24.Coordinate( lon, lat ),
            Color: new Map24.Color( { R:0, G:0, B:0, A:255 } ),
            BgColor: new Map24.Color( { R:255, G:255, B:255, A:255 } ),
            BorderColor: new Map24.Color( { R:255, G:0, B:0, A:255 } ),
            MapObjectID: "myLabel",
            Text: firstResult.PropertiesMajor["Street"]
          })
        );
        mrcContainer.push(
          new Map24.Webservices.MRC.ControlMapObject({
            Control: "ENABLE",
            MapObjectIDs: "myLabel"
          })
        );

          map.Webservices.sendRequest( mrcContainer );
          return false;
        }
      }
      function zoomandshow(){
      alert("koekje");
      }
function zoomin(){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        var mrcCommand = new Map24.Webservices.MRC.ModifyMapView({ Control: "ZOOMIN" });
        mrcContainer.push( mrcCommand );
        map.Webservices.sendRequest( mrcContainer );
      }
 
      function zoomout(){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        var mrcCommand = new Map24.Webservices.MRC.ModifyMapView({ Control: "ZOOMOUT" });
        mrcContainer.push( mrcCommand );
        map.Webservices.sendRequest( mrcContainer );
      }
 function move( dir ){
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push( new Map24.Webservices.MRC.ModifyMapView( { Control: dir } ) );
        map.Webservices.sendRequest( mrcContainer );
      }
      
      
function Xaddit(lon,lat,id,type){
     var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
     // aanmaken van icoon
     var dobj="hObj"+id;
     mrcContainer.push(
            new Map24.Webservices.MRC.DeclareMap24Location({MapObjectID: dobj,Coordinate: new Map24.Coordinate( lon, lat ),LogoURL: "http://www.lcpnet.com/images/"+type,SymbolID: 20100,
            Events: new Array(
            new Map24.Webservices.MapObjectEvent({ID: "OnMouseOver",Commands:new Map24.Webservices.CommandsArray(new Map24.Webservices.MRC.Surf({URL: "javascript:_XShHi(1,\""+id+"\");"}))}),
            new Map24.Webservices.MapObjectEvent({ID: "OnMouseOut",Commands:new Map24.Webservices.CommandsArray(new Map24.Webservices.MRC.Surf({URL: "javascript:_XShHi(2,\""+id+"\");"}))}),
            new Map24.Webservices.MapObjectEvent({ID: "OnClick",Commands:new Map24.Webservices.CommandsArray(new Map24.Webservices.MRC.Surf({URL: "javascript:_XShHi(3,\""+id+"\");"}))})
             )
            }));
        // in de group stoppen
        mrcContainer.push( new Map24.Webservices.MRC.DeclareMapObjectGroup({MapObjectGroupID: "group",MapObjectIDs: new Array( "group", dobj )}));
        mrcContainer.push(new Map24.Webservices.MRC.ControlMapObject({Control: "ENABLE",MapObjectIDs: dobj}));
        map.Webservices.sendRequest( mrcContainer );
        var mrcContainer = new Map24.Webservices.Request.MapletRemoteControl( map );
        mrcContainer.push( genSetMapView ( '', '', 15000, 20, 'group' ) );
        map.Webservices.sendRequest( mrcContainer );
      }  
      
function _XShHi(so,id){
    var dInf=id
    if (so==1){if (activeinfo==null) {show(dInf);}}if (so==2){if (activeinfo==null) {hide(dInf);}}
    if (so==3){if (activeinfo==id){hide(dInf);activeinfo=null;} else {
    if (activeinfo==null) {activeinfo=id}else{hide(activeinfo);activeinfo=id};
    show(dInf);}}    }
    
function hide(dediv) {
var browserType;if (document.layers) {browserType = "nn4"} if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}
if (browserType == "gecko" ) document.poppedLayer = eval('document.getElementById(\''+dediv+'\')');
else if (browserType == "ie") document.poppedLayer = eval('document.all[\''+dediv+'\']');
else document.poppedLayer = eval('document.layers[\'`'+dediv+'\']');document.poppedLayer.style.visibility = "hidden";}

function show(dediv) {
var browserType;if (document.layers) {browserType = "nn4"} if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}
if (browserType == "gecko" ) document.poppedLayer = eval('document.getElementById(\''+dediv+'\')');
else if (browserType == "ie") document.poppedLayer = eval('document.all[\''+dediv+'\']');
else document.poppedLayer = eval('document.layers[\'`'+dediv+'\']');document.poppedLayer.style.visibility = "visible";}



