﻿function Egitim() {
    var validateItems = new Array();
    validateItems[0] = new validateItem('drpEgitim', 5, 'Lütfen katıldığınız eğitimi seçin');
    validateItems[1] = new validateItem('txtAdiniz', 1, 'Lütfen Adınızı yazın');
    validateItems[2] = new validateItem('txtSoyadiniz', 1, 'Lütfen Soyadınızı yazın');
   

    return validateArray(validateItems, true);
}
function UyeOl() {
    var validateItems = new Array();
    validateItems[0] = new validateItem('TextBox_first_name', 1, 'Lütfen Adınızı yazın');
    validateItems[1] = new validateItem('TextBox_last_name', 1, 'Lütfen Soyadınızı yazın');
    validateItems[2] = new validateItem('DropDownList_birthday', 5, 'Lütfen doğum tarihi bilgilerini girinin');
    validateItems[3] = new validateItem('DropDownList_birthmonth', 5, 'Lütfen doğum tarihi bilgilerini eksiksiz girinin');
    validateItems[4] = new validateItem('DropDownList_birthyear', 5, 'Lütfen doğum tarihi bilgilerini eksiksiz girinin');
    validateItems[5] = new validateItem('TextBox_city', 1, 'Lütfen bulunduğunuz Şehrin adını yazın');
    validateItems[6] = new validateItem('TextBox_state_prv', 1, 'Lütfen bulunduğunuz İlçenin adını yazın');
    validateItems[7] = new validateItem('TextBox_phone', 7, 'Lütfen geçerli Telefon Numarası yazın');
    validateItems[8] = new validateItem('TextBox_e_mail', 2, 'Lütfen geçerli Email adresinizi yazın');
    validateItems[9] = new validateItem('TextBox_psw', 1, 'Lütfen Şifrenizi yazın');
    validateItems[10] = new validateItem('TextBox_psw2', 1, 'Lütfen Şifrenizi tekrar yazın');
    validateItems[11] = new validateItem('txtGuvResimSonuc', 1, 'Lütfen güvenlik resmini boş bırakmayın');
    
    
    var a = document.getElementById('TextBox_psw').value;
    var b = document.getElementById('TextBox_psw2').value;

    if (a == b) {
        return validateArray(validateItems, true);
    }
    else {
        alert('Şifre Bilgileriniz aynı değil');
        return false;
    }
    return validateArray(validateItems, true);
 }

function AliciEkle() {
    var validateItems = new Array(); 
    validateItems[0] = new validateItem('WucRecipientSelect1_txtrecipAdiInsert', 1, 'Lütfen Adınızı yazın');
    validateItems[1] = new validateItem('WucRecipientSelect1_txtrecipSoyadiInsert', 1, 'Lütfen Soyadınızı yazın');
    validateItems[2] = new validateItem('WucRecipientSelect1_txtTelefonInsert', 7, 'Lütfen geçerli Telefon Numarası yazın');
    validateItems[3] = new validateItem('WucRecipientSelect1_txtadres1Insert', 1, 'Lütfen Adresinizi yazın');
    validateItems[4] = new validateItem('WucRecipientSelect1_autoComplate1_Code', 1, 'Lütfen Semt/İlçe bilgisini boş bırakmayın');
    validateItems[5] = new validateItem('WucRecipientSelect1_autoComplate1_TextBox1', 8, 'Lütfen geçerli bir SEMT giriniz.');
  
    
    return validateArray(validateItems, true);
}
function AliciGuncelle() {
    var validateItems = new Array();
    validateItems[0] = new validateItem('WucRecipientSelect1_txtAdiUpdate', 1, 'Lütfen Adınızı yazın');
    validateItems[1] = new validateItem('WucRecipientSelect1_txtSoyadiUpdate', 1, 'Lütfen Soyadınızı yazın');
    validateItems[2] = new validateItem('WucRecipientSelect1_txtTelefonUpdate', 7, 'Lütfen geçerli Telefon Numarası yazın');
    validateItems[3] = new validateItem('WucRecipientSelect1_txtAdres1Update', 1, 'Lütfen Adresinizi yazın');
    validateItems[4] = new validateItem('WucRecipientSelect1_autoComplate2_Code', 1, 'Lütfen Semt/İlçe bilgisini boş bırakmayın');
    validateItems[5] = new validateItem('WucRecipientSelect1_autoComplate2_TextBox1', 8, 'Lütfen geçerli bir SEMT giriniz.');
   

    return validateArray(validateItems, true);
}
//TYPE: 1 string, 2 eposta, 3 date, 4 checkbox
function validateArray(array,textboxTarih) {
    var validBgColor = '#ffffff'
    var invalidBgColor = '#ffff99'
    for (i = 0; i < array.length; i++) {
        if (!checkValidate(array[i])) {
            alert(array[i].message);
            if (array[i].type != 3 && array[i].type != 8)
                array[i].object.focus();
           
        if (array[i].type == 1 || array[i].type == 2 || array[i].type == 6 || array[i].type==7) //eğer str veya eposta ise arka fon rengini değiştiriyoruz
            {
                
                    array[i].object.style.backgroundColor = invalidBgColor;
              
                    array[i].object.onkeydown = function(event) { this.style.backgroundColor = validBgColor };
            }
            if (array[i].type == 3 && textboxTarih==false) //eğer date ise arka fon rengini değiştiriyoruz ama ONCHANGE kullanıyoruz
            {
                array[i].object.style.backgroundColor = invalidBgColor;
                array[i].object.onchange = function(event) { this.style.backgroundColor = validBgColor };
            }
      
            return false;
        }
    }

}


