var cm_pageID = "";
var cm_categoryID = "";

function getCookie(name) {
	var results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
	if(results)
		return unescape(results[2]);
	else
		return null;
}

function cmTrackExitLink(name) {
	var url = (event.srcElement.href) ? event.srcElement.href : 'unknown';
	cmMakeTag(["tid","1","pi",cm_pageID,"cg",cm_categoryID,"ul",url,"cm_sp",name]);
}

function cmCreatePageviewTag(pageID, categoryID, searchString, searchResults) {
	if (pageID == null) { pageID = cmGetDefaultPageID(); }
	
	cm_pageID = pageID;
	cm_categoryID = categoryID;
	
	cmMakeTag(["tid","1","pi",pageID,"cg",categoryID,"se",searchString,"sr",searchResults]);
}

function cmMakeTag(__v) {
	var cm = new _cm("vn2", "e4.0");
	var i;
	for (i = 0; i < __v.length; i += 2) {
		var _n = __v[i];
		var _v = __v[i + 1];
		cm[_n] = _v;
	}

	if (cm.tid == "6") {
		cm.addTP();
	}

	if (cm.tid == "1") {
		if (cI("cmTPSet") != 'Y') {
			cm.tid = "6";
			cm.addTP();
			document.cookie = "cmTPSet=Y; path=/";
		}
	}

	if ((cm.pi == null) && (cm.pc == "Y")) {
		cm.pi = cmGetDefaultPageID();
	}

	if (parent.cm_ref != null) {
		cm.rf = parent.cm_ref;
		if (cm.pc == "Y") {
			parent.cm_ref = document.URL;
		}
	}

	// if parent had mmc variables and this is the first pageview, add mmc to this url
	if(parent.cm_set_mmc) {
		cm.ul = document.location.href + 
				((document.location.href.indexOf("?") < 0) ? "?" : "&") + 
				parent.cm_mmc_params; 
		if (cm.pc == "Y") {
			parent.cm_ref = cm.ul;
			parent.cm_set_mmc = false;
		}
	}

	if (cm.ul == null) {
		cm.ul = window.location.href;
	}

	//check for zero price and zero quantity
	cmSafeZero(cm,["qt","bp","tr","sg"]);

	//check for manual_cm_mmc parameter;
	var cj = getCookie('affiliateID');
	var ls = getCookie('Linkshare_SiteID');
	var ln = getCookie('linkName');
	
	// CJ Affiliate?
	if (cj != null) {
		this.manual_cm_mmc = "CJ";
		// CJ Affiliate with linkName?
		if(ln != null) {
			this.manual_cm_mmc += "with" + ln;
		}
		else {
			this.manual_cm_mmc += "withNoLinkName";
		}
	}
	// LS Affiliate?
	else if (ls != null) {
		this.manual_cm_mmc = "LinkShare";
		// LS Affiliate with linkName?
		if(ln != null) {
			this.manual_cm_mmc += "with" + ln;
		}
		else {
			this.manual_cm_mmc += "withNoLinkName";
		}
	}
	// linkName?
	else if(ln != null) {
		this.manual_cm_mmc = ln;
	}
		
	if (this.manual_cm_mmc != null) {
		cm.ul = cm.ul + ((cm.ul.indexOf("&") == -1) ? ((cm.ul.indexOf("?") == -1) ? "?" : "&") : "&") + "cm_mmc=" + this.manual_cm_mmc + "-_-NA-_-NA-_-NA";
	}

	// convert MMC parameters to lowercase;
	cm.ul = cm.ul.replace(/cm_mmc/gi,"cm_mmc");
	cm.ul = cm.ul.replace(/cm_ven/gi,"cm_ven");
	cm.ul = cm.ul.replace(/cm_cat/gi,"cm_cat");
	cm.ul = cm.ul.replace(/cm_pla/gi,"cm_pla");
	cm.ul = cm.ul.replace(/cm_ite/gi,"cm_ite");

    cm.writeImg();
	if (cmCheckCMEMFlag) {
		cmCheckCMEMFlag = false;
		cmCheckCMEM();
	}	
}