﻿$(document).ready(function() {
    $('.email-friend').wrap("<form id='email-friend-form'></form>");
    var oldYourName = "[Sender's Name]";
    var oldFriendsName = "[Recipient's Name]";

    //    $('#yourName-req').hide();
    //    $('#yourEmail-req').hide();
    //    $('#yourEmail-valid').hide();
    //    $('#friendsName-req').hide();
    //    $('#friendsEmail-req').hide();
    //    $('#friendsEmail-valid').hide();

    function ValidateYourName() {
        if ($("#yourName").val() == '') {
            $('#yourName-req').show();
            return false;
        }
        else {
            $('#yourName-req').hide();
            return true;
        }
    }

    function ValidateYourEmail() {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if ($("#yourEmail").val() == '') {
            $('#yourEmail-valid').hide();
            $('#yourEmail-req').show();
            return false;
        }
        else if (reg.test($("#yourEmail").val()) == false) {
            $('#yourEmail-req').hide();
            $('#yourEmail-valid').show();
            return false;
        }
        else {
            $('#yourEmail-req').hide();
            $('#yourEmail-valid').hide();
            return true;
        }
    }

    function ValidateFriendsName() {
        if ($("#friendsName").val() == '') {
            $('#friendsName-req').show();
            return false;
        }
        else {
            $('#friendsName-req').hide();
            return true;
        }
    }

    function ValidateFriendsEmail() {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if ($("#friendsEmail").val() == '') {
            $('#friendsEmail-valid').hide();
            $('#friendsEmail-req').show();
            return false;
        }
        else if (reg.test($("#friendsEmail").val()) == false) {
            $('#friendsEmail-req').hide();
            $('#friendsEmail-valid').show();
            return false;
        }
        else {
            $('#friendsEmail-req').hide();
            $('#friendsEmail-valid').hide();
            return true;
        }
    }

    function ValidateMessage() {
        if ($('#message').val() == '') {
            $('#message-req').show();
            return false;
        } else {
            $('#message-req').hide();
            return true;
        }
    }
    $('#yourName').change(function() {
        ValidateYourName();
        $('#message').val($('#message').val().replace(oldYourName, $('#yourName').val()));
        oldYourName = $('#yourName').val();
    });
    $("#yourEmail").change(function() {
        ValidateYourEmail();
    });
    $("#friendsName").change(function() {
        ValidateFriendsName();
        $('#message').val($('#message').val().replace(oldFriendsName, $('#friendsName').val()));
        oldFriendsName = $('#friendsName').val();
    });
    $("#friendsEmail").change(function() {
        ValidateFriendsEmail();
    });
    $("#message").change(function() {
        ValidateMessage();
    });
    $("#email-friend-form").submit(function() {
        var validYourName = ValidateYourName();
        var validYourEmail = ValidateYourEmail();
        var validFriendsName = ValidateFriendsName();
        var validFriendsEmail = ValidateFriendsEmail();
        var validMessage = ValidateMessage;

        if (validYourName && validYourEmail && validFriendsName && validFriendsEmail && validMessage) {
            $('.email-friend').hide();
            $('#ajax-loader').show();
            $.get('/email-to-friend.ashx?yourName=' + escape($('#yourName').val()) + '&yourEmail=' + escape($('#yourEmail').val()) + '&friendsName=' + escape($('#friendsName').val()) + '&friendsEmail=' + escape($("#friendsEmail").val()) + '&message=' + escape($('#message').val()), function(data) {
                if (data == "true") {
                    $('#ajax-loader').hide();
                    $('#email-to-friend-success').show();
                } else {
                    ValidateYourName();
                    ValidateYourEmail();
                    ValidateFriendsName();
                    ValidateFriendsEmail();
                    $('#ajax-loader').hide();
                    $('.email-friend').show();
                }
            });
            return false;
        }
        else {
            return false;
        }
    });
    $('#email-again').click(function() {
        $('#ajax-loader').hide();
        $('#email-to-friend-success').hide();
        $('.email-friend').show();
        return false;
    });
});