// initial variables, constants
var hbxCommerce="";
var hbxTimezone="GMT";
var hbxPromocode="";
var HBX_GLOBAL_ROUNDUP="DM560603C2EN";
var HBX_COMMERCE_GLOBAL_ROUNDUP="975606080426";

// split hitbox accounts
if (document.cookie.indexOf('site=') != -1){
	var siteindex=document.cookie.indexOf('site=');
	var site=document.cookie.substring(siteindex+5,document.cookie.indexOf(';',siteindex));
	if (typeof site == "string")
		site=site.replace('%2D','-');
	var countryacct="";
	var regionacct="";
	switch (site){
		case "at":
			countryacct="DM58042230AB";
			regionacct="DM5805129JEF";
			hbxCommerce="975804284614";
			break;
		case "be":
			countryacct="DM580422KFAZ";
			regionacct="DM5805129JEF";
			hbxCommerce="975804289309";
			break;
		case "cn":
			countryacct="DM5805129FAW";
			regionacct="DM580512JPAB";
			break;
		case "cn-en":
			countryacct="DM5805129FAW";
			regionacct="DM580512JPAB";
			break;
		case "ch":
			countryacct="DM580422KPAE";
			regionacct="DM5805129JEF";
			hbxCommerce="975804281771";
			break;
		case "de":
			countryacct="DM580422JFDW";
			regionacct="DM5805129JEF";
			hbxCommerce="975804280019";
			break;
		case "fr":
			countryacct="DM580422KDWB";
			regionacct="DM5805129JEF";
			hbxCommerce="975805092202";
			break;
		case "ie":
			countryacct="DM5804226IAW";
			regionacct="DM56083172ND";
			hbxCommerce="975804285373";
			break;
		case "int":
			countryacct="DM5805126KED";
			regionacct="DM580512JPAB";
			break;
		case "it":
			countryacct="DM580422ODED";
			regionacct="DM5805129JEF";
			hbxCommerce="975804280958";
			break;
		case "jp":
			countryacct="DM5805129FAW";
			regionacct="DM580512JPAB";
			break;
		case "kr":
			countryacct="DM580512E2FA";
			regionacct="DM580512JPAB";
			break;
		case "nl":
			countryacct="DM580422J5AF";
			regionacct="DM5805129JEF";
			hbxCommerce="975804286537";
			break;
		case "uk":
			countryacct="DM580422G4DA";
			regionacct="DM5805129JEF";
			hbxCommerce="975804287230";
			break;
		case "us": 
			countryacct="DM580422NGAB";
			regionacct="DM580512FLDV";
			hbxCommerce="975804288048";
			break;
	}
	hbx.acct=countryacct + ";" + regionacct + ";" + HBX_GLOBAL_ROUNDUP;
}
else{
	hbx.acct=HBX_GLOBAL_ROUNDUP;
	hbxCommerce=HBX_COMMERCE_GLOBAL_ROUNDUP;
}

// split mlc paths between country, rollup accounts
if (hbx && hbx.mlc && hbx.mlc.indexOf(';') == -1 && document.cookie.indexOf('language=') != -1){
	// separate for country split
	var languageindex = document.cookie.indexOf('language=');	
	var languagedetail = "";
	languagedetail = document.cookie.substring(languageindex+9,document.cookie.indexOf(';',languageindex));
	languagedetail = languagedetail.replace('%2D','-');
	// separate for region split
	var regionindex = hbx.mlc.indexOf('/',1);
	if (languagedetail != "" && regionindex != -1)
		hbx.mlc = hbx.mlc.substring(hbx.mlc.indexOf(languagedetail)+languagedetail.length) + ";" + hbx.mlc.substring(regionindex) + ";" + hbx.mlc;
}

