// kontrolForm.js

// newFunction

var message;
var error;

function Gerekli(field, fieldName) {
	if (field.value.replace(/^\s*|\s*$/g,"").length == 0) {
		message += "\n"+fieldName+" Zorunlu Aland\u0131r.";
		error = 0;
		return false;
	}
	return true;
}
function GerekliRakam(field, fieldName) {
	if (field.value.replace(/^\s*|\s*$/g,"").length == 0 || field.value=="0") {
		message += "\n"+fieldName+" Zorunlu Aland\u0131r ve 0 olamaz.";
		error = 0;
		return false;
	}
	return true;
}
function ucundenBiriGerekli(field1,field2,field3, fieldName) {
	if (field1.value.replace(/^\s*|\s*$/g,"").length == 0 && field2.value.replace(/^\s*|\s*$/g,"").length == 0 && field3.value.replace(/^\s*|\s*$/g,"").length == 0) {
		message += "\n"+fieldName+" Zorunlu Aland\u0131r.";
		error = 0;
		return false;
	}
	return true;
}

function KarakterTipi(field, fieldName, sd, pnas) {
// t => s:sayma sayilari d:do?al sayiler
// pnas => p:pozitif n:negatif a:tamamen s:sifir dahil pozitif tamsayi
if (field.value.length != 0){
	if (field.value.replace(/^\s*|\s*$/g,"") != field.value || isNaN(field.value) || String(Number(field.value))!= field.value){
		message += "\n"+fieldName+" Numerik De\u011fer Olmal\u0131d\u0131r.";
		error = 0;
		return false;
	} else {
		if (sd == "s"){
			if (Number(field.value) != parseInt(field.value)){
				message += "\n"+fieldName+" Tam Say\u0131 Olmal\u0131d\u0131r.";			
			error = 0;
			return false;
			}
		} 
		if (pnas == "p" && Number(field.value) <= 0){
			message += "\n"+fieldName+" Pozitif Say\u0131 Olmal\u0131d\u0131r.";			
			error = 0;
			return false;
		} else if (pnas == "n" && Number(field.value) >= 0){
			message += "\n"+fieldName+" Negatif Say\u0131 Olmal\u0131d\u0131r.";			
			error = 0;
			return false;
		} else if (pnas == "s" && Number(field.value) < 0){
			message += "\n"+fieldName+" Pozitif Say\u0131 Olmal\u0131d\u0131r.";			
			error = 0;
			return false;
		}
	}
	return true;
}
return false;
}

