//<!-- 
/** 
 * Navegación dentro de un módulo
 * incluye manejo de:
 *		Buscador
 *		Paginado del listado
 *		órden del listado
 *		Edición del elemento
 *
 * @access public
 * @author WebMind
 * @param string direccion Url a consultar
 */
function navegar(direccion){
	actualizar_box(direccion,'resultado_box');
}
/**
 * Navegación dentro de un módulo
 * incluye manejo de:
 *		Buscador
 *		Paginado del listado
 *		órden del listado
 *		Edición del elemento
 *
 * @access public
 * @author WebMind
 * @param string direccion Url a consultar
 */
function actualizar_box(direccion,box){
	var preferencias_json=obtener_configuracion_visualizacion(direccion);
	var param_url=direccion.toQueryParams();

	if ($(box) == null){
		alert("No se encuentra el div: '" + box + "'");
		return;
	}

	if(!param_url.modulo){
  		window.location.href=http_host;
  		return;
  	}

 	if(direccion.indexOf("#")>0){
 		return;
 	}

	var print="";
	if(direccion.indexOf('modulo=comentarios&accion=sitio_listar&imprimir=1')> 0  ){
		print='<script charset="UTF-8" language="javascript" type="text/javascript">setTimeout("window.print()", 1000);</script>';
	}
	
	//direccion = direccion + '&ajax=1';

	if(direccion.indexOf('submenu1')>0)
		Element.update(box,'<img src="/admin/images/icons/cargando_menu.gif" border="0" alt="Cargando..." title="Cargando..."> Cargando...');
	else
		Element.update(box,'<img src="/admin/images/icons/cargando.gif" border="0" alt="Cargando..." title="Cargando..."> Cargando...');

	new Ajax.Request(direccion, { method:"post",parameters:"preferencias_json="+preferencias_json, 
		onSuccess : function(resp,direccion) {
			texto = resp.responseText;
			texto=texto+print;
			Element.update(box, texto);
		},
		onFailure : function(){
			alert("no se encontrÃ³ el archivo");
		}
	});

	//ESTO ES PARA EL BOTON VOLVER
	agregarHistorial(direccion);
}

function agregarHistorial(direccion)
{
	if(typeof(dhtmlHistory)!="undefined")
	{
		var param_url=direccion.toQueryParams();
		
		if (param_url.noUrl != '1')
		{
			dhtmlHistory.add(ctaHistorial, http_host+"/"+direccion);
			ctaHistorial++;
		}
	}
}
/**
 * Actualiza el historial (botonera izquierda)
 *
 * @access public
 * @author WebMind
 * @param string modulo modulo en que se estó trabajando
 */
