$(document).ready(function(){
	$('body').append('<div id="gallery-loader"></div><div id="gallery-preloader"></div><div id="gallery-zoomer"><div id="gallery-zoom-title"></div><img id="gallery-zoom-image" /><div id="gallery-zoom-description"></div></div>');
    
	gallery_init();
});

function gallery_init(){
    
    fix_gallery_align();
    
    window.onresize=fix_gallery_align;
    
    var delta=0;
    if ($.browser.msie) { delta=25; }
    
    $('#gallery-loader').css({'display':'none','position':'absolute','z-index':99998,'background-color':'#000000',opacity:.4,'left':0,'top':0,'width':$(document).width()-delta,'height':$(document).height()});
    $('#gallery-preloader').css({'display':'none','position':'absolute','z-index':99999,'left':0,'top':0});
    $('#gallery-zoomer').css({'display':'none','position':'absolute','z-index':99999,'left':0,'top':0});
    $('#gallery-zoom-image').css({'cursor':'pointer'});
    
    $('#gallery-zoom-image').get(0).onload=function()
    {
        gallery_show_image();
    }
    
    $('#gallery-zoom-image').click(function(){
        gallery_hide_image();
        gallery_hide_loader();
    });
    
    $('#gallery-loader').click(function(){
        gallery_hide_image();
        gallery_hide_loader();
    });
    
    $('span.node-image-zoomer').each(function(){
        var image=$('img[rel='+$(this).attr('rel')+']');
        if ($(image).length)
        {
            $(this).appendTo('body');
            $(this).css({'top':$(image).offset().top+$(image).height()-21,'left':$(image).offset().left+$(image).width()-21});
        }
    });
    
    gallery_init_thumbs();
}

function fix_gallery_align()
{
    $('.gallery-node-block').find('.gallery').each(function(){
        var node=$('#body-component').width();
        var image=$(this).find('img.gallery-thumb').eq(0).width();
        var item=image+14;
        var co=Math.floor(node/item);
        
        $(this).css({'width':co*item,'margin-left':'auto','margin-right':'auto'});
    });
}

function gallery_init_thumbs()
{
    $('.gallery-thumb').click(function(){
        var im=$(this).attr('rel');
        if (im.length)
        {
            $('#gallery-zoom-image').get(0).src=im;
            $('#gallery-zoom-title').html($(this).attr('alt'));
            $('#gallery-zoom-description').html($(this).attr('title').replace("\n",'<br />'));
            gallery_show_loader();
        }
    });
}

function gallery_zoom_next(selector)
{
    var elem=$(selector).next('img');
    var im=$(elem).attr('rel');
    if (im.length)
    {
        $('#gallery-zoom-image').get(0).src=im;
        $('#gallery-zoom-title').html($(elem).attr('alt'));
        $('#gallery-zoom-description').html($(elem).attr('title').replace("\n",'<br />'));
        gallery_show_loader();
    }
}

function gallery_show_loader()
{
    $('#gallery-loader').fadeIn();
    $('#gallery-preloader').css({'left':($(window).width()-$('#gallery-preloader').width())/2+$(window).scrollLeft(),'top':($(window).height()-$('#gallery-preloader').height())/2+$(window).scrollTop(),'display':'block'});
}

function gallery_hide_loader()
{
    $('#gallery-loader').fadeOut();
}

function gallery_show_image()
{
    $('#gallery-preloader').css('display','none');
    $('#gallery-zoomer').css({'left':($(window).width()-$('#gallery-zoomer').width())/2+$(window).scrollLeft(),'top':($(window).height()-$('#gallery-zoomer').height())/2+$(window).scrollTop()})
    $('#gallery-zoomer').fadeIn();
}

function gallery_hide_image()
{
    $('#gallery-zoomer').fadeOut(200,function() {$('#gallery-zoom-image').get(0).src=''});
    $('#gallery-preloader').css('display','none');
}

function gallery_load(gal,start)
{
    $('.ajax-pager').animate({opacity:.5},500);
    try
    {
        $.post(site+'/'+'gallery-ajax-load',{gallery:gal,offset:start},function(data){$('#gallery-'+gal).html(data); $('.ajax-pager').animate({opacity:1},200); $('#gallery-'+gal).css('display','none'); $('#gallery-'+gal).fadeIn(500); gallery_init_thumbs();});
    } catch (e) {}
}

