HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/barbeatleanalyti/public_html/manage.beatleanalytics.com/theme/black/page/chart/chart.js
 $(".connectedSortable, .box-header, .connectedSortable .nav-tabs-custom").css("cursor", "move");

 $('#ReportDate').daterangepicker({format: 'DD/MM/YYYY',maxDate: new Date()});
 $('#LeaveReportDate').daterangepicker({format: 'DD/MM/YYYY',maxDate: new Date()});
 
 $('#LoginDate').datepicker({format: 'dd-mm-yyyy',maxDate: new Date()});
 
 $('.MonthView').datepicker( { format: 'mm-yyyy', viewMode: "months", minViewMode: "months", showDropdowns: false});

 $('#ChartEmployee').select2();
 $('#LeaveEmployee').select2();
 $('#SalaryEmpReport').select2();
 $('.multipleselect').select2();
 
$("#sortable1, #sortable2, #sortable3").sortable({
   placeholder: "sort-highlight",
    connectWith: ".connectedSortable",
    handle: ".box-header, .nav-tabs",
    forcePlaceholderSize: true,
    zIndex: 999999,
	update: function(){
	var LeftData = $("#sortable1").sortable('toArray').toString();
	var RightData = $("#sortable2").sortable('toArray').toString();
	var BottomData = $("#sortable3").sortable('toArray').toString();
	
	ChangeChartPostion(LeftData,RightData,BottomData);
	}
});


function ChangeChartPostion(LeftData,RightData,BottomData){
	

	if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttpBoxChange=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpBoxChange=new ActiveXObject("Microsoft.XMLHTTP");
		}	
	 	xmlhttpBoxChange.onreadystatechange=function() {
			if (xmlhttpBoxChange.readyState==4 && xmlhttpBoxChange.status==200)
			{
				// var Respose = eval(xmlhttpBoxChange.responseText);
			}
	}
	xmlhttpBoxChange.open("GET","ajax/news.php?data="+base64_encode("acn=ChangeChartBoxPosition&pg=dashbordma&BoxLeft="+LeftData+"&BoxRight="+RightData+"&BoxBottom="+BottomData),true);
	xmlhttpBoxChange.send();
  	
	}


  $(".setbox").click(function(e) {
   var ID = $(this).attr('for').valueOf();
   var BoxPosition = "open";
   if($("#"+ID).hasClass('fa-minus') == true){
	 BoxPosition = "close";
   }
  
  
  if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttpSetting=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpSetting=new ActiveXObject("Microsoft.XMLHTTP");
		}	
	 	xmlhttpSetting.onreadystatechange=function() {
			if (xmlhttpSetting.readyState==4 && xmlhttpSetting.status==200)
			{
				// var Respose = eval(xmlhttpSetting.responseText);
			}
	}
	xmlhttpSetting.open("GET","ajax/news.php?data="+base64_encode("acn=ChangeChartPosition&pg=dashbordma&SelectedValue="+ID+"&val1="+BoxPosition),true);
	xmlhttpSetting.send();
		
  });
		
$("#GenerateReport").click(function(e) {
	GenerateTicketReport();
	
});

