
function tags_select(obj) {

    var tag = obj.text();
    var href = obj.attr('href')
    
    if(tag == 'All projects' || tag == 'Wszystkie projekty') {
        $(".thumb, #portfolio li").stop().animate({
            'opacity': 1
        }, 500, function(callback) {
            window.location.href = href
        })
    } else {
        $(".thumb").removeClass('tagged').addClass('not-tagged');
        $("#portfolio li").removeClass('tagged').addClass('not-tagged');
        $(".thumb").has("span:contains(" + tag + ")").each(function() {
            projectTitle = $(this).find("h3 a").text()
            project = $("#portfolio li a:contains(" + projectTitle + ")").parent()
            project.removeClass('not-tagged').addClass('tagged')
            $(this).removeClass('not-tagged').addClass('tagged');
        })

        $(".not-tagged").stop().animate({
            'opacity': 0.25
        }, 500, function(callback) {
            $(".tagged").stop().animate({
                'opacity': 1
            }, 500, function(callback) {
                window.location.href = href
            })
        })
    }

}
        
function default_settings() {
//     $("#portfolio li")
//         .removeClass('tagged')
//         .stop().animate({ 'opacity': 1 }, 500)
    $("#top_link").click(function() {
        $("html, body").animate({ 'scrollTop': $("#top").offset().top}, 500);
        return false;
    });
        
}
        
function select_obj(obj) {
    
    var parent_id = obj.parent().parent().attr('id');
    var parent_parent_id = obj.parent().parent().parent().attr('id');
    var href = obj.attr('href')

    $("#sidebar li").removeClass('selected');
    obj.parent().addClass('selected').addClass('visited');
    if((parent_id == 'flat')||(parent_id == 'portfolio')) {
        $("#portfolio li").stop().animate({
            'opacity': 1
        }, 300)
        obj.addClass('loading');
    }
    if(parent_parent_id == 'thumbs') {
        $("#sidebar li a[href='" + href + "']").parent().addClass('selected')
        obj.parent().parent()
            .append($("<img />")
                .attr({
                    'src': '/media/images/ajax-loader.gif',
                    'width': 16,
                    'height': 16,
                    'alt': 'Loading...'
                })
                .addClass('loader'))
        
    }
    
}
            
