var dashflyprint = dashflyprint || function () {

   var private = {
         
      ajaxcall : "././ajaxcall/",

      getRouteDetails: function( addresses ) {
         return base2.JavaScript.Array2.map(addresses,
                function(address) { with(address) return {
                   lat: GetLatLng().lat(), lng: GetLatLng().lng(),
                   accuracy: GetAccuracy(),
                   address: encodeURIComponent(GetAddress()), label: encodeURIComponent(GetAddressLabel())
                   };
                }, this);
      },
      
      openPrintWindow : function( response ) {
         window.open(response,'PrintRoute', 'width=1024,height=600,resizable=no,scrollbars=yes,toolbar=yes,menubar=yes,location=no,status=no,copyhistory=no');
      }
   };
   
   var public = {
      doPrint : function( addressList, isRoundTrip ) {
         var data = private.getRouteDetails(addressList);
         var details = {};
         details.roundTrip = isRoundTrip;
         details.addresses = data;
         var postContent = "details=" + JSONstring.make(details);
         //var postContent= "details=";
         jQuery.post(private.ajaxcall + "getRouteURL.php", postContent, private.openPrintWindow);
      }
   };

   return public;
}();