$(window).load(function(e) {
	GenerateTicketReport();
});
 
 
function GenerateTicketReport(){

var ReportDate =  $("#ReportDate").val();

 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpChart=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpChart=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpChart.onreadystatechange=function() {
			if (xmlhttpChart.readyState==4 && xmlhttpChart.status==200)
			{
		var CollectedData = eval(xmlhttpChart.responseText);
				var ReportDuration = CollectedData[5][0]+' to '+CollectedData[5][1]
				if(CollectedData[5][0] == CollectedData[5][1]){
					var ReportDuration = CollectedData[5][0];
				}
		
			$("#ErrorMsgTicket").html('<h4 style="line-height:26px;"><strong>Date between </strong> <br />'+ReportDuration+' </h4>');
			$("#TicketManageMain").fadeIn();
		
		
		//var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
       var randomScalingFactor = function() {
            return Math.round(Math.random() * 100 * (Math.random() > 0.5 ? -1 : 1));
       };
       var randomColorFactor = function() {
            return Math.round(Math.random() * 255);
        };
        var randomColor = function(opacity) {
           return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
       };

        var config = {
            type: 'line',
            data: {
                labels: CollectedData[0],
                datasets: [{
                    label: "Resove",
                    data: CollectedData[1],
                    fill: false,
                    //borderDash: [5, 5],
                }, {
                    label: "New Tickets",
                    data: CollectedData[2],
                    fill: false,
                   // borderDash: [5, 5],
                }, {
                    label: "Open Tickets",
                    data: CollectedData[3],
                    lineTension: 0,
                    fill: false,
                }, {
                    label: "Due Ticket",
                    data: CollectedData[4],
                    fill: false,
                }]
            },
            options: {
                responsive: true,
                legend: {
                    position: 'bottom',
                },
                hover: {
                    mode: 'label'
                },
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Date'
                        }
                    }],
                    yAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Tickets'
                        }
                    }]
                },
                title: {
                    display: false,
                    text: 'Ticket Report'
                }
            }
        };

        $.each(config.data.datasets, function(i, dataset) {
            var background = randomColor(0.5);
            dataset.borderColor = background;
            dataset.backgroundColor = background;
            dataset.pointBorderColor = background;
            dataset.pointBackgroundColor = background;
            dataset.pointBorderWidth = 1;
        });

			$('#TicketManage').remove(); 
			$('#TicketManageMain').html('<canvas id="TicketManage"><canvas>');
			
			var ctx = document.getElementById("TicketManage").getContext("2d");
            window.myLine = new Chart(ctx, config);
		}
			
		}
		if($("#TicketManage").length != 0) {
			xmlhttpChart.open("GET","ajax/news.php?data="+base64_encode("acn=FetchTicketChartData&pg=dashbordma&SelectedValue="+ReportDate),true);
			xmlhttpChart.send();
		}
		} 
	
	$(window).load(function(e) {
    
	 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp1=new XMLHttpRequest();
		} else { // code for IE6, IE5
			xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
		if($("#ProjectTicketReport").length != 0) {
			xmlhttp1.open("GET","ajax/news.php?data="+base64_encode("acn=FetchProjectChartTicket&pg=dashbordma"),true);
			xmlhttp1.send();
		}
		
		xmlhttp1.onreadystatechange=function() {
			if (xmlhttp1.readyState==4 && xmlhttp1.status==200)
			{
				var ChartData = eval(xmlhttp1.responseText);
		
		
		if(ChartData[0] != 'N'){
					
	//var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
       var randomScalingFactor = function() {
            return Math.round(Math.random() * 100 * (Math.random() > 0.5 ? -1 : 1));
       };
       var randomColorFactor = function() {
            return Math.round(Math.random() * 255);
        };
        var randomColor = function(opacity) {
           return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
       };

        var config = {
            type: 'bar',
			data: {
                labels: ChartData[0],
                datasets: [{
					
					label: "Total Ticket",
              		data: ChartData[3],
					borderColor : "#F7464A",
            		backgroundColor : "#F7464A",
            		pointBorderColor : "#F7464A",
            		pointBackgroundColor : "#F7464A",
            		pointBorderWidth : 1,
					//borderDash: [5, 5],
                }, {
                    label: "Running Tickets",
                    data: ChartData[1],
                    borderColor : "#FDB45C",
            		backgroundColor : "#FDB45C",
            		pointBorderColor : "#FDB45C",
            		pointBackgroundColor : "#FDB45C",
				//	borderDash: [5, 5],
                }, {
                    label: "Close Tickets",
                   	data: ChartData[2],
					borderColor : "#46BFBD",
            		backgroundColor : "#46BFBD",
            		pointBorderColor : "#46BFBD",
            		pointBackgroundColor : "#46BFBD",
                  //  borderDash: [5, 5],
                }]
            },
            options: {
                responsive: true,
                legend: {
                    position: 'bottom',
                },
                hover: {
                    mode: 'label'
                },
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Project'
                        }
                    }],
                    yAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Tickets'
                        },
						 ticks: {
                            suggestedMin: 0,
                            //suggestedMax: 24,
							//stepSize: 1,
						},
                    }]
                },
                title: {
                    display: true,
                    text: 'Project Ticket Report'
                }
            }
        };

		
			if($("#ProjectTicketReport").length != 0) {
				var ctx = document.getElementById("ProjectTicketReport").getContext("2d");
				window.ProjectTicketChart = new Chart(ctx, config);
			}
				
		
		}else{
			
			// No record found
			$('#ProjectTicketReport').css('display','none');
			$('#ProjectTicketReport').after('<div id="ProjectTicketReport2"><h4 class="text-muted text-center">'+ChartData[1]+'</h4></div>');
			return false;
		}
			
			
			
			
			}			
		}
		
	}); 
	
	
	//var ReportDate =  $("#ReportDate").val();
	
	$('#ChartEmployee, #InoutMonth, #InOutYear').change(function(e) {
    	EmployeeInOutChart('Y');
		
	});
	
	$(window).load(function(e) {
    	EmployeeInOutChart();
	});
	
	function EmployeeInOutChart(){
	$('#InOutReportMain').html('<div class="text-center"><img src="theme/black/images/loading1.gif" style="width: 25px;" /><label>&nbsp;&nbsp;Please wait..</label></div>');
	var EmpID = $("#ChartEmployee").val();
	var Month = $("#InoutMonth").val();
	var Year = $("#InOutYear").val();
	
	
		if(EmpID == 0 || EmpID == ""){
			$('#EmpInOutReport').remove(); 
				 $('#InOutReportMain').css("display","none"); 
				 $('#InOutReportMain').html('<h4 style="line-height:26px;" class="text-center text-muted">No any record found..</h4>');
				 $('#InOutReportMain').fadeIn();
			}
		if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpChartEmp=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpChartEmp=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpChartEmp.onreadystatechange=function() {
			if (xmlhttpChartEmp.readyState==4 && xmlhttpChartEmp.status==200)
			{
		
		var EmpData = eval(xmlhttpChartEmp.responseText);
        
		if(EmpData[0] == "Y"){
		
		//var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
        
        var randomScalingFactor = function() {
            return (Math.random() > 0.5 ? -1 : 1) * Math.round(Math.random() * 100);
            //return 0;
        };
        var randomColorFactor = function() {
            return Math.round(Math.random() * 255);
        };
        var randomColor = function(opacity) {
            return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
        };

        var config = {
            type: 'line',
            data: {
                labels: EmpData[6], //["January", "February", "March", "April", "May", "June", "July"],
                datasets: [{
                    label: "Shift InTime",
					data: EmpData[3],
					fill: false,
			        steppedLine: true,
					//backgroundColor : "lightgreen",
					borderColor: "#00a65a",
					//borderDash: [5, 5],
					multiKeyBackground : "#00a65a",
				 },{
                    label: "Shift OutTime",
                    data: EmpData[4],
					fill: false,
					steppedLine: true,
					borderColor: "#f56954",
                   // borderDash: [5, 5],
                }, {
                    hidden: false,
                    label: 'InTime',
					fill: false,
					borderColor: "#f39c12",
					backgroundColor: "rgba(151,187,205,0.5)",
					//borderDash: [5, 5],
					steppedLine: true,
                    data: EmpData[1],
                }, {
                    label: "OutTime",
					fill: false,
					borderColor: "#3c8dbc",
                    steppedLine: true,
					//borderDash: [5, 5],
					backgroundColor: "rgba(151,187,205,0.5)",
                    data: EmpData[2],
				}]
            },
            options: {
                responsive: true,
                title:{
                    display:true,
                    text: EmpData[5][0] +' (#'+EmpData[5][1]+') - InOut Report',
                },
                tooltips: {
                    mode: 'label',
					label:EmpData[5][0],
					callbacks: {
                         beforeTitle: function() {
                             return EmpData[5][0];
                         },
                         afterTitle: function() {
                             return "#"+EmpData[5][1];
                         },
                    }
                },
                hover: {
                    mode: 'dataset'
                },
				
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Day'
                        }
                    }],
                    yAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Time'
                        },
                        ticks: {
                            suggestedMin: 0,
                            suggestedMax: 24,
							stepSize: 1,
						},
						
                    }]
                }
            }
        };
    
			$('#EmpInOutReport').remove(); 
  			$('#InOutReportMain').html('<canvas id="EmpInOutReport"><canvas>');
  
  			var Data = document.getElementById("EmpInOutReport").getContext("2d");
            window.myLineChart = new Chart(Data, config);
      		
		}else{
				 $('#EmpInOutReport').remove(); 
				 $('#InOutReportMain').css("display","none"); 
				 $('#InOutReportMain').html('<h4 style="line-height:26px;" class="text-center text-muted">No any record found..</h4>');
				 $('#InOutReportMain').fadeIn();
				 
			}
		}
		}
		
	
		if($("#InOutReportMain").length != 0) {
				
			xmlhttpChartEmp.open("GET","ajax/news.php?data="+base64_encode("acn=FetchEmpInOutReport&pg=dashbordma&SelectedValue="+Month+"&Number="+Year+"&empid="+EmpID),true);
			xmlhttpChartEmp.send();
		}
	
	}
	
	
  $(window).load(function(e) {
    GenerateLeaveReport();
  }); 
   
  $('#GenerateLeaveReport, #LeaveEmployee').on('change click',function(e) {
    	GenerateLeaveReport('Y');
	});
	 
 function GenerateLeaveReport(IsLoad){
	 
	var LeaveReportDate =  $("#LeaveReportDate").val();
	var Emp = $("#LeaveEmployee :selected").text();
	var EmpID = $("#LeaveEmployee").val();
	if(EmpID == "0"){
		$('#LeaveReport').remove(); 
		$('#LeaveReportMain').css("display","none"); 
		$('#LeaveReportMain').html('<h4 style="line-height:26px;" class="text-center">Please select employee..</h4><div class="text-center"><i class="fa fa-pie-chart fa-3x" style="color:rgb(249, 249, 249) !important; font-size: 242px;"></i></div>');
		$('#LeaveReportMain').fadeIn()
		return false;
	}
	
	$('#LeaveReportMain').html('<div class="text-center margin"><img src="theme/black/images/loading1.gif" style="width: 25px;" /><label>&nbsp;&nbsp;Please wait..</label></div>');
	
	 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpLeave=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpLeave=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpLeave.onreadystatechange=function() {
			if (xmlhttpLeave.readyState==4 && xmlhttpLeave.status==200)
			{
		
		var EmpLeaveReportData = eval(xmlhttpLeave.responseText);
	
		if(EmpLeaveReportData[0] == 'Y'){ 
		
		var config = {
			type: 'doughnut',
			data: {
				datasets: [
					//{//data:[100], //backgroundColor: ["#FDB45C"], //}, 
				{
					data: EmpLeaveReportData[1][0],
					backgroundColor: EmpLeaveReportData[1][2],
					label: 'Leave Report'
				},
				],
				labels: EmpLeaveReportData[1][1],
			},
			options: {
				responsive: true,
				legend: {
					position: 'bottom',
				},
				title: {
					display: true,
					text: EmpLeaveReportData[2][0]+" to "+EmpLeaveReportData[2][1],
				},
				animation: {
					animateScale: true,
					animateRotate: true
				}
			}
		};
	
			$('#LeaveReport').remove(); 
			$('#LeaveReportMain').html('<h4 style="line-height:26px;" class="text-center no-margin">'+Emp+'</h4><canvas id="LeaveReport"><canvas>');
			
			var ctx = document.getElementById("LeaveReport").getContext("2d");
			window.myDoughnut = new Chart(ctx, config);
		
		}else{
				 $('#LeaveReport').remove(); 
				 $('#LeaveReportMain').css("display","none"); 
				 $('#LeaveReportMain').html('<h4 style="line-height:26px;" class="text-center">No any record found..</h4><div class="text-center"><i class="fa fa-pie-chart fa-3x" style="color:rgb(249, 249, 249) !important; font-size: 250px;"></i></div>');
				 $('#LeaveReportMain').fadeIn()
			}
			
    		}
		}
		
		if($("#LeaveReportMain").length != 0) {
		xmlhttpLeave.open("GET","ajax/news.php?data="+base64_encode("acn=FetchEmployeeLeaveReport&pg=dashbordma&SelectedValue="+LeaveReportDate+"&empid="+EmpID),true);
		xmlhttpLeave.send();
		}
		
 }
    
 
 	
	$("#GenerateCurrentLoginReport").click(function(e) {
	  CurrentLoginEmpChart('Y');
	});	
	$(window).load(function(e) {

	    CurrentLoginEmpChart();
	 });
  
  
  function CurrentLoginEmpChart(Reset){
	var LoginDate =  $("#LoginDate").val();
	 if(LoginDate == ""){
		return false;
	}
	

 	 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpLogin=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpLogin=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpLogin.onreadystatechange=function() {
			if (xmlhttpLogin.readyState==4 && xmlhttpLogin.status==200)
			{
		
		var LoginInfo = eval(xmlhttpLogin.responseText);
		
		if(LoginInfo[0] != "N"){
		var config = {
			type: 'pie',
			data: {
				datasets: 
				 [{ data: [LoginInfo[0], LoginInfo[1]], backgroundColor: [ "#46BFBD", "#4D5360",]},],
				labels: ["Login Employee","Not Login Employee",]
				},
			options: {
				responsive: true,
				legend: { position: 'bottom'},
				title: { display: true, text: "Login Report - "+LoginInfo[3], },
				}
		};
		
			$('#CurrentLogin').remove(); 
			$('#CurrentLoginMain').html('<canvas id="CurrentLogin"><canvas>');
			
			var ctx = document.getElementById("CurrentLogin").getContext("2d");
			window.myLogin = new Chart(ctx, config);
		
		}else{
			
		$('#CurrentLogin').remove(); 
		$('#CurrentLoginMain').html('<div id="CurrentLogin"><h4 class="text-muted text-center">'+LoginInfo[1]+'</h4></div>');
		return false;	
		}
		
			
		
			}
		}
		
			if($("#CurrentLogin").length != 0) {
		xmlhttpLogin.open("GET","ajax/news.php?data="+base64_encode("acn=FetchEmployeeCurrentLoginChart&pg=dashbordma&SelectedValue="+LoginDate),true);
		xmlhttpLogin.send();
			}
}
	
 
	function SETSalaryReport(ReportAs){
	
		if(ReportAs == 'M'){
				
				var SetDate = new Date();
				$("#SSalaryMonth").val("01-"+SetDate.getFullYear());
				$("#ESalaryMonth").val(SetDate.getMonth()+"-"+SetDate.getFullYear());
				$("#YearlyView").hide();
				$("#MonthlyView").show();
				$("#FindReportAs").val('M');
				GenerateSalaryCompanyChart('M');							
		}else if(ReportAs == 'Y'){
				$("#MonthlyView").hide();
				$("#YearlyView").show();
				$("#FindReportAs").val('Y');
				GenerateSalaryCompanyChart('Y');
		}else{
				return false;
		}	
			
	}
	
	$("#GenerateSalaryReport").click(function(e) {
     GenerateSalaryCompanyChart();
	});	
	
	$(window).load(function(e) {
        GenerateSalaryCompanyChart();
	 });
  
  
  function GenerateSalaryCompanyChart(){
	
	var ReportAs = $("#FindReportAs").val();
	var SalaryYear =  $("#SalaryYears").val();
	var SSalaryMonth =  $("#SSalaryMonth").val();
	var ESalaryMonth =  $("#ESalaryMonth").val();
	
	if(ReportAs == 'Y'){	
		 if(SalaryYear == ""){
			return false;
		 }
	 }else if(ReportAs == 'M'){
		 if(SSalaryMonth == "" || ESalaryMonth == ""){
			return false;
		 }
	}
	
 	 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpSal=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpSal=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpSal.onreadystatechange=function() {
			if (xmlhttpSal.readyState==4 && xmlhttpSal.status==200)
			{
		
		var SalaryData = eval(xmlhttpSal.responseText);
	
		if(SalaryData[0][1] == 1){
			$("#SalaryExpenMsg").html('<h4 class="text-red">'+SalaryData[0][0]+'</h4>');
			$("#CompanySalaryMain").slideUp();
			return false;
		}else{
			var ReportDuration = SalaryData[8][0]+' to '+SalaryData[8][1];
				if(SalaryData[8][0] == SalaryData[8][1]){
				 	ReportDuration = SalaryData[8][0];
				}
			$("#SalaryExpenMsg").html('<h4 style="line-height:26px;"><strong> Salary Expenditure (All Employees)</strong> <br /> '+ReportDuration+' </h4>');
			$("#CompanySalaryMain").fadeIn();
		 }
	
	
	
    var barChartData = {
        labels: SalaryData[6],
        datasets: [{
                data: SalaryData[1],
                backgroundColor: "#F7464A",
                label: SalaryData[7][0]
            	},{
		        data: SalaryData[2],
                backgroundColor: "#46BFBD",
                label: SalaryData[7][1]
            	},{
                data: SalaryData[3],
                backgroundColor: "#FDB45C",
                label: SalaryData[7][2]
            	},
				{
                data: SalaryData[4],
                backgroundColor: "#949FB1",
                label: SalaryData[7][3]
            	},
				{
                data: SalaryData[5],
                backgroundColor: "#4D5360",
                label: SalaryData[7][4]
            },			
			]
	};
   
   	$('#CompanySalary').remove(); 
	$('#CompanySalaryMain').html('<canvas id="CompanySalary"><canvas>');
			
        var ctx = document.getElementById("CompanySalary").getContext("2d");
        window.myBar = Chart.Bar(ctx, {
            data: barChartData, 
            options: {
                responsive: true,
                hoverMode: 'label',
				legend: {
                	position: 'bottom',
            	},
                hoverAnimationDuration: 400,
                stacked: false,
				
                title:{
                    display:false,
                    text:"Salary Report"
                },
                scales: {
                    yAxes: [{
                        type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
                        display: true,
                        position: "left",
                        id: "y-axis-1",
                    }, {
                        type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
                        display: false,
                        position: "right",
                        id: "y-axis-2",
                        gridLines: {
                            drawOnChartArea: false
                        }
                    }],
                }
            }
        });
    
   		}
		
		}
		
		if($("#CompanySalary").length != 0) {
		xmlhttpSal.open("GET","ajax/news.php?data="+base64_encode("acn=FetchSalaryCalculationChart&pg=dashbordma&SelectedValue="+SalaryYear+"&StartDate="+SSalaryMonth+"&EndDate="+ESalaryMonth+"&val1="+ReportAs),true);
		xmlhttpSal.send();
		}
}


	
	$("#GenerateIndiSalaryReport, #SalaryEmpReport").on('click change',function(e) {
     GenerateSalaryIndividualEmpChart();
	});	
	
	$(window).load(function(e) {
        GenerateSalaryIndividualEmpChart();
	 });
  
  function GenerateSalaryIndividualEmpChart(){

	var SSalaryMonthIndi =  $("#SSalaryMonthIndi").val();
	var ESalaryMonthIndi =  $("#ESalaryMonthIndi").val();
	var SelectEmployeeID =  $("#SalaryEmpReport").val();
	var Employee = $("#SalaryEmpReport :selected").text();
	
	
		 if(SSalaryMonthIndi == "" || ESalaryMonthIndi == "" || SelectEmployeeID == "" || SelectEmployeeID == "0"){
		  $("#ErrorMsgIndi").html('<h4 style="line-height:26px;">Please select employee</h4>');
		  $("#IndividualChars").slideUp();		
			return false;
		 }
	
	
 	 if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpSalInd=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpSalInd=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpSalInd.onreadystatechange=function() {
			if (xmlhttpSalInd.readyState==4 && xmlhttpSalInd.status==200)
			{
		
		var IndiSalaryData = eval(xmlhttpSalInd.responseText);
	
		if(IndiSalaryData[0][0] == 1){
			$("#ErrorMsgIndi").html('<h4 style="line-height:26px;" class="text-red">'+IndiSalaryData[0][1]+'</h4>');
			$("#IndividualChars").slideUp();
			return false;
		}else{
				var ReportDuration = IndiSalaryData[5][0]+' to '+IndiSalaryData[5][1]
				if(IndiSalaryData[5][0] == IndiSalaryData[5][1]){
					var ReportDuration = IndiSalaryData[5][0];
				}
			$("#ErrorMsgIndi").html('<h4 style="line-height:25px;"><strong>Salary Report </strong> - '+Employee+' <br>'+ReportDuration+' </h4>');
			$("#IndividualChars").fadeIn();
		}
	
	var randomScalingFactor = function() {
        return Math.round(Math.random() * 100);
    };
    var randomColorFactor = function() {
        return Math.round(Math.random() * 255);
    };
    var randomColor = function(opacity) {
        return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
    };

	//////////////// Earning Start //////////////////
		
		var Colors = Array();
		var DefultColors = Array( "#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360")
		var RendomColorArr = function(Size){
				for(c=0;c<Size;c++){
					if(c < DefultColors.length){
						Colors[c] = DefultColors[c];	
					}else{
						Colors[c] = randomColor(0.9);	
					}
				}
			return Colors;
		}
		
  		var config_earning = {
			type: 'pie',
			height:100,
			data: {
				datasets: 
				 [{ data: IndiSalaryData[1][1], backgroundColor: RendomColorArr(IndiSalaryData[1][1].length), } ],
				labels: IndiSalaryData[1][0],
				},
			options: {
				responsive: true,
				legend: { position: 'bottom'},
				title: { display: true, text: "Earning", },
				}
		};
		
		$('#EearningSalary').remove(); 
		$('#EearningSalaryMain').html('<canvas id="EearningSalary"><canvas>');
		
	
		var ctx_earning = document.getElementById("EearningSalary").getContext("2d");
		window.Earning = new Chart(ctx_earning, config_earning);
		
		
		///////////////// Earning End /////////////////			
  
  
  		//////////////// Deduction Start //////////////////
  		var config_deduction = {
			type: 'pie',
			data: {
				datasets: 
				 [{ data: IndiSalaryData[2][1], backgroundColor: RendomColorArr(IndiSalaryData[2][1].length), } ],
				labels: IndiSalaryData[2][0],
				},
			options: {
				responsive: true,
				legend: { position: 'bottom'},
				title: { display: true, text: "Employee Deduction", },
				}
		};
		
		$('#DeductionsSalary').remove(); 
		$('#DeductionsSalaryMain').html('<canvas  id="DeductionsSalary"><canvas>');
		
		var ctx_deduction = document.getElementById("DeductionsSalary").getContext("2d");
		window.Deduction = new Chart(ctx_deduction, config_deduction);
		
		///////////////// Deduction End /////////////////		
		
  
  	//////////////// Contribution Start //////////////////
  		var config_contribution = {
			type: 'pie',
			data: {
				datasets: 
				 [{ data: IndiSalaryData[3][1], backgroundColor: RendomColorArr(IndiSalaryData[3][1].length), } ],
				labels: IndiSalaryData[3][0],
				},
			options: {
				responsive: true,
				legend: { position: 'bottom'},
				title: { display: true, text: "Company Contribution", },
				}
		};
		
		$('#ContributionSalary').remove(); 
		$('#ContributionSalaryMain').html('<canvas id="ContributionSalary"><canvas>');
		
		var ctx_contribution = document.getElementById("ContributionSalary").getContext("2d");
		window.Contribution = new Chart(ctx_contribution, config_contribution);
		
		///////////////// Contribution End /////////////////	
		
  
    var config = {
        data: {
            labels: IndiSalaryData[4][0],
			datasets: [{
                data: IndiSalaryData[4][1],
                backgroundColor: [ "#46BFBD","#F7464A","#FDB45C"],
                label: 'Employee Salary Chart' 
            }],
            
        },
        options: {
            responsive: true,
            legend: {
                position: 'bottom',
            },
            title: {
                display: true,
                text: 'Salary Expenditure'
            },
            scale: {
              ticks: {
                beginAtZero: true
              },
              reverse: false
            },
            animation: {
                animateRotate: true,
                animateScale: true
            }
        }
    };

    $('#IndividualSalary').remove(); 
	$('#IndividualSalaryMain').html('<canvas id="IndividualSalary"><canvas>');
	
	
	    var ctx = document.getElementById("IndividualSalary");
        window.IndividualSalary = Chart.PolarArea(ctx, config);
    
   		}
		
		}
	
	if($("#IndividualSalary").length != 0) {
				
		xmlhttpSalInd.open("GET","ajax/news.php?data="+base64_encode("acn=FecthIndividualSalaryExpenditure&pg=dashbordma&empid="+SelectEmployeeID+"&StartDate="+SSalaryMonthIndi+"&EndDate="+ESalaryMonthIndi),true);
		xmlhttpSalInd.send();
	}
}


	function SETSalesReport(ReportAs){
	
		if(ReportAs == 'M'){
				var SetDate = new Date();
				$("#SSalesMonth").val("01-"+SetDate.getFullYear());
				$("#ESalesMonth").val(SetDate.getMonth()+"-"+SetDate.getFullYear());
				$("#YearlySales").hide();
				$("#MonthlySales").show();
				$("#FindSalesReportAs").val('M');
				GenerateSalesReport();							
		}else if(ReportAs == 'Y'){
				$("#MonthlySales").hide();
				$("#YearlySales").show();
				$("#FindSalesReportAs").val('Y');
				GenerateSalesReport();
		}else{
				return false;
		}	
			
	}
	
	
	$("#GenerateSalesReport").on('click',function(e) {
     GenerateSalesReport();
	});	
	
	$(window).load(function(e) {
        GenerateSalesReport();
	 });
  
  function GenerateSalesReport(){

	var SSalesMonth =  $("#SSalesMonth").val();
	var ESalesMonth =  $("#ESalesMonth").val();
	var ReportAs 	=  $("#FindSalesReportAs").val();
	var ReportYears 	=  $("#SalesYears").val();
	
	
	if(SSalesMonth == "" || ESalesMonth == ""){
			alert('Required field should not blank !')
			return false;
	 }
	
	if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpSales=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpSales=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpSales.onreadystatechange=function() {
			if (xmlhttpSales.readyState==4 && xmlhttpSales.status==200)
			{
		
		var SalesReportData = eval(xmlhttpSales.responseText);
	
		if(SalesReportData[0][1] == 1){
			$("#ErrorMsgSales").html('<h4 style="line-height:26px;" class="text-red">'+SalesReportData[0][0]+'</h4>');
			$("#SalesReportMain").slideUp();
			return false;
		}else{
			var ReportDuration = SalesReportData[3][0]+' to '+SalesReportData[3][1];
				if(SalesReportData[3][0] == SalesReportData[3][1]){
				 	ReportDuration = SalesReportData[3][0];
				}
			$("#ErrorMsgSales").html('<h4 style="line-height:26px;"><strong>Sales Report</strong> <br /> '+ReportDuration+' </h4>');
			$("#SalesReportMain").fadeIn();
		 }
	
		var SalesData = {
            labels: SalesReportData[2],
            datasets: [{
                type: 'line',
                label: 'Total Sales',
                backgroundColor: "rgba(151,187,205,0.5)",
                data: SalesReportData[1],
                borderColor: 'rgba(151,187,205,1)',
                borderWidth: 2,
				
            },]

        };
       
	   	$('#SalesReport').remove(); 
		$('#SalesReportMain').html('<canvas id="SalesReport"><canvas>');
	
	 	 var Sales = document.getElementById("SalesReport").getContext("2d");
            window.SalesChart = new Chart(Sales, {
                type: 'bar',
                data: SalesData,
                options: {
                    responsive: true,
					legend: {
             	   	position: 'bottom',
            		},
                    title: {
                        display: false,
                        text: 'Sales Report'
                    }
                }
            });
       
	   }
		
		}
		
		if($("#SalesReport").length != 0) {
			
		xmlhttpSales.open("GET","ajax/news.php?data="+base64_encode("acn=FetchSalesReportData&pg=dashbordma&StartDate="+SSalesMonth+"&EndDate="+ESalesMonth+"&val1="+ReportAs+"&SelectedValue="+ReportYears),true);
		xmlhttpSales.send();
		}
}

	
	function SETPLReport(ReportAs){
	
		if(ReportAs == 'M'){
				var SetDate = new Date();
				//$("#SPLMonth").val("01-"+SetDate.getFullYear());
				//$("#EPLMonth").val(SetDate.getMonth()+"-"+SetDate.getFullYear());
				$("#PLYearly").hide();
				$("#PLMonthly").show();
				$("#FindPLReportAs").val('M');
				GenerateProfitLossReport();							
		}else if(ReportAs == 'Y'){
				$("#PLMonthly").hide();
				$("#PLYearly").show();
				$("#FindPLReportAs").val('Y');
				GenerateProfitLossReport();
		}else{
				return false;
		}	
			
	}
	
	
	
	$("#GeneratePLReport").on('click',function(e) {
     GenerateProfitLossReport();
	});	
	
	
	$(window).load(function(e) {
        GenerateProfitLossReport();
	 });
  
  function GenerateProfitLossReport(){

	var SPLMonth =  $("#SPLMonth").val();
	var EPLMonth =  $("#EPLMonth").val();
	var ReportAs 	=  $("#FindPLReportAs").val();
	var ReportYears = $("#PLYears").val();
	if(ReportAs == 'M' && SPLMonth == "" || EPLMonth == ""){
			alert('Required field should not blank !')
			return false;
	 }
	
	if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttpsPL=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpsPL=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
	 	xmlhttpsPL.onreadystatechange=function() {
			if (xmlhttpsPL.readyState==4 && xmlhttpsPL.status==200)
			{
		
		var PLReportData = eval(xmlhttpsPL.responseText);
	
		if(PLReportData[0][1] == 1){
			$("#ErrorMsgPL").html('<h4 style="line-height:26px;" class="text-red">'+PLReportData[0][0]+'</h4>');
			$("#PLReportMain").slideUp();
			return false;
		}else{
			var ReportDuration = PLReportData[3][0]+' to '+PLReportData[3][1];
				if(PLReportData[3][0] == PLReportData[3][1]){
				 	ReportDuration = PLReportData[3][0];
				}
			$("#ErrorMsgPL").html('<h4 style="line-height:26px;"><strong>Profit and Loss Trends Report</strong> <br /> '+ReportDuration+' </h4>');
			$("#PLReportMain").fadeIn();
		 }
	
        var barChartData = {
            labels: PLReportData[2],
            datasets: [
			{
                label: 'Total Expenses',
                backgroundColor: "#FDB45C",
                data:PLReportData[1][0] 
            },
			{
                label: 'Total Sales',
                backgroundColor: "#46BFBD",
                data:PLReportData[1][1] 
            },
			{
                label: 'Gross Profit/Loss',
                backgroundColor: "#F7464A",
                data:PLReportData[1][2] 
            },
			]

        };

		   
			$('#PLReport').remove(); 
			$('#PLReportMain').html('<canvas id="PLReport"><canvas>');

            var ctx = document.getElementById("PLReport").getContext("2d");
            window.PLReportChart = new Chart(ctx, {
                type: 'bar',
                data: barChartData,
                options: {
                    // Elements options apply to all of the options unless overridden in a dataset
                    // In this case, we are setting the border of each bar to be 2px wide and green
                    elements: {
                        rectangle: {
                            borderWidth: 2,
                          //  borderColor: 'rgb(0, 255, 0)',
                            borderSkipped: 'bottom'
                        }
                    },
                    responsive: true,
                    legend: {
                        position: 'bottom',
                    },
                    title: {
                        display: false,
                        text: 'Profit And Loss'
                    }
                }
            });
            
	   }
		
		}
		
		if($("#PLReport").length != 0) {
			
		xmlhttpsPL.open("GET","ajax/news.php?data="+base64_encode("acn=FetchProfitLossReport&pg=dashbordma&StartDate="+SPLMonth+"&EndDate="+EPLMonth+"&val1="+ReportAs+"&SelectedValue="+ReportYears),true);
		xmlhttpsPL.send();
		}
}


 $(window).load(function(e) {
   
   if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttpHoldRuningProject=new XMLHttpRequest();
			
		} else { // code for IE6, IE5
			xmlhttpHoldRuningProject=new ActiveXObject("Microsoft.XMLHTTP");
		}	
	 	xmlhttpHoldRuningProject.onreadystatechange=function() {
			if (xmlhttpHoldRuningProject.readyState==4 && xmlhttpHoldRuningProject.status==200)
			{
			
			 var ProjectData = eval(xmlhttpHoldRuningProject.responseText);
			 	
			
			if(ProjectData[0] != "N"){
					
			var randomScalingFactor = function() {
				return Math.round(Math.random() * 100);
			};
			var randomColorFactor = function() {
				return Math.round(Math.random() * 255);
			};
			var randomColor = function(opacity) {
				return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
			};

			var HoldProjects = ProjectData[0];
			var RuningProjects = ProjectData[1]
				
			var config1 = {
				type: 'pie',
				data: {
					datasets: [{
						data: [ HoldProjects, RuningProjects ],
						backgroundColor: ["#FDB45C", "#4D5360" ],
						}, ],
					labels: ["Running Projects", "Hold Projects" ]
				},
				options: {
					responsive: true,
					legend: { position: 'bottom' },
					title: { display: true, text: 'Project Report'}
				}
			};
			
				var ctx_ = document.getElementById("ChartProject").getContext("2d");
				window.myPie_ = new Chart(ctx_, config1);
		
			}else{
				
				$('#ChartProject').css('display','none');
				$('#ChartProject').after('<div id="ChartProject1"><h4 class="text-muted text-center">'+ProjectData[1]+'</h4></div>');

				}
			
			}
	}
	if($("#ChartProject").length != 0) {
	xmlhttpHoldRuningProject.open("GET","ajax/news.php?data="+base64_encode("acn=FetchRunningHoldProject&pg=dashbordma&AdPage=dashboard"),true);
	xmlhttpHoldRuningProject.send();
	}
  	
});