function getArgs() {
	var args = new Object();
	var query = location.search.substring(1); 
	var pairs = query.split("?"); 
	
	for(var i = 0; i < pairs.length; i++) {

		var pos = pairs[i].indexOf('='); 
		if (pos == -1) continue; 
		var argname = pairs[i].substring(0,pos); 
		var value = pairs[i].substring(pos+1); 
		args[argname.toLowerCase()] = unescape(value.toLowerCase());
	}
	return args; // Return the Object
}



function setCookie(name, value, days) {
	if (!days) days = 0;
	var expdate = new Date();
	expdate.setTime(expdate.getTime() + days*24*60*60*1000);
	var host = document.location.host;
	var pairs = host.split(".");
	var domain = pairs[pairs.length-2] + "." + pairs[pairs.length-1];
	if (days == 0) {
		document.cookie = name + "=" + escape(value) + "; domain=" + domain;
	} else {
		document.cookie = name + "=" + escape(value) + "; expires=" + expdate.toGMTString() + "; domain=" + domain;
	}
}


function getCookies () {
	var dc = document.cookie;
        var args = new Object();
        var pairs = dc.split(";");
        for(var i = 0; i < pairs.length; i++) {

                var pos = pairs[i].indexOf('=');
                if (pos == -1) continue;
                var argname = pairs[i].substring(0,pos);

                var value = pairs[i].substring(pos+1);
                args[argname.toLowerCase()] = unescape(value.toLowerCase());
        }
        return args; // Return the Object
}


function clearCookie (name) {
	setCookie(name, "", -1);
}


function getTrackingCode() {
	var args = getArgs();
	var cookies = getCookies();

	if (args.id) {
		clearCookie("id");
		setCookie("id", args.id, "60");
		return args.id;
	}
	if (cookies.id) {
		return cookies.id;
	}
	if (document.referrer.indexOf("google") != -1) {
		setCookie("id", "gg", "60");
		return "gg";
	}
	if (document.referrer.indexOf("yahoo") != -1) {
		setCookie("id", "yh", "60");
		return "yh";
	}
	if (document.referrer.indexOf("altavista") != -1) {
		setCookie("id", "av", "60");
		return "av";
	}
	if (document.referrer.indexOf("exite") != -1) {
		setCookie("id", "ex", "60");
		return "ex";
	}
	if (document.referrer.indexOf("msn") != -1) {
		setCookie("id", "ms", "60");
		return "ms";
	}
	return null;
}


function rewriteDownloadLink(fileKickerID, fileName, fileExtension) {
	trackingCode = getTrackingCode();
	if (trackingCode){
		return "http://dl.filekicker.com/nc/file/" + fileKickerID + "/" + fileName + "-" + trackingCode + "." + fileExtension;
	} else {
		return "http://dl.filekicker.com/nc/file/" + fileKickerID + "/" + fileName + "." + fileExtension;
	}
}


function rewriteDownloadNowImageLink(fileKickerID, fileName, fileExtension) {
	url = rewriteDownloadLink(fileKickerID, fileName, fileExtension);
		document.write("<A HREF=\"" + url + "\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage(\'download1\',\'\',\'i/download_now_over.gif\',1)\">");
}

function rewriteDownloadLinkAsLink(fileKickerID, fileName, fileExtension) {
	url = rewriteDownloadLink(fileKickerID, fileName, fileExtension);
		document.write("<A HREF=\"" + url + "\">");
}


function rewriteEcommerceLink(url, name) {
	trackingCode = getTrackingCode();
	var pairs = url.split("?");
	if (pairs.length > 0) {
		url = url + "?" + name + "=" + trackingCode; 
	} else {
		url = url + "?" + name + "=" + trackingCode;
	}
	return url;
}

function rewriteEcommerceLinkAsLink(url, name) {
	url = rewriteEcommerceLink(url, name);
	document.write("<A HREF=\"" + url + "\">");
}

function rewriteBuyNowImageLink(url, name) {
	url = rewriteEcommerceLink(url, name);
	document.write("<A HREF=\"" + url + "\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('buy1','','i/buy_now_over.gif',1)\">");
}

function rewritePurchaseLink(url, name) {
	url = rewriteEcommerceLink(url, name);
	document.write("<A HREF=\"" + url + "\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('purchase_btn','','i/btn_purchase_over.gif',1)\">");
}

function writeTrackingCode() {
	trackingCode = getTrackingCode();
	document.write(trackingCode);
}

getTrackingCode();

