﻿//////////////////////COMMON///////////////////////
function vpWidth() {
    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
}
function vpHeight() {
    return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
}

function ButtonHover() {
    $('.button').hover(function () {
        $(this).css('background-color', '#cb271f');
    }, function () {
        $(this).css('background-color', '#EE2E24');
    });
}

function FindProductSearch(zipCodeId, radiusId, skuId) {
    var zipCode = "";
    var sku = "";
    var radius = "";

    zipCode = $(zipCodeId).val();
    sku = $(skuId).val();
    radius = $(radiusId).val();

    window.location = '/Find-Product.aspx?sku=' + sku + '&zipCode=' + zipCode + '&radius=' + radius;
}

function ProductHover(classId) {
    $(classId).hover(function () {
        $(this).find('.text a').addClass('selected');
    }, function () {
        $(this).find('.text a').removeClass('selected');
    });
}

function ProductClick(classId) {
    $(classId).click(function () {
        //alert($(this).find('.text a').attr('href'));
        window.location = $(this).find('.text a').attr('href');
    });
}

function SiteSearchClick(classId, siteSearchPath, textboxId, watermarkText) {
    $(classId).click(function () {
        var textboxValue = $(textboxId).val();

        if ((textboxValue != watermarkText) && (textboxValue.length > 0)) {
            var path = siteSearchPath + '?sTerms=' + textboxValue;
            window.location = path;
        }
        else { //show error tooltip
            //return false;
            window.location = siteSearchPath;
        }
    });
}

function TextboxEnterKey(textboxId, targetId) {
    $(textboxId).keyup(function (event) {
        //alert(event.keyCode);
        if (event.keyCode == 13) {
            $(targetId).click();
        }
    });
}

function GetUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    return vars;
}

function IsValidEmailAddress(fieldId, watermarkText, messageId) {
    var isValid = false;

    if (($(fieldId).val().length > 0) && ($(fieldId).val() != watermarkText)) {
        var pattern = /^.*@.*\..*$/;
        isValid = pattern.test($(fieldId).val());
    }

    if (isValid) {
        $(fieldId).removeClass('textbox-error');
        $(messageId).css('display', 'none');
    }
    else {
        $(fieldId).addClass('textbox-error');
        $(messageId).css('display', 'inline-block');
    }

    return isValid;
}
//////////////////////CAROUSEL///////////////////////
function SetArrowHoverState(groupId, total) {
    $('.arrows .up-normal').removeClass('disabled');
    $('.arrows .down-normal').removeClass('disabled');

    if (groupId == 1) {
        $('.arrows .up-normal').addClass('disabled');
        $('.arrows .down-normal').removeClass('disabled');
    }

    if (groupId == total) {
        $('.arrows .up-normal').removeClass('disabled');
        $('.arrows .down-normal').addClass('disabled');
    }

    if ((groupId == total) && (total == 1)) {
        $('.arrows .up-normal').addClass('disabled');
        $('.arrows .down-normal').addClass('disabled');
    }
}

function CarouselSlider() {
    var currentGroupId = 1;
    var totalGroups = $('.group-container > div').size();

    SetArrowHoverState(currentGroupId, totalGroups);

    $('.arrows .up-normal').hover(function () {
        $(this).addClass('hover');
    }, function () {
        if (currentGroupId != 1) {
            $(this).removeClass('hover');
        }
    });

    $('.arrows .down-normal').hover(function () {
        $(this).addClass('hover');
    }, function () {
        if (currentGroupId != totalGroups) {
            $(this).removeClass('hover');
        }
    });

    $('.arrows .up-normal, .arrows .down-normal').click(function () {
        if ($(this).hasClass('up-normal')) {

            if (currentGroupId > 1) {
                $('.group-container').animate({ 'top': '+=69px' }, 600, function () {

                }); //end animate
                currentGroupId = currentGroupId - 1;
            }
        } else {
            if (currentGroupId < totalGroups) {
                $('.group-container').animate({ 'top': '-=69px' }, 600, function () {

                }); //end animate;
                currentGroupId = currentGroupId + 1;
            }
        }

        SetArrowHoverState(currentGroupId, totalGroups);
    });               //end click function
} //end carousel slider function

////////////////////////HOVER MAPPING///////////////////////////////
function RollOverMapping(xcoordOld, ycoordOld, rolloverId, rolloverIdHidden) {
    //current image width and height
    var currentImageWidth = $('#background-image').width();
    var currentImageHeight = $('#background-image').height();

    $('#imageWidth').val(currentImageWidth);
    $('#imageHeight').val(currentImageHeight);

    SetCoords(rolloverId, rolloverIdHidden, currentImageWidth, currentImageHeight, xcoordOld, ycoordOld);
}

