// JavaScript Document
function Cookie(document,name,hours,path,domain,secure)
{
	this.$document = document;
	this.$name = name;
	if(hours) this.$expiration = new Date((new Date()).getTime() + hours * 3600000);
	else this.$expiration = null;
	if(path) this.$path = path; else this.$path = null;
	if(domain) this.$domain = domain; else this.$domain = null;
	if(secure) this.$secure = true; else this.$secure = false;
}

Cookie.prototype.store = function()
{
	var cookieval = "";
	for(var prop in this){
		if(prop.charAt(0) == '$' || ((typeof this[prop]) == 'function'))
			continue;
		if(cookieval != "")
			cookieval += '&';
		cookieval += prop + ':' + escape(this[prop]);
	}
	
	var cookie = this.$name + '=' + cookieval;

	if(this.$expiration) cookie += '; expires=' + this.$expiration.toGMTString();
	if(this.$path) cookie += '; path=' + this.$path;
	if(this.$domain) cookie += '; domain=' + this.$domain;
	if(this.$secure) cookie += '; secure';
	
	this.$document.cookie = cookie;
}

Cookie.prototype.load = function()
{
	var allcookies = this.$document.cookie;
	if(allcookies == "")
		return false;
	
	var start = allcookies.indexOf(this.$name + '=');
	if(start == -1)
		return false;

	start += this.$name.length + 1;
	
	var end = allcookies.indexOf(';', start);
	if(end == -1)
		end = allcookies.length;
		
	var cookieval = allcookies.substring(start,end);
	
	var a = cookieval.split('&');
	for(var i = 0; i < a.length; i++)
		a[i] = a[i].split(':');
		
	for(var i = 0; i < a.length; i++)
		this[a[i][0]] = unescape(a[i][1]);
		
	return true;
}

Cookie.prototype.remove = function()
{
	var cookie;
	cookie = this.$name + '=';
	
	if(this.$path)
		cookie += this.$path;
	if(this.$domain)
		cookie += '; domain=' + this.$domain;
	
	cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';
	
	this.$document.cookie = cookie;
}

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 nIndex = pairs[i].indexOf('=');
		if(nIndex == -1)
			continue;
		var name = pairs[i].substring(0,nIndex);
		var val = pairs[i].substring(nIndex + 1);
		args[name] = unescape(val);
	}

	return args;
}

function track()
{
	var myCookie = new Cookie(document,"id");
	if(myCookie.load())
		visNum = myCookie.id;
	else{
		var args = getArgs();
		if(args.id){
		
			visNum = args.id;
			myCookie.id = visNum;
			myCookie.store();
		}
	}
}

function isIDSet()
{
	var myCookie = new Cookie(document,"id");
	return myCookie.load();
}

function setID()
{
	track();
	
	var myCookie = new Cookie(document,"id");
	if(myCookie.load())
		return;
			
	myCookie.id = 1;
	myCookie.store();
}

var visNum = 0;