﻿$(function () {
    setupMainJs();
    });

// when we do a partial page load, we need to setup both Main.js and DragDrop.js (if it's there).
function pageLoad(sender, args) {
    if (args.get_isPartialLoad()) {
        setupMainJs();
        if (window.setupDragDrop) {
            setupDragDrop();
            }
        }
    }

function setupMainJs() {
//$(function () {
    //// Navigation
    // Add tiny triangle to current micro nav item because it wouldn't look like designs if done in CSS
    $('.buildSuitMicroNav ul li a.current').after('<img src="/website/images/navigation/microNavPointer.png" />');

    //// Label Page
    //Update label box border on click
    $('.labelBoxes').click(function () {
        //$('.labelSample').removeClass('opaqueOverlay');
        $('.labelStyle').removeClass('opaqueOverlay');
        $('.labelImg').removeClass('opaqueOverlay');

        $('.lblName').show();
        $('.labelBoxes').removeClass('orangeBorder');
        $(this).addClass('orangeBorder');

        var thisid = $(this).attr("id");
        if (thisid.indexOf("divName") >= 0) {
            $("[id$='_txtMonogram']").val("");  // clear mono
        }
        else if (thisid.indexOf("divMono") >= 0) {
            $("[id$='_txtName']").val("");      // clear name
        }
        else {  // clear both
            $("[id$='_txtMonogram']").val("");
            $("[id$='_txtName']").val("");
        }
    });

    //Update mySuit label preview with name
    $('.previewLink').click(function () {
        var strLabel = $(this).prev().val();
        $('.lblName').text(strLabel);
        //$("[id$='_hfName']").val(strLabel);
    });

    //Hide label and dim out label background if 'I prefer no Label' is clicked
    $('.noLabel').click(function () {
        //$('.labelSample').addClass('opaqueOverlay');
        $('.labelStyle').addClass('opaqueOverlay');
        $('.labelImg').addClass('opaqueOverlay');
        $('.lblName').hide();
        //$("[id$='_hfName']").val("**NO LABEL**");
    });

    //Change label text to bold/italic
    /*$('#labelBoldBtn').toggle(
        function () {
            $('.lblName').css({ 'font-weight': 'bold' });
            $(this).addClass('orangeBorder');
            $("[id$='_hfIsBold']").val("true");
            //$('.lblHiddenBold').text('bold');
        },
        function () {
            $('.lblName').css({ 'font-weight': 'normal' });
            $(this).removeClass('orangeBorder');
            $("[id$='_hfIsBold']").val("false");
            //$('.lblHiddenBold').text('');
        }
    );*/

    /*$('#labelItalicBtn').toggle(
        function () {
            $('.lblName').css({ 'font-style': 'italic' });
            $(this).addClass('orangeBorder');
            $("[id$='_hfIsItalic']").val("true");
            //$('.lblHiddenItalic').text('italic');
        },
        function () {
            $('.lblName').css({ 'font-style': 'normal' });
            $(this).removeClass('orangeBorder');
            $("[id$='_hfIsItalic']").val("false");
            //$('.lblHiddenItalic').text('');
        }
    );*/


    //// Thumbnail Popup
    //Zoom Thumb popup
    $('.zoomPop .close').click(function () {
        $(this).parent().hide();
    });

    //Thumbnail hover popup
    $('.hoverThumb').hover(
        function () {
            var popOffset = $(this).offset();
            var popLeftOffset = popOffset.left - 30;
            var popTopOffset = popOffset.top - 250;

            // replace the image in the popup
            var myImageSrc = $(this).children('img').attr('src');
            myImageSrc = myImageSrc.replace("/thumb/", "/large/");
            var popupImage = $("#zoomPop [id$='_imgLargeOption']");
            popupImage.attr('src', myImageSrc);

            // replace the text
            var myDesc = $(this).parent().next().find('div.twoColRightColWideTextInner').html();
            if (!myDesc) {
                myDesc = $(this).parent().next().find('div.threeColRightColNarrowTextInner').html();
            }
            $('#zoomPop .zoomPopDesc').html(myDesc);

            // now hook up the select button in the popup so it clicks the linkbutton in the listview.
            var myOldThis = $(this);
            var myOldHref = $(this).attr("href");
            //console.log("myOldHref=" + myOldHref);
            $('#zoomPopSelect').attr("href", myOldHref);    //#zoomPop 
            $('#zoomPop .zoomPop').css({ 'left': popLeftOffset, 'top': popTopOffset }).show();
        },
        function () {
            if (!isIOS()) {     // case 5169
                $('#zoomPop .zoomPop').hide(); //case5004
            }
        }
    );


    //// Avatar Hot spots popup
    //Avatar Hot Spot hover popup (a little different from the popup above since)
    $('.avatarHotSpot').hover(
        function () {
            var popOffset = $(this).position();
            var popLeftOffset = popOffset.left - 55;
            var popTopOffset = popOffset.top - 240;

            // ajh 2011-03-25: we are getting the image url from the href...
            var myImageSrc = $(this).attr('href');
            if (!myImageSrc) return;
            var popupImage = $("#avatarZoomPop [id$='_imgLargeOption']");
            popupImage.attr('src', myImageSrc);

            $('#avatarZoomPop .zoomPop').css({ 'left': popLeftOffset, 'top': popTopOffset }).show();
        },
        function () {
            $('#avatarZoomPop .zoomPop').hide(); //Case5004
        }
    );

    //Avatar - Show hot spots when clicking on magnifying glass
    $('#buildSuitAvatarWrapper .avatarMagnifyer a').toggle(
        function () {
            $('.avatarHotSpotWrapper').show();
            $(this).removeClass('off').addClass('on');
        },
        function () {
            $('.avatarHotSpotWrapper').hide();
            $(this).removeClass('on').addClass('off');
        });


    //// Summary Pop
    //Show/hide special request box on summary pop
        $('.specialRequestTab').click(function () {
        $('.specialRequest').animate({ 'bottom': '0px' });
    });

    $('.specialRequest .btnSaveWide, .specialRequest .close, .specialRequest .btnCancel').click(function () {
        $('.specialRequest').animate({ 'bottom': '-240px' });
    });


    //Pants slider on summary pop
    var pantsDetails = '.pairPantsSliderDetails';
    if ($(pantsDetails).length == 1) {
        $(pantsDetails).find('h6 span').hide();
        $(pantsDetails).show();
        //$(pantsDetails).parent().find('h6 span').html('&ndash;');    // ajh
        $(pantsDetails).parent().find('h6').hide();     // ajh 2011-03-28 - case 5023
    }

    $('.pairPantsSlider').click(function () {
        if ($(pantsDetails).length == 1) {
            return;     // ajh 2011-03-28: don't do anything if we've only got one pair...
        }
        //Hide all open sliders
        $(pantsDetails).slideUp();
        $('.pairPantsSlider').not(this).find('h6 span').html('+');

        //If the slider is open, close it
        if ($(this).find(pantsDetails).is(':visible')) {
            $(this).find(pantsDetails).slideUp();
            $(this).find('h6 span').html('+');

        }
        //If the slider is not open, show it
        else {
            $(this).find(pantsDetails).slideDown();
            $(this).find('h6 span').html('&ndash;');
        }
    });

    //MyCloset landing page closet sliders
    $('.btnExpandSlider').click(function () {
        var closetSlider = $(this).parent();
        if (closetSlider.width() == 600) {
            closetSlider.animate({ width: '200px' });
            $('#content .closetSlider > div').not(closetSlider).animate({ width: '600px' });
            $(this).html('+');
            $('.btnExpandSlider').not(this).html('&ndash;');
        }
        else if (closetSlider.width() == 200) {
            closetSlider.animate({ width: '600px' });
            $('#content .closetSlider > div').not(closetSlider).animate({ width: '200px' });
            $(this).html('&ndash;');
            $('.btnExpandSlider').not(this).html('+');
        }
    });

    //MyCloset items pop up
    //Close popup
    $('#closetItemPop .closeBtn').click(function () {
        $(this).parents('#closetItemPop').hide();
    });

    //Show popup on item title hover
    $('.closetSlider .itemTitle').mouseover(function () {
        var popWidth = $('#closetItemPop').width();
        var popHeight = $('#closetItemPop').height();
        var windowWidth = $(window).width();
        var windowHeight = $(window).height();
        var positionX = parseInt((windowWidth / 2) - (popWidth / 2));
        var positionY = parseInt((windowHeight / 2) - (popHeight / 2));

        // ajh 2011-03-29: fill in the popup div, then display it...
        var suitName = $(this).html();
        suitName = suitName.replace("&gt;", "");
        $('#cipSuitName').html(suitName);

        var suitDate = $(this).next().find('p:first').html();
        $('#cipDate').html(suitDate);

        var lbEditReorder = $("[id$='_lbEditReorder']");
        var hdnOrderOrWishlist = $("[id$='_hdnOrderOrWishlist']");
        if (suitDate.match(/^Ordered/)) {
            lbEditReorder.html("Edit & Reorder");
            hdnOrderOrWishlist.val("Order");
        } else {
            lbEditReorder.html("Edit & Order");
            hdnOrderOrWishlist.val("Wishlist");
        }

        var orderType = $(this).next().next().find('p.hfOrderType').html();
        var imgUrl = '/website/Images/Closet/popupPants.png';
        switch (orderType) {
            case "SportCoatOnly":
                imgUrl = '/website/Images/Closet/popupJacket.png';
                break;
            case "VestOnly":
                imgUrl = '/website/Images/Closet/popupVest.png';
                break;
            case "DressPantsOnly":
                imgUrl = '/website/Images/Closet/popupPants.png';
                break;
            default:
                imgUrl = '/website/Images/Closet/popupSuit.png';
        }
        $('#imgClosetItem').attr('src', imgUrl);

        var fabricImageSrc = $(this).next().find('img:first').attr('src');
        fabricImageSrc = fabricImageSrc.replace("/thumb/", "/review/");
        $('#imgPopFabric').attr('src', fabricImageSrc);

        var fabricCodeNew = $(this).next().next().find('p.hfFabricCode').html();
        var fabricText = $(this).next().find('h6:first').html();
        fabricText = "<strong>" + fabricCodeNew + "<br/>" + fabricText + "</strong>";
        $('#imgPopFabric').next().html(fabricText);

        var wishlistDesc = $(this).next().next().find('p.hfWishlistDesc').html();
        $("#cipWishlistDesc").html(wishlistDesc);

        var orderId = $(this).next().next().find('p.hfOrderId').html();
        var hdnOrderId = $("[id$='_hdnOrderId']");
        hdnOrderId.val(orderId);

        $('#closetItemPop').css({ top: positionY, left: positionX }).show();
    });

    $("[id$='_lbPrint']").click(function () {
        var strUrl = window.location.pathname;
        var strFriendlyUrl = strUrl.substring(strUrl.lastIndexOf('/') + 1).toLowerCase();
        if (strFriendlyUrl == 'viewsuit.aspx') {
            window.print();
        }
        else {
            suitSummaryPage = window.open("/website/buildsuit/viewsuit.aspx?print", "SuitSummary");
            //suitSummaryPage.print();
        }
    });

    $("[id$='_lbPrintMeasurements']").click(function () {
        var strUrl = window.location.pathname;
        var strFriendlyUrl = strUrl.substring(strUrl.lastIndexOf('/') + 1).toLowerCase();
        if (strFriendlyUrl == 'viewmeasurements.aspx') {
            window.print();
        }
        else {
            suitSummaryPage = window.open("/website/measure/viewmeasurements.aspx?print", "MeasurementSummary");
        }
    });

    //Special cases for iOS devices
    if (isIOS()) {
        //Show select link on hover thumb pop only for iOS
        $('#zoomPopSelect').show(); //case 5004
        $('#zoomPop .close').show(); //Need to be able to close popup for iOS
        $('#avatarZoomPop .close').show();
        $('#avatarZoomPop .zoomPopInner img').css({ float: 'left' });
    }
    else {
        //Set timer for HP flash banners
        //setTimeout(showHpBanners, 27000);

        //Hide two finger scroll header in MyCloset
        var closetListItemsUrl = window.location.pathname.toLowerCase();
        if (closetListItemsUrl == "/website/closet/ordereditems.aspx") {
            $('.closetListItemsHeader').hide();
        }
    }

} //);

function isIOS() {
    return (navigator && navigator.platform && navigator.platform.match(/^(iPad|iPod|iPhone)$/) );
}

function showPageIfIpad() {
    if (isIOS("iPhone" | "iPod" | "iPad")) {
        window.location = "/website/buildsuit/viewsuit.aspx";
        return false;
    }
}

function showHpBanners() {
    $('#home #divAdvertising, #home #divMovie').fadeIn(1000);
}

// weird event stuff.
function clickEditEntry(evtId) {
    var hdnEventId = $("[id$='_hdnEventId']");
    hdnEventId.val(evtId);
    var lbEditEvent = $("[id$='_lbEditEvent']");
    lbEditEvent[0].click();
}

function clickDelEntry(evtId) {
    var hdnEventId = $("[id$='_hdnEventId']");
    hdnEventId.val(evtId);
    var lbDelEvent = $("[id$='_lbDeleteEvent']");
    lbDelEvent[0].click();
}

