<!--
function setSessionIds()
{	
	var bFnord = false;
	var sessionId = GetCookie('ASP.NET_SessionId');
	if(sessionId== "" || sessionId==null)
	{				
		sessionId = GenerateRandomStr(32);
		SetCookie('ASP.NET_SessionId',sessionId, null, null);
		bFnord = true;
		// RWilliams 5/15/2008 - I was unable to find this method and I'm fed up of seeing this error message
		//SetCartIdCookie(sId);
	}
	var guidValue = GetCookie('fsguid');
	if(guidValue==null || guidValue=="")
	{
		guidValue = CreateGuIDCookie();
		bFnord = true;
	}
	if(bFnord == true)
	{
		logUserVisit();
	}
}

function CreateGuIDCookie()
{
	var guidValue = GenerateGuID();
	SetCookie('fsguid',guidValue, 10950, 'd', guidCookieDomain);
	return guidValue;
}

function GenerateRandomStr(strLen)
{		
	var sVal = "";			
	var Char = "poiuytrewqlkjhgfdsamnbvcxz1234567890";						
	for(x=1; x<strLen; x++) { sVal += Char.substr(Math.round((Math.random() * Char.length)),1); }			
	return sVal;					
}

function logUserVisit()
{
	try
	{
		var xhtReq = getXmlHttpRequestObject();
		var queryString = "?ref=" + document.referrer;
		var finalUrl = logUrl;
		if(document.URL.indexOf("https:") != -1)
		{
			finalUrl = finalUrl.replace("http:","https:");
		}
		xhtReq.open('POST', finalUrl + queryString, true);
		xhtReq.send('');
	}
	catch(err){} //do nothing
}

function getXmlHttpRequestObject()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		var msxHtm;
		try
		{
			msxHtm = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				msxHtm = ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(err)
			{
				msxHtm = false;
			}
		}
		return msxHtm;
	} 
	else
	{
		return null;
	}
}

function GetIntegerBits(val,start,end){
	var base16 = returnBase(val,16);
	var quadArray = new Array();
	var quadString = '';
	var i = 0;
	for(i=0;i<base16.length;i++){
		quadArray.push(base16.substring(i,i+1));	
	}
	for(i=Math.floor(start/4);i<=Math.floor(end/4);i++){
		if(!quadArray[i] || quadArray[i] == '') quadString += '0';
		else quadString += quadArray[i];
	}
	return quadString;
}

	//http://www.irt.org/script/146.htm	
	function returnBase(number, base){
	var convert = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
    if (number < base) var output = convert[number];
    else {
        var MSD = '' + Math.floor(number / base);
        var LSD = number - MSD*base;
        if (MSD >= base) var output = this.returnBase(MSD,base) + convert[LSD];
        else var output = convert[MSD] + convert[LSD];
    }
    return output;
}

	function TimeInMs(d) {
	var ms_per_second = 100;
	var ms_per_minute = 6000;
	var ms_per_hour   = 360000;
	var ms_per_day    = 8640000;
	var ms_per_month  = 207360000;
	var ms_per_year   = 75686400000;
	return Math.abs((d.getUTCFullYear() * ms_per_year) + (d.getUTCMonth() * ms_per_month) + (d.getUTCDate() * ms_per_day) + (d.getUTCHours() * ms_per_hour) + (d.getUTCMinutes() * ms_per_minute) + (d.getUTCSeconds() * ms_per_second) + d.getUTCMilliseconds());
}

	function randrange(min,max)
	{
		var num = Math.round(Math.random() * max);
		if(num < min){ 
			num = min;
		} else if (num > max) {
			num = max;
	}
	
	return num;
}

function GenerateGuID()
{
	//random number time
	var dg = TimeInMs(new Date(1582, 10, 15, 0, 0, 0, 0));
	var dc = TimeInMs(new Date());
	var t = dc - dg;
	var h = '-';
	var tl = GetIntegerBits(t,0,31);
	var tm = GetIntegerBits(t,32,47);
	var thv = GetIntegerBits(t,48,59) + '1'; // version 1, security version is 2
	var csar = GetIntegerBits(randrange(0,4095),0,7);
	var csl = GetIntegerBits(randrange(0,4095),0,7);

	//more randomness
	var n = GetIntegerBits(randrange(0,8191),0,7) + GetIntegerBits(randrange(0,8191),8,15) + GetIntegerBits(randrange(0,8191),0,7) + GetIntegerBits(randrange(0,8191),8,15) + GetIntegerBits(randrange(0,8191),0,15);
	return tl + h + tm + h + thv + h + csar + csl + h + n; 
}
//-->