
	function ValidarRegExp2(obj,tipo,mensaje_error,d,h){
		
		switch(tipo){
				case "fechaNac": // desde 01/01/1930 hasta 31/12/2007
					break;
				case "fecha": // desde 01/01/1970 hasta 31/12/2007
					break;
				case "fechaSQL": // desde 1900-01-01  2007-12-31
					break;	
				case "hora": // 00:00 hasta 23:59
					break;
				case "email": // pirulo[.pepe]@hotmail.com[.ar]
					break;
				case "numero":
					if((obj.value < d && d != 0) || (obj.value > h && h != 0)){
						mostrarError(obj,mensaje_error);
						return false;
					}
					break;					
				case "texto":					
				case "textoComplejo":
					if((obj.value.length < d && d != 0) | (obj.value.length > h && h != 0)){
						mostrarError(obj,mensaje_error);						
						return false;	
					}
					break;	
				default :
					
		}
		return ValidarRegExp(obj,tipo,mensaje_error);			
	}
	


	function ValidarRegExp(obj,tipo,mensaje_error){
		
		var expresion_regular="";		
				
		switch(tipo){
				case "fechaNac": // desde 01/01/1925 hasta 31/12/2009
					expresion_regular="^(([3][0-1])|([0-2][0-9]))/(([1][0-2])|([0-1][0-9]))/(([2][0][0][0-9])|([1][9][2-9][0-9]))$";
					break;
				case "fecha": // desde 01/01/1970 hasta 31/12/2007
					expresion_regular="^(([3][0-1])|([0-2][0-9]))/(([1][0-2])|([0-1][0-9]))/(([2][0][0][0-7])|([1][9][7-9][0-9]))$";
					break;
				case "fechaSQL": // desde 1900-01-01  2007-12-31
					expresion_regular="^(([2][0][0][0-7])|([1][9][0-9][0-9]))-(([1][0-2])|([0][0-9]))-(([3][0-1])|([0-2][0-9]))$";
					break;	
				case "hora": // 00:00 hasta 23:59
					expresion_regular="^(([2][0-3])|([0-1][0-9])):([0-5][0-9])$";
					break;
				case "email": // pirulo[.pepe]@hotmail.com[.ar]					
					expresion_regular="^(.+\@.+\..+)$";					
					break;
				case "numero":
					expresion_regular="^[0-9]{0,9}$";
					break;					
				case "texto":
					expresion_regular="^([a-zA-Z0-9\ \ñ])*$";
				case "textoComplejo":
					expresion_regular="^([a-zA-Z0-9\ \-\.\º\á\é\í\ó\ú\Á\É\Í\Ó\Ú\"\'\(\)\,\ñ\;\:\_\-\°\Ñ\/])*$";	
					break;	
				default :
					expresion_regular="^([a-zA-Z0-9])+$";
		}
		
		if(expresion_regular != "" ){
			var myreg = new RegExp(expresion_regular);
			
			if(!myreg.test(obj.value)){						   
				mostrarError(obj,mensaje_error);
				return false;	
			}
			return true;
		}
		return true;	
	}
	
	
	function ValidarControl(ctl_id,strExpReg,msg){
		ctl = document.getElementById(ctl_id);
		var er= new RegExp(strExpReg);
		if(!er.test(ctl.value)){
			mostrarError(ctl,msg);
			return false;
		}	 
		return true;
	}
	
	
	function mostrarError(obj,msg){
		if(msg != "")alert(msg);
		else alert(obj.name + " valor incorrecto !!!");
		obj.focus();					
	}
	
	function el(id){return document.getElementById(id);}

	
	function ValidaRadioButton(nombre,msg){
		var radiogroup = document.getElementsByName(nombre);
        var itemchecked = false;

        for (var j=0; j<radiogroup.length; ++j){
			if (j == 0)primero = radiogroup[j].id;

            if (radiogroup[j].checked){
				itemchecked = true; 
				break; 
            }
        }

		if ( (!itemchecked) && (msg != '') ){
			alert(msg);
			if (primero)el(primero).focus();
		}

		return itemchecked;
	}
	
		 function ilegalChar(evt)
	  {
		 evt = (evt) ? evt : event;
		 var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
         		((evt.which) ? evt.which : 0));
			
	     if (charCode==44 || charCode==34 || charCode==39 ) 	return false;

	     return true;
  	}
	
	
	
	
	function OnlyNumbers(c){

	if (!IsNum(document.getElementById(c).value,".")  ){
		var str;
		var end; 
		str=document.getElementById(c).value;
		end=String(str).length; 
		newstr=String(str).substring(0,end -1) ;
		document.getElementById(c).value=newstr;
	}
}


function IsNum( numstr,decimal ) {
	// Return immediately if an invalid value was passed in
	if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")	
		return false;
	var isValid = true;
	var decCount = 0;		// number of decimal points in the string

	// convert to a string for performing string comparisons.
	numstr += "";	

	// Loop through string and test each character. If any
	// character is not a number, return a false result.
 	// Include special cases for negative numbers (first char == '-')
	// and a single decimal point (any one char in string == '.').   
	for (i = 0; i < numstr.length; i++) {
		// track number of decimal points
		if (numstr.charAt(i) == decimal)
			decCount++;

    	if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || 
				(numstr.charAt(i) == "-") || (numstr.charAt(i) == decimal))) {
       	isValid = false;
       	break;
		} else if ((numstr.charAt(i) == "-" && i != 0) ||
				(numstr.charAt(i) == decimal && numstr.length == 1) ||
			  (numstr.charAt(i) == decimal && decCount > 1)) {
       	isValid = false;
       	break;
      }         	         	       
//if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9")) || 
   } // END for   
   
   	return isValid;
}  // end IsNum

	
	
