// Lógica de validación datos_personales.js

////////VALIDATOR/////////////
/*Objetivo: Validar si el rut escrito tiene cuenta
Parametros: origenId=id de elemento a evaluar su contenido
			destinoId=id donde se generaran los componentes para el posible envio de los datos
*/
function validator(origenId,destinoId){
	var campo = $(origenId).value;	//campo posee el rut ingresado
	var N_formulario = document.getElementById("f_titulo").innerHTML;
	var campo2;
	//alert(N_formulario);
	
	if(N_formulario.indexOf("Fácil") || N_formulario.indexOf("BanExpress") || N_formulario.indexOf("cuotas") || N_formulario.indexOf("Ordenazo") || N_formulario.indexOf("Tarjeta") || N_formulario.indexOf("Hogar") || N_formulario.indexOf("MASTEREXPRESS") || N_formulario.indexOf("Negocios")  != (-1)){
		campo2="BCF";
	}else{
		campo2="";
	}
	

	if (campo==""){//evaluacion de campo en blanco
		return false;
	}
	//Enviando el rut para que sea verificado
		
	if(campo2==""){
	loadXML('get_user.asp?rut='+campo,destinoId);//funcion loadXML esta en datos_personales.js
	return true;
	}else{
	loadXML('get_user.asp?rut='+campo+'&btn='+campo2,destinoId);//funcion loadXML esta en datos_personales.js
	return true;
	}
	
}

///////LOADXML////////////////
/*Objetivo: Enviar a una URL y verificar la respuesta
Parametros: url=direccion de la pagina llamar
			destinoId=id donde se generaran los componentes para el posible envio de los datos
*/
function loadXML(url,destinoId)
{
 var ajax=nuevoAjax();//creando un elemento xmlhttp NUEVOAJAX() esta en datos_personales.js
		ajax.open("GET",url,true);//enviando la consulta ajax a la URL
		ajax.onreadystatechange=function(datos){//ejecutando la funcion cada vez que readyState cambie de valor
			
			if(ajax.readyState==4)//evaluando si el estado es Loaded
			{
				
				
				
				
				if (ajax.status==200){ //eveluando si la respuesta ha llegado
					var xml=ajax.responseXML.firstChild; //obteniendo el primer nodo del resultado XML
					var datos = xml.nodeName;			//obteniendo el nombre del primer nodo	
					var tvalue= xml.firstChild.nodeValue;
					if (datos=='error'){//si el nombre del nodo devuelto es <error>
						//OCULTNDO LOS CAMPOS PARA CLAVE
						if ($('id_clave_valida')!=null){//evaluando si el input id_clave_valida está en el script
							$('id_clave_valida').remove();//eliminando del script el input id_clave_valida
							$('boton_enviar').remove();//eliminando del script el button boton_enviar
							$('label_clave').remove();//eliminando del script el label label_clave
							$('texto_informativo').remove();//eliminando del script el label label_clave
						   	document.getElementById("f_id_escliente").value="NO";
						}
						
							/*if (tvalue.indexOf(';')>0){
								mneg=tvalue.split(";");
								if (mneg[1].toUpperCase()=="TRUE") {
									
								document.getElementById("mailto_send_pers").value="SI";
							}else{
								document.getElementById("mailto_send_pers").value="";
								}
							}*/
						
						
						
					}else if(datos=='user'){//si el nombre del nodo devuelto es <user>
					
					
						if ($('id_clave_valida')==null){/*evaluando si el input id_clave_valida está en el script*/
						   	
						   	
						   	if (tvalue.indexOf(';')>0){
						   	mneg=tvalue.split(";");
						   		
						   		if (mneg[0].toUpperCase()=="TRUE") {
						   		
						   		crear(destinoId);/*llamado a funcion CREAR, esta en datos_personales.js */
						   		document.getElementById("f_id_escliente").value="SI";
						   		}
							}else{
								
								crear(destinoId);/*llamado a funcion CREAR, esta en datos_personales.js */
						   		document.getElementById("f_id_escliente").value="SI";
								}
							
						   	
						}
						if (tvalue.indexOf(';')>0){
								mneg=tvalue.split(";");
								if (mneg[1].toUpperCase()=="TRUE") {
									
								document.getElementById("mailto_send_pers").value="SI";
								}else{
									
								document.getElementById("mailto_send_pers").value="";
								}
							}
					}
				}
			}
		}
		
		ajax.send(null);//terminando la consulta
}

