var areas = $('#serviceAreas');
var references = $('#clientsReferences');

$(function(){
    var ref = $('#reference');
    
    var showOverlay = true;
    if ($('#reference').length>0)
        showOverlay = false;

    // Spaudziam ant srities
    $('a', areas).click(function(){
        ref.hide();
        references.show();

        var area = this.rel;
        if (area!='')
        {
            $('a', references).addClass('disabled');
            $('a.s' + area, references).removeClass('disabled');
        }
        else
            $('a', references).removeClass('disabled');
        $('a', areas).removeClass('sel');
        $(this).addClass('sel');
        
        var first = $('a', references).removeClass('hover').not('.disabled').first().addClass('hover');
        return false;
    });
    
    // Spaudziam ant atsiliepimo
    $('a', references).click(function(){
        var self = $(this);
        if (!self.hasClass('disabled'))
        {
            $('span', this)[0].style.display = '';
            var id = this.hash.replace('#', '');
            self.addClass('preloader');
            getSolution(id);
        }
        return false;
    }).hover(function(){
        var self = $(this);
        if (!self.hasClass('disabled') && !self.hasClass('abs') && !self.hasClass('hover')) {
            var span = $('span', self);
            if (!span.data('f')) {
                span.data('f', true);
                span.fadeIn('medium', function(){ span.data('f', false); });
            }
            
            $('a', references).removeClass('hover');
            self.addClass('hover');
        }
    }, function(){
        var self = $(this);
        if (!self.hasClass('disabled') && !self.hasClass('abs')) {
            self.removeClass('hover');
            //$('a', references).not('.disabled').first().addClass('hover');
            $('span', self)[0].style.display = '';
        }
    });

    // Sprendimo langelis - prev/next, close
    $('a.pagePrev, a.pageNext', ref).live('click', function(){
        var id = this.hash.replace('#', '');
        getSolution(id);
        return false;
    });
    $('#reference a.close, #overlay').live('click', function(){
        if (showOverlay)
        {
            $('#overlay').remove();
            ref.remove();
        }
        else
            ref.hide();
        references.show();
        return false;
    });

    function getSolution(id)
    {
        $.get(currentLang + '/clients/getReference/' + id, function(data){
            if (showOverlay && $('#overlay').length==0)
            {
                $('body').prepend('<div id="overlay"></div><div id="reference" class="box hidden"><div class="box-mid"><a href="#" class="close"></a><a href="#" class="pageNext"></a><a href="#" class="pagePrev"></a><div class="text"></div></div></div>');
                ref = $('#reference');
                var pos = references.offset();
                
                var top = $('#clients').length>0
                    ? 151
                    : pos.top;
                
                ref.css({
                    //'top': pos.top + 'px',
                    'top': top + 'px',
                    'left': pos.left-7 + 'px',
                    'position': 'absolute',
                    'z-index': '999'
                });
            }

            $('div.text', ref).html(data);

            var next = null;
            var prev = null;
            var enabled = $('a:not(.disabled)', references);
            var l = enabled.length;
            for (var k = 0; k<l; k++)
            {
                if (enabled[k].hash=='#' + id)
                {
                    if (typeof(enabled[k-1])!='undefined')
                        prev = enabled[k-1].hash;
                    if (typeof(enabled[k+1])!='undefined')
                        next = enabled[k+1].hash;
                }
            }
            if (prev!=null)
                $('a.pagePrev', ref).attr('href', prev).show();
            else
                $('a.pagePrev', ref).hide();
            if (next!=null)
                $('a.pageNext', ref).attr('href', next).show();
            else
                $('a.pageNext', ref).hide();

            references.hide();
            ref.show();
            $('a.preloader', references).removeClass('preloader');
        });
    }
});
