(function ($) {
// Creates an iframe with an embedded HipChat conversation window.
//
// Options:
// url - The url to the room to embed; required
// container - The container in which to insert the HipChat panel; required
// timezone - The timezone to use in the embedded room; required
// welcome - A welcome message to display when the room is joined; optional
// noframes - Content to include when iframes are disabled in the browser; optional
// width - The width of the iframe; defaults to 100%
// height - The height of the iframe; defaults to 400px
$.createHipChat = function (options) {
if (options && options.url && options.container && options.timezone) {
var $container = $(options.container);
if ($container.length === 0) return;
var params = {
anonymous: 0,
timezone: options.timezone,
minimal: 0
};
if (options.welcome) {
params.welcome_msg = options.welcome;
}
var url = options.url + (options.url.indexOf('?') > 0 ? '&' : '?') + $.param(params);
if (url.indexOf('https://') !== 0) {
url = 'https://' + url;
}
var w = options.width || '100%';
var h = options.height || 400;
var nf = (options.noframes || '');
return {
show: function () {
$container.html('');
}
};
}
};
$.fn.hipChatPanel = function (options) {
options.container = this[0];
var panel = $.createHipChat(options);
this.html('')
.find('.show-hipchat').click(function (e) { panel.show(); });
};
}(jQuery));