/* START WerbeSlider */
var ShowTime = 0;       // Anzeigedauer des Einzelelements in Millisekunden
var ShowTimeBackUp;     // Sicherung der Anzeigedauer als Backup zur Vermeidung des doppelten Timers
var SlideTime = 10;     // Verzögerung des Slidens in Millisekunden
var SlideStepping = 1;  // Pixelschritte des Slidens in Pixeln

var OldLeft = 0;
var NewLeft = 0;
var MaxLeft = 0;
var AdList = new Array();
var AdListRandomNumbers = new Array();
var MaxAmount = 0;
var SliderItemWidth = 0;
var AdSliderInitialized = 0;

function hosinfo(ausgabe)
{
   if(navigator.appName.indexOf("Netscape") != -1)
   {
     try{console.info(ausgabe)} catch(e){}; 
   }
}

function ShowTimeInContainer(DOMID, VALUE) {
    //var el = document.getElementById(DOMID);
    //if ( el != false && el != false && VALUE != '' && typeof VALUE != 'undefined' ) {
        //el.value = VALUE;
        //hosinfo(VALUE);
    //}
}


function Wuerfeln() {
    var z1 = Math.random();
    var z2 = z1*AdList.length + 0.5;
    var z3 = Math.round(z2);
    return z3;
}


function FillRandomSort(RANDOMNUMBER, ADSLIDERCON, ITEMCSSCLASS) {
    var AddThisNumber = 1;
    if ( AdListRandomNumbers != false && AdListRandomNumbers != null ) {
        //hosinfo('FillRandomSort ' + RANDOMNUMBER);
        for ( i = 0; i < AdListRandomNumbers.length; i++ ) {
            if ( RANDOMNUMBER == AdListRandomNumbers[i] ) {
                //hosinfo(RANDOMNUMBER + ' bereits vorhanden');
                AddThisNumber = 0;
            }
        }
        if ( AddThisNumber == 1 ) {
            //hosinfo(RANDOMNUMBER + ' hinzugefügt');
            AdListRandomNumbers.push(RANDOMNUMBER);
        }
        
        if ( AdListRandomNumbers.length != AdList.length  ) {
            //hosinfo('Weiter befüllen... (RndNo: ' + AdListRandomNumbers.length + ' / AdList: ' + AdList.length + ') ');
            FillRandomSort(Wuerfeln(), ADSLIDERCON, ITEMCSSCLASS);
        }
        else {
            
            // Und jetzt haben wir ein vollständiges Array => Nur noch den Quelltext in der entsprechden Reihenfolge umbauen
            //hosinfo(ADSLIDERCON);
            var AdSliderRandomizedHTML = '';
            for ( i = 0; i < AdListRandomNumbers.length; i++ ) {
                var TMP = AdListRandomNumbers[i]-1;
                if ( AdList[TMP] != false && AdList[TMP] != null ) {
                    //hosinfo(i+ ' Element '+TMP+' existiert => HTML adden');
                    var TMPHTML = '';
                    TMPHTML = AdList[TMP].innerHTML;
                    AdSliderRandomizedHTML += '<div class="'+ITEMCSSCLASS+'">' + TMPHTML + '</div>';
                }
            }
            ADSLIDERCON.innerHTML = AdSliderRandomizedHTML;
            return;
        }
    }
    else {
        //hosinfo('AdListRandomNumbers ist noch leer');
        AdListRandomNumbers.push(RANDOMNUMBER);
        FillRandomSort(Wuerfeln(), ADSLIDERCON, ITEMCSSCLASS);
        //window.setTimeout("FillRandomSort(Wuerfeln(), \'"+ADSLIDERCON+"\', \'"+ITEMCSSCLASS+"\')", 500);
    }
}


//hosinfo('DEBUG');

function AdSliderInit(DOMID, ITEMCSSCLASS, COLLAPSEID) {
    ShowTimeBackUp = ShowTime;
  //hosinfo('function AdSliderInit');
  if ( DOMID != null && DOMID != false && DOMID != '' ) {
    //hosinfo('ID ist vorhanden');
    var AdSliderCon = document.getElementById(DOMID);
    if ( AdSliderCon != null && AdSliderCon != false ) {
      //hosinfo('Con ist vorhanden');
      AdSliderCon.style.position = 'relative';
      AdSliderCon.style.left = '0px';
      var AdSliderItems = AdSliderCon.getElementsByTagName('div');
      if ( AdSliderItems != null && AdSliderItems != false ) {
        //hosinfo('Items vorhanden');
        var ElCount = -1;
        
        // Breite des Container aus dem Style bestimmen und als Grundlage für den Scroller verwenden
        SliderItemWidth = parseInt(AdSliderItems[0].offsetWidth);
        //hosinfo('Width: '+SliderItemWidth);
        NewLeft = SliderItemWidth;
        
        for ( i=0; i < AdSliderItems.length; i++ ) {
          if ( AdSliderItems[i].className == ITEMCSSCLASS && AdSliderItems[i].offsetHeight > 50 && AdSliderItems[i].offsetWidth > 0 ) {
            // hosinfo('i: '+i);
            ElCount++;
            AdList[ElCount] = AdSliderItems[i];
          }
          else {
            AdSliderItems[i].style.display = 'none';
          }
        }
        
        
        // START Würfeln
        if ( AdList.length > 1 ) {
            FillRandomSort(Wuerfeln(), AdSliderCon, ITEMCSSCLASS);
        }
        //hosinfo(AdListRandomNumbers);
        // ENDE Würfeln
        
        
        MaxAmount = AdList.length;
        
        if ( AdList.length > 1 ) {
//        hosinfo('Erstes Element hinzufügen');
          var FirstElem = AdSliderItems[0].cloneNode(true);
          var newNo = AdList.length;
          FirstElem.id = ITEMCSSCLASS+newNo;
          AdSliderCon.appendChild(FirstElem);
          ElCount++;
          AdList[ElCount] = document.getElementById(FirstElem.id);
//          hosinfo('Zweites Element hinzufügen');
          var SecondElem = AdSliderItems[1].cloneNode(true);
          var newNo = AdList.length; 
          SecondElem.id = ITEMCSSCLASS+newNo;
          AdSliderCon.appendChild(SecondElem);
          ElCount++;
          AdList[ElCount] = document.getElementById(SecondElem.id);
        }
        
        //hosinfo(AdList);
        var AdSliderItems = AdSliderCon.getElementsByTagName('div');
        if ( AdSliderItems != null && AdSliderItems != false ) {
          
        }
        
//        hosinfo(AdList);
//        hosinfo('AdSliderInit(): Anzahl '+AdList.length);
        if ( AdList.length > 1 ) {
          if ( AdList != null && AdList != false ) {
            ScrollElements(DOMID);
          }
        }
        if ( AdList.length < 1 && COLLAPSEID != '' ) {
          var CollapseAll = document.getElementById(COLLAPSEID);
          if ( AdSliderItems != null && AdSliderItems != false ) {
            CollapseAll.style.display = 'none';
          }
        }
      }
    }
  }
}

