//Script responsable de crear el slide show de proyectos

var Data;
var _imgtotal;

$(document).ready(function()
{
    var _gallery = '';
    $.get('xml/projects_data.xml', function(data)
    {
        var index=0;
        var slideconten = '';
        slideconten += '<ul class="allItems">';

        $(data).find('project').each(function()
        {
            Data = data;

            var img =  $(this).find('images').find('img:first').text()
            var imgPath = (img != '') ? 'be_projects/' +$(this).attr('id')+ '/thumb_image0.jpg' : 'be_projects/thumb_default.jpg';

            slideconten += '<li class="carouselList">';
            slideconten += '<a href="javascript:initData(\''+$(this).attr('id')+'\')" class="carouselThumb" style="background:url('+imgPath+') no-repeat top left;"></a>';
            slideconten += '</li>';

            if(index == 0){
                _gallery = $(this).attr('id')
            };
            index++
        });

        slideconten += '</ul>';
        $('.container').append(slideconten);

        $('.allItems').find('a:first').css('background-position','bottom left');
        $('.allItems').find('a:first').addClass('selected');

        //Bind MouseOver Actions
        $('.allItems').find('a').each(function()
        {
            $(this)
            .hover(function ()
            {
                $(this).css('background-position','bottom left');
            },
            function ()
            {
                $(this).css('background-position','top left');
                $('.allItems').find('.carouselThumb.selected').css('background-position','bottom left');
            });
        });
        /*
         * BUTTONS FUNCTIONS SHOW HIDE
         */
        if(index < 7)
        {
            $('.previous_button').css('visibility', 'hidden')
            $('.next_button').css('visibility', 'hidden')
        }


        initData(_gallery);
        initThumbsButtons ();
        initCarouselButtons ();
    });

});

function initData(c)
{
    _imgtotal = 0

    $(Data).find('project').each(function()
    {
        if(c == $(this).attr('id'))
        {
            $('.title h2').text( $(this).find('title').text());
            $('.description').html( $(this).find('description').text());

            $('.slideshow > *').remove();
            $('.navcontainer > *').remove();

            var _id =  c;
            var _index = 0;

            $(this).find('images').find('img').each(function()
            {
                var img =  $(this).text()
                var imgPath = 'be_projects/' +_id+ '/img_'+img;
                var bigPath = 'be_projects/' +_id+ '/big_'+img;
                //$('.slideshow').append('<a href="'+bigPath+'" ><img src="'+imgPath+'" alt="" /></a>');
                
                $('.slideshow').append('<a><img src="'+imgPath+'" alt="" /></a>');
                
                _index++;
                if(_index > 4)
                {
                    _empty = false;
                };
            });

            if(_index == 0)
            {
                $('.navprevious_button').css('visibility', 'hidden')
                $('.navnext_button').css('visibility', 'hidden')
                $('.topbutton').css('visibility', 'hidden')

                $('.slideshow').append('<a ><img src="be_projects/img_default.jpg" alt="" /></a>');
            }
            else if(_index < 5)
            {
                $('.navprevious_button').css('visibility', 'hidden')
                $('.navnext_button').css('visibility', 'hidden')
                $('.topbutton').css('visibility', 'visible')
            }
            else
            {
                $('.navprevious_button').css('visibility', 'visible')
                $('.navnext_button').css('visibility', 'visible')
                $('.topbutton').css('visibility', 'visible')
            }

            var slideconten = '';
            slideconten += '<ul class="navallItems">';
            slideconten += '</ul>';
            $('.navcontainer').append(slideconten);

            $('.slideshow')
            .cycle({
                //continuous:    0,
                //delay:5000,
                fx: 'fade',
                speed:   1000,
                timeout: 5000,
                pager:  '.navallItems',
                pagerAnchorBuilder: function(index, slide)
                {
                    return '<li class="navList"><a href="#" class="navThumb"><span>'+(index+1)+'</span></a></li>';
                },
                pagerClick:  function(zeroBasedSlideIndex, slideElement)
                {
                    var currIndex = zeroBasedSlideIndex;
                    $('.navList').find('a').each(function()
                    {
                        $(this).removeClass('selected');
                    })
                    $('.navList a:eq('+(currIndex)+')').addClass('selected');
                },
                after: function(currSlideElement, nextSlideElement, options, forwardFlag)
                {
                    var currIndex = options.currSlide;
                    $('.navList').find('a').each(function()
                    {
                        $(this).removeClass('selected');
                    })
                    $('.navList a:eq('+(currIndex)+')').addClass('selected');

                    if(currIndex != 0 && currIndex % 4 == 0)
                    {
                        $('.navnext_button').trigger('click');
                    }
                    if(currIndex == 0)
                    {
                        $('.navallItems')
                        .animate
                        ({
                            "left":0
                        },
                        1000);
                    }
                }
            });
            
            $('.navList a:eq(0)').addClass('selected');
            $('.slideshow').cycle('pause');
            
            var _max = (_index < 4) ? _index : 4;
            for(i = 0; i<_max; i++)
            {
                $('.slideshow a:eq('+ i +') img').load(function ()
                {
                    imgPreload(_max)
                });
            }

            initNavigationButtons ();
        }
    });

/*
    alert($('body').height())

    if($(window).height())
    {

    }
    
    $('.slideshow > *').bind('mouseover', initImageBox)
     */
}

