﻿
 function ValidateForm_ik() {
    //Her form için bir fonksiyon tanımlanacak Ör function ValidateForm_TeklifAl() gibi.
    var validateItems = new Array();
    //Kontrol edilecek elementlerin ID,TYPE, geçersiz mesajı.
    //TYPE: 1 string, 2 eposta, 3 date, 4 checkbox
    validateItems[0] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_ik_formu1_txtAdi', 1, 'Lütfen isminizi yazınız.');
    validateItems[1] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_ik_formu1_txtsoyadi', 1, 'Lütfen soyadınızı yazınız.');
    validateItems[2] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_ik_formu1_txtDogumYeri', 1, 'Lütfen doğum yerinizi yazınız.');
    validateItems[3] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_ik_formu1_txtgsm', 1, 'Lütfen GSM telefonunuzu yazınız.');
    validateItems[4] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_ik_formu1_txtEmail', 2, 'Lütfen geçerli bir e-posta adresi giriniz.');
   
    return validateArray(validateItems);

}
function ValidateForm_iletisim() {
    //Her form için bir fonksiyon tanımlanacak Ör function ValidateForm_TeklifAl() gibi.
    var validateItems = new Array();
    //Kontrol edilecek elementlerin ID,TYPE, geçersiz mesajı.
    //TYPE: 1 string, 2 eposta, 3 date, 4 checkbox
    validateItems[0] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_iletisim_formu1_txtadiSoyadi', 1, 'Lütfen isminizi yazınız.');
    validateItems[1] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_iletisim_formu1_txtEmail', 2, 'Lütfen geçerli bir e-posta adresi giriniz.');
    validateItems[2] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_iletisim_formu1_txtKonu', 1, 'Lütfen mesajınızın konusunu yazınız.');
    validateItems[3] = new validateItem('ctl00_ContentPlaceHolder1_WebUserControl_iletisim_formu1_txtMesajınız', 1, 'Lütfen mesajınızı yazınız.');
    return validateArray(validateItems);

}
function validateArray(array) {
    var validBgColor = '#ffffff'
    var invalidBgColor = '#ffff99'
    for (i = 0; i < array.length; i++) {
        if (!checkValidate(array[i])) {
            alert(array[i].message);
            array[i].object.focus();
            if (array[i].type == 1 || array[i].type == 2) //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) //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;
        }
    }
    return true;
}


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;
    }
}
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 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;
     }
     
 }

