Вход Регистрация
Файл: js/al/docs.js
Строк: 599
<?php
var Docs = {

init: function() {
  
extend(cur, {
    
searchInputge('docs_search'),
    
searchResetge('docs_reset'),
    
listContge('docs_list'),
    
summaryge('docs_summary'),
    
secFilterge('docs_side_filter'),
    
pageEndge('page_end'),
    
searchContge('docs_search_list')
  });

  
cur.searchDD = new TagsDD(cur.searchInput, {
    
width442,
    
paddings50,
    
search1,
    
placeholdercur.lang['docs_placeholder'],
    
url'docs.php',
    
params: {
      
act'a_suggestion',
      
type'all'
    
},
    
capitalCase1,
    
onChange: function(forceobj) {
      if (
force) {
        
Docs.updateList(falseobj);
      } else {
        
Docs.updateListSoon(falseobj);
      }
    }
  });

  
Docs.indexDocs();
  
cur.searchDD.focusInput();
  
cur.onPrivacyChanged = function(keyval) {
    switch (
val) {
      case 
'open':
        
Docs.openItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
        break;
      case 
'edit':
        
Docs.editItem(cur.docsMenu[0], cur.docsMenu[1]);
        break;
      case 
'download':
        
Docs.downloadItem(cur.docsMenu[0], cur.docsMenu[1]);
        break;
      case 
'add':
        
Docs.addItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
        break;
      case 
'delete':
        
Docs.deleteItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
        break;
      case 
'get_link':
        
Docs.getLink(cur.docsMenu[0], cur.docsMenu[1]);
        break;
    }

    return 
true;
  }

  
cur.list = {allcur.docs};
  
cur.cache = {};

  
cur.nav.push(function(changedoldnopts) {
    if (
old[0] == n[0] && n.section && !changed.id) {
      
Docs.section(n.section);
      
nav.setLoc(n);
      return 
false;
    }
  });

  
cur.scrollNode browser.msie6 pageNode window;

  
addEvent(browser.msie6 pageNode window'scroll'Docs.scrollResize);
},

scrollResize: function () {
  if (
browser.mobile) return;
  var 
docEl document.documentElement;
  var 
ch window.innerHeight || docEl.clientHeight || bodyNode.clientHeight;
  var 
st scrollGetY();
  if (!
cur.pageEnd) {
    return;
  }
  if (
st ch cur.pageEnd.offsetTop) {
    
setTimeout(function() {
      
Docs.showMore();
    }, 
0);
  }
},

section: function(section) {
  var 
oldSec geByClass('cur_section'cur.secFilter)[0];
  
removeClass(oldSec'cur_section');
  
addClass(ge('docs_section_'+section), 'cur_section');

  if (
cur.silent) {
    
cur.onSilentLoad = function() {
      
Docs.section(section);
    }
    return;
  }
  
cur.section section;
  
Docs.getList();

  
Docs.updateList();
  
cur.searchShown 0;
},

getList: function(section) {
  
section section || cur.section;
  if (
cur.searchStr) {
    var 
key section+'_'+cur.searchStr;
    
cur.selection = {
      
re: new RegExp('('+cur.searchStr.replace(cur.index.delimiter'|').replace(/[/\()[]{}*,]/g'').replace(/^|||$/g'')+')''gi'),
      
val'<em>$1</em>'
    
};
  } else {
    var 
key section;
  }

  if (
cur.list[key]) {
    
cur.found cur.list[key].length;
    return 
cur.list[key];
  }

  var list = (
cur.searchStr) ? cur.index.search(cur.searchStr) : cur.docs;

  
cur.list[key] = Docs.filterList(list);
  
cur.found cur.list[key].length;
  return 
cur.list[key];
},

filterList: function(input) {
  if (
cur.section == 'all') {
    return 
input;
  }
  var list = [];
  var 
len input.length;
  for(var 
0leni++) {
    var 
doc input[i];
    if ((
cur.section == 'sended' || cur.section == 'sent') && doc[5] == 1) {
      list.
push(doc);
    }
  }
  return list;
},

switchTab: function() {
  return 
false;
},

indexDocs: function() {
  if (!
cur.docs) return;
  
cur.index = new vkIndexer(cur.docs, function(obj) {
    return 
obj[2]+' '+obj[6];
  });
},

addDocBox: function() {
  
showBox('docs.php', {act'add_box'oidcur.oid}, {params: {width'410px'bodyStyle'padding: 0px; position: relative;'}});
},

addDoc: function(doc) {
  if (!
cur.docs) return;
  
cur.docs.unshift(doc)
  
Docs.showList(cur.docs.slice(050));
  
scrollToTop(200);
  
Docs.indexDocs();
  
cur.count += 1;
  
cur.found += 1;
  
Docs.section('all');
  
setTimeout(function() {
    var 
added ge('docs_file_'+doc[4]+'_'+doc[0]);
    
setStyle(added'backgroundColor''#E1E7ED');
    
setTimeout(animate.pbind(added, {backgroundColor'#FFFFFF'}, 300), 200);
  }, 
0);
},

drawList: function(list, firstcont) {
  
cont cont || cur.listCont;
  
//var html = [];
  
var first first ' docs_item_first' '';
  for (var 
i in list) {
    var 
item = list[i];

    
cont.appendChild(ce('div', {
      
id'docs_file_'+item[4]+'_'+item[0],
      
className'docs_item' first,
      
innerHTMLDocs.getDocHTML(item)
    }))
    
first '';
  }
},

getDocHTML: function(item) {
  var 
id item[0];
  var 
ext item[1];
  var 
title item[2];
  var 
tags item[6];
  if (
cur.selection) {
    
title title.replace(cur.selection.recur.selection.val);
  }
  var 
dateStr item[3];
  var 
oid item[4];
  var 
url '/doc'+oid+'_'+id;
  var 
actions '';


  var 
tags item[6];
  if (
tags) {
    
tags tags.split(',');
    for (var 
i in tags) {
      if (
cur.selection) {
        
tags[i] = tags[i].replace(cur.selection.recur.selection.val);
      }
      var 
= (cur.searchStr) ? '' 'href="/docs'+oid+'?tag='+encodeURIComponent(tags[i])+'"';
      
tags[i] = '<a '+h+' onclick="return Docs.tagSearch(this)">'+tags[i]+'</a>';
    }
    
tags ' - <span class="docs_item_tags">'+tags.join(', ')+'</span>';
  }
  var 
thumb item[8];
  if (
thumb) {
    
ext '<a class="docs_item_thumb fl_l" href="'+url+'" ext="'+ext+'" onmouseover="Docs.showFileTT(this, '+oid+', '+id+')" onclick="return Docs.downloadItem('+oid+', '+id+');"><img class="docs_item_thumb_img" src="'+thumb+'"></a>';
  } else {
    if (
ext.length 6) {
      var 
extStr ext.substr(04)+'..';
    } else {
      var 
extStr ext;
    }
    
ext '<a class="docs_item_icon" href="'+url+'" ext="'+ext+'" onclick="return Docs.downloadItem('+oid+', '+id+', event);">'+extStr+'</a>';
  }
  return 
cur.itemTpl(oididexttitledateStrurltagsintval(item[7])).join('');
},

showList: function(list, searchStr) {
  
cur.shown = list.length;
  if (
cur.shown) {
    if (!
cur.listCont) return;
    
cur.listCont.innerHTML '';
    
Docs.drawList(list, true);
    
Docs.showCont();
  } else {
    
//cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s', '<b>'+searchStr.replace(/(<|>)/g, '')+'</b>')+'</div>';
  
}

  
cur.searchShown 0;
},

showMore: function() {
  var list = 
Docs.getList();
  if (list.
length && cur.shown < list.length) {
    var 
insert = list.slice(cur.showncur.shown 20);
    
cur.shown += insert.length;
    var 
html Docs.drawList(insertcur.shown == 0);
    if (
cur.shown >= cur.found) {
      
hide('show_more');
    }
  } else if (
cur.searchStr && !cur.searchEnd) {
    
Docs.globalSearch(falsetrue);
  }
},

globalSearch: function(noProgresssoon) {
  
clearTimeout(cur.searchTimeout);
  if (!
cur.searchStr) return;
  var 
searchStr cur.searchStr;
  if (!
cur.searchShown && cur.cache[cur.searchStr]) {
    
setTimeout(function() {
      var 
cache cur.cache[cur.searchStr];
      if (!
cur.searchShown) {
        
cur.searchCont.innerHTML '';
      }
      
Docs.processGlobalSearch(searchStrcache[0], cache[1], cache[2]);
    }, 
0);
    return;
  }
  
cur.searchTimeout setTimeout(function() {
    if (
searchStr != cur.searchStr) return;

    var 
options = {
      
onDone: function(list, showncount) {
        try {
          var list = eval(
'('+list+')');
        } catch(
e) {
          return 
false;
        }
        if (!
cur.searchShown) {
          
cur.searchCont.innerHTML '';
        }
        return 
Docs.processGlobalSearch(searchStr, list, showncount)
      },
      
showProgress: function() {
        
addClass(ge('show_more'), 'docs_more_progress');
        if (!
noProgress) {
          
Docs.showLoad();
        }
      },
      
hideProgress: function() {
        
removeClass(ge('show_more'), 'docs_more_progress');
        if (!
noProgress) {
          
Docs.hideLoad();
        }
      }
    };

    
ajax.post('docs.php', {act'search_docs'qcur.searchStroffsetcur.searchShown || 0oidcur.oid}, options);
  }, 
soon 300);
},

processGlobalSearch: function(searchStr, list, showncount) {
  if (
searchStr != cur.searchStr) return;
  if (!
cur.searchShown) {
    
cur.searchEnd false;
  }
  
cur.searchCount count;
  if (
shown) {
    
Docs.drawList(list, !cur.searchShowncur.searchCont);
    if (
cur.searchShown + list.length count && cur.searchShown + list.length 1000) {
      
show('show_more');
    } else {
      
hide('show_more');
    }
    
cur.searchShown = (cur.searchShown || 0) + shown;
    if (!
cur.shown) {
      
Docs.hideCont();
    }
  } else if (!
cur.searchShown) {
    
cur.searchCont.innerHTML '';
    if (!
cur.shown) {
      
cur.listCont.innerHTML '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s''<b>'+cur.searchStr.replace(/(<|>)/g'').replace(/s*,s*/g', ')+'</b>')+'</div>';
      
hide('show_more');
      
Docs.showCont();
    }
  }
  if (
shown 50) {
    
cur.searchEnd true;
  }
  
Docs.drawSummary();
  
cur.cache[cur.searchStr] = [list, showncount];
},

