(function(){var MODE_IMAGES=1,MODE_LIST=2,ROW_LENGTH=5,THUMBNAIL_CONTAINER_TOP_OFFSET=1,NAME_LEFT_OFFSET=49;APN.Issue=function(){var _this=new Object(),_issue,_slug,_product_links,_product_checkables,_mode=MODE_IMAGES,_images_switch,_list_switch,_selectors={issue:'.issue',products:{element:'.item',links:'.item a',thumbnail:'#product_thumb_hover'},modes:{images:'#mode_images',list:'#mode_list'}};return $.extend(_this,{init:function(){_issue=$(_selectors.issue);_slug=_issue.attr('rel');_product_links=$(_selectors.products.links);_images_switch=$(_selectors.modes.images);_list_switch=$(_selectors.modes.list);_images_switch.addClass('viewing');_this.binds()},binds:function(){_images_switch.click(function(e){e.preventDefault();_this.switchMode(MODE_IMAGES)});_list_switch.click(function(e){e.preventDefault();_this.switchMode(MODE_LIST)});_product_links.hover(function(){var link=$(this);if(_mode==MODE_LIST)_this.thumbnailHoverShow(link.parents(_selectors.products.element))},function(){_this.thumbnailHoverDestroy()})},switchMode:function(mode){if(mode==_mode)return;var $tab=_issue;var changeLink=function(unselect,select){$tab.find('#mode_'+unselect).removeClass('viewing').end().find('#mode_'+select).addClass('viewing')};var $rows=$tab.find('.row'),$products=$tab.find('.item'),$columns=$tab.find('.column');if(mode==MODE_LIST){changeLink('images','list');var columnLength=Math.ceil($products.length/$columns.length),columnIndex=0;$rows.hide();$columns.each(function(){var $column=$(this),$columnProducts=((columnIndex+1)!=$columns.length)?$products.slice(columnLength*columnIndex,(columnLength*columnIndex)+columnLength):$products.slice(columnLength*columnIndex);$columnProducts.appendTo($column);columnIndex++});$columns.show()}else{changeLink('list','images');var rowIndex=0;$columns.hide();$rows.each(function(){var $row=$(this),$rowProducts=((rowIndex+1)!=$rows.length)?$products.slice((ROW_LENGTH*rowIndex),(ROW_LENGTH*rowIndex)+ROW_LENGTH):$products.slice(ROW_LENGTH*rowIndex);$rowProducts.appendTo($row);rowIndex++});$rows.show()};_mode=mode},thumbnailHoverShow:function(item){var $img=item.find('.thumbnail img:eq(0)').clone();var $hoverContainer=$('<div />').attr('id','product_thumb_hover');var $imageContainer=$('<div />').addClass('image').append($img);var $arrow=$('<div />').addClass('arrow');$hoverContainer.append($imageContainer).append($arrow);$('body').append($hoverContainer);var height=$hoverContainer.height(),width=$hoverContainer.width(),$name=item.find('p.name'),top=$name.offset().top,left=$name.offset().left;$hoverContainer.css({position:'absolute',top:Math.ceil(top-height)+THUMBNAIL_CONTAINER_TOP_OFFSET,left:left+NAME_LEFT_OFFSET,width:$img.attr('width')+22,height:$img.attr('height')+22})},thumbnailHoverDestroy:function(){$(_selectors.products.thumbnail).remove()}})}();$(function(){APN.Issue.init()})})(jQuery)