// Globales
var curr_p = 0;
var curr_q = "";
var curr_start = false;
var keepsearching = true;
var timerSearch = "";
var timerErr = "";
var busquedas = new Array();
var busquedas_i = 0;
var curr_busqueda = "";
var g_cur_item = 0;
var g_cur_table = "";
var filtered = false;
var selected_item = "";
var prev_selected_bg = "#eee";
var busca_en_revista = false;

// Agarra todos los elementos por nombre de clase
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
			nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
			returnElements = [],
			current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
			classesToCheck = "",
			xhtmlNamespace = "http://www.w3.org/1999/xhtml",
			namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
			returnElements = [],
			elements,
			node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
			classesToCheck = [],
			elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
			current,
			returnElements = [],
			match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

// Selecciona todos los elementos con una clase
function selectAll(className) {
	var parts = getElementsByClassName(className);
	var i = 0;
	
	while(i < parts.length) {
		parts[i].checked = true;
		
		i++;
	}
}

// Des-selecciona todos los elementos con una clase
function deSelectAll(className) {
	var parts = getElementsByClassName(className);
	var i = 0;
	
	while(i < parts.length) {
		parts[i].checked = false;
		
		i++;
	}
}

// Hace el scroll hasta un id
function goTo(id) {
	new Effect.ScrollTo(id, {offset: 0});
}

// Checa si una variable existe en un arreglo
function in_array(needle, haystack, argStrict) { 
    var found = false, key, strict = !!argStrict;
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
    return found;
}

// Retorna el valor de scroll del cliente
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

// Regresa el tamano de la ventana del usuario
function getUserWindow() {
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
	}
	return [winW,winH];
}

// Muestra mensaje de error pero sin esconder automaticamente
function errorNoHide(err) {
	$("errors").innerHTML = "<div class='right'><a href='#' onclick='$(\"errors\").style.display = \"none\"; return false;'>(cerrar)</a></div><div>"+err+"</div>";
	var xy =  getScrollXY();
	var wh = getUserWindow();
	var y = (xy[1] + (wh[1] / 2)) - 50;
	var x = (xy[0] + (wh[0] / 2)) - 50;
	$("errors").style.left = x+"px";
	$("errors").style.top = y+"px";
	$("errors").style.display = "block";
}

// Muestra un mensaje de error
function error(err) {
	$("errors").innerHTML = "<div class='right'><a href='#' onclick='$(\"errors\").style.display = \"none\"; return false;'>(cerrar)</a></div><div>"+err+"</div>";
	var xy =  getScrollXY();
	var wh = getUserWindow();
	var y = (xy[1] + (wh[1] / 2)) - 50;
	var x = (xy[0] + (wh[0] / 2)) - 50;
	$("errors").style.left = x+"px";
	$("errors").style.top = y+"px";
	$("errors").style.display = "block";
	timerErr = setTimeout("hideError()", 3000);
}

// Esconde el cuadro de errror
function hideError() {
	$("errors").style.display = "none";
	timerErr = "";
}

// Busca siguiente pagina de resultados
function searchNext() {
	if(keepsearching) {
		search(curr_q, curr_p, false);
		timerSearch = setTimeout("searchNext()", 1000);
	}
}

// Busqueda con ajax
function search(q, p, start) {

	if(p == 0) {
		$("filters").style.display = "none";
    busca_en_revista = false;
    $('revistas_filters').style.display = 'none';
	}

	if((!busca_en_revista && q != "" && q.length > 2) || busca_en_revista) {
		//q = q.replace(/['"]/g,'');
		if(p == 0) {
			q = escape(q);
		}
		if(start) {
			if(!in_array(q, busquedas)) {
				busquedas[busquedas_i] = q;
				busquedas_i++;
				showBusquedas();
			}
			curr_start = true;
			keepsearching = true;
		}
		curr_p = p;
		curr_q = q;
		$("loading").style.display = "block";
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=search&q='+q+'&p='+p, {onComplete:doSearch });
	} else {
		error("Por favor introduce una b&uacute;squeda mayor a 2 caracteres.");
		$("loading").style.display = "none";
	}
}

// Callback de showFilters
function doShowFilters(r) {
	$("filters").innerHTML = r.responseText;
	$("filters").style.display = "block";
}

