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

init: function() {
  if (
window.wkLayer) {
    return;
  }
  
window.wkLayer ce('div', {
    
id'wk_layer'
  
});

  
window.wkLayerWrap ce('div', {
    
id'wk_layer_wrap',
    
className'scroll_fix_wrap fixed'
  
});


  
wkLayerWrap.appendChild(window.wkLayer);

  
bodyNode.appendChild(wkLayerWrap);

  
window.wkLayer.style.width = (lastWindowWidth sbWidth() - 2) + 'px';
},

showLayer: function() {
//  if (!wkcur.previousLayer) {
//    wkcur.previousLayer = isVisible(layerWrap) || (isVisible(ge('mv_layer_wrap')) && !mvcur.minimized);
//  }
//  layers.fullhide && layers.fullhide(true);

  
debugLog('layerqueue.hide from wkview');
  
layerQueue.hide();

  
layers.wrapshow(wkLayerWrap0.7);
  
layers.fullhide WkView.hide;
  
wkcur.showT setTimeout(function() {
    
layers.wrapshow(wkLayerWrap0.7);
    
layers.fullhide WkView.hide;
  }, 
0);
  
onBodyResize();
},
restoreLayer: function(opts) {
  
WkView.showLayer();
  if (
wkcur.root) {
    if (
opts.myLocnav.setLoc(opts.myLoc);
  } else {
    
WkView.setLocation();
  }
  if (
opts.prevLocwkcur.prevLoc opts.prevLoc;
  
WkView.updateSize();
},

wikiClick: function(objev) {
  if (
checkEvent(ev)) {
    return 
true
  
}
  var 
el ev.target;
  while(
el && el.tagName != 'A') {
    
el el.parentNode;
  }
  if (
el && el.tagName == 'A') {
    var 
href el.href;
    var 
href.match(/^/(page[^?]*)(?.*)?$/);
    if (
m) {
      var 
path m[1];
      var 
query = (m[4]) ? q2ajx(m[4].substr(1)) : {};
    } else {
      var 
href.match(/https?://([a-zA-Z0-9-_.]+.)?(vk.com|vkontakte.ru)/([^?]*)(?.*)?$/i);
      
if (!|| !m[3]) {
        return 
true;
      }

      var 
path m[3].split('/');
      var 
query = (m[4]) ? q2ajx(m[4].substr(1)) : {};
    }

    var 
params = {};
    switch(
path[0]) {
      case 
'pages':
        
params['oid'] = query.oid || query.o;
        
params['id'] = query['id'];
        
params['p'] = query['p'];
        break;
      case 
'ru':
      case 
'en':
        
params['p'] = path[1];
        
params['global'] = path[0];
        break;
      default:
        switch(
path[0].substr(04)) {
          case 
'page':
            var 
query path[0].substr(4).split('_');
            
params['oid'] = query[0];
            
params['id'] = query[1];
            break;
          case 
'note':
            var 
query path[0].substr(4).split('_');
            
params['w'] = path[0];
            break;
        }
        break;
    }
    if (
params.|| (params.oid && (params.id || params.p))) {
      
showWiki(params);
      return 
cancelEvent(ev);
    }
  }
},

edit: function() {
  if (!
wkcur.canEdit) {
    return 
true;
  }
  var 
link ge('wk_edit_link');
  if (!
wkcur.editLang) {
    
wkcur.editLang val(link);
  }

  
val(link'<img src="images/upload.gif" />');

  if (
wkcur.type == 'wall') {
    if (
wkcur.edit) {
      
Wall.cancelEdit();
    } else {
      
Wall.editPost(wkcur.post, {from'wkview'}, function () {
        
val(linkwkcur.editLang);
      });
    }
    return 
true;
  }

  if (
wkcur.edit) {
    if (
wkcur.note) {
      
showWiki({
        
w'note' wkcur.oid '_' wkcur.nid
      
});
    } else {
      
showWiki({
        
oidwkcur.oid,
        
idwkcur.pid,
        
pwkcur.p
      
});
    }
    return 
true;
  }
  
wkcur.edit true;
  var 
params = {
    
act'edit',
    
oidwkcur.oid,
    
load1,
    
section'edit'
  
};
  if (
wkcur.note) {
    
params['nid'] = wkcur.nid;
    
params['note'] = 1;
  } else {
    
params['id'] = wkcur.pid;
  }
  
ajax.post('wkview.php'params, {
    
stat: ['pages.js','wysiwyg.js''wysiwyg.css'],
    
onDone: function(contentjsinfooptions) {
      
wkcur.wkContent.innerHTML content;
      eval(
js);
      
addEvent(wkLayerWrap'scroll'WkView.onScroll);
      
addEvent(window'resize'WkView.onResize);
      
val(linkoptions.lang['pages_view']);
      
WkView.onScroll();
      
WkView.updateSize();
    },
    
onFail: function() {
      
val(linkwkcur.editLang);
    }
  });
},

onScroll: function(evresize) {
  switch (
wkcur.type) {
    case 
'wall':
      return 
WkView.wallUpdateRepliesOnScroll(resize);

    case 
'likes':
      return 
WkView.likesOnScroll(resize);

    case 
'history':
      return 
WkView.historyOnScroll(resize);
  }

  var 
wkLayerWrap.scrollTop;
  var 
panel ge('wk_buttons_panel');
  if (!
panel) return;
  var 
py getXY(ge('wk_buttons_cont'), true)[1];
  if (!
wkcur.bottomSize) {
    
wkcur.bottomSize getSize(panel);
  }

  var 
ph wkcur.bottomSize[1];

  var 
wndHeight window.innerHeight || document.documentElement.clientHeight;

  if (
resize && !wkcur.fixedBottom && wndHeight ph py 20) {
    
wkLayerWrap.scrollTop += py 20 - (wndHeight ph);
  } else if (
wndHeight ph py) {
    if (!
wkcur.fixedBottom || resize) {
      
wkcur.fixedBottom true;
      
setStyle(panel, {
        
position'fixed',
        
top: (wndHeight ph) + 'px'
      
});
      
addClass(panel'wk_panel_fixed');
    }
  } else {
    if (
wkcur.fixedBottom || resize) {
      
wkcur.fixedBottom false;
      
setStyle(panel, {
        
position'static',
        
top'0px'
      
});
      
removeClass(panel'wk_panel_fixed');
    }
  }

  if (
resize && wkcur.fixedBottom) {
    
setStyle(panel, {leftgetXY(wkcur.wkContent)[0]+'px'})
  }

  if (!
wkcur.editorLayer) {
    
wkCont wkcur.wkContent;//ge('wk_content');
    
wkcur.editorLayer ge('wke_buttons_cont') || geByClass('editor_layer'wkCont)[0];
  } else {
    var 
pos getXY(wkcur.editorLayertrue);
    if (
pos[1] < 0) {
      if (!
wkcur.fixedTop) {
        
wkcur.fixedTop true;
        
addClass(wkcur.wkContent'wk_top_fixed');
        
WkView.updateShadow();
        
wkcur.editor.floatPanel true;
      }
    } else {
      if (
wkcur.fixedTop) {
        
wkcur.fixedTop false;
        
removeClass(wkcur.wkContent'wk_top_fixed');
        
wkcur.editorLayer.style.paddingTop '0px';
        
wkcur.editor.floatPanel false;
      }
    }
  }
},

updateShadow: function() {
  if (!
wkcur.editorLayer) {
    
wkCont wkcur.wkContent;//ge('wk_content');
    
wkcur.editorLayer geByClass('editor_layer'wkCont)[0];
  }
  var 
toolbox ge('wke_buttons') || geByClass('editor_toolbar'wkCont)[0];
  if (
toolbox) {
    if (
wkcur.fixedTop) {
      var 
size getSize(toolbox);
      
wkcur.editorLayer.style.paddingTop size[1]+'px';
      
ge('wk_top_toolbox_shadow').style.top = (size[1] - 1)+'px';
    }
  }
},

saveInfo: function(autosave) {
  var 
params = {
    
pagewkcur.p,
    
hashwkcur.hash
  
}
  if (
wkcur.newEditor) {
    
params['Body'] = wkcur.editor.val();
    if (
params['Body'] === false) {
      return 
false;
    }
  } else {
    
params['Body'] = wkcur.editor.convertToWiki(true);
  }
  if (
wkcur.note) {
    
params extend(params, {
      
act'save',
      
oidwkcur.oid,
      
nidwkcur.nid,
      
wysiwyg1,
      
notewkcur.note
    
});
  } else {
    
params extend(params, {
      
act'save',
      
oidwkcur.oid,
      
idwkcur.pid
    
});
  }
  if (
wkcur.pageTitle) {
    
params['title'] = val(wkcur.pageTitle);
    
/*if (!params['title']) {
      notaBene(wkcur.pageTitle);
      return false;
    }*/
  
}
  if (
autosave && wkcur.lockAutoSave) {
    return 
false;
  }
  
wkcur.lockAutoSave true;
  
ajax.post(wkcur.note 'wkview.php' 'al_pages.php'params, {
    
onDone: function(textdata) {
      
wkcur.lockAutoSave false;
      
wkcur.editor.changed false;
      if (!
autosave) {
        var 
saveEl ge('pages_save_info_wysiwyg');
        
saveEl.innerHTML text;
        
show(saveEl);
      }
      if (
data.nid) {
        
wkcur.nid data.nid;
      }
      if (
data.raw) {
        
wkcur.wkRaw data.raw;
      }
      if (
data) {
        if (
data.created && cur.chooseMedia) {
          
nav.setLoc(extend(nav.objLoc, {w:'note'+data.raw}));
          if (!
autosave) {
            
WkView.hide(falsetrue);
          }
          
cur.chooseMedia('note'data.rawdata);
          return 
true;
        } else {
          var 
title ge('share_note_title'+data['raw']);
          if (
title && !autosave) {
            
title.innerHTML data['title'];
          }
          if (
data['title']) {
            
val('wk_layer_title'data['title']);
          }
          if (
wkcur.note && wkcur.toStatus && !autosave) {
            
WkView.hide(falsetrue);
            if (
wkcur.reloadOnSave) {
              
boxRefreshCoords(boxLoader);
              
show(boxLoader);
              
show(boxLayerWrap);
              
nav.reload({
                
onDone: function() {
                  
hide(boxLoader);
                  
hide(boxLayerWrap);
                }
              });
            }
            return 
true;
          }
        }
      }
      if (
autosave) return true;
      
setTimeout(function() {
        
fadeOut(saveEl200);
      }, 
1500);
    },
    
showProgress: function() {
      !
autosave && lockButton(ge('wk_layer_save'));
    },
    
hideProgress: function() {
      !
autosave && unlockButton(ge('wk_layer_save'));
    },
    
onFailWkView.showError
  
})
},

show: function(titlehtmloptionsscriptev) {
  
// var previous = false;
  
var arrowOver window.wkcur && wkcur.arrowOver;
  if (!
window.wkcur) {
    
this.init();
  } else {
    if (
wkcur.shown && !isVisible(wkLayerWrap)) {
      
debugLog('hiding old wkview');
      
WkView.hide(truetrue);
    }
    
each (wkcur._hide || [], function (khideCallback) {
      if (
isFunction(hideCallback)) hideCallback();
    });
    
// previous = {
    //   scrollTop: wkLayer.scrollTop,
    //   cont: wkcur.wkCont,
    //   cur: wkcur
    // };
  
}
  var 
hlen = (window.wkcur && wkcur.historyLen) ? wkcur.historyLen 0;
  if (!
window.wkcur || !wkcur.doBack && !options.fromlist) {
    
hlen += 1;
  }

  var 
toQueue options.queue;
  if (
toQueue) {
    
layerQueue.push();
    
options.queue false;
  }
  if ((
window.wkcur || {}).shown && wkcur.root) {
    
nav.setLoc(wkcur.prevLoc);
  }

  
window.wkcur = {
    
historyLenhlen,
    
_hide: [],
    
_show: []
  };

  if (
browser.iphone || browser.ipad) {
    
cur.wkStartScroll scrollGetY();
  }

  if (
options.edit) {
    
cur._editMode = function() {
      return 
true;
    }
    if (!
window.WkEditor) {
      
stManager.add(['wk_editor.js''wk_editor.css'], WkView.show.pbind(titlehtmloptionsscriptev));
      return 
false;
    }
  }

  
cur.cancelTooltip true;
  if (
window.tooltips) {
    
tooltips.hideAll();
  }

  if (!
isVisible(wkLayerWrap)) {
    
otherList true;
    
addEvent(window'resize'WkView.onResize);
    
addEvent(wkLayerWrap'click'WkView.onClick);
    
boxQueue.hideAll();
    
WkView.showLayer();
  }

  
wkcur.noLocChange 0// do return location
  
wkcur.noHistory options.noLocChange;

  
wkcur.shown true;

  if (
wkcur.edit) {
    
wkcur.edit false;
    
ge('wk_edit_link').innerHTML wkcur.editLang;
  }
  
extend(wkcuroptions);

  if (
wkcur.root) {
    
cur.nav.push(function(choldnwopts) {
      
nw nav.toStr(nw);
      if (
nw == wkcur.prevLoc) {
        
WkView.hide(true);
        return 
false;
      }
    });
    if (!
options.noLocChange && options.myLocnav.setLoc(options.myLoc);
  } else {
    
WkView.setLocation(options.noLocChangetoQueue);
    if (
options.prevLocwkcur.prevLoc options.prevLoc;
  }

  if (
ev && ev.pageX && ev.pageY) {
    
extend(wkcur, {oldXev.pageXoldYev.pageYoldTvkNow()});
  }

  var 
colorClass wkcur.layerLight 'wk_light' 'wk_dark';

  
addClass(wkLayerWrapcolorClass);
  
addClass(layerBGcolorClass);

  var 
content html,
      
editLink getLang('global_edit'),
      
hideLeft wkcur.historyLen '' 'display: none;';
  if (
options.type == 'wall') {
    
addEvent(wkLayerWrap'scroll'WkView.onScroll);
    
addEvent(window'resize'WkView.onResize);
    
WkView.wallBeforeInitPost(options);
  } else if (
options.edit) {
    
addEvent(wkLayerWrap'scroll'WkView.onScroll);
    
addEvent(window'resize'WkView.onResize);
    
editLink options.lang['pages_view'];
    
wkcur.editLang getLang('global_edit');
  } else {
    if (
options) {
      
content '<div class="wk_text wk_wiki_content' + (options.className ' '+options.className '') + '" onclick="return WkView.wikiClick(this, event);">' content '</div>';
    }
  }

  if (
wkcur.wkCont) {
    
wkcur.wkContent.innerHTML content;
    
ge('wk_layer_title').innerHTML title;
  } else {
    
wkLayer.innerHTML '<div class="wk_cont">
  <table cellspacing="0" cellpadding="0" class="wk_cont_t wk_cont_top_t">
  <tr><td class="sidesh s1"><div class="sidesh_filler"></div></td><td>
  <table cellspacing="0" cellpadding="0" class="wk_cont_t">
  <tr><td>
  <table cellspacing="0" cellpadding="0" class="wk_cont_t">
  <tr><td colspan="3" class="bottomsh s3"><div></div></td></tr>
  <tr><td class="sidesh s3"><div class="sidesh_filler"></div></td><td>
  
  <div id="wk_box" onclick="wkcur.wkClicked = true;">
    <div id="wk_loader"></div>
    <a id="wk_close_link" href="javascript: return false;" class="fl_r wk_close_link" onclick="return WkView.hide(false, true, event);">
      '
+getLang('global_close')+'
    </a>
    <div class="fl_r divide wk_edit_divide">|</div>
    <a class="fl_r wk_edit_link" id="wk_edit_link" onclick="return WkView.edit();">
      '
+editLink+'
    </a>
    <div id="wk_summary" class="fl_l"><span class="summary" id="wk_layer_title">'
+title+'</span></div>
    <div id="wk_content">'
+content+'</div>
    <div class="clear"></div>
  </div>
  
  </td><td class="sidesh s3"><div class="sidesh_filler"></div></td></tr>
  <tr><td colspan="3" class="bottomsh s3"><div></div></td></tr></table>
  </td></tr>
  <tr><td colspan="3" class="bottomsh s2"><div></div></td></tr></table>
  </td><td class="sidesh s1"><div class="sidesh_filler"></div></td></tr>
  <tr><td colspan="3" class="bottomsh s1"><div></div></td></tr></table>
  </div>
<div id="wk_left" style="'
+hideLeft+'" class="wk_left no_select"></div>
<div id="wk_right" class="wk_close no_select"></div>
<div id="wk_left_arrow" class="no_select"></div>
<div id="wk_right_arrow" class="no_select"></div>
<div class="no_select" id="wk_left_nav" style="'
+hideLeft+'" '+'onmouseover="WkView.activate(wkcur.wkLeft)" onmouseout="WkView.deactivate(wkcur.wkLeft)" onmousedown="wkcur.wkClicked = true; WkView.back();" onselectstart="return cancelEvent(event);"></div>
<div class="no_select" id="wk_right_nav" '
+'onmouseover="WkView.activate(wkcur.wkRight)" onmouseout="WkView.deactivate(wkcur.wkRight)" onmousedown="wkcur.wkClicked = true; WkView.hide();"></div>
<div id="wk_left_arrow_bg" class="no_select" onclick="return WkView.navigate(this, event, -1);" onmouseover="WkView.activateArrow(false, event)" onmouseout="WkView.deactivateArrow(false, event)"><div class="wk_arrow_bg_inner"></div></div>
<div id="wk_right_arrow_bg" class="no_select" onclick="return WkView.navigate(this, event, 1);" onmouseover="WkView.activateArrow(true, event)" onmouseout="WkView.deactivateArrow(true, event)"><div class="wk_arrow_bg_inner"></div></div>'
;

    
extend(wkcur, {
      
wkContwkLayer.firstChild,
      
wkBoxge('wk_box'),

      
mvLoaderge('wk_loader'),
      
wkContentge('wk_content'),

      
wkLeftNavge('wk_left_nav'),
      
wkRightNavge('wk_right_nav'),
      
wkLeftge('wk_left'),
      
wkRightge('wk_right'),
      
wkLeftArrowge('wk_left_arrow'),
      
wkRightArrowge('wk_right_arrow'),
      
wkLeftArrowBgge('wk_left_arrow_bg'),
      
wkRightArrowBgge('wk_right_arrow_bg')
    });
  }
  
toggle('wk_summary'title);

  if (
wkcur.commonClass) {
    
addClass(wkcur.wkBoxwkcur.commonClass);
  } else {
    
wkcur.wkBox.className '';
  }

  if (
wkcur.canEdit && !wkcur.toStatus && wkcur.type != 'wall') {
    
addClass(wkcur.wkBox'wk_view_edit_link');
  } else {
    
removeClass(wkcur.wkBox'wk_view_edit_link');
  }

  if (
browser.mobile) {
    
wkcur.wkYOffset intval(window.pageYOffset);
    
wkcur.wkCont.style.paddingTop = (wkcur.wkYOffset 10) + 'px';
    
wkcur.wkRightNav.style.top = (wkcur.wkYOffset 10) + 'px';
  }

  if (
script) {
    eval(
script);
  }
  
WkView.updateSize();

  
removeEvent(document'keydown'WkView.onKeyDown);
  
addEvent(document'keydown'WkView.onKeyDown);

  
options.onLoaded && options.onLoaded();

  var 
closeLink ge('wk_close_link');
  if (
closeLink) {
    
closeLink.focus();
  }

  
WkView.updateArrows();

  if (
options.type == 'wall') {
    
WkView.wallAfterInitPost();
  } else if (
options.toScroll) {
    
wkLayerWrap.scrollTop options.toScroll;
    
wkcur.toScroll 0;
  }

  if (
arrowOver !== undefined) {
    
WkView.activateArrow(arrowOver);
  }
  if (
options.fromlist) {
    
WkView.preloadArrow(options.fromlist == 1);
  }
  var 
_a window.audioPlayeraid currentAudioId();
  if (
_a && aid && _a.showCurrentTrack_a.showCurrentTrack();

  return 
false;
},

hide: function(noLocforceev) {
  if (!
window.wkcur || !force && !wkcur.shown) return;
  var 
doUpdAds = !wkcur.wkRaw.match(/^recom_appsd+$/) && !wkcur.wkRaw.match(/^appd+$/);

  
clearTimeout(wkcur.autosaveTimeout);
  
clearTimeout(wkcur.showT);

  
/*if (!wkcur.noHistory && !noLoc) {
    wkcur.noHistory = 1;
    wkcur.forceHistoryHide = force;
    __adsLoaded = 0;
    return history.go(-1);
  }
  if (wkcur.forceHistoryHide) {
    force = wkcur.forceHistoryHide;
    wkcur.forceHistoryHide = false;
  }*/

  
if (!force && wkcur.edit && wkcur.editor) {
    if (
wkcur.editor.changed) {
      if (
wkcur.note && wkcur.toStatus) {
        
WkView.saveInfo();
        return;
      } else {
        var 
box showFastBox(wkcur.lang['pages_close_title'], wkcur.lang['pages_close_text'], getLang('box_yes'), function() {
          
box.hide();
          
WkView.hide(noLoctrue);
        }, 
getLang('box_no'))
        return;
      }
    }
  }

  
each (wkcur._hide || [], function (khideCallback) {
    if (
isFunction(hideCallback)) hideCallback();
  });

  var 
donthide false;
  if (
isVisible(wkLayerWrap)) {
    
setTimeout(layerQueue.pop0);
    
donthide layerQueue.count() && layerQueue._layers[layerQueue._layers.length 1][0] == 'wiki' && !layerQueue._bl;
    if (!
donthide) {
      
layers.wraphide(wkLayerWrap);
      
layers.fullhide false;
    }
  }

  if (
window.tooltips) {
    
tooltips.destroy(this);
  }

  
removeEvent(document'keydown'WkView.onKeyDown);

  
wkcur.editorLayer false;
  
removeClass(wkcur.wkContent'wk_top_fixed');
  
wkcur.fixedTop wkcur.fixedBottom false;

  if (!
donthide) {
    var 
colorClass wkcur.layerLight 'wk_light' 'wk_dark';
    
removeClass(wkLayerWrapcolorClass);
    
removeClass(layerBGcolorClass);

    
wkcur.shown false;
    
removeEvent(wkLayerWrap'click'WkView.onClick);
    
removeEvent(wkLayerWrap'scroll'WkView.onScroll);
    
wkcur.wkContent.innerHTML '';
  }
  
wkcur.wkClicked false;

  
wkcur.changeCanvasSize false;

  if (
wkcur.onHide && isFunction(wkcur.onHide)) {
    
wkcur.onHide();
  }

  
cur._editMode false;

  if (
wkcur.root && noLoc !== true) {
    
WkView.backLocation();
  } else if (!
wkcur.noLocChange && noLoc !== true) {
    if (
noLoc === 2) {
      
nav.setLoc(hab.getLoc());
    } else {
      
WkView.backLocation();
    }
    if (
doUpdAds) {
      
__adsLoaded 0;
    }
  } else if (
doUpdAds) {
    
__adsUpdate();
  }

  if (
browser.iphone || browser.ipad) {
    var 
scroll scrollGetY();
    if (
Math.abs(scroll cur.wkStartScroll) > 500) {
      
scrollToY(cur.wkStartScroll0);
    }
  }
  
delete wkcur.historyLen;
  var 
_a window.audioPlayeraid currentAudioId();
  if (
_a && aid && _a.showCurrentTrack_a.showCurrentTrack();
  return 
false;
},

cmp: function(id1id2) {
  var 
l1 id1.lengthl2 id2.length;
  if (
l1 l2) {
    return -
1;
  } else if (
l1 l2) {
    return 
1;
  } else if (
id1 id2) {
    return -
1;
  } else if (
id1 id2) {
    return 
1;
  }
  return 
0;
},


onClick: function(e) {
  if (
wkcur.wkClicked) {
    
wkcur.wkClicked false;
    return;
  }
  var 
dx Math.abs(e.pageX intval(wkcur.oldX));
  var 
dy Math.abs(e.pageY intval(wkcur.oldY));
  if (
dx || dy 3) {
    if (
vkNow() - intval(wkcur.oldT) > 300) {
      
WkView.hide();
    }
  }
},

onKeyDown: function(e) {
  
|| window.event;
  
// debugLog(e.type, e.returnValue, e.keyCode, e, WkView.edit);
  
if (e.returnValue === false) return false;
  if (!
cur.pvShown && e.keyCode == KEY.ESC) {
    
WkView.hide();
    return 
cancelEvent(e);
  }
  if (!
cur.pvShown && (!wkcur.edit && (e.keyCode == KEY.LEFT || e.keyCode == KEY.RIGHT))) {
    var 
target && e.target || e.srcElement;
    if (
target && target.tagName == 'TEXTAREA' || target.tagName == 'INPUT') {
      return 
true;
    }
    
WkView.navigate(nullee.keyCode == KEY.RIGHT : -1);
    return 
cancelEvent(e);
  }
  if (
WkView.edit) {
    if (
e.keyCode == 10 || e.keyCode == 13 && (e.ctrlKey || e.metaKey && browser.mac)) {
      
WkView.saveInfo();
    }
    if (
cur.updTimeout) return;
    
cur.updTimeout setTimeout(function() {
      
WkView.onResize()
      
cur.updTimeout false;
    }, 
200);
  }
},

onResize: function() {
  var 
dwidth lastWindowWidthdheight lastWindowHeightsbw sbWidth();

  var 
dwidth sbw 120 34 50dheight 31 28 72;
  if (
1280) { // less than full hd - not size > 2
    
1280;
  } else if (
807 && 907) { // 1024x768 - not size > 1
    
807;
  } else if (
604) {
    
604;
  }
  if (
453) {
    
453;
  }
  
wkcur.mvWidth w;
  
wkcur.mvHeight h;

  var 
sizeChanged falseoldverybig wkcur.mvVeryBig;
  
wkcur.mvVeryBig = (1280) ? : (807 false);
  
sizeChanged = (oldverybig != wkcur.mvVeryBig);
  
WkView.onScroll(falsetrue);

  
WkView.updateHeight();
  
WkView.updateArrows();
},


updateArrows: function() {
  var 
sbw sbWidth() + 2;
  if (
wkcur.wkLeft) {
    
wkcur.wkLeft.style.left '20px';
  }
  var 
size getSize(wkcur.wkBox),
      
width size[0],
      
height size[1];
  
wkcur.wkLeftNav.style.width Math.floor((lastWindowWidth sbw width 2) / 2) + 'px';
  
wkcur.wkRightNav.style.left Math.floor((lastWindowWidth sbw width 2) / 2) + 'px';
  
wkcur.wkRightNav.style.width Math.floor((lastWindowWidth sbw width 2) / 2) + 'px';
  if (
wkcur.wkClose) {
    
wkcur.wkClose.style.left = (lastWindowWidth sbw 37) + 'px';
  }

  var 
arrowActions WkView.getNextWkRaws();
  if (
arrowActions[0] || arrowActions[1]) {
    var 
arrowTop = (wkcur.wkCont.offsetHeight lastWindowHeight wkcur.wkCont.offsetTop 10 + (height 2) : lastWindowHeight 2) - 8;
    if (
arrowActions[0]) {
      
show(wkcur.wkLeftArrow);
      
show(wkcur.wkLeftArrowBg);

      
setStyle(wkcur.wkLeftArrowBg, {left: (lastWindowWidth sbw width) / 90});
      
setStyle(wkcur.wkLeftArrow, {left: (lastWindowWidth sbw width) / 52toparrowTop});
    } else {
      
hide(wkcur.wkLeftArrowwkcur.wkLeftArrowBg);
    }

    if (
arrowActions[1]) {
      
show(wkcur.wkRightArrow);
      
show(wkcur.wkRightArrowBg);
      
setStyle(wkcur.wkRightArrowBg, {left: (lastWindowWidth sbw width) / width});
      
setStyle(wkcur.wkRightArrow, {left: (lastWindowWidth sbw width) / width 36toparrowTop});
    } else {
      
hide(wkcur.wkRightArrowwkcur.wkRightArrowBg);
    }
  } else {
    
hide(wkcur.wkLeftArrowwkcur.wkLeftArrowBgwkcur.wkRightArrowwkcur.wkRightArrowBg);
  }
},
getNextWkRaws: function () {
  var 
wkRawPrevious wkRawNext false;
  if (
isArray(wkcur.wkRawList) && wkcur.historyLen <= && !wkcur.wkRawLoading) {
    var 
len wkcur.wkRawList.length,
        
pos indexOf(wkcur.wkRawListwkcur.wkRaw);
    if (
pos 0) {
      
wkRawPrevious wkcur.wkRawList[pos 1];
    }
    if (
pos >= && pos len 1) {
      
wkRawNext wkcur.wkRawList[pos 1];
    }
  }
  return [
wkRawPreviouswkRawNext];
},
navigate: function (eleventdelta) {
  if (
event && event.type == 'click') {
    
wkcur.arrowOver = (delta == 1);
    
wkcur.arrowClicked vkNow();
  }
  var 
actions WkView.getNextWkRaws();
  if (
delta && actions[1]) {
    
wkcur.wkRawLoading true;
    
addClass(wkcur.wkRightArrow'wk_arrow_progress');
    
// debugLog(wkcur.wkRightArrow, wkcur.wkRightArrow.className);
    
showWiki({wactions[1]}, falsefalse, {fromlist1noloadertruepreload: {cache1}});
    
cancelEvent(event);
  }
  if (
delta && actions[0]) {
    
wkcur.wkRawLoading true;
    
addClass(wkcur.wkLeftArrow'wk_arrow_progress');
    
showWiki({wactions[0]}, falsefalse, {fromlist: -1noloadertruepreload: {cache1}});
    
cancelEvent(event);
  }
},

updateHeight: function() {
  
window.updateWndVScroll && updateWndVScroll();

  var 
Math.max(wkcur.wkCont.offsetHeightlastWindowHeight);
  
wkcur.wkLeftNav.style.height wkcur.wkRightNav.style.height 'px';

  var 
boxH wkcur.wkBox.offsetHeight 2;
  
setStyle(wkcur.wkLeftArrowBg.firstChild, {heightboxH});
  
setStyle(wkcur.wkRightArrowBg.firstChild, {heightboxH});
},

updateSize: function() {
  var 
size getSize(wkcur.wkCont);

  var 
docEl document.documentElement,
      
ch window.innerHeight || docEl.clientHeight || bodyNode.clientHeight,
      
top Math.max(positive((ch size[1] - 5) / 2), 14),
      
paddingTop top 10,
      
paddingBottom wkLayer.offsetHeight size[1] + top 90;

  
wkcur.wkCont.style.top top 'px';
  
wkcur.wkLeftArrowBg.style.paddingTop wkcur.wkRightArrowBg.style.paddingTop paddingTop 'px';
  
wkcur.wkLeftArrowBg.style.paddingBottom wkcur.wkRightArrowBg.style.paddingBottom paddingBottom 'px';

  
onBodyResize();
  
WkView.onResize();
},


setLocation: function(noLocChangetoQueue) {
  
wkcur.prevLoc = {};
  for (var 
i in nav.objLoc) {
    if (
!= 'w' || nav.objLoc[i] != wkcur.wkRaw && toQueue) {
      
wkcur.prevLoc[i] = nav.objLoc[i];
    }
  }
  if (
noLocChange) {
    return;
  }

  var 
nl extend(nav.objLoc, {'w'wkcur.wkRaw});
  
delete(nl.z);
  if (
nav.strLoc != nav.toStr(nl)) {
    
nav.setLoc(nl);
  }

  
//wkcur.noHistory = 0;
},

backLocation: function() {
  var 
loc hab.getLoc();
  if (
wkcur.prevLoc && wkcur.prevLoc != loc) {
//    if (wkcur.previousLayer) {
//      nav.go(wkcur.prevLoc);
//    } else {
      
nav.setLoc(wkcur.prevLoc);
//    }
//    if (wkcur.previousLayer && wkcur.prevLoc.z) {
//      zNav({z: wkcur.prevLoc.z});
//    }
  
} else {
    var 
locParts loc.split('/');
    if (
locParts.length 1) {
      
nav.setLoc(locParts[0]);
    }
  }
  
layerQueue.noHistory();
},

showError: function(txt) {
  if (
window.wkcur) {
    
delete wkcur.wkRawLoading;
    
addClass(wkcur.wkRightArrow'wk_arrow_progress');
    
addClass(wkcur.wkLeftArrow'wk_arrow_progress');
  }
  var 
box showFastBox({titlegetLang('global_error')}, txtgetLang('global_close'));
  
setTimeout(box.hide2000);
  return 
true;
},

wysiwygInit: function() {
  if (
browser.ipod || browser.ipad || browser.iphone) return;
  var 
simpleToolBar 'bold,italic,gray,underline,strike,left,center,right,marker_list,numeric_list,h1,h2,h3,image,video,audio,link,unlink';
  var 
extendedToolBar 'bold,italic,gray,underline,strike,left,center,right,marker_list,numeric_list,h1,h2,h3,image,video,audio,doc,link,unlink,break,';
  
extendedToolBar += 'table,table_delete,insert_row_before,insert_row_after,insert_col_before,insert_col_after,delete_row,delete_col,col_width,sub,sup,citate,outdent,indent,pre,character,hider';
  
window.editorName 'pageWysiwyg';
  var 
editorParams = {
    
editorNameeditorName,
    
replaceElemID'pages_html',
    
contentCSS'/css/al/wysiwyg.css',
    
htmlge('pages_html').value,
    
wikige('pages_body') ? ge('pages_body').value '',
    
height326,
    
simpleToolBarsimpleToolBar,
    
extendedToolBarextendedToolBar,
    
defaultMode'simple',
    
skinFile'pages',
    
photoMinSize: { w50h50 },
    
photoMaxSize: { w607h500 },
    
userID0,
    
userName'',
    
groupID0,
    
oidwkcur.oid,
    
debugfalse,
    
layer1,
    
toolWidth654,
    
width608,
    
notewkcur.note wkcur.wkRaw 0,
    
onHeightChange: function() {
      
WkView.onScroll();
    },
    
onChangeWkView.onChange
  
};
  
window[editorName] = wkcur.editor = new Wysiwyg(editorParams);
},

onChange: function() {
  if (!
wkcur.shown) return false;
  
clearTimeout(wkcur.autosaveTimeout);
  
wkcur.autosaveTimeout setTimeout(function() {
    if (
wkcur.note && wkcur.toStatus) {
      
WkView.saveInfo(true);
    }
  }, 
4000);
},

likeOver: function() {
  var 
icon ge('wk_like_icon');
  if (!
wkcur.liked) {
    
setTimeout(animate.pbind(icon, {opacity1}, 200false), 1);
  } else {
    
setStyle(icon, {opacity1});
  }
  var 
linkSize getSize(ge('wk_like_link'));
  var 
linkW linkSize linkSize[0] : 20;

  
showTooltip(icon.parentNode, {
    
url'like.php',
    
params: {act'a_get_stats'objectwkcur.like_obj || wkcur.wkRawfrom'wkview'},
    
slide15,
    
shift: [089],
    
ajaxdt100,
    
showdt400,
    
hidedt200,
    
className'rich like_tt',
    
init: function (tt) {
      if (!
tt.container) return;
      var 
bp geByClass1('bottom_pointer'tt.container'div');
      var 
tp geByClass1('top_pointer'tt.container'div');
      
setStyle(bp, {marginLeftlinkW 2});
      
setStyle(tp, {marginLeftlinkW 2});
    }
  });
},

likeOut: function() {
  if (!
wkcur.liked) {
    
setTimeout(animate.pbind(ge('wk_like_icon'), {opacity0.4}, 200false), 1);
  }
},

like: function() {
  if (!
vk.id) return;
  var 
my = !wkcur.liked;

  
ajax.post('like.php', {act'a_do_' + (my '' 'un') + 'like'objectwkcur.like_obj || wkcur.wkRawhashwkcur.likehashfrom'wkview'}, {
    
onDone: function(counttitle) {
      return 
WkView.likeUpdate(mycounttitle);
      
wkcur.likes count;
      
wkcur.liked my;
    }
  });
  
WkView.likeUpdate(mywkcur.likes + (my : -1));
},
likeShare: function(hash) {
  var 
like_obj wkcur.like_obj || wkcur.wkRaw,
      
el ge('like_share_' like_obj),
      
was isChecked(el);
  
checkbox(el);
  
ajax.post('like.php', {act'a_do_' + (was 'un' '') + 'publish'objectlike_objhashhash}, {
    
onDoneWkView.likeUpdate.pbind(true)
  });
  var 
countInput ge('like_real_count_' like_obj),
      
count countInput countInput.value val('like_count' like_obj),
      
my hasClass(ge('like_icon' like_obj), 'my_like');

  
WkView.likeUpdate(trueintval(count) + (my 1));
},
likeShareCustom: function () {
  if (
vk.id) {
    
showBox('like.php', {act'publish_box'objectwkcur.like_obj || wkcur.wkRaw, list: ''from'wkview'});
  }
},

likeUpdate: function(mycounttitle) {
  
count intval(count);

  var 
rows ge('like_table_' + (wkcur.like_obj || wkcur.wkRaw));
  var 
titleNode ge('like_title_' + (wkcur.like_obj || wkcur.wkRaw)),
      
countNode ge('wk_like_count');
  var 
icon ge('wk_like_icon');
  var 
tt icon.parentNode.tt || {}, opts = clone(tt.opts || {}), newleft = (my : -36);

  if (
title && titleNode) {
    
val(titleNodetitle);
  }
  
wkcur.likes count;
  
animateCount(countNodecount);

  
wkcur.liked my;
  
toggleClass(icon'my_like'my);
  if (
my) {
    
setStyle(icon, {opacity1});
  }
  if (
count) {
    var 
styleName wkcur.rtl 'right' 'left';
    if (
tt.el && !isVisible(tt.container) && !title) {
      
rows.style[styleName] = newleft 'px';
      
tooltips.show(tt.elextend(opts, {showdt0}));
    } else if (
rows) {
      var 
params = {};
      
params[styleName] = newleft;
      
animate(rowsparams200);
    }
    
removeClass(icon'no_likes');
  } else {
    if (
tt.eltt.hide();
    
addClass(icon'no_likes');
  }
},

showLikesPage: function(like_objpublishedoffset) {
  
cur.likesBox.loadTabContent('like.php', {act'a_get_members'objectlike_objpublishedpublishedoffsetoffsetwall1}, published);
},

extPageSubscribe: function(btnoidhashmsg) {
  var 
reqOptions = {
    
showProgresslockButton.pbind(btn),
    
hideProgressunlockButton.pbind(btn),
    
onDone: function () {
      
showDoneBox(msg, {w500out5000});
      
removeClass(btn.parentNode.parentNode.parentNode.parentNode'wk_extpage_head_unsubscribed');
    }
  };
  if (
oid 0) {
    
ajax.post('al_friends.php', {act'add'midoidhashhashfrom'wkview_extpage'}, reqOptions);
  } else {
    
ajax.post('al_groups.php', {act'a_enter'gid: -oidhashhashfrom'wkview_extpage'}, reqOptions);
  }
},

wallBeforeInitPost: function (opts) {
  if (
window.tooltipstooltips.destroyAll();

  if (
wkcur.postInited) {
    return 
false;
  }
  
wkcur.pageReplaced = [];
  var 
post wkcur.post,
      
postElsizepostPlaceholder;
  while (
true) {
    
postEl ge('post' post);
    if (!
postEl && cur.onepost && post == (cur.oid '_' cur.pid)) {
      
postEl ge('fw_post');
    }
    
postEl postEl || ge('reply_fakebox' post) || ge('reply_box' post) || ge('replies' post) || ge('feedback_row_wall' post) || (wkcur.hl_reply && (ge('post' wkcur.hl_reply) || ge('feedback_row_wall_reply' wkcur.hl_reply))) || ge('feed_rows');
    if (!
postEl) {
      break;
    }
    
size getSize(postEl);
    
postPlaceholder ce('div', {className'wk_wall_post_placeholder'id'wk_wall_post_placeholder_' postEl.id}, {widthsize[0], heightsize[1]});
    
postEl.parentNode.replaceChild(postPlaceholderpostEl);
    
wkcur.pageReplaced.push([postElpostPlaceholder]);
  }

  
cur.wallLayer post;

  if (
opts.options.wall_tpl) {
    
extend(window.langopts.langopts.options.wall_tpl.lang);
    
extend(wkcur, {
      
wallTypeopts.options.wall_type,
      
wallTplopts.options.wall_tpl,
      
wallMyDeleted: {},
      
tsDiffopts.options.wall_tpl && opts.options.wall_tpl.abs_timestamp Math.round((vkNow() / 1000 opts.options.wall_tpl.abs_timestamp) / 900.0) * 900 0,
      
wallMyOpened: {},
      
wallMyReplied: {},
      
wallMyRepliesCnt0
    
});
    
WkView.wallInitUpdates();
    
wkcur.timeUpdateInt setInterval(function () {Wall.updateTimes(wkcur.wkContent);}, 10000);
  }

  
wkcur._hide.push(WkView.wallDeinitPost);

  
wkcur.postInited true;
},
wallAfterInitPost: function () {
  
// debugLog('wall init', clone(wkcur));
  
var post wkcur.post,
      
rf ge('reply_field' post);

  if (
rf) {
    
placeholderSetup(rf, {pad: {margin0padding0}})
  }
  
WkView.wallUpdateReplies();
  if (
wkcur.hl_reply) {
    
setTimeout(Wall.highlightReply.pbind('post' wkcur.hl_reply), 0);
  } else {
    
setTimeout(function () {
      
wkLayerWrap.scrollTop wkcur.toScroll || 0;
      
wkcur.toScroll 0;
    }, 
0);
  }
},
wallDeinitPost: function () {
  
// debugLog('wall deinit', clone(wkcur));
  
if (!wkcur.postInited) {
    return 
false;
  }
  
cur.wallLayer false;
  if (
wkcur.edit) {
    
Wall.cancelEdit();
  }
  
each (wkcur.pageReplaced, function () {
    var 
postEl this[0],
        
postPlaceholder this[1];
    if (
postEl && postPlaceholder) {
      
postPlaceholder.parentNode.replaceChild(postElpostPlaceholder);
    }
  })

  
clearInterval(wkcur.updatesCheckInt);
  
clearInterval(wkcur.timeUpdateInt);

  if (
window.tooltipstooltips.destroyAll();

  
delete cur.editing;
  
delete wkcur.postInited;
},
wallOnEdit: function (postoptions) {
  
wkcur.edit true;
  
val('wk_edit_link'options.lang.pages_view);
  
wkcur.editor = {changedtrue};
},
wallOnEdited: function (post) {
  
wkcur.edit false;
  
val('wk_edit_link'wkcur.editLang);
},
wallFixPost: function (linkhashvalue) {
  var 
post wkcur.post;
  
ajax.post('al_wall.php', {act'a_fix_post'postposthashhashvaluevalue}, {
    
progressge('wpe_prg' post),
    
onDone: function () {
      
val(linkwkcur.lang[value 'wall_unfix_post' 'wall_fix_post']);
      
link.onclick = function () {
        return 
WkView.wallFixPost(linkhashvalue 1);
      }
    }
  });
  return 
false;
},
wallPostDelete: function(acthash) {
  var 
post wkcur.post;
  if (
cur.wallMyDeleted) {
    
cur.wallMyDeleted[post] = 1;
  }
  
ajax.post('al_wall.php', {actactpostposthashhashfrom'wkview'}, {onDone: function(msgdeleted) {
    var 
ge('wl_post_body');
    if (!
p) return;
    
cur.pgPaused true;
    
hide('wl_replies_wrap''wl_post_actions_wrap''wl_reply_form_wrap');
    var 
del p.nextSibling;
    if (
del && hasClass(del'wl_post_deleted')) {
      
val(delmsg);
    } else {
      
p.parentNode.insertBefore(ce('div', {id'post_del' postinnerHTMLmsgclassName'wl_post_deleted'}), p.nextSibling);
      
hide(p);
    }
    
wkLayerWrap.scrollTop 0;
  }, 
progressge('wpe_prg' post)});
},
wallPostRestore: function(hash) {
  var 
post wkcur.post;
  if (
cur.wallMyDeleted) {
    
cur.wallMyDeleted[post] = 0;
  }
  
ajax.post('al_wall.php', {act'restore'postposthashhashfrom'wkview'}, {onDone: function() {
    var 
ge('wl_post_body');
    if (!
|| isVisible(p)) return;
    
cur.pgPaused false;
    
show('wl_replies_wrap''wl_post_actions_wrap''wl_reply_form_wrap');
    var 
del p.nextSibling;
    
show(p);
    if (
del && hasClass(del'wl_post_deleted')) {
      
re(del);
    }
  }});
},
wallUpdateRepliesOnScroll: function (resize) {
  if (!
wkcur.postInited) return;
  var 
wndHeight window.innerHeight || document.documentElement.clientHeight;

  var 
moreLink ge('wl_replies_more_link');
  if (
moreLink && isVisible(moreLink)) {
    var 
moreLinkY getXY(moreLinktrue)[1];
    if (
wndHeight 500 moreLinkY) {
      
moreLink.onclick();
    }
  }

  var 
replyForm ge('wl_reply_form');
  if (!
replyForm || hasClass(replyForm'wl_post_reply_form_forbidden')) {
    return;
  }
  var 
formWrap ge('wl_reply_form_wrap'),
      
formY getXY(formWraptrue)[1],
      
formSize getSize(replyForm);
      
formH formSize[1];

  if (
resize && wkcur.fixedBottom === false && wndHeight formH formY 20) {
    
wkLayerWrap.scrollTop += formY 20 - (wndHeight formH);
  } else if (
isVisible(formWrap) && wndHeight formH formY) {
    if (!
wkcur.fixedBottom || resize) {
      
wkcur.fixedBottom true;
      
addClass(replyForm'wl_reply_form_fixed');
    }
    
setStyle('wl_reply_form_wrap', {widthformSize[0], heightformSize[1], bottombottom});
    var 
bottom Math.min(0wndHeight getXY('wl_replies_wrap'true)[1] - formH);
    
setStyle(replyForm, {bottombottom});
  } else {
    if (
wkcur.fixedBottom || resize) {
      
wkcur.fixedBottom false;
      
removeClass(replyForm'wl_reply_form_fixed');
      
setStyle('wl_reply_form_wrap', {width''height''});
    }
  }
  if (
resize && wkcur.fixedBottom) {
    
setStyle(replyForm, {leftgetXY(wkcur.wkContent)[0] + 'px'})
  }
},
wallShowMoreReplies: function () {
  if (
wkcur.loadingReplies) {
    return 
false;
  }
  var 
newOffset wkcur.offset wkcur.loaded,
      
limit wkcur.limit,
      
repliesWrap ge('replies' wkcur.post);

  if (
wkcur.count <= newOffset || !repliesWrap) {
    return 
false;
  }
  
wkcur.loadingReplies true;
  
Wall.moreReplies(wkcur.post, (wkcur.reverse ? -1) * newOffsetlimit, {
    
from'wkview',
    
appendtrue,
    
revwkcur.reverse 0,
    
onDone: function (repliesnamesdata) {
      
// debugLog((wkcur.reverse ? -1 : 1) * newOffset, limit, data);
      
extend(wkcur, {
        
countdata.count,
        
loadedwkcur.loaded data.num
      
});
      
WkView.wallUpdateReplies();
      
wkcur.loadingReplies false;
    },
    
onFail: function () {
      
wkcur.loadingReplies false;
    },
    
showProgress: function () {
      
hide('wl_replies_more_link');
      
show('wl_replies_more_progress');
    },
    
hideProgress: function () {
      
show('wl_replies_more_link');
      
hide('wl_replies_more_progress');
    }
  });
  return 
false;
},
wallShowPreviousReplies: function (hlReply) {
  if (
wkcur.loadingReplies || wkcur.reverse) {
    return 
false;
  }
  var 
maxLimit 100,
      
newOffset Math.max(0wkcur.offset maxLimit),
      
limit Math.min(maxLimitwkcur.offset newOffset),
      
repliesWrap ge('replies' wkcur.post);

  if (
limit <= || !repliesWrap) {
    return 
false;
  }
  
wkcur.loadingReplies true;
  var 
prevH repliesWrap.offsetHeight;
  
Wall.moreReplies(wkcur.postnewOffsetlimit, {
    
from'wkview',
    
onDone: function (repliesnamesdata) {
      
extend(wkcur, {
        
countdata.count,
        
offsetdata.offset,
        
loadedwkcur.loaded data.num
      
});
      if (
hlReply) {
        
wkLayerWrap.scrollTop += repliesWrap.offsetHeight prevH;
        
setTimeout(Wall.highlightReply.pbind('post' hlReply), 0);
      }
      
WkView.wallUpdateReplies();
      
wkcur.loadingReplies false;
    },
    
onFail: function () {
      
wkcur.loadingReplies false;
    },
    
showProgress: function () {
      
hide('wl_replies_header''wl_replies_header_toggler');
      
show('wl_replies_previous_progress');
    },
    
hideProgress: function () {
      
show('wl_replies_header''wl_replies_header_toggler');
      
hide('wl_replies_previous_progress');
    }
  });
},
wallUpdateReplies: function () {
  
toggle('wl_replies_more_link'wkcur.offset wkcur.loaded wkcur.count);

  var 
header ge('wl_replies_header'),
      
label langNumeric(wkcur.countwkcur.lang.wall_N_replies),
      
hasPrevious false;

  if (!
wkcur.reverse && wkcur.offset 0) {
    if (
wkcur.offset 100) {
      
label langNumeric(100wkcur.lang.wall_show_n_of_m_last).replace('{count}'wkcur.count);
    } else {
      
label langNumeric(wkcur.countwkcur.lang.wall_show_all_n_replies);
    }
    
hasPrevious true;
  }
  
val('wl_replies_header_label'label);
  
toggleClass(header'wl_replies_header_clickable'hasPrevious);

  var 
repliesWrap ge('wl_replies_wrap'),
      
form ge('wl_reply_form');
  if (
wkcur.count && repliesWrap && !isVisible(repliesWrap.firstChild)) {
    
show(repliesWrap.firstChild);
  }
  if (
form) {
    var 
formPlace1 ge('wl_reply_form_reverse_wrap'),
        
formPlace2 ge('wl_reply_form_wrap'),
        
formPlace wkcur.reverse && repliesWrap && isVisible(repliesWrap.firstChild) && formPlace1 || formPlace2;

    
toggle(formPlace1formPlace == formPlace1);
    
toggle(formPlace2formPlace == formPlace2);
    
toggleClass(form'wl_reply_form_reversed'formPlace == formPlace1);
    if (
form.parentNode != formPlace) {
      
formPlace.appendChild(form);
    }
  }

  
WkView.wallUpdateRepliesOnScroll();
  
WkView.updateSize();
},
wallInitUpdates: function () {
  var 
key wkcur.options.add_queue_key;
  if (!
key || !window.Notifier) {
    return;
  }
  var 
wasKey wkcur.wallAddQueue,
      
checkCb = function () {
        if (
wkcur.wallAddQueueNotifier.addKey(wkcur.wallAddQueueWall.updated.pbind(true));
      };

  
wkcur.wallAddQueue key;
  
checkCb();
  
wkcur.updatesCheckInt setInterval(checkCb10000);
},
wallCancelEditReply: function () {
  var 
post wkcur.post,
      
rf ge('reply_field' post),
      
composer rf && data(rf'composer');
  if (
composer) {
    
Composer.reset(composer);
  } else {
    
val(rf'');
  }
  
Wall.hideEditReply(post);
  
WkView.wallUpdateReplies();
},
wallInverseReplies: function () {
  if (
wkcur.loadingReplies) {
    return 
false;
  }
  
wkcur.loadingReplies true;
  
wkcur.reverse = !wkcur.reverse;
  
wkcur.offset 0;

  
Wall.moreReplies(wkcur.postwkcur.offsetwkcur.limit, {
    
from'wkview',
    
cleartrue,
    
revwkcur.reverse 0,
    
onDone: function (repliesnamesdata) {
      
toggleClass('wl_replies_header_toggler''wl_replies_header_toggler_inversed'wkcur.reverse);
      
extend(wkcur, {
        
countdata.count,
        
loadeddata.num
      
});
      
WkView.wallUpdateReplies();
      
wkcur.loadingReplies false;
    },
    
onFail: function () {
      
wkcur.reverse = !wkcur.reverse;
      
wkcur.loadingReplies false;
    },
    
showProgress: function () {
      
hide('wl_replies_header''wl_replies_header_toggler');
      
show('wl_replies_previous_progress');
    },
    
hideProgress: function () {
      
show('wl_replies_header''wl_replies_header_toggler');
      
hide('wl_replies_previous_progress');
    }
  });
},

likesInit: function () {
  
re(cur.lSTL);
  
extend(wkcur, {
    
phCache: {},
    
phShown: {},
    
historyLen0,

    
lSTLwkLayerWrap.appendChild(ce('div', {id'layer_stl'innerHTML'<div id="layer_stl_bg" class="fixed"></div><div id="layer_stl_cl"></div><nobr id="layer_stl_text" class="fixed">' getLang('global_to_top') + '</nobr>'elge('wk_box'), onclickcancelEventonmousedownWkView.likesSTLDownscWkView.likesOnScroll})),
    
lSTLShown0,
    
lSTLWas0,
    
lSTLWasSet0
  
});
  
cur.lSTL wkcur.lSTL;

  
WkView.likesTabInit();

  
addEvent(wkLayerWrap'scroll'WkView.onScroll);
  
addEvent(window'resize'WkView.onResize);
  
onBodyResize();

  if (!
cur.wallInited) {
    
Wall.initWallOptions(wkcur.wall_opts);
  }

  if (
cur.options === undefined) {
    
cur.options = {reply_names: {}};
  } else if (
cur.options.reply_names === undefined) {
    
cur.options.reply_names = {};
  }
  
extend(cur.options.reply_nameswkcur.reply_names);

  
wkcur._hide.push(function () {
    
removeEvent(wkLayerWrap'scroll'WkView.onScroll);
    
removeEvent(window'resize'WkView.onResize);
    
re(wkcur.lSTLcur.lSTL);
  });
},
likesTabInit: function () {
  if (
wkcur.preload) {
    
ajax.preload('wkview.php', {
      
act'show',
      
wwkcur.wkRaw,
      
offsetwkcur.offset
    
}, wkcur.preload);
  }
},
likesTab: function (tab) {
  
ajax.post('wkview.php', {act'show'wtab '/' wkcur.like_objpart1}, {
    
cache1,
    
showProgresssetStyle.pbind('wk_likes_tabs_prg', {visibility'visible'}),
    
hideProgresssetStyle.pbind('wk_likes_tabs_prg', {visibility'hidden'}),
    
onDone: function (titlecontentoptions) {
      
val('wk_likes_title'title);
      
val('wk_likes_content'content);
      
extend(wkcuroptions);
      
WkView.likesTabInit();

      var 
oldTab geByClass1('summary_tab_sel'ge('wk_likes_tabs')),
          
newTab ge('wk_likes_tab' tab);
      
replaceClass(oldTab'summary_tab_sel''summary_tab');
      
replaceClass(newTab.parentNode'summary_tab''summary_tab_sel');

      
WkView.setLocation();
      
WkView.updateHeight();
      
WkView.likesOnScroll();
    }
  });
},
likesPreload: function () {
  
ajax.post('wkview.php', {act'show'wwkcur.wkRawoffsetwkcur.offset}, {cache1});
},
likesMore: function() {
  if (
isVisible('wk_likes_more_prg')) return;
  
ajax.post('wkview.php', {act'show'wwkcur.wkRawoffsetwkcur.offset}, {
    
onDone: function(rowsnewOffsetneedMorenames) {
      var 
cnt ge('wk_likes_rows');
      if (!
cnt) return;

      
cnt.appendChild(cf(rows));
      
wkcur.offset newOffset;
      if (
needMore) {
        
WkView.likesPreload();
      } else {
        
hide('wk_likes_more_link');
      }
      
WkView.updateHeight();
      if (
names) {
        
extend(cur.options.reply_namesnames);
      }
    }, 
showProgress: function() {
      
hide('wk_likes_more_link');
      
show('wk_likes_more_prg');
    }, 
hideProgress: function() {
      
show('wk_likes_more_link');
      
hide('wk_likes_more_prg');
    }, 
cache1
  
});
},
likesBigphOver: function(objuid) {
  if (!
wkcur.lang || !wkcur.lang.global_photo_full_size || browser.mobile) return;
  var 
obj.firstChild,
      
ch wkcur.phCache[uid];
  if (
o.tagName != 'A' || o.className != 'wk_likes_likerph') {
    
obj.insertBefore(ce('a', {className'wk_likes_likerph'hrefch && ch._id ? ('/photo' ch._id '?all=1') : ('/albums' uid), innerHTML'<span class="wk_likes_likerph_label">' wkcur.lang.global_photo_full_size '</span>'}), obj.firstChild);
    
o.onclick WkView.likesBigphClick.pbind(uid);
    
o._uid uid;
  }

  
clearTimeout(o.hideTO);
  
animate(o, {marginTop75}, {duration200transitionFx.Transitions.easeOutCirc});
  
wkcur.phShown[uid] = o;

  if (!
obj.onmouseoutobj.onmouseout WkView.likesBigphOut.pbind(obj);
},
likesBigphOut: function(obj) {
  var 
obj.firstChild;
  if (!
|| o.tagName != 'A' || o.className != 'wk_likes_likerph') return;

  
clearTimeout(o.hideTO);
  
o.hideTO setTimeout(function() {
    
animate(o, {marginTop100}, 200);
    
delete(wkcur.phShown[o._uid]);
  }, 
150);
},
likesBigphClick: function(uidev) {
  if (
checkEvent(ev) !== false) return;

  var 
ch wkcur.phCache[uid]
      
wkcur.phShown[uid],
      
obj domPN(o);

  if (!
|| !obj) return;
  if (
ch === undefined) {
    
ch wkcur.phCache[uid] = 'show';
    
ajax.post('al_photos.php', {act'fast_get_photo'oiduid}, {onDone: function(res) {
      if (!
res) {
        
obj.onmouseover = function() {};
        
re(o);
        return;
      }
      var 
sh = (wkcur.phCache[uid] == 'show');
      
wkcur.phCache[uid] = res;
      
o.href '/photo' res._id '?all=1';
      if (
shWkView.likesBigphClick(uid);
    }, 
onFail: function() {
      
obj.onmouseover = function() {};
      
re(o);
      return 
true;
    }});
  }
  if (
ch == 'show') {
    return 
cancelEvent(ev);
  }
  if (!
ch) return;
  
extend(ch, {
    
jumpTo: {z'albums' uid},
    
queue1
  
});
  return 
showPhoto(ch._id'album' uid '_0/rev'chev);
},
likesSTLDown: function(e) {
  
|| window.event;
  if (
checkEvent(e)) return;

  if (!
__afterFocus) {
    if (
wkcur.lSTLWasSet && wkcur.lSTLWas) {
      var 
to wkcur.lSTLWas;
      
wkcur.lSTLWas 0;
      
wkLayerWrap.scrollTop to;
    } else {
      
wkcur.lSTLWas wkLayerWrap.scrollTop;
      
wkLayerWrap.scrollTop 0;
    }
  }
  return 
cancelEvent(e);
},
likesOnScroll: function (resize) {

  var 
st wkLayerWrap.scrollTop,
      
mx 200,
      
vis wkcur.lSTLWas || (st mx),
      
0;

  
wkcur.lSTL.style.marginTop st 'px';
  if (!
vis) {
    if (
wkcur.lSTLShown !== 0) {
      
hide(wkcur.lSTL);
      
wkcur.lSTLShown 0;
    }
  } else {
    if (
wkcur.lSTLShown !== 1) {
      
show(wkcur.lSTL);
      
wkcur.lSTLShown 1;
    }
    if (
wkcur.lSTLWas && st 500) {
      
wkcur.lSTLWas 0;
    }
    if (
st mx) {
      
= (st mx) / mx;
      if (
wkcur.lSTLWasSet) {
        
wkcur.lSTLWasSet 0;
        
val(domLC(wkcur.lSTL), getLang('global_to_top'));
        
removeClass(domLC(wkcur.lSTL), 'down');
      }
    } else {
      
= (mx st) / mx;
      if (
wkcur.lSTLWas) {
        if (!
wkcur.lSTLWasSet) {
          
wkcur.lSTLWasSet 1;
          
val(domLC(wkcur.lSTL), '');
          
addClass(domLC(wkcur.lSTL), 'down');
        }
      }
    }
  }
  
setStyle(wkcur.lSTL, {opacityMath.min(Math.max(o0), 1)});

  var 
bt lastWindowHeight,
      
objMore ge('wk_likes_more_link');
  if (
isVisible(objMore) && (bt getXY(objMoretrue)[1])) {
    
objMore.click();
  }
},
likesBlacklistTip: function (el) {
  
showTooltip(el, {
    
textwkcur.lang.like_block_liker,
    
shift: [1311],
    
black1
  
});
},
likesBlacklist: function (eloidevent) {
  if (
el.tt && el.tt.destroyel.tt.destroy();
  
showBox('like.php', {act'spam'midoidobjectwkcur.like_obj});
  return 
cancelEvent(event);
},
likesRecache: function(d) {
  
wkcur.offset += d;
  for (var 
i in ajaxCache) {
    if (
i.match(new RegExp('^\/wkview.php\#act=show'''))) {
      
delete(ajaxCache[i]);
    }
  }
},
likesRemove: function(oid) {
  
re('wk_likes_liker_row' oid);
  
WkView.likesRecache(-1);
  
WkView.onScroll();
  if (!
domFC(ge('wk_likes_rows'))) {
    
location.reload();
  }
},

historyInit: function () {
  
addEvent(wkLayerWrap'scroll'WkView.onScroll);
  
addEvent(window'resize'WkView.onResize);
  
onBodyResize();

  
wkcur._hide.push(function () {
    
removeEvent(wkLayerWrap'scroll'WkView.onScroll);
    
removeEvent(window'resize'WkView.onResize);
  });
},
historyOnScroll: function () {
  if (
wkcur.loadingHistory) {
    return 
false;
  }
  var 
wndHeight window.innerHeight || document.documentElement.clientHeight;

  var 
moreLink ge('wk_history_more_link');
  if (
moreLink && isVisible(moreLink)) {
    var 
moreLinkY getXY(moreLinktrue)[1];
    if (
wndHeight 500 moreLinkY) {
      
moreLink.onclick();
    }
  }
},
historyShowMore: function () {
  if (
wkcur.loadingHistory) {
    return 
false;
  }
  var 
newOffset wkcur.offset;
  
wkcur.loadingHistory true;
  
ajax.post('wkview.php', {act'show'wwkcur.wkRawoffsetnewOffsetpart1}, {
    
onDone: function (optionsrows) {
      
extend(wkcuroptions);
      
ge('wk_history_rows').appendChild(cf(rows));
      
setTimeout(WkView.historyOnScroll500);

      
toggle('wk_history_more_link'wkcur.offset wkcur.count);
      
toggle('wk_history_empty'wkcur.offset >= wkcur.count && !domFC(ge('wk_history_rows')));
      
toggleClass('wk_history_more''wk_history_more_loading'wkcur.offset wkcur.count && !domFC(ge('wk_history_rows')));
      
wkcur.loadingHistory false;
    },
    
onFail: function () {
      
wkcur.loadingHistory false;
    },
    
showProgress: function () {
      
hide('wk_history_more_link');
      
show('wk_history_more_progress');
    },
    
hideProgress: function () {
      
show('wk_history_more_link');
      
hide('wk_history_more_progress');
    }
  });

  return 
false;
},

activate: function(arrow) {
  if (
arrow && arrow.timeout) {
    
clearTimeout(arrow.timeout);
    
removeAttr(arrow'timeout');
  } else if (
isVisible(arrow)) {
    
fadeTo(arrow200vk.pvdark 0.7);
  }
},

deactivate: function(arrow) {
  if (!
arrow || !isVisible(arrow) || arrow.timeout) {
    return;
  }
  
arrow.timeout setTimeout(function() {
    
removeAttr(arrow'timeout');
    
fadeTo(arrow2000.4);
  }, 
1);
},

activateArrow: function (nextevent) {
  var 
arrow wkcur[next 'wkRightArrow' 'wkLeftArrow'],
      
bg wkcur[next 'wkRightArrowBg' 'wkLeftArrowBg'].firstChild;

  if (
arrow && arrow.timeout) {
    
clearTimeout(arrow.timeout);
    
removeAttr(arrow'timeout');
  } else if (
isVisible(arrow)) {
    
wkcur.arrowOver next;
    
fadeTo(arrow200vk.pvdark 0.7);
    
fadeTo(bg2000.15);
  }
  
WkView.preloadArrow(next);
  
cancelEvent(event);
},
preloadArrow: function (next) {
  var 
arrow wkcur[next 'wkRightArrow' 'wkLeftArrow'];

  if (!
arrow.cached) {
    
arrow.cached true;
    var 
actions WkView.getNextWkRaws(),
        
preloadWkRaw actions[next 0];

    if (
preloadWkRaw) {
      
ajax.post('wkview.php'extend({act'show'locnav.objLoc[0]}, {wpreloadWkRaw}), {cache1});
    }
  }
},
deactivateArrow: function (nextevent) {
  var 
arrow wkcur[next 'wkRightArrow' 'wkLeftArrow'],
      
bg wkcur[next 'wkRightArrowBg' 'wkLeftArrowBg'].firstChild;

  if (!
arrow || !isVisible(arrow) || arrow.timeout || (wkcur.arrowClicked && (vkNow() - wkcur.arrowClicked 100))) {
    return;
  }

  
delete wkcur.arrowOver;
  
arrow.timeout setTimeout(function() {
    
removeAttr(arrow'timeout');
    
fadeTo(arrow2000.4);
    
fadeTo(bg2000);
  }, 
1);
  
cancelEvent(event);
},

back: function() {
  if (
wkcur.historyLen 1) {
    
wkcur.doBack 1;
    
wkcur.historyLen -= 1;
    
history.go(-1);
    return 
true;
  } else {
    
WkView.hide();
  }
},


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