
function doResently() {
    var resently_div = document.getElementById("ResentlyTracks");
    var resently_switcher = document.getElementById("RecentlySwitcher"); 
    if (resently_div.style.display=='none') {
        resently_div.style.display='block';
        resently_switcher.innerHTML='close';
    } else {
        resently_div.style.display='none';
        resently_switcher.innerHTML='open';
    } 
}

function doPlaylist(status) {
    var playlist_div = document.getElementById("playlist");
    var playlist_switcher = document.getElementById("PlaylistSwitcher");
    if (status=='on') {
        playlist_div.style.display='block';
        playlist_switcher.innerHTML='close';    
    } else if (status=='off') {
        playlist_div.style.display='none';
        playlist_switcher.innerHTML='open';        
    } else {
        if (playlist_div.style.display=='none') {
            playlist_div.style.display='block';
            playlist_switcher.innerHTML='close';
            playlist_status='on';            
        } else {
            playlist_div.style.display='none';
            playlist_switcher.innerHTML='open';
            playlist_status='off';
        } 
    }
}

function doFavartist(status) {
    var favartist_div = document.getElementById("favartist");
    var favartist_switcher = document.getElementById("FavartistSwitcher");
    if (status=='on') {
        favartist_div.style.display='block';
        favartist_switcher.innerHTML='close';    
    } else if (status=='off') {
        favartist_div.style.display='none';
        favartist_switcher.innerHTML='open';        
    } else {
        if (favartist_div.style.display=='none') {
            favartist_div.style.display='block';
            favartist_switcher.innerHTML='close';
            favartist_status='on';            
        } else {
            favartist_div.style.display='none';
            favartist_switcher.innerHTML='open';
            favartist_status='off';
        } 
    }
}

function doFavlabel(status) {
    var favlabel_div = document.getElementById("favlabel");
    var favlabel_switcher = document.getElementById("FavlabelSwitcher");
    if (status=='on') {
        favlabel_div.style.display='block';
        favlabel_switcher.innerHTML='close';    
    } else if (status=='off') {
        favlabel_div.style.display='none';
        favlabel_switcher.innerHTML='open';        
    } else {
        if (favlabel_div.style.display=='none') {
            favlabel_div.style.display='block';
            favlabel_switcher.innerHTML='close';
            favlabel_status='on';            
        } else {
            favlabel_div.style.display='none';
            favlabel_switcher.innerHTML='open';
            favlabel_status='off';
        } 
    }
}

function reset_tunes() {
    while (tag_ids.length>0) {
        del_tag(tag_ids[0]);    
    }   
    while (artist_ids.length>0) {
        del_artist(artist_ids[0]);    
    } 
    while (label_ids.length>0) {
        del_label(label_ids[0]);    
    } 
    document.forms["tuningForm"].release_tuning.options[0].selected=true;         
}

function add_release(releasename, releaseid) {
    
    for (var o=0;o<document.forms["tuningForm"].release_tuning.options.length; o++) {
        if (document.forms["tuningForm"].release_tuning.options[o].value==releaseid) {
            document.forms["tuningForm"].release_tuning.options[o].selected=true;
            var exist = true;
        }
    }
    if (!exist) {    
        document.forms["tuningForm"].release_tuning.add(new Option(releasename, releaseid), null);
        document.forms["tuningForm"].release_tuning.options[document.forms["tuningForm"].release_tuning.options.length-1].selected=true;    
    }
}

function close_tag_popup() {
    var tags_popup = document.getElementById("tags_popup");
    var tag_loader = document.getElementById("tag_loader");
    if (tags_popup.style.visibility=="visible") {
        tags_popup.style.visibility="hidden";
        tag_loader.style.visibility="hidden";
    }    
}

function tags_tuning() {
    
    close_artist_popup();
    close_label_popup();
    
    var tags_popup = document.getElementById("tags_popup");
    var tags_data = document.getElementById("tags_data");
    var tag_loader = document.getElementById("tag_loader");
    if (tags_popup.style.visibility=="visible") {
        tags_popup.style.visibility="hidden";
    } else {
        tags_popup.style.visibility="visible"; 
    }
    tag_loader.style.visibility="visible";
    get_tags_by_char(current_tag_id);
    tags_data.style.width = tags_popup.offsetWidth;
}

function add_tag(tagname, tagid) {
    var found = false;
    var tags_popup = document.getElementById("tags_popup");
    var tags = document.getElementById("tags_area");
    for (var i = 0; i < tag_ids.length; i++) {
        if (tag_ids[i]==tagid) found = true;
    } 
    if (!found) {
        tags.innerHTML = tags.innerHTML + "<div id='tag_div_" + tagid + "' name='tag_div_" + tagid + "'><a href='javascript:\\' onClick='del_tag(" + tagid + ")'>[x]</a>&nbsp;" + decodeURI(tagname) + "</div>";
        tag_ids.push(tagid);
        tags.style.display='block';
    }
    tags_popup.style.visibility="hidden";
         
}

