function sha256doitc(r){if(r){r=r.toString();for(var $,_,o=Math.pow,f=o(2,32),t="length",a="",n=[],h=8*r[t],i=sha256doitc.h=sha256doitc.h||[],c=sha256doitc.k=sha256doitc.k||[],e=c[t],s={},u=2;e<64;u++)if(!s[u]){for($=0;$<313;$+=u)s[$]=u;i[e]=o(u,.5)*f|0,c[e++]=o(u,1/3)*f|0}for(r+="\x80";r[t]%64-56;)r+="\0";for($=0;$>8)return;n[$>>2]|=_<<(3-$)%4*8}for(_=0,n[n[t]]=h/f|0,n[n[t]]=h;_>>3)+v[$-7]+(A(k,17)^A(k,19)^k>>>10)|0),p=(A(x,2)^A(x,13)^A(x,22))+(x&i[1]^x&i[2]^i[1]&i[2]);(i=[d+p|0].concat(i))[4]=i[4]+d|0}for($=0;$<8;$++)i[$]=i[$]+g[$]|0}for($=0;$<8;$++)for(_=3;_+1;_--){var w=i[$]>>8*_&255;a+=(w<16?0:"")+w.toString(16)}return a}function A(r,$){return r>>>$|r<<32-$}} var itc_documents_type = {'01': ['DNI', 'DNI', 'DOCUMENTO DE IDENTIDAD', 'DOCUMENTO DE IDENTIDAD', 'DOCUMENTO DE IDENTIDAD', 'DOCUMENTO DE IDENTIDAD', 'D.N.I'], '02': ['CARNET DE EXTRANJERIA', 'CARNÉT DE EXTRANERÍA', 'CARNET DE EXTRANJERÍA', 'CARNET DE EXTRANJERÍA', 'CARNET DE EXTRANJERIA', 'CARNET DE EXTRANJERIA', 'CARNE DE EXTRANJERIA', 'CARNÉ DE EXTRANERÍA', 'CARNÉ DE EXTRANJERÍA', 'CARNÉ DE EXTRANJERÍA', 'CARNE DE EXTRANJERIA', 'CARNE DE EXTRANJERIA', 'CARNE DE EXTRANJERÍA', 'CARNE DE EXTRANJERIA', 'CARNE DE EXTRANJERIA', 'C.E', 'C.E', 'C.E.'], '04': ['PASAPORTE', 'PASAPORTE', 'PASAPORTE', 'PASAPORTE.'], '03': ['RUC', 'RUC'], '05': ['PARTIDA DE NACIMIENTO', 'PARTIDA DE NACIMIENTO', 'PARTIDA DE NACIMIENTO'], '07': ['PERMISO DE PERMANENCIA', 'PERMISO DE PERMANENCIA', 'PERMISO DE PERMANENCIA'], '08': ['LIBRETA MILITAR', 'LIBRETA MILITAR', 'LIBRETA MILITAR'], '09': ['CARNÉT DE IDENTIDAD', 'CARNET DE IDENTIDAD', 'CARNÉT DE IDENTIDAD', 'CARNET DE IDENTIDAD', 'CARNÉT DE IDENTIDAD', 'CARNET DE IDENTIDAD', 'CARNÉT DE IDENTIDAD', 'CARNET DE IDENTIDAD', 'CARNÉ DE IDENTIDAD', 'CARNE DE IDENTIDAD', 'CARNÉ DE IDENTIDAD', 'CARNE DE IDENTIDAD', 'CARNÉ DE IDENTIDAD', 'CARNE DE IDENTIDAD', 'CARNÉ DE IDENTIDAD', 'CARNE DE IDENTIDAD'], '10': ['CARNÉT DIPLOMÁTICO', 'CARNET DIPLOMATICO', 'CARNÉT DIPLOMÁTICO', 'CARNET DIPLOMATICO', 'CARNÉT DIPLOMÁTICO', 'CARNET DIPLOMATICO', 'CARNÉT DIPLOMÁTICO', 'CARNET DIPLOMATICO', 'CARNÉ DIPLOMÁTICO', 'CARNE DIPLOMATICO', 'CARNÉ DIPLOMÁTICO', 'CARNE DIPLOMATICO', 'CARNÉ DIPLOMÁTICO', 'CARNE DIPLOMATICO', 'CARNÉ DIPLOMÁTICO', 'CARNE DIPLOMATICO'], '11': ['CARNÉT DE FUERZAS ARMADAS', 'CARNET DE FUERZAS ARMADAS', 'CARNÉT DE FUERZAS ARMADAS', 'CARNET DE FUERZAS ARMADAS', 'CARNÉT DE FUERZAS ARMADAS', 'CARNET DE FUERZAS ARMADAS', 'CARNÉT DE FUERZAS ARMADAS', 'CARNET DE FUERZAS ARMADAS', 'CARNÉ DE FUERZAS ARMADAS', 'CARNE DE FUERZAS ARMADAS', 'CARNÉ DE FUERZAS ARMADAS', 'CARNE DE FUERZAS ARMADAS', 'CARNÉ DE FUERZAS ARMADAS', 'CARNE DE FUERZAS ARMADAS', 'CARNÉ DE FUERZAS ARMADAS', 'CARNE DE FUERZAS ARMADAS'], '12': ['CARNÉT DE POLICÍA', 'CARNET DE POLICIA', 'CARNÉT DE POLICÍA', 'CARNET DE POLICIA', 'CARNÉT DE POLICÍA', 'CARNET DE POLICIA', 'CARNÉT DE POLICÍA', 'CARNET DE POLICIA', 'CARNÉ DE POLICÍA', 'CARNE DE POLICIA', 'CARNÉ DE POLICÍA', 'CARNE DE POLICIA', 'CARNÉ DE POLICÍA', 'CARNE DE POLICIA', 'CARNÉ DE POLICÍA', 'CARNE DE POLICIA'], '13': ['CARNÉT DEL MINISTERIO DE TRABAJO', 'CARNET DEL MINISTERIO DE TRABAJO', 'CARNÉT DEL MINISTERIO DE TRABAJO', 'CARNET DEL MINISTERIO DE TRABAJO', 'CARNÉT DEL MINISTERIO DE TRABAJO', 'CARNET DEL MINISTERIO DE TRABAJO', 'CARNÉT DEL MINISTERIO DE TRABAJO', 'CARNET DEL MINISTERIO DE TRABAJO', 'CARNÉ DEL MINISTERIO DE TRABAJO', 'CARNE DEL MINISTERIO DE TRABAJO', 'CARNÉ DEL MINISTERIO DE TRABAJO', 'CARNE DEL MINISTERIO DE TRABAJO', 'CARNÉ DEL MINISTERIO DE TRABAJO', 'CARNE DEL MINISTERIO DE TRABAJO', 'CARNÉ DEL MINISTERIO DE TRABAJO', 'CARNE DEL MINISTERIO DE TRABAJO'], '14': ['LIBRETA ELECTORAL', 'LIBRETA ELECTORAL', 'LIBRETA ELECTORAL', 'LIBRETA ELECTORAL'], '15': ['REGISTRO DE NACIMIENTO', 'REGISTRO DE NACIMIENTO', 'REGISTRO DE NACIMIENTO', 'REGISTRO DE NACIMIENTO'], '16': ['TARJETA DE IDENTIDAD', 'TARJETA DE IDENTIDAD', 'TARJETA DE IDENTIDAD', 'TARJETA DE IDENTIDAD'], '17': ['CÉDULA DE CIUDADANÍA', 'CEDULA DE CIUDADANIA', 'CÉDULA DE CIUDADANÍA', 'CEDULA DE CIUDADANIA', 'CÉDULA DE CIUDADANÍA', 'CEDULA DE CIUDADANIA', 'CÉDULA DE CIUDADANÍA', 'CEDULA DE CIUDADANIA'], '18': ['TARJETA DE EXTRANJERÍA', 'TARJETA DE EXTRANJERIA', 'TARJETA DE EXTRANJERÍA', 'TARJETA DE EXTRANJERIA', 'TARJETA DE EXTRANJERÍA', 'TARJETA DE EXTRANJERIA', 'TARJETA DE EXTRANJERÍA', 'TARJETA DE EXTRANJERIA'], '19': ['CÉDULA DE EXTRANJERÍA', 'CEDULA DE EXTRANJERIA', 'CÉDULA DE EXTRANJERÍA', 'CEDULA DE EXTRANJERIA', 'CÉDULA DE EXTRANJERÍA', 'CEDULA DE EXTRANJERIA', 'CÉDULA DE EXTRANJERÍA', 'CEDULA DE EXTRANJERIA'], '20': ['NIT', 'NIT'], '21': ['TIPO DE DOCUMENTO EXTRANJERO', 'TIPO DE DOCUMENTO EXTRANJERO', 'TIPO DE DOCUMENTO EXTRANJERO', 'TIPO DE DOCUMENTO EXTRANJERO'], '23': ['CURP', 'CURP']}; function itc_getdocumenttype(r){ var itc_td = "01"; Object.keys(itc_documents_type).forEach(k => { if (itc_documents_type[k].indexOf(r.toUpperCase()) != -1) itc_td = k; }) return itc_td; } var ITC_VALUE_HASH_DNI = ""; var ITC_VALUE_HASH_EMAIL = ""; var ITC_TEMP_PHONE = ""; var ITC_VALUE_HASH_PHONE = ""; var ITC_VALUE_HASH_PHONE2 = ""; var ITC_VALUE_TYPE_DOCUMENT = ""; var ITC_VALUE_HASH_ID = ""; function isMatSelectElement(element) { // Verifica si el elemento existe y es un HTMLElement if (!(element instanceof HTMLElement)) { return false; } // Verifica si tiene la clase específica de Angular Material para mat-select return element.classList.contains('mat-select'); } function getMatSelectedValue(matSelectElement) { // Obtiene el elemento del DOM del mat-select //var matSelectElement = document.getElementById('mat-select-0'); // Verifica si matSelectElement es un mat-select de Angular Material //if (!isMatSelectElement(matSelectElement)) { // console.error('El elemento no es un mat-select de Angular Material'); // return null; //} // Encuentra el valor seleccionado navegando por el DOM var selectedElement = matSelectElement.querySelector('.mat-select-value-text span'); if (selectedElement) { return selectedElement.innerText.trim(); } else { console.error('No se encontró ninguna opción seleccionada'); return "01"; } } function itc_validatecountryphone() { try { var host = window.location.hostname; if (ITC_TEMP_PHONE.indexOf("+") !== -1) { // si ya tiene codigo de pais } else if (host.indexOf("innovaschools.edu.co") !== -1) { // validar innova colombia ITC_TEMP_PHONE = "+57" + ITC_TEMP_PHONE; } else if (host.indexOf("innovaschools.edu.mx") !== -1) { // validar innova mexico ITC_TEMP_PHONE = "+52" + ITC_TEMP_PHONE; } else if (host.indexOf("promart.ec") !== -1) { // validar promart ecuador ITC_TEMP_PHONE = "+593" + ITC_TEMP_PHONE; } else { ITC_TEMP_PHONE = "+51" + ITC_TEMP_PHONE; } if (DO_ID_PHONE == "") { ITC_VALUE_HASH_PHONE = ""; ITC_VALUE_HASH_PHONE2 = ""; } else { ITC_VALUE_HASH_PHONE = sha256doitc(ITC_TEMP_PHONE); ITC_VALUE_HASH_PHONE2 = sha256doitc(ITC_TEMP_PHONE.replace("+", "")); } } catch (error) { console.log(error); } } var allelements = document.querySelectorAll('*'); function itc_searchbypropvalue(value) { let returnvalue = ""; allelements.forEach(element => { for (var i = 0; i < element.attributes.length; i++) { if(element.attributes[i].value == value) { if (element.tagName.toLowerCase() == "input") { returnvalue = element.value } else if (element.tagName.toLowerCase() == "select") { returnvalue = element.options[element.selectedIndex].text } else { returnvalue = element.textContent; if (!returnvalue) { returnvalue = element.innerText; } } } } }); return returnvalue; } function itc_getvalueshash() { allelements = document.querySelectorAll('*'); try { var selectElement = document.getElementById(DO_ID_DOCUMENT_TYPE); if (isMatSelectElement(selectElement)) { ITC_VALUE_TYPE_DOCUMENT = itc_getdocumenttype(getMatSelectedValue(selectElement)) } else { var selectedOption = selectElement.options[selectElement.selectedIndex]; ITC_VALUE_TYPE_DOCUMENT = itc_getdocumenttype(selectedOption.text); } ITC_VALUE_TYPE_DOCUMENT = ITC_VALUE_TYPE_DOCUMENT == "" ? "01": ITC_VALUE_TYPE_DOCUMENT } catch(error) { try { let valuesearch = itc_getdocumenttype(itc_searchbypropvalue(DO_ID_DOCUMENT_TYPE)); ITC_VALUE_TYPE_DOCUMENT = valuesearch != "" ? valuesearch : "01"; } catch (error2) { ITC_VALUE_TYPE_DOCUMENT = "01"; console.log(error.message); console.log(error2.message); } console.log(error.message); } try { if (DO_ID_DNI == "") ITC_VALUE_HASH_DNI = "" else ITC_VALUE_HASH_DNI = sha256doitc("01" + String(document.getElementById(DO_ID_DNI).value.replaceAll(" ", "")).padStart(15, '0')); } catch (error) { try { let valuesearch = itc_searchbypropvalue(DO_ID_DNI); ITC_VALUE_HASH_DNI = sha256doitc("01" + String(valuesearch.replaceAll(" ", "")).padStart(15, '0')); } catch (error2) { console.log(error.message); console.log(error2.message); } } try { if (DO_ID_DNI == "") ITC_VALUE_HASH_ID = "" else { if (DO_ID_DNI.length == 11) ITC_VALUE_TYPE_DOCUMENT = "03" ITC_VALUE_HASH_ID = sha256doitc(ITC_VALUE_TYPE_DOCUMENT + String(document.getElementById(DO_ID_DNI).value.replaceAll(" ", "")).padStart(15, '0')).toUpperCase(); } } catch (error) { try { let valuesearch = itc_searchbypropvalue(DO_ID_DNI); if (valuesearch.length == 11) ITC_VALUE_TYPE_DOCUMENT = "03" ITC_VALUE_HASH_ID = sha256doitc(ITC_VALUE_TYPE_DOCUMENT + String(valuesearch.replaceAll(" ", "")).padStart(15, '0')).toUpperCase(); } catch (error2) { console.log(error.message); console.log(error2.message); } } try { if (DO_ID_PHONE == "") ITC_TEMP_PHONE = "" else ITC_TEMP_PHONE = document.getElementById(DO_ID_PHONE).value.replaceAll(" ", ""); } catch (error) { try { let valuesearch = itc_searchbypropvalue(DO_ID_PHONE); ITC_TEMP_PHONE = valuesearch.replaceAll(" ", ""); } catch (error2) { console.log(error.message); console.log(error2.message); } } try { if (DO_ID_EMAIL == "") ITC_VALUE_HASH_EMAIL = "" else ITC_VALUE_HASH_EMAIL = sha256doitc(document.getElementById(DO_ID_EMAIL).value.replaceAll(" ", "").toLowerCase()); } catch (error) { try { let valuesearch = itc_searchbypropvalue(DO_ID_EMAIL); ITC_VALUE_HASH_EMAIL = sha256doitc(valuesearch.replaceAll(" ", "").toLowerCase()); } catch (error2) { console.log(error.message); console.log(error2.message); } } itc_validatecountryphone(); } function itc_valuehashdni(param) { return sha256doitc("01" + String(param.replaceAll(" ", "")).padStart(15, '0')); } function itc_valuehashid(param) { if (DO_ID_DOCUMENT_TYPE != "") { try { var selectElement = document.getElementById(DO_ID_DOCUMENT_TYPE); var selectedOption = selectElement.options[selectElement.selectedIndex]; ITC_VALUE_TYPE_DOCUMENT = itc_getdocumenttype(selectedOption.text); } catch(error) { try { let valuesearch = itc_searchbypropvalue(DO_ID_DOCUMENT_TYPE); ITC_VALUE_TYPE_DOCUMENT = valuesearch != "" ? valuesearch : "01"; } catch (error2) { ITC_VALUE_TYPE_DOCUMENT = "01"; console.log(error.message); console.log(error2.message); } console.log(error.message); } } else { ITC_VALUE_TYPE_DOCUMENT = "01"; } return sha256doitc(ITC_VALUE_TYPE_DOCUMENT + String(param.replaceAll(" ", "")).padStart(15, '0')).toUpperCase(); } function itc_valuehashmobile(param) { param = param.replaceAll(" ", "").toLowerCase(); try { var host = window.location.hostname; if (param.indexOf("+") !== -1) { // si ya tiene codigo de pais } else if (host.indexOf("innovaschools.edu.co") !== -1) { // validar innova colombia param = "+57" + param; } else if (host.indexOf("innovaschools.edu.mx") !== -1) { // validar innova mexico param = "+52" + param; } else if (host.indexOf("promart.ec") !== -1) { // validar promart ecuador param = "+593" + param; } else { param = "+51" + param; } return sha256doitc(param); } catch (error) { console.log(error); } return ""; } function itc_valuehashmobile2(param) { param = param.replaceAll(" ", "").toLowerCase(); try { var host = window.location.hostname; if (param.indexOf("+") !== -1) { // si ya tiene codigo de pais } else if (host.indexOf("innovaschools.edu.co") !== -1) { // validar innova colombia param = "+57" + param; } else if (host.indexOf("innovaschools.edu.mx") !== -1) { // validar innova mexico param = "+52" + param; } else if (host.indexOf("promart.ec") !== -1) { // validar promart ecuador param = "+593" + param; } else { param = "+51" + param; } return sha256doitc(param.replace("+", "")); } catch (error) { console.log(error); } return "" } function itc_valuehashemail(param) { return sha256doitc(param.replaceAll(" ", "").toLowerCase()); }