//  multiboss.js
//  ===============================================================
//  "MULTIBOSS" SCRIPT
//  January 2001
//  for Shop@ssistant Classic Version 3.6.4C+ by Rodney Myers
//  Copyright © 2000-2001, Hodgson Myers Associates Ltd
//  Version 2.0
//  An Add-On for Shop@ssistant Classic
//  rmyers@i-way.co.uk                       Tel +44 (0)1865 200025
//  http://www.aflyingstart.net/addons/
//  Last Revised March 2001
//  ===============================================================
var multibossOp=false;
var MBB = new Array();
var LINE=1;
var SupplierCookie;
var cookieExpression='"364_"+SASS_ID';
var Ddlmt=unescape("%08");  // %0D
var Ldlmt=unescape("%07");
var noBoss='EITHER\tboss.js is not installed\nOR\tYou do not have the right version.\n\tPlease see readme.txt';
// For MULTIBOSS operation
function newchoice(d,r,v1,v2,p,q,w,t){
if(!newchoice1){alert(noBoss);}
else if(multibossOp){newchoiceMulti(d,r,v1,v2,p,q,w,t);}
else{newchoice1(d,r,v1,v2,p,q,w,t);}
}//

function newchoiceMulti(d,r,v1,v2,p,q,w,t){
MBB[LINE] = new MBBobj(d,r,v1,v2,p,q,w,t,true,"");
// alert("MBB["+LINE+"].Descr = "+MBB[LINE].Descr);
LINE++;
}

// For splitting data
function parser(InString,Sep){ /* adapted from McComb */ var NumSeps,Count,parse,Start,ParseMark,TestMark,LoopCtrl;Sep=(Sep==null)?";":Sep;NumSeps=1;InString=""+InString;for(Count=1;Count<InString.length;Count++){if(InString.charAt(Count)==Sep){NumSeps++;}}parse=new Array(NumSeps);Start=0;Count=1;ParseMark=0;LoopCtrl=1;while(LoopCtrl==1){ParseMark=InString.indexOf(Sep,ParseMark);TestMark=ParseMark+0;if((TestMark==0)||(TestMark==-1)){parse[Count]=InString.substring(Start,InString.length);LoopCtrl=0;break}parse[Count]=InString.substring(Start,ParseMark);Start=ParseMark+1;ParseMark=Start;Count++;}parse[0]=Count;return (parse);}

// for scripted image tags
function makeImage(iSRC,iH,iW,iB,iA,iALT,iHSP,iVSP){var Ret="<IMG ";Ret+=addAttrib("SRC",iSRC);Ret+=addAttrib("HEIGHT",iH);Ret+=addAttrib("WIDTH",iW);Ret+=addAttrib("BORDER",iB);Ret+=addAttrib("ALIGN",iA);Ret+=addAttrib("ALT",iALT);Ret+=addAttrib("HSPACE",iHSP);Ret+=addAttrib("VSPACE",iVSP);Ret+=">";return (Ret);}
function addAttrib(A,V){var Ret="";V=(V==null)?null:""+V;if(V!=null&&V.length>0){Ret+=A+'="'+V+'" '};return(Ret);}

// for MULTIBOSS
function multiproduct_start(){multibossOp=true;}
function multiproduct_end(){multibossOp=false;}
function strToZero(anyval){anyval=""+anyval;if(anyval.substring(0,1)<"0"||anyval.substring(0,1)>"9"){anyval="0";}return eval(anyval);}

function storeAsBasket(){
SupplierCookie=eval(cookieExpression);
window.status="Storing your shopping choices in cookie "+SupplierCookie;
var L = MBB.length;

var today=new Date();
var expires=new Date();
var BDATA="";

if(L>0)
{
for(var i=1;i<(L);i++)
{

BDATA+=MBB[i].Descr;BDATA+=Ddlmt;
BDATA+=MBB[i].Refno;BDATA+=Ddlmt;
BDATA+=MBB[i].VarL1;BDATA+=Ddlmt;
BDATA+=MBB[i].VarL2;BDATA+=Ddlmt;
BDATA+=MBB[i].Price;BDATA+=Ddlmt;
BDATA+=MBB[i].Quant;BDATA+=Ddlmt;
BDATA+=MBB[i].Weigh+";"+MBB[i].Wcube;BDATA+=Ddlmt;
BDATA+=MBB[i].Taxco;BDATA+=Ddlmt;
BDATA+=MBB[i].lFlag;BDATA+=Ddlmt;
BDATA+=MBB[i].LinkP;BDATA+=Ddlmt;
if(i<(L-1)){
BDATA+=Ldlmt;}
}}
else
 {
  BDATA = null;
 }
expires.setTime(today.getTime() + 60*60*24*1000);setCookie(SupplierCookie, BDATA, expires);
setCookie('Feature', 'MULTIBOSS');
}//

function setCookie(name,value,expire){
var temp=name;
temp+="="+escape(value);
temp+=(expire==null) ? "" : "; expires=" + expire.toGMTString();
temp+="; path=/";
document.cookie=temp;
}//

function MBBobj(Descr,Refno,VarL1,VarL2,Price,Quant,Weigh,Taxco,lFlag,LinkP){
var WDAT,QDAT;
var default_max=9999999;
this.Descr=Descr;
this.Refno=Refno;
this.VarL1=VarL1;
this.VarL2=VarL2;
this.LinkP=LinkP;
this.Price=Price;
this.Quant=Quant;
this.QTY=Math.abs(parseFloat(Quant));
this.Qlock=(''+Quant).charAt(0)=="-";
if((''+Quant).indexOf(";")>-1)
{
QDAT=parser(Quant);
this.Qinc=1*QDAT[1];
this.Qmin=1*QDAT[2];
this.Qmax=QDAT[0]<3?default_max:1*QDAT[3];
}
else
{
this.Qinc=1;
this.Qmin=1;
this.Qmax=default_max;
}


if((''+Weigh).indexOf(";")>-1)
{
WDAT=parser(Weigh);
this.Weigh=1*WDAT[1];
this.Wcube=1*WDAT[2];
this.Wairf=Math.max(this.Weigh,this.Wcube);
}
else
{
this.Weigh=Weigh;
this.Wcube=Weigh;
this.Wairf=Weigh;
}
this.Taxco=Taxco;
this.lFlag=lFlag;

return(this);
}

function multBossStartUp(){
storeAsBasket();
startup=MBstartup;
start_shop();
}

if(!window.wMCP){alert(noBoss);}

// END