/**
 * Funciones varias de Javascript (DOM2) que permite dar formato
 * a campos de texto (input type="text")
 *
 * Consideraciones;sd
 *   Debido a que IE implementa de manera particular DOM2 es necesario
 *   observar que los eventos se localizan en el objeto windows.event
 *   en los demas navegadores DOM Compilant se usa el objeto (e).
 *
 * Como usar las funciones
 *
 *  inputtext = document.getElementById('id');
 *  inputtext.onkeypress = function (e){ return funcion(e,<param>); };
 */
function stopDefault( e ) {
  // Prevent the default browser action (W3C)
  if ( e && e.preventDefault )
  e.preventDefault();
  // A shortcut for stoping the browser action in IE
  else
  window.event.returnValue = false;
  return false;
}



function MaskNumbers(e){
  if(window.event)
  {
    e = window.event;

    if((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57)))
    {
      e.keyCode = '';
      e.cancelBubble = true;
      return false;
    }
  }
  else
  {
    if((e.charCode != 0) && ((e.charCode < 48) || (e.charCode > 57)))
    {
      e.preventDefault();
      e.stopPropagation();
      return false;
    }
  }
  return true;
}



function MaskNumbersRep(e,el){
  if(window.event)
  {
    e = window.event;

    if((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57)))
    {
      e.keyCode = '';
      e.cancelBubble = true;
      return false;
    }
  }
  else
  {
    if((e.charCode != 0) && ((e.charCode < 48) || (e.charCode > 57)))
    {
      e.preventDefault();
      e.stopPropagation();
      return false;
    }
  }
  //alert("etra");
  detect(e,el);
  return true;
}



function MaskNumbersLen(e, len){
    var src;
    len =  len -1 ;
    if(window.event)
    {
      e = window.event;
      src = e.srcElement;

      if(((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57))))
      {
         if (src.value.length > len){
            e.keyCode = '';
	         e.cancelBubble = true;
            return false;
         }
      }
    }
    else
    {
      src = e.target;
      if(((e.charCode != 0) && ((e.charCode < 48) || (e.charCode > 57))))
      {
            e.preventDefault();
            e.stopPropagation();
            return false;
      }
      else {
         if ((src.value.length > len) && (e.charCode != 0)){
            e.preventDefault();
            e.stopPropagation();
            return false;
         }
      }
    }

    return true;
  }

	
	
function MaskUpperCase(e){
	if(window.event)
	{
		e = window.event;

		if((e.keyCode >= 97) && (e.keyCode <= 122))
			e.keyCode = e.keyCode - 32;
	}
	else
	{
		if((e.charCode >= 97) || (e.charCode < 122))
			e.charCode = e.charCode - 32;
	}

	return true;
}
  
	
	
function MaskNumbersFloatForIpsa(e){
 if(window.event){
	 e = window.event;
		src = e.srcElement.value;
		
		var nPuntos = (src.indexOf('.', 0) != -1);
		var posPunto = src.indexOf('.', 0);
		var decimales = 0;
 		
		if ( posPunto != -1 ){
			 decimales = src.length - posPunto;
		}

		if ((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57) || (decimales > 10)) ){
			 if (e.keyCode != 46 ) {
					e.keyCode = '';
					e.cancelBubble = true;
					return false;
			 }else{
				if ( nPuntos ){
						e.preventDefault();
						e.stopPropagation();
						return false;
				}
			 }
		}
 }
 else {
		var fuente  = e.target.value;
		var nPuntos = (fuente.indexOf('.', 0) != -1);
		var posPunto = fuente.indexOf('.', 0);
		var decimales = 0;

		if ( posPunto != -1 ){
			 decimales = fuente.length - posPunto;
		}

	 if((e.charCode != 0) && ( (e.charCode < 48) || (e.charCode > 57) || (decimales > 10)) ){
			if ( e.charCode != 46 ) {
				 e.preventDefault();
				 e.stopPropagation();
				 return false;
			}
			else {
				if ( nPuntos ){
						e.preventDefault();
						e.stopPropagation();
						return false;
				}
			}
 }
 }
return true;
}
  
  
function MaskNumbersFloat(e){
   if(window.event){
      e = window.event;
			
			if(e == NULL)
				return false;

      var fuente  = e.target.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

      if ((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57) || (decimales > 2)) ){
         if (e.keyCode != 46 ) {
            e.keyCode = '';
            e.cancelBubble = true;
            return false;
         }else{
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
         }
      }
   }
   else {
      var fuente  = e.target.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

	   if((e.charCode != 0) && ( (e.charCode < 48) || (e.charCode > 57) || (decimales > 2)) ){
	      if ( e.charCode != 46 ) {
		       e.preventDefault();
		       e.stopPropagation();
		       return false;
	      }
	      else {
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
	      }
	 }
   }
    return true;
}




