function popUp(direccion,ancho,alto,iframe){
	if(iframe){
		try{
			w.$('popUpIframe').remove();
			w.$('cerrar_popUpIframe').remove();
		}catch(ex){}
    if(window.parent){
        w=window.parent;
    }else{
        w=window;  
    }
    var alto_ventana=window.getHeight()+window.getScrollTop();
    var el=w.document.createElement('iframe');
    el.id='popUpIframe';
    el.src=direccion;
    el.scrolling='auto';
    el.frameBorder=0;
    el.style.width=ancho+'px';
    el.style.height=alto+'px';
    el.style.top=Math.round((alto_ventana-alto)/2).toString()+'px';
    el.style.marginLeft='-'+Math.round(ancho/2).toString()+'px';
    w.document.getElementsByTagName('body')[0].appendChild(el);
    var cerrar=w.document.createElement('img');
    cerrar.src='/fromto/images/cerrar.png';
    $(cerrar).addClass('png');
    cerrar.onclick=function(){
    	try{	
    		w.$('popUpIframe').remove();
    		w.$('cerrar_popUpIframe').remove();
    	}catch(ex){}
    }
    cerrar.id='cerrar_popUpIframe';
    cerrar.style.marginLeft='-'+Math.round(ancho/2+14).toString()+'px';
    cerrar.style.top=Math.round((alto_ventana-alto)/2-12).toString()+'px'; 
    w.document.getElementsByTagName('body')[0].appendChild(cerrar);
	}else{
		var cadena='toolbar=0';
		if(ancho) cadena+=' width='+ancho;
		if(alto) cadena+=' height='+alto;
		ventana=window.open(direccion,'',cadena);
    ventana.focus();
	}
}

/*
Descripción: Cargador AJAX para selects dependientes en el curriculum (departamento-puesto)
Actualización: 03/12/2007
*/
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
		}
	}
	return xmlhttp; 
}
function rellenarSelect(obj,contenido){

    obj.innerHTML="";

    tamanyo=contenido.length;
    for(i=0;i<tamanyo;i++){
        obj.options[i]=new Option(unescape(contenido[i].texto).replace(/\+/gi," "),contenido[i].valor);
    }
    /*
    tamanyo=contenido.length;
    for(i=0;i<tamanyo;i++){
        if (contenido[i].tipo==0) {
           var oGroup = document.createElement('optgroup');
           oGroup.value = contenido[i].texto; 
        } else {
            var oOption = new Option(contenido[i].texto,contenido[i].valor);
            obj.appendChild(oOption);
        }        
    }
    
    obj.appendChild(oGroup);
    */
}
// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="selectOrigen";
listadoSelects[1]="selectZona";

function buscarEnArray(array, dato)
{
	// Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra
	var x=0;
	while(array[x])
	{
		if(array[x]==dato) return x;
		x++;
	}
	return null;
}
function cargaContenido(idSelectOrigen)
{	
	// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
	var posicionSelectDestino=buscarEnArray(listadoSelects, idSelectOrigen)+1;
	// Obtengo el select que el usuario modifico
	var selectOrigen=document.getElementById(idSelectOrigen);
	// Obtengo la opcion que el usuario selecciono
	var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
	
	if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
	{
		// Obtengo el elemento del select que debo cargar
		var idSelectDestino=listadoSelects[posicionSelectDestino];
		var selectDestino=document.getElementById(idSelectDestino);
		// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
		var ajax=nuevoAjax();
		ajax.open("GET", "/js_lib/select_dependientes.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada, true);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino.length=0;
				var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				$(idSelectDestino).appendChild(nuevaOpcion); $(idSelectDestino).disabled=true;	
			}
			if (ajax.readyState==4)
			{
				eval('var vector='+ajax.responseText);
				$(idSelectDestino).disabled=false;
				rellenarSelect($(idSelectDestino),vector);
				//selectDestino.parentNode.innerHTML=ajax.responseText;
			} 
		}
		ajax.send(null);
	}
}
