var espacio = "\t\n\r";
var er_IsValidEmail = new RegExp(  "^\\w+((\\.|-)\\w+)*@\\w+((\\.|-)\\w+)*\\.((\\w){2,3})+$" );
var ERRMSG_IsWrongEmail = " no es una direcci\363n de correo electr\363nico v\341lida.\nVerif\355quela e int\351ntelo nuevamente.";

function vacio(s)
{
   return ((s == null) || (s.length == 0))
}

function estaBlanco(s)
{  var i;
   if (vacio(s)) {return true;}
   for (i = 0; i < s.length; i++)
   {
      var c = s.charAt(i);
      if (espacio.indexOf(c) == -1) return false;
   }
   return true; //todos son espacios
}

function soloNumero(numero)
{
   Numeros = "0123456789";
   nNoPtos = 0;
   for(i = 0; i < numero.length; i++)
   {
      var num = numero.charAt(i);
      if(Numeros.indexOf(num,0) == -1)        //....No existe la letra
         if(forma.elements[7].selectedIndex == "undefined") return true;
   }
   return false;
}

function sinLetras(cadena)
{
   var abc="abcdefghijklmnopqrstuvwxyzñáéíóúäëïöüàèìòùÑÁÉÍÓÚÄËÏÖÜÀÈÌÒÙ";
   for(i = 0; i < cadena.length; i++)
   {
      if((abc.indexOf(cadena.charAt(i))!=-1)||((abc.toUpperCase()).indexOf(cadena.charAt(i))!=-1))
      {
         if(sinLetras.arguments.length>1)
         {
            if(sinLetras.arguments[1].indexOf(cadena.charAt(i))!=-1)
               continue;
         }
         return false;
      }
   }
   return true;
}

function sinNumero(cadena)
{
   var digitos='0123456789';
   for (i=0;i<cadena.length;i++)
   {
      if(digitos.indexOf(cadena.charAt(i))!=-1)
      {
         if(sinNumero.arguments.length>1)
         {
            if(sinNumero.arguments[1].indexOf(cadena.charAt(i))!=-1)
               continue;
         }
         return false;
      }
   }
   return true;
}

function sinSimbRaro(cadena)
{
   var Raro='|°¬!"#$%&/()=?¡\'¿\\~^-_:,;.<>`@{}[]´+¨*';
   for (i=0;i<cadena.length;i++)
   {
      if(Raro.indexOf(cadena.charAt(i))!=-1)
      { 
         if(sinSimbRaro.arguments.length>1)
         {
            if(sinSimbRaro.arguments[1].indexOf(cadena.charAt(i))!=-1)
               continue;
         }
         return false;
      }
   }
   return true;
}

function checaemail(cadena)
{
   var indexant;
   var indexact=0;
   if(cadena.length >= 7)
   {
      indexant = indexact;
      indexact = cadena.indexOf('@',indexant);
      if(indexact > indexant)
      {
         indexant=indexact;
         if(cadena.indexOf('@',indexant+1)!=-1)
            return false;

         indexact = cadena.indexOf('.',indexant);
         if(indexact > (indexant+2))
         {
            if(cadena.length > (indexact+2))
               return true;
         }
      }
   }
   return false;
}


function js_acentos(dato)
{
  var acentos ="\341\351\355\363\372\301\311\315\323\332";
  var letras  ="aeiouAEIOU";
  var valor = "";
  
  for(i = 0; i < dato.length; i++)
  {
     if(acentos.indexOf(dato.charAt(i))!=-1)
        valor = valor + letras.charAt(acentos.indexOf(dato.charAt(i)));
     else
        valor = valor + dato.charAt(i);
  }
  return valor;
}

function js_Mayusculas(forma)
{
   var nombre = js_acentos(forma.nombre.value);
   forma.nombre.value = nombre.toUpperCase();

   var empresa = js_acentos(forma.empresa.value);  
   forma.empresa.value = empresa.toUpperCase();

   var subject = forma.subject.options[forma.subject.selectedIndex].value;
   forma.subject.options[forma.subject.selectedIndex].value = subject.toUpperCase();

   var cliente = forma.client.options[forma.client.selectedIndex].value;
   forma.client.options[forma.client.selectedIndex].value = cliente.toUpperCase();

   var producto = forma.product.options[forma.product.selectedIndex].value;
   forma.product.options[forma.product.selectedIndex].value = producto.toUpperCase();
   return;
}

function js_MayusculasAfore(forma)
{
   var nombre = js_acentos(forma.nombre.value);
   forma.nombre.value = nombre.toUpperCase();

   return;
}

function jsRegistryMarkInvalidField(field, name, msg) {	
		field.focus();	
		alert("El campo " + name + msg);
		return;
	}

