jQuery(document).ready(function() {
    jQuery.noConflict();
    jQuery('.tellAFriendDialog').dialog(
    {
        autoOpen: false,
        width: 600,
        modal: true,
        bgiframe: true,
        buttons:
        {
            "Cancel": function() {
                jQuery(this).dialog("close");
            },
            "Send": function() {

                if (friend_valid()) {

                    TellAFriend(jQuery(".txtFrom").val(),
                        jQuery(".txtTo").val(),
                        jQuery(".txtMessage").val(),
                        jQuery('.chkCC input').is(':checked'),
                        location.href,
                        document.title
                    ); // see CallRatingsAndCommentsServiceMethods.js

                    jQuery(this).dialog("close");

                    jQuery(".txtTo").val('');
                    jQuery(".txtMessage").val('');
                }
            }
        }
    });

    jQuery(".ajax-fc-container-contact").captcha();
});

function friend_valid() {
    var valid = true;
    jQuery(".lblToError").css('display', 'none');
    jQuery(".lblFromError").css('display', 'none');
    jQuery(".lblMessageError").css('display', 'none');
    jQuery(".lblCaptchaError").css('display', 'none');

    if (!isContactValidEmailAddress(jQuery(".txtTo").val())) {
        jQuery(".lblToError").css('display', 'list-item');
        valid = false;
    }
    if (!isContactValidEmailAddress(jQuery(".txtFrom").val())) {
        jQuery(".lblFromError").css('display', 'list-item');
        valid = false;
    }
    if (jQuery(".txtMessage").val().length == 0) {
        jQuery(".lblMessageError").css('display', 'list-item');
        valid = false;
    }

    if (jQuery().find('*[aria-disabled]').size() == 0) {
        jQuery(".lblCaptchaError").css('display', 'list-item');
        valid = false;
    }

    return valid;
}

function isContactValidEmailAddress(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);
}