function SetCoords(rolloverId, rolloverIdHidden, imageWidth, imageHeight, xcoordOld, ycoordOld) {
    var maxWidth = 1680;
    var maxHeight = 1020;

    var minWidth = 988;
    var minHeight = 620;

    var xcoord = (xcoordOld * (imageWidth / maxWidth)) + 'px';
    var ycoord = (ycoordOld * (imageHeight / maxHeight)) + 'px';

    $(rolloverId).css('left', xcoord);
    $(rolloverId).css('top', ycoord);

    $(rolloverIdHidden).css('left', xcoord);
    $(rolloverIdHidden).css('right', ycoord);

    //var test = rolloverIdHidden + ' x-coord: ' + xcoord;

    //alert(test);

    $('#xcoord').val(xcoordOld);

    $(rolloverIdHidden).css('left', '100px');

    
    $('#ycoord').val($(rolloverId).css('left'));
}

function SetRolloverHoverStates(markerId, contentId) {
    $(markerId).hover(function () {
        $(this).css('display', 'none');
        $(contentId).fadeIn();
    });

    $(contentId).hover(function () {
       // $('#contentRollover').val(contentId);
        $(this).css('display', 'block');
    }, function () {
        $(markerId).css('display', 'block');
        $(this).fadeOut();
       // $('#contentRollover').val('false');
    });
}

//////////////////////ACCORDION/////////////////////////////
function Accordion() {
    $('.accordion .item').click(function () {
        if (!$(this).hasClass('disabled')) {
            if (!$(this).find('.content-text').hasClass('selected')) {
                $('.accordion .item .content-text.selected').slideUp();
                $(this).find('.content-text').slideDown();

                $('.accordion .item .title .lead').text('+');
                $(this).find('.title .lead').text('-');

                $('.accordion .item .content-text').removeClass('selected');
                $(this).find('.content-text').addClass('selected');
            }
        }
    });
}

function AccordionMultiple() {
    $('.accordion-multiple .item').click(function () {
        if (!$(this).hasClass('disabled')) {
            $(this).find('.content-text').slideToggle();

            if ($(this).find('.title .lead').text() == '+') {
                $(this).find('.title .lead').text('-');
            }
            else {
                $(this).find('.title .lead').text('+');
            }
        }
    });
}

////////////////////TEXTBOX WATERMARK///////////////////////////
//function SetTextBoxWaterMark() {
//    $('#site-search-textbox').focus(function () {
//        $(this).filter(function () {
//            return $(this).val() == "" || $(this).val() == "What can we help you find?"
//        }).removeClass("watermark-text").addClass("watermark-text-off").val("");
//    });

//    $('#site-search-textbox').blur(function () {
//        $(this).filter(function () {
//            return $(this).val() == ""
//        }).removeClass("watermark-text-off").addClass("watermark-text").val("What can we help you find?");
//    });
//}

function SetTextBoxWaterMark(elementId, watermarkText, onClass, offClass) {
    $(elementId).focus(function () {
        $(this).filter(function () {
            return $(this).val() == "" || $(this).val() == watermarkText;
        }).removeClass(onClass).addClass(offClass).val("");
    });

    $(elementId).blur(function () {
        $(this).filter(function () {
            return $(this).val() == "";
        }).removeClass(offClass).addClass(onClass).val(watermarkText);
    });
}

////////////////////REQUIRED FIELD VALIDATION///////////////////////////
function SetLabelError(fieldId, labelId) {
    if ($(fieldId).val().length == 0) { $(labelId).css('color', '#EE2E24'); $(fieldId).addClass('textbox-error'); return false; }
    else { $(labelId).css('color', '#666'); $(fieldId).removeClass('textbox-error'); return true; }
}

function SetLabelErrorWithWatermark(fieldId, watermarkText, errorClass) {
    if (($(fieldId).val().length == 0) || ($(fieldId).val() == watermarkText)) {
        //if error class defined
        if (errorClass.length > 0) {
            $(errorClass).fadeIn();
        }
        return false; 
    }
    else {
        //if error class defined
        if (errorClass.length > 0) {
            $(errorClass).fadeOut();
        }
        return true; 
    }
}

function SetDropDownError(fieldId, labelId) {
    if (($(fieldId).val() == 0) || ($(fieldId).val() == -1)) { $(labelId).css('color', '#EE2E24'); $(fieldId).addClass('drop-down-error'); return false; }
    else { $(labelId).css('color', '#666'); $(fieldId).removeClass('drop-down-error'); return true; }
}

function SetBlurValidate(fieldId, labelId) {
    $(fieldId).blur(function () {
        return SetLabelError(fieldId, labelId);
    });
}

function SetBlurValidateWithWatermark(fieldId, watermarkText, errorClass) {
    $(fieldId).blur(function () {
        return SetLabelErrorWithWatermark(fieldId, watermarkText, errorClass);
    });
}

function SetBlurValidateIsNumeric(fieldId, watermarkText, errorClass) {
    $(fieldId).blur(function () {
        return IsNumericValue(fieldId, watermarkText, errorClass);
    });
}

function SetBlurDropDownValidate(fieldId, labelId) {
    $(fieldId).blur(function () {
        return SetDropDownError(fieldId, labelId);
    });
}

