﻿$(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");
	
	
	initInfoButton();
	updateReportTbl();
	checkValidValue();
	
	
	$(".reportTbl .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(".reportTbl").attr('year', currentYear);
			}
			$(this).parents(".reportTbl").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(".reportTbl").attr('year', currentYear);
			}
			$(this).parents(".reportTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(months[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		}
		updateReportTbl(false);
		prevMonthAvalibleCheck();
		nextMonthAvalibleCheck();
	});
	
	$(".reportTbl .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(".reportTbl").attr('year', currentYear);
			}
			$(this).parents(".reportTbl").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(".reportTbl").attr('year', currentYear);
			}
			$(this).parents(".reportTbl").attr('month', currentMonth);
			
			$(this).siblings(".lastMonth").html(months[(lastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(currentMonth-1)]);
			$(this).siblings(".currentYear").find("div").html(currentYear);
		}
		updateReportTbl(false);
		prevMonthAvalibleCheck();
		nextMonthAvalibleCheck();
	});
	
	$(".report_submit").click( function(){
		$(this).html('<img src="images2/ok.gif" alt="" style="position: absolute; top: 4px; left: -20px;"/> <img alt="SPARA" src="images2/puff-knapp-spara.png" border="0"/>')
	});
	
	$(".report_submit").hover( function(){
		$(this).css('cursor','pointer');
	}, function() {
		$(this).css('cursor','auto');
	});
	
	$(".reportTbl .prevMonth").hover( function(){
		$(this).css('cursor','pointer');
	}, function() {
		$(this).css('cursor','auto');
	});
	
	prevMonthAvalibleCheck();
	
	$(".reportTbl .nextMonth").hover( function(){
		$(this).css('cursor','pointer');
	}, function() {
		$(this).css('cursor','auto');
	});
	
	
	nextMonthAvalibleCheck();
});

function updateReportTbl(noClean){
	$(".reportTbl").each( function(){
		var ukat_id = $(this).attr('ukat_id');
		var user_id = $(this).attr('user_id');
		var month = $(this).attr('month');
		var year = $(this).attr('year');
		var frekvenze = $(this).attr('frekvenze');
		if(month < 10) 
			month = "0" + month;
			
		var that = this;
		$.post('ajax/getReport.lasso', { ukat_id: ukat_id, user_id: user_id, year: year, month: month, frekvenze : frekvenze  }, function(data){
			
			var posts = data.split(",");
			var i = 0;
			$(that).find("input").each( function(){
					if(posts[i] != "" && parseInt(posts[i]) > 0){
						posts[i] = posts[i];
						$(this).attr("value",posts[i]);
					}
					else
						$(this).attr("value",'');
				i++;
			});
			
		});
				
		month--;
		if(frekvenze == 1){
			if(month == 0){
				month = 4;
				year--;
			}
		}
		else
		{
			if(month == 0){
				month = 12;
				year--;
			}
		}
		
		$.post('ajax/getReport.lasso', { ukat_id: ukat_id, user_id: user_id, year: year, month: month, frekvenze : frekvenze }, function(data){
			
			var posts = data.split(",");
			var i = 0;
			$(that).find("div.prevReport").each( function(){
				if(posts[i] != "" && parseInt(posts[i]) > 0){
					posts[i] = posts[i];
					$(this).html(posts[i]);
				}
				else
					$(this).html('');
				i++;
			});
			if(noClean != true)
				cleanStatus(that);
				
			updateMonthValues();
			markInvalidValue();
		});	
	});	
}

