/*****************************************************************************/
/*** ImageViewer - Class						   ***/
/***-----------------------------------------------------------------------***/
/*** (C) 2008 Bauer Softwaredesign und Entwicklung			   ***/
/*****************************************************************************/
function CImgShow(imgid, imglist, idprev, idnext, styleact, styleinact)
{
    var imgList = Array();
    var imgNr = 0;
    var imgId = "";
    var navIdPrev = "";
    var navIdNext = "";
    var navStyleActive = "";
    var navStypeInactive = "";
    
    this.imgId = imgid;
    this.imgList = imglist;
    this.imgNr = 0;
    this.navIdPrev = idprev;
    this.navIdNext = idnext;
    this.navStyleActive = styleact;
    this.navStyleInactive = styleinact;
    
    this.SetNavClasses();
    this.Preload();
}

///<summary>Naechstes Bild anzeigen</summary>
CImgShow.prototype.Next = function()
{
    var i=0;

    if(this.imgNr < this.imgList.length-1)
    {
        this.imgNr++;
        if(this.imgList[this.imgNr]) this.SetImage();
	else this.Next();
	return true;
    }
    
    for(i = this.imgList.length; i >= 0; i--)
    {
        if(this.imgList[i])
	{
	    this.imgNr = i;
	    break;
	}
    }
    return false;
}

///<summary>Vorheriges Bild anzeigen</summary>
CImgShow.prototype.Prev = function()
{
    var i=0;
    
    if(this.imgNr > 0)
    {
        this.imgNr--;
	if(this.imgList[this.imgNr]) this.SetImage();
        else this.Prev();
	return true;
    }
    return false;
}

///<summary>Bild setzen</summary>
CImgShow.prototype.SetImage = function()
{
    if((el = document.getElementById(this.imgId)))
    {
	el.src = this.imgList[this.imgNr];
    }
    
    this.SetNavClasses();
}

///<summary>CSS - Klassen fuer die Navigations - Controls setzen</summary>
CImgShow.prototype.SetNavClasses = function()
{
    if(this.imgList.length > 0)
    {
        if((el = document.getElementById(this.navIdPrev)))
	{
	    if(this.imgNr > 0) el.className = this.navStyleActive;
	    else el.className = this.navStyleInactive;
	}

        if((el = document.getElementById(this.navIdNext)))
	{	
	    if(this.imgNr < this.imgList.length - 1) el.className = this.navStyleActive;
	    else el.className = this.navStyleInactive;
	}
    }
    else
    {
	if((el = document.getElementById(this.navIdPrev)))
	    el.className = this.navStyleInactive;
	    
	if((el = document.getElementById(this.navIdNext)))
	    el.style.className = this.navStyleInactive;
    }
}

///<summary>Preloading der Grafiken</summary>
CImgShow.prototype.Preload = function()
{
    document.imgShowImages = new Array();
    
    for(i=0; i<this.imgList.length; i++)
    {
	document.imgShowImages[i] = new Image();
	document.imgShowImages[i].src = this.imgList[i];
    }
}

///<summary>Automatischen Bilderwechsel starten (SlideShow)</summary>
CImgShow.prototype.Animate = function(objName, interval)
{
    setInterval(objName + ".timerProc()", interval);
}
		
CImgShow.prototype.timerProc = function()
{
    if(this.imgNr < this.imgList.length-1) this.Next();
    else
    {
	this.imgNr = 0;
	this.SetImage();
    }
}

