+var STATIC = '/static/';
var LOCALE_TEXTS = {
- "pl": {
- "DELETE_SHELF": "Czy na pewno usunąć półkę",
- "HIDE_DESCRIPTION": "Zwiń opis",
- "EXPAND_DESCRIPTION": "Rozwiń opis",
- "LOADING": "Ładowanie"
- },
+ "pl": {
+ "DELETE_SHELF": "Czy na pewno usunąć półkę",
+ "HIDE_DESCRIPTION": "Zwiń opis",
+ "EXPAND_DESCRIPTION": "Rozwiń opis",
+ "LOADING": "Ładowanie"
+ },
"de": {
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
+ "DELETE_SHELF": "Möchtest du wirklich dieses Bücherregal entfernen?",
+ "HIDE_DESCRIPTION": "Beschreibung zuklappen",
+ "EXPAND_DESCRIPTION": "Beschreibung aufklappen",
+ "LOADING": "Herunterladen"
+ },
+ "fr": {
+ "DELETE_SHELF": "Voulez-vous supprimer l'étagère définitivement?",
+ "HIDE_DESCRIPTION": "Montrer la description",
+ "EXPAND_DESCRIPTION": "Cacher la description",
+ "LOADING": "Chargement"
+ },
+ "en": {
+ "DELETE_SHELF": "Are you sure you want to delete this shelf?",
+ "HIDE_DESCRIPTION": "Hide",
+ "EXPAND_DESCRIPTION": "Expand",
+ "LOADING": "Loading"
+ },
+ "ru": {
+ "DELETE_SHELF": "Уверены ли вы том, чтобы удалить полку?",
+ "HIDE_DESCRIPTION": "Свернуть описание",
+ "EXPAND_DESCRIPTION": "Раскрыть описание",
+ "LOADING": "Загрузка"
+ },
+ "es": {
+ "DELETE_SHELF": "¿Estás seguro que quieres borrar este estante?",
+ "HIDE_DESCRIPTION": "Esconder la descripción",
+ "EXPAND_DESCRIPTION": "Ampliar la descripción",
+ "LOADING": "Cargando"
},
- "fr": {
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
- },
- "en": {
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
- },
- "ru": {
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
- },
- "es": {
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
- },
"lt":{
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
+ "DELETE_SHELF": "Ar tikrai nori pašalinti lentną?",
+ "HIDE_DESCRIPTION": "Suvyniok aprašymą ",
+ "EXPAND_DESCRIPTION": "Išplėsk aprašymą",
+ "LOADING": "Krovimas"
},
"uk":{
- "DELETE_SHELF": "Translate me!",
- "HIDE_DESCRIPTION": "Translate me!",
- "EXPAND_DESCRIPTION": "Translate me!",
- "LOADING": "Translate me!"
+ "DELETE_SHELF": "Ви впевнені, що хочете видалити полицю?",
+ "HIDE_DESCRIPTION": "Сховати опис",
+ "EXPAND_DESCRIPTION": "Показати опис",
+ "LOADING": "Завантажується"
}
}
var BANNER_TEXTS = [
'Pomóż uwolnić 286 utworów z listy lektur szkolnych. Przekaż swój 1% na Wolne Lektury.'
]
-
function changeBannerText() {
var index = Math.floor(Math.random() * BANNER_TEXTS.length);
if (BANNER_TEXTS[index] == $('#onepercent-text').html()) {
(function($) {
$(function() {
+ $.fn.toggle_slide = function(p) {
+ cont = $(this);
+ short_el = p['short_el'] || $(':first-child', this);
+ long_el = p['long_el'] || short_el.next();
+ button = p['button'];
+ short_text = p['short_text'],
+ long_text = p['long_text'];
+
+ var toggle_fun = function(cont, short_el, long_el, button, short_text, long_text) {
+ var toggle = function() {
+ if (cont.hasClass('short')) {
+ cont.animate({"height": long_el.attr("cont_h")+'px'}, {duration: "fast" }).removeClass('short');
+ short_el.hide();
+ long_el.show();
+ if (button && long_text) button.html(long_text);
+ } else {
+ cont.animate({"height": short_el.attr("cont_h")+'px'}, {duration: "fast" }).addClass('short');
+ long_el.hide();
+ short_el.show();
+ if (button && short_text) button.html(short_text);
+ }
+ return false;
+ }
+ return toggle;
+ }
+ if (long_el.html().length <= short_el.html().length)
+ return;
+
+ // ensure long element shown first
+ long_el.show();short_el.hide();
+ long_el.attr("cont_h", $(this).height()).hide();
+ short_el.show().attr("cont_h", $(this).height());
+ $(this).addClass('short');
+
+ if (button && short_text) button.html(short_text);
+ if (button) button.hover(
+ function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+ function() { $(this).css({background: '#EEE'}); }
+ ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
+ short_el.hover(
+ function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+ function() { $(this).css({background: '#FFF'}); }
+ ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
+ long_el.hover(
+ function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+ function() { $(this).css({background: '#FFF'}); }
+ ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
+ };
+
$('form input').labelify({labelledClass: 'blur'});
target = $('#login-register-window div.target');
});
// Fragments
- $('.fragment-text').each(function() {
- if ($(this).prev().filter('.fragment-short-text').length) {
- $(this).hover(
- function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
- function() { $(this).css({background: '#FFF'}); }
- ).click(function() {
- $(this).fadeOut(function() {
- $(this).prev().fadeIn();
- });
- return false;
- })
- }
+ $('.fragment-short-text').each(function() {
+ var fragment = $(this).closest('.fragment');
+ fragment.toggle_slide({
+ short_el: $(this),
+ long_el: fragment.find('.fragment-text')
+ })
});
- $('.fragment-short-text').click(function() {
- $(this).fadeOut(function() { $(this).next().fadeIn() });
- return false;
- }).hover(
- function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
- function() { $(this).css({background: '#FFF'}); }
- );
-
$('.show-all-tags').click(function() {
$(this).parent().parent().fadeOut(function() {
$(this).next().fadeIn();
return false;
});
+ var serverResponse;
$('#user-shelves-window').jqm({
ajax: '@href',
target: $('#user-shelves-window div.target')[0],
},
onLoad: function(hash) {
$('form', hash.w).ajaxForm({
- target: $('#user-shelves-window div.target'),
- success: function() { setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000) }
+ target: serverResponse,
+ success: function(serverResponse) {
+ var newShelf = $.parseJSON(serverResponse);
+ $('#user-shelves-window div.target').html(newShelf.msg);
+ setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000);
+ }
});
$('input', hash.w).labelify({labelledClass: 'blur'});
},
onLoad: function(hash) {
$('form', hash.w).ajaxForm({
- dataType: 'json',
+ dataType: 'json',
target: $('#suggest-window div.target'),
success: function(response) {
- if (response.success) {
- $('#suggest-window div.target').text(response.message);
+ if (response.success) {
+ $('#suggest-window div.target').text(response.message);
setTimeout(function() { $('#suggest-window').jqmHide() }, 1000)
- }
- else {
- $('#suggest-form .error').remove();
- $.each(response.errors, function(id, errors) {
- $('#suggest-form #id_' + id).before('<span class="error">' + errors[0] + '</span>');
- });
- $('#suggest-form input[type=submit]').removeAttr('disabled');
- return false;
- }
- }
+ }
+ else {
+ $('#suggest-form .error').remove();
+ $.each(response.errors, function(id, errors) {
+ $('#suggest-form #id_' + id).before('<span class="error">' + errors[0] + '</span>');
+ });
+ $('#suggest-form input[type=submit]').removeAttr('disabled');
+ return false;
+ }
+ }
});
}
});
location.href = $('h2 a', this).attr('href');
});
- function toggled_by_slide(cont, short_el, long_el, button, short_text, long_text) {
- function toggle(cont, short_el, long_el, button, short_text, long_text) {
- if (cont.hasClass('short')) {
- cont.animate({"height": long_el.attr("cont_h")+'px'}, {duration: "fast" }).removeClass('short');
- short_el.hide();
- long_el.show();
- button.html(long_text);
- } else {
- cont.animate({"height": short_el.attr("cont_h")+'px'}, {duration: "fast" }).addClass('short');
- long_el.hide();
- short_el.show();
- button.html(short_text);
- }
- }
- long_el.attr("cont_h", cont.height()).hide();
- short_el.show().attr("cont_h", cont.height());
- cont.addClass('short');
- button.html(short_text);
- button.hover(
- function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
- function() { $(this).css({background: '#EEE'}); }
- ).click(function(){
- toggle(cont, short_el, long_el, button, short_text, long_text)
- });
- cont.hover(
- function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
- function() { $(this).css({background: '#FFF'}); }
- ).click(function(){
- toggle(cont, short_el, long_el, button, short_text, long_text)
- })
- }
- toggled_by_slide($('#description'), $('#description-short'), $('#description-long'),
- $('#toggle-description p'),
- LOCALE_TEXTS[LANGUAGE_CODE]['EXPAND_DESCRIPTION']+' ▼',
- LOCALE_TEXTS[LANGUAGE_CODE]['HIDE_DESCRIPTION'] + ' ▲'
- );
+ $('#description').each(function(){$(this).toggle_slide({
+ long_el: $('#description-long', this),
+ short_el: $('#description-short', this),
+ button: $(this).nextAll('#toggle-description').first().find('p'),
+ long_text: LOCALE_TEXTS[LANGUAGE_CODE]['HIDE_DESCRIPTION'] + ' ▲',
+ short_text: LOCALE_TEXTS[LANGUAGE_CODE]['EXPAND_DESCRIPTION'] + ' ▼'
+ })});
$('#toggle-share-shelf').hover(
function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
target.html('<p><img src="/static/img/indicator.gif" />'+LOCALE_TEXTS[LANGUAGE_CODE]['DELETE_SHELF']+'</p>');
hash.w.css({position: 'absolute', left: offset.left, top: offset.top}).show() },
onLoad: function(hash) {
- try {
- $('#createShelfTrigger').click(function(){
- $('#createNewShelf').show();
- });
- } catch (e){}
-
+ try {
+ $('#createShelfTrigger').click(function(){
+ // who cares it's not needed, but I was looking for it
+ // that's why I want it to stay.. :)
+ // var slug = $(hash.t).attr('href').split("/")[3];
+ $('#createNewShelf').show();
+ });
+ } catch (e){}
+ $("#putOnShelf input[type=checkbox]").attr("checked",false);
+ var serverResponse;
$('form', hash.w).ajaxForm({
- target: target,
- success: function() {
- setTimeout(function() {
- $('#set-window').jqmHide();
- }, 1000)}
- });
+ target: serverResponse,
+ success: function(serverResponse) {
+ var newShelf = $.parseJSON(serverResponse);
+ // for live shelf adding
+ if(newShelf.name){
+ var noIds = $("#putOnShelf ol ul").children('li').length;
+ $("#putOnShelf ol ul").prepend('<li><label for="id_set_ids_'+ noIds +'"><input name="set_ids" value="'+ newShelf.id +'" id="id_set_ids_'+ noIds +'" type="checkbox" checked="checked"> '+ newShelf.name +' (0)</label></li>');
+ $("#createNewShelf ol input[name=name]").val("");
+ }
+ if(newShelf.after == "close"){
+ setTimeout(function() {$('#set-window').jqmHide();}, 1000);
+ }
+ }
+ });
}
});
});
$('#share-shelf').hide().addClass('hidden');
- $('#share-shelf input').focus(function(){this.select();});
+ $('#share-shelf input').focus(function(){this.select();});
$('#user-info').show();
changeBannerText();
$('#download-shelf-menu').slideUp('fast');
return false;
});
+
+ $('.sponsor-logos').cycle({timeout: 3000});
+
+ $('.widget-code').focus(
+ function(){
+ $(this).animate({rows: '11'}, 100, function(){
+ this.select();
+ $(this).click(function(){
+ this.select();
+ });
+ })
+
+ }
+ ).blur(
+ function(){
+ $(this).animate({rows: '1'}, 300, function(){
+ $(this).unbind('click');
+ })
+ }
+ );
+
+ $('.book-list-index').click(function(){
+ $('.book-list-show-index').hide('slow');
+ if($(this).parent().next('ul:not(:hidden)').length == 0){
+ $(this).parent().next('ul').toggle('slow');
+ }
+ return false;
+ });
+
+ // player for audiobooks
+
+ // event handlers for playing different formats
+ $('.audiotabs span').click(function(){
+ $('.audiobook-list').hide();
+ $('.audiotabs .active').removeClass('active');
+ // we don't want to interact with "audiobook" label, just 'format' tabs
+ var $this = $(this);
+ $this.addClass("active");
+ $("#"+$this.attr('data-format')+"-files").show();
+ });
+
+ $('.audiobook-list').hide();
+ if($(".audiotabs .active").length > 0) {
+ $("#"+$(".audiotabs .active").html().toLowerCase()+"-files").show();
+ }
+
+ /* this will be useful for javascript html player
+ var medias = $('.audiobook-list a');
+ var mp3List = [];
+ var oggList = [];
+ var daisyList = [];
+ var tmpExt;
+ if (medias.length > 0) {
+ // creating sources list for player
+ medias.each(function(index, item) {
+ tmpExt = item.href.split(".").pop();
+ if(tmpExt == "mp3") {
+ mp3List.push(item.href);
+ } else if (tmpExt == "ogg") {
+ oggList.push(item.href);
+ } else if(tmpExt == "daisy") {
+ daisyList.push(item.href);
+ }
+ });
+ }*/
+
});
})(jQuery)
+