﻿$().ready(function() {
    var close=function(hash) {
            hash.w.hide();
            hash.o.remove();
            showForm();
        };
        
    $('#emailPage').jqm(
        {trigger:$('#emailPageLink'), modal:true, onHide:close}
    );
});
    
function showSending() {
    $("#emailPage .form").css("display", "none");
    $("#emailPage .loading").css("display", "");
}

function showSent() {
    $("#emailPage .loading").css("display", "none");
    $("#emailPage .confirmation").css("display", "");
}

function showForm() {
    $("#emailPage :text").val("");
    $("#emailPage textarea").val("");
    
    $("#emailPage .loading").css("display", "none");
    $("#emailPage .confirmation").css("display", "none");
    
    $("#emailPage .form").css("display", "");
}

function checkForm() {
    var reEmail = new RegExp(/[\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+/)
    
    var errors = new String();
    
    if($("#txtSenderName").val().length == 0)
        errors += "- Your Name\n";
        
    if( !$("#txtSenderEmail").val().match(reEmail) )
        errors += "- Valid Email for Your Email\n";
        
    if( !$("#txtRecipientEmail").val().match(reEmail) )
        errors += "- Valid Email for Recipient\n";
        
    if(errors.length > 0)
    {
        alert("You must enter the following:\n\n" + errors);
        return false;
    }
    else
        return true;
}

function sendEmail(AliasPath) {
    if(checkForm())
    {
        // Show sending panel
        showSending();
        
        // Collect form data
        var formData = '{';
        formData += '"AliasPath":"' + AliasPath + '",';
        formData += '"SenderName":"' + $("#txtSenderName").val() + '",';
        formData += '"SenderEmail":"' + $("#txtSenderEmail").val() + '",';
        formData += '"RecipientEmail":"' + $("#txtRecipientEmail").val() + '",';
        formData += '"Comments":"' + $("#txtComments").val() + '"';
        formData += '}';
        
        // Send email
        $.ajax({
            type: "POST",
            url: "/USPMServices/AJAXService.asmx/EmailPageLink",
            data: formData,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(data, textStatus) {
                // Show sent panel
                showSent();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("error: " + XMLHttpRequest.responseText);
            }
        });
    }
}