function lTrim(sStr){
	 while (sStr.charAt(0) == " ")
	  sStr = sStr.substr(1, sStr.length - 1);
	 return sStr;
	}
	function rTrim(sStr){
	 while (sStr.charAt(sStr.length - 1) == " ")
	  sStr = sStr.substr(0, sStr.length - 1);
	 return sStr;
	}
	function allTrim(sStr){
	 return rTrim(lTrim(sStr));
	}

function submit_form(){
	// Esta función es para iniciar la busqueda con el motor personalizado de google, que se ha
	// integrado en el _encabezado.php
	// Funcionamiento:
	// 1. Cargamos el atributo "q" del formulario "cse-search-box" con la busqueda del user
	// 2. Verificamos el texto a buscar (Eliminamos los espacios en blanco)
	// 2.1 Hay texto real para buscar => Submitamos el formulario anterior.
	// 2.2 No hay texto real => Enviamos un alert para indicar que falta el texto a buscar
	
	txtBuscar = document.getElementById('txt_buscar').value;
	document.getElementById('cse-search-box').q.value = txtBuscar;
	
	//buscar = document.getElementById('cse-search-box').q.value
	//alert("buscar :"+buscar);
	
	txtBuscar = allTrim(txtBuscar); // aqui se quitan los espacios en blanco a la izq y der de la cadena.
	
	if(txtBuscar!=""){
		document.getElementById('cse-search-box').submit();
	}else{
		alert("Por favor, introduzca el texto que desea buscar")
	}
	
}

function verificar_panel(){
	if(Spry.Widget.CollapsiblePanel.contentIsOpen){
		//alert("eL panel está abierto");
		CollapsiblePanel1.close(); 
		Spry.Widget.CollapsiblePanel.contentIsOpen = false; 
	}else{
		//alert("eL panel está cerrado");
		CollapsiblePanel1.open();
		Spry.Widget.CollapsiblePanel.contentIsOpen = true; 
	}

}

function show_dir(ruta){	
	// document.navegador.opcion.value= selObj.options[selObj.selectedIndex].value;
	
	//alert("Src de Iframe :"+document.getElementById('ifrm_resultados').src);
	//document.getElementById('ifrm_resultados').src = ruta;
	window.open(ruta,"ifrm_resultados","width=400,height=400") 
	//alert("NUEVO Src de Iframe :"+document.getElementById('ifrm_resultados').src);
	// document.navegador.submit();
}


function gatillo(selObj){	
	// document.navegador.opcion.value= selObj.options[selObj.selectedIndex].value;
	datos = "?email="+selObj.value;
	window.open("comprueba_dominio.php"+datos,"ifrm_resultados","width=100,height=100") 
	// document.navegador.submit();
}

function form_uno(num_form,num_elem_form,color_entrada) { 
		document.forms[num_form].elements[num_elem_form].style.backgroundColor=color_entrada;
		document.forms[num_form].elements[num_elem_form].focus();
} 

function iSubmitEnter(oEvento){ 
     var iAscii; 

     if (oEvento.keyCode) 
         iAscii = oEvento.keyCode; 
     else if (oEvento.which) 
         iAscii = oEvento.which; 
     else 
         return false; 

     if (iAscii == 13) submit_form();

     return true; 
} 


function validar_frm(){
	
	// FieldData0 es : De (osea el nombre de la persona que envía el formulario)
	// Funcionamiento:
	/*Leer todos los campos y verificar si cumplen con los requisitos
	Si uno o algunos campos no cumplen con su requisito entonces el formulario no puede ser enviado.
	
	1. Leer todos los campos del formulario
	*2. Verificar cada campo con su requisito
	*3. Verificar cuantos campos no cumplen con su requisito
	*4a. Enviar Formulario
	*4b. Indicar que hay campos que no están correctos
	*/
	
	
	var i;	
	//var estado;
	var ncamposvacios=0;
	var ncampos =4;
	var campos = new Array();
	var estado_email;
	
	
	selObj = document.contactform.elements[0]; // Este es el select destinatario
	cadena = selObj.options[selObj.selectedIndex].value;
	//document.contactform.id.value = cadena;
	//alert(document.contactform.id.value);
	
	if (cadena == '*'){	
		//alert("El valor seleccionado no es correcto");
		ncamposvacios ++;
		form_uno(1,1,'pink');
	}else{
		form_uno(1,1,'white');
	}
	
	for (i=1; i<=ncampos;i++) { 
		if (document.contactform.elements[i].value.length==0 ){
			form_uno(1,i,'pink');
			ncamposvacios ++;			
		}else{
			// Si todos los campos están llenos entonces deben ser evaluados
			switch(i){
				/*case 1: // corresponde al select del destinatario
					selObj = document.contactform.elements[i];
					cadena = selObj.options[selObj.selectedIndex].value;
					alert ("El valor del destinatario es :"+cadena);
					if (cadena == '*'){				
					break;*/
				case 2: // El campo nro 3 en el fomulario es el Email
					var s = document.contactform.elements[i].value;
					var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
					
					if (filter.test(s)){
						// el correo está correcto
						form_uno(1,i,'white');
					}else{
						form_uno(1,i,'pink');
						ncamposvacios ++;	
						estado_email="incorrecto";
					}
					
					break
				default:
					form_uno(1,i,'white');
					
			}// fin switch
		}
	} // fin for
	
	switch(ncamposvacios){
				case 0: // nada porque no hay campos vacíos
					if(confirm('¿La información a enviar, está correcta?')){
						document.contactform.submit();
					}
					break;
				case 1: // hay un campo vacio
					if(estado_email=="incorrecto"){
						alert("El Email debe ser corregido");	
					}else{
						alert("El campo marcado deben ser llenado");
					}
					break;
				
				default: // Mayores de 1
					if(estado_email=="incorrecto"){
						alert("Por favor llene los campos marcados. El Email debe ser corregido");	
					}else{
						alert("Por favor llene los campos marcados");
					}
	} // fin switch ncamposvacios
}


