//<![CDATA[

//*****************************************************************************
// Copyright 2004 by Eagle Research, Inc.
// See http://www.xeaglex.com
//*****************************************************************************

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] : null; 
	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 getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function createID() {
	var mnths = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
	var d = new Date();
	var y = "" + d.getUTCFullYear();
	nowYr = y.substring(3,4);
	nowM = mnths [d.getUTCMonth()];
	var h = d.getUTCDate() * 24 + d.getUTCHours() - 24;
	nowHrs = "" + h;
	while (nowHrs.length < 3)
		nowHrs = "0" + nowHrs;
	var ms = d.getUTCMilliseconds();
	nowMs = "" + ms;
	while (nowMs.length < 3)
		nowMs = "0" + nowMs;
	return nowYr + nowM + nowHrs + nowMs + "001" + nowYr + nowM + nowHrs;
}

function incrementID(vID) {
// Increment only if new visit.  Assume new visit
// if more than one hour since last visit
	prevYr  = vID.slice(11,12);
	prevM   = vID.slice(12,13);
	prevHrs = vID.slice(13);
	createID();
	if (nowYr == prevYr && nowM == prevM && (Number(nowHrs) - Number(prevHrs)) < 2)
		return vID;
// New visit:  increment
	var part1 = vID.slice(0,8);
	var count = vID.slice(8,11);
	var c = Number(count) + 1;
	count = "" + c;
	while (count.length < 3)
		count = "0" + count;
	return part1 + count + nowYr + nowM + nowHrs;
}

var cookieName = "xeaglex";
var expDays = 365;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

var nowYr = " ";
var nowM  = " ";
var nowHrs = "   "; 
var nowMs = "   ";
var prevYr = " ";
var prevM  = " ";
var prevHrs = "   "; 


function visitorID(){
	var vID = getCookie(cookieName);
	if(vID == null) 
		vID = createID()
	else
		vID = incrementID(vID);
	setCookie(cookieName, vID, exp, "/");
	return vID;
}

function visitorMS() {
	var d = new Date();
	return d.getUTCMilliseconds()
}	
//]]>