var shouting = false;

function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
 
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function shout() {
    var xmlHttp;
    xmlHttp = getXmlHttp();
    
    inName = $("name").value;
    inMessage = $("message").value;
    
    if (inMessage.length < 1 && inName != '')
    {
	  $('sendok').hide();
	  $("notext").show();
      return false;
	}    
	
	if (inMessage == 'Что новенького?' && inName != '')
    {
	  $('sendok').hide();
	  $("notext").show();
      return false;
	}
	
	if (inName.length < 1)
    {
	  alert('Писать могут только зарегистрированные и активированные пользователи!');
      return false;
	}
	
	$("message").value = "Что новенького?";
	//$("message").focus();
	$('sending').show();
	$("notext").hide();
	$('sendok').hide();
	
	
	var httpParams = "name=" + inName + "&message=" + inMessage;
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4)
        {
            var xmlDoc = xmlHttp.responseXML.documentElement.getElementsByTagName("status");
            if (xmlDoc[0].firstChild.nodeValue == 300) // Вы ввели недопустимое имя.
            {
alert('Вы ввели недопустимое имя.!');
				$('sending').hide();
				$("notext").hide();
				$('sendok').hide();
			  
			} else if (xmlDoc[0].firstChild.nodeValue == 400) // Пустое
            {
alert('Введите текст сообщения!');
			} else (xmlDoc[0].firstChild.nodeValue == 200) // всё окей
            {
				shouting = true;
				shout_read();
				$('sending').hide();
				$("notext").hide();
				$('sendok').show();
			  
			}
        }
    };
    
    xmlHttp.open('POST', 'ajaxed_blocks/shout.php', true);
 	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
 	xmlHttp.setRequestHeader('Content-length', httpParams.length);
 	xmlHttp.setRequestHeader('Connection','close');
    xmlHttp.send(httpParams);
}

function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}

function shout_read() {
  var xmlHttp;
  xmlHttp = getXmlHttp();

  xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4)
    {
	  obj = $("shoutbox");
	  obj.innerHTML = "";
	  	
	  var xmlDoc = xmlHttp.responseXML.documentElement.getElementsByTagName("entry");
 

	  for (i = xmlDoc.length-1; i >= 0 ; i--)
	  {
	    
	    var new_el = document.createElement("div");
	    var messa = xmlDoc[i].getElementsByTagName("message")[0].firstChild.nodeValue;
		
		// Смайлы
		messa = str_replace(":)", "<img src=\"/modules/Forums/images/smiles/ab.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":-)", "<img src=\"/modules/Forums/images/smiles/sile.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":D", "<img src=\"/modules/Forums/images/smiles/ag.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":((", "<img src=\"/modules/Forums/images/smiles/br.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":(", "<img src=\"/modules/Forums/images/smiles/ac.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":-(", "<img src=\"/modules/Forums/images/smiles/ac.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(";)", "<img src=\"/modules/Forums/images/smiles/mig2.png\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":o", "<img src=\"/modules/Forums/images/smiles/toth%2032.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":-o", "<img src=\"/modules/Forums/images/smiles/sun.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace("8-O", "<img src=\"/modules/Forums/images/smiles/wall.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":egg:", "<img src=\"/modules/Forums/images/smiles/egg.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":lol:", "<img src=\"/modules/Forums/images/smiles/ha-ha-ha.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":-D", "<img src=\"/modules/Forums/images/smiles/ho-ho.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":santa:", "<img src=\"/modules/Forums/images/smiles/smile_santa.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":eek:", "<img src=\"/modules/Forums/images/smiles/rule.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":yahoo:", "<img src=\"/modules/Forums/images/smiles/yahoo.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":?", "<img src=\"/modules/Forums/images/smiles/clap.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		
		messa = str_replace(")))", "))", messa);
		messa = str_replace("))", " <img src=\"/modules/Forums/images/smiles/sile.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		
		messa = str_replace(":?", " <img src=\"/modules/Forums/images/smiles/clap.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		messa = str_replace(":P", " <img src=\"/modules/Forums/images/smiles/book.gif\" border=\"0\" align=\"absmiddle\"/>", messa);
		
	    new_el.innerHTML = '<b>'+xmlDoc[i].getElementsByTagName("name")[0].firstChild.nodeValue+':</b> '+messa;
	    obj.appendChild(new_el);
      }
      if (!shouting)
	      setTimeout(shout_read,5000);
	  else
	  	  shouting = false;
	}
  }
  
  xmlHttp.open('GET', 'ajaxed_blocks/shout.php', true);
  xmlHttp.send(null);
}