function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}


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;
  	}
}

var resObjekt;

function new_resObjekt()
{
	if(navigator.appName.search("Microsoft") > -1)
	{
		// resObjekt = new ActiveXObjekt("Microsoft.XMLHTTP");
		resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
	}
	else
	{
		resObjekt = new XMLHttpRequest();
	}
}


function loadWait(divID)
{
	document.getElementById(divID).innerHTML = "<img src=\"p/ajax_waiting.gif\" alt=\"wait\" title=\"wait\">";
}


function handleResponse(divID)
{	
	if(resObjekt.readyState == 4)
	{	
		if(document.getElementById(divID))
		{
			document.getElementById(divID).innerHTML = resObjekt.responseText;
		}
	}
}


function createHelpLayer(string)
{
	if(!string)
	{
		document.body.removeChild(document.getElementById("helpLayer"));
	}
	else
	{
		if(document.getElementById("helpLayer"))
		{
			document.body.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.body;
		output.appendChild(newHelpLayer);
	
		fillHelpLayer(string);
	}
}


function fillHelpLayer(string)
{
	new_resObjekt();
	loadWait('helpLayer');	
    resObjekt.open('POST', 'inc/inc_fill_help_layer.php', true);	
	resObjekt.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	resObjekt.send('string='+string);	
	resObjekt.onreadystatechange = function()
	{
		handleResponse('helpLayer');
	}
}


function setFirstRubrik()
{
   if(document.getElementById('rubrik').value != "")
   {
       el = document.termine.elements["rubriken[]"];
       j = el.length;

       for(i=0;i<j;i++)
       {
          el[i].checked = false;
          // el[i].disabled = false;
       }

       var set = "r"+document.getElementById('rubrik').value;       
       // document.getElementById(set).disabled = true;
       document.getElementById(set).checked = true;
   }
   else
   {
       el = document.termine.elements["rubriken[]"];
       j = el.length;

       for(i=0;i<j;i++)
       {
          el[i].checked = false;
          // el[i].disabled = false;
       }
   }
}



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";
				if(clearing == true)
				{
					document.getElementById('inner'+thisName).innerHTML = "";
				}
				
				if(oldHeight == 0) { document.arrow.src = "p/arrow_down.gif"; }
                    else { document.arrow.src = "p/arrow_top.gif"; } 
		     }
			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";

               if(oldHeight == 0) { document.arrow.src = "p/arrow_down.gif"; }
               else { document.arrow.src = "p/arrow_top.gif"; }           
		}
	}
	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";
               
               if(oldHeight == 0) { document.arrow.src = "p/arrow_down.gif"; }
               else { document.arrow.src = "p/arrow_top.gif"; }        
		}
	}
}

function toggleHeight(thisName)
{

	oldHeight = parseInt(document.getElementById(thisName).offsetHeight);
	newHeight = parseInt(document.getElementById('inner'+thisName).offsetHeight);
	// 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";

}

function clearSearchForm(option)
{
	if(option != "rubrik") { document.termine.rubrik.options[document.termine.rubrik.selectedIndex].value = ""; }
	if(option != "region") { document.termine.region.options[document.termine.region.selectedIndex].value = ""; }
	if(option != "anforderung") { document.termine.anforderung.options[document.termine.anforderung.selectedIndex].value = ""; }
	if(option != "datum") { document.termine.datum.options[document.termine.datum.selectedIndex].value = ""; }	
}
