/**
 * FUNCIONES SHOUTS
 */
 
   var shoutboxPage=0;
   var intervaloCargaShouts=null;

   function reTopDivShouts(id){
	    document.getElementById('shoutbox_contenedor_'+id).scrollTop=1;
		//alert("to the top!");
   }
   
   function cargaFormularioShouts(id){
	   //alert("cargaFormularioShouts");
	   document.getElementById('shoutbox_'+id)['FORM[user_text]'].value="Escriba su mensaje";
	   if (document.getElementById('shoutbox_'+id)['FORM[recuerdame]'].value=="0"){
		   document.getElementById('shoutbox_'+id)['FORM[user_name]'].value="Nombre";
		   document.getElementById('shoutbox_'+id)['FORM[user_mail]'].value="Url/Mail";
	   }
   }

   function lanzaIntervaloCargaShouts(page,ahora,id){
	   // Si es ahora, lanzamos la carga, que ya llamará luego al intervalo sin prisas
	   if (ahora) {
		   cargaShouts(page,false,id);
	   } else {
		   if (intervaloCargaShouts != null)
				clearInterval(intervaloCargaShouts);
		   intervaloCargaShouts=setInterval("cargaShouts("+page+",false,"+id+")",tiempoIntervaloShouts);
	   }
   }

   function refreshFormularioShouts(id){
	   //alert("refreshFormularioShouts");
	   document.getElementById('shoutbox_'+id)['FORM[user_text]'].value="Escriba su mensaje";
	   if (document.getElementById('shoutbox_'+id)['FORM[recuerdame]'].value=="0"){
		   document.getElementById('shoutbox_'+id)['FORM[user_name]'].value="Nombre";
		   document.getElementById('shoutbox_'+id)['FORM[user_mail]'].value="Url/Mail";
	   }
   }


  function compruebaShoutboxFormClick(elemento,valor){
	  if (elemento.value==valor) {
		  elemento.value="";
		  elemento.focus();
	  }
  }

    function compruebaShoutboxFormUnClick(elemento,valor){
	  if (elemento.value=="") {
		  elemento.value=valor;
	  }
  }

  
  function enviaShout(id) {
   /*if (enviado!=0) {
	  document.location=document.location;
   }*/
   
   if (document.getElementById('shoutbox_'+id)['FORM[user_text]'].value=="" || document.getElementById('shoutbox_'+id)['FORM[user_text]'].value=="Escriba su mensaje") {
	  alert("Es necesario escribir algo");
	  document.getElementById('shoutbox_'+id)['FORM[user_text]'].focus();
	  return;
   }
	  
   if (document.getElementById('shoutbox_'+id)['FORM[user_mail]'].value=="Url/Mail" ) {
	  document.getElementById('shoutbox_'+id)['FORM[user_mail]'].value="";
   }
	  
   if (document.getElementById('shoutbox_'+id)['FORM[user_name]'].value=="" || document.getElementById('shoutbox_'+id)['FORM[user_name]'].value=="Nombre" ) {
	  if (confirm("¿Deseas publicar este shout como Anónimo?"))
		 document.getElementById('shoutbox_'+id)['FORM[user_name]'].value="Anónimo";
	  else {
		 document.getElementById('shoutbox_'+id)['FORM[user_name]'].focus();
		 return;
	  }
   }
   
   sendAjaxForm(document.getElementById('shoutbox_'+id),'shoutbox_div_'+id,'refreshFormularioShouts('+id+')','cargaFormularioShouts('+id+')','cargaShouts(null,false,'+id+')');
}


/**
 * FUNCIONES COMENTARIOS
 */
 var enviado=0;
function cargaFormularioComments(){
  borrarComentario(true);
  refreshFormularioComments();
} 

function enviaComentario() {
   /*if (enviado!=0) {
	  document.location=document.location;
   }*/
   
   if (document.comentario['FORM[user_comment]'].value=="") {
	  alert("Es necesario escribir algo");
	  document.comentario['FORM[user_comment]'].focus();
	  return;
   }
	  
   if (document.comentario['FORM[user_name]'].value=="") {
	  if (confirm("¿Deseas publicar este comentario como Anónimo?"))
		 document.comentario['FORM[user_name]'].value="Anónimo";
	  else {
		 document.comentario['FORM[user_name]'].focus();
		 return;
	  }
   }
   
   if (document.comentario['FORM[user_captcha]'].value=="") {
	  alert("Debes escribir las letras o números del CAPTCHA.");
	  document.comentario['FORM[user_captcha]'].focus();
	  return;
   } else {
	  document.comentario['FORM[user_captcha]'].value=document.comentario['FORM[user_captcha]'].value.toLowerCase();
   }
   enviado=1;
   //document.comentario.submit();
   sendAjaxForm(document.comentario,'mensaje_output',"refreshFormularioComments","cargaFormularioComments","cargaComentarios");
}

