Вход Регистрация
Файл: js/al/public.js
Строк: 673
<?php
window
['public'] = window.Public = {
  
toggleFave: function(btnhashactev) {
    if (
cur.toggleFaveAct != undefined) {
      
act cur.toggleFaveAct;
    }
    
ajax.post('fave.php', {actact 'a_add_group' 'a_delete_group'gid: -cur.oidhashhash}, {onDone: function(text) {
      
btn.firstChild.nextSibling.innerHTML text;
      
cur.toggleFaveAct = !act;
    }, 
progressbtn.firstChild});
    
cancelEvent(ev);
  },
  
switchHelpSteps: function(hash) {
    var 
ge('public_help_steps_module');
    if (!
hasClass(m'closed')) {
      
addClass(m'closed');
    } else {
      
removeClass(m'closed');
    }
    
ajax.post('al_public.php', {act'a_switch_help_steps'pidcur.options.public_idhashhash}, {onDone: function() {

    }});
  },
  
showMapBox: function(addresszoomlink) {
    if (
window.showZeroZoneBox && showZeroZoneBox('places', function() {
      Public.
showMapBox();
    })) { return; }

    if (!
cur.boxForMap) {
      var 
boxOptions = {
        
bodyStyle'padding: 0;',
        
width597,
        
titleaddress,
        
onShow: function() { if (cur.boxMapcur.boxMap.redraw(); }
      };
      
cur.boxForMap showFastBox(boxOptions'<div class="box_loader"></div>');
      
cur.boxForMap.setControlsText('<a href="' link '">' getLang('events_goto_search') + '</a>');
    }
    if (!
cur.boxMap) {
      
cur.boxForMap.content('<div id="boxMap" style="width: 595px; height: 500px"></div>');
      
cur.boxMap = new VkMap(ge('boxMap'), {
        
type'yandex',
        
keycur.mapKey,
        
onReady: function() {
          
cur.boxMap.updateAddress({straddresszoomzoom});
          
cur.boxForMap.setOptions({titlecur.boxMap.getShowAddress()});
          
cur.boxMap.updateMap();
        }
      });
    } else {
      
cur.boxForMap.show();
    }
  },
  
showLinks: function() {
    var 
showBox('/al_public.php', {act'a_get_links'pidcur.options.public_id}, {params:{width:467}});
    
b.setOptions({onHideAttempt: function() {
      if (
cur.reloadAfterClose) {
        
nav.reload({noscrolltrue});
        
cur.reloadAfterClose false;
      }
      return 
true;
    }});
  },
  
showEvents: function(edit) {
    var 
showBox('/al_public.php', {act'a_get_events'pidcur.options.public_ideditedit}, {params:{width:467}});
    
b.setOptions({onHideAttempt: function() {
      if (
cur.reloadAfterClose) {
        
nav.reload({noscrolltrue});
        
cur.reloadAfterClose false;
      }
      return 
true;
    }});
  },
  
showApps: function(edit) {
    var 
showBox('/al_public.php', {act'a_get_apps'pidcur.options.public_ideditedit}, {params:{width:467}});
    
b.setOptions({onHideAttempt: function() {
      if (
cur.reloadAfterClose) {
        
nav.reload({noscrolltrue});
        
cur.reloadAfterClose false;
      }
      return 
true;
    }});
  },
  
otherActs: function(el) {
    
clearTimeout(cur.hideOtherTimer);
    if (!
el) return false;
    
el.blur();
    var 
acts ge('page_other_acts');
    if (
isVisible(acts)) {
      return 
false;
    }
    
acts.style.marginLeft '-1px';
    
acts.style.marginTop '-21px';
    
show(acts);
    return 
false;
  },
  
hideOther: function(timeout) {
    if (
timeout 0) {
      
cur.hideOtherTimer setTimeout(cur.hideOthertimeout);
    } else {
      var 
acts ge('page_other_acts');
      if (
timeout == -1) {
        
hide(acts);
      } else {
        
fadeOut(acts200);
      }
    }
  },

  
updateBlock: function(blockIdhtml) {
    
blockId ge(blockId);
    if (!
blockId || !html) {
      return;
    }
    
domPN(blockId).replaceChild(domFC(ce('div', {innerHTMLhtml})), blockId);
  },

  
changeLikeBox: function(fromto) {
    
from ge(from); to ge(to);
    var 
oldH getSize(from)[1], newH getSize(to)[1];
    
setStyle('public_like_module', {heightoldH});
    
setStyle(from, {position'absolute'zIndex0});
    
setStyle(to, {opacity0position'relative'zIndex10});
    
show(to);
    
animate(to, {opacity1}, 200, function() { hide(from); });
    if (
oldH != newHanimate('public_like_module', {heightnewH}, 200);
  },
  
unSubscribe: function() {
    Public.
changeLikeBox('unsubscribe''subscribe');
    
ajax.post('al_public.php', {act:'a_leave'pid:cur.options.public_idhash:cur.options.enterHash}, {
      
onDone: Public.updateBlock
    
});
    return 
false;
  },
  
subscribe: function() {
    Public.
changeLikeBox('subscribe''unsubscribe');
    
ajax.post('al_public.php', {act:'a_enter'pid:cur.options.public_idhash:cur.options.enterHash}, {
      
onDone: Public.updateBlock,
      
onFail: function(text) {
        if (!
text) return;
        
showFastBox({titlegetLang('global_error'), onHidenav.reload}, text);
        return 
true;
      }
    });
    return 
false;
  },
  
sharePage: function(pidhash) {
    
ajax.post('al_public.php', {act:'a_share'pid:pidhashhash}, {onDone: function(res) {
      
ge('unshare').innerHTML res;

      Public.
changeLikeBox('unsubscribe''unshare');
    }, 
showProgress: function() {
      
hide('share_page_link');
      
show('share_page_progress');
    }, 
hideProgress: function() {
      
hide('share_page_progress');
      
show('share_page_link');
    }});
  },
  
unsharePage: function(pidpost_idhash) {
    
ajax.post('al_public.php', {act:'a_unshare'pid:pidpost_id:post_idhashhash}, {onDone:function(res) {
      Public.
changeLikeBox('unshare''unsubscribe');
    }, 
showProgress: function() {
      
hide('unshare_page_link');
      
show('unshare_page_progress');
    }, 
hideProgress: function() {
      
hide('unshare_page_progress');
      
show('unshare_page_link');
    }});
  },
  
friendsBox: function() {
    
showBox('al_page.php', {act'box'oid: -cur.options.public_idtab'friends'}, {cache1});
  },

  
createLike: function(eloptions) {
    
el ge(el);
    if (!
el) return;
    
el.onclick = public.subscribe;
    
/*
    var defaults = {
      text: 'Мне нравится',
      align: 'left'
    }
    var o = extend(defaults, options);

    var cl = o.checked ? ' checked' : '';
    el.innerHTML = '<div class="like_dived like_dived_full clear_fix"><div style="width:100%" class="like_inline'+(o.align=='right'?' fl_r':(o.align=='left'?' fl_l':''))+'"><div class="like_wrap like_wrap_h22 fl_l'+cl+'" onclick="return Public.likeClick(event);" onmouseover="Public.likeOver();" onmouseout="Public.likeOut();"><div class="like_left"><div class="like_left_border"><div class="icon iconV"></div><div class="icon iconHeart"></div></div></div><div class="like_right clearFix"><div class="like_right_border fl_l">'+o.text+'</div></div><div class="clear like_bottom_shadow"></div></div></div></div>';
    if (o.align == 'center') {
      var box = geByClass('like_wrap', el)[0], inl = geByClass('like_inline', el)[0], sBox = getSize(box), sInl = getSize(inl);
      setStyle(box, {left:Math.floor((sInl[0] - sBox[0])/2)});
    }

    cur.likeButton = {o: o, wr: geByClass('like_wrap', el)[0], el: el};*/
  
},

  
showEdit: function(tab) {
    if (
cur.tab == 'edit_module_tab') return;
    
hide('public_edit_link'); show('public_edit_progress');
    var 
self this;
    
ajax.post('al_public.php', {act'a_settings'pidcur.options.public_id}, {onDone: function(htmlheadersjsextra) {
      
hide('public_edit_progress');
      
//setStyle(ge('edit_module_tab'), {height:getSize(ge('info_module_tab'))[1]});
      
ge('edit_module_tab').innerHTML html;
      
ge('extra_module_tab').innerHTML extra;
      eval(
js);
      
extend(cur.tabHeadersheaders);
      var 
onEnd = function() { show('public_edit_link');  setStyle(ge('info_module_wrap'), {borderBottomWidth:'1px'}); };
      if (!
tab) {
        
self.switchTab('edit_module_tab'onEnd);
      } else {
        
self.switchTab('edit_module_tab'cur.showList.pbind(tabonEnd));
      }
    }});
  },
  
switchTab: function(tabonEndonHeader) {
    if (!
cur.tabcur.tab 'info_module_tab';
    if (
cur.tab == tab) return;
    var 
ge('info_module_wrap'), ge('info_module_cont');
    if (
tab == 'info_module_tab'setStyle(w, {borderBottomWidth:'0px'});
    var 
hideTabs browser.msie7 || browser.msie6;

    var 
pos = {'info_module_tab':0'edit_module_tab':-397'list_module_tab':-794'extra_module_tab':-794};
    var 
urls = {'info_module_tab':'''edit_module_tab':'?act=edit''list_module_tab':'?act=edit&list='+cur.options.list, 'extra_module_tab':'?act=edit&extra=1'};
    var 
t1 ge(cur.tab), t2 ge(tab), back = (pos[tab] > pos[cur.tab]);
    var 
h1 getSize(t1)[1];

    if (
tab == 'list_module_tab') {
      
show('list_module_tab');
      
setStyle(t2, {height:h1-1});
    }

    if (
tab == 'extra_module_tab') {
      
hide('list_module_tab');
    }

    
//setStyle(w, {height:h1});
    //if (!back) setStyle(t2, {height:'auto'});
    
if (hideTabs) {
      
setStyle(c, {height:getSize(w)[1]});
      
setStyle(w, {position:'absolute'});
    }
    
setStyle(t2, {visibility:'visible'});
    var 
h2 getSize(t2)[1];
    
//setStyle(t2, {height:h1});
    //setStyle(w, {height:'auto'});

    //setStyle(ge('info_module_header'), {height:getSize(ge('info_module_header'))[1]});
    
ge('info_module_header_content').innerHTML cur.tabHeaders[tab];
    
//var hh = getSize(ge('info_module_header_content'))[1];

    
ge('public_manage_page_link').innerHTML cur.tabActions[tab];

    var 
to = (tab == 'info_module_tab' || cur.tab == 'info_module_tab') ? 300;

    if (
onHeaderonHeader();
    
animate(ge('info_tabs'), {left:pos[tab]}, to, function() {
      
//animate(ge('info_module_header'), {height:hh}, 100);
      
var inc h2 h1;
      
//if (back) setStyle(t1, {height:1});
      
if (hideTabs) {
        
setStyle(w, {position:'static'});
        
setStyle(c, {height:'auto'});
      }
      
setStyle(t1, {visibility:'hidden'});
      if (
inc == !back && h1 != h2) {
        
//animate(t2, {height:h2}, 150, function() {
          //setStyle(t2, {height:'auto'});
          
if (onEndonEnd();
          
/*
          if (browser.chrome) { //weird bug
            setStyle(t2, {paddingTop:1});
            setTimeout(setStyle.pbind(t2, {paddingTop:0}), 0);
          }
          */
        //});
      
} else {
        if (
back && tab == 'edit_module_tab') {
          
//setStyle(t2, {height:'auto'});
        
}
        if (
onEndonEnd();
      }
      
cur.tab tab;
      
nav.setLoc((cur.options.public_link.replace(/^//, ''))+urls[tab]);
    
});
    return 
false;
  },
  
editEvent: function(pideidhash) {
    var 
showBox('al_page.php', {act:'a_edit_event_box'pid:pid});
  },
  
deleteEvent: function(pideidhash) {
    
cur.reloadAfterClose true;
    
ajax.post('al_public.php', {act:'a_delete_event'pid:pideid:eidhash:hash}, {onDone: function(res){
      
curBox().content(res);
    }});
  },
  
showInput:function(el) {
    
el el.parentNode;
    
addClass(el'unshown');
    var 
input_wrap geByClass('input_wrap'el.parentNode)[0];
    
removeClass(input_wrap'unshown');
    
geByClass('text'input_wrap)[0].focus();
  },
  
hideInput: function(elval) {
    return;
  },
  
searchApp: function(pageonSearch) {
    if (
page == cur.lastLink) return;
    
ajax.post('al_public.php', {act:'a_search_app'pid:cur.options.public_idpage:page}, {onDone:function(erraidimginfohashnewHref) {
      if (
err) {
        
ge('public_app_error_msg').innerHTML err;
        
cur.appId false;
        return;
      }
      
cur.appHash hash;
      
cur.appId aid;
      
ge('public_app_error_msg').innerHTML '';
      
ge('public_app_image').innerHTML img;
      
ge('public_app_info').innerHTML info;
      if (
newHref !== undefined) {
        
ge('public_app_address').value newHref;
      }
      if (
onSearchonSearch(err);
    }});
  },
  
showPlaces: function(edit) {
    var 
showBox('al_public.php', {act'a_get_places'pidcur.options.public_ideditedit}, {
      
params: {width467progress'qwerty'},
      
stat: ['ui_controls.js''ui_controls.css']
    });
    
b.setOptions({onHideAttempt: function() {
      if (
cur.reloadAfterClose) {
        
nav.reload({noscrolltrue});
        
cur.reloadAfterClose false;
      }
      return 
true;
    }});
  },
  
addPlace: function(pid) {
    var 
showBox('al_page.php', {act'a_edit_place_box'gidpid}, {
      
stat: ['maps.js''ui_controls.js''ui_controls.css''selects.js'],
      
dark1
    
});
  },
  
deletePlace: function(pidplace_idhash) {
    if (
isVisible(curBox().progess)) {
      return;
    }
    
cur.reloadAfterClose true;
    
curBox().showProgress()
    
ajax.post('al_page.php', {act:'a_delete_place'gid:pidplace_id:place_idhash:hash}, {
      
progresscurBox().progress,
      
onDone: function(res) {
        
curBox().content(res);
        
curBox().hideProgress()
      }
    });
  },
  
rssImport: function() {
    var 
box showBox('al_public.php', {act'set_rss_import_box'pidcur.oid}, {params: {width410}});
    
box.removeButtons();
    
box.addButton(getLang('global_cancel'), box.hide'no');
    
box.addButton(getLang('global_save'), function() {
      
ajax.post('al_public.php', {act'a_set_rss_import'pidcur.oidurlge('rss_import_url').valuehashge('rss_import_hash').value}, {onDone: function(tag) {
        
ge('public_import_rss_tag').innerHTML tag;
      }});
      
box.hide();
    }, 
'yes');
  },

  
init: function(options) {
    
extend(cur, {
      
oid: -options.public_id,
      
module'public',
      
optionsoptions,
      
postTo: -options.public_id,
      
mid: -options.public_id,
      
editingfalse,
      
hideOther: Public.hideOther,
      
otherActs: Public.otherActs,
      
tabHeadersoptions.info_headers,
      
tabActionsoptions.tab_actions,
      
otherCountoptions.otherCount,
      
_back: {show: [], hide: [], textoptions.back}
    });

    if (
ge('public_wall')) {
      
wall.init(extend(options, {automore1}));
    }

    
this.createLike(ge('subscribe_button'), {onClick:function(){}, align:'center'checked:options.liked});
  },

  
toggleRss: function(objgidhashev) {
    
obj.innerHTML '<img src="/images/upload.gif" />';
    
ajax.post('al_groups.php', {act'a_toggle_rss'gidgidhashhash}, {
      
onDone: function(txt) {
        
obj.innerHTML txt;
      }
    });
  },

  
toggleTop: function(objgidhashevnocis) {
    
obj.innerHTML '<img src="/images/upload.gif" />';
    
ajax.post('al_groups.php', {act'a_toggle_top'gidgidhashhashnocisnocis}, {
      
onDone: function(txt) {
        
obj.innerHTML txt;
      }
    });
  },
  
toggleBrand: function(objgidhashev) {
    
obj.innerHTML '<img src="/images/upload.gif" />';
    
ajax.post('al_groups.php', {act'a_toggle_brand'gidgidhashhash}, {
      
onDone: function(txt) {
        
obj.innerHTML txt;
      }
    });
  },
  
toggleStickers: function(objgidhashev) {
    
obj.innerHTML '<img src="/images/upload.gif" />';
    
ajax.post('al_groups.php', {act'a_toggle_stickers'gidgidhashhash}, {
      
onDone: function(txt) {
        
obj.innerHTML txt;
      }
    });
  }
};


window.showMapBox = Public.showMapBox;

function 
initPublicNewSection(options) {
extend(cur, {
  
newPageSubmit: function(el) {
    var 
name trim(ge('new_public_name').value);
    if (!
name) { notaBene('new_public_name'); return; }
    var 
publicType ge('new_public_type').value;
    if (
publicType 0) {
      
ge('new_public_error').innerHTML getLang('public_new_no_type_error');
      
show('new_public_error_wrap');
      return;
    }
    var 
publicConfirm ge('new_public_confirm').value;
    if (!
publicConfirm) {
      
ge('new_public_error').innerHTML getLang('public_new_no_agreement_error');
      
show('new_public_error_wrap');
      return;
    }
    
lockButton(el);
    
ajax.post('al_public.php', {act:'a_new'name:nametype:publicTypehash:options.hash}, {
      
onDone: function(pid){
        
unlockButton(el);
      },
      
onFail: function(error){
        
unlockButton(el);
        if (
error) {
          
ge('new_public_error').innerHTML error;
          
show('new_public_error_wrap');
          return 
true;
        }
      }
    });
  }
});
}

var 
PagedList = function(containerdataoptions) {
  var 
isEqual = function(ab){
    if(!
isArray(a) || !isArray(b))return == b;
    for(var 
0a.length; ++i){
      if(
a[i] != b[i])return false;
    }
    return 
true;
  }

  var 
isEmpty = function(a){
    if(!
a)return true;
    for(var 
0a.length; ++i){
      if(
a[i])return false;
    }
    return 
true;
  }

  function 
cloneAr(a) {
    var 
= [];
    for (var 
0a.length; ++i) {
      
b[i] = a[i];
    }
    return 
b;
  }

  var 
defaults = {
    
getRow: function(row) { return ''; },
    
setPages: function(pagepagesside) { },
    
filter: function(searchrow) { return true; },
    
perPage30,
    
emptyRow: function(search){return '<div>no rows</div>';}
  };
  
options options extend(defaultsoptions) : defaults;

  
this.data data;
  var 
filtered_data = [];
  for (var 
0data.length; ++i) {
    
filtered_data.push(data[i]);
  }

  var 
current_search = [];
  var 
current_page 0;

  
this.setData = function(data){
    
this.data data;
    
this.getPage(0current_searchtrue);
  }

  var 
getRow options.getRow.bind(this);

  
this.getPage = function(pagesearchforce) {
    if(
search === undefined)search current_search;
    if(
current_page == page && isEqual(searchcurrent_search) && !force) return;
    
current_page page;
    if(
options.onStart)options.onStart();
    if (!
isEqual(searchcurrent_search)) {
      
current_search cloneAr(search);
      
filtered_data = [];
      for (var 
0this.data.length; ++i) {
        if(!
search || options.filter(searchthis.data[i]))filtered_data.push(this.data[i]);
      }
    }
    if(!
filtered_data.length){
      
ge(container).innerHTML options.emptyRow(search);
      
options.setPages(00'top');
      
options.setPages(00'bottom');
      return;
    }
    var 
html = [];
    for (var 
page options.perPageMath.min(filtered_data.length, (page 1) * options.perPage); ++i) {
      var 
row filtered_data[i];
      
html.push(getRow(rowcurrent_search));
    }
    var 
getSize(ge(container))[1];
    
ge(container).innerHTML html.join('');
    
setStyle(ge(container), {height:(page) ? 'auto'});
    if(
options.onShow){
      for (var 
page options.perPageMath.min(filtered_data.length, (page 1) * options.perPage); ++i) {
        var 
row filtered_data[i];
        
options.onShow(rowi);
      }
    }
    var 
pages Math.ceil(filtered_data.length options.perPage);
    
options.setPages(pagepages'top');
    
options.setPages(pagepages'bottom');
    if(
options.onEnd)options.onEnd();
  }

  
this.highlight = function(labelterm) {
    
term trim(term);
    if(!
term)return label;
    
label term.indexOf(' ') == -label.split(' ') : [label];
    var 
tmp '';
    var 
termRus parseLatin(term);

    if (
termRus != null) {
      
term term '|' termRus;
    }
    var 
re = new RegExp("(?![^&;]+;)(?!<[^<>]*)((\(*)(" term.replace('+''\+') + "))(?![^<>]*>)(?![^&;]+;)""gi");
    for (var 
i in label) {
      
tmp += (' ' '') + label[i].replace(re"$2<em>$3</em>");
    }
    return 
tmp;
  }
}

window.replaceChars = function(textnobr) {
  var 
res "";
  for (var 
0i<text.lengthi++) {
    var 
text.charCodeAt(i);
    switch(
c) {
      case 
0x26res += "&amp;"; break;
      case 
0x3Cres += "&lt;"; break;
      case 
0x3Eres += "&gt;"; break;
      case 
0x22res += "&quot;"; break;
      case 
0x0Dres += ""; break;
      case 
0x0Ares += nobr?"t":"<br>"; break;
      case 
0x21res += "&#33;"; break;
      case 
0x27res += "&#39;"; break;
      default:   
res += ((0x80 && 0xC0) || 0x500) ? "&#"+c+";" text.charAt(i); break;
    }
  }
  return 
res;
};


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