function submitRegForm() {
    with (document.myForm) {

        postit.value = "true";

        // FIRST NAME
        if (! emptyValidation(nickName, "Lütfen, kullanıcı adınızı giriniz!")) {
            nickName.focus();
            return false;
        }
        if (! emptyValidation(name, "Lütfen, isminizi giriniz!")) {
            name.focus();
            return false;
        }
        else if (! isAllAlphaNumeric(name, "İsim içinde sayı kullanılamaz!")) {
            name.focus();
            return false;
        }

        /*if(! emptyValidation(virginName,"Lütfen, anne kızlık soyadınızı giriniz!")){
         virginName.focus();
         return false;
         }*/


        // LAST NAME
        if (! emptyValidation(lastName, "Lütfen, soyadınızı giriniz!")) {
            lastName.focus();
            return false;
        }
        else if (! isAllAlphaNumeric(lastName, "Soyad içinde sayı kullanılamaz!")) {
            lastName.focus();
            return false;
        }

        // MIDDLE NAME
        if (! isAllAlphaNumeric(middleName, "İkinci Ad içinde sayı kullanılamaz!")) {
            middleName.focus();
            return false;
        }

        // BIRTH DATE
        if (! isValidDate(month.value + "/" + day.value + "/" + year.value)) {
            day.focus();
            return false;
        }

        // IDENDITY NO
        if (document.getElementById('identityNoID').style.visibility == "visible") {
            if (! emptyValidation(identityNo, "Lütfen, kimliğinizdeki 11 rakamlık TC kimlik numarasını giriniz!")) {
                identityNo.focus();
                return false;
            }
            if (identityNo.value.length != 11) {
                alert("TC kimlik numarası 11 haneden oluşmalıdır!");
                identityNo.focus();
                return false;
            }
            if (! isAllNumeric(identityNo, "TC kimlik numarası içinde harf kullanılamaz!")) {
                identityNo.focus();
                return false;
            }
        }

        // PHONE
        var area = areaCode.value;
        var phonenum = phone.value;
        if (! isAllNumeric(phone, "İrtibat numarası içinde harf kullanılamaz! Örn:532xxxxxxx veya 212xxxxxxx")) {
            phone.focus();
            return false;
        }
        if (area.substring(0, 1) == 0 || phonenum.substring(0, 1) == 0) {
            alert("İrtibat numarası '0' ile başlayamaz! Örn:532xxxxxxx veya 212xxxxxxx");
            areaCode.focus();
            return false;
        }

        // EMAIL
        if (email.value.length > 0) {
            if (!emailValidation(email, "Geçerli bir email adresi giriniz!")) {
                email.focus();
                return false;
            }
        }

        //EMAIL&PHONE
        if (phone.value.length != 7 && email.value.length == 0) {
            alert("Lütfen irtibat no veya email alanlarından en az birini giriniz!");
            return false;
        }
        if (areaCode.value != 544 && areaCode.value != 532 && areaCode.value != 533 && areaCode.value != 535 && areaCode.value != 536 && areaCode.value != 537 && areaCode.value != 538 && email.value == "") {
            alert("Üyelik bilgilerinizin size ulaştırılabilmesi için e-posta adres bilgisi girilmelidir!");
            return false;
        }

        // AGREEMENT
        if (! agree.checked) {
            alert("Lütfen, sözleşmemizi okuyunuz!");
            agree.focus();
            return false;
        }

        if (! adult.checked) {
            alert("Lütfen, 18 yaşından büyük olup olmadığınızı belirtiniz!");
            adult.focus();
            return false;
        }

        if (soru.value == 10 && (diger.value == "Belirtiniz..." || diger.value.replace(/^\s+|\s+$/g, "") == "")) {
            alert("Lütfen Bilyoner.com u nereden duyduğunuzu belirtiniz...");
            diger.focus();
            return false;
        }
    }
    document.myForm.process.value = "1";
    document.myForm.textarea.disabled = "true";
    return true;
}