// Callback de search
function doSearch(r) {
	r = r.responseText;
	if(r != "") {
		if(curr_start) {
			$("results").innerHTML = r;
			curr_start = false;
		} else {
			$("results").innerHTML += r;
		}
		
		// Tratamos de agarrar la siguiente pagina
		curr_p ++;
		if(curr_p == 1) {
			timerSearch = setTimeout("searchNext()", 1000);
		}
	} else {
		// Ya no hubo resultados
		$("loading").style.display = "none";
		keepsearching = false;
		timerSearch = "";
		if(curr_p == 0) {
			// No hubo ningun resultado
			if(!filtered) {
        $("results").innerHTML = "";
				error("No se encontr&oacute; ning&uacute;n resultado para la b&uacute;squeda.");
			} else {
				error("No se encontr&oacute; ning&uacute;n resultado con los filtros actuales, repitiendo b&uacute;squeda sin filtros.");
				clearFilters();
			}
		} else {
			// Hubo resultados y terminamos, mostramos filtros
			new ajax ('modules.php?name=Tesis_Jurisprudencias&op=showFilters', {onComplete:doShowFilters });
			getResults();
		}
	}
}

// Funcion intermedia de busqueda para busquedas guardadas
function fakeSearch() {
	search($('tesis_q').value, 0, true);
}

// Guarda una busqueda
function saveSearch(q) {
	if(q != "" && q.length > 2) {
		q = escape(q);
		$("loading").style.display = "block";
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=saveSearch&q='+q, {onComplete:doSaveSearch });
	} else {
		error("Por favor introduce una b&uacute;squeda mayor a 2 caracteres.");
	}
}

// Callback de saveSearch
function doSaveSearch(r) {
	r = r.responseText;
	if(r != "") {
		$("guardadas").innerHTML = r;
		$("loading").style.display = "none";
	}
}

// Elimina una busqueda con ajax
function delSearch(id) {
	if(id != "") {
		$("loading").style.display = "block";
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=delSearch&id='+id, {onComplete:doDelSearch });
	}
}

// Callback de delSearch
function doDelSearch(r) {
	r = r.responseText;
	if(r != "") {
		$("guardadas").innerHTML = r;
		$("loading").style.display = "none";
	}
}

// Muestra busquedas guardadas
function showSearches() {
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=showSearches', {onComplete:doShowSearches });
}

// Callback  de showSearches
function doShowSearches(r) {
	r = r.responseText;
	if(r != "") {
		$("guardadas").innerHTML = r;
		$("loading").style.display = "none";
	}
}

// Muestra busquedas realizadas por el usuario
function showBusquedas() {
	$("busquedas").innerHTML = "";
	var i = 0;
	while(i < busquedas.length) {
		curr_busqueda = unescape(busquedas[i]);
		$("busquedas").innerHTML += "<div><a href='#' onclick=\"$('tesis_q').value = '"+unescape(busquedas[i])+"'; fakeSearch(); return false;\">"+curr_busqueda+"</a> <a href='#' onclick=\"saveSearch('"+unescape(busquedas[i])+"'); return false;\"><img src='/themes/Fiscalia/images_modules/diskette_16.gif' alt='guardar' /></a></div>";
		i++;
	}
}

// Abre un item con ajax
function openItem(id, curr_table) {
	// Highlight
	try {
		$(selected_item).style.backgroundColor = prev_selected_bg;
	} catch(ex) {}
	
	selected_item = "tesis_" + id;
	try {
		prev_selected_bg = $(selected_item).style.backgroundColor;
		$(selected_item).style.backgroundColor = 'yellow';
	} catch(ex) {}
	
	$("loading").style.display = "block";
	g_cur_item = id;
	g_cur_table = curr_table;
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=openItem&id='+id+'&curr_table='+curr_table, {onComplete:doOpenItem });
}

// Callback de openItem
function doOpenItem(r) {
	r = r.responseText;
	$("result_item").innerHTML = "<div class='right'><a href='#' onclick='$(\"result_item\").style.display = \"none\"; return false;'>(cerrar)</a></div>" + r;
	$("result_item").style.display = "block";
	$("loading").style.display = "none";
	goTo("result_item");
	// Relaciona leyes
	relacionaLeyes(g_cur_item, g_cur_table);
}

// Relaciona leyes con una tesis
function relacionaLeyes(id, curr_table) {
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=relacionaLeyes&id='+id+'&curr_table='+curr_table, {onComplete:doRelacionaLeyes });
}

