$(document).ready(function() {
    /* START date formatting in stats */
    var curr_date, new_date, month_num, temp, time;
    $('#main-stats table tr td.stat_date').each(function() {
        curr_date = $(this).text();
        if(curr_date) {
            curr_date = curr_date.split(" ");
            new_date = curr_date[0];
            new_date = new_date.split("-");
            month_num = new_date[1];
            switch(new_date[1]) {
                case '01': new_date[1] = 'Jan'; break;
                case '02': new_date[1] = 'Feb'; break;
                case '03': new_date[1] = 'Mar'; break;
                case '04': new_date[1] = 'Apr'; break;
                case '05': new_date[1] = 'May'; break;
                case '06': new_date[1] = 'Jun'; break;
                case '07': new_date[1] = 'Jul'; break;
                case '08': new_date[1] = 'Aug'; break;
                case '09': new_date[1] = 'Sep'; break;
                case '10': new_date[1] = 'Oct'; break;
                case '11': new_date[1] = 'Nov'; break;
                case '12': new_date[1] = 'Dec'; break;
            }
            temp = new_date[2];
            new_date[2] = new_date[0];
            new_date[0] = temp;
            time = curr_date[1];
            time = time.substring(0,5);
            $(this).html(new_date[0] + " " + new_date[1] + " " + new_date[2] + " " + time + "<input type='hidden' value='" + month_num + "' class='row_month'/>" + "<input type='hidden' value='" + new_date[2] + "' class='row_year'/>");
        }
    });
    /* END date formatting in stats */
    
	/* START date filtering in detailed stats */	
    $('#filter_months').change(function() {
        filterResults();
    });
    $('#filter_year').change(function() {
        filterResults();
    });

    function filterResults() {
        var curr_month = $('#filter_months').val();
        var curr_year = $('#filter_year').val();
        $('#main-stats table td.stat_date').each(function() {
            if(curr_month=='00' || curr_year=='0') {
            	if(curr_month=='00') 
                	if(curr_year=='0') $(this).parent('tr').show();
                else {
                  	if($(this).children('input.row_year').val()==curr_year)
                    	$(this).parent('tr').show();
                  	else 
                    	$(this).parent('tr').hide();
              	}
              	else {
                	if($(this).children('input.row_month').val()==curr_month)
                  		$(this).parent('tr').show();
                	else 
                  		$(this).parent('tr').hide();
              	}
            }
            else {
              	if($(this).children('input.row_month').val()==curr_month && $(this).children('input.row_year').val()==curr_year)
                	$(this).parent('tr').show();
              	else 
                	$(this).parent('tr').hide();
            }
        });
    };
	/* END date filtering in detailed stats */
	
	/* START date filtering in general stats */
	var value = $('#posted_date_from').val();
	if(value && value != '') {
		applySelection(value,'month_from','year_from','date_from');
	}
	
	var value = $('#posted_date_to').val();
	if(value && value != '') {
		applySelection(value,'month_to','year_to','date_to');
	}

	$('#month_from').change(function() {
		month_change('month_from','date_from');
	});
	
	$('#year_from').change(function() {
		year_change('year_from','date_from');
	});
	
	$('#month_to').change(function() {
		month_change('month_to','date_to');
	});
	
	$('#year_to').change(function() {
		year_change('year_to','date_to');
	});
	/* END date filtering in general stats */
	
	function month_change(month_id,date_id) {
		var month = $('#' + month_id).val();
		var date = $('#' + date_id).val();
		$('#' + date_id).val(date.substr(0,5) + month + date.substr(7));
	};
	function year_change(year_id,date_id) {
		var year = $('#' + year_id).val();
		var date = $('#' + date_id).val();
		$('#' + date_id).val(year + date.substr(4));
	};
	
	function applySelection(value,month_id,year_id,date_id) {
		$("#" + date_id).val(value);
		var month = value.substr(5,2);
		$("#" + month_id + " option").each(function() {
		    if($(this).val() == month)
		       $(this).attr('selected','selected');
		});
		var year = value.substr(0,4);
		$("#" + year_id + " option").each(function() {
		    if($(this).val() == year)
		       $(this).attr('selected','selected');
		});
	};
	
});