var ticker_content  = new Array();ticker_content[0]	= new Array("smava Kredite nun ab 2,85 Prozent<br/>", "http://www.affiliatepr.de/news/smava_Kredite_nun_ab_2_85_Prozent_2417.shtml");ticker_content[1]	= new Array("Ocean24: Noch bis Ende Februar 6,5% auf jede Buchung<br/>", "http://www.affiliatepr.de/news/Ocean24__Noch_bis_Ende_Februar_6_5__auf_jede_Buchung_2409.shtml");ticker_content[2]	= new Array("belboon ist Platin-Sponsor bei der Affiliate TactixX 2012<br/>", "http://www.affiliatepr.de/news/belboon_ist_Platin-Sponsor_bei_der_Affiliate_TactixX_2012_2408.shtml");ticker_content[3]	= new Array("Das neue  Affiliate Programm von shirtlabor.de - der Spezialist f&uuml;r das hochwertige Bedrucken und Besticken von individuellen T-Shirts.<br/>", "http://www.affiliatepr.de/news/Das_neue__Affiliate_Programm_von_shirtlabor.de___der_Spezialist_fuer_das_hochwertige_Bedrucken_und_Besticken_von_individuellen_T-Shirts._2407.shtml");ticker_content[4]	= new Array("Die 100 besten Partnerprogramme im Februar 2012<br/>", "http://www.affiliatepr.de/news/Die_100_besten_Partnerprogramme_im_Februar_2012_2406.shtml");ticker_content[5]	= new Array("SuperClix baut seine Rekord-Ums&auml;tze aus 2011 auch im aktuellen Jahr weiter aus<br/>", "http://www.affiliatepr.de/news/SuperClix_baut_seine_Rekord-Umsaetze_aus_2011_auch_im_aktuellen_Jahr_weiter_aus_2405.shtml");ticker_content[6]	= new Array("belboon Affiliate Marketing Netzwerk: Valentinstag forciert Onlinehandel<br/>", "http://www.affiliatepr.de/news/belboon_Affiliate_Marketing_Netzwerk__Valentinstag_forciert_Onlinehandel_2404.shtml");ticker_content[7]	= new Array("Affiliate-Rallye von sofatutor.com mit bis zu 105 &amp;#x20AC; Provision und Verlosung von 3 iPad 2<br/>", "http://www.affiliatepr.de/news/Affiliate-Rallye_von_sofatutor.com_mit_bis_zu_105___Provision_und_Verlosung_von_3_iPad_2_2403.shtml");ticker_content[8]	= new Array("smava Kredit-Partnerprogramm - Konversionsoptimierung durch neue Scorekarte<br/>", "http://www.affiliatepr.de/news/smava_Kredit-Partnerprogramm_-_Konversionsoptimierung_durch_neue_Scorekarte_2402.shtml");ticker_content[9]	= new Array("Die 100 besten Partnerprogramme im Januar 2012<br/>", "http://www.affiliatepr.de/news/Die_100_besten_Partnerprogramme_im_Januar_2012_2390.shtml");ticker_content[10]	= new Array("Das neue Affiliate Programm von apodrom.de - die neue Versandapotheke im Internet! <br/>", "http://www.affiliatepr.de/news/Das_neue_Affiliate_Programm_von_apodrom.de_-_die_neue_Versandapotheke_im_Internet___2381.shtml");var ticker_width        = 478;
var ticker_height       = 15;
var ticker_bgcolor      = "#EFEFEF";
var ticker_border       = 0;
var ticker_bordercolor  = "#E0E0E0";      
var ticker_linkcolor    = "#000000";  
var ticker_spacing      = 10;
var ticker_offset       = 3;          /* Abstand Rahmen/Text in Pixel               */
var ticker_spacer_color = '#B02E28';
var ticker_type         = 'V';        /* Tickertyp: Vertikal 'V',  Horizontal 'H'   */
var ticker_wait         = 0;
var ticker_speed        = 8;
var layers       		= new Array();
var ppp_layers   		= new Array();
var ticker_dontscroll;

