﻿function edit_cart() {
    var n = $("#cart-items .cart-item-hotel .c-01").size();
    if (n == 0) { n = $(".cart-item-template").size(); }
    if (n == 0) { n = $("#cart-items .cart-item-ship .c-01").size(); }
    if (n==0){
        $(".cart-item-count").map(function() {
         n=n+ parseInt($(this).text())
        })
    }
    if (n == 0) {
        alert('Please add at least one item to your Trip/ My Selections.')
        return false
    }
    return true
}

function edit_trip() {

    var n = $(".trip-details-items .guide").size();
    if (n == 0) { n = n + $(".trip-details-items .hotels").size(); }
    if (n == 0) { n = n + $(".trip-details-items .ships").size(); }
 
    if (n == 0) {
        alert('Please add at least one item to your Trip.')
        return false
    }
    return true
}

function showStatusOverlay() {
    var e=$(".overlay-status")
    var o = $("#overlay-trips");
    var position = o.position();
    var t = position.top-e.offset().top
    e.css({ "top": t, "left": position.left,"height":o.height()+30,"width":o.width() +30})
        .show();

}
function hideStatusOverlay(){$(".overlay-status").hide()}

function overlayModuleTrips() {

    var overlayTrips = $("#overlay-trips");
    var overlayContent = $("#overlay-content-trip");
    var overlay = $(".overlay");
    var overlayModuleTripsWidth = overlayTrips.width() + 30;
    var overlayTripsMargin = ($(window).width() - overlayModuleTripsWidth) / 2 + "px";

    $(".item-edit,.item-comment").click(function() {
        showOverlay($(this).attr("href"),true)
        return false;
    });


    $("#cart-tools-send").click(function() {
        if (edit_cart()) { showOverlay("/widgets/trip/send.aspx?rid=" + rid, true) }
        return false;
    });
    $(".icon-send").click(function() {
       if (edit_trip()) {showOverlay("/widgets/trip/send.aspx?rid=" + detrid, true)}
        return false;
    });
    $(".icon-to-lib").click(function() {
    
        if (edit_trip()) { showOverlay("/widgets/trip/library-new.aspx?rid=" + detrid, true) }
        return false;
    });
    $(".icon-download").click(function() {
    
        if (edit_trip()) { window.location = "/Client/print.aspx?down=1&rid=" + detrid }
        return false;
    });
    $(".icon-print").click(function() {
    
        if (edit_trip()) {
            var win = window.open("/Client/printhandler.aspx?rid=" + detrid, "_blank", "width=600, height=300,status=0, toolbar=0,location=0,menubar=0,resizable =1")
            if (!win) { alert('Unable to open print view.  Please make sure your pop-up blockers are disabled or allow pop-ups from www.starserviceonline.com.') }
        }
        return false;
    });

    $("#cart-tools-addlib").click(function() {
        if (edit_cart()) { showOverlay("/widgets/trip/library-new.aspx?rid=" + rid, true) }
        return false;
    });
    $("#cart-tools-save").click(function() {
    if (edit_cart()) { showOverlay("/widgets/trip/trip-new.aspx?rid=" + rid, true) }
        return false;
    });

    $("#cart-tools-download").click(function() {
        if (edit_cart()) { window.location = "/Client/print.aspx?down=1&rid=" + rid }
        return false;
    });

    $("#cart-tools-print").click(function() {
        if (edit_cart()) {
            var win = window.open("/Client/printhandler.aspx?rid=" + rid, "_blank", "width=900, height=500,status=0, toolbar=0,location=0,menubar=0,resizable =1")
            if (!win) { alert('Unable to open print view.  Please make sure your pop-up blockers are disabled or allow pop-ups from www.starserviceonline.com.') }
        }
        return false;
    });

    function showOverlay(u, bFade) {
        if (bFade == undefined) { bFade = true }
        if (u != "") {
            overlayContent.empty().load(u, function() {
                overlayTrips.css({ "left": overlayTripsMargin });
               if (bFade){ overlayTrips.fadeIn(200);}else{overlayTrips.show()}
            });
        }
        if (bFade) { overlay.fadeIn(200); } else { overlay.show() }
        
        return false;
    }


    function showOverlayLeft(u, bFade) {
        if (bFade == undefined) { bFade = true }
        if (u != "") {        
            overlayContent.empty().load(u, function() {
                overlayTrips.css({ "left": $("#nav").position().left + 60, "width": 530 });
                if (bFade) { overlayTrips.fadeIn(200); } else {overlayTrips.show() }
            });
        }
        
        if (bFade) { overlay.fadeIn(200); } else { overlay.show() }
        $("body").keydown(function(event) { if (event.keyCode == '27') { $(".overlay-close").click(); return false } });        
        return false;
    }
    function hideOverlay() {
        $(".overlay-close").click()
        
    }
    
    $("#content .overlay-edit-trigger").click(function(event) {
        showOverlay($(this).attr("href"),true )
        return false;
    });

    this.showOverlay = showOverlay;
    this.showOverlayLeft = showOverlayLeft;
    this.hideOverlay = hideOverlay;

}
// overlay size
function setOverlayContentHeight() {
    var overlayHeight = $(window).height() - 225 + "px";
    
    $(".t-container").map(function() {
        if(!$(this).hasClass("SA")){
        $(this).css("height", overlayHeight)
        }
    })
}

