﻿// JScript File


function GetServerSideControl(control){
return document.getElementById("ctl00_ContentPlaceHolder1_"+control);
}

function openCloseLayer(baslik,layer,hidden,tb1,tb2 ){



hidden=document.getElementById(hidden);
if (hidden.value=="true"){
    hidden.value="false";
     document.getElementById(layer).style.display='none';
     if (baslik.id.indexOf("lb_SifreDegistir")>=0)
        baslik.innerHTML="&nbsp;&nbsp;Şifreyi değiştirmek için tıklayınız...";
        
     else if(baslik.id.indexOf("lb_SoruDegistir")>=0)
        baslik.innerHTML="&nbsp;&nbsp;Gizli soruyu değiştirmek için tıklayınız...";
     document.getElementById(tb1).value="aaaaaa11";
     document.getElementById(tb2).value="aaaaaa11";
}
else if (hidden.value=="false"){
    hidden.value="true";
    document.getElementById(layer).style.display='inline';
    baslik.innerHTML="&nbsp;&nbsp;Gizle";
    document.getElementById(tb1).value="";
    document.getElementById(tb2).value=""
}

}

function initLayer(layer){
//alert(document.getElementById("ctl00_ContentPlaceHolder1_rfv_Sifre").evaluationfunction);
//document.getElementById("ctl00_ContentPlaceHolder1_rfv_Sifre").evaluationfunction("Display")='true';

if (document.getElementById(layer)==null) return;
uyeTipi = GetServerSideControl('hf_UyeTipi');
if (uyeTipi.value=="Eski"){
    document.getElementById(layer).style.display='none';
} else {


document.getElementById(layer).style.display='inline';
}

}



// Şifre Kontrollleri 

function hasUpperCaseCharacter(password)
{
  return password.match("\[A-Z\]") != null;
}

function hasLowerCaseCharacter(password)
{
  return password.match("\[a-z\]") != null;
}

function hasNumericCharacter(password)
{
  return password.match("\[0-9\]") != null;
}

function hasSpecialCharacter(password)
{
  return password.match("\[!@#$%^&*()\]") != null;
}


function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length-1) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function CheckKullaniciAdi(hataAlani,uzerineYaz,satirKoy){
    if (uzerineYaz) 
        hataAlani.innerHTML ="";
    if (GetServerSideControl("tb_KullaniciAdi").value.length<3)
    {
        hataAlani.innerHTML += "Rumuz en az 3 karakter uzunluğunda olmalıdır ";
        if (satirKoy)hataAlani.innerHTML += "<br>";
        return false;
    }   
     
    return true;
}

function CheckEPosta(hataAlani,uzerineYaz,satirKoy){
    if (uzerineYaz) 
        hataAlani.innerHTML ="";
    if   
    (!isValidEmail(''+GetServerSideControl("tb_EPostaBaslangic").value +'@'+ GetServerSideControl("tb_EPostaBitis").value ,true) )
      
    {
        hataAlani.innerHTML += "Lütfen E-postanızı kontrol ediniz.";
        if (satirKoy)hataAlani.innerHTML += "<br>";
        return false;
    }   
     
    return true;
    
}

function CheckGizliSoru(hataAlani,uzerineYaz,satirKoy){
    if (uzerineYaz) 
        hataAlani.innerHTML ="";
    if (GetServerSideControl("tb_Soru").value.length<4)
    {
        hataAlani.innerHTML += "Gizli Soru en az 4 karakter uzunluğunda olmalıdır.";
        if (satirKoy)hataAlani.innerHTML += "<br>";
        return false;
    }   
    
    return true;
}

function CheckGizliSoruCevabi(hataAlani,uzerineYaz,satirKoy){

    if (uzerineYaz) 
        hataAlani.innerHTML ="";
    if (GetServerSideControl("tb_Cevap").value.length<4)
    {
    
        hataAlani.innerHTML += "Gizli Soru Cevabı en az 4 karakter uzunluğunda olmalıdır";
        if (satirKoy)hataAlani.innerHTML += "<br>";
        return false;
    }   
        
    return true;
}

