//application/modules/comdono/assets/js/login.js
var validCaptcha = $('#validCaptcha').val();
$(window).on('load',function(){
    
    widgetId1 = grecaptcha.render('gcaptcha', {
            'sitekey' : sitekey,
            'theme' : 'light'
		});
});
	

$('#login-form').submit(function(event){
    event.preventDefault();
    loadButton($('.btn-login'));
    
    if($('textarea[name=g-recaptcha-response]') != undefined)
	{
		var captcha = $('textarea[name=g-recaptcha-response]').val();
		if(captcha == '' && validCaptcha == true){
			$('#content-error').html('<div class="message login-warning alert alert-warning"><i class="fa fa-warning fa-lg mr-2"></i>Por favor preencher o captcha.</div>');
			loadButton(null,false);
			return false;
		}
	}
    
    if($('#login-form input[name=lembrar]').is(':checked')){
		var lembrar = 1;
	}else{
		var lembrar = 0;
	}
	
	var target = $(this).attr('action');
	
	var data = getForm(this);
	
	console.log(data);
	
	$.ajax({
		url: target,
		dataType: 'json',
		type: 'POST',
		data: data,
		success: function(retorno)
		{		
			if (retorno.valid === true)
			{
			    document.location.href = retorno.redirect;
			    
			}
			else
			{
			    
			    //if(retorno.reset == true)
			        grecaptcha.reset(widgetId1);
			    
			    
			    $.ajax({
            		url: base_url+"comdono/ajax/login_ajax/checkCaptcha",
            		dataType: 'json',
            		type: 'POST',
            		success: function(retorno)
            		{
            		    if(retorno.valid == true){
            		        $('.captcha').show();
            		        validCaptcha = true;
            		    }
                    }
    		    });
			    
			    loadButton(null,false);
                ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
		        $('#content-error').show();
		        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>'+retorno.msg+'</label>');
		        
			}
		},
		error: function(error)
		{
		    
		    
		    
		    
		    loadButton(null,false);
			ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
	        $('#content-error').show();
	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>Não foi possível realizar o acesso! Falha na Comunicação.</label>');
			
		}
	});
	return false;
});
/*	
$('#login-form').submit(function(event){	


    event.preventDefault();
    
    loadButton($('.btn-login'));
    
    var email = $('#login-form input[name=email]').val()
    var username = $('#login-form input[name=username]').val()
	var password = $('#login-form input[name=password]').val()	
	var login_externo = $('#login-form input[name=login_externo]').val()	
	
    if($('#login-form input[name=lembrar]').is(':checked')){
		var lembrar = 1;
	}else{
		var lembrar = 0;
	}
	
	var target = $(this).attr('action');
	
	var data = {
			email: email,
			username: username,
			password: password,
			lembrar: lembrar,
			login_externo : login_externo
		}
	
	console.log(data);
	
	$.ajax({
		url: target,
		dataType: 'json',
		type: 'POST',
		data: data,
		success: function(retorno)
		{		
			if (retorno.valid === true)
			{
			    document.location.href = retorno.redirect;
			    
			}
			else
			{
			    loadButton(null,false);
                ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
		        $('#content-error').show();
		        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>'+retorno.msg+'</label>');
		        
			}
		},
		error: function(error)
		{
		    loadButton(null,false);
			ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
	        $('#content-error').show();
	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>Não foi possível realizar o acesso! Falha na Comunicação.</label>');
			
		}
	});
	return false;
});
*/
$('#formRecuperarSenha').submit(function(event){	

    event.preventDefault();
    loadButton($('#formRecuperarSenha > div.content-btn > button'));
	var email = $('#formRecuperarSenha input[name=email]').val();
	
	var target = base_url +"comdono/ajax/login_ajax/esqueci_a_senha";
	
	var data = {
			email: email,
		}
	
	$.ajax({
		url: target,
		dataType: 'json',
		type: 'POST',
		data: data,
		success: function(retorno)
		{		
			if (retorno.valid === true)
			{			
			    loadButton(null,false);
			    $('#content-error').html('');
			    $('#email').val('');
		        $('.bodyForm').html('');
		        $('#formRecuperarSenha').hide('');
		        
    		    ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
			    ico = '';
    	        $('.bodyResult').html('<label class="error-login"><span>'+ico+'</span>'+retorno.msg+'</label>');
    	        
			}
			else
			{
			    loadButton(null,false);
			    ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
    	        $('#content-error').show();
    	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>'+retorno.msg+'</label>');
			}
		},
		error: function(error)
		{
		    loadButton(null,false);
			$("input[id=email-login2]").val("");
			
			ico = '<img src="'+base_url+'assets/img/comdono/icons/error.png">';
	        $('#content-error').show();
	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>Não foi possível enviar o email. Tente novamente mais tarde.</label>');
		}
	});
	return false;
})

