/** Copyright (c) Fluid, Inc. All Right Reserved. $Date: 2009/09/09 21:29:28 $ $Revision: 1.2 $*/fluid.declare("fluid.retail.merchandiser.util");fluid.include("fluid.managers.CookieManager");fluid.retail.merchandiser.util.RecentlyViewedGadget=function(value){this.cookieManager=new fluid.managers.CookieManager();};fluid.retail.merchandiser.util.RecentlyViewedGadget.prototype={cookieManager:null,cookieId:"fluid_retail_merchandiser_util_RecentlyViewedGadget",cookiePath:"/",sessionLength:20,maxLength:10,addItem:function(id,itemUrl){var items=this.getItems();if(items.length==this.maxLength)items.shift();var encodedItems="";for(var i=0;i<items.length;i++){var item=items[i];if(item.id!=id)encodedItems+=item.id+"|" + item.url + ",";}encodedItems+=id+"|"+itemUrl;this.setCookie(encodedItems);},addGadgetItem:function(id,itemUrl){var escapeUrl=escape(itemUrl);var items=this.getItems();if(items.length==this.maxLength)items.shift();var encodedItems="";for(var i=0;i<items.length;i++){var item=items[i];if(item.id!=id)encodedItems+=item.id+"|" + item.url + ",";}encodedItems+=id+"|"+escapeUrl;this.setCookie(encodedItems);},removeItem:function(id){var items=this.getItems();var encodedItems="";var itemsAdded=0;for(var i=0;i<items.length;i++){var item=items[i];if(item.id!=id){if(itemsAdded>0)encodedItems+=",";encodedItems+=item.id+"|"+item.url;itemsAdded++;}}this.setCookie(encodedItems);},clearItems:function(){this.cookieManager.removeCookie(this.cookieId);},getItemsXml:function(){var items=this.getItems();var xml="<Items>";for(var i=0;i<items.length;i++){var item=items[i];xml+="<Item id='" + item.id + "' url='" + item.url + "'/>";}xml+="</Items>";return xml;},getGadgetItemsXml:function(){var items=this.getGadgetItems();var xml="<Items>";for(var i=0;i<items.length;i++){var item=items[i];xml+="<Item id='" + item.id + "' url='" + item.url + "'/>";}xml+="</Items>";return xml;},getItems:function(){var items=new Array();var encodedItems=this.getEncodedItems();if(encodedItems!=""&&encodedItems!=null){var encodedItemsArray=encodedItems.split(",");for(var i=0;i<encodedItemsArray.length;i++){var item=encodedItemsArray[i];var idUrlPair=item.split("|");var id=idUrlPair[0];var url=idUrlPair[1];items.push({id:id,url:url});}}return items;},getGadgetItems:function(){var items=new Array();var encodedItems=this.getEncodedItems();if(encodedItems!=""&&encodedItems!=null){var encodedItemsArray=encodedItems.split(",");for(var i=0;i<encodedItemsArray.length;i++){var item=encodedItemsArray[i];var idUrlPair=item.split("|");var id=idUrlPair[0];var url=idUrlPair[1];var ueUrl=unescape(url);items.push({id:id,url:ueUrl});}}return items;},getEncodedItems:function(){var encodedItems=this.cookieManager.getCookie(this.cookieId);return encodedItems;},setCookie:function(value){var date=new Date();var currentMins=date.getMinutes();date.setMinutes(currentMins+this.sessionLength);this.cookieManager.setCookie(this.cookieId,value,date,this.cookiePath)}}; 


