function stahniFrontuS(nastaveni) {
        var cfg = { on: { 
            complete: RefreshFrontaS,
        }};
        Y.io(REMOTE_URL+"?action=list&type=all&downs_limit="+DELKA_STRANKY, cfg);
}

function RefreshFrontaS(transactionId, response, arguments) {
    Y.one("#fronta").set("innerHTML", "");
    
    if(!response.responseText) { return null; }
    var odpoved = eval('('+response.responseText+')');
    var soubory = odpoved.files ? odpoved.files : odpoved.uploads;
    
    var t = Y.Node.create("<table><tfoot><tr><td colspan='4' class='strankovani'><a href='#' id='akceOznacitVse'>Označit vše</a> | <a href='#' id='akceOdznacit'>Odznačit</a><br/><br/></td><td style='vertical-align: top;'>Souborů: <span id='velikost_fronty'>0</span></td></tr></tfoot><tr class='hlavicka'><td></td><td>Název</td><td>Info</td><td>Velikost</td><td>Bude smazáno</td></tr></table>");
    t.one("td.strankovani").append(dejStrankovadlo(odpoved.downs_count, DELKA_STRANKY, odpoved.downs_start, prestrankujFrontuS));
    
    var vynechaneSoubory = 0;
    for(var i = 0; i<soubory.length; i++) {

        if(soubory[i].deletemark=="1") {
            vynechaneSoubory++;
            continue;
        }
        
        var check = Y.Node.create("<input type='checkbox' />")
                          .setAttribute("value", soubory[i].id)
                          .setAttribute("rel", soubory[i].durl)
                          .addClass("oznacovac");
                          
        var td0 = Y.Node.create("<td></td>")
                        .append(check);  

        var td1 = Y.Node.create("<td></td>")
                        .addClass("nazev");
                        
        if(soubory[i].progress == '100' || (soubory[i].downed == '0' && soubory[i].durl != null)) {
            var a = Y.Node.create("<a />")
                     .set("innerHTML", soubory[i].fname.zkrat())
                     .set("href", soubory[i].durl)
                     .set("alt", soubory[i].fname)
                     .set("title", soubory[i].fname);
            td1.appendChild(a)
        } else {
            td1.set("innerHTML", soubory[i].fname.zkrat())
               .set("alt", soubory[i].fname)
               .set("title", soubory[i].fname);
        }

        var info;
        if (soubory[i].ftmp == '1') {
            info =  'stahuje se, ' + soubory[i].progress + "%";
        } else if (soubory[i].queue == '1') {
            info =  soubory[i].queueNo+'. ve frontě';
        } else if (soubory[i].upload == '1') {
            info =  'do&nbsp;nahraj';
        } else if (soubory[i].downed == '1') {
            info =  'v počítači';
            /*beg += 'location.href=\''+
                soubory[i].durl+'\'; return false;';*/
        } else if (soubory[i].fsize == '0' || soubory[i].durl == null) {
            info =  "chyba, <a href='#' rel='"+soubory[i].id+"' class='redownload'>stáhnout znova</a>";
            // dodělat: <span title="klikněte pro stažení znovu (zdarma)">
        } else {
            info =  'na serveru';
        }

        var td2 = Y.Node.create("<td></td>")
                        .set("innerHTML", info)
                        .addClass("info");
        
        var td3 = Y.Node.create("<td></td>")
                        .set("innerHTML", Math.round(soubory[i].fsize/1000000) + "&nbsp;MB")
                        .addClass("info");
        
        var budeSmazano = new Date((parseInt(soubory[i].dtime) + (48 * 3600))*1000);
        var td4 = Y.Node.create("<td></td>")
                        .set("innerHTML", budeSmazano.getDate() + "." + (budeSmazano.getMonth()+1) + ".,&nbsp;" + String("0"+budeSmazano.getHours()).slice(-2) + "." + String("0"+budeSmazano.getMinutes()).slice(-2))
                        .addClass("info");
        
        t.append( Y.Node.create("<tr></tr>")
                        .append(td0)
                        .append(td1)
                        .append(td2)
                        .append(td3)
                        .append(td4)
                        .addClass((i-vynechaneSoubory)%2 ? "sudy" : "lichy")  );
    }
    
    var button = Y.Node.create("<button>Smazat</button>")
                       .addClass("smazat");
    button.on("click", function() {
        if(confirm("Opravdu smazat všechny vybrané soubory?")) {
            var idecka = "";
            Y.all(".oznacovac").each(function(){
                if(this.get("checked")) {
                    idecka += ("id["+this.getAttribute("value")+"]="+this.getAttribute("value") + "&");
                }
            });
            
            var cfg = {
                method: "POST", 
                data: "action=setinfo&type=downs_deletemark&"+idecka, 
                on: {complete: HandleDejZpravu},
                arguments: {zavolej: stahniFrontuS}
            };
            Y.io(REMOTE_URL, cfg);
        }
    });
    
    
    var buttonLinky = Y.Node.create("<button>Zobrazit odkazy</button>")
                       .addClass("zobrazitOdkazy");
    buttonLinky.on("click", handleZobrazitOdkazy);
    
    Y.one("#fronta").append(t).append(
        Y.Node.create("<div><span id='akceOznacene'></div>")
              .addClass("akceFronty")
              .append(button)
              .append(buttonLinky)
    );
    
    Y.one("#velikost_fronty").set("innerHTML", soubory.length - vynechaneSoubory);
    
    Y.one("#akceOznacitVse").on("click", function(e){
        e.preventDefault();
        Y.all(".oznacovac").set("checked", true);
    });
    Y.one("#akceOdznacit").on("click", function(e){
        e.preventDefault();
        Y.all(".oznacovac").set("checked", false);
    });
    Y.one("#nadpisFronty").set("innerHTML", "Stahované soubory");
    
    Y.all(".redownload").on("click", function(e) {
       e.preventDefault();
       if(typeof window.alertRedownload == 'undefined') {
           window.alertRedownload = true; 
           myAlert("Pokud byly označené soubory stáhnuty chybně, budou staženy znovu. První znovustažení je zdarma."); 
       }
       var id = e.currentTarget.getAttribute("rel");
        var cfg = {
            method: "POST", 
            data: "action=setinfo&type=downs_redownload&id["+id+"]="+id, 
            on: { complete: stahniFrontuS }
        };
        Y.io(REMOTE_URL, cfg);
    });
}

function prestrankujFrontuS(stranka) {
        var cfg = { on: { 
            complete: RefreshFrontaS,
        }};
        Y.io(REMOTE_URL+"?action=list&type=all&downs_limit="+DELKA_STRANKY+"&downs_start="+((stranka-1)*DELKA_STRANKY), cfg);
}