/////////////FUNCION CREAR///////////////
/*Objetivo:crear la caja de texto donde se escribirá la clave, crear el label asociado a la caja, crear el boton que envia
			la informacion a la pagina establecida
 Parametros: obj=id del formulario a crear al momento de presionar y previa validacion de la clave.Este formulario se
 			 creará creará al final del div content.
*/
function crear(obj) {
  ele=document.createElement('label');//crea un elemento html de tipo label
	//estableciendo las propiedades del elemento  
  	ele.id='label_clave';//asignacion de la id
	document.getElementById('fiel').appendChild(ele); //añadiendo el elemento al fieldset fiel
    document.getElementById('label_clave').innerHTML="Ingresa tu Clave: ";//estableciendo el texto del label
  
  ele = document.createElement('input');//crea un elemento html de tipo input
	//establceciendo las propiedades del elemento   	  	
	ele.type = 'password';
	ele.name = 'pin';
	ele.id='id_clave_valida';
	ele.className='required validate-rut validation-passed';//añadiendo el estilo esta clase esta en datos_personales.css
    document.getElementById('fiel').appendChild(ele);//añadiendo el elemento al fieldset diel 
    document.getElementById('id_clave_valida').setAttribute('maxlength', 4);//estableciendo la longitud maxima de caracteres
  
  ele = document.createElement('input');//crea un elemento html de tipo input
  	  //estableciendo las propiedades del elemento
	  ele.type = 'button'; 
	  ele.value = 'Enviar';
	  ele.name = 'boton_enviar';
	  ele.id= 'boton_enviar';
	  ele.onclick =function envio_de_datos(){//funcion que se ejecutara cuando se presione el button boton_enviar
						campo_val=$('id_clave_valida').value;
						//evaluando si la clave tiene solo nuemros y es de cuatro dígitos
						if ((soloNumeros(campo_val)==1)&&(campo_val.length==4)){
							//creando el formulario
							ele=document.createElement('form');
								//estableciando las propiedades del formulario
								ele.name = 'envio';
								ele.id=obj;
								ele.method='post';
								var partes =""+document.location;
								var arreglo=partes.split("/");
								ele.action='https://'+arreglo[2]+'/transa/cruce.asp'
						//!!!!ES POSIBLE QUE SE NECECITE DESCOMENTAR LA SIGUIENTE LINEA, si es así se debe comentar la linea anterior
						//		ele.action='http://santander73.taisachile.cl/transa/cruce.asp';
						//ele.action='https://www.santander.cl/transa/cruce.asp';
								
     							$('content').appendChild(ele);//añadiendo el formulario al div content
							//añadiendo los campos necesarios
								
								ele = document.createElement('input');//creando un elemento html de tipo input
									//estableciendo las propiedades del elemento
									ele.type = 'hidden'; 
									ele.name = 'IDLOGIN';
									ele.id='id_idlogin';
									ele.value='BANEFE';
									$(obj).appendChild(ele); //añadiendo el elemento al obj o formulario
								
								ele = document.createElement('input');//creando un elemento html de tipo input
									//estableciendo las propiedades del elemento
									ele.type = 'hidden';
									ele.name = 'rut';
									ele.id='id_rut';
									ele.value=$('rut').value;
									$(obj).appendChild(ele); //añadiendo el elemento al obj o formulario
								
								ele = document.createElement('input');//creando un elemento html de tipo input
									//estableciendo las propiedades del elemento
									ele.type = 'hidden';
									ele.name = 'pin';
									ele.id='id_pin';
									ele.value=$('id_clave_valida').value;
									$(obj).appendChild(ele); //añadiendo el elemento al obj o formulario
							  
							
							//envio del formulario
								$(obj).submit();
													
						}else{
							alert("Clave incorrecta");//aviso de error
							$('id_clave_valida').value="";//limpiando el input de la clave
							$('id_clave_valida').focus();//dejando el foco en el input de la clave
						}
						
					};
  $('fiel').appendChild(ele);//añadiendo el button al fieldset fiel
  
  ele=document.createElement('p');//crea un elemento html de tipo p
	//estableciendo las propiedades del elemento  
  	ele.id='texto_informativo';//asignacion de la id
	var contenido=document.createTextNode("Tenemos un crédito preaprobado para ti. Descúbrelo ingresando tu Clave Internet.");//texto a mostrar
	ele.appendChild(contenido); //añadiendo el texto a TEXTO_INFORMATIVO
	document.getElementById('fiel').appendChild(ele); //añadiendo el elemento al fieldset fiel

	
  $('id_clave_valida').focus();//dejando el foco en el input de la clave
}

////////////FUNCION NUEVOAJAX////////
/*Objetivo:generar el objeto ajax
*/
function nuevoAjax()
{ 
	var xmlhttp=false;
	try
	{
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");//objeto ajax para browsers que NO sean Internet Explorer
	}
	catch(e)
	{
		try
		{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");//objeto ajax para browsers Internet Explorer
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
		}
	}
	return xmlhttp; 
}

///////////FUNCION SOLONUMEROS////////////
/*Objetivo:indicar si una cadena de texto posee solo numeros o no
  Parametros: strIn=cadena de texto a analizar
*/
function soloNumeros(strIn) {
  var Nros="1234567890";
  var CrtrAux;
  var iaux=0;
  for (var i=0; i < strIn.length; i++)
  {
    CrtrAux = strIn.charAt(i);
    if (Nros.indexOf(CrtrAux) != -1)
      iaux++;
  }
  if ((iaux != strIn.length) || (strIn.length==0)){
   	return 0
	}
  else
    return 1;
}

var agregarEliminacionCampos= function(){
	$('enviar').onclick = function(){
				//OCULTANDO LOS CAMPOS PARA CLAVE
				if ($('id_clave_valida')!=null){//evaluando si el input id_clave_valida está en el script
					$('id_clave_valida').remove();//eliminando del script el input id_clave_valida
					$('boton_enviar').remove();//eliminando del script el button boton_enviar
					$('label_clave').remove();//eliminando del script el label label_clave
					$('texto_informativo').remove();//eliminando del script el label label_clave
				}
		}
	}

agregaOnLoad(agregarEliminacionCampos);