var req;
var res;
var ret;
var ense=0;
var conve=0;

function chcd()
{
 var codi=document.inscripcio.codiesc;
 var escola=document.inscripcio.escola[document.inscripcio.escola.selectedIndex].value;
 // prechcd();
 if(codi.value!="")
 {
// alert("rpc.asp?codi="+codi.value+"&id="+escola);

  if(!/\d{8}/.test(codi.value))
	{
		alert("El codi introduït no és vàlid. Ha de tenir 8 caracters")
		codi.select();
		codi.focus();
	}
  else {
      if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processCodi;
        req.open("GET", "rpc.asp?codi="+codi.value+"&id="+escola, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processCodi;
            req.open("GET", "rpc.asp?codi="+codi.value+"&id="+escola, true);
            req.send();
        }
    }}
 }
}

function processCodi()
{
 var escola=document.inscripcio.escola[document.inscripcio.escola.selectedIndex].value;
// alert(2);
// document.getElementById('cursos').style.display='block';
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
//	alert("Risposta è: "+req.responseText);
            // ...processing statements go here...
      response  = unescape(req.responseText);
      if(response=="0" && escola!="0")
 	{
		alert("El codi introduït no és correcte. No pertany a escola")
		document.inscripcio.codiesc.select();
		document.inscripcio.codiesc.focus();
	}
/*      else if(response=="0" && escola=="0")
	{
		alert("El codi introduït pertany a una escola present al desplegable d'escoles.\nCanvii el codi o esculli la seva escola del desplegable")
		document.inscripcio.codiesc.select();
		document.inscripcio.codiesc.focus();
	}		
*/
	else if(response!="0" && escola!="0")
	{
      	var colegi = response.split("*")
		document.inscripcio.adrecaesc.value=colegi[0];
		
		for (var i = 0; i< document.inscripcio.districte.length; i++) 
		{
			if (document.inscripcio.districte[i].value == colegi[1]) 
			{
    				document.inscripcio.districte[i].selected = true;
			}
		}
		
		document.inscripcio.cpesc.value=colegi[2];
		document.inscripcio.tfesc.value=colegi[3];
		if(colegi[4]!="")
		{
			document.inscripcio.perscont.value=html_entity_decode(colegi[4]);
			document.inscripcio.perscont.readOnly=true;
			document.inscripcio.hidperscont.value=1;
		}
		else
		{
			document.inscripcio.perscont.readOnly=false;
			document.inscripcio.hidperscont.value=0;
		}
	}
 }}

}

function cursos()
{
 // alert(1);
 var curs=document.inscripcio.programa[document.inscripcio.programa.selectedIndex].value;
// alert(curs)
// alert("rpc.asp?curs="+curs)
    if (window.XMLHttpRequest) {
        res = new XMLHttpRequest();
        res.onreadystatechange = processCurs;
        res.open("GET", "rpc.asp?curs="+curs, true);
        res.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        res = new ActiveXObject("Microsoft.XMLHTTP");
        if (res) {
            res.onreadystatechange = processCurs;
            res.open("GET", "rpc.asp?curs="+curs, true);
            res.send();
        }
    }
}


