// JScript source code

function createXHR() 
{
	var xhr = false;
    if(window.XMLHttpRequest) 
	{
    	try 
		{
			xhr = new XMLHttpRequest();
        } 
		catch(e) 
		{
			xhr = false;
        }
    } 
	else if(window.ActiveXObject) 
	{
       	try 
		{
        	xhr = new ActiveXObject("Msxml2.XMLHTTP");
      	} 
		catch(e) 
		{
        	try 
			{
          		xhr = new ActiveXObject("Microsoft.XMLHTTP");
        	} 
			catch(e) 
			{
          		xhr = false;
        	}
		}
    }
	return xhr;
}



function Ajax(){
 var xmlhttp=false;
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 }catch(e){
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }catch(E){
   xmlhttp = false;
  }
 }
 if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
 }
 return xmlhttp;
}


function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}

/* listbox dependientes: carrera a partir de facultad*/
var v_dime;
function cargar_hiden_duracion(ide) 
{
	document.getElementById("NewRecord1Hidden3").value = 0;
	if (document.getElementById("NewRecord1ListBox2").selectedIndex != 0)
		{
			v_dime = createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			v_dime.open("GET","procesa.php?ide=" + ide+ "&rand=" + aleatorio, true);
			v_dime.onreadystatechange = procesa_hiden_duracion;
			v_dime.send(null);
		}
	else
		{
		document.getElementById("NewRecord1Hidden3").value = 0;
		}
}
function procesa_hiden_duracion() {
	if (v_dime.readyState == 4) {
		if (v_dime.status == 200){	
			document.getElementById("NewRecord1Hidden3").value = 0;
			var v_ids = v_dime.responseXML.getElementsByTagName("duracion");
			if (v_ids.length == 0) {
				document.getElementById("NewRecord1Hidden3").value=0;
			}
			else{
				for (var i = 1; i <= v_ids.length; i++){ 
					document.getElementById("NewRecord1Hidden3").value=v_ids[i-1].childNodes[0].nodeValue;	
				} 
			}
		}
		else{
			alert("Se produjo un error: " + v_dime.statusText);
		}
	}
}
var plazo;
function cargar_hiden_plazo(ide) 
{
	document.getElementById("NewRecord1Hidden1").value = 0;
	if (document.getElementById("NewRecord1ListBox2").selectedIndex != 0)
		{
			plazo = createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			plazo.open("GET","procesa.php?ide=" + ide+ "&rand=" + aleatorio, true);
			plazo.onreadystatechange = procesa_hiden_plazo;
			plazo.send(null);
		}
	else
		{
		document.getElementById("NewRecord1Hidden1").value = 0;
		}
}

function procesa_hiden_plazo() {
	if (plazo.readyState == 4) {
		if(plazo.status == 200){	
			document.getElementById("NewRecord1Hidden1").value = 0;
			var v_ids = plazo.responseXML.getElementsByTagName("pl");
			if (v_ids.length == 0) {
				document.getElementById("NewRecord1Hidden1").value=0;
			}
			else{
				for (var i = 1; i <= v_ids.length; i++){
					document.getElementById("NewRecord1Hidden1").value=v_ids[i-1].childNodes[0].nodeValue;			
} 
			}
		}
		else{
			alert("Se produjo un error: " + plazo.statusText);
		}
	}
}

var v_fin;
function cargar_financiamiento(ide) 
{
	if (document.getElementById("NewRecord1ListBox2").selectedIndex != 0)
		{
			v_fin= createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			v_fin.open("GET","procesa.php?ide=" + ide+ "&rand=" + aleatorio, true);
			v_fin.onreadystatechange = procesa_anios_financiamiento;
			v_fin.send(null);
		}
}
function procesa_anios_financiamiento() {
	if (v_fin.readyState == 4) {
		if (v_fin.status == 200){
			document.getElementById("NewRecord1ListBox3").options.length = 0;
			var v_id = v_fin.responseXML.getElementsByTagName("duracion");
			document.getElementById("NewRecord1ListBox3").options[0] = new Option("Seleccionar Valor", "");
			if (v_id.length == 0) {
				document.getElementById("NewRecord1ListBox3").options[0] = new Option("Sin información de duración", "");			
			}
			else{
				v_hasta = v_id[0].childNodes[0].nodeValue;
				for (var i = 1; i <=  v_hasta; i++){ 
					document.getElementById("NewRecord1ListBox3").options[i] = new Option(i,i);	
				} 
			}
		}
		else{
			alert("Se produjo un error: " + v_fin.statusText);
		}
	}
}

