// CookieToolkit.js

function writeCookie(cookieName, cookieValue, expires, domain, path, secureFlag)
{
   if (cookieName)
   {
      var cookieDetails = cookieName + "=" + escape(cookieValue);
      cookieDetails += (expires ? "; expires=" + 
         expires.toGMTString(): '');
      cookieDetails += (domain ? "; domain=" + domain: '');
      cookieDetails += (path ? "; path=" + path: '');
      cookieDetails += (secureFlag ? "; secure": '');
      document.cookie = cookieDetails;
   }
}

function readUnescapedCookie(cookieName)
   {
   var cookieValue = document.cookie;
   var cookieRegExp = new RegExp("\\b" + cookieName + "=([^;]*)");
   cookieValue = cookieRegExp.exec(cookieValue);
   if (cookieValue != null)
   {
      cookieValue = cookieValue[1];	
   }
   return cookieValue;
}

function readCookie(cookieName)
{
   cookieValue = readUnescapedCookie(cookieName)
   if (cookieValue != null)
   {
      cookieValue = unescape(cookieValue);
   }
   return cookieValue;
}

function deleteCookie(cookieName)
{
   var expiredDate = new Date();
   expiredDate.setMonth(-1);
   writeCookie(cookieName,"",expiredDate);
}

function writeMultiValueCookie( cookieName, multiValueName, value, expires, domain, path, secureFlag)
{
   var cookieValue = readUnescapedCookie(cookieName);
   if (cookieValue)
   {
      var stripAttributeRegExp = new RegExp("(^|&)" + 
         multiValueName + "=[^&]*&?");
      cookieValue = cookieValue.replace(stripAttributeRegExp,"$1");
      if (cookieValue.length != 0)
      {
         cookieValue += "&";
      }
   }
   else
   {
      cookieValue = "";
   }
   cookieValue += multiValueName + "=" + escape(value);
   var cookieDetails = cookieName + "=" + cookieValue;
   cookieDetails += (expires ? "; expires=" + expires.toGMTString(): '');
   cookieDetails += (domain ? "; domain=" + domain: '');
   cookieDetails += (path ? "; path=" + path: '');
   cookieDetails += (secureFlag ? "; secure": '');
   document.cookie = cookieDetails;
}

function readMultiValueCookie(cookieName, multiValueName)
{
   var cookieValue = readUnescapedCookie(cookieName)
   var extractMultiValueCookieRegExp = new RegExp("\\b" + 
      multiValueName + "=([^;&]*)");
   cookieValue = extractMultiValueCookieRegExp.exec(cookieValue);

   if (cookieValue != null)
   {
      cookieValue = unescape(cookieValue[1]);	
   }
   return cookieValue;
}

function deleteMultiValueCookie(cookieName, multiValueName, expires, domain, path, secureFlag)
{
   var cookieValue = readUnescapedCookie(cookieName);
   if (cookieValue)
   {
      var stripAttributeRegExp = new RegExp("(^|&)" + 
         multiValueName + "=[^&]*&?");
      cookieValue = cookieValue.replace(stripAttributeRegExp,"$1");

      if (cookieValue.length != 0)
      {
         var cookieDetails = cookieName + "=" + cookieValue;
         cookieDetails += (expires ? "; expires=" + 
            expires.toGMTString(): '');
         cookieDetails += (domain ? "; domain=" + domain: '');
         cookieDetails += (path ? "; path=" + path: '');
         cookieDetails += (secureFlag ? "; secure": '');
         document.cookie = cookieDetails;
      }
      else
      {
         deleteCookie(cookieName);
      }
   }
}

function cookiesEnabled()
{
   var cookiesEnabled = window.navigator.cookieEnabled;
   if (!cookiesEnabled)
   {
      document.cookie = "cookiesEnabled=True";
      cookiesEnabled = new Boolean(document.cookie).valueOf();
   }
   return cookiesEnabled;
}


function add (mtype,cata_id,sort,pgn,releasedate,pos)
{
var cookieName = "shoppingcart";
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var arrayQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/').split(',');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);
arrayQUANTITY[pos-1]++;
var listQUANTITY = arrayQUANTITY.join(',');
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
redirectTo();
//window.location = "listing.asp?mtype=" + mtype + "&cata_id=" + cata_id + "&sort=" + sort + "&pgn=" + pgn + "&releasedate=" ;
}


function sub (mtype,cata_id,sort,pgn,releasedate,pos)
{
var cookieName = "shoppingcart";
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var arrayQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/').split(',');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);
arrayQUANTITY[pos-1]--;
var listQUANTITY = arrayQUANTITY.join(',');
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
redirectTo();
//window.location = "listing.asp?mtype=" + mtype + "&cata_id=" + cata_id + "&sort=" + sort + "&pgn=" + pgn + "&releasedate=" ;
}


