// Tagging Code Copyright by NETMINING NV – http://www.netmining.com
// Revision date: 03 10 2002

tagSite="http://195.207.140.84/";
currentDomain="tagging.netmining.com"

browserName=navigator.appName;
browserVer=parseInt(navigator.appVersion);
var browserVersion;
if ((browserVer >= 4 & browserName == "Netscape") | (browserVer >= 4 & browserName == "Microsoft Internet Explorer")) browserVersion="4";
else browserVersion="3";

var reqProc = false;

function GetCookie (name) {  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i=0;  
	while (i < clen) {    
	var j = i + alen;    
	if (document.cookie.substring(i, j) == arg)      
		return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

function SetCookie (name, value) {  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : "";
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}


function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function main(query,type,url,path)
{
var now = new Date();
var datMonth=String(now.getMonth()+1);
var datDay=String(now.getDate());
	if (datMonth.length==1) {datMonth='0'+datMonth};
	if (datDay.length==1) {datDay='0'+datDay};
var datNow= datMonth+'/'+datDay+'/'+now.getFullYear();
var millis = now.getTime();
var hrNow = now.getHours();
var temp = '';
if (hrNow < 10 ) {
		temp='0';
	}
var transID = ""+millis;
var ACT = '';
var ACT = GetCookie('ACT');
	if(ACT == null) {
		SetCookie('ACT','Y')
		ACT = GetCookie('ACT');
	}

var currentUrl;
if (typeof(url)!="undefined") currentUrl = replace(url,'&','|');
else currentUrl = replace(top.document.location.href,'&','|');

var currentPath;
if (typeof(path)!="undefined") currentPath = path;
else currentPath = top.document.location.pathname;

tagServerURL=tagSite+type+'?URL='+escape(currentUrl)+'&PATH='+escape(currentPath)+'&ACT='+ACT+'&RAND='+transID+'&DT='+datNow+'&HR='+temp+hrNow+'&'+query+getScreenRes()+getTimeZone()+getLanguage()+getRequests()+getHistory()+getReferrer();
if (typeof(extraTagData)!="undefined") tagServerURL = tagServerURL + "&" + extraTagData;
return(tagServerURL);
}

function tag(queryString,url,path)
{
tagURL=main(queryString,'Tag',url,path);
var tag = new Image();
tag.src=tagURL;
}

function getReferrer()
{
	appendReferrer = false;
	ref = document.referrer;
	refer = "";
	if (ref.length > 0) {
		ref = getDomain (ref);
		refpts = ref.split (".");
		curpts = currentDomain.split (".");
		switch (curpts.length) {
			case 1:
				if (refpts[refpts.length-2] != curpts) appendReferrer = true;
				break;
			case 2:
				loc = ref.indexOf (currentDomain);
				if (loc < 0) appendReferrer = true;
				else if (loc > 0) {
					ch = ref.charAt (loc-1);
					if ((ch!='/') && (ch!=".") && (ch!='@')) appendReferrer = true;
				}
				break;
			case 3:
				if (ref != currentDomain) appendReferrer = true;
				break;
			default:
		}
		if (appendReferrer) {
			refer = "&REFDOM=" + escape(ref) + "&REF=" + escape (document.referrer);
		}
	}
	return refer;
}

function getDomain(urlStr)
{
	var url = new String (urlStr);
	start = url.indexOf (":");
	if (start >= 0) {
		url = url.substring (start + 3, url.length);
		end = url.indexOf ("/");
		if (end >= 0) {
			url = url.substring (0, end);
		}
		else end = url.length;
		auth = url.indexOf ("@");
		if (auth >= 0) {
			url = url.substring (auth+1, end);
		}
		domain = url;
	}
	else domain = "";
	return domain;
}

function getScreenRes() {
	res = "";
	if (browserVersion=="4") {
		SCRW = screen.width; 
		SCRH = screen.height;
		SCRC = screen.colorDepth;
		res = "&SCRW=" + SCRW + "&SCRH=" + SCRH + "&SCRC=" + SCRC;
	}
	return res;
}

function getTimeZone() {
	var D= new Date();
	var TZ=D.getTimezoneOffset()/-60;
	timezone = "&TZ=" + TZ;
	return timezone;
}

function getLanguage() {
	if (browserName == 'Netscape') language = navigator.language;
	else language = navigator.browserLanguage;
	lng = "&LANG=" + language.substring (0, 2).toUpperCase();
	return lng;
}

function getRequests() {
	var nreq = GetCookie ("requests");
	if (nreq == null) nreq = 0;
	nreq = parseInt (nreq);
	nreq++;
	var req = "&REQ=" + nreq;
	SetCookie ("requests", nreq);
	reqProc = true;
	return req;
}

function getHistory() {
	var his = "";
	if (((reqProc==true)&&(GetCookie("requests")=="1"))||(GetCookie("requests") == null)) {
		his = "&HISTORY=" + history.length;
	}
	return his;
}

function ScheduleForm (sUrl, timeout) {
	var argv = ScheduleForm.arguments;
	var argc = ScheduleForm.arguments.length;
	var startTime = GetCookie ("starttime");
	var sName = (argc>2) ? (argv[2]!=null) ? '"' + argv[2].replace(/"/g, "\\\"") + '"' : null : null;
	var sFeatures = (argc>3) ? (argv[3]!=null) ? '"' + argv[3].replace(/"/g, "\\\"") + '"' : null : null;
	var bReplace = (argc>4) ? (argv[4]!=null) ? '"' + argv[4] + '"' : null : null;
	if (startTime != null) {
		if (startTime=="0") timeout = -1;
		else {
			timeout = timeout - (new Date().getTime() - startTime);
			if (timeout <= 0) timeout = 1000;
		}
	}
	else {
		SetCookie ("starttime", new Date().getTime());
	}
	if (timeout > 0) window.setTimeout ("InvokeForm(\"" + sUrl + "\", " + sName + ", " + sFeatures + ", " + bReplace + ")", timeout);
}

function InvokeForm (sUrl, sName, sFeatures, bReplace) {
	window.open (sUrl, (sName==null)?"_blank":sName, sFeatures, bReplace);
	SetCookie ("starttime", "0");
}

function fixDate(date) {
	var base = new Date(0);
	var skew = base.getTime();
	if (skew > 0) date.setTime(date.getTime() - skew);
}

function getFormData(frm) {
	var data = "";
	for (var j=0; j<frm.elements.length; j++) {
		var elem = frm.elements[j], val="", inc=true;
		if (elem.type=="button") inc=(elem.tagName!="INPUT");
		if (elem.type=="checkbox"||elem.type=="radio") inc=elem.checked;
		if (inc) {
			val = elem.value;
			data += "&" + escape(elem.name) + "=";
			data += escape(val);
		}
	}
	return data;
}