var gsorder = 0;
var lastlen = 0;
var order = {};
order.key = 0;
order.dir = 0;
var strPassword;
var charPassword;
var minPasswordLength = 8;
var baseScore = 0, score = 0;
var num = {};
num.Excess = 0;
num.Upper = 0;
num.Numbers = 0;
num.Symbols = 0;
var bonus = {};
bonus.Excess = 3;
bonus.Upper = 4;
bonus.Numbers = 5;
bonus.Symbols = 5;
bonus.Combo = 0;
bonus.FlatLower = 0;
bonus.FlatNumber = 0;
var powertipOptions = {placement: 'ne', smartPlacement: 'true', fadeOutTime: 500};
jQuery.extend(jQuery.fancybox.defaults, {
type: 'ajax',
autoWidth: 'true',
autoHeight: 'true',
minHeight: 50,
padding: 0,
helpers: {overlay : { css : { 'background' : 'rgba(0, 0, 0, 0.1)'}}},
afterShow: function(){$('#fancyContainer input:visible:first').focus();}
});
$(document).ready(function(){
$("[title]").powerTip(powertipOptions);
$('input, textarea').placeholder();
setContentSize();
}).ajaxComplete(function() {
$("[title]").powerTip(powertipOptions);
$('input, textarea').placeholder();
});
function doAction(action, lastAction, id){
var data = {'action' : action,'lastAction': lastAction,'id': id, is_ajax: 1};
$('#content').fadeOut(function(){
$.fancybox.showLoading();
$.ajax({
type: 'POST',
dataType: 'html',
url: APP_ROOT + '/ajax/ajax_getcontent.php',
data: data,
success: function(response){
$('#content').fadeIn().html(response);
setContentSize();
},
error:function(){$('#content').html(resMsg("nofancyerror"));},
complete: function(){$.fancybox.hideLoading();}
});
});
}
function setContentSize(){
// Calculate total height for full body resize
var totalHeight = $("#content").height() + 100;
var totalWidth = $("#wrap").width();
// alert(totalWidth + 'x' + totalHeight);
$("#container").css("height",totalHeight);
// $("#wrap").css("width",totalWidth);
}
function scrollUp(){
$('html, body').animate({ scrollTop: 0 }, 'slow');
}
// Función para limpiar un formulario
function Clear(id, search){
if ( search === 1 ){
document.frmSearch.search.value = "";
document.frmSearch.customer.selectedIndex = 0;
document.frmSearch.category.selectedIndex = 0;
$('#frmSearch input[name="start"]').val(0);
$('#frmSearch input[name="skey"]').val(0);
$('#frmSearch input[name="sorder"]').val(0);
$(".select-box").val('').trigger("chosen:updated");
}
}
// Funcion para crear un desplegable con opciones
function mkChosen(options){
$('#' + options.id).chosen({
allow_single_deselect: true,
placeholder_text_single: options.placeholder,
disable_search_threshold: 10,
no_results_text: options.noresults
});
}
// Función para realizar una búsqueda
function accSearch(continous){
var lenTxtSearch = $('#txtSearch').val().length;
if ( lenTxtSearch < 3 && continous === 1 && lenTxtSearch > window.lastlen ) return;
window.lastlen = lenTxtSearch;
var datos = $("#frmSearch").serialize();
$.fancybox.showLoading();
$.ajax({
type: 'POST',
dataType: 'html',
url: APP_ROOT + '/ajax/ajax_search.php',
data: datos,
success: function(response){
$('#resBuscar').html(response);
$('#data-search').css("max-height",$('html').height() - 300);
},
error:function(){$('#resBuscar').html(resMsg("nofancyerror"));},
complete: function(){$.fancybox.hideLoading();}
});
return false;
}
// Función para buscar con la ordenación por campos
function searchSort(skey,start,nav){
if ( typeof(skey) === "undefined" || typeof(start) === "undefined" ) return false
var sorder = 0;
if ( order.key > 0 && order.key != skey ){
order.key = skey;
order.dir = 0;
} else if (nav != 1){
order.key = skey;
if ( order.dir === 1 ){
order.dir = 0;
} else{
order.dir = 1;
sorder = 1;
}
}
$('#frmSearch input[name="skey"]').val(skey);
$('#frmSearch input[name="sorder"]').val(sorder);
$('#frmSearch input[name="start"]').val(start);
var frmData = $("#frmSearch").serialize();
$.fancybox.showLoading();
$.ajax({
type: 'POST',
dataType: 'html',
url: APP_ROOT + '/ajax/ajax_search.php',
data: frmData,
success: function(response){
$('#resBuscar').html(response);
$('#data-search').css("max-height",$('html').height() - 300);
$('#search-sort-' + skey).addClass('filterOn');
if ( order.dir == 0 ){
$('#search-sort-' + skey).append('
');
} else{
$('#search-sort-' + skey).append('
');
}
},
error:function(){$('#resBuscar').html(resMsg("nofancyerror"));},
complete: function(){
scrollUp();
$.fancybox.hideLoading();
}
});
}
// Función para buscar con la ordenación por campos
function navLog(start, current){
if ( typeof(start) === "undefined" ) return false
$.fancybox.showLoading();
$.ajax({
type: 'POST',
dataType: 'html',
url: APP_ROOT + '/ajax/ajax_eventlog.php',
data: {'start' : start, 'current' : current},
success: function(response){
$('#content').html(response);
},
error:function(){$('#content').html(resMsg("nofancyerror"));},
complete: function(){
$.fancybox.hideLoading();
scrollUp();
setContentSize();
}
});
}
// Función para ver la clave de una cuenta
function viewPass(id,full,history){
$.post( APP_ROOT + '/ajax/ajax_viewpass.php',
{'accountid': id, 'full': full, 'isHistory' : history},
function( data ) {
if ( data.length === 0 ){
doLogout();
} else {
resMsg("none",data);
}
}
);
}
// Función para las variables de la URL y parsearlas a un array.
function getUrlVars(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++){
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
// Función para autentificar usuarios
function doLogin(){
$.fancybox.showLoading();
//var form_data = {user: $("#user").val(), pass: $("#pass").val(), mpass: $("#mpass").val(), login: 'login', is_ajax: 1};
var form_data = $('#frmLogin').serialize();
$("#btnLogin").prop('disabled',true);
$.ajax({
type: "POST",
dataType: "json",
url: APP_ROOT + '/ajax/ajax_doLogin.php',
data: form_data,
success: function(json){
var status = json.status;
var description = json.description;
if( status === 0 || status === 2 ){
location.href = description;
} else if ( status === 3 || status === 4 ){
resMsg("error", description);
$("#mpass").prop('disabled',false);
$('#smpass').show();
} else if ( status === 5 ){
resMsg("warn", description,'',"location.href = 'index.php';");
} else {
$('#user').val('').focus();
$('#pass').val('');
resMsg("error", description);
}
},
complete: function(){$('#btnLogin').prop('disabled',false); $.fancybox.hideLoading();},
statusCode: {
404: function() {
var txt = LANG[1] + '
' + LANG[13] + '
'; resMsg("error", txt); }}, }); return false; } function doLogout() { var url = window.location.search; if ( url.length > 0 ){ location.href = 'index.php' + url + '&logout=1'; } else{ location.href = 'index.php?logout=1'; } } function checkLogout(){ var session = getUrlVars()["session"]; if ( session == 0 ){ resMsg("warn", LANG[2],'',"location.search = ''"); } } // Función para añadir/editar una cuenta function saveAccount(frm) { var data = $("#"+frm).serialize(); var id = $('input[name="accountid"]').val(); var savetyp = $('input[name="savetyp"]').val(); var action = $('input[name="next"]').val(); switch(savetyp){ case "1": break; case "2": break; } $('#btnGuardar').attr('disabled', true); $.fancybox.showLoading(); $.ajax({ type: 'POST', dataType: 'json', url: APP_ROOT + '/ajax/ajax_accountsave.php', data: data, success: function(json){ var status = json.status; var description = json.description; if ( status === 0 ){ resMsg("ok", description); if ( savetyp == 1 ){ $('#btnSave').hide(); } else{ $('#btnSave').attr('disabled', true); } if ( action && id ){ doAction(action,'accsearch',id); } } else if ( status === 10){ doLogout(); } else { resMsg("error", description); $('#btnSave').removeAttr("disabled"); } }, error:function(jqXHR, textStatus, errorThrown){ var txt = LANG[1] + '' + errorThrown + textStatus + '
'; resMsg("error", txt); }, complete: function(){$.fancybox.hideLoading();} }); } // Función para eliminar una cuenta function delAccount(id,action,sk){ var data = {accountid: id, savetyp: action, sk: sk}; var atext = '' + LANG[3] + '
' + errorThrown + textStatus + '
'; resMsg("error", txt); }, complete: function(){$.fancybox.hideLoading();} }); return false; } // Función para descargar/ver archivos de una cuenta function downFile(id, sk, action){ var data = {'fileId' : id, 'sk' : sk, 'action': action}; if ( action === 'view'){ $.fancybox.showLoading(); $.ajax({ type : "POST", cache : false, url : APP_ROOT + "/ajax/ajax_files.php", data : data, success: function(response) { if ( response ){ $.fancybox(response,{padding: [10,10,10,10]}); // Actualizar fancybox para adaptarlo al tamaño de la imagen setTimeout(function() {$.fancybox.update();}, 1000); } else{ resMsg("error", LANG[14]); } }, complete: function(){$.fancybox.hideLoading();} }); } else if ( action === 'download') { $.fileDownload(APP_ROOT + '/ajax/ajax_files.php',{'httpMethod' : 'POST','data': data,}); } } // Función para obtener la lista de archivos de una cuenta function getFiles(id, isDel, sk){ var data = {'id' : id, 'del' : isDel, 'sk' : sk}; $.ajax({ type : "GET", cache : false, url : APP_ROOT + "/ajax/ajax_getFiles.php", data : data, success: function(response) { $('#downFiles').html(response); }, complete: function(){$.fancybox.hideLoading();} }); } // Función para eliminar archivos de una cuenta function delFile(id, sk, accid){ var atext = '' + LANG[15] + '
' + errorThrown + textStatus + '
'; resMsg("error", txt); }, complete: function(){$.fancybox.hideLoading();} }); } // Función para mostrar el formulario para cambio de clave de usuario function usrUpdPass(id,usrlogin){ var data = {'usrid': id, 'usrlogin': usrlogin, 'is_ajax' : 1}; $.fancybox.showLoading(); $.ajax({ type : "GET", cache : false, url : APP_ROOT + '/ajax/ajax_usrpass.php', data : data, success: function(data) { if ( data.length === 0 ){ doLogout(); } else { $.fancybox(data,{padding: 0}); } } }); } // Función para mostrar los datos de un registro function appMgmtData(id, type, sk, active, view, nextaction){ var data = {'id' : id, 'type' : type, 'sk' : sk, 'active' : active, 'view' : view, 'is_ajax' : 1}; var url = APP_ROOT + '/ajax/ajax_appMgmtData.php'; $.fancybox.showLoading(); $.ajax({ type: 'POST', dataType: 'html', url: url, data: data, success: function(response){ $.fancybox(response,{ padding: [0,10,10,10], afterClose: function(){doAction(nextaction,'',active);} }); }, error:function(jqXHR, textStatus, errorThrown){ var txt = LANG[1] + '' + errorThrown + textStatus + '
'; resMsg("error", txt); }, complete: function(){$.fancybox.hideLoading();} }); } // Función para editar los datos de un registro function appMgmtSave(frmId, isDel, id, type, sk, nextaction){ var data; var url = '/ajax/ajax_appMgmtSave.php'; if ( isDel === 1 ){ var data = {'id' : id, 'type' : type, 'action' : 4, 'sk' : sk }; var atext = '' + LANG[12] + '
' + LANG[20] + '
' + LANG[6] + '
' + password + '
'); } else { alertify.alert('' + LANG[6] + '
' + password + '
'); } if ( dstId ){ checkPassLevel(password); $('#' + dstId +' input:password').val(password); $('#' + dstId + ' #passLevel').show(500); } else{ checkPassLevel(password); $('input:password').val(password); $('#passLevel').show(500); } //return password; } // Funciónes para analizar al fortaleza de una clave // From http://net.tutsplus.com/tutorials/javascript-ajax/build-a-simple-password-strength-checker/ function checkPassLevel(password, dstId){ strPassword= password; charPassword = strPassword.split(""); num.Excess = 0; num.Upper = 0; num.Numbers = 0; num.Symbols = 0; bonus.Combo = 0; bonus.FlatLower = 0; bonus.FlatNumber = 0; baseScore = 0; score = 0; if (charPassword.length >= minPasswordLength){ baseScore = 50; analyzeString(); calcComplexity(); } else { baseScore = 0; } if ( dstId ){ outputResult(dstId); } else{ outputResult(dstId); } } function analyzeString (){ for (i=0; iOops...
' + LANG[1] + '
' + txt + '
' + errorThrown + textStatus + '
'; resMsg("error", txt); }, complete: function(){$.fancybox.hideLoading();} }); }