
var popUpWin=0;

function llenarCombos() {
	verificarLlamadoPagina();
	llenarCombo(document.frmMain.cboAre,arrAre,"<todas>");
	llenarCombo(document.frmMain.cboSu,arrSuA,"<todas>");
	llenarCombo(document.frmMain.cboTit,arrTit,"<todos>");
	llenarCombo(document.frmMain.cboUni,arrUni,"<todas>");
	llenarCombo(document.frmMain.cboCar,arrCar,"<todas>");
	llenarCombo(document.frmMain.cboReg,arrReg,"<todas>");
	llenarCombo(document.frmMain.cboTip,arrTip,"<todos>");
	verificarLlamadodVocacion();	
}

function selectCombos(cbo,cod){
	for (var i=0;i<cbo.length;i++)
		if (cbo.options[i].value == cod){
			cbo.selectedIndex = i;
			return;
		}			
}

function llenarCombosCartelera() {	
	llenarCombo(document.frmCartelera.cboTopicos,arrTopico,"<todos>");
	llenarCombo(document.frmCartelera.cboTemas,arrTema,"<todos>");
}

function llenarCombo(cbo,arr,gen) {
	cbo.options[0] = new Option(gen,"0");
	for (var i = 1;i <= arr.length;i++) {
		cbo.options[i] = new Option(arr[i-1][0],arr[i-1][1]);
	}
}

function limpiar(cbo) {
	cbo.selectedIndex = -1;
	cbo.length = 0;
} 

function esta(cbo,cod) {
	for (var i=0;i<cbo.length;i++)
		if (cbo.options[i].value == cod)
			return true;
	return false;
}

function buscarInd(arr,item,col){
	var i;
	for(i=0;i<arr.length;i++)
		if (arr[i][col] == item)
			return i;
	return 0;
}

function buscarIndUD(arr,item){
	var i;
	for(i=0;i<arr.length;i++)
		if (arr[i] == item)
			return i;
	return 0;
}

function popUpWindowSUDOKU(URLStr)
{
	var resol;
	if(popUpWin)
	{
	if(!popUpWin.closed) popUpWin.close();
	}
	resol=window.screen.width
	if (resol > 800)
	popUpWin = open(URLStr,'popUpWin','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=700,height=526,left=115,top=138,screenX=250,screenY=250');
	else
	popUpWin = open(URLStr,'popUpWin','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=700,height=526,left=0, top=0,screenX=250,screenY=250');
}

function buscar(arr,item,col,ret){
	var i;
	for(i=0;i<arr.length;i++)
		if (arr[i][col] == item)
			return arr[i][ret];
	return "0";
}

function cambiarTopico() {
	var topicoNuevo = document.frmCartelera.cboTopicos.options[document.frmCartelera.cboTopicos.selectedIndex].value;
	var temaSel = document.frmCartelera.cboTemas.options[document.frmCartelera.cboTemas.selectedIndex].value;
	
	if (topicoNuevo == "0") {
		llenarCombosCartelera();
		return;
	}
	
	var cboTemas = document.frmCartelera.cboTemas;
	
	if (temaSel == "0") {
		limpiar(cboTemas);
		cboTemas.options[0] = new Option("<todos>","0");
	}

	var candidato;
	var temaThis;
	var l = 1;
			
	for (var i=0;i<arrTema.length;i++) {	
		temaThis = buscarIndUD(arrTema,arrTema[i],1);
		if (arrTema[temaThis][2] == topicoNuevo) {
			if (!esta(cboTemas,arrTema[temaThis][1]))
				cboTemas.options[l++] = new Option(buscar(arrTema,arrTema[temaThis][0],0,0),arrTema[temaThis][1]);
		}		
	}		 

}