function imgPreload(_total)
{
    _imgtotal++
    if(_total == _imgtotal)
    {
        $('.slideshow').cycle('resume');
    }
}

function initImageBox()
{
    if($('.slideshow a:eq(0)').attr('href') != undefined)
    {
        setImageBox();
    }
}

function initThumbsButtons()
{
    /*
     * THUMS FUNCTIONS MOUSEOVER MOUES OUT
     */
    $('.allItems').find('a').each(function()
    {
        $(this)
        .click(function ()
        {
            $('.allItems').find('a').each(function()
            {
                $(this).removeClass('selected');
                $(this).css('background-position','top left');
            });
            $(this).css('background-position','bottom left');
            $(this).addClass('selected');
        });

    });
}

function initCarouselButtons ()
{
    /*
     * BUTTONS FUNCTIONS CLICK PREVIOUS
     */
    $('.previous_button').bind('click',  function(e)
    {
        var _factorX = parseFloat($('.carouselList').css('width')) + 1;
        var _postX;

        if(isNaN(parseFloat($('.allItems').css('left'))))
        {
            _postX = 0;
        }
        else
        {
            _postX = parseFloat($('.allItems').css('left'))
        }

        var _arr = jQuery.makeArray( $('.carouselList'));
        var _newX = _postX + (6 * _factorX);

        if(_postX + (6 * _factorX) >=  0)
        {
            _newX = 0;
        }

        if(_postX != 0 && _arr.length > 6)
        {
            $('.allItems')
            .animate
            ({
                "left":(_newX + "px")
            },
            1000, function()
            {
                _postX = parseFloat($('.allItems').css('left'))
            });
        }
    });
    /*
     * BUTTONS FUNCTIONS CLICK NEXT
     */
    $('.next_button').bind('click',  function(e)
    {
        var _factorX = parseFloat($('.carouselList').css('width')) + 1 ;
        var _postX;

        if(isNaN(parseFloat($('.allItems').css('left'))))
        {
            _postX = 0;
        }
        else
        {
            _postX = parseFloat($('.allItems').css('left'))
        }

        var _arr = jQuery.makeArray( $('.carouselList'));
        var _relacion = (_arr.length * _factorX) / (6 * _factorX);
        var _desplazar = (_relacion - 1) * (6 * _factorX);
        var _newX = _postX - (6 * _factorX);

        if((_desplazar - (-1* _postX)) < (6 * _factorX))
        {
            _newX = _postX - (_desplazar - (-1* _postX));
        }

        if( (_desplazar - (-1* _postX)) != 0  &&  _arr.length > 6)
        {
            $('.allItems')
            .animate
            ({
                "left":(_newX + "px")
            },
            1000, function()
            {
                _postX = parseFloat($('.allItems').css('left'))
            } );
        }
    });
}

function initNavigationButtons ()
{
    /*
     * BUTTONS FUNCTIONS CLICK PREVIOUS
     */
    $('.navprevious_button').bind('click',  function(e)
    { 
       
        var _factorX = parseFloat($('.navList').css('width')) + 1;
        var _postX;

        if(isNaN(parseFloat($('.navallItems').css('left'))))
        {
            _postX = 0;
        }
        else
        {
            _postX = parseFloat($('.navallItems').css('left'))
        }
       
        var _arr = jQuery.makeArray( $('.navList'));
        var _newX = _postX + (4 * _factorX);

        if(_postX + (4 * _factorX) >=  0)
        {
            _newX = 0;
        }

        if(_postX != 0 && _arr.length > 4)
        {
            $('.navallItems')
            .animate
            ({
                "left":(_newX + "px")
            },
            1000, function()
            {
                _postX = parseFloat($('.navallItems').css('left'))
            });
        }
    });
    /*
     * BUTTONS FUNCTIONS CLICK NEXT
     */
    $('.navnext_button').bind('click',  function(e)
    {
        var _factorX = parseFloat($('.navList').css('width')) + 1 ;
        var _postX;

        if(isNaN(parseFloat($('.navallItems').css('left'))))
        {
            _postX = 0;
        }
        else
        {
            _postX = parseFloat($('.navallItems').css('left'))
        }

        var _arr = jQuery.makeArray( $('.navList'));
        var _relacion = (_arr.length * _factorX) / (4 * _factorX);
        var _desplazar = (_relacion - 1) * (4 * _factorX);
        var _newX = _postX - (4 * _factorX);

        if((_desplazar - (-1* _postX)) < (4 * _factorX))
        {
            _newX = _postX - (_desplazar - (-1* _postX));
        }

        if( (_desplazar - (-1* _postX)) != 0  &&  _arr.length > 4)
        {
            $('.navallItems')
            .animate
            ({
                "left":(_newX + "px")
            },
            1000, function()
            {
                _postX = parseFloat($('.navallItems').css('left'))
            //$('#secondari_nav a:eq(1)').html (Math.round(Math.abs((_postX/_factorX)) + 1));
            } );
        }
    });
}
