// Funcions JavaScript de validacio

// Validacio del login
function do_login() {
	// Validem el login de l'usuari
	// Prenem el formulari
	var formulari = document.getElementById('identificacio');
	var login = formulari.login.value;
	var password = formulari.pass.value;
	var isOk = true;
	var error = "";
	if (!isValidEmail(login)) {
		isOk = false;
		error = "El login introduit no es un email valid\n";
	}
	if (!isValidText(password)) {
		isOk = false;
		error += "La password introduida no es correcta";
	}
	if (isOk) {
		formulari.action = "gestio.php?do_login";
		formulari.submit();
	} else {
		alert(error);
	}
}

// Validacio del login
function do_login_web() {
	// Validem el login de l'usuari
	// Prenem el formulari
        var formulari = document.getElementById('identificacio_web');
	var login = document.getElementById('login1').value;
	var password = document.getElementById('pass1').value;
	var isOk = true;
	var error = "";
	if (!isValidEmail(login)) {
		isOk = false;
		error = "El login introduit no es un email valid\n";
	}
	if (!isValidText(password)) {
		isOk = false;
		error += "La password introduida no es correcta";
	}
	if (isOk) {
		formulari.action = "gestio.php?do_login&web";
		formulari.submit();
	} else {
		alert(error);
	}
}

// Regeneracio del captchar
function regenerar_captchar() {
     $.get("gestio.php", {captchar: "si"},
        function(data,textStatus){
            document.getElementById("captchar").src = data;
        }
     );
}

// Validacio de l'anulacio de zona blava
function do_anulacio() {
	// Prenem el formulari
	var formulari = document.getElementById('anulacio');
	var isOk = true;
	var error = "";
	// Prenem les dades
        var nom = formulari.nom.value;
	var dni = formulari.dni.value;
	var data = formulari.data.value;
	var hora = formulari.hora.value;
	var controlador = formulari.controlador.value;
	var matricula = formulari.matricula.value;
	var referencia = formulari.referencia.value;
	// Fem les validacions
        if (!isValidText(nom)) {
		isOk = false;
		error = "El nom &eacute;s obligatori<br />";
	}
        if (!isValidDni(dni) && !isValidCif(dni)) {
		isOk = false;
		error += "El DNI / CIF &eacute;s obligatori<br />";
	}
	if (!isValidDataF1(data)) {
		isOk = false;
		error += "La data &eacute;s obligat&ograve;ria amb el format dd/mm/aaaa<br />";
	}
	if (!isValidHora(hora)) {
		isOk = false;
		error += "L'hora &eacute;s obligat&ograve;ria amb el format hh:mm<br />";
	}
	if (!isValidReferenciaVNG(referencia)) {
		isOk = false;
		error += "El n&uacute;mero de butllet&iacute; &eacute;s obligatori amb el format z000000000<br />";
	}
	if (!isValidControladorVNG(controlador)) {
		isOk = false;
		error += "El controlador &eacute;s obligatori amb el format 000<br />";
	}
	if (!isValidText(matricula)) {
		isOk = false;
		error += "La matr&iacute;cula &eacute;s obligat&ograve;ria";
	}
	if (!isOk) {
		document.getElementById('missatge_error').innerHTML = error;
	} else {
            // Abans d'enviar el formulari donarem el missatge d'advertiment sobre l'anulacio de la zona blava
	    var missatge = document.getElementById('informacio_blava');
	    missatge.style.visibility = "visible";
	    //formulari.submit();
	}
}

function confirma_anulacio(opcio) {
	if (opcio == "Si") {
		document.getElementById('anulacio').submit();
	} else {
		document.getElementById('informacio_blava').style.visibility = "hidden";
	}
}

