/*galery!*/
var actualGal = 1;
var actualVideo = 1;
var galPages = 1;
var videoPages = 1;
var whileDownloadNews = true;
var animType = 1;
$( function() {
    $('#galeries .wrap a').prettyPhoto( {theme: 'dark_square'} );

    galPages = Math.ceil( $('#galery .wrap a').get().length / 5 );
    galPages = (galPages > 0 ? galPages : 1);
    checkGaleryNav();
    videoPages = Math.ceil( $('#video .wrap a').get().length / 5 );
    videoPages = (videoPages > 0 ? videoPages : 1);
    checkVideoNav();
    $('#galeries .mins > a').click(galPage);
} );
function galPage() {
    var link = $(this);
    var gal = ( link.parent().attr('id') == 'galery' ? 'gal' : 'video' );
    var typ = ( link.hasClass('next') ? 1 : -1);
    if( link.hasClass('nextDisable') || link.hasClass('backDisable') )
        return false;

    if(gal == 'gal') {
        actualGal += 1*typ;
        $( '.wrap .scroll', link.parent() ).animate( { left : (actualGal-1)*750*-1 + 'px' } , 400);
        checkGaleryNav();
    } else {
        actualVideo += 1*typ;
        $( '.wrap .scroll', link.parent() ).animate( { left : (actualVideo-1)*748*-1 + 'px' } , 400);
        checkVideoNav();
    }

    return false;
}
function checkGaleryNav() {
    if(actualGal > 1)
        $('#galery .back').removeClass('backDisable');

    if(actualGal == 1)
        $('#galery .back').addClass('backDisable');

    if(galPages > 1 && actualGal < galPages)
        $('#galery .next').removeClass('nextDisable');

    if(galPages == actualGal)
        $('#galery .next').addClass('nextDisable');
}

function checkVideoNav() {
    if(actualVideo > 1)
        $('#video .back').removeClass('backDisable');

    if(actualVideo == 1)
        $('#video .back').addClass('backDisable');

    if(videoPages > 1 && actualVideo < videoPages)
        $('#video .next').removeClass('nextDisable');

    if(videoPages == actualVideo)
        $('#video .next').addClass('nextDisable');
}


/**menu **/
$(function() {
    $('#menu a span').hover(function() {
        if( !$(this).parent().hasClass('active') )
            $(this).stop().animate({ backgroundPosition: "(0px -24px)" }, 200);
    }, function() {
        if( !$(this).parent().hasClass('active') )
            $(this).stop().animate({ backgroundPosition: "(0px 0px)" }, 200);
    }).css( { backgroundPosition: '0px 0px'});
    $('#menu a.active span').css( { backgroundPosition: '0px -24px'});
})

