/// <reference path="~/Javascript/Utilities/jquery.js" />
var DrawersEnabled = true;

function isValidKeyStroke(event) {
    //allows keys 0-9 on top of keyboard and numberpad, backspace, delete and tab key
    if ((event.keyCode <= 57 && event.keyCode >= 48) ||
        (event.keyCode <= 105 && event.keyCode >= 96)
         || event.keyCode === 8 || event.keyCode === 46 || event.keyCode === 9)
        return true;
    return false;
}
function aDrawerOpen() {
    return $('.drawerOpen').length > 0;
}
function toggleLinkHeaders(containerDiv, shouldShowLink) {
    var iconLink = containerDiv.find('.icon > a');
    var headerLink = containerDiv.find('.text > a');
    var nonClickableIcon = containerDiv.find('.icon > img');
    var nonClickableHeader = containerDiv.find('.text > label:not(".subtext")');

    if (shouldShowLink) {
        nonClickableHeader.hide();
        nonClickableIcon.hide();
        iconLink.show();
        headerLink.show();
    } else {
        iconLink.hide();
        headerLink.hide();
        nonClickableHeader.show();
        nonClickableIcon.show();
    }
}
function animateDrawers(containerDiv) {
    if (DrawersEnabled) {
        DrawersEnabled = false;
        var oneOpenHeight = $('#OneOpenHeight').val();
        var oneOpenTopMargin = $('#OneOpenTopMargin').val();
        var openHeight = $('#OpenHeight').val();
        var openTopMargin = $('#OpenTopMargin').val();
        var animateSpeed = 300;
        var logoFadeSpeed = 300;

        containerDiv.parent().find('.subtext').hide();

        if (!containerDiv.is('.drawerOpen')) {
            if (aDrawerOpen()) { //if another drawer is already open
                var openDrawer = $('.drawerOpen:first');
                openDrawer.find('.drawerContent:first').hide();
                openDrawer.removeClass('drawerOpen').addClass('drawerClosed');
                toggleLinkHeaders(openDrawer, true);
                containerDiv.removeClass('drawerClosed').addClass('drawerOpen');
                toggleLinkHeaders(containerDiv, false);
                openDrawer.animate({ height: oneOpenHeight + 'px', marginTop: oneOpenTopMargin + 'px' }, animateSpeed, function() {
                    $('.drawerClosed').find('.text > a:first').removeClass('TextPlusOneBold').addClass('TextMinusOneBold');
                    containerDiv.animate({ height: openHeight + 'px', marginTop: openTopMargin + 'px' }, animateSpeed, function() {
                        containerDiv.find('.drawerContent:first').show(function() { DrawersEnabled = true; });
                    });
                });
            } else { //no drawers are open
                if ($('#PrepareForEnrollmentDefaultOpen').val() == 'true') { //defaultprepareenrollment to open show with no animation
                    $('#OurInsurancePartners').hide();
                    containerDiv.removeClass('drawerClosed').addClass('drawerOpen');
                    toggleLinkHeaders(containerDiv, false);
                    var allClosedDrawers = $('.drawerClosed');
                    allClosedDrawers.attr('style', 'height:' + oneOpenHeight + 'px;margin-top:' + oneOpenTopMargin + 'px');
                    allClosedDrawers.find('.text > a:first').removeClass('TextPlusOneBold').addClass('TextMinusOneBold');
                    containerDiv.attr('style', 'height:' + openHeight + 'px;margin-top:' + openTopMargin + 'px');
                    containerDiv.find('.drawerContent:first').show(function() { DrawersEnabled = true; });
                } else {
                    $('#OurInsurancePartners').fadeOut(logoFadeSpeed, function() {
                        containerDiv.removeClass('drawerClosed').addClass('drawerOpen');
                        toggleLinkHeaders(containerDiv, false);
                        var allClosedDrawers = $('.drawerClosed');
                        allClosedDrawers.animate({ height: oneOpenHeight + 'px', marginTop: oneOpenTopMargin + 'px' }, animateSpeed, function() {
                            allClosedDrawers.find('.text > a:first').removeClass('TextPlusOneBold').addClass('TextMinusOneBold');
                        });
                        containerDiv.animate({ height: openHeight + 'px', marginTop: openTopMargin + 'px' }, function() {
                            containerDiv.find('.drawerContent:first').show(function() { DrawersEnabled = true; });
                        });
                    });
                }
            }
        }
    }
}

$(function() {
    $('#Lnk_StartPersonalProfile').add('#Lnk_StartPersonalProfileIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#StartPersonalProfile'));
    });
    if ($('#StartPersonalProfile').length > 0) {
        if ($('#PrepareForEnrollmentDefaultOpen').val() == 'true') {
            $('#Lnk_StartPersonalProfile').click();
        }
    }

    $('#Lnk_FindRightCoverage').add('#Lnk_FindRightCoverageIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#FindRightCoverage'));
    });
    $('#Lnk_EnrollmentStatus').add('#Lnk_EnrollmentStatusIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#EnrollmentStatus'));
    });
    $('#Lnk_UnderstandingMedicare').add('#Lnk_UnderstandingMedicareIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#UnderstandingMedicare'));
    });
    $('#Lnk_UnderstandingMedical').add('#Lnk_UnderstandingMedicalIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#UnderstandingMedical'));
    });
    $('#Lnk_FileAClaim').add('#Lnk_FileAClaimIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#FileAClaim'));
    });
    $('#Lnk_SpeakToExpert').add('#Lnk_SpeakToExpertIcon').click(function(ev) {
        ev.preventDefault();
        animateDrawers($('#SpeakToExpert'));
    });
    $('#FileAClaim_BtnLogin').click(function() {
        $('#FileAClaim form').submit();
    });
    $('#EnrollmentStatus_BtnLogin').click(function() {
        $('#EnrollmentStatus form').submit();
    });
    $('#BtnSubmitSearch').click(function() {
        var searchUrl = $('#SearchUrl').val();
        var zipCode = $('#txtZipCode').val();
        var countyIndex = $('#selectCounty')[0].selectedIndex;
        location.replace("https://" + location.host + searchUrl + "?zipcode=" + zipCode + "&countyindex=" + countyIndex);
    });

    //zipcode
    var zipCode = $('#txtZipCode');
    zipCode.attr("autocomplete", "off");
    zipCode.numeric();
//    zipCode.live('keyup', function(event) {
//        if (isValidKeyStroke(event)) {
//            var select = $('#selectCounty');
//            select.html("");
//            select.hide();
//            $('#selectCountyLabel').hide();
//            if (this.value.length === 5) {
//                updateZipCodeCounties(this);
//            }
//        }
//    })
});