function js_validaHipo(forma)
{
   if( (forma.nombre.value=="") || (estaBlanco(forma.nombre.value)) )
   {
      alert("Por favor escribe tu nombre.");
      forma.nombre.focus();
      return;
   }
   if( !(sinSimbRaro(forma.nombre.value,'.') && sinNumero(forma.nombre.value)) )
   {
      alert('Teclea tu nombre correctamente.');
      forma.nombre.focus();
      return;
   }
    if (!er_IsValidEmail.test(forma.mail.value)) {
			jsRegistryMarkInvalidField(forma.mail, "Email", ERRMSG_IsWrongEmail);
			return;
		}
   /*
   if( (forma.mail.value=="") || (estaBlanco(forma.mail.value)) )
   {
      alert("Por favor escribe tu e-mail");
      forma.mail.focus();
      return;
   }
   if(!checaemail(forma.mail.value))
   {
      alert("Teclea tu e-mail correctamente.");
      forma.mail.focus();
      return;
   }
   */
   if( !(sinLetras(forma.telc.value) && sinSimbRaro(forma.telc.value,'()/-')) )
   {
      alert('Escriba bien el tel\351fono de su casa.');
      forma.telc.focus();
      return;
   }
   if( !(sinLetras(forma.telo.value) && sinSimbRaro(forma.telo.value,'()/-')) )
   {
      alert('Escriba bien el tel\351fono de su trabajo.');
      forma.telo.focus();
      return;
   }
   if( !(sinLetras(forma.fax.value) && sinSimbRaro(forma.fax.value,'()/-')) )
   {
      alert('Escriba bien su fax');
      forma.fax.focus();
      return;
   }
   if( (forma.subject.selectedIndex == 0) || (forma.subject.selectedIndex == "undefined") )
   {
      alert("Se requiere el Asunto.");
      forma.subject.focus();
      return;
   }
   if( (forma.info.selectedIndex == 0) || (forma.info.selectedIndex == "undefined") )
   {
      alert("Se requiere el tipo de informaci\363n.");
      forma.info.focus();
      return;
   }
   if( (forma.client.selectedIndex == 0) || (forma.client.selectedIndex == "undefined") )
   {
      alert("Se requiere el tipo de cliente");
      forma.client.focus();
      return;
   }
   //alert("Su opinión es muy importante para nosotros, gracias por su participación!");
   js_Mayusculas(forma);
   forma.submit();
}


function js_valida(forma)
{
   if( (forma.nombre.value=="") || (estaBlanco(forma.nombre.value)) )
   {
      alert("Por favor escribe tu nombre.");
      forma.nombre.focus();
      return;
   }
   if( !(sinSimbRaro(forma.nombre.value,'.') && sinNumero(forma.nombre.value)) )
   {
      alert('Teclea tu nombre correctamente.');
      forma.nombre.focus();
      return;
   }
   if (!er_IsValidEmail.test(forma.mail.value)) {
			jsRegistryMarkInvalidField(forma.mail, "Email", ERRMSG_IsWrongEmail);
			return;
		}
   /*
   if( (forma.mail.value=="") || (estaBlanco(forma.mail.value)) )
   {
      alert("Por favor escribe tu e-mail");
      forma.mail.focus();
      return;
   }
   if(!checaemail(forma.mail.value))
   {
      alert("Teclea tu e-mail correctamente.");
      forma.mail.focus();
      return;
   }
   */
   
   if( !(sinLetras(forma.telc.value) && sinSimbRaro(forma.telc.value,'()/-')) )
   {
      alert('Escriba bien el tel\351fono de su casa.');
      forma.telc.focus();
      return;
   }
   if( !(sinLetras(forma.telo.value) && sinSimbRaro(forma.telo.value,'()/-')) )
   {
      alert('Escriba bien el tel\351fono de su trabajo.');
      forma.telo.focus();
      return;
   }
   if( !(sinLetras(forma.fax.value) && sinSimbRaro(forma.fax.value,'()/-')) )
   {
      alert('Escriba bien su fax');
      forma.fax.focus();
      return;
   }
   if( (forma.subject.selectedIndex == 0) || (forma.subject.selectedIndex == "undefined") )
   {
      alert("Se requiere el Asunto.");
      forma.subject.focus();
      return;
   }
   if( (forma.client.selectedIndex == 0) || (forma.client.selectedIndex == "undefined") )
   {
      alert("Se requiere el tipo de cliente");
      forma.client.focus();
      return;
   }
   //alert("Su opini\363n es muy importante para nosotros, gracias por su participaci\363n!");
   js_Mayusculas(forma);
   forma.submit();
}

function js_validaAfore(forma)
{
   if( (forma.nombre.value=="") || (estaBlanco(forma.nombre.value)) )
   {
      alert("Por favor escribe tu nombre.");
      forma.nombre.focus();
      return;
   }
   if( !(sinSimbRaro(forma.nombre.value,'.') && sinNumero(forma.nombre.value)) )
   {
      alert('Teclea tu nombre correctamente.');
      forma.nombre.focus();
      return;
   }
    if (!er_IsValidEmail.test(forma.mail.value)) {
			jsRegistryMarkInvalidField(forma.mail, "Email", ERRMSG_IsWrongEmail);
			return;
		}
   /*
   if( (forma.mail.value=="") || (estaBlanco(forma.mail.value)) )
   {
      alert("Por favor escribe tu e-mail");
      forma.mail.focus();
      return;
   }
   if(!checaemail(forma.mail.value))
   {
      alert("Teclea tu e-mail correctamente.");
      forma.mail.focus();
      return;
   }
   */
   js_MayusculasAfore(forma);
   forma.submit();
}

