text: // loading screen
  $(window).load(function () {
            $("#loadingimg").fadeOut("slow");
    });
  
  
  // datatable intialisation
  
  $(document).ready(function() {
    $('[data-toggle="popover"]').popover();
     // select2 intialisation
     $(".js-select-options").select2();
     // WYSIWYG summernote editor
     $('#summernote').summernote({
        height: 200,
        toolbar: [
         // [groupName, [list of button]]
         ['style', ['bold', 'italic', 'underline', 'clear']],
         ['font', []],
         ['fontsize', ['fontsize']],
         ['color', ['color']],
         ['para', ['ul', 'ol', 'paragraph']],
         ['height', ['height']]
       ]
     });
     $('#summernote2').summernote({
        height: 200,
        toolbar: [
         // [groupName, [list of button]]
         ['style', ['bold', 'italic', 'underline', 'clear']],
         ['font', []],
         ['fontsize', ['fontsize']],
         ['color', ['color']],
         ['para', ['ul', 'ol', 'paragraph']],
         ['height', ['height']]
       ]
     });
     // tooltip intialisation
       $('[data-toggle="tooltip"]').tooltip();
    // datatable options
      var table = $('#Table').DataTable( {
          dom: 'T<"clear">lfrtip',
          tableTools: {
              "sSwfPath": "https://cdn.datatables.net/tabletools/2.2.4/swf/copy_csv_xls_pdf.swf",
              'bProcessing'    : true,
  				"aButtons": [
  					"xls",
  					{
  						"sExtends": "pdf",
  						"sPdfOrientation": "landscape",
  						"sPdfMessage": ""
  					},
  					"print"
  				]
           }
        });
  
  } );
  
  
  //removing virtual keyboard on mobile and tablet
  var currentState = false;
  
  function setSize() {
    var state = $(window).width() < 961;
    if (state != currentState) {
      currentState = state;
      if (state) {
        $('.barcode').removeAttr('id');
        $('.TAX').removeAttr('id');
        $('.Remise').removeAttr('id');
      } else {
        $('.barcode').attr('id', 'keyboard');
        $('.barcode').attr('id', 'num01');
        $('.barcode').attr('id', 'num02');
      }
    }
  }
  
  setSize();
  $(window).on('resize', setSize);
  
  // slim scroll setup
  //for the product list in the left side
  $(function(){
     $('#productList').slimScroll({
        height: '355px',
        alwaysVisible: true,
        railVisible: true,
     });
  });
  // and the right side
  $(function(){
     $('#productList2').slimScroll({
        height: '740px',
        allowPageScroll: true,
        alwaysVisible: true,
        railVisible: true,
     });
  });
  
  // waves paramateres
  Waves.init();
  Waves.attach('.flat-box', ['waves-block']);
  Waves.attach('.flat-box-btn', ['waves-button']);
  
  // virtual keyboard parametres
  
  $('#keyboard').keyboard({
     autoAccept : true,
      usePreview: false
  })
  // activate the typing extension
  .addTyping({
     showTyping: true,
     delay: 250
  });
  
  $('#num01')
  	.keyboard({
  		layout : 'numpad',
  		restrictInput : true, // Prevent keys not in the displayed keyboard from being typed in
  		preventPaste : true,  // prevent ctrl-v and right click
  		autoAccept : true,
        usePreview: false
  	})
  .addTyping();
  
  $('#num02')
  	.keyboard({
  		layout : 'numpad',
  		restrictInput : true, // Prevent keys not in the displayed keyboard from being typed in
  		preventPaste : true,  // prevent ctrl-v and right click
  		autoAccept : true,
        usePreview: false
  	})
  .addTyping();
  
  $('.paid')
  	.keyboard({
  		layout : 'numpad',
  		restrictInput : true, // Prevent keys not in the displayed keyboard from being typed in
  		preventPaste : true,  // prevent ctrl-v and right click
  		autoAccept : true,
        usePreview: false
  	})
  .addTyping();
  
  /***************************** LOGIN form ***********/
  
  $( ".LoginInput" ).focusin(function() {
    $( this ).find( "span" ).animate({"opacity":"0"}, 200);
  });
  
  $( ".LoginInput" ).focusout(function() {
    $( this ).find( "span" ).animate({"opacity":"1"}, 300);
  });
  
  /******** passwors confirmation validation ****************/
  
  var password = document.getElementById("password")
    , confirm_password = document.getElementById("confirm_password");
  
  function validatePassword(){
    if(password.value != confirm_password.value) {
      confirm_password.setCustomValidity("Passwords Don't Match");
    } else {
      confirm_password.setCustomValidity('');
    }
  }
  
  if(password) password.onchange = validatePassword;
  if(confirm_password) confirm_password.onkeyup = validatePassword;
  
  
  
  /************************* modal shifting fix ****************************/
  
  $(document.body)
  .on('show.bs.modal', function () {
      if (this.clientHeight <= window.innerHeight) {
          return;
      }
      // Get scrollbar width
      var scrollbarWidth = getScrollBarWidth()
      if (scrollbarWidth) {
          $(document.body).css('padding-right', scrollbarWidth);
          $('.navbar-fixed-top').css('padding-right', scrollbarWidth);
      }
  })
  .on('hidden.bs.modal', function () {
      $(document.body).css('padding-right', 0);
      $('.navbar-fixed-top').css('padding-right', 0);
  });
  
  function getScrollBarWidth () {
      var inner = document.createElement('p');
      inner.style.width = "100%";
      inner.style.height = "200px";
  
      var outer = document.createElement('div');
      outer.style.position = "absolute";
      outer.style.top = "0px";
      outer.style.left = "0px";
      outer.style.visibility = "hidden";
      outer.style.width = "200px";
      outer.style.height = "150px";
      outer.style.overflow = "hidden";
      outer.appendChild (inner);
  
      document.body.appendChild (outer);
      var w1 = inner.offsetWidth;
      outer.style.overflow = 'scroll';
      var w2 = inner.offsetWidth;
      if (w1 == w2) w2 = outer.clientWidth;
  
      document.body.removeChild (outer);
  
      return (w1 - w2);
  };
  