// Callback de relacionaLeyes
function doRelacionaLeyes(r) {
	r = r.responseText;
	if(r != "") {
		try {
			$("relacion_leyes").innerHTML = r;
			$("relacion_leyes").style.display = "block";
		} catch(ex) { }
	}
}

// Agrega un compendio
function addCompendio(nombre) {
	nombre = escape(nombre);
	if(nombre != "" && nombre.length > 3) {
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=addCompendio&nombre='+nombre, {onComplete:doAddCompendio });
	} else if(nombre.length <= 3) {
		error("Por favor introduce un nombre mayor a 3 caracteres.");
	} else {
		error("Por favor introduce un nombre para tu compendio.");
	}
}

// Callback de addCompendio
function doAddCompendio(r) {
	if(r.responseText != "") {
		doShowCompendios(r);
		$("cont_add_comp").style.display = 'none';
		$("add_nombre_comp").value = "";
	}
}

// Muestra la lista de compendios del usuario
function showCompendios() {
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=showCompendios', {onComplete:doShowCompendios });
}

// Callback de showCompendios
function doShowCompendios(r) {
	r = r.responseText;
	
	if(r != "") {
		var r_arr = r.split("|BRK|");
		$("compendios_cont").innerHTML = r_arr[0];
		var ids = r_arr[1];
		ids = ids.split(",");
	}
}

// Abre un compendio
function openCompendio(id) {
	if(id != "") {
		var nombre_id = 'comp_cont_' + id;
		if($(nombre_id).style.display == 'none') {
			new ajax ('modules.php?name=Tesis_Jurisprudencias&op=openCompendio&id='+id, {onComplete:doOpenCompendio });
		} else {
			var img_nombre_id = 'img_arrow_comp_' + id;
			$(img_nombre_id).src = '/modules/Suscripcion/images/arrow_large_closed.gif';
			$(nombre_id).style.display = 'none';
		}
	}
}

// Callback de openCompendio
function doOpenCompendio(r) {
	if(r.responseText != "") {
		r = r.responseText;
		var r_arr = r.split("|BRK|");
		var id = r_arr[1];
		$("comp_cont_" + id).innerHTML = r_arr[0];
		$("comp_cont_" + id).style.display = "block";
		var img_nombre_id = 'img_arrow_comp_' + id;
		$(img_nombre_id).src = '/modules/Suscripcion/images/arrow_large_open.gif';
	}
}

// Agrega un item a un compendio
function addToCompendio(comp_id, item_id, curr_table) {
	if(comp_id != "" && item_id != "") {
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=addToCompendio&comp_id='+comp_id+'&item_id='+item_id+'&curr_table='+curr_table, {onComplete:doAddToCompendio });
	}
}

// Callback de addToCompendio
function doAddToCompendio(r) {
	r = r.responseText;
	if(r != "") {
		error("El art\xEDculo se ha agregado al compendio.");
		$("item_compendios").style.display = "none";
	}
}

// Muestra compendios dentro de un item
function showCompendiosInItem(id, curr_table) {
	if($("item_compendios").style.display == "none") {
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=showCompendiosInItem&id='+id+'&curr_table='+curr_table, {onComplete:doShowCompendiosInItem });
	} else {
		$("item_compendios").style.display = "none";
	}
}

// Callback de showCompendiosInItem
function doShowCompendiosInItem(r) {
	r = r.responseText;
	
	if(r != "") {
		var r_arr = r.split("|BRK|");
		$("item_compendios").innerHTML = r_arr[0] + "<br />";
		$("item_compendios").style.display = "block";
		var ids = r_arr[1];
		ids = ids.split(",");
	}
}

// Borra un compendio
function delCompendio(id) {
	var conf = confirm('Seguro?');
	
	if(conf) {
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=delCompendio&id='+id, {onComplete:doDelCompendio });
	}
}

// Callback de delCompendio
function doDelCompendio(r) {
	error("El compendio se ha eliminado correctamente.");
	showCompendios();
}

// Muestra forma para editar un compendio
function editCompendio(id, nombre) {
	var html = '<input type="text" value="'+nombre+'" name="nombre" id="edit_compendio_nombre" /><br />'+
	'<input type="hidden" id="edit_compendio_id" value="'+id+'" />'+
	'<input type="button" value="Aceptar" onclick="procEditCompendio();" />';
	errorNoHide(html);
}