function idel (mtype,cata_id,sort,pgn,releasedate,pos)
{
var cookieName = "shoppingcart";
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var arrayQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/').split(',');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);
arrayQUANTITY[pos-1]=0;
var listQUANTITY = arrayQUANTITY.join(',');
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
redirectTo();
//window.location = "listing.asp?mtype=" + mtype + "&cata_id=" + cata_id + "&sort=" + sort + "&pgn=" + pgn + "&releasedate=" ;
}

function icdel (accessid,pos)
{
var cookieName = "shoppingcart";
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var arrayQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/').split(',');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);
arrayQUANTITY[pos-1]=0;
var listQUANTITY = arrayQUANTITY.join(',');
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
window.location = "checkout.asp?v=" + accessid;
}

function iupdate (accessid)
{
var cookieName = "shoppingcart";
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var arrayQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/').split(',');
var arrayPID = listPID.split(',');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);

for (i=0; i<document.checkoutform.elements.length; i++) 
{
	var tName = document.checkoutform.elements[i].name;
	var tValue = document.checkoutform.elements[i].value;
	for (m=0; m<arrayPID.length; m++) { 
		if (arrayPID[m] == tName) {
			arrayQUANTITY[m] = tValue; 
//			alert(m + '*' + tName + '*' + tValue);
		}
	}
}
var listQUANTITY = arrayQUANTITY.join(',');
//alert(listQUANTITY);
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
window.location = "checkout.asp?v=" + accessid;

}

function empty (mtype,cata_id,sort,pgn,releasedate)
{
deleteCookie('shoppingcart','','/');
var expireDate = new Date();
expireDate.setMonth(-1);
writeCookie('shoppingcart','',expireDate,'','/')
//alert(readCookie('shoppingcart'))
redirectTo();
}

function redirectTo ()
{
var temploc = readCookie('LastVisited','','/'); 
if (temploc == null)
{temploc = "/home.asp"}
window.location = temploc;
}

function additem(npid,nitem,nunit,nweight) { 

var outString = new String(nitem);
outString = outString.replace(/#/g, ",");
outString = outString.replace(/@/g, "&");

alert("Item # : " + npid + "\n" + "Title : " + outString + "\n" + "Quantity : 1 \n" + "Price : $" + nunit + "\n\n\n" + "The item has been added.  Click OK to continue shopping");
var cookieName = 'shoppingcart';
var listPID = readMultiValueCookie(cookieName,'PID','','/');
var listITEM = readMultiValueCookie(cookieName,'ITEM','','/');
var listUNIT = readMultiValueCookie(cookieName,'UNIT','','/');
var listQUANTITY = readMultiValueCookie(cookieName,'QUANTITY','','/');
var listWEIGHT = readMultiValueCookie(cookieName,'WEIGHT','','/');
var expireDate = new Date();
expireDate.setDate (expireDate.getFullYear() + 1);

var found = false;

if (readCookie(cookieName) != null)  {
	var arrayPID = listPID.split(',');
	var arrayQUANTITY = listQUANTITY.split(',')
	for (m=0; m<=arrayPID.length; m++) { 
		if (arrayPID[m] == npid) {
			found = true;
			arrayQUANTITY[m]++;
			listQUANTITY = arrayQUANTITY.join(',');
deleteCookie(cookieName);
writeMultiValueCookie(cookieName,'PID',listPID,expireDate,'','/');
writeMultiValueCookie(cookieName,'ITEM',listITEM,expireDate,'','/');
writeMultiValueCookie(cookieName,'UNIT',listUNIT,expireDate,'','/');
writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT,expireDate,'','/');
writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY,expireDate,'','/');
			if (found == true) break;
		}	
	}
}

	if (found == false) {
		if (readCookie(cookieName) == null) { 
		writeMultiValueCookie(cookieName,'PID',npid,expireDate,'','/');		
		writeMultiValueCookie(cookieName,'ITEM',nitem,expireDate,'','/');
		writeMultiValueCookie(cookieName,'UNIT',nunit,expireDate,'','/');
		writeMultiValueCookie(cookieName,'QUANTITY',1,expireDate,'','/');
		writeMultiValueCookie(cookieName,'WEIGHT',nweight,expireDate,'','/');			
		}
		else {
		deleteCookie(cookieName);
		writeMultiValueCookie(cookieName,'PID',listPID+','+npid,expireDate,'','/');		
		writeMultiValueCookie(cookieName,'ITEM',listITEM+','+nitem,expireDate,'','/');
		writeMultiValueCookie(cookieName,'UNIT',listUNIT+','+nunit,expireDate,'','/');
		writeMultiValueCookie(cookieName,'QUANTITY',listQUANTITY+','+1,expireDate,'','/');
		writeMultiValueCookie(cookieName,'WEIGHT',listWEIGHT+','+nweight,expireDate,'','/');			
		}
	}	
}
