try
{
    wedebug.addLogger("print", "PrintController");
}
catch(e)
{
    alert(e.message);
}

var PrintController = Class.create();
PrintController.prototype = {
    m_guiController : null,    
    m_mapController : null,
    
    initialize : function(t_guiController, t_mapController)
    {
        this.m_guiController = t_guiController;
        this.m_mapController = t_mapController;
    },
    
    printRoute : function(t_start, t_destination, t_url)
    {
        //If current style is birdseye. Change style on route print.
        var t_style = this.m_mapController.getMapStyle();
        t_style = (t_style != MapController.Styles.BIRDS_EYE) ? t_style : MapController.Styles.REGULAR;
    
        var s = (typeof t_start != "undefined") ? t_start : "description1=start";
        var d = (typeof t_destination != "undefined") ? t_destination : "description2=destination"
        window.open( t_url + "?type=route&skey=spider_path&rssid=spider_path&" + encodeURI(s) + "&" + encodeURI(d) + "&run=" + String(new Date().getTime()) + "&style=" + t_style);
    },
    
    printEntry : function(t_data, t_url)
    {        
        var t_style = this.m_mapController.getMapStyle();
        
        if( t_style == MapController.Styles.BIRDS_EYE )
        {
            alert("Du kan dessverre ikke skrive ut skr\u00e5bilder.");
        }
        else
        {       
            var t_center = this.m_mapController.getCenter(); 
            var t_cntr = "";
            if(t_data.indexOf("&lat=") == -1)
            {
                t_cntr = "lat=" + t_center.lat + "&lon=" + t_center.lon;
            }
            
            var level = this.m_mapController.getZoomLevel();
            window.open( t_url + "?type=entry&" + encodeURI(t_data) + t_cntr + "&level=" + level + "&run=" + String(new Date().getTime()) + "&style=" + this.m_mapController.getMapStyle());
        }
    },
    
    print : function(t_pageName)
    {
        var sp = this.m_guiController.getShortestPath();
        if( sp != null )
        {
            var t_url = (typeof t_pageName == "undefined" || t_pageName.toLowerCase().indexOf("route.aspx") == -1) ? "/Map/Page/MapPrintTransfer.aspx" : "/Map/Page/RoutePrint.aspx";
        
            this.printRoute(sp.start, sp.destination, t_url);
        }
        else
        {
            var t_url = (typeof t_pageName == "undefined" || t_pageName.toLowerCase().indexOf("route.aspx") == -1) ? "/Map/Page/MapPrint.aspx" : "/Map/Page/RoutePrint.aspx";
        
            var t_data = this.m_guiController.getPointData();
            this.printEntry(t_data, t_url);
        }
    }
}


