/**********************************************************************************
*	Function	:	openWindow
*	
*	Description	:	Opens a new browser window
*
*	Arguments	:	width,height,href,target
*
***********************************************************************************/

function openWindow(b,h,ziel,fenster)
{
	var x=(screen.width-b)/2;
	var y=(screen.height-h)/2;
	var opt='resizable=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,toolbar=0,width='+b+',height='+h+',screenX='+x+',screenY='+y+',left='+x+',top='+y;
	window.open(ziel,fenster,opt);
}

/**********************************************************************************
*	Function	:	formOnLoadFunctions
*	
*	Description	:	function to call Functions needed onload
*
*	Arguments	:	calling script name, mixed Arguments as Array
*
***********************************************************************************/
function formOnLoadFunctions(formOnLoadScriptName, formOnLoadMixedArguments)
{
	;// space for Functions to start onload
}


/**********************************************************************************
*	Function	:	checkEntries
*	
*	Description	:	Allows only a predefined Number of Checkboxentries
*					
*					var numAllowed				= new Array(); 
*					var maxCheckIndex			= new Array();
* 
*					var elementsChecked--ID-- 	= new Array();
*					maxCheckIndex[--ID--] 		= 0;
*					numAllowed[--ID--] 			= x; these Variable are inserted by calling script in body
*
*	Arguments	:	checkElementName, myForm, elementCheckedArray(name of Variable)
*
***********************************************************************************/

function checkEntries(checkElementName,myForm,elementCheckedArray) 
{	
	// get formtypeId
	nameSplitted	  = checkElementName.split('[');
	actualFormtypeId  = nameSplitted[0];//nameSplitted[0];
	
	// get index of element chosen
	for(i = 0; i < myForm.elements.length; ++i)
	{
		if(myForm.elements[i].name == checkElementName)
		{
			elementIndex = i;
		}	
	}
	
	// check if click for Element saved and unchecked again
	for(i = 0; i <= eval(elementCheckedArray).length; ++i)
	{
		if(eval(elementCheckedArray)[i] == elementIndex)
		{
			eval(elementCheckedArray)[i] = false;
			maxCheckIndex[actualFormtypeId]--;
			return;
		}	
	}
	
	// look if allowed number exceeded
	if(maxCheckIndex[actualFormtypeId] >= numAllowed[actualFormtypeId])
	{
		for(i = 0; i <= eval(elementCheckedArray).length ; ++i)
		{
			if(eval(elementCheckedArray)[i] != false)
			{
				indexOfGroupToUncheck = eval(elementCheckedArray)[i];
				myForm.elements[indexOfGroupToUncheck].checked = 0;
				eval(elementCheckedArray)[i] = elementIndex;
				return;
			}
		}
	}
	// find empty slot to save new entry
	for(i = 0; i <= numAllowed[actualFormtypeId]; ++i)
	{
		if(!eval(elementCheckedArray)[i])
		{
			// add checked element to choosen 
			eval(elementCheckedArray)[i] = elementIndex;
			// increment counter
			++maxCheckIndex[actualFormtypeId];
			return;
		}
	}
	return;
}