1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
/**
* Initialize jQuery UI and Plugin elements
*
* @todo Standardize how elements requiring listeners are handled
* http://docs.jquery.com/Events/live
*/
var shortForms = new Array(
"#gQuickSearchForm",
"#gAddTagForm",
"#gSearchForm"
);
$(document).ready(function() {
// Remove .gMenu from thumb menu's before initializing Superfish
// @todo gallery_menu should only apply gMenu to top-level menus, submenus should be gSubMenu-N
// Initialize Superfish menus
$("ul.gMenu").addClass("sf-menu");
$('ul.sf-menu').superfish({
delay: 500,
animation: {
opacity:'show',
height:'show'
},
speed: 'fast'
});
$("#gSiteMenu").css("display", "block");
// Initialize status message effects
$("#gMessage li").showMessage();
// Initialize dialogs
$("#gLoginLink").addClass("gDialogLink");
var dialogLinks = $(".gDialogLink");
for (var i=0; i < dialogLinks.length; i++) {
$(dialogLinks[i]).bind("click", handleDialogEvent);
}
// Initialize view menu
if ($("#gViewMenu").length) {
$("#gViewMenu ul").removeClass("gMenu").removeClass("sf-menu");
$("#gViewMenu a").addClass("ui-icon");
}
// Initialize short forms
handleShortFormEvent(shortForms);
$(".gShortForm input[type=text]").addClass("ui-corner-left");
$(".gShortForm input[type=submit]").addClass("ui-state-default ui-corner-right");
// Apply jQuery UI button css to submit inputs
$("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all");
// Album view only
if ($("#gAlbumGrid").length) {
// Vertical align thumbnails/metadata in album grid
$(".gItem").vAlign();
}
// Photo/Item item view only
if ($("#gItem").length) {
// Ensure that sized image versions
// fit inside their container
sizedImage();
// Collapse comments form, insert button to expand
if ($("#gAddCommentForm").length) {
var showCommentForm = '<a href="#add_comment_form" class="showCommentForm gButtonLink ui-corner-all ui-icon-left ui-state-default right"><span class="ui-icon ui-icon-comment"></span>' + ADD_A_COMMENT + '</a>';
$("#gAddCommentForm").hide();
$("#gComments").prepend(showCommentForm);
$(".showCommentForm").click(function(){
$("#gAddCommentForm").show(1000);
});
}
// Add scroll effect for links to named anchors
$.localScroll({
queue: true,
duration: 1000,
hash: true
});
}
// Add hover state for buttons
$(".ui-state-default").hover(
function(){
$(this).addClass("ui-state-hover");
},
function(){
$(this).removeClass("ui-state-hover");
}
);
// Initialize context menus
if ($("#gContent .gContextMenu").length) {
$("#gContent .gContextMenu li").addClass("ui-state-default");
$(".gContextMenu").parent().hover(
function() {
$(this).find(".gContextMenu").slideDown("fast");
var dialogLinks = $(this).find(".gDialogLink");
for (var i = 0; i < dialogLinks.length; i++) {
$(dialogLinks[i]).bind("click", handleDialogEvent);
}
},
function() {
$(this).find(".gContextMenu").slideUp("slow");
}
);
}
});
/**
* Reduce width of sized photo if it's wider than its parent container
*/
function sizedImage() {
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());
}
}
|