Вход Регистрация
Файл: qa-content/qa-page.js
Строк: 183
<?php
/*
    Question2Answer (c) Gideon Greenspan

    http://www.question2answer.org/

    
    File: qa-content/qa-page.js
    Version: See define()s at top of qa-include/qa-base.php
    Description: Common Javascript including voting, notices and favorites


    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    More about this license: http://www.question2answer.org/license.php
*/

function qa_reveal(elemtypecallback)
{
    if (
elem)
        $(
elem).slideDown(400callback);
}

function 
qa_conceal(elemtypecallback)
{
    if (
elem)
        $(
elem).slideUp(400);
}

function 
qa_set_inner_html(elemtypehtml)
{
    
elem.innerHTML=html;
}

function 
qa_set_outer_html(elemtypehtml)
{
    if (
elem) {
        var 
e=document.createElement('DIV');
        
e.innerHTML=html;
        
elem.parentNode.replaceChild(e.firstChildelem);
    }
}

function 
qa_show_waiting_after(eleminside)
{
    if (
elem && !elem.qa_waiting_shown) {
        
elem.qa_waiting_shown=true;
        
        var 
w=document.getElementById('qa-waiting-template');
    
        if (
w) {
            var 
c=w.cloneNode(true);
            
c.id=null;
            
            if (
inside)
                
elem.insertBefore(cnull);
            else
                
elem.parentNode.insertBefore(celem.nextSibling);
        }
    }
}

function 
qa_vote_click(elem)
{
    var 
ens=elem.name.split('_');
    var 
postid=ens[1];
    var 
vote=parseInt(ens[2]);
    var 
anchor=ens[3];
    
    
qa_ajax_post('vote', {postid:postidvote:vote},
        function(
lines) {
            if (
lines[0]=='1') {
                
qa_set_inner_html(document.getElementById('voting_'+postid), 'voting'lines.slice(1).join("n"));

            } else if (
lines[0]=='0') {
                var 
mess=document.getElementById('errorbox');
                
                if (!
mess) {
                    var 
mess=document.createElement('div');
                    
mess.id='errorbox';
                    
mess.className='qa-error';
                    
mess.innerHTML=lines[1];
                    
mess.style.display='none';
                }
                
                var 
postelem=document.getElementById(anchor);
                var 
e=postelem.parentNode.insertBefore(messpostelem);
                
qa_reveal(e);
            
            } else
                
qa_ajax_error();
        }
    );
    
    return 
false;
}

function 
qa_notice_click(elem)
{
    var 
ens=elem.name.split('_');
    
    
qa_ajax_post('notice', {noticeid:ens[1]},
        function(
lines) {
            if (
lines[0]=='1')
                
qa_conceal(document.getElementById('notice_'+ens[1]), 'notice');
            else
                
qa_ajax_error();
        }
    );
    
    return 
false;
}

function 
qa_favorite_click(elem)
{
    var 
ens=elem.name.split('_');
    
    
qa_ajax_post('favorite', {entitytype:ens[1], entityid:ens[2], favorite:parseInt(ens[3])},
        function (
lines) {
            if (
lines[0]=='1')
                
qa_set_inner_html(document.getElementById('favoriting'), 'favoriting'lines.slice(1).join("n"));
            else
                
qa_ajax_error();
        }
    );
    
    
qa_show_waiting_after(elemfalse);
    
    return 
false;
}

function 
qa_ajax_post(operationparamscallback)
{
    
jQuery.extend(params, {qa:'ajax'qa_operation:operationqa_root:qa_rootqa_request:qa_request});
    
    
jQuery.post(qa_rootparams, function(response) {
        var 
header='QA_AJAX_RESPONSE';
        var 
headerpos=response.indexOf(header);
        
        if (
headerpos>=0)
            
callback(response.substr(headerpos+header.length).replace(/^s+/, '').split("n"));
        else
            
callback([]);

    }, 
'text').error(function(jqXHR) { if (jqXHR.readyState>0callback([]) });
}

function 
qa_ajax_error()
{
    
alert('Unexpected response from server - please try again or switch off Javascript.');
}
?>
Онлайн: 0
Реклама