function checkValidValue(){
	
	$(".reportTbl input").change( function() {
		
		var name = $(this).parent().parent().find("input").attr('name');
		var value = parseInt($(this).attr('value'));
		var lastValue = parseInt($(this).parent().siblings().find(".prevReport").html());
		var ukat_id = $(this).parent().parent().parent().parent().attr('ukat_id');
		var kat_id = $(this).parent().parent().parent().parent().attr('kat_id');
		var user_id = $(this).parent().parent().parent().parent().attr('user_id');
		var kunder_id = $(this).parent().parent().parent().parent().attr('kunder_id');
		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('frekvenze');
		
		if(value > 0){
			if($(this).attr("name") == "poster_text1"){

				
				
					var lastValue = parseInt($(this).parents("tr").find(".prevReport").html());
					var lastValueTop = lastValue * 1.30;
					var lastValueBot = lastValue * 0.70;
					var currentValue = parseInt($(this).attr("value"));
						
					if(currentValue < lastValueBot || currentValue > lastValueTop){
						
						updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
						
						if(currentValue == 0)
									currentValue = '';
									
						if($(this).parents("tr").find(".prevReport").html() != ""){
						
							$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
							$(this).parent().parent().find("input").css('color','#dc3d12');
							$(this).parent().parent().find("input").attr("value",currentValue);
						}
						else
						{
							$(this).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
							$(this).parent().parent().find("input").css('color','#000000');
							$(this).parent().parent().find("input").attr("value",currentValue);
						}
						
					}
					else
					{	
						updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
						
						if(currentValue == 0)
									currentValue = '';
						
						$(this).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
						$(this).parent().parent().find("input").css('color','#000000');
						$(this).parent().parent().find("input").attr("value",currentValue);
					}
					
			}
			
			
			if($(this).attr("name") == "poster_text2" || $(this).attr("name") == "poster_text3"){
					
				var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
				var lastValueTop = lastValue * 0.70;
				var lastValueBot = lastValue * 0.15;
				var currentValue = parseInt($(this).attr("value"));
					
				if(currentValue < lastValueBot || currentValue > lastValueTop){
				
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
					
					$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#dc3d12');
					
						if(currentValue == 0)
									currentValue = '';
						
					$(this).parent().parent().find("input").attr("value",currentValue);
				}
				else
				{
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
				
				
					$(this).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#000000');
					
						if(currentValue == 0)
									currentValue = '';
						
					$(this).parent().parent().find("input").attr("value",currentValue);
				}
			}
			
			if($(this).attr("name") == "poster_text4" || $(this).attr("name") == "poster_text5" || $(this).attr("name") == "poster_text6"){
				
				var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
				var lastValueTop = lastValue * 0.15;
				var lastValueBot = lastValue * 0.00;
				var currentValue = parseInt($(this).attr("value"));
					
				if(currentValue < lastValueBot || currentValue > lastValueTop){
					
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
					
					$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#dc3d12');
					
						if(currentValue == 0)
									currentValue = '';
									
					$(this).parent().parent().find("input").attr("value",currentValue);
					
					
				}
				else
				{
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
				
				
					$(this).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#000000');
					
						if(currentValue == 0)
									currentValue = '';
									
					$(this).parent().parent().find("input").attr("value",currentValue);
				}
			}
			
			if($(this).attr("name") == "poster_text7"){
				
				var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
				var lastValueTop = lastValue * 0.30;
				var lastValueBot = lastValue * -0.10;
				var currentValue = parseInt($(this).attr("value"));
					
				if(currentValue < lastValueBot || currentValue > lastValueTop){
				
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
					
					$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#dc3d12');
					
						if(currentValue == 0)
									currentValue = '';
					
					$(this).parent().parent().find("input").attr("value",currentValue);
				}
				else
				{
					updateValue(currentValue, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
				
				
					$(this).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
					$(this).parent().parent().find("input").css('color','#000000');
					
						if(currentValue == 0)
									currentValue = '';
					
					$(this).parent().parent().find("input").attr("value",currentValue);
				}
			}
		}
		// 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-1,
				user_id : user_id
		}, function(data) {


			relevant = parseInt(data);
			var multiple = 2 * relevant;
			var divider = 0.5 * relevant;
		
		
		
		if(lastValue != 0 && !isNaN(value) && value != 0 && !isNaN(value)){
			if(value > multiple || value < divider){
				$(that).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
				$(that).parent().parent().find("input").css('color','#dc3d12');
				$(that).parent().parent().find("input").attr("value",value);
				
				updateValue(value, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
			}
			else
			{
				updateValue(value, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
				
				
				$(that).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
				$(that).parent().parent().find("input").css('color','#000000');
				$(that).parent().parent().find("input").attr("value",value);
			}
		}
		else
		{
			if(lastValue == 0 && value > 0){
			
		
				updateValue(value, name, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze);
		
				$(that).parent().parent().find("td.isok").html("<img src='images2/ok.gif' alt='' />");
				$(that).parent().parent().find("input").css('color','#000000');
				$(that).parent().parent().find("input").attr("value",value);
			}	
		}
		
		});
		*/
		
	});
	
}

function cleanStatus(that){

	$(that).parents("table").find(".isok").each( function(){
		$(this).html("");
	});
	
	$(that).find("input").css('color','#000000');
	
}

function updateValue(newValue, attrName, ukat_id, kat_id, user_id, kunder_id, month, year, frekvenze){

	$.post('ajax/updateReport.lasso', {
			newValue: newValue,
			attribute : attrName,
			kat_id : kat_id,
			ukat_id : ukat_id,
			user_id : user_id,
			kunder_id : kunder_id,
			year : year,
			month : month,
			frekvenze : frekvenze
	}, function(data){
		updateReportTbl(true);
	});
}

/*
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;
		
	return nStr;
}
*/

/*
function deleteCommas(nStr) {
    nStr += '';
    nStr.replace(/,/g,'');;
	
	nStr.replace(/,/g,'');;
	
	if(nStr == '0')
		nStr = '';
	
	return nStr;
}
*/

function markInvalidValue(){
		
		$(".reportTbl").find("input").each( function() {
			
			if(parseInt($(this).val()) > 0){ 
		
			
				if($(this).attr("name") == "poster_text1" && parseInt($(this).parents("tr").find(".prevReport").html()) > 0){
					
					var lastValue = parseInt($(this).parents("tr").find(".prevReport").html());
					var lastValueTop = lastValue * 1.30;
					var lastValueBot = lastValue * 0.70;
					var currentValue = parseInt($(this).attr("value"));
						
					if(currentValue < lastValueBot || currentValue > lastValueTop){
						if($(this).parent().parent().find("td.isok").html() != "<img src='images2/bad.gif' alt='' />"){
							$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
							$(this).parent().parent().find("input").css('color','#dc3d12');
							
							if(currentValue == 0)
								currentValue = '';
								
							$(this).parent().parent().find("input").attr("value",currentValue);
						}
					}
					else
					{
						$(this).parent().parent().find("input").css('color','#000000');
					}
				}
				
				if(($(this).attr("name") == "poster_text2" || $(this).attr("name") == "poster_text3") && $(this).parents("tr").find(".prevReport").html() != "" ){
					
					
						var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
						var lastValueTop = lastValue * 0.70;
						var lastValueBot = lastValue * 0.15;
						var currentValue = parseInt($(this).attr("value"));
							
						if(currentValue < lastValueBot || currentValue > lastValueTop){
							if($(this).parent().parent().find("td.isok").html() != "<img src='images2/bad.gif' alt='' />"){
								$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
								$(this).parent().parent().find("input").css('color','#dc3d12');
								
								if(currentValue == 0)
									currentValue = '';
								
								$(this).parent().parent().find("input").attr("value",currentValue);
							}
						}
						else
						{
							$(this).parent().parent().find("input").css('color','#000000');
						}
					
				}
				
				if(($(this).attr("name") == "poster_text4" || $(this).attr("name") == "poster_text5" || $(this).attr("name") == "poster_text6") && $(this).parents("tr").find(".prevReport").html() != ""){
					
					var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
					var lastValueTop = lastValue * 0.15;
					var lastValueBot = lastValue * 0.00;
					var currentValue = parseInt($(this).attr("value"));
						
					if(currentValue < lastValueBot || currentValue > lastValueTop){
						if($(this).parent().parent().find("td.isok").html() != "<img src='images2/bad.gif' alt='' />"){
							$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
							$(this).parent().parent().find("input").css('color','#dc3d12');
							
							if(currentValue == 0)
									currentValue = '';
							
							$(this).parent().parent().find("input").attr("value",currentValue);
						}
					}
					else
					{
						$(this).parent().parent().find("input").css('color','#000000');
					}
				}
				
				if($(this).attr("name") == "poster_text7" && $(this).parents("tr").find(".prevReport").html() != ""){
					
					var lastValue = parseInt($(this).parents("table").find("input[name=poster_text1]").attr("value"));
					var lastValueTop = lastValue * 0.30;
					var lastValueBot = lastValue * -0.10;
					var currentValue = parseInt($(this).attr("value"));
						
					if(currentValue < lastValueBot || currentValue > lastValueTop){
						if($(this).parent().parent().find("td.isok").html() != "<img src='images2/bad.gif' alt='' />"){
							$(this).parent().parent().find("td.isok").html("<img src='images2/bad.gif' alt='' />");
							$(this).parent().parent().find("input").css('color','#dc3d12');
							
							if(currentValue == 0)
									currentValue = '';
							
							$(this).parent().parent().find("input").attr("value",currentValue);
						}
					}
					else
					{
						$(this).parent().parent().find("input").css('color','#000000');
					}
				}
			}
		
	});
}

function nextMonthAvalibleCheck(){
	
	var currentDate = new Date();
	var month = currentDate.getMonth()+1;
	var year = currentDate.getFullYear();
	$('.reportTbl .nextMonth').each( function() {
		var frekvenze = $(this).parents(".reportTbl").attr('frekvenze');
		var tblMonth = $(this).parents(".reportTbl").attr('month');
		var tblYear = $(this).parents(".reportTbl").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 prevMonthAvalibleCheck(){
	
	$('.reportTbl .prevMonth').each( function() {
		var tblMonth = $(this).parents(".reportTbl").attr('month');
		var tblYear = $(this).parents(".reportTbl").attr('year');
		
		if(tblMonth <= 1 && tblYear <= 2010)
			$(this).css('visibility','hidden');
		else
			$(this).css('visibility','visible');
	});
}


function initInfoButton(){
	$(".informationButton").hover( function() {
		$(this).siblings(".informationArea").slideDown();	
	}, function() {
		$(this).siblings(".informationArea").slideUp();
	});
}

function updateMonthValues (){

		var querters = new Array("Q1",
							 "Q2",
							 "Q3",
							 "Q4");
							 
		var months = new Array(	"Januari",
						"Februari",
						"Mars",
						"April",
						"Maj",
						"Juni",
						"Juli",
						"Augusti",
						"September",
						"Oktober",
						"November",
						"December" );
	
	$('.reportTbl .nextMonth').each( function() {
		
		var frekvenze = $(this).parents(".reportTbl").attr('frekvenze');
		var tblMonth = $(this).parents(".reportTbl").attr('month');
		var tblYear = $(this).parents(".reportTbl").attr('year');
		var tblLastMonth = $(this).parents(".reportTbl").attr('month')-1;
		
		
		if(frekvenze == 1){
			if(tblLastMonth <= 0)
				tblLastMonth = 4;
			
			$(this).siblings(".lastMonth").html(querters[(tblLastMonth-1)]);	
			$(this).siblings(".currentMonth").html(querters[(tblMonth-1)]);
		}
		else
		{
			if(tblLastMonth <= 0)
				tblLastMonth = 12;
			
			$(this).siblings(".lastMonth").html(months[(tblLastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(tblMonth-1)]);
		}
	
	});
	
	$('.reportTbl .prevMonth').each( function() {
	
		var frekvenze = $(this).parents(".reportTbl").attr('frekvenze');
		var tblMonth = $(this).parents(".reportTbl").attr('month');
		var tblYear = $(this).parents(".reportTbl").attr('year');
		var tblLastMonth = $(this).parents(".reportTbl").attr('month')-1;
		
		
		if(frekvenze == 1){
			if(tblLastMonth <= 0)
				tblLastMonth = 4;
			
			$(this).siblings(".lastMonth").html(querters[(tblLastMonth-1)]);	
			$(this).siblings(".currentMonth").html(querters[(tblMonth-1)]);
		}
		else
		{
			if(tblLastMonth <= 0)
				tblLastMonth = 12;
			
			$(this).siblings(".lastMonth").html(months[(tblLastMonth-1)]);	
			$(this).siblings(".currentMonth").html(months[(tblMonth-1)]);
		}
	
	});

}
