
var Banner=Banner||{};(function($){function setupContainer(idPrefix,containerClass){var $c=$(document.createElement("div"));$c.attr('id',idPrefix+'_container');$c.addClass(containerClass);$c.css('display','none');return $c;}
function setupInput(idPrefix,inputClass,tabIndex,width){var $input=$(document.createElement("input"));$input.attr({id:idPrefix+"_input",type:"text",autocomplete:"off",readonly:"readonly",tabIndex:tabIndex});$input.addClass(inputClass);$input.css("width",width);return $input;}
function createListItem(idPrefix,$option,$input,currentClass){var li=document.createElement('li');li.setAttribute('id',idPrefix+'_'+$option.val());li.innerHTML=$option.html();if($option.is(':selected')){$input.val($option.html());$(li).addClass(currentClass);}
return li;}
function buildDefaultOptions(options){var opt=options||{};opt.inputClass=opt.inputClass||"selectbox";opt.containerClass=opt.containerClass||"selectbox-wrapper";opt.hoverClass=opt.hoverClass||"current";opt.currentClass=opt.currentClass||"selected";opt.groupClass=opt.groupClass||"groupname";opt.maxHeight=opt.maxHeight||200;opt.onChangeCallback=opt.onChangeCallback||false;opt.onChangeParams=opt.onChangeParams||false;opt.debug=opt.debug||false;return opt;}
function logInfo(debugEnabled,message){if(!window.console||!debugEnabled){return;}
console.log(message);}
$.fn.extend({selectbox:function(options){return this.each(function(){new $.SelectBox(this,options);});}});$.SelectBox=function(selectObj,options){var opt=buildDefaultOptions(options);var active=0;var inFocus=false;var hasfocus=0;var $select=$(selectObj);var $container=setupContainer(selectObj.id,opt.containerClass);var $input=setupInput(selectObj.id,opt.inputClass,$select.attr("tabindex"),$select.css("width"));$select.hide().before($input).before($container);init();$input.click(function(){if(!inFocus){$container.toggle();}}).focus(function(){if($container.not(':visible')){inFocus=true;$container.show();}}).keydown(function(event){switch(event.keyCode){case 38:event.preventDefault();moveSelect(-1);break;case 40:event.preventDefault();moveSelect(1);break;case 13:event.preventDefault();onSelection();break;case 27:hideMe();break;}}).blur(function(){if($container.is(':visible')&&hasfocus>0){logInfo(opt.debug,'container visible and has focus');}else{if(($.browser.msie&&$.browser.version.substr(0,1)<8)||$.browser.safari){if(document.activeElement.getAttribute('id').indexOf('_container')==-1){hideMe();}else{$input.focus();}}else{hideMe();}}});function hideMe(){hasfocus=0;$container.hide();}
function init(){$container.append(getSelectOptions($input.attr('id'))).hide();var width=$input.css('width');if($container.height()>opt.maxHeight){var newWidth=parseInt(width,10)+
parseInt($input.css('paddingRight'),10)+parseInt($input.css('paddingLeft'),10);$container.width(newWidth);$container.height(opt.maxHeight);}else{$container.width(width);}}
function moveSelect(step){var $listItems=$("li",$container);if(!$listItems||$listItems.length===0){return false;}
active+=step;if(active<0){active=$listItems.length-1;}else{active=active%$listItems.length;}
scroll($listItems,active);$listItems.removeClass(opt.currentClass);$($listItems[active]).addClass(opt.currentClass);}
function scroll($list,active){var el=$($list[active]).get(0);var listEl=$container.get(0);if(el.offsetTop+el.offsetHeight>listEl.scrollTop+listEl.clientHeight){listEl.scrollTop=el.offsetTop+el.offsetHeight-listEl.clientHeight;}else if(el.offsetTop<listEl.scrollTop){listEl.scrollTop=el.offsetTop;}}
function setCurrent(){var li=$("li."+opt.currentClass,$container).get(0);var ar=(''+li.id).split('_');var el=ar[ar.length-1];if(opt.onChangeCallback){$select.get(0).selectedIndex=$('li',$container).index(li);opt.onChangeParams={selectedVal:$select.val()};opt.onChangeCallback(opt.onChangeParams);}else{$select.val(el);$select.change();}
$input.val($(li).html());return true;}
function getCurrentSelected(){return $select.val();}
function getCurrentValue(){return $input.val();}
function onSelection(){setCurrent();$select.get(0).blur();hideMe();}
function getSelectOptions(parentId){var selectOptions=[];var ul=document.createElement('ul');selectOptions=$select.children('option');if(selectOptions.length===0){return;}
selectOptions.each(function(index,optionValue){var li=createListItem(parentId,$(optionValue),$input,opt.currentClass);ul.appendChild(li);$(li).mouseover(function(event){hasfocus=1;logInfo(opt.debug,'over on : '+this.id);$(event.target,$container).addClass(opt.hoverClass);}).mouseout(function(event){hasfocus=-1;logInfo(opt.debug,'out on : '+this.id);$(event.target,$container).removeClass(opt.hoverClass);}).click(function(event){var fl=$('li.'+opt.hoverClass,$container).get(0);logInfo(opt.debug,'click on : '+this.id);$('li.'+opt.currentClass,$container).removeClass(opt.currentClass);$(this).addClass(opt.currentClass);onSelection();});});return ul;}};}(jQuery));jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};Banner.areCookiesEnabled=function(){jQuery.cookie('COOKIE_TEST',true);var enabled=jQuery.cookie('COOKIE_TEST');if(enabled){jQuery.cookie('COOKIE_TEST',null);}
return enabled;};Banner.rootDomainName=function(){var hostname=window.location.hostname;var fragments=hostname.split(".");switch(fragments.length){case 2:return fragments[0]+"."+fragments[1];case 3:return fragments[1]+"."+fragments[2];default:return hostname;}};Banner.doCustomPostBack=function(actionUrl,submit){if((typeof(actionUrl)=="undefined")||(actionUrl===null)||(actionUrl.length===0)){return;}
theForm.action=actionUrl;if(submit){__doPostBack("","");}};Banner.initSearch=function(queryId,postbackAction,selectboxId,searchCmdId){var $query=jQuery('#'+queryId);$query.keypress(function(e){if(e.keyCode!=13){return;}
e.preventDefault();if($query.val()){postbackAction();}});jQuery('#'+searchCmdId).click(function(e){e.preventDefault();if($query.val()){postbackAction();}});jQuery('#'+selectboxId).selectbox({onChangeCallback:function(){$query.focus();}});};(function(){function element(tagName,id,content){var el=document.createElement(tagName);el.id=id;if(content==='undefined'){return el;}
jQuery(el).prepend(content);return el;}
function isIe6(){return jQuery.browser.msie&&/6.0/.test(jQuery.browser.version);}
function ModalBackground(opacity){this.opacity=opacity;}
ModalBackground.prototype=(function(){function prepareIE(height,overflow){jQuery('html, body').css({width:height,height:height,overflow:overflow});jQuery('select').css({visibility:overflow});}
function remove(instance){if(isIe6()){prepareIE("","");window.scrollTo(instance.initScrollX,instance.initScrollY);}
instance.$modalOverlay.remove();instance.$modalOverlay=null;instance.modalOverlay=null;}
return{show:function(afterShow){afterShow=afterShow||function(){};if(isIe6()){this.initScrollX=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;this.initScrollY=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;window.scrollTo(0,0);prepareIE("100%","hidden");}
this.modalOverlay=element('div','MB_overlay');this.$modalOverlay=jQuery(this.modalOverlay);this.$modalOverlay.css({opacity:0});jQuery(document.body).prepend(this.modalOverlay);this.$modalOverlay.animate({opacity:this.opacity},{duration:500,complete:afterShow});},hide:function(){var instance=this;this.$modalOverlay.animate({opacity:0},{duration:400,complete:function(){remove(instance);}});},domElement:function(){return this.modalOverlay;},width:function(){return this.$modalOverlay.width();}};}());function ModalForm(background,$content,width,height){if(!background){jQuery.error("Parameter background cannot be null");}
this.$content=$content;this.width=width;this.height=height;this.background=background;}
ModalForm.prototype=(function(){function prefixId(el){el.id="modal_"+el.id;}
function unPrefixId(el){el.id=el.id.replace("modal_","");}
function renameContentIds($content,updateId){if($content[0].id){updateId($content[0]);}
$content.find("[id]").each(function(){updateId(this);});}
function setDimensions($window,newWidth,newHeight){$window.css({width:newWidth+"px",height:newHeight+"px"});}
function setPosition($window,backgroundWidth,windowWidth){$window.css({left:((backgroundWidth-windowWidth)/2)+"px"});}
function resize(instance,byWidth,byHeight){var $modalWindow=instance.$modalWindow;var wHeight=$modalWindow.height();var wWidth=$modalWindow.width();var cHeight=jQuery(instance.modalContent).height();var newWidth=wWidth+byWidth;var newHeight=((wHeight+byHeight)<cHeight)?cHeight:(wHeight+byHeight);setDimensions($modalWindow,newWidth,newHeight);}
function loadContent(instance){var htmlObj=instance.$content[0].cloneNode(true);renameContentIds(instance.$content,prefixId);var $modalContent=jQuery(instance.modalContent);$modalContent.append(htmlObj);var $modalWindow=instance.$modalWindow;var byWidth=instance.width-$modalWindow.width();var byHeight=$modalWindow.height()-$modalWindow.height();resize(instance,byWidth,byHeight);if(isIe6()){$modalContent.find("select").css({visibility:''});}}
function render(instance,backgroundWidth){setDimensions(instance.$modalWindow,instance.width,instance.height);setPosition(instance.$modalWindow,backgroundWidth,instance.width);loadContent(instance);}
function remove(instance){instance.$modalWindow.remove();renameContentIds(instance.$content,unPrefixId);instance.$modalWindow=null;instance.modalWindow=null;instance.modalFrame=null;instance.modalContent=null;}
return{show:function(afterShow){this.modalWindow=element('div','MB_window',this.modalFrame=element('div','MB_frame',this.modalContent=element('div','MB_content')));this.$modalWindow=jQuery(this.modalWindow);this.$modalWindow.css({display:'none'});jQuery(this.background.domElement()).after(this.modalWindow);afterShow=afterShow||function(){};var instance=this;this.$modalWindow.slideDown(200,function(){render(instance,instance.background.width());afterShow();});jQuery(window).resize(function(){instance.resize();});},update:function($newContent){var $modalContent=jQuery(this.modalContent);$modalContent.html("");renameContentIds(this.$content,unPrefixId);this.$content=$newContent;render(this,this.background.width());},resize:function(){this.$modalWindow.width(this.width);setPosition(this.$modalWindow,this.background.width(),this.width);},hide:function(afterHide){var instance=this;instance.$modalWindow.slideUp(100,function(){remove(instance);jQuery(window).unbind('resize');afterHide();});}};}());function createBackground(modalInstance){return new ModalBackground(modalInstance.options.overlayOpacity);}
function createForm(background,modalInstance){return new ModalForm(background,modalInstance.$content,modalInstance.options.width,modalInstance.options.height);}
var defaultOptions={width:500,height:90,overlayOpacity:0.65};function Modal(content,options){this.$content=jQuery(content);this.options=jQuery.extend(defaultOptions,options);this.background=createBackground(this);this.form=createForm(this.background,this);}
Modal.prototype={show:function(afterShow){afterShow=afterShow||{};var instance=this;instance.background.show(function(){instance.form.show(afterShow);});},update:function(content){var $newContent=jQuery(content);this.form.update($newContent);this.$content=$newContent;},hide:function(){var instance=this;instance.form.hide(function(){instance.background.hide();});}};Banner.createModal=function(content,options){return new Modal(content,options);};}());(function(){var modal,zipValid=/^[0-9]{5}$/,submitLocalStoreRequest=function(zipCodeValue,context){};var Cookies={DivisionId:'DivisionID',StoreCode:'StoreCode',NoThanks:'NoThanks'};function close(e){if(e){e.preventDefault();}
modal.hide();}
function closeNoThanks(e){close(e);jQuery.cookie(Cookies.NoThanks,'No',{expires:30,path:'/',domain:Banner.rootDomainName()});}
function doSearch(validate){var result=validate();if(!result.isValid){showMessage(true);return;}
showLoading();submitLocalStoreRequest(result.zipCodeValue,null);}
function showLoading(){modal.update('#findLocalStoreLoading');jQuery('#findLocalStoreLoading').find('.FindLocalClose').click(close);}
function renderResponseError(responseErrorCode){switch(responseErrorCode){case 421:showError();break;case 521:close();break;}}
function showError(){modal.update('#findLocalStore');initializePrompt();showMessage(true);}
function showMessage(showError){showError=showError||false;var $prompt=jQuery('#findLocalStore');$prompt.find('#findLocalStoreZipError').toggle(showError);$prompt.find('#findLocalStoreCoupons').toggle(!showError);}
function isValid($zip){var zipCodeVal=jQuery.trim($zip.val());return{zipCodeValue:zipCodeVal,isValid:zipCodeVal&&zipValid.test(zipCodeVal)};}
function handleKeys(e,onEnter,onEscape){switch(e.keyCode){case 13:e.preventDefault();onEnter();break;case 27:e.preventDefault();onEscape();break;}}
function createValidator($zip){return function(){return isValid($zip);};}
function initializePrompt(){var $prompt=jQuery('#findLocalStore'),$zip=$prompt.find("#findLocalStoreZipCode"),validator=createValidator($zip),search=function(){doSearch(validator);};$prompt.find('.FindLocalClose').click(close);$prompt.find('.FindLocalNoThanks').click(closeNoThanks);$prompt.find('#findLocalStoreSubmit').click(function(e){e.preventDefault();search();});$zip.keypress(function(e){handleKeys(e,search,close);}).focus();}
Banner.initFindLocalStore=function(aspCallback){if(!aspCallback){jQuery.error("Parameter aspCallback cannot be null");}
if(!Banner.areCookiesEnabled()){return;}
var noThanks=jQuery.cookie(Cookies.NoThanks);if(noThanks){return;}
var divId=jQuery.cookie(Cookies.DivisionId);if(divId){return;}
modal=Banner.createModal('#findLocalStore',{width:400});modal.show(function(){initializePrompt();showMessage(false);});submitLocalStoreRequest=aspCallback;};Banner.receiveLocalStoreResponse=function(response){var parsedResponse=null;try{parsedResponse=jQuery.parseJSON(response);}catch(e){parsedResponse={result:{error:521}};}
var result=parsedResponse.result;if(result.error){renderResponseError(result.error);return;}
if(result.divisionNumber&&result.storeNumber){var options={expires:30,path:'/',domain:Banner.rootDomainName()};jQuery.cookie(Cookies.DivisionId,result.divisionNumber,options);jQuery.cookie(Cookies.StoreCode,result.storeNumber,options);location.replace(window.location.protocol+"//"+window.location.hostname+"/");return;}
close();};}());(function(){function toggle(id){var e=document.getElementById(id);if(e.style.display=='inline'){e.style.display='none';}else{e.style.display='inline';}}
function toggleHandler(id){return function(e){toggle(id);e.preventDefault();};}
function keyHandler(keyCode,action){return function(e){if(keyCode==e.which){action();e.preventDefault();}};}
function listenForEnter(id,postAction){var el=$jq(id);if(el){el.keypress(keyHandler(13,postAction));}}
function listenForClick(id,action){var el=$jq(id);if(el){el.click(action);}}
function hookEvents(loginUrl){var postThunk=function(){Banner.doCustomPostBack(loginUrl,true);};listenForEnter('#fmEmailAddress',postThunk);listenForEnter('#fmPassword',postThunk);listenForClick('#createAcctNoBtn',toggleHandler('benefitsOverlayContainer'));listenForClick('#createAcctWhyLnk',toggleHandler('benefitsOverlayContainer'));listenForClick('#showSignInBtn',toggleHandler('signInOverlayContainer'));listenForClick('#btnClose',toggleHandler('signInOverlayContainer'));listenForClick('#btnSignIn',function(e){Banner.doCustomPostBack(loginUrl,true);e.preventDefault();});}
Banner.Login=function(loginUrl){this.LoginUrl=loginUrl;};Banner.Login.prototype={register:function(){var loginUrl=this.LoginUrl;$jq(document).ready(function(){hookEvents(loginUrl);});}};}());jQuery(function(){InitMenus("nav");SetBrowser();if(!(mac&&ie5)){ScrollLinks.start();}});var ie4=false;var ie5=false;var ns4=false;var ns6=false;var mac=false;var testing=false;function SetBrowser(){agent=navigator.userAgent.toLowerCase();mac=(agent.indexOf("mac")!=-1);ie4=(document.all&&!document.getElementById)?true:false;ie5=(document.all&&document.getElementById)?true:false;ns4=(document.layers)?true:false;ns6=(document.getElementById&&!document.all)?true:false;if(testing){alert("agent: "+agent+"\nmac: "+mac+"\nie4: "+ie4+"\nie5: "+ie5+"\nns4: "+ns4+"\nns6: "+ns6+"\n");}}
function Trim(s){while(s.substring(0,1)==' ')
{s=s.substring(1,s.length);}
while(s.substring(s.length-1,s.length)==' ')
{s=s.substring(0,s.length-1);}
return s;}