From 2842a1a8be748f6ec1024ea3a8ecc97471f70a3f Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 15 Dec 2008 01:52:04 +0000 Subject: Argh, fix a bad rename. --- themes/default/js/ui.init.js | 95 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 themes/default/js/ui.init.js (limited to 'themes/default/js/ui.init.js') diff --git a/themes/default/js/ui.init.js b/themes/default/js/ui.init.js new file mode 100644 index 00000000..9ba4a642 --- /dev/null +++ b/themes/default/js/ui.init.js @@ -0,0 +1,95 @@ +/** + * Initialize jQuery UI and Plugin elements + */ +$("document").ready(function() { + + $(".gMenuLink").addClass("gDialogLink"); + $("ul.gMenu").addClass("sf-menu"); + + /** + * Superfish menu options + */ + $('ul.sf-menu').superfish({ + delay: 500, + animation: { + opacity:'show', + height:'show' + }, + speed: 'fast' + }); + + /** + * Reduce width of sized photo if it is wider than its parent container + * + * @requires jquery.dimensions + */ + if ($("#gItem").length) { + var containerWidth = $("#gItem").width(); + var oPhoto = $("#gItem img").filter(function() { + return this.id.match(/gPhotoID-/); + }) + if (containerWidth < oPhoto.width()) { + var proportion = containerWidth / oPhoto.width(); + oPhoto.width(containerWidth); + oPhoto.height(proportion * oPhoto.height()); + } + } + + /** + * Attach event listeners to open modal dialogs + */ + var dialogLinks = $(".gDialogLink"); + for (var i=0; i < dialogLinks.length; i++) { + $(dialogLinks[i]).bind("click", {element: dialogLinks[i]}, handleDialogEvent); + }; + +}); + +/** + * Fire openDialog() and prevent links from opening + * + * @see openDialog() + */ +function handleDialogEvent(event) { + openDialog(event.data.element); + event.preventDefault(); +} + +/** + * Display modal dialogs, populate dialog with trigger link's title and href + * + * @requires ui.core + * @requires ui.draggable + * @requires ui.resizable + * @requires ui.dialog + * @see handleDialogEvent() + * + * @todo Set dialog attributes dynamically (width, height, drag, resize) + */ +function openDialog(element) { + var href = $(element).attr("href"); + var dialog = '
'; + + $("body").append(dialog); + $("#gDialog").dialog({ + draggable: true, + height: '400px', + modal: true, + overlay: { + opacity: 0.7, + background: "black" + }, + close: function (event, ui) { + $("#gDialog").dialog('destroy').remove(); + }, + + resizable: true, + title: $(element).attr("title"), + width: '500px' + }); + $("#gDialog").html(href); + $.get(href, function(data) { + $("#gDialog").html(data); + }); + return false; +} -- cgit v1.2.3