/home2/mshostin/public_html/opco/portail-unique.js
const pageValidation = false;

$( document ).ready(function() {

	if($("#isPortailAdherent").val() == "true" || $("#portailHubOf").val() == "true" || $("#portailOf").val() == "true" ) {
		init();
	}
});


function init(){
	
	if(( !$("#stepCode").val() || $("#stepCode").val() == "CHECK_SIRET" ) && (!$("#stepCodeRetour").val() || $("#stepCodeRetour").val() == "ERROR_VALIDATION")){
		$("#stepCode").val("CHECK_SIRET");
		
		// On masque les autres infos au contrôle du siret
		$("#rowEmail").hide();
		$("#rowReferenceOpcoep").hide();
		$("#rowAutreInfo").hide();
		$("#rowNumeroDeclarationActivite").hide();
		
	}else if(( $("#stepCode").val() == "CHECK_SIRET" )  ){
		

		$("#rowAutreInfo").hide();
		if($("#stepCodeRetour").val() == "OK"){
			setReadonly($("#divInputSiret"));
			$("#input-error-opcoRef").hide();
			$("#input-error-email").hide();
			
			$("#stepCode").val("CHECK_SIRET_REFOPCO");
			$("#stepCodeRetour").val('');
		}else if($("#stepCodeRetour").val() == "KO"){
			$("#rowEmail").hide();
			$("#rowReferenceOpcoep").hide();
			$("#rowNumeroDeclarationActivite").hide();

			$('#myModal').modal('show');
            if($("#portailOf").val() == "true" ) {
		        $('#msgModal').append('Ce Siret n\'est pas reconnu dans notre référentiel, veuillez contacter notre assistance au 09 70 838 837 (Appel non surtaxé).');
	        } else {
	            $('#msgModal').append('Ce Siret n\'est pas référencé auprès de Opco EP. Nous vous invitons à vérifier d\'abord quel est votre Opco de rattachement en <a href="https://quel-est-mon-opco.francecompetences.fr/" target="_blank">cliquant ici</a>.<br />Si votre établissement relève bien du champ de Opco EP, continuer votre démarche d\'inscription sur notre site <a href="https://referencement.opcoep.fr" target="_blank">referencement.opcoep.fr</a>.');
            }

		}
	}else if(( $("#stepCode").val() == "CHECK_SIRET_REFOPCO" )  ){
		
		setReadonly($("#divInputSiret"));
		if($("#stepCodeRetour").val() == "OK" && $('#input-error-email').text().trim() != "L'email existe déjà." ){
			setReadonly($("#divInputSiret"));
			setReadonly($("#divInputEmail"));
			setReadonly($("#divInputEmailConfirmation"));
			setReadonly($("#divInputOpcoRef"));
			setReadonly($("#divInputNumeroDeclarationActivite"));
		
			$("#stepCode").val("VALIDATION");
			
			$('#input-error-password').hide();
			$('#input-error-firstname').hide();
			$('#input-error-lastname').hide();
			
		}else if($("#stepCodeRetour").val() == "KO" || $("#stepCodeRetour").val() == "ERROR_VALIDATION" || $('#input-error-email').text().trim() == "L'email existe déjà."  ){
			$("#rowAutreInfo").hide();
			
			if($("#stepCodeRetour").val() == "KO"){
				$('#myModal').modal('show');
				
				$('#msgModal').append('Une erreur est survenu')
				
				
			}
		}
	}else if(( $("#stepCode").val() == "SEND_REFOPCO" )  ){
		
		setReadonly($("#divInputSiret"));
		
		$("#rowAutreInfo").hide();
		
		if($("#stepCodeRetour").val() == "OK"){
			$('#myModal').modal('show');
			$('#msgModal').append('Votre référence Opco EP vient de vous être transmise par email à l\'adresse renseignée. Vous devriez la recevoir rapidement.')
				

		}else if($("#stepCodeRetour").val() == "KO" ){
			$('#myModal').modal('show');
			$('#msgModal').append('Votre entreprise est bien référencée auprès de l\'Opco EP mais nous n\'avons pas reconnu dans notre base votre adresse email. Nous vous invitons à contacter notre assistance au 09 70 838 837 pour pouvoir finaliser votre création de compte.')
				
		}
		
		$("#stepCode").val("CHECK_SIRET_REFOPCO");
		$("#stepCodeRetour").val('');
	}else if(( $("#stepCode").val() == "VALIDATION" )  ){
		
		setReadonly($("#divInputSiret"));
		setReadonly($("#divInputEmail"));
		setReadonly($("#divInputEmailConfirmation"));
		setReadonly($("#divInputOpcoRef"));
		setReadonly($("#divInputNumeroDeclarationActivite"));
	}
	
}


