function snameID()
{
        if (memberform.idnumber.value.length <8)
        {
                var sName=memberform.surname.value.substring(0,1);
                var memId=memberform.memberid.value;
                memberform.memberid.value=memId+sName.toUpperCase();
        }
}
function nameID()
{
        if (memberform.idnumber.value.length <8)
        {
                var firstName=memberform.firstnames.value.substring(0,1);
                var memId=memberform.memberid.value;
                memberform.memberid.value=firstName+memId.toUpperCase();
        }
}

function check(memberform)
{
        current_date = new Date();
        var thisYear=current_date.getYear();
        var dobYear=memberform.year.value;
        var thisAge=eval(thisYear-dobYear);

        if (memberform.surname.value=="")
        {
                alert("Please Enter Surname!");
                memberform.surname.focus();
                return false;
        }
        myOption = -1;
        for (i=0; i<memberform.gender.length; i++)
        {
                if (memberform.gender[i].checked)
                {
                        myOption = i;
                }
        }
        if (myOption == -1)
        {
                alert("Please Specify Gender");
                memberform.surname.focus();
                return false;
        }
        if (memberform.firstnames.value=="")
        {
                alert("Please Enter First Names!");
                memberform.firstnames.focus();
                return false;
        }
        myOption = -1;
        for (i=0; i<memberform.title.length; i++)
        {
                if (memberform.title[i].checked)
                {
                        myOption = i;
                }
        }
        if (myOption == -1)
        {
                alert("Please Specify Title");
                memberform.title[1].checked;
                return false;
        }

        if (memberform.idnumber.value!="" && memberform.idnumber.value!=0000)
        {
                var IDdobYear=eval(19+memberform.idnumber.value.substring(0,2));
                var IDdobMonth=eval(memberform.idnumber.value.substring(4,2));
                var IDdobDay=eval(memberform.idnumber.value.substring(6,4));
                var dobYear=memberform.year.value;
                var dobMonth=memberform.month.value;
                var dobDay=memberform.day.value;

                if (IDdobYear !=dobYear || IDdobMonth !=dobMonth || IDdobDay!=dobDay)
                {
                        alert("Your Date of Birth does not correspond with your ID Number\nPlease enter either a correct ID Number or Date of Birth!");
                        memberform.idnumber.focus();
                        return false;
                }

        }

        if (memberform.day.value=="")
        {
                alert("Please Specify Date Of Birth (Day)!");
                memberform.day.focus();
                return false;
        }
        if (memberform.month.value=="")
        {
                alert("Please Specify Date Of Birth (Month)!");
                memberform.month.focus();
                return false;
        }
        if (memberform.year.value=="")
        {
                alert("Please Specify Date Of Birth (Year)!");
                memberform.year.focus();
                return false;
        }

        var CheckDobYear=memberform.year.value;
        var CheckDobMonth=memberform.month.value;
        var CheckDobDay=memberform.day.value;
        //if (CheckDobDay <10){CheckDobDay='0'+CheckDobDay;}
        //if (CheckDobMonth <10){CheckDobMonth='0'+CheckDobMonth;}
        if (CheckDobYear !="" && CheckDobMonth !="" && CheckDobDay !="")
        {
                var checkstr = "0123456789";
                var DateField = CheckDobDay+"/"+CheckDobMonth+"/"+CheckDobYear;
                var Datevalue = "";
                var DateTemp = "";
                var seperator = "/";
                var day;
                var month;
                var year;
                var leap = 0;
                var err = 0;
                var i;
                err = 0;
                //alert (DateField);
                DateValue = DateField;
                /* Delete all chars except 0..9 */
                for (i = 0; i < DateValue.length; i++) {
                if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
                   DateTemp = DateTemp + DateValue.substr(i,1);
                }
                }
                DateValue = DateTemp;
                /* Always change date to 8 digits - string*/
                /* if year is entered as 2-digit / always assume 20xx */
                if (DateValue.length == 6) {
                   DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
                if (DateValue.length != 8) {
                   err = 19;}
                /* year is wrong if year = 0000 */
                year = DateValue.substr(4,4);
                if (year == 0) {
                   err = 20;
                }
                /* Validation of month*/
                month = DateValue.substr(2,2);
                if ((month < 1) || (month > 12)) {
                   err = 21;
                }
                /* Validation of day*/
                day = DateValue.substr(0,2);
                if (day < 1) {
                  err = 22;
                }
                /* Validation leap-year / february / day */
                if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
                   leap = 1;
                }
                if ((month == 2) && (leap == 1) && (day > 29)) {
                   err = 23;
                }
                if ((month == 2) && (leap != 1) && (day > 28)) {
                   err = 24;
                }
                /* Validation of other months */
                if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
                   err = 25;
                }
                if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
                   err = 26;
                }
                /* if 00 ist entered, no error, deleting the entry */
                if ((day == 0) && (month == 0) && (year == 00)) {
                   err = 0; day = ""; month = ""; year = ""; seperator = "";
                }
                /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
                if (err == 0) {
                   DateField.value = day + seperator + month + seperator + year;
                }
                /* Error-message if err != 0 */
                else
                {
                         alert("Please Enter A Valid Date of Birth!");
                        memberform.day.focus()
                        return false;
                }
        }

        if (memberform.passport.value!="")
        {
                if (isNaN(memberform.passport.value))
                {
                        alert("Please enter a valid Passport Number!\nA Passport Number should contain numbers only\nPlease remove spacing as well!");
                        memberform.passport.focus();
                        return false;
                }
        }
        if (memberform.idnumber.value=="" && thisAge > 16 && memberform.passport.value=="")
        {
                alert("Please enter either an I.D Number or a Passport Number\nOr enter \"0000\" as an I.D Number if both numbers are not applicable!");
                memberform.idnumber.focus();
                return false;
        }
        if (memberform.passport.value !="")
        {
                if (memberform.country.value=="")
                {
                        alert("Please Specify Country!");
                        memberform.country.focus();
                        return false;
                }
        }
        myOption = -1;
        for (i=0; i<memberform.race.length; i++)
        {
                if (memberform.race[i].checked)
                {
                        myOption = i;
                }
        }
        if (myOption == -1)
        {
                alert("Please Specify Race");
                memberform.country.focus();
                return false;
        }
        if (memberform.postal_address.value=="")
        {
                alert("Please Enter A Postal Address!");
                memberform.postal_address.focus();
                return false;
        }
        if (memberform.postal_code.value=="")
        {
                alert("Please Enter A Postal Code!");
                memberform.postal_code.focus();
                return false;
        }
        if (isNaN(memberform.postal_code.value))
        {
                alert("Please Enter A Valid postal code!\nA postal code should contain numbers only\nPlease remove spacing as well!");
                memberform.postal_code.focus();
                return false;
        }
        if (memberform.email.value !="")
        {
                uppervalue=memberform.email.value.toUpperCase();
            if (uppervalue.indexOf(".") < 1 || uppervalue.indexOf("@") < 1)
                    {
                             alert("Please Enter A Valid Email Address!");
                      memberform.email.focus();
                       return false;
            }
        }
        var workCode=memberform.work_telcode.value;
        var workTel=memberform.work_telnum.value
        var homeCode=memberform.home_telcode.value;
        var homeTel=memberform.home_telnum.value
        var faxCode=memberform.faxcode.value;
        var faxTel=memberform.faxnum.value
        var cellCode=memberform.cellcode.value;
        var cellTel=memberform.cellnum.value
        if (workCode=="" && workTel=="" && homeCode=="" && homeTel=="" && faxCode=="" && faxTel=="" && cellCode=="" && cellTel=="")
        {
                alert("Please Note That We Need Your Contact Details\n Fill In at least One Contact Details!");
            memberform.cellcode.focus();
            return false;
        }

        if (memberform.work_telcode.value !="")
        {
                if (isNaN(memberform.work_intcode.value))
                {
                        alert("Please enter a valid International Code (Work)!\nAn International Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.work_intcode.focus();
                        return false;
                }
                if (isNaN(memberform.work_telcode.value))
                {
                        alert("Please enter a valid Tel Code (Work)!\nA Telephone Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.work_telcode.focus();
                        return false;
                }
                if (memberform.work_telnum.value=="")
                {
                        alert("Please enter telephone number (Work)!");
                        memberform.work_telnum.focus();
                        return false;
                }
                if (isNaN(memberform.work_telnum.value))
                {
                        alert("Please Enter A Valid Tel Number (Work)!\nA Telephone Number should contain numbers only\nPlease remove spacing as well!");
                        memberform.work_telnum.focus();
                        return false;
                }
        }
        if (memberform.home_telcode.value !="")
        {
                if (isNaN(memberform.home_intcode.value))
                {
                        alert("Please Enter A Valid International Code (Home)!\nAn International Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.home_intcode.focus();
                        return false;
                }
                if (isNaN(memberform.home_telcode.value))
                {
                        alert("Please Enter A Valid Tel Code (Home)!\nA Telephone Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.home_telcode.focus();
                        return false;
                }
                if (memberform.home_telnum.value=="")
                {
                        alert("Please Enter Telephone Number (Home)!");
                        memberform.home_telnum.focus();
                        return false;
                }
                if (isNaN(memberform.home_telnum.value))
                {
                        alert("Please Enter A Valid Tel Number (Home)!\nA Telephone Number should contain numbers only\nPlease remove spacing as well!");
                        memberform.home_telnum.focus();
                        return false;
                }
        }
        if (memberform.faxcode.value !="")
        {
                if (isNaN(memberform.fax_intcode.value))
                {
                        alert("Please Enter A Valid International Code (Fax)!\nAn International Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.fax_intcode.focus();
                        return false;
                }
                if (isNaN(memberform.faxcode.value))
                {
                        alert("Please Enter A Valid Fax Code!\nA Fax Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.faxcode.focus();
                        return false;
                }
                if (memberform.faxnum.value=="")
                {
                        alert("Please Enter A Fax Number!");
                        memberform.faxnum.focus();
                        return false;
                }
                if (isNaN(memberform.faxnum.value))
                {
                        alert("Please Enter A Valid Fax Number!\nA Fax Number should contain numbers only\nPlease remove spacing as well!");
                        memberform.faxnum.focus();
                        return false;
                }
        }
        if (memberform.cellcode.value !="")
        {
                if (isNaN(memberform.cell_intcode.value))
                {
                        alert("Please Enter A Valid International Code (Cellphone)!\nAn International Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.fax_intcode.focus();
                        return false;
                }
                if (isNaN(memberform.cellcode.value))
                {
                        alert("Please Enter A Valid Cell Code!\nA Cellphone Code should contain numbers only\nPlease remove spacing as well!");
                        memberform.cellcode.focus();
                        return false;
                }
                if (memberform.cellnum.value=="")
                {
                        alert("Please Enter Cellphone Number!");
                        memberform.cellnum.focus();
                        return false;
                }
                if (isNaN(memberform.cellnum.value))
                {
                        alert("Please Enter A Valid Cell Number!\nA Cell Number should contain numbers only\nPlease remove spacing as well!");
                        memberform.cellnum.focus();
                        return false;
                }
        }
        if (memberform.province.value=="")
        {
                alert("Please Specify Province!");
                memberform.province.focus();
                return false;
        }
        if (memberform.club.value=="")
        {
                alert("Please Specify Club!");
                memberform.club.focus();
                return false;
        }
        myOption = -1;
        for (i=0; i<memberform.involved.length; i++)
        {
                if (memberform.involved[i].checked)
                {
                        myOption = i;
                }
        }
        if (myOption == -1)
        {
                alert("Please Specify At Least One Involvement");
                memberform.province.focus();
                return false;
        }
}