var Refresh=function(){var urls,shoppingEventId,periodicalRefresh,colors;return{init:function(){this.setUpUrls();this.reinitTimers();this.setUpAllReservedHints();return true;},initGrid:function(){this.init();this.refreshPage();this.createPeriodicalRefreshPage(120);this.showUpgrade();return true;},initGiveAway:function(){this.init();this.refreshGiveAway();this.refreshEntryStatus();this.refreshWinnerStatus();this.showUpgrade();this.getBrandNewsletterSignupState();return true;},initSale:function(){this.init();this.refreshPage();this.createPeriodicalRefreshPage();this.showUpgrade();this.showColor();return true;},setUpUrls:function(){urls=$H();if($('reinit_timer_url')&&$('shopping_event')){urls.set('reinitTimer',$('reinit_timer_url').getValue());shoppingEventId=$('shopping_event').getValue();}
if($('sweepstake_entry_path')){urls.set('sweepstakeEntry',$('sweepstake_entry_path').getValue());}
if($('brand_newsletter_signup_path')){urls.set('brandNewsletterSignup',$('brand_newsletter_signup_path').getValue());}
if($('brand_newsletter_status_path')){urls.set('brandNewsletterStatus',$('brand_newsletter_status_path').getValue());}
if($('refresh_event_path')){urls.set('refreshEvent',$('refresh_event_path').getValue());}
if($('refresh_giveaway_event_offer_path')){urls.set('refreshGiveAwayEvent',$('refresh_giveaway_event_offer_path').getValue());}
if($('refresh_entry_status_event_offer_path')){urls.set('refreshEntryStatusEvent',$('refresh_entry_status_event_offer_path').getValue());}
if($('refresh_winner_status_event_offer_path')){urls.set('refreshWinnerStatusEvent',$('refresh_winner_status_event_offer_path').getValue());}
if($('cart_items_path')){urls.set('cartItemsPath',$('cart_items_path').getValue());}
return urls;},reinitTimers:function(){if(urls.get('reinitTimer')&&(TIMER_OBJS['event_end'+shoppingEventId])){var req=new Ajax.Request(urls.get('reinitTimer'),{method:'post'});return req;}
return false;},refreshPage:function(){if(urls.get('refreshEvent')){var req=new Ajax.Request(urls.get('refreshEvent'),{method:'get'});return req;}
return false;},createPeriodicalRefreshPage:function(quantum){quantum=quantum||30;if(urls.get('refreshEvent')){periodicalRefresh=new PeriodicalExecuter(this.refreshPage.bind(this),quantum);return periodicalRefresh;}
return false;},stopPeriodicalRefreshPage:function(){if(periodicalRefresh&&periodicalRefresh.stop){periodicalRefresh.stop();return true;}
return false;},startPeriodicalRefreshPage:function(){if(periodicalRefresh&&periodicalRefresh.start){periodicalRefresh.start();return true;}
return false;},refreshGiveAway:function(){if(urls.get('refreshGiveAwayEvent')){var req=new Ajax.Request(urls.get('refreshGiveAwayEvent'),{method:'get',onComplete:function(){$('loading_giveaway').hide();}});return req;}
return false;},refreshEntryStatus:function(){if(urls.get('refreshEntryStatusEvent')){var req=new Ajax.Request(urls.get('refreshEntryStatusEvent'),{method:'get'});return req;}
return false;},refreshWinnerStatus:function(){if(urls.get('refreshWinnerStatusEvent')){var req=new Ajax.Request(urls.get('refreshWinnerStatusEvent'),{method:'get'});return req;}
return false;},reloadCart:function(){if(urls.get('cartItemsPath')){var req=new Ajax.Updater('cart',urls.get('cartItemsPath'),{method:'get',onComplete:function(){$('cart_loading').hide();$('cart').show();},onLoading:function(){$('cart_loading').show();}});return req;}
return false;},showUpgrade:function(){if(typeof(window.current_user)=='undefined'){window.current_user=Templater.readCookie('current_user');}
if(window.current_user){if(!window.current_user.is_premium_member&&(window.current_user.is_facebook_connected!='1')){$$('#latest .event .header .upgrade_container').invoke('show');if($('upgrade_offer')&&$('upgrade_offer').getValue().toString()=='true'){$$('#latest .event .offer .upgrade_for_this_offer').invoke('show');}}
if(!window.current_user.is_premium_member&&(window.current_user.is_facebook_connected=='1')){$$('#latest .event .header .upgrade_container_link').invoke('show');if($('upgrade_offer')&&$('upgrade_offer').getValue().toString()=='true'){$$('#latest .event .offer .upgrade_for_this_offer').invoke('show');}}}
return true;},showColor:function(){if(!$('colors')){return false;}
colors=$('colors').getValue().toString().split(',');var color_id=colors.first();try{var color_id_from_hidden_tag=$('color_id').getValue();if(colors.include(color_id_from_hidden_tag)){color_id=color_id_from_hidden_tag;}}
catch(e){}
try{var color_id_from_url=parseInt(document.location.href.match(/color_id=(\d+)/)[1]);if(colors.include(color_id_from_url)){color_id=color_id_from_url;}}
catch(e){}
if($('images_container_'+color_id)){$('images_container_'+color_id).show();}
if($('sizes_container_'+color_id)){$('sizes_container_'+color_id).show();}
if((colors.size()>1)&&$('color_thumbnail_'+color_id)){$('color_thumbnail_'+color_id).addClassName('selected');}
return true;},switchImage:function(color_id,image_id){$$('#images_container_'+color_id+' .image_container').invoke('hide');$$('#image_thumbnails_'+color_id+' .image_thumbnail').invoke('removeClassName','selected');$('image_container_'+image_id).show();$('image_thumbnail_'+image_id).addClassName('selected');return true;},carouselLeft:function(color_id,carousel_size){var thumbs=$('image_thumbnails_'+color_id).select('.image_thumbnail');var cur_head=thumbs.indexOf(thumbs.find(function(ele){return ele.visible();}));var next_head=[0,cur_head-1].max();thumbs.invoke('hide');thumbs.findAll(function(ele){return $R(next_head,next_head+carousel_size-1).include(thumbs.indexOf(ele));}).invoke('show');if(next_head==0){$$('#image_thumbnails_'+color_id+' .arrow_left_disabled').invoke('show');$$('#image_thumbnails_'+color_id+' .arrow_left').invoke('hide');}
else{$$('#image_thumbnails_'+color_id+' .arrow_left_disabled').invoke('hide');$$('#image_thumbnails_'+color_id+' .arrow_left').invoke('show');}
$$('#image_thumbnails_'+color_id+' .arrow_right_disabled').invoke('hide');$$('#image_thumbnails_'+color_id+' .arrow_right').invoke('show');return true;},carouselRight:function(color_id,carousel_size){var thumbs=$('image_thumbnails_'+color_id).select('.image_thumbnail');var cur_head=thumbs.indexOf(thumbs.find(function(ele){return ele.visible();}));var next_head=[[0,cur_head+1].max(),thumbs.length-carousel_size].min();thumbs.invoke('hide');thumbs.findAll(function(ele){return $R(next_head,next_head+carousel_size-1).include(thumbs.indexOf(ele));}).invoke('show');if(next_head==thumbs.length-carousel_size){$$('#image_thumbnails_'+color_id+' .arrow_right_disabled').invoke('show');$$('#image_thumbnails_'+color_id+' .arrow_right').invoke('hide');}
else{$$('#image_thumbnails_'+color_id+' .arrow_right_disabled').invoke('hide');$$('#image_thumbnails_'+color_id+' .arrow_right').invoke('show');}
$$('#image_thumbnails_'+color_id+' .arrow_left_disabled').invoke('hide');$$('#image_thumbnails_'+color_id+' .arrow_left').invoke('show');return true;},setupWaitlistHints:function(){Refresh.waitlistHints=[];$$('.helptip_waitlist').each(function(el){Refresh.waitlistHints.push(new Control.Window(el,{position:'relative',className:'hoverFrame',closeOnClick:true,constrainToViewport:true}));});Refresh.setupWaitlistNewHint();},closeWaitlistHints:function(){Refresh.waitlistHints.each(function(hint){hint.close();});},setUpAllReservedHints:function(){Refresh.allReservedHints=[];$$('.helptip_all_reserved').each(function(el){Refresh.allReservedHints.push(new Control.Window(el,{position:'relative',className:'hoverFrame',closeOnClick:true,constrainToViewport:true}));});},closeAllReservedHints:function(){Refresh.allReservedHints.each(function(hint){hint.close();});},setupWaitlistNewHint:function(){if(Refresh.showWaitlistNewHint()&&!Refresh.seenWaitlistNewHint()){Refresh.waitlistNewHint=null;var firstJoinButton=Refresh.getFirstJoinButton();if(firstJoinButton){Refresh.waitlistNewHint=$('waitlist_new_helptip');Refresh.waitlistNewHint.setStyle({'position':'absolute','top':''+(firstJoinButton.viewportOffset().top-170)+'px','left':''+(firstJoinButton.viewportOffset().left+30)+'px'});$$('body').first().observe('click',Refresh.closeWaitlistNewHint.bindAsEventListener(Refresh));Refresh.waitlistNewHint.show();Refresh.waitlistNewHintMark();}}
else{}},closeWaitlistNewHint:function(){if(Refresh.waitlistNewHint){Refresh.waitlistNewHint.hide();}},showWaitlistNewHint:function(){return Refresh.getFirstJoinButton();},seenWaitlistNewHint:function(){return Cookie.get('waitlist_hint_seen')==1;},waitlistNewHintMark:function(){Cookie.set('waitlist_hint_seen',1);},waitlistNewHintUnmark:function(){Cookie.set('waitlist_hint_seen',0,-1);},getWaitlistEventOffer:function(){if(!Refresh.waitListEventOfferID){Refresh.waitListEventOfferID=''+$$('.event').first().id+'_'+$$('.offer').first().id+'_'+Refresh.getFirstSizeContainer().id;}
return Refresh.waitListEventOfferID;},getFirstJoinButton:function(){if(!Refresh.firstJoinButton&&Refresh.getFirstSizeContainer()){Refresh.firstJoinButton=Refresh.getFirstSizeContainer().select('.join_waitlist').select(function(el){return el.visible();}).first();}
return Refresh.firstJoinButton;},getFirstSizeContainer:function(){if(!Refresh.firstSizeContainer){Refresh.firstSizeContainer=$$('.sizes_container').select(function(el){return el.visible();}).first();}
return Refresh.firstSizeContainer;},showWaitlistFirstrowModal:function(){if(!Refresh.waitlistFirstrowModal){Refresh.waitlistFirstrowModal=new Control.Modal($('waitlist_firstrow_modal'),{className:'cart_modal_frame',closeOnClick:'overlay',constrainToViewport:true,fade:false,onComplete:this.attachCloseOnOverlayFirstrowClick.bind(this),overlayOpacity:0.3,parameters:{},width:425});Refresh.waitlistFirstrowModalAttachHeader();}
Refresh.waitlistFirstrowModal.open();},showWaitlistAddedModal:function(){if(!Refresh.waitlistModal){Refresh.waitlistModal=new Control.Modal($('waitlist_added_modal'),{className:'cart_modal_frame',closeOnClick:'overlay',constrainToViewport:true,fade:false,onComplete:this.attachCloseOnOverlayClick.bind(this),overlayOpacity:0.3,parameters:{},width:425});Refresh.waitlistModalAttachHeader();}
Refresh.waitlistModal.open();},waitlistModalAttachHeader:function(){if(Refresh.waitlistModal){Refresh.headerElImg=new Element('img',{'id':'cart_modal_close_icon','src':'http://0.static-production.ideeli.com/images/cart/cart_modal_close.gif','style':'position:absolute;top:0;right:0;'}).observe('click',Refresh.hideWaitlistModal.bind(Refresh));Refresh.headerElLink=new Element('a',{'href':'#','border':0,'title':'close','alt':'close'}).update(Refresh.headerElImg).observe('click',Refresh.hideWaitlistModal.bind(Refresh));Refresh.headerEl=new Element('div',{'id':'cart_modal_header','style':'height:17px;padding:0;margin:0;'}).update(Refresh.headerElLink).observe('click',Refresh.hideWaitlistModal.bind(Refresh));var container=Refresh.waitlistModal.getRemoteContentInsertionTarget();container.insert({'top':Refresh.headerEl});}},waitlistFirstrowModalAttachHeader:function(){if(Refresh.waitlistFirstrowModal){Refresh.headerElImg=new Element('img',{'id':'cart_modal_close_icon','src':'http://0.static-production.ideeli.com/images/cart/cart_modal_close.gif','style':'position:absolute;top:0;right:0;'}).observe('click',Refresh.hideWaitlistFirstrowModal.bind(Refresh));Refresh.headerElLink=new Element('a',{'href':'#','border':0,'title':'close','alt':'close'}).update(Refresh.headerElImg).observe('click',Refresh.hideWaitlistFirstrowModal.bind(Refresh));Refresh.headerEl=new Element('div',{'id':'cart_modal_header','style':'height:17px;padding:0;margin:0;'}).update(Refresh.headerElLink).observe('click',Refresh.hideWaitlistFirstrowModal.bind(Refresh));var container=Refresh.waitlistFirstrowModal.getRemoteContentInsertionTarget();container.insert({'top':Refresh.headerEl});}},hideWaitlistModal:function(){if(Refresh.waitlistModal){Refresh.waitlistModal.close();}},hideWaitlistFirstrowModal:function(){if(Refresh.waitlistFirstrowModal){Refresh.waitlistFirstrowModal.close();}},attachCloseOnOverlayClick:function(){if(Refresh.waitlistModal){$('control_overlay').observe('click',Refresh.hideWaitlistModal.bind(Refresh));}},attachCloseOnOverlayFirstrowClick:function(){if(Refresh.waitlistFirstrowModal){$('control_overlay').observe('click',Refresh.hideWaitlistFirstrowModal.bind(Refresh));}},showWaitlistRemovedModal:function(){Refresh.hideWaitlistModal();if(!Refresh.waitlistRemovedModal){Refresh.waitlistRemovedModal=new Control.Modal($('waitlist_removed_modal'),{className:'cart_modal_frame',closeOnClick:'overlay',constrainToViewport:true,fade:false,onComplete:this.attachCloseOnOverlayClickRemoved.bind(this),overlayOpacity:0.3,parameters:{},width:425});Refresh.waitlistRemovedModalAttachHeader();}
Refresh.waitlistRemovedModal.open();},waitlistRemovedModalAttachHeader:function(){if(Refresh.waitlistRemovedModal){Refresh.headerElImgRemoved=new Element('img',{'id':'cart_modal_close_icon','src':'http://0.static-production.ideeli.com/images/cart/cart_modal_close.gif','style':'position:absolute;top:0;right:0;'}).observe('click',Refresh.hideWaitlistRemovedModal.bind(Refresh));Refresh.headerElLinkRemoved=new Element('a',{'href':'#','border':0,'title':'close','alt':'close'}).update(Refresh.headerElImgRemoved).observe('click',Refresh.hideWaitlistRemovedModal.bind(Refresh));Refresh.headerElRemoved=new Element('div',{'id':'cart_modal_header','style':'height:17px;padding:0;margin:0;'}).update(Refresh.headerElLinkRemoved).observe('click',Refresh.hideWaitlistRemovedModal.bind(Refresh));var container=Refresh.waitlistRemovedModal.getRemoteContentInsertionTarget();container.insert({'top':Refresh.headerElRemoved});}},hideWaitlistRemovedModal:function(){if(Refresh.waitlistRemovedModal){Refresh.waitlistRemovedModal.close();}},attachCloseOnOverlayClickRemoved:function(){if(Refresh.waitlistRemovedModal){$('control_overlay').observe('click',Refresh.hideWaitlistRemovedModal.bind(Refresh));}},enterGiveaway:function(){var brand_newsletter_signup=($('brand_newsletter_signup_cbx')?$('brand_newsletter_signup_cbx').getValue():0);var req=new Ajax.Request(urls.get('sweepstakeEntry'),{parameters:{'brand_newsletter_signup':brand_newsletter_signup},method:'post',onComplete:function(transport){var req2=new Ajax.Request(urls.get('refreshEntryStatusEvent'),{method:'get'})}});},getBrandNewsletterSignupState:function(){if($('brand_newsletter_container')){Refresh.initBrandNewsletterPopups();}},attachBrandNewsletterSignupListener:function(){if($('brand_newsletter_signup_cbx')){$('brand_newsletter_signup_cbx').observe('click',Refresh.brandNewsletterSignupListener.bindAsEventListener(Refresh));}},brandNewsletterSignupListener:function(ev){var req=new Ajax.Request(urls.get('brandNewsletterSignup'),{method:'post',onLoading:function(transport){$('brand_newsletter_loading').show();$('brand_newsletter_cbx_container').hide();},onComplete:function(transport){if(transport.responseText.blank()){$('brand_newsletter_container').hide();}
else{Refresh.brandNewsletterCheckboxStatus(transport.responseJSON.brand_newsletter_subscriber);}}});},brandNewsletterCheckboxStatus:function(status){$('brand_newsletter_signup_cbx').writeAttribute('checked',(status?'checked':false));$('brand_newsletter_loading').hide();$('brand_newsletter_cbx_container').show();},initBrandNewsletterPopups:function(){$$('.brand_newsletter_popup').each(function(el){new Control.Window(el,{position:'relative',className:'hoverFrame',closeOnClick:true,offsetTop:16,offsetLeft:-16,constrainToViewport:true,width:300});});}}}();if(typeof(ideeli)=='undefined'){var ideeli={};}
ideeli.Magnifier=Class.create({initialize:function(){this._dom={container:$('magnifier'),overlay:$('magnifier-overlay'),tint:$('magnifier-tint'),pointer:$('magnifier-pointer'),image:$('magnifier-pointer').down('img'),tintImage:$('magnifier-tint-image'),zoomImage:$('magnifier-zoom-image').down('img'),zoomArea:$('magnifier-zoom-area'),currentImg:null};this._overlayCOffset=null;this._zoomFactor=1;this._loadedZoomImages={};var magImages=$$('img.magnify');magImages.each(function(img){img.observe('mouseover',this._show.bind(this))}.bind(this));this._preloadZoomImage(magImages.find(function(img){return img.visible();}).readAttribute('rel'));$$('.image_thumbnails').each(function(imgThumbnails){imgThumbnails.observe('mouseover',function(e){var el=e.findElement('img');if(el&&el.up().hasClassName('image_thumbnail')){var preview=$('image_container_'+el.up().id.split('_').last()).down('img.magnify');this._preloadZoomImage(preview.readAttribute('rel'));e.stop();}}.bind(this));}.bind(this));this._dom.pointer.observe('mouseout',this._hide.bind(this));this._dom.overlay.observe('mousemove',this._onMouseMove.bind(this));document.observe('mousemove',function(e){if(this._dom.pointer.visible()&&!Position.within(this._dom.pointer,e.pointerX(),e.pointerY())){this._hide();}}.bind(this));},px:function(integer){return integer+'px';},_show:function(e){e.stop();this._dom.currentImg=e.element();this._dom.image.src=this._dom.currentImg.src;this._dom.tintImage.src=this._dom.currentImg.src;var zoomImageSrc=this._dom.currentImg.readAttribute('rel');var zoomImageObj=new Image;this._showTint();this._showContainer();this._dom.pointer.removeClassName('loading');this._showPointer(e);if(!this._loadedZoomImages[zoomImageSrc]){this._dom.pointer.addClassName('loading');zoomImageObj.onload=this._onZoomImageLoaded.bind(this,e,zoomImageObj);}else{this._showZoomImage(this._loadedZoomImages[zoomImageSrc]);}
zoomImageObj.src=zoomImageSrc;},_showContainer:function(){this._dom.currentImg.hide();this._dom.container.show();this._setOverlayCOffset();},_showTint:function(){this._dom.tint.setOpacity(.10);this._dom.tintImage.setOpacity(.10);},_showPointer:function(e){if(!this._dom.pointer.hasClassName('loading')){this._dom.pointer.setOpacity(0);this._dom.pointer.show();}
var mouseX=e.pointerX();var mouseY=e.pointerY();var pointerCOffset=this._dom.pointer.cumulativeOffset();var pointerCX=pointerCOffset[0];var pointerCY=pointerCOffset[1];var pointerOffset=this._dom.pointer.positionedOffset();var pointerX=pointerOffset[0];var pointerY=pointerOffset[1];var widthFactor=this._dom.pointer.getWidth()/2;var heightFactor=this._dom.pointer.getHeight()/2;var newX=pointerX+(mouseX-pointerCX)-(widthFactor);var newY=pointerY+(mouseY-pointerCY)-(heightFactor);var newLeft=mouseX-widthFactor;var newTop=mouseY-heightFactor;var newRight=mouseX+widthFactor;var newBottom=mouseY+heightFactor;if(newLeft<this._overlayCOffset.left){newX=0;}
if(newTop<this._overlayCOffset.top){newY=0}
if(newRight>(this._overlayCOffset.right)){newX=this._dom.overlay.getWidth()-this._dom.pointer.getWidth();}
if(newBottom>(this._overlayCOffset.bottom)){newY=this._dom.overlay.getHeight()-this._dom.pointer.getHeight();}
this._dom.pointer.setStyle({left:this.px(newX),top:this.px(newY),display:'block'});if(!this._dom.pointer.hasClassName('loading')){this._positionImages();this._dom.pointer.setOpacity(100);}},_showZoomImage:function(zoomImageObj){if(this._dom.zoomImage.src==zoomImageObj.src)return;this._dom.zoomImage=this._dom.zoomImage.writeAttribute('width',zoomImageObj.width);this._dom.zoomImage=this._dom.zoomImage.writeAttribute('height',zoomImageObj.height);this._zoomFactor=Math.round(Math.sqrt((this._dom.zoomImage.width*this._dom.zoomImage.height)/(this._dom.currentImg.width*this._dom.currentImg.height)));this._dom.zoomImage.src=zoomImageObj.src;},_hide:function(){this._hidePointer();this._hideTint();this._dom.container.hide();if(this._dom.currentImg){this._dom.currentImg.show();this._dom.currentImg=null;this._dom.zoomImage.src='#';}},_hidePointer:function(){this._dom.pointer.hide();this._dom.image.src='#';},_hideTint:function(){this._dom.tint.setOpacity(0);this._dom.tintImage.setOpacity(0);this._dom.tintImage.src='#';},_onZoomImageLoaded:function(e,zoomImageObj){if(!this._dom.currentImg)return;this._dom.pointer.removeClassName('loading');this._showZoomImage(zoomImageObj);this._loadedZoomImages[zoomImageObj.src]=zoomImageObj;},_onMouseMove:function(e){this._showPointer(e);},_preloadZoomImage:function(src){var zoomImage=new Image;var loadedZoomImages=this._loadedZoomImages;if(!loadedZoomImages[src]){zoomImage.onload=function(){loadedZoomImages[zoomImage.src]=zoomImage;}
zoomImage.src=src;}},_setOverlayCOffset:function(){this._overlayCOffset=this._dom.overlay.cumulativeOffset();this._overlayCOffset.right=this._overlayCOffset.left+this._dom.overlay.getWidth();this._overlayCOffset.bottom=this._overlayCOffset.top+this._dom.overlay.getHeight();},_positionImages:function(){var pointerOffset=this._dom.pointer.positionedOffset();this._dom.image.setStyle({left:'-'+this.px(pointerOffset[0]+1),top:'-'+this.px(pointerOffset[1]+1)});this._dom.zoomImage.setStyle({left:'-'+this.px(pointerOffset[0]*this._zoomFactor),top:'-'+this.px(pointerOffset[1]*this._zoomFactor)});}});