var currentNav="d_praxis01";
var sema=false;
var setdivlayer;
var mainsheetHeight;

function getWindowWidth () {
	var myWidth = 0;
	var subWidth = 90;
	
	if( typeof( window.innerWidth ) == 'number' ) {  
		//Non-IE  
		myWidth = window.innerWidth;  
	} else if( document.documentElement && document.documentElement.clientWidth ) {  
		//IE 6+ in 'standards compliant mode'  
		myWidth = document.documentElement.clientWidth;  
	} else if( document.body && document.body.clientWidth ) {  
		//IE 4 compatible  
		myWidth = document.body.clientWidth;  
	} 
	
	while ((subWidth + 150) < myWidth && subWidth < 800) {
		subWidth += 90;
	}
	return subWidth;
	
}

function getWindowHeight () {
	var myWidth = 0;
	var subWidth = 500;
	
	var ie_offset = 0;
		if( typeof( window.innerWidth ) == 'number' ) {  
		//Non-IE  
		myWidth = window.innerWidth;  
		myHeight = window.innerHeight;  
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {  
		//IE 6+ in 'standards compliant mode'  
		myWidth = document.documentElement.clientWidth;  
		myHeight = document.documentElement.clientHeight;  
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {  
		//IE 4 compatible  
		myWidth = document.body.clientWidth;  
		myHeight = document.body.clientHeight;  
	} 
	
	return myHeight;
	
}

function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}

function showDiv(divName,divHeight){
	if (divName!=currentNav)
	{
		$('mainsheet').setStyle('height',divHeight); 
		hideDiv(currentNav);
		
		setdivlayer = document.getElementById(currentNav).style; 
		setdivlayer.display = "none";
		currentNav = divName;
		if (!sema)
		{
			setdivlayer = document.getElementById(currentNav).style; 
			setdivlayer.display = "block";
			sema = true;	
			opacity(divName, 0, 100, 1000);
		}
	}
}

function hideDiv(divName){
	sema = false;
	opacity(divName, 100, 0, 500);
}


// *****************************************************************************

var Site = {

start: function(){
	if($('vertical')) Site.vertical();
	if($('horizontal')) Site.horizontal();
	if($('accordion')) Site.accordion();
	if($('accordion2')) Site.accordion2();
},
			
vertical: function(){
	var list = $$('#vertical li div.collapse');
	var headings = $$('#vertical li h2');
	var collapsibles = new Array();
				
	headings.each( function(heading, i) {

		var collapsible = new Fx.Slide(list[i], { 
			duration: 500, 
			transition: Fx.Transitions.linear,
			onComplete: function(request){ 
				var open = request.getStyle('margin-top').toInt();
				if(open >= 0) new Fx.Scroll(window).toElement(headings[i]);
			}
		});
					
		collapsibles[i] = collapsible;
				
		heading.onclick = function(){
			var span = $E('span', heading);

			if(span){
				var newHTML = span.innerHTML == '+' ? '-' : '+';
				span.setHTML(newHTML);
			}
						
			collapsible.toggle();
			return false;
		}
					
		collapsible.hide();
					
	});
				
	$('collapse-all').onclick = function(){
		headings.each( function(heading, i) {
			collapsibles[i].hide();
			var span = $E('span', heading);
			if(span) span.setHTML('+');
		});
		return false;
	}
				
	$('expand-all').onclick = function(){
		headings.each( function(heading, i) {
			collapsibles[i].show();
			var span = $E('span', heading);
			if(span) span.setHTML('-');
		});
		return false;
	}
				
},
			
			horizontal: function(){
				var list = $$('#horizontal li div.collapse');
				var headings = $$('#horizontal li h2');
				var collapsibles = new Array();
				
				headings.each( function(heading, i) {

					var collapsible = new Fx.Slide(list[i], { 
						duration: 500, 
						transition: Fx.Transitions.linear
					});
					
					collapsibles[i] = collapsible;
					
					heading.onclick = function(){
						var span = $E('span', heading);

						if(span){
							var newHTML = span.innerHTML == '+' ? '-' : '+';
							span.setHTML(newHTML);
						}
						
						collapsible.toggle('horizontal');
						return false;
					}
					
				});
				
				$('slideout-all').onclick = function(){
					headings.each( function(heading, i) {
						collapsibles[i].hide('horizontal');
						var span = $E('span', heading);
						if(span) span.setHTML('+');
					});
					return false;
				}
				
				$('slidein-all').onclick = function(){
					headings.each( function(heading, i) {
						collapsibles[i].show('horizontal');
						var span = $E('span', heading);
						if(span) span.setHTML('-');
					});
					return false;
				}
				
			},
			
			accordion: function(){
				var list = $$('#accordion li div.collapse');
				var headings = $$('#accordion li h2');
				var hoverheadings = $$('#accordion li h2:hover');
				var collapsibles = new Array();
				var spans = new Array();
				
				headings.each( function(heading, i) {

					var collapsible = new Fx.Slide(list[i], { 
						duration: 500, 
						transition: Fx.Transitions.quadIn
					});
					
					collapsibles[i] = collapsible;
					spans[i] = $E('span', heading);
					
					heading.onclick = function(){
						var span = $E('span', heading);
						

						if (heading.getStyle('background-image').test("quadratbutton.png"))
						{
							heading.style.backgroundImage='url(img/quadratbutton2.png)';
						}
						else
						{
							heading.style.backgroundImage='url(img/quadratbutton.png)';
						}
						if(span){
							var newHTML = span.innerHTML == '+' ? '-' : '+';
							span.setHTML(newHTML);
						}
						
						for(var j = 0; j < collapsibles.length; j++){
							if(j!=i) {
								collapsibles[j].slideOut();
								headings[j].style.backgroundImage='url(img/quadratbutton.png)';

								if(spans[j]) spans[j].setHTML('+');
							}
						}
						
						collapsible.toggle();
						
						return false;
					}
					
					collapsible.hide();
				});
			},
			
			accordion2: function(){
				var list = $$('#accordion2 li div.collapse');
				var headings = $$('#accordion2 li h4');
				var hoverheadings = $$('#accordion2 li h4:hover');
				var collapsibles = new Array();
				var spans = new Array();
				
				headings.each( function(heading, i) {

					var collapsible = new Fx.Slide(list[i], { 
						duration: 500, 
						transition: Fx.Transitions.quadIn
					});
					
					collapsibles[i] = collapsible;
					spans[i] = $E('span', heading);
					
					heading.onclick = function(){
						var span = $E('span', heading);
						

						if (heading.getStyle('background-image').test("quadratbutton.gif"))
						{
							heading.style.backgroundImage='url(img/quadratbutton2.gif)';
						}
						else
						{
							heading.style.backgroundImage='url(img/quadratbutton.gif)';
						}
						if(span){
							var newHTML = span.innerHTML == '+' ? '-' : '+';
							span.setHTML(newHTML);
						}
						
						for(var j = 0; j < collapsibles.length; j++){
							if(j!=i) {
								collapsibles[j].slideOut();
								headings[j].style.backgroundImage='url(img/quadratbutton.gif)';

								if(spans[j]) spans[j].setHTML('+');
							}
						}
						
						collapsible.toggle();
						
						return false;
					}
					var headerid = heading.getProperty('id');
					if(!headerid)
					collapsible.hide();
				});
			}
			
			
			
		};
		window.addEvent('domready', Site.start);

