function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/*-------------- Añadidos por Guillermo -----------*/

function cuentaCaracteres(mensaje,len)
{
	if (parseInt(len))
		var max=len;
	else
		var max = 160;
	
	//alert (mensaje);
	var patron = "#N#";
	var patron2 = "#P#";
	var encontrados =mensaje.match(patron);
	var encontrados2 =mensaje.match(patron2);
	if (encontrados!=null) max = max-7;
	if (encontrados2!=null) max = max-5;
	
	v = max - mensaje.length;
			
	if (document.envio.encabezado!=null && document.envio.encabezado.value.length >0)
		v=v-document.envio.encabezado.value.length-1;
	if (document.envio.pie!=null && document.envio.pie.value.length >0)
		v=v-document.envio.pie.value.length-1;
    document.envio.contador.value = v;
    if(document.envio.mensaje.value.length > max)
    {
       document.envio.mensaje.value=document.envio.mensaje.value.substring(0,max-1);
       alert("Alert! The message is too long.")
       document.envio.contador.value = 0;
    }
}

/**
 * Valida todo el texto comparandolo con los permitidos por el GSM7: Muy lento!
 */
function validarTextoSMS(form)
{
  var men,max,i,j,gsm7;
  //var prohibidos; //De momento no usaremos este Array porque sólo prohibimos el caracter ' 
  var error = false;
  var encontrado;
  men = "";
  
  gsm7= new Array("@"," ","$","¥","è","é","ù","ì","ò","Ç","Ø","ø","Å","?","_","F","G","?","O","?","?","S","T","?","^","{","}","\\","[","~","]","|","€","Æ","æ","ß","É","!","\"","#","¤","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","¡","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ö","ñ","ü","à");
  //prohibidos= new Array ("'");
  
  max=gsm7.length;
  i=0;
  encontrado=true;
  while(i<form.mensaje.value.length && encontrado)
  {
  	j=0;
  	encontrado=false;
  	while(j<max && !encontrado)
  	{
	  	if (form.mensaje.value.charAt(i)==gsm7[j])
	  	{
	        encontrado = true;
	    }
	  	j++;
	}
	i++;
  } 

  if (!encontrado)
  {
  	 men += "Text contains forbbiden characters. Please dont't use : " +form.mensaje.value.charAt(i-1);
  	 error=true;
  }


    if (error)
    {
        alert(men);
        return false;
    }
    else return true;
}

function validarCaracteres(form)
{

  error = false;
  men = "";

	form.mensaje.value=form.mensaje.value.replace("\n"," ");
    //if (form.t.value.indexOf('¡')>0 || form.t.value.indexOf('ñ')>0 || form.t.value.indexOf('á')>0 || form.t.value.indexOf('é')>0 || form.t.value.indexOf('í')>0 || form.t.value.indexOf('ó')>0 || form.t.value.indexOf('ú')>0 || form.t.value.indexOf('?')>0 || form.t.value.indexOf('É')>0 || form.t.value.indexOf('?')>0 || form.t.value.indexOf('Ó')>0 || form.t.value.indexOf('Ú')>0)
    //if ( form.mensaje.value.indexOf("\n")>0 || form.mensaje.value.indexOf("\'")>0 ||  form.mensaje.value.indexOf('á')>0 || form.mensaje.value.indexOf('é')>0 || form.mensaje.value.indexOf('í')>0 || form.mensaje.value.indexOf('ó')>0 || form.mensaje.value.indexOf('ú')>0 || form.mensaje.value.indexOf('?')>0 || form.mensaje.value.indexOf('É')>0 || form.mensaje.value.indexOf('?')>0 || form.mensaje.value.indexOf('Ó')>0 || form.mensaje.value.indexOf('Ú')>0)
    if ( form.mensaje.value.indexOf("\n")>0 || form.mensaje.value.indexOf("|")>0 )
    {
        men += "Text contains forbbiden characters. Please dont't use : <ENTER>...";
        error = true;
    }

    if (error)
    {
        alert(men);
        return false;
    }
    else
    	return true;
}

function soloNumerosNaturales(value)
{
  error = false;
  men = "";

    if((/\D/g).test(value))
    {
        value=value.replace(/\D/g,'');
        men += "Please use only numbers.";
        error = true;
    }
    if (error)
    {
        alert(men);
        return false;
    }
    else 
    	return true;
}

//Añade un numero de telefono a una caja de texto
function addNum()
{
    document.envio.destinatarios.value+=document.envio.numero.value+"\n";
    document.envio.numero.value="";
}

//Borra el ultimo numero de telefono a una caja de texto
function borraNum()
{
    tam=document.envio.destinatarios.value.length-11;
    document.envio.destinatarios.value=document.envio.destinatarios.value.substr(0,tam);
    document.envio.destinos.value--;

    tam_n=document.envio.n.value.length-10;
    document.envio.n.value=document.envio.n.value.substr(0,tam_n);
}