var ajax_url = 'ajax/';
var old_ip_comments_array;

function selectCommentsByIp(comment_id)
{
    var url = ajax_url+'selectCommentsByIp/comment_id/'+comment_id;
		
    new Request({
        url: url,
        method: 'get',
        onComplete: resp_selectCommentsByIp.bind(this)
    }).send();
}
function comments(news_id)
{
    var nick = $('nick').value;
    var text = $('text_id').value;
    if(!text) {
        alert('Введите текст');
    } else {
         var url = ajax_url+'comments/';
         if(!nick){
                  new Request.JSON({url:  url, onComplete: commentsOk.bind(this)}).post({'text': text, 'news_id': news_id});
            } else{
                 new Request.JSON({url:  url, onComplete: commentsOk.bind(this)}).post({'text': text, 'news_id': news_id, 'nick': nick});  
            }
            
    }
}
function answer_comments(news_id)
{
    var nick = $('nick_answer').value;
    var text = $('text_answer').value;
    var answer_id = $('answer_id').value;
    if(!text) {
        alert('Введите текст');
    } else {
            var url = ajax_url+'comments/';
            if(!nick){
                    new Request.JSON({url:  url, onComplete: commentsOk.bind(this)}).post({'text': text, 'news_id': news_id, 'answer_id': answer_id});
            } else{
               new Request.JSON({url:  url, onComplete: commentsOk.bind(this)}).post({'text': text, 'news_id': news_id, 'answer_id': answer_id, 'nick': nick});
            }
}
}
function scrollToId(id){
     if ($defined(id)){
            var posit = window.getScroll();
            var koordiv = $(id).getCoordinates();
            var koord = koordiv.top - 100;

            var currentY = posit.y;
            if (currentY < koord){
                while (currentY < koord){
                    currentY = currentY + 30;
                    if (currentY > koord) currentY = koord;
                    self.scroll(1, currentY);
                }
            }
            if (currentY > koord){
                while (currentY > koord){
                    currentY = currentY -30;
                    if (currentY < koord) currentY = koord;
                    self.scroll(1, currentY);
                }
            }
        }
}
function commentsOk(r)
{
//    var r = JSON.decode(r);
     $('comment').set('html',r.resulte);
      if ($defined('comment_div_id_'+r.id)){
          this.scrollToId('comment_div_id_'+r.id);
        }
}

function resp_selectCommentsByIp(response)
{
    var r = JSON.decode(response);
    if ($defined(r.comments_list))
    {
//        console.log('ss');
        if ($defined(old_ip_comments_array))
        {
            $each(old_ip_comments_array.comments_list,
                function(item, index)
                {
                    var element = $('comment_div_cont_'+item.comment_id);
                    if ($defined(element))
                    {
                        element.removeClass('comment_add_green_border');
                    }
                });
        }
			
        $each(r.comments_list,
            function(item, index)
            {
                var element = $('comment_div_cont_'+item.comment_id);
                if ($defined(element))
                {
                    element.addClass("comment_add_green_border");
                }
            });
			
        old_ip_comments_array = r;
    }
}


/******************** pdf change city ***********************/
function change_magazine(city_id)
{
    var select = $('select_magazine');
//    select.style.disabled = true;
//    select.empty();
    new Element('option',{
        value: 0
    }).inject(select).set('text','Загрузка');

    var url = ajax_url+'changepdfmagazine?city_id='+city_id;
    new Request({
        url: url,
        method: 'get',
        onComplete: resp_change_magazine.bind(this)
    }).send();

}

function resp_change_magazine(response)
{
    var r = JSON.decode(response);
    if ($defined(r.magazine_element_id))
    {
        var select = $(r.magazine_element_id);
        select.style.disabled = true;
        select.empty();

        new Element('option',{
            value: 0
        }).inject(select).set('text','- Все издания -');
        $each(r.magazine_list,
            function(item, index){
                var element = new Element('option', {
                    value: index
                });
                element.inject(select).set('text',item);
            }
            );
        select.style.disabled = false;
    }
}
/*********************eof pdf change city **********************/






