var pos = 200;
var maxPos = 800;
var minPos = 0;
var tickerText = '+++ Aktuell: Die Möglichkeit zur Umstellung der PINBALL-CLIENT-ANWENDUNG auf 64 Bit +++ ad force 1: Datenbank- und ' +
                 'Auswertungstool für AdServer-Daten +++ PHOENIX II berücksichtigt jetzt die Besonderheiten bei der Planung von TV-Kampagnen für ' +
                 'Pharma-Produkte +++ TV-EXPERTENPROGNOSE: Bessere Nettoreichweitenprognose durch wechselnde Personengewichte und Abbildung ' +
                 'der Panelfluktuation im Prognosezeitraum +++ Neue Dimensionen im PINBALL-Nielsen-Wizard +++ Neuigkeiten zum Umgang von ' +
                 'TV-Schaltungen, die von Nielsen Media-Research mit Tarif = 00/00 geliefert werden ';

var tickerSpeed = 30;
var menuIds = [1,2,3,4,5,7,98];

function checkTicker()
{
 var band = $("lauf");
 if (band)
 {
     if (minPos == 0)
     {
     	Element.update(band,tickerText);
         minPos = -band.scrollWidth ;
     }

     if (pos > minPos)
          pos--;
     else
         pos = maxPos;

     band.style.left = pos + "px";

 }
 window.setTimeout("checkTicker()",tickerSpeed);
}

function setTickerSpeed(newTickerSpeed)
{
  tickerSpeed = newTickerSpeed;
}


Rico.Effect.BgFade = Class.create();
Rico.Effect.BgFade.prototype = {

   initialize: function( element, fromColor, toColor, duration, steps, options) {
      this.element  = $(element);
      this.fromColor  = Rico.Color.createFromHex(fromColor);
      this.toColor  = Rico.Color.createFromHex(toColor);
      this.duration = duration;
      this.steps    = steps;
      this.currentstep   = 0;
      this.options  = arguments[4] || {};
      this.fadeBgTo();
   },

   fadeBgTo: function() {
      if (this.isFinished()) {
         if(this.options.complete) this.options.complete(this);
         return;
      }

      if (this.timer)
         clearTimeout(this.timer);

      var stepDuration = Math.round(this.duration/this.steps) ;
      this.changeBgColor();
      this.currentstep++;

      this.timer = setTimeout(this.fadeBgTo.bind(this), stepDuration);
   },

   changeBgColor: function() {
	   	var fromF = this.currentstep / this.steps;
         var newColor = new Rico.Color(
				Math.floor(this.fromColor.rgb.r +  fromF * (this.toColor.rgb.r - this.fromColor.rgb.r)),
				Math.floor(this.fromColor.rgb.g +  fromF * (this.toColor.rgb.g - this.fromColor.rgb.g)),
				Math.floor(this.fromColor.rgb.b +  fromF * (this.toColor.rgb.b - this.fromColor.rgb.b)));

	    Element.setStyle(this.element,{backgroundColor: newColor.asHex()});
   },

   isFinished: function() {
      return this.currentstep > this.steps;
   }

}


var current = 0;
var menuOn = true;


function show(id)
{

     if (id != current)
     {
	     hide(current);
	     if (menuOn)
	     {

	          var elems = document.getElementsByClassName("m"+id);
	          elems.each(function(elem)
	              {
		             Element.setStyle(elem, {visibility :"visible", display: "block"});
	                  new Rico.Effect.FadeTo(elem, 1,  100,  5  );
	             });
	          current = id;
	     }
     }
}

function hide(id)
{
     var elems = document.getElementsByClassName("m"+id);
     elems.each(function(elem)
     	{
 			new Rico.Effect.FadeTo(elem, 0,  100,  5  );
             Element.setStyle(elem, {visibility :"hidden", display: "none"});
        });

     current = 0;
}

function doMClick(event)
{
	var elem = Event.element(event);

     if (elem.id)
     {
	     if (elem.id == current)
	         hide(elem.id);
	     else
	         show(elem.id);

          location.href= "?main="+elem.id;
     }
}

function doIClick(event)
{
	var elem = Event.element(event);

     if (elem.id)
     {
          location.href= "?main="+elem.id;
     }
}


function doMOver(event)
{
	var elem = Event.element(event);

     if (elem.id)
     {
		show(elem.id);
     }

	new Rico.Effect.BgFade(elem,"#009bcb","#40d9ff",150,6);
	Element.setStyle(elem,{color:"#000000",textDecoration:"underline"});

}

function doCOver(event)
{
	if (current)
	{

     	var elems = document.getElementsByClassName("m"+current);
	 var pY = Event.pointerY(event);
	 var pX = Event.pointerX(event);
	 var outside = true;
     elems.each(function(elem)
         {
			outside &= !Position.within(elem,pX,pY);
         });


     if (outside)
		show(-1);

	}
}



function doMOut(event)
{
	var elem = Event.element(event);
	new Rico.Effect.BgFade(elem,"#40d9ff","#009bcb",150,6);
   	Element.setStyle(elem,{color:"#bbffff",textDecoration:"none"});
}

function doIMOver(event)
{
	var elem = Event.element(event);
	new Rico.Effect.BgFade(elem,"#80f0ff","#c0ffff",150,6);
    Element.setStyle(elem,{color:"#000000",textDecoration:"underline"});
}

function doIMOut(event)
{
	var elem = Event.element(event);
	new Rico.Effect.BgFade(elem,"#c0ffff","#80f0ff",150,6);
   	Element.setStyle(elem,{color:"#049b9b",textDecoration:"none"});

}

function changeImages()
{
     var i = 0;
     if (document.images )
     {
         for (i=0; i<changeImages.arguments.length; i+=2)
         {
			if (document[changeImages.arguments[i]])
             document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
         }
     }
}
