(function(a){var m="click",o="<div></div>",k=true,f="#amazonItemsHolder",n="homepage",l="#amazonSearch",j="active",u="#similar",d="#amazonCategories",q="#relatedTags",h="#ShowMore",s="Categories",g="#Categories",r="NewReleases",t="#NewReleases",b=false,e="TopSellers",p="#TopSellers",c=null;a.widget("ui.ebayGrid",{_maxItemsPerPage:35,_maxPerCategory:4,_userHistory:[],_navigationPrevious:c,_navigationNext:c,_curPage:0,_arrow:c,_init:function(){var f=this,i=this.element;f._createArrow();f._navigationNext=f.options.navigationNext;f._navigationPrevious=f.options.navigationPrevious;a("#cpanel").insertAfter(i).hide();i.html("");i.removeClass();i.addClass("amazonGrid");i.setTemplateURL("/js/templates/amazonGrid.htm");i.processTemplate();this._loadRootNodes();a(p).click(function(){f._curPage=0;f._getListItems(e);return b});a(t).click(function(){f._curPage=0;f._getListItems(r);return b});a(g).click(function(){f._curPage=0;f._getListItems(s);return b}).hide();a(h).click(function(){f._curPage=0;f._showMore();return b});a(q).hide();a("#amazonHeader #go").click(function(){f._curPage=0;f._findItems();return b});a(d).change(function(){f._onDepartmentChange()});a(u).click(function(){f._getSimilarItems()});if(f._navigationNext!==c&&f._navigationPrevious!==c){f._navigationNext.click(function(){f._onNextPage()});f._navigationPrevious.click(function(){f._onPreviousPage()})}},_onPreviousPage:function(){var a=this;a._curPage--;a._callNavigationMethod()},_onNextPage:function(){var a=this;a._curPage++;a._callNavigationMethod()},_callNavigationMethod:function(){var b=this;if(a(g).hasClass(j))b._getListItems(s);else b._findItems()},_handleNavigation:function(c){var a="visibility",b=this;b._navigationPrevious.css(a,b._curPage>0?"visible":"hidden");b._navigationNext.css(a,c?"visible":"hidden")},_getSimilarItems:function(){var a=this;a._setActiveLink();if(curCel==undefined||curCel==c){alert("something went wrong, cannot identify the current cell");return}var e=parseInt(curCel.id.substring(1,curCel.id.length),10),d=itms[e].CustomInfo;callWebservice("/svc/EBayServices.asmx/GetSimilarItems",JSON.stringify({ItemId:d}),function(b){a._emptyGrid();a._buildGrid(b.d)},b)},_onDepartmentChange:function(){var c=this,e=a(d).val(),b=c._getUserHistory(e);if(e=="0"){a(g).hide();a(h).show()}else{a(g).show();a(h).hide()}a(l).val(b);if(b!="")c._findItems();else a(p).click()},_getUserHistory:function(b){var a=this;for(i=0;i<a._userHistory.length;i++)if(a._userHistory[i].Key==b){return a._userHistory[i].Value;break}return c},_setUserHistory:function(c,b){var a=this;for(i=0;i<a._userHistory.length;i++)if(a._userHistory[i].Key==c){a._userHistory[i].Value=b;break}},_updateSearchHistory:function(d,c){var a=this;a._setUserHistory(d,c);callWebservice("/svc/EBayServices.asmx/StoreSearchHistory",JSON.stringify({SearchHistory:a._userHistory}),function(){},b)},_getSearchHistory:function(){var d=this;callWebservice("/svc/EBayServices.asmx/GetSearchHistory",JSON.stringify({}),function(b){if(b.d===c){a("#amazonCategories option").each(function(c,b){d._userHistory.push({Key:a(b).val(),Value:""})});d._userHistory.push({Key:n,Value:e})}else d._userHistory=b.d;d._loadHomePageGrid()},b)},_emptyGrid:function(){a(f).setTemplateURL("/js/templates/loadingScreen.htm");a(f).processTemplate()},_findItems:function(){var b=this,d=a("#amazonCategories option:selected").val(),c=a(l).val();if(c=="")return;b._setActiveLink();b._emptyGrid();callWebservice("/svc/EBayServices.asmx/FindItems",JSON.stringify({CategoryID:d,Keywords:c,PageNum:b._curPage,PageSize:b._maxItemsPerPage}),function(a){b._buildGrid(a.d.Items);b._createTaglinks(a.d.Tags);b._updateSearchHistory(d,c)},k)},_createTaglinks:function(d){var b="#relatedTags div",e=this;a(q).show();a(b).html("");d!==c&&d!=undefined&&a.each(d,function(f,c){var d=a("<a />").attr({href:"#"}).click(function(){a(l).val(c);e._findItems()}).text(c);a(b).append(d)})},_loadRootNodes:function(){var e=this,f=this.element;callWebservice("/svc/EBayServices.asmx/GetRootNodes","{}",function(b){if(b.d!=c&&b.d.length>0){a.each(b.d,function(e,b){var c=a("<option></option>").attr("value",b.Key).text(b.Value);c.appendTo(a(d))});e._getSearchHistory()}},b)},_setActiveLink:function(b){a("#main.amazonGrid #amazonHeader a").removeClass(j);a('#main.amazonGrid #amazonHeader a[id="'+b+'"]').addClass(j)},_showMore:function(){var b=this;if(a(p).hasClass(j))b._loadHomePageGrid(e,k);else a(t).hasClass(j)&&b._loadHomePageGrid(r,k)},_loadHomePageGrid:function(e,d){if(d==undefined){d=b;a(h).show()}else a(h).hide();var c=this;!d&&c._emptyGrid();if(e==undefined){e=c._getUserHistory(n);c._setActiveLink(e)}else c._updateSearchHistory(n,e);callWebservice("/svc/EBayServices.asmx/GetHomepageItems",JSON.stringify({ShowType:e,MaxPerCategory:c._maxPerCategory,SecondHalf:d}),function(a){c._buildGrid(a.d,k,d)},b)},_buildGrid:function(e,j,g){var d=this;d._handleNavigation(e.length>d._maxItemsPerPage);if(g==undefined||!g)itms=e;else a.each(e,function(b,a){itms.push(a)});a(f).html("");if(e===c)return;var l=c,h=c;a.each(itms,function(c,i){if(c<d._maxItemsPerPage||j)try{var e=a(o).attr("id","t"+c).mouseover(function(){hov(this)}).setTemplateURL("/js/templates/amazonItem.htm");e.processTemplate(itms[c]);if(i.IsTabTip){e.find("a").click(function(){d._switchToCategorySearch(i.CustomInfo);return b});h=i.CustomInfo}else e.find("a").click(function(){d._showDetailLightBox(this);return b});if(j)if(c==(g?d._maxItemsPerPage*2-1:d._maxItemsPerPage-1)||itms.length>c+1&&itms[c+1].IsTabTip){var k=h;e.find("a").mouseover(function(){d._showRightArrow(this,k);return b})}a(f).append(e)}catch(l){}});if(e.length<d._maxItemsPerPage)for(i=e.length;i<d._maxItemsPerPage;i++){var k=a(o).attr("id","t"+i).mouseover(function(){hov(this)}).addClass("empty");a(f).append(k)}},_createArrow:function(){var b=this;b._arrow=a(o).addClass("arrowRight")},_showRightArrow:function(g,c){var b=this,f=a(g).offset();a("#main.amazonGrid").append(b._arrow);b._arrow.unbind(m);b._arrow.click(function(){a(d).val(c);b._getListItems(e,c);b._arrow.hide()});b._arrow.css({left:f.left+100,top:f.top+35}).show()},_showDetailLightBox:function(f){var e=a(f).parent().attr("id");e=parseInt(e.substring(1,e.length),10);var d=itms[e].CustomInfo;if(d==undefined||d===c||d.length==0){alert("ASIN not found, cannot identify the item!");return}else callWebservice("/svc/EBayServices.asmx/GetSingleItem",JSON.stringify({ItemID:d}),function(f){var d="#closeplyr",e="marginLeft",b="#light";if(f!=c&&f.d!==c){a(b).css("width","640px");a(b).css(e,"-322px");a(b).css("height","auto");a(b).css("top","33px");a(d).css("top","114px");a(d).css(e,"246px");a(b).setTemplateURL("/js/templates/ebayBox.htm");a(b).processTemplate(f.d);a(b).show();a("#fade").show();a(d).show()}},b)},_switchToCategorySearch:function(b){var h=this;a('#amazonCategories option[value="'+b+'"]').length>0&&a(d).val(b);a(g).show();var f=h._getUserHistory(b);if(f!=""&&f!==c)a(d).change();else h._getListItems(e,b)},_getListItems:function(f,e){a(q).hide();if(e==undefined)e=a(d).val();var c=this;c._setActiveLink(f);c._emptyGrid();if(a(d).val()=="0")c._loadHomePageGrid(f);else callWebservice("/svc/EBayServices.asmx/GetListItems",JSON.stringify({CategoryID:e,ShowType:f,PageNum:c._curPage,PageSize:35}),function(a){c._buildGrid(a.d)},b)},destroy:function(){var b=this;a.widget.prototype.destroy.apply(this,arguments);a(u).unbind(m);if(b._navigationNext!==c&&b._navigationPrevious!==c){b._navigationNext.unbind(m);b._navigationPrevious.unbind(m)}}});a.extend(a.ui.amazonGrid,{defaults:{readOnly:b,navigationPrevious:c,navigationNext:c}})})(jQuery);