function slide(obj) {

    var href = obj.attr('href');
    href_split = href.split('/');
    var content_width = $("#content").width();
    var classes = ['main', 'portfolio', 'kontakt', 'o-nas', 'flatpage', 'blog'];
    if(obj.hasClass('left_content')) {
        if($("#sidebar").css('float') == 'right') {
            var type = 'left-to-left';
            margin_left = -(content_width) + 'px';
        } else {
            var type = 'right-to-left';
            margin_left = content_width + 'px';
        }
    } else {
        if($("#sidebar").css('float') == 'right') {
            var type = 'left-to-right';
            margin_left = content_width + 'px';
        } else {
            var type = 'right-to-right';
            margin_left = content_width + 'px';
        }
    }
    
    $.ajax({
        url: href,
        success: function(data) {
            if(type == 'left-to-right') {
                $("#wrapper").stop().animate({
                    'marginLeft': (-(content_width) - 25)
                }, 500, function(callback) {
                    $("#wrapper").css({ 'marginLeft': 0 });
                });
            }
            $("#content").stop().animate({
                'opacity': -1,
                'marginLeft': margin_left
            }, 500, function(callback) {
                if(type == 'right-to-left') {
                    $("#content").css({ 'opacity': 1, 'marginLeft': 0 });
                }
                for(var i = 0; i < classes.length; i++) {
                    $("body").removeClass(classes[i]);
                }
                if(type == 'right-to-left' || type == 'left-to-left') {
                    $("body").addClass('flatpage');
                }
                switch(href_split[1]) {
                    case 'kontakt':
                        $("body").addClass('kontakt');
                        break;
                    case 'o-nas':
                        $("body").addClass('o-nas');
                        break;
                    case 'portfolio':
                        $("body").addClass('portfolio');
                        break;
                    case 'blog':
                        $("body").addClass('blog');
                        break;
                    case '':
                        $("body").addClass('main');
                        break;
                    case 'en':
                        $("body").addClass('main');
                        break;
                }
                if(type == 'right-to-left') {
                    $("#wrapper").css({ 'marginLeft': -(content_width) })
                    $("#content").html(data);
                    $("#wrapper").animate({
                        'marginLeft': 0
                    }, 500, function(callback) {
                        obj.removeClass('loading');
//                         default_settings();
                        if(obj.hasClass('referencje')) {
                            $("html, body").animate({ 'scrollTop': $("#referencje").offset().top}, 500);
                        }
                        if(!(obj.hasClass('blog_link'))) {
                            $("#blog_sidebar").detach();
                        } else {
                            $("#blog_sidebar").appendTo("#wrapper");
                        }
                        window.location.href = href
                    })
                } else if(type == 'left-to-left') {
                    $("#content").html(data);
                    $("#content").animate({
                        'opacity': 1,
                        'marginLeft': 0
                    }, 500, function(callback) {
                        obj.removeClass('loading');
//                         default_settings();
                        if(obj.hasClass('referencje')) {
                            $("html, body").animate({ 'scrollTop': $("#referencje").offset().top}, 500);
                        }
                        if(!(obj.hasClass('blog_link'))) {
                            $("#blog_sidebar").detach();
//                             window.location.href = href
                        } else {
                            $("#blog_sidebar").appendTo("#wrapper");
//                             $("#portfolio, #tagi").animate({
//                                 'opacity': 0.3
//                             }, 1000, function(callback) {
//                             })
                        }
                        window.location.href = href
                    });
                } else {
                    $("#content").html(data);
                    $(".thumb img").attr({'src': '/media/images/blank.jpg'})
                    $("#content").animate({
                        'opacity': 1,
                        'marginLeft': 0
                    }, 500, function(callback) {
                        obj.removeClass('loading');
//                         default_settings();
                        if(obj.hasClass('tag_link')) {
                            tags_select(obj);
                        }
                        if(obj.hasClass('referencje')) {
                            $("html, body").animate({ 'scrollTop': $("#referencje").offset().top}, 500);
                        }
                        if(!(obj.hasClass('blog_link'))) {
                            $("#blog_sidebar").detach();
                        } else {
                            $("#blog_sidebar").appendTo("#wrapper");
                        }
                        window.location.href = href
                    });
                }
            });
        }
    });

}

function preload_images() {
    loader = new Image();
    loader.src="/media/images/loader.gif";

    $('.thumb img').preload({
        placeholder: '/media/images/blank.jpg',
        threshold: 3
    });
}

$(function() {
    preload_images()
})

$(document).ready(function() {

    $("a.slide").live("click", function() {
        select_obj($(this));
        slide($(this));
        return false;
    });
                
    $(".tag_link").live("click", function() {
        select_obj($(this));
        if($(this).hasClass('slide')) {
            slide($(this));
        }
        tags_select($(this));
        return false;
    });
    
    $(".thumb").each(function() {
        if( $(this).hasClass('tagged') ) {
            $(this).removeClass('not-tagged')
        }
    })

//     $(".thumb img").hide();
//     $(".thumb").css({'opacity': 0})
//     
//     $(".thumb img").load(function() {
//         $(this).show();
//         $(this).parent().parent().parent().animate({
//             'opacity': 1
//         }, 800)
//     })

    $(".thumb.tagged").each(function() {
        projectTitle = $(this).find("h3 a").text()
        project = $("#portfolio li a:contains(" + projectTitle + ")").parent()
        project.removeClass('not-tagged').addClass('tagged')
    })
    
    $(".not-tagged").css({ 'opacity': 0.25 });
    $(".tagged").css({ 'opacity': 1 });

    default_settings();

    $(".share").hide()
    
    $(".share input")
        .focus(function() {
            $(this).select()
        })

    $(".sharebox").toggle(function() {
        $(this).parent().find(".share").slideDown('500', function(callback) {
            $(this).parent().find(".share input").focus()
        })
    }, function() {
        $(this).parent().find(".share").slideUp('500')
    })

});
