// Spaces am Anfang und Ende eines Strings abschneiden

function SpaceTrim(InString) {
 var LoopCtrl=true;
 while (LoopCtrl) {
  if (InString.indexOf(" ") != -1) {
   Temp = InString.substring(0, InString.indexOf(" "))
   InString = Temp + InString.substring(InString.indexOf(" ")+1,
    InString.length)
  } else
   LoopCtrl = false;
 }
 if (InString.substring(0, 1) == " ")
  InString = InString.substring(1, InString.length)
 if (InString.substring (InString.length-1) == " ")
  InString = InString.substring(0, InString.length-1)
 return (InString)
}


// String auf leer prüfen

function IsEmpty(InString, Feldname) {

  var tmpStr = InString;
  if (SpaceTrim(tmpStr) == "")
  {
    alert("Bitte geben Sie einen Wert im Feld \"" + Feldname + "\" ein.");
    return (true);
  }

  return (false);
}

// Email-Adresse auf Gültigkeit prüfen

function TestEmailAddr(EmailAddr, Feldname) {

  var Email = EmailAddr;
  if (IsEmpty(Email, Feldname) == true)
  {
    return (false);
  }

  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  
  for (var i=0; i < Email.length; i++) {
    var letter = Email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  if (parsed == false) 
  {
    alert("Ungültiges Zeichen in Email-Adresse: '" + letter + "'.");
    return (false);
  }


  if (Email.indexOf("@") == -1)
  {
    alert("Fehlendes @ in der Email-Adresse.");
    return (false);
  }

  var tmpStr = Email.substring(0, Email.indexOf("@"))
  if (SpaceTrim(tmpStr) == "")
  {
    alert("Fehlender Name vor '@' in Email-Adresse.");
    return (false);
  }

  tmpStr = Email.substring(Email.indexOf("@")+1,Email.length)
  if (SpaceTrim(tmpStr) == "")
  {
    alert("Fehlender Domain-Name nach '@' in Email-Adresse.");
    return (false);
  }

  if (tmpStr.indexOf(".") == -1)
  {
    alert("Fehlender '.' in Domain-Name nach '@' in Email-Adresse.");
    return (false);
  }

  tmpStr = tmpStr.substring(tmpStr.indexOf(".")+1,tmpStr.length)
  if (SpaceTrim(tmpStr) == "")
  {
    alert("Fehlende TLD (Top-Level-Domain) nach '.' in Email-Adresse.");
    return (false);
  }

  if (tmpStr.length < 2)
  {
    alert("TLD's (Top-Level-Domain, nach '.' in Email-Adresse) mit nur 1 Buchstaben sind nicht erlaubt.");
    return (false);
  }

  return (true);
}

// Email-Adresse ausgeben

function WriteEmailAddr(EmailName) {

  var prefix=EmailName;
  var domain="awz-sg.ch";
  document.write("<a href=\"mailto:" + prefix + "@" + domain + "\">");
  document.write(prefix + "@" + domain + "</a>");
  
}

// Focus setzen, üblicherweise in OnLoad aufgerufen
// fieldTypes: File,Text

function placeFocus(fieldTypes) 
{

	if (document.forms.length > 0) 
	{
		
		var field = document.forms[0];
		var result = false;
		if (fieldTypes.indexOf("File") > -1)
		{
			for (i = 0; i < field.length; i++) 
			{
				if (field.elements[i].type == "file") 
				{
					document.forms[0].elements[i].focus();
					result=true;
					break;
				}
			}
			if (result == true)
			{
				return (result);
			}
		}

		if (fieldTypes.indexOf("Text") > -1)
		{
			for (i = 0; i < field.length; i++) 
			{
				if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) 
				{
					document.forms[0].elements[i].focus();
					break;
				}
			}
		}
	}
}