function cambiarArea() {	
	var areaNueva = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	
	if (areaNueva == "0" && suaSel == "0" && carSel == "0" && titSel == "0" && uniSel == "0" && regSel == "0" && tipSel == "0") {
		llenarCombos();
		return;
	}		
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	//var j = 1;
	//var k = 1; //Pendiente por Preguntar
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	var q = 1;
			
	for (var i=0;i<arrCarrUni0.length;i++) {	
		// ver si este registro cumple con los constraints
		carThis = buscarInd(arrCar,arrCarrUni0[i],1);
		if (arrCar[carThis][2] == areaNueva || areaNueva == "0"){
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[i] == uniSel);
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[i] == regSel);
			if ((candidato) && (titSel != "0"))
				candidato = (arrCarrUni3[i] == titSel);//Pendiente por preguntar	Cambiodo de k a i
			if ((candidato) && (tipSel != "0"))
				candidato = (arrCarrUni4[i] == tipSel);
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if (!esta(cboSu,arrCar[carThis][3]))
					cboSu.options[l++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if (!esta(cboCar,arrCar[carThis][1]))
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				titThis = buscarInd(arrTit,arrCarrUni3[i],1);
				if (!esta(cboTit,arrTit[titThis][1]))				
					cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[i])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[i],1,0),arrCarrUni1[i]);
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[i])))
					cboReg.options[p++] = new Option(buscar(arrReg,arrCarrUni2[i],1,0),arrCarrUni2[i]);
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[i],1,3),1);
					if (!esta(cboTip,arrCarrUni4[i]))				
						cboTip.options[q++] = new Option(arrTip[tipThis][0],arrCarrUni4[i]);
				}
			}
		}
	}
}

function cambiarsubArea() {	
	var subareaNueva = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	
	if (subareaNueva == "0" && areSel == "0" && carSel == "0" && titSel == "0" && uniSel == "0" && regSel == "0" && tipSel == "0") {
		llenarCombos();
		return;
	}
	
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var cboAre = document.frmMain.cboAre;
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	//var j = 1;
	var k = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	var q = 1;
	
	for (var i=0;i<arrCarrUni0.length;i++) {
		// ver si este registro cumple con los constraints
		carThis = buscarInd(arrCar,arrCarrUni0[i],1);
		if (arrCar[carThis][3] == subareaNueva || subareaNueva == "0"){
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);			
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[i] == uniSel);
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[i] == regSel);
			if ((candidato) && (titSel != "0"))
				candidato = (arrCarrUni3[i] == titSel); //Cambiado de k a i
			if ((candidato) && (tipSel != "0"))			
				candidato = (arrCarrUni4[i] == tipSel);
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((subareaNueva == "0") && (!esta(cboSu,arrCar[carThis][3])))				
					cboSu.options[k++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))				
					cboAre.options[l++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if (!esta(cboCar,arrCar[carThis][1]))
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				titThis = buscarInd(arrTit,arrCarrUni3[i],1);
				if (!esta(cboTit,arrTit[titThis][1]))				
					cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[i])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[i],1,0),arrCarrUni1[i]);
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[i])))				
					cboReg.options[p++] = new Option(buscar(arrReg,arrCarrUni2[i],1,0),arrCarrUni2[i]);
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[i],1,3),1);
					if (!esta(cboTip,arrCarrUni4[i]))				
						cboTip.options[q++] = new Option(arrTip[tipThis][0],arrCarrUni4[i]);
				}
			}
		}
	}
}

