function kontrol()
{
	var e = document.forms['uyelik'].elements['Email'].value;
	
	//if (!checkSelect(document.forms['uyelik'].elements['Level'],"Level",1)) return false;
	//if (!checkSelect(document.forms['uyelik'].elements['memberperiod'],"memberperiod",1)) return false;
	if (!checkName(document.forms['uyelik'].elements['Username'],"Username")) return false;
	if (!checkLength(document.forms['uyelik'].elements['Username'],"Username",1)) return false;
	if (!checkLengthUsername(document.forms['uyelik'].elements['Username'],"Username",4)) return false;
	if (!checkName(document.forms['uyelik'].elements['Password'],"Password")) return false;
	if (!checkLength(document.forms['uyelik'].elements['Password'],"Password",1)) return false;
	if (!checkLengthPassword(document.forms['uyelik'].elements['Password'],"Password",6)) return false;
	
	if (document.forms['uyelik'].elements['Company'].value.length < 1 && document.forms['uyelik'].elements['Name'].value.length < 1 && document.forms['uyelik'].elements['Surname'].value.length < 1) { 
		alert("Please enter your company name or your name.");
		return false;
	}
	
	if (document.forms['uyelik'].elements['Name'].value.length > 1 && document.forms['uyelik'].elements['Surname'].value.length < 1) {
		alert("Please enter your surname.");
		return false;	
	}
	if (document.forms['uyelik'].elements['Surname'].value.length > 1 && document.forms['uyelik'].elements['Name'].value.length < 1) {
		alert("Please enter your name.");
		return false;	
	}
	
	if (!checkLength(document.forms['uyelik'].elements['Address'],"Address",2)) return false;
	if (!checkLength(document.forms['uyelik'].elements['City'],"City",2)) return false;
	if (!checkSelect(document.forms['uyelik'].elements['Country'],"Country",2)) return false;
	if (!checkNumber(document.forms['uyelik'].elements['Tel'],"Phone Number")) return false;
	if (!checkLength(document.forms['uyelik'].elements['Business'],"Business",2)) return false;
	if (!checkEmail(e)) return false;
	
	document.uyelik.action = "register.asp"
	return true;
}

function checkSelect(field,fname,minlength)
{
	if (field.value.length<minlength)
	{
		alert("Please select a "+ fname +".");
		return (false);
	}
	return (true);
}

function checkLengthUsername(field,fname,minlength)
{
	if (field.value.length<minlength)
	{
		alert(""+ fname +" must be at least 4 characters long!");
		return (false);
	}
	return (true);
}

function checkLengthPassword(field,fname,minlength)
{
	if (field.value.length<minlength)
	{
		alert(""+ fname +" must be between 6-12 characters!");
		return (false);
	}
	return (true);
}


function checkLength(field,fname,minlength)
{
	if (field.value.length<minlength)
	{
		alert("Please enter the "+ fname +".");
		return (false);
	}
	return (true);
}

function checkName(field,fname) {
	var valid = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ. ğüışçöĞÜİŞÇÖ_-";
    var temp;
	
	for (var i=0; i<field.value.length; i++) 
	{
		tempCHAR = "" + field.value.substring(i, i+1);
		temp = valid.indexOf(tempCHAR);
		if (temp == "-1") 
			{
			    alert(fname +" seems incorrect. Please be sure that there isn't a character like\n[ ]  * + / ! ' ^ \" % & = ? ; :\n!");
			    return false;
			}
	}
	return true;
}

function checkNumber(field,fname) {
	var valid = "0123456789";
    var temp;
	
	for (var i=0; i<field.value.length; i++) 
	{
		tempCHAR = "" + field.value.substring(i, i+1);
		temp = valid.indexOf(tempCHAR);
		if (temp == "-1") 
			{
			    alert(fname +" seems incorrect. Please be sure that there isn't any numbers!");
			    return false;
			}

	}
	return true;
}

function checkEmail(e)
{

  if(e=="")
  {
		alert("Please enter an e-mail adress!");
		return false;
  }

  var i =  e.indexOf("@");
  
   if (i<0) 
   	{
		alert("Email address seems incorrect (check @ and .'s)!");
		return false;
	}
	else if (i==0)
	{
		alert("The email username doesn't seem to be valid.");
		return false;
	}
	
   var mailbox = e.substring(0,i);
   var domain = e.substring(i+1);
   
   if (domain.indexOf("@")>=0) 
   	{
		alert("The email adress could't contain more than one @ sign!");
		return false;
	}

   alphaSpecial = /[^A-Za-z0-9_\-.]+/;
   alphafront = /^[^A-Za-z0-9]/;
   alphalast = /[^A-Za-z0-9]+$/;

	if(alphafront.exec(mailbox)!=null)
	{
	    alert("The email adress must start only with letter or number!");
		return false
	}
	if(alphaSpecial.exec(mailbox)!=null)
	{
		alert("The email adress username must contain only letters, numbers, -, _ ve . !");
		return false;
	}
	if(alphalast.exec(mailbox)!=null)
	{
	    alert("The email adress username must end with letters or numbers!");
		return false
	}
	if(alphafront.exec(domain)!=null)
	{
	    alert("The email domain name must start with letters or numbers!");
		return false
	}
	if(alphaSpecial.exec(domain)!=null)
	{
		alert("The email domain name must have only letters, numbers, -, _ and . !");
		return false;
	}
	if(alphalast.exec(domain)!=null)
	{
	    alert("The email address must end in a three-letter domain, or two letter country!");
		return false
	}
   i = domain.lastIndexOf(".");
   if (i<0) 
   	{
		alert("The email domain name doesn't seem to be valid!");
		return false;
	}
	if(!lookup(domain.substring(i+1)))
	{
		alert("This email address is missing a hostname!");
		return false;
	}

   alpha = /[_\-.]+/;
   z=mailbox.match(alpha);
	if(z!=null)
		if((String(z).length)>1) return false;
   return true;
}

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", "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", "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", "tv", "info", "us", "biz", "ws", "cc"];
    for (i=0; i<A.length; i++)        
	    if (country == A[i])  return true;
    return false;
}
