// JavaScript Document
 $(document).ready(function(){
    $("#accordion").accordion({ 
			header: "h3", 
			collapsible: true,
			active:false,
			autoHeight: false,
			navigation: true
    });

	jQuery('ul.sf-menu').superfish();

    var userSortOptions = readCookie("userSortOptions");
   
    if(userSortOptions == "empty"){
        createCookie("userSortOptions","New",1);
        $("#sortByOptions").val("New");        
    }
    else{
        $("#sortByOptions").val(userSortOptions);
    }

    //cup builder, intially hide the cup builder divs
    $("#build-it").hide();
    
    if(document.getElementById("tabs"))
    {
        $("#tabs").tabs({
            fx: { opacity: 'show', speed: 'slow', delay: 12000},
            event: 'mouseover',
            select: function(event, ui) {
                $(this).css('height', jQuery(this).height());
                $(this).css('overflow', 'hidden');
            },
            show: function(event, ui) {
                    $(this).css('height', 'auto');
                    $(this).css('overflow', 'visible');
            }
            });
        $("#subs").tabs({ fx: { opacity: 'show', speed: 'slow', delay: 12000}});
    
		var tabSelect = getUrlVars()["tab"];
		var $tabs = $('#tabs').tabs(); 
		$tabs.tabs('select', tabSelect);		
    }

        // if we are on prod page, need to set the sub tabs (if any) to the
        // active state
    if(document.getElementById("sub-cat"))
    {
        // need to find which page the sub nav is on
        var category = getUrlVars()["cat"];
        var subCategory = getUrlVars()["sub"];
        switch(category)
        {
            case "jw":
                if(subCategory == "c"){
                    $('#classic').addClass("coffee-normal");
                    $('#premium').addClass("coffee-active");
                }
                else{
                    $('#classic').addClass("coffee-active");
                    $('#premium').addClass("coffee-normal");
                }
                break;
            case "cw":
                    if(subCategory == "i"){
                        $('#Insulated').addClass("colddrink-normal");
                        $('#Bottles').addClass("colddrink-active");
                        $('#Toppers').addClass("colddrink-active");
                        $('#Cups').addClass("colddrink-active");
                    }
                    if(subCategory == "s"){
                        $('#Insulated').addClass("colddrink-active");
                        $('#Bottles').addClass("colddrink-normal");
                        $('#Toppers').addClass("colddrink-active");
                        $('#Cups').addClass("colddrink-active");
                    }
                    if(subCategory == "p"){
                        $('#Insulated').addClass("colddrink-active");
                        $('#Bottles').addClass("colddrink-active");
                        $('#Toppers').addClass("colddrink-normal");
                        $('#Cups').addClass("colddrink-active");
                    }
                   break;
            case "tw":
                    $('#Insulated').addClass("colddrink-active");
                    $('#Bottles').addClass("colddrink-active");
                    $('#Toppers').addClass("colddrink-active");
                    $('#Cups').addClass("colddrink-normal");
                    break;
             case "fp":
                    if(subCategory == "b"){
                        $('#buckets').addClass("food-active");
                        $('#mealContainers').addClass("food-normal");
                    }
                    if(subCategory == "m"){
                        $('#buckets').addClass("food-normal");
                        $('#mealContainers').addClass("food-active");
                    }
                    break;
        }
    } 
    
    $('#sortByOptions').change(function(){      
        var category = getUrlVars()["cat"];
        var subCategory = getUrlVars()["sub"];
        var selectedText = $('#sortByOptions').val();
      
        if(typeof(subCategory) == "undefined"){
            var data = "page=pl&cat=" + category + "&sub=&sort=" + selectedText + "&pickedFromList=True";
        }
        else{
            var data = "page=pl&cat=" + category + "&sub=" + subCategory + "&sort=" + selectedText + "&pickedFromList=True";
        }

        $.ajax({
            url: "includes/getProductList.php",
            type: "GET",
            cache: false,
            data: data,
            success: function (html) {
                //alert("HTLM = " + html);
                $('#product-list').empty();
                //$('#product-list').appened(html);
                document.getElementById('product-list').innerHTML = html;
                }
        });       

        var data = "sort=" + selectedText + "&pickedFromList=True";

        //$("#SortByOptions").val(sortOption);        

        var userSortOptions = $('#sortByOptions').val();
        eraseCookie("userSortOptions");
        createCookie("userSortOptions",userSortOptions,1);
    });
    

    $('#IntRegions').change(function(){      
        var selectedText = $('#IntRegions').val();
        var data = "repZip=" + '' + "&region=" + selectedText;
        
        //alert(selectedText);
        if (selectedText == "International Sales")
        {
                $("#repIntError").dialog('open');
        }
        else
        {
            $.ajax({
                url: "includes/getRepInfo.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    //alert("HTLM = " + html);
                    $('#repContactForm').html(html);
                    $("#repContactForm").dialog('open');
                    }
            });
        }

    });
    
    $('#postalCode').keyup(function(e) {        
        if(e.keyCode == 13) {
            $('#findRep').click();
        }
     });
     $('#contactFormPostalCode').keyup(function(e) {        
        if(e.keyCode == 13) {
            $('#contactFormFindRep').click();
        }
     });    

    $('#contactFormIntRegions').change(function(){
        var selectedText = $('#contactFormIntRegions').val();
        var data = "repZip=" + '' + "&region=" + selectedText;
        
        if (selectedText == "International Sales"){
                $("#repIntError").dialog('open');
        }
        else{
            $.ajax({
                url: "includes/getRepInfo.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    //alert("HTLM = " + html);
                    $('#repContactForm').html(html);
                    $("#repContactForm").dialog('open');
                    }
            });
        }
    });
    

    $("#repIntError").dialog({
        autoOpen: false,
        width: 200,
        modal: true,
        closeOnEscape: true,
        draggable: false,
        resizable: false,
        buttons: {'Ok': function(){
          $(this).dialog('close');
        }}
    });
    
    $('#submitUpload').click(function(){
        if(validateForm("artUploadInfo")){
            $("#uploadStart").dialog('open');                   
            $("#uploadForm").submit();
        }        
    });
    
    $("#uploadStart").dialog({       
        autoOpen: false,
        width: 400,
        modal: true,
        closeOnEscape: false,
        draggable: false,
        resizable: false,        
        open: function(event, ui) {
            $(".ui-dialog-titlebar-close").hide();                       
        }
    });

    $('#findRep').click(function(){
        var enteredZip = $('#postalCode').val();
        var data = "repZip=" + enteredZip;       

        if(enteredZip == ""){
                $("#zipError").dialog('open');
        }
        else{
            $.ajax({
            url: "includes/getRepInfo.php",
            type: "GET",
            data: data,
            cache: false,
            success: function (html) {
                //alert("HTLM = " + html);
                $('#repContactForm').html(html);
                $("#repContactForm").dialog('open');
                }
            });
        }
    });

    $('#contactFormFindRep').click(function(){
        var enteredZip = $('#contactFormPostalCode').val();
        var data = "repZip=" + enteredZip;
        
        if(enteredZip == ""){
                $("#zipError").dialog('open');
        }
        else{
            $.ajax({
            url: "includes/getRepInfo.php",
            type: "GET",
            data: data,
            cache: false,
            success: function (html) {
                //alert("HTLM = " + html);
                $('#repContactForm').html(html);
                $("#repContactForm").dialog('open');
                }
            });
        }
    });
    
    $("#repContactForm").dialog({
      autoOpen: false,
      width: 450,
      modal: true,
      closeOnEscape: true,
      draggable: false,
      resizable: false,
      buttons: {'Ok': function(){
        $(this).dialog('close');
      }}
    });
    
    $( "#requestedDate" ).datepicker({
			showOn: "button",
			buttonImage: "../images/calendar.gif",
			buttonImageOnly: true
		});
    
    $('#aboutMakeAppt2,#aboutMakeAppt1').click(function(){       
        $('#aboutMakeApptForm').dialog('open');
    });
    
    $('#customProdEmail').click(function(){
        $('#customFormContact').dialog('open');
    });
    
    $("#customFormContact").dialog({
      autoOpen: false,
      width: 450,
      modal: true,
      closeOnEscape: true,      
      resizable: false,
      buttons: {'Ok': function(){
        if(validateForm("customFormContact")){      
            var data = $('#customFormContact :input').serialize();
            var formID = $('#customFormContact .formID').val();
            data = data + "&formID=" + formID;       
            $.ajax({
                url: "email.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    $("#customFormContact").dialog('close');
                    $("#thankYouForContact").dialog('open');
                }
            });
        }
        }}
    });
    
    $("#aboutMakeApptForm").dialog({
      autoOpen: false,
      width: 450,
      modal: true,
      closeOnEscape: true,      
      resizable: false,
      buttons: {'Ok': function(){
      if(validateForm("aboutMakeApptForm")){
        var data = $('#aboutMakeApptForm :input').serialize();
          $.ajax({
                url: "email.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    $("#aboutMakeApptForm").dialog('close');
                    $("#thankYouForContact").dialog('open');
                }
            });
          }}
      }
    });
    
    $("#thankYouForContact").dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        closeOnEscape: true,
        draggable: false,
        resizable: false,
        buttons: {'Close': function(){
          $(this).dialog('close');
        }}
    });
    
    $('#contactViaEmail').click(function(){
        $("#contactFormPopup").dialog('open');
    });   

    $("#contactFormPopup").dialog({
      autoOpen: false,
      width: 450,
      modal: true,
      closeOnEscape: true,      
      resizable: false,
      buttons: {'Ok': function(){
        if(validateForm("contactFormPopup")){
            var data = $('#contactFormPopup :input').serialize();
            var formID = $('#contactFormPopup .formID').val();
            data = data + "&formID=" + formID;   
            $.ajax({
                url: "email.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    $("#contactFormPopup").dialog('close');
                    $("#thankYouForContact").dialog('open');
                }
            });
        }        
      }}
    }); 
    
    $('#shippingDeliveryButton').click(function(){
        $("#shippingDelivery").dialog("open");
    });    
    
    $("#shippingDelivery").dialog({
      autoOpen: false,
      width: 450,
      modal: true,
      closeOnEscape: true,      
      resizable: false,
      buttons: {'Ok': function(){
        if(validateForm("shippingDelivery")){
            var data = $('#shippingDelivery :input').serialize();
            var formID = $('#shippingDelivery .formID').val();
            data = data + "&formID=" + formID;
            $.ajax({
                url: "email.php",
                type: "GET",
                data: data,
                cache: false,
                success: function (html) {
                    $("#shippingDelivery").dialog('close');
                    $("#thankYouForContact").dialog('open');
                }
            });
        }        
      }}
    });

    $("#zipError").dialog({
        autoOpen: false,
        width: 200,
        modal: true,
        closeOnEscape: true,
        draggable: false,
        resizable: false,
        buttons: {'Ok': function(){
          $(this).dialog('close');
        }}
    });    
});
/*navigation for back IE support */
;(function($){
  $.fn.superfish = function(op){


    var sf = $.fn.superfish,
      c = sf.c,
      $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
      over = function(){
        var $$ = $(this), menu = getMenu($$);
        clearTimeout(menu.sfTimer);
        $$.showSuperfishUl().siblings().hideSuperfishUl();
      },
      out = function(){
        var $$ = $(this), menu = getMenu($$), o = sf.op;
        clearTimeout(menu.sfTimer);
        menu.sfTimer=setTimeout(function(){
          o.retainPath=($.inArray($$[0],o.$path)>-1);
          $$.hideSuperfishUl();
          if (o.$path.length &&
          $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
        },o.delay);
      },
      getMenu = function($menu){
        var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
        sf.op = sf.o[menu.serial];
        return menu;
      },
      addArrow = function($a){
      $a.addClass(c.anchorClass).append($arrow.clone()); };
      

    return this.each(function() {
      var s = this.serial = sf.o.length;
      var o = $.extend({},sf.defaults,op);
      o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
        $(this).addClass([o.hoverClass,c.bcClass].join(' '))
          .filter('li:has(ul)').removeClass(o.pathClass);
      });
      sf.o[s] = sf.op = o;
      

      $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' :
      'hover'](over,out).each(function() {
        if (o.autoArrows) addArrow( $('>a:first-child',this) );
      })
      .not('.'+c.bcClass)
        .hideSuperfishUl();
      

      var $a = $('a',this);
      $a.each(function(i){
        var $li = $a.eq(i).parents('li');
        $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
      });
      o.onInit.call(this);
      

    }).each(function() {
      var menuClasses = [c.menuClass];
      if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7))
      menuClasses.push(c.shadowClass);
      $(this).addClass(menuClasses.join(' '));
    });
  };


  var sf = $.fn.superfish;
  sf.o = [];
  sf.op = {};
  sf.IE7fix = function(){
    var o = sf.op;
    if ($.browser.msie && $.browser.version > 6 && o.dropShadows &&
    o.animation.opacity!=undefined)
      this.toggleClass(sf.c.shadowClass+'-off');
    };
  sf.c = {
    bcClass : 'sf-breadcrumb',
    menuClass : 'sf-js-enabled',
    anchorClass : 'sf-with-ul',
    arrowClass : 'sf-sub-indicator',
    shadowClass : 'sf-shadow'
  };
  sf.defaults = {
    hoverClass : 'sfHover',
    pathClass : 'overideThisToUse',
    pathLevels : 1,
    delay : 800,
    animation : {opacity:'show'},
    speed : 'normal',
    autoArrows : true,
    dropShadows : true,
    disableHI : false, // true disables hoverIntent detection
    onInit : function(){}, // callback functions
    onBeforeShow: function(){},
    onShow : function(){},
    onHide : function(){}
  };
  $.fn.extend({
    hideSuperfishUl : function(){
      var o = sf.op,
        not = (o.retainPath===true) ? o.$path : '';
      o.retainPath = false;
      var $ul =
      $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
          .find('>ul').hide().css('visibility','hidden');
      o.onHide.call($ul);
      return this;
    },
    showSuperfishUl : function(){
      var o = sf.op,
        sh = sf.c.shadowClass+'-off',
        $ul = this.addClass(o.hoverClass)
          .find('>ul:hidden').css('visibility','visible');
      sf.IE7fix.call($ul);
      o.onBeforeShow.call($ul);
      $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul);
      o.onShow.call($ul); });
      return this;
    }
  });


})(jQuery);
/*using javascript to get url vars */
function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
  function(m,key,value) {
    vars[key] = value;
  });
  return vars;
}
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return "empty";
}
function eraseCookie(name) {
  createCookie(name,"",-1);
}
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function validateForm(divFormToValidate){
  //validate any contact form
  var foundErrors = 0;
  //alert("Form being validated" + divFormToValidate);
  $("#" + divFormToValidate + " :input").each(function (index, domEle) {
    // domEle == this    
    if($(domEle).val() == "") {
       $(domEle).css("backgroundColor", "#fee878");
       foundErrors = 1;
    }
    else{
        $(domEle).css("backgroundColor", "white");
    }
  });
  
  if(foundErrors == 1){
    $("#" + divFormToValidate + "Error").css("display", "inline");
    return false;
  }
  else{
    return true;
  }
  
  
}