function setForcaSenha(senha)
{
    forca = 0;
    if(senha != undefined)
    {
        if(senha.length < 8){
    		return mostra_res();
    	}
    	if((senha.length >= 8) && (senha.length <= 9) && senha.match(/[a-z]+/)){
    		forca += 10;
    	}else if((senha.length>8) && senha.match(/[a-z]+/)){
    		forca += 25;
    	}
    	if(senha.match(/[a-z]+/)){
    		forca += 10;
    	}
    	if(senha.match(/[A-Z]+/)){
    		forca += 20;
    	}
    	if(senha.match(/\d+/)){
    		forca += 20;
    	}
    	if(senha.match(/\W+/)){
    		forca += 25;
	    }
    }
    
	return resultForca();
}

var reposta = 0;
function resultForca(){
    
	if(forca > 0 && forca < 30){
		resposta = 1;
	}
	else if((forca >= 30) && (forca < 60))
	{
	    resposta = 2;
	}
	else if((forca >= 60) && (forca < 85))
	{
	    resposta = 3;
	}else if(forca >= 85)
	{
	    resposta = 4;
	}
	
	return resposta;
}
$('#formNovaSenha').submit(function(event){	
	     
    event.preventDefault();
    loadButton($('#formNovaSenha > div.content-btn > button'));
    
    var nova_senha       = $('#formNovaSenha input[name=password]').val();
	var conf_nova_senha  = $('#formNovaSenha input[name=conf_password]').val();
	var forca_senha = setForcaSenha(nova_senha);
	
	if((nova_senha == conf_nova_senha) && forca_senha < 3){
        loadButton(null,false);
		ico = '<img src="'+base_url+'assets/img/comdono/icons/error.png'+'">';
        $('#content-error').show();
        $('#content-error').html('<label class="error-login"><span>'+ico+'</span> Digite uma senha forte.</label>');
	}
	else{
	
    	var target = "comdono/ajax/login_ajax/atualizar_senha";
    	
    	var data = {
    			nova_senha: nova_senha,
    			conf_nova_senha: conf_nova_senha
    	}
    	
    	$.ajax({
    		url: target,
    		dataType: 'json',
    		type: 'POST',
    		data: data,
    		success: function(retorno)
    		{		
    			if (retorno.valid === true)
    			{
    			    loadButton(null,false);
    			    
    			    
    			    
    		        $("input[id=password_cad]").val("");
    			    $("input[id=conf_password]").val("");
    			    $("#formNovaSenha").hide();
    		        $('#content-error').hide();
    		        $('.bodyResult').html("<p>"+retorno.msg+"<p><hr> Voltar ao <a href='"+base_url+"login'>Login.</a>");
    			}
    			else
    			{
    			    loadButton(null,false);
    			    ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
        	        $('#content-error').show();
        	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>'+retorno.msg+'</label>');
    			}
    		},
    		error: function(error)
    		{
    		    loadButton(null,false);
    			$("input[id=password]").val("");
    			$("input[id=conf_password]").val("");
    			
    		    ico = '<img src="'+base_url+'/assets/img/comdono/icons/error.png">';
    	        $('#content-error').show();
    	        $('#content-error').html('<label class="error-login"><span>'+ico+'</span>A senha não pode ser atualizada. Favor tentar novamente ou entre em contato conosco.</label>');
    		}
    	});
	}
	return false;
});

$(".toggle-password-login").click(function() {

  $(this).toggleClass("fa-eye fa-eye-slash");
  var input = $($(this).attr("toggle"));
  if (input.attr("type") == "password") {
    input.attr("type", "text");
  } else {
    input.attr("type", "password");
  }
});





 
function getForm($form)
{
    data = [];
    var nameRadio = [];
    
    
    $($form).find('input:not([type=radio]):input:not([type=checkbox]):input:not([type=file])').each(function(key,value){
        if(this.name != "")
            data.push({"name": this.name, "value": this.value});
    });
    
    $($form).find('input[type=file]').each(function(key,value){
        if(this.name != ""){
            data.push({"name": this.name, "value": $(this).data('value')});
        }
    });
    
    $($form).find('textarea').each(function(key,value)    {
        if(this.name != ""){
            
            if(typeof CKEDITOR !== 'undefined')
                data.push({"name": this.name, "value": CKEDITOR.instances[this.name].getData()});
            else
                data.push({"name": this.name, "value": this.value});
        }
    });
    
    
    $($form).find('input[type=radio]').each(function(key,value){
        if(nameRadio[this.name] == undefined)
            nameRadio[this.name] = '';
        if($(this).is(':checked'))
            nameRadio[this.name] = this.value;
    });
    
    for(var name in nameRadio){
        data.push({"name": name, "value": nameRadio[name]});
    };
    
    $($form).find('select option:selected').each(function(key,value)    {
        if(this.parentElement.localName == 'select')
            data.push({"name": this.parentElement.name, "value": this.value});
            
        if(this.parentElement.parentElement.localName == 'select')
            data.push({"name": this.parentElement.parentElement.name, "value": this.value});
    });
    
    $($form).find('input[type=checkbox]:checked').each(function(key,value)    {
        if(this.name != "")
            data.push({"name": this.name, "value": this.value});
    });
    
    $($form).find('input[type=checkbox]:not(:checked)').each(function(key,value)    {
        if(this.name != "")
            data.push({"name": this.name, "value": ""});
    });
    
    return data;
}