var min_tracks=1;
var min_artists=1;

function add_rollover(obj){
    obj.mouseover(function(){
        $(this).addClass("over");
    }).mouseout(function(){
        $(this).removeClass("over");
    });
}

function add_track(track, to, from){
    if(from==null){
        from="main-playlist";
    }
    if(to==null){
        to="personal-playlist";
    }

    //gestisce il link "aggiungi" "rimuovi"
    var link;
    if(to=="personal-playlist"){
        link="<a href=\"#\" onclick=\"add_track('"+track+"','main-playlist','personal-playlist')\">rimuovi</a>";
    }else{
        link="<a href=\"#\" onclick=\"add_track('"+track+"')\">aggiungi</a>";
    }

    //sposta una traccia tra le 2 playlist
    var $tr = $("#"+track, "#"+from);
    $tr.fadeOut("fast");
    $tr.remove();
    var $clone = $tr.clone();
    $clone.removeClass("over");
    add_rollover($clone);
    $("#link", $clone).html(link);
    $clone.fadeIn("slow").appendTo("#"+to);

    //aggiorna contatori
    var artists=set_artists_counter(count_artists());
    var tracks=set_tracks_counter(count_tracks());

    //mostra/nascondi msg "list vuota"
    if(tracks==0){
        $("#empty-playlist").show();
    }else{
        $("#empty-playlist").hide();
    }

    //gestisce stato pulsante "salva playlist"
    set_save_btn_status(tracks, artists)

}

function set_save_btn_status(tracks, artists){
    var $thebtn=$("#savebtn")
    var disabled=$thebtn.attr("disabled");
    //alert(disabled);
    if(tracks>=min_tracks && artists>=min_artists){
        if(disabled){
            $thebtn.attr("disabled",false);
            $thebtn.attr("src","images/maya2/radio/salva_attivo.png");
            disabled=false;
        }
    }else{
        if(!disabled){
            $thebtn.attr("disabled",true);
            $thebtn.attr("src","images/maya2/radio/salva_non_attivo.png");
            disabled=true;
        }
    }

    if(disabled){
        $("#can-save-msg").html("<img src='images/maya2/radio/bullet_error.png' align='absmiddle' /> Non hai ancora raggiunto il numero minimo di artisti/brani");
    }else{
        $("#can-save-msg").html("");
    }
}

function count_artists(){
    var artists=Array();
    $("#personal-playlist tr").each(function(){
        var artist=$("#artist",this).text();
        if(artist && !in_array(artist, artists)){
            artists[artists.length]=artist;
        }
    })
    return (artists.length);
}

function count_tracks(){
    var tracks=Array();
    $("#personal-playlist tr").each(function(){
        var track=$("#track",this).text();
        if(track){
            tracks[tracks.length]=track;
        }
    })
    return (tracks.length);
}

function set_artists_counter(counter){
    $("#artists").text(counter);
    return counter;
}

function set_tracks_counter(counter){
    $("#tracks").text(counter);
    return counter;
}

function in_array(needle, haystack, argStrict) {
    var found = false, key, strict = !!argStrict;

    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }

    return found;
}

//funzione da eseguire dopo il login
var handler=true;
var handler_function='my_function()';
function my_function(){
    $("#boxlogin").hide("fast");
    save_playlist();
}

function start_loading(){
    $("#loading").show();
}

function stop_loading(){
    $("#loading").hide();
}

function save_playlist(){
    $.ajax({
        type: "POST",
        url: "actions.php",
        dataType: "json",
        data: "action_type=PLAYLIST_CHECK_LOGGED",
        cache: false,
        success: function(response){
            if(response['error_type']=='NOT_LOGGED'){
                $("#boxlogin").show("slow");
            }else{
                var post_tracks="";
                var i=0;
                $("tr","#personal-playlist").each(function(){
                    var track=$("#itemid", this).text();
                    if(track){
                        post_tracks+=track+",";
                        i++;
                    }
                });
                $("#loading").show();
                $.ajax({
                    type: "POST",
                    url: "actions.php",
                    dataType: "json",
                    data: "action_type=PLAYLIST_SAVE&tracks="+post_tracks,
                    cache: false,
                    success: function(response){
                        $("#loading").hide();
                        if(response["error"]){
                            $("#response").text(response["error_msg"]).show();
                        }else{
                            $("#response").text(response["msg"]).show();
                        }
                    }
                });
            }
        }
    })

}

function show_error(error){
    $("#ok-msg2").hide();
    $("#error-msg2").attr('innerHTML',error);
    $("#error-msg2").show("slow");
}

function show_ok(msg){
    $("#error-msg2").hide();
    $("#ok-msg2").attr('innerHTML',msg);
    $("#ok-msg2").show("slow");
}