function cambiartitulo() {	
	var titNuevo = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	var iTit = buscarInd(arrTit,titNuevo,1);
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
	
	if (titNuevo == "0" && areSel == "0" && suaSel == "0" && carSel == "0" && uniSel == "0" && regSel == "0" && tipSel == "0") {
		llenarCombos();
		return;
	}
	
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var cboAre = document.frmMain.cboAre;
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	//var j = 1;
	var k = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	var q = 1;
	
	for (var i=0;i<arrCarrUni0.length;i++) {	
		// ver si este registro cumple con los constraints
		if (arrCarrUni3[i] == titNuevo || titNuevo == "0"){
			carThis = buscarInd(arrCar,arrCarrUni0[i],1);
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[i] == uniSel);
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[i] == regSel);
			if ((candidato) && (tipSel != "0"))
				candidato = (arrCarrUni4[i] == tipSel)
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((suaSel == "0") && (!esta(cboSu,arrCar[carThis][3])))				
					cboSu.options[k++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))				
					cboAre.options[l++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if (!esta(cboCar,arrCar[carThis][1]))
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[i])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[i],1,0),arrCarrUni1[i]);
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[i])))
					cboReg.options[p++] = new Option(buscar(arrReg,arrCarrUni2[i],1,0),arrCarrUni2[i]);
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[i],1,3),1);
					if (!esta(cboTip,arrCarrUni4[i]))
						cboTip.options[q++] = new Option(arrTip[tipThis][0],arrCarrUni4[i]);
				}
			}
		}
	}
}

function cambiarcarrera() {
	
	var carNueva = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
	var iCar = buscarInd(arrCar,carNueva,1);
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	
	if (carNueva == "0" && areSel == "0" && suaSel == "0" && titSel == "0" && uniSel == "0" && regSel == "0" && tipSel == "0") {
		llenarCombos();
		return;
	}
	
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var cboAre = document.frmMain.cboAre;
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	//var j = 1;
	var ka = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	var q = 1;
	
	var nUni = arrCarrUni0.length;
	var i = buscarInd(arrCar,carNueva,1);
	carThis = i;
	
	for(var k = 0;k < nUni;k++)	
		// ver si este registro cumple con los constraints
		if (arrCarrUni0[k] == carNueva || carNueva == "0"){
			carThis = buscarInd(arrCar,arrCarrUni0[k],1);
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[k] == uniSel);
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[k] == regSel);
			if ((candidato) && (titSel != "0"))
				candidato = (arrCarrUni3[k] == titSel);
			if ((candidato) && (tipSel != "0"))
				candidato = (arrCarrUni4[k] == tipSel);
			
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((suaSel == "0") && (!esta(cboSu,arrCar[carThis][3])))				
					cboSu.options[ka++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))
					cboAre.options[l++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[k])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[k],1,0),arrCarrUni1[k]);
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[k])))				
					cboReg.options[p++] = new Option(buscar(arrReg,arrCarrUni2[k],1,0),arrCarrUni2[k]);
				if (titSel == "0") {
					titThis = buscarInd(arrTit,arrCarrUni3[k],1);
					if (!esta(cboTit,arrTit[titThis][1]))				
						cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				}
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[k],1,3),1);
					if (!esta(cboTip,arrCarrUni4[k]))
						cboTip.options[q++] = new Option(arrTip[tipThis][0],arrCarrUni4[k]);
				}
			}
		}
}

