/*
	Author: Max Degterev <max@braincube.us>
*/

$(function() {
    $('span.funky-checkbox').each(function() {
        var cont = $(this),
            input = cont.find('input');

        input.bind('change', function() {
            cont.toggleClass('active');
        });

        if (input.is(':checked') && !cont.hasClass('active')) {
            input.trigger('change');
        }
    });

    $('span.funky-radio').each(function() {
        var cont = $(this),
            input = cont.find('input');

        input.bind('change', function() {
            var el = $(this),
                cont = $(this).parent();

           $('input[name="'+el.attr('name')+'"]')
                .parent()
                .removeClass('active');

            cont.addClass('active');
        });

        if (input.is(':checked') && !cont.hasClass('active')) {
            input.trigger('change');
        }
    });

    $('div.funky-sortable').each(function() {
        if ((document.all) && (navigator.appVersion.indexOf("MSIE 7.") != -1)) {
            return 'Fuck you IE7 and your stupid select element bug';
        }

        var wrap = $(this),
            select = wrap.find('select'),
            options = select.find('option'),
            label = wrap.find('label'),
            cont = wrap.find('.selector'),
            curr = cont.find('.current'),
            ul = cont.find('ul'),
            fragment = document.createDocumentFragment();

        options.each(function() {
            var li = fragment.appendChild(document.createElement('li'));
            li.appendChild(document.createTextNode(this.innerHTML));
            li.setAttribute('data-val', this.value);

            if (options.length - 1 == this.index) {
                li.className += " last";
            }
        });

        cont.bind('click', function(e) {
            // Lol hack
            e.stopPropagation();
            cont.toggleClass('active');
        });

        ul
            .append(fragment)
            .find('li').bind('click', function(e) {
                var el = $(this),
                    li = ul.find('li');

                // Lol hack
                e.stopPropagation();

                select
                    .val(el.data('val'))
                    .trigger('change');

                cont.trigger('click');
            });

        select.bind('change', function() {
            var selected = ul.find('li[data-val="'+select.val()+'"]');
            curr.text(selected.text());
        });

        label.bind('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            cont.trigger('click');
        });

        select.trigger('change');

        $(document).bind('click', function(e) {
            var target = e.target,
                jtarget = $(target);

            if (cont.hasClass('active') && !jtarget.is(cont) && !jtarget.is(label)) {
                cont.trigger('click');
            }
        });
    });
});

$(document).ready(function() {
    $('#login-form').hide();
    $('#login').click(function() {
    $('#login-form').toggle(400);
    return false;
      });	  
    $(".reply-form").hide();
    $(".reply").click(function()
    {
    $(this).next(".reply-form").slideToggle(600);
  });
      { 
        $("#leaderboard").tablesorter( {sortList: [[0,0], [1,0]]} ); 
    } 
    });