function KarakterUzunlugu(field, fieldName, trueLength) {
if (field.value.length != 0){
	if (field.value.length > trueLength) {
		message += "\n"+fieldName+" "+trueLength+" Karakterden Fazla Olamaz.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

function KarakterKisaligi(field, fieldName, trueLength) {
if (field.value.length != 0){
	if (field.value.length < trueLength) {
		message += "\n"+fieldName+" "+trueLength+" Karakterden Az Olamaz.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

function KarakterBoyu(field, fieldName, trueLength) {
if (field.value.length != 0){
	if (field.value.length != trueLength) {
		message += "\n"+fieldName+" "+trueLength+" Karakter Olmal\u0131d\u0131r.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

function KarakterBuyuklugu(field, fieldName, maxValue) {
if (field.value.length != 0){
	if (field.value > maxValue) {
		message += "\n"+fieldName+" "+maxValue+" De\u011ferinden K\u00fc\u00e7\u00fck Olmal\u0131d\u0131r.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

function KarakterKucuklugu(field, fieldName, minValue) {
if (field.value.length != 0){
	if (field.value < minValue) {
		message += "\n"+fieldName+" "+minValue+" De\u011ferinden B\u00fcy\u00fck Olmal\u0131d\u0131r.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

function KarakterDegeri(field, fieldName, trueValue) {
if (field.value.length != 0){
	if (field.value != trueValue) {
		message += "\n"+fieldName+" "+trueValue+" De\u011ferine E\u015fit Olmal\u0131d\u0131r.";
		error = 0;
		return false;
	}
	return true;
}
return false;
}

//Exception yazilabilir
function KarakterDegerSinirlari(field, fieldName, tip){
//t?m tc karakterleri ayn? olamaz ?rn: 000000000000 olamaz
if (field.value.length != 0){
	if (tip == "tc"){
		if ((field.value.charAt(0) == field.value.charAt(1))&&
			(field.value.charAt(1) == field.value.charAt(2))&&
			(field.value.charAt(2) == field.value.charAt(3))&&
			(field.value.charAt(3) == field.value.charAt(4))&&
			(field.value.charAt(4) == field.value.charAt(5))&&
			(field.value.charAt(5) == field.value.charAt(6))&&
			(field.value.charAt(6) == field.value.charAt(7))&&
			(field.value.charAt(7) == field.value.charAt(8))&&
			(field.value.charAt(8) == field.value.charAt(9))&&
			(field.value.charAt(9) == field.value.charAt(10))) {
			message += "\n"+fieldName+" Alan\u0131 \u0130\u00e7in Ge\u00e7ersiz De\u011fer Girdiniz.";
			error = 0;
			return false;
		}		
	}
	return true;
}
return false;
}

function TarihBuyuklukKontrol(tarihK, fieldNameK, tarihB, fieldNameB){
var ktarihK = (tarihK.value.substring(6,10)) + (tarihK.value.substring(3,5)) + (tarihK.value.substring(0,2));
var ktarihB = (tarihB.value.substring(6,10)) + (tarihB.value.substring(3,5)) + (tarihB.value.substring(0,2));
if (tarihK.value.length != 0 && tarihB.value.length != 0){
	if (ktarihK > ktarihB){
			message += "\n"+fieldNameB+" Alan\u0131 " +fieldNameK+" Alan\u0131ndan K\u00fc\u00e7\u00fck Olamaz.";
			error = 0;
			return false;
	}	
	return true;
}
return false;
}

function tcKimlikNoDogrulama(field, fieldName)
{
     var Tmp1;
     var Tmp;
     var oddsum;
     var evensum;
     var total;
     var Chkdigit2;
     var Chkdigit1;
     var D = new Array(9);
     var pkimlikno = field.value;
    if (pkimlikno.length != 11)
    {
      return false;
    }
    if (pkimlikno > 0) {
      Tmp  = Math.floor(pkimlikno/100);
      Tmp1 = Math.floor(pkimlikno/100);
      for (var n=8; n >= 0 ; n--)
      {
       D[n] =Tmp1 % 10;
       Tmp1  = Math.floor(Tmp1/10);
      }
      oddsum   = D[8]+D[6]+D[4]+D[2]+D[0];
      evensum  = D[7]+D[5]+D[3]+D[1];
      total     = oddsum*3 + evensum;
      Chkdigit1 =(10-(total % 10)) % 10;
      oddsum   = Chkdigit1 + D[7]+D[5]+D[3]+D[1];
      evensum  = D[8]+D[6]+D[4]+D[2]+D[0];
      total     = oddsum*3 + evensum;
      Chkdigit2 =(10-(total % 10)) % 10;
      Tmp       =Tmp*100+Chkdigit1*10+Chkdigit2;
      if (Tmp != pkimlikno) {
			message += "\n"+fieldName+" Ge\u00e7erli Bir TC Kimlik Numaras\u0131 De\u011fil...";
			error = 0;
            return false;
      }
      return true;
    }
    else {
		message += "\n"+fieldName+" S\u0131f\u0131rdan K\u00fc\u00e7\u00fck Olamaz.";
		error = 0;
      return false;
    }
}            

function mailDogrulama(field, fieldName)
{
        if ((field.type == 'hidden' || 
             field.type == 'text' ||
             field.type == 'textarea') &&
            (field.value.length > 0) &&
            field.disabled == false) {
            if (!checkEmail(field.value)) {
				message += "\n"+fieldName+" Ge\u00e7erli De\u011fil.";
				error = 0;
                return false;
            }
        }
        return true;
}            

    function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 3)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
    }