function validar_frmopinion(){
	alert("Hola Leo Dios te bendiga");
	// FieldData0 es : De (osea el nombre de la persona que envía el formulario)
	// Funcionamiento:
	/*Leer todos los campos y verificar si cumplen con los requisitos
	Si uno o algunos campos no cumplen con su requisito entonces el formulario no puede ser enviado.
	
	1. Leer todos los campos del formulario
	*2. Verificar cada campo con su requisito
	*3. Verificar cuantos campos no cumplen con su requisito
	*4a. Enviar Formulario
	*4b. Indicar que hay campos que no están correctos
	*/
	
	var i;	
	//var estado;
	var ncamposvacios=0;
	var ncampos =2;
	var campos = new Array();
	var estado_email;
	
	
	
	
	
	for (i=0; i<=ncampos;i++) { 
		if (document.frm_opinion.elements[i].value.length==0 ){
			form_uno(2,i,'pink');
			ncamposvacios ++;			
		}else{
			// Si todos los campos están llenos entonces deben ser evaluados
			switch(i){
				/*case 1: // corresponde al select del destinatario
					selObj = document.contactform.elements[i];
					cadena = selObj.options[selObj.selectedIndex].value;
					alert ("El valor del destinatario es :"+cadena);
					if (cadena == '*'){				
					break;*/
				case 1: // El campo nro 3 en el fomulario es el Email
					var s = document.frm_opinion.elements[i].value;
					var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
					
					if (filter.test(s)){
						// el correo está correcto
						form_uno(2,i,'white');
					}else{
						form_uno(2,i,'pink');
						ncamposvacios ++;	
						estado_email="incorrecto";
					}
					
					break
				default:
					form_uno(2,i,'white');
					
			}// fin switch
		}
	} // fin for
	
	switch(ncamposvacios){
				case 0: // nada porque no hay campos vacíos
					if(confirm('¿La información a enviar, está correcta?')){
						alert('Muchas Gracias '+ document.frm_opinion.elements[0].value+ " por escribirnos. Dios te bendiga");
						document.frm_opinion.submit();
					}
					break;
				case 1: // hay un campo vacio
					if(estado_email=="incorrecto"){
						alert("El Email debe ser corregido");	
					}else{
						alert("El campo marcado deben ser llenado");
					}
					break;
				
				default: // Mayores de 1
					if(estado_email=="incorrecto"){
						alert("Por favor llene los campos marcados. El Email debe ser corregido");	
					}else{
						alert("Por favor llene los campos marcados");
					}
	} // fin switch ncamposvacios
}




function desc(name, type, ctrl ){ // desc : Descripcion
			this.name = name;
			this.type = type;
			this.ctrl = ctrl;
}

function validarEntero(valor){
      //intento convertir a entero.
     //si era un entero no le afecta, si no lo era lo intenta convertir
     valor = parseInt(valor)

      //Compruebo si es un valor numérico
      if (isNaN(valor)) {
            //entonces (no es numero) devuelvo el valor cadena vacia
            return "";
      }else{
            //En caso contrario (Si era un número) devuelvo el valor
            return valor;
      }
} 