function setReadonly(el){
	el.addClass("readonly");
	el.children().prop('readonly',true);
}

function envoyerRefOpco(){
	$("#stepCode").val("SEND_REFOPCO");
	$( "#kc-register-form" ).submit();
	
	// $('#msgSiretInconnu').hide();
	// $('#msgSiretMailInconnu').hide();
	// $('#msgSiretMailConnu').show();
	return true;
}



function togglePassword(id) {
    console.log(id);
    var x = document.getElementById(id);
    var v = document.getElementById(id + "-visibility");
    if (x.type === "password") {
        x.type = "text";
        v.textContent = "visibility_off";
    } else {
        x.type = "password";
        v.textContent = "visibility";
    }
}

function toogleCheckBox(id) {
    const rememberMe = document.getElementById(id);
    const checked = rememberMe.checked;
    const remeberMeCheckbox = document.getElementById(id + '-checkbox');
    if (checked) {
        remeberMeCheckbox.classList.add('portail-unique-checkbox-checked');
        remeberMeCheckbox.textContent = 'check_box';
    }
    else {
        remeberMeCheckbox.classList.remove('portail-unique-checkbox-checked');
        remeberMeCheckbox.textContent = 'check_box_outline_blank';
    }
}



function validPasswordFormat(id, displayError = pageValidation) {
    var password = $('#' + id).val();
	if (!password) {
		return false;
	}
    var minLength = password.length >= 8;
    $("#icon-length").text(minLength ? 'check' : displayError ? 'cancel' : 'remove');
    setValidationPassword('length', minLength, displayError);
    var number = getNumberOfMatches(password, /\d+/g) > 1;
    $("#icon-number").text(number ? 'check' : displayError ? 'cancel' : 'remove');
    setValidationPassword('number', number, displayError);
    var specialChar = getNumberOfMatches(password, /[^a-zA-Z0-9]/) > 0;
    $("#icon-special").text(specialChar ? 'check' : displayError ? 'cancel' : 'remove');
    setValidationPassword('special', specialChar, displayError);
    const upperCase = getNumberOfMatches(password, /[A-Z]/) > 0;
    $("#icon-capital").text(upperCase ? 'check' : displayError ? 'cancel' : 'remove');
    setValidationPassword('capital', upperCase, displayError);
    const letter = getNumberOfMatches(password, /[a-z]/) > 0;
    $("#icon-letter").text(letter ? 'check' : displayError ? 'cancel' : 'remove');
    setValidationPassword('letter', letter, displayError);
    return minLength && number && specialChar && upperCase && letter;
}

function getNumberOfMatches(variable, regex) {
    var value = 0;
    if (variable.match(regex) && variable.match(regex).length > 0) {
        variable.match(regex).map(match => {
            value += match.length;
        });
    }
    return value;
}

function setValidationPassword(id, statut, displayError) {
    if (statut) {
        $("#" + id).removeClass('error');
        $("#" + id).addClass('valid');
    }
    else if (!displayError) {
        $("#" + id).removeClass('error');
        $("#" + id).removeClass('valid');
    }
    else {
        $("#" + id).removeClass('valid');
        $("#" + id).addClass('error');
    }
}

function subscribe() {
    validPasswordFormat('password', true);
    return true;
}