﻿// JScript File

var Addon_Slides_Initialized = false;
var Addon_Slides_SlideSize = "320x240";
var Addon_Slides_SlideBaseName = "Slide_";
var Addon_Slides_SlideLeadingZeros = 5;
var Addon_Slides_LastSlide = "";
var Addon_Slides_CurrentNr = 1;

function Addon_Slides_Activate() {
    if (!Addon_Slides_Initialized) {
        Addon_Slides_Paint();
        _thumbs = new Addon_Slides_thumbs();

        if (AddonSlidesShowThumbs && _thumbs.mTotalThumbs > 1) {
            Addon_Slides_ThumbsInitialize('thumbSlider'); //create thumbnail scroller
        } else {
            document.getElementById('Addon_Slides_MainContainer').style.display = "none";
            document.getElementById('navIndexDiv').style.display = "none";
        }
        Addon_Slides_Initialized = true;
    } else {
        setTimeout("Addon_Slides_doEvent_Internal('SLIDE','"+ Addon_Slides_LastSlide+"')",100);
    }
}

function Addon_Slides_Resize(w, h) {
    document.getElementById('cwc_tabContent_Slides').style.width = w + "px";
    document.getElementById('cwc_tabContent_Slides').style.height = h + "px";
    _thumbs.mXcoord = Math.abs(_thumbs.mXcoord + _thumbs.mXstep) + document.getElementById("thumbSlider_Mask").offsetWidth < (_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth) ? _thumbs.mXcoord + _thumbs.mXstep : -((_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth) - document.getElementById("thumbSlider_Mask").offsetWidth);
    _thumbs.mXcoord = (_thumbs.mXcoord + _thumbs.mXstep) < 0 ? _thumbs.mXcoord + _thumbs.mXstep : 0;
    document.getElementById("thumbSlider").style.left = _thumbs.mXcoord + "px";

    if (!_thumbs.mDrawSwf) {
        var nw = 240;
        var nh = 180;
        PreservedHeight = 120; //fixed size, since offsetHeight was empty at player start
        ImgRoom = h - PreservedHeight;

        if (w - 40 > 240 && ImgRoom > 180) { nw = 240; nh = 180; }

        if (w - 40 > 320 && ImgRoom > 240) { nw = 320; nh = 240; }

        if (w - 40 > 480 && ImgRoom > 360) { nw = 480; nh = 360; }

        if (w - 40 > 600 && ImgRoom > 450) { nw = 600; nh = 450; }

        if (w - 40 > 800 && ImgRoom > 600) { nw = 800; nh = 600; }

        document.getElementById("cwc_tabContent_Slides").style.width = nw + 30 + "px";
        document.getElementById("cwc_tabContent_Slides").style.height = h + "px";
        document.getElementById("cwc_tabContent_Slides").style.overflow = "hidden";
        Addon_Slides_SlideSize = nw + "x" + nh;

        if (!Addon_Slides_LastSlide) {
            Addon_Slides_LastSlide = "Slide_" + getCurrentLanguage() + "_00001.jpg";
        }

        Addon_Slides_doEvent_Internal("SLIDE", Addon_Slides_LastSlide);
    } else {
        document.getElementById("Addon_Slides_SwfSlides_ContainerMovie").style.height = h - 140 + "px";
    }

    // Reorder Thumbs
    _thumbs.mThumbContainer.innerHTML = '';
    _thumbs.mThumbsMaxViewable = Math.floor(w / _thumbs.mThumbTotalWidth);
    _thumbs.mThumbLeft = Math.abs(Math.floor(_thumbs.mXcoord / w)) - 1;
    _thumbs.mThumbRight = (_thumbs.mThumbLeft + _thumbs.mThumbsMaxViewable) + 3;
    _thumbs.mThumbRight = Math.min(_thumbs.mThumbRight, _thumbs.mTotalThumbs);

    for (var i = _thumbs.mThumbLeft; i < _thumbs.mThumbRight; i++) {
        Addon_Slides_CreateThumbnail(i);
    }

    Addon_HighLight_Selected();

    document.getElementById("thumbSlider").style.left = (_thumbs.mXcoord) + "px";

    //  Clear Timers
    clearTimeout(_thumbs.mFlowControlTimer);
    clearTimeout(_thumbs.mFpms);
}

