// JavaScript Document


function toggleCriteriaBlock(node){
	var displaynode = getNextSibling(node.parentNode.parentNode.parentNode);
	if (node.checked){
		new Effect.Appear(displaynode, {duration:0.4, afterFinish:toggleSyncWithChechboxState});
		return;
	}else{
		new Effect.Fade(displaynode, {duration:0.3, afterFinish:toggleSyncWithChechboxState});
		return;
	}
		
	//new Effect.toggle(displaynode, 'appear', {duration:0.3, afterFinish:toggleSyncWithChechboxState});

	function toggleSyncWithChechboxState(){
		//check if Checkbox has still the state of the beginning, if not, correct that failure
		if (node.checked){
			new Effect.Appear(displaynode, {duration:0});
			return;
		}else{
			new Effect.Fade(displaynode, {duration:0});
			return;
		}
	}	

}


function toggleContact(element){
		var node = element;
			
		var cls = "class";
        if(navigator.userAgent.indexOf("MSIE")>0) {
                cls = "className";
        }
		
			
		var displaynode = getNodeByClass(node.parentNode.parentNode, "additional-text");
		//var displaynode = getNodeByClass(displaynode, "additional-text");
		//new Effect.toggle(displaynode, 'slide', {duration:0.2, afterFinish:changeDate} );

		if (node.innerHTML == "show details"){
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "block";
					changeData();
					return;
			}
			
			new Effect.SlideDown(displaynode, {duration:0.3, afterFinish:changeData});
			return;
		}
		else{
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "none";
					changeData();
					return;
			}
			
			new Effect.SlideUp(displaynode, {duration:0.3, beforeStart:changeData});
			return;
		}


		
		function changeData(){
			if (node.innerHTML == "show details" ) {
			 	node.innerHTML = "hide details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-en-hide');
				/*show image*/
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "none";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "block";				
				return;
			} else if (node.innerHTML == "hide details" ) {	
				node.innerHTML = "show details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-en');
				/*hide image*/
				//new Effect.Fade(getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage'), {duration:0.3}); 
				//new Effect.Appear(getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage'), {duration:0.3});  
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "block";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "none";					
				return;
			}
		}
		

}


function toggleContact_de(element){
		var node = element;
			
		var cls = "class";
        if(navigator.userAgent.indexOf("MSIE")>0) {
                cls = "className";
        }
		
			
		var displaynode = getNodeByClass(node.parentNode.parentNode, "additional-text");
		//var displaynode = getNodeByClass(displaynode, "additional-text");
		//new Effect.toggle(displaynode, 'slide', {duration:0.2, afterFinish:changeDate} );

		if (node.innerHTML == "zeige Details"){
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "block";
					changeData();
					return;
			}
			
			new Effect.SlideDown(displaynode, {duration:0.3, afterFinish:changeData});
			return;
		}
		else{
			
			if(navigator.userAgent.indexOf("Opera") > -1) {
					displaynode.style.display = "none";
					changeData();
					return;
			}
			
			new Effect.SlideUp(displaynode, {duration:0.3, beforeStart:changeData});
			return;
		}


		
		function changeData(){
			if (node.innerHTML == "zeige Details" ) {
			 	node.innerHTML = "verstecke Details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-de-hide');
				/*show image*/
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "none";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "block";				
				return;
			} else if (node.innerHTML == "verstecke Details" ) {	
				node.innerHTML = "zeige Details";
				node.parentNode.setAttribute(cls, 'trigger-addtext-de');
				/*hide image*/
				//new Effect.Fade(getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage'), {duration:0.3}); 
				//new Effect.Appear(getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage'), {duration:0.3});  
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'smallimage');
				tempNode.style.display = "block";
				tempNode = getNodeByClass(node.parentNode.parentNode.parentNode, 'bigimage');
				tempNode.style.display = "none";					
				return;
			}
		}
		

}


function scrollToElement(targetId){
	new Effect.ScrollTo(targetId, {duration:0.3});
}



/* TABBED ELEMENT - COPIED FROM wiki.script.aculo.us */

/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none 
    ---------------------------------------------------------*/
function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';
    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggleTab(num,numelems,opennum,animate) {
    if ($('tabContent'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tabHeader'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tabHeaderActive');
                    h.id = temph;
                }
                var tempc = 'tabContent'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.toggle(tempc,'blind',{duration:0.5, queue:{scope:'menus', limit: 3}});
                    else
                        toggleDisp(tempc);
                }
            }
        }
        var h = $('tabHeader'+num);
        if (h)
            h.id = 'tabHeaderActive';
        h.blur();
        var c = $('tabContent'+num);
        //c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.toggle('tabContent'+num,'blind',{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
        }else{
            toggleDisp('tabContent'+num);
        }
    }
}