function filterArticles(navigation, page)
{
  //alert($('#form1').attr('action'));
	$.ajax({
		type: "POST",
		dataType: "json",
		url: $('#form1').attr('action'),
		data: "navigation_id=" + navigation + "&offset=50" + "&filter_id=" + $('#filtro :selected').val() + "&page=" + page, /*<--- FILTER_ID is to filter by attributtes, page to paginate, not in use: client desision */
		
		beforeSend: function() {$("#form1 > img.contact-spinner").show();},
		complete: function() {$("#form1 > img.contact-spinner").hide();},
		error: function () {},
		
		success: function(resp) {
			var listado = $("<div class=\"listado-fichas\">");
			if (resp.cant == 0) {listado.append("<p>No hay casos de éxito en esta área de actividad</p>");}
			$.each(resp.data, function (key, item) {  
				var ficha = $("<div class=\"ficha\">").append("<h2>" + item.title + "</h2>").append("<h3>" + item.attribute + "</h3>").append("<p>" + item.content + "</p>").append("<p><a href=\"" + item.url + "\" class=\"ampliar-noticia\">ver caso de éxito</a></p>");
				listado.append(ficha);
			});
			var paginado = $("<div class=\"paginado\">");
			if (resp.pages['total_pages'] > 1) {
				var page = parseInt(resp.pages['page']);
				var pages = parseInt(resp.pages['total_pages']);
				var page_counter;
				if (page > 2) page_counter = page - 2; else if (page <= 2) page_counter = page - 1;
				var prev_page = page - 1;
				var next_page = page + 1;
				
				var paginado = $("<div class=\"paginado\">")
				if (page != 1) paginado.append("<a class=\"btn ajax-paginator\" href=\"#interior-contenido\" rel=\"" + prev_page + "\">anterior</a>");
				while ((page_counter < page) && (page_counter > 0)) {
					paginado.append("<a class=\"btn ajax-paginator\" href=\"#interior-contenido\" rel=\"" + page_counter + "\">"+ page_counter + "</a>");
					page_counter = page_counter + 1;
				}
				paginado.append("<span class=\"actual\">" + page + "</span>");
				page_counter = page + 1;
				while ((page_counter <= page+2) && (page_counter < pages)) {
					paginado.append("<a class=\"btn ajax-paginator\" href=\"#interior-contenido\" rel=\"" + page_counter + "\">"+ page_counter + "</a>");
					page_counter = page_counter + 1;
				}
				if (page != pages) paginado.append("<span>...</span>").append("<a class=\"btn ajax-paginator\" href=\"#interior-contenido\" rel=\"" + pages + "\">" + pages + "</a>").append("<a class=\"btn ajax-paginator\" href=\"#interior-contenido\" rel=\"" + next_page + "\">siguiente</a>");
			}
			$('#interior-contenido').html(listado).append("<div class=\"clearing\"></div>").append(paginado);
		}
	});
}

function filterNews(container, navigation, page, offset, back)
{
	$.ajax({
		type: "POST",
		dataType: "json",
		url: $(container).attr('rel'),
		data: "navigation_id=" + navigation + "&filter_id=-1&page=" + page + "&offset=" + offset,
		
		beforeSend: function() {$("#news > img.contact-spinner").show();},
		complete: function() {$("#news > img.contact-spinner").hide();},
		error: function () {},
		
		success: function(resp) {
                        var page = 0;
			var listado = $("<div class=\"listado\">");
			var table_listado = $('<table width="100%" border="0" cellspacing="0" cellpadding="5">');
			if (resp.cant == 0) {listado.append("<p>No hay noticias</p>");}
			$.each(resp.data, function (key, item) {  
				var table_row = $('<tr>').append('<td class="fecha">' + item.publish_at + '</td>').append('<td><a href="' + item.url + '">' + item.title + '</a></td>').append('<td><a href="' + item.url + '"><img src="/images/ampliar-noticia-icon.png" alt="ampliar noticia" width="16" height="16" border="0" /></a></td>');
				table_listado.append(table_row);
			});
			listado.append(table_listado);
			
			if (resp.pages['total_pages'] > 0) {
				page = parseInt(resp.pages['page']);
				var pages = parseInt(resp.pages['total_pages']);
				var page_counter;
				if (page > 2) page_counter = page - 2;else if (page <= 2) page_counter = page - 1;
				var prev_page = page - 1;
				var next_page = page + 1;
				
				var paginado = $("<div class=\"paginado\">")
				if (page != 1) paginado.append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"1\">primera</a>").append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + prev_page + "\">anterior</a>");
				while ((page_counter < page) && (page_counter > 0)) {
					paginado.append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + page_counter + "\">"+ page_counter + "</a>");
					page_counter = page_counter + 1;
				}
				paginado.append("<span class=\"actual\">" + page + "</span>");
				page_counter = page + 1;
				while ((page_counter <= page+2) && (page_counter < pages)) {
					paginado.append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + page_counter + "\">"+ page_counter + "</a>");
					page_counter = page_counter + 1;
				}
				if (page != pages) paginado.append("<span>...</span>").append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + pages + "\">" + pages + "</a>").append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + next_page + "\">siguiente</a>").append("<a class=\"btn ajax-paginator\" href=\"#\" rel=\"" + pages + "\">última</a>");                                
			}
			
			$(container).html(listado).append("<div class=\"clearing\"></div>");
			if (offset != 0) {
				$(container).append(paginado);
			}

                        if (back) $(container).append("<p><a class=\"listado-completo\" href=\"#\" rel=\"" + page + "\">atras</a></p>");
		}
	});
        
}