function Addon_Slides_Paint() {
    var outp = "<div id='Addon_Slides_FlashContainer' style='width:100%;text-align:center;'>";

    if (Addon_Slides_checkSwf()) {
        var SwfLocation = ResourceHandlerUrl + "swf\\Slide_" + getCurrentLanguage() + ".swf";
        SwfWidth = "100%";
        SwfHeight = "100%";
        SwfId = "Addon_Slides_SwfSlides_Movie";
        SwfBgColor = "#ffffff";
        outp += "     <div id='Addon_Slides_SwfSlides_ContainerMovie' style='border:1px solid black; height:" + (document.getElementById("cwc_tabContent_Slides").offsetHeight - 140) + "px;'>";
        outp += "         <div style='height:100%;width:100%'><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"" + SwfWidth + "\" height=\"" + SwfHeight + "\" id=\"" + SwfId + "\">";
        outp += "             <param name=\"allowFullScreen\" value=\"true\"><param name=\"wmode\" value=\"transparent\"><param name=\"movie\" value=\"" + SwfLocation + "\" /><param name=\"salign\" value=\"T\" /><param name=\"play\" value=\"false\" />";
        outp += "             <embed src=\"" + SwfLocation + "\" wmode=\"transparent\" salign=\"T\" quality=\"high\" width=\"" + SwfWidth + "\" height=\"" + SwfHeight + "\" name=\"" + SwfId + "\" allowFullScreen=\"true\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" play=\"false\"/>";
        outp += "     </object></div></div>";
    } else outp += "   <img id='slideImg' style='border:1px solid black;'>";
    // Attach thumbslider          
    outp += "     <div id='Addon_Slides_MainContainer'>";
    outp += "         <table style='width:100%;height:25px;' ><tr>";
    outp += "             <td style='width:25px;'><div id='navLeftDiv' class='navLeftDiv' onclick='Addon_Slides_NavLeft();' onmouseover='this.className=\"navLeftDiv-a\"' onmouseout='this.className=\"navLeftDiv\"'>&nbsp;</div></td>";
    outp += "             <td style='width:50px;text-align:center;'><div id='navIndexDiv' class='navIndexDiv'>" + Addon_Slides_CurrentNr + "/" + AddonSlidesCount + "</div></td>";
    outp += "             <td style='width:25px;'><div id='navRightDiv' class='navRightDiv' onclick='Addon_Slides_NavRight();' onmouseover='this.className=\"navRightDiv-a\"' onmouseout='this.className=\"navRightDiv\"'>&nbsp;</div></td>";
    outp += "             <td style='text-align:center;'><div id='navJumpDiv' onclick='Addon_Slides_NavJumpDirect();' style='display:none;'><div class='navJumpDiv' onmouseover='this.className=\"navJumpDiv-a\"' onmouseout='this.className=\"navJumpDiv\"'>&nbsp;</div><div class='cwc_linkSpan' style='text-align:left;height:22px;line-height:20px;'>" + AddonSlidesLangArr[1] + "</div></div></td>";
    outp += "             <td align='right'>";
    outp += "                 <div onClick='Addon_Slides_Enlarge();'>";
    outp += "                 <div class='EnlargeSlidesDiv' onmouseover='this.className=\"EnlargeSlidesDiv-a\"' onmouseout='this.className=\"EnlargeSlidesDiv\"'>&nbsp;</div>";
    outp += "                 <div class='cwc_linkSpan' style='text-align:left;height:22px;line-height:20px;float:right'>" + AddonSlidesLangArr[0] + "</div></div></td>";
    outp += "         </tr></table>";
    outp += "         <div style=\"position:relative;height:82px; overflow: hidden;z-index:1;\" id=\"thumbSlider_Mask\" onmousemove=\"Addon_Slides_TrackCoord(event)\" onmouseout=\"Addon_Slides_PauseScroll()\">";
    outp += "             <div id=\"thumbSlider\" style=\"position: absolute; left: 0px; top: 0px;\" onmouseover=\"Addon_Slides_TrackCoord(event)\" onmouseout=\"Addon_Slides_PauseScroll()\"></div>";
    outp += "         </div>";
    outp += "     </div>";
    outp += "</div>";
    document.getElementById('cwc_tabContent_Slides').innerHTML = outp;
}

