/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/

// XHConn Modificada por Nenillo para Mensajeitor

function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
	  xmlhttp.setRequestHeader('Cache-Control', 'no-cache');	  
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
		  if(typeof(fnDone) == 'object') {
			  fnDone.run(xmlhttp);
		  } else {
	          fnDone(xmlhttp);
		  }
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

function page(targetId,url,params,handler) {
target= document.getElementById(targetId);
target.innerHTML = '<img src="/css/img/loader.gif" alt="Cargando..." />';
var myConn = new XHConn();
    if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	if(!handler) {
	    var query = function (oXML) {  target.innerHTML = oXML.responseText; };
	} else {
		var query = handler;
	}
    myConn.connect(url, "GET", params, query);
}


function checkForUpdate() { // Se encargará de comprobar si necesita refrescar los mensajes
	if(lastupdate > 0) {
		var myConn = new XHConn();
		myConn.connect('mensajeitor.php','GET','req=ajax&lastupdate='+lastupdate,updateMessages);
	}
}

function updateMessages(oXML) {
	//document.getElementById('debug').innerHTML += oXML.responseText;
	if(oXML.responseText.substr(0,1) == '1') {
		lastupdate = parseInt(oXML.responseText.substr(1,11));
		document.getElementById('msgContainer').innerHTML = oXML.responseText.substr(11);	
	} else {
		//document.getElementById('debug').innerHTML = 'No actualizado'+'-'+lastupdate;
	}
}

function focus_hndl(elem,cmp) { // Acción al "enfocar" un campo
	if(elem.id == 'pass') {
		elem.type = 'password';
		elem.value = '';
	} else {
		if (elem.value==cmp) {
			elem.value='';
		}		
	}
}
function blur_hndl(elem,def) { // Acción al "desenfocar" un campo
	if(elem.id == 'nick') {
		var admins = document.getElementById('adminnicks').value;
		admins = admins.split(',');
		for(var i=0;i<admins.length;i++) {
			if(admins[i] == elem.value) {
				document.getElementById('pass').style.display = 'inline';				
				document.getElementById('pass').disabled = false;
			}
		}
	}
	if (elem.value=='') {
		elem.value=def;
	}
}

function showSmileys() {
	var smilCont = document.getElementById('smileysDiv');
	if(smilCont.style.display == 'none') {
		smilCont.style.display = '';
	} else {
		smilCont.style.display = 'none';
	}
}

function smileyPut(smiley) {
	document.getElementById('message').value += ' '+smiley+' ';
	showSmileys();
}

window.onload = setInterval('checkForUpdate()',5000);

var lastupdate = 0;
