﻿var DiagramChangerSettings = { "groupa":"","groupb":"","latestSelected":"" };

function updateChart(oForm, Diagramdata, sLocation, Caption, lang, diagramID) {
    if (!lang)
    {
        lang='SV';
    }
	var DiagramSelector = "";
    var EndValue = parseInt(document.getElementById('chartto' + diagramID).value);
    var StartValue = parseInt(document.getElementById('chartfrom' + diagramID).value);
    if (EndValue <= StartValue) {
        alert('Du kan inte välja ett slutår som ligger efter startåret!');
        return;
    }
    var sColumns = "";
    s2 = document.getElementById(diagramID + 'serieselect2_' + diagramID);
    if (s2 != null) {
        s3 = document.getElementById(diagramID + 'serieselect3_' + diagramID);
        sColumns = '&columns' + diagramID + '=,1,' + s2.value + ',' + s3.value +',';

    }
    
	if(DiagramChangerSettings.latestSelected.length != 0) {
		DiagramSelector = "&diagroupa=" + DiagramChangerSettings.groupa + "&diagroupb=" + DiagramChangerSettings.groupb + "&currentDia=" + DiagramChangerSettings.latestSelected;
	}
	
	EndValue = document.getElementById('chartto' + diagramID).value;
    StartValue = document.getElementById('chartfrom' + diagramID).value;
    var loc = sLocation + "?from" + diagramID + "=" + StartValue + "&to" + diagramID + "=" + EndValue;
    loc = loc + sColumns + DiagramSelector; 
    location.href = loc;
}

function printPreview(Diagramdata, Charttype, diagramID) {
	var sColumns = "";
	s2 = document.getElementById(diagramID + 'serieselect2_' + diagramID);
	if (s2 != null) {
	    s3 = document.getElementById(diagramID + 'serieselect3_' + diagramID);
		sColumns = '&columns' + diagramID + '=,1,' + s2.value + ',' + s3.value + ',';
	}
    if (Charttype != "linjediagram")
        window.open('/printDiagram.aspx?pid=' + Diagramdata, '_blank');
    else
        window.open('/printDiagram.aspx?pid=' + Diagramdata + '&from' + diagramID + '=' + document.getElementById('chartfrom' + diagramID).value + '&to' + diagramID + '=' + document.getElementById('chartto' + diagramID).value + sColumns, '_blank');
}

function printchart2(u, diagramID) {
	sColumns = "";
	s2 = document.getElementById(diagramID + 'serieselect2_' + diagramID);
	if (s2 != null) {
	    s3 = document.getElementById(diagramID + 'serieselect3_' + diagramID);
		sColumns = '&columns' + diagramID + '=,1,' + s2.value + ',' + s3.value + ',';
	}
	if (document.getElementById('chartfrom' + diagramID) != null) {
		window.open(u + '&from' + diagramID + '=' + document.getElementById('chartfrom' + diagramID).value + '&to' + diagramID + '=' + document.getElementById('chartto' + diagramID).value + sColumns, '_blank');
	} else {
		window.open(u, '_blank');
	}
}

(function ($) {
    $.fn.ChangeDiagram = function () {
        if(this && $(this) && $(this).length > 0)
		{
			var radioButton = $(this);
			var radioButtonVal = radioButton.val();
			var diagramId = radioButton.val();
			var tableId = radioButton.val();

			var radioButtons = $('#DiagramFilter input:radio');
			
			var radioButtonCount = radioButtons.length;
			var selectedRadioButtons = new Array;

			for (var i = 0; i < radioButtons.length; i++) 
			{
				if ($(radioButtons[i]).attr('checked'))
				{
					selectedRadioButtons.push(i);
				}
			}

			if (selectedRadioButtons.length == 2)
			{
				if (selectedRadioButtons[0] == 0 && selectedRadioButtons[1] == 2)
				{
					diagramId = "diagram_1";
					tableId = "diagram_1";
				}
				if (selectedRadioButtons[0] == 0 && selectedRadioButtons[1] == 3)
				{
					diagramId = "diagram_2";
					tableId = "diagram_2";
				}
				if (selectedRadioButtons[0] == 1 && selectedRadioButtons[1] == 2)
				{
					diagramId ="diagram_4";
					tableId = "diagram_4";
				}
				if (selectedRadioButtons[0] == 1 && selectedRadioButtons[1] == 3)
				{
					diagramId = "diagram_3";
					tableId = "diagram_3";
				}
			}

			var diagramElements = $('#main-content').find('.changable-diagram');
			
			if(radioButtonVal=='diagram_1' || radioButtonVal=='diagram_2') //groupa
			{
				DiagramChangerSettings.groupa = radioButtonVal;
			}
			else { DiagramChangerSettings.groupb = radioButtonVal; }
			DiagramChangerSettings.latestSelected = radioButtonVal;
			

			radioButton.closest('table').find('td').removeClass('selected');
			radioButton.closest('td').addClass('selected');

			jQuery.each(diagramElements, function() {
			  if ($(this).attr('id') == diagramId || $(this).attr('id') == tableId.replace("diagram_", "table_"))
				{
					if($(this).hasClass('default-hidden'))
					{
						$(this).removeClass('default-hidden');
					}

				}
				else if (!$(this).hasClass('default-hidden'))
				{
					$(this).addClass('default-hidden');
				}
		   });
		}
    };

	

})(jQuery);

jQuery(document).ready(function($)
{
	if($('#DiagramFilter').length > 0)
	{
		if(document.location.href.indexOf("currentDia") > 0)
		{
			var DiagramFilterWrap = $('#DiagramFilter');
			var h = document.location.href;
			var diagroupa = /diagroupa\=([\w\W]+?)\&/ig.exec(h);
			var diagroupb = /diagroupb\=([\w\W]+?)\&/ig.exec(h);
			var currentDia = /currentDia\=([\w\W]+$)/ig.exec(h);

			diagroupa = (diagroupa && diagroupa[1]) ? diagroupa[1] : "";
			diagroupb = (diagroupb && diagroupb[1]) ? diagroupb[1] : "";
			currentDia = (currentDia && currentDia[1]) ? currentDia[1] : "";

			//console.log(DiagramFilterWrap.find('table:eq(0)').find('input').removeProp('checked').filter("input[value = '"+diagroupa+"']"))
				//.find("input[value = '"+diagroupa+"']").attr('checked','checked').siblings("input").removeAttr('checked').end()
				//.find("input[value = '"+diagroupb+"']").attr('checked','checked').siblings("input").removeAttr('checked').end()

			DiagramFilterWrap
				.find("input[value = '"+diagroupa+"']").click().end()
				.find("input[value = '"+diagroupb+"']").click().end()
				.find("input[value = '"+currentDia+"']").click();

			/*DiagramFilterWrap
				.find('table:eq(0)').find('input').removeProp('checked').filter("input[value = '"+diagroupa+"']").attr('checked','checked').end()
				.find('table:eq(1)').find('input').removeProp('checked').filter("input[value = '"+diagroupb+"']").attr('checked','checked').end()
				.find("input[value = '"+currentDia+"']").click();
				console.log(DiagramFilterWrap.find("input[value = '"+diagroupb+"']"))
				*/
		}
		$('#DiagramFilter')
			.find('td').removeClass('selected').filter(':last-child').addClass('last').end()
			.find('input:checked').parent().addClass('selected');
	}
});
