		function ClearFieldText(field)
		{
		   if(field.value=="Max." || field.value=="Min.")
		   {
		      field.value = "";
		   }     
		}
		
		function ClearFieldTextByClassID(className)
		{
		   var classElements = getElementsByClass(className,null,null);
		   if(classElements[0])
		   {
		      classElements[0].value = "";
		   }     
		}
		
		function ResetFieldText(field,fieldValue)
		{
		   if(field.value=="" || field.value==null)
		   {
		      field.value = fieldValue;
		   }
		}

		/**
		 * @param searchType Type of field which is known, can be 'ID', etc.  
		 * @param searchFor Name of the search plugin. 
		 * @param className source field (css class name)
		 * @param returnClassName target field (css class name)
		 * @param params map of parameter. 
		 * @param url url to popup
		 * @return
		 */
		function startSearchPopup2(searchType,searchFor,className,params, url) {

			var classElements = getElementsByClass(className,null,null);
			if(classElements[0]!=null) {
				var value = classElements[0].value;
				var postParams = joinAssocArray({ 
						"searchParam":value, 
						"searchFildID":className, 
						"searchType":searchType, 
						"searchFor":searchFor
					},params);
				addPostIFramePopup('ID','Suche',url, postParams,800,600);				
			}
		}
		
		function joinAssocArray(dest_array, src_array)
		{
			for (attr in src_array) { dest_array[attr] = src_array[attr]; }
			return dest_array;
		}
		
		function startSearchPopup(searchType,searchFor,className,returnClassName,url)
		{
			var classElements = getElementsByClass(className,null,null);
			if(classElements[0]!=null)
			{
				var value = classElements[0].value;
				addPostIFramePopup('ID','Suche',url, { 
					"searchParam":value, 
					"returnFildID":returnClassName, 
					"searchFildID":className, 
					"searchType":searchType, 
					"searchFor":searchFor
				},800,600);	     	  
			}
		}
		
		function startSearchPopupForName(searchType,searchFor,searchParam,returnClassID,returnClassName,url)
		{
			var classElements = getElementsByClass(searchParam,null,null);
			if(classElements[0]!=null)
			{
				var value = classElements[0].value;
				addPostIFramePopup('ID','Suche',url, { 
					"searchParam":value, 
					"returnFildID":returnClassName, 
					"searchFildID":returnClassID, 
					"searchType":searchType, 
					"searchFor":searchFor
				},800,600);
			}
		}
	
		function resetField(field)
		{
		   var classElements = getElementsByClass(field,null,null);
		   
		   if(classElements[0]!=null)
		   {
		      classElements[0].value='';
		   }	
		}
		
		function startSearchWith2Param(searchType,searchFor,className,className2,returnClassName,url)
		{
			var classElements = getElementsByClass(className,null,null);
			var classElements2 = getElementsByClass(className2,null,null);
			var param = className;
			var param2 = className2;

			if(classElements[0]!=null)
			{
				param = classElements[0].value;
			}		   		   		   
			if(classElements2[0]!=null)
			{
				param2 = classElements2[0].value;
			}

			var value = classElements[0].value;
			addPostIFramePopup('ID','Suche',url, { 
				"searchParam":param,
				"searchParam2":param2,
				"returnFildID":returnClassName, 
				"searchFildID":returnClassID, 
				"searchType":searchType, 
				"searchFor":searchFor
			},400,600);
		}
		
		function getElementsByClassOnParent(searchClass,node,tag) {
			
				var classElements = new Array();
				
				if(searchClass === "") {
					return classElements;
				}
				
				if ( node == null )
					node = window.parent.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 ReplicateData(sourceElemClass,destElemClass)
		{
		    var classElements = getElementsByClassOnParent(sourceElemClass,null,null);
		    if( classElements[0] !=null )
		    {
				var classElements2 = getElementsByClassOnParent(destElemClass,null,null);
				for (i = 0; i < classElements2.length; i++) {
					if(classElements2[i]!=null)
					{
					   classElements2[i].value = classElements[0].value;
					}
				}
			}
		}
		
		function StartLoadPopupAndFireButtonAction(buttonClass)
		{
			var classElements = getElementsByClassOnParent(buttonClass,null,null);
			addLoadingPopupWithCloseButton('ID','Daten werden gespeichert',260,130);
			for (i = 0; i < classElements.length; i++) {
				if(classElements[i]!=null)
				{				  
				  classElements[i].click();
				}
			}
						
		}	
			
		function FireButtonActionOnParent(buttonClass)
		{
			var classElements = getElementsByClassOnParent(buttonClass,null,null);
			for (i = 0; i < classElements.length; i++) {
				if(classElements[i]!=null)
				{				  
				  classElements[i].click();
				}
			}			
		}
		
		function YesNoPopupFireButtonAction(message,buttonClass,buttonClass2)
		{
		    var classElements = getElementsByClassOnParent(buttonClass,null,null);
		    if(!confirm(message)){
			   classElements = getElementsByClassOnParent(buttonClass2,null,null);
			}
			for (i = 0; i < classElements.length; i++) {
				if(classElements[i]!=null)
				{				  
				  classElements[i].click();
				}
			}
						
		}
		
		function YesNoPopupFireButtonActionById(message,buttonId1,buttonId2)
		{
		    var button = document.getElementById(buttonId1);
		    if(!confirm(message)){
		    	button = document.getElementById(buttonId2);
			}
		    button.click();
		}
		
		function SubmitAndCloseSearch(value1,value2,dataInputClass,returnInputClass,popupID)
		{
			var classElements = getElementsByClassOnParent(returnInputClass,null,null);
			for (i = 0; i < classElements.length; i++) {
				if(classElements[i]!=null)
				{
				  classElements[i].value = value2;
				  if(classElements[i].onchange){ classElements[i].onchange(); }
				}
			}
			var classElements2 = getElementsByClassOnParent(dataInputClass,null,null);
			for (i = 0; i < classElements2.length; i++) {
				if(classElements2[i]!=null)
				{
				  classElements2[i].value = value1;
				  if(classElements2[i].onchange){ classElements2[i].onchange(); }
				}
			}
		    styledPopupClose(popupID);	
		    
		    //set focus to first filled id field
		    if(classElements2.length > 0 && classElements2[0] != null) {
		    	classElements2[0].focus();
		    }
		    
		}
			
		function showHideElement(elementID)
		{			
		    if(document.getElementById(elementID))
		    {		
		    	if(document.getElementById(elementID).style.display!='')
		    	{    	
		    	    document.getElementById(elementID).style.display = '';
		    	}
		    	else
		    	{
		    	   document.getElementById(elementID).style.display = 'none';
		    	}
			}
		}

		function setMouseOverStyle(obj,styleClass)
		{
			var elclass = obj.getAttribute("class"); 
			elclass = elclass? elclass : obj.getAttribute("className");
			if(elclass!="nutzungDisabledTextBox" && elclass!="nutzungDisabledTextBoxLittle") {
		   		//obj.setAttribute("class","nutzungSelectedTextBox");
		   		//obj.setAttribute("className","nutzungSelectedTextBox");
		   		obj.setAttribute("class",styleClass);
		   		obj.setAttribute("className",styleClass);		   		
		   }
		}
		
		function setMouseOutStyle(obj,styleClass)
		{
			var elclass = obj.getAttribute("class"); 
			elclass = elclass? elclass : obj.getAttribute("className");
			if(elclass!="nutzungDisabledTextBox" && elclass!="nutzungDisabledTextBoxLittle") {
		    	//obj.setAttribute("class","nutzungTextBox");		    	
		    	//obj.setAttribute("className","nutzungTextBox");
		    	obj.setAttribute("class",styleClass);
		    	obj.setAttribute("className",styleClass);		    	
		    }
		}
		
		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;
		}
		
		String.prototype.contains = function(t) { return this.indexOf(t) >= 0 ? true : false; }
		
		function showTabElementsByClass(tabType,group,startLetter) {
			var els = getElementsByClass(tabType, null, null);
			var elsLen = els.length;

			if(group != null && group == tabType+'Alle'+tabType) {
				group = null;
			}
			
			for (i = 0, j = 0; i < elsLen; i++) {
				if ( (group==null         || els[i].className.contains(group) ) &&
				     (startLetter == null || els[i].className.contains(startLetter) )) {
					els[i].parentNode.style.display = '';
				} else {
					els[i].parentNode.style.display = 'none';
				}
			}
		}
		
		function showSubTabElementsByType(tabType,type) {
			var els = getElementsByClass(tabType+'Tabs', null, null);
			var elsLen = els.length;
			
			for (i = 0, j = 0; i < elsLen; i++) {
				if ( els[i].className.contains(type) ) {
					els[i].parentNode.style.display = '';
				} else {
					els[i].parentNode.style.display = 'none';
				}
			}
		}