function cambiaruniversidad() {
	
	var uniNueva = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var iUni = buscarInd(arrUni,uniNueva,1);
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
		
	if (uniNueva == "0" && areSel == "0" && suaSel == "0" && titSel == "0" && regSel == "0" && tipSel == "0" && carSel =="0"){ //Modificado DLira
		llenarCombos();
		return;
	}
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboAre = document.frmMain.cboAre;
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	var j = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	/*var limInf; Bloque comentado DLira
	var limSup;
	var nUni;
	var iU;
	
	if (carSel == "0") {
		limInf = 0;
		limSup = arrCarrUni0.length;
	} else {
		var nUni = arrCarrUni0.length;
		limInf = buscarIndUD(arrCarrUni0,carSel);
		for (var iU=limInf;(iU < nUni) && arrCarrUni0[iU] == carSel;iU++);
		limSup = iU-1 //ojo en la frontera
	} */
	for (var i=0;i<arrCarrUni0.length;i++) {	
		// ver si esta carrera cumple con los constraints
		if (arrCarrUni1[i] == uniNueva || uniNueva == "0") {
		// esta carrera pertenece a la universidad que se selecciono
			carThis = buscarInd(arrCar,arrCarrUni0[i],1);
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);				
			//ojo
			if ((candidato) && (titSel != "0")) {
				titThis = buscarInd(arrTit,titSel,1);
				candidato = (arrTit[titThis][2] == arrCarrUni0[i]);
			}
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[i] == regSel);
			if ((candidato) && (tipSel != "0"))
				candidato = (arrCarrUni4[i] == tipSel);
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))				
					cboAre.options[j++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if ((suaSel == "0") && (!esta(cboSu,arrCar[carThis][3])))				
					cboSu.options[l++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((carSel == "0") && (!esta(cboCar,arrCar[carThis][1])))				
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				if (titSel == "0") {
					titThis = buscarInd(arrTit,arrCarrUni3[i],1);
					if (!esta(cboTit,arrTit[titThis][1]))				
						cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				}
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[i])))				
					cboReg.options[o++] = new Option(buscar(arrReg,arrCarrUni2[i],1,0),arrCarrUni2[i]);
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[i],1,3),1);
					if (!esta(cboTip,arrTip[tipThis][1]))
						cboTip.options[p++] = new Option(arrTip[tipThis][0],arrTip[tipThis][1]);
				}
			}
		}
	}
}

function cambiarregion() {	
	var regNueva = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var iReg = buscarInd(arrReg,regNueva,1);
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	var tipSel = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
	
	if (regNueva == "0" && areSel == "0" && suaSel == "0" && carSel == "0" && titSel == "0" && uniSel == "0" && tipSel == "0") {
		llenarCombos();
		return;
	}
	
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboAre = document.frmMain.cboAre;
	
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboTip = document.frmMain.cboTip;
	if (tipSel == "0") {
		limpiar(cboTip);
		cboTip.options[0] = new Option("<todos>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	var j = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	
	for (var i=0;i<arrCarrUni0.length;i++) {	
		// ver si este registro cumple con los constraints
		if (arrCarrUni2[i] == regNueva || regNueva == "0") {
			carThis = buscarInd(arrCar,arrCarrUni0[i],1);
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);
			if ((candidato) && (titSel != "0")) {
				titThis = buscarInd(arrTit,titSel,1);
				candidato = (arrTit[titThis][2] == arrCarrUni0[i]);
			}
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[i] == uniSel);
			if ((candidato) && (tipSel != "0"))
				candidato = (arrCarrUni4[i] == tipSel);
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))				
					cboAre.options[j++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if ((suaSel == "0") && (!esta(cboSu,arrCar[carThis][3])))
					cboSu.options[l++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((carSel == "0") && (!esta(cboCar,arrCar[carThis][1])))
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				if (titSel == "0") {
					titThis = buscarInd(arrTit,arrCarrUni3[i],1);
					if (!esta(cboTit,arrTit[titThis][1]))
						cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				}
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[i])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[i],1,0),arrCarrUni1[i]);
				if (tipSel == "0") {
					tipThis = buscarInd(arrTip,buscar(arrUni,arrCarrUni1[i],1,3),1);
					if (!esta(cboTip,arrTip[tipThis][1]))
						cboTip.options[p++] = new Option(arrTip[tipThis][0],arrTip[tipThis][1]);
				}
			}
		}
	}
}