function validar_frm2(){
	
	//1. Creo las propiedades de los campos de la tabla, solo los requeridos.	
		 var campos = new Array()	 
		 campos[0] = new desc("nombre", "string","txtbox");
		 campos[1] = new desc("edad", "number","txtbox");
		 campos[2] = new desc("ciudad", "string","txtbox");
		 campos[3] = new desc("email", "email","txtbox");
		 campos[4] = new desc("telefonos", "string","txtbox");
		 var incompletos = 0;

	//2. Recorrer todos los campos requeridos usando getelementbyid
		Ncampos = campos.length - 1; // Numero de Opciones
		//document.getElementById('cse-search-box').submit();
		var i;
		for (i=0; i<=Ncampos;i++) { 
		  	var elnombre = campos[i].name;
			var eltipo = campos[i].type;
			alert(elnombre);
			
			usr_valor = document.getElementById(elnombre).value;
			
			// quitar los espacios en blanco a la izquierda y derecha del txto introducido por el usuario.
			document.getElementById(elnombre).value = allTrim(usr_valor); 
			
			var elvalor = document.getElementById(elnombre).value;
			
			if(document.getElementById(elnombre).value.length==0){
				alert("El campo "+elnombre+" ES nulo");	
				incompletos ++;
			}else{ // si hay valores dados por el usuario entonces los validamos
				alert(elnombre+" es: "+eltipo);					
				switch (eltipo){
					case "number":
						// como hacer para comprobar si algo es un entero
						elvalor = validarEntero(elvalor);						
						
						if(elvalor != ""){
							alert(elnombre+" El campo es UN ENTERO");	
						}else{
							incompletos ++;
							
						}
						break;
					case "email":
						var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
						
						if (filter.test(elvalor)){
							// el correo está correcto
							//form_uno(1,i,'white');
						}else{
							//form_uno(1,i,'pink');							
							incompletos ++;
						}
						break;
					default: // el default será para el tipo string
						
				} // fin switch
			} 
			//alert("este es el valor 0: "+elvalor + "<br />");
		}// fin For Ncampos
	
	
	
	
	
	
	/*switch(ncamposvacios){
				case 0: // nada porque no hay campos vacíos
					if(confirm('¿La información a enviar, está correcta?')){
						document.contactform.submit();
					}
					break;
				case 1: // hay un campo vacio
					if(estado_email=="incorrecto"){
						alert("El Email debe ser corregido");	
					}else{
						alert("El campo marcado deben ser llenado");
					}
					break;
				
				default: // Mayores de 1
					if(estado_email=="incorrecto"){
						alert("Los campos marcados deben ser llenados. El Email debe ser corregido");	
					}else{
						alert("Los campos marcados deben ser llenados");
					}
	} // fin switch ncamposvacios */
}



function show_reflexion(selObj){
	page = selObj.options[selObj.selectedIndex].value;
	document.reflexionform.action = page;
	alert("action del reflexionform :"+document.reflexionform.action)
	document.reflexionform.submit();
	
	
	
}


function open_link(ruta){
	//page = selObj.options[selObj.selectedIndex].value;
	
	document.reflexionform.action = ruta;
	alert("action del reflexionform :"+document.reflexionform.action)
	document.reflexionform.submit();
}


function cambia_destino(selObj){
	cadena = selObj.options[selObj.selectedIndex].value;
	//alert ("la cadena es :"+cadena);
	if (cadena == '*'){
       alert("Debes seleccionar el destino de tu mensaje.")
       document.contactform.cbox_para.focus()
       return 0;
    }else{ 
		document.contactform.id.value = cadena;// cadena contiene el id del form en melodysoft
		
		// 1. Obtener cadena de valores (action y codigo)
		// 2. Separar cadena buscando & el ampersand. 
	}
}


function valida(){ 
   		// 1) Verificar si Todos los Campos "Necesarios" han sido llenados
		var tabla=document.f1.tabla.value;
		var accion=document.f1.accion.value;
		var Requerido = new Array(1);	
		var Tipodecampo = new Array(2);
		var ncols;
		
		switch(tabla){
			case "Modalidad":
				ncols=3
				//Si es Requerido o No
				Requerido[0]=true;
				Requerido[1]=true;
				Requerido[2]=false;
				
				//Tipo de Campo
				Tipodecampo[0]="number";
				Tipodecampo[1]="number";
				Tipodecampo[2]="string";
				
				break
			default:
				alert("No hay tabla");
		}
		
		var i ;			
		
		//alert(Validar[2]);
		var estado
		var campovacio=false;
		for (i=0;i<=ncols-1;i++) { 
    		if (document.f1.elements[i].value=="" && Requerido[i]==true){
				alert("Introduzca mas Información");
				campovacio=true;
				//break;
			}else{
				if (document.f1.elements[i].value!=""){
						switch (Tipodecampo[i]){
							case "number":
							case "string":
								estado=validarTextoNumero(i,Tipodecampo[i]);
								break;
							default:
								alert("NO ES NUMERICO")
						}
				}
			}
			if (estado=="Incorrecto"){
				document.f1.elements[i].focus;
				
				break;
			}
		} 
		if (campovacio==false && estado=="Correcto"){
				//SI NO HAY CAMPOS VACIOS ENTONCES APROBAR LA ACTIVACION DEL SIG FORM.
				//document.f1.enviarform.value="Aprobado";				
				//document.f1.accion.value="Guardar";
				document.f1.submit();
		}else{
				if (ncols==1){
					document.f1.accion.value="inicio";
				}
		}
 }



