// myShop stateless redirector version 2
var MYSHOP_VERSION="release_v200";

function myShopQueryString(s){
	var me=this,p=[],n=[];
	me.set=function(k,v){
		var b=false,l=n.length,i=0;
		for(;i<l;i++)if(n[i]==k){b=true;break;}
		if(!b)n[l]=k;
		p[k]=v
	};
	me.get=function(k){return(p[k]==null)?"":p[k]};
	me.getInt=function(k){return _i(me.get(k))};
	me.exist=function(k){return p[k]!=null};
	me.queryString=function(){
		var l=n.length,i=0,s="";
		for(;i<l;i++)s+=n[i]+"="+escape(p[n[i]])+"&";
		return s
	};
	if(s==null)s=self.location.search;
	if(s!=null&&s!=""){
		var p=s.substr(1).split("&"),l=p.length;
		for(var i=0;i<l;i++){
			if(p[i]!=""){
				var v=p[i].split("=");
				me.set(v[0],unescape(v[1]));
			}
		}
	}
}
function myShopCooky(){
	var me=this;
	me.update=function(n,s,d){
		var e=new Date();
		if(d!=null)e.setDate(e.getDate()+d);
		else e.setMonth(e.getMonth()+1);
		document.cookie=n+"= "+s+"; expires="+e.toGMTString()+"; path=/"
	};
	me.remove=function(n){document.cookie=n+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/"};
	me.read=function(name){
		var r="*",i=0,dc=document.cookie;
		name+="=";
		while(i<dc.length){
			var n=i+name.length;
			if(dc.substring(i,n)==name){
				var l=dc.indexOf(";",n);
				if(l==-1)l=dc.length;
				r=dc.substring(n,l);
				break;
			}
			i=dc.indexOf(" ",i)+1;
			if(i==0)break;
		}return r
	};
	me.enabled=function(){
		var b,n="c_s";
		me.update(n,"1");
		b=me.read(n)=="1";
		me.remove(n);
		return b
	};
}

function myShopUtil(){
	var me=this,pval=[],pkey=[];

	me.isEmpty=function(s){return(s==null||s=="")};
	me.getCustomQS=function(qs){return(me.isEmpty(qs))?"":((qs.charAt(0)=="&")?qs:"&"+qs)};
	me.getSID=function(){
		var q=new myShopQueryString((new myShopUtil()).search());
		return "__stateless="+q.get("__stateless")
	};
	me.search=function(){
		var wd=0,w=window,s="",err=w.onerror,v;
		w.onerror=function(){return true};
		do{
			v=""+w.location.search;
			if(v.indexOf("__stateless")!=-1){s=v;break}
			w=w.parent;
			if(++wd>50)break;
		}while(w!=window.top)
		if(s==""){
			v=""+w.location.search;
			if(v.indexOf("__stateless")!=-1)s=v;
		}
		window.onerror=err;
		return s;
	};
	function trim(v){return(v=='')?v:v.replace(/^\s+|\s+$/gi,'')}
}


function myShopLinkEnd(s,i){
	var l=s.length,c,sep=" ",n=i;
	while(n>0){
		c=s.charAt(n--);
		if(c=="=")break;
		else if(c=='"')sep='"';
		else if(c=='\'')sep='\'';
	}
	while(i<l){
		c=s.charAt(i);
		if(c=="?")break;
		else if(c==sep)break;
		else if(c=='>')break;
		i++;
	}
	if(i>=l)i=-1;
	return i;
}

function myShopReplaceFrames(){
	var dbug=myShopQuery.exist("__debug");
	if(dbug)alert("debug");
	
	var utl=new myShopUtil(),items,i,len,link,found=false;
	function insertSID(l){
		var pos=l.indexOf("?");
		if(pos!=-1)l=l.substring(0,pos+1)+utl.getSID()+"&"+l.substring(pos+1);
		else if(l.toLowerCase().indexOf("javascript")==-1)l+="?"+utl.getSID();
		return l;
	}
	function insertAll(el,attr){
		var items=document.getElementsByTagName(el);
		if(items!=null){
			for(var len=items.length,i=0;i<len;i++){
				if(items[i]!=null){
					link=""+items[i].getAttribute(attr);
					if(link.indexOf("_stateless")==-1){
						items[i].setAttribute(attr,unescape(insertSID(link)));
						//if(dbug)alert(items[i].getAttribute(attr));
					}
				}
			}
		}
	}
	insertAll("a","href");
	insertAll("frame","src");
	insertAll("iframe","src");
	
		
	var doc=document.documentElement.innerHTML;
	function codeInsertSID(se,sl,el,ee){
		var start=doc.indexOf("__stateless",sl);
		if((start==-1||start>ee)&&doc.substring(sl,el).indexOf(MYSHOP_VERSION)==-1){
			var qs='',n=1;
			if(doc.charAt(el)!='?'){
				qs='?';
				n=0;
			}
			doc=doc.substring(0,el+n)+qs+utl.getSID()+"&"+doc.substring(el+n);
			found=true;
		}else sl=el;
		return sl
	}
	
	function scanElement(elm,attr){
		attr=" "+attr+"=";
		elm=elm+" ";
		var i=doc.indexOf(elm),fi;
		while(i!=-1){
			var end=doc.indexOf(">",i),start=0;
			if(end!=-1){
				start=doc.indexOf(attr,i);
				if(start!=-1&&start<end){
					fi=i;
					i=start+attr.length+1;
					var q=myShopLinkEnd(doc,i);
					if(q!=-1)i=codeInsertSID(fi,i,q,end);
				}
			}
			i=doc.indexOf(elm,i+1);
		}
	}
	scanElement("IMG","onclick");
	scanElement("img","onclick");
	
	if(found){
		doc=doc.replace(/<script.+release_v200.js.+script>/i,"");
		document.open("text/html", "replace");
		document.write("<html>");
		document.write(doc);
		document.write("</html>");
		document.close();
	}
}

var myShopQuery=new myShopQueryString((new myShopUtil()).search());
var myShop_sr="",myShop_s="";

function myShopRebuildPage(){
	document.open("text/html", "replace")
	document.write("<html><header><script" );
	document.write(" language='JavaScript' src='http://www.mijnwinkel.nl/servlets/Stateless'></" );
	document.write("script><script");
	document.write(" language='JavaScript'>");
	document.write('function myShopQueryString(s){var me=this,p=[],n=[];me.set=function(k,v){var b=false,l=n.length,i=0;for(;i<l;i++)if(n[i]==k){b=true;break;}if(!b)n[l]=k;p[k]=v};me.queryString=function(){var l=n.length,i=0,s="";for(;i<l;i++)s+=n[i]+"="+escape(p[n[i]])+"&";return s};if(s==null)s=self.location.search;if(s!=null&&s!=""){var p=s.substr(1).split("&"),l=p.length;for(var i=0;i<l;i++){if(p[i]!=""){var v=p[i].split("=");me.set(v[0],unescape(v[1]));}}}}');
	document.write("function myShopReload(){__q=new myShopQueryString('"+myShop_sr+"');__q.set('__stateless',__si);document.location='"+myShop_s+"?'+__q.queryString();}</" );
	document.write("script></header><body onload='myShopReload();'></body></html>" );
	document.close();
}
	
if(!(new myShopCooky()).enabled()){
	if(!myShopQuery.exist("__stateless")){
		if(window.top==this){
			myShop_sr=""+document.location.search;
			myShop_s=""+document.location,i=myShop_s.indexOf("?");
			if(myShop_sr!="")myShop_sr=myShop_sr.replace(/'/gi,'\\\'');
			if(i!=-1)myshp_s=myShop_s.substring(0,i);
			window.setTimeout('myShopRebuildPage();',1)
		}
	}
	else window.setTimeout('myShopReplaceFrames();',1);
}


