﻿/*var mail = /^(.+\@.+\..+)$/ //Dominio Email
var numerico= /[0-9-,]+$/     //Dominio Numerico
var letras = /[a-zA-Z]+\s{0,6}$/ //Dominio solo letras
var alfanumerico = /[a-zA-Z-0-9]+$/  //Dominio Alfanumerico sin espacios
var alfanumerico_esp = /[a-zA-Z-0-9]+\s{0,6}$/ //Dominio Alfanumerico con espacios */
//Funciones generales de validaciones

	function esRut( sRut ) {
		var iRut = 0;
		var iDv  = '';
		var aTemp;
		var bOk = false;
	
		sRut = sRut.toUpperCase();
		
		var rutPat   = /^(\d{1,8})\-(\d{1,1}|K|k)$/;
		var rutArray = sRut.match(rutPat);
	
		if ( rutArray != null && sRut.length >= 9 ) {
			aTemp = sRut.split("-");
	
			iRut = aTemp[0];
			iDv  = aTemp[1];
	
			if( eval(iRut) > 1000000 ) {
				if( checkRut(iRut, iDv) ) {
					bOk = true;
				}
			}
	  } 
	
	  return bOk;
	} // esRut(...)

	function checkRut( iRut, iDv ) {
		var i;
		var e = 0;
		var total = 0;
		var iTmp;
		var m = new Array();
		var dv;
	
		for( i = 2; i < 8; i++ ) {
			m[ i - 2 ] = i;
		}	 

		// Calculo de Suma de Digitos
	  while( iRut > 0 ) {
			i = iRut % 10;
			total += i*( m[e % 6] );
			iRut = Math.floor( iRut / 10 );
			e++;
	  }
	 
    iTmp = 11 - (total % 11);
 
 		dv = iTmp;
    switch( iTmp ) {
    case 10:
	    dv = 'K';
	    break;
    case 11:
	    dv = '0';
	    break;
    };

		return ( iDv == dv );
	} // checkRut(...)

	function esVacio( sString ) {
		return ( sString.length == 0 );
	}

	// Limpia todos los textbox de un formulario c/ prefijo "txt"
	function clearForm( oForm, sPrefix )
	{
	  var iNumCtrl = oForm.elements.length;
	
	  for( i=0; i < iNumCtrl; i++ ) {
	  	oField  = oForm.elements[i];
	  	sField  = oField.name;
	  	
	  	if( sField.indexOf( sPrefix ) == 0 )
	  		oField.value = '';
	    
		} // for(...)
	} // clearForm(..)

	function esEmail( sEmail ) {
		var exclude  =/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check    = /@[\w\-]+\./;
		var checkend = /\.[a-zA-Z]{2,3}$/;
	
		if( ((sEmail.search(exclude) != -1) || 
		     (sEmail.search(check)) == -1) ||
		     (sEmail.search(checkend) == -1) ) {
			return 0;
		}
		else {
			return 1;
		}
	}

	function esFecha( sFecha ) {
		var timePat   = /^(\d{1,2})-(\d{1,2})-(\d{4})$/;
		var aDayMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		
		var matchArray1 = sFecha.match(timePat);
	
		if (matchArray1 == null) {
			return false;
		}
		else {
			if ((matchArray1[3] % 4) == 0)
				aDayMonth[1]= 29;
		  if ( (matchArray1[3] > 1900) && 
		       (matchArray1[3] < 3000) && 
		       (matchArray1[2] >= 1) && 
		       (matchArray1[2] <= 12) && 
		       (matchArray1[1] >= 1) && 
		       (matchArray1[1] <= aDayMonth[matchArray1[2]-1]))
{
	      return true;
			}
			else {
				return false;
			}
		}
	}
	
	function esEntero( sInteger, iMin ) {
		var iVal = parseInt( sInteger );
		
		if ( iVal != sInteger )
			return false;
		return iVal >= iMin;
	}

	function esDecimal( sDecimal, iMin ) {
		var iVal = parseFloat( sDecimal );
		
		if ( iVal != sDecimal )
			return false;
		return iVal >= iMin;
	}

	function esNumero( sText ) {
		var iNum = parseInt(sText);

		return ( '' + iNum == sText );
	}

	function showFocus( oField, sMsg ) {
		alert(sMsg);
		oField.focus();
		oField.select();
	}

	function replaceAll( sSource, sFind, sReplace ) {
		var sReplaceAll = sSource;
		var iIndex = sReplaceAll.indexOf( sFind );

		// Loop over the string value replacing out each matching
		// substring.
		while ( iIndex != -1 ) {
			sReplaceAll = sReplaceAll.replace( sFind, sReplace )
			 			
			iIndex = sReplaceAll.indexOf( sFind );
		} // while(...)
		
		return sReplaceAll;
	}

                          
