function showComplaintReason(_link) {
    shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div>\
	Причина:<br>\
	<form action=\"" + _link.href.replace('action=abuse', 'action=abuselist') + "\" onsubmit='if (document.getElementById(\"spamtextArea\").value != \"\") {return sendComplaint(\"" + _link.id + "\");} else {alert(\"Укажите причину жалобы!\");return false;}'>\
        <textarea name=report rows=4 style='width:200px; height:80px; margin:7px 0; font-size: 12px; font-family: Tahoma;' id='spamtextArea'></textarea>\
        <input type=submit id=butForSpam value='Пожаловаться модератору' style='font-size:11px; font-family:tahoma;';>\
        </form>\
    ", _link);
    return false;
}

function sendComplaint(id) { 
    _link = document.getElementById(id);
    var url = "/doit";
    var params = cutParams(_link.href) + '&report=' + document.getElementById("spamtextArea").value +  '&ajax=1';
    var method = "POST";
    var onload = reportResult;
    var contentType = "application/x-www-form-urlencoded; charset=windows-1251";
    shawDivDialog("Идет обработка запроса", _link);
    return setAjaxRequest(method, url, params, onload, false, contentType, false, _link);
}

function reportResult() {
    switch ( this.req.responseText ){
	case 'errabusealready':{
	    error = 'Вы уже жаловались по этому поводу';
	    error_code = 2;
	    break;
	}
	case 'errabusenotfound':{
	    error = 'Жалоба не принята. Попробуйте еще раз';
	    error_code = 1;
	    break;
	}
	case 'errabuselimit':{
	    error = 'Вы временно не можете отправить жалобу. Попробуйте сделать это через минуту.';
	    error_code = 2;
	    break;
	}
	case 'erruserbanned':{
	    error = 'Вам закрыт доступ на проект';
	    error_code = 2;
	    break;
	}
	case 'okabuse':{
	    error = 'Ваша жалоба будет рассмотрена в ближайшее время';
	    error_code = 0;
	    break;
	}
    case 'errusrnotfound':{
        error = 'Пользователь не найден';
        error_code = 2;
        break;
    }
    case 'errusrwasbanned':{
        error = 'Пользователь забанен и уже находится под наблюдением Администрации';
        error_code = 2;
        break;
    }
    case 'errmoddenied':{
        error = '<b>Доступ запрещен</b>. <br>У вас нет прав на выполнение этого действия';
        error_code = 2;
        break;
    }
    case 'errmodlimit':{
        error = 'Вы временно не можете принимать участие в модерировании проекта';
        error_code = 2;
        break;
    }
	default:{
	    error = 'При обработке запроса произошла ошибка<br>Попробуйте повторить еще раз';
//	    document.write( '<textarea>' + this.req.responseText + '</textarea>' );
	    error_code = 1;
	    break;
	}
    }
    
    if ( error_code > 0 ) {
	shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div><div class=text_body><span class=orange>" + error + "</span></div>");
    }else {
    	shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div><div class=text_body><span class=green2>" + error + "</span></div>");
    }
    //	Если ошибки фатальные или жалоба принята, прячем ссылку
    if ( error_code==0 || error_code> 1 ) {
    	requestsHash[this.hashKey + 1].style.display = "none";
    }
    
}



// ========== BEGIN: reiting ===========================
function sendQReiting(_link) {
    var url = "/doit";
    var params = cutParams(_link.href) + '&ajax=1';
    var method = "POST";
    var onload = reportReitResult;
    var onerror = errorReit;
    shawDivDialog('Идет обработка запроса', _link);
    return setAjaxRequest(method, url, params, onload, onerror, false, false, _link);
}

function errorReit() {
    var error = "Произошла ошибка. Попробуйте еще раз или <a target=\"blank\" href=\"http://otvet.mail.ru/askauth/\">обратитесь к разработчикам</a>";
    shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div><div class=text_body><span class=orange>" + error + "</span></div>");
}

