Вход Регистрация
Файл: js/al/profile.js
Строк: 1111
<?php
var Profile = {
  
showFull: function(uidgeolang) {
    if (!
cur.vkLngCode) {
      
cur.vkLngCode geolang;
    }

    var 
lnk ge('profile_full_link');
    if (
lnk) {
      
lnk.innerHTML getLang('hide_full');
      
lnk.onclick Profile.hideFull;
    }
    
ge('profile_short').innerHTML cur.options.info[1];
    
show('profile_full_info');
    if (
ge('profile_map')) {
      if (!
window.google) {
        
headNode.appendChild(ce('script', {
          
type'text/javascript',
          
src: (window.locProtocol || 'http:') + '//maps.google.com/maps/api/js?sensor=false&callback=gMapsInit&language='+(cur.vkLngCode || 'en')
        }));
        
window.gMapsInit = function() {}
      }
      var 
params = {act'profile_map'uiduid};
      if (
nav.objLoc.as) {
        
params.as = nav.objLoc.as;
      }
      
ajax.post('al_places.php'params, {
        
onDone: function(htmljs) {
          if (
html) {
            
ge('profile_map').innerHTML html;
            eval(
'(function () {' js '})();');
          } else {
            
re('profile_map');
          }
        },
        
stat: ['places.js']
      });
    }
  },
  
hideFull: function() {
    var 
lnk ge('profile_full_link');
    if (
lnk) {
      
lnk.innerHTML getLang('show_full');
      
lnk.onclick Profile.showFull;
    }
    
ge('profile_short').innerHTML cur.options.info[0];
    
hide('profile_full_info''profile_class_hint');
  },
  
showGroups: function(e) {
    if (
checkEvent(e) !== false) return;
    var 
lnk ge('profile_groups_link');
    
lnk.oldText val(lnk);
    
ajax.post('al_profile.php', {act'groups'idcur.oid}, {onDone: function(labeltext) {
      if (
text) {
        
val(lnklabel);
        
lnk.onclick Profile.hideGroups;
        var 
pag ge('profile_all_groups');
        
val(pagtext);
        
show(pag.parentNode);
      } else {
        
hide(lnk);
      }
    }, 
showProgress: function() {
      
val(lnk'<div class="progress" id="profile_groups_prg"></div>');
    }, 
hideProgress: function() {
      
val(lnklnk.oldText);
    }, 
cache1});
    return 
cancelEvent(e);
  },
  
hideGroups: function(e) {
    if (
checkEvent(e) !== false) return;
    var 
lnk ge('profile_groups_link');
    
val(lnklnk.oldText);
    
lnk.onclick Profile.showGroups;
    
hide(ge('profile_all_groups').parentNode);
    return 
cancelEvent(e);
  },
  
photoRemoveTip: function(lnk) {
    if (!((
cur || {}).lang || {}).profile_photo_hide) return;
    
showTooltip(lnk, {
      
textgetLang('profile_photo_hide'),
      
shift: [1311],
      
black1
    
});
  },
  
photoRemove: function(lnkphoto_idev) {
    if (
cur.viewAsBox) {
      
cur.viewAsBox();
      return 
cancelEvent(ev);
    }
    if (!
cur.hidingPhcur.hidingPh = {};
    if (
cur.hidingPh[photo_id]) return cancelEvent(ev);

    
ajax.post('al_profile.php', {act'remove_photo'photo_idphoto_idhashcur.options.profph_hash}, {
      
onDone: function(aboutphotos) {
        
val(ge('profile_photos_about') || ge('profile_photos_module').appendChild(ce('div', {className'msg'id'profile_photos_about'})), about);
        
each(geByClass('profile_photo_hide_wrap'ge('profile_photos')), function() {
          if (
this.tt && this.tt.destroy) {
            
this.tt.destroy();
          }
        });
        
val('profile_photos'photos);
        if (!
photos) {
          
hide('profile_photos_module');
        }
      },
      
showProgress: function() {
        
cur.hidingPh[photo_id] = 1;
      },
      
hideProgress: function() {
        
cur.hidingPh[photo_id] = 0;
      }
    });
    return 
cancelEvent(ev);
  },
  
photoReturn: function(lnkphoto_id) {
    if (
cur.viewAsBox) return cur.viewAsBox();

    
ajax.post('al_profile.php', {act'return_photo'photo_idphoto_idhashcur.options.profph_hash}, {
      
onDone: function(photos) {
        
each(geByClass('profile_photo_hide_wrap'ge('profile_photos')), function() {
          if (
this.tt && this.tt.destroy) {
            
this.tt.destroy();
          }
        });
        
val('profile_photos'photos);
        
re('profile_photos_about');
      },
      
showProgress: function() {
        
hide(lnk);
        
lnk.nextSibling.style.display 'inline';
      },
      
hideProgress: function() {
        
hide(lnk.nextSibling);
        
show(lnk);
      }
    });
  },

  
otherActs: function(el) {
    
clearTimeout(cur.hideOtherTimer);
    if (!
el) return false;
    
el.blur();
    var 
acts ge('profile_other_acts');
    if (
isVisible(acts)) {
      
fadeIn(acts0);
      return 
false;
    }
    
setTimeout(addEvent.pbind(document'click'Profile.hideOther), 1);
    
acts.style.marginLeft '-1px';
    
acts.style.marginTop '-21px';
    
show(acts);
    return 
false;
  },
  
hideOther: function(timeout) {
    if (
timeout 0) {
      
cur.hideOtherTimer setTimeout(Profile.hideOther.pbind(0), timeout);
      return;
    }
    var 
acts ge('profile_other_acts');
    if (!
acts) return;
    if (
timeout == -1) {
      
hide(acts);
    } else {
      
fadeOut(acts200);
    }
    
removeEvent(document'click'Profile.hideOther);
  },

  
editPhoto: function(newph) {
    
Profile.hideOther(-1);
    if (
cur.viewAsBox) return cur.viewAsBox();

    
showBox('/al_profile.php'extend(newph || {}, {act'edit_photo'}), {
      
params: {bodyStyle'padding: 16px 7px'},
      
stat: ['tagger.js''tagger.css']
    });
  },
  
deletePhoto: function() {
    
Profile.hideOther(-1);
    if (
cur.viewAsBox) return cur.viewAsBox();

    
showBox('al_profile.php', {act'delete_photo_box'});
  },

  
setupSMS: function(hash) {
    
Profile.hideOther(-1);
    if (
cur.viewAsBox) return cur.viewAsBox();

    
showBox('al_mobile.php', {act'configure_sms_notifications'midcur.oidhashhash});
  },
  
toggleFan: function(btnhashactev) {
    if (
cur.viewAsBox) {
      
Profile.hideOther(-1);
      return 
cur.viewAsBox();
    }

    if (
cur.toggleFanAct != undefined) {
      
act cur.toggleFanAct;
    }
    
ajax.post('al_fans.php', {actact 'be_fan' 'not_fan'midcur.oidhashhash}, {onDone: function(text) {
      
btn.firstChild.nextSibling.innerHTML text;
      
cur.toggleFanAct = !act;
    }, 
progressbtn.firstChild});
    
cancelEvent(ev);
  },
  
toggleFave: function(btnhashactev) {
    if (
cur.viewAsBox) {
      
Profile.hideOther(-1);
      return 
cur.viewAsBox();
    }

    if (
cur.toggleFaveAct != undefined) {
      
act cur.toggleFaveAct;
    }
    
ajax.post('fave.php', {actact 'addPerson' 'deletePerson'midcur.oidhashhash}, {onDone: function(text) {
      
btn.firstChild.nextSibling.innerHTML text;
      
cur.toggleFaveAct = !act;
    }, 
progressbtn.firstChild});
    
cancelEvent(ev);
  },
  
toggleFriend: function(btnhashactevsure) {
    if (
cur.viewAsBox) {
      
Profile.hideOther(-1);
      return 
cur.viewAsBox();
    }

    if (
act) {
      if (
sure !== true && cur.options.bannedhim) {
        
showBox('al_profile.php', {act'banned_him'action'friend'midcur.oid}).onContinue Profile.toggleFriend.pbind(btnhashactfalsetrue);
        return 
cancelEvent(ev);
      }
      
stManager.add(['tooltips.css''tooltips.js']);
    }

    
ajax.post('al_friends.php', {actact 'add' 'remove'midcur.oidhashhashfrom'profile'}, {
      
onDone: function(textvisttTextttScriptdoReload) {
        if (
act && cur.onFreindAdd) {
          
cur.onFreindAdd();
        }
        if (!
text) return nav.reload();
        var 
tt = (ge('profile_am_subscribed') || {}).tt;
        if (
tt) {
          
tt.hide({fasthide1});
          
tt.destroy();
        }
        
Profile.hideOther(-1);
        var 
fs ge('friend_status');
        
cleanElems(fs.firstChild);
        if (
text) {
          
show(fs);
          
val(fstext);
        } else {
          
hide(fs);
        }
        (
vis show hide)('friend_remove');
        if (
doReload || cur.options.bannedhim) {
          
nav.reload();
        } else if (
ttText) {
          
ajax.preload('al_friends.php', {act'friend_tt'midcur.oid}, [ttTextttScript])
          
setTimeout(Profile.friendTooltip0);
        }
      },
      
showProgressbtn.tagName == 'BUTTON' lockButton.pbind(btn) : show.pbind(btn.firstChild),
      
hideProgressbtn.tagName == 'BUTTON' unlockButton.pbind(btn) : hide.pbind(btn.firstChild),
      
onFail: function(text) {
        if (!
text) return;

        
showFastBox(getLang('global_error'), text);
        return 
true;
      }
    });
    
cancelEvent(ev);
  },
  
friendTooltip: function() {
    if (
cur.viewAsBox) {
      return;
    }

    return 
showTooltip(ge('profile_am_subscribed'), {
      
url'al_friends.php',
      
params: {act'friend_tt'midcur.oid},
      
slide15,
      
hidedt500,
      
shift: [23, -1, -10],
      
className'preq_tt',
      
forcetodowntrue
    
});
  },
  
submitReqText: function() {
    var 
msg trim(val('preq_input'));
    if (!
msg) return elfocus('preq_input');

    var 
oid cur.mfid cur.mfid cur.oid;
    
ajax.post('al_friends.php', {act'request_text'midoidmessagemsghashcur.reqHash}, {onDone: function(text) {
      if (!
text) return;

      var 
ge('preq_text');
      
val(ttext);
      
show(t.parentNode);
      
hide(ge('preq_input').parentNode);
    }, 
showProgresslockButton.pbind('preq_submit'), hideProgressunlockButton.pbind('preq_submit')});
  },
  
reqTextChanged: function(ev) {
    
onCtrlEnter(evProfile.submitReqText);
    var 
field ge('preq_input');
    var 
trim(val(field)).replace(/nnn+/g'nn');
    if (
field.lastLen === v.length) return;
    
field.lastLen v.length;
    var 
countRealLen = function(text) {
      var 
spec = {'&'5'<'4'>'4'"'6"n"4"r"0'!'5"'"5};
      var 
res 0;
      for (var 
0text.lengthli++) {
        var 
spec[text.charAt(i)], text.charCodeAt(i);
        if (
!== undefinedres += k;
        else if ((
0x80 && 0xC0) || 0x500res += ('&#' ';').length;
        else 
res += 1;
      }
      return 
res;
    }
    var 
realLen countRealLen(v), maxLen 240;
    var 
brCount = (realLen v.replace(/n/g'').length) / 4;
    var 
warn ge('preq_warn');
    if (
realLen maxLen 40 || brCount 4) {
      if (
realLen maxLen) {
        
warn.innerHTML getLang('friends_exceeds_symbol_limit'realLen maxLen);
      } else if (
brCount 4) {
        
warn.innerHTML getLang('friends_exceeds_lines_limit'brCount 4);
      } else {
        
warn.innerHTML getLang('text_N_symbols_remain'maxLen realLen);
      }
      
show(warn);
    } else {
      
hide(warn);
    }
  },
  
toggleBlacklist: function(btnhashev) {
    if (
cur.viewAsBox) {
      
Profile.hideOther(-1);
      return 
cur.viewAsBox();
    }

    
ajax.post('al_settings.php', {actcur.options.bannedhim 'a_del_from_bl' 'a_add_to_bl'idcur.oidhashhashfrom'profile'}, {onDone: function(text) {
      
domNS(domFC(btn)).innerHTML text;
      
cur.options.bannedhim = !cur.options.bannedhim;
    }, 
progressdomFC(btn)});
    
cancelEvent(ev);
  },
  
toggleFeedIgnored: function(btnhashev) {
    if (
cur.viewAsBox) {
      
Profile.hideOther(-1);
      return 
cur.viewAsBox();
    }

    
ajax.post('al_feed.php', {actcur.options.ignoredhim 'a_unignore_owner' 'a_ignore_owner'owner_idcur.oidhashhashfrom'profile'}, {onDone: function(text) {
      
domNS(domFC(btn)).innerHTML text;
      
cur.options.ignoredhim = !cur.options.ignoredhim;
    }, 
progressdomFC(btn)});
    
cancelEvent(ev);
  },
  
showGiftBox: function(midev) {
    
Profile.hideOther(-1);
    
cur.gftbxWasScroll boxLayerWrap.scrollTop;
    
boxLayerWrap.scrollTop 0;
    if (
cur.viewAsBox) return cur.viewAsBox();

    var 
cache cur.ignoreBoxCache 1;
    
cur.ignoreBoxCache false;
    return !
showBox('al_gifts.php', {act'get_gift_box'midmidfr: (mid == vk.id 0)}, {stat: ['gifts.css''wide_dd.js''wide_dd.css'], cachecache}, ev);
  },
  
showHideGiftsBox: function(ev) {
    
Profile.hideOther(-1);
    if (
cur.viewAsBox) return cur.viewAsBox();
    var 
msg getLang('profile_sure_hide_gifts').replace('{link}''<a href="/settings">').replace('{/link}''</a>').replace('{link1}''<a href="/settings?act=privacy">').replace('{/link1}''</a>');

    var 
box showFastBox({titlegetLang('global_warning'), bodyStyle'line-height: 140%;'width350}, msggetLang('profile_gifts_hide_button'), function() {
      
ajax.post('al_profile.php', {
        
act'hide_gifts',
        
hashcur.options.gifts_hash
      
}, {
        
onDone: function() {
          
slideUp('profile_gifts'200);
          
box.hide();
        },
        
progressbox.progress
      
});
    }, 
getLang('global_cancel'));
    
cancelEvent(ev);
    return 
false;
  },
  
showNewGift: function(giftId) {
    var 
gifts ge('profile_gifts');
    if (!
gifts || !giftId) return;
    var 
images geByTag('img'geByClass1('module_body'gifts)), pic vkImage();
    
pic.src '/images/gifts/'+(window.devicePixelRatio >= ?'96':'48')+'/'+giftId+'.png';
    var 
onload = function() {
      var 
firstPic images[0], firstPic.parentNodeimgCount images.length;
      if (
firstPic) {
        
addClass(pic'giftImg');
        
setStyle(a, {marginLeft: -pic.width+'px'});
        
firstPic.parentNode.insertBefore(picfirstPic);
        
animate(a, {marginLeft'0px'}, 200, function() {
          if (
imgCount >= 4re(images[images.length 1]);
        })
      }
    };
    if (!
pic.width) {
      
addEvent(pic'load'onload);
    } else {
      
onload();
    }
  },
  
declineFriend: function(hash) {
    if (
cur.viewAsBox) return cur.viewAsBox();
    
ajax.post('al_friends.php', {act'remove'midcur.oidhashhash}, {onDone: function(text) {
      
hide('friend_request_actions');
    }});
  },
  
showWishesBox: function(ev) {
    return 
true;
    
//return !showTabbedBox('al_gifts.php', {act: 'wishlist_box', mid: cur.oid}, {stat: ['gifts.css'], cache: 1}, ev);
  
},
  
processRelation: function(elmidhashaccept) {
    if (
cur.viewAsBox) return cur.viewAsBox();

    var 
pos getXY(el), parpos getXY(el.parentNode);
    var 
pr ge('relation_progress' mid), lnk ge('profile_full_link');
    
ajax.post('al_profile.php', {
      
act'process_relation',
      
midmid,
      
acceptaccept '',
      
full_shownlnk '',
      
hashhash
    
}, {
      
onDone: function(short_infolong_info) {
        
cur.options.info = [short_infolong_info];
        if (
isVisible('profile_full_info')) {
          
Profile.showFull();
        } else {
          
Profile.hideFull();
        }
      },
      
showProgress: function() {
        
pr.style.left = (el.offsetLeft Math.floor((el.offsetWidth 32) / 2)) + 'px';
        
show(pr);
        
el.style.visibility 'hidden';
      },
      
hideProgress: function() {
        
el.style.visibility 'visible';
        
hide(pr);
      }
    });
  },
  
showFans: function(ev) {
    if (
cur.viewAsBox) return cur.viewAsBox();

    return !
showTabbedBox('al_fans.php', {act'show_fans_box'oidcur.oid}, {cache1}, ev);
  },
  
showIdols: function(ev) {
    if (
cur.viewAsBox) return cur.viewAsBox();

    return !
showTabbedBox('al_fans.php', {act'show_idols_box'oidcur.oid}, {cache1}, ev);
  },
  
showPublics: function(ev) {
    if (
cur.viewAsBox) return cur.viewAsBox();

    return !
showTabbedBox('al_fans.php', {act'show_publics_box'oidcur.oid}, {cache1}, ev);
  },
  
fansBox: function(oidevtab) {
    if (
cur.viewAsBox) return cur.viewAsBox();
    return !
showBox('al_fans.php', {act'box'tabtab || 'fans'oidoid}, {cache1stat: ['page_help.css''fansbox.js']}, ev);
  },
  
giftsBox: function(midevtab) {
    if (
cur.viewAsBox) return cur.viewAsBox();
    return !
showBox('al_gifts.php', {act'box'tabtab || 'received'midmid}, {cache1stat: ['gifts.css''gifts.js']}, ev);
  },
  
idolsBox: function(oidev) {
    return 
Profile.fansBox(oidev'idols');
  },
  
showClassHint: function(text) {
    var 
cl ge('profile_class');
    if (!
cl) return;

    var 
hint cur.classhint bodyNode.appendChild(ce('div', {id'profile_class_hint'innerHTML'
<table cellspacing="0" cellpadding="0">
  <tr>
    <td rowspan="2"><div class="pointer"></div></td>
    <td><div class="content">' 
text '</div></td>
  </tr>
  <tr><td><div class="bottom"></div></td></tr>
</table>'
}, {display'none'}));

    var 
xy getXY(cl), elsize getSize(cl);

    
hint.style.opacity 0;
    
show(hint);
    var 
size getSize(hint);

    var 
top xy[1] - Math.floor((size[1] - elsize[1]) / 2);
    var 
newleft xy[0] + (vk.rtl ? -(size[0] + 10) : (elsize[0] + 10));
    
hint.style.left = (newleft + (vk.rtl ? -10 10)) + 'px';
    
hint.style.top top 'px';

    var 
showhint animate.pbind(hint, {leftnewleftopacity1}, 500false), img vkImage();
    
img.onload showhint;
    
img.src '/images/classhint.gif';

    
cur.destroy.push(function(c) {
      if (
c.classhint && c.classhint.parentNode) {
        
c.classhint.parentNode.removeChild(c.classhint);
        
c.classhint false;
      }
    });
    if (
cur._back) {
      
cur._back.hide.push(function() {
        if (
cur.classhint && cur.classhint.parentNode) {
          
cur.classhint.parentNode.removeChild(cur.classhint);
          
cur.classhint false;
        }
      });
    }
  },
  
init: function(opts) {
    
extend(cur, {
      
module'profile',
      
hideOtherProfile.hideOther,
      
optionsopts,
      
oidopts.user_id,
      
postToopts.user_id,
      
editingfalse,
      
viewAsWarnopts.view_as_warn,
      
viewAsBoxopts.view_as ? function() {
        
setTimeout(showFastBox(getLang('global_warning'), cur.options.view_as).hide2000);
        return 
false;
      } : 
false,
      
_backopts.view_as false : {locopts.locshow: [], hide: [], textopts.back}
    });
    if (
opts.view_as) {
      
cur.nav.push(function(changedoldnopts) {
        if (
cur._leave) {
          
cur._leave false;
          return;
        }
        
showFastBox(getLang('global_warning'), cur.viewAsWarngetLang('global_continue'), function() {
          
cur._leave true;
          
nav.go(n);
        }, 
getLang('global_cancel'));
        return 
false;
      });
    }
    if (
opts.mail_cache) {
      
ajax.preload('al_mail.php', {act'write_box'tocur.oid}, opts.mail_cache)
    }
    if (
ge('profile_wall')) {
      
wall.init(extend(opts, {automore1}));
    }
    if (
opts.class_hint) {
      
cur.clHintTimer setTimeout(Profile.showClassHint.pbind(opts.class_hint), 1000);
    }
    if (
opts.invite_hint) {
      
cur.invHintTimer setTimeout(function() {
        var 
hint ge('top_invite_hint');
        
showTooltip(hint, {
          
textopts.invite_hint,
          
slide30,
          
shift: [vk.rtl ? -220 000],
          
showdt0,
          
showsp500,
          
forcetodowntrue,
          
className'invite_tt'
        
});
        
cur.tsUpdated Profile.inviteHintUpdate;
        
stManager.add(['tooltips.css''tooltips.js'], cur.tsUpdated);
      }, 
1000);
    }
    (
cur._back cur._back.hide cur.destroy).push(function(c) {
      
clearTimeout((|| cur).clHintTimer);
      
clearTimeout((|| cur).invHintTimer);
    });
    if (
nav.objLoc.suggest) {
      
delete nav.objLoc.suggest;
      
Profile.suggestFriends();
    }

    
setTimeout(function () {
      if (
window.FastChat && (window.curFastChat && curFastChat.inited || window.curNotifier && curNotifier.fc !== undefined)) {
        
show('profile_fast_chat');
      }
    }, 
100);
    var 
_a window.audioPlayeraid currentAudioId();
    if (
_a && aid && _a.showCurrentTrack_a.showCurrentTrack();

    if (
opts.photos_upload) {
      
stManager.add(['upload.js'], Profile.initPhotosUpload);
    }

    
cur.onPeerStatusChanged = function(peerevTypeevData) {
      if (
peer == cur.oid) {
        var 
lv ge('profile_online_lv');
        if (
evType == 'online') {
          
evData intval(evData);
          
setStyle('profile_mobile_online', {display: (evData && evData != 1) ? 'inline' 'none'});
          if (!
isVisible(lv)) {
            
hide('profile_time_lv');
            
setStyle(lv, {overflow'hidden'display'block'height0paddingTop12opacity0});
            
show(lv);
            
animate(lv, {paddingTop0height12opacity1}, 200, function() {
              
setStyle(lv, {overflow'auto'height'auto'});
            });
            
ajax.post('al_profile.php', {act'a_get_online_info'uidcur.oid}, {
              
onDone: function(cl) {
                var 
btn ge('profile_message_send');
                if (
hasClass(btncl)) return;
                
animate(btn, {opacity0}, 200, function() {
                  
btn.className 'profile_action_btn ' cl;
                  
animate(btn, {opacity1}, 200)
                })
              }
            });
          }
        } else if (
evType == 'offline') {
          
setStyle(lv, {overflow'hidden'display'block'height12paddingTop0opacity1});
          
animate(lv, {paddingTop12height0opacity0}, 200, function() {
            
hide(lv);
          });
          var 
btn ge('profile_message_send');
          if (
hasClass(btn'profile_msg_call')) {
            var 
cl 'profile_msg_none';
          } else if (
hasClass(btn'profile_msg_split')) {
            var 
cl 'profile_msg_msg';
          }
          if (
cl) {
            
animate(btn, {opacity0}, 200, function() {
              
btn.className 'profile_action_btn ' cl;
              
animate(btn, {opacity1}, 200)
            })
          }
        }
      }
    }
  },
  
inviteHintUpdate: function() {
    var 
hint ge('top_invite_hint');
    if (!
hint || !hint.tt || !hint.tt.container) return;
    var 
lnk isVisible('ts_wrap') ? ge('ts_settings') : ge('top_invite_link'), 00;
    if (
vk.rtl) {
      
= (413 lnk.parentNode.parentNode.offsetLeft - (lnk.offsetWidth 2)) + 'px';
    } else {
      
= (lnk.parentNode.parentNode.offsetLeft + (lnk.offsetWidth 2) - 370) + 'px';
    }
    
geByClass1('top_pointer'hint.tt.container).style.margin '0px ' ' 0px ' l;
  },
  
appStatusUpdate: function(hash) {
    if (!
cur.ciApp) return;

    var 
exp isChecked('currinfo_app');
    
ajax.post('al_apps.php', {act'toggle_currinfo'hashhashexpexpidcur.ciApp}, {onDone: function(text) {
      if (
vk.id != cur.oid || !text) return;
      
val('current_info'text);
    }})
  },
  
suggestFriends: function() {
    if (
cur.viewAsBox) return cur.viewAsBox();

    var 
box showBox('al_friends.php', {
      
act'select_friends_box',
      
from'suggest_friends',
      
friend_idcur.oid
    
}, {stat: ['privacy.js''privacy.css''indexer.js']});
    
box.leaveOnSave true;
    
cur.onFlistSave = function(ids, list, hash) {
      
//if (!ids || !ids.length) return;
      
ajax.post('al_friends.php', {
        
act'a_suggest_friends',
        
midcur.oid,
        
idsids.join(','),
        
hashhash
      
}, {
        
onDone: function(text) {
          
box.hide();
          
showDoneBox(text);
        },
        
showProgressbox.showProgress,
        
hideProgressbox.hideProgress
      
});
    }
  },
  
giftTooltip: function(objeventmid) {
    if (
checkEvent(event)) return true;
    if (
cur.hideGifts && !cur.giftsHidden) {
      return 
cur.hideGifts(event);
    }
    var 
is_module hasClass(obj'module_header');
    
addClass(objis_module 'module_inverted' 'gifts_inverted');
    if (
cur.giftsPrepare || !cur.votesBox) {
      if (!
cur.giftsPrepare) {
        
Profile.prepareGiftTooltip();
      }
      
addClass(objis_module 'module_inverted_loading' 'gifts_inverted_loading');
      
cur.onGiftsLoad Profile.giftTooltip.pbind(objeventmid);
      return 
cancelEvent(event);
    }
    
removeClass(objis_module 'module_inverted_loading' 'gifts_inverted_loading');
    if (!
cur.votesBox) {
      return 
false;
    }
    if (
Pads && Pads.hide) {
      
Pads.hide();
    }
    var 
html cur.votesBox[0];
    var 
js cur.votesBox[1];

    eval(
'(function(){' js ';})()');
    if (
obj.tt && obj.tt.container && !cur.giftsTooltipEl) {
      
cur.giftsTooltipEl re(geByClass1('gifts_profile_block'obj.tt.container));
    }
    
cur.giftsHidden false;
    
addEvent(document'click'cur.hideGifts);
    
addEvent(document'keydown'cur.hideGiftsOnEsc);
    return 
cancelEvent(event);
  },
  
prepareGiftTooltip: function(eventmid) {
    if (!
cur.votesBox && !cur.giftsPrepare) {
      
cur.giftsPrepare true;
      
ajax.post('/al_gifts.php', {act'new_gift_box'midmid}, {
        
onDone: function() {
          var 
args = Array.prototype.slice.call(arguments),
              
div ce('div', {innerHTMLargs[0]}); // preload imgs
          
cur.votesBox args;
          
cur.giftsPrepare false;
          if (
cur.onGiftsLoad) {
            
cur.onGiftsLoad();
          }
        },
        
stat: ['gifts.css''tooltips.js''tooltips.css''notifier.js']
      })
    }
  },
  
giftSend: function() {
    var 
uid cur.oidnum ge('gifts_selected_num').value;
    
lockButton('gifts_submit');
    
ajax.post('al_gifts.php', {
      
act'do_send',
      
midsuid,
      
typeisChecked('receiver_only') ? 0,
      
numbernum,
      
textge('gifts_message').value,
      
hashge('gifts_hash').value,
      
from'profile',
      
need_modulege('profile_gifts') ? 1,
      
old1
    
}, {
      
onDone: function(datatextgiftsCntgiftsModule) {
        
updateMoney(data);
        
ge('gifts_message').value '';
        
checkbox('receiver_only'false);
        
unlockButton('gifts_submit');
        
cur.hideGifts && cur.hideGifts();
        if (
cur.clearGiftTt) {
          if (
cur.clearGiftTt.ttcur.clearGiftTt.tt.destroy();
          
cur.votesBox cur.giftsPrepare cur.onGiftsLoad cur.clearGiftTt false;
        }
        
text text.replace('<b>''<div class="top_result_header">').replace('</b><br>''</div>');
        
showDoneBox(text, {out1500});
        
cur.ignoreBoxCache true;
        if (
cur.module == 'profile' && cur.oid == uid && window.Profile) {
          if (
ge('gifts_module_count') && giftsCnt) {
            
ge('gifts_module_count').innerHTML giftsCnt;
            
Profile.showNewGift(num);
          } else if (!
ge('profile_gifts') && giftsModule) {
            
hide('gifts_count_module');
            var 
firstModule geByClass1('module'ge('profile_narrow'));
            if (
firstModule) {
              
firstModule.parentNode.insertBefore(se(giftsModule), firstModule);
            }
          }
        }
      },
      
onFail: function(text) {
        
unlockButton('gifts_submit');
        
cur.hideGifts && cur.hideGifts();
        
text && topError(text);
        return 
true;
      }
    });
  },
  
publishPhotos: function(photos) {
    var 
query = {
      
act'post',
      
type'photos_upload',
      
to_idvk.id,
      
attach1_type'photos_list',
      
attach1photos,
      
hashcur.options.photos_post_hash || ''
    
}
    if (!
window.Notifier || !window.curFastChat || !curFastChat.ready) {
      
query.need_wall 1;
    }
    
ajax.post('/al_wall.php'query, {
      
onDone: function(wall) {
        
cur.photoUploadBox.hide();
        
delete cur.photoUploadBox;
        
delete cur.savedPhotos;
        
showDoneBox('<div style="font-weight: bold">' getLang('profile_photos_published') + '</div>', {w320});
        if (
query.need_wall && wall && ge('page_wall_posts')) {
          
ge('page_wall_posts').innerHTML wall;
        }
      },
      
onFail: function() {
        
cur.photoUploadBox.hide();
        
delete cur.photoUploadBox;
        
delete cur.savedPhotos;
      }
    });
    return 
false;
  },
  
initPhotosUploadBox: function() {
    if (
cur.photoUploadBox) return;
    
cur.photoUploadBox showFastBox({titlegetLang('profile_photo_upload_title'), width410onHide: function() {
        
Upload.embed(cur.phUplInd || 0);
        
delete cur.photoUploadBox;
        
delete cur.savedPhotos;
      }}, 
'<div class="profile_photo_upload_box"><div>' getLang('profile_photos_uploading') + '</div><div id="profile_photo_upload_label"></div><div class="profile_progress_wrap"><div id="profile_photo_progress" class="profile_progress" style="width: 0%;"></div></div></div>'getLang('global_cancel'), function() {
      
cur.photoUploadBox.hide();
      
delete cur.photoUploadBox;
      
delete cur.savedPhotos;
    });
    
cur.photoUploadBox.changed 1;
  },
  
initPhotosUpload: function() {
    if (
browser.flash <= 9) return false;
    var 
photos_data = (cur.options || {}).photos_upload,
        
area ge('profile_photos_upload') || ge('profile_photos_extra_link'), el se('<div id="profile_photo_uploader" onclick="cancelEvent(event); return false;" style="position: absolute; height: 100%; width: 100%; cursor: pointer;"></div>');
    if (!
photos_data || !area) return false;

    
area.parentNode.insertBefore(elarea);
    
cur.lang extend(cur.lang || {}, photos_data.opts.lang);
    
cur.phUplInd Upload.init('profile_photo_uploader'photos_data.urlphotos_data.params, {
      
file_name'photo',
      
file_size_limit1024 1024 5// 5Mb
      
file_types_description'Image files (*.jpg, *.jpeg, *.png, *.gif)',
      
file_types'*.jpg;*.JPG;*.jpeg;*.JPEG;*.png;*.PNG;*.gif;*.GIF',
      
accept'image/jpeg,image/png,image/gif',
      
file_match:  photos_data.opts.ext_re,
      
lang: {},

      
onUploadStart: function(infores) {
        
Profile.initPhotosUploadBox();
        var 
txt;
        if (
info.num == undefined) {
          
info res;
        }
        if (
info.num === 0) {
          
txt = (info.totalCount 1) ? getLang('profile_photos_uploading_x').replace('%s'info.totalCount) : getLang('profile_photo_uploading');
        } else {
          
txt getLang('profile_photos_uploaded_x'info.num).replace('{count}'info.totalCount);
        }
        
ge('profile_photo_upload_label').innerHTML txt;
      },
      
onUploadComplete: function(infores) {
        if (
info.totalCount && info.totalCount == info.num 1) {
          
ge('profile_photo_upload_label').innerHTML getLang('profile_photos_uploaded_x'info.totalCount).replace('{count}'info.totalCount);
        }
        var 
paramsinfo.ind !== undefined info.ind info;
        try {
          
params = eval('(' res ')');
        } catch(
e) {
          
params q2ajx(res);
        }
        if (
params.photos) {
          
cur.savedPhotos cur.savedPhotos || {midparams.midgidparams.gidaidparams.aidserverparams.server};
          
cur.savedPhotos.photos cur.savedPhotos.photos || [];
          
cur.savedPhotos.photos.push({photoparams.photoshashparams.hash});
          return;
        }
      },
      
onUploadProgress: function(infobytesLoadedbytesTotal) {
        
Profile.initPhotosUploadBox();
        var 
newWidth intval(bytesLoaded bytesTotal 250);
        
animate(ge('profile_photo_progress'), {widthnewWidth 'px'}, 200);
      },
      
onUploadCompleteAll: function (i) {
        if (
cur.photoUploadBox) {
          if (
cur.savedPhotos) {
            var 
query = {act'done_add'context1from'profile_block'}, 1;
            for (var 
j in (cur.savedPhotos.photos || [])) {
              
query['photo'+k] = cur.savedPhotos.photos[j].photo;
              
query['hash'+k] = cur.savedPhotos.photos[j].hash;
              
k++;
            }
            
delete cur.savedPhotos.photos;
            
query extend(querycur.savedPhotos);
            
ajax.post('/al_photos.php'query, {
              
onDone: function(saved_photoshtmlscript) {
                if (
ge('profile_photos_module')) {
                  
ge('profile_photos_module').innerHTML se(html).innerHTML;
                  if (
script) eval(script);
                }
                if (
saved_photosProfile.publishPhotos(saved_photos);
              },
              
onFail: function() {
                
cur.photoUploadBox.hide();
                
delete cur.photoUploadBox;
                
delete cur.savedPhotos;
                
Upload.embed(cur.phUplInd || 0);
              }
            })
          } else {
            
cur.photoUploadBox.hide();
            
delete cur.photoUploadBox;
            
delete cur.savedPhotos;
          }
          
show(cur.photoUploadBox.progress);
        }
      },
      
onUploadError: function(i) {
        
debugLog('error'arguments); return;
      },
      
onSelectClick: function(i) {
        if (!
Upload.checked || !Upload.checked[i]) {
          
Upload.check(i);
        }
      },
      
onCheckComplete: function(i) {
        try {
          var 
postData = [], vars Upload.vars[i];
          for (var 
k in vars) {
            
postData.push(k+'='+vars[k]);
          }
          if (!
vars['ajx']) {
            
postData.push('ajx=1');
          }
          
ge('uploader_lite'+i).configureServer(Upload.uploadUrls[i], escape(postData.join('&')));
        } catch (
e) {debugLog(e);}
      },
      
onDebugdebugLog,

      
flashPath'/swf/photo_uploader_lite.swf',
      
hoverElge('profile_photos_upload') || ge('profile_photos_extra_link'),
      
flash_lite1,
      
noCheck1,
      
noForm1,
      
flashHeightgetSize(area)[1],
      
forceFlash1,
      
multiple1,
      
multi_progress1,
      
max_files50,
      
clear1,
      
type'photo',
      
max_attempts3,
      
serverphotos_data.opts.server,
      
errorphotos_data.opts.default_error,
      
error_hashphotos_data.opts.error_hash,
      
labelphotos_data.opts.label,
      
dragElbodyNode
    
});
  }
}, 
profile Profile;

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