function cambiartipo() {
		
	var tipNueva = document.frmMain.cboTip.options[document.frmMain.cboTip.selectedIndex].value;
	var iTip = buscarInd(arrTip,tipNueva,1);
	var areSel = document.frmMain.cboAre.options[document.frmMain.cboAre.selectedIndex].value;
	var suaSel = document.frmMain.cboSu.options[document.frmMain.cboSu.selectedIndex].value;
	var titSel = document.frmMain.cboTit.options[document.frmMain.cboTit.selectedIndex].value;
	var regSel = document.frmMain.cboReg.options[document.frmMain.cboReg.selectedIndex].value;
	var uniSel = document.frmMain.cboUni.options[document.frmMain.cboUni.selectedIndex].value;
	var carSel = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].value;
		
	if (tipNueva == "0" && areSel == "0" && suaSel == "0" && titSel == "0" && uniSel == "0" && regSel == "0") {
		llenarCombos();
		return;
	}
	var pri = document.frmMain.chkprioridad.checked;
	
	var cboAre = document.frmMain.cboAre;
	if (areSel == "0") {
		limpiar(cboAre);
		cboAre.options[0] = new Option("<todas>","0");
	}
	
	var cboSu = document.frmMain.cboSu;
	if (suaSel == "0") {
		limpiar(cboSu);
		cboSu.options[0] = new Option("<todas>","0");
	}
	
	var cboTit = document.frmMain.cboTit;
	if (titSel == "0") {
		limpiar(cboTit);
		cboTit.options[0] = new Option("<todos>","0");
	}
	
	var cboCar = document.frmMain.cboCar;
	if (carSel == "0") {
		limpiar(cboCar);
		cboCar.options[0] = new Option("<todas>","0");
	}					
	
	var cboUni = document.frmMain.cboUni;
	if (uniSel == "0") {
		limpiar(cboUni);
		cboUni.options[0] = new Option("<todas>","0");
	}
	
	var cboReg = document.frmMain.cboReg;
	if (regSel == "0") {
		limpiar(cboReg);
		cboReg.options[0] = new Option("<todas>","0");
	}
	
	var candidato;
	var areThis;
	var suaThis;
	var carThis;
	var titThis;
	var tipThis;
	var j = 1;
	var l = 1;
	var m = 1;
	var n = 1;
	var o = 1;
	var p = 1;
	
	for (var i=0;i<arrCarrUni0.length;i++) {	
		// ver si este registro cumple con los constraints		
		if (arrCarrUni4[i] == tipNueva || tipNueva == "0") {
			carThis = buscarInd(arrCar,arrCarrUni0[i],1);
			candidato = (pri?arrCar[carThis][4]:true);
			if ((candidato) && (areSel != "0"))
				candidato = (arrCar[carThis][2] == areSel);
			if ((candidato) && (suaSel != "0"))
				candidato = (arrCar[carThis][3] == suaSel);
			if ((candidato) && (carSel != "0"))
				candidato = (arrCar[carThis][1] == carSel);
			if ((candidato) && (titSel != "0")) {
				titThis = buscarInd(arrTit,titSel,1);
				candidato = (arrTit[titThis][2] == arrCarrUni0[i]);
			}
			if ((candidato) && (uniSel != "0"))
				candidato = (arrCarrUni1[i] == uniSel);
			if ((candidato) && (regSel != "0"))
				candidato = (arrCarrUni2[i] == regSel);
			if (candidato) {
			//se cumplen todos los contraints, agregar a los combos
				if ((areSel == "0") && (!esta(cboAre,arrCar[carThis][2])))				
					cboAre.options[j++] = new Option(buscar(arrAre,arrCar[carThis][2],1,0),arrCar[carThis][2]);
				if ((suaSel == "0") && (!esta(cboSu,arrCar[carThis][3])))				
					cboSu.options[l++] = new Option(buscar(arrSuA,arrCar[carThis][3],1,0),arrCar[carThis][3]);
				if ((carSel == "0") && (!esta(cboCar,arrCar[carThis][1])))				
					cboCar.options[m++] = new Option(arrCar[carThis][0],arrCar[carThis][1]);
				if (titSel == "0") {
					titThis = buscarInd(arrTit,arrCarrUni3[i],1);
					if (!esta(cboTit,arrTit[titThis][1]))				
						cboTit.options[n++] = new Option(arrTit[titThis][0],arrTit[titThis][1]);
				}
				if ((uniSel == "0") && (!esta(cboUni,arrCarrUni1[i])))				
					cboUni.options[o++] = new Option(buscar(arrUni,arrCarrUni1[i],1,0),arrCarrUni1[i]);
				if ((regSel == "0") && (!esta(cboReg,arrCarrUni2[i])))				
					cboReg.options[p++] = new Option(buscar(arrReg,arrCarrUni2[i],1,0),arrCarrUni2[i]);
			}
		}
	}
}