function validateQuickContact()
{
	$(".contact-error").hide();
  var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  
	if ($('#email').val() == '')
	{
		$('#email-error').html('Por favor, ingresa tu dirección de correo');
		$(".contact-error").show();
		return false;
	}
	else if(! emailReg.test($('#email').val())) 
	{
		$('#email-error').text('Tu dirección de correo no es válida');
		$(".contact-error").show();
		return false;
	}
	
	return true;
}

function sendQuickContact()
{
	$.ajax({
		type: "POST",
		dataType: "json",
		url: $('#quick-contact-form').attr('action'),
		data: "email=" + $('#email').val() + "&comentarios=" + $('#comentarios').val() + "&navegacion=" + $('#navegacion').val() + "&captcha=" + $('#captcha').val(),

		beforeSend: function() {$("#quick-contact-form div img.contact-spinner").show();},
		complete: function() {$("#quick-contact-form div img.contact-spinner").hide();},
		error: function () {$("#contact-body").append('<span class="contact-error" id="email-error">No se ha podido enviar tu solicitud.</span>');},
		success: function(resp) {$("#contact-body").html('<p>' + resp + '</p>');}
	});
}

function loadEvents(navigation, start_date, type)
{
	$.ajax({
		type: "POST",
		dataType: "json",
		url: $('#calendario-contenido').attr('rel'),
		data: "date=" + start_date + "&navigation=" + navigation + "&type=" + type,

		beforeSend: function() {$("#calendario-contact-spinner").show();},
		complete: function() {$("#calendario-contact-spinner").hide();},
		error: function () { },
		success: function(resp)
		{
			var calendario_numerico = drawCalendar(start_date, resp, $('#calendario-contenido').attr('rel'), type);
			
  		var eventos = $("<ul>");
                if( $(resp).length == 0 )
                {
                    eventos.append('<li><span class="fecha"><img src="/uploads/images/201111/lupa_agenda_min_9444.png" width="16" height="16" align="absmiddle" /> No existen eventos </span></li>');
                }
                else
                {
                    $.each(resp, function (key, item) {
                            var evento = $("<li>").append("<span class=\"fecha\">" + item.publish_at + "</span><br /><strong>" + item.title + "</strong>");
                                    if (type == 'day') {
                                            if (key == start_date) eventos.append(evento);
                                    }
                                    else {
                                            eventos.append(evento);
                                    }
                            });                    
                }
                var calendario_listado = $('<div class="calendario-listado">').append(eventos);
                var proximos_eventos = nextEvents(start_date, resp, type);

                        $('#calendario-contenido').html(calendario_numerico).append(calendario_listado).append("<div class=\"clearing\"></div>");
                        $('.ws-modulo-contenido').html($('#calendario-contenido')).append(proximos_eventos);
                }
	});
}

function nextEvents(start_date, events, type)
{
	var proximos_eventos = "<h2>Próximos eventos</h2>";
	proximos_eventos += '<div class="listado-fichas">';
        if( $(events).length == 0 )
        {
             proximos_eventos += '<div class="ficha"><h2><strong><img src="/uploads/images/201111/lupa_agenda_9604.png" width="64" height="64" align="left" style="margin-right:10px;" />No se han encontrado eventos</strong></h2><p>No hay eventos registrados en el mes seleccionado.</p></div>';
        }
        else
        {
            $.each(events, function (key, item) {
                    if (type == 'day') {
                            if (key == start_date) {
                                    proximos_eventos += '<div class="ficha">';
                                    if (item.image != '') proximos_eventos += '<img class="img-ficha" src="' + item.image + '" />';
                                    proximos_eventos += '<h2><strong>' + item.title + '</strong></h2><p>' + item.content + '</p></div>';
                            }
                    }
                    else {
                            proximos_eventos += '<div class="ficha">';
                            if (item.image != '') proximos_eventos += '<img class="img-ficha" src="' + item.image + '" />';
                            proximos_eventos += '<h2><strong><a href="'+ item.url +'">' + item.title + '</a></strong></h2><p>' + item.content + '</p><p><a href="' + item.url + '">+ Ampliar</a></p></div>';
                    }
            });
        }
	proximos_eventos += '</div>';
	
	return proximos_eventos;
}