var var_arancel;
function cargar_hiden_arancel(ide) 
{
	document.getElementById("NewRecord1Hidden2").value = 0;
	if (document.getElementById("NewRecord1ListBox2").selectedIndex != 0)
		{
			var_arancel = createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			var_arancel.open("GET","procesa.php?ide=" + ide+ "&rand=" + aleatorio, true);
			var_arancel.onreadystatechange = procesa_hiden;
			var_arancel.send(null);
		}
	else
		{
			document.getElementById("NewRecord1Hidden2").value = 0;
		}
}
function procesa_hiden() {
	if (var_arancel.readyState == 4) {
		if (var_arancel.status == 200){	
			document.getElementById("NewRecord1Hidden2").value = 0;
			var v_ids = var_arancel.responseXML.getElementsByTagName("arancel");
			if (v_ids.length == 0) {
				document.getElementById("NewRecord1Hidden2").value=0;
			}
			else{
				for (var i = 1; i <= v_ids.length; i++){ 
					document.getElementById("NewRecord1Hidden2").value=v_ids[i-1].childNodes[0].nodeValue;	
				} 
			}
		}
		else{
			alert("Se produjo un error: " + var_arancel.statusText);
		}
	}
}
var plazo_pl;
function cargar_hpl(ide,anios) 
{
	document.getElementById("NewRecord1Hidden4").value = 0;
	if (document.getElementById("NewRecord1ListBox3").selectedIndex != 0)
		{
			plazo_pl = createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			plazo_pl.open("GET","procesa.php?ide=" + ide+ "&anios="+anios+"&rand=" + aleatorio, true);
			plazo_pl.onreadystatechange = procesa_hpl;
			plazo_pl.send(null);
		}
	else
		{
		document.getElementById("NewRecord1Hidden4").value = 0;
		}
}

function procesa_hpl() {
	if (plazo_pl.readyState == 4) {
		var v_ids = plazo_pl.responseXML.getElementsByTagName("pl");
		var p = v_ids[0].childNodes[0].nodeValue;
		document.getElementById("NewRecord1Hidden4").value = p;
		var arancel = document.getElementById("NewRecord1Hidden2");
 		var duracion = document.getElementById("NewRecord1ListBox3");
		var_url = "calculaCredito.php?duracion="+duracion .value+"&arancel="+arancel.value+"&plazo="+p;
	 	objeto(var_url);
	}

}
function kls(valor1,valor2)
{
	cargar_hpl(valor1,valor2);	
	return(document.getElementById("NewRecord1Hidden4").value);					
}

//*****************************************************
var isIE = false;

//    Creamos una variable para el objeto XMLHttpRequest
var http;

//    Creamos una funcion para cargar los datos en nuestro objeto.
//    Logicamente, antes tenemos que crear el objeto.

function objeto(pagina)
{
	if (window.XMLHttpRequest)
	{
		http = new XMLHttpRequest();
		http.onreadystatechange = obtenerPagina;
		http.open("GET", pagina, true);
		http.send(null);
	} // usuario de Internet Explorer Windows
	else if (window.ActiveXObject)
	{
		isIE = true;
		http = new ActiveXObject("Microsoft.XMLHTTP");
		if (http)
		{
			http.onreadystatechange = obtenerPagina;
			http.open("GET", pagina, true);
			http.send();
		}
	}
}

