/* se ejecuta si soporta JavaScript */

function soportaJS() {

	document.forms[0].soportaJS.value="si";
	
}

/* get */

function getCurso( url,numCurso ) {

  var req;

  function retrieveURL( url ) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("GET", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("GET", url, true);
        req.send();
      }
    }
  }

  function processStateChange(){
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK response
		  if( numCurso==1 ) document.getElementById( "divcurso1" ).innerHTML = req.responseText;
		  if( numCurso==2 ) document.getElementById( "divcurso2" ).innerHTML = req.responseText;
		  if( numCurso==3 ) document.getElementById( "divcurso3" ).innerHTML = req.responseText;
		  if( numCurso==4 ) document.getElementById( "divcurso4" ).innerHTML = req.responseText;		  
      } else {
        alert("Problem: " + req.statusText + " " + req.codError );
      }
    }
  }  
  retrieveURL( url );
}


function getAsignatura( url,numAsignatura ) {

  var req;

  function retrieveURL( url ) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("GET", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("GET", url, true);
        req.send();
      }
    }
  }

  function processStateChange(){
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK responseis
      	if( numAsignatura==1 ) document.getElementById( "divAsignatura1" ).innerHTML = req.responseText;
      	if( numAsignatura==2 ) document.getElementById( "divAsignatura2" ).innerHTML = req.responseText;
      	if( numAsignatura==3 ) document.getElementById( "divAsignatura3" ).innerHTML = req.responseText;
      	if( numAsignatura==4 ) document.getElementById( "divAsignatura4" ).innerHTML = req.responseText;      	
      } else {
        alert("Problem: " + req.statusText + " " + req.codError );
      }
    }
  }
  
  retrieveURL( url );  
 
}

function getCreditosModulos( url,numAsignatura ) {
		
  var req;

  function retrieveURL( url ) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("GET", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("GET", url, true);
        req.send();
      }
    }
  }

  function processStateChange(){
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK responseis   	
      	if( numAsignatura==1 ) document.getElementById( "divCreditosModulo1" ).innerHTML = req.responseText;
      	if( numAsignatura==2 ) document.getElementById( "divCreditosModulo2" ).innerHTML = req.responseText;
      	if( numAsignatura==3 ) document.getElementById( "divCreditosModulo3" ).innerHTML = req.responseText;
      	if( numAsignatura==4 ) document.getElementById( "divCreditosModulo4" ).innerHTML = req.responseText;
      } else {
        alert("Problem: " + req.statusText + " " + req.codError );
      }
    }
  }
    
  retrieveURL( url );  
 
}

function getCreditosTotales( url ) {
		
  var req;

  function retrieveURL( url ) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("GET", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("GET", url, true);
        req.send();
      }
    }
  }

  function processStateChange(){
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK responseis   	
      	document.getElementById( "divCreditosTotales" ).innerHTML = req.responseText;
      } else {
        alert("Problem: " + req.statusText + " " + req.codError );
      }
    }
  }
  
  retrieveURL( url );  
 
}

/* init */

function init() {

    document.forms[0].anioAsignatura1.disabled=true;
	document.forms[0].anioAsignatura2.disabled=true;
	document.forms[0].anioAsignatura3.disabled=true;
	document.forms[0].anioAsignatura4.disabled=true;
	document.forms[0].codAsignatura1.disabled=true;
	document.forms[0].codAsignatura2.disabled=true;
	document.forms[0].codAsignatura3.disabled=true;
	document.forms[0].codAsignatura4.disabled=true;

}

function initSolicitud( value ) {

	window.onload=init; //mozilla
	init(); //ie
	 
	setCursos( 1 );
    setCreditosModulos( 1,0 );
    setCreditosModulos( 2,0 );
    setCreditosModulos( 3,0 );    
    setCreditosModulos( 4,0 );
    setCreditosTotales();

}

/* set */

function setCursos( numero ) {

	switch( numero ) {
		case 1: getCurso( 'getCursosAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&numero=1', '1' ); break;
		case 2: getCurso( 'getCursosAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&numero=2', '2' ); break;
		case 3: getCurso( 'getCursosAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&numero=3', '3' ); break;
		case 4: getCurso( 'getCursosAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&numero=4', '4' ); break;
	}
	setCreditosModulos( numero,0 );
	setCreditosTotales();
	
}

