    function clearBoundaries(){
        boundaryLayer.DeleteAllShapes();
    }
    function parseBoundariesFromJson(json){
        var shapes=[];
        for(var i=0;i<json.length;i++){
            try{
                var shp=VirtualEarthWKT.ShapeFromWKT(json[i].WKT);
                shp.Boundary=json[i];
                shp.SetTitle(json[i].BoundaryName);
                shp.SetFillColor(new VEColor(255,255,255,0));
                shp.SetLineColor(new VEColor(0,0,0,1));
                shp.HideIcon();
                shapes.push(shp);
            }catch(e){
                
            }
        }
        return shapes;
    }

    function addBoundariesFromJson(json){
        var shapes=parseBoundariesFromJson(json);
        for(var i=0;i<shapes.length;i++)
        {
            boundaryLayer.AddShape(shapes[i]);
        }
        locateMe();
    }


    function boundaryAlreadyLoaded(boundaryTitle)
    {
        for(var j=0;j<boundaryLayer.GetShapeCount();j++){
            if(boundaryTitle==boundaryLayer.GetShapeByIndex(j).GetTitle())
            {
                return true;
            }
        }
        return false;
    }

    function updateBoundariesFromJson(json){
        var shapes=parseBoundariesFromJson(json);
        for(var i=0;i<shapes.length;i++)
        {
            if(!boundaryAlreadyLoaded(shapes[i].GetTitle()))
            {
                boundaryLayer.AddShape(shapes[i]);
            }
        }
        locateMe();
    }

    
    function initializeBoundaries(json){
        clearBoundaries();
        addBoundariesFromJson(json);
        map.SetMapView(boundaryLayer.GetBoundingRectangle());
    }
    function replaceBoundariesFromJson(json){
        clearBoundaries();
        addBoundariesFromJson(json);
    }
    
    
    

    
    function getBoundaries(onSuccess){
    $.ajax(
        {
            type:"GET",
            url: "Boundaries.ashx",
            data:{
             zoom: map.GetZoomLevel(),
             tl: map.GetMapView().TopLeftLatLong,
             br: map.GetMapView().BottomRightLatLong
            },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: onSuccess,
            error:function(a,b,c){
                
            }
            }
        );
    }
