/**
 * Comprueba que los campos con asterisco no esten vacios, que el mail sea valido y que se haya aceptado la politica de privacidad 
 */
function validarCampos() {
	
	// Comprovacion de que los campos obligatorios no esten vacios
	
	var errores = false;
	
	// Nombre
	var inp_nombre = document.getElementById("inp_nombre");
	if(inp_nombre.value == "") {
		var label_nombre = document.getElementById("label_nombre");
		label_nombre.style.color = "#FF0000";
		errores = true;
	} else {
		var label_nombre = document.getElementById("label_nombre");
		label_nombre.style.color = "#000000";
	} // if
	
	// Apellidos
	var inp_apellidos = document.getElementById("inp_apellidos");
	if(inp_apellidos.value == "") {
		var label_apellidos = document.getElementById("label_apellidos");
		label_apellidos.style.color = "#FF0000";
		errores = true;
	} else {
		var label_apellidos = document.getElementById("label_apellidos");
		label_apellidos.style.color = "#000000";
	} // if
	
	// E-mail
	var inp_email = document.getElementById("inp_email");
	if(inp_email.value == "") {
		var label_email = document.getElementById("label_email");
		label_email.style.color = "#FF0000";
		errores = true;
	} else {
		var label_email = document.getElementById("label_email");
		label_email.style.color = "#000000";
	} // if
	
	// Colaborar
	var inp_colaborar = document.getElementById("inp_colaborar");
	if(inp_colaborar.value == "") {
		var label_colaborar = document.getElementById("label_colaborar");
		label_colaborar.style.color = "#FF0000";
		errores = true;
	} else {
		var label_colaborar = document.getElementById("label_colaborar");
		label_colaborar.style.color = "#000000";
	} // if
	
	// Curriculum
	var inp_cv = document.getElementById("inp_cv");
	if(inp_cv.value == "") {
		var label_cv = document.getElementById("label_cv");
		label_cv.style.color = "#FF0000";
		errores = true;
	} else {
		var label_cv = document.getElementById("label_cv");
		label_cv.style.color = "#000000";
	} // if
	
	// Validacion de codigo postal
	var inp_codigo = document.getElementById("inp_codigo");
	var codigo = inp_codigo.value;
	var re = new RegExp(/[0-9]{5}/);
	if(!re.test(codigo) && codigo != "") {
		var label_codigo = document.getElementById("label_codigo");
		label_codigo.style.color = "#FF0000";
		errores = true;
	} else {
		var label_codigo = document.getElementById("label_codigo");
		label_codigo.style.color = "#000000";
	} // if
	
	// Validacion del E-mail
	var email = inp_email.value;
	var re = new RegExp(/(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/);
	if(!re.test(email)) {
		var label_email = document.getElementById("label_email");
		label_email.style.color = "#FF0000";
		errores = true;
	} else {
		var label_email = document.getElementById("label_email");
		label_email.style.color = "#000000";
	} // if
	
	if(errores) {
		var mensaje_error = document.getElementById("mensaje_error");
		mensaje_error.style.display = "block";
		return false;
	} else {
		var mensaje_error = document.getElementById("mensaje_error");
		mensaje_error.style.display = "none";
	} // if
	
	// Comprovacion de que se haya aceptado la politica de privacidad
	var check_legal = document.getElementById("check_legal");
	var mensaje_error_politica = document.getElementById("mensaje_error_politica");
	if(!check_legal.checked) {
		mensaje_error_politica.style.display = "block";
		return false;
	} else {
		mensaje_error_politica.style.display = "none";
	} // if
	
	return true;
	
} // validarCampos


/**
 * Insesrcion de un enlace a la lista de trabajos
 */
idTrabajo = 0;
numTrabajos = 0;
function insertaTrabajo() {
	
	var inp_trabajos = document.getElementById("inp_trabajos");
	if(inp_trabajos.value == "") return;
	
	var lista = document.getElementById("lista_trabajos");
	
	// Si es la primera linea introducida, borramos el mensaje de lista vacia
	var ningun = document.getElementById("ningun");
	if(ningun.innerHTML != "") ningun.innerHTML = "";
	
	var url = htmlentities(inp_trabajos.value);
	
	// Insercion del protocolo si no esta
	if(url.substring(0, 7) != "http://") url = "http://" + url;
	
	// Nuevo trabajo
	lista.innerHTML = lista.innerHTML + "<div id=\"trabajo" + idTrabajo + "\"><a href=\"" + url + "\" target=\"_blank\">" + htmlentities(inp_trabajos.value) + "</a>&nbsp;&nbsp;<img src=\"imagenes/eliminar.gif\" onclick=\"borraTrabajo('" + idTrabajo + "')\" style=\"cursor: pointer\" title=\"Eliminar\" /><br /></div>\n";
	
	// Nuevo trabajo en el input hidden
	lista.innerHTML = lista.innerHTML + "<input type=\"hidden\" id=\"trabajoHid" + idTrabajo + "\" name=\"trabajos[]\" value=\"" + htmlentities(inp_trabajos.value) + "\" />\n";
	
	inp_trabajos.value = "";
	idTrabajo++;
	numTrabajos++;

} // insertaTrabajo

function borraTrabajo(id) {
	
	var trabajo = document.getElementById('trabajo' + id);
	var padre = trabajo.parentNode;
	padre.removeChild(trabajo);
	
	var trabajo_inp = document.getElementById('trabajoHid' + id);
	var padre_inp = trabajo_inp.parentNode;
	padre_inp.removeChild(trabajo_inp);
	
	numTrabajos--;
	
	// Si es la ultima linea borrada, introducimos el mensaje de lista vacia
	var ningun = document.getElementById("ningun");
	if(numTrabajos == 0) ningun.innerHTML = "<i>Lista vac&iacute;a</i>";
	
} // borraTrabajo

function htmlentities(s) {
    
	s = str_replace('"', '&quot;', s);
	var div = document.createElement('div');
	var text = document.createTextNode(s);
	div.appendChild(text);
	
	return div.innerHTML;
	
} // htmlentities

function str_replace(search, replace, subject) {
    
    var f = search, r = replace, s = subject;
    var ra = is_array(r), sa = is_array(s), f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;

    while(j = 0, i--){
        while(s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f);
    }
     
    return sa ? s : s[0];
	
} // str_replace

function is_array( mixed_var ) {

    return ( mixed_var instanceof Array );
	
} // is_array