/**NEWS
*--------------------------------------------------------------------------------------------------------------------------------------------------------------
***/
var newsPages = 1;
var newsPage = 1;
var newsId = 0;
var whileNews = false;
var downloadedNews;
$(function() {
    if( $('#news').get().length > 0 )
           startNews();
});
function startNews() {
    newsPages = parseInt( $('#news .pages').text() );
    newsPage = parseInt( $('#news .actPage').text() );
    if(newsPage == null) {
        newsPage = 1;
        newsPages = 1;
    }
    if(newsPages == 0)
        newsPages = 1;
    newsId = parseInt( $('#news .id').text() );

    if(downloadedNews == null || downloadedNews.length != newsPages) {
        downloadNews();
    }

    if( $('#nav').get().length == 0 ) {
        $('#content').append( '<div id="nav"><a href="#" class="back"><a href="#" class="next"></a></div>' );
    } else {
        if( $('#nav .back').get().length == 0) {
            $('#nav').append( '<a href="#" class="back hide"></a>' );
        }
        if( $('#nav .next').get().length == 0) {
            $('#nav').append( '<a href="#" class="next hide"></a>' );
        }
    }
    doNewsPages();
    $('#nav a').click(loadNews);
    $('#news').wrapInner( '<div class="newsPage"></div>' );
}
function doNewsPages() {
    if(newsPage > 1)
        $('#nav .back').show();

    if(newsPage == 1)
        $('#nav .back').hide();

    if(newsPage < newsPages && newsPages > 1)
        $('#nav .next').show();

    if(newsPages == newsPage)
        $('#nav .next').hide();
}
function downloadNews() {
    downloadedNews = new Array( newsPages );
    downloadedNews[newsPage -1] = $('#news').html();
    for(var i = 0; i < newsPages ; i++) {
        if(i != (newsPage-1))
            $.get( '/mod/art/action/group/id/' + newsId + '/ajax/yes/page/' + (i+1) + '.html', {ajax:true} , saveNews );
    }
}
function saveNews( datas ) {
    //alert(datas);
    var data = $(datas);
    downloadedNews[ parseInt( $('.actPage', data).text() ) - 1 ] = $('#news', data).html();
    if(whileNews > 0) {
        showNews();
    }
}
function loadNews() {
    if(whileNews)
        return false;

    if($(this).hasClass('next')) {
        newsPage++;
        animType = 1;
    } else {
        newsPage--;
        animType = -1;
    }
    
    whileNews = newsPage;
    if( downloadedNews[newsPage-1] == null ) {
        $('#content').append('<div class="loader"></div>');
        $('#content .loader').css( 'opacity', 0.9 ).slideDown();
    } else {
        showNews();
    }

    return false;
}
function showNews() {
    $('#content .loader').remove();
    var actual = $('#news .newsPage');
    $('#news').append( '<div class="newsPage new" style="display: none;"></div>' );

    var newPage = $('#news .newsPage.new');
    newPage.html( downloadedNews[ newsPage-1 ] );
    
    var news = $( '#content .text' ).css('overflow', 'hidden');
    news.height( news.height() );

    actual.css( { position: 'absolute', left: '0px', top:'0px' } ).animate( { left: ( news.width() *animType*(-1) ) + 'px'   }, 500, function() { $(this).remove() });
    newPage.removeClass('new').css( { position: 'absolute',  left: ( news.width()*animType ) + 'px'   } ).show().animate( { left: '0px' }, 500, function() { whileNews = false; } );
    news.animate( { height : newPage.height() + 55 + 'px'}, 500 );
    
    doNewsPages();
}
/**pages
*--------------------------------------------------------------------------------------------------------------------------------------------------------------
***/
var pages = 6;
var page = 1;
var whilePage = -1;
var arrayPages;
var pageAnim;
$(function() {
           startPages();
});

function findInMenu() {
    var link = $(this);
    $( '#menu a[href=' + link.attr('href') + ']' ).click();
    return false;
}

function startPages() {
    $('#menu a:not(.shop)').each(function(i) {
        $(this).attr('num', i);
    }).click(loadPage);

     downloadPages();

    $('#content .text').wrapInner( '<div class="page"></div>' );
    if($( '#menu .active' ).get().length > 0 && $( '#menu .active' ).attr('num') != '0') {
        $('#content .page .art').wrapInner('<div class="scroll"></div>');
        addScroll();
    }
    $('#footer ul a:not(.shop), #sidebar .promo.sets a, #logo, #footer .logo').click( findInMenu );
}
function downloadPages() {

    arrayPages = new Array(6);
    if( $('#menu .active').get().length == 1 ) {
        arrayPages[ parseInt( $('#menu .active').attr( 'num' ) ) ] = $('#content .text').html();

    }
    $('#menu a:not(.shop,.active)').each(function(i) {
        $.get( $(this).attr('href'), { ajax : 'true' }, savePage );
    } );
}
function savePage( datas ) {

    var data = $(datas);
    var numPage;
    
    if( $('.idArt', data).get().length == 0 ) {
        numPage = 0;
    } else {
        numPage = parseInt( $('.idArt', data).text() );
        //alert(numPage);
        numPage = Math.floor( (numPage)/3 ) + 1;
        //alert(numPage);
    }
    
   arrayPages[ numPage ] = $(data).html();

    if(whilePage == numPage) {
       showPage();
    }
}
function loadPage() {
    var link = $(this);
    
    if(whilePage > -1 || $(this).hasClass('active'))
        return false;

    var nextPage = parseInt( link.attr('num') );
    if(nextPage < page) {
        page++;
        pageAnim = 1;
    } else {
        page--;
        pageAnim = -1;
    }

    page = nextPage;
    whilePage = page;
    if( arrayPages[page] == null ) {
        $('#content').append('<div class="loader"></div>');
        $('#content .loader').css( 'opacity', 0.9 ).slideDown();
    } else {
        showPage();
    }

    return false;
}

