var nameAJAX;
var destURL;
var storeDomain='.swps.com';
// provide the name of the target div
// var output_div_name = "ping_status";
// var cookie_name = "esulp";

function setgobackurl()
{
	if(document.referrer){
		var xtm = new Date();
		xtm.setTime (xtm.getTime() + 36000000);
		setCookie(cookie_name,document.referrer,xtm,"/",storeDomain);
	}
}

function getpagename()
{
	var gc = getCookie(cookie_name);
	if(gc){
		destURL = gc.replace(/^.*swps\.com\//,'');
		// only for testing
		//destURL = 'foo3.html';
		if ( window.XMLHttpRequest ) {
			nameAJAX = new XMLHttpRequest();
		}
		else {
			nameAJAX = new ActiveXObject("MSXML2.XMLHTTP");
		}
		nameAJAX.onreadystatechange = getpagenameCallback;
		nameAJAX.open( "GET", encode(destURL), true );
		nameAJAX.send(null);
	}
}
function getpagenameCallback() {
	// Called from getpagename
	if ( nameAJAX.readyState == 4 ) {
		// document.getElementById("ping_status").innerHTML = "Ping Complete: " + nameAJAX.responseText;
		var outtext = nameAJAX.responseText;
		var justtitle = outtext.match(/\<title\>.*?\<\/title\>/i);
		var jts = justtitle.toString();
		jts = jts.replace(/^\<title\>/i,'');
		jts = jts.replace(/\<\/title\>$/i,'');
		//alert("OT: " + jts);
		//expose(nameAJAX);

		// find the ping_status DIV and replace its HTML
		var outHTML = 'Take me back to <a href="'+destURL+'">'+jts+'</a><br>'+"\n";
		document.getElementById(output_div_name).innerHTML = outHTML;
		document.getElementById(output_div_name).style.display='block';
	}
}

// If you plan on doing anything outside of North America, then you'd better encode the things you pass back and forth
// the escape() method in Javascript is deprecated -- should use encodeURIComponent if available
function encode( uri ) {
	if (encodeURIComponent) {
		return encodeURIComponent(uri);
	}

	if (escape) {
		return escape(uri);
	}
}
function decode( uri ) {
	uri = uri.replace(/\+/g, ' ');

	if (decodeURIComponent) {
		return decodeURIComponent(uri);
	}

	if (unescape) {
		return unescape(uri);
	}

	return uri;
}
function getCookie(name)
{
	var arg = name + "=";
	var argLen = arg.length;
	var cookieLen = document.cookie.length;
	var i = 0;
	while (i < cookieLen)
	{
		var j = i + argLen;
		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 deleteCookie(name)
{
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = getCookie(name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function getCookieVal(offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	{
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function expose(someobj) {
	var output_text = '';
	for (var myprop in someobj) {
		output_text+=myprop+"\n";
	}
	alert(output_text);
}