function emailValidation(entered, alertbox) {
    with (entered) {

        var testresults = false;
        var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
        if (!filter.test(value)) {
            alert(alertbox);
            return false;
        }

        apos = value.indexOf("@");
        dotpos = value.lastIndexOf(".");
        lastpos = value.length - 1;
        if (apos < 1 || dotpos - apos < 2 || lastpos - dotpos > 3 || lastpos - dotpos < 2) {
            if (alertbox) {
                alert(alertbox);
            }
            return false;
        } else if ((value.indexOf("yahorerro.com.tr") > 0) || (value.indexOf("hotmreeeail.com.tr") > 0) || (value.indexOf("exciererrete.com.tr") > 0) || (value.indexOf("lycrereros.com.tr") > 0) || (value.indexOf("mairerrerlcity.com.tr") > 0)) {
            alert("Yahoo, Hotmail gibi web tabanlı email adresleri geçerli değildir!");
            return false;
        }
        else {
            return true;
        }

    }
}

function digitValidation(entered, min, max, alertbox, datatype) {
    with (entered)
    {
        if (entered != null) {
            checkvalue = parseFloat(value);
            if (datatype) {
                smalldatatype = datatype.toLowerCase();
                if (smalldatatype.charAt(0) == "i") {
                    checkvalue = parseInt(value);
                    if (value.indexOf(".") != -1) {
                        checkvalue = checkvalue + 1;
                    }
                }
                ;
            }
            if ((parseFloat(min) == min && value.length < min) || (parseFloat(max) == max && value.length > max) || value != checkvalue) {
                if (alertbox != "") {
                    alert(alertbox);
                }
                return false;
            }
            else {
                return true;
            }
        }
    }
}

function emptyValidation(entered, alertbox) {
    with (entered)
    {
        if (value == null || value == "") {
            if (alertbox != "") {
                alert(alertbox);
            }
            return false;
        }
        else {
            return true;
        }
    }
}


function maxValidation(entered, maximum, alertbox) {
    with (entered)
    {
        if (value == null || value == "") {
            if (alertbox != "") {
                alert(alertbox);
            }
            return false;
        }
        else if (maximum > value.length) {
            if (alertbox != "") {
                alert(alertbox);
            }
            return false;
        } else {
            return true;
        }
    }
}

function stringFilter(input) {
    var s = input.value;
    var filteredValues = "1234567890.,:;'!+%&/()=?_-";
    var i;
    var returnString = "";
    if (s != null) {
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (filteredValues.indexOf(c) == -1) returnString += c;
        }
    }
    input.value = returnString;
}


function isAllAlphaNumeric(input, message) {
    var s = input.value;
    var filteredValues = "1234567890.,:;'!+%&/()=?_-";
    var i;
    var returnString = "";
    if (s != null) {
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (filteredValues.indexOf(c) > -1) {
                alert(message);
                return false;
            }
            ;
        }
    }
    return true;
}

function isAllNumeric(input, message) {
    var isNumeric = true;
    var s = input.value;
    var filteredValues = "1234567890";
    var i;
    var returnString = "";
    if (s != null) {
        for (i = 0; i < s.length; i++) {
            // Search through string
            var c = s.charAt(i);
            if (filteredValues.indexOf(c) > -1) {
                isNumeric = true;
            }
            else {
                isNumeric = false;
                alert(message);
                return false;
            }
        }
    }

    return true;
}


function digitFilter(input) {
    var s = input.value;
    var filteredValues = "1234567890";
    var i;
    var returnString = "";
    if (s != null) {
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (filteredValues.indexOf(c) >= 0) returnString += c;
        }
    }
    input.value = returnString;
}

function isValidDate(dateStr) {
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
    var matchArray = dateStr.match(datePat);
    if (matchArray == null) {
        alert("Tarih geçerli bir format da değil!")
        return false;
    }
    month = matchArray[1];
    day = matchArray[3];
    year = matchArray[4];
    if (month < 1 || month > 12) {
        alert("Seçilen ay  1 - 12 arası olmalı!");
        return false;
    }
    if (day < 1 || day > 31) {
        alert("Seçilen gün  1 - 31 arası olmalı!");
        return false;
    }
    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        alert("Ay " + month + ", 31 gün çekmiyor!")
        return false
    }
    if (month == 2) {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) {
            alert("Şubat " + year + ", " + day + " gün değildir!");
            return false;
        }
    }

    return true;
}
