// SELECTS DEPENDIENTES
// cambia los valores del segundo select dependiendo del valor del primero
// parámetros:
//// primer_select: nombre del select original
//// segundo_select: nombre del segundo select
//// valor_primer: valor inicial del primer select
//// valor_segundo: valor inicial del segundo select
//// tablas: nombre de la o las tablas si se trata de tablas con traducciones (sintaxis: tabla1, tabla2, conector)
//// campo_nombre: nombre del campo
//// query: cadena a agregar al query sql
//// campo_orden: string del campo para ordenar los registros
//// arbol: si el select es jerárquico
//// on_change: si se envía alguna cadena de onchange para el nuevo select
function select_dependiente(obj) {

	// DETERMINO PARÁMETROS GENERALES
	var primer_select = obj['primer_select'];
	var segundo_select = obj['segundo_select'];
	var tablas = obj['tablas'];
	var campo_nombre = obj['campo_nombre'];
	var query = obj['query']!=undefined ? obj['query'] : '';
	var campo_orden = obj['campo_orden'];
	if(obj['valor_primer']!=undefined){
		var valor_primer = obj['valor_primer'];
	} else {
		var valor_primer = $('#'+primer_select+'_original').val()!=undefined ? $('#'+primer_select+'_original').val() : $('#'+primer_select).val();
	}
	if(obj['valor_segundo']!=undefined){
		var valor_segundo = obj['valor_segundo'];
	} else {
		var valor_segundo = $('#'+segundo_select+'_original').val()!=undefined ? $('#'+segundo_select+'_original').val() : $('#'+segundo_select).val();
	}
	var arbol = obj['arbol']!=undefined ? obj['arbol'] : 0;
	var on_change = obj['on_change'];
	var otro_valor = obj['otro_valor'];
	
	// VALOR ELEGIDO DEL PRIMER SELECT
	// determino el valor elegido del select
	if($('#'+primer_select).val().indexOf(",")!=-1) {
		valores = $('#'+primer_select).val().split(",");
		var valor_elegido = valores[0]; // solo me interesa el primer valor
	} else {
		var valor_elegido = $('#'+primer_select).val();
	}
	// tomo el valor seleccionado del select no 1 o el pasado como parámetro
	var valor_elegido = otro_valor ? otro_valor : valor_elegido;
	
	// TABLAS
	// preparo las tablas
	if(tablas.indexOf(",")!=-1) {
		tablas = tablas.split(",");
		tabla1 = tablas[0];
		tabla2 = tablas[1];
		conector = tablas[2];
	} else {		
		tabla1 = tablas;
		tabla2 = "";
		conector = "";
	}
	
	// ESPECIAL DE RUBROS
	// hack para el los rubros de la guía y para tomar el valor del rubro
	if(query == " AND id_rubro =" && $('#id_rubro').val()==-1) {
		alert("debe seleccionar antes un rubro!");
		$('#id_rubro').focus();
		$('#id_modulo').val() = 0;
		return false;
	}

	// QUERY
	query = query == " AND id_rubro =" ? escape(" AND id_rubro = " + $('#id_rubro').val()) : escape(query);
	
	// defino la ruta si es desde el adm o del front
	direccion_web = document.location.href;
	ruta_script = direccion_web.indexOf("/adm/")==-1 ? SITIO_MASTER+"adm/" : ADM_MASTER;
	
	// preparo parámetros
	var parametros = "&valor_elegido="+valor_elegido;
	parametros = parametros + "&primer_select="+primer_select;
	parametros = parametros + "&tabla1="+tabla1;
	parametros = parametros + "&tabla2="+tabla2;
	parametros = parametros + "&conector="+conector;
	parametros = parametros + "&campo_nombre="+campo_nombre;
	parametros = parametros + "&query="+query;
	parametros = parametros + "&segundo_select="+segundo_select;
	parametros = parametros + "&campo_orden="+campo_orden;
	parametros = parametros + "&valor_segundo="+valor_segundo;
	parametros = parametros + "&valor_primer="+valor_primer;
	parametros = parametros + "&arbol="+arbol;
	parametros = on_change!="undefined" ? parametros + "&on_change="+on_change : parametros;

	$.ajax({
		type: "GET",
		url: ruta_script + "inc/ajax/select_dependiente.php",
		data: parametros,
		success: function(msg){
			$("#"+segundo_select+"_select").html(msg);
		}
	}); // fin del ajax

	$('#'+segundo_select).html('<option value="-1">Cargando...</option>');

}