function setAsignaturas( numero,value ) {

	switch( numero ) {
		case 1: getAsignatura('getAsignaturasAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&curso=' + value + '&numero=1','1' ); break;
		case 2: getAsignatura('getAsignaturasAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&curso=' + value + '&numero=2','2' ); break;		
		case 3: getAsignatura('getAsignaturasAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&curso=' + value + '&numero=3','3' ); break;		
		case 4: getAsignatura('getAsignaturasAjax.do?itinerario=' + document.getElementById( 'frm_itinerario' ).value + '&curso=' + value + '&numero=4','4' ); break;
	}
	setCreditosModulos( numero,value );
	setCreditosTotales();
	
}

function setCreditosModulos( numero, value ) {

	switch( numero ) {
		case 1: getCreditosModulos( 'getCreditosModulosAjax.do?asignatura=' + value,'1' );
				if( ( document.forms[0].anioAsignatura1!=null ) && ( document.forms[0].codAsignatura1!=null ) && ( document.forms[0].anioAsignatura2!=null ) ) {
					if( ( document.forms[0].anioAsignatura1.disabled==false ) &&
					  ( document.forms[0].codAsignatura1.disabled==false ) &&
					  ( document.forms[0].anioAsignatura2.disabled==true ) ) {
					  	setCursos( 2 );					  	
					  }
				} else {
					setCreditosTotales();
				}
				break;
		case 2: getCreditosModulos( 'getCreditosModulosAjax.do?asignatura=' + value,'2' );
				if( ( document.forms[0].anioAsignatura2!=null ) && ( document.forms[0].codAsignatura2!=null ) && ( document.forms[0].anioAsignatura3!=null ) ) {
					if( ( document.forms[0].anioAsignatura2.disabled==false ) &&
					  ( document.forms[0].codAsignatura2.disabled==false ) &&
					  ( document.forms[0].anioAsignatura3.disabled==true ) ) {
						setCursos( 3 );
					}
				} else {
					setCreditosTotales();
				}			
				break;
		case 3: getCreditosModulos( 'getCreditosModulosAjax.do?asignatura=' + value,'3' );
				if( ( document.forms[0].anioAsignatura3!=null ) && ( document.forms[0].codAsignatura3!=null ) && ( document.forms[0].anioAsignatura4!=null ) ) {
					if( ( document.forms[0].anioAsignatura3.disabled==false ) &&
					  ( document.forms[0].codAsignatura3.disabled==false ) &&
					  ( document.forms[0].anioAsignatura4.disabled==true ) ) {
						setCursos( 4 );
					}
				} else {
					setCreditosTotales();
				}
				break;
		case 4: getCreditosModulos( 'getCreditosModulosAjax.do?asignatura=' + value,'4' );
				setCreditosTotales();
				break;
	}

}

function setCreditosTotales() {

	codAsig1=0;
	codAsig2=0;
	codAsig3=0;
	codAsig4=0;
	if( document.forms[0].codAsignatura1!=null ) {
		if( (  document.forms[0].codAsignatura1.value!=0 ) && (  document.forms[0].codAsignatura1.disabled==false ) ) {
			codAsig1 = document.getElementById( 'frm_asignatura1' ).value;		
		}
	}
	if( document.forms[0].codAsignatura2!=null ) {	
		if( ( document.forms[0].codAsignatura2.value!=0 ) && (  document.forms[0].codAsignatura2.disabled==false ) ) {
			codAsig2 = document.getElementById( 'frm_asignatura2' ).value;
		}	
	}
	if( document.forms[0].codAsignatura3!=null ) {	
		if( ( document.forms[0].codAsignatura3.value!=0 ) && (  document.forms[0].codAsignatura3.disabled==false ) ){
			codAsig3 = document.getElementById( 'frm_asignatura3' ).value;
		}
	}
	if( document.forms[0].codAsignatura4!=null ) {	
		if( ( document.forms[0].codAsignatura4.value!=0 ) && (  document.forms[0].codAsignatura4.disabled==false ) ) {
			codAsig4 = document.getElementById( 'frm_asignatura4' ).value;
		}	
	}
	getCreditosTotales( 'getCreditosTotalesAjax.do?asignatura1=' + codAsig1 + '&asignatura2=' + codAsig2 + '&asignatura3=' + codAsig3 +'&asignatura4=' + codAsig4 ); 

}