function drawCalendar(start_date, events, url, type)
{
	var date_data = start_date.split('-');
	var thismonth = date_data[1];
	var thisyear  = date_data[0];
	
	var monthNames = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Setiembre', 'Octubre', 'Noviembre', 'Diciembre'];
	var dayNames = ['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
	month = parseInt(thismonth, 10);
	year = parseInt(thisyear);
	var table = header_table = '';
	
	// next month
	if (month < 9) var next_month_date = year + '-0' + (month + 1) + '-01'; else var next_month_date = year + '-' + (month + 1) + '-01';
	var next_month = '<a href="#calendario-contenido" rel="' + next_month_date + '" type="month" title="' + monthNames[month] + ' ' + (year) + '"><img src="/images/1283359908_resultset_next.png" width="16" height="16" border="0" /></a>';
	if (month == 12) {
		next_month_date = (year + 1) + '-01-01';
		next_month = '<a href="#calendario-contenido" rel="' + next_month_date + '" type="month" title="' + monthNames[0] + ' ' + (year + 1) + '"><img src="/images/1283359908_resultset_next.png" width="16" height="16" border="0" /></a>';
	}
	
	// previous month
	var prev_month_date = year + '-0' + (month - 1) + '-01';
	var prev_month = '<a href="#calendario-contenido" rel="' + prev_month_date + '" type="month" title="' + monthNames[month - 2] + ' ' + (year) + '"><img src="/images/1283359953_resultset_previous.png" width="16" height="16" border="0" /></a>';
	if (month == 1) {
		prev_month_date = (year - 1) + '-12-01';
		prev_month = '<a href="#calendario-contenido"  rel="' + prev_month_date + '" type="month" title="' + monthNames[11] + ' ' + (year - 1) + '"><img src="/images/1283359953_resultset_previous.png" width="16" height="16" border="0" /></a>';
	}
	
	header_table += ('<table width="250" border="0" align="center" cellpadding="5" cellspacing="0">');
	header_table += ('<th scope="col">' + prev_month + '</th>');
	header_table += ('<th scope="col">' + monthNames[month - 1] + ' ' + year + '</th>');
  header_table += ('<th scope="col">' + next_month + '</th>');
  
  table += '<table width="100%" border="0" cellspacing="0" cellpadding="5" class="calendario-table">';
  table += '<tr>';
	for (d = 0; d < 7; d++) table += '<th scope="col">' + dayNames[d] + '</th>';
	table += '</tr>';
	
	var days = getDaysInMonth(month, year);
	var firstDayDate = new Date(year, month - 1, 1);
	var firstDay = firstDayDate.getDay();
	
	var prev_m = month == 1 ? 11 : month - 1;
	var prev_y = prev_m == 12 ? year - 1 : year;
	var prev_days = getDaysInMonth(prev_m, prev_y);
	firstDay = (firstDay == 0 && firstDayDate) ? 7 : firstDay;
	
	for (j = 1; j < 38; j++)
	{
		if (j % 7 == 1) table += ('<tr>');
		if (j < firstDay) table += ('<td>&nbsp;</td>');
		else if (j >= firstDay + getDaysInMonth(month, year)) table += ('<td>&nbsp;</td>');
		else 
		{
			day = j - firstDay + 1;
			if (day < 10) day_string = '0' + day; else day_string = day;
			if (month < 10) month_string = '0' + month; else month_string = month;
			today = year + '-' + month_string + '-' + day_string;
			
			if (events[today] != null) 
				table += ('<td class="evento"><a href="#calendario-contenido" rel="' + today + '" type="day">' + day + '</a></td>');
			else
				table += ('<td>' + day + '</td>');
			
		}
		if (j % 7 == 0) table += ('</tr>');
	}
	table += ('</table>');
  
	return '<div class="calendario-numerico">' + header_table + table + '</div>';
}


function getDaysInMonth(month, year)
{
	var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	if ((month == 2) && (year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))) return 29;
	else return daysInMonth[month - 1];
}