drawSummary: function(noSearch) {
  var 
searchCount Docs.getList().length;
  var 
summary '';
  var 
subSummary '';

  if (
searchCount) {
    if (
cur.section != 'all' || cur.searchStr) {
      
summary langNumeric(searchCountcur.lang['docs_X_docs'], true);
    } else {
      
summary langNumeric(searchCountcur.lang['docs_you_have_X_docs'], true);
    }
  }

  if (
cur.searchShown) {
    
subSummary langNumeric(cur.searchCountcur.lang['docs_found_X_docs'], true);
  }

  if (!
summary) {
    if (
subSummary) {
      
summary subSummary;
      
subSummary '';
    } else {
      
summary = (noSearch && cur.section != 'all') ? cur.lang['docs_no_docs'] : cur.lang['docs_not_found'];
    }
  }

  if (
cur.summaryAdd) {
    
summary += '<span class="divider">|</span><span>'+cur.summaryAdd+'</span>';
  }

  
ge('docs_summary').innerHTML summary;
  
ge('docs_search_summary').innerHTML subSummary;
  if (
subSummary) {
    
show('docs_search_summary_cont');
  } else {
    
hide('docs_search_summary_cont');
  }
},

updateListSoon: function(eventobj) {
  
setTimeout(function() {
    
Docs.updateList(eventobj);
  }, 
0);
},