function historial(modulo){
	new Ajax.Request("/admin/index.php?accion=historial&modulo="+modulo, {
		onSuccess : function(resp) {
			texto = resp.responseText;
			Element.update("historial_box",texto);
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	})
}

function enviar_guardar(url, formulario, box, modulo_hash){
	if(typeof(actualizarFCK)=='object')
		actualizarFCK.UpdateEditorFormValue();
	new Ajax.Request(url, {method:"post",parameters : Form.serialize(formulario),
		onSuccess : function(resp) {
			//Element.update(box,resp.responseText);
			$(box).innerHTML = resp.responseText;
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	});
}

/**
 * Guarda el formulario
 *
 * @access public
 * @author WebMind
 * @param string modulo módulo sobre el que se estó trabajando
 */
function enviar(accion){

	if(typeof(actualizarFCK)=='object')
		actualizarFCK.UpdateEditorFormValue();

	if(!accion){
		accion='admin_guardar';
	}

	new Ajax.Request("/admin/index.php?modulo=" + parent.modulo + "&accion=" + accion, {method:"post",parameters : Form.serialize("form1"),
		onSuccess : function(resp) {
			datos = eval(resp.responseText);
			if(typeof datos == "object"){
				alertar_error(datos);
			} else {
				alertar_ok("","navegar('/admin/index.php?" + querystring + "')");
			}
			
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	});
}

/**
 * Ejecuta la bósqueda al presionar enter dentro del formulario
 *
 * @access public
 * @author WebMind
 */
function enviar_enter(event){
	var key = event.which || event.keyCode;
	if (key == Event.KEY_RETURN)
		enviar();
}
function buscar(accion, box, className,modulo,hash ){
	if(!className)
		className="buscador";
	elem = document.getElementsByClassName(className);
 	var form_serialize="";
	for(var i = 0; i <= elem.length-1; i++){
		if(elem[i].type=="checkbox"){
				if(elem[i].checked)
					form_serialize = form_serialize + elem[i].name + "=" + $F(elem[i]) + "&"; 		
		}else
			if(elem[i].value!=""){
			form_serialize = form_serialize + elem[i].name + "=" + elem[i].value + "&"; 		
		}
	}
	if (!accion)
 		accion='admin_listar';
 	if (!box)
 		box='resultado_box';

	
	var direccion="/admin/index.php?modulo=" +modulo + "&accion="+ accion +"&hash="+hash ;
	var preferencias="";
	if($("relacionar11_listado")){
		var preferencias_json=obtener_configuracion_visualizacion(direccion);	
		var preferencias="preferencias_json="+preferencias_json;
	}

	new Ajax.Request(direccion, {method:"post",parameters : preferencias+"&"+form_serialize,
			onSuccess : function(resp) {
				texto = resp.responseText;
				$(box).update(texto);			
			},
			onFailure : function(){
				alert("no se encontró el archivo");
			}
		});

	//ESTO ES PARA EL BOTON VOLVER
	agregarHistorial(direccion);
}

/**
 * Ejecuta la bósqueda
 *
 * @access public
 * @author WebMind
 */
function buscar3(accion,box,formulario){
	//navegar("/admin/index.php?modulo=" + parent.modulo + "&accion="+accion+"&"+Form.serialize("buscador"));
	if (!accion) 
 		accion='admin_listar';
 	if (!box)
 		box='resultado_box';
 	if(!formulario)
 		formulario = "buscador";
	var param = arguments[3] || "";
	
	var form_serialize="";
 	//alert($('buscador'));
 	if($('buscador'))
 		form_serialize=Form.serialize(formulario)	
	//alert("/admin/index.php?modulo=" + parent.modulo + "&accion="+ accion  +"&"+Form.serialize(formulario));
 	actualizar_box("/admin/index.php?modulo=" + parent.modulo + param + "&accion="+ accion  +"&"+form_serialize,box);
}
function buscar2(accion,box,formulario){
	//navegar("/admin/index.php?modulo=" + parent.modulo + "&accion="+accion+"&"+Form.serialize("buscador"));
	if (!accion)
 		accion='admin_listar';
 	if (!box)
 		box='resultado_box';
 	if(!formulario)
 		formulario = "buscador";
	//si se pasa un 4to parametro (utilizado para variables adicioneles)
	//para no modificar todas las llamadas a la funcion de los sitios
	var param = arguments[3] || "";
	actualizar_box("/admin/index.php?modulo=" + parent.modulo +param +"&accion="+ accion  +"&"+$(formulario).serialize,box);
}
//************************************************************
//***************FUNCIONES CAMPO ASIGNACION*******************
//************************************************************
function asignacion_agregar(campo,id,modulo,prefijo,asc){
	asce="";
	if(asc)
		asce="&asc=1";
	eval(prefijo+'['+prefijo+'.length]='+id+';');
	$(campo).value=eval(prefijo);
	actualizar_box('index.php?modulo='+modulo+'&campo_buscar='+campo+'&accion=seleccionados&'+campo+'='+eval(prefijo)+"&prefijo="+prefijo+asce,prefijo+'_seleccionados_box');

}
function asignacion_quitar(campo,id,modulo,prefijo,asc){
	asce="";
	if(asc)
		asce="&asc=1";
	eval(prefijo+'='+prefijo+'.without('+id+')');
	$(campo).value=eval(prefijo);
	actualizar_box('index.php?modulo='+modulo+'&accion=seleccionados&campo_buscar='+campo+'&'+campo+'='+eval(prefijo)+asce,prefijo+'_seleccionados_box');
}
function buscar_seleccion( campo,box, className, prefijo){
	elem = document.getElementsByClassName(className);
	var form_serialize="";
	for(var i = 0; i <= elem.size()-1; i++)
		form_serialize = form_serialize + elem[i].name + "=" + elem[i].value + "&"; 		
			
	param = '&campo_buscar=' + campo;

	new Ajax.Request("/admin/index.php?modulo=" + parent.modulo+ param +"&accion=buscar&prefijo="+prefijo, {method:"post",parameters:form_serialize,
		onSuccess : function(resp) {
			texto = resp.responseText;
			Element.update(box,texto);
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	});
}
//***************END--FUNCIONES CAMPO ASIGNACION*******************
//************************************************************



//************************************************************
//***************FUNCIONES CAMPO ascendencia*******************
//************************************************************
function ascendencia_agregar(campo,id,modulo,prefijo,ascendencia_padre){
	eval(prefijo+'['+prefijo+'.length]='+id+';');
	$(campo).value=eval(prefijo);
	actualizar_box('index.php?modulo='+modulo+'&campo_buscar='+campo+'&accion=seleccionados_ascendencia&'+campo+'='+eval(prefijo)+"&prefijo="+prefijo+"&ascendencia_padre="+ascendencia_padre,prefijo+'_seleccionados_box');

}
function ascendencia_quitar(campo,id,modulo,prefijo,ascendencia_padre){
	eval(prefijo+'='+prefijo+'.without('+id+')');
	$(campo).value=eval(prefijo);
	actualizar_box('index.php?modulo='+modulo+'&accion=seleccionados_ascendencia&campo_buscar='+campo+'&'+campo+'='+eval(prefijo)+"&prefijo="+prefijo+"&ascendencia_padre="+ascendencia_padre,prefijo+'_seleccionados_box');
}
function buscar_ascendencia( campo,box, className, prefijo,id,ascendencia_padre){
	elem = document.getElementsByClassName(className);
	var form_serialize="";
	for(var i = 0; i <= elem.size()-1; i++)
		form_serialize = form_serialize + elem[i].name + "=" + elem[i].value + "&"; 		
			
	param = '&campo_buscar=' + campo;

	new Ajax.Request("/admin/index.php?modulo=" + parent.modulo+ param +"&accion=buscar_ascendencia&prefijo="+prefijo+"&ascendencia_padre="+ascendencia_padre, {method:"post",parameters:form_serialize+"&id="+id,
		onSuccess : function(resp) {
			texto = resp.responseText;
			Element.update(box,texto);
		},
		onFailure : function(){
			alert("no se encontrÃ³ el archivo");
		}
	});
}
//***************END--FUNCIONES CAMPO ascendencia*******************

/**
 * Ejecuta la bósqueda al presionar enter dentro del formulario
 *
 * @access public
 * @author WebMind
 */
function buscador_enter(event){
	var key = event.which || event.keyCode;
	if (key == Event.KEY_RETURN)
		buscar();
}



function mostrar_grupos(grupo,grupos,prefijo){
	//Levanto un stringo con idiomas y lo convierto en array
	grupos = grupos.split(',');

	//Si no es todos, entonces oculto todos y luego muestro el seleccionado
	if(grupo!='todos'){
		//Oculto todos
		for(j=0;j<grupos.length;j++){
			elementos = $('formulario').getElementsByClassName(prefijo+grupos[j]);
			for(i=0;i<elementos.length;i++){
				Element.hide(elementos[i]);
			}
		}
		//Muestro el seleccionado
		elementos = $('formulario').getElementsByClassName(prefijo+grupo);
		for(i=0;i<elementos.length;i++){
			Element.show(elementos[i]);
		}
	//Si es todos entonces muestro todos
	} else {
		for(j=0;j<grupos.length;j++){
			elementos = $('formulario').getElementsByClassName(prefijo+grupos[j]);
			for(i=0;i<elementos.length;i++){
				Element.show(elementos[i]);
			}
		}
	}
}
/**
 * 
 *
 * @access public
 * @author WebMind
 */
function enviar2(url, formulario, box){
	var dentro_de_modulo="";
	if(arguments[3])
		dentro_de_modulo=arguments[3];
	if(typeof(actualizarFCK)=='object')
		actualizarFCK.UpdateEditorFormValue();

	new Ajax.Request(url, {method:"post",parameters : Form.serialize(formulario),
		onSuccess : function(resp) {
			texto = resp.responseText;
			
			if(dentro_de_modulo=="")
				Element.update(box,texto);
			else
				actualizar_box("index.php?modulo=archivos&accion=admin_listar"+dentro_de_modulo,'formulario_archivos');
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	});
}

function limpiar_form(frm){
	$(frm).getElements().each(
	function(s){
		if(s.name != 'campos_busqueda'){
			if(s.type == 'select-one')
				s.value=-1;
			else
				s.value='';
		}
	})
}

/** Limpia todos los campo de un formulario menos los ocultos.
 *  Si necesitamos limpiar campos ocultos, se pasan como segundo parametro
 *
 * @access public
 * @author WebMind
 * @param1 id/name del formulario
 * @param2 Array Campos ocultos a limpiar (campos extras)
 */
function limpiar(form,arrExtras){
		arrText=$(form).getInputs('text');
		arrText.each(function (s){
   				s.value="";	
   			}); 
   		oForm=$(form);
   		
   		arrObj=oForm.getElementsByTagName('textarea');
		for(var i=0; i < arrObj.length ;i++){
			arrObj[i].value="";
			
			if(typeof(FCKeditorAPI)!="undefined"){
				var oEditor = FCKeditorAPI.GetInstance(arrObj[i].id) ;
				if(typeof(oEditor)!="undefined")
					oEditor.SetHTML('');
			}		
		}
		arrObj=oForm.getElementsByTagName('select');
		for(var i=0; i < arrObj.length ;i++){
			arrObj[i].value=-1;
		}
		//CHECKBOX Y RADIOS Y ASIGNACION
		arrObj=oForm.getElementsByTagName('input');
		for(var i=0; i < arrObj.length ;i++){
			if(arrObj[i].type == "checkbox" || arrObj[i].type == "radio")
			   arrObj[i].checked = false;
		   	
			 var s=arrObj[i].id;  
			//PARA LOS CAMPOS DE TIPO ASIGNACION
			if(s.substr(s.length-14,14)=='_seleccionados'){
				var nombre_de_campo_asignacion=s.substr(0,s.length-14);
				actualizar_box('index.php?modulo='+parent.modulo+'&campo_buscar='+nombre_de_campo_asignacion+'&accion=seleccionados&'+s+'=',s+'_box');
			}
			//END - PARA LOS CAMPOS DE TIPO ASIGNACION
			   
		}
		//END - CHECKBOX Y RADIOS
		if(arrExtras)
			arrExtras.each(function(s){
				$(s).value="";
			})				
}

function obtener_configuracion_visualizacion(direccion){
	var param_url=direccion.toQueryParams();
	var conf= new Object();
	
	//conf.buscador_despliegue=$("table_buscador").style.display;
	//conf.accesorios_despliegue=parent.accesorios;

	if($(param_url.modulo+param_url.hash+"_listado"))
		conf.datagrid_columnas=tabla_columna_obtener_anchos(param_url.modulo+param_url.hash+"_listado");

	conf.direction=param_url.direction;
	conf.orderBy=param_url.orderBy;
	conf.page=param_url.page;
	return Object.toJSON(conf);
}
function cargar_configuracion_visualizacion(json,direccion){
	if(json.length==0)
		return
	var param_url=direccion.toQueryParams();
	$("table_buscador").style.display=json.buscador_despliegue;

	if(json.accesorios_despliegue==0)
		parent.accesorios=1;
	else
		parent.accesorios=0;

	fijar_accesorios();
	if(json.datagrid_columnas)
		tabla_columna_setear_anchos(param_url.modulo+param_url.hash+"_listado",json.datagrid_columnas);
	
}
function guardar_preferencias(parametros){
	var preferencias_json=obtener_configuracion_visualizacion(parametros);	
	var direccion="/admin/herramientas/herramientas.php?herramienta=preferencia";
	alertar_ok("Las preferencias se guardaron con exito!","");	
	new Ajax.Request(direccion, {method:"post",parameters:parametros+"&preferencias_json="+preferencias_json,
		onSuccess : function(resp) {
			texto = resp.responseText;
		},
		onFailure : function(){
			alert("no se encontró el archivo");
		}
	});
}

function abrir_borrar_imagen(objeto, path, sid)
{
	confirmar("Realmente desea borrar la imagen '" + objeto.value + "' ?", 'borrar_imagen_ok(\''+objeto.name+'\', \''+path+'\', \'' + sid + '\')', '');
}
function borrar_imagen_ok(nom_objeto, path, sid)
{
	var text = $(nom_objeto);

	new Ajax.Request('/admin/herramientas/borrar_imagen.php', 
	{method:"post",parameters:"archivo=" + text.value + "&path=" + path + "&campo=" + nom_objeto + "&sid=" + sid,
		onSuccess : function(resp) {
			texto = resp.responseText;
			if (texto == 'ok')
			{
				alertar('La imagen y sus miniaturas fueron eliminadas con &eacute;xito');
				Element.update('vista_previa_'+nom_objeto, '');
				text = $(nom_objeto);
				text.value = '';
			}
			else
			{
				alertar(texto);
			}
		},
		onFailure : function(){
			alert("Error al ejecutar el script");
		}
	});
}
function duplicar(modulo, hash, idmodulo, idvalor)
{
	confirmar('Realmente desea duplicar el registro ?', "duplicar_ok('"+modulo+"', '"+hash+"', '"+idmodulo+"', '"+idvalor+"')", '');
}
function duplicar_ok(modulo, hash, idmodulo, idvalor)
{
	var URL = 'index.php?';
	URL += 'modulo=' + modulo;
	URL += '&accion=admin_duplicar';
	URL += '&hash=' + hash;
	URL += '&idmodulo='+idmodulo;
	URL += '&idvalor='+idvalor;
	URL += '&noUrl=1';
	URL += '&ajax=1';

	parametros = '';

	new Ajax.Request(URL, { method:"post",parameters:parametros, 
		onSuccess : function(resp,direccion) {
			texto = resp.responseText;
			alertar(texto);
			buscar('admin_listar', modulo + hash + '_resultado_box', modulo + hash + '_buscador',modulo, '1');
		},
		onFailure : function(){
			alert("Error al intentar duplicar el archivo");
		}
	});

}
function limpiar_campo(nombre_campo)
{
	var campo = $(nombre_campo);
	campo.value = '';

	if(typeof(FCKeditorAPI)!="undefined"){
		var campo = FCKeditorAPI.GetInstance(nombre_campo) ;
		if(typeof(campo)!="undefined")
			campo.SetHTML('');
	}		
}
function banner_openx(box, dominio, zoneid, prefijo_banner)
{
	var m3_u = (location.protocol=='https:'?'https://' + dominio + '/www/delivery/ajs.php':'http://' + dominio + '/www/delivery/ajs.php');
	var m3_r = Math.floor(Math.random()*99999999999);
	if (!document.MAX_used) document.MAX_used = ',';

	var URLscript = '';

	URLscript += m3_u;
	URLscript += "?zoneid="+zoneid;
	if (prefijo_banner != '')
		URLscript += '&what=' + prefijo_banner;
	URLscript += '&cb=' + m3_r;
	if (document.MAX_used != ',') URLscript += "&exclude=" + document.MAX_used;
	URLscript += (document.charset ? '&charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
	URLscript += ("&loc=" + escape(window.location));
	if (document.referrer) URLscript += "&referer=" + escape(document.referrer);
	if (document.context) URLscript += "&context=" + escape(document.context);
	if (document.mmm_fo) URLscript += "&mmm_fo=1";
	
	var url = '/herramientas/proxy_openx.php?url=' + encodeURIComponent(URLscript);
	var texto = '';
	new Ajax.Request(url, {
		method:"get",
		evalJS:false,
		method:"get", 
		onSuccess : function(resp) {
			texto = resp.responseText;
			partes = texto.split("\n");
			partes = partes[1].split('+= ');
			if (!Object.isUndefined(partes[1]))
				eval("$(box).innerHTML = " + partes[1]);
		},
		onFailure : function(){
			alert("no se encontró el archivo: \n" + url);
		}
	});
/*
	<div id="banner_atencion"></div>
	<script type="text/javascript"> 
		banner_openx('banner_atencion', 'amarillagas.com/openx', '1', '{$datos.prefijo_banner}');
	</script><br />
*/
}
//-->