function MaskNumbersFloatZamora(e){
   if(window.event){
 
      e = window.event;
      var fuente  = e.srcElement.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

      if ((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57) || (decimales > 4)) ){
         if (e.keyCode != 46 ) {
            e.keyCode = '';
            e.cancelBubble = true;
            return false;
         }else{
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
         }
      }
   }
   else {
      var fuente  = e.target.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

	   if((e.charCode != 0) && ( (e.charCode < 48) || (e.charCode > 57) || (decimales > 4)) ){
	      if ( e.charCode != 46 ) {
		       e.preventDefault();
		       e.stopPropagation();
		       return false;
	      }
	      else {
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
	      }
	 }
   }
    return true;
}



function sPhoneNumbers(e){
  if(window.event){
    e = window.event;

    if((e.keyCode  < 47 || e.keyCode  > 58) && (e.keyCode != 40 && e.keyCode != 41 && e.keyCode != 45)){
    
	
      e.keyCode = '';
      e.cancelBubble = true;
      return false;
    }
  }
  else{

    if((e.charCode < 48 || e.charCode > 58) && (e.charCode != 40 && e.charCode != 41 && e.charCode != 45 && e.charCode != 0)){
	
      e.preventDefault();
      e.stopPropagation();
      return false;
    }
  }
  return true;
}



function PhoneNumbers(e){
  if(window.event){
    e = window.event;
    sKey = e.keyCode;
  }
  else
  {
    sKey = e.charCode;
  }
  if( (sKey>=48 && sKey<=57) ||
  (sKey == 40 || sKey == 41 || sKey == 43 || sKey == 45 || sKey == 32)||
  sKey == 0)
  {
    return true;
  }

  stopDefault(e);
  return false;
}



function PhoneNumbersRep(e,el){
  if(window.event){
    e = window.event;
    sKey = e.keyCode;
  }
  else
  {
    sKey = e.charCode;
  }
  if( (sKey>=48 && sKey<=57) ||
  (sKey == 40 || sKey == 41 || sKey == 43 || sKey == 45 || sKey == 32)||
  sKey == 0)
  {
    detect(e,el);
    return true;
  }

  stopDefault(e);
  return false;
}



function PhoneNumbers(e){
  if(window.event){
    e = window.event;
    sKey = e.keyCode;
  }
  else
  {
    sKey = e.charCode;
  }
  if( (sKey>=48 && sKey<=57) ||
  (sKey == 40 || sKey == 41 || sKey == 43 || sKey == 45 || sKey == 32)||
  sKey == 0)
  {
    return true;
  }

  stopDefault(e);
  return false;
}



function OnlyTextMask(e){
  if(window.event){
    e = window.event;
    sKey = e.keyCode;
  }
  else
  {
    sKey = e.charCode;
  }

  if( (sKey>=97 && sKey<=122) || 
  (sKey>=65 && sKey<=90) || 
  (sKey == 193 || sKey == 201 || sKey == 205 || sKey == 211 || sKey == 218 || sKey == 225 || sKey == 233 || e.keyCode == 237 || sKey == 243 || sKey == 250)||
  sKey == 0 || sKey == 46 || sKey == 32)
  {
    return true;
  }
  stopDefault(e);
  return false;
}



function OnlyTextMaskRep(e,el){
  if(window.event){
    e = window.event;
    sKey = e.keyCode;
  }
  else
  {
    sKey = e.charCode;
  }

  if( (sKey>=97 && sKey<=122) || 
  (sKey>=65 && sKey<=90) || 
  (sKey == 193 || sKey == 201 || sKey == 205 || sKey == 211 || sKey == 218 || sKey == 225 || sKey == 233 || e.keyCode == 237 || sKey == 243 || sKey == 250)||
  sKey == 0 || sKey == 46 || sKey == 32)
  {
    detect(e,el);
    return true;
  }
  stopDefault(e);
  return false;
}



function sOnlyTextMask(e){
  if(window.event){
    e = window.event;
    alert(String.fromCharCode(e.keyCode)+" "+e.keyCode);
    
    if((e.keyCode  > 47 && e.keyCode  < 58)){
      stopDefault(e);
      return false;
    }
  }
  else{
    alert(e.charCode);
    if(e.charCode  > 47 && e.charCode  < 58 ){
      stopDefault(e);
      return false;
    }

  }
  return true;
}


function isValidEmail(id){
  var campo = document.getElementById(id);
  var regexp = /^([a-zA-Z0-9_'+*$%\^&!\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9:]{2,4})+$/;
  return regexp.test(campo.value)
}

