function checkNumber(contents)
	{
		if (isNaN(parseInt(contents)) && contents !="")
			{
				return false
			}
		return true
	}



function checkNumRange(myref,theLow,theHigh)
	{	
		var thevalue = myref.value
		if (thevalue != "")
			{
				//is it a number?
				if (checkNumber(thevalue))
					{
						if (thevalue >theHigh || thevalue < theLow)
							{
								if (theLow == theHigh)
									alert("You can only enter " + theLow + " in this field.")						
								else
									alert("You can only enter values between " + theLow + " and " + theHigh + " in this field.")
								myref.value=""
								myref.focus()
							}
						//valid entry
						else
							{
								//clearUnknown(form)
							}
					}
				else
					{
						alert("Please enter a number.")
						myref.value=""
						myref.focus()
					}
			}
	}


function evaluateFormElement(formElementRef)
{
	//alert("evaluating:" + formElementRef.name);
	//alert("evaluating");
	
	var objectType = formElementRef.type;
	//alert("type:" + objectType);
	
	if (objectType == "text" || objectType == "textarea" || objectType == "password" || objectType == "file") //it is a field
	{
		//require the field to be filled-in
		var objectValue = formElementRef.value;
		
		myregexp = /^\s+$/;
		allBlankMatch = objectValue.match(myregexp);
		//alert("value:" + objectValue);
		
		//alert(! objectValue);
		
		if (allBlankMatch || (!objectValue) )
		{
			return false;
			
			//alert("here2");
		}
		else
		{
			//we should be okay;
		}
	}
	else if (objectType == "checkbox")
	{
		//require that the checkbox be checked
		var isChecked = formElementRef.checked;
		
		if (isChecked == false)
		{
			return false;
		}
		else
		{
			//we're okay
		}	
	}
	else if (objectType == "radio")
	{
		//require that the checkbox be checked
		var isChecked = formElementRef.checked;
		
		if (isChecked == false)
		{
			return false;
		}
		else
		{
			//we're okay
		}	
	}
	else if (objectType == "select-one")
	{
		//alert("select-one processing");
		
		//require an item (nonzero) to be selected
		var selectedNum = formElementRef.selectedIndex;
		//alert("selectedNum:"+selectedNum);
		
		if (selectedNum >= 0)
		{
			var objectValue = formElementRef.options[selectedNum].value;
			//alert("objectValue:"+objectValue);
		}
		else
		{
			objectValue = 0;
		}
		
		
		if (objectValue == "" || objectValue == "0" || objectValue <= 0)
		{
			//alert("invalid value");
			
			return false;
		}
		else
		{
			//we should be okay;
			//alert('objectValue:' + objectValue);
		}
	}
	else if ( (! objectType) && (formElementRef.length > 0))
	{
		//it's probably(?) a form array element like "someCheckboxes[]"
		//make sure each one has a value
		
		//alert("complex item");
		//return false;
		
		hasAnswer = false;
		
		for (i = 0; i< formElementRef.length; i++)
		{
			subElement = formElementRef[i];
			thisItemValue = evaluateFormElement(subElement);
			if (thisItemValue)
			{
				hasAnswer = true;
			}
		}
		
		return hasAnswer;
	}
	
	return true; // true unless proven false
}


function CheckEntries2(formRef,listofreqs)
{
	// use this like:
	// onSubmit="return CheckEntries2(this,'sender_name(Your Name);sender_email(Your Email);feedback_message(Your Feedback);');"
	
	//verify formRef type:
	if (! formRef.action)
	{
		alert("no form ref passed");
		return false;
	}
	
	//alert("formRef:" + formRef.name);
	
	//alert("listofreqs:" + listofreqs);
	if (typeof(listofreqs) != "object")
	{
		// we allow the passing of an array OR a semi-colon-delimited string
		var masterElementArray = listofreqs.split(";");
	}
	else
	{
		var masterElementArray = listofreqs;
	}
	
	var alertme
	alertme = false
	
	//initialize a string to contain missing field entries
	var missingDatas="<UL>"
	
	//alert("array length:" + masterElementArray.length);
	
	for (var theOffset = 0; theOffset < masterElementArray.length; theOffset++)
	{
		//alert("offset:" + theOffset);
		
		var masterItem = masterElementArray[theOffset];
		//alert("masterItem:" + masterItem);
		
		if (! masterItem)
		{
			continue;
		}
		
		var grepPattern=/(.+)\((.+)\)/;
		//alert("grepPattern:" + grepPattern);
		
		var myArray = masterItem.match(grepPattern);
		//var myArray = grepPattern(masterItem);
		//alert("myArray:" + myArray);
		
		var elementName = myArray[1]; //without parentheses
		//alert("elementName:" + elementName);
		
		var reportLabel = myArray[2]; //inside parentheses
		//alert("reportLabel:" + reportLabel);
		
		//see if this form exists:
		var formElementRef = formRef[elementName];
		//alert("formElementRef:" + formElementRef);
		
		//continue;
		
		if (! formElementRef)
		{
			continue;
		}
		
		
		valueTest = evaluateFormElement(formElementRef);
		//valueTest = false;
		
		//alert("valueTest:" + valueTest);
		
		if (! valueTest)
		{
			alertme = true;
			
			missingDatas = missingDatas + "<LI>" + reportLabel + "</LI>"
			
			// try to change the class defined for this element
			if (formElementRef.style)
			{
				formElementRef.style.backgroundColor = '#FCA031';
			}
		}
	}
	
	//alert("alertme:" + alertme);
	//return false;
	
	//alert("here3");
	
	if (alertme == true)
	{
		//alert("popup");
		startWin('<div class="text_instructions">You need to fill in the following information before you can submit this form:' + missingDatas + '</ul></div>');
		return false;
	}
	else
	{
		//alert("Data appears to be okay.");
		return true;
	}
	
}



//---------------------------------------------------------------------
// Fenster oeffnen
//---------------------------------------------------------------------
function startWin(txt) 
{
	//alertWin = window.open('', 'alert', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=300,height=350');
	alertWin = window.open('', 'alert', 'scrollbars=yes,resizable=no,copyhistory=no,width=300,height=310');
	alertWin.focus();
	alertWin.document.write('<html><head><title>Data Required</title>');
	alertWin.document.write('</head>');
	alertWin.document.write('<body bgcolor="white" text="000000" link="cc0000" alink="ffffff" vlink="cc0000"><br><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size:10px; line-height: 12px; color: #5A5E5F">');
	alertWin.document.write(txt);
	alertWin.document.write('<br><br><center>');
	alertWin.document.write('<a href="javascript:self.window.close()"">[ Close this window ]</a></div>');
	alertWin.document.write('</body></html>');
	alertWin.document.close();
}
