diff --git a/index.html b/index.html
index 0c4675b..88be393 100644
--- a/index.html
+++ b/index.html
@@ -1259,7 +1259,7 @@ function openEv(id,subIdx){
if(fa.length)h+="
"+esc(brs[bi])+":
";
for(var fi=0;fi"+esc(f.n)+"("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")СкачатьУдалить"
+ h+=""+esc(f.n)+"("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")Открыть СкачатьУдалить "
}
}catch(ex){}
}
@@ -1272,7 +1272,7 @@ function openEv(id,subIdx){
var fa=JSON.parse(fd);
for(var fi=0;fi"+esc(f.n)+"("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")СкачатьУдалить"
+ h+=""+esc(f.n)+"("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")Открыть СкачатьУдалить "
}
}catch(ex){}
}
@@ -1358,6 +1358,13 @@ function upFile(id){
};
fr.readAsDataURL(f)
}
+function openFile(id,idx,br){
+ var inm=document.getElementById("evm_"+id);
+ var mk=inm?"_m"+inm.value:"";var bk="_b"+(br!==undefined?br:(cu?cu.bg:0));
+ var key="sf_"+id+mk+(curSub!==null?"_s"+curSub:"")+bk;
+ var ex=localStorage.getItem(key);if(!ex)return;
+ try{var arr=JSON.parse(ex);var f=arr[idx];if(f&&f.data){var w=window.open("","_blank");w.document.write("")}}catch(e){}
+}
function dlFile(id,idx,br){
var inm=document.getElementById("evm_"+id);
var monthKey=inm?"_m"+inm.value:"";
@@ -1396,11 +1403,11 @@ function delFile(id,idx,br){
function saveBackup(){
saveEv();
- var blob=new Blob([JSON.stringify(evs,null,2)],{type:"application/json"});
- var a=document.createElement("a");
- a.href=URL.createObjectURL(blob);
- a.download="backup_"+new Date().toISOString().slice(0,10)+".json";
- a.click()
+ var backup={events:evs.map(function(e){return{id:e.id,s:e.s,p:e.p,done:e.done,h:e.h,q:e.q,n:e.n}}),files:{}};
+ var fkeys=[];for(var k in localStorage){if(localStorage.hasOwnProperty(k)&&k.indexOf("sf_")===0)fkeys.push(k)}
+ for(var i=0;i
+