// Validacio del registre
function do_registre(id) {
    // Variable que ens informa de la correccio del formulari
    var isOk = true;
    // Variable que conte el missatge d'error
    var error = "";
    // Prenem el formulari
    var formulari = document.getElementById("fregistre");
    // Comprovem el caps obligatoris
    var nom = formulari.nom.value;
    var cognoms = formulari.cognoms.value;
    var adreca = formulari.adreca.value;
    var poblacio = formulari.poblacio.value;
    var provincia = formulari.provincia.value;
    var telefon = formulari.telefon.value;
    var email = formulari.email.value;
    var conf_email = formulari.conf_email.value;
    var pass = formulari.pass.value;
    var txt_captchar = formulari.txt_captchar.value;
    // Fem les validacions
    if (!isValidText(nom)) {
        isOk = false;
        error += "El nom &eacute;s un camp obligatori<br />";
    }
    if (!isValidText(cognoms)) {
        isOk = false;
        error += "Els cognoms s&oacute;n un camp obligatori<br />";
    }
    if (!isValidText(adreca)) {
        isOk = false;
        error += "L'adre&ccedil;a  &eacute;s un camp obligatori<br />";
    }
    if (provincia == 0) {
        isOk = false;
        error += "La prov&iacute;ncia &eacute;s un camp obligatori<br />";
    }
    if (poblacio == 0) {
        isOk = false;
        error += "La poblaci&oacute; &eacute;s un camp obligatori<br />";
    }
    if (!isValidTelefonF1(telefon)) {
        isOk = false;
        error += "El tel&egrave;fon &eacute;s un camp obligatori, amb format 999999999<br />";
    }
    if (!isValidEmail(email)) {
        isOk = false;
        error += "L'e-mail &eacute;s un camp obligatori<br />";
    } else {
        if (email !=  conf_email) {
            isOk = false;
            error += "Els e-mails no coincideixen<br />";
        }
    }
    // Valido la password si estic donant d'alta
    if (id == "0") {
        if (!isValidPassword(pass)) {
            isOk = false;
            error += "La constrasenya &eacute;s un camp obligatori i ha de tenir, com a m&iacute;nim, 6 car&agrave;cters de longitud<br />";
        }
    } else {
        if (isValidText(pass)) {
            // Si esta modificant i ha escrit alguna cosa comprovem que es una password adecuada
            if (!isValidPassword(pass)) {
                isOk = false;
                error += "La constrasenya ha de tenir, com a m&iacute;nim, 6 car&agrave;cters de longitud<br />";
            }
        } else {
            formulari.pass.value = "";
        }
    }

    if (!isValidCaptchar(txt_captchar)) {
        isOk = false;
        error += "El codi de seguretat no t&eacute; el format correcte<br />";
    }

    if (isOk) {
        // S'ha validat tot, ara he de de veure que el login no esta repetit a la base de dades.
        $.get("gestio.php", {login: "si", mail: email, i: id},
            function(data,textStatus){
                if (data == "TOTAL0") {
                    formulari.submit();
                } else {
                    error += "L'e-mail esta repetit a la base de dades<br />";
                    document.getElementById("error_registre").innerHTML = error;
                }
            }
         );
    } else {
        document.getElementById("error_registre").innerHTML = error;
    }
}

function carrega_poblacio() {
    var provincia = document.getElementById('provincia').value;
    var capa = document.getElementById("capa_poblacio");
    if (provincia == 0) {
        capa.innerHTML = "Selecciona la prov&iacute;ncia";
    } else {
        capa.innerHTML = "<img src=\"images/load.gif\" />";
        $.get("gestio.php", {poblacio: "si", id: provincia},
            function(data,textStatus){
                capa.innerHTML = data;
            }
        );
    }
}

function do_suggeriment() {
    // Variable que ens informa de la correccio del formulari
    var isOk = true;
    // Variable que conte el missatge d'error
    var error = "";
    // Prenem el formulari
    var formulari = document.getElementById("fsuggeriment");
    // Prenem les variables
    var nom = formulari.nom.value;
    var telefon = formulari.telefon.value;
    var email = formulari.email.value;
    // Fem les validacions
    if (!isValidText(nom)) {
        isOk = false;
        error += "El nom &eacute;s un camp obligatori<br />";
    }
    if (!isValidEmail(email)) {
        isOk = false;
        error += "L'e-mail &eacute;s un camp obligatori<br />";
    }
    if (!isValidTelefonF1(telefon)) {
        isOk = false;
        error += "El tel&egrave;fon &eacute;s un camp obligatori, amb format 999999999<br />";
    }
    if (!isOk) {
        document.getElementById('missatge_error').innerHTML = error;
    } else {
        formulari.submit();
    }
}

function do_contacte() {
    // Variable que ens informa de la correccio del formulari
    var isOk = true;
    // Variable que conte el missatge d'error
    var error = "";
    // Prenem el formulari
    var formulari = document.getElementById("fcontacte");
    // Prenem les variables
    var nom = formulari.nom.value;
    var telefon = formulari.telefon.value;
    var email = formulari.email.value;
    // Fem les validacions
    if (!isValidText(nom)) {
        isOk = false;
        error += "El nom &eacute;s un camp obligatori<br />";
    }
    if (!isValidEmail(email)) {
        isOk = false;
        error += "L'e-mail &eacute;s un camp obligatori<br />";
    }
    if (!isValidTelefonF1(telefon)) {
        isOk = false;
        error += "El tel&egrave;fon &eacute;s un camp obligatori, amb format 999999999<br />";
    }
    if (!isOk) {
        document.getElementById('missatge_error').innerHTML = error;
    } else {
        formulari.submit();
    }
}

function valida_novaContrasenya1(){
    // Variable que ens informa de la correccio del formulari
    var isOk = true;
    // Variable que conte el missatge d'error
    var error = "";
    var formulari = document.getElementById("formContrasenya");
    // Prenem les variables
    var email = formulari.email.value;
    //var pass = formulari.pass.value;
    //var repPass = formulari.repPass.value;
    //Fem les validacions
    if (!isValidEmail(email)) {
        isOk = false;
        error += "<strong>L'Email &eacute;s un camp obligatori</strong>";
    }
    /*if (!isValidText(pass)) {
        isOk = false;
        error += "La contrasenya &eacute;s un camp obligatori<br />";
    }
    if (!isValidText(repPass)) {
        isOk = false;
        error += "Repeteix la contrasenya<br />";
    }
    if (pass != repPass){
        isOk = false;
        error += "La contrasenya ha de ser igual<br />";
    }*/
    if (!isOk) {
        document.getElementById('missatge_error').innerHTML = error;
    } else {
        formulari.submit();
    }
}