function showPage() {
    $('#content .loader').remove();
    var actual = $('#content .page');
    $( '#menu .active span' ).stop().animate({ backgroundPosition: "(0px 0px)" }, 200);
    $( '#menu .active' ).removeClass( 'active' );
    $( '#menu a[num='+whilePage+'] span' ).animate({ backgroundPosition: "(0px -24px)" }, 200);
    $( '#menu a[num='+whilePage+']' ).addClass( 'active' );

    $('#footer ul .active').removeClass('active');
    $('#footer ul a[href=' + $('#menu .active').attr('href') + ']').addClass('active');
    window.location.hash = '#p' + whilePage;
    
    if(whilePage==0)document.title = "Aktualności - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else if(whilePage==1)document.title = "Pokazy ogni sztucznych - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else if(whilePage==2)document.title = "Samoobsługowe pokazy pirotechniczne - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else if(whilePage==3)document.title = "Galeria - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else if(whilePage==4)document.title = "Nasi klienci - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";  
    else if(whilePage==5)document.title = "Partnerzy - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else if(whilePage==6)document.title = "Dane kontaktowe - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    else document.title = "GIMAT - fajerwerki, pokazy sztucznych ogni - e-fajerwerki";
    
    lastHash = window.location.hash;
    if(pageAnim == 1)
        $('#content .text').append( '<div class="page new" style="display: none;"></div>' );
    else
        $('#content .text').prepend( '<div class="page new" style="display: none;"></div>' );

    var newPage = $('#content .page.new').removeClass('new');
    
    newPage.html( arrayPages[ whilePage ] );
    if(whilePage > 0) {
        $('.art', newPage).wrapInner('<div class="scroll"></div>');
        //$('.scroll', newPage).jScrollPane();
        addScroll();
    }
    

    if( !$( '#menu a.active' ).hasClass('news') ) {
        $('#nav').remove();
     } 
    var content = $( '#content .text' ).css('overflow', 'hidden');
    content.height( content.height() );

    actual.css( { position: 'absolute', left: '0px', top:'0px' } ).animate( { left: (content.width() *pageAnim*(-1) ) + 'px'   }, 500, function() { $(this).remove() });

    newPage.removeClass('new').css( { position: 'absolute',  left: ( content.width()*pageAnim ) + 'px'   } ).show().animate( { left: '0px' }, 500, function() {
        whilePage= -1;
        if( $( '#menu a.active' ).hasClass('news') ) {
            startNews();
         } else {
            //$('#content .page .art').wrapInner('<div class="scroll"></div>');
            
        }
    } );
    content.animate( { height : newPage.height() + 'px'}, 500, function() {
        if( $('.scroll .inner').height() > 240 ) {
            $('.scroll .down').removeClass('disable').css('opacity', 1);
        }
    } );


    /*actual.slideUp( 500, function() { $(this).remove(); document.title = 'Gimat - ' + $('#content h1').text(); } );

    newPage.slideDown( 500, function() {
        whilePage = -1;
        if( $( '#menu a.active' ).hasClass('news') ) {
            startNews();
         } else {
            //$('#content .page .art').wrapInner('<div class="scroll"></div>');
            addScroll();
        }
    } );*/
}

var lastHash = '';
function checkHash() {
    var hash = window.location.hash + '';

    if(hash == '#' || lastHash == hash)
        return;

    hash = parseInt( hash.substr(2) );
    if(hash > -1 && hash < 7) {
        $('#menu a[num='+hash + ']').click();
    }
}
$( function() { setInterval( checkHash, 300 ) } );



