Вход Регистрация
Файл: sys/themes/light_web/user.js
Строк: 723
<?php
function user_update_mail_notice() {
    
/**
     * тут можно сделать дополнительное (звуковое) уведомление пользователя
     */
}

function 
user_update_mail(count) {
    
count = +count;
    var 
dom_mail document.querySelector('#user_mail');


    if (
USER.mail_new_count != count)
        
user_update_mail_notice();
    
USER.mail_new_count count;

    if (
USER.mail_new_count) {
        
dom_mail.querySelector('span').innerHTML USER.mail_new_count;
        
DCMS.Dom.classRemove(dom_mail'hide');
    } else {
        
DCMS.Dom.classAdd(dom_mail'hide');
    }

}

function 
user_update_friends(count) {
    
count = +count;

    var 
dom_friend document.querySelector('#user_friend');
    
USER.friend_new_count count;

    if (
USER.friend_new_count) {
        
dom_friend.querySelector('span').innerHTML USER.friend_new_count;
        
DCMS.Dom.classRemove(dom_friend'hide');
    } else {
        
DCMS.Dom.classAdd(dom_friend'hide');
    }
}

function 
user_update(data) {
    if (
data.id != USER.id) {
        
//console.log(USER, data);
        
DCMS.UserUpdate.stop();
        
//window.location.reload();
        
return;
    }

    
user_update_mail(data.mail_new_count);
    
user_update_friends(data.friend_new_count);
}

// подписываемся на событие поступления новых данных пользователя
DCMS.Event.on('user_update'user_update);

/**
 * Сворачиваем поле ввода до дефолтных размеров
 */
function onTextareaBlur() {
//DCMS.Animation.style(textarea, 'height', '' , 300);
}

function 
onTextareaChange() {
    var 
textarea this;
    var 
hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true false;

    var 
attributes_copy = ['width''font''padding'];
    var 
testdiv DCMS.Dom.createFromHtml('<div style="position: absolute; left: -9999px;word-break: break-all;white-space: pre-wrap" />'falsetextarea.parentNode);

    var 
testvalue textarea.value "nn";


    if (
hasInnerText)
        
testdiv.innerText testvalue;
    else
        
testdiv.textContent testvalue;

    for (var 
0attributes_copy.lengthi++) {
        
DCMS.Dom.setStyle(testdivattributes_copy[i], DCMS.Dom.getComputedValue(textareaattributes_copy[i]));
    }

    
DCMS.Animation.style(textarea'height'DCMS.Dom.getComputedValue(testdiv'height'), 300);
    
testdiv.parentNode.removeChild(testdiv);
}

function 
onTextareaBBcodeClickB(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[b]''[/b]');
}
function 
onTextareaBBcodeClickU(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[u]''[/u]');
}
function 
onTextareaBBcodeClickI(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[i]''[/i]');
}
function 
onTextareaBBcodeClickBIG(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[big]''[/big]');
}
function 
onTextareaBBcodeClickSMALL(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[small]''[/small]');
}


function 
onTextareaBBcodeClickIMG(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[img]''[/img]');
}

function 
onTextareaBBcodeClickPHP(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[php]''[/php]');
}

function 
onTextareaBBcodeClickGRADIENT(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[gradient from="#bc009a" to="#008e21"]''[/gradient]');
}

function 
onTextareaBBcodeClickHIDE(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[hide balls="0" group="0"]''[/hide]');
}

function 
onTextareaBBcodeClickSPOILER(event) {
    var 
textarea this.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'[spoiler title="' LANG.bbcode_spoiler '"]''[/spoiler]');
}

function 
onTextareaBBcodeClickSmiles(event){
    var 
domSmiles this.parentNode.parentNode.querySelector(".bbcode_smiles");
    
DCMS.Dom.setStyle(domSmiles'display'DCMS.Dom.getComputedValue(domSmiles'display') == 'none' 'block' 'none');
}

function 
onTextareaBBcodeClickок(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*ок*''');
}

function 
onTextareaBBcodeClicknono(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*нет*''');
}

function 
onTextareaBBcodeClickbeee(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*обида*''');
}

function 
onTextareaBBcodeClickmosking(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*mosking*'' ');
}

function 
onTextareaBBcodeClickrtfm(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*rtfm*'' ');
}

function 
onTextareaBBcodeClickbye(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*улыбка*'' ');
}

function 
onTextareaBBcodeClickcrazy(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*скучно*'' ');
}

function 
onTextareaBBcodeClickdirol(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*coffee*'' ');
}

function 
onTextareaBBcodeClickfacepalm(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*facepalm*'' ');
}

function 
onTextareaBBcodeClicklol(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*подзатыльник*'' ');
}

function 
onTextareaBBcodeClickdrinks(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*пиво*'' ');
}

function 
onTextareaBBcodeClickdntknw(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*незнаю*'' ');
}

function 
onTextareaBBcodeClickhelp(event) {
    var 
textarea this.parentNode.parentNode.parentNode.lastChild;
    
DCMS.Dom.inputInsert(textarea'*help*'' ');
}

function 
textareaModify() {
    var 
texareas document.querySelectorAll('textarea');
    for (var 
0texareas.lengthi++) {
        var 
textarea texareas[i];
        
Event.add(textarea'blur'onTextareaBlur);
        
Event.add(textarea, ['keyup''paste''cut''change''focus''input'], onTextareaChange);

        var 
node_txt_wrapper DCMS.Dom.create('div''textarea_wrapper'textarea.parentNodetextarea);
        
node_txt_wrapper.appendChild(textarea);
        var 
node_bbcode DCMS.Dom.create('div''textarea_bbcode'node_txt_wrappertextarea);
        var 
node_bb_b DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_b '">B</span>'''node_bbcode);
        
