﻿$(document).ready(function () {
    $("#popupEmailPageSuccess").hide();
    $("#panEmailPageForm").show();

    $("#validator").hide();
});

function SendAnotherEmail() {
    $("#ToName").val("");
    $("#ToEmail").val("");

    $("#validator").hide();

    $("#popupEmailPageSuccess").hide();
    $("#panEmailPageForm").show();
}

function SendEmail() {

    if (!IsFormValid())
        return false;

    var toname = $("#ToName").val();
    var toemail = $("#ToEmail").val();
    var fromemail = $("#FromEmail").val();
    var fromname = $("#FromName").val();
    var hiddenUrl = $("#hiddenurl").val();
    var pagename = document.title;  //$(this).attr('title');

    var model = { 'toEmail': toemail, 'toName': toname, 'fromEmail': fromemail, 'fromName': fromname, 'url': hiddenUrl }
    var json = $.toJSON(model);

    var url = "/emailpage/EmailPage?toEmail=" + toemail + "&toName=" + toname + "&fromEmail=" + fromemail + "&fromName=" + fromname + "&url=" + hiddenUrl + "&pagename=" + pagename;

    $.ajax({
        type: "POST",
        url: url, //'<%= Url.Action("emailpage","emailpage") %>',
        dataType: 'json',
        data: json,
        contentType: 'application/json; charset=utf-8',
        success: function () {
            $("#popupEmailPageSuccess").show();
            $("#panEmailPageForm").hide();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            $("#validator").show();
        }
    });
}

function IsFormValid() {
    var toname = $("#ToName").val();
    var toemail = $("#ToEmail").val();
    var fromemail = $("#FromEmail").val();
    var fromname = $("#FromName").val();

    var isvalid = true;

    if (toemail == "") {
        $("#rfvToEmail").show();
        isvalid = false;
    }
    else if (!isValidEmailAddress(toemail)) {
        $("#eevToEmail").show();
        $("#rfvToEmail").hide();
        isvalid = false;
    }
    else {
        $("#eevToEmail").hide();
        $("#rfvToEmail").hide();
    }

    if (toname == "") {
        $("#rfvToName").show();
        isvalid = false;
    }
    else
        $("#rfvToName").hide();

    if (fromemail == "") {
        $("#rfvFromEmail").show();
        isvalid = false;
    }
    else if (!isValidEmailAddress(fromemail)) {
        $("#eevFromEmail").show();
        $("#rfvFromEmail").hide();
        isvalid = false;

    } else {
        $("#rfvFromEmail").hide();
        $("#eevFromEmail").hide();
    }

    if (fromname == "") {
        $("#rfvFromName").show();
        isvalid = false;
    }
    else
        $("#rfvFromName").hide();


    return isvalid;

}

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);
};