var slidewin;

function Addon_Slides_Enlarge() {
    try { slidewin.close(); } catch (ex) { }

    if (!Addon_Slides_LastSlide) {
        Addon_Slides_LastSlide = "Slide_" + getCurrentLanguage() + "_00001.jpg"
    }

    var url = ResourceHandlerUrl + "slides\\jpg800x600\\" + Addon_Slides_LastSlide;
    slidewin = window.open(url, '', 'width=837, height=630, scrollbars=no, toolbar=no, location=no');
}

function Addon_Slides_NavLeft() {

    if (Addon_Slides_CurrentNr > 1) {
        Addon_Slides_CurrentNr--;
        var slideName = Addon_Slides_SlideBaseName + getCurrentLanguage() + "_";
        var tmp = new String(Addon_Slides_CurrentNr);
        //Scroll thumbs
        Addon_Slides_ThumbJumpTo(Addon_Slides_CurrentNr);
        
        for (var i = Addon_Slides_SlideLeadingZeros; i > tmp.length; i--) {
            slideName += "0";
        }
        
        slideName += tmp + ".jpg";
        Addon_Slides_Browse("SLIDE", slideName, false);
        
        if (theLiveStatusId > LS_LIVE) {
            document.getElementById("navJumpDiv").style.display = "block";
        }
        
        if (_thumbs.WaitOnJump) {
            clearTimeout(_thumbs.WaitOnJump);
        }
        
        _thumbs.WaitOnJump = false;
        _thumbs.WaitOnJump = setTimeout("Addon_Slides_CancelJump()", 15000);
    }
}

function Addon_Slides_NavRight() {
    
    if (Addon_Slides_CurrentNr < AddonSlidesCount) {
    
        Addon_Slides_CurrentNr++;
        var slideName = Addon_Slides_SlideBaseName + getCurrentLanguage() + "_";
        var tmp = new String(Addon_Slides_CurrentNr);
        //Scroll thumbs
        Addon_Slides_ThumbJumpTo(Addon_Slides_CurrentNr);
        
        for (var i = Addon_Slides_SlideLeadingZeros; i > tmp.length; i--) {
            slideName += "0";
        }
        
        slideName += tmp + ".jpg";
        Addon_Slides_Browse("SLIDE", slideName, false);
        
        if (theLiveStatusId > LS_LIVE) {
            document.getElementById("navJumpDiv").style.display = "block";
        }

        if (_thumbs.WaitOnJump) {
            clearTimeout(_thumbs.WaitOnJump);
        }
        
        _thumbs.WaitOnJump = false;
        _thumbs.WaitOnJump = setTimeout("Addon_Slides_CancelJump()", 15000);
    }
}