function TickLayer(name)
{
  /*
   * Get/Set
   */
  this.getTop     = function()  { return this.top;                 }
  this.setTop     = function(t) { this.top = t;                    }
  this.getLeft    = function()  { return this.left;                }
  this.setLeft    = function(l) { this.left = l;                   }
  this.getWidth   = function()  { return this.width;               }
  this.getHeight  = function()  { return this.height;              }
  this.setVisible = function(b) { this.visible = (b ? true:false); }
  this.getVisible = function()  { return this.visible;             }

  /*
   * Member functions
   */

  this.find_obj =
    function(name, doc)
    {
      var i, obj;

      if(!doc) {
	doc = document;
      }
      if(!(obj = doc[name]) && doc.all) {
	obj = doc.all[name];
      }
      for(i=0; !obj && doc.layers && i<doc.layers.length; i++) {
	obj = this.find_obj(name, doc.layers[i].document);
      }
      if(!obj && doc.getElementById) {
	obj = doc.getElementById(name);
      }
      return obj;
    }

  this.isVerticallyCentered =
    function()
    {
      return this.top + Math.round(this.height/2) == Math.round(ticker_height/2);
    }

  this.isHorizontallyCentered =
    function()
    {
      return this.left + Math.round(this.width/2) == Math.round(ticker_width/2);
    }

  this.update =
    function()
    {
      /* update X/Y */
      var l = this.layer;
      if(typeof l.style     != 'undefined' &&
         typeof l.style.top != 'undefined' && typeof l.style.left != 'undefined') {
        l.style.top  = this.top+'px';
        l.style.left = this.left+'px';
	l.style.visibility = (this.visible ? 'visible':'hidden');
        return;
      }
      if(typeof l.style          != 'undefined' &&
         typeof l.style.pixelTop != 'undefined' && typeof l.style.pixelLeft != 'undefined') {
           l.style.pixelTop  = this.top;
           l.style.pixelLeft = this.left;
	   l.style.visibility = (this.visible ? 'visible':'hidden');
           return;
         }
      if(typeof l.x != 'undefined' && typeof l.y != 'undefined') {
        l.x = this.left;
        l.y = this.top;
	l.style.visibility = (this.visible ? 'show':'hidden');
        return;
      }
    }

  this.dump =
    function()
    {
      return String('['+this.name+']: t/l: '+this.top+'/'+this.left+' w/h: '+this.width+'/'+this.height);
    }

  /*
   * instance construction
   */

  if(!(this.layer  = this.find_obj(name))) {
    return;
  }

  /* get top/left */
  var l = this.layer;
  if(typeof l.style      != 'undefined' &&
     typeof l.style.top  != 'undefined' &&
     typeof l.style.left != 'undefined') {

    this.top  = parseInt(l.style.top);
    this.left = parseInt(l.style.left);

  } else if(typeof l.style           != 'undefined' &&
            typeof l.style.pixelTop  != 'undefined' &&
            typeof l.style.pixelLeft != 'undefined') {

    this.top  = parseInt(l.style.pixelTop);
    this.left = parseInt(l.style.pixelLeft);

  } else if(typeof l.x != 'undefined' &&
            typeof l.y != 'undefined') {

    this.top  = l.y;
    this.left = l.x;
  }

  /* get width/height */
  if(typeof l.offsetWidth  != 'undefined' &&
     typeof l.offsetHeight != 'undefined') {

    this.width  = parseInt(l.offsetWidth);
    this.height = parseInt(l.offsetHeight);

  } else if(typeof l.style             != 'undefined' &&
            typeof l.style.pixelWidth  != 'undefined' &&
            typeof l.style.pixelHeight != 'undefined') {

    this.width  = parseInt(l.style.pixelWidth);
    this.height = parseInt(l.style.pixelHeight);

  } else if(typeof l.document        != 'undefined' &&
            typeof l.document.width  != 'undefined' &&
            typeof l.document.height != 'undefined') {

    this.width  = l.document.width;
    this.height = l.document.height;
  }

  /* Set Visibility to true initially */
  this.visible = true;
}

