text: /**
   * Resize function without multiple trigger
   * 
   * Usage:
   * $(window).smartresize(function(){  
   *     // code here
   * });
   */
  (function($,sr){
      // debouncing function from John Hann
      // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
      
      var debounce = function (func, threshold, execAsap) {
        var timeout;
  
          return function debounced () {
              var obj = this, args = arguments;
              function delayed () {
                  if (!execAsap)
                      func.apply(obj, args); 
                  timeout = null; 
              }
  
              if (timeout)
                  clearTimeout(timeout);
              else if (execAsap)
                  func.apply(obj, args);
  
              timeout = setTimeout(delayed, threshold || 100); 
          };
      };
  
      // smartresize 
      jQuery.fn[sr] = function(fn){  return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
  
  })(jQuery,'smartresize');
  /**
   * To change this license header, choose License Headers in Project Properties.
   * To change this template file, choose Tools | Templates
   * and open the template in the editor.
   */
  
  var CURRENT_URL = window.location.href.split('#')[0].split('?')[0],
      $BODY = $('body'),
      $MENU_TOGGLE = $('#menu_toggle'),
      $SIDEBAR_MENU = $('#sidebar-menu'),
      $SIDEBAR_FOOTER = $('.sidebar-footer'),
      $LEFT_COL = $('.left_col'),
      $RIGHT_COL = $('.right_col'),
      $NAV_MENU = $('.nav_menu'),
      $FOOTER = $('footer');
      
      
  	
  	
  // Sidebar
  function init_sidebar() {
  // TODO: This is some kind of easy fix, maybe we can improve this
  var setContentHeight = function () {
  	// reset height
  	$RIGHT_COL.css('min-height', $(window).height());
  
  	var bodyHeight = $BODY.outerHeight(),
  		footerHeight = $BODY.hasClass('footer_fixed') ? -10 : $FOOTER.height(),
  		leftColHeight = $LEFT_COL.eq(1).height() + $SIDEBAR_FOOTER.height(),
  		contentHeight = bodyHeight < leftColHeight ? leftColHeight : bodyHeight;
  
  	// normalize content
  	contentHeight -= $NAV_MENU.height() + footerHeight;
  
  	$RIGHT_COL.css('min-height', contentHeight);
  };
  
    $SIDEBAR_MENU.find('a').on('click', function(ev) {
  	  console.log('clicked - sidebar_menu');
          var $li = $(this).parent();
  
          if ($li.is('.active')) {
              $li.removeClass('active active-sm');
              $('ul:first', $li).slideUp(function() {
                  setContentHeight();
              });
          } else {
              // prevent closing menu if we are on child menu
              if (!$li.parent().is('.child_menu')) {
                  $SIDEBAR_MENU.find('li').removeClass('active active-sm');
                  $SIDEBAR_MENU.find('li ul').slideUp();
              }else
              {
  				if ( $BODY.is( ".nav-sm" ) )
  				{
  					$SIDEBAR_MENU.find( "li" ).removeClass( "active active-sm" );
  					$SIDEBAR_MENU.find( "li ul" ).slideUp();
  				}
  			}
              $li.addClass('active');
  
              $('ul:first', $li).slideDown(function() {
                  setContentHeight();
              });
          }
      });
  
  // toggle small or large menu 
  
  $MENU_TOGGLE.on('click', function() {
  		console.log('clicked - menu toggle');
  		
  		if ($BODY.hasClass('nav-md')) {
  			$SIDEBAR_MENU.find('li.active ul').hide();
  			$SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active');
  		} else {
  			$SIDEBAR_MENU.find('li.active-sm ul').show();
  			$SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm');
  		}
  
  	$BODY.toggleClass('nav-md nav-sm');
  
  	setContentHeight();
  
  	$('.dataTable').each ( function () { $(this).dataTable().fnDraw(); });
  });
  
  	// check active menu
  	$SIDEBAR_MENU.find('a[href="' + CURRENT_URL + '"]').parent('li').addClass('current-page');
  
  	$SIDEBAR_MENU.find('a').filter(function () {
  		return this.href == CURRENT_URL;
  	}).parent('li').addClass('current-page').parents('ul').slideDown(function() {
  		setContentHeight();
  	}).parent().addClass('active');
  
  	// recompute content when resizing
  	$(window).smartresize(function(){  
  		setContentHeight();
  	});
  
  	setContentHeight();
  
  	// fixed sidebar
  	if ($.fn.mCustomScrollbar) {
  		$('.menu_fixed').mCustomScrollbar({
  			autoHideScrollbar: true,
  			theme: 'minimal',
  			mouseWheel:{ preventDefault: true }
  		});
  	}
  };
  // /Sidebar
  
  	var randNum = function() {
  	  return (Math.floor(Math.random() * (1 + 40 - 20))) + 20;
  	};
  
  
  // Panel toolbox
  $(document).ready(function() {
      $('.collapse-link').on('click', function() {
          var $BOX_PANEL = $(this).closest('.x_panel'),
              $ICON = $(this).find('i'),
              $BOX_CONTENT = $BOX_PANEL.find('.x_content');
          
          // fix for some div with hardcoded fix class
          if ($BOX_PANEL.attr('style')) {
              $BOX_CONTENT.slideToggle(200, function(){
                  $BOX_PANEL.removeAttr('style');
              });
          } else {
              $BOX_CONTENT.slideToggle(200); 
              $BOX_PANEL.css('height', 'auto');  
          }
  
          $ICON.toggleClass('fa-chevron-up fa-chevron-down');
      });
  
      $('.close-link').click(function () {
          var $BOX_PANEL = $(this).closest('.x_panel');
  
          $BOX_PANEL.remove();
      });
  });
  // /Panel toolbox
  
  // Tooltip
  $(document).ready(function() {
      $('[data-toggle="tooltip"]').tooltip({
          container: 'body'
      });
  });
  // /Tooltip
  
  // Progressbar
  if ($(".progress .progress-bar")[0]) {
      $('.progress .progress-bar').progressbar();
  }
  // /Progressbar
  
  // Switchery
  $(document).ready(function() {
      if ($(".js-switch")[0]) {
          var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
          elems.forEach(function (html) {
              var switchery = new Switchery(html, {
                  color: '#26B99A'
              });
          });
      }
  });
  // /Switchery
  
  
  // iCheck
  $(document).ready(function() {
      if ($("input.flat")[0]) {
          $(document).ready(function () {
              $('input.flat').iCheck({
                  checkboxClass: 'icheckbox_flat-green',
                  radioClass: 'iradio_flat-green'
              });
          });
      }
  });
  // /iCheck
  
  // Table
  $('table input').on('ifChecked', function () {
      checkState = '';
      $(this).parent().parent().parent().addClass('selected');
      countChecked();
  });
  $('table input').on('ifUnchecked', function () {
      checkState = '';
      $(this).parent().parent().parent().removeClass('selected');
      countChecked();
  });
  
  var checkState = '';
  
  $('.bulk_action input').on('ifChecked', function () {
      checkState = '';
      $(this).parent().parent().parent().addClass('selected');
      countChecked();
  });
  $('.bulk_action input').on('ifUnchecked', function () {
      checkState = '';
      $(this).parent().parent().parent().removeClass('selected');
      countChecked();
  });
  $('.bulk_action input#check-all').on('ifChecked', function () {
      checkState = 'all';
      countChecked();
  });
  $('.bulk_action input#check-all').on('ifUnchecked', function () {
      checkState = 'none';
      countChecked();
  });
  
  function countChecked() {
      if (checkState === 'all') {
          $(".bulk_action input[name='table_records']").iCheck('check');
      }
      if (checkState === 'none') {
          $(".bulk_action input[name='table_records']").iCheck('uncheck');
      }
  
      var checkCount = $(".bulk_action input[name='table_records']:checked").length;
  
      if (checkCount) {
          $('.column-title').hide();
          $('.bulk-actions').show();
          $('.action-cnt').html(checkCount + ' Records Selected');
      } else {
          $('.column-title').show();
          $('.bulk-actions').hide();
      }
  }
  
  
  
  // Accordion
  $(document).ready(function() {
      $(".expand").on("click", function () {
          $(this).next().slideToggle(200);
          $expand = $(this).find(">:first-child");
  
          if ($expand.text() == "+") {
              $expand.text("-");
          } else {
              $expand.text("+");
          }
      });
  });
  
  // NProgress
  if (typeof NProgress != 'undefined') {
      $(document).ready(function () {
          NProgress.start();
      });
  
      $(window).load(function () {
          NProgress.done();
      });
  }
  
  	
  	  //hover and retain popover when on popover content
          var originalLeave = $.fn.popover.Constructor.prototype.leave;
          $.fn.popover.Constructor.prototype.leave = function(obj) {
            var self = obj instanceof this.constructor ?
              obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type);
            var container, timeout;
  
            originalLeave.call(this, obj);
  
            if (obj.currentTarget) {
              container = $(obj.currentTarget).siblings('.popover');
              timeout = self.timeout;
              container.one('mouseenter', function() {
                //We entered the actual popover – call off the dogs
                clearTimeout(timeout);
                //Let's monitor popover content instead
                container.one('mouseleave', function() {
                  $.fn.popover.Constructor.prototype.leave.call(self, self);
                });
              });
            }
          };
  
          $('body').popover({
            selector: '[data-popover]',
            trigger: 'click hover',
            delay: {
              show: 50,
              hide: 400
            }
          });
  
  
  	function gd(year, month, day) {
  		return new Date(year, month - 1, day).getTime();
  	}
  	  
  	
  	function init_flot_chart(){
  		
  		if( typeof ($.plot) === 'undefined'){ return; }
  		
  		console.log('init_flot_chart');
  		
  		
  		
  		var arr_data1 = [
  			[gd(2012, 1, 1), 17],
  			[gd(2012, 1, 2), 74],
  			[gd(2012, 1, 3), 6],
  			[gd(2012, 1, 4), 39],
  			[gd(2012, 1, 5), 20],
  			[gd(2012, 1, 6), 85],
  			[gd(2012, 1, 7), 7]
  		];
  
  		var arr_data2 = [
  		  [gd(2012, 1, 1), 82],
  		  [gd(2012, 1, 2), 23],
  		  [gd(2012, 1, 3), 66],
  		  [gd(2012, 1, 4), 9],
  		  [gd(2012, 1, 5), 119],
  		  [gd(2012, 1, 6), 6],
  		  [gd(2012, 1, 7), 9]
  		];
  		
  		var arr_data3 = [
  			[0, 1],
  			[1, 9],
  			[2, 6],
  			[3, 10],
  			[4, 5],
  			[5, 17],
  			[6, 6],
  			[7, 10],
  			[8, 7],
  			[9, 11],
  			[10, 35],
  			[11, 9],
  			[12, 12],
  			[13, 5],
  			[14, 3],
  			[15, 4],
  			[16, 9]
  		];
  		
  		var chart_plot_02_data = [];
  		
  		var chart_plot_03_data = [
  			[0, 1],
  			[1, 9],
  			[2, 6],
  			[3, 10],
  			[4, 5],
  			[5, 17],
  			[6, 6],
  			[7, 10],
  			[8, 7],
  			[9, 11],
  			[10, 35],
  			[11, 9],
  			[12, 12],
  			[13, 5],
  			[14, 3],
  			[15, 4],
  			[16, 9]
  		];
  		
  		
  		for (var i = 0; i < 30; i++) {
  		  chart_plot_02_data.push([new Date(Date.today().add(i).days()).getTime(), randNum() + i + i + 10]);
  		}
  		
  		
  		var chart_plot_01_settings = {
            series: {
              lines: {
                show: false,
                fill: true
              },
              splines: {
                show: true,
                tension: 0.4,
                lineWidth: 1,
                fill: 0.4
              },
              points: {
                radius: 0,
                show: true
              },
              shadowSize: 2
            },
            grid: {
              verticalLines: true,
              hoverable: true,
              clickable: true,
              tickColor: "#d5d5d5",
              borderWidth: 1,
              color: '#fff'
            },
            colors: ["rgba(38, 185, 154, 0.38)", "rgba(3, 88, 106, 0.38)"],
            xaxis: {
              tickColor: "rgba(51, 51, 51, 0.06)",
              mode: "time",
              tickSize: [1, "day"],
              //tickLength: 10,
              axisLabel: "Date",
              axisLabelUseCanvas: true,
              axisLabelFontSizePixels: 12,
              axisLabelFontFamily: 'Verdana, Arial',
              axisLabelPadding: 10
            },
            yaxis: {
              ticks: 8,
              tickColor: "rgba(51, 51, 51, 0.06)",
            },
            tooltip: false
          }
  		
  		var chart_plot_02_settings = {
  			grid: {
  				show: true,
  				aboveData: true,
  				color: "#3f3f3f",
  				labelMargin: 10,
  				axisMargin: 0,
  				borderWidth: 0,
  				borderColor: null,
  				minBorderMargin: 5,
  				clickable: true,
  				hoverable: true,
  				autoHighlight: true,
  				mouseActiveRadius: 100
  			},
  			series: {
  				lines: {
  					show: true,
  					fill: true,
  					lineWidth: 2,
  					steps: false
  				},
  				points: {
  					show: true,
  					radius: 4.5,
  					symbol: "circle",
  					lineWidth: 3.0
  				}
  			},
  			legend: {
  				position: "ne",
  				margin: [0, -25],
  				noColumns: 0,
  				labelBoxBorderColor: null,
  				labelFormatter: function(label, series) {
  					return label + '&nbsp;&nbsp;';
  				},
  				width: 40,
  				height: 1
  			},
  			colors: ['#96CA59', '#3F97EB', '#72c380', '#6f7a8a', '#f7cb38', '#5a8022', '#2c7282'],
  			shadowSize: 0,
  			tooltip: true,
  			tooltipOpts: {
  				content: "%s: %y.0",
  				xDateFormat: "%d/%m",
  			shifts: {
  				x: -30,
  				y: -50
  			},
  			defaultTheme: false
  			},
  			yaxis: {
  				min: 0
  			},
  			xaxis: {
  				mode: "time",
  				minTickSize: [1, "day"],
  				timeformat: "%d/%m/%y",
  				min: chart_plot_02_data[0][0],
  				max: chart_plot_02_data[20][0]
  			}
  		};	
  	
  		var chart_plot_03_settings = {
  			series: {
  				curvedLines: {
  					apply: true,
  					active: true,
  					monotonicFit: true
  				}
  			},
  			colors: ["#26B99A"],
  			grid: {
  				borderWidth: {
  					top: 0,
  					right: 0,
  					bottom: 1,
  					left: 1
  				},
  				borderColor: {
  					bottom: "#7F8790",
  					left: "#7F8790"
  				}
  			}
  		};
          
  		
          if ($("#chart_plot_01").length){
  			console.log('Plot1');
  			
  			$.plot( $("#chart_plot_01"), [ arr_data1, arr_data2 ],  chart_plot_01_settings );
  		}
  		
  		
  		if ($("#chart_plot_02").length){
  			console.log('Plot2');
  			
  			$.plot( $("#chart_plot_02"), 
  			[{ 
  				label: "Email Sent", 
  				data: chart_plot_02_data, 
  				lines: { 
  					fillColor: "rgba(150, 202, 89, 0.12)" 
  				}, 
  				points: { 
  					fillColor: "#fff" } 
  			}], chart_plot_02_settings);
  			
  		}
  		
  		if ($("#chart_plot_03").length){
  			console.log('Plot3');
  			
  			
  			$.plot($("#chart_plot_03"), [{
  				label: "Registrations",
  				data: chart_plot_03_data,
  				lines: {
  					fillColor: "rgba(150, 202, 89, 0.12)"
  				}, 
  				points: {
  					fillColor: "#fff"
  				}
  			}], chart_plot_03_settings);
  			
  		};
  	  
  	} 
  	
  		
  	/* STARRR */
  			
  	function init_starrr() {
  		
  		if( typeof (starrr) === 'undefined'){ return; }
  		console.log('init_starrr');
  		
  		$(".stars").starrr();
  
  		$('.stars-existing').starrr({
  		  rating: 4
  		});
  
  		$('.stars').on('starrr:change', function (e, value) {
  		  $('.stars-count').html(value);
  		});
  
  		$('.stars-existing').on('starrr:change', function (e, value) {
  		  $('.stars-count-existing').html(value);
  		});
  		
  	  };
  	
  	
  	function init_JQVmap(){
  
  		//console.log('check init_JQVmap [' + typeof (VectorCanvas) + '][' + typeof (jQuery.fn.vectorMap) + ']' );	
  		
  		if(typeof (jQuery.fn.vectorMap) === 'undefined'){ return; }
  		
  		console.log('init_JQVmap');
  	     
  			if ($('#world-map-gdp').length ){
  		 
  				$('#world-map-gdp').vectorMap({
  					map: 'world_en',
  					backgroundColor: null,
  					color: '#ffffff',
  					hoverOpacity: 0.7,
  					selectedColor: '#666666',
  					enableZoom: true,
  					showTooltip: true,
  					values: sample_data,
  					scaleColors: ['#E6F2F0', '#149B7E'],
  					normalizeFunction: 'polynomial'
  				});
  			
  			}
  			
  			if ($('#usa_map').length ){
  			
  				$('#usa_map').vectorMap({
  					map: 'usa_en',
  					backgroundColor: null,
  					color: '#ffffff',
  					hoverOpacity: 0.7,
  					selectedColor: '#666666',
  					enableZoom: true,
  					showTooltip: true,
  					values: sample_data,
  					scaleColors: ['#E6F2F0', '#149B7E'],
  					normalizeFunction: 'polynomial'
  				});
  			
  			}
  			
  	};
  			
  	    
  	function init_skycons(){
  				
  			if( typeof (Skycons) === 'undefined'){ return; }
  			console.log('init_skycons');
  		
  			var icons = new Skycons({
  				"color": "#73879C"
  			  }),
  			  list = [
  				"clear-day", "clear-night", "partly-cloudy-day",
  				"partly-cloudy-night", "cloudy", "rain", "sleet", "snow", "wind",
  				"fog"
  			  ],
  			  i;
  
  			for (i = list.length; i--;)
  			  icons.set(list[i], list[i]);
  
  			icons.play();
  	
  	}  
  	   
  	   
  	function init_chart_doughnut(){
  				
  		if( typeof (Chart) === 'undefined'){ return; }
  		
  		console.log('init_chart_doughnut');
  	 
  		if ($('.canvasDoughnut').length){
  			
  		var chart_doughnut_settings = {
  				type: 'doughnut',
  				tooltipFillColor: "rgba(51, 51, 51, 0.55)",
  				data: {
  					labels: [
  						"Symbian",
  						"Blackberry",
  						"Other",
  						"Android",
  						"IOS"
  					],
  					datasets: [{
  						data: [15, 20, 30, 10, 30],
  						backgroundColor: [
  							"#BDC3C7",
  							"#9B59B6",
  							"#E74C3C",
  							"#26B99A",
  							"#3498DB"
  						],
  						hoverBackgroundColor: [
  							"#CFD4D8",
  							"#B370CF",
  							"#E95E4F",
  							"#36CAAB",
  							"#49A9EA"
  						]
  					}]
  				},
  				options: { 
  					legend: false, 
  					responsive: false 
  				}
  			}
  		
  			$('.canvasDoughnut').each(function(){
  				
  				var chart_element = $(this);
  				var chart_doughnut = new Chart( chart_element, chart_doughnut_settings);
  				
  			});			
  		
  		}  
  	   
  	}
  	   
  	function init_gauge() {
  			
  		if( typeof (Gauge) === 'undefined'){ return; }
  		
  		console.log('init_gauge [' + $('.gauge-chart').length + ']');
  		
  		console.log('init_gauge');
  		
  
  		  var chart_gauge_settings = {
  		  lines: 12,
  		  angle: 0,
  		  lineWidth: 0.4,
  		  pointer: {
  			  length: 0.75,
  			  strokeWidth: 0.042,
  			  color: '#1D212A'
  		  },
  		  limitMax: 'false',
  		  colorStart: '#1ABC9C',
  		  colorStop: '#1ABC9C',
  		  strokeColor: '#F0F3F3',
  		  generateGradient: true
  	  };
  		
  		
  		if ($('#chart_gauge_01').length){ 
  		
  			var chart_gauge_01_elem = document.getElementById('chart_gauge_01');
  			var chart_gauge_01 = new Gauge(chart_gauge_01_elem).setOptions(chart_gauge_settings);
  			
  		}	
  		
  		
  		if ($('#gauge-text').length){ 
  		
  			chart_gauge_01.maxValue = 6000;
  			chart_gauge_01.animationSpeed = 32;
  			chart_gauge_01.set(3200);
  			chart_gauge_01.setTextField(document.getElementById("gauge-text"));
  		
  		}
  		
  		if ($('#chart_gauge_02').length){
  		
  			var chart_gauge_02_elem = document.getElementById('chart_gauge_02');
  			var chart_gauge_02 = new Gauge(chart_gauge_02_elem).setOptions(chart_gauge_settings);
  			
  		}
  		
  		
  		if ($('#gauge-text2').length){
  			
  			chart_gauge_02.maxValue = 9000;
  			chart_gauge_02.animationSpeed = 32;
  			chart_gauge_02.set(2400);
  			chart_gauge_02.setTextField(document.getElementById("gauge-text2"));
  		
  		}
  	
  	
  	}   
  	   	   
  	/* SPARKLINES */
  			
  		function init_sparklines() {
  			
  			if(typeof (jQuery.fn.sparkline) === 'undefined'){ return; }
  			console.log('init_sparklines'); 
  			
  			
  			$(".sparkline_one").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], {
  				type: 'bar',
  				height: '125',
  				barWidth: 13,
  				colorMap: {
  					'7': '#a1a1a1'
  				},
  				barSpacing: 2,
  				barColor: '#26B99A'
  			});
  			
  			
  			$(".sparkline_two").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], {
  				type: 'bar',
  				height: '40',
  				barWidth: 9,
  				colorMap: {
  					'7': '#a1a1a1'	
  				},
  				barSpacing: 2,
  				barColor: '#26B99A'
  			});
  			
  			
  			$(".sparkline_three").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], {
  				type: 'line',
  				width: '200',
  				height: '40',
  				lineColor: '#26B99A',
  				fillColor: 'rgba(223, 223, 223, 0.57)',
  				lineWidth: 2,
  				spotColor: '#26B99A',
  				minSpotColor: '#26B99A'
  			});
  			
  			
  			$(".sparkline11").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 6, 2, 4, 3, 4, 5, 4, 5, 4, 3], {
  				type: 'bar',
  				height: '40',
  				barWidth: 8,
  				colorMap: {
  					'7': '#a1a1a1'
  				},
  				barSpacing: 2,
  				barColor: '#26B99A'
  			});
  			
  			
  			$(".sparkline22").sparkline([2, 4, 3, 4, 7, 5, 4, 3, 5, 6, 2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 6], {
  				type: 'line',
  				height: '40',
  				width: '200',
  				lineColor: '#26B99A',
  				fillColor: '#ffffff',
  				lineWidth: 3,
  				spotColor: '#34495E',
  				minSpotColor: '#34495E'
  			});
  	
  	
  			$(".sparkline_bar").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5], {
  				type: 'bar',
  				colorMap: {
  					'7': '#a1a1a1'
  				},
  				barColor: '#26B99A'
  			});
  			
  			
  			$(".sparkline_area").sparkline([5, 6, 7, 9, 9, 5, 3, 2, 2, 4, 6, 7], {
  				type: 'line',
  				lineColor: '#26B99A',
  				fillColor: '#26B99A',
  				spotColor: '#4578a0',
  				minSpotColor: '#728fb2',
  				maxSpotColor: '#6d93c4',
  				highlightSpotColor: '#ef5179',
  				highlightLineColor: '#8ba8bf',
  				spotRadius: 2.5,
  				width: 85
  			});
  			
  			
  			$(".sparkline_line").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5], {
  				type: 'line',
  				lineColor: '#26B99A',
  				fillColor: '#ffffff',
  				width: 85,
  				spotColor: '#34495E',
  				minSpotColor: '#34495E'
  			});
  			
  			
  			$(".sparkline_pie").sparkline([1, 1, 2, 1], {
  				type: 'pie',
  				sliceColors: ['#26B99A', '#ccc', '#75BCDD', '#D66DE2']
  			});
  			
  			
  			$(".sparkline_discreet").sparkline([4, 6, 7, 7, 4, 3, 2, 1, 4, 4, 2, 4, 3, 7, 8, 9, 7, 6, 4, 3], {
  				type: 'discrete',
  				barWidth: 3,
  				lineColor: '#26B99A',
  				width: '85',
  			});
  
  			
  		};   
  	   
  	   
  	   /* AUTOCOMPLETE */
  			
  		function init_autocomplete() {
  			
  			if( typeof (autocomplete) === 'undefined'){ return; }
  			console.log('init_autocomplete');
  			
  			var countries = { AD:"Andorra",A2:"Andorra Test",AE:"United Arab Emirates",AF:"Afghanistan",AG:"Antigua and Barbuda",AI:"Anguilla",AL:"Albania",AM:"Armenia",AN:"Netherlands Antilles",AO:"Angola",AQ:"Antarctica",AR:"Argentina",AS:"American Samoa",AT:"Austria",AU:"Australia",AW:"Aruba",AX:"Åland Islands",AZ:"Azerbaijan",BA:"Bosnia and Herzegovina",BB:"Barbados",BD:"Bangladesh",BE:"Belgium",BF:"Burkina Faso",BG:"Bulgaria",BH:"Bahrain",BI:"Burundi",BJ:"Benin",BL:"Saint Barthélemy",BM:"Bermuda",BN:"Brunei",BO:"Bolivia",BQ:"British Antarctic Territory",BR:"Brazil",BS:"Bahamas",BT:"Bhutan",BV:"Bouvet Island",BW:"Botswana",BY:"Belarus",BZ:"Belize",CA:"Canada",CC:"Cocos [Keeling] Islands",CD:"Congo - Kinshasa",CF:"Central African Republic",CG:"Congo - Brazzaville",CH:"Switzerland",CI:"Côte d’Ivoire",CK:"Cook Islands",CL:"Chile",CM:"Cameroon",CN:"China",CO:"Colombia",CR:"Costa Rica",CS:"Serbia and Montenegro",CT:"Canton and Enderbury Islands",CU:"Cuba",CV:"Cape Verde",CX:"Christmas Island",CY:"Cyprus",CZ:"Czech Republic",DD:"East Germany",DE:"Germany",DJ:"Djibouti",DK:"Denmark",DM:"Dominica",DO:"Dominican Republic",DZ:"Algeria",EC:"Ecuador",EE:"Estonia",EG:"Egypt",EH:"Western Sahara",ER:"Eritrea",ES:"Spain",ET:"Ethiopia",FI:"Finland",FJ:"Fiji",FK:"Falkland Islands",FM:"Micronesia",FO:"Faroe Islands",FQ:"French Southern and Antarctic Territories",FR:"France",FX:"Metropolitan France",GA:"Gabon",GB:"United Kingdom",GD:"Grenada",GE:"Georgia",GF:"French Guiana",GG:"Guernsey",GH:"Ghana",GI:"Gibraltar",GL:"Greenland",GM:"Gambia",GN:"Guinea",GP:"Guadeloupe",GQ:"Equatorial Guinea",GR:"Greece",GS:"South Georgia and the South Sandwich Islands",GT:"Guatemala",GU:"Guam",GW:"Guinea-Bissau",GY:"Guyana",HK:"Hong Kong SAR China",HM:"Heard Island and McDonald Islands",HN:"Honduras",HR:"Croatia",HT:"Haiti",HU:"Hungary",ID:"Indonesia",IE:"Ireland",IL:"Israel",IM:"Isle of Man",IN:"India",IO:"British Indian Ocean Territory",IQ:"Iraq",IR:"Iran",IS:"Iceland",IT:"Italy",JE:"Jersey",JM:"Jamaica",JO:"Jordan",JP:"Japan",JT:"Johnston Island",KE:"Kenya",KG:"Kyrgyzstan",KH:"Cambodia",KI:"Kiribati",KM:"Comoros",KN:"Saint Kitts and Nevis",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KY:"Cayman Islands",KZ:"Kazakhstan",LA:"Laos",LB:"Lebanon",LC:"Saint Lucia",LI:"Liechtenstein",LK:"Sri Lanka",LR:"Liberia",LS:"Lesotho",LT:"Lithuania",LU:"Luxembourg",LV:"Latvia",LY:"Libya",MA:"Morocco",MC:"Monaco",MD:"Moldova",ME:"Montenegro",MF:"Saint Martin",MG:"Madagascar",MH:"Marshall Islands",MI:"Midway Islands",MK:"Macedonia",ML:"Mali",MM:"Myanmar [Burma]",MN:"Mongolia",MO:"Macau SAR China",MP:"Northern Mariana Islands",MQ:"Martinique",MR:"Mauritania",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MV:"Maldives",MW:"Malawi",MX:"Mexico",MY:"Malaysia",MZ:"Mozambique",NA:"Namibia",NC:"New Caledonia",NE:"Niger",NF:"Norfolk Island",NG:"Nigeria",NI:"Nicaragua",NL:"Netherlands",NO:"Norway",NP:"Nepal",NQ:"Dronning Maud Land",NR:"Nauru",NT:"Neutral Zone",NU:"Niue",NZ:"New Zealand",OM:"Oman",PA:"Panama",PC:"Pacific Islands Trust Territory",PE:"Peru",PF:"French Polynesia",PG:"Papua New Guinea",PH:"Philippines",PK:"Pakistan",PL:"Poland",PM:"Saint Pierre and Miquelon",PN:"Pitcairn Islands",PR:"Puerto Rico",PS:"Palestinian Territories",PT:"Portugal",PU:"U.S. Miscellaneous Pacific Islands",PW:"Palau",PY:"Paraguay",PZ:"Panama Canal Zone",QA:"Qatar",RE:"Réunion",RO:"Romania",RS:"Serbia",RU:"Russia",RW:"Rwanda",SA:"Saudi Arabia",SB:"Solomon Islands",SC:"Seychelles",SD:"Sudan",SE:"Sweden",SG:"Singapore",SH:"Saint Helena",SI:"Slovenia",SJ:"Svalbard and Jan Mayen",SK:"Slovakia",SL:"Sierra Leone",SM:"San Marino",SN:"Senegal",SO:"Somalia",SR:"Suriname",ST:"São Tomé and Príncipe",SU:"Union of Soviet Socialist Republics",SV:"El Salvador",SY:"Syria",SZ:"Swaziland",TC:"Turks and Caicos Islands",TD:"Chad",TF:"French Southern Territories",TG:"Togo",TH:"Thailand",TJ:"Tajikistan",TK:"Tokelau",TL:"Timor-Leste",TM:"Turkmenistan",TN:"Tunisia",TO:"Tonga",TR:"Turkey",TT:"Trinidad and Tobago",TV:"Tuvalu",TW:"Taiwan",TZ:"Tanzania",UA:"Ukraine",UG:"Uganda",UM:"U.S. Minor Outlying Islands",US:"United States",UY:"Uruguay",UZ:"Uzbekistan",VA:"Vatican City",VC:"Saint Vincent and the Grenadines",VD:"North Vietnam",VE:"Venezuela",VG:"British Virgin Islands",VI:"U.S. Virgin Islands",VN:"Vietnam",VU:"Vanuatu",WF:"Wallis and Futuna",WK:"Wake Island",WS:"Samoa",YD:"People's Democratic Republic of Yemen",YE:"Yemen",YT:"Mayotte",ZA:"South Africa",ZM:"Zambia",ZW:"Zimbabwe",ZZ:"Unknown or Invalid Region" };
  
  			var countriesArray = $.map(countries, function(value, key) {
  			  return {
  				value: value,
  				data: key
  			  };
  			});
  
  			// initialize autocomplete with custom appendTo
  			$('#autocomplete-custom-append').autocomplete({
  			  lookup: countriesArray
  			});
  			
  		};
  	   
  	 /* AUTOSIZE */
  			
  		function init_autosize() {
  			
  			if(typeof $.fn.autosize !== 'undefined'){
  			
  			autosize($('.resizable_textarea'));
  			
  			}
  			
  		};  
  	   
  	   /* PARSLEY */
  			
  		function init_parsley() {
  			
  			if( typeof (parsley) === 'undefined'){ return; }
  			console.log('init_parsley');
  			
  			$/*.listen*/('parsley:field:validate', function() {
  			  validateFront();
  			});
  			$('#demo-form .btn').on('click', function() {
  			  $('#demo-form').parsley().validate();
  			  validateFront();
  			});
  			var validateFront = function() {
  			  if (true === $('#demo-form').parsley().isValid()) {
  				$('.bs-callout-info').removeClass('hidden');
  				$('.bs-callout-warning').addClass('hidden');
  			  } else {
  				$('.bs-callout-info').addClass('hidden');
  				$('.bs-callout-warning').removeClass('hidden');
  			  }
  			};
  		  
  			$/*.listen*/('parsley:field:validate', function() {
  			  validateFront();
  			});
  			$('#demo-form2 .btn').on('click', function() {
  			  $('#demo-form2').parsley().validate();
  			  validateFront();
  			});
  			var validateFront = function() {
  			  if (true === $('#demo-form2').parsley().isValid()) {
  				$('.bs-callout-info').removeClass('hidden');
  				$('.bs-callout-warning').addClass('hidden');
  			  } else {
  				$('.bs-callout-info').addClass('hidden');
  				$('.bs-callout-warning').removeClass('hidden');
  			  }
  			};
  			
  			  try {
  				hljs.initHighlightingOnLoad();
  			  } catch (err) {}
  			
  		};
  	   
  		
  		  /* INPUTS */
  		  
  			function onAddTag(tag) {
  				alert("Added a tag: " + tag);
  			  }
  
  			  function onRemoveTag(tag) {
  				alert("Removed a tag: " + tag);
  			  }
  
  			  function onChangeTag(input, tag) {
  				alert("Changed a tag: " + tag);
  			  }
  
  			  //tags input
  			function init_TagsInput() {
  				  
  				if(typeof $.fn.tagsInput !== 'undefined'){	
  				 
  				$('#tags_1').tagsInput({
  				  width: 'auto'
  				});
  				
  				}
  				
  		    };
  	   
  		/* SELECT2 */
  	  
  		function init_select2() {
  			 
  			if( typeof (select2) === 'undefined'){ return; }
  			console.log('init_toolbox');
  			 
  			$(".select2_single").select2({
  			  placeholder: "Select a state",
  			  allowClear: true
  			});
  			$(".select2_group").select2({});
  			$(".select2_multiple").select2({
  			  maximumSelectionLength: 4,
  			  placeholder: "With Max Selection limit 4",
  			  allowClear: true
  			});
  			
  		};
  	   
  	   /* WYSIWYG EDITOR */
  
  		function init_wysiwyg() {
  			
  		if( typeof ($.fn.wysiwyg) === 'undefined'){ return; }
  		console.log('init_wysiwyg');	
  			
          function init_ToolbarBootstrapBindings() {
            var fonts = ['Serif', 'Sans', 'Arial', 'Arial Black', 'Courier',
                'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Tahoma', 'Times',
                'Times New Roman', 'Verdana'
              ],
              fontTarget = $('[title=Font]').siblings('.dropdown-menu');
            $.each(fonts, function(idx, fontName) {
              fontTarget.append($('<li><a data-edit="fontName ' + fontName + '" style="font-family:\'' + fontName + '\'">' + fontName + '</a></li>'));
            });
            $('a[title]').tooltip({
              container: 'body'
            });
            $('.dropdown-menu input').click(function() {
                return false;
              })
              .change(function() {
                $(this).parent('.dropdown-menu').siblings('.dropdown-toggle').dropdown('toggle');
              })
              .keydown('esc', function() {
                this.value = '';
                $(this).change();
              });
  
            $('[data-role=magic-overlay]').each(function() {
              var overlay = $(this),
                target = $(overlay.data('target'));
              overlay.css('opacity', 0).css('position', 'absolute').offset(target.offset()).width(target.outerWidth()).height(target.outerHeight());
            });
  
            if ("onwebkitspeechchange" in document.createElement("input")) {
              var editorOffset = $('#editor').offset();
  
              $('.voiceBtn').css('position', 'absolute').offset({
                top: editorOffset.top,
                left: editorOffset.left + $('#editor').innerWidth() - 35
              });
            } else {
              $('.voiceBtn').hide();
            }
          }
  
          function showErrorAlert(reason, detail) {
            var msg = '';
            if (reason === 'unsupported-file-type') {
              msg = "Unsupported format " + detail;
            } else {
              console.log("error uploading file", reason, detail);
            }
            $('<div class="alert"> <button type="button" class="close" data-dismiss="alert">&times;</button>' +
              '<strong>File upload error</strong> ' + msg + ' </div>').prependTo('#alerts');
          }
  
         $('.editor-wrapper').each(function(){
  			var id = $(this).attr('id');	//editor-one
  			
  			$(this).wysiwyg({
  				toolbarSelector: '[data-target="#' + id + '"]',
  				fileUploadError: showErrorAlert
  			});	
  		});
   
  		
          window.prettyPrint;
          prettyPrint();
  	
      };
  	  
  	/* CROPPER */
  		
  		function init_cropper() {
  			
  			
  			if( typeof ($.fn.cropper) === 'undefined'){ return; }
  			console.log('init_cropper');
  			
  			var $image = $('#image');
  			var $download = $('#download');
  			var $dataX = $('#dataX');
  			var $dataY = $('#dataY');
  			var $dataHeight = $('#dataHeight');
  			var $dataWidth = $('#dataWidth');
  			var $dataRotate = $('#dataRotate');
  			var $dataScaleX = $('#dataScaleX');
  			var $dataScaleY = $('#dataScaleY');
  			var options = {
  				  aspectRatio: 16 / 9,
  				  preview: '.img-preview',
  				  crop: function (e) {
  					$dataX.val(Math.round(e.x));
  					$dataY.val(Math.round(e.y));
  					$dataHeight.val(Math.round(e.height));
  					$dataWidth.val(Math.round(e.width));
  					$dataRotate.val(e.rotate);
  					$dataScaleX.val(e.scaleX);
  					$dataScaleY.val(e.scaleY);
  				  }
  				};
  
  
  			// Tooltip
  			$('[data-toggle="tooltip"]').tooltip();
  
  
  			// Cropper
  			$image.on({
  			  'build.cropper': function (e) {
  				console.log(e.type);
  			  },
  			  'built.cropper': function (e) {
  				console.log(e.type);
  			  },
  			  'cropstart.cropper': function (e) {
  				console.log(e.type, e.action);
  			  },
  			  'cropmove.cropper': function (e) {
  				console.log(e.type, e.action);
  			  },
  			  'cropend.cropper': function (e) {
  				console.log(e.type, e.action);
  			  },
  			  'crop.cropper': function (e) {
  				console.log(e.type, e.x, e.y, e.width, e.height, e.rotate, e.scaleX, e.scaleY);
  			  },
  			  'zoom.cropper': function (e) {
  				console.log(e.type, e.ratio);
  			  }
  			}).cropper(options);
  
  
  			// Buttons
  			if (!$.isFunction(document.createElement('canvas').getContext)) {
  			  $('button[data-method="getCroppedCanvas"]').prop('disabled', true);
  			}
  
  			if (typeof document.createElement('cropper').style.transition === 'undefined') {
  			  $('button[data-method="rotate"]').prop('disabled', true);
  			  $('button[data-method="scale"]').prop('disabled', true);
  			}
  
  
  			// Download
  			if (typeof $download[0].download === 'undefined') {
  			  $download.addClass('disabled');
  			}
  
  
  			// Options
  			$('.docs-toggles').on('change', 'input', function () {
  			  var $this = $(this);
  			  var name = $this.attr('name');
  			  var type = $this.prop('type');
  			  var cropBoxData;
  			  var canvasData;
  
  			  if (!$image.data('cropper')) {
  				return;
  			  }
  
  			  if (type === 'checkbox') {
  				options[name] = $this.prop('checked');
  				cropBoxData = $image.cropper('getCropBoxData');
  				canvasData = $image.cropper('getCanvasData');
  
  				options.built = function () {
  				  $image.cropper('setCropBoxData', cropBoxData);
  				  $image.cropper('setCanvasData', canvasData);
  				};
  			  } else if (type === 'radio') {
  				options[name] = $this.val();
  			  }
  
  			  $image.cropper('destroy').cropper(options);
  			});
  
  
  			// Methods
  			$('.docs-buttons').on('click', '[data-method]', function () {
  			  var $this = $(this);
  			  var data = $this.data();
  			  var $target;
  			  var result;
  
  			  if ($this.prop('disabled') || $this.hasClass('disabled')) {
  				return;
  			  }
  
  			  if ($image.data('cropper') && data.method) {
  				data = $.extend({}, data); // Clone a new one
  
  				if (typeof data.target !== 'undefined') {
  				  $target = $(data.target);
  
  				  if (typeof data.option === 'undefined') {
  					try {
  					  data.option = JSON.parse($target.val());
  					} catch (e) {
  					  console.log(e.message);
  					}
  				  }
  				}
  
  				result = $image.cropper(data.method, data.option, data.secondOption);
  
  				switch (data.method) {
  				  case 'scaleX':
  				  case 'scaleY':
  					$(this).data('option', -data.option);
  					break;
  
  				  case 'getCroppedCanvas':
  					if (result) {
  
  					  // Bootstrap's Modal
  					  $('#getCroppedCanvasModal').modal().find('.modal-body').html(result);
  
  					  if (!$download.hasClass('disabled')) {
  						$download.attr('href', result.toDataURL());
  					  }
  					}
  
  					break;
  				}
  
  				if ($.isPlainObject(result) && $target) {
  				  try {
  					$target.val(JSON.stringify(result));
  				  } catch (e) {
  					console.log(e.message);
  				  }
  				}
  
  			  }
  			});
  
  			// Keyboard
  			$(document.body).on('keydown', function (e) {
  			  if (!$image.data('cropper') || this.scrollTop > 300) {
  				return;
  			  }
  
  			  switch (e.which) {
  				case 37:
  				  e.preventDefault();
  				  $image.cropper('move', -1, 0);
  				  break;
  
  				case 38:
  				  e.preventDefault();
  				  $image.cropper('move', 0, -1);
  				  break;
  
  				case 39:
  				  e.preventDefault();
  				  $image.cropper('move', 1, 0);
  				  break;
  
  				case 40:
  				  e.preventDefault();
  				  $image.cropper('move', 0, 1);
  				  break;
  			  }
  			});
  
  			// Import image
  			var $inputImage = $('#inputImage');
  			var URL = window.URL || window.webkitURL;
  			var blobURL;
  
  			if (URL) {
  			  $inputImage.change(function () {
  				var files = this.files;
  				var file;
  
  				if (!$image.data('cropper')) {
  				  return;
  				}
  
  				if (files && files.length) {
  				  file = files[0];
  
  				  if (/^image\/\w+$/.test(file.type)) {
  					blobURL = URL.createObjectURL(file);
  					$image.one('built.cropper', function () {
  
  					  // Revoke when load complete
  					  URL.revokeObjectURL(blobURL);
  					}).cropper('reset').cropper('replace', blobURL);
  					$inputImage.val('');
  				  } else {
  					window.alert('Please choose an image file.');
  				  }
  				}
  			  });
  			} else {
  			  $inputImage.prop('disabled', true).parent().addClass('disabled');
  			}
  			
  			
  		};
  		
  		/* CROPPER --- end */  
  	  
  		/* KNOB */
  	  
  		function init_knob() {
  		
  				if( typeof ($.fn.knob) === 'undefined'){ return; }
  				console.log('init_knob');
  	
  				$(".knob").knob({
  				  change: function(value) {
  					//console.log("change : " + value);
  				  },
  				  release: function(value) {
  					//console.log(this.$.attr('value'));
  					console.log("release : " + value);
  				  },
  				  cancel: function() {
  					console.log("cancel : ", this);
  				  },
  				  /*format : function (value) {
  				   return value + '%';
  				   },*/
  				  draw: function() {
  
  					// "tron" case
  					if (this.$.data('skin') == 'tron') {
  
  					  this.cursorExt = 0.3;
  
  					  var a = this.arc(this.cv) // Arc
  						,
  						pa // Previous arc
  						, r = 1;
  
  					  this.g.lineWidth = this.lineWidth;
  
  					  if (this.o.displayPrevious) {
  						pa = this.arc(this.v);
  						this.g.beginPath();
  						this.g.strokeStyle = this.pColor;
  						this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, pa.s, pa.e, pa.d);
  						this.g.stroke();
  					  }
  
  					  this.g.beginPath();
  					  this.g.strokeStyle = r ? this.o.fgColor : this.fgColor;
  					  this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, a.s, a.e, a.d);
  					  this.g.stroke();
  
  					  this.g.lineWidth = 2;
  					  this.g.beginPath();
  					  this.g.strokeStyle = this.o.fgColor;
  					  this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false);
  					  this.g.stroke();
  
  					  return false;
  					}
  				  }
  				  
  				});
  
  				// Example of infinite knob, iPod click wheel
  				var v, up = 0,
  				  down = 0,
  				  i = 0,
  				  $idir = $("div.idir"),
  				  $ival = $("div.ival"),
  				  incr = function() {
  					i++;
  					$idir.show().html("+").fadeOut();
  					$ival.html(i);
  				  },
  				  decr = function() {
  					i--;
  					$idir.show().html("-").fadeOut();
  					$ival.html(i);
  				  };
  				$("input.infinite").knob({
  				  min: 0,
  				  max: 20,
  				  stopper: false,
  				  change: function() {
  					if (v > this.cv) {
  					  if (up) {
  						decr();
  						up = 0;
  					  } else {
  						up = 1;
  						down = 0;
  					  }
  					} else {
  					  if (v < this.cv) {
  						if (down) {
  						  incr();
  						  down = 0;
  						} else {
  						  down = 1;
  						  up = 0;
  						}
  					  }
  					}
  					v = this.cv;
  				  }
  				});
  				
  		};
  	 
  		/* INPUT MASK */
  			
  		function init_InputMask() {
  			
  			if( typeof ($.fn.inputmask) === 'undefined'){ return; }
  			console.log('init_InputMask');
  			
  				$(":input").inputmask();
  				
  		};
  	  
  		/* COLOR PICKER */
  			 
  		function init_ColorPicker() {
  			
  			if( typeof ($.fn.colorpicker) === 'undefined'){ return; }
  			console.log('init_ColorPicker');
  			
  				$('.demo1').colorpicker();
  				$('.demo2').colorpicker();
  
  				$('#demo_forceformat').colorpicker({
  					format: 'rgba',
  					horizontal: true
  				});
  
  				$('#demo_forceformat3').colorpicker({
  					format: 'rgba',
  				});
  
  				$('.demo-auto').colorpicker();
  			
  		}; 
  	   
  	   
  		/* ION RANGE SLIDER */
  			
  		function init_IonRangeSlider() {
  			
  			if( typeof ($.fn.ionRangeSlider) === 'undefined'){ return; }
  			console.log('init_IonRangeSlider');
  			
  			$("#range_27").ionRangeSlider({
  			  type: "double",
  			  min: 1000000,
  			  max: 2000000,
  			  grid: true,
  			  force_edges: true
  			});
  			$("#range").ionRangeSlider({
  			  hide_min_max: true,
  			  keyboard: true,
  			  min: 0,
  			  max: 5000,
  			  from: 1000,
  			  to: 4000,
  			  type: 'double',
  			  step: 1,
  			  prefix: "$",
  			  grid: true
  			});
  			$("#range_25").ionRangeSlider({
  			  type: "double",
  			  min: 1000000,
  			  max: 2000000,
  			  grid: true
  			});
  			$("#range_26").ionRangeSlider({
  			  type: "double",
  			  min: 0,
  			  max: 10000,
  			  step: 500,
  			  grid: true,
  			  grid_snap: true
  			});
  			$("#range_31").ionRangeSlider({
  			  type: "double",
  			  min: 0,
  			  max: 100,
  			  from: 30,
  			  to: 70,
  			  from_fixed: true
  			});
  			$(".range_min_max").ionRangeSlider({
  			  type: "double",
  			  min: 0,
  			  max: 100,
  			  from: 30,
  			  to: 70,
  			  max_interval: 50
  			});
  			$(".range_time24").ionRangeSlider({
  			  min: +moment().subtract(12, "hours").format("X"),
  			  max: +moment().format("X"),
  			  from: +moment().subtract(6, "hours").format("X"),
  			  grid: true,
  			  force_edges: true,
  			  prettify: function(num) {
  				var m = moment(num, "X");
  				return m.format("Do MMMM, HH:mm");
  			  }
  			});
  			
  		};
  	   
  	   
  	   /* DATERANGEPICKER */
  	   
  		function init_daterangepicker() {
  
  			if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }
  			console.log('init_daterangepicker');
  		
  			var cb = function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			  $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
  			};
  
  			var optionSet1 = {
  			  startDate: moment().subtract(29, 'days'),
  			  endDate: moment(),
  			  minDate: '01/01/2012',
  			  maxDate: '12/31/2015',
  			  dateLimit: {
  				days: 60
  			  },
  			  showDropdowns: true,
  			  showWeekNumbers: true,
  			  timePicker: false,
  			  timePickerIncrement: 1,
  			  timePicker12Hour: true,
  			  ranges: {
  				'Today': [moment(), moment()],
  				'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
  				'Last 7 Days': [moment().subtract(6, 'days'), moment()],
  				'Last 30 Days': [moment().subtract(29, 'days'), moment()],
  				'This Month': [moment().startOf('month'), moment().endOf('month')],
  				'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
  			  },
  			  opens: 'left',
  			  buttonClasses: ['btn btn-default'],
  			  applyClass: 'btn-small btn-primary',
  			  cancelClass: 'btn-small',
  			  format: 'MM/DD/YYYY',
  			  separator: ' to ',
  			  locale: {
  				applyLabel: 'Submit',
  				cancelLabel: 'Clear',
  				fromLabel: 'From',
  				toLabel: 'To',
  				customRangeLabel: 'Custom',
  				daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
  				monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
  				firstDay: 1
  			  }
  			};
  			
  			$('#reportrange span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY'));
  			$('#reportrange').daterangepicker(optionSet1, cb);
  			$('#reportrange').on('show.daterangepicker', function() {
  			  console.log("show event fired");
  			});
  			$('#reportrange').on('hide.daterangepicker', function() {
  			  console.log("hide event fired");
  			});
  			$('#reportrange').on('apply.daterangepicker', function(ev, picker) {
  			  console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY'));
  			});
  			$('#reportrange').on('cancel.daterangepicker', function(ev, picker) {
  			  console.log("cancel event fired");
  			});
  			$('#options1').click(function() {
  			  $('#reportrange').data('daterangepicker').setOptions(optionSet1, cb);
  			});
  			$('#options2').click(function() {
  			  $('#reportrange').data('daterangepicker').setOptions(optionSet2, cb);
  			});
  			$('#destroy').click(function() {
  			  $('#reportrange').data('daterangepicker').remove();
  			});
     
  		}
     	   
  	   function init_daterangepicker_right() {
  	      
  				if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }
  				console.log('init_daterangepicker_right');
  		  
  				var cb = function(start, end, label) {
  				  console.log(start.toISOString(), end.toISOString(), label);
  				  $('#reportrange_right span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
  				};
  
  				var optionSet1 = {
  				  startDate: moment().subtract(29, 'days'),
  				  endDate: moment(),
  				  minDate: '01/01/2012',
  				  maxDate: '12/31/2020',
  				  dateLimit: {
  					days: 60
  				  },
  				  showDropdowns: true,
  				  showWeekNumbers: true,
  				  timePicker: false,
  				  timePickerIncrement: 1,
  				  timePicker12Hour: true,
  				  ranges: {
  					'Today': [moment(), moment()],
  					'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
  					'Last 7 Days': [moment().subtract(6, 'days'), moment()],
  					'Last 30 Days': [moment().subtract(29, 'days'), moment()],
  					'This Month': [moment().startOf('month'), moment().endOf('month')],
  					'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
  				  },
  				  opens: 'right',
  				  buttonClasses: ['btn btn-default'],
  				  applyClass: 'btn-small btn-primary',
  				  cancelClass: 'btn-small',
  				  format: 'MM/DD/YYYY',
  				  separator: ' to ',
  				  locale: {
  					applyLabel: 'Submit',
  					cancelLabel: 'Clear',
  					fromLabel: 'From',
  					toLabel: 'To',
  					customRangeLabel: 'Custom',
  					daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
  					monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
  					firstDay: 1
  				  }
  				};
  
  				$('#reportrange_right span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY'));
  
  				$('#reportrange_right').daterangepicker(optionSet1, cb);
  
  				$('#reportrange_right').on('show.daterangepicker', function() {
  				  console.log("show event fired");
  				});
  				$('#reportrange_right').on('hide.daterangepicker', function() {
  				  console.log("hide event fired");
  				});
  				$('#reportrange_right').on('apply.daterangepicker', function(ev, picker) {
  				  console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY'));
  				});
  				$('#reportrange_right').on('cancel.daterangepicker', function(ev, picker) {
  				  console.log("cancel event fired");
  				});
  
  				$('#options1').click(function() {
  				  $('#reportrange_right').data('daterangepicker').setOptions(optionSet1, cb);
  				});
  
  				$('#options2').click(function() {
  				  $('#reportrange_right').data('daterangepicker').setOptions(optionSet2, cb);
  				});
  
  				$('#destroy').click(function() {
  				  $('#reportrange_right').data('daterangepicker').remove();
  				});
  
  	   }
  	   
  	    function init_daterangepicker_single_call() {
  	      
  			if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }
  			console.log('init_daterangepicker_single_call');
  		   
  			$('#single_cal1').daterangepicker({
  			  singleDatePicker: true,
  			  singleClasses: "picker_1"
  			}, function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			});
  			$('#single_cal2').daterangepicker({
  			  singleDatePicker: true,
  			  singleClasses: "picker_2"
  			}, function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			});
  			$('#single_cal3').daterangepicker({
  			  singleDatePicker: true,
  			  singleClasses: "picker_3"
  			}, function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			});
  			$('#single_cal4').daterangepicker({
  			  singleDatePicker: true,
  			  singleClasses: "picker_4"
  			}, function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			});
    
    
  		}
  		
  		 
  		function init_daterangepicker_reservation() {
  	      
  			if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }
  			console.log('init_daterangepicker_reservation');
  		 
  			$('#reservation').daterangepicker(null, function(start, end, label) {
  			  console.log(start.toISOString(), end.toISOString(), label);
  			});
  
  			$('#reservation-time').daterangepicker({
  			  timePicker: true,
  			  timePickerIncrement: 30,
  			  locale: {
  				format: 'MM/DD/YYYY h:mm A'
  			  }
  			});
  	
  		}
  	   
  	   /* SMART WIZARD */
  		
  		function init_SmartWizard() {
  			
  			if( typeof ($.fn.smartWizard) === 'undefined'){ return; }
  			console.log('init_SmartWizard');
  			
  			$('#wizard').smartWizard();
  
  			$('#wizard_verticle').smartWizard({
  			  transitionEffect: 'slide'
  			});
  
  			$('.buttonNext').addClass('btn btn-success');
  			$('.buttonPrevious').addClass('btn btn-primary');
  			$('.buttonFinish').addClass('btn btn-default');
  			
  		};
  	   
  	   
  	  /* VALIDATOR */
  
  	  function init_validator () {
  		 
  		if( typeof (validator) === 'undefined'){ return; }
  		console.log('init_validator'); 
  	  
  	  // initialize the validator function
        validator.message.date = 'not a real date';
  
        // validate a field on "blur" event, a 'select' on 'change' event & a '.reuired' classed multifield on 'keyup':
        $('form')
          .on('blur', 'input[required], input.optional, select.required', validator.checkField)
          .on('change', 'select.required', validator.checkField)
          .on('keypress', 'input[required][pattern]', validator.keypress);
  
        $('.multi.required').on('keyup blur', 'input', function() {
          validator.checkField.apply($(this).siblings().last()[0]);
        });
  
        $('form').submit(function(e) {
          e.preventDefault();
          var submit = true;
  
          // evaluate the form using generic validaing
          if (!validator.checkAll($(this))) {
            submit = false;
          }
  
          if (submit)
            this.submit();
  
          return false;
  		});
  	  
  	  };
  	   
  	  	/* PNotify */
  			
  		
  	   
  	   
  	   /* CUSTOM NOTIFICATION */
  			
  		function init_CustomNotification() {
  			
  			console.log('run_customtabs');
  			
  			if( typeof (CustomTabs) === 'undefined'){ return; }
  			console.log('init_CustomTabs');
  			
  			var cnt = 10;
  
  			TabbedNotification = function(options) {
  			  var message = "<div id='ntf" + cnt + "' class='text alert-" + options.type + "' style='display:none'><h2><i class='fa fa-bell'></i> " + options.title +
  				"</h2><div class='close'><a href='javascript:;' class='notification_close'><i class='fa fa-close'></i></a></div><p>" + options.text + "</p></div>";
  
  			  if (!document.getElementById('custom_notifications')) {
  				alert('doesnt exists');
  			  } else {
  				$('#custom_notifications ul.notifications').append("<li><a id='ntlink" + cnt + "' class='alert-" + options.type + "' href='#ntf" + cnt + "'><i class='fa fa-bell animated shake'></i></a></li>");
  				$('#custom_notifications #notif-group').append(message);
  				cnt++;
  				CustomTabs(options);
  			  }
  			};
  
  			CustomTabs = function(options) {
  			  $('.tabbed_notifications > div').hide();
  			  $('.tabbed_notifications > div:first-of-type').show();
  			  $('#custom_notifications').removeClass('dsp_none');
  			  $('.notifications a').click(function(e) {
  				e.preventDefault();
  				var $this = $(this),
  				  tabbed_notifications = '#' + $this.parents('.notifications').data('tabbed_notifications'),
  				  others = $this.closest('li').siblings().children('a'),
  				  target = $this.attr('href');
  				others.removeClass('active');
  				$this.addClass('active');
  				$(tabbed_notifications).children('div').hide();
  				$(target).show();
  			  });
  			};
  
  			CustomTabs();
  
  			var tabid = idname = '';
  
  			$(document).on('click', '.notification_close', function(e) {
  			  idname = $(this).parent().parent().attr("id");
  			  tabid = idname.substr(-2);
  			  $('#ntf' + tabid).remove();
  			  $('#ntlink' + tabid).parent().remove();
  			  $('.notifications a').first().addClass('active');
  			  $('#notif-group div').first().css('display', 'block');
  			});
  			
  		};
  		
  			/* EASYPIECHART */
  			
  			function init_EasyPieChart() {
  				
  				if( typeof ($.fn.easyPieChart) === 'undefined'){ return; }
  				console.log('init_EasyPieChart');
  				
  				$('.chart').easyPieChart({
  				  easing: 'easeOutElastic',
  				  delay: 3000,
  				  barColor: '#26B99A',
  				  trackColor: '#fff',
  				  scaleColor: false,
  				  lineWidth: 20,
  				  trackWidth: 16,
  				  lineCap: 'butt',
  				  onStep: function(from, to, percent) {
  					$(this.el).find('.percent').text(Math.round(percent));
  				  }
  				});
  				var chart = window.chart = $('.chart').data('easyPieChart');
  				$('.js_update').on('click', function() {
  				  chart.update(Math.random() * 200 - 100);
  				});
  
  				//hover and retain popover when on popover content
  				var originalLeave = $.fn.popover.Constructor.prototype.leave;
  				$.fn.popover.Constructor.prototype.leave = function(obj) {
  				  var self = obj instanceof this.constructor ?
  					obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type);
  				  var container, timeout;
  
  				  originalLeave.call(this, obj);
  
  				  if (obj.currentTarget) {
  					container = $(obj.currentTarget).siblings('.popover');
  					timeout = self.timeout;
  					container.one('mouseenter', function() {
  					  //We entered the actual popover – call off the dogs
  					  clearTimeout(timeout);
  					  //Let's monitor popover content instead
  					  container.one('mouseleave', function() {
  						$.fn.popover.Constructor.prototype.leave.call(self, self);
  					  });
  					});
  				  }
  				};
  
  				$('body').popover({
  				  selector: '[data-popover]',
  				  trigger: 'click hover',
  				  delay: {
  					show: 50,
  					hide: 400
  				  }
  				});
  				
  			};
  	   
  		
  		function init_charts() {
  			
  				console.log('run_charts  typeof [' + typeof (Chart) + ']');
  			
  				if( typeof (Chart) === 'undefined'){ return; }
  				
  				console.log('init_charts');
  			
  				
  				Chart.defaults.global.legend = {
  					enabled: false
  				};
  				
  				
  
  			if ($('#canvas_line').length ){
  				
  				var canvas_line_00 = new Chart(document.getElementById("canvas_line"), {
  				  type: 'line',
  				  data: {
  					labels: ["January", "February", "March", "April", "May", "June", "July"],
  					datasets: [{
  					  label: "My First dataset",
  					  backgroundColor: "rgba(38, 185, 154, 0.31)",
  					  borderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(220,220,220,1)",
  					  pointBorderWidth: 1,
  					  data: [31, 74, 6, 39, 20, 85, 7]
  					}, {
  					  label: "My Second dataset",
  					  backgroundColor: "rgba(3, 88, 106, 0.3)",
  					  borderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(151,187,205,1)",
  					  pointBorderWidth: 1,
  					  data: [82, 23, 66, 9, 99, 4, 2]
  					}]
  				  },
  				});
  				
  			}
  
  			
  			if ($('#canvas_line1').length ){
  			
  				var canvas_line_01 = new Chart(document.getElementById("canvas_line1"), {
  				  type: 'line',
  				  data: {
  					labels: ["January", "February", "March", "April", "May", "June", "July"],
  					datasets: [{
  					  label: "My First dataset",
  					  backgroundColor: "rgba(38, 185, 154, 0.31)",
  					  borderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(220,220,220,1)",
  					  pointBorderWidth: 1,
  					  data: [31, 74, 6, 39, 20, 85, 7]
  					}, {
  					  label: "My Second dataset",
  					  backgroundColor: "rgba(3, 88, 106, 0.3)",
  					  borderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(151,187,205,1)",
  					  pointBorderWidth: 1,
  					  data: [82, 23, 66, 9, 99, 4, 2]
  					}]
  				  },
  				});
  			
  			}
  				
  				
  			if ($('#canvas_line2').length ){		
  			
  				var canvas_line_02 = new Chart(document.getElementById("canvas_line2"), {
  				  type: 'line',
  				  data: {
  					labels: ["January", "February", "March", "April", "May", "June", "July"],
  					datasets: [{
  					  label: "My First dataset",
  					  backgroundColor: "rgba(38, 185, 154, 0.31)",
  					  borderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(220,220,220,1)",
  					  pointBorderWidth: 1,
  					  data: [31, 74, 6, 39, 20, 85, 7]
  					}, {
  					  label: "My Second dataset",
  					  backgroundColor: "rgba(3, 88, 106, 0.3)",
  					  borderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(151,187,205,1)",
  					  pointBorderWidth: 1,
  					  data: [82, 23, 66, 9, 99, 4, 2]
  					}]
  				  },
  				});
  
  			}	
  			
  			
  			if ($('#canvas_line3').length ){
  			
  				var canvas_line_03 = new Chart(document.getElementById("canvas_line3"), {
  				  type: 'line',
  				  data: {
  					labels: ["January", "February", "March", "April", "May", "June", "July"],
  					datasets: [{
  					  label: "My First dataset",
  					  backgroundColor: "rgba(38, 185, 154, 0.31)",
  					  borderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(220,220,220,1)",
  					  pointBorderWidth: 1,
  					  data: [31, 74, 6, 39, 20, 85, 7]
  					}, {
  					  label: "My Second dataset",
  					  backgroundColor: "rgba(3, 88, 106, 0.3)",
  					  borderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(151,187,205,1)",
  					  pointBorderWidth: 1,
  					  data: [82, 23, 66, 9, 99, 4, 2]
  					}]
  				  },
  				});
  
  			}	
  			
  			
  			if ($('#canvas_line4').length ){
  				
  				var canvas_line_04 = new Chart(document.getElementById("canvas_line4"), {
  				  type: 'line',
  				  data: {
  					labels: ["January", "February", "March", "April", "May", "June", "July"],
  					datasets: [{
  					  label: "My First dataset",
  					  backgroundColor: "rgba(38, 185, 154, 0.31)",
  					  borderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					  pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(220,220,220,1)",
  					  pointBorderWidth: 1,
  					  data: [31, 74, 6, 39, 20, 85, 7]
  					}, {
  					  label: "My Second dataset",
  					  backgroundColor: "rgba(3, 88, 106, 0.3)",
  					  borderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					  pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					  pointHoverBackgroundColor: "#fff",
  					  pointHoverBorderColor: "rgba(151,187,205,1)",
  					  pointBorderWidth: 1,
  					  data: [82, 23, 66, 9, 99, 4, 2]
  					}]
  				  },
  				});		
  				
  			}
  			
  				
  			  // Line chart
  			 
  			if ($('#lineChart').length ){	
  			
  			  var ctx = document.getElementById("lineChart");
  			  var lineChart = new Chart(ctx, {
  				type: 'line',
  				data: {
  				  labels: ["January", "February", "March", "April", "May", "June", "July"],
  				  datasets: [{
  					label: "My First dataset",
  					backgroundColor: "rgba(38, 185, 154, 0.31)",
  					borderColor: "rgba(38, 185, 154, 0.7)",
  					pointBorderColor: "rgba(38, 185, 154, 0.7)",
  					pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
  					pointHoverBackgroundColor: "#fff",
  					pointHoverBorderColor: "rgba(220,220,220,1)",
  					pointBorderWidth: 1,
  					data: [31, 74, 6, 39, 20, 85, 7]
  				  }, {
  					label: "My Second dataset",
  					backgroundColor: "rgba(3, 88, 106, 0.3)",
  					borderColor: "rgba(3, 88, 106, 0.70)",
  					pointBorderColor: "rgba(3, 88, 106, 0.70)",
  					pointBackgroundColor: "rgba(3, 88, 106, 0.70)",
  					pointHoverBackgroundColor: "#fff",
  					pointHoverBorderColor: "rgba(151,187,205,1)",
  					pointBorderWidth: 1,
  					data: [82, 23, 66, 9, 99, 4, 2]
  				  }]
  				},
  			  });
  			
  			}
  				
  			  // Bar chart
  			  
  			if ($('#mybarChart').length ){ 
  			  
  			  var ctx = document.getElementById("mybarChart");
  			  var mybarChart = new Chart(ctx, {
  				type: 'bar',
  				data: {
  				  labels: ["January", "February", "March", "April", "May", "June", "July"],
  				  datasets: [{
  					label: '# of Votes',
  					backgroundColor: "#26B99A",
  					data: [51, 30, 40, 28, 92, 50, 45]
  				  }, {
  					label: '# of Votes',
  					backgroundColor: "#03586A",
  					data: [41, 56, 25, 48, 72, 34, 12]
  				  }]
  				},
  
  				options: {
  				  scales: {
  					yAxes: [{
  					  ticks: {
  						beginAtZero: true
  					  }
  					}]
  				  }
  				}
  			  });
  			  
  			} 
  			  
  
  			  // Doughnut chart
  			  
  			if ($('#canvasDoughnut').length ){ 
  			  
  			  var ctx = document.getElementById("canvasDoughnut");
  			  var data = {
  				labels: [
  				  "Dark Grey",
  				  "Purple Color",
  				  "Gray Color",
  				  "Green Color",
  				  "Blue Color"
  				],
  				datasets: [{
  				  data: [120, 50, 140, 180, 100],
  				  backgroundColor: [
  					"#455C73",
  					"#9B59B6",
  					"#BDC3C7",
  					"#26B99A",
  					"#3498DB"
  				  ],
  				  hoverBackgroundColor: [
  					"#34495E",
  					"#B370CF",
  					"#CFD4D8",
  					"#36CAAB",
  					"#49A9EA"
  				  ]
  
  				}]
  			  };
  
  			  var canvasDoughnut = new Chart(ctx, {
  				type: 'doughnut',
  				tooltipFillColor: "rgba(51, 51, 51, 0.55)",
  				data: data
  			  });
  			 
  			} 
  
  			  // Radar chart
  			  
  			if ($('#canvasRadar').length ){ 
  			  
  			  var ctx = document.getElementById("canvasRadar");
  			  var data = {
  				labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
  				datasets: [{
  				  label: "My First dataset",
  				  backgroundColor: "rgba(3, 88, 106, 0.2)",
  				  borderColor: "rgba(3, 88, 106, 0.80)",
  				  pointBorderColor: "rgba(3, 88, 106, 0.80)",
  				  pointBackgroundColor: "rgba(3, 88, 106, 0.80)",
  				  pointHoverBackgroundColor: "#fff",
  				  pointHoverBorderColor: "rgba(220,220,220,1)",
  				  data: [65, 59, 90, 81, 56, 55, 40]
  				}, {
  				  label: "My Second dataset",
  				  backgroundColor: "rgba(38, 185, 154, 0.2)",
  				  borderColor: "rgba(38, 185, 154, 0.85)",
  				  pointColor: "rgba(38, 185, 154, 0.85)",
  				  pointStrokeColor: "#fff",
  				  pointHighlightFill: "#fff",
  				  pointHighlightStroke: "rgba(151,187,205,1)",
  				  data: [28, 48, 40, 19, 96, 27, 100]
  				}]
  			  };
  
  			  var canvasRadar = new Chart(ctx, {
  				type: 'radar',
  				data: data,
  			  });
  			
  			}
  			
  			
  			  // Pie chart
  			  if ($('#pieChart').length ){
  				  
  				  var ctx = document.getElementById("pieChart");
  				  var data = {
  					datasets: [{
  					  data: [120, 50, 140, 180, 100],
  					  backgroundColor: [
  						"#455C73",
  						"#9B59B6",
  						"#BDC3C7",
  						"#26B99A",
  						"#3498DB"
  					  ],
  					  label: 'My dataset' // for legend
  					}],
  					labels: [
  					  "Dark Gray",
  					  "Purple",
  					  "Gray",
  					  "Green",
  					  "Blue"
  					]
  				  };
  
  				  var pieChart = new Chart(ctx, {
  					data: data,
  					type: 'pie',
  					otpions: {
  					  legend: false
  					}
  				  });
  				  
  			  }
  			
  			  
  			  // PolarArea chart
  
  			if ($('#polarArea').length ){
  
  				var ctx = document.getElementById("polarArea");
  				var data = {
  				datasets: [{
  				  data: [120, 50, 140, 180, 100],
  				  backgroundColor: [
  					"#455C73",
  					"#9B59B6",
  					"#BDC3C7",
  					"#26B99A",
  					"#3498DB"
  				  ],
  				  label: 'My dataset'
  				}],
  				labels: [
  				  "Dark Gray",
  				  "Purple",
  				  "Gray",
  				  "Green",
  				  "Blue"
  				]
  				};
  
  				var polarArea = new Chart(ctx, {
  				data: data,
  				type: 'polarArea',
  				options: {
  				  scale: {
  					ticks: {
  					  beginAtZero: true
  					}
  				  }
  				}
  				});
  			
  			}
  		}
  
  		/* COMPOSE */
  		
  		function init_compose() {
  		
  			if( typeof ($.fn.slideToggle) === 'undefined'){ return; }
  			console.log('init_compose');
  		
  			$('#compose, .compose-close').click(function(){
  				$('.compose').slideToggle();
  			});
  		
  		};
  	   
  	   	/* CALENDAR */
  		  
  		    function  init_calendar() {
  					
  				if( typeof ($.fn.fullCalendar) === 'undefined'){ return; }
  				console.log('init_calendar');
  					
  				var date = new Date(),
  					d = date.getDate(),
  					m = date.getMonth(),
  					y = date.getFullYear(),
  					started,
  					categoryClass;
  
  				var calendar = $('#calendar').fullCalendar({
  				  header: {
  					left: 'prev,next today',
  					center: 'title',
  					right: 'month,agendaWeek,agendaDay,listMonth'
  				  },
  				  selectable: true,
  				  selectHelper: true,
  				  select: function(start, end, allDay) {
  					$('#fc_create').click();
  
  					started = start;
  					ended = end;
  
  					$(".antosubmit").on("click", function() {
  					  var title = $("#title").val();
  					  if (end) {
  						ended = end;
  					  }
  
  					  categoryClass = $("#event_type").val();
  
  					  if (title) {
  						calendar.fullCalendar('renderEvent', {
  							title: title,
  							start: started,
  							end: end,
  							allDay: allDay
  						  },
  						  true // make the event "stick"
  						);
  					  }
  
  					  $('#title').val('');
  
  					  calendar.fullCalendar('unselect');
  
  					  $('.antoclose').click();
  
  					  return false;
  					});
  				  },
  				  eventClick: function(calEvent, jsEvent, view) {
  					$('#fc_edit').click();
  					$('#title2').val(calEvent.title);
  
  					categoryClass = $("#event_type").val();
  
  					$(".antosubmit2").on("click", function() {
  					  calEvent.title = $("#title2").val();
  
  					  calendar.fullCalendar('updateEvent', calEvent);
  					  $('.antoclose2').click();
  					});
  
  					calendar.fullCalendar('unselect');
  				  },
  				  editable: true,
  				  events: [{
  					title: 'All Day Event',
  					start: new Date(y, m, 1)
  				  }, {
  					title: 'Long Event',
  					start: new Date(y, m, d - 5),
  					end: new Date(y, m, d - 2)
  				  }, {
  					title: 'Meeting',
  					start: new Date(y, m, d, 10, 30),
  					allDay: false
  				  }, {
  					title: 'Lunch',
  					start: new Date(y, m, d + 14, 12, 0),
  					end: new Date(y, m, d, 14, 0),
  					allDay: false
  				  }, {
  					title: 'Birthday Party',
  					start: new Date(y, m, d + 1, 19, 0),
  					end: new Date(y, m, d + 1, 22, 30),
  					allDay: false
  				  }, {
  					title: 'Click for Google',
  					start: new Date(y, m, 28),
  					end: new Date(y, m, 29),
  					url: 'http://google.com/'
  				  }]
  				});
  				
  			};
  	   
  		/* DATA TABLES */
  			
  			function init_DataTables() {
  				
  				console.log('run_datatables');
  				
  				if( typeof ($.fn.DataTable) === 'undefined'){ return; }
  				console.log('init_DataTables');
  				
  				var handleDataTableButtons = function() {
  				  if ($("#datatable-buttons").length) {
  					$("#datatable-buttons").DataTable({
  					  dom: "Bfrtip",
  					  buttons: [
  						{
  						  extend: "copy",
  						  className: "btn-sm"
  						},
  						{
  						  extend: "csv",
  						  className: "btn-sm"
  						},
  						{
  						  extend: "excel",
  						  className: "btn-sm"
  						},
  						{
  						  extend: "pdfHtml5",
  						  className: "btn-sm"
  						},
  						{
  						  extend: "print",
  						  className: "btn-sm"
  						},
  					  ],
  					  responsive: true
  					});
  				  }
  				};
  
  				TableManageButtons = function() {
  				  "use strict";
  				  return {
  					init: function() {
  					  handleDataTableButtons();
  					}
  				  };
  				}();
  
  				$('#datatable').dataTable();
  
  				$('#datatable-keytable').DataTable({
  				  keys: true
  				});
  
  				$('#datatable-responsive').DataTable();
  
  				$('#datatable-scroller').DataTable({
  				  ajax: "js/datatables/json/scroller-demo.json",
  				  deferRender: true,
  				  scrollY: 380,
  				  scrollCollapse: true,
  				  scroller: true
  				});
  
  				$('#datatable-fixed-header').DataTable({
  				  fixedHeader: true
  				});
  
  				var $datatable = $('#datatable-checkbox');
  
  				$datatable.dataTable({
  				  'order': [[ 1, 'asc' ]],
  				  'columnDefs': [
  					{ orderable: false, targets: [0] }
  				  ]
  				});
  				$datatable.on('draw.dt', function() {
  				  $('checkbox input').iCheck({
  					checkboxClass: 'icheckbox_flat-green'
  				  });
  				});
  
  				TableManageButtons.init();
  				
  			};
  	   
  			/* CHART - MORRIS  */
  		
  		function init_morris_charts() {
  			
  			if( typeof (Morris) === 'undefined'){ return; }
  			console.log('init_morris_charts');
  			
  			if ($('#graph_bar').length){ 
  			
  				Morris.Bar({
  				  element: 'graph_bar',
  				  data: [
  					{device: 'iPhone 4', geekbench: 380},
  					{device: 'iPhone 4S', geekbench: 655},
  					{device: 'iPhone 3GS', geekbench: 275},
  					{device: 'iPhone 5', geekbench: 1571},
  					{device: 'iPhone 5S', geekbench: 655},
  					{device: 'iPhone 6', geekbench: 2154},
  					{device: 'iPhone 6 Plus', geekbench: 1144},
  					{device: 'iPhone 6S', geekbench: 2371},
  					{device: 'iPhone 6S Plus', geekbench: 1471},
  					{device: 'Other', geekbench: 1371}
  				  ],
  				  xkey: 'device',
  				  ykeys: ['geekbench'],
  				  labels: ['Geekbench'],
  				  barRatio: 0.4,
  				  barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  xLabelAngle: 35,
  				  hideHover: 'auto',
  				  resize: true
  				});
  
  			}	
  			
  			if ($('#graph_bar_group').length ){
  			
  				Morris.Bar({
  				  element: 'graph_bar_group',
  				  data: [
  					{"period": "2016-10-01", "licensed": 807, "sorned": 660},
  					{"period": "2016-09-30", "licensed": 1251, "sorned": 729},
  					{"period": "2016-09-29", "licensed": 1769, "sorned": 1018},
  					{"period": "2016-09-20", "licensed": 2246, "sorned": 1461},
  					{"period": "2016-09-19", "licensed": 2657, "sorned": 1967},
  					{"period": "2016-09-18", "licensed": 3148, "sorned": 2627},
  					{"period": "2016-09-17", "licensed": 3471, "sorned": 3740},
  					{"period": "2016-09-16", "licensed": 2871, "sorned": 2216},
  					{"period": "2016-09-15", "licensed": 2401, "sorned": 1656},
  					{"period": "2016-09-10", "licensed": 2115, "sorned": 1022}
  				  ],
  				  xkey: 'period',
  				  barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  ykeys: ['licensed', 'sorned'],
  				  labels: ['Licensed', 'SORN'],
  				  hideHover: 'auto',
  				  xLabelAngle: 60,
  				  resize: true
  				});
  
  			}
  			
  			if ($('#graphx').length ){
  			
  				Morris.Bar({
  				  element: 'graphx',
  				  data: [
  					{x: '2015 Q1', y: 2, z: 3, a: 4},
  					{x: '2015 Q2', y: 3, z: 5, a: 6},
  					{x: '2015 Q3', y: 4, z: 3, a: 2},
  					{x: '2015 Q4', y: 2, z: 4, a: 5}
  				  ],
  				  xkey: 'x',
  				  ykeys: ['y', 'z', 'a'],
  				  barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  hideHover: 'auto',
  				  labels: ['Y', 'Z', 'A'],
  				  resize: true
  				}).on('click', function (i, row) {
  					console.log(i, row);
  				});
  
  			}
  			
  			if ($('#graph_area').length ){
  			
  				Morris.Area({
  				  element: 'graph_area',
  				  data: [
  					{period: '2014 Q1', iphone: 2666, ipad: null, itouch: 2647},
  					{period: '2014 Q2', iphone: 2778, ipad: 2294, itouch: 2441},
  					{period: '2014 Q3', iphone: 4912, ipad: 1969, itouch: 2501},
  					{period: '2014 Q4', iphone: 3767, ipad: 3597, itouch: 5689},
  					{period: '2015 Q1', iphone: 6810, ipad: 1914, itouch: 2293},
  					{period: '2015 Q2', iphone: 5670, ipad: 4293, itouch: 1881},
  					{period: '2015 Q3', iphone: 4820, ipad: 3795, itouch: 1588},
  					{period: '2015 Q4', iphone: 15073, ipad: 5967, itouch: 5175},
  					{period: '2016 Q1', iphone: 10687, ipad: 4460, itouch: 2028},
  					{period: '2016 Q2', iphone: 8432, ipad: 5713, itouch: 1791}
  				  ],
  				  xkey: 'period',
  				  ykeys: ['iphone', 'ipad', 'itouch'],
  				  lineColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  labels: ['iPhone', 'iPad', 'iPod Touch'],
  				  pointSize: 2,
  				  hideHover: 'auto',
  				  resize: true
  				});
  
  			}
  			
  			if ($('#graph_donut').length ){
  			
  				Morris.Donut({
  				  element: 'graph_donut',
  				  data: [
  					{label: 'Jam', value: 25},
  					{label: 'Frosted', value: 40},
  					{label: 'Custard', value: 25},
  					{label: 'Sugar', value: 10}
  				  ],
  				  colors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  formatter: function (y) {
  					return y + "%";
  				  },
  				  resize: true
  				});
  
  			}
  			
  			if ($('#graph_line').length ){
  			
  				Morris.Line({
  				  element: 'graph_line',
  				  xkey: 'year',
  				  ykeys: ['value'],
  				  labels: ['Value'],
  				  hideHover: 'auto',
  				  lineColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
  				  data: [
  					{year: '2012', value: 20},
  					{year: '2013', value: 10},
  					{year: '2014', value: 5},
  					{year: '2015', value: 5},
  					{year: '2016', value: 20}
  				  ],
  				  resize: true
  				});
  
  				$MENU_TOGGLE.on('click', function() {
  				  $(window).resize();
  				});
  			
  			}
  			
  		};
  	   
  		
  		
  		/* ECHRTS */
  	
  		
  		function init_echarts() {
  		
  				if( typeof (echarts) === 'undefined'){ return; }
  				console.log('init_echarts');
  			
  		
  				  var theme = {
  				  color: [
  					  '#26B99A', '#34495E', '#BDC3C7', '#3498DB',
  					  '#9B59B6', '#8abb6f', '#759c6a', '#bfd3b7'
  				  ],
  
  				  title: {
  					  itemGap: 8,
  					  textStyle: {
  						  fontWeight: 'normal',
  						  color: '#408829'
  					  }
  				  },
  
  				  dataRange: {
  					  color: ['#1f610a', '#97b58d']
  				  },
  
  				  toolbox: {
  					  color: ['#408829', '#408829', '#408829', '#408829']
  				  },
  
  				  tooltip: {
  					  backgroundColor: 'rgba(0,0,0,0.5)',
  					  axisPointer: {
  						  type: 'line',
  						  lineStyle: {
  							  color: '#408829',
  							  type: 'dashed'
  						  },
  						  crossStyle: {
  							  color: '#408829'
  						  },
  						  shadowStyle: {
  							  color: 'rgba(200,200,200,0.3)'
  						  }
  					  }
  				  },
  
  				  dataZoom: {
  					  dataBackgroundColor: '#eee',
  					  fillerColor: 'rgba(64,136,41,0.2)',
  					  handleColor: '#408829'
  				  },
  				  grid: {
  					  borderWidth: 0
  				  },
  
  				  categoryAxis: {
  					  axisLine: {
  						  lineStyle: {
  							  color: '#408829'
  						  }
  					  },
  					  splitLine: {
  						  lineStyle: {
  							  color: ['#eee']
  						  }
  					  }
  				  },
  
  				  valueAxis: {
  					  axisLine: {
  						  lineStyle: {
  							  color: '#408829'
  						  }
  					  },
  					  splitArea: {
  						  show: true,
  						  areaStyle: {
  							  color: ['rgba(250,250,250,0.1)', 'rgba(200,200,200,0.1)']
  						  }
  					  },
  					  splitLine: {
  						  lineStyle: {
  							  color: ['#eee']
  						  }
  					  }
  				  },
  				  timeline: {
  					  lineStyle: {
  						  color: '#408829'
  					  },
  					  controlStyle: {
  						  normal: {color: '#408829'},
  						  emphasis: {color: '#408829'}
  					  }
  				  },
  
  				  k: {
  					  itemStyle: {
  						  normal: {
  							  color: '#68a54a',
  							  color0: '#a9cba2',
  							  lineStyle: {
  								  width: 1,
  								  color: '#408829',
  								  color0: '#86b379'
  							  }
  						  }
  					  }
  				  },
  				  map: {
  					  itemStyle: {
  						  normal: {
  							  areaStyle: {
  								  color: '#ddd'
  							  },
  							  label: {
  								  textStyle: {
  									  color: '#c12e34'
  								  }
  							  }
  						  },
  						  emphasis: {
  							  areaStyle: {
  								  color: '#99d2dd'
  							  },
  							  label: {
  								  textStyle: {
  									  color: '#c12e34'
  								  }
  							  }
  						  }
  					  }
  				  },
  				  force: {
  					  itemStyle: {
  						  normal: {
  							  linkStyle: {
  								  strokeColor: '#408829'
  							  }
  						  }
  					  }
  				  },
  				  chord: {
  					  padding: 4,
  					  itemStyle: {
  						  normal: {
  							  lineStyle: {
  								  width: 1,
  								  color: 'rgba(128, 128, 128, 0.5)'
  							  },
  							  chordStyle: {
  								  lineStyle: {
  									  width: 1,
  									  color: 'rgba(128, 128, 128, 0.5)'
  								  }
  							  }
  						  },
  						  emphasis: {
  							  lineStyle: {
  								  width: 1,
  								  color: 'rgba(128, 128, 128, 0.5)'
  							  },
  							  chordStyle: {
  								  lineStyle: {
  									  width: 1,
  									  color: 'rgba(128, 128, 128, 0.5)'
  								  }
  							  }
  						  }
  					  }
  				  },
  				  gauge: {
  					  startAngle: 225,
  					  endAngle: -45,
  					  axisLine: {
  						  show: true,
  						  lineStyle: {
  							  color: [[0.2, '#86b379'], [0.8, '#68a54a'], [1, '#408829']],
  							  width: 8
  						  }
  					  },
  					  axisTick: {
  						  splitNumber: 10,
  						  length: 12,
  						  lineStyle: {
  							  color: 'auto'
  						  }
  					  },
  					  axisLabel: {
  						  textStyle: {
  							  color: 'auto'
  						  }
  					  },
  					  splitLine: {
  						  length: 18,
  						  lineStyle: {
  							  color: 'auto'
  						  }
  					  },
  					  pointer: {
  						  length: '90%',
  						  color: 'auto'
  					  },
  					  title: {
  						  textStyle: {
  							  color: '#333'
  						  }
  					  },
  					  detail: {
  						  textStyle: {
  							  color: 'auto'
  						  }
  					  }
  				  },
  				  textStyle: {
  					  fontFamily: 'Arial, Verdana, sans-serif'
  				  }
  			  };
  
  			  
  			  //echart Bar
  			  
  			if ($('#mainb').length ){
  			  
  				  var echartBar = echarts.init(document.getElementById('mainb'), theme);
  
  				  echartBar.setOption({
  					title: {
  					  text: 'Graph title',
  					  subtext: 'Graph Sub-text'
  					},
  					tooltip: {
  					  trigger: 'axis'
  					},
  					legend: {
  					  data: ['sales', 'purchases']
  					},
  					toolbox: {
  					  show: false
  					},
  					calculable: false,
  					xAxis: [{
  					  type: 'category',
  					  data: ['1?', '2?', '3?', '4?', '5?', '6?', '7?', '8?', '9?', '10?', '11?', '12?']
  					}],
  					yAxis: [{
  					  type: 'value'
  					}],
  					series: [{
  					  name: 'sales',
  					  type: 'bar',
  					  data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
  					  markPoint: {
  						data: [{
  						  type: 'max',
  						  name: '???'
  						}, {
  						  type: 'min',
  						  name: '???'
  						}]
  					  },
  					  markLine: {
  						data: [{
  						  type: 'average',
  						  name: '???'
  						}]
  					  }
  					}, {
  					  name: 'purchases',
  					  type: 'bar',
  					  data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
  					  markPoint: {
  						data: [{
  						  name: 'sales',
  						  value: 182.2,
  						  xAxis: 7,
  						  yAxis: 183,
  						}, {
  						  name: 'purchases',
  						  value: 2.3,
  						  xAxis: 11,
  						  yAxis: 3
  						}]
  					  },
  					  markLine: {
  						data: [{
  						  type: 'average',
  						  name: '???'
  						}]
  					  }
  					}]
  				  });
  
  			}
  			  
  			  
  			  
  			  
  			   //echart Radar
  			  
  			if ($('#echart_sonar').length ){ 
  			  
  			  var echartRadar = echarts.init(document.getElementById('echart_sonar'), theme);
  
  			  echartRadar.setOption({
  				title: {
  				  text: 'Budget vs spending',
  				  subtext: 'Subtitle'
  				},
  				 tooltip: {
  					trigger: 'item'
  				},
  				legend: {
  				  orient: 'vertical',
  				  x: 'right',
  				  y: 'bottom',
  				  data: ['Allocated Budget', 'Actual Spending']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				polar: [{
  				  indicator: [{
  					text: 'Sales',
  					max: 6000
  				  }, {
  					text: 'Administration',
  					max: 16000
  				  }, {
  					text: 'Information Techology',
  					max: 30000
  				  }, {
  					text: 'Customer Support',
  					max: 38000
  				  }, {
  					text: 'Development',
  					max: 52000
  				  }, {
  					text: 'Marketing',
  					max: 25000
  				  }]
  				}],
  				calculable: true,
  				series: [{
  				  name: 'Budget vs spending',
  				  type: 'radar',
  				  data: [{
  					value: [4300, 10000, 28000, 35000, 50000, 19000],
  					name: 'Allocated Budget'
  				  }, {
  					value: [5000, 14000, 28000, 31000, 42000, 21000],
  					name: 'Actual Spending'
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Funnel
  			  
  			if ($('#echart_pyramid').length ){ 
  			  
  			  var echartFunnel = echarts.init(document.getElementById('echart_pyramid'), theme);
  
  			  echartFunnel.setOption({
  				title: {
  				  text: 'Echart Pyramid Graph',
  				  subtext: 'Subtitle'
  				},
  				tooltip: {
  				  trigger: 'item',
  				  formatter: "{a} <br/>{b} : {c}%"
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				legend: {
  				  data: ['Something #1', 'Something #2', 'Something #3', 'Something #4', 'Something #5'],
  				  orient: 'vertical',
  				  x: 'left',
  				  y: 'bottom'
  				},
  				calculable: true,
  				series: [{
  				  name: '漏斗图',
  				  type: 'funnel',
  				  width: '40%',
  				  data: [{
  					value: 60,
  					name: 'Something #1'
  				  }, {
  					value: 40,
  					name: 'Something #2'
  				  }, {
  					value: 20,
  					name: 'Something #3'
  				  }, {
  					value: 80,
  					name: 'Something #4'
  				  }, {
  					value: 100,
  					name: 'Something #5'
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Gauge
  			  
  			if ($('#echart_gauge').length ){ 
  			  
  			  var echartGauge = echarts.init(document.getElementById('echart_gauge'), theme);
  
  			  echartGauge.setOption({
  				tooltip: {
  				  formatter: "{a} <br/>{b} : {c}%"
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				series: [{
  				  name: 'Performance',
  				  type: 'gauge',
  				  center: ['50%', '50%'],
  				  startAngle: 140,
  				  endAngle: -140,
  				  min: 0,
  				  max: 100,
  				  precision: 0,
  				  splitNumber: 10,
  				  axisLine: {
  					show: true,
  					lineStyle: {
  					  color: [
  						[0.2, 'lightgreen'],
  						[0.4, 'orange'],
  						[0.8, 'skyblue'],
  						[1, '#ff4500']
  					  ],
  					  width: 30
  					}
  				  },
  				  axisTick: {
  					show: true,
  					splitNumber: 5,
  					length: 8,
  					lineStyle: {
  					  color: '#eee',
  					  width: 1,
  					  type: 'solid'
  					}
  				  },
  				  axisLabel: {
  					show: true,
  					formatter: function(v) {
  					  switch (v + '') {
  						case '10':
  						  return 'a';
  						case '30':
  						  return 'b';
  						case '60':
  						  return 'c';
  						case '90':
  						  return 'd';
  						default:
  						  return '';
  					  }
  					},
  					textStyle: {
  					  color: '#333'
  					}
  				  },
  				  splitLine: {
  					show: true,
  					length: 30,
  					lineStyle: {
  					  color: '#eee',
  					  width: 2,
  					  type: 'solid'
  					}
  				  },
  				  pointer: {
  					length: '80%',
  					width: 8,
  					color: 'auto'
  				  },
  				  title: {
  					show: true,
  					offsetCenter: ['-65%', -10],
  					textStyle: {
  					  color: '#333',
  					  fontSize: 15
  					}
  				  },
  				  detail: {
  					show: true,
  					backgroundColor: 'rgba(0,0,0,0)',
  					borderWidth: 0,
  					borderColor: '#ccc',
  					width: 100,
  					height: 40,
  					offsetCenter: ['-60%', 10],
  					formatter: '{value}%',
  					textStyle: {
  					  color: 'auto',
  					  fontSize: 30
  					}
  				  },
  				  data: [{
  					value: 50,
  					name: 'Performance'
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Line
  			  
  			if ($('#echart_line').length ){ 
  			  
  			  var echartLine = echarts.init(document.getElementById('echart_line'), theme);
  
  			  echartLine.setOption({
  				title: {
  				  text: 'Line Graph',
  				  subtext: 'Subtitle'
  				},
  				tooltip: {
  				  trigger: 'axis'
  				},
  				legend: {
  				  x: 220,
  				  y: 40,
  				  data: ['Intent', 'Pre-order', 'Deal']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					magicType: {
  					  show: true,
  					  title: {
  						line: 'Line',
  						bar: 'Bar',
  						stack: 'Stack',
  						tiled: 'Tiled'
  					  },
  					  type: ['line', 'bar', 'stack', 'tiled']
  					},
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				calculable: true,
  				xAxis: [{
  				  type: 'category',
  				  boundaryGap: false,
  				  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  				}],
  				yAxis: [{
  				  type: 'value'
  				}],
  				series: [{
  				  name: 'Deal',
  				  type: 'line',
  				  smooth: true,
  				  itemStyle: {
  					normal: {
  					  areaStyle: {
  						type: 'default'
  					  }
  					}
  				  },
  				  data: [10, 12, 21, 54, 260, 830, 710]
  				}, {
  				  name: 'Pre-order',
  				  type: 'line',
  				  smooth: true,
  				  itemStyle: {
  					normal: {
  					  areaStyle: {
  						type: 'default'
  					  }
  					}
  				  },
  				  data: [30, 182, 434, 791, 390, 30, 10]
  				}, {
  				  name: 'Intent',
  				  type: 'line',
  				  smooth: true,
  				  itemStyle: {
  					normal: {
  					  areaStyle: {
  						type: 'default'
  					  }
  					}
  				  },
  				  data: [1320, 1132, 601, 234, 120, 90, 20]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Scatter
  			  
  			if ($('#echart_scatter').length ){ 
  			  
  			  var echartScatter = echarts.init(document.getElementById('echart_scatter'), theme);
  
  			  echartScatter.setOption({
  				title: {
  				  text: 'Scatter Graph',
  				  subtext: 'Heinz  2003'
  				},
  				tooltip: {
  				  trigger: 'axis',
  				  showDelay: 0,
  				  axisPointer: {
  					type: 'cross',
  					lineStyle: {
  					  type: 'dashed',
  					  width: 1
  					}
  				  }
  				},
  				legend: {
  				  data: ['Data2', 'Data1']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				xAxis: [{
  				  type: 'value',
  				  scale: true,
  				  axisLabel: {
  					formatter: '{value} cm'
  				  }
  				}],
  				yAxis: [{
  				  type: 'value',
  				  scale: true,
  				  axisLabel: {
  					formatter: '{value} kg'
  				  }
  				}],
  				series: [{
  				  name: 'Data1',
  				  type: 'scatter',
  				  tooltip: {
  					trigger: 'item',
  					formatter: function(params) {
  					  if (params.value.length > 1) {
  						return params.seriesName + ' :<br/>' + params.value[0] + 'cm ' + params.value[1] + 'kg ';
  					  } else {
  						return params.seriesName + ' :<br/>' + params.name + ' : ' + params.value + 'kg ';
  					  }
  					}
  				  },
  				  data: [
  					[161.2, 51.6],
  					[167.5, 59.0],
  					[159.5, 49.2],
  					[157.0, 63.0],
  					[155.8, 53.6],
  					[170.0, 59.0],
  					[159.1, 47.6],
  					[166.0, 69.8],
  					[176.2, 66.8],
  					[160.2, 75.2],
  					[172.5, 55.2],
  					[170.9, 54.2],
  					[172.9, 62.5],
  					[153.4, 42.0],
  					[160.0, 50.0],
  					[147.2, 49.8],
  					[168.2, 49.2],
  					[175.0, 73.2],
  					[157.0, 47.8],
  					[167.6, 68.8],
  					[159.5, 50.6],
  					[175.0, 82.5],
  					[166.8, 57.2],
  					[176.5, 87.8],
  					[170.2, 72.8],
  					[174.0, 54.5],
  					[173.0, 59.8],
  					[179.9, 67.3],
  					[170.5, 67.8],
  					[160.0, 47.0],
  					[154.4, 46.2],
  					[162.0, 55.0],
  					[176.5, 83.0],
  					[160.0, 54.4],
  					[152.0, 45.8],
  					[162.1, 53.6],
  					[170.0, 73.2],
  					[160.2, 52.1],
  					[161.3, 67.9],
  					[166.4, 56.6],
  					[168.9, 62.3],
  					[163.8, 58.5],
  					[167.6, 54.5],
  					[160.0, 50.2],
  					[161.3, 60.3],
  					[167.6, 58.3],
  					[165.1, 56.2],
  					[160.0, 50.2],
  					[170.0, 72.9],
  					[157.5, 59.8],
  					[167.6, 61.0],
  					[160.7, 69.1],
  					[163.2, 55.9],
  					[152.4, 46.5],
  					[157.5, 54.3],
  					[168.3, 54.8],
  					[180.3, 60.7],
  					[165.5, 60.0],
  					[165.0, 62.0],
  					[164.5, 60.3],
  					[156.0, 52.7],
  					[160.0, 74.3],
  					[163.0, 62.0],
  					[165.7, 73.1],
  					[161.0, 80.0],
  					[162.0, 54.7],
  					[166.0, 53.2],
  					[174.0, 75.7],
  					[172.7, 61.1],
  					[167.6, 55.7],
  					[151.1, 48.7],
  					[164.5, 52.3],
  					[163.5, 50.0],
  					[152.0, 59.3],
  					[169.0, 62.5],
  					[164.0, 55.7],
  					[161.2, 54.8],
  					[155.0, 45.9],
  					[170.0, 70.6],
  					[176.2, 67.2],
  					[170.0, 69.4],
  					[162.5, 58.2],
  					[170.3, 64.8],
  					[164.1, 71.6],
  					[169.5, 52.8],
  					[163.2, 59.8],
  					[154.5, 49.0],
  					[159.8, 50.0],
  					[173.2, 69.2],
  					[170.0, 55.9],
  					[161.4, 63.4],
  					[169.0, 58.2],
  					[166.2, 58.6],
  					[159.4, 45.7],
  					[162.5, 52.2],
  					[159.0, 48.6],
  					[162.8, 57.8],
  					[159.0, 55.6],
  					[179.8, 66.8],
  					[162.9, 59.4],
  					[161.0, 53.6],
  					[151.1, 73.2],
  					[168.2, 53.4],
  					[168.9, 69.0],
  					[173.2, 58.4],
  					[171.8, 56.2],
  					[178.0, 70.6],
  					[164.3, 59.8],
  					[163.0, 72.0],
  					[168.5, 65.2],
  					[166.8, 56.6],
  					[172.7, 105.2],
  					[163.5, 51.8],
  					[169.4, 63.4],
  					[167.8, 59.0],
  					[159.5, 47.6],
  					[167.6, 63.0],
  					[161.2, 55.2],
  					[160.0, 45.0],
  					[163.2, 54.0],
  					[162.2, 50.2],
  					[161.3, 60.2],
  					[149.5, 44.8],
  					[157.5, 58.8],
  					[163.2, 56.4],
  					[172.7, 62.0],
  					[155.0, 49.2],
  					[156.5, 67.2],
  					[164.0, 53.8],
  					[160.9, 54.4],
  					[162.8, 58.0],
  					[167.0, 59.8],
  					[160.0, 54.8],
  					[160.0, 43.2],
  					[168.9, 60.5],
  					[158.2, 46.4],
  					[156.0, 64.4],
  					[160.0, 48.8],
  					[167.1, 62.2],
  					[158.0, 55.5],
  					[167.6, 57.8],
  					[156.0, 54.6],
  					[162.1, 59.2],
  					[173.4, 52.7],
  					[159.8, 53.2],
  					[170.5, 64.5],
  					[159.2, 51.8],
  					[157.5, 56.0],
  					[161.3, 63.6],
  					[162.6, 63.2],
  					[160.0, 59.5],
  					[168.9, 56.8],
  					[165.1, 64.1],
  					[162.6, 50.0],
  					[165.1, 72.3],
  					[166.4, 55.0],
  					[160.0, 55.9],
  					[152.4, 60.4],
  					[170.2, 69.1],
  					[162.6, 84.5],
  					[170.2, 55.9],
  					[158.8, 55.5],
  					[172.7, 69.5],
  					[167.6, 76.4],
  					[162.6, 61.4],
  					[167.6, 65.9],
  					[156.2, 58.6],
  					[175.2, 66.8],
  					[172.1, 56.6],
  					[162.6, 58.6],
  					[160.0, 55.9],
  					[165.1, 59.1],
  					[182.9, 81.8],
  					[166.4, 70.7],
  					[165.1, 56.8],
  					[177.8, 60.0],
  					[165.1, 58.2],
  					[175.3, 72.7],
  					[154.9, 54.1],
  					[158.8, 49.1],
  					[172.7, 75.9],
  					[168.9, 55.0],
  					[161.3, 57.3],
  					[167.6, 55.0],
  					[165.1, 65.5],
  					[175.3, 65.5],
  					[157.5, 48.6],
  					[163.8, 58.6],
  					[167.6, 63.6],
  					[165.1, 55.2],
  					[165.1, 62.7],
  					[168.9, 56.6],
  					[162.6, 53.9],
  					[164.5, 63.2],
  					[176.5, 73.6],
  					[168.9, 62.0],
  					[175.3, 63.6],
  					[159.4, 53.2],
  					[160.0, 53.4],
  					[170.2, 55.0],
  					[162.6, 70.5],
  					[167.6, 54.5],
  					[162.6, 54.5],
  					[160.7, 55.9],
  					[160.0, 59.0],
  					[157.5, 63.6],
  					[162.6, 54.5],
  					[152.4, 47.3],
  					[170.2, 67.7],
  					[165.1, 80.9],
  					[172.7, 70.5],
  					[165.1, 60.9],
  					[170.2, 63.6],
  					[170.2, 54.5],
  					[170.2, 59.1],
  					[161.3, 70.5],
  					[167.6, 52.7],
  					[167.6, 62.7],
  					[165.1, 86.3],
  					[162.6, 66.4],
  					[152.4, 67.3],
  					[168.9, 63.0],
  					[170.2, 73.6],
  					[175.2, 62.3],
  					[175.2, 57.7],
  					[160.0, 55.4],
  					[165.1, 104.1],
  					[174.0, 55.5],
  					[170.2, 77.3],
  					[160.0, 80.5],
  					[167.6, 64.5],
  					[167.6, 72.3],
  					[167.6, 61.4],
  					[154.9, 58.2],
  					[162.6, 81.8],
  					[175.3, 63.6],
  					[171.4, 53.4],
  					[157.5, 54.5],
  					[165.1, 53.6],
  					[160.0, 60.0],
  					[174.0, 73.6],
  					[162.6, 61.4],
  					[174.0, 55.5],
  					[162.6, 63.6],
  					[161.3, 60.9],
  					[156.2, 60.0],
  					[149.9, 46.8],
  					[169.5, 57.3],
  					[160.0, 64.1],
  					[175.3, 63.6],
  					[169.5, 67.3],
  					[160.0, 75.5],
  					[172.7, 68.2],
  					[162.6, 61.4],
  					[157.5, 76.8],
  					[176.5, 71.8],
  					[164.4, 55.5],
  					[160.7, 48.6],
  					[174.0, 66.4],
  					[163.8, 67.3]
  				  ],
  				  markPoint: {
  					data: [{
  					  type: 'max',
  					  name: 'Max'
  					}, {
  					  type: 'min',
  					  name: 'Min'
  					}]
  				  },
  				  markLine: {
  					data: [{
  					  type: 'average',
  					  name: 'Mean'
  					}]
  				  }
  				}, {
  				  name: 'Data2',
  				  type: 'scatter',
  				  tooltip: {
  					trigger: 'item',
  					formatter: function(params) {
  					  if (params.value.length > 1) {
  						return params.seriesName + ' :<br/>' + params.value[0] + 'cm ' + params.value[1] + 'kg ';
  					  } else {
  						return params.seriesName + ' :<br/>' + params.name + ' : ' + params.value + 'kg ';
  					  }
  					}
  				  },
  				  data: [
  					[174.0, 65.6],
  					[175.3, 71.8],
  					[193.5, 80.7],
  					[186.5, 72.6],
  					[187.2, 78.8],
  					[181.5, 74.8],
  					[184.0, 86.4],
  					[184.5, 78.4],
  					[175.0, 62.0],
  					[184.0, 81.6],
  					[180.0, 76.6],
  					[177.8, 83.6],
  					[192.0, 90.0],
  					[176.0, 74.6],
  					[174.0, 71.0],
  					[184.0, 79.6],
  					[192.7, 93.8],
  					[171.5, 70.0],
  					[173.0, 72.4],
  					[176.0, 85.9],
  					[176.0, 78.8],
  					[180.5, 77.8],
  					[172.7, 66.2],
  					[176.0, 86.4],
  					[173.5, 81.8],
  					[178.0, 89.6],
  					[180.3, 82.8],
  					[180.3, 76.4],
  					[164.5, 63.2],
  					[173.0, 60.9],
  					[183.5, 74.8],
  					[175.5, 70.0],
  					[188.0, 72.4],
  					[189.2, 84.1],
  					[172.8, 69.1],
  					[170.0, 59.5],
  					[182.0, 67.2],
  					[170.0, 61.3],
  					[177.8, 68.6],
  					[184.2, 80.1],
  					[186.7, 87.8],
  					[171.4, 84.7],
  					[172.7, 73.4],
  					[175.3, 72.1],
  					[180.3, 82.6],
  					[182.9, 88.7],
  					[188.0, 84.1],
  					[177.2, 94.1],
  					[172.1, 74.9],
  					[167.0, 59.1],
  					[169.5, 75.6],
  					[174.0, 86.2],
  					[172.7, 75.3],
  					[182.2, 87.1],
  					[164.1, 55.2],
  					[163.0, 57.0],
  					[171.5, 61.4],
  					[184.2, 76.8],
  					[174.0, 86.8],
  					[174.0, 72.2],
  					[177.0, 71.6],
  					[186.0, 84.8],
  					[167.0, 68.2],
  					[171.8, 66.1],
  					[182.0, 72.0],
  					[167.0, 64.6],
  					[177.8, 74.8],
  					[164.5, 70.0],
  					[192.0, 101.6],
  					[175.5, 63.2],
  					[171.2, 79.1],
  					[181.6, 78.9],
  					[167.4, 67.7],
  					[181.1, 66.0],
  					[177.0, 68.2],
  					[174.5, 63.9],
  					[177.5, 72.0],
  					[170.5, 56.8],
  					[182.4, 74.5],
  					[197.1, 90.9],
  					[180.1, 93.0],
  					[175.5, 80.9],
  					[180.6, 72.7],
  					[184.4, 68.0],
  					[175.5, 70.9],
  					[180.6, 72.5],
  					[177.0, 72.5],
  					[177.1, 83.4],
  					[181.6, 75.5],
  					[176.5, 73.0],
  					[175.0, 70.2],
  					[174.0, 73.4],
  					[165.1, 70.5],
  					[177.0, 68.9],
  					[192.0, 102.3],
  					[176.5, 68.4],
  					[169.4, 65.9],
  					[182.1, 75.7],
  					[179.8, 84.5],
  					[175.3, 87.7],
  					[184.9, 86.4],
  					[177.3, 73.2],
  					[167.4, 53.9],
  					[178.1, 72.0],
  					[168.9, 55.5],
  					[157.2, 58.4],
  					[180.3, 83.2],
  					[170.2, 72.7],
  					[177.8, 64.1],
  					[172.7, 72.3],
  					[165.1, 65.0],
  					[186.7, 86.4],
  					[165.1, 65.0],
  					[174.0, 88.6],
  					[175.3, 84.1],
  					[185.4, 66.8],
  					[177.8, 75.5],
  					[180.3, 93.2],
  					[180.3, 82.7],
  					[177.8, 58.0],
  					[177.8, 79.5],
  					[177.8, 78.6],
  					[177.8, 71.8],
  					[177.8, 116.4],
  					[163.8, 72.2],
  					[188.0, 83.6],
  					[198.1, 85.5],
  					[175.3, 90.9],
  					[166.4, 85.9],
  					[190.5, 89.1],
  					[166.4, 75.0],
  					[177.8, 77.7],
  					[179.7, 86.4],
  					[172.7, 90.9],
  					[190.5, 73.6],
  					[185.4, 76.4],
  					[168.9, 69.1],
  					[167.6, 84.5],
  					[175.3, 64.5],
  					[170.2, 69.1],
  					[190.5, 108.6],
  					[177.8, 86.4],
  					[190.5, 80.9],
  					[177.8, 87.7],
  					[184.2, 94.5],
  					[176.5, 80.2],
  					[177.8, 72.0],
  					[180.3, 71.4],
  					[171.4, 72.7],
  					[172.7, 84.1],
  					[172.7, 76.8],
  					[177.8, 63.6],
  					[177.8, 80.9],
  					[182.9, 80.9],
  					[170.2, 85.5],
  					[167.6, 68.6],
  					[175.3, 67.7],
  					[165.1, 66.4],
  					[185.4, 102.3],
  					[181.6, 70.5],
  					[172.7, 95.9],
  					[190.5, 84.1],
  					[179.1, 87.3],
  					[175.3, 71.8],
  					[170.2, 65.9],
  					[193.0, 95.9],
  					[171.4, 91.4],
  					[177.8, 81.8],
  					[177.8, 96.8],
  					[167.6, 69.1],
  					[167.6, 82.7],
  					[180.3, 75.5],
  					[182.9, 79.5],
  					[176.5, 73.6],
  					[186.7, 91.8],
  					[188.0, 84.1],
  					[188.0, 85.9],
  					[177.8, 81.8],
  					[174.0, 82.5],
  					[177.8, 80.5],
  					[171.4, 70.0],
  					[185.4, 81.8],
  					[185.4, 84.1],
  					[188.0, 90.5],
  					[188.0, 91.4],
  					[182.9, 89.1],
  					[176.5, 85.0],
  					[175.3, 69.1],
  					[175.3, 73.6],
  					[188.0, 80.5],
  					[188.0, 82.7],
  					[175.3, 86.4],
  					[170.5, 67.7],
  					[179.1, 92.7],
  					[177.8, 93.6],
  					[175.3, 70.9],
  					[182.9, 75.0],
  					[170.8, 93.2],
  					[188.0, 93.2],
  					[180.3, 77.7],
  					[177.8, 61.4],
  					[185.4, 94.1],
  					[168.9, 75.0],
  					[185.4, 83.6],
  					[180.3, 85.5],
  					[174.0, 73.9],
  					[167.6, 66.8],
  					[182.9, 87.3],
  					[160.0, 72.3],
  					[180.3, 88.6],
  					[167.6, 75.5],
  					[186.7, 101.4],
  					[175.3, 91.1],
  					[175.3, 67.3],
  					[175.9, 77.7],
  					[175.3, 81.8],
  					[179.1, 75.5],
  					[181.6, 84.5],
  					[177.8, 76.6],
  					[182.9, 85.0],
  					[177.8, 102.5],
  					[184.2, 77.3],
  					[179.1, 71.8],
  					[176.5, 87.9],
  					[188.0, 94.3],
  					[174.0, 70.9],
  					[167.6, 64.5],
  					[170.2, 77.3],
  					[167.6, 72.3],
  					[188.0, 87.3],
  					[174.0, 80.0],
  					[176.5, 82.3],
  					[180.3, 73.6],
  					[167.6, 74.1],
  					[188.0, 85.9],
  					[180.3, 73.2],
  					[167.6, 76.3],
  					[183.0, 65.9],
  					[183.0, 90.9],
  					[179.1, 89.1],
  					[170.2, 62.3],
  					[177.8, 82.7],
  					[179.1, 79.1],
  					[190.5, 98.2],
  					[177.8, 84.1],
  					[180.3, 83.2],
  					[180.3, 83.2]
  				  ],
  				  markPoint: {
  					data: [{
  					  type: 'max',
  					  name: 'Max'
  					}, {
  					  type: 'min',
  					  name: 'Min'
  					}]
  				  },
  				  markLine: {
  					data: [{
  					  type: 'average',
  					  name: 'Mean'
  					}]
  				  }
  				}]
  			  });
  
  			} 
  			  
  			   //echart Bar Horizontal
  			  
  			if ($('#echart_bar_horizontal').length ){ 
  			  
  			  var echartBar = echarts.init(document.getElementById('echart_bar_horizontal'), theme);
  
  			  echartBar.setOption({
  				title: {
  				  text: 'Bar Graph',
  				  subtext: 'Graph subtitle'
  				},
  				tooltip: {
  				  trigger: 'axis'
  				},
  				legend: {
  				  x: 100,
  				  data: ['2015', '2016']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				calculable: true,
  				xAxis: [{
  				  type: 'value',
  				  boundaryGap: [0, 0.01]
  				}],
  				yAxis: [{
  				  type: 'category',
  				  data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
  				}],
  				series: [{
  				  name: '2015',
  				  type: 'bar',
  				  data: [18203, 23489, 29034, 104970, 131744, 630230]
  				}, {
  				  name: '2016',
  				  type: 'bar',
  				  data: [19325, 23438, 31000, 121594, 134141, 681807]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Pie Collapse
  			  
  			if ($('#echart_pie2').length ){ 
  			  
  			  var echartPieCollapse = echarts.init(document.getElementById('echart_pie2'), theme);
  			  
  			  echartPieCollapse.setOption({
  				tooltip: {
  				  trigger: 'item',
  				  formatter: "{a} <br/>{b} : {c} ({d}%)"
  				},
  				legend: {
  				  x: 'center',
  				  y: 'bottom',
  				  data: ['rose1', 'rose2', 'rose3', 'rose4', 'rose5', 'rose6']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					magicType: {
  					  show: true,
  					  type: ['pie', 'funnel']
  					},
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				calculable: true,
  				series: [{
  				  name: 'Area Mode',
  				  type: 'pie',
  				  radius: [25, 90],
  				  center: ['50%', 170],
  				  roseType: 'area',
  				  x: '50%',
  				  max: 40,
  				  sort: 'ascending',
  				  data: [{
  					value: 10,
  					name: 'rose1'
  				  }, {
  					value: 5,
  					name: 'rose2'
  				  }, {
  					value: 15,
  					name: 'rose3'
  				  }, {
  					value: 25,
  					name: 'rose4'
  				  }, {
  					value: 20,
  					name: 'rose5'
  				  }, {
  					value: 35,
  					name: 'rose6'
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Donut
  			  
  			if ($('#echart_donut').length ){  
  			  
  			  var echartDonut = echarts.init(document.getElementById('echart_donut'), theme);
  			  
  			  echartDonut.setOption({
  				tooltip: {
  				  trigger: 'item',
  				  formatter: "{a} <br/>{b} : {c} ({d}%)"
  				},
  				calculable: true,
  				legend: {
  				  x: 'center',
  				  y: 'bottom',
  				  data: ['Direct Access', 'E-mail Marketing', 'Union Ad', 'Video Ads', 'Search Engine']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					magicType: {
  					  show: true,
  					  type: ['pie', 'funnel'],
  					  option: {
  						funnel: {
  						  x: '25%',
  						  width: '50%',
  						  funnelAlign: 'center',
  						  max: 1548
  						}
  					  }
  					},
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				series: [{
  				  name: 'Access to the resource',
  				  type: 'pie',
  				  radius: ['35%', '55%'],
  				  itemStyle: {
  					normal: {
  					  label: {
  						show: true
  					  },
  					  labelLine: {
  						show: true
  					  }
  					},
  					emphasis: {
  					  label: {
  						show: true,
  						position: 'center',
  						textStyle: {
  						  fontSize: '14',
  						  fontWeight: 'normal'
  						}
  					  }
  					}
  				  },
  				  data: [{
  					value: 335,
  					name: 'Direct Access'
  				  }, {
  					value: 310,
  					name: 'E-mail Marketing'
  				  }, {
  					value: 234,
  					name: 'Union Ad'
  				  }, {
  					value: 135,
  					name: 'Video Ads'
  				  }, {
  					value: 1548,
  					name: 'Search Engine'
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Pie
  			  
  			if ($('#echart_pie').length ){  
  			  
  			  var echartPie = echarts.init(document.getElementById('echart_pie'), theme);
  
  			  echartPie.setOption({
  				tooltip: {
  				  trigger: 'item',
  				  formatter: "{a} <br/>{b} : {c} ({d}%)"
  				},
  				legend: {
  				  x: 'center',
  				  y: 'bottom',
  				  data: ['Direct Access', 'E-mail Marketing', 'Union Ad', 'Video Ads', 'Search Engine']
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					magicType: {
  					  show: true,
  					  type: ['pie', 'funnel'],
  					  option: {
  						funnel: {
  						  x: '25%',
  						  width: '50%',
  						  funnelAlign: 'left',
  						  max: 1548
  						}
  					  }
  					},
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				calculable: true,
  				series: [{
  				  name: '访问来源',
  				  type: 'pie',
  				  radius: '55%',
  				  center: ['50%', '48%'],
  				  data: [{
  					value: 335,
  					name: 'Direct Access'
  				  }, {
  					value: 310,
  					name: 'E-mail Marketing'
  				  }, {
  					value: 234,
  					name: 'Union Ad'
  				  }, {
  					value: 135,
  					name: 'Video Ads'
  				  }, {
  					value: 1548,
  					name: 'Search Engine'
  				  }]
  				}]
  			  });
  
  			  var dataStyle = {
  				normal: {
  				  label: {
  					show: false
  				  },
  				  labelLine: {
  					show: false
  				  }
  				}
  			  };
  
  			  var placeHolderStyle = {
  				normal: {
  				  color: 'rgba(0,0,0,0)',
  				  label: {
  					show: false
  				  },
  				  labelLine: {
  					show: false
  				  }
  				},
  				emphasis: {
  				  color: 'rgba(0,0,0,0)'
  				}
  			  };
  
  			} 
  			  
  			   //echart Mini Pie
  			  
  			if ($('#echart_mini_pie').length ){ 
  			  
  			  var echartMiniPie = echarts.init(document.getElementById('echart_mini_pie'), theme);
  
  			  echartMiniPie .setOption({
  				title: {
  				  text: 'Chart #2',
  				  subtext: 'From ExcelHome',
  				  sublink: 'http://e.weibo.com/1341556070/AhQXtjbqh',
  				  x: 'center',
  				  y: 'center',
  				  itemGap: 20,
  				  textStyle: {
  					color: 'rgba(30,144,255,0.8)',
  					fontFamily: '微软雅黑',
  					fontSize: 35,
  					fontWeight: 'bolder'
  				  }
  				},
  				tooltip: {
  				  show: true,
  				  formatter: "{a} <br/>{b} : {c} ({d}%)"
  				},
  				legend: {
  				  orient: 'vertical',
  				  x: 170,
  				  y: 45,
  				  itemGap: 12,
  				  data: ['68%Something #1', '29%Something #2', '3%Something #3'],
  				},
  				toolbox: {
  				  show: true,
  				  feature: {
  					mark: {
  					  show: true
  					},
  					dataView: {
  					  show: true,
  					  title: "Text View",
  					  lang: [
  						"Text View",
  						"Close",
  						"Refresh",
  					  ],
  					  readOnly: false
  					},
  					restore: {
  					  show: true,
  					  title: "Restore"
  					},
  					saveAsImage: {
  					  show: true,
  					  title: "Save Image"
  					}
  				  }
  				},
  				series: [{
  				  name: '1',
  				  type: 'pie',
  				  clockWise: false,
  				  radius: [105, 130],
  				  itemStyle: dataStyle,
  				  data: [{
  					value: 68,
  					name: '68%Something #1'
  				  }, {
  					value: 32,
  					name: 'invisible',
  					itemStyle: placeHolderStyle
  				  }]
  				}, {
  				  name: '2',
  				  type: 'pie',
  				  clockWise: false,
  				  radius: [80, 105],
  				  itemStyle: dataStyle,
  				  data: [{
  					value: 29,
  					name: '29%Something #2'
  				  }, {
  					value: 71,
  					name: 'invisible',
  					itemStyle: placeHolderStyle
  				  }]
  				}, {
  				  name: '3',
  				  type: 'pie',
  				  clockWise: false,
  				  radius: [25, 80],
  				  itemStyle: dataStyle,
  				  data: [{
  					value: 3,
  					name: '3%Something #3'
  				  }, {
  					value: 97,
  					name: 'invisible',
  					itemStyle: placeHolderStyle
  				  }]
  				}]
  			  });
  
  			} 
  			  
  			   //echart Map
  			  
  			if ($('#echart_world_map').length ){ 
  			  
  				  var echartMap = echarts.init(document.getElementById('echart_world_map'), theme);
  				  
  				   
  				  echartMap.setOption({
  					title: {
  					  text: 'World Population (2010)',
  					  subtext: 'from United Nations, Total population, both sexes combined, as of 1 July (thousands)',
  					  x: 'center',
  					  y: 'top'
  					},
  					tooltip: {
  					  trigger: 'item',
  					  formatter: function(params) {
  						var value = (params.value + '').split('.');
  						value = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,') + '.' + value[1];
  						return params.seriesName + '<br/>' + params.name + ' : ' + value;
  					  }
  					},
  					toolbox: {
  					  show: true,
  					  orient: 'vertical',
  					  x: 'right',
  					  y: 'center',
  					  feature: {
  						mark: {
  						  show: true
  						},
  						dataView: {
  						  show: true,
  						  title: "Text View",
  						  lang: [
  							"Text View",
  							"Close",
  							"Refresh",
  						  ],
  						  readOnly: false
  						},
  						restore: {
  						  show: true,
  						  title: "Restore"
  						},
  						saveAsImage: {
  						  show: true,
  						  title: "Save Image"
  						}
  					  }
  					},
  					dataRange: {
  					  min: 0,
  					  max: 1000000,
  					  text: ['High', 'Low'],
  					  realtime: false,
  					  calculable: true,
  					  color: ['#087E65', '#26B99A', '#CBEAE3']
  					},
  					series: [{
  					  name: 'World Population (2010)',
  					  type: 'map',
  					  mapType: 'world',
  					  roam: false,
  					  mapLocation: {
  						y: 60
  					  },
  					  itemStyle: {
  						emphasis: {
  						  label: {
  							show: true
  						  }
  						}
  					  },
  					  data: [{
  						name: 'Afghanistan',
  						value: 28397.812
  					  }, {
  						name: 'Angola',
  						value: 19549.124
  					  }, {
  						name: 'Albania',
  						value: 3150.143
  					  }, {
  						name: 'United Arab Emirates',
  						value: 8441.537
  					  }, {
  						name: 'Argentina',
  						value: 40374.224
  					  }, {
  						name: 'Armenia',
  						value: 2963.496
  					  }, {
  						name: 'French Southern and Antarctic Lands',
  						value: 268.065
  					  }, {
  						name: 'Australia',
  						value: 22404.488
  					  }, {
  						name: 'Austria',
  						value: 8401.924
  					  }, {
  						name: 'Azerbaijan',
  						value: 9094.718
  					  }, {
  						name: 'Burundi',
  						value: 9232.753
  					  }, {
  						name: 'Belgium',
  						value: 10941.288
  					  }, {
  						name: 'Benin',
  						value: 9509.798
  					  }, {
  						name: 'Burkina Faso',
  						value: 15540.284
  					  }, {
  						name: 'Bangladesh',
  						value: 151125.475
  					  }, {
  						name: 'Bulgaria',
  						value: 7389.175
  					  }, {
  						name: 'The Bahamas',
  						value: 66402.316
  					  }, {
  						name: 'Bosnia and Herzegovina',
  						value: 3845.929
  					  }, {
  						name: 'Belarus',
  						value: 9491.07
  					  }, {
  						name: 'Belize',
  						value: 308.595
  					  }, {
  						name: 'Bermuda',
  						value: 64.951
  					  }, {
  						name: 'Bolivia',
  						value: 716.939
  					  }, {
  						name: 'Brazil',
  						value: 195210.154
  					  }, {
  						name: 'Brunei',
  						value: 27.223
  					  }, {
  						name: 'Bhutan',
  						value: 716.939
  					  }, {
  						name: 'Botswana',
  						value: 1969.341
  					  }, {
  						name: 'Central African Republic',
  						value: 4349.921
  					  }, {
  						name: 'Canada',
  						value: 34126.24
  					  }, {
  						name: 'Switzerland',
  						value: 7830.534
  					  }, {
  						name: 'Chile',
  						value: 17150.76
  					  }, {
  						name: 'China',
  						value: 1359821.465
  					  }, {
  						name: 'Ivory Coast',
  						value: 60508.978
  					  }, {
  						name: 'Cameroon',
  						value: 20624.343
  					  }, {
  						name: 'Democratic Republic of the Congo',
  						value: 62191.161
  					  }, {
  						name: 'Republic of the Congo',
  						value: 3573.024
  					  }, {
  						name: 'Colombia',
  						value: 46444.798
  					  }, {
  						name: 'Costa Rica',
  						value: 4669.685
  					  }, {
  						name: 'Cuba',
  						value: 11281.768
  					  }, {
  						name: 'Northern Cyprus',
  						value: 1.468
  					  }, {
  						name: 'Cyprus',
  						value: 1103.685
  					  }, {
  						name: 'Czech Republic',
  						value: 10553.701
  					  }, {
  						name: 'Germany',
  						value: 83017.404
  					  }, {
  						name: 'Djibouti',
  						value: 834.036
  					  }, {
  						name: 'Denmark',
  						value: 5550.959
  					  }, {
  						name: 'Dominican Republic',
  						value: 10016.797
  					  }, {
  						name: 'Algeria',
  						value: 37062.82
  					  }, {
  						name: 'Ecuador',
  						value: 15001.072
  					  }, {
  						name: 'Egypt',
  						value: 78075.705
  					  }, {
  						name: 'Eritrea',
  						value: 5741.159
  					  }, {
  						name: 'Spain',
  						value: 46182.038
  					  }, {
  						name: 'Estonia',
  						value: 1298.533
  					  }, {
  						name: 'Ethiopia',
  						value: 87095.281
  					  }, {
  						name: 'Finland',
  						value: 5367.693
  					  }, {
  						name: 'Fiji',
  						value: 860.559
  					  }, {
  						name: 'Falkland Islands',
  						value: 49.581
  					  }, {
  						name: 'France',
  						value: 63230.866
  					  }, {
  						name: 'Gabon',
  						value: 1556.222
  					  }, {
  						name: 'United Kingdom',
  						value: 62066.35
  					  }, {
  						name: 'Georgia',
  						value: 4388.674
  					  }, {
  						name: 'Ghana',
  						value: 24262.901
  					  }, {
  						name: 'Guinea',
  						value: 10876.033
  					  }, {
  						name: 'Gambia',
  						value: 1680.64
  					  }, {
  						name: 'Guinea Bissau',
  						value: 10876.033
  					  }, {
  						name: 'Equatorial Guinea',
  						value: 696.167
  					  }, {
  						name: 'Greece',
  						value: 11109.999
  					  }, {
  						name: 'Greenland',
  						value: 56.546
  					  }, {
  						name: 'Guatemala',
  						value: 14341.576
  					  }, {
  						name: 'French Guiana',
  						value: 231.169
  					  }, {
  						name: 'Guyana',
  						value: 786.126
  					  }, {
  						name: 'Honduras',
  						value: 7621.204
  					  }, {
  						name: 'Croatia',
  						value: 4338.027
  					  }, {
  						name: 'Haiti',
  						value: 9896.4
  					  }, {
  						name: 'Hungary',
  						value: 10014.633
  					  }, {
  						name: 'Indonesia',
  						value: 240676.485
  					  }, {
  						name: 'India',
  						value: 1205624.648
  					  }, {
  						name: 'Ireland',
  						value: 4467.561
  					  }, {
  						name: 'Iran',
  						value: 240676.485
  					  }, {
  						name: 'Iraq',
  						value: 30962.38
  					  }, {
  						name: 'Iceland',
  						value: 318.042
  					  }, {
  						name: 'Israel',
  						value: 7420.368
  					  }, {
  						name: 'Italy',
  						value: 60508.978
  					  }, {
  						name: 'Jamaica',
  						value: 2741.485
  					  }, {
  						name: 'Jordan',
  						value: 6454.554
  					  }, {
  						name: 'Japan',
  						value: 127352.833
  					  }, {
  						name: 'Kazakhstan',
  						value: 15921.127
  					  }, {
  						name: 'Kenya',
  						value: 40909.194
  					  }, {
  						name: 'Kyrgyzstan',
  						value: 5334.223
  					  }, {
  						name: 'Cambodia',
  						value: 14364.931
  					  }, {
  						name: 'South Korea',
  						value: 51452.352
  					  }, {
  						name: 'Kosovo',
  						value: 97.743
  					  }, {
  						name: 'Kuwait',
  						value: 2991.58
  					  }, {
  						name: 'Laos',
  						value: 6395.713
  					  }, {
  						name: 'Lebanon',
  						value: 4341.092
  					  }, {
  						name: 'Liberia',
  						value: 3957.99
  					  }, {
  						name: 'Libya',
  						value: 6040.612
  					  }, {
  						name: 'Sri Lanka',
  						value: 20758.779
  					  }, {
  						name: 'Lesotho',
  						value: 2008.921
  					  }, {
  						name: 'Lithuania',
  						value: 3068.457
  					  }, {
  						name: 'Luxembourg',
  						value: 507.885
  					  }, {
  						name: 'Latvia',
  						value: 2090.519
  					  }, {
  						name: 'Morocco',
  						value: 31642.36
  					  }, {
  						name: 'Moldova',
  						value: 103.619
  					  }, {
  						name: 'Madagascar',
  						value: 21079.532
  					  }, {
  						name: 'Mexico',
  						value: 117886.404
  					  }, {
  						name: 'Macedonia',
  						value: 507.885
  					  }, {
  						name: 'Mali',
  						value: 13985.961
  					  }, {
  						name: 'Myanmar',
  						value: 51931.231
  					  }, {
  						name: 'Montenegro',
  						value: 620.078
  					  }, {
  						name: 'Mongolia',
  						value: 2712.738
  					  }, {
  						name: 'Mozambique',
  						value: 23967.265
  					  }, {
  						name: 'Mauritania',
  						value: 3609.42
  					  }, {
  						name: 'Malawi',
  						value: 15013.694
  					  }, {
  						name: 'Malaysia',
  						value: 28275.835
  					  }, {
  						name: 'Namibia',
  						value: 2178.967
  					  }, {
  						name: 'New Caledonia',
  						value: 246.379
  					  }, {
  						name: 'Niger',
  						value: 15893.746
  					  }, {
  						name: 'Nigeria',
  						value: 159707.78
  					  }, {
  						name: 'Nicaragua',
  						value: 5822.209
  					  }, {
  						name: 'Netherlands',
  						value: 16615.243
  					  }, {
  						name: 'Norway',
  						value: 4891.251
  					  }, {
  						name: 'Nepal',
  						value: 26846.016
  					  }, {
  						name: 'New Zealand',
  						value: 4368.136
  					  }, {
  						name: 'Oman',
  						value: 2802.768
  					  }, {
  						name: 'Pakistan',
  						value: 173149.306
  					  }, {
  						name: 'Panama',
  						value: 3678.128
  					  }, {
  						name: 'Peru',
  						value: 29262.83
  					  }, {
  						name: 'Philippines',
  						value: 93444.322
  					  }, {
  						name: 'Papua New Guinea',
  						value: 6858.945
  					  }, {
  						name: 'Poland',
  						value: 38198.754
  					  }, {
  						name: 'Puerto Rico',
  						value: 3709.671
  					  }, {
  						name: 'North Korea',
  						value: 1.468
  					  }, {
  						name: 'Portugal',
  						value: 10589.792
  					  }, {
  						name: 'Paraguay',
  						value: 6459.721
  					  }, {
  						name: 'Qatar',
  						value: 1749.713
  					  }, {
  						name: 'Romania',
  						value: 21861.476
  					  }, {
  						name: 'Russia',
  						value: 21861.476
  					  }, {
  						name: 'Rwanda',
  						value: 10836.732
  					  }, {
  						name: 'Western Sahara',
  						value: 514.648
  					  }, {
  						name: 'Saudi Arabia',
  						value: 27258.387
  					  }, {
  						name: 'Sudan',
  						value: 35652.002
  					  }, {
  						name: 'South Sudan',
  						value: 9940.929
  					  }, {
  						name: 'Senegal',
  						value: 12950.564
  					  }, {
  						name: 'Solomon Islands',
  						value: 526.447
  					  }, {
  						name: 'Sierra Leone',
  						value: 5751.976
  					  }, {
  						name: 'El Salvador',
  						value: 6218.195
  					  }, {
  						name: 'Somaliland',
  						value: 9636.173
  					  }, {
  						name: 'Somalia',
  						value: 9636.173
  					  }, {
  						name: 'Republic of Serbia',
  						value: 3573.024
  					  }, {
  						name: 'Suriname',
  						value: 524.96
  					  }, {
  						name: 'Slovakia',
  						value: 5433.437
  					  }, {
  						name: 'Slovenia',
  						value: 2054.232
  					  }, {
  						name: 'Sweden',
  						value: 9382.297
  					  }, {
  						name: 'Swaziland',
  						value: 1193.148
  					  }, {
  						name: 'Syria',
  						value: 7830.534
  					  }, {
  						name: 'Chad',
  						value: 11720.781
  					  }, {
  						name: 'Togo',
  						value: 6306.014
  					  }, {
  						name: 'Thailand',
  						value: 66402.316
  					  }, {
  						name: 'Tajikistan',
  						value: 7627.326
  					  }, {
  						name: 'Turkmenistan',
  						value: 5041.995
  					  }, {
  						name: 'East Timor',
  						value: 10016.797
  					  }, {
  						name: 'Trinidad and Tobago',
  						value: 1328.095
  					  }, {
  						name: 'Tunisia',
  						value: 10631.83
  					  }, {
  						name: 'Turkey',
  						value: 72137.546
  					  }, {
  						name: 'United Republic of Tanzania',
  						value: 44973.33
  					  }, {
  						name: 'Uganda',
  						value: 33987.213
  					  }, {
  						name: 'Ukraine',
  						value: 46050.22
  					  }, {
  						name: 'Uruguay',
  						value: 3371.982
  					  }, {
  						name: 'United States of America',
  						value: 312247.116
  					  }, {
  						name: 'Uzbekistan',
  						value: 27769.27
  					  }, {
  						name: 'Venezuela',
  						value: 236.299
  					  }, {
  						name: 'Vietnam',
  						value: 89047.397
  					  }, {
  						name: 'Vanuatu',
  						value: 236.299
  					  }, {
  						name: 'West Bank',
  						value: 13.565
  					  }, {
  						name: 'Yemen',
  						value: 22763.008
  					  }, {
  						name: 'South Africa',
  						value: 51452.352
  					  }, {
  						name: 'Zambia',
  						value: 13216.985
  					  }, {
  						name: 'Zimbabwe',
  						value: 13076.978
  					  }]
  					}]
  				  });
  	   
  			}
  	   
  		}  
  	   
  	   
  	$(document).ready(function() {
                  		
  		init_sparklines();
  		init_flot_chart();
  		init_sidebar();
  		init_wysiwyg();
  		init_InputMask();
  		init_JQVmap();
  		init_cropper();
  		init_knob();
  		init_IonRangeSlider();
  		init_ColorPicker();
  		init_TagsInput();
  		init_parsley();
  		init_daterangepicker();
  		init_daterangepicker_right();
  		init_daterangepicker_single_call();
  		init_daterangepicker_reservation();
  		init_SmartWizard();
  		init_EasyPieChart();
  		init_charts();
  		init_echarts();
  		init_morris_charts();
  		init_skycons();
  		init_select2();
  		init_validator();
  		init_DataTables();
  		init_chart_doughnut();
  		init_gauge();
  		init_PNotify();
  		init_starrr();
  		init_calendar();
  		init_compose();
  		init_CustomNotification();
  		init_autosize();
  		init_autocomplete();
  		
              
                          
  	});	
  	
  
  