function ImageRotatorObject(imgWidthArr, imgHeightArr, prefixStr, objVarName, interval)
{
    this.imgnum = -1;
    this.timerid = -1;
    this.imgWidth = imgWidthArr;
    this.imgHeight = imgHeightArr;
    this.prefixStr = prefixStr;
    this.maxNum = this.imgWidth.length;
    this.objVarName = objVarName;
    this.interval = interval;
    this.state = '';
    this.minHeight = '64px';
    this.minWidth = '64px';
    this.minOpacity = 0.5;
}

function rotatorFocus(obj, elem)
{
    var imgnum = elem.getAttribute("rotatorId");
    var divElem = document.getElementById(obj.prefixStr + '_div' + imgnum);

    if (navigator.appName.indexOf("Netscape")!=-1 && parseInt(navigator.appVersion)>=5)
    {
        elem.style.MozOpacity=1;
    }
    else if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion)>=4)
    {
        elem.filters.alpha.opacity=100;
    }
    elem.style.width = obj.imgWidth[imgnum];
    elem.style.height = obj.imgHeight[imgnum];
    divElem.style.display='block';
}

function rotatorUnfocus(obj, elem)
{
    var imgnum = elem.getAttribute("rotatorId");
    var divElem = document.getElementById(obj.prefixStr + '_div' + imgnum);

    if (navigator.appName.indexOf("Netscape")!=-1 && parseInt(navigator.appVersion)>=5)
    {
        elem.style.MozOpacity=obj.minOpacity;
    }
    else if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion)>=4)
    {
        elem.filters.alpha.opacity=obj.minOpacity*100;
    }
    elem.style.width=obj.minWidth;
    elem.style.height=obj.minHeight;
    divElem.style.display='none';
}

function rotatorStart(obj)
{
    var oldimg = obj.imgnum;
    obj.imgnum++;
    if (obj.imgnum >= obj.maxNum) obj.imgnum = 0;
    if ( oldimg >= 0 )
    {
        var imgElemOld = document.getElementById(obj.prefixStr + '_img' + oldimg);
        rotatorUnfocus(obj, imgElemOld);
    }
    var imgElemNew = document.getElementById(obj.prefixStr + '_img' + obj.imgnum);
    rotatorFocus(obj, imgElemNew);
    obj.state = 'start';
    obj.timerid = setTimeout('rotatorStart('+obj.objVarName+');',5000);
}

function rotatorStop(obj, elem)
{
    if ( obj.timerid ) 
    {
        clearTimeout(obj.timerid);
        obj.timerid = -1;
    }
    obj.state = 'stop';
}

function rotatorPause(obj, elem)
{
    if ( obj.state == 'stop') return 0;
    var rotatorId = parseInt(elem.getAttribute('rotatorId'));
    if ( obj.imgnum != rotatorId ) return 0;
    if ( obj.timerid ) 
    {
        clearTimeout(obj.timerid);
        obj.timerid = -1;
    }
    obj.state = 'pause';
}

function rotatorResume(obj, elem)
{
    if (obj.state == 'stop') return 0;
    var rotatorId = parseInt(elem.getAttribute('rotatorId'));
    if ( obj.imgnum != rotatorId ) return 0;
    rotatorStart(obj);    
}

function rotatorClick(obj, elem)
{
    if ( obj.timerid ) 
    {
        clearTimeout(obj.timerid);
        obj.timerid = -1;
    }
    obj.state = 'stop';
    var rotatorId = parseInt(elem.getAttribute('rotatorId'));
    var oldElem = document.getElementById(obj.prefixStr + '_img' + obj.imgnum);
    rotatorUnfocus(obj, oldElem);
    rotatorFocus(obj, elem);
    obj.imgnum = rotatorId;
}
    

