window.addEvent('domready', init); function init() { fixed_margin_top = $('top').getCoordinates().height + $('top').getCoordinates().top; margin_top = 20; margin_bottom = 50; content_header_height = 20; window_resize('resize'); loadStyle(); draggable_window = new Drag('content_wrapper', { 'handle': 'content_head', 'snap': 0}); if($('referenzen_content')) { $$('#referenzen_content a').set('rel', 'lightbox'); } Slimbox.scanPage(); $(window).addEvent('resize', function(){ if(viewport_height != $$('body')[0].getSize().y) { window_resize('reresize'); } }); if($('backgroundimage') && !$('no_autoslideshow')) { screensaver_timer('start'); } if($('overlay')) { $('overlay').set('tween', {duration: 'long'}); } if($$('.large').length > 0 && $$('.large').getLast().getElements('img').length > 1) { ce_slideshow($$('.large').getLast(), 'img'); } if($$('.startseite_slideshow').length > 0 && $$('.startseite_slideshow').getLast().getElements('img').length > 1) { ce_slideshow($$('.startseite_slideshow').getLast(), 'img', 8000); } if($('backgroundimage') && !$('no_autoslideshow')) { $(document).addEvent('mousemove', function(event){ if($defined(screensaver_delay)) { screensaver_timer('restart'); mousepos_x = event.client.x; mousepos_y = event.client.y; timestamp = (new Date()).getTime(); } else { if(typeof(timestamp) != 'undefined' && ((new Date()).getTime() - timestamp) > 1000) { if(event.client.x > (mousepos_x + 10) || event.client.x < (mousepos_x - 10) || event.client.y > (mousepos_x + 10) || event.client.y < (mousepos_y - 10)) { timestamp = (new Date()).getTime(); screensaver('stop'); } } else if(typeof(timestamp) == 'undefined') { timestamp = (new Date()).getTime(); screensaver('stop'); } } }); } if(!$('no_autoslideshow')) { $('minimieren').addEvent('click', function(){ minimize(); screensaver('start'); }); $('maximieren').addEvent('click', function(){ maximize(); }); } $('toggle_rot').addEvent('click', function(){ setStyle('mkb_rot'); }); $('toggle_blau').addEvent('click', function(){ setStyle('mkb_blau'); }); $('toggle_grau').addEvent('click', function(){ setStyle('mkb_grau'); }); } function screensaver_timer(action) { if($('backgroundimage')) { switch(action) { case 'start': screensaver_delay = screensaver.delay(60000, null, 'start'); break; case 'restart': screensaver_timer('stop'); screensaver_timer('start'); break; case 'stop': screensaver_delay = $clear(screensaver_delay); break; } } } function screensaver(action) { switch(action) { case 'start': minimize(); if($('overlay')) { $('overlay').fade('0'); screensaver_slideshow(); } screensaver_timer('stop'); break; case 'stop': screensaver_timer('start'); if($('overlay')) { $('overlay').fade('1'); screensaver_slideshow_fader = $clear(screensaver_slideshow_fader); } maximize.delay(1000); break; } } function screensaver_slideshow() { if($('backgroundimage')) { image_urls = ['tl_files/images/background/01.jpg','tl_files/images/background/02.jpg','tl_files/images/background/03.jpg','tl_files/images/background/04.jpg','tl_files/images/background/05.jpg','tl_files/images/background/06.jpg','tl_files/images/background/07.jpg','tl_files/images/background/08.jpg','tl_files/images/background/09.jpg','tl_files/images/background/10.jpg','tl_files/images/background/11.jpg','tl_files/images/background/12.jpg','tl_files/images/background/13.jpg','tl_files/images/background/14.jpg','tl_files/images/background/15.jpg','tl_files/images/background/16.jpg','tl_files/images/background/17.jpg','tl_files/images/background/18.jpg','tl_files/images/background/19.jpg','tl_files/images/background/20.jpg','tl_files/images/background/21.jpg',] $('backgroundimage').set('tween', {duration: 1000}); screensaver_slideshow_fader = (function(){ var next_image = image_urls.getRandom(); while(next_image == $('backgroundimage').getProperty('src')) { next_image = image_urls.getRandom(); } var preload = new Asset.image(next_image); $('backgroundimage').setProperty('src', next_image); }).periodical(5000); } } function window_resize(type) { content_wrapper_el = $('content_wrapper'); viewport_height = $(document).getSize().y; if(type != 'reresize') { content_height = content_wrapper_el.getSize().y; } var max_content_height = viewport_height - fixed_margin_top - margin_top - margin_bottom; if(content_height > max_content_height) { var new_content_height = max_content_height; var new_margin_top = margin_top; } else { var new_content_height = content_height; var new_margin_top = (max_content_height - content_height) / 2 + margin_top - content_header_height; if(new_margin_top < 10) { new_margin_top = 10; } } $('content_wrapper').setStyles({'top': new_margin_top, 'height': new_content_height}); $('naviMeta').setStyles({'top': new_margin_top}); $('content').setStyles({'overflow-x': 'hidden', 'overflow-y': 'auto', 'height': new_content_height - content_header_height}); if($('referenzen_content')) { $('referenzen_content').setStyle('height', new_content_height - content_header_height); } } function minimize() { var content_wrapper_el = document.getElementById('content_wrapper'); if(content_wrapper_el.className != 'minimized') { content_wrapper_el.className = 'minimized'; content_h2_data = document.getElementById('content').getElementsByTagName('h2')[0].firstChild.data; var content_head_headline = document.getElementById('content_head_headline').firstChild; content_head_headline.data = content_h2_data; content_wrapper_el.setStyle('height', 0); } } function maximize() { var content_wrapper_el = document.getElementById('content_wrapper'); if(content_wrapper_el.className != 'maximized' && content_wrapper_el.className != '') { content_wrapper_el.className = 'maximized'; var content_head_headline = document.getElementById('content_head_headline').firstChild; content_head_headline.data = ' '; } if(!$('backgroundimage')) { $('overlay').fade('1'); } window_resize('reresize'); } function ce_slideshow(container, type, length) { var length = length ? length : 4000 ; var elements = container.getElements(type); var elementcount = elements.length - 1; var visible = 0; elements.fade('hide'); elements[visible].fade('show'); var fader = window.setInterval(function(){ elements[visible].fade(0); if(visible == elementcount) { visible = 0; } else { visible = visible + 1; } elements[visible].fade(1); }, length); }