function jc_limpiar(forma)
{
   forma.reset();
}

function js_vacioSearch()
{
   if( (forma.nombre.value=="") || (estaBlanco(forma.elements[0].value)) )
   {
      alert("Se requiere su nombre");
      forma.nombre.focus();
      return;
   }
}

function js_maxlength(campo, max){
	if (campo.value.length > max) campo.value = campo.value.substring(0,max);
}

function js_showSubP(forma)
{
	var nprod = forma.product.selectedIndex;
	var selSubP = forma.subproduct;
	var subOpRow = document.getElementById("subPrCPr");
	var subPrTxtDsc = document.getElementById("subPrCPrTxt"); 
	var subPrAr = new Array();
	var subPrTxt = "";
	
	if (subOpRow.style.display == 'none') {subOpRow.style.display = ''; /*subOpRowSel.style.display = '';*/}
		
	switch(forma.product.selectedIndex){
	case 1:	subPrAr = ["TASA DE INVERSION A PLAZO", "OTROS PRODUCTOS PARA INVERTIR A PLAZO", "TIPOS DE FONDOS", "DIVERSIFICACION DE PORTAFOLIO"]; 
		subPrTxt="Opci\363n de inversiones:"; break;
	case 2:	subPrAr = ["CREDITOS PERSONALES","PYME","CAPACIDAD LIQUIDACION","PAGOS CREDITO HIPOTECARIO","CREDITOS AUTO"];
		subPrTxt="Opci\363n de Cr\351ditos:"; break;
	case 3:	subPrAr = ["BENEFICIOS CUENTA DE CHEQUES PREMIER","TARJETA DEBITO PREMIER","COMISIONES"];
		subPrTxt="Opci\363n de Cuenta Premier:"; break;
	case 4:	subPrAr = ["OPERACIONES SPEI","ORDENES DE PAGO INTERNACIONALES","GLOBAL VIEW & GLOBAL TRANSFER","TARJETA DE CREDITO HSBC PREMIER","WORLD ELITE","MASTERCARD","OTROS"];
		subPrTxt="Opci\363n de Productos y Servicios:"; break;
	default: subOpRow.style.display = 'none'; //subOpRowSel.style.display = 'none';
	}
	
	selSubP.options.length=1;
	for (var i = 0; i < subPrAr.length; i++){
		selSubP.options[forma.subproduct.length]=new Option(subPrAr[i], subPrAr[i]);
	}

	subPrTxtDsc.firstChild.nodeValue=subPrTxt;
}

function js_validaPr(forma)
{
   var renum=/^\d*$/;
   if( (forma.nombre.value=="") || (estaBlanco(forma.nombre.value)) )
   {
      alert("Por favor escribe tu nombre.");
      forma.nombre.focus();
      return;
   }
   if( !(sinSimbRaro(forma.nombre.value,'.') && sinNumero(forma.nombre.value)) )
   {
      alert('Teclea tu nombre correctamente.');
      forma.nombre.focus();
      return;
   }
   if (!er_IsValidEmail.test(forma.mail.value)) {
      jsRegistryMarkInvalidField(forma.mail, "Email", ERRMSG_IsWrongEmail);
      return;
   }
   if( forma.telc.value.length!=10 || !(sinLetras(forma.telc.value) && sinSimbRaro(forma.telc.value)) )
   {
      alert('Verifica que hayas escrito correctamente el tel\351fono.');
      forma.telc.focus();
      return;
   }
   if(forma.ucta.value.length !=4 || !forma.ucta.value.match(renum))
   {
      alert('Verifica que hayas escrito correctamente el n\372mero de cuenta.');
      forma.ucta.focus();
      return;
   }
   if(forma.subject.value=="" || estaBlanco(forma.subject.value) || !sinSimbRaro(forma.subject.value,'.'))
   {
      alert("Verifica que hayas escrito correctamente el asunto.");
      forma.subject.focus();
      return;
   }
   if( (forma.product.selectedIndex == 0) || (forma.product.selectedIndex == "undefined") )
   {
      alert("Se requiere el producto.");
      forma.product.focus();
      return;
   }
   if( (forma.subproduct.selectedIndex == 0) || (forma.subproduct.selectedIndex == "undefined") )
   {
      alert("Se requiere la opci\363n del producto.");
      forma.subproduct.focus();
      return;
   }
   if(forma.comment.value=="" || estaBlanco(forma.comment.value) || !sinSimbRaro(forma.comment.value,'.,'))
   {
      alert("Verifica que hayas escrito correctamente los comentarios.");
      forma.comment.focus();
      return;
   }
   forma.submit();
}

