var urlParms = '/snhost/' + base64_encode(document.referrer) + '/snhrf/' + base64_encode(window.location.href);
var httpRequest;

function makeRequest()
	{
	httpRequest = new XMLHttpRequest();

	if (!httpRequest)
		return false;

	httpRequestCall();
	var interval;
	interval = setInterval(function() {httpRequestCall();}, 5000);
	}

function httpRequestCall()
	{
	var dat = new Date();
	var urlik = uras + '/dt/' + dat.getTime() + urlParms;
	httpRequest.open('GET', urlik, true);
	httpRequest.send('');
	}

function base64_encode( data )
	{
   var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
   var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, enc="", tmp_arr = [];
   data = utf8_encode(data);

   do { // pack three octets into four hexets
		o1 = data.charCodeAt(i++);
      o2 = data.charCodeAt(i++);
      o3 = data.charCodeAt(i++);

      bits = o1<<16 | o2<<8 | o3;

      h1 = bits>>18 & 0x3f;
      h2 = bits>>12 & 0x3f;
      h3 = bits>>6 & 0x3f;
      h4 = bits & 0x3f;

      // use hexets to index into b64, and append result to encoded string
      tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    	}
    while (i < data.length);

    enc = tmp_arr.join('');

    switch( data.length % 3 )
    	{
      case 1:
      	enc = enc.slice(0, -2) + '==';
		break;
		case 2:
			enc = enc.slice(0, -1) + '=';
		break;
    	}

    return enc;
	}

function utf8_encode ( string )
	{
	string = (string+'').replace(/\r\n/g,"\n");
	var utftext = "";
	var start, end;
	var stringl = 0;

	start = end = 0;
	stringl = string.length;
	for (var n = 0; n < stringl; n++)
		{
		var c1 = string.charCodeAt(n);
		var enc = null;

		if (c1 < 128)
			{
         end++;
        	}
		else if((c1 > 127) && (c1 < 2048))
			{
			enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
			}
		else
			{
			enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
			}

		if (enc != null)
			{
			if (end > start)
				{
				utftext += string.substring(start, end);
				}
			utftext += enc;
			start = end = n+1;
			}
		}

		if (end > start)
			{
			utftext += string.substring(start, string.length);
			}
		return utftext;
	}
makeRequest();