function Addon_Slides_ShowSlide(SlideNr, centerThumb) {
    
    if (_thumbs.WaitOnJump) {
        clearTimeout(_thumbs.WaitOnJump);
    }
    
    _thumbs.WaitOnJump = false;
    _thumbs.WaitOnJump = setTimeout("Addon_Slides_CancelJump()", 15000);
    Addon_Slides_CurrentNr = SlideNr;
    var slideName = Addon_Slides_SlideBaseName + getCurrentLanguage() + "_";
    //  Scroll thumbs
    
    if (centerThumb) {
        Addon_Slides_ThumbJumpTo(Addon_Slides_CurrentNr);
    } else {
        centerThumb = false;
    }
    
    var tmp = new String(Addon_Slides_CurrentNr);

    for (var i = Addon_Slides_SlideLeadingZeros; i > tmp.length; i--) {
        slideName += "0";
    }
    
    slideName += tmp + ".jpg";
    Addon_Slides_Browse("SLIDE", slideName, centerThumb);
    
    if (theLiveStatusId > LS_LIVE) {
        document.getElementById("navJumpDiv").style.display = "block";
    }
}

function Addon_Slides_CancelJump() {
    
    if (_thumbs.WaitOnJump) {
        clearTimeout(_thumbs.WaitOnJump);
    }
    
    _thumbs.WaitOnJump = false;
    
    if (_thumbs.mIsAutoSlide) {
        Addon_Slides_Browse("SLIDE", "Slide_" + getCurrentLanguage() + "_" + _thumbs.mPreviousThumb + ".jpg", true);
        document.getElementById("navJumpDiv").style.display = "none";
    }
}

function Addon_Slides_NavJumpDirect() {
    
    if (_thumbs.WaitOnJump) {
        clearTimeout(_thumbs.WaitOnJump);
    }
    
    _thumbs.WaitOnJump = false;
    jumpingInFile = true;
    var slideName = Addon_Slides_SlideBaseName;
    var tmp = new String(Addon_Slides_CurrentNr);
    
    for (var i = Addon_Slides_SlideLeadingZeros; i > tmp.length; i--) {
        slideName += "0";
    }
    
    slideName += tmp + ".jpg";
    document.getElementById("navJumpDiv").style.display = "none";
    DoGuiEvent("SLIDE", slideName);
}

// Copy of this function is Addon_Slides_doEvent_Internal but then without setting _thumbs.mIsAutoSlide
function Addon_Slides_doEvent(aCmd, aValue) {
    _thumbs.mIsAutoSlide = true;
    
    if (aValue.substr(0, aValue.length - 10).toLowerCase() == "slide") {
        aValue = aValue.substr(0, aValue.length - 10) + "_" + getCurrentLanguage() + aValue.substr(aValue.length - 10);
    }
    
    if (aCmd.toUpperCase() == "SLIDE") {
        
        if (!_thumbs.WaitOnJump) {
            Addon_Slides_Browse(aCmd, aValue, true);
        }
        _thumbs.mPreviousThumb = aValue.replace("Slide_" + getCurrentLanguage() + "_", "").replace(".jpg", "");
    }
}

// Copy of Addon_Slides_doEvent
function Addon_Slides_doEvent_Internal(aCmd, aValue) {
    if (aValue != "") {
        if (aValue.substr(0, aValue.length - 10).toLowerCase() == "slide") {
            aValue = aValue.substr(0, aValue.length - 10) + "_" + getCurrentLanguage() + aValue.substr(aValue.length - 10);
        }

        if (aCmd.toUpperCase() == "SLIDE") {

            if (!_thumbs.WaitOnJump) {
                Addon_Slides_Browse(aCmd, aValue, true);
            }

            _thumbs.mPreviousThumb = aValue.replace("Slide_" + getCurrentLanguage() + "_", "").replace(".jpg", "");
        }
    }
}