function obtenerPagina()
{
	// Referencia a nuestro DIV con ID unica:
	var contenido = document.getElementById("detalle");
    // Si se ha completado la carga de datos, los mostramos en el DIV
    	if ( http.readyState == 4 ){
		contenido.innerHTML = http.responseText;
 		var anios_financiamiento = document.getElementById("NewRecord1ListBox3");
 		var arancel = document.getElementById("NewRecord1Hidden2");
		var plazo_prueba = document.getElementById("NewRecord1Hidden4");
		escribeDatos(anios_financiamiento.value,arancel.value);
     		mostrarPlazoCuotas(plazo_prueba.value);
		escribeArchivo(document.getElementById("NewRecord1ListBox1").options[document.getElementById("NewRecord1ListBox1").selectedIndex].text,document.getElementById("NewRecord1ListBox2").options[document.getElementById("NewRecord1ListBox2").selectedIndex].text,document.getElementById("NewRecord1ListBox3").options[document.getElementById("NewRecord1ListBox3").selectedIndex].text,http.responseText);
}
	else // en caso contrario, le diremos al usuario que los estamos cargando:
	{
	    contenido.innerHTML = 'Calculando Cuota...';
	}	
}
var escribirRegistro;
function escribeArchivo(p1,p2,p3,p4){
	escribirRegistro = createXHR();
	var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
	escribirRegistro.open("GET","registro_log.php?p1=" +p1+ "&p2="+p2+"&p3="+p3+"&p4="+p4+"&rand="+aleatorio, true);
	escribirRegistro.send(null);
}
function mostrarPlazoCuotas(plazo)
{
	var plazo_cuotas = document.getElementById("plazo_meses");
	document.getElementById("respuestauno").style.visibility='visible';
	plazo_cuotas.innerHTML = '<td> Plazo de pago del crédito (en meses): '+plazo*12+'</td>';
}
function escribeDatos(duracion, arancel){
	
	var contenido = document.getElementById("adicionales");
	document.getElementById("adicionales").style.visibility='visible';
contenido.innerHTML ='<p>Consideraciones para la simulación del crédito:  </p>'+
'    <p>· El monto financiado anualmente corresponde al máximo arancel de referencia de la carrera.  · El arancel de referencia del año 2009 de la carrera que seleccionaste es de ' +Math.round(arancel/20957.69)+ 'UF.  </p>'+
'    <p>· El financiamiento total entregado para tu carrera en esta simulación, se otorga por iguales montos cada año y por el número de años de financiamiento que solicitas, con tope del número de años de duración de la respectiva carrera.  </p>'+
'    <p>· Se ha considerado la tasa de interés real de los créditos Ley 20.027 licitados en el año 2009, un período de gracia de 18 meses a contar de la fecha de egreso del estudiante para comenzar a pagar, y un período de 120, 180 o 240 meses para pagar el total del crédito según corresponda.  · Que los meses son de 30 días y el año de 360 días.  </p>'+
'    <p>· Esta información constituye una estimación que no debe utilizarse para otros fines que no sea proyectar una aproximación de la cuota a pagar de acuerdo con los supuestos y parámetros definidos.   </p>'+
'    <p>· La cuota calculada tiene carácter referencial y no genera obligación ni restricción alguna para la Comisión Administradora del Sistema de Créditos para Estudios Superiores ni para los bancos participantes en el sistema. </p>';
}

function validar(valor){
var list1 = document.getElementById("NewRecord1ListBox1");
var list2 = document.getElementById("NewRecord1ListBox2");
var list3 = document.getElementById("NewRecord1ListBox3");
	if(!list1.value.match(/^\d+$/)){
		alert('Institución: Debe seleccionar una opción');
		return false;
	}
	if(!list2.value.match(/^\d+$/)){
		alert('Carrera: Debe seleccionar una opción');
		return false;
	}
	if(!list3.value.match(/^\d+$/)){
		alert('Años: Debe seleccionar una opción');
		return false;
	}
	else return true;
}



/*************/

var carreras_get;
function get_carreras(ide) 
{
	document.getElementById("NewRecord1ListBox2").length = 0;
	if (document.getElementById("NewRecord1ListBox1").selectedIndex != 0)
		{	
			carreras_get = createXHR();
			var aleatorio = parseInt(Math.random()*999999999);  //no cargar datos desde cache
			carreras_get.open("GET","procesa_carrera.php?ide=" + ide+ "&rand=" + aleatorio, true);
			carreras_get.onreadystatechange = procesa_carrera;
			carreras_get.send(null);
			
		}
	else
		{

		}
}

function procesa_carrera() {
	if (carreras_get.readyState == 4) {
		if(carreras_get.status == 200){
			document.getElementById("NewRecord1ListBox2").options[0] = new Option("Seleccionar Valor", "");
			document.getElementById("NewRecord1ListBox3").options.length = 0;
			document.getElementById("NewRecord1ListBox3").options[0] = new Option("Seleccionar Valor", "");			
			var v_ids = carreras_get.responseXML.getElementsByTagName("carrera_codigo");
			var v_nombres = carreras_get.responseXML.getElementsByTagName("carrt_descripcion");
			if (v_ids.length == 0) {
				document.getElementById("NewRecord1ListBox2").options[0] = new Option("No Existen carreras", "");
			}
			else{
				for (var i = 1; i <= v_ids.length; i++){
					document.getElementById("NewRecord1ListBox2").options[i] = new Option(v_nombres[i-1].childNodes[0].nodeValue,v_ids[i-1].childNodes[0].nodeValue);			
			} 
		}
	}
	else{
			alert("Se produjo un error: " + carreras_get.statusText);
		}
	}
}
