/*
 * javascript slideshow
 * Copyright (C) Jakub Klawiter 2009 <jklawiter@gmail.com>
 * license: GNU GPL v3 blah blah blah
 * <http://www.gnu.org/licenses/>
 */

function navArrows( param )
{ /* Włącza/wyłącza strzałki do nawigacji w portfolio    */
  /* w prawdziwych przegladarach da sie to zrobic w CSS  */
    var left  = document.getElementById('arrow_left');
    var right = document.getElementById('arrow_right');
    if ( param )
    {
        left.style.visibility  = 'visible';
        right.style.visibility = 'visible';
    } else
    {
        left.style.visibility  = 'hidden';
        right.style.visibility = 'hidden';

    }
}

function chSlide( direction, slides )
{
    var oldSlide = curSlide;

    if ( direction == 'left' )  // strzałka w lewo / prawo
        curSlide--;
    else
        curSlide++;

    if ( curSlide == -1 )
        curSlide = slides;
    if ( curSlide > slides )
        curSlide = 0;

    var oldId = 'slide-';
    oldId += ( oldSlide == 0 ) ? '00'           :
             ( oldSlide < 10 ) ? '0' + oldSlide : oldSlide;
    var newId = 'slide-';
    newId += ( curSlide == 0 ) ? '00'           :
             ( curSlide < 10 ) ? '0' + curSlide : curSlide;

//    var testElem = document.getElementById( 'testbox' );
//    testElem.innerHTML += '\n' + oldId + ' &rArr; ' + newId + ' ';

    var oldElem = document.getElementById( oldId );
    var newElem = document.getElementById( newId );

    var intervalID;
    newElem.style.zIndex     = 1;

    if ( typeof newElem.style.opacity == 'string' )      // Gecko, Webkit, Opera
        newElem.style.opacity    = 0;
    else                                                 // pierdzielone IE
        newElem.style.filter = 'alpha(opacity=0)';

    newElem.style.visibility = 'visible';
    intervalID = setInterval (
                function() { fade( intervalID, oldElem, newElem ); }, 25 );
}

function fade( intervalID, oldElem, newElem )
{
    var browser = ( typeof newElem.style.opacity == 'string' ) ? true : false;

    if ( browser )                                      // Gecko, Webkit, Opera?
        var opacity = newElem.style.opacity * 100;
    else                                                // pierdzielone IE
        var opacity = 
                eval ( newElem.style.filter.replace( /alpha\(opacity=([0-9]*)\)/, "$1" ) ); // holy sh^W internet exploiter
    opacity = Math.floor ( opacity + 5 );

    if ( opacity >= 100 )
    {
        clearInterval( intervalID );
        oldElem.style.visibility = 'hidden';
        newElem.style.zIndex     = '';
        if ( browser )                                  // Gecko, Webkit, Opera?
            newElem.style.opacity = 1;
        else                                            // pierdzielone IE
            newElem.style.removeAttribute( 'filter' );
        return;
    }

//    var testElem = document.getElementById( 'testbox' );
//    testElem.innerHTML += ':' + ( opacity ) + ': ';

    if ( browser )                                     // Gecko, Webkit, Opera?
        newElem.style.opacity = opacity / 100;
    else                                               // pierdzielone IE
        newElem.style.filter  = 'alpha(opacity=' + opacity + ')';
}

