//$Rev: 22202 $
if(!window.mmpa){
	window.mmpa={
		domain:'wiggle.co.uk',
		server:'cg-global.maxymiser.com/v5pg/',
		cookie_domain:'',
		tpixel:false,
		cprefix:'mmpa.',

		SetPurchase:function(productid, count, amount, currency){this._purchases.push({product_id:productid,count:count,amount:amount,currency:currency});},
		SetRating:function(prod_or_attr, type_id, ratetype, rating){this._ratings.push({prod_or_attr:prod_or_attr,type_id:type_id,rate_type:ratetype,rating:rating});},
		SetRule:function(category_id, category_name, is_inclusion){this._filters.push({category_id:category_id,category_name:category_name,is_inclusion:is_inclusion?1:0});},
		SetControlVisitor:function(is_control){this._is_control=is_control},
		SetCampaign:function(campaign_id, campaign_name, method, num_recs, fields){this._methods.push({campaign_id:campaign_id,campaign_name:campaign_name,method:method,num_recs:num_recs,fields:fields});},
		PARequest:function(callback){var _t=this;_t._callback[++_t._request_id]=callback;_t._Tag(_t._TagUri());_t._Clear();},
		SetCookie:function(n,v,d,g){var exp=new Date(),_t=this,_h=_t._Host(_t._TL(location.hostname));exp.setTime(exp.getTime()+d*86400000);
		_t._d.cookie=escape((eval(g)?n:_t._PN(n)))+'='+escape(v)+(_h.length?';domain='+_h:'')+';path=/'+(d>0?(';expires='+exp.toGMTString()):'')},
		GetCookie:function(n,g){var _t=this;return unescape(_t._ValByKey(_t._d.cookie,escape((g?n:_t._PN(n))),'=',';'))},
	//transport
		Request:function(callback){var _t=mmpa;_t._rd=(new Date()).getTime();_t._async=true;return _t._sid[_t._request_id-1]=_t.PARequest(callback||function(){})},
		IsFinished:function(){var _t=mmpa,r=true,i,tc=_t._callback;if(_t.tpixel)r=((new Date()).getTime()-_t._rd)>=_t._rt;for(i=0;i<tc.length;i++)r=r&&(tc[i]==null);return r},
		StopRequest:function(){var _d=document,_t=mmpa,_n,i,s=_t._sid;for(i in s){_n=_d.getElementById(s[i]);if(_n){(_n.parentNode||_d).removeChild(_n);_n.src='about:blank';delete _n}}},

		//PRIVATE:
		_sid:[],_rd:null,_rt:1000,
		_jsver:'1.3',
		_fv:{},
		_methods:[],
		_purchases:[],_ratings:[],_filters:[],
		_callback:[],
		_request_id:0,
		_is_control:0,
		_async:true,
		_debug:false,_d:document,_l:window.location,
		_ValByKey:function(str,key,f,r)/*f-field, r-array of record separators*/{
			var k=key.replace(/\./g,'\\.'),sre1='\\s*('+k+')\\s*'+f+'([^'+r+']*)',r2='',m,_t=this,re=new RegExp(r+sre1,'gm'),re1=new RegExp('^'+sre1,'gm');
			while((m=re.exec(str))!=null)r2=_t._T(m[2]);if(r2===''&&(m=re1.exec(str))!=null)r2=_t._T(m[2]);
			return r2;},
		_T:function(str){return str.replace(/^\s+/g,'').replace(/\s+$/g,'')},
		_L:function(str){return str.toLowerCase()},
		_TL:function(str){return this._L(this._T(str))},
		_PN:function(str){return this._T(this.cprefix+str)},
		_Host:function(host){
			var cd=this.cookie_domain;host=host.replace(/(^www.)?(^localhost$)?/,'');
			var m=host.match((cd||this.domain).replace(/^www./,'')+".*");if(m)host=m[0];
			return (((!cd && m)||(!m && host))?'.':'')+host; },
		//PRIVATE:
		_SerializeArray:function(arr){
			var row,el,res='',col='',rec;
			for(row=0;row<arr.length;row++){col='';
				for(el in arr[row]){rec=arr[row][el];if(typeof rec=='undefined')rec='';col+=escape(rec)+',';}
				if(col.length>0)col=col.slice(0,-1);res+=col+';';}
			return escape(res);},
		_Tag:function(uri){var _t=this,_n,px=_t.tpixel,tp='text/javascript',d=_t._d,i,_a,id='_mmpatag_'+_t._request_id;
			if(_t._async){_n=d.createElement(px?'img':'script');_n.id=id;_n.src=uri;if(!px){_n.type=tp;_n.charset='utf-8'};
			_a=d.getElementsByTagName(px?'body':'head');if(_a&&_a.length)_a[0].appendChild(_n)
			}else{_t._d.write(px?'<img id="'+id+'" src="'+uri+'"\/>':'<scr'+'ipt id="'+id+'" type="'+tp+'" charset="utf-8" src="'+uri+'"><\/scr'+'ipt>')}
			return id },
		_TagUri:function(){
			var _t=this,_p=location.protocol,s='',s1='',i,_v,_k,sb=_t.GetCookie('mmcore.cfgID',1);_t._iid=_t.GetCookie('mmid',1);
			for(_k in _t._fv)s1+=_k+'='+_t._fv[_k]+';';s1.slice(0,-1)
			s=_t.server+'?'+'fv='+escape(s1);
			s+='&pu='+_t._SerializeArray(_t._purchases)+'&rat='+_t._SerializeArray(_t._ratings)
			   +'&rul='+_t._SerializeArray(_t._filters)+'&rh='+escape(_t.GetCookie('rh'))
			   +'&met='+_t._SerializeArray(_t._methods)+'&ri='+_t._request_id + '&ctrl='+_t._is_control;
			s+=(_t.tpixel?'&tp=1':'')+'&jsver='+_t._jsver+'&mmid='+_t._iid+'&sb='+sb;
			return s.indexOf('://')>0?s:((_p!=''?_p:'http:')+'//'+s)
		},
		_Init:function(){this._Clear();var _t=this,_fv=_t._fv,_u=location.href,_r=_t._d.referrer,_rnd=(''+Math.random()).substring(0,5),_id;
			_fv.dmn=_t.domain;_t.SetCookie('tst',_rnd,10);_fv.cok=(_t.GetCookie('tst')==_rnd?1:0);
			if(_r.length>256)_r=_r.substring(0,256);if(_u.length>1024)_u=_u.substring(0,1024);
			_fv.ref=escape(_r);_fv.url=escape(_u);_t._iid=_t.GetCookie('mmid',1);
		},
		_Clear:function(){var _t=this;_t._methods=[];_t._purchases=[];_t._ratings=[];}
	}
	window.mmpa._Init();
	if (navigator.userAgent.toLowerCase().indexOf("opera")!=-1) window.mmpa.Request=function (args) {return false;};
}