function processCurs()
{
// alert(2);
    // only if req shows "complete"
    if (res.readyState == 4) {
        // only if "OK"
        if (res.status == 200) {
//	alert("3");
            // ...processing statements go here...
      response  = unescape(res.responseText);
      var talleres = response.split("&");
	tbl = document.getElementById("jj");
	frm = document.getElementById("inscripcio");
	prog = document.inscripcio.programa[document.inscripcio.programa.selectedIndex].text;
//	alert("ENSE: "+ense+"\nquanti: "+talleres.length);
	var quanti=talleres.length-1;
	if(ense==1)
	 uncursos();
	if(!document.inscripcio.formacio[0].checked) 
		document.inscripcio.anyfrm.value="";
	if (!quanti)
	{
	 tr = document.createElement("TR");
	 tr.id="tr_1";
	 td = document.createElement("TD");
	 if (conve) 
		 aNewLable = document.createTextNode("És convenient que rebi formació. Tot i així, actualment");
	 else
		 aNewLable = document.createTextNode("Actualment");

	 oNewLable = document.createTextNode(" no hi ha cap taller previst per al programa ");
	 iNewLable = document.createTextNode(prog.substring(0,prog.indexOf(" (")));
	 fNewLable = document.createTextNode(". Si du a terme la inscripció l'avisarem quan obrim un taller per aquest programa.");
	 sp = document.createElement("SPAN");
	 td.className="parrafo-form";
 	 sp.style.fontWeight= 600;
	 sp.appendChild(iNewLable);
	 td.appendChild(aNewLable);
	 td.appendChild(oNewLable);
	 td.appendChild(sp);
	 td.appendChild(fNewLable);
	 tr.appendChild(td);
	 tbl.appendChild(tr);
	 ense=1;
	}
	else
	{
	 ense=1;
	 if (conve) document.getElementById('conven').style.display='inline';
	 conve=0;
	 document.getElementById('aquests').style.display='inline';
	J=0;
      for(var i=0;i<=quanti;i++)
	{
//	 alert("4");
	 tr = document.createElement("TR");
	 tr.id="tr_"+(i+1);
//	 alert(tr.id);
	 var taller =talleres[i].split(";");
	 td = document.createElement("TD");
	 try
	 {
		inp= document.createElement('<input type="radio" name="taller" value="'+taller[0]+'" />');
	 }
	 catch(err)
	 {
	 	inp= document.createElement('input');
	 	inp.setAttribute("type","radio"); 
	 	inp.setAttribute("name","taller"); 
		inp.value=taller[0];
	 }
	 if(taller[2]==0) 
	 {
		inp.disabled=true;
		J++;
	 }
	 frm.appendChild(inp);
	 td.appendChild(inp);
	 tr.appendChild(td);
	 td = document.createElement("TD");
	 aNewLable = document.createTextNode("Taller sobre ");
	 sp = document.createElement("SPAN");
 	 sp.style.fontWeight= 600;
	 oNewLable = document.createTextNode(prog.substring(0,prog.indexOf(" (")));
	 sp.appendChild(oNewLable);
	 td.appendChild(aNewLable);
	 td.appendChild(sp);
	 tr.appendChild(td);
	 td = document.createElement("TD");
	 oNewLable = document.createTextNode(taller[1]);
	 td.appendChild(oNewLable);
	 tr.appendChild(td);
	 td = document.createElement("TD");
	 if(taller[2]==1)
		 oNewLable = document.createTextNode("Seients disponibles");
	 else
		 oNewLable = document.createTextNode("COMPLET");
	 td.appendChild(oNewLable);
	 tr.appendChild(td);
	 td = document.createElement("TD");
	 oNewLable = document.createTextNode(taller[3]);
	 td.appendChild(oNewLable);
	 tr.appendChild(td);
	 tbl.appendChild(tr);
	}
	if(J==(quanti+1))
	{
	 tr = document.createElement("TR");
	 tr.id="tr_"+(quanti+2);
//	 alert(tr.id);
	 td = document.createElement("TD");
	 td.colSpan=4
	 fNewLable = document.createTextNode("Si du a terme la inscripció l'avisarem tan aviat com quedi lliure una plaça o obrim un altre taller per aquest programa.");
	 td.setAttribute("color","#EA6400");
	 td.appendChild(fNewLable);
	 tr.appendChild(td);
	 tbl.appendChild(tr);
	}
	}
    }
  }
}


function uncursos()
{
	
	if(!document.inscripcio.formacio[0].checked) 
		document.inscripcio.anyfrm.value="";
	document.getElementById('conven').style.display='none';
	document.getElementById('aquests').style.display='none';
	tbl = document.getElementById("jj");
//	alert(tbl.rows.length);
	   for(var j=tbl.rows.length;j>0;j--) 
	   {
	    todlc=document.getElementById('tr_'+j);
	    tbl.removeChild(todlc);
	   }
	  ense=0;
}