function Addon_Slides_Browse(aCmd, aValue, centerThumb) {
    
    var re = new RegExp("[^0-9]", "g");
    myFrameNr = aValue.replace(re, "");
    
    if (centerThumb) {
        Addon_Slides_ThumbJumpTo(myFrameNr);
    } else {
        Addon_HighLight_Selected();
    }
    
    if (aCmd.toUpperCase() == "SLIDE") {
        
        if (!Addon_Slides_checkSwf()) {
            document.getElementById("slideImg").src = ResourceHandlerUrl + "slides\\jpg" + Addon_Slides_SlideSize + "\\" + aValue;
        } else {
            Addon_Slides_FlashMovie_JumpTo(myFrameNr);
        
        }
        
        Addon_Slides_LastSlide = aValue;
    }

    while (myFrameNr.length > 1 && myFrameNr.charAt(0) == "0") {
        myFrameNr = myFrameNr.substring(1, myFrameNr.length); //  Remove leading zeros
    }
    
    Addon_Slides_CurrentNr = myFrameNr;
    document.getElementById("navIndexDiv").innerHTML = Addon_Slides_CurrentNr + "/" + AddonSlidesCount;
    Addon_HighLight_Selected();
}


// --> Functions for controlling the flash slide movie    
function Addon_Slides_getFlashMovieObject(movieName) {
    
    if (window.document[movieName]) {
        return window.document[movieName];
    }

    if (navigator.appName.indexOf("Microsoft Internet") == -1) {

        if (document.embeds && document.embeds[movieName]) {
            return document.embeds[movieName];
        }

    } else {
        return document.getElementById(movieName);
    }
}

var Addon_Slides_PaintRetryCount = 0;
function Addon_Slides_FlashMovie_JumpTo(aFrameNr) {
    FrameNr = parseInt(aFrameNr,10);
    var flashMovie = Addon_Slides_getFlashMovieObject("Addon_Slides_SwfSlides_Movie");
    if (Addon_Slides_checkSwf() && flashMovie == null) {
        if(++Addon_Slides_PaintRetryCount<3){
            DoDebug("Swf not loaded, repaint try " + Addon_Slides_PaintRetryCount,"#ff3333");
            Addon_Slides_Paint();
        }else{
            DoDebug("Swf not loaded, stopped trying to repaint","#ff3333");
        }
    }
    try {
        if (flashMovie.PercentLoaded() == 100) {
            var swfFrame=FrameNr - 1;
            flashMovie.TGotoFrame("/", swfFrame);
            DoDebug("jumpto:" + swfFrame);
        } else {
            DoDebug("Cant jump to slide, movie not loaded yet (" + flashMovie.PercentLoaded() + "%), retry in 100ms");
            setTimeout("Addon_Slides_FlashMovie_JumpTo('" + aFrameNr + "')", 100);
        }
    } catch (e) {
        DoDebug(e.message); 
    }
}

function Addon_Slides_FlashMovie_Zoom() {
    var flashMovie = Addon_Slides_getFlashMovieObject("Addon_Slides_SwfSlides_Movie");
    
    if (!_thumbs.FlashMovie_Zoomed) {
        var pointsToTwips = 11;
        myLeft = (_thumbs.FlashMovie_Coord_X * pointsToTwips);
        myTop = (_thumbs.FlashMovie_Coord_Y * pointsToTwips);
        flashMovie.SetZoomRect(myLeft, myTop, (myLeft + 5000), (myTop + 5000));
        _thumbs.FlashMovie_Zoomed = true;
    } else {
        _thumbs.FlashMovie_Zoomed = false;
        flashMovie.Zoom(0);
    }
}

function Addon_Slides_FlashMovie_Coord(e) {
    
    if (!e) {
        var e = window.event;
    }
    
    var myTarget = (window.event) ? e.srcElement : e.target;
    var MousePositionX = (e.clientX - document.getElementById('cwc_tabPanel').offsetLeft);
    var MousePositionY = (e.clientY - document.getElementById('cwc_tabPanel').offsetTop);
    
    _thumbs.FlashMovie_Coord_X = MousePositionX;
    _thumbs.FlashMovie_Coord_Y = MousePositionY;
}