function reportReitResult() {
    var error, error_code, reit, minus, plus, qual, error, html;
    var xml  = this.req.responseXML ? this.req.responseXML : 0;
    
    if ( xml ){
        //	получаем данные из XML
	minus	= xml.getElementsByTagName('minus').item(0).firstChild.nodeValue;
        plus	= xml.getElementsByTagName('plus').item(0).firstChild.nodeValue;
        qual 	= xml.getElementsByTagName('qual').item(0).firstChild.nodeValue;
	error 	= xml.getElementsByTagName('error').item(0).firstChild.nodeValue;
        reit	= plus - minus;
    
	html = 'Оценка вопроса: <nobr><b class=black>'+ reit + '&nbsp;('+ qual + '&nbsp;&nbsp;&nbsp;' 
		+ ( minus>0 ? '&ndash;' : '') + minus + '|'
		+ ( plus>0 ? '+' : '' ) + plus + ')</b></nobr>';
        document.getElementById('qstintdiv').innerHTML = html;
		document.getElementById('interes_span').style.display = 'inline';
    }
    
    switch (error) {
        case 'okintqst' :
            error = '<b>Ваш голос принят.</b><br>Вы заработали 1 балл';
            error_code = 0;
        break;
        case 'erruserbanned' :
            error = 'Вам закрыт доступ на проект';
            error_code = 2;
        break;
	case 'errintnotfound':
	    error = 'Вы не можете голосовать за этот вопрос';
	    error_code = 2;
	break;
	case 'errintalready':
	    error = 'Вы уже голосовали за этот вопрос';
	    error_code = 2;
	break;
        default :
	    error = 'При обработке запроса произошла ошибка<br>Попробуйте повторить позднее';
	    error_code = 2;
        break;
    }

    if (error_code > 0) {
	shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div><div class=text_body><span class=orange>" + error + "</span></div>");
    } else {
        shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div><div class=text_body><span class=green2>" + error + "</span></div>");
    }
    //	Если ошибки фатальные или голос принят, прячем ссылки
    if ( error_code > 1) {
	document.getElementById("qstintdiv").style.display = "none";
    }
}
																																				    // ========== BEGIN: reiting ===========================



function cutParams(allUrl) {
	var params = allUrl.substring(allUrl.indexOf("?") + 1, allUrl.length);
	params = params.replace('action=abuse', 'action=authabuse');
	return params;
}
function shawDivDialog(html, basis, _x, _y) {
	var div = gebi("spam_dial");
	div.innerHTML = html;
	if (basis) {
		var _top = absPosition(basis).y + ((_y) ? _y : 0);
		var _left = absPosition(basis).x + ((_x) ? _x : 0);;
	}
	if (_top) div.style.top = _top;
	if (_left) div.style.left = _left;
	div.style.display = "";
}
function hideDivDialog() {
	gebi("spam_dial").style.display = "none";
}


function showThanksDialog(_link, aid, nick) {
    shawDivDialog("<div align=right><a onclick=\"hideDivDialog(); return false;\" href=\"#\"><img src=\"/img/close_help.gif\" width=7 height=7 border=0></a></div>\
	Если Вы хотите поблагодарить пользователя <b>" + nick + "</b> за полезный ответ, отправьте SMS с кодом 22+" + aid + 
    " на короткий номер 7099.\
    Пользователь получит Ваше &laquo;спасибо&raquo; и 50 баллов на счет.\
    <br>Стоимость услуги:<br>\
    для России &mdash; $0.99 без НДС;<br>\
    для Украины &mdash; 6 грн. с НДС.\
    <br><br>\
    <a href='/thanks/" + aid + "/'>Узнать больше &raquo;&raquo;</a>\
    ", _link);
    return false;
}

function showIntrVote(_link, qid) {
    var url = "/doit";
    var params = 'action=xml_getintrvote&qid=' + qid;
    var method = "POST";
    var onload = reportIntrVoteResult;
    var onerror = errorReit;
    shawDivDialog('Идет обработка запроса', _link);
    _link.style.display = "none";
    return setAjaxRequest(method, url, params, onload, onerror, false, false, _link);
}


function reportIntrVoteResult() {
    var html = "";
    var email = "";
    var xml  = this.req.responseXML ? this.req.responseXML : 0;
    if ( xml ){
        var length = xml.getElementsByTagName('usr').length;
        if ( length ){
            for ( i=0; i<length; i++){
                email   =  xml.getElementsByTagName('email').item(i).firstChild.nodeValue; 
                html    += "<img width=17 height=17 align=absmiddle src='/img/"
                        + ( xml.getElementsByTagName('vote').item(i).firstChild.nodeValue==1 ? 'ico_plus' : 'ico_minus' )
                        + ".gif'> <a href='http://www.mail.ru/agent?message&to="
                        + email + "'><img align=absmiddle border=0 width=13 height=13 src='http://status.mail.ru/?"
                        + email + "'></a> <a href='/"+ xml.getElementsByTagName('domain').item(i).firstChild.nodeValue   
                        + "/" +  xml.getElementsByTagName('name').item(i).firstChild.nodeValue  + "/'>"
                        + xml.getElementsByTagName('nick').item(i).firstChild.nodeValue + "</a><br>";
            }
            document.getElementById('interes_who').innerHTML = html;
            document.getElementById('interes_div').style.display = 'block';
        }
    }
    hideDivDialog();
}
