/* SETTINGS START */

$(document).ready(function()
{

	// zeit zwischen den bildwechseln
	waitTime = 4000;

	// bildhoehe
	imageHeight = 162;
	contentPadding = 10;

	/* SETTINGS END */

	img_folder_len = img_folder.length;
	imgs = new Array();
	lastDiv = 0;
	lastImg = 0;
	
	var contentHeight = $('#content').attr('offsetHeight');
	var navigationHeight = $('#content').attr('offsetHeight');
	
	var higherElement = (contentHeight >= navigationHeight ? contentHeight : navigationHeight );
	var newHeight = (Math.ceil(higherElement/imageHeight) == Math.floor(higherElement/imageHeight) ? higherElement : (Math.ceil(higherElement/imageHeight)*imageHeight));
	
	if (contentHeight < newHeight)
		document.getElementById('content').style.height = (newHeight-(contentPadding*2))+"px";
	
	document.getElementById('imagebar').style.height = newHeight+"px";

  // Anzahl der angezeigten Bilder
  var shown_div_nr = (newHeight/imageHeight)-1;
 
  // alle Bilder in Array einlesen
  for (var i = 0; i < $('#imagebar div img').length; i++){
    imgs[i] = $('#imagebar div:eq('+i+') img').attr('src').substr(img_folder_len);
  }
  
  // kopie des bilderarrays erstellen zum zuruecksetzen
  imgs_save = new Array();
  imgs_save = imgs.slice(0, imgs.length);

  // Die bereits angezeigten Bilder aus Bilder-Array entfernen
  imgs.splice(0, shown_div_nr);
  
  setInterval('start('+shown_div_nr+')',waitTime);
        
});

/* nach item im array suchen, gibt bei erfolg den index zurueck, ansonsten -1 */
function get_array_key(item,arr) {
    for(p=0;p<arr.length;p++) 
      if (item == arr[p]) return p;
    
    return -1;
}

/* zufalls-index fuer bildanzeige auswaehlen. ruft sich selbst solange 
   neu auf bis nicht der zuletzt angezeigte bildindex ausgewaehlt ist */
function getRandom(min, max, div){
    if (max == 0 || (max - min) == 0) {
      rnd = 0;
    }
    else {
      var rnd = Math.floor(Math.random() * (max - min + 1)) + min;
      
      if (div){
          if (rnd == lastDiv)
              rnd = Math.floor(Math.random() * (max - min + 1)) + min;

          lastDiv = rnd;
      } else {
          if (rnd == lastImg)
              rnd = Math.floor(Math.random() * (max - min + 1)) + min;

          lastImg = rnd;
      }
    }
	
	return rnd;
}

function start(shown_div_nr){
    // wenn Array fast leer ist wieder befuellen (nicht bis 0 kommen lassen wegen undefined meldung beim naechsten runterzaehlen)
    if (imgs.length == 2) {
      imgs = imgs_save.slice(0, imgs_save.length);
      //imgs = imgs_save;
		
      // list currently shown images
      var cur_shown = new Array();
      var ig = "";
      var ak = -1;
      
      // angezeigte Bilder durchgehen
      for (var i = 0; i <= shown_div_nr; i++){
        ig = $('#imagebar div:eq('+i+') img').attr("src").substr(img_folder_len);
        
        // angezeigtes bild in imgs array suchen
        ak = get_array_key(ig,imgs);
        
        // wenn angezeigtes bild in array dann entfernen
        if (ak != -1) imgs.splice(ak,1);
      }
    }
    
    swap(shown_div_nr);
}

/* div und randombild auswaehlen und ausblenden + kurze wartezeit.
   danach aufruf swap_two um bild zu wechseln und wieder einzublenden */
function swap(shown_div_nr){
    var rand_img_key = getRandom(0,imgs.length-1,false);
    var rand_div = getRandom(0,shown_div_nr,true);
    
    var img = img_folder + imgs[rand_img_key];

    // aktuell angezeigtes Bild aus Array entfernen
    imgs.splice(rand_img_key,1);
    
    // kurze pause zum bild-auswechseln zwischen aus- und einfaden
    $('#imagebar > div:eq('+rand_div+') > img').fadeOut(waitTime/2-(waitTime/10));

    return setTimeout('swap_two("'+rand_div+'", "'+img+'");',waitTime/2+(waitTime/5));
}

function swap_two(rand_div, img){
    $('#imagebar > div:eq('+rand_div+') > img').attr("src",img);
    $('#imagebar > div:eq('+rand_div+') > img').fadeIn(waitTime/2-(waitTime/10));

    return true;
}