if (window.console == undefined) {
	window.console = { log: function() { }, dir: function() { } };
}

function loadCategory(anchor) {
	if ($('.eventdetalj').length) {
		$('.eventdetalj').fadeOut();
		$('#eventholder').removeClass('detalj');
	}
	url = $(anchor).attr('href');
	toggleActiveCategory(anchor);
	$('#eventholder').fadeOut(300 ,function() {
		$('#kalenderspinner').show()
	    $('#eventholder').load(url + ' #eventholder >*', {}, updateCalendar);
	});
	return false; // stop href
}

function loadCategoryInBackground(anchor) {
	url = $(anchor).attr('href');
	toggleActiveCategory(anchor);
	$.get(url, {}, function(data) {
		data = $(data).find('#eventholder >*');
		$('#eventholder').prepend(data);
		updateCalendar();
	});
}

function toggleActiveCategory(anchor) {
	li = $(anchor).parent();
	$(li).addClass('aktiv');
	$(li).siblings().removeClass('aktiv').addClass('kalkat_alle');
}

function loadDetails(anchor) {
	$('.eventdetalj').remove();
	url = $(anchor).attr('href');
	$.get(url, {}, function(data) {
		$('#eventholder').append(data);
		$('.eventdetalj').fadeIn();
	});
	return false;
}

var conf = {perPage: 6, perRow: 2, itemHeight: 135 , perCol: 3};
var currentPage = 1;
var totalPages = null;
var divCount = null;
var blnCanIAnimate = true;



function updatePagination() {

            var ensidehoyde = conf.itemHeight * conf.perCol  ;
            var totalhoyde = $('#eventholder').height()  ;
            var antallsider = Math.ceil(totalhoyde / ensidehoyde) + 1   ;

	if (divCount == null) {
		divCount = $('#eventholder div.event').length;
	}
	//console.log(divCount, 'divCount');
	//console.log(Math.abs(parseInt(newOffset)), 'Math.abs(parseInt(newOffset)');
	//console.log(newOffset, 'newOffset');
	//console.log(conf.itemHeight * (conf.perPage / conf.perRow), '(conf.itemHeight * (conf.perPage / conf.perRow))');

	//totalPages = Math.ceil(divCount / conf.perPage) + 1;
	totalPages = antallsider;
	currentPage = Math.ceil(Math.abs(parseInt(newOffset)) / (conf.itemHeight * (conf.perPage / conf.perRow)) + 1);

	//console.log(currentPage, 'updatePagination');

	$('#pg_current').text(currentPage);
	$('#pg_total').text(totalPages);
}

function updateCalendar() {
	topevent_id = $('#eventholder').children(':first').attr('id');
	date = $.datepicker.parseDate('M-dd-yy', topevent_id);
	$("#datepicker").datepicker('setDate', date);
	$('#eventholder').css('marginTop', 0);
	$('#eventholder').fadeIn(600);
	$('#kalenderspinner').hide();
	divCount = null;
	newOffset = 0;
	updatePagination();
}

var newOffset = 0;
function calendarClick(strDate) {
	if ($('.eventdetalj').length) {
		$('.eventdetalj').fadeOut();
	}
	divSelector = '#' + strDate + '-1';
	contTop = $('#eventholder').offset().top;
	etop = $(divSelector).offset().top;
	newOffset = (contTop - etop)  + 'px';
	$('#eventholder').animate({marginTop: newOffset }, 1000);
	//$('#eventholder').css('marginTop', newOffset);
	updatePagination();
}

function pagePrev() {
	if (currentPage < 2) return;
	if(blnCanIAnimate){
	             blnCanIAnimate = false;
                	goToTheRightPage(1);
                	currentPage--;
                	pageChange();
	}
	//console.log(currentPage, 'pagePrev');
}

function pageNext() {0
	if (currentPage >= totalPages) return;
	if(blnCanIAnimate){
	             blnCanIAnimate = false;
                	goToTheRightPage(0);
                	currentPage++;
                	pageChange();
	}
	//console.log(currentPage, 'pageNext');

}

// alis manipulasjon
function goToTheRightPage(pm){
    var ensidehoyde = conf.itemHeight * conf.perCol  ;
    var totalhoyde = $('#eventholder').height()  ;
    var antallsider = totalhoyde / ensidehoyde   ;
    var marginTop = $('#eventholder').css('marginTop').replace(/px/, '').replace(/-/, '');
    var beregnetPage = (Math.floor(( marginTop -  totalhoyde ) / ensidehoyde)  + antallsider + 1)  ;

    if(pm == 0 ){
        newOffset = (marginTop * -1) - ensidehoyde  ;
    }
    else{
        newOffset = (marginTop * -1)   + ensidehoyde  ;
    }
    $('#eventholder').animate({marginTop: newOffset }, 1000 , function(){
        blnCanIAnimate = true ;
            });

    //console.log('pm:' +  pm + ' ' +  beregnetPage + ' av ' + antallsider  + ' margin-top:'  + marginTop + 'new offset: ' + newOffset + ' ensidehoyde: ' + ensidehoyde , 'ali tester');
}

function pageChange() {

	//newOffset = -((currentPage - 1) * (conf.itemHeight * (conf.perPage / conf.perRow))) + 'px';
	//$('#eventholder').animate({marginTop: newOffset }, 1000);
	//$('#eventholder').css('marginTop', newOffset);
	updatePagination();
	if ($('.eventdetalj').length) {
		$('.eventdetalj').fadeOut();
	}
}

function checkIfEventExistsOnDate(date) {
	divSelector = '#' + $.datepicker.formatDate('M-dd-yy', date) + '-1';
	if (!$(divSelector).length) {
		return [false, ''];
	}
	return [true, ''];
}
