/* .js file for managing recently viewed products.
 */

/* SIR # 16663 addCatentryId functionality is similar to addProduct instead addCatentryId adds
catentryId in csb_RVI cookie as per SIR requirment to control the cookie size, So addProduct
 fucntion is not being used  
*/
function addCatentryId(catentryID, cookieName){
   var value = catentryID;
   var cookieData = readCookie(cookieName);
   if(cookieData == null || cookieData == ''){ 	    
     createCookie(cookieName,value,MAX_LIFE_IN_DAYS);
     COOKIE_NAME = cookieName;  
     }
   else{
   		COOKIE_NAME = cookieName;
     var inThere = exists(cookieData,value);
     if(!inThere){
         var valueInArr =cookieData.split(ENTRY_SPLIT); 
        
         if(valueInArr.length >= MAX_ITEMS)
         { 
           var tempCookieData="";
         	for (i=0; i< MAX_ITEMS-1; i++)
         	 { if(i>0)
            	  {  tempCookieData = tempCookieData+ENTRY_SPLIT+valueInArr[i]; } 
               else
                 { tempCookieData=valueInArr[i]; }  
          	 }
          cookieData=tempCookieData;	 
         }
    	 cookieData = value+ENTRY_SPLIT+cookieData;
	     createCookie(COOKIE_NAME,cookieData,MAX_LIFE_IN_DAYS);
	  }     
     }
}


/* Load the instant product information from the cookie
 * 
 */
function loadRecentItems(){
  var cookieData = readCookie(COOKIE_NAME);
  var recent_item_list = null;
  if(cookieData != null && cookieData != ''){
     recent_item_list = cookieData.split(ENTRY_SPLIT);
     	
  } 
  return recent_item_list;
}

/* Returns an array of the item details. 
 *   itemDetails[0]="item number"
 *   itemDetails[1]="model number" //Must unescape to use.
 *   itemDetails[2]="sold as"
 *   itemDetails[3]="price"
 *   itemDetails[4]="description" //Must unescape to use.
 *   itemDetails[5]="field1"
 *   itemDetails[6]="field2"
 *   itemDetails[7]="catEntryId"
 *   itemDetails[8]="customerItem"
 */
function getItemDetails(recent_item){
  var itemDetails = unescape(recent_item).split(VALUE_SPLIT);
  return itemDetails;
}
  
/* Does the product exist already in the cookie */
function exists(cookieData,value){
  if(cookieData == null){
    cookieData = readCookie(COOKIE_NAME);
  }  
  //alert("cookieData? "+cookieData);
  if(cookieData != null || cookieData != ''){
    var recent_items = loadRecentItems();
    //alert("recent_items? "+recent_items);
    for(i=0; recent_items != null && i < recent_items.size(); i++){
      //alert(recent_items[i] +" == "+ value);
      if(recent_items[i] == value){
         return true;
      }
    } 
  }
  return false;
}

