// <!-- Diese Datei enthält alle für das Arbeiten mit optionalen Argumenten in HTML-Datein notwendigen Funktionen -->
function HTMLOptArgs_getProperty(propertyName, defaultValue)
{
	// Liefert den Wert des angeforderten optionalen Argumentes aus dem Http-String zurück.
	// Ist dieses optArg nicht im Http-String angegeben, dann wird der 'defaultValue' zurückgeliefert.
	
	var tempString;
	var propertyFound = false;
	var optArgName, optArgWert, arrayOfoptArg;

	var optArgString = window.location.search;
	var arrayOfoptArgs = optArgString.split("&");

  	for (var i=0; i < arrayOfoptArgs.length; i++) 
	{
		tempString = arrayOfoptArgs[i];
		if (i==0) {
			// Führendes "?" beim ersten Argument wegschneiden
			tempString = tempString.substring(1, tempString.length);
		}
		arrayOfoptArg = tempString.split("=");										
		optArgName = arrayOfoptArg[0];
		optArgWert = arrayOfoptArg[1];
    	if (propertyName == optArgName) {
			propertyFound = true;
			break;
		}
 	}

	// Wert oder Default-Wert zurückliefern
	if (propertyFound) 
		return optArgWert;			
	else
		return defaultValue;					
}

// <!-- Diese Datei enthält alle für das Arbeiten mit einerDatum-/Zeitangabe notwendigen Funktionen -->
function HTMLDateTime_getCurrentDateYYYYMMDD()
{
	// Liefert das aktuelle Datum im Format JJJJMMTT zurück.
	
	var curDate = new Date();
	var curYear, curMonth, curDay;

	curYear = curDate.getYear();
	if (curYear < 100) {
		curYear = "19" + curYear;
	}
	if ((curYear >= 100) && (curYear <1000)) {
		// Netscape 4.x Workaround, da falsches Jahr rückgeliefert wird
		if ((curYear-100) < 10) {
			curYear = "200" + (curYear-100);
		} else {
			curYear = "20" + (curYear-100);
		}
	}

	curMonth = curDate.getMonth();
	curMonth += 1;
	if (curMonth < 10) {
		curMonth = "0" + curMonth;
	}

	curDay = curDate.getDate();
	if (curDay < 10) {
		curDay = "0" + curDay;
	}

	return (curYear + "" + curMonth + "" + curDay);
}

// <!-- Überprüft, ob der String ein gültige eMailadresse ist -->
function CheckEMailAddress (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
	    // user is not valid
	    return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
	    // this is an IP address
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				return false;
		    }
	    }
	    return true;
	}

	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
	    return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (len<2) {
	   return false;
	}

	return true;
}