function Addon_Slides_thumbs() {
    this.mParentContainer = document.getElementById("thumbSlider_Mask");
    this.mThumbContainer = document.getElementById("thumbSlider");
    this.mThumbsMaxViewable = Math.floor(this.mParentContainer.offsetWidth / this.mThumbTotalWidth);
    this.mXcoord = 0; this.mXstep = 0;
    this.WaitOnJump = false;
    this.mTotalThumbs = AddonSlidesCount;
    this.mFpms = false;
    this.m_Int_Fpms = 25;
    this.mDelayStop = false;
    this.m_Int_DelayStop = 250;
    this.mFlowControlTimer = false; 
    this.m_Int_FlowControlTimer = 40;
    this.mStrNr = 0; 
    this.mDrawSwf = Addon_Slides_checkSwf();
    this.mThumbHeight = 60; 
    this.mThumbWidth = 80;
    this.mThumbLeft = 0; 
    this.mThumbRight = this.mThumbLeft + this.mThumbsMaxViewable;
    this.mActiveThumb = "00001"; 
    this.mPreviousThumb = "00001";
    this.FlashMovie_Coord_X = 0; 
    this.FlashMovie_Coord_Y = 0;
    this.FlashMovie_Zoomed = false; 
    this.mIsAutoSlide = false;
    this.mThumbTotalWidth = this.mThumbWidth; 
    this.mThumbTotalHeight = this.mThumbHeight;
    this.mThumbImage_css = "thumbSlideImage"; 
    this.mThumbImage_cssAct = "thumbSlideImage-a";
    this.mThumbContainer_css = "thumbSlideInfo"; 
    this.mThumbContainer_cssAct = "thumbSlideInfo-a";
}

function Addon_Slides_ThumbsInitialize(aObj) {
    // Create a test Element for calculating dimensions with computedStyle for correct posistioning in the slideMask
    var testDimension = document.createElement('div');
    testDimension.id = "testDimensions";
    testDimension.style.position = "absolute";
    testDimension.style.visibility = "hidden";
    var testImage = document.createElement('img');
    testImage.className = _thumbs.mThumbImage_css;
    testImage.src = "spacer.gif";
    testDimension.appendChild(testImage);
    document.getElementById('Addon_Slides_FlashContainer').appendChild(testDimension);
    _thumbs.mThumbTotalHeight = _thumbs.mThumbHeight + document.getElementById("testDimensions").offsetHeight - 15;
    _thumbs.mThumbTotalWidth = _thumbs.mThumbWidth + document.getElementById("testDimensions").offsetWidth + 8;
    document.getElementById("thumbSlider_Mask").style.height = (_thumbs.mThumbTotalHeight + 20) + "px";
    document.getElementById('Addon_Slides_FlashContainer').removeChild(testDimension);
    
    //  Build Thumb container
    for (var i = 0; i < _thumbs.mThumbsMaxViewable; i++) {
        if (i < _thumbs.mTotalThumbs) {
            Addon_Slides_CreateThumbnail(i);
        }
    }
}

function Addon_Slides_TrackCoord(e) {
    
    if (!e) {
        var e = window.event;
    }
    
    var myTarget = (window.event) ? e.srcElement : e.target;
    var MousePositionX = (e.clientX - (document.getElementById('cwc_tabPanel').offsetLeft + Math.round(document.getElementById("thumbSlider_Mask").offsetWidth / 2)));
    //  Stop scroller from stopping
    clearTimeout(_thumbs.mDelayStop);
    clearTimeout(_thumbs.mFlowControlTimer);
    var a = Math.round(MousePositionX / 50);
    _thumbs.mXstep = (a > 0) ? -a : Math.abs(a);
    
    if (!_thumbs.mFpms) {
        Addon_Slides_Scroll();
    }
}

function Addon_Slides_Scroll() {
    _thumbs.mXcoord = Math.abs(_thumbs.mXcoord + _thumbs.mXstep) + document.getElementById("thumbSlider_Mask").offsetWidth < (_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth) ? _thumbs.mXcoord + _thumbs.mXstep : -((_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth) - document.getElementById("thumbSlider_Mask").offsetWidth);
    _thumbs.mXcoord = (_thumbs.mXcoord + _thumbs.mXstep) < 0 ? _thumbs.mXcoord + _thumbs.mXstep : 0;
    Addon_Slides_ThumbFiller();
    document.getElementById("thumbSlider").style.left = _thumbs.mXcoord + "px";
    _thumbs.mFpms = setTimeout("Addon_Slides_Scroll()", _thumbs.m_Int_Fpms);
}

