    //************* VALIDATE FORMS ******************
    function IsNumeric(sText){
       var ValidChars = "0123456789.";
       var IsNumber=true;
       var Char;
     
       for (i = 0; i < sText.length && IsNumber == true; i++) 
          { 
          Char = sText.charAt(i); 
          if (ValidChars.indexOf(Char) == -1) 
             {
             IsNumber = false;
             }
          }
       return IsNumber;
       }

    function isDate(dateStr, fieldName) {
    
        var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
        var matchArray = dateStr.match(datePat); // is the format ok?
            
        if (matchArray == null) {
            alert("O formato da data no campo '" + fieldName + "' tem que ser aaaa/mm/dd or aaaa-mm-dd.");
            return false;
        }
            
        year = matchArray[1]; // p@rse date into variables
        month = matchArray[3];
        day = matchArray[5];
            
        if (month < 1 || month > 12) { // check month range
            alert("O Mês to campo '" + fieldName + "' tem que ser entre 1 e 12.");
            return false;
        }
            
        if (day < 1 || day > 31) {
            alert("O dia tem que ser entre 1 e 31.");
            return false;
        }
            
        if ((month==4 || month==6 || month==9 || month==11) && day==31) {
            alert("O Mês "+month+" não tem 31 dias!")
            return false;
        }
            
        if (month == 2) { // check for february 29th
            var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
            if (day > 29 || (day==29 && !isleap)) {
                alert("Fevereiro " + year + " não tem " + day + " dias!");
                return false;
            }
        }
        return true; // date is valid
    }
    
    function Left(str, n){
        if (n <= 0)
            return "";
        else if (n > String(str).length)
            return str;
        else
            return String(str).substring(0,n);
    }

    function Right(str, n){
        if (n <= 0)
        return "";
        else if (n > String(str).length)
        return str;
        else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
        }
    }

    function isEmail(argvalue) {
        if (argvalue.indexOf(" ") != -1)
            return false;
        else if (argvalue.indexOf("@") == -1)
            return false;
        else if (argvalue.indexOf("@") == 0)
            return false;
        else if (argvalue.indexOf("@") == (argvalue.length-1))
            return false;
    
        arrayString = argvalue.split("@");
    
        if (arrayString[1].indexOf(".") == -1)
            return false;
        else if (arrayString[1].indexOf(".") == 0)
            return false;
        else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
            return false;
        }
        return true;// email is valid
    }

    function ChangeLocation(strParam_IN, strValue_IN) {
        var MyString=window.location.href;
        var MyPos1=MyString.indexOf(strParam_IN);
        var MyPos2=MyString.indexOf("?");
        var MyPos3=MyString.indexOf("#");
        var MyChar;
        
        if (MyPos3!=-1) {
           MyString=Left(MyString,MyPos3)
        }

        if (MyPos1!=-1) {
            MyString=Left(MyString,MyPos1-1)
            MyPos2=MyString.indexOf("?");
            if (MyPos2!=-1) {
                MyChar="&";
            } else {
                MyChar="?";
            }
        } else {
            if (MyPos2!=-1) {
                MyChar="&";
            } else {
                MyChar="?";
            }
        }

        var MyFinalString=MyString + MyChar + strParam_IN + strValue_IN;

        window.location.replace(MyFinalString);
        window.location.href=MyFinalString;
    }


