function entryOnlyNumbers(e) {
  var key //= (window.event) ? event.keyCode : e.which;
  if (window.event)
    key = event.keyCode
  else
    key = e.which
    
  // Was key that was pressed a numeric character (0-9) or backspace (8)?
  if ( key > 47 && key < 58 || key == 8 || key == 0 )
    return; // if so, do nothing
  else // otherwise, discard character

    if (window.event) //IE
      window.event.returnValue = null;
    else //Firefox
      e.preventDefault();
}

function entryOnlyNumbersOrLetters(e){
  var key;
  if(window.event){
    key = event.keyCode;
  }else{
    key = e.which;
  }
    
  if(key > 47 && key < 58 || key == 8 || key == 0 || key > 64 && key < 91 || key > 96 && key < 123){
    return;
  }else{
    if(window.event){ //IE
      window.event.returnValue = null;
    }else{  //Firefox
     e.preventDefault();
    } 
  }   
}

function entryNoSpaces(e){
  var key;
  if(window.event){
    key = event.keyCode;
  }else{
    key = e.which;
  }
  
  if(key != 32){
    return;
  }else{
    if(window.event){ //IE
      window.event.returnValue = null;
    }else{  //Firefox
     e.preventDefault();
    } 
  } 
}

function onlyNumbers(sender){
   var rege = new RegExp("[^\\d]","g");
   sender.value = sender.value.replace(rege, "");
  }    
  
function onlyDecimals(sender){
  var rege = new RegExp("[^\\d]","g");
  var data = sender.value.split(".");
  var data1 = data[0];
  var data2 = data[1];
  var separator = data.length > 1 ? "." : ""
  data1 = data1.replace(rege,"");
  data2 = data2 == null ? "" : data2.replace(rege,"");
  var newValue = data1 + separator + data2;
  if(sender.value != newValue){
   sender.value = newValue;
  }
}
function onlyLetters(sender){
  var rege = new RegExp("[^a-zAZ]","g");
  sender.value = sender.value.replace(rege, "");
}
function onlyNumbersOrLetters(sender){
  var rege = new RegExp("[^\\w]","g");
  sender.value = sender.value.replace(rege, "");
}
function setValidatorByControlId(inputid,f,ev){
  var input = document.getElementById(inputid);
  setValidtorByControl(input,f,ev);
}
function truncateToNDecimals(sender,n){
 var rege = new RegExp("(\\d*)(\\.\\d{0," + n + "})?(\\d*)","g");
 var newvalue = sender.value.replace(rege,"$1$2");
 if(newvalue != sender.value){
  sender.value = newvalue;
 }
}
function setValidtorByControl(input,f,ev){
 if(ev == null){
  ev = "keyup";
 }
 var caller = function(){
  f(input);
 }
 var attach = function(el, eType, fn) {
 if(el == null){
  return;
 }
   if (el.addEventListener) {
    el.addEventListener(eType, fn, true);
    return true;
   } 
   else if (el.attachEvent) {
    return el.attachEvent('on' + eType, fn);
   } else {
    el['on' + eType] = fn;
   }
  } 
  attach(input,ev,caller);
}

function noEntryUrlInvalidChar(e){
  var key;
  if (window.event)
    key = event.keyCode
  else
    key = e.which
  
  if(key != 92 && key != 47 && key != 58 && key != 42 && key != 43 && key != 62 && key != 63 && key != 34 && key != 60 && key != 124){
    return;
  }else{
    if (window.event) //IE
      window.event.returnValue = null;
    else //Firefox
      e.preventDefault();  
  }
}  

//**********************************************************************
function isEmailAddress(theElement,event){
var s = theElement.value;
//var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[com]$/;
//  var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-Za-z0-9_]$/;
//var filter=/^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-Za-z0-9_]$/;
var filter=/@/;
if (s.length == 0 ) return true;
  if (filter.test(s)){
  return true;
  }else{
  alert("Please, enter a valid email address in the field: yourname@yourdomain.com.");
  theElement.focus();
  stopEvent(event)
  return false;
  }
}
//**********************************************************************
function fGetNewFileZip(file){
	var findExtension = file.split(".")
	var NewFile = ""
	for (var y=0; y<findExtension.length; y++){
		if (y==findExtension.length-1){
			NewFile = NewFile + ".zip"
		}else{
			if (NewFile.length==0){
				NewFile = findExtension[y]	
			}else{
				NewFile = NewFile + "." +  findExtension[y]	
			}
		}
	}
return NewFile
}
//**********************************************************************
function fGetExtensionFile(file){
	var findExtension = file.split(".")
	var NewFile = ""
	alert(findExtension[findExtension.length-1])
}
//**********************************************************************
function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function