
(function($){$.sabra={'browsers':{'msie':[['>=',7]],'firefox':[['>=',3]],'opera':[['>=',10]],'safari':[['>=',4]],'chrome':[['>=',4]]},browse:{'browsers':{'msie':[['>=',9]],'firefox':[['>=',3]],'opera':[['>=',10]],'safari':[['>=',3]],'chrome':[['>=',3]]},'cfg':{arrows:'<ul class="image_gallery_controls"> \
     <li class="next_button"><a href="#">Next Image</a></li> \
     <li class="prev_button"><a href="#">Previous Image</a></li> \
     </ul>',loaderHTML:'<div class="ajax-loader"> \
           <img src="/images/common/sun_loader.gif" width="120px" height="85px" alt="Loading..." title="Loading..." /> \
          </div>',interval:'',defaultURL:'/browse/products/category/Hummus',mode:'products',fadeControls:false},'fn':{'init':function(options){options=$.extend($.sabra.browse.cfg,options);$.address.init($.sabra.browse.address.init);$.address.change($.sabra.browse.address.change);var $browse=$('.sabra-browse');$browse.data('dataContainer',$('[rel='+$browse.attr('id')+']')).wrapAll('<div class="gallery-wrapper"></div>').parent().prepend('<div class="features-nav-wrapper"><ul class="features-nav"></ul></div>').prepend($.sabra.browse.cfg.arrows);$('.product-flavor a').mouseover(function(){$(this).parent().addClass('product-flavor-hover');}).mouseout(function(){$(this).parent().removeClass('product-flavor-hover');});$('#product-categories li a, #recipe-categories li a').mouseover(function(){$(this).closest('li').addClass('browse-category-hover');}).mouseout(function(){$(this).closest('li').removeClass('browse-category-hover');});if(options.fadeControls){$browse.parent().bind('mouseover',$.sabra.browse.fn.handleHover).bind('mouseout',$.sabra.browse.fn.handleHover);$.sabra.browse.cfg.interval=setTimeout(function(){$('.gallery-wrapper').trigger('mouseout');},5000);}
$.sabra.browse.fn.initCycle();},'initCycle':function(){$('.sabra-browse').cycle({speed:1300,cleartype:0,timeout:0,fx:'scrollHorz',easeOut:'swing',pager:'.features-nav',pagerAnchorBuilder:function(idx,slide){return'<li><a href="#">'+(idx+1)+'</a></li>';},prev:'.prev_button',next:'.next_button',before:function(currSlideElement,nextSlideElement,options,forwardFlag){$.sabra.browse.fn.updateFlavors(nextSlideElement);}}).data('dataContainer').cycle({timeout:0,speed:1800,easeOut:'swing',fx:'scrollHorz',prev:'.prev_button',next:'.next_button',pager:'.features-nav',pagerAnchorBuilder:function(i){return'.features-nav a:eq('+i+')';}}).children().css('background','');if($('.sabra-browse').children().length<=1){$('.features-nav-wrapper, .image_gallery_controls').hide();}else{$('.features-nav-wrapper, .image_gallery_controls').show();if($.browser.name=='msie'&&$.browser.version<=6){var count=$('.sabra-browse').parent().find('.features-nav-wrapper li').length;$('.sabra-browse').parent().find('.features-nav-wrapper').css('width',(count*11+11)+"px").css('left',480-((count*11+11)/2)+"px");}else{$('.sabra-browse').parent().find('.features-nav-wrapper').css('left',480-($('.sabra-browse').parent().find('.features-nav-wrapper').width()/2));}}},'destroyCycle':function(){$('.sabra-browse').cycle('destroy').data('dataContainer').cycle('destroy');},'update':function(uri){if($.sabra.browse.cache[uri]){$.sabra.browse.fn.updateHTML($.sabra.browse.cache[uri])}else{$('.sabra-browse').empty();$('.sabra-browse').data('dataContainer').empty();$.sabra.browse.fn.showLoader();$.ajax({url:uri,dataType:'json',success:function(data){$.sabra.browse.fn.hideLoader();$.sabra.browse.fn.updateHTML(data);$.sabra.browse.cache[uri]=data;}});}},'updateHTML':function(json){$.sabra.browse.fn.destroyCycle();var $images=$('.sabra-browse:first');var $data=$images.data('dataContainer');$images.empty();$data.empty();if(json.length==0){$('<li />').append('<span class="placeholder">Nada.&nbsp; Choose something else, killer.</span>').appendTo($images);}
for(var i=0;i<json.length;i++){if(json[i].product){var product=json[i].product;$('<li />').attr('id','product_'+product.id).append('<a href="'+product.url+'"><img src="'+product.browse_photo_url+'" alt="'+product.name+'"/></a>').appendTo($images);$('<li />').attr('id','product_'+product.id+'_details').append('<h3 class="product-details-name"><a href="'+product.url+'">'+product.name+'</a></h3>').append('<p class="product-details-ingredients" data="'+product.flavor_ids+'">Ingredients: '+product.flavor_list+'</p>').attr('src',product.browse_photo_url).appendTo($data);}else if(json[i].recipe){var recipe=json[i].recipe;$('<li />').attr('id','recipe_'+recipe.id).append('<a href="'+recipe.url+'"><img src="'+recipe.browse_photo_url+'" alt="'+recipe.title+'"/></a>').appendTo($images);$('<li />').attr('id','recipe_'+recipe.id+'_details').append('<h3 class="recipe-details-name"><a href="'+recipe.url+'">'+recipe.title+'</a></h3>').attr('src',recipe.browse_photo_url).appendTo($data);}}
$.sabra.browse.fn.initCycle();},'updateFlavors':function(nextSlideElement){if($.sabra.browse.cfg.mode!="products")return;$('.product-flavor-selected').removeClass('product-flavor-selected');var ids=$('#'+nextSlideElement.id+'_details .product-details-ingredients').attr('data').split(",");for(var i=0;i<ids.length;i++){$('#flavor_tag_'+ids[i]).addClass('product-flavor-selected');}},'removeHandler':function(e){$(this).parents(".photo").remove();return false;},'removeActiveClasses':function(){$('.product-flavor-active').removeClass('product-flavor-active');$('.browse-category-active').removeClass('browse-category-active');},'showLoader':function(){$($.sabra.store_locator.cfg.loaderHTML).appendTo('.gallery-wrapper');},'hideLoader':function(){$('.gallery-wrapper .ajax-loader').remove();},'handleHover':function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}
if(p==this){return false;}
var ev=$.extend({},e);var ob=this;if($.sabra.browse.cfg.interval){$.sabra.browse.cfg.interval=clearTimeout($.sabra.browse.cfg.interval);}
if(e.type=="mouseover"){$('.image_gallery_controls li').fadeIn('slow');}else{$('.image_gallery_controls li').fadeOut('slow');}}},address:{'init':function(event){},'change':function(event){switch(event.pathNames[0]){case"browse":switch(event.pathNames[1]){case"products":switch(event.pathNames[2]){case"category":$.sabra.browse.fn.update("/products/category/"+event.pathNames[3]+".js");$.sabra.browse.fn.removeActiveClasses();$('[rel="address:'+event.path+'"]').closest('li').addClass('browse-category-active');break;case"tag":$.sabra.browse.fn.update("/products/flavor_tag/"+event.pathNames[3]+".js");$.sabra.browse.fn.removeActiveClasses();$('[rel="address:'+event.path+'"]').data('oldRel','address:'+event.path).attr('rel','').bind('click.sabra-browse',function(e){$(this).unbind('click.sabra-browse').attr('rel',$(this).data('oldRel')).parent().removeClass('product-flavor-active');$.address.value($.sabra.browse.cfg.defaultURL);return false;}).parent().addClass('product-flavor-active');break;default:$.sabra.browse.fn.update("/products.js");}
break;case"recipes":switch(event.pathNames[2]){case"category":$.sabra.browse.fn.update("/recipes/category/"+event.pathNames[3]+".js");$.sabra.browse.fn.removeActiveClasses();$('[rel="address:'+event.path+'"]').closest('li').addClass('browse-category-active');break;default:$.sabra.browse.fn.update("/recipes.js");}
break;}
break;}
return false;}},cache:{}},features:{'browsers':{'msie':[['>=',9]],'firefox':[['>=',3]],'opera':[['>=',10]],'safari':[['>=',3]],'chrome':[['>=',3]]},cfg:{'arrows':'<ul class="image_gallery_controls"> \
     <li class="next_button"><a href="#">Next Image</a></li> \
     <li class="prev_button"><a href="#">Previous Image</a></li> \
     </ul>','fadeControls':false,'interval':0},fn:{'init':function(options){options=$.extend($.sabra.features.cfg,options);$('#main-features-slider').wrapAll('<div class="gallery-wrapper"></div>').parent().prepend('<div class="features-nav-wrapper"><ul class="features-nav"></ul></div>').prepend($.sabra.browse.cfg.arrows);$('#main-features-slider').cycle({speed:1300,timeout:7000,fx:'scrollHorz',easing:'swing',pager:'.features-nav',pagerAnchorBuilder:function(idx,slide){return'<li><a href="#">'+(idx+1)+'</a></li>';},prevNextClick:$.sabra.features.fn.disableTimeout,pagerClick:$.sabra.features.fn.disableTimeout,prev:'.prev_button',next:'.next_button'});$('#secondary-features-slider').cycle({timeout:7000,speed:1800,easeOut:'swing',fx:'scrollHorz',prev:'.prev_button',next:'.next_button',pager:'.features-nav',pagerAnchorBuilder:function(i){return'.features-nav a:eq('+i+')';}})
if(options.fadeControls){$('#main-features-slider').parent().bind('mouseover',$.sabra.features.fn.handleHover).bind('mouseout',$.sabra.features.fn.handleHover);$.sabra.features.cfg.interval=setTimeout(function(){$('.gallery-wrapper').trigger('mouseout');},5000);}
if($('#main-features-slider').children().length<=1){$('.features-nav-wrapper, .image_gallery_controls').hide();}else{$('.features-nav-wrapper, .image_gallery_controls').show();if($.browser.name=='msie'&&$.browser.version<=6){var count=$('#main-features-slider').parent().find('.features-nav-wrapper li').length;$('#main-features-slider').parent().find('.features-nav-wrapper').css('width',(count*11+11)+"px").css('left',480-((count*11+11)/2)+"px");}else{$('#main-features-slider').parent().find('.features-nav-wrapper').css('left',480-($('#main-features-slider').parent().find('.features-nav-wrapper').width()/2));}}},'disableTimeout':function(e){$('#main-features-slider').data('cycle.opts').timeout=0;$('#secondary-features-slider').data('cycle.opts').timeout=0;},'handleHover':function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}
if(p==this){return false;}
var ev=$.extend({},e);var ob=this;if($.sabra.features.cfg.interval){$.sabra.features.cfg.interval=clearTimeout($.sabra.features.cfg.interval);}
if(e.type=="mouseover"){$('.image_gallery_controls li').fadeIn('slow');}else{$('.image_gallery_controls li').fadeOut('slow');}}}},toggle:{cfg:{control:'<div class="sabra-toggle-control"> \
           <a href="#"><span>Close All Products</span></a> \
         </div>',openText:'View All Flavors',closedAtStart:true,closeText:'Close All Flavors'},fn:{'init':function(options){options=$.extend($.sabra.toggle.cfg,options);$('.sabra-toggle-container').each(function(){$this=$(this);var $control=$($.sabra.toggle.cfg.control);$control.data('toggleContainer',$this).find('a').bind('click.sabra-toggle',$.sabra.toggle.fn.toggle);$this.after($control);if(options.closedAtStart){$this.hide();$control.addClass('sabra-toggle-control-closed').find('span').text($.sabra.toggle.cfg.openText);}});},'toggle':function(){var $this=$(this).parent();var $container=$this.data('toggleContainer');$container.slideToggle();if($this.is('.sabra-toggle-control-closed')){$this.find('span').text($.sabra.toggle.cfg.closeText);}else{$this.find('span').text($.sabra.toggle.cfg.openText);}
$this.toggleClass('sabra-toggle-control-closed');return false;}}},search:{cfg:{selector:'.inline-hint',hintClass:'inline-hint-blur'},fn:{init:function(){$($.sabra.search.cfg.selector).each(function(){$(this).focus(function(){if($(this).val()==$(this).attr("title"))
$(this).val("").removeClass($.sabra.search.cfg.hintClass);}).blur(function(){if($(this).val()=="")
$(this).val($(this).attr("title")).addClass($.sabra.search.cfg.hintClass);}).blur();});}}},fancy_lists:{cfg:{class_prefix:"fancy_ol_",selector:"#recipe-body ol li",container_class:'fancy-list'},fn:{'init':function(){$($.sabra.fancy_lists.cfg.selector).each(function(index,value){$(this).addClass($.sabra.fancy_lists.cfg.class_prefix+(index+1).toString());}).parent().addClass($.sabra.fancy_lists.cfg.container_class);}}},'print_this':{'cfg':{html:'<div class="print-this-wrapper"> \
        <a href="#" class="print-this-button">Print this Page</a> \
       </div>'},fn:{'init':function($container){$($.sabra.print_this.cfg.html).find('a').click($.sabra.print_this.fn.click_handler).closest('.print-this-wrapper').appendTo($container);},'click_handler':function(){window.print();return false;}}},store_locator:{cfg:{map_defaults:{defaultGeoCoord:[37.75408327579141,-95.44921875],zoom:4},url:'/store_locator.js',rowHTML:'<tr class="store"> \
     <td class="store-map-icon"><img src="MARKER_ICON" alt="MARKER_ALT" /></td> \
        <td class="store-name">NAME</td> \
        <td class="store-address">ADDRESS</td> \
        <td class="store-distance">DISTANCE</td> \
      </tr>',errorHTML:'<tr class="error"> \
     <td class="store-map-error" colspan="4">ERROR_MSG</td> \
      </tr>',loaderHTML:'<div class="ajax-loader"> \
           <img src="/images/common/sun_loader.gif" width="120px" height="85px" alt="Loading..." title="Loading..." /> \
          </div>'},fn:{'init':function(){var cfg=$.sabra.store_locator.cfg.map_defaults;map=new google.maps.Map2(document.getElementById("store-map"));map.setCenter(new google.maps.LatLng(cfg.defaultGeoCoord[0],cfg.defaultGeoCoord[1]),cfg.zoom);map.addControl(new GSmallMapControl());$.sabra.store_locator.fn.search($('#store-search-form form').submit(function(e){e.stopPropagation();$.sabra.store_locator.fn.search($(this).find('[name=zip]').val());return false;}).find('[name=zip]').val());},'search':function(query){geocoder=new GClientGeocoder();geocoder.getLatLng(query,function(latlng){if(!latlng){}else{$.sabra.store_locator.fn.showLoader();$.sabra.store_locator.fn.resetMap();var uri=$.sabra.store_locator.cfg.url+"?lat="+latlng.lat()+"&lng="+latlng.lng();$.ajax({url:uri,dataType:'json',success:function(data){$.sabra.store_locator.fn.hideLoader();$.sabra.store_locator.fn.drawMap(data,latlng.lat(),latlng.lng());},error:function(XMLHttpRequest,textStatus,errorThrown){$.sabra.store_locator.fn.displayError("Sorry, there was an error retrieving your results.");}});}});},'createMarker':function(point,name,address,index){var icon=new GIcon(G_DEFAULT_ICON);icon.image="http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+$.sabra.fn.numeralToAlpha(index)+"|fe766a|000000";var marker=new GMarker(point,{'icon':icon});var html='<strong>'+name+'</strong> <br/>'+address;GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(html);});return marker;},'createListEntry':function(marker,name,address,distance,index){var html=$.sabra.store_locator.cfg.rowHTML.replace("MARKER_ICON","http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+$.sabra.fn.numeralToAlpha(index)+"|fe766a|000000").replace("MARKER_ALT",$.sabra.fn.numeralToAlpha(index)).replace("NAME",name).replace("ADDRESS",address).replace("DISTANCE",distance+"m");var $tr=$(html);$tr.find('.store-map-icon, .store-name').click(function(){GEvent.trigger(marker,'click');});return $tr;},'resetMap':function(){map.clearOverlays();$('#store-list table tbody').empty();},'showLoader':function(){$($.sabra.store_locator.cfg.loaderHTML).appendTo('#store-list');},'hideLoader':function(){$('#store-list .ajax-loader').remove();},'scrape':function(){},'displayError':function(msg){$('#store-list table tbody').empty();$('#store-list table tbody').append($.sabra.store_locator.cfg.errorHTML.replace("ERROR_MSG",msg));},'drawMap':function(data,lat,lng){if(data.length>0){var bounds=new GLatLngBounds();for(var i=0;i<data.length;i++){var name=data[i].store.name;var address=data[i].store.address;var distance=parseFloat(data[i].store.distance).toFixed(2);var point=new GLatLng(parseFloat(data[i].store.lat),parseFloat(data[i].store.lng));var marker=$.sabra.store_locator.fn.createMarker(point,name,address,i);map.addOverlay(marker);var sidebarEntry=$.sabra.store_locator.fn.createListEntry(marker,name,address,distance,i);$('#store-list table tbody').append(sidebarEntry);bounds.extend(point);}
map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds)>15?15:map.getBoundsZoomLevel(bounds));}else{map.setCenter(new google.maps.LatLng(lat,lng),$.sabra.store_locator.cfg.map_defaults.zoom+7);$.sabra.store_locator.fn.displayError("Sorry, there were no results within 25 miles of that location.");}}}},fn:{'numeralToAlpha':function(index){var alphas=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','V','W','X','Y','Z'];return alphas[index];},'isSupported':function(module){var mod=module&&'browsers'in module?module:$.sabra;if(typeof mod.supported!=='undefined'){return mod.supported;}
var browser=mod.browsers[$.browser.name];if(typeof browser!='object'){return mod.supported=false;}
for(var condition in browser){var op=browser[condition][0];var val=browser[condition][1];if(val===false){return mod.supported=false;}else if(typeof val=='string'){if(!(eval('$.browser.version'+op+'"'+val+'"'))){return mod.supported=false;}}else if(typeof val=='number'){if(!(eval('$.browser.versionNumber'+op+val))){return mod.supported=false;}}}
return mod.supported=true;}}};$(document).ready(function(){switch(document.body.id){case'locator':try{$.sabra.store_locator.fn.init();}catch(e){}
break;case'home':case'experience':$.sabra.features.fn.init({'fadeControls':$.sabra.fn.isSupported($.sabra.browse)});break;case'product-browse':$.sabra.browse.fn.init({'fadeControls':$.sabra.fn.isSupported($.sabra.browse)});$.sabra.toggle.fn.init();break;case'recipe-browse':$.sabra.browse.fn.init({'defaultURL':'/browse/recipes/category/Breakfast-&-Brunch','mode':'recipes','fadeControls':$.sabra.fn.isSupported($.sabra.browse)});break;case'recipe-section':$.sabra.print_this.fn.init('#content');break;case'product-detail':$.sabra.print_this.fn.init('#content');break;case'page':$.sabra.print_this.fn.init('#content');break;}
$.sabra.fancy_lists.fn.init();$.sabra.search.fn.init();if(document.all&&document.getElementById){navRoot=document.getElementById("main-navigation");for(i=0;i<navRoot.childNodes.length;i++){node=navRoot.childNodes[i];if(node.nodeName=="LI"){node.onmouseover=function(){this.className+=" over";}
node.onmouseout=function(){this.className=this.className.replace(" over","");}}}}});})(jQuery);