function overlayModule() {

    var overlay = $(".overlay");
    var overlayTrips = $("#overlay-trips");
    var overlayDetails = $("#overlay-details");
    var overlayContent = $("#overlay-content-trip");
    var overlayModuleWidth = overlayDetails.width() + 30;
    var overlayMargin = ($(window).width() - overlayModuleWidth) / 2 + "px";

    $("#content .overlay-trigger").click(function() {return false;});


    setOverlayContentHeight();

    // redo functions on window resize (so the bg still covers the screen & the overlay module is positioned correctly)
    $(window).resize(function() {
        var overlayDetails = $("#overlay-details");
        var overlayTrips = $("#overlay-trips");
        var overlayModuleWidth = overlayDetails.width() + 30;
        var overlayMargin = ($(window).width() - overlayModuleWidth) / 2 + "px";
        var overlayModuleTripsWidth = overlayTrips.width() + 30;
        var overlayTripsMargin = ($(window).width() - overlayModuleTripsWidth) / 2 + "px";

        overlayDetails.css({ "left": overlayMargin });
        overlayTrips.css({ "left": overlayTripsMargin });
        setOverlayContentHeight();
    });

//    // ...except the overlay module itself
//    $("#overlay-trips, #overlay-details").click(function(event) {
//        event.stopPropagation();
//    });

}



function overlayLoadClose() {
    $(".overlay-load,.overlay-load-det,.overlay-close").unbind('click');
    
    // force links to load in overlay module
    $(".overlay-load").click(function() {
        var getLink = $(this).attr("href");
        $(".overlay-content").load(getLink);
        return false;
    });

    // force prev/next links to load in overlay module
    $(".overlay-load-det").click(function() {
        var e = $("#resList").find(".browse-results-i[_p='" + $(this).attr('_p') + "']")
        if ($(e).length > 0) { loadHotelOver(e) }
        return false;
    });
        
    // close overlay module when the user clicks the "close" button or anywhere on the body...
    $(".overlay-close").click(function() {
        $("#overlay-trips").unbind('keydown')
        $("body").unbind('keydown')
         $(window).unbind('resize.jcarousel') //cause an error otherwise
         $(".overlay").hide();
        $(".overlay-container").hide();
        return false;
    });
}




function overlayMap() {

    // show/hide on click
    $(".map-trigger a").click(function() {
        if ($(this).parent().hasClass("map-trigger-closed")) {
            $(".map-cart-container").stop().animate({ "left": "0" }, 500);
            $(".map-trigger-closed").removeClass("map-trigger-closed");
            return false;
        } else {
            $(".map-cart-container").stop().animate({ "left": "-300px" }, 500);
            $(".map-trigger").addClass("map-trigger-closed");
            return false;
        }

    });

    // alternating rows
    $(".map-cart-container .list .title:odd").addClass("alt");

}

$(document).ready(function() {
    overlayModuleTrips();
    overlayModule();
    overlayLoadClose();
      
});
