//<!--

//
// (c)2002-2006 plumsoft Systemhaus GmbH, Regensburg, Germany
// All rights reserved    
//
// $Id: dynbanner.js,v 1.4 2006/04/30 14:53:38 juergen Exp $
//
// dynamic banners
// jw 20020516
// jr 20030326 changed show(),add() :
//             new optional parameter interval
//             specifies how long the img should be shown in seconds
//
// use a html code block like
//
//    <a name="banner0" href=""><img name="banner0_img" border="0" alt="Banner">< /a>
//
// and define banners like this:
//
//    var banner0 = new Dynbanner("banner0",3) ;
//    banner0.add("img0.gif","http://www.plumsoft.de","_self",6) ;
//    banner0.add("img1.png","http://www.microsoft.de","_new",2) ;
//    banner0.show() ;
//

var _dynbanner_ = new Array() ;
var _dynbannerActive_ = false;
var _dynbannerInterval_ = 5000 ;

// methods

function _dynbannerAdd_(src,href,target,interval) {
    this.banners[this.banners.length] = new _dynbannerBanner_(src,href,target,interval) ;
}

function _dynbannerShowtime_() {
    if (this.banners && !_dynbannerActive_)    {
        // display next banner
        if (this.banners.length > 0) {
            this.current++ ;
            if (this.current >= this.banners.length) this.current = 0 ;
            document.images[this.name + "_img"].src = this.banners[this.current].src ;
            if (this.linkidx >= 0) {
                document.links[this.linkidx].href = this.banners[this.current].href ;
                document.links[this.linkidx].target = this.banners[this.current].target ;
            }
            if (!_dynbannerActive_)    {
                window.setTimeout("_dynbanner_[" + this.idx + "].show()",this.banners[this.current].interval);
                _dynbannerActive_ = true ;
            }
        }
    }
}

function _dynbannerShow_() {
    // initialize if necessary
    if (this.current < 0) {
        for (i=0; i < document.links.length ; i++)
            if (document.links[i].name == this.name)
                this.linkidx = i ;
    }
    _dynbannerActive_ = false ;
    _dynbanner_[this.idx].showtime();
}

function _dynbannerBanner_(src,href,target,interval) {
    this.src = src ;
    this.href = href.replace("&amp;", "&") ;
    this.target = (href == "#")? "_self" : target ;
    this.interval = (interval == null)? _dynbannerInterval_ : interval * 1000 ;
}

// constructor

function Dynbanner(name,interval) {
    this.name = name ;
    this.interval = interval * 1000 ;
    _dynbannerInterval_ = (interval)? interval*1000 : _dynbannerInterval_ ;
    this.banners = new Array() ;
    this.linkidx = -1 ;
    this.current = -1 ;
    this.add = _dynbannerAdd_ ;
    this.showtime = _dynbannerShowtime_ ;
    this.show = _dynbannerShow_ ;
    this.idx = _dynbanner_.length ;
    _dynbanner_[_dynbanner_.length] = this ;
}

// -->