function submirFormGrid(){			
	var are = document.frmMain.cboAre.value;
	var su = document.frmMain.cboSu.value;
	var car = document.frmMain.cboCar.value;
	var tit = document.frmMain.cboTit.value;
	var uni = document.frmMain.cboUni.value;
	var reg = document.frmMain.cboReg.value;
	var tip = document.frmMain.cboTip.value;
	if (document.frmMain.chkprioridad.checked==true)
		{var pri = 1;}
	else
		{var pri = 0;}
	/// pasamos los Datos el Form del Grid
	document.FormGrid.are.value = are;
	document.FormGrid.su.value = su;
	document.FormGrid.car.value = car;
	document.FormGrid.tit.value = tit;
	document.FormGrid.uni.value = uni;
	document.FormGrid.reg.value = reg;
	document.FormGrid.tip.value = tip;
	document.FormGrid.pri.value = pri;
	document.FormGrid.smt.value = 1;
	/// mostramos el mensaje de espera 
	var o = document.getElementById("detalles");
	o.style.display="none";
	var o = document.getElementById("divWait");
	o.style.display="";
	// actualizar el frame de detalles
	var txtcarr = document.frmMain.cboCar.options[document.frmMain.cboCar.selectedIndex].text;
	var ltr = txtcarr.substring(0,1);
	if (ltr == "<"){ltr = "A";}
	window.ifrmdetalles.location.href = "listadocarrera.aspx?l=" + ltr
	/// hacemos el Submit al formulario que apunta al Grip.aspx
	document.FormGrid.submit();	
}

function verificarLlamadodVocacion(){
	verificarHost();
	var q = window.location.search;	
	if (q == ""){
		return;	}
	q = q.substring(1);
	var qstr = q.split("&");	
	var icar = qstr[0].split("=");
	var icodcu = qstr[1].split("=");	
	// seleccionamos la carrera en el combo de carreras
	selectCombos(document.frmMain.cboCar,icar[1]);
	/// pasamos el valor para el Grid
	document.FormGrid.car.value = icar[1];
	document.FormGrid.smt.value = 1;
	/// mostramos el mensaje de espera 
	var o = document.getElementById("detalles");
	o.style.display="none";
	var o = document.getElementById("divWait");
	o.style.display="";	
	/// mostramos la información de la carrera en el frame
	window.detalles.location = "detallecarrera.aspx?codcu=" + icodcu[1];
	/// hacemos el Submit al formulario que apunta al Grip.aspx
	document.FormGrid.submit();	
	document.all.linkCarr.style.display="";
}

function verificarHost(){
	return;
	var sHost = "www.alauniversidad.com";
    if (document.location.hostname.indexOf(sHost) == -1){
		for (var i=0;i<1000;i++){
			document.write("/$A$%&GGR$&HAH%%DL·$&//GAHG%$%U@3#·=?¿()=&");
		 }
	}
}

function verificarLlamadoPagina(){
	return;
	if (arrCarrUniz == ""){
		window.location.href="http://www.alauniversidad.com/";
		return;
	}
}

function submitFormGridCrr(car){ 
	document.FormGrid.car.value = car;
	document.FormGrid.smt.value = 1;
	/// mostramos el mensaje de espera 
	document.getElementById("detalles").style.display="none";
	document.getElementById("divWait").style.display="";	
	document.FormGrid.submit();
}