// search querystring for variable's value
function sd_getQueryVar(myvar) {
  var qs = window.location.search.substring(1);
  var vars = qs.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == myvar) {
      return pair[1];
    }
  }
  return null;
} 

// cookie functions using javascript
function sd_createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function sd_readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function sd_eraseCookie(name) {
	createCookie(name,"",-1);
}

// insert a script tag in document
function sd_writeScript(src){
	document.write(unescape("%3Cscript src='" + src + "' type='text/javascript'%3E%3C/script%3E"));
}

// find div element with sd_ prefix and _mp suffix
// (this mpid determines what video will be inserted)
function sd_find_div(){
	var sd_divs=document.getElementsByTagName("div");
	for(var i=0;i<sd_divs.length;i++){
		var myid=sd_divs[i].id;
		if(myid.substring(0,3)=="sd_" && myid.substring(myid.length-3)=="_mp"){
			return myid.substring(3);
		}
	}
	return "";
}

// find form field value by name (across all forms)
// (used for getting info on pages without information in the querystring)
function sd_find_formelem(fieldname){
        var sd_forms=["ItemForm","TrolleyForm"];
	var sd_curform, sd_curelem;
        for(var i=0;i<sd_forms.length;i++){
		sd_curform=document.forms[sd_forms[i]];
		if(sd_curform==null){
			continue;
		}
                sd_curelem=sd_curform.elements[fieldname];      
                if(sd_curelem!=null){                                                 
                        return sd_curelem.value;            
                }
        }
        return null;
}

// screen name is often stored in hbx.pn
function sd_find_hbxpn(){
	if(hbx!=null){
		return hbx.pn;
	}
	else{
		return null;
	}
}

// video settings to test
var sd_variants = [
	["videoNone",""],
	["videoAutoplay","&ap=play"],
	["videoPauseNoText","&ap=pause&ui=frontline2"],
	["videoPauseText","&ap=pause&ui=frontline3"]
];
// products included in test
var sd_testproducts = [
	/* artikelnummer, TreeNodeID, VariantTreeNodeID, mpid */
	["260218","516107","516080","CREemiliashirt_wh_260218_mp"],
	["246827","496601","496596","FORray_246827_mp"],
	["213133","253590","291401","Bench_mp"],
	["213133","253590","252623","Bench_mp"],
	["213133","253590","528729","BENfleecesora2_lilac_213133_mp"],
	["200632", "83689","432754","Dickies_So_Dog_mp"],
	["200632", "83689","571047","Dickies_So_Dog_mp"],
	["207240","324279","327104","FORbenito_207240_mp"],
	["233215","390198","448997","REVcanada_libr_233215_mp"],
	["247929","493060","*","TRSlongdt12_grmottled_247929_mp"],
	["260255","514585","*","VOLchalettee_black_260255_mp"], /* using wrong template */
	["260213","543015","*","REDnille_bl_W_260213_mp"],
	["252817","543725","*","LEVfishtailparka_olive_252817_mp"],
	["243621","499291","*","EZEdean_bl_243621_mp"],
	["243621","499291","*","EZEdean_bl_M_243621_mp"],
	["244697","521133","*","CLEcleptostpaulihoodie_blwh_244697_mp"],
	["234491","419646","*","BENshortcanvasparka__bl_234491_mp"],
	["216025","261373","*","Adidas_Samba_mp"],
	["232539","378766","*","Adidas_Samba_mp"]
];
var sd_trackerid = "UA-684719-1";

// extract product codes from querystring and construct virtual url
var sd_screen = sd_getQueryVar("screen") || sd_find_hbxpn() || sd_find_formelem("screen");
var sd_tnid   = sd_getQueryVar("tnid") || sd_getQueryVar("TreeNodeID") || sd_find_formelem("TreeNodeID");
var sd_vtnid  = sd_getQueryVar("vtnid") || sd_getQueryVar("VariantTreeNodeID") || sd_find_formelem("VariantTreeNodeID");
var sd_virtualpage = "/"+sd_screen+"/"+sd_tnid+"/"+sd_vtnid;

// if no variant saved in cookie, randomly assign one and save it to cookie
var sd_variant = sd_readCookie("sd_variant");
if(sd_variant==null){
	sd_variant = Math.floor(Math.random()*sd_variants.length);
	sd_createCookie("sd_variant", sd_variant, 365);
}

// look for video div with sd_ prefixed id
var sd_mpid=sd_find_div(); 

// insert appropriate sd script for current variant
if(sd_mpid!="" && sd_variants[sd_variant][1]!=""){
	var scrsrc="http://frontlineshop.bosioinc.com/in/?c=125&m=";
	scrsrc+=sd_mpid;
	scrsrc+=sd_variants[sd_variant][1]; 
	sd_writeScript(scrsrc);
}

// if this product is being tested, append a tracker code to querystring
// and add tracker cookie for checking upon or.trolley/or.confirmation
// (to be used in funnel definition within analytics)
for(var i=0; i<sd_testproducts.length; i++){
	if(sd_testproducts[i][1]==sd_tnid
	&& (sd_testproducts[i][2]==sd_vtnid || sd_testproducts[i][2]=="*")
	&& sd_testproducts[i][3]==sd_mpid){
		sd_virtualpage += "?sd_intest="+sd_variant;
		sd_createCookie("sd_intest", sd_variant, 365);
		break;
	}
}
// if this user is in the test, append tracker code to querystring
// (to be used in funnel definition within analytics)
if(sd_screen=="or.confirmation" || sd_screen=="or.trolley"){
	var sd_intest = sd_readCookie("sd_intest");
	if(sd_intest!=null){
		sd_virtualpage += "?sd_intest="+sd_intest;
	}
}

// insert google analytics javascript [needs to happen before this script is run]
//var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
//var gaJsSrc  = gaJsHost + "google-analytics.com/ga.js";
//sd_writeScript(gaJsSrc);

var sd_gaTracker = _gat._getTracker(sd_trackerid);
sd_gaTracker._initData();
sd_gaTracker._trackPageview(sd_virtualpage);
sd_gaTracker._setVar(sd_variants[sd_variant][0]);