/********************************************* pdf statistic **********************************************/
function ChangePDFStatistic(publish_id)
{
    var url = ajax_url+Object.toQueryString({
        target:				'news',
        event:				'change_pdf_statistic',
        publish_id:			publish_id
    });
		
    new Ajax(url,{
        method: 'get',
        onComplete: resp_ChangePDFStatistic.bind(this)
    }).request();
}

function resp_ChangePDFStatistic(response)
{
	
}


/********************************************* eof pdf statistic ******************************************/



/************************************** my new comments *******************************************************/
function getNewComenntsList()
{
     var url = ajax_url+'getNewCommentsList';
		
//    new Request({
//        url: url,
//        method: 'get',
//        onComplete: resp_selectCommentsByIp.bind(this)
//    }).send();
//    var url = ajax_url+Object.toQueryString({
//        target:				'news',
//        event:				'get_new_comments_list'
//    });

     new Request({
        url: url,
        method: 'get',
        onComplete: resp_getNewComenntsList.bind(this)
    }).send();
//    new Ajax(url,{
//        method: 'get',
//        onComplete: resp_getNewComenntsList.bind(this)
//    }).request();
}

function resp_getNewComenntsList(response)
{
    var r = JSON.decode(response);
    if ($defined(r.result))
    {
        var div = document.getElementById('new_comments_list');
        div.innerHTML = r.result;
        div.style.display='block';
    }
}

/************************************** eof my new comments *******************************************************/


/********************************************  ctrlEnter   ****************************************************************/
var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
if (isOpera) {
    var verOpera = parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("Opera")+6));
}
	
if (!((navigator.appName.indexOf("Netscape")!=-1 && eval(navigator.appVersion.substring(0,1)) < 5) || (isOpera && verOpera < 7))) {
    var oForm;
    document.onkeydown = sendTxtError;
}




function sendTxtError (evt){
    evt = (evt) ? evt : ((window.event) ? window.event : null);
    if (evt) {
        if (evt.keyCode == 10 || (evt.keyCode == 13 && evt.ctrlKey)) {
            sendErrorForm();
        }
    }
}



function sendErrorForm(){
	
	
    var sel = null;
    sel = (parent.getSelection) ? parent.getSelection() : ((parent.document.getSelection) ? parent.document.getSelection() : ((document.selection.createRange) ? document.selection.createRange().text : null));
	
    if (sel == null) {
        alert('�� ����������� ���������');
        return;
    }
    var s = ''+sel;
    if (s.length > 255) {
        alert('������ ����� � �������� �������� ������');
        return;
    }
    if (sel == "") return;
    var text = '';
    text +=	'��������: \n';
    text += document.location.href + '\n\n';
    text += '̳����� ������������ ������� � �����: \n';
    text += '<error text>\n';
    text += sel+'\n';
    text += '</error text>\n\n';
    text += '³�������� ����������� ��������� �����?\n';
    text += '��� ������� ���������� �� ��� �� �������.'
    if (confirm(text))
    {
        var error_url = document.location.href;
		
        var url = ajax_url+Object.toQueryString({
            target:				'news',
            event:				'send_error_text',
            error_text:			sel,
            error_url:			error_url
        });
		
        new Ajax(url,{
            method: 'get',
            onComplete: resp_addTextError.bind(this)
        }).request();
		
    }
}

function resp_addTextError(response)
{	
    var r = Json.evaluate(response);
    if ($defined(r.ok))
    {
        alert('������! ���� ����������� ��� ������� ���������.');
    }
}

/*********************************   end  ctrlEnter   **************************************************************/






