// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (url, id_contenedor)
{
    var pagina_requerida = false;
    if (window.XMLHttpRequest)
    {
        // Si es Mozilla, Safari etc
        pagina_requerida = new XMLHttpRequest ();
    } else if (window.ActiveXObject)
    {
        // pero si es IE
        try 
        {
            pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            // en caso que sea una versión antigua
            try
            {
                pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    } 
    else
    return false;
    pagina_requerida.onreadystatechange = function ()
    {
        // función de respuesta
        cargarpagina (pagina_requerida, id_contenedor);
    }
    pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
    pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
    if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
    document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}

function validar_login () {
	formulario = document.getElementById('login');
	error = document.getElementById('error_login');
	if (formulario.usuario.value == "") {
		error.innerHTML = "Escriba un usuario";
		return false;
	} else if(formulario.contrasenya.value==""){
		error.innerHTML = "Escriba una contraseña";
		return false;
	} else {
		formulario.submit();
	}
}

function validar_registro () {
	formulario = document.getElementById('registro');
	error = document.getElementById('error_registro');
	if (formulario.nuevo_usuario.value == "") {
		error.innerHTML = "El campo Usuario no puede estar vacío";
		return false;
	} else if (formulario.nueva_contrasenya.value == "") {
		error.innerHTML = "El campo Contraseña no puede estar vacío";
		return false;
	} else if (formulario.repite_contrasenya.value == "") {
		error.innerHTML = "Vuelve a escribir la contraseña";
		return false;
	} else if (formulario.repite_contrasenya.value != formulario.nueva_contrasenya.value) {
		error.innerHTML = "Las contraseñas no coinciden";
		return false;
	} else if (formulario.email.value == "") {
		error.innerHTML = "El campo E-Mail no puede estar vacío";
		return false;
	} else if (!validar_email(formulario.email.value)) {
		error.innerHTML = "El e-mail no es correcto";
		return false;
	} else if (formulario.telefono.value != "" && formulario.telefono.value.length != 9) {
		error.innerHTML = "El teléfono no es correcto";
		return false;
	} else {
		formulario.submit();
	}
}

function validar_email (valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return (true)
	} else {
		return (false);
	}
}

var nav4 = window.Event ? true : false;
function acceptNum (evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav4 ? evt.which : evt.keyCode;
return (key <= 13 || (key >= 48 && key <= 57));
}

var nav5 = window.Event ? true : false;
function acceptSMS (evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav5 ? evt.which : evt.keyCode;
	if(document.getElementById('mensaje').value.length < 160){
		return (key <= 13 || (key >= 32 && key <=90) || key == 95 || (key  >=97 && key <=122) || key == 161 || (key >= 163 && key <= 165) || key == 167 || key ==191 || (key >= 196 && key <=199) || key == 201 || key == 209 || key == 214 || key == 216 || key == 220 || key == 223 || key == 224 || (key >= 228 && key <=230) || key == 232 || key == 233 || key == 236 || key == 241 || key == 242 || key == 246 || key == 248 || key == 249 || key == 252);
	}else{
		return (key <= 13)
	}
}

function caracteres() {	
	document.getElementById('caracteres').innerHTML=160-document.getElementById('mensaje').value.length;
	if (document.getElementById('caracteres').innerHTML==0)
	{
		document.getElementById('total').style.color='red';
	} else {
		document.getElementById('total').style.color='#9CCC06';
	}
	if (document.getElementById('mensaje').value.length>160)
	{
		document.getElementById('mensaje').value = document.getElementById('mensaje').value.substring(0,160);
	}
}

var nav6 = window.Event ? true : false;
function acceptSender (evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav6 ? evt.which : evt.keyCode;
return (key <= 13 || (key >= 48 && key <= 57) ||(key >= 65 && key <= 90) || (key >= 97 && key <= 122));
}

function nuevo_destinatario (texto, valor) {
	var nuevo;
	nueva_opcion = new Option(texto, valor);
	saldo = document.getElementById('saldo').innerHTML;
	select = document.forms['enviarsms'].elements['destinatarios'];
	error = document.getElementById('error_numero');
	for (i=0;i<select.options.length;i++) {
		if (select.options[i].text == texto) {
			nuevo = false;
		}
	}
	if (nuevo != false) {	
		if ((saldo - nueva_opcion.value) >= 0) {		
			select.options[select.options.length] = nueva_opcion;
			var saldo = Number(document.getElementById('saldo').innerHTML);
			saldo = saldo - Number(nueva_opcion.value);
			document.getElementById('saldo').innerHTML = saldo;
			if (saldo == 0)
			{
				document.getElementById('saldo').style.color = 'red';
				document.getElementById('creditos').style.color = 'red';
			}
			error.innerHTML = "&nbsp;";
		} else {			
			error.innerHTML = "No dispones de saldo suficiente";
		}
	} 
}

function quitar_destinatario () {
	destinatarios = document.getElementById('destinatarios');	
	if (destinatarios.selectedIndex != -1) {
		var saldo = Number(document.getElementById('saldo').innerHTML);
		saldo = saldo + Number(destinatarios.options[destinatarios.selectedIndex].value);
		document.getElementById('saldo').innerHTML = saldo;
		document.getElementById('saldo').style.color = '#9CCC06';
		document.getElementById('creditos').style.color = '#9CCC06';
		destinatarios.options[destinatarios.selectedIndex] = null;
	}
}

function validar_telefono (numero) {
	error = document.getElementById('error_numero');
	if (numero.length != "") {
		if (numero.length < 9) {
			error.innerHTML = "El teléfono no es correcto";
		}else {
			error.innerHTML = "";
			document.getElementById('numero').value = "";
			nuevo_destinatario(numero, 1);
		}
	}
}

function enviar_sms () {
	formulario = document.getElementById('enviarsms');
	destinatarios = document.getElementById('destinatarios');
	archivo = document.getElementById('archivo');
	error = document.getElementById('error_mensaje');
	var vars='';
	if (formulario.mensaje.value == "") {
		error.innerHTML = "El campo Mensaje no puede estar vacío";
		return false;
	} else if (archivo.value != "") {
		formulario.submit();
		return false;
	}else{
		if(destinatarios.length<1){
			error.innerHTML = "Añade al menos un destinatario para el mensaje";
			return false;
		} else {
			for (i=0;i<destinatarios.options.length;i++) {
				vars = vars +'&var' + i + '=' + destinatarios.options[i].text;
			}
			location.href='sendsms.php?&mensaje=' + formulario.mensaje.value + vars;
		}
	}
}

function validar_grupo() {
	formulario = document.getElementById('formgrupo');
	error = document.getElementById('error_grupo');
	if (formulario.grupo.value == "") {
		error.innerHTML = "El campo Grupo no puede estar vacío";
		return false;
	} else {
		formulario.submit();
	}
}

function validar_contacto() {
	formulario = document.getElementById('formcontacto');
	error = document.getElementById('error_contacto');
	numero = formulario.telefono.value;
	if (formulario.nombre.value == "") {
		error.innerHTML = "El campo Nombre no puede estar vacío";
		return false;
	} else if (formulario.telefono.value == "") {
		error.innerHTML = "El campo Teléfono no puede estar vacío";
		return false;
	} else if (numero.length < 9 ) {
		error.innerHTML = "El teléfono no es correcto";
		return false;
	} else {
		formulario.submit();
	}
}

function validar_contactar() {
	formulario = document.getElementById('contactar');
	error = document.getElementById('error_contactar');
	if (formulario.nombre.value == "") {
		error.innerHTML = "El campo Nombre no puede estar vacío";
		return false;
	} else if (formulario.email.value == "") {
		error.innerHTML = "El campo Email no puede estar vacío";
		return false;
	} else if (!validar_email(formulario.email.value)) {
		error.innerHTML = "El e-mail no es correcto";
		return false;
	} else if (formulario.asunto.value == "") {
		error.innerHTML = "El campo Asunto no puede estar vacío";
		return false;
	} else if (formulario.mensaje.value == "") {
		error.innerHTML = "El campo Mensaje no puede estar vacío";
		return false;
	} else {
		formulario.submit();
	}
}

function validar_micuenta () {
	formulario = document.getElementById('micuenta');
	error = document.getElementById('error_micuenta');
	if (formulario.nueva_contrasenya.value != "") {
		if (formulario.repite_contrasenya.value == "") {
			error.innerHTML = "Vuelve a escribir la contraseña";
			return false;
		} else if (formulario.repite_contrasenya.value != formulario.nueva_contrasenya.value) {
			error.innerHTML = "Las contraseñas no coinciden";
			return false;
		}	 		
	} 
	if (formulario.email.value == "") {
		error.innerHTML = "El campo E-Mail no puede estar vacío";
		return false;
	} else if (!validar_email(formulario.email.value)) {
		error.innerHTML = "El e-mail no es correcto";
		return false;
	} 
	
	if (formulario.telefono.value != "" && formulario.telefono.value.length != 9) {
		error.innerHTML = "El teléfono no es correcto";
		return false;
	} else {
		formulario.submit();
	}
}

function sender () {
	formulario = document.getElementById('senderid');
	error = document.getElementById('error_sender');
	if (formulario.sender.value == "") {
		error.innerHTML = "El campo Sender ID no puede estar vacío";
		return false;
	} else {
		formulario.submit();	 		
	} 	
}