var http_request = false;

function MakeRequest(url, td, normal) {
http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	http_request = new XMLHttpRequest();
	if (http_request.overrideMimeType) {
		http_request.overrideMimeType('text/xml');
	}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Falla :( No es posible crear una instancia XMLHTTP');
		return false;
	}
	
	if (td != null) {
		td.id="to_change";
		http_request.onreadystatechange = GetContentTD;
	} else {
		
		if (!normal) {
		http_request.onreadystatechange = GetContents_over;	
		} else {
		http_request.onreadystatechange = GetContent;		
		}
		
	}
	
	http_request.open('GET', url, true);
	http_request.send(null);
	
}

function GetContentTD(){
	if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				document.getElementById('main_frame').innerHTML=http_request.responseText;
			} else {
				alert('Hubo problemas con la petición. Porfavor Intente de nuevo');
			}
	}
}


function GetContent() {
	if (http_request.readyState == 4) {
			if (http_request.status == 200) {
			document.getElementById('main_frame').innerHTML=http_request.responseText;
			
			} else {
				alert('Hubo problemas con la petición.');
			}
	}
}

function GetContents_over() {
	if (http_request.readyState == 4) {
			if (http_request.status == 200) {
			document.getElementById('q').innerHTML=http_request.responseText;
			} else {
				alert('Hubo problemas con la petición.');
			}
	}

}

function delete_icon_click(url_del, msg){
 if ( confirm(msg) ) {
	 MakeRequest(url_del, null, true);	 
 }
 else {return false;}
}

function Popup_Upload(url, height, width) {
	
	new_window = window.open(url,null,
    "height="+height+",width="+width+",status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
	
}


//-------------------------------------------------------------------------------------------------
//AJAX script para combobox linkeadas
//-------------------------------------------------------------------------------------------------
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; 
}

// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="id_provincia";
listadoSelects[1]="id_ciudad";

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;
	// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
	if(opcionSeleccionada==0)
	{
		var x=posicionSelectDestino, selectActual=null;
		// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
		while(listadoSelects[x])
		{
			selectActual=document.getElementById(listadoSelects[x]);
			selectActual.length=0;
			
			var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Selecciona Opci&oacute;n...";
			selectActual.appendChild(nuevaOpcion);	selectActual.disabled=true;
			x++;
		}
	}
	// Compruebo que el select modificado no sea el ultimo de la cadena
	else 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", "select_dependientes_proceso.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada, true);
		//alert("select_dependientes_proceso.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada);
		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...";
				selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;	
			}
			if (ajax.readyState==4)
			{
				selectDestino.parentNode.innerHTML=ajax.responseText;
			} 
		}
		ajax.send(null);
	}
}

function cargaContenido2(idSelectOrigen) {
	
	var opcionSeleccionada = document.getElementById(idSelectOrigen).value;
		
	if(opcionSeleccionada == 0) {
		document.getElementById('ajax_get_list').innerHTML = '<select name="id_ciudad" id="id_ciudad" class="todos" disabled="disabled"><option>-------</option></select>';
	}
	else {
		var ajax=nuevoAjax();
		
		ajax.open("GET", "buscador_get_ciud.php?opcion="+opcionSeleccionada, true);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				document.getElementById('ajax_get_list').innerHTML = '<select name="id_ciudad" id="id_ciudad" class="todos" disabled="disabled"><option>Cargado...</option></select>';
			}
			if (ajax.readyState==4)
			{
				document.getElementById('ajax_get_list').innerHTML = ajax.responseText;
			} 
		}
		ajax.send(null);
	}
}


function reqCiudades() {



}

//-------------------------------------------------------------------------------------------------
//FIN AJAX script para combobox linkeadas
//-------------------------------------------------------------------------------------------------


///////////////////////////////////////////////////////////////////////////////////////////////////
function makePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = alert_post;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alert_post() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		document.getElementById('main_frame').innerHTML = result;            
	 } else {
		alert('There was a problem with the request.');
	 }
  }
}

function post_venta(url) {
  var poststr = "name=" + encodeURI( document.getElementById("name").value ) + "&enviar=enviar"
  makePOSTRequest(url, poststr);
}
