$.cookie("vmi1",0);
var win=null;
var initWinPopup = 0;
var blockpopup=true;
var p1=$.cookie("factor");//0;
var p2=$.cookie("ciclo");//0;
var bwn={"name":""};
var alert_msg=new Array();
alert_msg[0]='Ingresa al sistema OK, debe cambiar clave por seguridad';alert_msg[1]='Ingresa al sistema OK';alert_msg[2]='Error, los datos no corresponden a un usuario del sistema, intente nuevamente.';alert_msg[3]='Error, datos vacios de usuario o/y clave';alert_msg[4]='Error, la imagen no corresponde o ya expiro';alert_msg[5]='Error, la sesion ya tiene vinculado este navegador, no se permite reenvair credenciales.';alert_msg[6]='Error, fallo recuperando de session.';alert_msg[7]='Error, no se pudo validar firma digital, esto puede ocurrir si forzo cerrar la sesion';alert_msg[8]='Error, de conexion a la db.';alert_msg[9]='Error, no se encontro la sesion.';alert_msg[10]='Error, ya existe una sesion abierta, verfique por favor.';alert_msg[11]='Error, usted ya tiene una sesion activa';alert_msg[20]='La frase de la imagen es incorrecta, verifique e intente de nuevo';alert_msg[21]='Datos incompletos !!';alert_msg[100]='Tiene una ventana con la aplicacion abierta, si desea cambiar de usuario, por favor cierra la ventana e intente de nuevo.';alert_msg[101]='Se encuentra autenticado en el sistema.';alert_msg[22]='Su usuario ha sido bloqueado por demasiados intentos de acceso forzado';
//pn unico, no debe existir en tiempos de ejecucion algo igual
var pn="web8af279d41eb9982a6294d56248eb5f"+md5(new Date().getTime());//popup name
var np=0;//num window
var envalidacion=false;
var enviandodatos=false;
//mensaje para relinkearse despues de autenticarse, evita robots
var msgFormLoginPostLogin={};
msgFormLoginPostLogin.ca = '
Usted tiene bloqueo de ventanas, presione el siguiente enlace para ingresar
';msgFormLoginPostLogin.co = 'Usted tiene bloqueo de ventanas, presione el siguiente enlace para ingresar
';
//mensaje para relinkearse despues de autenticarse, evita robots
var msgFormLoginPostLoginOk={};
msgFormLoginPostLoginOk.co = 'Usted ingreso al sistema, ya hay una ventana emergente activa.
';msgFormLoginPostLoginOk.ca = 'Usted ingreso al sistema, ya hay una ventana emergente activa.
';
function addListener(element, baseName, handler) {
if(element){
if (element.addEventListener)
element.addEventListener(baseName, handler, false);
else if (element.attachEvent)
element.attachEvent('on'+baseName,handler);
}
}
function fireEvent(element,event){
event.type=event;
if (document.createEventObject){
// dispatch for IE
var evt = document.createEventObject();
return element.fireEvent('on'+event,evt)
}
else{
// dispatch for firefox + others
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !element.dispatchEvent(evt);
}
}
addListener(window, "load", function(){
addListener(this, "unload", function(){
if(win!=null){
win.location.href="menu/salir.php?gohome=true&close=true";
}
})
addListener(this, "beforeunload", function(){
$.ajax({
type: "POST",
url: "menu/salir.php",
data: "UUID="+windowName,
success: function(msg){
window.location.reload();
}
});
alert("Gracias por su visita!"); return null;
});
//$("#zis").css("display","block");
function onBlur() {
document.body.className = 'blurred';
};
function onFocus(){
//revalidar session
document.body.className = 'focused';
};
if (/*@cc_on!@*/false) { // check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
} else {
window.onfocus = onFocus;
window.onblur = onBlur;
}
$("#enviar").click(function(){
//$("#enviar")[0].disabled="disabled";
MM_openBrWindow();
});
$("#clave").keypress(function(event){
if ( event.which == 13 ) {
if($("#imgsecure")[0].value.length>0){
$("#enviar")[0].disabled="disabled";
MM_openBrWindow();
}else{
$("#imgsecure").focus();
}
}
});
$("#imgsecure").keypress(function(event){
if ( event.which == 13 ) {
MM_openBrWindow();
}
});
$("#usuario").keypress(function(event){
if ( event.which == 13 ) {
$("#clave").focus();
}
});
$("#cambiarimagen").click(cambiarimagen);
var d=new Date();
$.ajax({
type: "GET",
url: "secure/codsec.php",
data: "t="+d.getTime()
});
});
function cambiarimagen(){
var srcimg=$("#imagen").get(0).src;
var d=new Date();
var srcimgn=srcimg.substr(0,srcimg.indexOf("i=")+2)+""+d.getTime();
$("#imagen")[0].src=srcimgn;
}
//se bloquean las siguientes lineas, para que siempre el usuario active un enlace despues de autenticarse para que se valide en una instancia segunda para evitar robots
/*var win=window.open("about:blank", md5(new Date().getTime()), "location=0,status=0,scrollbars=0,width=10,height=10,menubar=no,toolbar=no,screenX=0,screenY=0");
if(!win || win.closed || typeof win.closed=='undefined' || win.screenX==0 || win.outerWidth == 0)
{
blockpopup=true;
if(win!='undefined' && win!=null){
win.moveTo(5,5)
setTimeout(function(){
if(win.screenX==0 || win.outerWidth == 0){
}else{
blockpopup=false;
win.close();
}
},1000)
}
}else{
win.close();
blockpopup=false;
}*/
//setTimeout(function(){alert(blockpopup);},3000)
function MM_openBrWindow()
{
if($("#usuario").get(0).value.length>0 && $("#clave").get(0).value.length>0 && $("#imgsecure").get(0).value.length>0){
//if($("#imgsecure").get(0).value.length==4 && md5(Base64.encode(md5($("#imgsecure").get(0).value.toLowerCase())))==$.cookie("35e1973477fd50ae766cbde54051cb41") && envalidacion==false){
if(md5($("#imgsecure").get(0).value.toLowerCase())==$.cookie("himg")){
//poner una variable temporal para evitar replica de solicitudes
envalidacion=true;
//identifica la ventana actual que es validacion de credenciales
window.name="base";
if(enviandodatos==false){
//if(win=abrirventana()){
enviandodatos=true;
var windowName = pn;
var url ='secure/vw.php';
var datos='{"UUID":"'+windowName+'","usuario":"'+$("#usuario").get(0).value+'","clave":"'+md5($("#clave").get(0).value)+'","imgsecure":"'+md5($("#imgsecure").get(0).value.toLowerCase())+'"}';
$.ajax({
type: "POST",
url: "secure/checkHash.php",
data: ecs(Base64.encode(datos)),
success: function(msg){
enviandodatos=false;
$("#enviar")[0].disabled="";
if(msg!=undefined && msg!=null){
if(parseInt(msg)>-1 && parseInt(msg)<100){
var r=parseInt(msg);
}else{
var r=new String(decs(Base64.decode(msg)));
r=parseInt(hex2bin(r));
}
//switch(parseInt(msg)){
switch(r){
case 0:
case 1:
$.cookie("salir",0,{path:'/'})
$("#usuario").get(0).value='';
$("#clave").get(0).value='';
$("#imgsecure").get(0).value='';
var refrescar=false;
$("#usuario").get(0).disabled="disabled";
$("#clave").get(0).disabled="disabled";
$("#imgsecure").get(0).disabled="disabled";
goWinSession();
break;
//no se refresca el navegaodr
case 2:
case 3:
case 4:
case 22:
case 10:
$("#clave").get(0).value='';
$("#imgsecure").get(0).value='';
$("#clave").get(0).focus();
if(alert_msg[r]!=undefined && alert_msg[r]!=null){
alert(alert_msg[r]);
}else{
}
bwn.name='';
cambiarimagen();
break;
//id donde es necesario refrescar session
default:
//son alertas que no se deben informar al usuario, por eso se resete el login
alert(alert_msg[r])
$.ajax({
type: "POST",
url: "menu/salir.php",
data: "UUID="+windowName,
success: function(msg){
window.location.reload();
}
});
break;
}
}
}
});
envalidacion=false;
}else{
//alert(alert_msg[10]);
//envalidacion=false;
}
}else{
cambiarimagen();
$("#imgsecure")[0].value='';
alert(alert_msg[20])
$("#enviar")[0].disabled="";
}
}else{
cambiarimagen();
$("#clave").get(0).value=''
alert_msg[21]
$("#enviar")[0].disabled="";
}
return false;
}
function goWinSession()
{
if(win!=null){
win.onbeforeunload=false;
win.onunload=false;
addListener(win, "beforeunload", function(){return null;});
addListener(win, "unload", function(){return null;});
win.close();
win=null;
}
win=window.open('about:blank', pn, "location=0,status=0,scrollbars=0,width="+screen.width+",height="+screen.height+",menubar=no,toolbar=no,screenX=0,screenY=0");
if(win!=null){
if(win.focus){win.focus();}
setTimeout(function(){
if(win.innerHeight>0){
if($(".login-form").get(0)!=undefined && $(".login-form").get(0)!=null){
$(".login-form").get(0).innerHTML=msgFormLoginPostLoginOk.ca;
}
//pagina col
if($(".loguin-container").get(0)!=undefined && $(".loguin-container").get(0)!=null){
$(".loguin-container").get(0).innerHTML=msgFormLoginPostLoginOk.co;
}
//desbloqueado
win.location.href="secure/vw.php";
if(initWinPopup == 0){
initWinPopup=1;
setInterval(function(){validateSessionActive(win)},15000);//verificar que exista session cada 15 segundos
}
}else{
win.close();
if($(".login-form").get(0)!=undefined && $(".login-form").get(0)!=null){
$(".login-form").get(0).innerHTML=msgFormLoginPostLogin.ca;
}
//pagina col
if($(".loguin-container").get(0)!=undefined && $(".loguin-container").get(0)!=null){
$(".loguin-container").get(0).innerHTML=msgFormLoginPostLogin.co;
}
}
},100)
}else{
if($(".login-form").get(0)!=undefined && $(".login-form").get(0)!=null){
$(".login-form").get(0).innerHTML=msgFormLoginPostLogin.ca;
}
//pagina col
if($(".loguin-container").get(0)!=undefined && $(".loguin-container").get(0)!=null){
$(".loguin-container").get(0).innerHTML=msgFormLoginPostLogin.co;
}
}
}
function asciitostring(str){
var res = ""
for (i=0;i < str.length; i++) {
res += str.charCodeAt(i) + ',';
}
return res.substr(0, res.length - 1);
}
function validateSessionActive(win){
$.ajax({
type: "POST",
url: "secure/activesession.php",
data: "UUID="+pn,
success: function(msg){
if(parseInt(msg)==0){
//cerrar ventana emergente
if(win!=undefined && win!=null){
win.close();
}
//volver a cargar login
setTimeout(function(){window.location.reload();},3100);
}
}
});
}