﻿///
/// <reference path="jquery-1.2.3-intellisense.js"/> 
///

$(document).ready(function(){


    FsAlbums.Albums.Init();
  
});


var FsAlbums = window.FsAlbums ||{};

FsAlbums.Albums = {

    Init: function()
    {
        var ret = albumSvc.FetchAlbums(FsAlbums.Albums.FillAlbumsSection);
    },
    
    FillAlbumsSection: function(result)
    {
         $('#fs_AlbumListingSection')[0].innerHTML = result;
            

        FsAlbums.Albums.InitNextLink();
        
        $('img',$('.imageHolder')).bind("click",function(){
        
        var stt = new String();
        stt = $(this)[0].id;
        stt = stt.replace('__imageFS','');
        FsAlbums.Albums.InitAlbum(stt,0);
        
        
        
        });
        
        var imgs = $('img',$('.imageHolder'));
        if ((imgs !== null) && (imgs.length>0))
        {
            var id = imgs[0].id.replace('__imageFS','');
             FsAlbums.Albums.InitAlbum(id,0);
        }
    },
    
    InitAlbum: function(id,pageIndex)
    {
        var ret = albumSvc.GetSpecAlbum(id,pageIndex,FsAlbums.Albums.FillAlbumSlider);
       
        FsAlbums.Albums.AlbumElement.Init(id,pageIndex,$('ul.dummy-list > li').length);
        
        var elt = "#__viewTag" + id;
         $(elt + " > .viewing").css('display','block');
         $("div:not(" + elt + ") > .viewing").css('display','none');
    },
    
    InitNextLink: function()
    {
       var eltClass = ($('ul.dummy-list > li').length > 2)? "linkEnabled":"linkDisabled" ;
       $("#nextBtn").attr("className",eltClass) ;
    },
    
    FillAlbumSlider: function(result)
    {
    
        //var rs = eval('('+result+')');
        
        var et = $('#fsPictures');
        
        if ((et) && (et.length!=0))
        {
           et[0].innerHTML = result;
        }
        
        $('#fsPictures a').lightbox();
    },
    
    getNext : function()
    {
        var it = $('#scrollBox li').length;
        
        if (it/2 > Math.ceil(it/2))
        {
            it = - Math.ceil(it/2) * 292
        }
        else
        {
            it = - (Math.ceil(it/2)-1) * 292 
        }
       
        var mMax = it.toString();
        mMax = mMax +"px";
        
        if ($('#scrollBox').css('top')!= mMax && mMax!="0px")
        {
            $("#scrollBox").animate({"top":"-=292px"},"normal","linear",FsAlbums.Albums.updateNextState);
        }
    },
    
     getPrevious: function()
    {
        if (($('#scrollBox').css('top') != "0px")&&($('#scrollBox').css('top') != "auto"))
        {
        
            $("#scrollBox").animate({"top":"+=292px"},"normal","swing",FsAlbums.Albums.updatePrevState);
        }
    },
    
     updatePrevState: function()
    {
        if ($('#scrollBox').css('top') == "0px")
        {
             $("#previousBtn").attr("click","return false;");
             $("#previousBtn").attr("class","linkDisabled");
             
             $("#nextBtn").attr("click","getNext();return false;");
             $("#nextBtn").attr("class","linkEnabled");
        }
        else
        {
            $("#nextBtn").attr("click","getNext();return false;");
            $("#previousBtn").attr("click","getPrevious();return false;");
            $("#previousBtn").attr("class","linkEnabled");
        }
    },
    
     updateNextState:function()
    {
        var it = $('#scrollBox li').length;
        
        if (it/2 > Math.ceil(it/2))
        {
            it = - Math.ceil(it/2) * 292
        }
        else
        {
            it = - (Math.ceil(it/2)-1) * 292 
        }
       
        var mMax = it.toString();
        mMax = mMax +"px";
        
        if ($('#scrollBox').css('top') == mMax)
        {
             $("#nextBtn").attr("click","return false;");
             $("#nextBtn").attr("class","linkDisabled");
             
             $("#previousBtn").attr("class","linkEnabled");
             
        }
        else
        {
            $("#nextBtn").attr("click","getNext();return false;");
            $("#previousBtn").attr("click","getPrevious();return false;");
            $("#nextBtn").attr("class","linkEnabled");
        }
    },
    
    AlbumElement: 
    {
        _albumId:null,
        _currentPage : 0,
        _albumTitle: "_",
        _pictureCount: 0,
        
        
        Init: function(id,iIndex)
        {
            FsAlbums.Albums.AlbumElement._albumId = id;
            FsAlbums.Albums.AlbumElement.currentPage = iIndex;
            
            $('#pageUp').bind('click',FsAlbums.Albums.AlbumElement.PageNext);
            $('#pageDown').bind('click',FsAlbums.Albums.AlbumElement.PagePrevious);
        },
        
        
        PageNext: function()
        {
           FsAlbums.Albums.AlbumElement._currentPage += 1 ;
           FsAlbums.Albums.AlbumElement.ReloadAlbum();
        },
        
        PagePrevious: function()
        {
            if (FsAlbums.Albums.AlbumElement._currentPage > 0 )
            {
                FsAlbums.Albums.AlbumElement._currentPage -= 1 ;
                FsAlbums.Albums.AlbumElement.ReloadAlbum();
            }
        },
        
        ReloadAlbum : function()
        {
            albumSvc.GetSpecAlbum(FsAlbums.Albums.AlbumElement._albumId,FsAlbums.Albums.AlbumElement._currentPage,FsAlbums.Albums.FillAlbumSlider);
        }
    }
};
