function trim(str) {
    if(str.length < 1) return "";
        var return_string = str;
    while(return_string.charAt(0) == " ")
        return_string = return_string.substring(1, return_string.length);
    while(return_string.charAt(return_string.length - 1) == " ")
        return_string = return_string.substring(0, (return_string.length - 1));
    return(return_string);
}
function validity (str, valid) {
    var temp;
    for (var i=0; i<str.length; i++) {
        tempCHAR = "" + str.substring(i, i+1);
        temp = valid.indexOf(tempCHAR);
        if (temp == "-1")
            return false;
    }
    return true;
}
function isEmail(str, desc) {
    var i =  str.indexOf("@");
    if (i<0) {
        return desc + " alanında @ işareti yok!";
    } else if (i==0) {
        return desc + " alanı @ işareti ile başlıyor!\n"
    }
    var mailbox = str.substring(0,i);
    var domain = str.substring(i+1);
    if (domain.indexOf("@")>=0) {
        return desc + " alanında birden fazla @ işareti kullanılmış!\n"
    }
    alphaSpecial = /[^A-Za-z0-9_\-.]+/;
    alphafront = /^[^A-Za-z0-9]/;
    alphalast = /[^A-Za-z0-9]+$/;
    if(alphafront.exec(mailbox)!=null) {
        return desc + " alanı sadece harf veya rakamla başlayabilir!\n"
    }
    if(alphaSpecial.exec(mailbox)!=null) {
        return desc + " alanının kullanıcı adı kısmında sadece harfler, rakamlar, -, _ ve . karakterlerini kullanabilirsiniz!\n"
    }
    if(alphalast.exec(mailbox)!=null) {
        return desc + " alanının kullanıcı adı kısmı sadece harf veya rakamla sonlanabilir!\n"
    }
    if(alphafront.exec(domain)!=null) {
        return desc + " alanının domaini harf veya rakamla başlamak zorundadır!\n"
    }
    if(alphaSpecial.exec(domain)!=null) {
        return desc + " alanının domain adı kısmında sadece harfler, rakamlar, -, _ ve . karakterlerini kullanabilirsiniz!\n"
    }
    if(alphalast.exec(domain)!=null) {
        return desc + " alanının domain adı kısmı sadece harf veya rakamla sonlanabilir!\n"
    }
    i = domain.lastIndexOf(".");
    if (i<0) {
        return desc + " alanının domain kısmı hatalı!\n"
    }
    if(!lookup(domain.substring(i+1))) {
        return desc + " alanıda geçersiz domain adı kullanılmış!\n"
    }
    alpha = /[_\-.]+/;
    z=mailbox.match(alpha);
    if(z!=null) {
        if((String(z).length)>1) {
            return desc + " alanı hatalı!\n"
        }
    }
    return ""
}
function lookup(country) {
    A = [ "ad", "ae", "af", "ag", "ai", "al", "am", "an", "ao", "aq", "ar", "as", "at", "au", "aw", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "biz", "bj", "bm", "bn", "bo", "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cf", "cg", "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cs", "cu", "cv", "cx", "cy", "cz", "de", "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", "fm", "fo", "fr", "fx", "ga", "gb", "gd", "ge", "gf", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "id", "ie", "il", "in", "info", "io", "iq", "ir", "is", "it", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "mg", "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nt", "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "pt", "pw", "py", "qa", "re", "ro", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm", "sn", "so", "sr", "st", "su", "sv", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk", "tm", "tn", "to", "tp", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "uk", "um", "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", "yt", "yu", "za", "zm", "zr", "zw", "com", "edu", "gov", "int", "mil", "net", "org", "arpa", "nato" ];
    for (i=0; i<A.length; i++)
        if (country == A[i])  return true;
    return false;
}
submitted = 0;
function checkForm() {
    if ( submitted == 0 ) {
		document.form1.field1.value = trim(document.form1.field1.value);
        document.form1.field2.value = trim(document.form1.field2.value);
		document.form1.field3.value = trim(document.form1.field3.value);		
		
		
     	if ( document.form1.field1.value == "" ) {
            alert("Lütfen isminizi giriniz!");
            document.form1.field1.focus();
            return false;
        }
        if ( !validity(document.form1.field1.value,"abcçdefgrhıijklmnoöpqrsştuüvwxyzABCÇDEFGrHIıJKLMNOÖPQRSşTUÜVWXYZ ") ) {
            alert("İsminiz sadece harflerden oluşmalıdır!");
            document.form1.field1.focus();
            return false;
        }
        
						
		emailCheck = isEmail(document.form1.field2.value,"E-Posta");
        if ( emailCheck != "" ) {
            alert(emailCheck);
            document.form1.field2.focus();
            return false;
        }
		
		if ( document.form1.field3.value == "" ) {
            alert("Lütfen Notunuzu giriniz!");
            document.form1.field3.focus();
            return false;
        }
		
		
        document.form1.submit();
        submitted = 1;
        return true;
    } else {
        alert ("İşleminiz yapılıyor.\nLütfen bekleyiniz...");
    }
    return false;
}