/**newsletter**/
//-------------------------------------------------------------------------------------------------------------------------------------------------------------//
$( function() {
    $( '#newsLetter input[type=text]' ).each( function( i ) {
        var el = $(this);
        el.attr( 'defaultText', el.attr('value') );
    } ).focus( function() {
        var el = $(this);
        if( el.attr('value') == el.attr('defaultText') )
            el.attr( 'value', '' );
    } ).blur( function() {
        var el = $(this);
        if(el.attr('value') == '')
        el.attr( 'value', el.attr('defaultText') );
    } );

    $( '#newsLetter a' ).click( function() {
        $('body').append( '<div id="overlay"></div>' );
        $('#outer').append( '<div id="iframe"><a href="#" class="close">X</a><iframe src="' + $(this).attr('href') + '?ajax=privacy"></iframe></div>' );
        $( '#overlay' ).css( { opacity: 0.9, height: $('#outer').height() } ).fadeIn( 'normal', function() {
            $('#iframe').slideDown();
        } ).click( closePrivacy );
        $('#iframe .close').click( closePrivacy );
        return false;
    } );

    $('#newsLetter').parent().submit( newsletterSubmit );
} );
function closePrivacy() {
    $('#iframe').remove();
    $('#overlay').remove();
    return false;
}

function newsletterSubmit() {
    var form = $(this);
    $.getJSON( form.attr('action'), { ajax: 'yes', mail: $('[type=text]', form).attr('value') }, function(data) {
        alert(data.msg);
    } );
    return false;
}
var scrollPos = 0;
var step = 10;
function addScroll() {
    scrollPos = 0;
    var toScroll = $('#content .scroll').each( function() {
        var toScroll = $(this);
        if($( '.pos', toScroll ).get().length>0) {
            return;
        }
        toScroll.wrapInner( '<div class="pos"><div class="inner"></div></div>' );

        toScroll.append( '<a href="#" class="up"></a><a href="#" class="down"></a>' );
        $('.down, .up', toScroll).hover(mouseDown, mouseUp).click( function() {return false;} );
        $('.up', toScroll).addClass('disable').css('opacity', 0.3);
        if( $('.inner', toScroll).height() <= 240 ) {
            $('.down', toScroll).addClass('disable').css('opacity', 0.3);
        }
        $('.inner', toScroll).bind('mousewheel', function(event, delta) {
            if(delta > 0) {
                scrollUp();
            } else {
                scrollDown();
            }
            return false;
        });
   } );
    
}
var anim;
function mouseDown() {
    var link = $( this );
    if(link.hasClass('disable')) {
        return false;
    }
    var box = $(this).parent();
    var inner = $('.inner', box);
    var to;
    var time;
    var offset = parseInt(inner.css('top')) * (-1);
    if(link.hasClass('up')) {
        to = 0;
        anim = -1;
        time = (offset)/step*150;
        $( '.down', box ).removeClass('disable').css('opacity', 1);
    } else {
        anim = 1;
        to = inner.height() - 240;
        $( '.up', box ).removeClass('disable').css('opacity', 1);
        time = (to-offset)/step*150;
        to *= -1;
    }
    inner.animate( { top: Math.ceil(to) + 'px' }, Math.ceil( time ), function() {
        if( anim==1 ){
            $( '.scroll .down' ).addClass('disable').css('opacity', 0.3);
        } else if(anim==-1) {
            $( '.scroll .up' ).addClass('disable').css('opacity', 0.3);
        }

    } );
    return false;
}
function mouseUp() {
    $('.inner', $(this).parent()).stop();
}
function scrollDown() {
    if( $('.scroll .down').hasClass('disable') ) {
        return true;
    }
    var box = $('#content .scroll');
    var inner = $('.inner', box);
    var to;
    var offset = parseInt(inner.css('top')) * (-1);

    to = (offset + 30 > inner.height() - 240 ? inner.height() - 240 : offset + 30);
    $( '.up', box ).removeClass('disable').css('opacity', 1);
    if(to >= inner.height() - 240)
        $('.down', box).addClass('disable').css('opacity', 0.3);
    to *= -1;
    
    inner.stop().animate( { top: Math.ceil(to) + 'px' }, 400);

    return false;
}
function scrollUp() {
    if( $('.scroll .up').hasClass('disable') ) {
        return true;
    }
    var box = $('#content .scroll');
    var inner = $('.inner', box);
    var to;
    var offset = parseInt(inner.css('top')) * (-1);

    to = (offset - 30 < 0 ? 0 : offset - 30);
    $( '.down', box ).removeClass('disable').css('opacity', 1);
    if(to <= 0)
        $('.up', box).addClass('disable').css('opacity', 0.3);
    to *= -1;

    inner.stop().animate( { top: Math.ceil(to) + 'px' }, 400);
    return false;
}

