 /////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS JS /////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////

var Timer;
var MouseX;
var MouseY;
var output;
var oldHeight;
var newHeight;
var changeSize;
var changeTimeout;
var returnVal;


function timer(functionName,value,time)
{
	if(time == "") { time = 100; }
	Timer = setTimeout(functionName+"('"+value+"');",time);
}

function showLayer(ID)
{
	clearTimeout(Timer);
	document.getElementById(ID).style.display = 'block';
	if(MouseX)
	{
		document.getElementById(ID).style.position = "absolute";
		document.getElementById(ID).style.top = MouseY;
		document.getElementById(ID).style.left = MouseX;
		document.getElementById(ID).style.zIndex = "5";
	}
	
}

function hideLayer(ID)
{
	clearTimeout(Timer);
	document.getElementById(ID).style.display = 'none';
}

function toggleLayer(ID)
{
	clearTimeout(Timer);
	if(document.getElementById(ID).style.display == "none")
	{
	    document.getElementById(ID).style.display = 'block';
     }
     else
     {
         document.getElementById(ID).style.display = 'none';
     }
}


function getMousePosition(thisClick)
{
	if (!thisClick) { thisClick = window.event; }
	if (document.getElementById)
	{
		if(navigator.appName == "Netscape")
		{			
	    	MouseX  = thisClick.pageX + "px";
		    MouseY = thisClick.pageY + "px";
		}
		else
		{		
			MouseX  = thisClick.clientX + "px";
		    MouseY = thisClick.clientY + document.documentElement.scrollTop + "px";
		}
	}
	else if (document.all)
	{		
    	MouseX = thisClick.pageX;
	    MouseY = thisClick.pageY;
  	}
}

function mediaLayerPositionTop()
{	
	if(document.documentElement.scrollTop)
	{
		var top = document.documentElement.scrollTop;
	}
	else
	{
		var top = window.pageYOffset;
	}
	
	document.getElementById("mediaLayer").style.top = (parseInt(top) + 50) + "px";
}

function createHelpLayer(string)
{
	if(!string)
	{
		document.getElementById("rahmen").removeChild(document.getElementById("helpLayer"));
	}
	else
	{
		if(document.getElementById("helpLayer"))
		{
			document.getElementById("rahmen").removeChild(document.getElementById("helpLayer"));
		}

		var newHelpLayer = document.createElement("div");
		
		var attribute = document.createAttribute("ID");
		attribute.nodeValue = "helpLayer";
		newHelpLayer.setAttributeNode(attribute);
	
		var attribute = document.createAttribute("class");
		attribute.nodeValue = "helpLayer";
		newHelpLayer.setAttributeNode(attribute);

		newHelpLayer.style.position = "absolute";
		newHelpLayer.style.top = MouseY;
		newHelpLayer.style.left = MouseX;
	
		output = document.getElementById("rahmen");
		output.appendChild(newHelpLayer);
	
		fillHelpLayer(string);
	}
}



function createAltLayer(ID,mode,path)
{
	if(!ID)
	{
		document.getElementById("rahmen").removeChild(document.getElementById("altLayer"));
	}
	else
	{
		if(document.getElementById("altLayer"))
		{
			document.getElementById("rahmen").removeChild(document.getElementById("altLayer"));
		}

		var newHelpLayer = document.createElement("div");
		
		var attribute = document.createAttribute("ID");
		attribute.nodeValue = "altLayer";
		newHelpLayer.setAttributeNode(attribute);
	
		var attribute = document.createAttribute("class");
		attribute.nodeValue = "altLayer";
		newHelpLayer.setAttributeNode(attribute);

		newHelpLayer.style.position = "absolute";
		newHelpLayer.style.top = parseInt(MouseY) + 5 + "px";
		newHelpLayer.style.left = parseInt(MouseX) + 5 + "px";
	
		output = document.getElementById("rahmen");
		output.appendChild(newHelpLayer);
	
		fillAltLayer(ID,mode,path);
	}
}




function changeHeight(thisName,oldHeight,newHeight,clearing)
{
	changeSize = 40;
	changeTimeout = 10;
	
	if(parseInt(document.getElementById(thisName).style.height) == newHeight)
	{		
		if(oldHeight < newHeight)
		{
			if(parseInt(newHeight)-changeSize < 0)
			{
				document.getElementById(thisName).style.height = 0+"px";
				document.getElementById(thisName+"Link").innerHTML = ">> mehr Infos";
				
				if(clearing == true)
				{
					document.getElementById('inner'+thisName).innerHTML = "";					
				}
			}
			else
			{
				document.getElementById(thisName).style.height = parseInt(newHeight)-changeSize+"px";
				setTimeout(function() { changeHeight(thisName,oldHeight,parseInt(newHeight)-changeSize) } ,changeTimeout) ;
			}
		}		
		else
		{
			document.getElementById(thisName).style.height = oldHeight+"px";									
		}	
	}
	else
	{
		if(oldHeight < newHeight)
		{
			document.getElementById(thisName).style.height = parseInt(oldHeight)+changeSize+"px";
			setTimeout(function() { changeHeight(thisName,parseInt(oldHeight)+changeSize,newHeight)} ,changeTimeout) ;
		}		
		else
		{
			document.getElementById(thisName).style.height = newHeight+"px";
			document.getElementById(thisName+"Link").innerHTML = "<< zuklappen";
		}
	}
}

function toggleHeight(thisName)
{

	oldHeight = parseInt(document.getElementById(thisName).offsetHeight);
	if(oldHeight == 0)
	{
		newHeight = parseInt(document.getElementById('inner'+thisName).offsetHeight)+15;
	}
	else
	{
		newHeight = parseInt(document.getElementById('inner'+thisName).offsetHeight)+15;
	}
	
	// alert(oldHeight+","+newHeight);
	if(oldHeight >= newHeight)
	{
		oldHeight = 0;
	}
	else
	{
		if(oldHeight > 0 && oldHeight < newHeight)
		{
			oldHeight = 0;
		}
	}
	changeHeight(thisName,oldHeight,newHeight);
}


