// JavaScript Document

// validacio del formulari de la borsa de treball
function valida_cv(form){
	var inputs = form.getElementsByTagName('input');
	var selects = form.getElementsByTagName('select');
	var checks = 0;
	var checks2 = 0;
	var radios = 0;
	var falta_algun_camp = false;
	
	for(var i=0; i<inputs.length; i++ ){
		// almenys un check marcat (1 formacio acreditada)
		if(inputs[i].type == "checkbox"){
			if(inputs[i].checked){
				if(inputs[i].name.charAt(0) == "f"){
					checks++;
					if(inputs[i].name == "formacio_10"){
						if(document.getElementById('formacio_altres').value.length == 0) falta_algun_camp = true;
					}
				}else if(inputs[i].name.charAt(0) == "t"){
					checks2++;
				}
			}
		// tots els camps de text obligatoris excepte e-mail, adreça, altres i el fileupload
		}else if(inputs[i].type == "text"){
			if( (inputs[i].value.length == 0) && (inputs[i].name != "mail") && (inputs[i].name != "direccio") && (inputs[i].name != "formacio_altres") && (inputs[i].name != "string_file") ) falta_algun_camp = true;
		// almenys 1 radiobutton marcat (home o dona)
		}else if(inputs[i].type == "radio"){
			if(inputs[i].checked){
				radios++;
			}
		}
	}
	// tots els selects sel·leccionats
	for(var i=0; i<selects.length; i++ ){
		if(selects[i].value == "0" || selects[i].value == "" || selects[i].value == null){
			falta_algun_camp = true;
		}
	}
	if( (falta_algun_camp) || (checks == 0) || (checks2 == 0) || (radios == 0) )
		alert("Falta algun camp per omplir!");
	else{
		// validem l'adreça de correu electronic
		var email = document.getElementById('mail_cv').value;
		if(email.length > 0){
			if(comprovaEmail(email)){
				form.action = base_url+"bd-portada-treballa.php";
				form.submit();
			}else{	
				alert("Introdueix una adre\u00E7a de correu electr\u00F2nic v\u00E0lida");
				document.getElementById("mail_cv").focus();
			}
		}else{
			// si esta tot OK enviem el formulari
			form.action = base_url+"bd-portada-treballa.php";
			form.submit();
		}
	}
}

// funcio per actualitzar les places disponibles segons les formacions acreditades
function actualitza_places(form){
	// array d'inputs del formulari
	var inputs = form.getElementsByTagName('input');
	// array de formacions marcades
	var id_formacions = new Array();
	var crida = "ajax-places.php?target=capa_places&formacions=";
	var j=0;
	
	// amaguem/mostrem la caixa de text per especificar la formacio en cas de marcar el check 10 (Altres)
	if(document.getElementById('formacio_10').checked) document.getElementById('formacio_altres').style.display = 'inline';
	else{ 
		document.getElementById('formacio_altres').value = '';
		document.getElementById('formacio_altres').style.display = 'none';
	}
				
	for(var i=0; i<inputs.length; i++ ){
		//alert(checks[i].type);
		if(inputs[i].type == "checkbox"){
			if(inputs[i].name.charAt(0) == "f"){
				if(inputs[i].checked){
					var trozos = inputs[i].name.split("_");
					id_formacions[j] = trozos[1];
					j++;
				}
			}
		}
	}
	if(id_formacions.length > 0){
		for(var k=0; k<id_formacions.length; k++)
		crida += id_formacions[k]+",";
		
		//alert(crida);
		cridaAJAX(crida);
	}else document.getElementById('capa_places').innerHTML = '<span style="color:#666666" >Cal marcar les formacions acadèmiques realitzades</span>';
}

// funcio generica d'AJAX
function cridaAJAX(url){
	var httpRequest;
			
		var params="";

		try{
			params=url.split('?')[1];
			url=url.split('?')[0];
		}catch(e){}
		try{
			target=params.split('target=')[1].split('&')[0];
		}catch(e){
			target="";	
		}
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!httpRequest) {
            alert("Error, no s'ha pogut crear una instància de AJAX");
            return false;
        }
        httpRequest.onreadystatechange = function() { 
			//posicionaCapaLoading();
			//mostraCapaLoading();
			mostraResultat(httpRequest); 
		};
        httpRequest.open('GET', url+"?"+params, true);
        httpRequest.send(null);
}

// mostrem el resultat obtingut per AJAX
function mostraResultat(httpRequest) {
	//document.location.href="#top";
	if(httpRequest.readyState < 4){//loading
		//alert("estat igual a 1");
		//	document.getElementById("load").innerHTML="<img src=\"imatges/cargando.gif\" id=\"cargando\" name=\"cargando\" width=\"25\"/>";
		
		//setTimeout(doNext,15000);
	}
    if (httpRequest.readyState == 4) {//la resposta un cop s'ha carregat
		//setTimeout(amagaCapaLoading,1000); 
        if (httpRequest.status == 200) {
            // Mostrem la taula resultant
            resposta=httpRequest.responseText;
			document.getElementById(target).innerHTML=resposta;
			//control_galeria = true;
			//sleep(1000);
			//comprovar_thickbox();
        } else {
            alert('Error amb la petició');
        }
    }

}