/*---------------------------------------------------------------------------------**/

function ticker_init_scroll()
{
    /* set initial layer position
       according to ticker_spacing, set up global
       layers array */
    var pos_top  = 0;
    var pos_left = 0;

    for(var i=0; i<ticker_content.length; i++) {
      
      /* create layer object */
        layers[i] = new TickLayer('ticker'+i);

        if(ticker_type == 'V') {

            layers[i].setLeft(5);
            layers[i].setTop(pos_top);
            pos_top += layers[i].getHeight() + ticker_spacing;

	    layers[i].update();

	    layers[i].setVisible(true);
        
        } else if(ticker_type == 'H') {

            layers[i].setLeft(pos_left);
            layers[i].setTop(ticker_height/2 - layers[i].getHeight()/2);

            /* when in horizontal mode, create the '+++' layers */
            ppp_layers[i] = new TickLayer('ticker'+i+'_ppp');
            ppp_layers[i].setLeft(pos_left + layers[i].getWidth() + ticker_spacing);
            ppp_layers[i].setTop(ticker_height/2 - ppp_layers[i].getHeight()/2);

            pos_left += layers[i].getWidth() + 2 * ticker_spacing + ppp_layers[i].getWidth();

	    layers[i].update();
	    ppp_layers[i].update();

	    layers[i].setVisible(true);
	    ppp_layers[i].setVisible(true);
        }
    }
    ticker_scroll();
}

function ticker_scroll()
{
    var min_index = 0;
    var max_index = 0;
    var pause     = false;
    var timeout   = Math.round(101 - 10 * Math.min(ticker_speed, 10));

    /* return if ticker is halted */
    if(ticker_dontscroll) {
        setTimeout('ticker_scroll()', timeout);
        return;
    }

    /* determine inices for uppermost/lowermost layers */
    for(var i=0; i<layers.length; i++) {

        if(ticker_type == 'V') {

            /* vertical min/max */
            if(layers[i].getTop() < layers[min_index].getTop())
                min_index = i;
            if(layers[i].getTop() > layers[max_index].getTop())
                max_index = i;

        } else if(ticker_type == 'H') {

            /* horizontal min/max */
            if(layers[i].getLeft() < layers[min_index].getLeft())
                min_index = i;
            if(layers[i].getLeft() > layers[max_index].getLeft())
                max_index = i;
        }
    }

    /* update layers positions */
    var i = min_index;
    do {

        if(ticker_type == 'V') {

	    /* lowermost layer has become visible;
	     * queue the uppermost layer below it. */
	    if(i == max_index && layers[i].getTop() < ticker_height) {
		layers[min_index].setTop(layers[i].getTop() + layers[i].getHeight() + ticker_spacing);
	    }
	    layers[i].setTop(layers[i].getTop() - 1);
	    layers[i].setVisible(layers[i].getTop() + layers[i].getHeight() > 0);

	    if(layers[i].getVisible()) {
		layers[i].update();
	    }

        } else if(ticker_type == 'H') {

            /* leftmost layer has become completely invisible;
               queue it on the very right
               when in horizontal mode, also move the '+++' layers */
            if(i == min_index && layers[i].getLeft() + layers[i].getWidth() < 0) {

                layers[i].setLeft(layers[max_index].getLeft() + layers[max_index].getWidth() +
                                  2 * ticker_spacing + ppp_layers[max_index].getWidth());

                max_index = i;
                min_index = (i != layers.length - 1 ? i + 1 : 0);
            }
            if(i == min_index) {
                layers[i].setLeft(layers[i].getLeft() - 1);
            } else {
                var prev = (i != 0 ? i - 1 : layers.length - 1);
                layers[i].setLeft(layers[prev].getLeft() + layers[prev].getWidth() + 2 * ticker_spacing + ppp_layers[prev].getWidth());
            }

            ppp_layers[i].setLeft(layers[i].getLeft() - ppp_layers[i].getWidth() - ticker_spacing);
            layers[i].setVisible(layers[i].getLeft() < ticker_width);
            ppp_layers[i].setVisible(ppp_layers[i].getLeft() < ticker_width);

	    if(layers[i].getVisible()) {
		layers[i].update();
	    }
	    if(ppp_layers[i].getVisible()) {
		ppp_layers[i].update();
	    }
        }

        /* if current layers is now exactly in the middle of the box,
           use a longer timeout to give the user the chance to
           klick the link */
        if((ticker_type == 'V' && layers[i].isVerticallyCentered()) ||
           (ticker_type == 'H' && layers[i].isHorizontallyCentered())) {
            pause = true;
        }

        if(i < layers.length-1)
            i++;
        else i = 0;

    } while(i != min_index);

    if(pause) {
        setTimeout('ticker_scroll()', ticker_wait * 1000);
    } else { 
        setTimeout('ticker_scroll()', timeout);
    } 
}

