$(document).ready( function(event){
	
	
	var months = new Array(	"Januari",
						"Februari",
						"Mars",
						"April",
						"Maj",
						"Juni",
						"Juli",
						"Augusti",
						"September",
						"Oktober",
						"November",
						"December");

	
	var querters = new Array("Q1",
							 "Q2",
							 "Q3",
							 "Q4");
			
	setAvrageValueTbl();
	nextMonthAvalibleCheckAvrgTbl();
	prevMonthAvalibleCheckAvrgTbl();
	
	$(".avrageValueTbl .prevMonth").click( function() {
		
		var frekvenze = $(this).parents("table").attr('frekvenze');
		var currentMonth = $(this).parents("table").attr('month');
		var currentYear = $(this).parents("table").attr("year");
		
		currentMonth--;
		
		var lastMonth = (currentMonth-1);
		
		if(frekvenze == 1){
			if(lastMonth == 0)
				lastMonth = 4;
			if(currentMonth == 0){
				currentMonth = 4;
				lastMonth = 3;
				currentYear--;
				$(this).parents(".avrageValueTbl").attr('year', currentYear);
			}
			$(this).parents(".avrageValueTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(querters[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(querters[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		
		}
		else
		{
			if(lastMonth == 0)
				lastMonth = 12;
			if(currentMonth == 0){
				currentMonth = 12;
				lastMonth = 11;
				currentYear--;
				$(this).parents(".avrageValueTbl").attr('year', currentYear);
			}
			$(this).parents(".avrageValueTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(months[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		}
		
		updateAvrageValueTbl(this);
		prevMonthAvalibleCheckAvrgTbl();
		nextMonthAvalibleCheckAvrgTbl();

	});
	
	$(".avrageValueTbl .nextMonth").click( function() {
		
		var frekvenze = $(this).parents("table").attr('frekvenze');
		var currentMonth = $(this).parents("table").attr('month');
		var currentYear = $(this).parents("table").attr("year");
		
		currentMonth++;
		
		var lastMonth = (currentMonth-1);
		
		if(frekvenze == 1){
			if(lastMonth == 5)
				lastMonth = 1;
			if(currentMonth == 5){
				currentMonth = 1;
				currentYear++;
				$(this).parents(".avrageValueTbl").attr('year', currentYear);
			}
			$(this).parents(".avrageValueTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(querters[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(querters[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		}
		else
		{
			if(lastMonth == 13)
				lastMonth = 1;
			if(currentMonth == 13){
				currentMonth = 1;
				currentYear++;
				$(this).parents(".avrageValueTbl").attr('year', currentYear);
			}
			$(this).parents(".avrageValueTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(months[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		}
		
		updateAvrageValueTbl(this);
		prevMonthAvalibleCheckAvrgTbl();
		nextMonthAvalibleCheckAvrgTbl();

	});
	
	$(".avrageValueTbl .prevMonth").hover( function(){
		$(this).css('cursor','pointer');
	}, function() {
		$(this).css('cursor','auto');
	});
	
	$(".avrageValueTbl .nextMonth").hover( function(){
		$(this).css('cursor','pointer');
	}, function() {
		$(this).css('cursor','auto');
	});
	});


function addCommas(nStr) {
    nStr += '';
    var x = nStr.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

function deleteCommas(nStr) {
    nStr += '';
    return  nStr.replace(/,/g,'');;
}


function setAvrageValueTbl(){
	
	
	var omsattning = 0;
	var omsattningPrev = 0;
	
	$(".avrageValueTbl").find("div.currValue").each( function() {

		var name = $(this).parent().parent().find(".currValue").attr('name');
		var ukat_id = $(this).parent().parent().parent().parent().attr('ukat_id');
		var user_id = $(this).parent().parent().parent().parent().attr('user_id');
		var kgr = $(this).parent().parent().parent().parent().attr('kgr');
		var month = $(this).parent().parent().parent().parent().attr('month');
		var year = $(this).parent().parent().parent().parent().attr('year');
		
		
		
		//Sets multiplayer and divader of how low or high the value is allowed to be as %
		
		var relevant = 0;
		var that = this;
		var get_base = "true";
		
		$.post('ajax/getRelevantValue.lasso', {
				attrName : name,
				ukat_id : ukat_id,
				year : year,
				month : month,
				user_id : user_id,
				get_base : get_base,
				kgr : kgr
		}, function(data) {
			var splitData = data.split(",");
			
			relevant = parseInt(splitData[0]);
			if(name != "poster_text1"){
				if(omsattning > 0)
					$(that).html(parseInt(Math.round((relevant / omsattning) * 100)) + "%");
				else
					$(that).html("0%");
			}
			else
			{
				omsattning = relevant;
				$(that).html(addCommas(parseInt(relevant)) + ":-");
			}	
			$(that).parent().parent().parent().parent().find('.theBase').html("Baserat p&#229; antal f&#246;retag: " + splitData[1]);
			
			
			$.post('ajax/getRelevantValue.lasso', {
				attrName : name,
				ukat_id : ukat_id,
				year : year,
				month : month-1,
				user_id : user_id,
				kgr : kgr
			}, function(data) {
				
				relevant = parseInt(data);
				if(name != "poster_text1"){
					if(omsattningPrev > 0)
						$(that).parent().parent().find(".prevValue").html(Math.round((relevant / omsattningPrev) * 100) + "%");
					else
						$(that).parent().parent().find(".prevValue").html("0%");
				}
				else
				{
					omsattningPrev = relevant;
					$(that).parent().parent().find(".prevValue").html(addCommas(relevant) + ":-");
				}	
				
			});
			
			
			
			
		});
		
	});
}


function updateAvrageValueTbl(that){
	
	
	
	var omsattning = 0;
	var omsattningPrev = 0;
	
	$(that).parents(".avrageValueTbl").find("div.currValue").each( function() {


		var name = $(this).parent().parent().find(".currValue").attr('name');
		var ukat_id = $(this).parent().parent().parent().parent().attr('ukat_id');
		var user_id = $(this).parent().parent().parent().parent().attr('user_id');
		var kgr = $(this).parent().parent().parent().parent().attr('kgr');
		var month = $(this).parent().parent().parent().parent().attr('month');
		var year = $(this).parent().parent().parent().parent().attr('year');
		var frekvenze = $(this).parent().parent().parent().parent().attr('year');
		
		
		
		//Sets multiplayer and divader of how low or high the value is allowed to be as %
		
		var relevant = 0;
		var that = this;
		
		$.post('ajax/getRelevantValue.lasso', {
				attrName : name,
				ukat_id : ukat_id,
				year : year,
				month : month,
				user_id : user_id,
				frekvenze : frekvenze,
				get_base : 'true',
				kgr : kgr
		}, function(data) {
			
			relevant = parseInt(data.split(',')[0]);
			if(name != "poster_text1"){
				if(omsattning > 0)
					$(that).html(Math.round((relevant / omsattning) * 100) + "%");
				else
					$(that).html("0%");
			}
			else
			{
				omsattning = relevant;
				$(that).html(addCommas(relevant) + ":-");
			}

			$(that).parent().parent().parent().parent().find('.theBase').html("Baserat p&#229; antal f&#246;retag: " + data.split(',')[1]);			
				
			$.post('ajax/getRelevantValue.lasso', {
				attrName : name,
				ukat_id : ukat_id,
				year : year,
				month : month-1,
				user_id : user_id,
				frekvenze : frekvenze,
				kgr : kgr
			}, function(data) {
				
				relevant = parseInt(data);
				if(name != "poster_text1"){
					if(omsattningPrev > 0)
						$(that).parent().parent().find(".prevValue").html(Math.round((relevant / omsattningPrev) * 100) + "%");
					else
						$(that).parent().parent().find(".prevValue").html("0%");
				}
				else
				{
					omsattningPrev = relevant;
					$(that).parent().parent().find(".prevValue").html(addCommas(relevant) + ":-");
				}	
			});
		});
		
		
		
		
	});
}

function nextMonthAvalibleCheckAvrgTbl(){
	
	var currentDate = new Date();
	var month = currentDate.getMonth()+1;
	var year = currentDate.getFullYear();
	$('.avrageValueTbl .nextMonth').each( function() {
		var frekvenze = $(this).parents(".avrageValueTbl").attr('frekvenze');
		var tblMonth = $(this).parents(".avrageValueTbl").attr('month');
		var tblYear = $(this).parents(".avrageValueTbl").attr('year');
		
		if(frekvenze == 1){
			if(tblMonth == 1 && month > 0  && month < 4 && tblYear >= year)
				$(this).css('visibility','hidden');
			else if(tblMonth == 2 && month > 3 && month < 7 && tblYear >= year)
				$(this).css('visibility','hidden');
			else if(tblMonth == 3 && month > 6 && month < 10 && tblYear >= year)
				$(this).css('visibility','hidden');
			else if(tblMonth == 4 && month > 9 && tblYear >= year)
				$(this).css('visibility','hidden');
			else
				$(this).css('visibility','visible');
				
		}
		else
		{
			if(tblMonth >= month && tblYear >= year)
				$(this).css('visibility','hidden');
			else
				$(this).css('visibility','visible');
		}
	});
	
	

}


function prevMonthAvalibleCheckAvrgTbl(){
	
	$('.avrageValueTbl .prevMonth').each( function() {
		var tblMonth = $(this).parents(".avrageValueTbl").attr('month');
		var tblYear = $(this).parents(".avrageValueTbl").attr('year');
			
		if(tblMonth <= 1 && tblYear <= 2010)
			$(this).css('visibility','hidden');
		else
			$(this).css('visibility','visible');
			
	});
}