function sss()
{
 ms="";
 txtf="";
 where=document.inscripcio;
 if(where.nompr.value=="")
	ms="\n-Nom del professor";
 if(where.cgnpr.value=="")
	ms=ms+"\n-Cognom del professor";
 if(where.dnipr.value=="")
	ms=ms+"\n-DNI del professor";
 else if(!validar(where.dnipr.value))
	txtf="\n-DNI del professor incorrecte";
 if(where.emailpr.value=="")
	ms=ms+"\n-Email del professor";
 else if (window.RegExp) 
    {
        var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
        var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
        var reg1 = new RegExp(reg1str);
        var reg2 = new RegExp(reg2str);
        if (reg1.test(where.emailpr.value) || !reg2.test(where.emailpr.value))
            txtf=txtf+"\n-Email del professor incorrecte";
    } 
 if(where.tfpr.value=="")
	ms=ms+"\n-Telèfon del professor";
 else if(/[^0-9-]/.test(where.tfpr.value))
	txtf=txtf+"\n-Error al telèfon del professor";
 if(where.codiesc.value=="")
	ms=ms+"\n-Codi de la escola";
 if(where.escola.value=="0")
 {
  // if(where.nomesc.value=="")
	ms=ms+"\n-Nom de la escola";
 }
 if(where.adrecaesc.value=="")
	ms=ms+"\n-Adreça de la escola";
 if(where.cpesc.value=="")
	ms=ms+"\n-Codi postal de la escola";
 else if(! /\d{5}/.test(where.cpesc.value))
	txtf=txtf+"\n-Error al codi postal de la escola";
 if(where.tfesc.value=="")
	ms=ms+"\n-Telèfon de la escola";
 else if(/[^0-9-]/.test(where.tfesc.value))
	txtf=txtf+"\n-Error al telèfon de la escola";
 if(where.perscont.value=="" && !document.inscripcio.formacio[2].checked)
	ms=ms+"\n-Persona de contacte a la escola";
 if(where.num.value=="" && !document.inscripcio.formacio[2].checked)
	ms=ms+"\n-Número d'alumnes a la classe";
 else if(/[^0-9-]/.test(where.num.value))
	txtf=txtf+"\n-Error al número d'alumnes";
 if(where.aula.value=="" && !document.inscripcio.formacio[2].checked)
	ms=ms+"\n-Aula";
 if(txtf!="")
 {
	alert("Atenció:"+txtf);
	return false;
 }
 else if(ms!="")
 {
	alert("Cal omplir els següents camps:"+ms);
	return false;
 }
 else if(!vrftll())
 {
	alert("Cal escollir un dels tallers disponibles");
	return false;
 }
 else 
	return true;

}

function validar(abc)
{
dni=abc.replace(/[^0-9A-Z]/ig,"");
document.inscripcio.dnipr.value=dni;
dni=dni.replace(/^X/i,"");
dni=dni.substring(0,dni.length-1)
let=abc.charAt(abc.length-1)
// alert("DNI: "+dni+"\nLET: "+let);
if (!isNaN(let))
  return false
else
 {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  posicion = dni % 23
  letra = cadena.substring(posicion,posicion+1)
  if (letra!=let.toUpperCase())
    return false
 }
 return true;
}

function anyform()
{
 var any=document.inscripcio.anyfrm;
// alert(any.value);
 if(any.value!="")
 {
  document.inscripcio.formacio[0].checked=true;
  
  if(parseInt(any.value)<1980 || parseInt(any.value)>aquest_any || !/\d\d\d\d/.test(any.value))
	{
		alert("L'any introduït no és vàlid.")
		document.inscripcio.anyfrm.select();
		document.inscripcio.anyfrm.focus();
	}
  else if(parseInt(any.value)< parseInt(aquest_any-3))
	{
		conve=1;
		if(!inscrip)
			cursos();
	}
  else
	{
		conve=0;
		uncursos();
	}
 }
 else
 {
  uncursos();
 }
 inscrip=0;
}

function progsesp()
{
	/*
 if(document.inscripcio.programa[document.inscripcio.programa.selectedIndex].value==3)
 {
 	document.getElementById('atxqpts').style.display="block";
 	document.getElementById('atcssf').style.display="none";
 }
 else */ if(document.inscripcio.programa[document.inscripcio.programa.selectedIndex].value==7)
 {
 		// document.getElementById('atxqpts').style.display="none";
   	document.getElementById('atcssf').style.display="block";
 }
 else
 {
 		// document.getElementById('atxqpts').style.display="none";
   	document.getElementById('atcssf').style.display="none";
 }
 precursos();
}


function precursos()
{
//	 alert("Precursos");
 if(document.inscripcio.formacio[0].checked)
	anyform();
 else if(document.inscripcio.formacio[1].checked || document.inscripcio.formacio[2].checked)
 {
	conve=0;
	if(!inscrip)
		cursos();
}
 inscrip=0;
}