Event.add(node_bb_b'click'onTextareaBBcodeClickB);
        var 
node_bb_i DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_i '">I</span>'''node_bbcode);
        
Event.add(node_bb_i'click'onTextareaBBcodeClickI);
        var 
node_bb_u DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_u '">U</span>'''node_bbcode);
        
Event.add(node_bb_u'click'onTextareaBBcodeClickU);
        var 
node_bb_big DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_big '">BIG</span>'''node_bbcode);
        
Event.add(node_bb_big'click'onTextareaBBcodeClickBIG);
        var 
node_bb_small DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_small '">small</span>'''node_bbcode);
        
Event.add(node_bb_small'click'onTextareaBBcodeClickSMALL);


        var 
node_bb_img DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_img '">IMG</span>'''node_bbcode);
        
Event.add(node_bb_img'click'onTextareaBBcodeClickIMG);

        var 
node_bb_php DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_php '">PHP</span>'''node_bbcode);
        
Event.add(node_bb_php'click'onTextareaBBcodeClickPHP);

        
//var node_bb_gradient = DCMS.Dom.createFromHtml('<span title="'+LANG.bbcode_gradient+'"><font color="#BC009A">G</font><font color="#A4118A">R</font><font color="#8D237B">A</font><font color="#75356C">D</font><font color="#5E475D">I</font><font color="#46584E">E</font><font color="#2F6A3F">N</font><font color="#177C30">T</font></span>', '', node_bbcode);
        //Event.add(node_bb_gradient, 'click', onTextareaBBcodeClickGRADIENT);


        
var node_bb_spoiler DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_spoiler '">SPOILER</span>'''node_bbcode);
        
Event.add(node_bb_spoiler'click'onTextareaBBcodeClickSPOILER);

        var 
node_bb_hide DCMS.Dom.createFromHtml('<span title="' LANG.bbcode_hide '">HIDE</span>'''node_bbcode);
        
Event.add(node_bb_hide'click'onTextareaBBcodeClickHIDE);

        var 
node_bb_smiles DCMS.Dom.createFromHtml('<span title="' LANG.smiles '">' LANG.smiles '</span>'''node_bbcode);
        
Event.add(node_bb_smiles'click'onTextareaBBcodeClickSmiles);

        var 
smiles_node DCMS.Dom.create('div''bbcode_smiles'node_bbcode);

        var 
node_bb_ок DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/ok.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_ок'click'onTextareaBBcodeClickок);

        var 
node_bb_nono DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/nono.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_nono'click'onTextareaBBcodeClicknono);

        var 
node_bb_beee DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/beee.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_beee'click'onTextareaBBcodeClickbeee);

        var 
node_bb_mosking DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/mosking.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_mosking'click'onTextareaBBcodeClickmosking);

        var 
node_bb_rtfm DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/rtfm.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_rtfm'click'onTextareaBBcodeClickrtfm);


        var 
node_bb_bye DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/smile.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_bye'click'onTextareaBBcodeClickbye);

        var 
node_bb_crazy DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/boredom.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_crazy'click'onTextareaBBcodeClickcrazy);

        var 
node_bb_dirol DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/coffee.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_dirol'click'onTextareaBBcodeClickdirol);

        var 
node_bb_facepalm DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/facepalm.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_facepalm'click'onTextareaBBcodeClickfacepalm);

        var 
node_bb_lol DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/punish.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_lol'click'onTextareaBBcodeClicklol);

        var 
node_bb_drinks DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/drinks.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_drinks'click'onTextareaBBcodeClickdrinks);

        var 
node_bb_dntknw DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/dntknw.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_dntknw'click'onTextareaBBcodeClickdntknw);

        var 
node_bb_help DCMS.Dom.createFromHtml('<img class="bbcode_smile" src="/sys/images/smiles/help.gif" alt="" title="" />'''smiles_node);
        
Event.add(node_bb_help'click'onTextareaBBcodeClickhelp);
    }
}

ready(textareaModify);