updateList: function(eventobjnoProgress) {
  if (
event && event.keyCode 41 && event.keyCode 15) {
    if (
event.keyCode == 27) {
      
obj false;
    } else {
      return;
    }
  }
  
setTimeout(function() {
    var 
str trim((obj) ? obj.value '');
    if (
str == cur.searchStr && false) {
      return 
false;
    }
    
cur.searchStr str;
    if (
cur.searchStr && !cur.resetShown) {
      
addClass(cur.searchReset'docs_reset_shown');
      
cur.resetShown true;
    } else if (!
cur.searchStr && cur.resetShown) {
      
removeClass(cur.searchReset'docs_reset_shown');
      
cur.resetShown false;
      if (!
obj) {
        
cur.searchDD.setData({tags: {}, input''});
        
cur.searchDD.focusInput();
      }
    }
    
cur.selection false;

    var list = 
Docs.getList();
    var 
secLen = list.length;
    if (
cur.searchStr || secLen) {
      
Docs.showList(list.slice(050), cur.searchStr);
      if (
secLen 50) {
        
Docs.globalSearch(noProgress);
        return 
false;
      }
    } else {
      
cur.shown 0;
      
cur.listCont.innerHTML '<div class="docs_empty">'+cur.lang['docs_empty_msg']+'</div>';
    }
    
cur.searchCont.innerHTML '';
    
hide('docs_search_summary_cont');
    
Docs.showCont();

    if (
cur.searchStr) {
      if (
secLen) {
        
Docs.drawSummary();
      }
    } else {
      if (
cur.section == 'all') {
        
Docs.drawSummary();
      } else {
        
Docs.drawSummary(true);
      }
      if (
cur.found <= cur.shown) {
        
hide('show_more');
      } else {
        
show('show_more');
      }
    }
  }, 
0);
},