function del_tag(tagid) {
    var parent = document.getElementById("tags_area");
    var child = document.getElementById("tag_div_" + tagid);
    var tags = document.getElementById("tags_area");
    if (parent && child) {
        parent.removeChild(child);
    }
    for (var i = 0; i < tag_ids.length; i++) {
        if (tag_ids[i]==tagid) {
            tag_ids.splice(i,1); 
            break;   
        }   
    } 
    if (tag_ids.length==0) {
        tag_ids.length
        tags.style.display='none';
    }
}

function resetTagFilter() {
    document.forms["tuningForm"].tag_filter.value="";
    tagFilterChanged();
}





function close_artist_popup() {
    var artists_popup = document.getElementById("artists_popup");
    var artist_loader = document.getElementById("artist_loader");
    if (artists_popup.style.visibility=="visible") {
        artists_popup.style.visibility="hidden"; 
        artist_loader.style.visibility="hidden";
    }    
}

function artists_tuning() {
    
    close_tag_popup();
    close_label_popup();    
    
    var artists_popup = document.getElementById("artists_popup");
    var artists_data = document.getElementById("artists_data");
    var artist_loader = document.getElementById("artist_loader");
    if (artists_popup.style.visibility=="visible") {
        artists_popup.style.visibility="hidden";
    } else {
        artists_popup.style.visibility="visible"; 
    }
    artist_loader.style.visibility="visible";
    get_artists_by_char(current_artist_id); 
    artists_data.style.width = artists_popup.offsetWidth;
}

function add_artist(artistname, artistid) {
    var found = false;
    var artists_popup = document.getElementById("artists_popup");
    var artists = document.getElementById("artists_area");
    for (var i = 0; i < artist_ids.length; i++) {
        if (artist_ids[i]==artistid) found = true;
    } 
    if (!found) {
        artists.innerHTML = artists.innerHTML + "<div id='artist_div_" + artistid + "' name='artist_div_" + artistid + "'><a href='javascript:\\' onClick='del_artist(" + artistid + ")'>[x]</a>&nbsp;" + decodeURI(artistname) + "</div>";
        artist_ids.push(artistid);
        artists.style.display='block';
    }
    artists_popup.style.visibility="hidden";
         
}

function del_artist(artistid) {
    var parent = document.getElementById("artists_area");
    var child = document.getElementById("artist_div_" + artistid);
    var artists = document.getElementById("artists_area");
    if (parent && child) {
        parent.removeChild(child);
    }
    for (var i = 0; i < artist_ids.length; i++) {
        if (artist_ids[i]==artistid) {
            artist_ids.splice(i,1); 
            break;   
        }   
    } 
    if (artist_ids.length==0) {
        artist_ids.length
        artists.style.display='none';
    }
}

function resetArtistFilter() {
    document.forms["tuningForm"].artist_filter.value="";
    artistFilterChanged();
}






function close_label_popup() {
    var labels_popup = document.getElementById("labels_popup");
    var label_loader = document.getElementById("label_loader");
    if (labels_popup.style.visibility=="visible") {
        labels_popup.style.visibility="hidden";
        label_loader.style.visibility="hidden";
    }    
}

function labels_tuning() {
    
    close_tag_popup();
    close_artist_popup();    
    
    var labels_popup = document.getElementById("labels_popup");
    var labels_data = document.getElementById("labels_data");
    var label_loader = document.getElementById("label_loader");
    if (labels_popup.style.visibility=="visible") {
        labels_popup.style.visibility="hidden";
    } else {
        labels_popup.style.visibility="visible"; 
    }
    label_loader.style.visibility="visible";
    get_labels_by_char(current_label_id); 
    labels_data.style.width = labels_popup.offsetWidth;
}

function add_label(labelname, labelid) {
    var found = false;
    var labels_popup = document.getElementById("labels_popup");
    var labels = document.getElementById("labels_area");
    for (var i = 0; i < label_ids.length; i++) {
        if (label_ids[i]==labelid) found = true;
    } 
    if (!found) {
        labels.innerHTML = labels.innerHTML + "<div id='label_div_" + labelid + "' name='label_div_" + labelid + "'><a href='javascript:\\' onClick='del_label(" + labelid + ")'>[x]</a>&nbsp;" + decodeURI(labelname) + "</div>";
        label_ids.push(labelid);
        labels.style.display='block';
    }
    labels_popup.style.visibility="hidden";
         
}

function del_label(labelid) {
    var parent = document.getElementById("labels_area");
    var child = document.getElementById("label_div_" + labelid);
    var labels = document.getElementById("labels_area");
    if (parent && child) {
        parent.removeChild(child);
    }
    for (var i = 0; i < label_ids.length; i++) {
        if (label_ids[i]==labelid) {
            label_ids.splice(i,1); 
            break;   
        }   
    } 
    if (label_ids.length==0) {
        label_ids.length
        labels.style.display='none';
    }
}

function resetLabelFilter() {
    document.forms["tuningForm"].label_filter.value="";
    labelFilterChanged();
}