function Addon_Slides_ThumbFiller() {
    currentLeft = Math.abs(Math.floor(_thumbs.mXcoord / _thumbs.mThumbTotalWidth));
    currentRight = currentLeft + Math.floor(document.getElementById("thumbSlider_Mask").offsetWidth / _thumbs.mThumbTotalWidth);
    if (currentRight > (_thumbs.mThumbRight - 1) && _thumbs.mXstep < 0) {
        if (currentRight < _thumbs.mTotalThumbs) {
            Addon_Slides_CreateThumbnail(currentRight);
            _thumbs.mThumbRight = currentRight;
        }
    }
    else if (currentRight < (_thumbs.mThumbRight + 1) && _thumbs.mXstep > 0) {
        _thumbs.mThumbRight = currentRight;
        Addon_Slides_removeThumbnail(currentRight + 1);
    }

    if (currentLeft > _thumbs.mThumbLeft && _thumbs.mXstep < 0) {
        Addon_Slides_removeThumbnail(currentLeft - 2);
        _thumbs.mThumbLeft = currentLeft;
    }
    else if (currentLeft <= (_thumbs.mThumbLeft + 1) && _thumbs.mXstep > 0) {
        if (currentLeft - 2 >= 0) {
            Addon_Slides_CreateThumbnail(currentLeft - 2);
            _thumbs.mThumbLeft = currentLeft;
        }
    }
}

function Addon_HighLight_Selected() {
    try {
        document.getElementById("thumb_" + _thumbs.mActiveThumb).className = _thumbs.mThumbImage_css;
        document.getElementById("thumbContainer_" + _thumbs.mActiveThumb).className = _thumbs.mThumbContainer_css;
    } catch (ex) { }

    _thumbs.mActiveThumb = Addon_Slides_Prefix(Addon_Slides_CurrentNr, "create");
    
    try {
        document.getElementById("thumb_" + _thumbs.mActiveThumb).className = _thumbs.mThumbImage_css + " " + _thumbs.mThumbImage_cssAct;
        document.getElementById("thumbContainer_" + _thumbs.mActiveThumb).className = _thumbs.mThumbContainer_css + " " + _thumbs.mThumbContainer_cssAct;
    } catch (ex) { }
}

function Addon_Slides_Prefix(str, mode) {
    str = str + "";
    
    if (mode == "create") {
        var prefix = "";
        
        for (var j = 5; j > str.length; j--) {
            prefix += "0";
        }
        
        return prefix + str;
    }
    
    if (mode == "strip") {
        
        while (str.length > 1 && str.charAt(0) == "0") {
            str = str.substring(1, str.length);
        }
        
        return str;
    }
    
    return str;
}

