// JavaScript Document

	// Funcion muestra mensaje
		function MM_popupMsg(msg) { //v1.0
		  alert(msg);
		}


			// LIBARDO DÍAZ FLÓREZ Bucaramanga(Colombia)
			
			// Esta función permitirá validar la fecha
			// En el objeto text hacemos lo Siguiente
			/*
			   <input type=\'text\' name=cajaFecha onChange=\'fechas(this.value); this.value=borrar\'>
			*/
			function js_validafechas(caja) { 
				
			   if (caja)
			   {  
				  borrar = caja;
				  if ((caja.substr(2,1) == "/") && (caja.substr(5,1) == "/"))
				  {      
					 for (i=0; i<10; i++)
					 {	
						if (((caja.substr(i,1)< "0") || (caja.substr(i,1)> "9")) && (i != 2) && (i != 5))
						{
						   borrar = '';
						   break;  
						}  
					 }
					 if (borrar)
					 { 
						a = caja.substr(6,4);
						m = caja.substr(3,2);
						d = caja.substr(0,2);
						if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
						   borrar = '';
						else
						{
						   if((a%4 != 0) && (m == 2) && (d > 28))	   
							  borrar = ''; // Año no viciesto y es febrero y el dia es mayor a 28
						   else	
						   {
							  if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
								 borrar = '';	      				  	 
						   }  // else
						} // fin else
					 } // if (error)
				  } // if ((caja.substr(2,1) == \"/\") && (caja.substr(5,1) == \"/\"))			    			
				  else
					 borrar = '';
				  
				  if (borrar == '') {
					 //alert('Fecha erronea');
					 return false;
				  }
				  else 
				  	return true;
			   } // if (caja)   
			} // FUNCION
			

		function open_window(ptarget, pURL, pwidth, pheight, pParam ) {
			// "fullscreen=no,channelmode=no,toolbar=yes,menubar=no,scrollbars=no,resizable=yes,location=no,titlebar=no,status=yes"
			ventana = window.open(pURL, ptarget, pParam);
			// ,top=x,left=y,width=1,height=1,screenX=x,screenY=y")
			
			if (pwidth==0) pwidth=screen.width;
			if (pheight==0) pheight=screen.height;
			
			ventana.resizeTo(pwidth, pheight);
			ventana.moveTo(0, 0);		
		}
		
	// Función Cambia Estilo de Class
		function fncCambiarEstilo(e,cl) {
			for(var q=0;q<e.attributes.length;q++)	{
				if(e.attributes.item(q).nodeName=="class")
				{
					e.attributes.item(q).nodeValue=cl;
				}
			}
		}
		
		
	// Funcion Valida Datos
		function fncValida(formulario) {
			
			if (formulario.texto1.value.length <1) {
				fncCambiarEstilo(formulario.texto1, 'casillas');
				alert("No hay datos");
				return (false);
			}
			else {
				fncCambiarEstilo(formulario, 'casillas2');
				return (true);
			}
		
		}
		


  	// Funcion para validar cadenas de carateres
		function js_validar_cadena(theElement)
		{
			var s = theElement.value;
			var filter=/^[A-Za-z][A-Za-z0-9_]*/;

			if (s.length == 0 ) return false;
			if (filter.test(s))
				return true;
			else {
				//alert("Ingrese una dirección de correo válida");
				//theElement.focus();
				return false;
			}
		}

	// Funcion para validar numeros
		function js_validar_numero(theElement)
		{
			var s = theElement.value;
			var filter=/^[0-9_]*/;

			if (s.length == 0 ) return false;
			if (filter.test(s))
				return true;
			else {
				return false;
			}
		}


	//funcion para validar telefonos
		function js_validar_telefono(theElement)
		{
			var s = theElement.value;
			var filter=/^[0-9_][0-9_]-[0-9_]*/;

			if (s.length == 0 ) return false;
			if (filter.test(s))
				return true;
			else {
				return false;
			}
		}


		function js_validar_email(theElement)
		{
			var s = theElement.value;
			var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;

			if (s.length == 0 ) return false;
			if (filter.test(s))
				return true;
			else {
				//alert("Ingrese una dirección de correo válida");
				//theElement.focus();
				return false;
			}
		}

		
	// Funcion Valida email
		function js_validar_email2(email) {
			if (email.value.length < 5) {
				return (false);
			}
			else if (email.value.indexOf('@') == -1) {
				return (false);
			}
			else if (email.value.indexOf('.', email.value.indexOf('@')) == -1) {
				//alert ("Debes colocar una \"Dirección de Email\" válida"); 
				//email.focus() //Esto recorna el cursor al campo "Email"
				return (false);
			}
			else if (email.value.indexOf('.', email.value.indexOf('@')) == -1) {
				//alert ("Debes colocar una \"Dirección de Email\" válida"); 
				//email.focus() //Esto recorna el cursor al campo "Email"
				return (false);
			}
			else { 
				return (true);
				//document.formu.submit(); 
			} 
		} 
		
		
		function js_validar_radioboton(theElement) {
			
			for ( var i = 0; i < theElement.length; i++ ) {
				if ( theElement[i].checked ) {
					return true;
				}
			}
			
			return false;
			
		}
		
		
		function formatearut(e) 
			{
			  var valor  = e.value;				
              var Suma   = 0;
              var NumMag = 2;
              var Resto  = 0;
              var ParteNumerica = new Array();
              var rut    = new Array();
              var valor_ret = "";

              // Valida que el rut no este vacio
              if (valor.length <= 5) { 
                 e.IsValid=false;
				 return; 
              }

              //Se quitan puntos, espacios y guiones
              for (j=0, i=0; j<valor.length; j++) {
                        if (valor.charAt(j) != ' ' && valor.charAt(j) != '.' && valor.charAt(j) != '-')
                         {
                                   ParteNumerica[i] = valor.charAt(j);
                                    ++i;
						}
              }           
              ParteNumerica.reverse();
              // Se formatea el string
              for (j=1, i=0, p=0; j<=ParteNumerica.length-1; j++,i++)
              {
					p++;                         
					if (p == 3) {                                       
						   rut[i] = ParteNumerica[j];
						   rut[++i] = ".";
						   p = 0;
					}                                  
					else {
						//trace(ParteNumerica[j]);
						if ((ParteNumerica[j]==undefined) || (ParteNumerica[j]==null)) {
							//rut.splice(i,1);
							//trace("rut " + rut.join(""));
						}
						else {
							rut[i] = ParteNumerica[j];
						}
					}                                  
              }
              //trace ("Rut ->" + rut.join(""));
              rut.reverse();      
              rut.push("-",ParteNumerica[0]);
              valor_ret = rut.join("");
              
			  //document.Form1.txt_rut.value=valor_ret;
			  
			  e.value = valor_ret;
			  e.IsValid=true;
              //return valor_ret; 
			};
					
			
			function validarut(e) 
			{
				// Definicion de Variables Utilizadas
				var Suma = 0;
				var rut = e.value;
				var NumMag = 2;
				var Resto = 0;
				// Defino el arreglo con los posibles digitos verificadores
				var DigVer = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "K", "0");
				var ParteNumerica = new Array();
				var Dv = " ";
				
				// Valida que el rut no este vacio
				if (rut.length == 0) { e.IsValid = false; }
				
				// Copio solo la parte numerica, sin espacios ni puntos
				// en otra variable para calcular el digito verificador
				for (j=0, i=0; j<rut.length; j++) {
					if (rut.charAt(j) != ' ' && rut.charAt(j) != '.' && rut.charAt(j) != '-') {
						ParteNumerica[i] = rut.charAt(j);
						++i;
					}
				}
			
				Dv = ParteNumerica[ParteNumerica.length-1];
				////trace("Parte Num " + ParteNumerica.length + "| Dv->" + Dv.toUpperCase());
				  
				// Se calcula el digito verificador del rut
				for (i=ParteNumerica.length-2; i>=0; i--, NumMag++)
				{
						Suma += ParteNumerica[i]*NumMag;
						////trace("Suma ->" + Suma +' '+  ParteNumerica[i] +' '+ NumMag);
						
						if (NumMag>6) { NumMag = 1; }
				}
				
				Resto = 11-(Suma % 11);
				////trace ( "Resto " + Resto);
				if (DigVer[Resto] != Dv.toUpperCase())
				{
						//trace("Rut No válido");
						return false;
				}
				else
				{
						//trace("Rut válido");
						
						return true;
				}
			};


