var Ticker = new Class({
	setOptions: function(options) {
		this.options = Object.extend({
			speed: 1500,
			delay: 5000,
			direction: 'vertical',
			onComplete: Class.empty,
			onStart: Class.empty
		}, options || {});
	},
	initialize: function(el,options){
		this.setOptions(options);
		this.el = $(el);
		this.items = this.el.getElements('li');
		var w = 0;
		var h = 0;
		if(this.options.direction.toLowerCase()=='horizontal') {
			h = this.el.getSize().size.y;
				this.items.each(function(li,index) {
				w += li.getSize().size.x;
			});
	} else {
			w = this.el.getSize().size.x;
			this.items.each(function(li,index) {
				h += li.getSize().size.y;
			});
		}
		this.el.setStyles({
			position: 'absolute',
			top: 0,
			left: 0,
			width: w,
				height: h
		});
		this.fx = new Fx.Styles(this.el,{duration:this.options.speed,onComplete:function() {
			var i = (this.current==0)?this.items.length:this.current;
			this.items[i-1].injectInside(this.el);
			this.el.setStyles({
				left:0,
				top:0
			});
		}.bind(this)});
		this.current = this.items.length;
		this.next();
		},
	
	pause: function() {
	    $clear(mytimer);
	    mytimer = null;
	},
	resume: function() {
	    if (mytimer == null) {
	    this.next();
	    }
	},
	next: function() {
		this.current++;
		if (this.current >= this.items.length) this.current = 0;
		var pos = this.items[this.current];
		this.fx.start({
			top: -pos.offsetTop,
			left: -pos.offsetLeft
		});
		mytimer = this.next.bind(this).delay(this.options.delay+this.options.speed);
	}
});

var mytimer = null;

var ndata = new Array();
var req = null;

function processReqChange() {

  if (req.readyState == 4 && req.status == 200 && req.responseXML ) {

    var dtable = document.getElementById( 'channel' );
    var nl = req.responseXML.getElementsByTagName( 'item' );

    for( var i = 0; i < nl.length; i++ ) {
      var item = new Object();
      var nli = nl.item( i );
      var eltitle = nli.getElementsByTagName( 'title' );
      var title = eltitle.item(0).firstChild.nodeValue;
//      var title = eltitle.item(0).innerHTML;
      var ellink = nli.getElementsByTagName( 'link' );
      var link = "";
      if(ellink.item(0).firstChild!=undefined && ellink.item(0).firstChild!=null) 
      {
	link = ellink.item(0).firstChild.nodeValue;
      }
      if(link=="") 
      {
 	if(title.indexOf("Das Wetter")>-1)
	{
		link="/wetter";
	}
	else
	{
		link="/news";
	}
      }
      var eldescription = nli.getElementsByTagName( 'description' );
      var description = "";
      if(eldescription.item(0).firstChild!=undefined && eldescription.item(0).firstChild!=null) 
      {
	description = eldescription.item(0).firstChild.nodeValue;
//	description = eldescription.item(0).innerHTML;
      }

      item["title"]=title;
      item["link"]=link;
      item["description"]=description;
      ndata.push(item);
    } 

    var ti = document.getElementById("TickerVertical");

    for(var i=0;  i<ndata.length;i++)
    {

	var myli = document.createElement("li");
//	var myText = document.createTextNode("<a href='" + item["link"] + "' style='color:#000000;'><b style='text-decoration:underline;'>" + item["title"] + "</b>" + item["description"] + "</a>");
//	myli.appendChild(myText);
        myli.innerHTML = "<a href='" + ndata[i]["link"] + "' style='color:#000000; text-decoration:none;'><b style='text-decoration:underline;'>" + ndata[i]["title"] + "</b> <br>" + ndata[i]["description"] + "</a>";
	ti.appendChild(myli);

    }

   var hor = new Ticker('TickerVertical', {
      speed : 500, delay : 5000, direction : 'vertical'});
    $('stop_scroll').addEvent('click', function() {
		$('play_scroll_cont').style.display='block';
		$('stop_scroll_cont').style.display='none';
		hor.pause();
	});
    $('play_scroll').addEvent('click', function() {
		$('stop_scroll_cont').style.display='block';
		$('play_scroll_cont').style.display='none';
		hor.resume();
	});
  }
}

function loadXMLDoc( url ) {

  if(window.XMLHttpRequest) {
    try { req = new XMLHttpRequest();
    } catch(e) { req = false; }
  } else if(window.ActiveXObject) {
    try { req = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
    try { req = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) { req = false; }
  } }

  if(req) {
    req.onreadystatechange = processReqChange;
    req.open('GET', url, true);
    req.send('');
  }
}

function createticker(myurl)
{
		$('play_scroll_cont').style.display='none';
		$('stop_scroll_cont').style.display='block';

loadXMLDoc(myurl);
}
