var ajaxObjectGetTitle;

// Http request constants
var UNINITIALISED = 0;
var LOADING = 1;
var LOADED = 2;
var INTERACTIVE = 3;
var COMPLETE = 4;

//is ajax running
var running = true;

var REFRESH_DELAY = 100000; // delay to wait before getting pages title again (300 second or 300000milliseconds)
//var REFRESH_DELAY = 150000; // delay to wait before getting pages title again (300 second or 300000milliseconds)

function getTitle()
{
	ajaxObjectGetTitle = getAjaxObject()
	if (ajaxObjectGetTitle == null || running == false)
	{
		//set a default title
		document.getElementById('ajaxTitle').innerHTML="Robin Good TV";
		return;
	}
	
	
	var aSync = true;
	var url = "http://www.robingood.tv/ajax/ajaxGetTitle.php";
	var method = "GET";
	ajaxObjectGetTitle.onreadystatechange=getTitleHandler;
	ajaxObjectGetTitle.open(method,url,aSync);
	ajaxObjectGetTitle.send(null);
}


function getTitleHandler() 
{ 
	var isOK = false;
	var state = ajaxObjectGetTitle.readyState;
	switch (state)
	{
		case (UNINITIALISED):
			;
		break
		case (LOADING):
			//document.getElementById('ajaxTitle').innerHTML='Getting title..';
			// maybe start a timer to timeout if title is not obtained in a decent amount of time
		break
		case (LOADED):
			;
		break
		case (INTERACTIVE):
			;
		break
		case (COMPLETE):

			response = ajaxObjectGetTitle.responseText;
			//response = "123456789 123456789 123456789 123456789 123456789 123456789";
			//alert(response.length);
			if (response.toLowerCase().indexOf("failed to open stream") == -1)
			{
				response = response;
				
				document.getElementById('ajaxTitle').innerHTML=response;
				if (response.length < 50)
				{
					document.getElementById('ajaxTitle').style.fontSize = "26px";
				}
				else if (response.length < 60)
				{
					document.getElementById('ajaxTitle').style.fontSize = "22px";
				}
				else if (response.length < 90)
				{
					document.getElementById('ajaxTitle').style.fontSize = "18px";
				}
				else if (response.length < 120)
				{
					document.getElementById('ajaxTitle').style.fontSize = "16px";
				}
				else
				{
					document.getElementById('ajaxTitle').style.fontSize = "14px";
				}
				isOK = true;
				setTimeout("getTitle()", REFRESH_DELAY);
				
			}
			else
			{
				//running = false;
				document.getElementById('ajaxTitle').innerHTML="Robin Good TV";
				setTimeout("getTitle()", REFRESH_DELAY);
			}
		break
		default:
			;
		break
	} 
	if (isOK == false)
	{
		document.getElementById('ajaxTitle').innerHTML="Robin Good TV";
	}
}

function getAjaxObject()
{
	if (window.XMLHttpRequest){
		return new XMLHttpRequest();					// IE7/Mozilla/Safari
	}
	else if (window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");	// IE 5 & 6
	}
	else
	{
		return null;									// no ajax or unsupported browser
	}
}

