Вход Регистрация
Файл: js/al/video.js
Строк: 1316
<?php
var Video = {
  
regBR: new RegExp('<br>''g'),
  
init: function(obj) {
    
extend(curobj);
    
extend(cur, {
      
vSearchge('v_search'),
      
videoSearchge('video_search'),
      
vRowsge('video_rows'),
      
vListge('video_list'),
      
vSearchRowsge('video_search_rows'),
      
morege('show_more'),
      
notFoundge('not_found'),
      
pageEndge('page_end'),
      
summaryge('video_summary'),
      
hTabge('video_tab_hidden'),
      
searchSummaryge('video_search_summary'),
      
secFilterge('video_section_filter'),
      
albumsContge('video_albums_wrap'),
      
albumsContMorege('video_albums_more'),
      
module'video',
      
vOrder2
    
});
    
placeholderSetup(cur.vSearch, {backtrue});
    
onDomReady(function() {
      
elfocus(cur.vSearch);
    });
    if (
browser.mobile) {
      
cur.cansort false;
    }

    
cur.perPage 15;
    
cur.searchCount = {};
    if (!
cur.searchData) {
      
cur.searchData = {};
    }

    
cur.restoreRaw = {};

    var list = 
cur.videoList[cur.vSection];

    if (
cur.vSection != 'all' && list) {
      
len = list.length;
    }

    
this.scrollNode browser.msie6 pageNode window;

    
addEvent(this.scrollNode'scroll'this.scrollResize);

    
setTimeout((function() {
      
cur.destroy.push(function() {
        
removeEvent(this.scrollNode'scroll'this.scrollResize);
      });
    }).
bind(this), 0);

    
setTimeout((function() {
      
this.indexAll(cur.onIndexFinish);
    }).
bind(this), 0);


    
cur.timeouts = {};
    
cur.destroy.push(function() {
      if (
cur.timeouts) {
        for (var 
i in cur.timeouts) {
          
clearTimeout(cur.timeouts);
        }
      }
      
removeEvent(Video.scrollNode'scroll'Video.scrollResize);
    });

    if (
cur.cansort) {
      
cur.qsorterRowClass 'video_row_cont';
      
cur.qsorterRowUpClass 'video_row_cont video_row_up';
      var 
videoRows ge('video_rows');
      if (
videoRows) {
        
cur.sorter qsorter.init(videoRows, {
          
onReorderVideo.onReorder,
          
xsize2,
          
width308,
          
height188,
          
noMoveCursor1,
          
canDrag: function(el) {
            if (
hasClass(el.firstChild.firstChild'video_row_deleted')) {
              return 
0;
            }
            if (
cur.vSection == 'tagged') {
              return 
0;
            }
            return 
hasClass(el.firstChild'video_can_edit') ? 0;
          },
          
dragContcur.albumsCont,
          
dragElsgeByClass('video_album_candrop'cur.albumsCont),
          
onDropVideo.albumDrop,
          
onDragOverVideo.albumDragOver,
          
onDragOutVideo.albumDragOut
        
});
      }
    }
    if (
cur.canEditAlbums && cur.albumsCont) {
      
cur.qsorterRowClass 'video_album video_album_candrop';
      
cur.qsorterRowUpClass 'video_album video_album_candrop video_row_up';
      
cur.albumsSorter qsorter.init(cur.albumsCont, {
        
onReorderVideo.onAlbumReorder,
        
xsize3,
        
width205,
        
height157,
        
noMoveCursor1
      
});
    }

    
cur.nav.push((function(changedoldnopts) {
      if (
typeof(changed.act) != 'undefined') {
        return;
      }
      if (
window.mvcur) {
        var 
= (changed[0] || '').match(/^video(-?d+_d+)/), owner;
        if (
m) {
          if (!
mvcur.mvShown || mvcur.videoRaw == m[1]) {
            
showVideo(m[1], '', {});
            return 
false;
          }
        }
        if (!
&& mvcur.mvShown && (owner old[0].match(/^video(-?d+)_d+/))) {
          
owner intval(owner[1]);
          if (
n[0] == 'video' && (owner == vk.id && !n.gid || owner && n.gid == -owner) || owner && n[0] == 'videos' owner) {
            
videoview.hide(opts.hist false);
            return 
false;
          }
        }
      }
      if (
changed.!== undefined) {
        
cur.vSearch.value changed.q;
        
Video.searchVideos(changed.q);
      }
      if (
old[0] == n[0] && (n.section || changed.section != undefined)) {
        if (!
changed.id) {
          
this.section(n.section);
          if (
n.section != 'search') {
            
delete n.q;
          }
          
nav.setLoc(n);
          return 
false;
        }
      }
    }).
bind(this));

    if (
cur.silent) {
      
this.loadSilent();
    } else {
      
Video.onListInit();
    }

    if (
cur.editmode) {
      
VideoEdit.init();
    }
    
cur.deleteAllToggle Video.deleteAllToggle;
  },
  
deleteAllToggle: function(obj) {
    var 
msg geByClass1('video_row_deleted_msg'obj);
    if (
msg) {
      var 
backTop getStyle(msg'marginTop');
      
setStyle(msg, {marginTop10});
      
cur.cancelDeleteAllToggle = function(obj) {
        
setStyle(msg, {marginTopbackTop});
      }
    }
  },
  
privateTooltip: function(obj) {
    
showTooltip(obj, {
      
black1,
      
text'<div style="padding: 2px;">'+getLang('video_is_private_tt')+'</div>',
      
center0,
      
shift: [1460],
    });

  },
  
privateClick: function(objev) {
    
geByClass1('video_row_icon_edit'obj.parentNode.parentNode.parentNode).click();
    return 
cancelEvent(ev);

  },
  
onReorder: function(videobeforeafter) {
    var 
video_id video.id.replace('video_cont''');
    var 
before_id = (before && before.id || '').replace('video_cont''');
    var 
after_id = (after && after.id || '').replace('video_cont''');
    
ajax.post('al_video.php', {act'reorder_videos'videovideo_idbeforebefore_idafterafter_idhashcur.hash});
    var list = 
cur.videoList[cur.vSection];
    var 
element false;
    for (var 
0len = list.lengthleni++) {
      if (list[
i][0]+'_'+list[i][1] == video_id) {
        
element = list[i];
        list.
splice(i1);
        break;
      }
    }
    if (!
element) return;
    for (var 
0len = list.lengthleni++) {
      if (list[
i][0]+'_'+list[i][1] == before_id) {
        list.
splice(i0element);
        return;
      }
      if (list[
i][0]+'_'+list[i][1] == after_id) {
        list.
splice(i+10element);
        return;
      }
    }
  },
  
onAlbumReorder: function(albumbeforeafter) {
    var 
album_id album.id.replace('video_album_''');
    var 
before_id = (before && before.id || '').replace('video_album_''');
    var 
after_id = (after && after.id || '').replace('video_album_''');
    
ajax.post('al_video.php', {act'reorder_albums'oidcur.oidaidalbum_idbeforebefore_idafterafter_idhashcur.reorder_hash});

    if (!
cur.aIndex || !cur.aIndex.list) return;
    var list = 
cur.aIndex.list;
    var 
element false;
    for (var 
0len = list.lengthleni++) {
      if (list[
i][0] == album_id) {
        
element = list[i];
        list.
splice(i1);
        break;
      }
    }
    if (!
element) return;
    for (var 
0len = list.lengthleni++) {
      if (list[
i][0] == before_id) {
        
element._order = list[i]._order 0.01;
        list.
splice(i0element);
        return;
      }
      if (list[
i][0] == after_id) {
        
element._order = list[i]._order 0.01;
        list.
splice(10element);
        return;
      }
    }
  },
  
onListInit: function() {
    if (!
cur.videoList[cur.vSection] && cur.vSection != 'comments') {
      
this.generateList(cur.vSection);
    }
  },
  
loadSilent: function() {
    
cur.loadSilentRequests = (cur.loadSilentRequests || 0) + 1;
    if (
cur.loadSilentRequests 3) {
      return 
true;
    }
    
ajax.post('al_video.php', {act'load_videos_silent'oidcur.oidoffset: (cur.silentAll) ? cur.videoList['all'].length}, {
      
onDone: function(list) {
        var list = eval(
'('+list+')');
        
/*wideLoading = ge('video_wide_loading');
        if (wideLoading) {
          cur.vRows.removeChild(wideLoading);
        }*/
        
cur.silent false;
        for (var 
i in list) {
          if (!
cur.videoList[i]) {
            
cur.videoList[i] = list[i];
          } else {
            if (
cur.silentAll) {
              
cur.videoList[i] = list[i];
            } else {
              Array.
prototype.push.apply(cur.videoList[i], list[i]);
            }
          }
        }

        if (
cur.onSilentLoad) {
          
cur.onSilentLoad();
        }
        
Video.onListInit();

        
Video.scrollResize();
        
Video.indexAll();
      },
      
onFail: function(text) {
        
Video.loadSilent();
      }
    });
  },
  
show: function(evideoIdoptsobj) {
    if (
obj && hasClass(obj'video_row_deleted')) {
      return 
false;
    }
    if (!
vk.id && obj && hasClass(obj'video_row_not_public')) {
      
showDoneBox(getLang('video_please_sign_in'));
      return 
false;
    }
    var 
options extend({root1autoplay1}, opts || {});
    var 
videoData videoId.split('_')
    if (
cur.vSection == 'search' && parseInt(videoData[0]) != vk.id) {
      
options.hideInfo true;
    }
    if (
cur.oid 0) {
      var 
listId 'club' + (-cur.oid);
    } else if (
cur.vSection == 'tagged') {
      var 
listId 'tag'+cur.oid;
    } else if (
cur.pvVideoTagsShown && cur.pvShown) {
      var 
listId 'tag'+cur.pvVideoTagsShown;
    } else {
      var 
listId '';
    }
    return 
showVideo(videoIdlistIdoptionse);
  },
  
indexAll: function(callbackonlyAlbums) {
    var 
all cur.videoList['all'];
    var 
indexed 0;
    var 
hub = new callHub(callbackonlyAlbums 2);
    if (!
onlyAlbums) {
      
cur.vIndex = new vkIndexer(all, function(obj) {
        return 
obj[3];
      }, function() {
        if (
callback) {
          
hub.done();
        }
      });
    }
    var 
albums = [];
    for(var 
i in cur.sections) {
      if (
cur.sections[i][0] > 0) {
        
albums.push(cur.sections[i]);
      }
    }
    
cur.aIndex = new vkIndexer(albums, function(obj) {
      return 
obj[1];
    }, function() {
      if (
callback) {
        
hub.done();
      }
    });
  },
  
addToList: function(list, rowsilent) {
    if (!
cur.videoList) return;
    var 
restore cur.restoreRaw['d_'+row[0]+'_'+row[1]];
    if (
restore) {
      for (var 
i in restore) {
        
cur.videoList[restore[i].section].splice(restore[i].pos0restore[i].val)
      }
      
delete cur.restoreRaw['d_'+row[0]+'_'+row[1]];
    } else {
      
cur.videoList[list].unshift(row);
    }
    
cur.vIndex.add(row);
    if (!
silent && cur.vSection != 'search') {
      
Video.clearOutput();
      
Video.showMore();
    }
  },
  
onTagConfirm: function(mvData) {
    if (
cur.videoList['tagged']) {
      var 
len cur.videoList['tagged'].length;
      while(
len--) {
        var 
item cur.videoList['tagged'][len];
        if (
item[0]+'_'+item[1] == mvData && item[8] & 2) {
          
item[8] -= 2;
        }
      }
    }
    var 
videoRow ge('video_row'+mvData);
    if (
videoRow) {
      
hide(geByClass1('video_tag_label'videoRow));
    }
    
delete ajaxCache['/al_video.php#act=show&list=&module=video&video='+mvData];
    
delete ajaxCache['/al_video.php#act=show&autoplay=1&list=&module=video&video='+mvData];
  },
  
removeFromLists: function(mvDatasilent) {
    
cur.restoreRaw['d_'+mvData] = [];
    for (var 
i in cur.videoList) {
      var 
len cur.videoList[i].length;
      while(
len--) {
        var 
item cur.videoList[i][len];
        if (
item[0]+'_'+item[1] == mvData) {
          var 
val cur.videoList[i].splice(len1)[0];
          
cur.restoreRaw['d_'+mvData].push({
            
sectioni,
            
poslen,
            
valval
          
});
          
cur.vIndex.remove(item);
        }
      }
    }
    if (!
silent) {
      var 
videoRow ge('video_row'+mvData);
      if (
videoRow) {
        
videoRow.parentNode.removeChild(videoRow);
      }
    }
  },
  
onDeleteClick: function(vidoidhashobjev) {
    if (!
cur.restoreRawcur.restoreRaw = {};
    var 
vidCont ge('video_row'+oid+'_'+vid);
    
cur.restoreRaw[oid+'_'+vid] = vidCont.innerHTML;
    
addClass(vidCont'video_row_loading');
    
videoview.deleteVideo(vidoidhashfalse'list'this);
    return 
cancelEvent(ev);
  },
  
searchAlbums: function(str) {
    if (
str) {
      var 
cur.aIndex.search(str);
      
a.sort(function(i,j) {return i._order j._order});
      var 
summary langNumeric(a.lengthcur.lang['video_albums_found_summary'])
    } else {
      var 
= clone(cur.aIndex.list);
      for(var 
i in cur.sections) {
        if (
cur.sections[i][0] == -1) {
          
a.unshift([-1cur.sections[i][1]]);
        }
      }
      var 
summary langNumeric(a.lengthcur.lang['video_albums_summary'])
    }
    if (
a.length) {
      
ge('video_albums_summary').innerHTML summary;
      var 
html more_html '';
      var 
num 0;
      for (var 
i in a) {
        var 
alb a[i][0];
        for(var 
i in cur.sections) {
          if (
cur.sections[i][0] == alb) {
            var 
cur.sections[i];
          }
        }
        var 
title v[1];
        if (
cur.selection && str) {
          
title title.replace(cur.selection.recur.selection.val);
        }
        if (
num >= 3) {
          
more_html += cur.albumsTpl(albvtitle);
        } else {
          
html += cur.albumsTpl(albvtitle);
        }
        
num += 1;
      }
      if (
cur.albumsCont) {
        
cur.albumsCont.innerHTML html;
      }
      if (
cur.albumsContMore) {
        
cur.albumsContMore.innerHTML more_html;
      }
      if (
ge('video_albums_show_more')) {
        
ge('video_albums_show_more').innerHTML langNumeric(a.lengthcur.lang['video_show_all_albums']);
        
toggle(ge('video_albums_show_more'), num 3);
      }
    } else {
      
addClass(ge('video_content'), 'video_albums_hidden');
    }
  },
  
updateAlbums: function(newList) {
    for(var 
i in cur.sections) {
      if (
cur.sections[i][0] > 0) {
        
delete cur.sections[i];
      }
    }
    for(var 
i in newList) {
      
cur.sections.push(newList[i]);
    }
    var 
num 0;
    for(var 
i in cur.sectionsnum += 1;
    if (
num) {
      
removeClass(ge('video_content'), 'video_no_albums');
      
hide('video_tabs_link');
      
removeClass(ge('video_content'), 'video_albums_hidden');
    } else {
      
addClass(ge('video_content'), 'video_no_albums');
      
show('video_tabs_link');
    }
    
Video.indexAll(function() {
      
Video.searchAlbums(cur.vSection == 'search' cur.vStr false);
      if (
cur.canEditAlbums && cur.albumsSorter && !(trim(cur.vStr) && cur.vStr != '""')) {
        
qsorter.update(cur.albumsCont);
      }
      if (
cur.cansort) {
        
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
      }
    }, 
true);
  },
  
searchVideos: function(strforce) {
    var 
hd cur.vHD cur.vHD 0;
    
cur.searchData[str hd.toString() + cur.vOrder.toString()] = {
      
count0,
      list: [],
      
offset0
    
};
    
cur.loading false;
    if (
str) {
      if (
cur.vSection != 'search') {
        
cur.beforeSearch cur.vSection;
        
cur.vStr '';
        
/*if (browser.mobile) {
          cur.vSection = 'search';
        } else {*/
          
nav.change({section'search'});
        
/*}*/
      
}
      
show('video_search_options');
      
addClass(ge('video_reset_search'), 'video_reset_search_shown');
      
Video.showOptions();
      var 
cur.vIndex.search(str);
      
cur.vStr str;
      var 
sec cur.vSection+'_'+str;
      if (
cur.vHD) {
        
sec += '_opt_hd'+cur.vHD;
      }
      
cur.videoList[sec] = v;
      
cur.selection = {
        
re: new RegExp('('+str.replace(cur.vIndex.delimiter'|').replace(/^|||$/g'').replace(/([+*)(])/g'\$1')+')''gi'),
        
val'<em>$1</em>'
      
};
      
Video.searchAlbums(str);
      var 
len v.length;
      if (
len 10) {
        
//show(cur.more);
        //addClass(cur.more, 'load_more');
        
if (cur.searchTimout) {
          
clearTimeout(cur.searchTimout);
        }
        
cur.loading true;
        
cur.searchTimout setTimeout((function() {
          
this.loadFromSearch(str);
        }).
bind(this), (force 500));
        
addClass(cur.videoSearch'v_loading');
      }
      if (
len) {
        
this.clearOutput();
        
this.showMore();
        if (
cur.cansort) {
          
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
        }
        
this.changeSummary();
      } else {
        
cur.clearOnSearch true;
      }
    } else {
      
Video.searchAlbums(str);
      if (
cur.vSection == 'search') {
        
hide('video_search_options');
        if (
cur.beforeSearch) {
          
nav.change({sectioncur.beforeSearch});
        }
        
removeClass(ge('video_reset_search'), 'video_reset_search_shown');
        
Video.hideOptions();
        
removeClass(cur.videoSearch'v_loading');
        
cur.vStr '';
        
cur.selection false;
        
cur.vSearch.focus();
        
/*this.clearOutput();
        this.showMore();
        this.changeSummary();
        cur.vSearch.setValue('');
        cur.vSearch.focus();*/
      
}
      if (
cur.canEditAlbums && cur.albumsSorter) {
        
qsorter.update(cur.albumsCont);
      }
    }
    
this.changeUrl();
  },
  
toggleFilter: function (objtarget) {
    if (
hasClass(obj'filter_shut') || !isVisible(target)) {
     
addClass(obj'filter_open');
     
removeClass(obj'filter_shut');
     var 
extraH slideDown(target200).to.height;
    } else {
     
slideUp(target200, function(){
       
addClass(obj'filter_shut');
       
removeClass(obj'filter_open');
     });
    }
  },
  
toggleLength: function(elvaluenoSearch) {
    
removeClass(geByClass1('video_length_sel'ge('video_search_controls')), 'video_length_sel');
    
addClass(el'video_length_sel');
    
cur.vLength value;
    if (!
noSearch) {
      
this.searchVideos(cur.vStr);
      
this.doChangeUrl();
    }
  },
  
toggleHD: function(hdnoSearch) {
    if (
noSearch && hd) {
      
checkbox(ge('video_hd_option'));
    }
    
cur.vHD isChecked('video_hd_option') ? 0;
    (
cur.vHD show hide)('video_hd2_option');
    if (
cur.vHD) {
      
show('video_hd2_option');
      
cur.vHD += isChecked('video_hd2_option') ? 0;
    } else {
      
hide('video_hd2_option');
    }
    if (!
noSearch) {
      
this.searchVideos(cur.vStr);
      
this.doChangeUrl();
    }
  },
  
toggleOrder: function(type) {
    
cur.vOrder type;
    
this.searchVideos(cur.vStr);
  },
  
toggleExt: function(type) {
    
cur.vExt type;
    
this.searchVideos(cur.vStr);
  },
  
toggleAdult: function() {
    var 
updateAdult = function(val) {
      
cur.adult val;
      
Video.searchVideos(cur.vStr);
    }
    var 
cancelAgreed = function() {
      if (
cur.isAdult || getCookie('adult_agreed')) {
        return 
true;
      }
      
addClass(ge('video_adult_option'), 'on');
    }
    var 
checkAgreed = function(val) {
      if (!
val || cur.isAdult || getCookie('adult_agreed')) {
        return 
true;
      }
      var 
box showFastBox({titlegetLang('video_adult_box_title'), onHidecancelAgreed}, getLang('video_adult_box_text'), getLang('global_continue'), function() {
      
cur.isAdult true;
      
setCookie('adult_agreed'1);
      
updateAdult(1);
      
box.hide();
    }, 
getLang('global_cancel'), function() {
      
cancelAgreed();
      
box.hide();
    });
      return 
false;
    }
    var 
new_val = !isChecked('video_adult_option') ? 0
    
if (checkAgreed(new_val)) {
      
updateAdult(new_val);
    }
  },
  
setQuery: function(str) {
    
cur.onIndexFinish = function() {
      
cur.onIndexFinish false;
      
vk.loaded true;
      
Video.searchVideos(strtrue);
      
cur.vSearch.setValue(str);
    }
  },
  
doChangeUrl: function() {
    if (
trim(cur.vStr) && cur.vStr != '""') {
      
nav.objLoc['q'] = cur.vStr;
    } else {
      
delete nav.objLoc['q'];
    }
    if (
cur.vLength) {
      
nav.objLoc['len'] = cur.vLength;
    } else {
      
delete nav.objLoc['len'];
    }
    if (
cur.vHD) {
      
nav.objLoc['hd'] = cur.vHD;
    } else {
      
delete nav.objLoc['hd'];
    }
    
nav.setLoc(nav.objLoc);
  },
  
changeUrl: function() {
    if (
cur.timeouts && cur.timeouts.changeUrl) {
      
clearTimeout(cur.timeouts.changeUrl);
    }
    
cur.timeouts.changeUrl setTimeout(Video.doChangeUrl2000);
  },
  
changeSummary: function() {
    var 
strsearchStroldSearhSummary falsehtitle;
    var 
sec cur.vSection;
    if (
sec == 'comments') {
      if (
cur.commentsCount) {
        
cur.summary.innerHTML langNumeric(cur.commentsCountcur.lang['video_X_comms'], true);
      } else {
        
cur.summary.innerHTML getLang('video_no_comments');
      }

      
hide(cur.searchSummary);
      
htitle cur.htitle_comments + (cur.commentsCount ' | ' getLang('video_X_comms'cur.commentsCount) : '');
      
document.title replaceEntities(stripHTML(htitle));
      
hide('video_comments_link');

      return 
true;
    } else if (
sec == 'recommendations') {
      
cur.summary.innerHTML cur.recommsSummary;
      
document.title replaceEntities(stripHTML(cur.recommsSummary));
      
hide('video_comments_link');
      return 
true;
    }
    if (
cur.vSection == 'search' && cur.vStr) {
      var 
hd cur.vHD cur.vHD 0;
      var 
searchData cur.searchData[cur.vStr hd.toString() + cur.vOrder.toString()];
      var 
len = (searchData) ? searchData.count 0;
      if (
len/* || !cur.loading*/) {
        
searchStr langNumeric(lencur.lang['video_num_found_files'], true);
      }
      if (!
len && cur.loading) {
        
oldSearhSummary true;
      }
      
htitle getLang('video_title_search').replace('{q}'cur.vStr) + (len ' | ' getLang('video_title_search_X_found'len) : '');
    }

    var 
sec cur.vSection;
    if (
cur.vSection == 'search') {
      if (
cur.vStr) {
        
sec += '_'+cur.vStr;
      } else {
        
sec 'all';
      }
      if (
cur.vHD) {
        
sec += '_opt_hd'+cur.vHD;
      }
    }
    if (
cur.videoList[sec]) {
      var 
len cur.videoList[sec].length;
    }

    if (
cur.vSection == 'tagged') {
      
htitle cur.htitle_videos + (len ' | ' langNumeric(lencur.lang['video_title_X_videos_tagged'], true) : '').replace('{user}'cur.htitle_tagged_user);
    }
    if (!
htitle) {
      
htitle cur.htitle_videos + (len ' | ' langNumeric(lencur.lang['video_title_X_videos'], true) : '');
    }
    if (
len) {
      
str len ' ' langNumeric(lencur.lang['videofile_num'], true);
    }

    var 
searchSummary false;
    if (
str) {
      if (
searchStr) {
        
cur.searchSummary.innerHTML '<div class="summary">' searchStr '</div>';
        
show(cur.searchSummary);
      } else if (!
oldSearhSummary) {
        
hide(cur.searchSummary);
      }
    } else {
      if (
searchStr) {
        
str searchStr;
        
searchSummary true;
      } else {
        
str cur.lang['video_novideo'];
        
show(cur.notFound);
        if (
cur.vSection.indexOf('album_') === 0) {
          
cur.notFound.className 'video_info_msg video_v_album';
        } else if (
cur.vSection != 'search') {
          
cur.notFound.className 'video_info_msg';
        } else {
          
cur.notFound.className 'video_info_msg video_v_search';
          
searchSummary true;
        }
        if (
cur.vSection.indexOf('album_') === 0) {
          
addClass(cur.notFound'video_v_album');
        }
        
hide(cur.more);
      }
      
hide(cur.searchSummary);
    }
    if (!
searchSummary) {
      if (
cur.vSection.indexOf('album_') === 0) {
        if (
vk.id == cur.oid || (cur.oid && cur.isGroupAdmin)) {
          
str += '<span class="divider">|</span><span><a onclick="Video.deleteAlbum('' + cur.vSection + '');">' getLang('video_delete_album') + '</a></span>';
        }
      } else if (
cur.vSection == 'tagged' && cur.tagsCount 10) {
        
str += '<span class="divider">|</span><span><a onclick="Video.removeAllTags();">' getLang('video_remove_all_tags') + '</a></span>';
      }
        
show('video_comments_link')
    } else {
      
hide('video_comments_link');
    }
    
cur.summary.innerHTML str;
    
document.title replaceEntities(stripHTML(htitle));
  },
  
loadFromSearch: function(str) {
    var 
hd cur.vHD cur.vHD 0;
    if (!
cur.searchData[str+hd.toString()+cur.vOrder.toString()]) {
      
cur.searchData[str+hd.toString()+cur.vOrder.toString()] = {
        
count0,
        list: [],
        
offset0
      
};
    }
    var 
searchData cur.searchData[str+hd.toString()+cur.vOrder.toString()];
    
ajax.post('al_video.php', {
      
act'search_video',
      
qstr,
      
offsetsearchData.offset,
      
hdhd,
      
lengthcur.vLength || 0,
      
show_adultcur.adult 0,
      
extcur.vExt,
      
ordercur.vOrder
    
}, {
      
onDone: (function(countdata) {
        if (!
cur.silent) {
          
removeClass(cur.videoSearch'v_loading');
          
removeClass(cur.more'load_more');
        } else {
          
cur.onSilentLoad = function() {
            
removeClass(cur.videoSearch'v_loading');
            
removeClass(cur.more'load_more');
          }
        }
        
data = eval('('+data+')');

        Array.
prototype.push.apply(searchData.list, data);
        if (
str != cur.vStr) {
          return 
false;
        }
        if (
cur.clearOnSearch) {
          
this.clearOutput();
          
cur.clearOnSearch false;
        }
        if (
data.length === 0) {
          
//cur.videoCount[sec][1] = cur.videoList[sec].length;
          
searchData.ended true;
          if (!
searchData.count && !cur.shown) {
            
show(cur.notFound);
            
hide(cur.more);
            
cur.notFound.className 'video_info_msg video_v_search';
            
ge('search_ph').innerHTML cur.vStr.replace(/([<>&#]*)/g, '');
          
}
        } else {
          
searchData.count parseInt(count);
          
Video.showMore();
          
cur.loading false;
          if (
cur.canEditAlbums && cur.albumsSorter && !(trim(str) && str != '""')) {
            
qsorter.update(cur.albumsCont);
          }
          if (
cur.cansort) {
            
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
          }
        }
        
searchData.offset += data.length;
        
this.changeSummary();
      }).
bind(this),
      
cache1
    
});
  },
  
clearOutput: function() {
    
cur.vRows.innerHTML '';
    
cur.vSearchRows.innerHTML '';
    
hide(cur.notFound);
    
hide(cur.searchSummary);
    
cur.shown 0;
    if (
cur.editmode) {
      
VideoEdit.onChanging();
    }
  },
  
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() {
        
Video.showMore();
      }, 
0);
    }
  },
  
showMore: function() {
    var 
sec cur.vSection;
    if (
sec == 'search') {
      if (
cur.vStr) {
        
sec += '_'+cur.vStr;
      } else {
        
sec 'all';
      }
      if (
cur.vHD) {
        
sec += '_opt_hd'+cur.vHD;
      }
    }
    if (
sec == 'comments' || sec == 'recommendations') {
      if (
cur.shown cur[sec 'Count']) {
        
this.loadSection(seccur.shown);
        
addClass(cur.more'load_more');
        
show(cur.more);
        return;
      }
    }

    var list = 
cur.videoList[sec];
    if (!list) {
      return;
    }
    var 
usersLen = list.length;

    var 
added false;

    
//var listLen = usersLen + searchCount;
    
var limit cur.shown cur.perPage;
    if (
usersLen limit) {
      
limit usersLen;
    }
    if (
cur.vSection == 'tagged' || cur.vSection == 'uploaded') {
      var 
linkAddr '?'+cur.vSection+'='+cur.oid;
    } else {
      var 
linkAddr '';
    }
    var 
linkAddr '?section='+cur.vSection
    
for (var cur.shownlimiti++) {
      
cur.vRows.appendChild(se(this.drawVideo(list[i], linkAddr)));
      
cur.shown++;
      
added true;
    }
    if (
cur.cansort) {
      
qsorter.added(cur.vRows);
    }

    if (
cur.vSection == 'search' && cur.vStr) { // search
      
var hd cur.vHD cur.vHD 0;
      var 
searchData cur.searchData[cur.vStr+hd.toString()+cur.vOrder.toString()];

      var 
searchCount = (searchData) ? searchData.count 0;
      var 
searchLen = (searchData) ? searchData.list.length 0;
      if (!
cur.loading && cur.vStr && searchLen searchCount && cur.shown cur.perPage/* + 20*/ searchLen) {
        
cur.loading true;
        
this.loadFromSearch(cur.vStr);
        
//show(cur.more);
        
addClass(cur.more'load_more');
      }

      if (
cur.shown >= usersLen) {
        var 
startPos cur.shown usersLen;
        
//if (startPos < searchLen) {
          
for (var startPossearchLeni++) {
            
cur.vSearchRows.appendChild(se(this.drawVideo(searchData.list[i], linkAddr)));
            
cur.shown++;
            
added true;
          }
        
//}
      
}
      if (
usersLen searchCount cur.shown && !searchData.ended) {
        
show(cur.more);
      } else {
        
hide(cur.more);
      }
    } else {
      if (
cur.silent && cur.shown == limit && cur.shown cur.videoCount) {
        
addClass(cur.more'load_more');
        
show(cur.more);
      } else if (
usersLen cur.shown) {
        
show(cur.more);
      } else {
        
hide(cur.more);
      }
    }

    if (
cur.updateSorter) {
      
added true;
      
delete cur.updateSorter;
    }

    if (
added && cur.editmode) {
      
setTimeout(function() {
        
VideoEdit.onAdding();
      }, 
0);
    }
  },
  
drawVideo: function(videolinkAddr) {
    
video.slice();
    if (
cur.selection) {
      
v[3] = v[3].replace(cur.selection.recur.selection.val);
    }
    return 
cur.videoTpl(v, (v[11].substr(01) != '_') ? ' video_can_edit' '');
  },
  
updateList: function(eobj) {
    if (
e.keyCode == 27) {
      return 
Video.searchVideos(false);
    }
    
clearTimeout(cur.searchTimeout);
    
setTimeout((function() {
      var 
str trim(obj.value);
      if (
str != cur.vStr) {
        
this.searchVideos(str);
      }
    }).
bind(this), 10);
  },
  
recache: function(videoRaw) {
    if (!
videoRaw && window.mvcur && mvcur.mvData.videoRaw) {
      
videoRaw mvcur.mvData.videoRaw;
    }
    
delete ajaxCache['/al_video.php#act=show&list=&module=video&video=' videoRaw];
    
delete ajaxCache['/al_video.php#act=show&autoplay=1&list=&module=video&video=' videoRaw];
  },
  
loadSection: function(sectionoffset) {
    if (
cur[section+'Loading']) {
      return;
    }
    
cur[section+'Loading'] = true;
    if (
offset == 0) {
      
addClass(ge('video_section_' section), 'loading');
      
cur.vSection section;
    }
    var 
params = {
      
act'load_section_'+section,
      
oidcur.oid,
      
offsetoffset
    
};
    if (
section == 'recommendations' && nav.objLoc.like) {
      
params['like'] = nav.objLoc.like;
    }
    
ajax.post('al_video.php'params, {
      
onDone: function(countshowndatacurExt) {
        if (
curExt) {
          
extend(curcurExt);
        }
        if (
offset == 0) {
          
Video.clearOutput();
          
cur[section 'Count'] = count;
          
removeClass(ge('video_section_' section), 'loading');
        }
        
removeClass(cur.more'load_more');
        
hide(cur.more);
        
cur.shown shown;
        var 
cont ce('div', {
          
innerHTMLdata
        
});
        
cur.vRows.appendChild(cont);
        
Video.changeSummary();
        
Video.onSwitchTabs(section);
        if (
cur.cansort) {
          
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
        }
        if (
offset == && shown == && section != 'comments') {
          
show(cur.notFound);
        }
        
delete cur[section+'Loading'];
      },

      
onFail: function() {
        
delete cur[section+'Loading'];
      },
      
showProgress: function() {
        
show('video_tabs_progress');
        
hide('video_tabs_link');
      },
      
hideProgress: function() {
        
hide('video_tabs_progress');
        var 
num 0;
        for(var 
i in cur.sectionsnum += 1;
        if (!
num) {
          
show('video_tabs_link');
        }
      }
    });
  },
  
loadFrom: function(urlparamssection) {
    
addClass(ge('video_section_'+section), 'loading');
    
cur.vSection section;
    
// pass
    
ajax.post(urlparams, {onDone: (function(countdataobj) {
      
removeClass(ge('video_section_'+section), 'loading');
      if (
obj) {
        
extend(curobj);
      }
      
cur.vSection section;
      
data = eval('('+data+')');
      
cur.videoList[section] = data;
      if (
cur.vSection == section) {
        
this.clearOutput();
        
this.showMore();
        if (
cur.canEditAlbums && cur.albumsSorter && !(trim(cur.vStr) && cur.vStr != '""')) {
          
qsorter.update(cur.albumsCont);
        }
        if (
cur.cansort) {
          
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
        }
        
this.changeSummary();
        
this.onSwitchTabs(section);
      }
    }).
bind(this)})

  },
  
filter: function(cond, list) {
    var 
all cur.videoList['all'];
    var 
len all.length;
    var 
result = [];
    for (var 
0leni++) {
      var 
obj all[i];
      if (
cond(obj)) {
        
result.push(obj);
      }
    }
    
cur.videoList[list] = result;

    
len result.length;
    return 
result;
  },
  
clearSearch: function() {
    
cur.selection false;
    
cur.vSearch.setValue('');
  },
  
generateList: function(section) {
    if (!
section) return;
    if (
section == 'uploaded') {
      
this.filter(function(obj) {
        return 
obj[8];
      }, 
section);
      
this.onSwitchTabs(section);
    } else if (
section == 'tagged') {
      
this.loadFrom('al_video.php', {act'get_tagged_video'midcur.oid}, section);
      return 
false;
    } else if (
section == 'recommendations') {
      
this.loadSection(section0);
      return 
false;
    } else if (
section == 'comments') {
      
stManager.add(['videoview.js'], (function() {
        
this.loadSection(section0);
      }).
bind(this));
      return 
false;
    } else if (
section.substr(06) == 'album_') {
      var 
album parseInt(section.substr(6));
      
this.filter(function(obj) {
        return 
obj[6] == album;
      }, 
section);
      
this.onSwitchTabs(section);
    }
    return 
true;
  },
  
section: function(section) {
    if (!
section) {
      
section 'all';
    }

    if (
cur.silent && section != 'tagged' && section != 'comments') {
      
cur.onSilentLoad = function() {
        
Video.section(section);
      }
      
Video.clearOutput();
      
cur.vRows.innerHTML '<div id="video_wide_loading" class="wide_loading"></div>';
      
hide(cur.more);
      
cur.vSection section;
      return 
true;
    }
    if (
section != 'search') {
      
this.clearSearch();
      
hide('video_addition_options''video_sort_dd''video_external_dd_wrap');
    } else {
      if (
cur.vStr) {
        
cur.vSearch.setValue(cur.vStr);
      }
      if (!
cur.editmode) {
        
show('video_addition_options''video_sort_dd''video_external_dd_wrap');
      } else {
        
hide('video_addition_options''video_sort_dd''video_external_dd_wrap');
      }
    }

    
/*if (section != 'all') {
      addClass(ge('video_content'), 'video_albums_hidden');
    } else {
      removeClass(ge('video_content'), 'video_albums_hidden');
    }*/

    
if (!cur.videoList[section]) {
      if (!
this.generateList(section)) {
        return;
      }
    }
    
/*if (!cur.videoCount[section] && cur.videoList[section]) {
      var len = cur.videoList[section].length;
      cur.videoCount[section] = [len, len, 0];
    }*/
    
cur.vSection section;
    
this.clearOutput();
    
this.showMore();
    if (
cur.cansort) {
      
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
    }
    
this.changeSummary();
    if (
section != 'search' || !cur.vStr) {
      
removeClass(ge('video_reset_search'), 'video_reset_search_shown');
      
Video.hideOptions();
    } else {
      
addClass(ge('video_reset_search'), 'video_reset_search_shown');
      
Video.showOptions();
    }
    
this.onSwitchTabs(section);
    if (
cur.canEditAlbums && cur.albumsSorter && !(trim(cur.vStr) && cur.vStr != '""')) {
      
qsorter.update(cur.albumsCont);
    }
  },
  
onSwitchTabs: function(section) {
    var 
newTab ge('video_tab_'+(section == 'search' 'all' section));
    var 
oldTab geByClass1('active_link'ge('video_tabs'));
    if (
newTab != oldTab) {
      
removeClass(oldTab'active_link');
      
addClass(newTab'active_link');
    }

    if (
section.substr(06) == 'album_' || section == 'tagged' || section == 'comments') {
      
cur.hTab.className 'active_link';
      if (
section == 'comments') {
        var 
tabName getLang('video_comments_review');
      } else {
        var 
tabName '';
        for (var 
i in cur.sections) {
          if (
cur.sections[i][0] == ((section == 'tagged') ? -:  parseInt(section.substr(6)))) {
            
tabName cur.sections[i][1];
          }

        }
      }
      
geByClass1('tab_word'cur.hTab).firstChild.innerHTML tabName;

      
addClass(ge('video_content'), 'video_albums_hidden');
    } else {
      
cur.hTab.className 'video_tab_hidden';
      if (
section != 'search') {
        
removeClass(ge('video_content'), 'video_albums_hidden');
      }
    }
    
toggleClass(ge('video_rows'), 'wall_module'section == 'comments');
    if (
cur.sorter) {
      
cur.sorter.updateDragCont();
    }
  },
  
showAlbums: function(obj) {
    while (
ge('video_albums_more') && ge('video_albums_more').firstChild) {
      var 
el ge('video_albums_more').firstChild;
      
ge('video_albums_wrap').appendChild(el);
    }
    
hide(obj);
    if (
cur.canEditAlbums && cur.albumsSorter && !(trim(cur.vStr) && cur.vStr != '""')) {
      
qsorter.added(cur.albumsCont);
    }
    if (
cur.cansort) {
      
qsorter.update(cur.vRows, {dragElsgeByClass('video_album_candrop'cur.albumsCont)});
    }
  },
  
deleteAlbum: function(sectionev) {
    
showBox('al_video.php', {act'delete_album'aidsection.substr(6), oidcur.oid});
    return 
cancelEvent(ev);
  },
  
editAlbum: function(aidev) {
    
showBox('al_video.php', {act'edit_album'oidcur.oidaidaidoidcur.oid});
    return 
cancelEvent(ev);
  },
  
createAlbum: function() {
    
showBox('al_video.php', {act'edit_album'oidcur.oid});
  },
  
uploadVideoBox: function() {
    if (
cur.uploadBanned) {
      
setTimeout(showFastBox(getLang('video_no_upload_title'), getLang('video_claims_no_upload')).hide5000);
      return 
false;
    }
    var 
box showTabbedBox('al_video.php', {act'upload_box'oidcur.oid}, {stat: ['video_edit.css''privacy.css''privacy.js'], params: {bodyStyle'position: relative;'}});
    return 
false;
  },
  
removeAllTags: function() {
    
showBox('al_video.php', {act'remove_all_tags_box'});
  },

  
xRow: function(eventopacityrowhint) {
    if (
hintshowTooltip(row, {texthintshowdt500});
    
animate(hasClass(row'video_close') ? row geByClass1('video_close'row), {opacityopacity}, 200);
    return 
cancelEvent(event);
  },

  
removeRecomm: function(obj) {
    var 
el obj.parentNode;
    while(
el && !hasClass(el'video_row_cont')) {
      
el el.parentNode;
    }
    if (!
el) return;
    
slideUp(el50);
    
ajax.post('al_video.php', {act'hide_recommendation'videoel.id.substr(9), hashcur.hash});
  },
  
albumOver: function(obj) {
    if (
cur.canEditAlbums && obj.id.split('_')[2] > 0) {
      
Video.activate(geByClass1('video_album_controls'obj));
    }
  },
  
albumOut: function(obj) {
    if (
cur.canEditAlbums) {
      
Video.deactivate(geByClass1('video_album_controls'obj), 0);
    }
  },

  
addFromList: function(videoRawhashev) {
    var 
videoCont ge('video_cont'+videoRaw);
    if (
hasClass(videoCont'video_row_added')) {
      return 
cancelEvent(ev);
    }
    
videoview.addVideo(videoRawhashfalsefalsefalse'list');
      var 
videoEl geByClass1('video_row_icon_add'videoCont);
      if (
videoEl && videoEl.tt) {
        
videoEl.tt.hide();
      }
    return 
cancelEvent(ev);
  },

  
rowOver: function(obj) {
    var 
animEl geByClass1((hasClass(obj.parentNode'video_can_edit')) ? 'video_row_controls' :  'video_row_add'obj);
    
Video.activate(animEl);
    if (
hasClass(obj'video_row_overed')) {
      return;
    }
    
addClass(obj'video_row_overed')
    var 
line geByClass1('video_row_info_line'obj);
    var 
name geByClass1('video_raw_info_name'obj);
    var 
size getSize(name);
    var 
height Math.max(16Math.min(size[1], 54));
    
cssAnim(line, {heightheightmarginTop150 - (height 16)}, {duration200transitionFx.Transitions.easeOutCubic});
  },
  
rowOut: function(obj) {
    var 
animEl geByClass1((hasClass(obj.parentNode'video_can_edit')) ? 'video_row_controls' :  'video_row_add'obj);
    
Video.deactivate(animEl0);
    var 
line geByClass1('video_row_info_line'obj);
    
removeClass(obj'video_row_overed')
    
cssAnim(line, {height16marginTop150}, {duration200transitionFx.Transitions.easeOutCubic});
  },
  
activate: function(objttLngcheck) {
    
animate(obj, {opacity1}, 100);
    if (
ttLng) {
      if (
check == && hasClass(obj.parentNode.parentNode.parentNode.parentNode'video_row_added')) {
        return 
false;
      }
      
showTooltip(obj, {
        
black1,
        
center1,
        
shift: [0,2,0],
        
textgetLang('video_'+ttLng)
      });
    }
  },
  
deactivate: function(objvalue) {
    
animate(obj, {opacityvalue === undefined 0.8 value}, 100);
  },
  
albumDragOver: function(el) {
    
fadeOut(geByClass1('video_album_info'el), 200);
    
fadeOut(geByClass1('videos_album_tags'el), 200);
    var 
moveEl geByClass1('videos_album_move'el)
    if (!
moveEl) {
      
moveEl ce('div', {className'videos_album_move'})
      
el.insertBefore(moveElel.firstChild);
    }
    
moveEl.innerHTML getLang('video_drop_to_move');
    
setStyle(moveEl, {marginTopgetSize(el)[1] / getSize(moveEl)[1] / 2})
    
fadeIn(moveEl200);
  },
  
albumDragOut: function(el) {
    
fadeIn(geByClass1('video_album_info'el), 200);
    
fadeIn(geByClass1('videos_album_tags'el), 200);
    
fadeOut(geByClass1('videos_album_move'el), 200);
  },
  
updateVideoAlbum: function(vidalbumId) {
    var 
oldAlbum 0;
    var list = 
cur.videoList['all'];
    for (var 
i in list) {
      if (list[
i][1] == vid) {
        
oldAlbum = list[i][6];
        if (
oldAlbum == albumId) {
          return 
false;
        }
        list[
i][6] = albumId;
      }
    }
    
delete cur.videoList['album_'+oldAlbum];
    
delete cur.videoList['album_'+albumId];
    if (
cur.vSection == 'album_'+oldAlbum) {
      
Video.section('album_'+oldAlbum);
    }
  },
  
albumDrop: function(elobj) {
    var 
moveEl geByClass1('videos_album_move'el)
    if (
moveEl) {
      
moveEl.innerHTML '<div class="progress_inline progress_inv" style="height: '+(getSize(moveEl)[1] - 16)+'px"></div>';
    }
    var 
videoId obj.id.replace('video_cont''').split('_');
    var 
oid videoId[0];
    var 
vid videoId[1];
    var 
albumId el.id.replace('video_album_''');
    
ajax.post('al_video.php', {act'move_to_album'album_idalbumIdhashcur.moveHashoidoidvidvidfrom'list'}, {
      
onDone: function(textnewList) {
        
showDoneBox(text);
        
Video.updateAlbums(newList);
        
/*moveEl.innerHTML = text;
        setStyle(moveEl, {height: 'auto'});
        setStyle(moveEl, {marginTop: getSize(el)[1] / 2 - getSize(moveEl)[1] / 2})
        setTimeout(Video.albumDragOut.pbind(el), 3000);*/
        
Video.updateVideoAlbum(vidalbumId);
      }
    });
    return 
true;
  },
  
showOptions: function() {
    if (
cur.shownOptions) return;
    
cur.shownOptions true;
    
addClass(cur.videoSearch'video_search_extended');
  },
  
hideOptions: function() {
    if (!
cur.shownOptions) return;
    
cur.shownOptions false;
    
removeClass(cur.videoSearch'video_search_extended');
  }
}

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