//  multiboss.js
//  ===============================================================
//  "MULTIBOSS" SCRIPT
//  January 2003
//  for Shop@ssistant Classic Version MC4 by Rodney Myers
//  Copyright © 2000-2003, Hodgson Myers Associates Ltd
//  Version 2.02
//  An Add-On for Shop@ssistant Classic
//  rodney@aflyingstart.net                       Tel +44 (0)1865 200025
//  http://www.aflyingstart.net/addons/
//  Last Revised April 2001
//  ===============================================================
var multibossOp=false;
var outsideSystemHandler=3; // for MAGIC
var MBB = new Array();
var LINE=1;
var BasketCookie;
var cookieExpression='"MYBSK"';
var Ddlmt="~";  // %0D
var Ldlmt="^";
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,per){
per=(per==null)?1:per;
if(!newchoice1){alert(noBoss);}
else if(multibossOp){newchoiceMulti(d,r,v1,v2,p,q,w,t,per);}
else{newchoice1(d,r,v1,v2,p,q,w,t,per);}
}//

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

// 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(){

BasketCookie=eval(cookieExpression);
window.status="Storing your shopping choices in cookie "+BasketCookie;
var L = LINE; //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].Per  ;BDATA+=Ddlmt;
BDATA+=MBB[i].Group;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(BasketCookie, 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,Per,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=Quant.split(';');
this.Qinc=1*QDAT[0];
this.Qmin=1*QDAT[1];
this.Qmax=QDAT.length<3?default_max:1*QDAT[2];
}
else
{
this.Qinc=1;
this.Qmin=1;
this.Qmax=default_max;
}


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

this.Per=Per;

this.lFlag=lFlag;

return(this);
}

function setmarket(market){ // 20 January 2003 from root queryhandler.js
var today=new Date();
var expires=new Date();
	expires.setTime(today.getTime() + 365*24*60*60*1000);
setCookie('market'+SassLicence, market , expires);
}

function multBossStartUp(){
storeAsBasket();
if(typeof(marketSetting)=="string"){setmarket(marketSetting);} // 20 January 2003
startup=MBstartup;
start_shop();
}

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

// END
