﻿//tracking
function trackPageVisit(pageNameHere) {
    _gaq.push(['_trackPageview', pageNameHere]);
}


function updateDropDown(){
      var country = $('[id*=countryDropDown]').val();
      //alert(country);
      
      if (country == 'US') {
            $(".us-state").show();
            $(".canada-state, .other-state").hide();
            $(".state-label label").text("State:");


        }
        else if (country == 'CA') {
            $(".us-state, .other-state").hide();
            $(".canada-state").show();
            $(".state-label label").text("Province:");

            ValidatorEnable($('[id*=StateRequiredFieldValidator]')[0], false);

            ValidatorEnable($('[id*=ProvinceRequiredValidator]')[0], true);
            var validator = $('[id*=ProvinceRequiredValidator]')[0];
            validator.isvalid = true;
            ValidatorUpdateDisplay(validator);
        }
        else {
            $(".us-state, .canada-state").hide();
            $(".other-state").show();
            $(".state-label label").text("Region:");

            ValidatorEnable($('[id*=ProvinceRequiredValidator]')[0], false);

            ValidatorEnable($('[id*=StateRequiredFieldValidator]')[0], true);
            var validator = $('[id*=StateRequiredFieldValidator]')[0];
            validator.isvalid = true;
            ValidatorUpdateDisplay(validator);
        }    
}

$(document).ready(function() {
    var value = $.readCookie('diageoagecheck');
    if (value) {
        $('form.NiceIt').NiceIt();
        $("select").sb({ fixedWidth: true });
        $(".sb.selectbox.category-select").remove();
        $("#RecipeCategory, .category-select").removeClass("has_sb");
    }

    //make the first letter bigger than the rest
    var alink = $('h1 a').attr('href');
    if (alink) {
        $('h1 a').each(function() {
            var linktext = $(this).text();
            $(this).html(linktext.replace(/\b([A-Za-z0-9])/g, '<span class="caps">$1</span>'));
        });
    }
    else {
        $('h1').each(function() {
            var text = $(this).text();
            $(this).html(text.replace(/\b([A-Za-z0-9])/g, '<span class="caps">$1</span>'));
        });
    }

    $('a.small-headline').each(function() {
        var htext = $(this).text();
        $(this).html(htext.replace(/\b([A-Za-z0-9])/g, '<span class="hcaps">$1</span>'));
    });

    $('.caps').css('font-size', 26);
    $('.hcaps').css('font-size', 16);
    //fancy font
    Cufon.replace('h1');
    Cufon.replace('a.small-headline');

    //for form cursor
    var clearMePrevious = '';

    // clear input on focus
    $(".clearMeFocus").focus(function() {
        if ($(this).val() == $(this).attr('title')) {
            clearMePrevious = $(this).val();
            $(this).val('');
        }
    });

    // if field is empty afterward, add text again
    $(".clearMeFocus").blur(function() {
        if ($(this).val() == '') {
            $(this).val(clearMePrevious);
        }

    });

    // show controls based on selected country
    $('.canada-state, .other-state').hide();

    $(function() {
        switch (globalVar.subpage()) {    
            case "recipe":
                ValidatorEnable($('[id*=ProvinceRequiredValidator]')[0], false);
                break;
            case "stay-current":
                ValidatorEnable($('[id*=ProvinceRequiredValidator]')[0], false);
                break;
        
        }              
    });  
    
    //on change
    $('.country-select').live('change', function() {
      updateDropDown();
    });
    
   
    //top navigation highlights
    DICKEL.topNav();

    //page specific js calls
    var page = $("#ContentContainer").attr("class").split(' ').slice(0, 1).toString();
    switch (page) {
        case "home":
            DICKEL.initHome();
            break;
        case "history":
            DICKEL.initHistory();
            break;
        case "cooking":
            DICKEL.initCooking();
            break;
        case "news":
            DICKEL.initNews();
            break;
        case "products":
            DICKEL.initProducts();
            break;
        case "tours":
            DICKEL.initTours();
            break;
        case "contact":
            DICKEL.initContact();
            break;
    }

});

