var AJAXTimer;
var AJAXUsersTimer;
//AJAX functions started

function ajaxnewsvote(vote_id,userid) {
  answer_id = 0;
  for(var i=0; i<document.newsvoteform.vote.length; i++) {
  if (document.newsvoteform.vote[i].checked) {
    answer_id = document.newsvoteform.vote[i].value;
   }
  }
  if (answer_id) {
    JsHttpRequest.query(
      '/ajax.php', // backend
      {
        'do'    : 'newsvote',
        'vote'    : vote_id,
        'answer'  : answer_id,
        'userid'  : userid,
        'uid'   : uid
      },
      function(result, errors) {
        if (result) {
          NewHideDiv('news_vote_div2');
          NewShowDiv('news_vote_div1');
          $('#news_vote_div1 .result').remove();
          $('#news_vote_div1 .vote-list').html(result["votelist"]);
          $('#news_vote_div1 .howmuch b').html(result["howmuch"]);
          //document.getElementById('vote_count_'+answer_id).innerHTML = parseInt(document.getElementById('vote_count_'+answer_id).innerHTML)+1;
        }
      },
      true
    );
  }
  
  return false;
}

function rate(operate,table,itemid,userid) {
  JsHttpRequest.query(
    '/ajax.php', // backend
           {
                'do': 'rate',
                  'subdo': operate,
                  'table': table,
                  'itemid': itemid,
                  'userid': userid,
                  'uid': uid
              },
              function(result, errors) {
                  if (result) {
                    if (document.getElementById("divrate"+result["itemid"])) {
                      if (result["divrate"]!='') {
                document.getElementById("divrate"+result["itemid"]).innerHTML=result["divrate"];
                if (document.getElementById("arrowsrate"+result["itemid"])) {
                  document.getElementById("arrowsrate"+result["itemid"]).innerHTML='&nbsp;';
                    }
              }
                }
                  }
              },
              true
          );
  return false;
}

function tryToSendMessageToChat() {
  if (document.getElementById("messagetochat")) {
    $('#chatsendbuttom').attr("disabled","disabled");
    var sendedmessage=document.getElementById("messagetochat").value;
    if (sendedmessage.length>0 && sendedmessage.hasInternalLink()==false) {
      if (document.getElementById("chatlastmessage")) {
        lastchatmessageid=document.getElementById("chatlastmessage").value;
      } else {
        lastchatmessageid=0;
      }
      document.getElementById("messagetochat").value='';
      JsHttpRequest.query(
        '/ajax.php', // backend
               {
                    'do': 'sendmessagetochat',
                    'lastchatmessageid':lastchatmessageid,
                      'text': sendedmessage,
                      'uid': uid
                  },
                  function(result, errors) {
                      if (result) {
            $('#chatsendbuttom').removeAttr("disabled");
                        updateChatWindow(result);
                      }
                  },
                  true
              );
    }
  }
  return false;
}
function updateChatWindow(newresult) {
  if (newresult["lilchatmessagetext"].length>0) {
    var o=document.getElementById("lilchatmessageid");
    if (o) {
      o.innerHTML=newresult["lilchatmessagetext"];
      o.scrollTop=o.scrollHeight-o.offsetHeight+20;
      if (document.getElementById("chatlastmessage") && newresult["lastchatmessageid"]) {
        document.getElementById("chatlastmessage").value=newresult["lastchatmessageid"];
      }
//      document.getElementById("messagetochat").focus();
    }
  }
  AJAXTimer = setTimeout("chatInit()",10000);
}
function chatInit() {
  if (AJAXTimer != null) {
    clearTimeout(AJAXTimer);
  }
  if (document.getElementById("chatlastmessage")) {
    lastchatmessageid=document.getElementById("chatlastmessage").value;
  } else {
    lastchatmessageid=0;
  }
  JsHttpRequest.query(
    '/ajax.php', // backend
           {
                'do': 'getshortchatbody',
                'lastchatmessageid':lastchatmessageid,
                  'uid': uid
              },
              function(result, errors) {
                  if (result) {
                    updateChatWindow(result);
                  }
              },
              true
          );
}

function updateOnlineUsers(newresult) {
  if (newresult["inneronlineusers"]) {
    if (newresult["inneronlineusers"].length>0) {
      var o=document.getElementById("inneronlineusers");
      if (o) {
        o.innerHTML=newresult["inneronlineusers"];
      }
    }
  }
  AJAXUsersTimer = setTimeout("onlineUsersInit()",60000);
}
function onlineUsersInit() {
  if (AJAXUsersTimer != null) {
    clearTimeout(AJAXUsersTimer);
  }
  JsHttpRequest.query(
    '/ajax.php', // backend
           {
                'do': 'getonlineusers',
                  'uid': uid
              },
              function(result, errors) {
                  if (result) {
                    updateOnlineUsers(result);
                  }
              },
              true
          );
}

function chat_messageto(username) {
  if (document.getElementById("messagetochat")) {
    document.getElementById("messagetochat").value=''+username+': '+document.getElementById("messagetochat").value;
    document.getElementById("messagetochat").focus();
  }
}


String.prototype.hasInternalLink = function() {
    var myregexp = /(((http|https|ftp):\/\/)|(www\.))?(www\.)?sib-portal\.ru\/([a-zA-Z0-9\-._?,'\/\\+&amp;%$#=~])+\.([a-zA-Z0-9]{2,4})/g;
    var match = myregexp.exec(this);
    while (match != null) {
        if ($.inArray( match[7], ['jpg','jpeg','gif','tiff','png']) == -1) return true;
        match = myregexp.exec(this);
    }
    var myregexp = /(((http|https|ftp):\/\/)|(www\.))?(www\.)?sibnet\.ru\/?([a-zA-Z0-9\-._?,'\/\\+&amp;%$#=~])*/g;
    if (myregexp.exec(this) != null) {
        return true;
    }
    return false;
}

