
window.addEvent('domready', function() {

   // toggle of items on page "Leistungen"
   $ES('div.news-list-item div.content').setStyle("display", "none");
    
	// toggle of person details
	$ES('div.vcard div.intro').setStyle("display", "block");
	$ES('div.vcard div.content').setStyle("display", "none");
	
	// person details are shown on page "Kontakt"
	$ES('.parent_55 div.vcard div.content').toggleClass("content-toggled");
	$ES('.parent_55 div.vcard div.intro').toggleClass("intro-toggled");
	
   $ES("div.toggle").addEvent('click', function(e){
	    this.getParent().getElement('div.content').toggleClass('content-toggled');
	    this.getParent().getElement('div.intro').toggleClass('intro-toggled');
	    this.getParent().getElement('div.title').toggleClass('title-toggled');
	});
		
	/* toggle of form in news */
	$ES('#page_10 #element-188 .tx-veguestbook-pi1 .entry').setStyle("display", "none");
	$ES('#page_10 #element-189 #mailform').setStyle("display", "none");
	$ES('#page_10 #element-190 #mailform').setStyle("display", "none");
	$ES('#page_60 #element-191 .body').setStyle("display", "none");
	$ES('#page_60 #element-192 #mailform').setStyle("display", "none");

	$ES('#page_10 #element-188 .tx-veguestbook-pi1 h1').addEvent('click', function(e){
		$ES('#page_10 #element-188 .tx-veguestbook-pi1 .entry').toggleClass('toggled');
	});
	$ES('#page_10 #element-189 h1').addEvent('click', function(e){
		$ES('#page_10 #element-189 #mailform').toggleClass('toggled');
	});
	$ES('#page_10 #element-191 h1').addEvent('click', function(e){
		$ES('#page_10 #element-191 .body').toggleClass('toggled');
	});
	$ES('#page_60 #element-192 h1').addEvent('click', function(e){
		$ES('#page_60 #element-192 #mailform').toggleClass('toggled');
	});
	
	/* toggle of form in blog */
	$ES('#page_41 #element-19 .tx-veguestbook-pi1 .entry').setStyle("display", "none");
	$ES('#page_41 #element-139 #mailform').setStyle("display", "none");
	$ES('#page_41 #element-20 #mailform').setStyle("display", "none");
	$ES('#page_41 #element-93 .body').setStyle("display", "none");
	$ES('#page_41 .tt-news-trackbackurl .entry').setStyle("display", "none");
	
	$ES('#page_41 #element-19 .tx-veguestbook-pi1 h1').addEvent('click', function(e){
		$ES('#page_41 #element-19 .tx-veguestbook-pi1 .entry').toggleClass('toggled');
	});
	$ES('#page_41 #element-139 h1').addEvent('click', function(e){
		$ES('#page_41 #element-139 #mailform').toggleClass('toggled');
	});
	$ES('#page_41 #element-20 h1').addEvent('click', function(e){
		$ES('#page_41 #element-20 .body').toggleClass('toggled');
	});
	$ES('#page_41 #element-93 h1').addEvent('click', function(e){
		$ES('#page_41 #element-93 .body').toggleClass('toggled');
	});
	$ES('#page_41 .tt-news-trackbackurl h1').addEvent('click', function(e){
		$ES('#page_41 .tt-news-trackbackurl .entry').toggleClass('toggled');
	});
	
	// display contact form in a lightbox
    $ES("a.go-to-contactform").addEvent('click', function(e){
        //$("#lightbox #lightbox-content").hide();
        var arrayPageSize = getPageSize();
        $("overlay").setStyle("height", arrayPageSize[1] + 'px');
        $("overlay").setStyle("width", arrayPageSize[0] + 'px');
        //$("#overlay").fadeIn();
        var myFx = new Fx.Style("overlay", 'opacity').start(0,0.5); //display a transition from transparent to opaque.
        new Event(e).stop();
        $("lightbox").setStyle("left", (((arrayPageSize[0] - 20 - $("lightbox").getStyle("width").toInt()) / 2) + 'px'));
        $("lightbox").setStyle("display", "block");
        $('ajax_loading').setStyle("display", "block");
        var myAjax = new Ajax(this.getProperty("href") + "&type=ajax", {
        	method: 'get',
        	update: $('lightbox-content'),
        	onComplete: outputRequest
        });
        myAjax.request();
        
        return false;
    });
});

function outputRequest(request) {
	$('lightbox-content').setStyle("display", "block");
	$('ajax_loading').setStyle("display", "none");
	//$("lightbox lightbox-content").fadeIn();
	//$("lightbox lightbox-content").html(html);
	initEvents();
}


function initEvents() {
	// close lightbox
	$ES(".close-lightbox").addEvent('click', function(e){
	    var myFx = new Fx.Style("overlay", 'opacity').start(0.5,0);
        new Event(e).stop();
        $('lightbox-content').setStyle("display", "none");
        return false;
	});
	
    // submit lightbox
	$ES('#contactform').addEvent('submit', function(e) {
		new Event(e).stop();
		$('ajax_loading').setStyle("display", "block");
		this.send({
			update: $('lightbox-content'),
			onComplete: function() {
				$('ajax_loading').setStyle("display", "none");
				initEvents();
			}
		});
	});
}

// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
function getPageSize(){
    
    var xScroll, yScroll;
    
    if (window.innerHeight && window.scrollMaxY) {  
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    
    var windowWidth, windowHeight;
    if (self.innerHeight) { // all except Explorer
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }   
    
    // for small pages with total height less then height of the viewport
    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else { 
        pageHeight = yScroll;
    }

    // for small pages with total width less then width of the viewport
    if(xScroll < windowWidth){  
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }


    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    return arrayPageSize;
}