function addItemToPage(item, itemIndex, numOfItems){  
 var htmlString = "";
 if (item != null && item.size() == 9) {
 	var tableClassWithSep = '';
 	var tempCnt = itemIndex + 1;
 	//alert("itemIndex is: "+itemIndex);
 	//alert("numOfItems is: "+numOfItems);
 	if(tempCnt != numOfItems) {
 		tableClassWithSep = "<table class=\"item_separator\">";
 	}
 	else {
 		tableClassWithSep = "<table>";
 	}
 	
 	var str =unescape(item[4]); 
 	
 	 
 	htmlString = tableClassWithSep + "<tbody><tr>" +
 	"<td class=\"prod-details\" colspan =2>" +
 	"<b>" +
 	"<a class=\"cart_item_link\" href=\""+productDetailUrl +"_" +item[0] + "\">" + str.replace(/&amp;/g,'&')+ "</a>" +
 	"</b>" +
 	"<br>" +
 	"Item#: " + 
 	item[8] + 
 	"<br>" +
 	"Model#: " + 
 	unescape(item[1]) + 
 	"<br>" +
 	"Sold As: " + 
 	item[2] + 
 	"</td>" +
 	"<td>" +
 	"<a href=\""+productDetailUrl +"_" +item[0] + "\">" +
 	"<img alt=\"" + str.replace(/&amp;/g,'&')+ "\" src=\"" + scene7Url + item[0] + "?wid=65&amp;hei=65\"</a></td>" +
 	"</tr>" +
 	"<tr>" +
 	"<td width=\"50%\" class=\"prod-details\">" +
 	"<b>" + "<span id=\"item_3\">" +
 	item[3] + "</span>" +
 	"</b>" +
 	"</td>" +
 	"<td class=\"prod-details\" width=\"15%\">" +
 	"<input id=\"rcvQty_"+itemIndex+"\" name=\"rcvQty_"+itemIndex+"\" type=\"text\" size=\"3\" value=\"1\" maxlength=\"3\" onblur=\"javascript: setRecentlyViewedItemsText(this)\" onkeypress=\"javascript:return isNumberKey(event);\" />" +
 	"</td>" +
 	"<td width=\"35%\">" +
 	"<a class=\"cart_item_link\" id=\"rcvaddToCartHref_"+itemIndex+"\" href=\"#\" onclick=\"javascript:addRCVItemToCart(this, 'rcvQty_"+itemIndex+"', '"+item[5]+"', '"+ item[6]+"', '"+ item[7]+"' )\" > Add to Cart </a>" +
 	"</td>" +
 	"</tr>" +
 	"</tbody>" +
 	"</table>" + 	
 	"<br>";
  }
  return htmlString;
}
function setRecentlyViewedItemsText(theText) 
{
	if(theText.value == "" || theText.value == "0"){
         theText.value = "1";
      }
 }


function loadRecentlyViewedItems(inStockItemsArray) {
  var items = inStockItemsArray.split("&lt;SEP&gt;");
  var count = (items == null ? 0 : items.size());
  var showElement = 'false';
  var itemsArray = new Array();  
  var tempVar = 0;
  if(count > MAX_DISPLAY_ITEMS){
    count = MAX_DISPLAY_ITEMS;
  }
  if(items != null && items != "") {
	  for(i=0; i<items.size(); i++) {
	  	  // Should  display items that are NOT in Cart && Should display only IN-STOCK items.
		  if(document.getElementById('customerPartNum_'+trim(getItemDetails(items[i])[8])) == null )
		   {
		  	itemsArray[tempVar++] = getItemDetails(trim(items[i]));
		   }
	  }
	  var htmlCode = "";
	  for(j=0;j<count;j++){		
		if(itemsArray[j] != null) {
		   	var numOfItems = 0;
		   	if(itemsArray.size() > count) {
		   		numOfItems = count;
		   	}
		   	else {
		   		numOfItems = itemsArray.size();
		   	}
		   	htmlCode=htmlCode+addItemToPage(itemsArray[j],j,numOfItems);
		   	showElement='true';
		}
		document.getElementById("outerTable").innerHTML=htmlCode;
	  }
  }
  if(showElement == 'false') {
   	hideDivNow();
  } else {
   	showDivNow();
  }
}

function addRCVItemToCart(obj, qtyId, field1, field2,catEntryId) {
	
    rcvQtyBoxValue = document.getElementById(qtyId).value; 
    var URL = "OrderCalculate?URL=ShoppingCartView";
    var finalURL = 'OrderItemAdd?URL='+URL+'&quantity='+rcvQtyBoxValue+'&field1='+field1+'&field2='+ field2+'&catEntryId='+catEntryId ;
    obj.href = finalURL;
    }


function showDivNow() { 
	if (document.getElementById) { // DOM3 = IE5, NS6 
		document.getElementById('recently_viewed').style.visibility = 'visible'; 
	}
 }

function hideDivNow() { 
	if (document.getElementById) { // DOM3 = IE5, NS6 
	   document.getElementById('recently_viewed').style.visibility = 'hidden';
	}
 } 
 
   