
	function addEvent(ob, ev, fn)
	{ 
		if (ob.addEventListener)
		{ 
			ob.addEventListener(ev, fn, false); 
			return true; 
		}
		else if(ob.attachEvent)
		{ 
			var r = ob.attachEvent("on"+ev, fn); 
			return r; 
		}
		else
		{
			return false; 
		} 
	}
	
	var start = 1;
	var items;
	var more;
	var shaking = true;
	var messageShakeTimer;
	var contactdata;
	var trans01data;
	var trans02data;
	var trans03data;
	var oildata;
	var sharesdata;
	var transcriptArray = new Array("trans01","trans02","trans03");
	var joinemaildata;
	
	function getTranscripts()
	{
		trans01data = new Spry.Data.HTMLDataSet("/ssi/the-trap.php");
		trans01data.addObserver(updateTrans01);
		document.getElementById("trans01").getTranscript = loadDataTrans01;

		trans02data = new Spry.Data.HTMLDataSet("/ssi/the-power-of-nightmares.php");
		trans02data.addObserver(updateTrans02);
		document.getElementById("trans02").getTranscript = loadDataTrans02;

		trans03data = new Spry.Data.HTMLDataSet("/ssi/the-century-of-the-self.php");
		trans03data.addObserver(updateTrans03);
		document.getElementById("trans03").getTranscript = loadDataTrans03;

		contactdata = new Spry.Data.HTMLDataSet("/ssi/contact.php");
		contactdata.addObserver(updateContact);

		oildata = new Spry.Data.HTMLDataSet("/ssi/bbcdata.php");
		oildata.addObserver(updateOil);
		setTimeout("oildata.loadData()",1000);

		sharesdata = new Spry.Data.HTMLDataSet("/ssi/shares.php");
		sharesdata.addObserver(updateShares);
		

		links = document.getElementsByTagName("A");
		for(var i=0; i<links.length; i++)
		{
			if(links[i].className=="openLink" && links[i].getAttribute("name")==openItem)
			{
				links[i].onclick();
			}
		}

	}
	
	function loadDataTrans01()
	{
		trans01data.loadData();
	}
	
	function loadDataTrans02()
	{
		trans02data.loadData();
	}
	
	function loadDataTrans03()
	{
		trans03data.loadData();
	}
	
	function updateOil(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("oil").innerHTML = oildata.data[0]["column0"];
			setTimeout("contactdata.loadData()",1000);
		}
	}
	
	function updateShares(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
//			document.getElementById("shares").innerHTML = sharesdata.data[0]["column0"];
			//setTimeout("contactdata.loadData()",1000);
		}
	}
	
	function updateContact(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("contact").innerHTML = contactdata.data[0]["column0"];
		}
	}
	
	function updateTrans01(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("trans01").innerHTML = trans01data.data[0]["column0"];
		}
	}
	
	function updateTrans02(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("trans02").innerHTML = trans02data.data[0]["column0"];
		}
	}
	
	function updateTrans03(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("trans03").innerHTML = trans03data.data[0]["column0"];
		}
	}
	
	function shakeMessage()
	{
		if(document.getElementById("messagebox"))
		{
			shakeMessageEffect = new Spry.Effect.Shake('messagebox', {duration: 250});
			shakeMessageEffect.start();
		}
	}
	function myOnLoad()
	{
		shakeMessage();
		messageShakeTimer = setInterval("shakeMessage()",4000);
		document.getElementById("getmoreheadlines").onclick = function()
		{
			var dateObj = new Date();
			var randomNumber = Math.round(100000*Math.random()) + dateObj.getTime();
			items = new Spry.Data.XMLDataSet("../data/morenews/?start="+start+"&"+randomNumber, "articles/item");
			more = new Spry.Data.XMLDataSet(items.url, "articles/more");
			items.addObserver(updateHTML);
			more.addObserver(updateListItem);
			more.loadData();
			items.loadData();
			return false;
		}
		document.getElementById("getmoreheadlinesitem").style.display="";
		
		var newsArticles = document.getElementById("newsArticles").getElementsByTagName("A");
		for(var i=0; i<newsArticles.length; i++)
		{
			newsArticles[i].href = "/newsArticle/?newsid="+newsArticles[i].href;
		}
		if(document.getElementById("hideMessage"))
		{
			document.getElementById("hideMessage").onclick = function()
			{
				document.getElementById("messageWrapperBox").style.display = "none";
				Set_Cookie("messageHide","true",60,"/");
			}
		}
		
		var joinbutton = document.getElementById("joinbutton");
		if(joinbutton)
		{
			joinbutton.onclick = function()
			{
				var joinemail = document.getElementById("joinemail");
				if(joinemail.defaultValue!=joinemail.value)
				{
					joinemaildata = new Spry.Data.HTMLDataSet("/data/addemail/?a="+joinemail.value);
					joinemaildata.addObserver(joinemailcheck);
					joinemaildata.loadData();
					document.getElementById("mailpleasewait").style.display = "";
				}
				else
				{
					alert("Type in your email address");
					joinemail.select();
				}
			}
		}
	}
													
	function joinemailcheck(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			document.getElementById("mailpleasewait").style.display = "none";
			if(joinemaildata.data[0]["column0"]=="<status>true</status>")
			{
				Set_Cookie("joinHide","true",365,"/");
				document.getElementById("checkemail").style.display = "";
				document.getElementById("joinform").style.display = "none";
			}
			else
			{
				document.getElementById("tryagain").style.display = "";
				document.getElementById("joinform").style.display = "";
			}
		}
	}
	
	function Set_Cookie( name, value, expires, path, domain, secure ) 
	{
		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		
		/*
		if the expires variable is set, make the correct 
		expires time, the current script below will set 
		it for x number of days, to make it for hours, 
		delete * 24, for minutes, delete * 60 * 24
		*/
		if ( expires )
		{
		expires = expires * 1000 * 60 * 60 * 24;
		}
		var expires_date = new Date( today.getTime() + (expires) );
		
		document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
	}
	
	function updateListItem(notificationType, notifier, data)
	{
		if (notificationType != "onPostLoad") return;
		if(notificationType=="onPostLoad")
		{
			var listItem = document.getElementById("getmoreheadlinesitem");
		}
		if(more.data[0].more=="false")
		{
			listItem.style.display="none";
		}
	}
	
	function updateHTML(notificationType, notifier, data)
	{
		switch(notificationType)
		{
			case "onPostLoad":
				var listItem = document.getElementById("getmoreheadlinesitem");
				for(var i=0; i<items.data.length;i++)
				{
					var newListItem = document.createElement("LI");
					var newLinkItem = document.createElement("A");
					
					newLinkItem.href = items.data[i].link;
					newLinkItem.onclick = function()
					{
						window.open(this.href);
						return false;
					}
					newLinkItem.innerHTML = items.data[i].date + " - " + items.data[i].title;
					newListItem.appendChild(newLinkItem);
					listItem.parentNode.insertBefore(newListItem,listItem);
				}
				start++;
				var dateObj = new Date();
				var randomNumber = Math.round(100000*Math.random()) + dateObj.getTime();
				items.url = "../data/morenews/?start="+start+"&"+randomNumber;
				more.url = items.url;
				document.getElementById("getmoreheadlines").style.display = "";
				document.getElementById("pleasewait").style.display = "none";
				break;
			case "onPreLoad":
				document.getElementById("pleasewait").style.display = "";
				document.getElementById("getmoreheadlines").style.display = "none";
				break;
		}
	};
	
	function attachPopup()
	{
		linkObjs = document.getElementsByTagName("A");
		for(var i=0; i<linkObjs.length; i++)
		{
			if(linkObjs[i].className=="popup")
			{
				linkObjs[i].onclick = function()
				{
					window.open(this.href);
					return false;
				}
			}
		}
	};
	
	function attachOpenLinks()
	{
		var nextSibling;
		links = document.getElementsByTagName("A");
		for(var i=0; i<links.length; i++)
		{
			if(links[i].className=="openLink")
			{
				links[i].onclick = function()
				{
					clearTimeout(messageShakeTimer);
					nextSibling = this.parentNode.nextSibling.nodeType==3?this.parentNode.nextSibling.nextSibling:this.parentNode.nextSibling;
					if(nextSibling.style.display=="none")
					{
						nextSibling.style.display="";
						for(var j=0; j<transcriptArray.length; j++)
						{
							divObjs = nextSibling.getElementsByTagName("DIV");
							for(var k=0; k<divObjs.length; k++)
							{
								if(divObjs[k].id==transcriptArray[j])
								{
									divObjs[k].innerHTML = "<div class='transcript'><p><em>Loading transcript...</em></p></div>";
									divObjs[k].getTranscript();
								}
							}
						}
					}
					else
					{
						nextSibling.style.display="none";
					}
					return false;
				}
				nextSibling = links[i].parentNode.nextSibling.nodeType==3?links[i].parentNode.nextSibling.nextSibling:links[i].parentNode.nextSibling;
				nextSibling.style.display="none";
			}
		}
	}


	addEvent(window, 'load', myOnLoad);
	addEvent(window, 'load', attachPopup);
	addEvent(window, 'load', attachOpenLinks);
	addEvent(window, 'load', getTranscripts);