// set promo code
if (hbx && document.cookie.indexOf('promotion=') != -1){
	var promoindex = document.cookie.indexOf('promotion=');
	var promodetail = document.cookie.substring(promoindex+10,document.cookie.indexOf(';',promoindex));
	
	hbxPromocode = promodetail;
	
	if (document.cookie.indexOf('promotionvisited='+promodetail+';') == -1){

		// set 1 day cookie to prevent user from being counted as repeat response for every page load
		var today = new Date();
		var expire = new Date();
		expire.setTime(today.getTime()+3600000*24);
		document.cookie = "promotionvisited="+promodetail+";expires="+expire.toGMTString()+";path=/;";
		
		//hbx.cmp = hbxPromocode;
		// construct separate hit for campaign response
		var hbxx = {
	        pr: hbxPromocode,
	        bd: 'Gucci',
	        ca: 'adv',
	        pn: 'adv'
	      }
	
		var split = hbx.mlc.indexOf(';');
		var split2 = hbx.mlc.indexOf(';',split+1);
		
		hbxx.mlc = hbx.mlc.substring(0,split) + '/adv/' + hbxPromocode +
				   hbx.mlc.substring(split,split2) + '/adv/' + hbxPromocode +
				   hbx.mlc.substring(split2) + '/adv/' + hbxPromocode;
		
		Element.observe(document,"dom:loaded", function() { hbxProductView(hbxx); });
		
	}
}

function hbxProductView(obj){
	_hbSet('cpv.cacct',hbxCommerce);
	_hbSet('cpv.pr',obj.pr);
	_hbSet('cpv.bd',obj.bd);
	_hbSet('cpv.ca',obj.ca);
	_hbPageView(obj.pn,obj.mlc);
}

function hbxCartAdd(obj){
	_hbSet('aid',hbxCommerce);
	_hbSet('tz',hbxTimezone);
	_hbSet('epg','n');
	_hbSet('cam','0');
	_hbSet('pv','0');
	_hbSet('abd_type','cart_add');
	_hbSet('product',obj.pr);
	_hbSet('quantity',obj.qn);
	_hbSet('brand',obj.bd);
	_hbSet('category',obj.ca);
	_hbSet('price',obj.pc);
	_hbSet('store',obj.sr);
	_hbPageView(obj.pn,obj.mlc);
}

function hbxCheckout(obj){
	_hbSet('aid',hbxCommerce);
	_hbSet('tz',hbxTimezone);
	_hbSet('epg','n');
	_hbSet('abd_type','checkout');
	_hbSet('product',obj.pr);
	_hbSet('quantity',obj.qn);
	_hbSet('price',obj.pc);
	_hbSet('shippingtype',obj.st);
	_hbSet('shipping',obj.sp);
	_hbSet('store',obj.sr);
	_hbPageView(obj.pn,obj.mlc);
}

function hbxOrder(obj){	
	_hbSet('ord.cacct',hbxCommerce);
	_hbSet('ord.tz',hbxTimezone);
	_hbSet('ord.ci',obj.ci);
	_hbSet('ord.oi',obj.oi);
	_hbSet('ord.pr',obj.pr);
	_hbSet('ord.bd',obj.bd);
	_hbSet('ord.ca',obj.ca);
	_hbSet('ord.pc',obj.pc);
	_hbSet('ord.qn',obj.qn);
	_hbSet('ord.st',obj.st);
	_hbSet('ord.sp',obj.sp);
	_hbSet('ord.sr',obj.sr);
	_hbSet('ord.po',obj.po);
	_hbSet('ord.ds',obj.ds);
	_hbSet('ord.sy',obj.sy);
	_hbSet('ord.sa',obj.sa);
	_hbSet('ord.sz',obj.sz);
	_hbSet('ord.so',obj.so);
	_hbSet('ord.sk',obj.sk);
	_hbSet('ord.cu',obj.cu);
	_hbSet('ord.pt',obj.pt);
	_hbSet('ord.attr1',obj.attr1);
	_hbSet('ord.attr2',obj.attr2);
	_hbSet('ord.c1',obj.c1);
	_hbSet('ord.c2',obj.c2);
	if (obj.mlc.indexOf('thankyou_') != -1)
		_hbSet('gp',hbxPromocode);
	if (obj.pn.indexOf('conversion') != -1 && hbxPromocode != ""){
		var numitems = 1;
		var objqn = obj.qn;
		while (objqn.indexOf(',') != -1){
			numitems++;
			objqn = objqn.substring(objqn.indexOf(',')+1);		
		}
		var total = 0;
		var objpc = obj.pc;
		while (objpc.indexOf(',') != -1){
			total += parseInt(objpc.substring(0,objpc.indexOf(',')));
			objpc = objpc.substring(objpc.indexOf(',')+1);
		}
		total += parseInt(objpc);
		obj.pn += "_adv_" + hbxPromocode + "_" + numitems + "_" + total;		
	}
	_hbPageView(obj.pn,obj.mlc);
}