 
/* Default-Werte, koennen spaeter ueberschrieben werden */

var thumbdir = "thumbs";
var largedir = "images";
var imgdescs = "descriptions.xml";
var useonclick = 1;
var thumbwidth = 104;
var thumbheight = 94;
var thumbpadding = 0;
var largewidth = 365;
var largeheight = 256;
var timeout = 40;
var minwidth = 4000;

/* Variablen initialisieren, die spaeter benoetigt werden */

/* Items, die angezeigt werden */
var showitems = new Array(0);
var req = null;
/* Startposition */
var pos = 0;
var scroll = 1;

// IE 7 und Mozilla
if (typeof XMLHttpRequest != 'undefined') {
  req = new XMLHttpRequest();
 }
if (!req) {
  // Internet Explorer 6 und ?lter
  try {
    req  = new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e) {
    try {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      req = null;
    }
  }
 }

/* XML parsen und Array generieren: */
function parsexml () {
  if (req.readyState == 4) {
    var tmpitems = req.responseXML.getElementsByTagName("item");
    for (var i=0; i<tmpitems.length; i++) {
      showitems[i] = tmpitems[i];
    }
    if (showitems.length > 0) {
      replaceinnerdiv ();
      setTimeout('moveleft()', timeout);
    }
  }
}

/* Alte Tabelle entfernen, neue aufbauen */
function replaceinnerdiv () {
  var outerdv = document.getElementById("outerdv");
  var innerdv = document.getElementById("innerdv");
  var imgtab = document.getElementById("scrollimages");
  /* neue Tabelle aufbauen */
  var tmptab = document.createElement("table");
  var tmptbody = document.createElement("tbody");
  var tmptr = document.createElement("tr");
  tmptab.setAttribute("id","scrollimages");
  for (var j=0; j<showitems.length*getcount(); j++) {
    var i = j % showitems.length;
    var tmptd = document.createElement("td");
    var tmpa = document.createElement("a");
    var tmpimg = document.createElement("img");
    tmpa.setAttribute("href", showitems[i].getElementsByTagName("link")[0].childNodes[0].data);
    tmpimg.setAttribute("src", thumbdir + "/" + 
			showitems[i].getElementsByTagName("image")[0].childNodes[0].data);
    tmpimg.setAttribute("width", thumbwidth);
    tmpimg.setAttribute("height", thumbheight);
    if (useonclick > 0) { tmpimg.onclick = replacecontent; }
    tmpa.appendChild(tmpimg);
    tmptd.appendChild(tmpa);
    tmptr.appendChild(tmptd);
  }
  tmptbody.appendChild(tmptr);
  tmptab.appendChild(tmptbody);
  /* alte entfernen */
  innerdv.removeChild(imgtab);
  /* neue anh?ngen */
  innerdv.appendChild(tmptab);
  /* Handler f?r Scrollstart und Stop */
  outerdv.onmouseover = scrollstop;
  outerdv.onmouseout = scrollstart;
}

/* Ermitteln, wie oft die Tabelle wiederholt werden muss, damit sie nicht
   rausscrollt, sehr grosszuegig berechnet */
function getcount () {
  var singletabwidth = showitems.length * thumbwidth;
  var tabcount = minwidth / singletabwidth;
  if (Math.ceil(tabcount) > 1) {
    return Math.ceil(tabcount);
  } else {
    return 2;
  }
}

/* Inneres DIV nach Links schieben */
function moveleft () {
  var outerdv = document.getElementById("outerdv");
  var innerdv = document.getElementById("innerdv");
  if (pos < showitems.length * (thumbwidth + thumbpadding)) {
    pos = pos + 1;
  } else {
    pos = 0;
  }
  if (scroll > 0) {
    // innerdv.style.position = 'relative';
    innerdv.style.left = '-' + pos + 'px';
    // innerdv.style.top = '0px';
    setTimeout('moveleft()', timeout);
  } else {
    setTimeout('moveleft()', 5 * timeout);
  }
}

/* Inhalte im Hauptfeld austauschen */
function replacecontent () {
  var src = this.getAttribute("src");
  alert(src);
  return false;
}

/* Scrollen stoppen wenn mit Maus dr?ber, starten wenn wieder weg */
function scrollstart () { scroll = 1; }
function scrollstop () { scroll = 0; }

function scrollinit () {
  req.open("GET", imgdescs, true);
  req.onreadystatechange = parsexml;
  req.send(null);
  
}

