function getNoKey(e) {
  var ev = (e) ? e : event;
  return (ev.noKey) ? ev.noKey : ((ev.which) ? ev.which : ev.keyCode);
}

function checkAll() {
  $('input[type=\'checkbox\']').not('#cekall').removeAttr('checked');
  $('.trow').removeClass('checked-row');
  $('#bthapus').removeClass('active');
  if ($('#cekall').is(':checked')) {
    $('input[type=\'checkbox\']').not('#cekall').attr('checked', 'checked');
    $('.trow').addClass('checked-row');
    $('#bthapus').addClass('active');
  }
}

function toggleCheck(idx) {
  $('#trow' + idx).removeClass('checked-row');
  if ($('#cek' + idx).is(':checked')) {
    $('#trow' + idx).addClass('checked-row');
  }
  
  $('#bthapus').removeClass('active');
  if ($('input[type=\'checkbox\']:checked').not('#cekall').length > 0)
    $('#bthapus').addClass('active');
}

/**
  * Menampilkan dialog message modal
  * (c) alfavianur
  *
  * param : <object> prop
  *                  - msg      : <string> "Isi pesan dialog"
  *                  - title    : <string> "Judul pada title bar"
  *                  - type     : <string> "info" | "error" | "warning" | "question"
  *                  - btntype  : <string> "ok" | "ok_cancel"
  *                  - callback : <function> callback function will trigger when OK button is clicked
 */
function showDialog(prop) {
  $('#modal').show();
  
  $('#dialog .dialog-toolbar .dialog-toolbar-title').html((prop.title) ? prop.title : 'Web Portal Universitas Stikubank');
  $('#dialog .dialog-content .dialog-body .msg').html(prop.msg);
  $('#dialog .dialog-content .dialog-body .icon').attr('class', (prop.type) ? 'icon ' + prop.type : 'icon info');
  var w = window.innerWidth;
  var h = window.innerHeight;
  var l = (w / 2) - ($('#dialog').width() / 2);
  var t = (h / 2) - ($('#dialog').height() / 2);
  $('#dialog').css('left', l + 'px');
  $('#dialog').css('top' , t + 'px');
  $('#dialog').fadeIn(200);
  
  $('#dialog-btn-ok').unbind('click');
  
  if (prop.btntype == 'ok_cancel') {
    $('#dialog-btn-cancel').show();
    if (prop.callback)
      $('#dialog-btn-ok').click(prop.callback);
    else
      $('#dialog-btn-ok').click(function() {closeDialog();});
    
    $('#dialog-btn-cancel').focus();
  }
  else {
    $('#dialog-btn-cancel').hide();
    $('#dialog-btn-ok').click(function() {closeDialog();});
    
    $('#dialog-btn-ok').focus();
  }
  
  $('#dialog-btn-cancel, #dialog-close').click(function() {
    closeDialog();
  });
  
  $('#dialog').draggable({
    containment: 'window',
    cursor: 'move',
    handle:'.dialog-toolbar'
  });
}

function closeDialog() {
  $('#dialog').fadeOut(200, function() {
    $('#modal').hide();
  });
}

function logout(url) {
  showDialog({
    msg      : 'Apakah anda mau logout?',
    type     : 'question',
    btntype  : 'ok_cancel',
    callback : function() {
      window.location.href = url;
    }
  });
}

function hapusData(submsg, url) {
  showDialog({
    msg      : 'Mau menghapus data ini?<br /><br />' + submsg,
    type     : 'warning',
    btntype  : 'ok_cancel',
    callback : function() {
      window.location.href = url;
    }
  });
}

function randomPass() {
  var karakter = 'qwertyuiopasdfghjklzxcvbnm1234567890';
  var hasil = '';
  for (var i = 0; i < 6; i++) {
    var pos = Math.round(Math.random() * (karakter.length - 1)) + 1;
    hasil += karakter.charAt(pos - 1);
  }
  return hasil;
}

function addshout() {
  $('#modal').show();
  
  var w = window.innerWidth;
  var h = window.innerHeight;
  var l = (w / 2) - ($('#gantipass').width() / 2);
  var t = (h / 2) - ($('#gantipass').height() / 2);
  $('#gantipass').css('left', l + 'px');
  $('#gantipass').css('top' , t + 'px');
  $('#gantipass').fadeIn(200);
  
  $('#gantipass input[type="text"], #gantipass textarea').val('');
  $('#gantipass input[type="text"], #gantipass textarea').removeClass('erin');
  $('#gantipass-msg').hide();
  $('#nama').focus();
  
  $('#gantipass-close, #gantipass-cancel').click(function() {
    $('#gantipass').fadeOut(200, function() {
      $('#modal').hide();
    });
  });
  
  $('#gantipass').draggable({
    containment: 'window',
    cursor: 'move',
    handle:'.dialog-toolbar'
  });
}
