function in_array(e,d,c){var b="",a=!!c;if(a){for(b in d){if(d[b]===e){return true;}}}else{for(b in d){if(d[b]==e){return true;}}}return false;}
function Pager(h){var k;var a=this;switch(h){case"unread":var e=document.getElementById("tutorials-read")?"#tutorials-read":"#tutorials-anchors";k={source:j("#tutorials-unread .tutorials-list"),target:j(e),items:10,height:93};break;case"read":k={source:j("#tutorials-read .tutorials-list"),target:j("#tutorials-anchors"),items:10,height:46};break;}this.lenght;this.temporary;this.page;this.make=function(n){var r=k.target.find(".pager");var m=j(k.target).find(".tutorials-list").height();var s=300;var l="";var q=jQuery('<li class="prev"><a href="">&nbsp;</a></li>');var p=jQuery('<li class="next"><a href="">&nbsp;</a></li>');for(var o=1;o<=this.lenght;o++){l+='<li><a href="#" rel="'+o+'">&nbsp;</a></li>';}r.append(q).append(l).append(p);r.addClass("hidden").fadeIn(s).addClass("pager-remove");if(isNaN(a.index)){r.find("li:eq(1)").addClass("active");}else{a.index-=(a.index>this.lenght)?1:0;r.find("li:eq("+a.index+")").addClass("active");c(a.index);}g();return false;};this.check=function(){k.target.find(".pager").empty();var m=(k.source.find("li:visible").size())/k.items;var l=Math.round(m);m=l<m?(l+1):l;if(m>1){k.source.parent().css({height:k.height*(k.items/2)});k.source.css({top:0});this.lenght=m;this.make(true);}else{k.source.parent().css({height:k.source.height()});return false;}};this.check();function c(m){curentIndex=""+j(k.target).find(".pager li:eq("+m+") a").attr("rel");a.index=m;var l=((k.height*5)*(curentIndex-1));jQuery(k.source).animate({top:-l},300);}function f(m){var l=k.target.find(".pager li").index(m);return l;}function b(m){var l=f(m);if(l==0||l==a.lenght+1){return false;}c(l);return true;}function g(){k.target.find(".pager li").bind("click",d);}function i(){k.target.find(".pager li").unbind("click",d);}function d(){var l=j(this);var n=l.attr("class");var m=k.target.find(".pager .active");switch(n){case"prev":if(b(m.prev())){m.removeClass("active").prev().addClass("active");}break;case"next":if(b(m.next())){m.removeClass("active").next().addClass("active");}case"active":break;default:m.removeClass("active");l.addClass("active");c(f(l));}return false;}return this;}

var tutorials={filter:{},original:{levels:["none","beginner","intermediate","advanced"],categories:["1","2","3","4"]},setup:function(){j(".tutorials-list li").each(function(){data=j(this).attr("class").split("_");j(this).attr("levels",data[0]);j(this).attr("categories",data[1]);});if(ignored){tutorials.filter=ignored;}else{tutorials.filter={ignoreLevels:[],ignoreCategories:[]};}j("#tutorials-filter li a").each(function(){e=j(this).attr("rel");for(i in tutorials.filter){f=eval("tutorials.filter."+i);if(in_array(e,f)){j(this).addClass("hidden");}}});tutorials.convert();tutorials.put();return false;},start:function(){this.setup();this.calculate();j("#tutorials-filter ul a").click(function(){if(j(this).is(".locked")){return false;}else{var g=j(this);var h=g.attr("rel");var d=g.parent().attr("id");g.toggleClass("hidden");tutorials.convert();tutorials.calculate();tutorials.put();}return false;});},convert:function(){tutorials.filter={ignoreLevels:[],ignoreCategories:[]};j("#tutorials-filter ul a").each(function(){if(j(this).attr("class")=="hidden"){type=j(this).parents("ul").attr("class");value=j(this).attr("rel");switch(type){case"level":tutorials.filter.ignoreLevels.push(value);break;case"category":tutorials.filter.ignoreCategories.push(value);break;}}});},calculate:function(){var filtered={levels:tutorials.filter.ignoreLevels,categories:tutorials.filter.ignoreCategories};if(filtered.levels.length==2){j("#tutorials-filter .level a:not('.hidden')").addClass("locked");}else{j("#tutorials-filter .level a.locked").removeClass("locked");}if(filtered.categories.length==3){j("#tutorials-filter .category a:not('.hidden')").addClass("locked");}else{j("#tutorials-filter .category a.locked").removeClass("locked");}j(".tutorials-list li").show().attr("visible",true);for(i in tutorials.original){e=eval("tutorials.original."+i);q=eval("filtered."+i);for(f in e){if(in_array(e[f],q)){j(".tutorials-list li["+i+"='"+e[f]+"']").hide().attr("visible",false);}}}tutorials.pager();},pager:function(){if(document.getElementById("tutorials-read")){new Pager("read");}if(document.getElementById("tutorials-unread")){new Pager("unread");}},put:function(){if(ignored){j("#tutorials-filter li a").each(function(){val=j(this).attr("rel");key=j(this).parents("ul").attr("class");element=j("#tutorials-filter-form input[name='data["+key+"]["+val+"]']");element.val(j(this).attr("class")=="hidden"?0:1);});j.post("/ustawienia-filtra/",jQuery("form#tutorials-filter-form").serialize(),function(b){},"json");}}};

function playvideo(id) {
    var so = new SWFObject('/swf/layer_vplayer.swf', 'videoplayerflash', '490', '447', '9', 'transparent', true);
    so.addVariable("userId", userid);
    so.addVariable("videoId", id);
    so.addVariable("gateway", "/cake_gateway.php");
    so.addParam("allowScriptAccess", "always");
    so.addParam("scale", "noscale");
    so.addParam('wmode', 'transparent');
    so.write('videoplayer');
}

function videoplayer() {
    
    j('.tutorials-list .video').click(function() {
        id = j(this).attr('rel');
        content = '';
        content += '<div id="window">';
        content += '<div id="videoplayer">';
        content += '</div>';
        content += '</div>';

        var values = {
            'height' : jQuery('body').height(),
            'width'  : jQuery('body').width()
        };

        j('<div id="overlay"></div>').animate({opacity: 0}, 0).prependTo('body').css(values).animate({opacity: 0.6}, 180, function() {
            j(content).animate({opacity: 0}, 0).prependTo('body').animate({opacity: 1}, 260, function() {
                playvideo(id);
                j('#overlay').click(function() {
                    j('#window').fadeOut('120', function() {
                        j('#overlay').fadeOut('60', function() {
                            j('#window').remove();
                            j('#overlay').remove();
                        });
                    });
                    return false;
                });

            }).center();
        });
        return false;
    })

}

j(document).ready(function() {
    videoplayer();
    Cufon.replace('.tutorials-container .title strong', {fontFamily: 'GlasgowPl RR ExtraBold'});
    Cufon.replace('.tutorials-container .title strong em', {fontFamily: 'GlasgowPl RR Light'});

    j('.link').attr('target', '_blank');

    if (document.getElementById('tutorials-read')) 
        new Pager('read');
    if (document.getElementById('tutorials-unread')) 
        new Pager('unread');
    if (document.getElementById('tutorials')) 
        tutorials.start();
 
    j('.all').click(function() {
        j('.tutorials-list').each(function() {
           j(this).css({top: 0}).parent().height(j(this).height()); 
        });
        j('.pager').empty();
        return false;
    });
});