// queryhandler.js

//  ==================================================
//  Entry point for Shop@ssistant site
//   Support for Remote links 'BOSS', 'RLBM' and 'REFERRAL' calls
//   For details go to http://www.shopassistant.net/addons/
//  Support for ?market=abc calls (new in MC4)
//  Copyright © 2001, Shop@ssistant eCommerce Solutions Ltd.
//  Created by Rodney Myers
//  ==================================================

var BasketCookie;

var CRLFsub="%0D%0A";
var CRLF=unescape("%0D%0A");

var Ddlmt=unescape("%08");
var Ldlmt=unescape("%07");
var TAX_DEFAULT=1; // Match this with vars of same name in tax.htm and boss.js (when you acquire BOSS Add-On)
var d,r,v1,v2,p,q,w,t,per,group,ref,f;
var market;

function check_search(){
BasketCookie="BSK"+SassLicence;// must match same var in cookies.js

var s = window.location.search;
// default values
d=r=v1=v2="";p=w=0;q=1;t=TAX_DEFAULT;per=1;ref="";group="0";
f="BOSS"; // default feature
market=""; // default addition to user_pages

if(s.length>0)
 {
	s = s.substring(1); //lose the q-mark
	s = swapstring(s,"+"," "); //reinstate the spaces
    var PAIR;
    var DATA=parser(s,"&")
	var count = DATA[0];
  for(var i=1;i<=count;i++)
	{
	PAIR=parser(DATA[i],"=");
	PAIR[2]=unescape(PAIR[2]);
	PAIR[2]=swapstring(PAIR[2],'\"','\\\"');

	if(PAIR[1].charAt(0)=="v")
		{
		PAIR[2] = swapstring(PAIR[2],CRLF,"<br>");
		}

	eval(PAIR[1]+"=\""+PAIR[2]+"\"");
	}
   v1=swapstring(v1,"<br>",CRLF);
   v2=swapstring(v2,"<br>",CRLF);
 }

if(market.length>0){ setmarket(market)}

storebasket(); // SET THE COOKIES
// START THE SYSTEM : If there is a search string
if(s.length>0){shopStart();}
}

function setmarket(market){
var today=new Date();
var expires=new Date();
	expires.setTime(today.getTime() + 365*24*60*60*1000);
setCookie('market', market , expires);
}

function storebasket(){
var today=new Date();
var expires=new Date();
var expired=new Date();
var linkPage;
var BDATA="";

if(d.length>0)
	{
	BDATA+=d ;BDATA+=Ddlmt;
	BDATA+=r ;BDATA+=Ddlmt;
	BDATA+=v1;BDATA+=Ddlmt;
	BDATA+=v2;BDATA+=Ddlmt;
	BDATA+=p ;BDATA+=Ddlmt;
	BDATA+=q ;BDATA+=Ddlmt;
	BDATA+=w+";"+w;BDATA+=Ddlmt;
	BDATA+=t;BDATA+=Ddlmt;
	BDATA+=per;BDATA+=Ddlmt;
	BDATA+=group;BDATA+=Ddlmt;
	BDATA+='true';BDATA+=Ddlmt;
	linkPage=""+getCookie("LOADTHISPAGENOW");
	linkPage=(linkPage=="none" || linkPage=="undefined")?"":linkPage;
	BDATA+=linkPage;
	BDATA+=Ddlmt;
	expires.setTime(today.getTime() + 15*60*1000);
	setCookie(BasketCookie, BDATA, expires);
	setCookie('Feature', f , expires);
	}
else
	{
	setCookie(BasketCookie, 'none', expired);
	setCookie('Feature', 'none' , expired);
	}

if(ref.length>0) { setCookie("rx","ref="+ref); } else { setCookie("rx","none",expired); }

}

// LIBRARY FUNCTIONS //
function setCookie(name,value,expire){ var temp=name; temp+="="+escape(value); temp+=(expire==null) ? "" : "; expires=" + expire.toGMTString(); temp+="; path=/"; document.cookie=temp; }
function getCookie(Name) { var search=Name+"="; if (document.cookie.length>0){ offset=document.cookie.indexOf(search); if(offset!=-1){ offset+=search.length; end=document.cookie.indexOf(";",offset); if(end==-1){end=document.cookie.length;} return unescape(document.cookie.substring(offset,end)); }}}
function parser(InString,Sep){ Sep=(Sep==null)?";":Sep; InString="_"+Sep+InString; var ARR=InString.split(Sep);ARR[0]=ARR.length-1; return(ARR); }
function swapstring(T,X,Y){T=""+T; var mark="É_É";var ret=""; if(Y.indexOf(X)>-1) { ret=swaps(T,X,mark); ret=swaps(ret,mark,Y); } else{ret=swaps(T,X,Y);} return(ret); }
function swaps(T,X,Y){ var P,n,l;l=X.length; while (T.indexOf(X)>-1){n=T.indexOf(X);P=T.substring(0,n)+Y+T.substring(n+l,T.length);T=P;} return(T);}


queryhandler_ok=true;
start();

// end