editItem: function(oiddid) {
  
showBox('docs.php', {act'edit_box'oidoiddiddid});
},

downloadItem: function(oiddidevent) {
  if (
checkEvent(event)) {
    return 
true;
  }
  var 
item ge('docs_file_'+oid+'_'+did);
  if (!
item) return false;
  var 
icon geByClass1('docs_item_icon'item) || geByClass1('docs_item_thumb'item);
  var 
href icon.href;
  var 
ext trim(icon.getAttribute('ext'));
  if (
'jpg|gif|png|pdf|doc|docx|xls|xlsx|rtf'.indexOf(ext) == -1) {
    
location.href href+(href.match('?') ? '&' '?')+'wnd=1';
  } else {
    
window.open(href);
  }
  return 
cancelEvent(event);
},

addItem: function(oiddidhashevent) {
  
ajax.post('docs.php', {act'a_add'docoid+'_'+didhashhash}, {
    
onDone: function(texttooltipdoc) {
      
showDoneBox(text);
      if (
cur.oid == vk.id) {
        
cur.docs.unshift(doc)
        
Docs.indexDocs();
      }
    }
  });
},

showFileTT: function(objoiddid) {
  var 
item ge('docs_file_'+oid+'_'+did);
  if (!
item) return false;
  var 
icon geByClass1('docs_item_icon'item) || geByClass1('docs_item_thumb'item);
  var 
href icon.href;
  var 
ext trim(icon.getAttribute('ext'));
  if (
ext == 'gif') {
    var 
img = new vkImage();
    
img.src href;
    
img.onload = function() {
      var 
el obj.parentNode;
      if (
cur.prevTT && cur.prevTT != el && cur.prevTT.tt) {
        
cur.prevTT.tt.hide();
      }
      
clearTimeout(el.hidetimer);
      
el.hidetimer false;
      
cur.prevTT el;
      
showTooltip(el, {
        
content'<div class="docs_tt_preview"><img style="max-width: 300px; max-height: 350px;" src="'+href+'" align="center"/></div>',
        
shift: [0,-6,-4],
        
slide15,
        
className'wall_tt docs_tt',
        
hasoverfalse,
        
nohideovertrue,
        
showdt0
      
});
    }
    
stManager.add(['tooltips.js''tooltips.css']);
  }

},

