$(document).ready(function()
{
	ilikeit_bind ("#ilikeit input[name^='ilikeit']");

	// zobrazi panel ilikeit
	if ($("#ilikeit .ilikeit-item").length > 0)
		$('#ilikeit-panel').show ();

    // zaskrtne vsechny inputy v panelu
	$('#ilikeit .ilikeit-button input').attr('checked', 'checked');

	// nabinduje clankovou tlacitkovou akci
	$('.tlacitka input').click(function(){
         //$('button.ilikeitbtn+input[type=checkbox]').attr('checked',$('button.ilikeitbtn+input[type=checkbox]').attr('checked') ? '' : 'checked');

         ilikeit_action ($(this));
    });

    // skryje checkbox, ale az po nabindovani akce
//    $('button.ilikeitbtn+input[type=checkbox]').hide();

    // bindovani pro zavirani krizkem
    $('img.tsml-close').live('click', function(){
        var ch = $(this).next($('input[type=checkbox]'));
        ch.click();
    });
    ilikeit_toggle();
});

// zmeni popisek tlacitka oznacit/odznacit
function ilikeit_toggle()
{
//     var label = $('button.ilikeitbtn+input[type=checkbox]').attr('checked') ? 'NELÍBÍ SE MI':'LÍBÍ SE MI';
//     $('button.ilikeitbtn').text(label);
}

function ilikeit_action (elm)
{         
    //alert(elm + ' ' + $(elm).attr('checked') + ' ' + $(elm).val());
    // sestavi url pro ajax dotaz
    var element = $(elm).val();
    var command = $(elm).attr('checked') ? "add":"delete";
    var json_url = '/?ilikeit='+command+'&element='+element;

    // prida loader
    if (command == "add") {
        ilikeit_loader ();
        $("input[value='"+$(elm).val()+"']").attr('checked','checked');
    }
    // zesedne odebirany prvek
    else {
        $(".ilikeit-item[rel="+element+"]").fadeOut("slow");
        $("input[value='"+$(elm).val()+"']").attr('checked','');
    }

    var params = "";
    // komunikace se serverem
    $.getJSON(json_url,{params:params},function(data){
        ilikeit_panel (data);
        ilikeit_bind ("#ilikeit input[name^='ilikeit']");
        ilikeit_toggle();
    });
}

function ilikeit_bind (elm)
{
    // kliknuti na ilikeit zpusobi aktualizaci bocniho panelu --- unbind().
    $(elm).unbind().live('click', function() {
        ilikeit_action (elm);
    });
}

/**
 * Prida do panelu loader
 *
 * @return nill
 **/
function ilikeit_loader ()
{
    var loading_html = $('#ilikeit_loading').html();

    if (ilikeit_panel_order != "reverse")
        $('#ilikeit').append (loading_html);
    else
        $('#ilikeit').prepend (loading_html);
}

/**
 * Aktualizuje vypis produktu v panelu to se mi libi
 *
 * @param data string
 * @return nil
 **/
function ilikeit_panel (data)
{
    $('#ilikeit').html(data.html);

    if (!data.visible)
        $('#ilikeit-panel').hide ();
    else
        $('#ilikeit-panel').show ();

    $('#ilikeit .ilikeit-button input').attr('checked', 'checked');
}