function 
onSpoilerClick() {

    if (
DCMS.Dom.classHas(this.parentNode'expanded')) {
        
DCMS.Dom.classRemove(this.parentNode'expanded');
        
DCMS.Dom.classAdd(this.parentNode'collapsed');
        
DCMS.Animation.style(this.nextSibling'height''0');
    } else {
        
DCMS.Dom.classRemove(this.parentNode'collapsed');
        
DCMS.Dom.classAdd(this.parentNode'expanded');
        
DCMS.Animation.style(this.nextSibling'height''');
    }
    return 
false;
}

function 
spoilersModify() {
    var 
spoilers document.querySelectorAll('.DCMS_spoiler_title');
    for (var 
0spoilers.lengthi++) {
        var 
spoiler spoilers[i];
        
DCMS.Dom.classAdd(spoiler.parentNode'collapsed');
        
DCMS.Dom.setStyle(spoiler.nextSibling'height''0');
        
Event.add(spoiler'click'onSpoilerClick);
    }
}
ready(spoilersModify);

function 
listing_auto_update(listing_nodeurlno_recurce) {
    var 
ids = [];
    for (var 
0listing_node.children.lengthi++) {
        
ids.push(listing_node.children[i].id);
    }
    
DCMS.listing_update(urlids,
        function (
data) {
            
// success
            
listing_update(listing_nodedata);
            if (!
no_recurce) {
                
setTimeout(function () {
                    
// повтор
                    
listing_auto_update(listing_nodeurl);
                }, 
7000);
            }
        },
        function () {
            
// error
            
if (!no_recurce) {
                
setTimeout(function () {
                    
// повтор
                    
listing_auto_update(listing_nodeurl);
                }, 
30000);
            }
        });
}

function 
listing_update(listing_nodedata) {
    var 
json JSON.parse(data);
    if (!
json)
        return;
    
// console.log(json);

    
for (var 0json.add.lengthi++) {
        var 
dom_before falsedom_after false;
        var 
add json.add[i];
        if (
add.after_id) {
            
dom_after listing_node.querySelector('#' add.after_id);
            
dom_before dom_after dom_after.nextSibling false;
        }
        else if (!
dom_before) {
            
dom_before listing_node.children[0];
            
//console.log(dom_before);
        
}

        var 
dom DCMS.Dom.createFromHtml(add.htmlfalselisting_nodedom_before);

        
DCMS.Animation.style(dom'opacity', ['0''1'], 1000);
        
DCMS.Animation.style(dom'height', ['0px'''], 500);
    }

    for (
0json.remove.lengthi++) {
        var 
remove json.remove[i];
        if (
remove) {
            var 
dom_remove listing_node.querySelector('#' remove);
            if (
DCMS.isDom(dom_remove)) {
                
DCMS.Animation.style(dom_remove'opacity''0'500, function () {
                    
this.parentNode.removeChild(this);
                });
            }
        }
    }
}


function 
form_ajax_submit(node_formurl) {
    
Event.add(node_form, ['submit'], function () {
        return 
onFormSubmit(node_formurl);
    });
}

function 
onFormSubmit(node_formurl) {
    var 
data = {};
    for (var 
0node_form.elements.lengthi++) {
        
data[node_form.elements[i].name ] = node_form.elements[i].value;
    }
    
form_lock(node_form);
    
DCMS.Ajax({
        
urlurl,
        
postdata,
        
callback: function (cdata) {
            if (
cdata) {
                var 
json JSON.parse(cdata);
                if (
json.err)
                    
form_err(node_formjson.err);
                else if (
json.msg) {
                    
form_msg(node_formjson.msg);
                    
//node_form.reset();

                    
if (json.form)
                        
form_set_values(node_formjson.form);

                    
DCMS.Event.trigger('form_submited'node_form);
                }
            }
            
form_unlock(node_form);

        },
        
error: function () {
            
form_err(node_formLANG.form_submit_error)
            
form_unlock(node_form);
        }
    });

    return 
false;
}

function 
form_lock(node_form) {
    
node_form.disabled 'disabled';
    
DCMS.Dom.classAdd(node_form'submiting');
}

function 
form_unlock(node_form) {
    
node_form.disabled '';
    
DCMS.Dom.classRemove(node_form'submiting');
}

function 
form_set_values(node_formvalues) {
    for (var 
0node_form.elements.lengthi++) {
        var 
name node_form.elements[i].name;
        if (
typeof (values[name]) !== 'undefined')
            
node_form.elements[i].value values[name];
    }
}

function 
form_msg(node_formmsg) {
    var 
msg_node node_form.querySelector('.msg');
    if (
msg_node) {
        
msg_node.innerHTML msg;
        
DCMS.Animation.style(msg_node'opacity''0'5000, function () {
            
DCMS.Dom.setStyle(this'opacity''');
            
this.innerHTML '';
        });
    }

}

function 
form_err(node_formmsg) {
    var 
msg_node node_form.querySelector('.err');
    if (
msg_node) {
        
msg_node.innerHTML msg;
        
DCMS.Animation.style(msg_node'opacity''0'5000, function () {
            
DCMS.Dom.setStyle(this'opacity''');
            
this.innerHTML '';
        });
    }
}
?>
Онлайн: 1
Реклама