/************************************** send News To Email **************************************************************/
function sendNewsToEmail(news_id)
{
    var email = document.getElementById('email_element').value;
    document.getElementById('print_version').innerHTML='��������...';
    var url = ajax_url+Object.toQueryString({
        target:				'news',
        event:				'send_news_to_email',
        news_id:			news_id,
        email:				email
    });
		
    new Ajax(url,{
        method: 'get',
        onComplete: resp_sendNewsToEmail.bind(this)
    }).request();
}

function resp_sendNewsToEmail(response)
{
    var r = JSON.decode(response);
    if ($defined(r.ok))
    {
        document.getElementById('print_version').innerHTML='����������...';
    }
}


/************************************** eof send News To Email **************************************************************/

/*****************************  comments_reiting  ***********************************************************/
function updateCommentReiting(comment_id, increment)
{
     var ajax_url = 'ajax/';
    var url = ajax_url+'UpdateCommentReiting/comment_id/'+comment_id+'/increment/'+increment;
    new Request({
        url: url,
        method: 'get',
        onComplete: resp_updateCommentReiting.bind(this)
    }).send();
}

function resp_updateCommentReiting(response)
{
    
    var r = JSON.decode(response);

    if ($defined(r.comment_reiting))
    {

        document.getElementById('reiting_change_' + r.comment_id).innerHTML='';



        var element = document.getElementById('reiting_' + r.comment_id);

        element.innerHTML='';

        if (r.comment_reiting > 0){
            element.className='reiting_positive';
            element.innerHTML='+';
        }else if (r.comment_reiting < 0){
            element.className='reiting_negative';
        }
        else{
            element.className='reiting_off';
        }

        element.innerHTML += r.comment_reiting;
    }
}	

/******************************  eof comments_reiting  *****************************************************/


/*********************************    news reiting    *****************************************************/
function updateNewsReiting(news_id, increment) 
{
    var url = ajax_url+'UpdateNewsReiting/news_id/'+news_id+'/increment/'+increment;
	
    new Request({
        url: url,
        method: 'get',
        onComplete: resp_updateNewsReiting.bind(this)
    }).send();
}

function resp_updateNewsReiting(response) 
{
    var r = JSON.decode(response);
    if ($defined(r.reiting_avg))
    {
        str = '';
        for (i=1; i<=5; i++)
        {
            if (i<=r.reiting_avg){
                str = str + '<img style=\"padding:0px; margin:0px;\"  src=\"img/ria/rating_on.gif\"> ';
            }else{
                str = str + '<img style=\"padding:0px; margin:0px;\"  src=\"img/ria/rating_off.gif\"> ';
            }
        }

        str = str+'<br/> Рейтинг:'+r.reiting_avg+'<br/>голосов: ' +r.reiting_click+ '<br/>переглядів: <b>' + r.view_count +'</b>';


        document.getElementById('stat_reiting').innerHTML=str;
    }
}

function getCaptchaVoteForm(news_id, increment){
    $('userVoteForm').setStyle('display','block');
    $('input_news_id').set('value',news_id);
    $('input_news_increment').set('value',increment);
}

function resp_CaptchaUpdateNewsReiting(response) {
    var r = JSON.decode(response);
    Recaptcha.reload();
    if (r.result == 'succes'){
        $('userVoteForm').setStyle('display','none');
        if ($defined(r.reiting_avg))
        {
            str = '';
            for (i=1; i<=5; i++)
            {
                if (i<=r.reiting_avg){
                    str = str + '<img style=\"padding:0px; margin:0px;\"  src=\"img/ria/rating_on.gif\"> ';
                }else{
                    str = str + '<img style=\"padding:0px; margin:0px;\"  src=\"img/ria/rating_off.gif\"> ';
                }
            }
            str = str+'<br/> Рейтинг:'+r.reiting_avg+'<br/>голосов: ' +r.reiting_click+ '<br/>переглядів: <b>' + r.view_count +'</b>';
            document.getElementById('stat_reiting').innerHTML=str;
        }
    }else{
        alert('Введённые слова не соответстуют изображенным на картинках. Попробуйте снова');
    }
}

/*********************************   eof news reiting*****************************************************/