function validateItem(itemname, type, message) {
    this.itemname = itemname;
    this.object = document.getElementById(itemname);
    this.type = type;
    this.message = message;
}

function checkValidate(validateitem) {
    switch (validateitem.type) {
        case 1: // String boş kontrolü
            return validString(validateitem.itemname);
            break;
        case 2: // Geçerli eposta kontrolü
            return validEmail(validateitem.itemname);
            break;
        case 3: // Geçerli tarih kontrolü dd.mm.yyyy
            return validDate(validateitem.object);
            break;
        case 4: // Geçerli tarih kontrolü dd.mm.yyyy
            return validCheckBox(validateitem.itemname);
            break;
        case 5:
            return validDropDown(validateitem.itemname);
        case 6: //Sayı Kontrollü
            var bosmu = validString(validateitem.itemname);
            if (bosmu == true) {
                var valuex = document.getElementById(validateitem.itemname).value;
                return IsNumeric(valuex);
                break;
            }
            else return false;
        case 7: //telefonKontrollu
            {
                var bosmu = validString(validateitem.itemname);
                if (bosmu == true) {
                    var valuex = document.getElementById(validateitem.itemname).value;
                    return isPhone(valuex);
                    break;
                }
                else return false;
            }
        case 8://foucus olmayan textbos
            return validString(validateitem.itemname);
            break;
    }
}
function validDropDown(control_name) {
    if (document.getElementById(control_name.toString()).selectedIndex!=0)
        return true;
    else
        return false;
}
function validString(control_name) {
   
     if (document.getElementById(control_name.toString()).value != '')
         return true;
     else
         return false;
 }
 function validCheckBox(control_name) {
     return document.getElementById(control_name.toString()).checked;
    
 }

function validEmail(control_name) {
     var email = document.getElementById(control_name);
     var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
     if (!filter.test(email.value))
         return false;
     else
         return true;
 }
 function IsNumeric(sText) {
     var ValidChars = "0123456789.";
     var IsNumber = true;
     var Char;


     for (ai = 0; ai < sText.length && IsNumber == true; ai++) {
         Char = sText.charAt(ai);
         if (ValidChars.indexOf(Char) == -1) {
             IsNumber = false;
         }
     }
     return IsNumber;

 }
 function isPhone(sText) {
 
     if (IsNumeric(sText)) {
         if (sText.length > 9) {
             return true;
         }
         else return false;
        
     }
     else return false;
 
 }
function validDate(field) {
     var checkstr = "0123456789";
     var DateField = field;
     var Datevalue = "";
     var DateTemp = "";
     var seperator = ".";
     var day;
     var month;
     var year;
     var leap = 0;
     var err = 0;
     var i;
     err = 0;
     DateValue = DateField.value;
     /* Delete all chars except 0..9 */
     for (i = 0; i < DateValue.length; i++) {
         if (checkstr.indexOf(DateValue.substr(i, 1)) >= 0) {
             DateTemp = DateTemp + DateValue.substr(i, 1);
         }
     }
     DateValue = DateTemp;
     /* Always change date to 8 digits - string*/
     /* if year is entered as 2-digit / always assume 20xx */
     if (DateValue.length == 6) {
         DateValue = DateValue.substr(0, 4) + '20' + DateValue.substr(4, 2);
     }
     if (DateValue.length != 8) {
         err = 19;
     }
     /* year is wrong if year = 0000 */
     year = DateValue.substr(4, 4);
     if (year == 0) {
         err = 20;
     }
     /* Validation of month*/
     month = DateValue.substr(2, 2);
     if ((month < 1) || (month > 12)) {
         err = 21;
     }
     /* Validation of day*/
     day = DateValue.substr(0, 2);
     if (day < 1) {
         err = 22;
     }
     /* Validation leap-year / february / day */
     if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
         leap = 1;
     }
     if ((month == 2) && (leap == 1) && (day > 29)) {
         err = 23;
     }
     if ((month == 2) && (leap != 1) && (day > 28)) {
         err = 24;
     }
     /* Validation of other months */
     if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
         err = 25;
     }
     if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
         err = 26;
     }
     /* if 00 ist entered, no error, deleting the entry */
     if ((day == 0) && (month == 0) && (year == 00)) {
         err = 0; day = ""; month = ""; year = ""; seperator = "";
         return false;
     }
     /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
     if (err == 0) {
         DateField.value = day + seperator + month + seperator + year;
         return true;
     }
     /* Error-message if err != 0 */
     else {
         return false;
     }
     
 }

