var oMarquees = [], oMrunning,
	oMInterv =        20,     //interval between increments
	oMStep =          1,      //number of pixels to move between increments
	oMDirection =     'right'; //'left' for LTR text, 'right' for RTL text

function aniMarquee() {
	var oDiv, oPos;
	for( var i = 0; i < oMarquees.length; i++ ) {
		oDiv = oMarquees[i].mchild;
		oPos = parseInt(oDiv.style[oMDirection]);
		oDiv.style[oMDirection] = (oPos <= -1 * oDiv.offsetWidth) ? oMarquees[i].offsetWidth + 'px' : ( oPos - oMStep ) + 'px';
	}
}
var oDiv = document.getElementById('dmarquee');
 if (oDiv.mchild = oDiv.getElementsByTagName('div')[0]) { 
   oDiv.style.overflow = 'hidden';
   oDiv.style.position = 'relative';
   oDiv.mchild.style.cssText += ';white-space:nowrap;';
   oDiv.mchild.style.whiteSpace = 'nowrap';
   oDiv.style.height = oDiv.offsetHeight + 'px';
   oDiv.mchild.style.position = 'absolute';
   oDiv.mchild.style.top = '0px';
   oDiv.mchild.style[oMDirection] = oDiv.offsetWidth + 'px';
   oMarquees[oMarquees.length] = oDiv;
   oMrunning = setInterval('aniMarquee()',oMInterv);
}