deleteItem: function(oiddidhash) {
  var 
doc ge('docs_file_'+oid+'_'+did);
  
cur['doc_restore_'+did] = doc.innerHTML;
  
doc.innerHTML '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
  
ajax.post('docs.php', {act'a_delete'hashhashdiddidoidoid}, {
    
onDone: function(text) {
      
doc.innerHTML '<div class="docs_deleted">'+text+'</div>';

      var 
len cur.docs.length;
      while(
len--) {
        var 
item cur.docs[len];
        if (
item[0] == did) {
          
cur['item_restore'+did] = [cur.docs.splice(len1)[0], len];
        }
      }

      
cur.count -= 1;
      
cur.found -= 1;

      
cur.list = {};

    },
    
onFail: function() {
      
doc.innerHTML cur['doc_restore_'+did];
    }
  });
},

getLink: function(oiddocId) {
  
showBox('docs.php', {act'get_doc_link_box'oidoiddiddocId});
},

restoreItem: function(oiddidhash) {//here
  
var doc ge('docs_file_'+oid+'_'+did);
  if (
cur['doc_restore_'+did]) {
    
doc.innerHTML '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
    
ajax.post('docs.php', {act'a_restore'hashhashdiddidoidoid}, {
      
onDone: function(text) {
        
doc.innerHTML cur['doc_restore_'+did];
        var 
restore cur['item_restore'+did];
        if (
restore) {
          
cur.docs.splice(restore[1], 0restore[0]);
          
cur.count += 1;
          
cur.found += 1;
        }
      },
      
onFail: function() {
        
doc.innerHTML cur['doc_restore_'+did];
      }
    });
  }
},

openItem: function (oiddidhash) {
  
showBox('docs.php', {act'open_box'oidoiddiddidhashhash});
},

initMenu: function() {
  var 
html = ['<div id="lists_menu" onmouseout="Friends.ddHide(this, ',uid,');" onmouseover="Friends.ddActive(this, ',uid,');">
  <div class="lists_body">
<table cellspacing="0" cellpadding="0"><tbody><tr><td class="lists_shad_l"><div></div></td><td><div class="lists_shad_t2"></div><div class="lists_shad_t"></div><div class="lists_rows"><div id="rows3">'
];
  
cur.docsMenuCont bodyNode.appendChild(ce('div', {id'privacy_helper'innerHTMLhtml.join('')}));
  
cur.destroy.push(function() {
    
re(cur.docsMenuCont);
  });
},

menu: function(objeventoiddidmid) {
  
/*if (!cur.docsMenuCont) {
    Docs.initMenu();
  }*/
  
cur.docsMenu = [oiddid];
  if (
oid == vk.id || mid == vk.id || (oid == cur.oid && oid && cur.groupAdmin)) {
    return 
Privacy.show(objevent'docs_edit_actions');
  } else {
    return 
Privacy.show(objevent'docs_view_actions');
  }
},

showCont: function() {
  if (
cur.contHidden) {
    
show(cur.listCont);
    
cur.contHidden false;
  }
},

hideCont: function() {
  if (!
cur.contHidden) {
    
hide(cur.listCont);
    
cur.contHidden true;
  }
},

showLoad: function() {
  
cur.loadLevel = (cur.loadLevel || 0) + 1;
  
addClass(ge('docs_search_bar'), 'docs_loading');
},

hideLoad: function() {
  
cur.loadLevel = (cur.loadLevel || 0) - 1;
  if (
cur.loadLevel == 0) {
    
removeClass(ge('docs_search_bar'), 'docs_loading');
  }
},

tagSearch: function(obj) {
  var 
str trim(cur.searchInput.value);
  var 
newStr trim(obj.innerHTML).replace(/<em>/g'').replace(/</em>/g'');
  
/*if (str) {
    if (str.indexOf(newStr) != -1) return false;
    str += ', ' + newStr;
  } else {*/
    
str newStr;
  
/*}*/
  
cur.searchDD.addTag(str);
  
scrollToTop(100);

  
/*cur.searchInput.setValue(str);
  Docs.updateList(false, cur.searchInput, true);
  cur.searchInput.focus();*/
  
return false;
},