function IsCheckedValidate(checkBoxId) {
    //alert($('#selections input[type=checkbox]:checked').length);
    if ($(checkBoxId).length > 0) {
        return true;
    }
    else {
        return false;
    }
}

function IsNumericValue(fieldId, watermarkText, errorClass) {
    var isValid = false;

    if (($(fieldId).val().length > 0) && ($(fieldId).val() != watermarkText)) {
        var pattern = /[0-9 -()+]+$/;
        isValid = pattern.test($(fieldId).val());
    }

    if (isValid) {
        $(errorClass).fadeOut();
    }
    else {
        $(errorClass).fadeIn();
    }

    return isValid;
}

function IsValidEmailAddress(fieldId, watermarkText, messageId) {
    var isValid = false;

    if (($(fieldId).val().length > 0) && ($(fieldId).val() != watermarkText)) {
        var pattern = /^.*@.*\..*$/;
        isValid = pattern.test($(fieldId).val());
    }

    if (isValid) {
        $(fieldId).removeClass('textbox-error');
        $(messageId).css('display', 'none');
    }
    else {
        $(fieldId).addClass('textbox-error');
        $(messageId).css('display', 'inline-block');
    }

    return isValid;
}
///////////////////NUTRITION LABELS///////////////////////////////
function NutritionHowHover(labelClassId, infoClassId) {
    $(labelClassId).hover(function () {
        $(this).addClass('selected');
        $(infoClassId).find('a').css('text-decoration', 'underline');
    }, function () {
        $(this).removeClass('selected');
        $(infoClassId).find('a').css('text-decoration', 'none');
    });

    $(infoClassId).hover(function () {
        $(labelClassId).addClass('selected');
        $(this).find('a').css('text-decoration', 'underline');
    }, function () {
        $(labelClassId).removeClass('selected');
        $(this).find('a').css('text-decoration', 'none');
    });

    $(labelClassId).click(function () {
        $('.overlay .serving, .overlay .calories, .overlay .daily-value, .overlay .fats, .overlay .sodium, .overlay .carbs, .overlay .fiber, .overlay .sugars, .overlay .protein, .overlay .vitamins').removeClass('clicked');
        $(this).addClass('clicked');

        if (!$(infoClassId).find('.content-text').hasClass('selected')) {
            $('.accordion .item .content-text.selected').slideUp();
            $(infoClassId).find('.content-text').slideDown();

            $('.accordion .item .title .lead').text('+');
            $(infoClassId).find('.title .lead').text('-');

            $('.accordion .item .content-text').removeClass('selected');
            $(infoClassId).find('.content-text').addClass('selected');
        }
    });

    $(infoClassId).click(function () {
        $('.overlay .serving, .overlay .calories, .overlay .daily-value, .overlay .fats, .overlay .sodium, .overlay .carbs, .overlay .fiber, .overlay .sugars, .overlay .protein, .overlay .vitamins').removeClass('clicked');
        $(labelClassId).addClass('clicked');
    });
}

function NutritionHowLinkClick() {
    $('.nutrition-facts').click(function () {
        $("a#nutrition-label").trigger("click");
        $("#fancybox-close").css('height', '0');

        //reset the nutrition window to default state
        $('#data-nutrition-label .slide-window .container').css('left', '0px');
        $('.accordion .item .content-text.selected').hide();
        $('.accordion .item .title .lead').text('+');
        $('.accordion .item .content-text').removeClass('selected');
        $('.overlay .serving, .overlay .calories, .overlay .daily-value, .overlay .fats, .overlay .sodium, .overlay .carbs, .overlay .fiber, .overlay .sugars, .overlay .protein, .overlay .vitamins').removeClass('clicked');
        $('#data-nutrition-label .navigator .learn-nav').hide();

        if ($('#data-nutrition-label .content .image img').width() > 300) {
            $('#data-nutrition-label .content .description').css('width', 'auto');
            $('#data-nutrition-label .content .image').css('width', '668px');
            $('#data-nutrition-label .content .clear').css('clear', 'both');
        }
        else {
            $('#data-nutrition-label .content .description').css('width', '415px');
            $('#data-nutrition-label .content .image').css('width', '220px');
            $('#data-nutrition-label .content .clear').css('clear', 'none');
        }
    });
}

function CloseNutritionLightBox() {
    $('.nutrition-close-link').click(function () {
        $.fancybox.close();
        $("#fancybox-close").css('height', '44px');
    });
}

function NutritionLabelHoverCollection() {
    NutritionHowHover('#data-nutrition-label .how .image .overlay .serving', '.selections .accordion .item.serving');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .calories', '.selections .accordion .item.calories');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .daily-value', '.selections .accordion .item.daily-value');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .fats', '.selections .accordion .item.fats');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .sodium', '.selections .accordion .item.sodium');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .carbs', '.selections .accordion .item.carbs');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .fiber', '.selections .accordion .item.fiber');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .sugars', '.selections .accordion .item.sugars');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .protein', '.selections .accordion .item.protein');
    NutritionHowHover('#data-nutrition-label .how .image .overlay .vitamins', '.selections .accordion .item.vitamins');
}
