/*
	DOMnews 1.0 
	homepage: http://www.onlinetools.org/tools/domnews/
	released 11.07.05
*/

/* Variables, go nuts changing those! */

// initial position 
var dn_startpos=210; 			
// end position
var dn_endpos=-200; 			
// Speed of scroller higher number = slower scroller 
var dn_speed=40;				
// ID of the news box
var dn_newsID='news_content';			
// 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';

/* 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() {
	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 = 0;
	
	/* Initialise scroller */
	function initDOMnews() {
		var n = document.getElementById(dn_newsID);
		
		if (!n) {
			return;
		}
		
		n.className = dn_classAdd;

		// initial start position
		dn_scrollpos = xHeight(n);
		
		
		dn_interval = setInterval('scrollDOMnews()', dn_speed);

		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() {
		/* news div */
		var n = document.getElementById(dn_newsID);
		var n_height = xHeight(n);
		
		/* news ul */
		var n_ul = document.getElementById(dn_newsID).getElementsByTagName('ul')[0];
		var n_ul_height = xHeight(n_ul);
		
		/* set new top */
		
		n_ul.style.top = dn_scrollpos+'px';	
		
		if(dn_scrollpos == -n_ul_height) {
			dn_scrollpos = dn_startpos;
		}
		
		dn_scrollpos--;	
	}

	function xHeight(obj, h) {
		var height = obj.offsetHeight;
	
		if (h) {
			if (obj.style.pixelHeight) {
				obj.style.pixelHeight = h;
			} else {
				obj.style.height = h + 'px';
			}
		}
	
		return height;
	}