function borrarComentario(parcial){
	if (parcial) {
	  document.comentario['FORM[user_comment]'].value="";
	  document.comentario['FORM[user_captcha]'].value="";
	}
	else if (confirm("¿Desea vaciar el formulario?")){
	  document.comentario['FORM[user_comment]'].value="";
	  document.comentario['FORM[user_captcha]'].value="";
	  document.comentario['FORM[user_name]'].value="";
	  document.comentario['FORM[user_mail]'].value="";
	  document.comentario['FORM[user_url]'].value="";
	  //document.comentario.user_rating.selectedIndex=0;
   }
}
/**
 * ESTA FUNCION TRADUCE EL COMENTARIO A LENGUAJE HOYGAN!!
 * Gracias a http://www.xeon.com.es de quien he copiado la función.
 */
function traducirComentario(){
	if (confirm("¿Deseas traducir tu comentario a lenguaje Hoygan?\nRecuerda que el resultado no es unívoco y, por tanto, irreversible.")){
		document.comentario['FORM[user_comment]'].value=hoyganizar(document.comentario['FORM[user_comment]'].value);
	}
}

function hoyganizar(str) 
{
// mangado del puto svn de mierda de meneame :P
	str=str.replace(/á/gi, 'a');
	str=str.replace(/é/gi, 'e');
	str=str.replace(/í/gi, 'i');
	str=str.replace(/ó/gi, 'o');
	str=str.replace(/ú/gi, 'u');

	str=str.replace(/yo/gi, 'io');
	str=str.replace(/m([pb])/gi, 'n$1');
	str=str.replace(/qu([ei])/gi, 'k$1');
	str=str.replace(/ct/gi, 'st');
	str=str.replace(/cc/gi, 'cs');
	str=str.replace(/ll([aeou])/gi, 'y$1');
	str=str.replace(/ya/gi, 'ia');
	str=str.replace(/yo/gi, 'io');
	str=str.replace(/g([ei])/gi, 'j$1');
	str=str.replace(/^([aeiou][a-z]{3,})/gi, 'h$1');
	str=str.replace(/ ([aeiou][a-z]{3,})/gi, ' h$1');
	str=str.replace(/[zc]([ei])/gi, 's$1');
	str=str.replace(/z([aou])/gi, 's$1');
	str=str.replace(/c([aou])/gi, 'k$1');

	str=str.replace(/b([aeio])/gi, 'vvv;$1');
	str=str.replace(/v([aeio])/gi, 'bbb;$1');
	str=str.replace(/vvv;/gi, 'v');
	str=str.replace(/bbb;/gi, 'b');

	str=str.replace(/oi/gi, 'oy');
	str=str.replace(/xp([re])/gi, 'sp$1');
	str=str.replace(/x/gi, 'cs');
	str=str.replace(/es un/gi, 'esun');
	str=str.replace(/(^| )h([ae]) /gi, '$1$2 ');
	str=str.replace(/aho/gi, 'ao');
	str=str.replace(/a ver /gi, 'haber ');
	str=str.replace(/ por /gi, ' x ');
	str=str.replace(/ñ/gi, 'ny');
	str=str.replace(/buen/gi, 'GÜEN');

        // benjami
	str=str.replace(/windows/gi, 'güindous');
	str=str.replace(/we/gi, 'güe');
	// str=str.replace(/'. '/gi, '');
	str=str.replace(/,/gi, ' ');
	str=str.replace(/hola/gi, 'ola');
	str=str.replace(/ r([aeiou])/gi, ' rr$1');
	return "[irony]"+str.toUpperCase()+"[/irony]";
}

/**
 * FUNCIONES COMUNES
 */

  function cambiaRecuerdame(formulario){
	  if (formulario['FORM[recuerdame]'].value=="1")
	  	formulario['FORM[recuerdame]'].value="0";
	  else
	  	formulario['FORM[recuerdame]'].value="1";
  }
  
/**
 * Estas funciones rulean a muerte, sirven para enviar el cursor al
 * final de un textarea. Ideal para los botoncitos de los emotes y tal
 */
function scrollToBottom (element) {
		element.scrollTop = element.scrollHeight;
		setCaretToEnd(element);
		element.focus();
}

function setCaretToEnd (input) {
  if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(false);
    range.select();
  }
}