// Procesa el edit de un compendio
function procEditCompendio() {
	var nombre = $("edit_compendio_nombre").value;
	var id = $("edit_compendio_id").value;
	
	if(nombre != "" && id != "") {
		new ajax ('modules.php?name=Tesis_Jurisprudencias&op=editCompendio&id='+id+'&nombre='+nombre, {onComplete:doEditCompendio });
	}
}

// Callback de procEditCompendio
function doEditCompendio(r) {
	error("El compendio se ha editado correctamente.");
	showCompendios();
}

// Filtra la busqueda
function filter() {
	$("loading").style.display = "block";
	
	// Cortes
	var f_cortes_str = "";
	
	if($("filter_corte_tfjfa").checked) {
		f_cortes_str = "tfjfa";
	} else if($("filter_corte_scjn").checked) {
		f_cortes_str = "scjn";
	}

	// Epocas
	var f_epocas = getElementsByClassName("filter_epocas_check");
	var f_epocas_str = "";
	
	var i = 0;
	
	while(i < f_epocas.length) {
		if(f_epocas[i].checked) {
			f_epocas_str += f_epocas[i].value + ",";
		}
		i++;
	}
	
	// Salas
	var f_salas = getElementsByClassName("filter_salas_check");
	var f_salas_str = "";
	
	i = 0;
	
	while(i < f_salas.length) {
		if(f_salas[i].checked) {
			f_salas_str += f_salas[i].value + ",";
		}
		i++;
	}
	
	// Fuentes
	var f_fuentes = getElementsByClassName("filter_fuentes_check");
	var f_fuentes_str = "";
	
	i = 0;
	
	while(i < f_fuentes.length) {
		if(f_fuentes[i].checked) {
			f_fuentes_str += f_fuentes[i].value + ",";
		}
		i++;
	}
	
	// Materias
	var f_materias = getElementsByClassName("filter_materias_check");
	var f_materias_str = "";
	
	i = 0;
	
	while(i < f_materias.length) {
		if(f_materias[i].checked) {
			f_materias_str += f_materias[i].value + ",";
		}
		i++;
	}
	
	// Tipos
	var f_tipos = getElementsByClassName("filter_tipos_check");
	var f_tipos_str = "";
	
	i = 0;
	
	while(i < f_tipos.length) {
		if(f_tipos[i].checked) {
			f_tipos_str += f_tipos[i].value + ",";
		}
		i++;
	}
	
	filtered = true;
	
	// Guardamos filtros en sesion
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=saveFilters', {postBody: 'f_cortes='+f_cortes_str+'&f_epocas='+escape(f_epocas_str)+'&f_salas='+escape(f_salas_str)+'&f_fuentes='+escape(f_fuentes_str)+'&f_materias='+escape(f_materias_str)+'&f_tipos='+escape(f_tipos_str), onComplete:doSaveFilter });
}

// Ya guardamos los filtros, ahora buscamos
function doSaveFilter(r) {
	fakeSearch();
}

// Igual que clearFilters pero no busca luego de limpiar
function justClearFilters() {
	$("loading").style.display = "block";
	
	filtered = false;

	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=clearFilters', {onComplete:doJustClearFilter });
}

// Callback de justClearFilters
function doJustClearFilter(r) {
	// nothing
	$("loading").style.display = "none";
	error("Los filtros han sido limpiados.");
}

// Borra filtros
function clearFilters() {
	$("loading").style.display = "block";
	
	filtered = false;

	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=clearFilters', {onComplete:doClearFilter });
}

// Callback de clearFilters
function doClearFilter(r) {
	fakeSearch();
}

// Agarra numero de resultados
function getResults() {
	new ajax ('modules.php?name=Tesis_Jurisprudencias&op=getResults', {onComplete:doGetResults });
}

// Callback de getResults
function doGetResults(r) {
	r = r.responseText;
	
	if(r != "") {
		$("tesis_results").innerHTML = "<strong>Resultados: " + r + "</strong> <abbr style='border:0px; cursor:help;' title='Tu b&uacute;squeda puede arrojar m&aacute;s de ~200 resultados, para agilizar tu b&uacute;squeda se muestran los primeros ~200.  Conforme vayas filtrando tu b&uacute;squeda, se seguir&aacute;n mostrando ~200 resultados coincidentes con tu filtro.'><img src='/themes/Fiscalia/images_modules/help_16.gif' /></abbr>";
	} else {
		$("tesis_results").innerHTML = "<strong>Resultados: 0</strong>";
	}
	$("tesis_results").innerHTML += "<div class='ArNegro11'><em><abbr title='Tu b&uacute;squeda puede arrojar m&aacute;s de ~200 resultados, para agilizar tu b&uacute;squeda se muestran los primeros ~200.  Conforme vayas filtrando tu b&uacute;squeda, se seguir&aacute;n mostrando ~200 resultados coincidentes con tu filtro.'>Se muestran ~200 resultados del total de registros encontrados.</abbr></em></div>";
	$("tesis_results").style.display = "block";
}

