// Copyright (C) 2006 by Eugene Ivanov, eugene.ivanov@gmail.com
var d = document;
var host = null;

function Init(str_host){
 host = str_host;
 if (!InitComments()) return false;
 return true;
}

function DeInit(){
 DeInitComments();
 return true;
}

function dom_delete_all_childs(n){while (n.hasChildNodes()) n.removeChild(n.lastChild);}
function get_el(id){return d.getElementById(id);}

function Array_push() {var A_p = 0; for (A_p = 0; A_p < arguments.length; A_p++) {this[this.length] = arguments[A_p]}; return this.length} if (typeof Array.prototype.push == "undefined") {Array.prototype.push = Array_push}
function Array_shift() {var A_s = 0; var response = this[0]; for (A_s = 0; A_s < this.length-1; A_s++) {this[A_s] = this[A_s + 1]}; this.length--; return response;} if (typeof Array.prototype.shift == "undefined") { Array.prototype.shift = Array_shift}

function ChgText(){
 var ok = 0;
 var name = get_el("name").value;
 var email = get_el("email").value;
 var text = get_el("text").value;

 var b = get_el("button_submit");

 if (name != '') ok++;
 if (text != '') ok++;
 if (text.length > 2048) ok--;
 if (email != '') ok++;

 s = email.search(/\w+-*\w*@\w+-*\w*\.\w+/i);
 if (s == -1) ok--;

 if (ok == 3)
  b.disabled = false;
 else
  b.disabled = true;

 return true;
}

function Restore_span_sentmobilemail() {
 get_el('span_sentmobilemail').innerHTML="Отправьте мне SMS";
 get_el("button_submit").disabled = false;
}

function submit_Update(){
 var name = get_el("name").value;
 var email = get_el("email").value;
 var text = get_el("text").value;

 get_el("button_submit").disabled = true;
 get_el('div_sentmobilemail').className='dn';
 get_el('span_sentmobilemail').innerHTML="<font color='grey'>Подождите, сообщение отправляется...</font>";
 Ajax_SentMobileMail(name, email, text);

 return false;
}

function submit_Update_real_err(name, email, text){
 get_el('span_sentmobilemail').innerHTML="<font color='red'>Ошибка отправки</font>";
 setTimeout("Restore_span_sentmobilemail()", 3000);

 return false;
}

function submit_Update_real(name, email, text){
 get_el('span_sentmobilemail').innerHTML="<font color='green'>Сообщение отправлено</font>";
 setTimeout("Restore_span_sentmobilemail()", 3000);

 return false;
}
function alertContents(http_request) {
 if (http_request.readyState == 4) {
  if (http_request.status == 200)
  {
   w = new String(http_request.responseText);
   wp = w.split(";");
   if (wp.length > 0)
   {
    if (wp[0] == "OK")
    {
     if (wp[1] == "SENT")
      submit_Update_real(wp[2], wp[3], wp[4]);
     if (wp[1] == "ADDCMT")
      submit_AddComment_real(w);
    }
    else if (wp[0] == "ERR")
    {
     if (wp[1] == "SENT")
      submit_Update_real_err(wp[2], wp[3], wp[4]);
     if (wp[1] == "ADDCMT")
      submit_AddComment_real_err(w);
    }
    else if (wp[0] == "NO")
    {
     if (wp[1] == "ADDCMT")
      submit_AddComment_real_no();
    }
   }
   delete w;
  }
  else
   alert('There was a problem with the request.');
 }
}

function makeRequest(metod, url, data) {
var http_request = false;

if (window.XMLHttpRequest) {
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
    }
} else if (window.ActiveXObject) {
    try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
}

if (!http_request) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
}
http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open(metod, url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded, charset=koi8-r');
http_request.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
http_request.send(data);
}

function Ajax_SentMobileMail(name, email, text){
 var url = host + "/mobilemail.php?update_type=1";
 data = "&name=" + encodeURIComponent(name) + "&email=" + encodeURIComponent(email) + "&text=" + encodeURIComponent(text);
 makeRequest('POST', url, data);
}
