(function($) {
    var showDialog = function(options) {
        var dialogHtml = '<div class="popup" id="skype-dialog">' + options.confirmMessage + '<p class="button_container"><a class="yes" href="#true">Yes</a><a class="no" href="#false">No</a></p></div>';
        options.handler.after(dialogHtml);
        var dialog = $('#skype\-dialog');
        dialog.find('a.no:first').click(function(){
            popup.hidePopup("skype-dialog");
            dialog.remove();
            options.noHandler();
            return false;
        });
        dialog.find('a.yes:first').click(function(){
            popup.hidePopup("skype-dialog");
            dialog.remove();
            options.yesHandler();
            return false;
        });
        popup.showPopup("skype-dialog", "", 0.4);
    };

    $.fn.skypeConfirm = function(object, options) {
        this.each(function() {
            // only if it's skype address 
            var skypeLink = $(this).find('a:first');
            var skypeHref = skypeLink.attr('href');
            if (skypeHref.indexOf('skype') != 0) { 
                return this;
            }
            var settings = $.extend({
                handler: $(this),
                hrefMessage: 'Messenger: <a href="#skype_call">Send an Instant Message</a>',
                confirmMessage: 'Are you sure you want to start a chat?',
                yesHandler: function() { 
                        if ($.support.hrefNormalized) {
                            document.location = skypeHref; 
                        } else {
                            // ie6
                            document.location.replace(skypeHref);
                        };
                    },
                noHandler: function() {}
            }, options)
            $(this).html(settings.hrefMessage);
            $(this).click(function() { showDialog(settings); return false; })
            return this;
        });
        return this;
    };
})(jQuery);

$(document).ready(function(){
    $('.messenger td span').skypeConfirm()
});

