

(function ($) {
    $.fn.ValidateEmail = function (params) {

        var options = $.extend({}, $.fn.ValidateEmail.defaults, params);

        if (!options.callBack) { this.log("callBack is required"); throw "callBack is required"; }
        if (!options.companyName) { this.log("companyName is required"); throw "companyName is required"; }

        return this.each(function () {
            var $t = $(this);
            $t.blur(function () {
                $.ajax({
                    url: 'https://validation.incindio.com/',
                    crossDomain: true,
                    success: options.callBack,
                    data: {
                        CompanyName: options.companyName,
                        Email: $t.val(),
                        FullURI: document.URL,
                        Service: options.service,
                        Timeout: options.timeout,
                        RequestId: options.generateRequestId ? options.generateRequestId() : undefined
                    },
                    dataType: 'jsonp'
                });
            });
        });
    };

    $.fn.ValidateEmail.defaults = {
        companyName: '',
        service: '',
        callBack: null,
        timeout: 15,
        generateRequestId: null
    };

})(jQuery);