function SetSessionCookie ( cookie_name, cookie_value, cookie_exp ) {
	if (cookie_exp.length > 0)
		document.cookie = cookie_name + "=" + escape(cookie_value) + "; expires=" + cookie_exp + ";";
	else
		document.cookie = cookie_name + "=" + escape(cookie_value) + ";";
}

function GetCookie ( cookie_name ) {
	var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');
	if (results)
		return (unescape(results[1]));
	else
		return null;
}

function GetQueryParam ( param_name ) {
	var paramValues = document.location.search;
	var results = paramValues.match(param_name + '=(.*?)(&|$)');
	if (results)
		return (unescape(results[1]));
	else
		return null;
}

function GetSessionParam( query_param_name, cookie_name ) {
	var affCookie = null;
	var affParm = GetQueryParam(query_param_name);
	var result = "";
	if (affParm != null) {
		var expDate = new Date();
		expDate.setMonth(expDate.getMonth() + 1);
		SetSessionCookie(cookie_name, affParm, expDate.toGMTString());
		affCookie = affParm;
	}
	if (affCookie == null) {
		affCookie = GetCookie(cookie_name);
	}
	if (affCookie != null)
		result = query_param_name + "=" + affCookie;
	return result;
}

function SetPartnerLinks() {
	var parms=GetSessionParam("partner", "AffiliatePartner");
	var source=GetSessionParam("source", "SourceCode");
	
	if (source.length > 0) {
		if (parms.length > 0)
			parms = parms + "&" + source;
		else
			parms = source;
			
	}

	if (parms.length > 0) {
		var nodes=document.getElementsByTagName("A");
		if (nodes != null) {
			var url;
			for (i=0; i<nodes.length; i++) {
				url = nodes[i].href;
				if (url.length > 33 && (url.substr(0,34).toLowerCase() == "http://shop.logicalexpressions.com")) {
					if (url.indexOf("?") == -1)
						nodes[i].href = url + "?" + parms;
					else
						nodes[i].href = url + "&" + parms;
				}
			}
		}
	}
}
