﻿//Get the original values
var textboxNameOriginalValue;
var textboxEmailOriginalValue;
var textboxMessageOriginalValue;

//Set up the Quick Contact
function setUpQuickContact() {

    //Get the textbox
    var textboxName = jQuery("input[id$='tbx_QuickContactName']");
    var textboxEmail = jQuery("input[id$='tbx_QuickContactEmail']");
    var textboxMessage = jQuery("textarea[id$='tbx_QuickContactMessage']");

    //Get the original values
    textboxNameOriginalValue = textboxName.val();
    textboxEmailOriginalValue = textboxEmail.val();
    textboxMessageOriginalValue = textboxMessage.val();

    //textbox Name got focus
    textboxName.focus(function() {

        if (jQuery.trim(textboxName.val()) == textboxNameOriginalValue) {
            textboxName.val('');
            textboxName.addClass("textboxFocus");
        }

    });

    //textbox Name lost focus
    textboxName.blur(function() {

        if (jQuery.trim(textboxName.val()) == '') {
            textboxName.val(textboxNameOriginalValue);
            textboxName.removeClass("textboxFocus");
        }

    });

    //textbox Email got focus
    textboxEmail.focus(function() {

        if (jQuery.trim(textboxEmail.val()) == textboxEmailOriginalValue) {
            textboxEmail.val('');
            textboxEmail.addClass("textboxFocus");
        }

    });

    //textbox Email lost focus
    textboxEmail.blur(function() {

        if (jQuery.trim(textboxEmail.val()) == '') {
            textboxEmail.val(textboxEmailOriginalValue);
            textboxEmail.removeClass("textboxFocus");
        }

    });

    //textbox Message got focus
    textboxMessage.focus(function() {

        if (jQuery.trim(textboxMessage.val()) == textboxMessageOriginalValue) {
            textboxMessage.val('');
            textboxMessage.addClass("textboxFocus");
        }

    });

    //textbox Message lost focus
    textboxMessage.blur(function() {

        if (jQuery.trim(textboxMessage.val()) == '') {
            textboxMessage.val(textboxMessageOriginalValue);
            textboxMessage.removeClass("textboxFocus");
        }

    });
}

//Clear the Quick Contact form
function clearQuickContact() {

    //Get the textbox
    var textboxName = jQuery("input[id$='tbx_QuickContactName']");
    var textboxEmail = jQuery("input[id$='tbx_QuickContactEmail']");
    var textboxMessage = jQuery("textarea[id$='tbx_QuickContactMessage']");

    //Set the textboxes to the original value
    textboxName.val(textboxNameOriginalValue);
    textboxEmail.val(textboxEmailOriginalValue);
    textboxMessage.val(textboxMessageOriginalValue);
}

//Send the Quick Contact form
function sendQuickContact(proxy) {

    //Check if form is valid.  If so, send it.
    if (validateQuickContact() == true) {
    
        //Show the Animation
        jQuery("#QuickContactFormOverlay").css("display", "block");

        //Set service parameters
        var parametersAsJSONObject = { "QuickContact":
                                         { "Email": jQuery("input[id$='tbx_QuickContactEmail']").val(),
                                           "Message": jQuery("textarea[id$='tbx_QuickContactMessage']").val(),
                                           "Name": jQuery("input[id$='tbx_QuickContactName']").val()
                                         },
                                         "MailTo": jQuery("input[id$='hf_MailTo']").val(),
                                         "MailToBCC": jQuery("input[id$='hf_MailToBCC']").val(),
                                         "MailReceiptFrom": jQuery("input[id$='hf_MailReceiptFrom']").val(),
                                         "Subject": jQuery("input[id$='hf_Subject']").val(),
                                         "ReceiptSubject": jQuery("input[id$='hf_ReceiptSubject']").val()
                                      };


        //Set the success callback function
        var successCallback = function(data) {
        
            //hide and show the appropriate controls
            jQuery("#QuickContactFormOverlay").css("display", "none");
            jQuery("#QuickContactForm").css("display", "none");
            jQuery("#ConfirmationMessage").css("display", "block");

        };
        
        //Call the service
        ServiceCall(proxy + "SendQuickContact", parametersAsJSONObject, successCallback);
    }
}

//Validate the QuickContact before sending
function validateQuickContact() {

    var valid = true;
    var email = jQuery("input[id$='tbx_QuickContactEmail']");
    var message = jQuery("textarea[id$='tbx_QuickContactMessage']");
    var name = jQuery("input[id$='tbx_QuickContactName']");

    if (validateEmail(email) == false) {
        email.addClass("invalid");
        valid = false;
    } else {
       email.removeClass("invalid");
    }

    if ((message.val() == "") || (message.val() == "Message")) {
        message.addClass("invalid");
        valid = false;
    } else {
        message.removeClass("invalid");
    }

    if ((name.val() == "") || (name.val() ==  "Name")) {
        name.addClass("invalid");
        valid = false;
    } else {
        name.removeClass("invalid");
    }

    return valid;

}

//Validate Email
function validateEmail(element, value){

    var emailRegEx = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4})$/;
    
    var ok = emailRegEx.test($(element).val()); 

    return ok; 
} 