function toggleHeightNow(thisName)
{
	// alert(thisName);
	oldHeight = parseInt(document.getElementById(thisName).offsetHeight);
	newHeight = parseInt(document.getElementById('inner'+thisName).offsetHeight);
	// alert(oldHeight+","+newHeight);
	
	
	if(oldHeight == newHeight)
	{
		newHeight = 0;
		document.getElementById('inner'+thisName).innerHTML = "";
	}
	
	if(oldHeight >= newHeight)
	{
		oldHeight = 0;
	}
	else
	{
		if(oldHeight > 0 && oldHeight < newHeight)
		{
			oldHeight = 0;
		}
	}
	document.getElementById(thisName).style.height = newHeight+"px";
	
}



var oc = 0;
var ocIE = 0;


function fadeIn()
{	
	if(oc < 0.8)
	{
		document.getElementById("overlay").style.MozOpacity = oc;
		document.getElementById("overlay").style.opacity = oc;
		document.getElementById("overlay").style.filter="alpha(opacity="+ocIE+")";
		
		oc = oc + 0.10;
		ocIE = ocIE + 10;
		
		setTimeout('fadeIn()',30);		
	}	
}

function fadeOut()
{
	document.getElementById("mediaLayer").innerHTML = "";
	document.getElementById("mediaLayer").style.width = "";	
	document.getElementById("mediaLayer").style.display = "none";		

	if(oc > 0)
	{
		document.getElementById("overlay").style.MozOpacity = oc;
		document.getElementById("overlay").style.opacity = oc;
		document.getElementById("overlay").style.filter="alpha(opacity="+ocIE+")";
		
		oc = oc - 0.15;
		ocIE = ocIE - 15;
		
		setTimeout('fadeOut()',20);
	}
	else
	{
		document.getElementById("overlay").style.MozOpacity = 0;
		document.getElementById("overlay").style.opacity = 0;
		document.getElementById("overlay").style.filter="alpha(opacity=0)";		
		
		document.getElementById("overlay").style.display = "none";
		oc = 0;
		ocIE = 0;
	}	
}


function prepareOverlay()
{
	document.getElementById("overlay").style.height = document.getElementById("wrapper").offsetHeight+"px";
	document.getElementById("overlay").style.width = document.getElementById("wrapper").offsetWidth+"px";	
	document.getElementById("overlay").style.display = 'block';
	document.getElementById("overlay").style.status = 'disabled';
}













function initTabs(sum) {

	for(var i=1; i<=sum; i++)
	{
		formarea = "formarea"+ i;
		formtab = "formtab"+ i;
		
		document.getElementById("formarea1").style.display = "none";
		document.getElementById(formtab).style.backgroundColor = "#dae4e6";
	}

	if(document.getElementById("formarea1"))
	{
		document.getElementById("formarea1").style.display = "block";
		document.getElementById("formtab1").style.backgroundColor = "#FFFFFF";
	}
}

function ChangeTab(tabID,sum)
{     
     for(var i=1; i<=sum; i++)
	{
		formarea = "formarea"+ i;
		formtab = "formtab"+ i;
		
		document.getElementById(formarea).style.display = "none";
		document.getElementById(formtab).style.backgroundColor = "#dae4e6";
	}			
	
	formarea = "formarea"+tabID;
	formtab = "formtab"+tabID;

	document.getElementById(formarea).style.display = "block";
	document.getElementById(formtab).style.backgroundColor = "#FFFFFF";
}


function ChangeTabUserAction(tabID,sum)
{
	for(var i=1; i<=sum; i++)
	{
		formarea = "formarea"+ i;
		formtab = "formtab"+ i;
		
		document.getElementById(formarea).style.display = "none";
		document.getElementById(formtab).style.backgroundColor = "#dae4e6";
	}			
	
	formarea = "formarea"+tabID;
	formtab = "formtab"+tabID;

	document.getElementById(formarea).style.display = "block";
	document.getElementById(formtab).style.backgroundColor = "#FFFFFF";
}


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

























function ajaxObj()
{
	// var ajaxObj = this;
	
	if (/\b(function|object)\b/i.test(typeof XMLHttpRequest) && XMLHttpRequest)
	{
		// try..catch wird nicht universell unterstützt, ist aber hier
		// möglicherweise notwendig
		try
		{
			this.request = new XMLHttpRequest();
		}
		catch (e) {}
	}
	else if(/\b(function|object)\b/i.test(typeof ActiveXObject) && ActiveXObject)
	{
		// s.o.; try..catch ist hier notwendig
		try
		{
			this.request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) {}
	}
}
	
	ajaxObj.prototype = {
    constructor: ajaxObj,
    request: null,
	
	
	
    sendContactForm: function(name,email,text,title,thisName)
  	{
      var req = this.request;
  		var me = this;
  		req.open('POST', 'inc/inc_send_contactform.php', true);
  		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  		req.onreadystatechange = function()
  		{
  			me.handleResponse(req,thisName);
  		}
  		req.send('name='+name+'&email='+email+'&text='+text+'&title='+title);
  	},





    handleResponse: function(req,thisName)
  	{
  		if(req.readyState == 4)
  		{
  			document.getElementById(thisName).innerHTML = req.responseText;
  		}
  	}
	
}
	
//////////////////////////////////////////////////////////////////////////////////////////////////
// HTTPREQUESTOBJEKT - OBJEKT ////////////////////////////////////////////////////////////////
///////////////

