﻿// JavaScript Document
// fonskiyon formatı şudur :
// formCheck("formadı""gerekli form elemanları", "eleman açıklamaları", "filtre kontrolü yapılacak elemanlar" , " çifte karşılaştırma elemanları","email elemanları","site elemanları" );
// tüm bu değişkenler '|' işareti ile ayrılacaklar

function formCheck(formName,required, requiredText, filter, doubleconfirm, email, sitecontrol){
//alert("kjh");
var formobj=document.forms[formName];
 // Enter name of mandatory fields

 
 if(filter!="") {
	 var filter=filter.split("|");
 }
 if(email!="") {
	 var email=email.split("|");
 }
 if(sitecontrol!="") {
	 var sitecontrol=sitecontrol.split("|");
 }

if(doubleconfirm!=""){
	 var doubleconfirm=doubleconfirm.split("|");
 }
 
 
 var fieldRequired = required.split("|");
 //var fieldRequired = Array("adsoyad", "email", "gun", "ay", "yil", "dyer", "cinsiyet", "kullaniciadi", "sifre", "sifretekrar", "gizlisoru", "sorucevap", "meslek", "kadres","ceptel", "kil", "kilce","faturaisim","faturaadres","vergino","vergidairesi","banka","sube","subekodu","hesapno","hesapsahibiadi");
 // Enter field description to appear in the dialog box
 var fieldDescription = requiredText.split("|");
 //var fieldDescription = Array("Adınız ve Soyadınız", "Email Adresiniz", "Gün", "Ay", "Yıl", "Doğum Yeriniz", "Cinsiyetiniz", "Kullanıcı Adınız", "Şifreniz", "Şifre Kontrolü", "Gizli Sorunuz", "Gizli Soru Cevabınız", "Mesleğiniz", "Adresiniz","Cep Telefonu Numaranız", "Kişisel İl", "Kişisel İlçe","Fatura Ismi","Fatura Adresi","Vergi Numarası","Vergi Dairesi","Banka","Şube","Şube Kodu","Hesap Numarası","Hesap Sahibi Adı");
 // dialog message
 
 
 
var alertMsg = "Please insert this fields :\n";
lale=false;
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];

	if (obj){
		switch(obj.type){
		case "select-one":
			if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
			 alertMsg += " - " + fieldDescription[i] + "\n";
			}
		break;
		case "select-multiple":
			if (obj.selectedIndex == -1){
			 alertMsg += " - " + fieldDescription[i] + "\n";
			}
		break;
		case "text":
		case "textarea":
		case "password":
			if (obj.value == "" || obj.value == null){
			 alertMsg += " - " + fieldDescription[i] + "\n";
			}
		break;
		default:
		}
		if (obj.type == undefined){
			var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					 if (obj[j].checked){
					  blnchecked = true;
					 }
				}
			if (!blnchecked){
			 alertMsg += " - " + fieldDescription[i] + "\n";
			}
		}
	}
}

 if (alertMsg.length == l_Msg){
 
 lale=true;
/* 
  
  
  var ext = document.form1.kullanicifoto.value;
  ext = ext.substring(ext.length-3,ext.length);
  ext = ext.toLowerCase();

  if(ext != 'jpg' && ext !='') {
    alert(ext+' dosyası seçemezsiniz; Lütfen  .jpg Dosyası Seçin!');
    return false; }
  else {
    lale= true; }
  
   //burası checkbox kontrolü
  if(formobj.elements['onay'].checked) {
  lale= true;
  } else {
  alert ("Sözleşmemizi onaylamadığınız takdirde üyeliğiniz kabul edilemez");
  return false;
  }
*/   

//çiftli karşılaştırmaya girecek veriler
					if(doubleconfirm){
						for(var i=0;i<doubleconfirm.length;i=i+2){
							if (formobj.elements[doubleconfirm[i]].value==formobj.elements[doubleconfirm[(i+1)]].value){ 
							//formobj.submit();
								lale= true; 
							}  else {
								//alert("Kontrol sırasında hata oluştu,\n\n-Lüfen aynı girilmesi gereken bilgileri doğru giriniz");
								uyari('','Kontrol sırasında hata oluştu,\n\n-Lüfen aynı girilmesi gereken bilgileri doğru giriniz',['uyari']);
								return false;
							}
						}
					}
	
// veri filtreleme
					if(filter){
						for (var o=0;o<filter.length;o++){
							lale=kullanici_kontrol(formobj.elements[filter[o]]);
							if(lale==false){
								return false;
							}
						}
					}

//email kontrolü
					if(email){
						
						for (var e=0;e<email.length;e++){
							lale=email_kontrol(formobj.elements[email[e]]);
							if(lale==false){
								return false;
							}
						}
				  	}
		
//site kontrolü
					if(sitecontrol){
						
						for (var d=0;d<sitecontrol.length;d++){
							lale=site_kontrol(formobj.elements[sitecontrol[d]]);
							if(lale==false){
								return false;
							}
						}
				  	}


	return lale;  
	
	
	
 }else{
	
	uyari('',''+alertMsg+'',['uyari']);
//  alert(alertMsg);
  return false;
 }
}


function kullanici_kontrol(filterelement){
var eski = filterelement.value;
var	kullanici=filterelement.value;
var kul=new RegExp();
var kotukarakter=new Array(" ","\\\\","=","\"","\'","\\{","\\[","\\]","\\}","é","\\+","\\*","!","@","#","\\$","%","\\^","&","\\(","\\)","~",",","'","<",">","/","\\?",";",":","|","ö","ç","ş","ı","ğ","ü","Ö","Ç","Ş","İ","Ğ","Ü");
var iyikarakter=new Array("_","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","o","c","s","i","g","u","O","C","S","I","G","U");
	for(i=0;i<kotukarakter.length;i++){
	//alert(kotukarakter[i]);
			kul=RegExp(kotukarakter[i],"g");
			kullanici=kullanici.replace(kul,iyikarakter[i]);
	}
	filterelement.value=kullanici;
return confirm("Girmiş olduğunuz \""+eski+"\" \""+kullanici+"\" olarak (eğer gerek görüldüyse) filtrelenmiştir. Onaylıyormusunuz ?");
}


function email_kontrol(filterelement){

var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // hatalı
var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // doğru
	if (!reg1.test(filterelement.value) && reg2.test(filterelement.value)) { // yanlış değil ve doğruysa
		return true;
	} else {
		uyari('','Please insert true email address !',['uyari']);
		//alert("E-Mail girdilerinizden birinde hata var !");
		return false;  
	}
}

function site_kontrol(filterelement){

var reg2 = /^(((www\.){1})|(([a-zA-Z0-9\.])+))\.([a-zA-Z0-9\-\_])*\.(com(\..+)*|net(\..+)*|org(\..+)*|biz(\..+)*|info(\..+)*|tv(\..+)*|fm(\..+)*)+$/; // doğru
	if (reg2.test(filterelement.value)) { // yanlış değil ve doğruysa
		return true;
	} else {
		uyari('','Site girdilerinizden birinde hata var !',['uyari']);
		//alert("Site girdilerinizden birinde hata var !");
		return false;  
	}
}

function uyari(x,msg,tur){
	alert(msg);
	}