function ctrldate(quale, testo)
{
 if(quale.value.length){
 quale.value=quale.value.replace(/\.|\//g,"-");
 quale.value=quale.value.replace(/^(\d\d)(\d\d)(\d\d\d\d)$/,"$1-$2-$3");
 var qual=quale.value;
 var arr=qual.split("-");
 var err=0;
 if(qual.length<4 || qual.length>10) err=1;
 else if(!/^\d\d-\d\d-\d\d\d\d$/.test(qual) && !/^\d\d\d\d$/.test(qual) && !/^\d\d-\d\d\d\d$/.test(qual)) err=1;
 else if(/^\d\d\d\d$/.test(qual)) quale.value="00-00-"+qual;
 else if(/^\d\d-\d\d\d\d$/.test(qual)) {if(arr[0]>12) err=1; else quale.value="00-"+qual;}
 else if(((arr[1]=="02") && (arr[0]>29)) || ((arr[1]=="04") && (arr[0]>30)) || ((arr[1]=="06") && (arr[0]>30)) || ((arr[1]=="09") && (arr[0]>30)) || ((arr[1]=="11") && (arr[0]>30))) err=1;
 else if((arr[0]>31)||(arr[1]>12)) err=1;}
 if(err) 
 {
  if(quale.name.indexOf("drrtt")+1) return ctrldrt(quale,testo);
  tst="A la data "+testo+" hi ha un error."; 
  alert (tst); 
  quale.select();
 }
 else return true;
}

function prechcd()
{
   var escola=document.inscripcio.escola[document.inscripcio.escola.selectedIndex].value;
 document.inscripcio.codiesc.value="";
 document.inscripcio.adrecaesc.value="";
 document.inscripcio.districte.selectedIndex=0;
 document.inscripcio.cpesc.value="";
 document.inscripcio.tfesc.value="";
 document.inscripcio.perscont.readOnly=false;
 document.inscripcio.perscont.value="";
  chcd();
 /*
  if(escola!=0)
  {
	document.getElementById('divnomesc').style.display="none";
	document.inscripcio.nomesc.disabled=true;
  }
  else
  {
	document.getElementById('divnomesc').style.display="block";
	document.inscripcio.nomesc.disabled=false;
  }
  */
}

function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}

function vrftll()
{
	var quanti=document.inscripcio.taller.length;
	var K=0;
	for(i=0;i<quanti;i++)
	{
		 if(document.inscripcio.taller[i].checked)
		 {
		 	 K=1;
		 	 break;
		 	}
	}
	if(K>0) 
		return true;
	else if(document.inscripcio.formacio[0].checked) 
		return true;
	else 
		return false;
}

$(document).ready(function()
{   
	var errold=0;
	$('#buscaold').click(function() 
  { 
  	errold=0;
  	if(!validar(document.getElementById("dniold").value)) 
  	{
  			alert("Verifiqui el DNI, té un format incorrecte");
  			errold=1;
  	}
		if (window.RegExp) 
    {
        var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
        var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
        var reg1 = new RegExp(reg1str);
        var reg2 = new RegExp(reg2str);
        if (reg1.test(document.getElementById("emailold").value) || !reg2.test(document.getElementById("emailold").value))
        {
							alert("Verifiqui l'email, té un format incorrecte");
							errold=1;
				}
		}
		if(!errold)
		{
			$.get('verfold.asp?dni='+document.getElementById("dniold").value+'&email='+document.getElementById("emailold").value,'', function(data) 
			{
				if(data=='0')
				{
					$('#msjold').html('No hem trobat aquestes dades a les inscripcions del 2009-10, ni del 2010-11, ni del 2011-12. Haurà d\'introduir-les.');
					$('#msjold').toggle('fast');
				}
				else
				{
				 var dades=data.split("#");
				 // alert(dades[0]+"\n"+ dades[1]+"\n"+ dades[2]+"\n"+ dades[3]+"\n"+ dades[4]+"\n"+ dades[5]+"\n"+ dades[6]+"\n"+ dades[7]+"\n"+ dades[8]+"\n"+ dades[9]+"\n"+ dades[10]);
				 $('#nompr').val(dades[0]);
				 $('#cgnpr').val(dades[1]);
				 $('#dnipr').val(dades[2]);
				 $('#emailpr').val(dades[3]);
				 if(dades[4]==1)
						$('#tutoria1').attr('checked',true);
				 else
						$('#tutoria2').attr('checked',true);
				 $('#arees').val(dades[5]);
				 $('#tfpr').val(dades[6]);
				 $('#escola').val(dades[7]);
				 $('#codiesc').val(dades[8]);
				 $('#perscont').val(dades[10]);
//				 $('#obsadresc').val(dades[9]);
					$('#msjold').html('Hem omplert els camps del formulari amb les dades que teniem.');
					$('#msjold').toggle('fast');
					chcd();
				}

			});

		}
  });

});

