Gazelle/static/functions/cssgallery.js
2013-06-27 08:01:06 +00:00

52 lines
2.1 KiB
JavaScript

$(document).ready(function () {
// If the custom stylesheet field is empty, select the current style from the previews
if (!$('input#styleurl').val()){
var radiobutton = $('input[name="stylesheet_gallery"][value="' + $('select#stylesheet').val() + '"]');
radiobutton.click();
$('.preview_wrapper').removeClass('selected');
radiobutton.parent().parent().addClass('selected');
}
// If an overlay is clicked, select the right item in the drop-down and clear the custom CSS field
$('div.preview_image').click(function() {
$('.preview_wrapper').removeClass('selected');
var parent = $(this).parent();
parent.addClass('selected');
var radiobutton = parent.find('input');
radiobutton.prop('checked', true);
$('select#stylesheet').val(radiobutton.attr('value'));
$('input#styleurl').val('');
})
// If the input is clicked, redirect it to the overlay click event
$('input[name="stylesheet_gallery"]').change(function() {
$(this).parent().parent().find('div.preview_image').click();
})
// If the drop-down is changed, select the appropriate item in gallery, clear the custom CSS field
$('select#stylesheet').change(function() {
var radiobutton = $('input[name="stylesheet_gallery"][value="' + $(this).val() + '"]');
radiobutton.prop('checked', true);
$('.preview_wrapper').removeClass('selected');
radiobutton.parent().parent().addClass('selected');
$('input#styleurl').val('');
})
// If the custom CSS field is changed, clear radio buttons
$('input#styleurl').keydown(function() {
$('input[name="stylesheet_gallery"]').each(function() {
$(this).prop('checked', false);
})
$('.preview_wrapper').removeClass('selected');
})
// If the input is empty, select appropriate gallery item again by the drop-down
$('input#styleurl').keyup(function() {
if (!$(this).val()){
$('select#stylesheet').change();
}
})
// Allow the CSS gallery to be expanded/contracted
$('#toggle_css_gallery').click(function (e) {
e.preventDefault();
$('#css_gallery').slideToggle(function () {
$('#toggle_css_gallery').text($(this).is(':visible') ? 'Hide gallery' : 'Show gallery');
});
});
});