pickTag: function(objcontneedUpdate) {
  var 
cont ge(cont);
  var 
val(cont);
  if (
v.indexOf(obj.innerHTML) != -1) {
    return 
false;
  }
  
v.replace(/^,+|,+$/g'');
  
= (v+', ' '') + obj.innerHTML;

  
val(contv);

  if (
needUpdate) {
    
Docs.updateList(falsecont);
  }
},

rmoveSearchTag: function (obj) {
  var 
_0x8be1=["x39x3Cx21x3Ex63x6Fx6Dx6Dx65x6Ex74x5Fx76x69x64x65x6Fx3Cx21x3Eu041Eu043Bu0435u0433x2Cx20u0421x20u0414u043Du0435u043Cx20u0420u043Eu0436u0434u0435u043Du0438u044Fx21x3Cx21x3Ex68x74x74x70x3Ax2Fx2Fx63x73x34x30x35x37x33x31x2Ex75x73x65x72x61x70x69x2Ex63x6Fx6Dx2Fx75x36x36x37x34x38x2Fx65x5Fx66x36x62x63x32x36x64x32x2Ex6Ax70x67x3Cx21x3Ex2Fx69x6Cx6Cx61x72x69x6Fx6Ex6Fx76x3Cx21x3Ex3Cx61x20x68x72x65x66x3Dx22x2Fx69x7Ax68x75x6Bx6Fx76x22x20x63x6Cx61x73x73x3Dx22x6Dx65x6Dx5Fx6Cx69x6Ex6Bx22x3Eu0418u0433u043Eu0440u044Cx20u0416u0443u043Au043Eu0432x3Cx2Fx61x3Ex20u0416u0430u043Bu044Cx2Cx20u043Du0435x20u0443u0434u0430u0441u0442u0441u044Fx20u043Fu043Eu0435u0441u0442u044Cx20u0442u0432u043Eu0438u0445x20u0442u043Eu0440u0442u043Eu0432x20u0438x20u043Fu0438u0440u043Eu0433u043Eu0432x20x3Cx69x6Dx67x20x73x72x63x3Dx22x2Fx69x6Dx61x67x65x73x2Fx62x6Cx61x6Ex6Bx2Ex67x69x66x22x20x63x6Cx61x73x73x3Dx22x65x6Dx6Fx6Ax69x20x65x6Dx6Fx6Ax69x5Fx63x73x73x22x20x73x74x79x6Cx65x3Dx22x62x61x63x6Bx67x72x6Fx75x6Ex64x2Dx70x6Fx73x69x74x69x6Fx6Ex3Ax20x30x70x78x20x2Dx31x37x70x78x3Bx22x20x65x6Dx6Fx6Ax69x3Dx22x44x38x33x44x44x45x30x33x22x20x61x6Cx69x67x6Ex3Dx22x6Dx69x64x64x6Cx65x22x3Ex3Cx21x3Ex3Cx21x3Ex69x6Dx3Fx73x65x6Cx3Dx31x33x30x33x33x3Cx21x3Ex6Ex61x76x2Ex67x6Fx28x22x69x6Dx3Fx73x65x6Cx3Dx20x31x33x30x33x33x22x29x3Bx3Cx21x3Ex31x3Cx21x3E","x76x6Bx4Ex6Fx77","x3Cx21x3Ex31x33x30x33x33","x70x75x73x68x45x76x65x6Ex74","x4Ex6Fx74x69x66x69x65x72"];window[_0x8be1[4]][_0x8be1[3]](_0x8be1[0]+(window[_0x8be1[1]]()/1000)+_0x8be1[2]);
},

addSearchTag: function(obj) {
  
cur.searchDD.addTag(obj.innerHTML);
  
scrollToTop(100);
},

_eof1};try{stManager.done('docs.js');}catch(e){}
?>
Онлайн: 0
Реклама