﻿//***********************************************************************************************************************
// Document Ready 
//***********************************************************************************************************************
$(document).ready(function() {
    InitPostTarget();
});
function InitPostTarget() {
    $('a.target-blank').click(function() {
        this.target = '_blank';
    });
};
//*****************************************************************************************************
//***********************************************************************************************************************
// Ajax Methods
//***********************************************************************************************************************
function AjaxGet(PageName, MethodName, Parameters, ResultElementID, ErrMessage) { // Genel Ajax İşleyicisi
    ShowAjaxLoadingAnimation(ResultElementID);
    $.ajax({
        type: 'POST',
        url: PageName + '/' + MethodName,
        data: Parameters,
        contentType: 'application/json; charset=utf-8;',
        dataType: 'json',
        success: function(result) {
            $('#' + ResultElementID + '').html(result);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            $('#' + ResultElementID + '').html(ErrMessage);
        },
        complete: function(XMLHttpRequest, textStatus) {
            HideAjaxLoadingAnimation(ResultElementID);
        }
    });
};
function ShowAjaxLoadingAnimation(TargetElementID) { // Genel Ajax İstekler Yapıldıgında Loading Image'nı gösterir.
    $('#' + TargetElementID).block({
        message: '<h1>Yükleniyor...</h1>',
        css: { border: '3px solid #a00' }
    });
};
function HideAjaxLoadingAnimation(TargetElementID) { // Genel Ajax İstekler Yapıldıgında Loading Image'nı gizler.
    $('#' + TargetElementID).unblock();
};
//***********************************************************************************************************************

/* Mail List member start*/
function saveMailToSystem() {
    var Parameters = '{mailAddress:"' + $('#register').val() + '"}'; // String yollarken "" lara dikkat et.
    var result = false;

    // mail adresini kayıt etmek için ajax çağrısı yapılır.
    // ajax request sonucunu beklemek için çağrı synchronious yapılır.
    $.ajax({
        async: false,
        type: 'POST',
        url: 'AjaxRequest.aspx/SaveMailToSystem',
        data: Parameters,
        contentType: 'application/json; charset=utf-8;',
        dataType: 'json',
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('İşlem sırasında bir hata oluştu. Hata : ' + textStatus);
            return false;
        },
        complete: function(XMLHttpRequest, textStatus) {
            if (XMLHttpRequest.responseText == '""') {
                alert('Mail adresiniz başarıyla kaydedilmiştir.');
                $('#register').val('');
            }
            else {
                alert('Hata.' + XMLHttpRequest.responseText);
            }
        }
    });
    return false;
};
function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
};
$(document).ready(function() {
    $('#signup').click(function() {
        if (!isValidEmailAddress($('#register').val())) {
            alert('Hatalı e-mail adresi.');
            return false;
        }
        saveMailToSystem();
    });
});
/* Mail List member end*/

/* Captcha start*/
function S4() {
    return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
};
function guid() {
    return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
};
function refreshCaptcha(imgID) {
    document.getElementById(imgID).src = "Captcha.aspx?guid=" + guid();
    return false;
};
/* Captcha end */