jQuery(document).ready(function() {
    jQuery.noConflict();
    jQuery('#commentDialog').dialog(
    {
        autoOpen: false,
        width: 600,
        modal: true,
        show: 'slide',
		hide: 'slide',
        bgiframe: true,
        buttons:
        {
            "Cancel": function() {
                jQuery(this).dialog("close");
            },
            "Send": function() {
                if (valid()) {
                    SendComments(jQuery(".txtName").val(), 
                    jQuery(".txtEmail").val(),
                    jQuery(".txtComment").val(),
                    jQuery(".hdnEmailAddressToSendCommentsTo").text()); // see CallRatingsAndCommentsServiceMethods.js
					jQuery(".ui-dialog-buttonpane button").text("Thank you!");
					jQuery(this).dialog("close");
					jQuery("#lnkSendUsYourComments, #lnkSendUsYourCommentsThankYou").toggle();
                }
            }
        }
    });

    jQuery(".ajax-fc-container").captcha();
});

function valid() {
    var valid = true;
    jQuery(".lblNameError").css('display', 'none');
    jQuery(".lblEmailError").css('display', 'none');
    jQuery(".lblCommentError").css('display', 'none');
    jQuery(".lblCaptchaError").css('display', 'none');

    if (jQuery(".txtName").val().length == 0) {
        jQuery(".lblNameError").css('display', 'list-item');
        valid = false;
    }
    if (!isValidEmailAddress(jQuery(".txtEmail").val())) {
        jQuery(".lblEmailError").css('display', 'list-item');
        valid = false;
    }
    if (jQuery(".txtComment").val().length == 0) {
        jQuery(".lblCommentError").css('display', 'list-item');
        valid = false;
    }

    if (jQuery().find('*[aria-disabled]').size() == 0) {
        jQuery(".lblCaptchaError").css('display', 'list-item');
        valid = false;
    }

    return valid;
}

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);
}