function ScrollElements(DOMID) {
  //hosinfo('function ScrollElements('+DOMID+')');
  if ( AdList != null && AdList != false ) {
    var MaxVal = AdList.length;
    if ( ElShown1 == MaxVal-1 && ElShown2 >= MaxVal ) {
      ElShown1 = 0;
      ElShown2 = 1;
    }
    
    if ( ElShown1 >= MaxVal ) {
      ElShown1 = 0;
    }
    if ( ElShown1 < 0 ) {
      ElShown1 = 0;
    }
    if ( ElShown2 < 0 ) {
      ElShown2 = 0;
    }
    if ( ElShown2 >= MaxVal ) {
      ElShown2 = 0;
    }
    
    //hosinfo('ScrollElements() läuft');
    NewLeft = ElShown1 * SliderItemWidth;
    var Amount = MaxAmount;
//    hosinfo('ScrollElements(): Anzahl '+Amount);  
    if ( Amount != 0 ) {
      MaxLeft = Amount * SliderItemWidth;
//      hosinfo('ScrollElements(): MaxLeft-Berechnung '+MaxLeft+ ' / Amount: '+Amount);
    }
    if ( NewLeft > MaxLeft ) {
      if ( ElShown1 == 0 ) {
        NewLeft = SliderItemWidth;
        window.setTimeout("ScrollElements('"+DOMID+"')", ShowTime);
      }
      //hosinfo('Wann springst Du hier rein?');
    }
    var Slider = document.getElementById(DOMID);
    OldLeft = parseInt(Slider.style.left);
    OldLeft = Math.abs(OldLeft);
    
    var Current = parseInt(Slider.style.left);
    //hosinfo('Current: ' + Current + ' / ElShown1 ' + ElShown1 + ' / MaxElem ' + (MaxVal-1));
    //hosinfo('NewLeft/StopValue: ' + NewLeft + ' / Current: '+Slider.style.left);
    if ( AdSliderInitialized == 1 ) {
        // Check ob es das letzte Element ist
        if ( (MaxVal-1) == ElShown1 || ElShown1 == 0 ) {
            //hosinfo('JETZT : ');
            ShowTime = 0;
        }
        else {
            ShowTime = ShowTimeBackUp;
        }
    }
    
    SlideIt(DOMID, NewLeft);
    ElShown1++;
    ElShown2++;
    
    AdSliderInitialized = 1;
    window.setTimeout("ScrollElements('"+DOMID+"')", ShowTime);
  }
}

function SlideIt(DOMID, StopValue) {
  ShowTimeInContainer('ShowTimeValue', Current);
  var Slider = document.getElementById(DOMID);
  var Current = parseInt(Slider.style.left);
  Current = Math.abs(Current);
  //hosinfo('SlideIt('+DOMID+', '+StopValue+')');
  //hosinfo('Startwert: '+Current + ' / Stopwert: '+StopValue);
  
  if ( Current != NewLeft && Current < NewLeft ) {
    Current = Current + SlideStepping;
    if ( Current >= NewLeft ) {
        Current = NewLeft;
    }
  }
  if ( Current >= NewLeft ) {
    if ( Current >= MaxLeft ) {
      Current = 0;
      NewLeft = SliderItemWidth;
    }
    Slider.style.left = '-' + Current + 'px';
//    hosinfo('SlideIt('+StopValue+') / Current: '+Current+' / NewLeft: '+NewLeft+' / Maxleft: '+MaxLeft);
    if ( typeof Timer != 'undefined' ) {
      clearTimeout(Timer);
    }
  }
  else {
    Slider.style.left = '-' + Current + 'px';
    Timer = setTimeout("SlideIt('"+DOMID+"', "+StopValue+")", SlideTime);
  }
  ShowTimeInContainer('ShowTimeValue', Current);
}

var ElShown1 = 0;
var ElShown2 = 1;
/* ENDE WerbeSlider */