function valida_novaContrasenya2(){
    // Variable que ens informa de la correccio del formulari
    var isOk = true;
    // Variable que conte el missatge d'error
    var error = "";
    var formulari = document.getElementById("formContrasenya");
    var pass = formulari.pass.value;
    var repPass = formulari.repPass.value;
    //Fem les validacions

    if (!isValidPassword(pass)) {
        isOk = false;
        error += "La contrasenya &eacute;s un camp obligatori de, com a m&iacute;nim, 6 caracters!!<br />";
    }
    if (!isValidPassword(repPass)) {
        isOk = false;
        error += "Repeteix la contrasenya!!<br />";
    }
    if (pass != repPass){
        isOk = false;
        error += "Les contrasenyes han de ser iguals!!<br />";
    }
    if (!isOk) {
        document.getElementById('missatge_error').innerHTML = "<strong>" + error + "</strong>";
    } else {
        formulari.submit();
    }
}

function esborra(id) {
    document.getElementById(id).value = "";
}

function mostra(id) {
    var valor = document.getElementById(id).value;
    switch (id) {
        case 'data':
            if (!isValidDataF1(valor)) document.getElementById(id).value = "dd/mm/aaaa";
            break;
        case 'hora':
            if (!isValidHora(valor)) document.getElementById(id).value = "hh:mm";
            break;
        case 'controlador':
            if (!isValidControladorVNG(valor)) document.getElementById(id).value = "000";
            break;
        case 'referencia':
            if (!isValidReferenciaVNG(valor)) document.getElementById(id).value = "";
            break;
    }

}

function modifica_cistella(idabonament, idaparcament, accio, total) {
    location.href="gestio.php?abonaments&idab=" + idabonament + "&idap=" + idaparcament + "&" + accio + "&t=" + total;
}
function elimina_cistella(idabonament, idaparcament) {
    location.href="gestio.php?abonaments&idab=" + idabonament + "&idap=" + idaparcament + "&q=0";
}
function comprar() {
    if (document.getElementById('factura').checked) {
        document.getElementById('ffactura').action = "gestio.php?comprar_abonaments&factura";
    } else {
        document.getElementById('ffactura').action = "gestio.php?comprar_abonaments";
    }
    document.getElementById('ffactura').submit();
}
function vol_factura() {
    if (document.getElementById('factura').checked) {
        document.getElementById('cfactura').style.visibility="visible";
    } else {
        document.getElementById('cfactura').style.visibility="hidden";
    }
}

function valida_compra() {
    // Variable que conte la validesa o no de la compra
    var isOk = true;
    var missatge = "";
    // Comprovem, si tenen factura, que s'han introduit les dades correctament.
    if (document.getElementById('factura').checked) {
        // Validem que l'usuari hagi posat un nom, un cif / nif i una adreca    
        var formulari = document.getElementById('ffactura');
        var nomsocial = formulari.nsocial.value;
        var cnif = formulari.cnif.value;
        var adreca = formulari.adreca.value;
        if (!isValidText(nomsocial)) {
            isOk = false;
            missatge = "El nom social &eacute;s obligatori!!<br />";
        }
        if (!isValidText(adreca)) {
            isOk = false;
            missatge += "L'adre&ccedil;a &eacute;s obligat&ograve;ria!!<br />";
        }
        if (!isValidCif(cnif) && !isValidDni(cnif)) {
            isOk = false;
            missatge += "El CIF / NIF no es correspon amb un valor correcte!!<br />";
        }   
    }
    // Comprovem si s'han triat tots els productes especials
    var elschecks = document.getElementsByTagName("input");
    var totalchecks = 0;
    var checksnomarcats = 0;
    for (i=0; i<elschecks.length; i++) {
        if (elschecks[i].getAttribute("type") != "checkbox") continue;
        if (elschecks[i].getAttribute("id") == "factura") continue;
        totalchecks++;
        if (!elschecks[i].checked) checksnomarcats++;
    }
    if (checksnomarcats > 0) {
        // Hi ha productes especials dels que no s'han acceptat les condicions de contractacio
        isOk = false;
        missatge = "S'han d'acceptar les condicions de contractaci&oacute; per a realitzar la compra del producte!!"
    }
    if (!isOk) {
        document.getElementById('missatge').innerHTML = "<span style=\"color:red\"><strong>" + missatge + "</strong></span>";
    } else {
        var capa = document.getElementById('boto_comprar');
        capa.innerHTML = "<strong>Fent l'enviament ...</strong>";
        comprar();
    }
}