function checkPassword(hataAlani,uzerineYaz,satirKoy)
{

durum="Zayıf Şifre. Şifreniz en az 6 karakter uzunluğunda olmalı ve rakam içermelidir.";
password=GetServerSideControl("tb_Sifre").value;
valid = password.length >= 6 && hasNumericCharacter(password);

if (valid) {
    durum="Normal Şifre.";
    }
              

  valid = password.length >= 6 &&
              hasUpperCaseCharacter(password) &&
              hasLowerCaseCharacter(password) &&
              hasNumericCharacter(password) &&
              hasSpecialCharacter(password);
  if (valid)
  {
    durum = "Güçlü Şifre.";
  }
  
  if (durum == 'Zayıf')
  {
    if (! uzerineYaz){
        hataAlani.innerHTML +=durum;
        if (satirKoy) hataAlani.innerHTML += "<br>";
    }      
  
    return false;
  }
    if (uzerineYaz){
        hataAlani.innerHTML =durum;
    }      
  
  
  return true;
} 

function CheckSifreTekrar(hataAlani,uzerineYaz,satirKoy){
    if (uzerineYaz) 
        hataAlani.innerHTML ="";
    if (GetServerSideControl('tb_Sifre').value != GetServerSideControl('tb_SifreTekrar').value )
    {
        hataAlani.innerHTML += "Lütfen Şifrenizi kontrol ediniz.";
        if (satirKoy) hataAlani.innerHTML += "<br>";
        return false;
    }   
    
    return true;
}


function CheckDogumTarihi(hataAlani,uzerineYaz,satirKoy){
    if (uzerineYaz) 
        hataAlani.innerHTML ="";
       
    if ( ! IsValidDate( GetServerSideControl('tb_DogumTarihi').value)  )
    {
        hataAlani.innerHTML += "Lütfen Dogum Tarihinizi kontrol ediniz.";
        if (satirKoy) hataAlani.innerHTML += "<br>";
        return false;
    }   
    
    return true;
}

function CheckValidation(){

hataAlani  =GetServerSideControl('div_Hata');

hataAlani.innerHTML="";
validation = true;


tmp=CheckKullaniciAdi(hataAlani,false,true) ;
tmp=CheckKullaniciAdi(div_HataKullaniciAdi,true,false) ;
if (!tmp) validation=tmp;

tmp=CheckEPosta(hataAlani,false,true);
tmp=CheckEPosta(div_HataEPosta,true,false) ;
if (!tmp) validation=tmp;

tmp=checkPassword(hataAlani,false,true);
tmp=checkPassword(div_HataSifre,true,false) ;
if (!tmp) validation=tmp;

tmp=CheckSifreTekrar(hataAlani,false,true);
tmp=CheckSifreTekrar(div_HataSifreTekrar,true,false) ;
if (!tmp) validation=tmp;

tmp=CheckGizliSoru(hataAlani,false,true);
tmp=CheckGizliSoru(div_HataGizliSoru,true,false) ;
if (!tmp) validation=tmp;


    
tmp=CheckGizliSoruCevabi(hataAlani,false,true) 
tmp=CheckGizliSoruCevabi(div_HataGizliSoruCevabi,true,false) ;

tmp=CheckDogumTarihi(hataAlani,false,true);
tmp=CheckDogumTarihi(div_HataDogumTarihi,true,false) ;
if (!tmp) validation=tmp;

if (!tmp) validation=tmp;
    
    hataAlani.focus();
    return validation;
}

function IsValidDate(input){
var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
var returnval=false;

//alert(validformat.test(input))
if (validformat.test(input))
{ //Detailed check for valid date ranges
    var monthfield=input.split("/")[1]
    var dayfield=input.split("/")[0]
    var yearfield=input.split("/")[2]
    var dayobj = new Date(yearfield, monthfield-1, dayfield)
    if ( ! ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)))
    {
        returnval=true;
    }
//alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")



}

return returnval
}
