Veer.registerNamespace("Marketplace.Filmstrip");Marketplace.Filmstrip=function(){var Filmstrip=function(config){var CONFIG={rootContainerElement:"",seeAllItemsButtonElement:"",seeAllItemsResultTemplate:'<li class="textLineItem"><div class="line_item_thumb"><div class="line_item_positioner"><a href="#" class="seeAllItemsResultItem">'+((Marketplace.Controls&&Marketplace.Controls.Purchase)?Marketplace.Controls.Purchase.Globals.SeeAllResults:"")+"</a></div></div></li>",resultItemListElement:"",resultItemHtmlTemplate:'<li><div class="line_item_thumb"><div class="line_item_positioner"><a href="#"><img /></a></div></div></li>',resultItemIdPrefix:"",resultItemMultiRowContainerTemplate:'<li class="line_item_rowcontainer"></li>',scrollItemCount:1,visibleItemCount:3,rowCount:1,prevButtonElement:"",nextButtonElement:"",waitingIndicator:"",noResultsIndicator:'<li class="textLineItem"><div class="line_item_thumb"><div class="line_item_positioner">'+((Marketplace.Controls&&Marketplace.Controls.Purchase)?Marketplace.Controls.Purchase.Globals.NoResults:"")+"</div></div></li>"};CONFIG=$.extend(CONFIG,config||{});function showWaitingIndicator(){$(CONFIG.resultItemListElement).css("left","0px");$(CONFIG.resultItemListElement).empty().append(CONFIG.waitingIndicator);$(CONFIG.seeAllItemsButtonElement).addClass("disabled");}function hideWaitingIndicator(){$(CONFIG.resultItemListElement).find(".waitingIndicator").remove();}function loadFilmstripDataWithJson(queryString,callbackFunction){showWaitingIndicator();$.ajax({callbackParameter:"callback",url:queryString,success:callbackFunction,datatype:"json",cache:true});}function loadFilmstripDataWithJsonP(queryString,callbackFunction){showWaitingIndicator();$.ajax({callbackParameter:"callback",url:queryString,success:callbackFunction,dataType:"jsonp",cache:true});}function populateQueryResults(results,allItemsButtonTarget){if(!results||results.length==0){if(allItemsButtonTarget!=undefined&&allItemsButtonTarget.length>0){$(CONFIG.seeAllItemsButtonElement).attr("href","#").unbind("click").click(function(){return false;});}$(CONFIG.seeAllItemsButtonElement).unbind("click").click(function(){return false;});$(CONFIG.resultItemListElement).css("left","0px");$(CONFIG.resultItemListElement).empty().append(CONFIG.noResultsIndicator);}else{var outputQueue=undefined;if(CONFIG.rowCount>1){outputQueue=$("<ul></ul>");}for(var i=0;i<results.length;i++){var item=results[i];var clonedItem=$(CONFIG.resultItemHtmlTemplate);clonedItem.attr("id",CONFIG.resultItemIdPrefix+(item.sku||item.Sku));clonedItem.find("a").click(function(){if(typeof SendEvents=="function"){SendEvents("event4");}});var targetUrl=Veer.getProductUrl(item.description||item.Title,item.sku||item.Sku,item.productType);targetUrl=location.protocol+"//"+location.hostname.replace("www","marketplace")+targetUrl;clonedItem.find("a").attr("href",targetUrl);var img=clonedItem.find("img");if(i<(CONFIG.visibleItemCount*CONFIG.rowCount*2)){img.attr("src",item.thumb||item.Thumb);}else{img.data("imgsrc",item.thumb||item.Thumb);}img.attr("title",item.description||item.Title);if(CONFIG.rowCount>1){outputQueue.append(clonedItem);if(((i+1)%CONFIG.rowCount)==0){$(CONFIG.resultItemListElement).append($(CONFIG.resultItemMultiRowContainerTemplate).append(outputQueue));outputQueue=undefined;if(i<results.length-1){outputQueue=$("<ul></ul>");}}}else{$(CONFIG.resultItemListElement).append(clonedItem);}}if((results.length>(CONFIG.visibleItemCount*CONFIG.rowCount))&&(allItemsButtonTarget!=undefined&&allItemsButtonTarget.length>0)){if(CONFIG.rowCount>1){outputQueue.append(CONFIG.seeAllItemsResultTemplate);}else{$(CONFIG.resultItemListElement).append(CONFIG.seeAllItemsResultTemplate);}}if(CONFIG.rowCount>1&&outputQueue){$(CONFIG.resultItemListElement).append($(CONFIG.resultItemMultiRowContainerTemplate).append(outputQueue));}$(CONFIG.seeAllItemsButtonElement).unbind("click");if(allItemsButtonTarget!=undefined&&allItemsButtonTarget.length>0){$(CONFIG.rootContainerElement).find(".seeAllItemsResultItem").attr("href",allItemsButtonTarget);setSeeAllItemsButtonTarget(allItemsButtonTarget);$(CONFIG.seeAllItemsButtonElement).click(function(){if(typeof SendEvents=="function"){SendEvents("event50");}});}$(CONFIG.seeAllItemsButtonElement).removeClass("disabled");}hideWaitingIndicator();$(CONFIG.nextButtonElement).unbind("click");$(CONFIG.prevButtonElement).unbind("click");$(CONFIG.rootContainerElement).jCarouselLite({btnNext:CONFIG.nextButtonElement,btnPrev:CONFIG.prevButtonElement,circular:false,scroll:CONFIG.scrollItemCount,visible:CONFIG.visibleItemCount,afterEnd:function(a,curr){var start=(curr*CONFIG.rowCount)+(CONFIG.visibleItemCount*CONFIG.rowCount);var end=(curr*CONFIG.rowCount)+(CONFIG.visibleItemCount*CONFIG.rowCount*2);$(CONFIG.rootContainerElement+" div.line_item_thumb img").slice(start,end).each(function(i,img){if(($(img).attr("src")==undefined)||($(img).attr("src")=="")){var savedSrc=$(img).data("imgsrc");if(savedSrc!=undefined&&savedSrc!=""){$(img).attr("src",savedSrc);}}});},beforeStart:function(a){if(typeof SendEvents=="function"){SendEvents("event51");}}});}function setSeeAllItemsButtonTarget(targetUrl){$(CONFIG.seeAllItemsButtonElement).attr("href",targetUrl);}function bindEvents(){}return{CONFIG:CONFIG,loadFilmstripDataWithJson:loadFilmstripDataWithJson,loadFilmstripDataWithJsonP:loadFilmstripDataWithJsonP,populateQueryResults:populateQueryResults,initialize:function(){bindEvents();}};};return{Filmstrip:Filmstrip};}();