//global variables in a closure
var globalVar = {
    mainclass: function() {
        return $("#ContentContainer").attr("class").split(' ').slice(0, 1).toString();
    },
    subpage: function() {
        return $("#ContentContainer").attr("class").split(' ').slice(-1).toString();
    },
    staycurrent: function() {
        return "<a href='/en-row/secure/stay-current.aspx' class='nav'>stay current</a>";
    },
    divCurrent: function() {
        return $(".leftnav #current");
    },
    submitrecipe: function() {
        return "<a href='/en-row/secure/recipe-submit.aspx' class='nav'>submit recipe</a>";
    },
    divRecipe: function() {
        return $(".leftnav #submit-recipe");
    }
};

var DICKEL = {
    topNav: function() {
        //top navigation
        switch (globalVar.mainclass()) {
            case "home":
                $('.navlist a.home').addClass('active');
                break;
            case "history":
                $('.navlist a.history').addClass('active');
                break;
            case "cooking":
                $('.navlist a.cooking').addClass('active');
                break;
            case "news":
                $('.navlist a.news').addClass('active');
                break;
            case "products":
                $('.navlist a.products').addClass('active');
                break;
            case "tours":
                $('.navlist a.tours').addClass('active');
                break;
            case "contact":
                $('.navlist a.contact').addClass('active');
                break;
        }
    },
    initHome: function() {
        //drink tooltips
        $('.hero .hollow, .hero .n8, .hero .n12, .hero .select').mouseover(function() {
            $(".tooltip").hide();
            $(this).next(".tooltip").show();
        });
        $('.tooltip').mouseleave(function() {
            $(this).hide();
        });

        //hide the tooltip when the user clicks anywhere on the page
        $('body').click(function() {
            $(".tooltip").hide();
        });
        $('.hero .hollow, .hero .n8, .hero .n12, .hero .select').mouseover(function(event) {
            event.stopPropagation();
        });

        $('.hero .hollow').click(function() {
            location.href = '/en-row/Products/Whisky/cascade-hollow-whisky.aspx';
        });

        $('.hero .n8').click(function() {
            location.href = '/en-row/Products/Whisky/dickel-no8-whisky.aspx';
        });

        $('.hero .n12').click(function() {
            location.href = '/en-row/Products/Whisky/dickel-no12-whisky.aspx';
        });

        $('.hero .select').click(function() {
            location.href = '/en-row/Products/Whisky/barrel-select-whisky.aspx';
        });



    },
    initHistory: function() {
        //left nav
        var divHistory = $(".leftnav #history");
        var divPortfolio = $(".leftnav #portfolio");
        var divLetter = $(".leftnav #letter");

        var history = "<a href='/en-row/History/history-of-dickel.aspx' class='nav'>History of dickel</a>";
        var portfolio = "<a href='/en-row/Products/whisky.aspx' class='nav'>Products</a>";
        var letter = "<a href='/en-row/History/master-distiller-letter.aspx' class='nav'>distiller's letter</a>";

        switch (globalVar.subpage()) {
            case "history":
                divHistory.addClass("nav active");
                divPortfolio.html(portfolio);
                divLetter.html(letter);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "portfolio":
                divPortfolio.addClass("nav active");
                divHistory.html(history);
                divLetter.html(letter);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "letter":
                divLetter.addClass("nav active");
                divHistory.html(history);
                divPortfolio.html(portfolio);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
        }
    },
    initCooking: function() {
        //left nav
        var divCooking = $(".leftnav #home-cooking");
        var divDrinks = $(".leftnav #drinks");
        var divAppetizers = $(".leftnav #appetizers");
        var divDinners = $(".leftnav #dinners");
        var divDesserts = $(".leftnav #desserts");

        var homeCooking = "<a href='/en-row/Cookin/feature-recipe.aspx' class='nav'>home cookin'</a>";
        var drinks = "<a href='/en-row/Cookin/drinks.aspx' class='nav'>drinks</a>";
        var appetizers = "<a href='/en-row/Cookin/appetizers-sides.aspx' class='nav'>appetizers/sides</a>";
        var dinners = "<a href='/en-row/Cookin/dinners.aspx' class='nav'>dinners</a>";
        var desserts = "<a href='/en-row/Cookin/desserts.aspx' class='nav'>desserts</a>";

        switch (globalVar.subpage()) {
            case "cooking":
                divCooking.addClass("nav active");
                divDrinks.html(drinks);
                divAppetizers.html(appetizers);
                divDinners.html(dinners);
                divDesserts.html(desserts);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "drinks":
                divDrinks.addClass("nav active");
                divCooking.html(homeCooking);
                divAppetizers.html(appetizers);
                divDinners.html(dinners);
                divDesserts.html(desserts);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "appetizer":
                divAppetizers.addClass("nav active");
                divCooking.html(homeCooking);
                divDrinks.html(drinks);
                divDinners.html(dinners);
                divDesserts.html(desserts);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "dinners":
                divDinners.addClass("nav active");
                divCooking.html(homeCooking);
                divAppetizers.html(appetizers);
                divDrinks.html(drinks);
                divDesserts.html(desserts);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "desserts":
                divDesserts.addClass("nav active");
                divCooking.html(homeCooking);
                divAppetizers.html(appetizers);
                divDrinks.html(drinks);
                divDinners.html(dinners);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
        }
    },
    initNews: function() {
        //left nav        
        var divPressRoom = $(".leftnav #pressroom");
        var divPhoto = $(".leftnav #photo");
        var divCreative = $(".leftnav #creative");

        var pressroom = "<a href='/en-row/News/press-room.aspx' class='nav'>Press Room</a>";
        var photo = "<a href='/en-row/News/photo-library.aspx' class='nav'>photo library</a>";
        var creative = "<a href='/en-row/News/creative.aspx' class='nav'>poster</a>";

        switch (globalVar.subpage()) {
            case "news": case "gold": case "crop":
                divPressRoom.addClass("nav active");
                divPhoto.html(photo);
                divCreative.html(creative);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "creative":
                divCreative.addClass("nav active");
                divPressRoom.html(pressroom);
                divPhoto.html(photo);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "photo":
                divPhoto.addClass("nav active");
                divPressRoom.html(pressroom);
                divCreative.html(creative);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
        }

        //for pressroom internal pages, link to press room in left nav
        if (globalVar.subpage() == 'gold' || globalVar.subpage() == 'crop') {
            divPressRoom.html("<a href='/en-row/News/press-room.aspx'>Press Room</a>");
        }

        //photo library
        $(".stock").colorbox();

    },
    initProducts: function() {
        //left nav
        var divWhisky = $(".leftnav #whisky");
        var divApparel = $(".leftnav #apparel");
        var divGlassware = $(".leftnav #glassware");
        var divAccessories = $(".leftnav #accessories");

        var whisky = "<a href='/en-row/Products/whisky.aspx' class='nav'>whisky</a>";
        var apparel = "<a href='/en-row/Products/apparel.aspx' class='nav'>apparel</a>";
        var glassware = "<a href='/en-row/Products/glassware.aspx' class='nav'>glassware</a>";
        var accessories = "<a href='/en-row/Products/accessories.aspx' class='nav'>accessories</a>";

        switch (globalVar.subpage()) {
            case "whisky": case "hollow": case "no8": case "no12": case "select":
                divWhisky.addClass("nav active");
                divApparel.html(apparel);
                divGlassware.html(glassware);
                divAccessories.html(accessories);
                break;
            case "apparel":
                divApparel.addClass("nav active");
                divWhisky.html(whisky);
                divGlassware.html(glassware);
                divAccessories.html(accessories);
                break;
            case "glassware":
                divGlassware.addClass("nav active");
                divApparel.html(apparel);
                divWhisky.html(whisky);
                divAccessories.html(accessories);
                break;
            case "accessories":
                divAccessories.addClass("nav active");
                divApparel.html(apparel);
                divGlassware.html(glassware);
                divWhisky.html(whisky);
                break;
        }

        //for products internal pages, link to the landing in left nav
        if (globalVar.subpage() == 'hollow' || globalVar.subpage() == 'no8' || globalVar.subpage() == 'no12' || globalVar.subpage() == 'select') {
            divWhisky.html("<a href='/en-row/Products/whisky.aspx'>Whisky</a>");
        }

    },
    initTours: function() {
        //left nav
        var divOverview = $(".leftnav #overview");
        var divTools = $(".leftnav #tools");
        var divTours = $(".leftnav #tours");

        var overview = "<a href='/en-row/Tours/overview.aspx' class='nav'>overview</a>";
        var tools = "<a href='/en-row/Tours/map-directions.aspx' class='nav'>maps & directions</a>";
        var tours = "<a href='/en-row/Secure/group-tours.aspx' class='nav'>group tours</a>";

        switch (globalVar.subpage()) {
            case "tours":
                divOverview.addClass("nav active");
                divTools.html(tools);
                divTours.html(tours);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "map":
                divTools.addClass("nav active");
                divOverview.html(overview);
                divTours.html(tours);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
            case "group": case "group-tours-thanku":
                divTours.addClass("nav active");
                divTools.html(tools);
                divOverview.html(overview);
                globalVar.divCurrent().html(globalVar.staycurrent());
                break;
        }

        //word count
        var textareaid = $("[id$=messageTextBox]").attr("id");
        var options3 = {
            'maxCharacterSize': 500,
            'originalStyle': 'originalTextareaInfo',
            'warningStyle': 'warningTextareaInfo',
            'warningNumber': 40,
            'displayFormat': '#left characters left'
        };
        $('.contactmessage').textareaCount(options3, function(data) {
            $('#showData').html(data.input + " characters input. <br />" + data.left + " characters left. <br />" + data.max + " max characters. <br />" + data.words + " words input.");
        });

    },
    initContact: function() {
        //left nav
        var divContact = $(".leftnav #contact");
        var divFAQ = $(".leftnav #faq");
        var divRental = $(".leftnav #rental");

        var contact = "<a href='/en-row/secure/contact-us.aspx' class='nav'>contact us</a>";
        var faq = "<a href='/en-row/faq.aspx' class='nav'>faqs</a>";
        var rental = "<a href='/en-row/secure/facility-rental.aspx' class='nav'>facility rentals</a>";

        switch (globalVar.subpage()) {
            case "contactus": case "contact-thanku":
                divContact.addClass("nav active");
                divFAQ.html(faq);
                globalVar.divCurrent().html(globalVar.staycurrent());
                divRental.html(rental);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                break;
            case "faq":
                divFAQ.addClass("nav active");
                globalVar.divRecipe().html(globalVar.submitrecipe());
                globalVar.divCurrent().html(globalVar.staycurrent());
                divRental.html(rental);
                divContact.html(contact);
                break;
            case "stay-current":
                //for postback
                updateDropDown();
                globalVar.divCurrent().addClass("nav active");
                divFAQ.html(faq);
                divContact.html(contact);
                divRental.html(rental);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                break;                    
            case "stay-current-thanku":
                globalVar.divCurrent().addClass("nav active");
                divFAQ.html(faq);
                divContact.html(contact);
                divRental.html(rental);
                globalVar.divRecipe().html(globalVar.submitrecipe());
                break;
            case "rental":
                divRental.addClass("nav active");
                divFAQ.html(faq);
                divContact.html(contact);
                globalVar.divCurrent().html(globalVar.staycurrent());
                globalVar.divRecipe().html(globalVar.submitrecipe());
                break;
            case "recipe":
                //for postback
                updateDropDown();                
                globalVar.divRecipe().addClass("nav active");
                divFAQ.html(faq);
                globalVar.divCurrent().html(globalVar.staycurrent());
                divRental.html(rental);
                divContact.html(contact);
                break;
            case "recipe-thanku":
                globalVar.divRecipe().addClass("nav active");
                divFAQ.html(faq);
                globalVar.divCurrent().html(globalVar.staycurrent());
                divRental.html(rental);
                divContact.html(contact);
                break;
        }

        var num = 1;
        $('#btnAdd').click(function() {
            num++;
            var $clone = $('.clonedInput:first').clone();
            //inputs
            $clone.find('input').attr('name', function() {
                return attrIncrement(this.name, num);
            });
            $clone.find('input').attr('value', '');
            //selects
            $clone.find('select').attr('name', function() {
                return attrIncrement(this.name, num);
            });
            //text area
            $clone.find('textarea').attr('name', function() {
                return attrIncrement(this.name, num);
            });
            $clone.find('textarea').attr('value', '');

            $clone.insertAfter($('.clonedInput:last'));

            $('#btnDel').show();
            if (num == 5)
                $('#btnDel').show();
        });

        function attrIncrement(string, num) {
            return string.slice(0, (name.length - 1)) + num;
        }

        $('#btnDel').click(function() {
            $('.clonedInput:last').remove();
            $('#btnDel').show();
            num--;
            // if only one element remains, disable the "remove" button
            if (num == 1)
                $('#btnDel').hide();
        });

        $('#btnDel').hide();

        //word count
        var options3 = {
            'maxCharacterSize': 500,
            'originalStyle': 'originalTextareaInfo',
            'warningStyle': 'warningTextareaInfo',
            'warningNumber': 40,
            'displayFormat': '#left characters left'
        };
        $('.contactmessage').textareaCount(options3, function(data) {
            $('#showData').html(data.input + " characters input. <br />" + data.left + " characters left. <br />" + data.max + " max characters. <br />" + data.words + " words input.");
        });

    },
    PopUp: function(which, theWidth, theHeight) {
        var theTop = (screen.height / 2) - (theHeight / 2);
        var theLeft = (screen.width / 2) - (theWidth / 2);
        var features = 'height=' + theHeight + ',width=' + theWidth + ',top=' + theTop + ',left=' + theLeft + ",scrollbars=yes,toolbar=no,directories=no,status=no,resize=no,menubar=no";
        theWin = window.open(which, '', features);
    },
    validationSummaryTrigger: function() {
        var errorSummary = "<div class='error-summary'>You did not complete all of the required fields before submitting information.<br />Fields missing data are orange. Please try again.</div>";

        if (!Page_ClientValidate()) {
            $('.error-summary').remove();
            $(errorSummary).insertBefore($('.content-note'));
        }
        return true;
        
    },
    recipeNameValidate: function(sender, args) {
        if ($('#RecipeName').val() == "") {    
            args.IsValid = false;
            return;
        }    
        args.IsValid = true;
        return ;
    },
    recipeCategoryValidate: function(sender, args) {
            
        var recipeCategoryList = document.getElementById("ctl00_main_content_RecipeCategory");        
        if (recipeCategoryList != null) {
            var value = new Number(recipeCategoryList[recipeCategoryList.selectedIndex].value);
            args.IsValid = (value > 0);
            return;
        }
        args.IsValid = false;
        return;    
    },
    ingredientsValidate: function(sender, args) {
        if ($('#TxtIngredients').val() == "") {
            args.IsValid = false;
            return;
        }
        args.IsValid = true;
        return;
    }
}






