/*
	DOMnews 1.0 
	homepage: http://www.onlinetools.org/tools/domnews/
	released 11.07.05
*/
/* Variables, go nuts changing those! */
	// initial position 
	var dn_startpos=20; 			
	// end position
	var dn_endpos=-190; 			
	// Speed of scroller higher number = slower scroller 
	var dn_speed=20;				
	// ID of the news box
	var dn_newsID='news';			
	// class to add when JS is available
	var dn_classAdd='hasJS';		
	// Message to stop scroller
	var dn_stopMessage='Stop scroller';	
	// ID of the generated paragraph
	var dn_paraID='DOMnewsstopper';
	// added pause time as well
	var dn_pauseTime=0;
	// period of time in milliseconds for it to stop at each li
	var dn_pause_period = 200;

	/* Initialise scroller when window loads */
	window.onload=function()
	{
		// check for DOM
		if(!document.getElementById || !document.createTextNode){return;}
		initDOMnews();
		// add more functions as needed
	}
	/* stop scroller when window is closed */
	window.onunload=function()
	{
		// added because firebug appears to have a bug if the element is not defined
		if (typeof dn_interval != "undefined") clearInterval(dn_interval);
	}

/*
	This is the functional bit, do not press any buttons or flick any switches
	without knowing what you are doing!
*/

	var dn_scrollpos=dn_startpos;
	/* Initialise scroller */
	function initDOMnews()
	{
		var n=document.getElementById(dn_newsID);
		if(!n){return;}
		n.className=dn_classAdd;
		dn_interval=setInterval('scrollDOMnews()',dn_speed);
		/*var newa=document.createElement('a');
		var newp=document.createElement('p');
		newp.setAttribute('id',dn_paraID);
		newa.href='#';
		newa.appendChild(document.createTextNode(dn_stopMessage));
		newa.onclick=stopDOMnews;
		newp.appendChild(newa);		
		n.parentNode.insertBefore(newp,n.nextSibling);
		*/
		n.onmouseover=function()
		{		
			clearInterval(dn_interval);
		}
		n.onmouseout=function()
		{
			dn_interval=setInterval('scrollDOMnews()',dn_speed);
		}
	}

	function stopDOMnews()
	{
		clearInterval(dn_interval);
		var n=document.getElementById('news');
		n.className='';
		n.parentNode.removeChild(n.nextSibling);
		return false;
	}
	function scrollDOMnews()
	{
		var n=document.getElementById(dn_newsID).getElementsByTagName('ul')[0];
		
		// because we don't know how many news items will be in there, run a simple calculation, and make it a minus figure
		dn_endpos = -((n.getElementsByTagName('li').length*20)-10); 
		
		n.style.top=dn_scrollpos+'px';	
		if(dn_scrollpos==dn_endpos)
		{
			dn_scrollpos = dn_startpos;
		}
		// pause is zero by default so 
		if (dn_pauseTime==0)
		{
			dn_scrollpos--;
			if ((dn_scrollpos % 20) == 0)
				dn_pauseTime = dn_pause_period;
		}
		else
			dn_pauseTime--;
	}