// Abre filtros para ver revista completa
function toggleRevistasFilters() {
  if($('revistas_filters').style.display == 'none') {
    $('revistas_filters').style.display = 'block';
  } else {
    $('revistas_filters').style.display = 'none';
  }
}

// Actualiza years para filtros revistas
function updateYearsRevistasFiltros(val) {
  var html = '';
  
  if(val != '') {
    if(val == 'TFJFA') {
      var ys = 2008;
    } else if(val == 'SCJN') {
      var ys = 2005;
    }
    
    i = ys;
    var yf = new Date().getFullYear();
    
    html += '<option value=""></option>';
    
    while(i <= yf) {
      html += '<option value="'+i+'">'+i+'</option>';
      i++;
    }
    
    html = '<strong>A&ntilde;o</strong><br />' + 
    '<select name="rf_year" id="rf_year" onchange="updateMonthsRevistasFiltros($(this).value);">' + html + '</select>';
  }
  
  $('rf_years_cont').innerHTML = html;
}

// Actualiza meses para filtros revistas
function updateMonthsRevistasFiltros(val) {
  var html = '';
  
  if(val != '') {
    html = '<strong>Mes:</strong><br />' + 
    '<select name="rf_month" id="rf_month" onchange="updateSubmitRevistasFiltros($(this).value);">' + 
      '<option value=""></option>' + 
      '<option value="Enero">Enero</option>' + 
      '<option value="Febrero">Febrero</option>' + 
      '<option value="Marzo">Marzo</option>' + 
      '<option value="Abril">Abril</option>' + 
      '<option value="Mayo">Mayo</option>' + 
      '<option value="Junio">Junio</option>' + 
      '<option value="Julio">Julio</option>' + 
      '<option value="Agosto">Agosto</option>' + 
      '<option value="Septiembre">Septiembre</option>' + 
      '<option value="Octubre">Octubre</option>' + 
      '<option value="Noviembre">Noviembre</option>' + 
      '<option value="Diciembre">Diciembre</option>' + 
    '</select>';
  }
  
  $('rf_months_cont').innerHTML = html;
}

// Actualiza boton de submit para revistas filtros
function updateSubmitRevistasFiltros(val) {
  var html = '';
  
  if(val != '') {
    html = '<br /><input type="button" value="Buscar" onclick="doBuscaRevista();" />';
  }
  
  $('rf_submit_cont').innerHTML = html;
}

// Hace busqueda para revista
function doBuscaRevista() {
  $('tesis_q').value = '';
  $('revistas_filters').style.display = 'none';
  
  var corte = $('rf_corte').value;
  var year = $('rf_year').value;
  var month = $('rf_month').value;
  
  keepsearching = true;
  busca_en_revista = true;
  curr_q = '';
  curr_p = 0;
  
  $('results').innerHTML = '';
  
  new ajax ('modules.php?name=Tesis_Jurisprudencias&op=search&q=&p=0&corte='+corte+'&year='+year+'&month='+month, {onComplete:doSearch });
}

function print(){
  var titulo = escape($('tesis_q').value); 
  var contenido_limpio = $('results').innerHTML;
  
  // Para navegadores normales
  contenido_limpio = contenido_limpio.replace(/class="itempar">/gi, 'class="itempar" style="padding: 10px;">');
  contenido_limpio = contenido_limpio.replace(/class="item">/gi, 'class="item" style="padding: 10px;">');
  // Para ie
  contenido_limpio = contenido_limpio.replace(/class=itempar>/gi, 'class=itempar style="padding: 10px;">');
  contenido_limpio = contenido_limpio.replace(/class=item>/gi, 'class=item style="padding: 10px;">');

  var contenido = escape(contenido_limpio); 
  if(titulo == ""){
    titulo = escape('Tesis y Jurisprudencias');
  }
  
  document.fPrint.title.value=titulo;
  document.fPrint.body.value=contenido;
  document.fPrint.submit();
}