function Addon_Slides_ThumbJumpTo(nr) {

    if (!_thumbs.mFpms) {

        _thumbs.mXcoord = (nr * _thumbs.mThumbTotalWidth) < (document.getElementById("thumbSlider_Mask").offsetWidth / 2) ? 0 : -((nr * _thumbs.mThumbTotalWidth)) + Math.floor(document.getElementById("thumbSlider_Mask").offsetWidth / 2);

        if ((Math.abs(_thumbs.mXcoord) + document.getElementById("thumbSlider_Mask").offsetWidth) < (_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth)) {
            _thumbs.mXcoord = _thumbs.mXcoord;
        } else {
            _thumbs.mXcoord = -((_thumbs.mTotalThumbs * _thumbs.mThumbTotalWidth) - document.getElementById("thumbSlider_Mask").offsetWidth);
        }
        
        if (_thumbs.mXcoord < 0) {
            _thumbs.mXcoord = _thumbs.mXcoord;
        } else {
            _thumbs.mXcoord = 0;
        }

        if (nr > _thumbs.mThumbRight || nr < _thumbs.mThumbLeft) {
            _thumbs.mThumbContainer.innerHTML = '';
        }
        
        _thumbs.mThumbLeft = Math.abs(Math.floor(_thumbs.mXcoord / _thumbs.mThumbTotalWidth)) - 1;
        _thumbs.mThumbRight = (_thumbs.mThumbLeft + _thumbs.mThumbsMaxViewable) + 2;
        _thumbs.mThumbRight = Math.min(_thumbs.mThumbRight, _thumbs.mTotalThumbs);

        for (var i = _thumbs.mThumbLeft; i < _thumbs.mThumbRight; i++) {
            Addon_Slides_CreateThumbnail(i);
        }
        
        document.getElementById("thumbSlider").style.left = _thumbs.mXcoord + "px"

        //  Clear Timers
        clearTimeout(_thumbs.mFlowControlTimer);
        clearTimeout(_thumbs.mFpms);

        Addon_HighLight_Selected();
    }
}

function Addon_Slides_CreateThumbnail(nr) {

    if (nr>=0 && !document.getElementById("ThumbID_" + nr)) {
    
        var newThumb = document.createElement('div');
        newThumb.id = "ThumbID_" + nr;
        newThumb.style.position = 'absolute';
        newThumb.style.display = 'block';
        newThumb.style.width = (_thumbs.mThumbTotalWidth) + 'px';
        newThumb.style.left = (nr * (_thumbs.mThumbTotalWidth)) + 'px';
        _thumbs.mStrNr = Addon_Slides_Prefix((nr + 1), "create");
        newThumb.innerHTML = "<div class='" + _thumbs.mThumbContainer_css + "'  onclick='Addon_Slides_ShowSlide(\"" +
                (nr + 1) + "\",false);' style='cursor:pointer;' id='thumbContainer_" + _thumbs.mStrNr + "'>" + (nr + 1) +
                "</div>" +
                "<img src=\"" + ResourceHandlerUrl + "slides/jpg80x60/Slide_" +
                getCurrentLanguage() + "_" + _thumbs.mStrNr + ".jpg\" alt=\"" + _thumbs.mStrNr + "\" style=\"width:" +
                _thumbs.mThumbWidth + "px;height:" + _thumbs.mThumbHeight + "px;cursor:pointer;\" onclick='Addon_Slides_ShowSlide(\"" +
                (nr + 1) + "\",false);' id='thumb_" + _thumbs.mStrNr + "' class='" + _thumbs.mThumbImage_css + "' >";

        document.getElementById("thumbSlider").appendChild(newThumb);
    }
    
    if (Addon_Slides_CurrentNr == nr) {
        Addon_HighLight_Selected();
    }
}

function Addon_Slides_removeThumbnail(nr) {

    if (document.getElementById("ThumbID_" + nr)) {
    
        var d = document.getElementById("thumbSlider");
        var olddiv = document.getElementById("ThumbID_" + nr);
        d.removeChild(olddiv);
    }
}

function Addon_Slides_checkSwf() {
    return (AddonSlidesHasSwf && hasSwf) ? true : false;
}

function Addon_Slides_PauseScroll() {
    
    if (_thumbs.mDelayStop) {
        clearTimeout(_thumbs.mDelayStop);
    }
    
    _thumbs.mDelayStop = setTimeout("Addon_Slides_StopScroll()", _thumbs.m_Int_DelayStop);
}

function Addon_Slides_StopScroll() {
    
    if (_thumbs.mDelayStop) {
        clearTimeout(_thumbs.mDelayStop);
    }

    if (_thumbs.mFpms) {
        clearTimeout(_thumbs.mFpms);
    }
    
    _thumbs.mFpms = false;
}