function ticker_drawlayers()
{
    var d = document;

    d.write('<div style="position:relative;overflow:hidden;width:'+ticker_width+';height:'+ticker_height+';');
    d.write('            clip:rect(0 '+ticker_width+' '+ticker_height+' 0);" ');
    d.write('     onMouseover="ticker_dontscroll=true;" onMouseout="ticker_dontscroll=false;">');

    for(var i=0; i<ticker_content.length; i++) {

        var txt  = ticker_content[i][0];
        var href = ticker_content[i][1];

        /* layers for vertical scrolling */
        if(ticker_type == 'V') {

            d.write('  <div align="center" class="ticker" id="ticker'+i+'" ');
            d.write('       style="visibility:hidden;position:absolute;width:'+(ticker_width-10)+'px;">');
            d.write('    <a href="'+href+'" target="_blank">'+txt+'</a>');
            d.write('  </div>');

        } else if(ticker_type == 'H') {

            /* layers for horizontal scrolling */
            d.write('  <div align="left" class="ticker" id="ticker'+i+'" ');
            d.write('       style="visibility:hidden;position:absolute;">');
            d.write('    <nobr><a href="'+href+'" target="_blank">'+txt+'</a></nobr>');
            d.write('  </div>');
            /* when in horizontal mode, draw the '+++' layers */
            d.write('  <div align="left" class="ticker" id="ticker'+i+'_ppp" ');
            d.write('       style="visibility:hidden;position:absolute;">');
            d.write('    <nobr><font color="'+ticker_spacer_color+'">+++</font></nobr>');
            d.write('  </div>');
        }
    }
    d.write('</div>');
}

function ticker_show(type)
{
    ticker_type = type.toUpperCase();
    var d       = document;

    d.open();

    d.write('<table border="0" cellspacing="0" cellpadding="'+ticker_border+'" class="ticker">');
    d.write(' <tr>');
    d.write('  <td bgcolor="'+ticker_bordercolor+'">');
    d.write('   <table border="0" cellspacing="0" cellpadding="'+ticker_offset+'">');
    d.write('    <tr>');
    d.write('     <td width="'+ticker_width+'" height="'+ticker_height+'" bgcolor="'+ticker_bgcolor+'">');

    ticker_drawlayers();

    d.write('     </td>');
    d.write('    </tr>');
    d.write('   </table>');
    d.write('  </td>');
    d.write(' </tr>');
    d.write('</table>');

    d.close();
    window.onload = ticker_init_scroll;
}

/*---------------------------------------------------------------------------------**/

    tick_speed       = ticker_speed;
    tick_width       = ticker_width;
    tick_height      = ticker_height;
    tick_bgcolor     = ticker_bgcolor;
    tick_bordercolor = ticker_bordercolor;
function show_ticker() { ticker_show('H'); }

show_ticker();

