<!-- 
/**
 * Basic Affiliate Cookie Tracking
 * 
 * Change the values below to match requirements, include at end of any HTML pages you want tracking to pick-up. 
 * These pages don't HAVE to have the form on them, but where they do the field you specify will be updated.
 *
 * Usage:
 *
 *				<script language="JavaScript" type="text/javascript" src="bc-pneus-affid.js"></script>
 *
 */
 
// GLOBAL VARS
var sMatch = "affid"; // will match this in URL params in either upper-case or lower-case.
var sFormName = "serverForm"; // **MUST** match the on-page form ID - therefore ALL compatible forms must have this ID
var sFormFieldName = "acid"; // **MUST** match the form elemtns NAME to be passed back to BC
var iCookieExpires = 30; // days
var sCookieName = "PS_AFFID";
var bTesting = false; // change to false in a production environment

//------------------------- DO NOT CHANGE ANYTHING BELOW THIS LINE ---------------------------//

function setAffiliateCookie(sAffID) {
	var dDate = new Date();
	dDate.setTime(dDate.getTime() + (iCookieExpires*24*60*60*1000));
	var sCookie = sCookieName + "=" + sAffID + "; expires=" + dDate.toGMTString() + "; path=/";
	document.cookie = sCookie;
}

function getAffiliateCookie() {
	var aCookie = document.cookie.split(';');
	for(var i=0; i < aCookie.length; i++) {
		var aCrumbs = aCookie[i].replace(/^\s+|\s+$/g, '').split("=");
		if (aCrumbs[0] == sCookieName) {
			if (bTesting) setAffiliateCookie(aCrumbs[1]); // only reset if testing
			return aCrumbs[1];
		}
	}
	return '';
}

function setFormAffiliateID(sAffID) {
	var formObj = document.getElementById(sFormName);
	if (formObj && formObj.elements[sFormFieldName]){
		formObj.elements[sFormFieldName].value = sAffID;
	}
}

function testFormAffiliateID() {
	if (!bTesting) return true; 
	var formObj = document.getElementById(sFormName);
	if (formObj && formObj.elements[sFormFieldName]){
		alert("test:" + formObj.elements[sFormFieldName].value);
	}
}

function checkAffiliate() {
	try {
		var sURL = document.URL.toString();
		var sAffID = getAffiliateCookie();
		if (sAffID.length > 0){
			setFormAffiliateID(sAffID);
		}
		 if (sURL.indexOf("?") > 0) {
			var aParamPart = sURL.split("?");
			var aRawParams = aParamPart[1].split("&");
			for (var i=0; i < aRawParams.length; i++) {
				var aBits = aRawParams[i].split("=");
				if (aBits.length == 2 && sMatch == aBits[0].toLowerCase()){
					sAffID = aBits[1];
					setAffiliateCookie(sAffID);
					setFormAffiliateID(sAffID);
				}
			}
		}
	}
	catch (e)
	{
		// not a lot to be done ...
	}
}

// trigger check
checkAffiliate();
if (bTesting) testFormAffiliateID();
-->

