/* created_at: 2013-08-30 15:07:58 */ try { console.log(); } catch(e) { console = { log: function() {} } }; function ausgewaehlteGenres() { // checkboxen holen var inputs = jQuery('form#genreauswahl ul li .genreButton input[type=checkbox]'); var genres = new Array(); // inputs durchgehen und nach markierten suchen for(var i in inputs) { if(inputs[i].checked == true) { genres[genres.length] = inputs[i].value; } } if(genres.length == 7) { return false; } return genres; } function ausgewaehlteSortierung() { // sortierungen holen var sortierung = jQuery('input#sortierung').val(); return sortierung; } jQuery( function ($) { $('input.blurFocus').focus(function(){ if(this.value == this.defaultValue){ this.value = ''; } }); $('input.blurFocus').blur(function(){ if(this.value == ''){ this.value = this.defaultValue; } }); var alleli = $().find('form#genreauswahl ul li'); $().find('form#genreauswahl ul li').mouseover(function(){ if ($(this).hasClass('ausgewaehlt')) { $(this).addClass('abgewaehlt'); } else { $(this).addClass("over"); } }); $().find('form#genreauswahl ul li').mouseout(function(){ if ($(this).hasClass('ausgewaehlt')) { $(this).removeClass('abgewaehlt'); } else { $(this).removeClass('over'); } }); $().find('form#genreauswahl ul li label').mouseover(function(){ var parent = $(this); while(!parent.is('li')) { parent = parent.parent(); } $(parent).addClass('wow'); $('form#genreauswahl ul li').each(function() { if (!$(this).hasClass('wow')) { if ($(this).hasClass('ausgewaehlt')) { $(this).removeClass("ausgewaehlt"); $(this).addClass("abgewaehlt"); } } }); }); $().find('form#genreauswahl ul li label').mouseout(function(){ var parent = $(this); while(!parent.is('li')) { parent = parent.parent(); } $('form#genreauswahl ul li').each(function() { if ($(this).hasClass('abgewaehlt')) { $(this).removeClass("abgewaehlt"); $(this).addClass("ausgewaehlt"); } }); $(parent).removeClass('wow'); }); // genre-link-klick $('form#genreauswahl ul li a').click(function(){ var parent = $( this ); $( 'form#genreauswahl ul li .genreButton input[type=checkbox]' ).prop( "checked", "" ); while(!parent.is('li')) { parent = parent.parent(); } $( parent ).find( ".genreButton input[type=checkbox]" ).prop( "checked", "checked" ); $('form#genreauswahl ul li').removeClass("ausgewaehlt"); $('form#genreauswahl ul li').removeClass("abgewaehlt"); $('form#genreauswahl ul li').removeClass("wow"); $('form#genreauswahl ul li').removeClass("over"); $(parent).addClass("ausgewaehlt"); formularAbschicken(); return false; }); // auswahl-bestaetigungesbuttons $('#filterauswahl button, #sortierungsauswahl button').click(function(){ // genres und filter-einstellungen holen var genres = ausgewaehlteGenres(); var filter = ausgewaehlteFilter(); var sortierung = ausgewaehlteSortierung(); filter.push('f=1'); // parameter mergen if(genres.length > 0) { filter.push('genres=' + genres.join(',')); } // sortierung anhaengen (nur wenn eine auswahl zur verfuegung steht) if(document.getElementById('sortierungsauswahl')) { if(sortierung && sortierung.length > 0) { filter[filter.length] = 'sortierung=' + sortierung; } else { filter[filter.length] = 'sortierung=veroeffentlichung,ab'; } } formularAbschicken(); return false; }); // genre-checkbox-klick $( 'form#genreauswahl ul li .genreButton input[type=checkbox]' ).click( function(){ var timeout = 0; $( this ).parents().filter( 'li' ).removeClass( "over" ); $( this ).parents().filter( 'li' ).removeClass( "abgewaehlt" ); $( this ).parents().filter( 'li' ).removeClass( "wow" ); if ( ( this.checked == "checked" ) || ( this.checked == true ) ) { $( this ).parents().filter( 'li' ).addClass( "ausgewaehlt" ); } else { $( this ).parents().filter( 'li' ).removeClass( "ausgewaehlt" ); // war es das letzte? dann alle auswaehlen if ( $( 'form#genreauswahl ul li.ausgewaehlt' ).length == 0 ) { $( 'form#genreauswahl ul li' ).addClass( 'ausgewaehlt' ); $( 'form#genreauswahl input[type=checkbox]' ).prop( 'checked', 'checked' ); } } // genreliste holen var p = $( "#genreauswahl" )[0]; if( timeout === 0 ) { window.clearTimeout( timeout ); } if( timeout === 0 ) { timeout = setTimeout( function() { formularAbschicken(); }, 1000); } return true; }); function formularAbschicken() { $ = jQuery; // hier muessen in allen widgets der seite alle zustaende neu // befuellt werden. // array anlegen, in dem wir alle zu erneuernden elemente sichern var neu = []; // seitenindex standardmaessig deaktivieren var si = false; // alle widgets holen und zustaende holen und string erstellen, der sie zurueckgibt var ws = $('.widget'); ws.each(function(){ var w = this.id; this.zs = $(this).find('.zustaende').each(function(){ //if($(this).css('display') != 'none'){ neu.push(w + '.' + this.className.match(/zustand_[a-z0-9_]+/)[0].replace(/zustand_/, '')); if($(this).find('.seitenIndex').length == 0){ neu[(neu.length-1)] += '#false'; } //} }); }); var zs = neu.join(','); // pruefen auf welcher seite wir sind var rubrik = window.location.pathname.split('/')[1]; if(!rubrik || rubrik == ''){ rubrik = 'home'; } // konfig fuer ajax-abfrage erstellen var p = { aktion: 9, zs: zs, r: rubrik, si: si } // genres und filter-einstellungen holen var genres = ausgewaehlteGenres(); var filter = ausgewaehlteFilter(); var sortierung = ausgewaehlteSortierung(); filter.push('f=1'); // parameter mergen if(genres.length > 0) { filter.push('genres=' + genres.join(',')); } // sortierung anhaengen (nur wenn eine auswahl zur verfuegung steht) if(document.getElementById('sortierungsauswahl')) { if(sortierung && sortierung.length > 0) { filter[filter.length] = 'sortierung=' + sortierung; } else { filter[filter.length] = 'sortierung=veroeffentlichung,ab'; } } // query vervollstaendigen q = filter.join('&'); laut.ajax.senden(p, function(d){ // zustaende neu laden if(d.zs){ for(var i in d.zs){ var tmp = d.zs[i]; var z = $('#' + tmp.w + ' .zustand_' + tmp.z); laut.aktualisiereZustand(d.zs[i], z); } } // teaserband aktualisieren if(d.tb && d.tb.length > 0 && laut.teaser && typeof(laut.teaser.arrayRefresh) == 'function'){ laut.teaser.arrayRefresh(d.tb); } }, q); // aktion: formularAbschicken laut.trackClick('','genre'); return false; } window.ausgewaehlteFilter = function() { var filter = new Array(); // redaktionswertung? var redwert = $('form input[name=redaktionswertung]:checkbox'); if($(redwert).length > 0) { var redawert = ''; for (var i=0; i<$(redwert).length; i++) { if (($(redwert)[i].checked) && ($(redwert)[i].value > 0)){ if (redawert != '') redawert += ',' + $(redwert)[i].value; else redawert = $(redwert)[i].value; } } if (redawert == '') { redawert = '1,2,3,4,5'; $('form input[name=redaktionswertung]:checkbox').prop('checked','checked'); } filter[filter.length] = 'redaktionswertung=' + redawert; } // autor gewaehlt? if ($('#filterauswahl select[name=id_autor]').length > 0) { autor = $('#filterauswahl select[name=id_autor] option:selected'); if(autor[0].value > 0) { filter[filter.length] = 'id_autor=' + autor[0].value; } } // zeitangaben holen if ($('#filterauswahl select[name=monat]').length > 0) { monat = $('#filterauswahl #monat'); jahr = $('#filterauswahl #jahr'); if($(monat[0]).val() > 0 || $(jahr[0]).val() > 0) { filter[filter.length] = 'monat=' + $(monat[0]).val(); filter[filter.length] = 'jahr=' + $(jahr[0]).val(); } } // pruefen ob nur deutsche texte gewuenscht sind if ($('#deutschCheckbox').length > 0) { if($('#deutschCheckbox')[0].checked == true) { filter[filter.length] = 'deutsch=true'; } } return filter; } // sortierbuttons $("#sort_aktualitaet, #sort_popularitaet").live('click', function(){ var t = ''; var charts = $(laut.widgets).find('.zustand_teaser_charts'); var artikel = $(laut.widgets).find('.zustand_artikel_teaser'); // a wird durch b ersetzt (ausgeblendet) var wechsel = function(a,b){ // parent finden und position korrekt setzen var pos = a.parent().css('position'); a.parent().css('position', 'relative'); a.css('background', '#ffffff'); a.css('position', 'absolute'); a.css('z-index', 1); a.css('top', '0px'); b.css('display', 'block'); a.fadeOut(500, function(){ $(this).css('background', 'transparent'); $(this).css('position', 'relative'); $(this).css('z-index', 0); $(this).parent().css('position', pos); }); }; if(charts.length > 0 && artikel.length > 0){ if(this.id == 'sort_aktualitaet'){ wechsel(charts, artikel); } if(this.id == 'sort_popularitaet'){ wechsel(artikel, charts); } } if(this.id == 'sort_aktualitaet'){ $("input#sortierung").attr("value","veroeffentlichung,ab"); t = 'Neu | Charts'; } else if(this.id == 'sort_popularitaet'){ $("input#sortierung").attr("value","popularitaet,ab"); t = 'Neu | Charts'; } var p = $(this).parent(); var form = $(p).find('form'); $(p).empty(); $(p).html(t); $(p).prepend(form); formularAbschicken(); return false; }); } ); jQuery('.__ajaxmehr a').live('click', function($){ var thisLink = jQuery(this); laut.ajax.get(this.href, function(response){ if(thisLink.attr('callback') && typeof(thisLink.attr('callback')) == 'function'){ thisLink.attr('callback')(response); } else{ thisLink.parents('.__ajaxmehr').replaceWith(response); } // aktion: neuer mehrklick laut.trackClick('','nochmehr'); }); return false; }); // vorhandene navigationselemente der albumuebersicht mit ajax-funktionalitaet versehen jQuery('.__seitenindex').live('click', function($){ // flag setzen, damit kein weiterer user-initialisierter aufruf erfolgt, bis // vorhergegangener abgeschlossen ist var href = this.href.split('/'); var query = href.pop().split('?').pop(); var query = query.substr(0,1) == '?' ? query.substr(1) : query; var rubrik = window.location.href.split('/')[3]; $ = jQuery; // der zu erneuernde zustand muss automatisch bestimmt werden var p = $(this); while(p = p.parent()){ if(p.hasClass('widget')){ var w = p[0].id; break; } if(p.hasClass('zustaende')){ var oZ = p; var z = p[0].className.match(/zustand_[a-z0-9_]+/)[0].replace(/zustand_/, ''); } } // neue parameter erstellen var p = { aktion: 9, zs: w + '.' + z, r: rubrik } laut.ajax.senden(p, function(d){ for(var i in d.zs){ var tmp = d.zs[i]; var z = $('#' + tmp.w + ' .zustand_' + tmp.z); // wenn das widget nicht oben steht, wird es hoch geholt if($('.widget')[0] != $('#' + w)[0]){ $('#' + w)[0].widget.nachOben(); } laut.aktualisiereZustand(d.zs[i], z, true); // aktion: Umblaettern laut.trackClick('','pagination'); } }, query); return false; }); laut.HTMLtoDOM = function(h){ // container zum umwandeln des codes erstellen var tmp = document.createElement('div'); // html-code einfuegen (wird vom browser umgewandelt) tmp.innerHTML = h; // tueckgabearray erstellen var re = new Array(); // childnodes des containers durchgehen und sollten sie ein elementknoten // sein an das rueckgabearray anhaengen if(tmp.childNodes && tmp.childNodes.length > 0){ for(var i = 0; tmp.childNodes[i]; i++){ if(tmp.childNodes[i].nodeType == 1){ re.push(tmp.childNodes[i]); } } } return re; } laut.aktualisiereZustand = function(d, z, scrollTo){ $ = jQuery; var anzeigen = function(z){ var ul = z.find('*:not(.clear)')[0]; // die erste liste im zustand wird die auszutauschende sein var w = $(z).parents('.widget'); // wir brauchen auch das widget in dem sich der zustand befindet var e = w[0].id; // die id des widgets als e(lement) var r = window.location.href.split('/')[3]; // unsere aktuelle rubrik var si = $('#' + e + ' .__seitenindex'); // pruefen ob wir einen seitenindex in diesem zustand haben // a wird durch b ersetzt (ausgeblendet) var wechsel = function(a,b){ // parent finden und position korrekt setzen var pos = a.parent().css('position'); a.parent().css('position', 'relative'); a.css('background', '#ffffff'); a.css('position', 'absolute'); a.css('z-index', 1); a.css('top', '0px'); b.css('display', 'block'); a.fadeOut(500, function(){ $(this).css('background', 'transparent'); $(this).css('position', 'relative'); $(this).css('z-index', 0); $(this).parent().css('position', pos); }); }; // gibt es seitenindex, muss er entfernt werden if(si && si.length > 0){ $(ul).next().remove(); // anzahl der vorhandenen elemente holen, damit wir den seitenindex richtig // bestimmen koennen var lis = z.find('.boxListe li.scrolltop').length; } // liste absolut positionieren und den hintergrund undurchsichtig machen $(ul).css('width', $(ul).parent().width() + 'px'); $(ul).css('overflow', 'hidden'); $(ul).css('position', 'absolute'); $(ul).css('background', '#ffffff'); $(ul).css('z-index', 1); // neue liste anhaengen z.append(d.html); // alte liste ausblenden und anschliessend entfernen $(ul).fadeOut(500, function(){ $(this).remove(); }); // widget events neu setzen if($(w)[0] && $(w)[0].widget){ $( window ).trigger( 'lb:reset' ); $(w)[0].widget.initEvents(); } }; if(z == undefined || z == '' || z.length == 0){ return false; } if(scrollTo && scrollTo == true){ laut.scrollTo(z, 500, function(){ anzeigen(z); }); } else{ anzeigen(z); } } // ------------------------------------------ // Allgemeine Funktionen // ------------------------------------------ jQuery(document).ready(function($){ // timeout-funktion (function($){var a={},c="doTimeout",d=Array.prototype.slice;$[c]=function(){return b.apply(window,[0].concat(d.call(arguments)))};$.fn[c]=function(){var e=d.call(arguments),f=b.apply(this,[c+e[0]].concat(e));return typeof e[0]==="number"||typeof e[1]==="number"?this:f};function b(l){var m=this,h,k={},n=arguments,i=4,g=n[1],j=n[2],o=n[3];if(typeof g!=="string"){i--;g=l=0;j=n[1];o=n[2]}if(l){h=m.eq(0);h.data(l,k=h.data(l)||{})}else{if(g){k=a[g]||(a[g]={})}}k.id&&clearTimeout(k.id);delete k.id;function f(){if(l){h.removeData(l)}else{if(g){delete a[g]}}}function e(){k.id=setTimeout(function(){k.fn()},j)}if(o){k.fn=function(p){o.apply(m,d.call(n,i))&&!p?e():f()};e()}else{if(k.fn){j===undefined?f():k.fn(j===false);return true}else{f()}}}})(jQuery); // funktion zum scrollen zu bestimmtem element auf der seite // ziel, dauer, callback laut.scrollTo = function(z,d,c){ if(typeof(z) == 'string'){ z = $('#' + z); } if(!d){ d = 1000; } if(!c || typeof(c) != 'function'){ c = function(){}; } $('body').animate( { scrollTop: $(z).offset().top }, d, c ); }; // erstellt ein confirm-fenster laut.confirm = function(n,c){ // abstand zum oberen ende des dokuments ermitteln var top = $('html').scrollTop(); // nach browser unterscheiden und anzeigemasse holen if(jQuery.browser.msie){ laut.browser = { breite: document.documentElement.offsetWidth, hoehe: document.documentElement.offsetHeight } } else { // brauchen wir, weil safari bei der jquery-funktion // keinen wert liefert var top = window.pageYOffset; laut.browser = { breite: window.innerWidth, hoehe: window.innerHeight } } // pruefen ob wir ein confirm-element haben var ob = document.getElementById('lautConfirm'); //$('body').css('overflow', 'hidden'); // sollte unser confirmfeld noch nicht exisitieren, wird es angelegt if(!ob){ var dunkel = document.createElement('div'); dunkel.id = 'lautDunkel'; dunkel.style.background = '#000000'; dunkel.style.display = 'none'; dunkel.style.left = '0px'; dunkel.style.position = 'fixed'; dunkel.style.zIndex = 999; dunkel.style.opacity = 0.2; dunkel.style.MozOpacity = 0.2; dunkel.style.filter = 'alpha(opacity=20)'; dunkel.innerHTML = ' '; var ob = document.createElement('div'); ob.id = 'lautConfirm'; ob.style.background = '#f1f1f1'; ob.style.border = '4px solid #000000'; ob.style.borderRadius = '8px'; ob.style.MozBorderRadius = '8px'; ob.style.display = 'none'; ob.style.height = 'auto'; ob.style.overflow = 'hidden'; ob.style.position = 'fixed'; ob.style.width = '250px'; ob.style.zIndex = '1000'; ob.style.WebkitBorderRadius = '8px'; var text = document.createElement('div'); text.className = 'text'; text.style.background = '#ffffff'; text.style.padding = '10px'; text.style.borderBottom = '1px dashed #909090'; text.style.MozBorderRadiusTopleft = '8px'; text.style.MozBorderRadiusTopright = '8px'; text.style.WebkitBorderTopLeftRadius = '8px'; text.style.WebkitBorderTopRightRadius = '8px'; ob.appendChild(text); var span = document.createElement('span'); span.style.display = 'block'; span.style.cssFloat = 'left'; span.style.styleFloat = 'left'; span.style.cursor = 'pointer'; span.style.height = '100%'; span.style.padding = '5px 0px'; span.style.overflow = 'hidden'; span.style.textAlign = 'center'; span.style.width = '50%'; var ok = span.cloneNode(true); ok.innerHTML = 'Ja'; ob.appendChild(ok); var ab = span.cloneNode(true); ab.innerHTML = 'Nein'; ob.appendChild(ab); // anhaengen $('body').append(dunkel); $('body').append(ob); } // existiert es schon, suchen wir die buttons else { var spans = ob.getElementsByTagName('span'); var ab = spans[1]; var ok = spans[0]; var text = ob.getElementsByTagName('div')[0]; var dunkel = $('#lautDunkel')[0]; } // jetzt die nachricht einfuegen text.innerHTML = n; // die position bestimmen ob.style.top = Math.round((laut.browser.hoehe/2)-($(ob).height()/2))+'px'; //ob.style.top = 0 + 'px'; ob.style.left = Math.round((laut.browser.breite/2)-($(ob).width()/2))+'px'; //dunkel.style.top = Math.round(top-(laut.browser.hoehe/2))+'px'; dunkel.style.top = '0px'; dunkel.style.height = (laut.browser.hoehe*2)+'px'; dunkel.style.width = (laut.browser.breite*2)+'px'; // buttons mit funktion versehen $(ab).click(function(){ $(this.parentNode).fadeOut(300, function(){ $('#lautDunkel').fadeOut(300, function(){ $('body').css('overflow', 'auto'); }); }); }); $(ok).unbind('click'); $(ok).click(function(){ $(this.parentNode).fadeOut(300, function(){ $('#lautDunkel').fadeOut(300, function(){ //$('body').css('overflow', 'auto'); }); }); c(); }); // einblenden $(dunkel).fadeIn(300, function(){ $(ob).fadeIn(300); }); return false; } }); // ------------------------------------ // Ajax-Schnittstelle // ------------------------------------ window.laut.ajax = { // funktion zum senden von anfragen an den server // @param p parameterobjekt; wird an den server uebergeben // @param c callbackfunktion, die nach abschluss der // transaktion ausgefuehrt wird // @param g (optional) get-variablen // @param t (optional) typ der rueckgabe // @param w (optional) soll das warteflag beachtet werden // (default: true) senden: function(p, c, g, t, w) { if(w == undefined || w == true){ if(laut.ajax.warten == 1){ return false; } else{ laut.ajax.warten = 1; } } if(t == undefined){ t = 'json'; } jQuery.post('/php/ajax.php' + (g != undefined ? '?' + g : ''), p, function(d){ laut.ajax.warten = 0; c(d); }, t); p.q = g; this.requests.parameter.push(p); this.requests.anzahl++; }, get: function(url, callback){ if(laut.ajax.warten == 1){ return false; } else { laut.ajax.warten = 1; } jQuery.get(url, '', function(responseData){ laut.ajax.warten = 0; callback(responseData); }) }, post: function(url, params, callback){ if(laut.ajax.warten == 1){ return false; } else { laut.ajax.warten = 1; } jQuery.post(url, params, function(responseData){ laut.ajax.warten = 0; callback(responseData); }) }, requests: { anzahl: 0, parameter: new Array() }, info: function(){ $ = jQuery; // gibt es schon ein ajax-info-div? if($('#lautAjaxInfo').length == 0){ var div = $(document.createElement('div')); div.attr('id','lautAjaxInfo'); div.css('display','none'); div.css('position','absolute'); div.css('top','-100px'); div.css('height','44px'); div.css('width','44px'); div.css('z-index','2'); div.css('background','url(/grafiken/layout/ajaxLoader_back.png)'); var img = $(document.createElement('img')); img.attr('src','/grafiken/layout/ajaxLoader.gif'); img.css('margin','6px'); div.append(img); $('body').append(div); div.ajaxStart(function(){ laut.ajax.infoTimeout = window.setTimeout(function(){ $(div).fadeIn(100); }, 100); }); div.ajaxStop(function(){ $(this).fadeOut(100); if(laut.ajax.infoTimeout){ clearTimeout(laut.ajax.infoTimeout); $(laut.ajax).removeAttr('infoTimeout'); } }); this.infoGrafik = div; } var div = this.infoGrafik; // position setzen $('body').mousemove(function(){ if(laut && laut.seite && laut.seite.maus && laut.seite.maus.x && laut.seite.maus.y){ var x = laut.seite.maus.x+25 > $(window).width()-44 ? $(window).width()-44 : laut.seite.maus.x+25; var y = laut.seite.maus.y+25 > $(window).height()-44+$(window).scrollTop() ? $(window).height()-44+$(window).scrollTop() : laut.seite.maus.y+25; div.css('top', y + 'px'); div.css('left', x + 'px'); } }); } }; // ------------------------------------ // Werbe-Frame geladen // ------------------------------------ window.laut.werbung.laden = function(){ }; window.laut.werbung.reloadAds = function(auto){ window.laut.werbung.ord = Math.random()*10000000000000000; $.each($('.werbeFrame'), function() { $(this).attr({ src: '/elemente/werbung/frameWerbung.inc.php?kategorie=' + window.laut.seite.kategorie + '&ad_genres=' }); }); }; window.laut.werbung.geladen = function(werbemittelName,werbemittelBreite,werbemittelHoehe){ if (werbemittelHoehe > 1) { // AUSNAHME: IE 7.0 verrechnet sich bei der Hoehe um 4 Pixel if ($.browser.msie && $.browser.version == '7.0') { werbemittelHoehe = werbemittelHoehe - 4; } $('div#werbung' + werbemittelName).height(werbemittelHoehe); $('div#werbung' + werbemittelName).width(werbemittelBreite); $('div#werbung' + werbemittelName).css('visibility', 'visible'); } else { $('div#werbung' + werbemittelName).height('0px'); $('div#werbung' + werbemittelName).css('visibility', 'hidden'); } }; window.laut.flashMachen = function(src, id, width, height, version, install, flashvars, params, attributes){ var div = $(document.createElement('div')); div.attr('id', id + Math.round(Math.random()*100)); $('#' + id).empty().append(div); swfobject.embedSWF(src, div.attr('id'), width, height, version, install, flashvars, params, attributes); } // ------------------------------------ // Benutzersteuerung // ------------------------------------ /** * ueberprueft ob ein benutzer eingeloggt ist * uebergibt boolean an callback-funktion * @param c callback-funktion */ window.laut.pruefeLogin = function(c){ // cookie holen var coo = document.cookie.split('; '); for(var i = 0; i < coo.length; i++) { if(coo[i].substr(0, 11) == 'laut3_login') { // schluessel von wert trennen coo = unescape(coo[i].split('=')[1]); coo = eval('(' + coo + ')'); // relevante infos sichern laut.benutzer = { id: coo.benutzer, hash: coo.hash, auth: coo.auth } break; } } // pruefen ob daten vorhanden sind if(laut.benutzer && laut.benutzer.id && laut.benutzer.id > 0) { var re = true; } else { var re = false; } if(re == true && c && typeof(c) == 'function'){ c(); } else{ laut.community.loginForm.zeigen(c); } return re; // wenn callbackfunktion exisitiert wird diese mit dem ergebnis der // pruefung aufgerufen if(c && typeof(c) == 'function') { c(re); } return re; }; /** * zum anmelden eines benutzers im js * @param d logindaten * @param c callback-funktion */ window.laut.login = function(d,c){ // falls jquery nicht existiert wird es gesetzt if(!$) { $ = jQuery; } // benutzername und passwort holen var p = { aktion: 2, passwort: d.passwort, benutzer: d.benutzer } laut.ajax.senden(p, function(data){ if(c && typeof(c) == 'function'){ if(data && data.code == 1){ laut.benutzer = { id: data.benutzer, hash: data.hash, auth: data.auth, name: data.name, bild: data.bild, url: data.url } laut.community.loginstatus(); } c(data); } }); }; // // allgemeine funktionen unter laut.seite // if(!laut.seite){ laut.seite = {}; } /** * loggt die aktuelle position des mauszeigers * @param e event des mauszeigers */ laut.seite.mousemove = function(e){ var $ = jQuery; laut.seite.maus = {}; laut.seite.maus.x = e.pageX; laut.seite.maus.y = e.pageY; } jQuery(document).ready(function(){ laut.ajax.info(); jQuery('body').mousemove(laut.seite.mousemove); }); /** * sendet tracking-anfragen an ivw und googleanalytics * @param string cat kategorie, die bei ivw gesetzt wird * @param string path pfad, der getrackt wird (google-category) * @param boolean ivw track ivw * @param boolean ga track googleanalytics * @return void */ window.laut.trackClick = function(cat, path, ivw, ga){ if (window.laut.seite.device != 'ipad' && window.laut.werbung.status == 1) { //laut.werbung.reloadAds(); } if((typeof(ivw) == 'undefined' && typeof(ga) == 'undefined')){ var ivw = true; var ga = true; } if(typeof(cat) == 'undefined' || cat == ''){ var cat = ''; switch(laut.seite.typ){ case 'home': cat = 'homepage'; break; case 'news-uebersicht': cat = 'vl_start'; break; case 'news': cat = 'vl_news'; break; case 'album-uebersicht': cat = 'ls_start'; break; case 'album': cat = 'ls_cd'; break; case 'artist-uebersicht': cat = 'wl_start'; break; case 'artist': cat = 'wl_artist'; break; case 'artist-az': cat = 'wl_archiv'; break; case 'event-uebersicht': cat = 'lh_start'; break; case 'tour': cat = 'lh_termine'; break; case 'event': cat = 'lh_suche'; break; case 'genre-uebersicht': cat = 'lw_start'; break; case 'genre': cat = 'lw_genre'; break; case 'meta': cat = 'kl_sonstiges'; break; default: cat = 'laut'; } } if(ivw === true){ var pixel = new Image(); pixel.src = 'http://laut.ivwbox.de/cgi-bin/ivw/CP/' + cat + ';' + (new Date).getTime() + '?r=' + escape(document.referrer)+"&d="+(Math.random()*100000); } if(ga === true){ if(typeof(pageTracker) != 'undefined' && pageTracker) { // protokoll und anker abschneiden var dir_path = '/' + window.location.href.split('://')[1].split('/').slice(1).join('/').split('#')[0]; // wenn das letzte zeichen ein / ist, wird er entfernt if(dir_path.substr((dir_path.length-1)) == '/'){ dir_path = dir_path.substr(0, dir_path.length-1); } // eingeloggt-status if (laut.benutzer && laut.benutzer.auth == 1){ var GA_User_Type = 'Member'; } else{ var GA_User_Type = 'Visitor'; } if (typeof(pageTracker._setCustomVar) !== 'function') { return; } pageTracker._setCustomVar( 1, "User Type", GA_User_Type, 2 ); pageTracker._trackPageview(dir_path + '#' + path); } } return; } /** * open external links in new window */ $(function(){ $('a.extern').click(function(){ $(this).attr('target', '_blank'); }); }); /* * add shuffle-function to jquery */ (function($){ $.fn.shuffle = function() { return this.each(function(){ var items = $(this).children(); return (items.length) ? $(this).html($.shuffle(items)) : this; }); } $.shuffle = function(arr) { for( var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x ); return arr; } })(jQuery); // Global functions for cookie handling function setCookie(name,value,seconds) { if (seconds) { var date = new Date(); date.setTime(date.getTime()+(seconds*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function deleteCookie(name) { setCookie(name,"",-1); }/*! * jQuery Cookie Plugin v1.3 * https://github.com/carhartl/jquery-cookie * * Copyright 2011, Klaus Hartl * Dual licensed under the MIT or GPL Version 2 licenses. * http://www.opensource.org/licenses/mit-license.php * http://www.opensource.org/licenses/GPL-2.0 */ (function ($, document, undefined) { var pluses = /\+/g; function raw(s) { return s; } function decoded(s) { return decodeURIComponent(s.replace(pluses, ' ')); } var config = $.cookie = function (key, value, options) { // write if (value !== undefined) { options = $.extend({}, config.defaults, options); if (value === null) { options.expires = -1; } if (typeof options.expires === 'number') { var days = options.expires, t = options.expires = new Date(); t.setDate(t.getDate() + days); } value = config.json ? JSON.stringify(value) : String(value); return (document.cookie = [ encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : '' ].join('')); } // read var decode = config.raw ? raw : decoded; var cookies = document.cookie.split('; '); for (var i = 0, l = cookies.length; i < l; i++) { var parts = cookies[i].split('='); if (decode(parts.shift()) === key) { var cookie = decode(parts.join('=')); return config.json ? JSON.parse(cookie) : cookie; } } return null; }; config.defaults = {}; $.removeCookie = function (key, options) { if ($.cookie(key) !== null) { $.cookie(key, null, options); return true; } return false; }; })(jQuery, document);/* ColorBox v1.1.1 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 (c) 2009 Jack Moore - www.colorpowered.com - jack@colorpowered.com Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php */ jQuery(document).ready(function($){ var clone, loadedWidth, loadedHeight, interfaceHeight, interfaceWidth, index, related, closeModal, loadingElement, modal, modalWrap, modalOverlay, modalLoadingOverlay, modalContent, loaded, modalClose, btc, bml, bmr, bbc; function setModalOverlay(){ $([modalOverlay]).css({"position":"absolute", width:$(window).width(), height:$(window).height(), top:$(window).scrollTop(), left:$(window).scrollLeft()}); } function keypressEvents(e){ if(e.keyCode == 37){ $(document).unbind('keydown', keypressEvents); $("a#contentPrevious").click(); } else if(e.keyCode == 39){ $(document).unbind('keydown', keypressEvents); $("a#contentNext").click(); } } closeModal = function(){ if($("#colorboxInlineTemp").length > 0){ $(loaded).children().insertAfter("#colorboxInlineTemp"); } $([modalOverlay, modal]).css({cursor:"auto"}).fadeOut("fast", function(){ $(loaded).remove(); $(modal).removeData("open"); }); if(loadingElement){$(loadingElement).remove();} $(document).unbind('keydown', keypressEvents); $(window).unbind('resize scroll', setModalOverlay); }; // Convert % values to pixels function setSize(size, dimension){ return (typeof size == 'string') ? (size.match(/%/) ? (dimension/100)*parseInt(size, 10) : parseInt(size, 10)) : size; } //Initialize the modal: store common calculations, preload the interface graphics, append the html. $(function(){ $("body").append( $([ modalOverlay = $('
')[0], modal = $('')[0] ]).hide() ); $(modal).append( $([ modalWrap = $('')[0] ]) ); $(modalWrap).append( $([ $('";
if (info[0]){
contentInfo += info[0] + "
";
}
if (info[1]){
contentInfo += "" + info[1] + "";
}
contentInfo += "
Request unsuccessful.
")); } }); } } function contentNav(){ $(modalLoadingOverlay).show(); if($(this).attr("id") == "contentPrevious"){ index = index > 0 ? index-1 : related.length-1; } else { index = index < related.length-1 ? index+1 : 0; } buildGallery(related[index]); // aktion: bildwechsel if(typeof(settings.trackContent) != 'object' && settings.trackContent !== false){ laut.trackClick('wl_foto','foto'); } else { laut.trackClick(settings.trackContent[0], settings.trackContent[1]); } return false; } $(this).bind("click.colorbox", function () { if ($(modal).data("open") !== true) { $(modal).data("open", true); if(settings.fixedWidth){ settings.fixedWidth = setSize(settings.fixedWidth, document.documentElement.clientWidth);} if(settings.fixedHeight){ settings.fixedHeight = setSize(settings.fixedHeight, document.documentElement.clientHeight);} $(modalClose).html(settings.modalClose); $(modalOverlay).css({"opacity": settings.bgOpacity}); $([modal, modalLoadingOverlay, modalOverlay]).show(); modalPosition(setSize(settings.initialWidth, document.documentElement.clientWidth), setSize(settings.initialHeight, document.documentElement.clientHeight), 0); if (this.rel && 'nofollow' != this.rel) { related = $("a[rel='" + this.rel + "']"); index = $(related).index(this); } else { related = $(this); index = 0; } $(modal).css({"opacity":1}); buildGallery(related[index]); $("a#contentPrevious, a#contentNext, .modalPhoto").die().live("click", contentNav); $(document).bind('keydown', keypressEvents); if ($.browser.msie && $.browser.version < 7) { $(window).bind("resize scroll", setModalOverlay); } } if(settings.overlayClose!==false){ $(modalOverlay).css({"cursor":"pointer"}).click(function(){closeModal();}); } // aktion: galerie oeffnen if(typeof(settings.trackOpen) != 'object' && settings.trackOpen !== false){ laut.trackClick('wl_foto','galerie'); } else { laut.trackClick(settings.trackOpen[0], settings.trackOpen[1]); } $('#modalClose, #modalBackgroundOverlay').die('mousedown'); $('#modalClose, #modalBackgroundOverlay').live('mousedown', function(){ // aktion: galerie schliessen if(typeof(settings.trackClose) != 'object' && settings.trackClose !== false){ laut.trackClick('wl_foto','galeriex'); } else { laut.trackClick(settings.trackClose[0], settings.trackClose[1]); } }); return false; }); if(settings.open!==false && $(modal).data("open")!==true){ $(this).triggerHandler('click.colorbox'); } return this.each(function() { }); }; /* ColorBox Default Settings. The colorbox() function takes one argument, an object of key/value pairs, that are used to initialize the modal. Please do not change these settings here, instead overwrite these settings when attaching the colorbox() event to your anchors. Example (Global) : $.fn.colorbox.settings.transition = "fade"; //changes the transition to fade for all colorBox() events proceeding it's declaration. Example (Specific) : $("a[href='http://www.google.com']").colorbox({fixedWidth:"90%", fixedHeight:"450px", iframe:true}); */ $.fn.colorbox.settings = { transition : "elastic", // Transition types: "elastic", "fade", or "none". transitionSpeed : 350, // Sets the speed of the fade and elastic transitions, in milliseconds. initialWidth : "400", // Set the initial width of the modal, prior to any content being loaded. initialHeight : "400", // Set the initial height of the modal, prior to any content being loaded. fixedWidth : false, // Set a fixed width for div#loaded. Example: "500px" fixedHeight : false, // Set a fixed height for div#modalLoadedContent. Example: "500px" inline : false, // Set this to the selector of inline content to be displayed. Example "#myHiddenDiv" or "body p". iframe : false, // If 'true' specifies that content should be displayed in an iFrame. href : false, // This can be used as an alternate anchor URL for ColorBox to use, or can be used to assign a URL for non-anchor elments such as images or form buttons. bgOpacity : 0.85, // The modalBackgroundOverlay opacity level. Range: 0 to 1. preloading : true, // Allows for preloading of 'Next' and 'Previous' content in a shared relation group (same values for the 'rel' attribute), after the current content has finished loading. Set to 'false' to disable. contentCurrent : "image {current} of {total}", // the format of the contentCurrent information contentPrevious : "previous", // the anchor text for the previous link in a shared relation group (same values for 'rel'). contentNext : "next", // the anchor text for the next link in a shared relation group (same 'rel' attribute'). modalClose : "close", // the anchor text for the close link. Esc will also close the modal. open : false, //Automatically opens ColorBox. (fires the click.colorbox event without waiting for user input). overlayClose : true //If true, enables closing ColorBox by clicking on the background overlay. }; }); /*! jQuery UI - v1.8.23 - 2012-08-15 * https://github.com/jquery/jquery-ui * Includes: jquery.ui.core.js * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ (function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e