var jsLang='en';
// 
// Mailformular überprüfen
//   Aufruf mit 'Feldname','Feldbezeichnung','Test'   (wenn 2. Parameter == '' dann = 1.Parameter)
//   mit den möglichen Überprüfungen bei Test:
//   'R' oder 'N': benötigtes Feld
//   'isEmail'   : E-Mail Adresse
//   'isAlpha'   : nur Buchstaben, Leerräume und Satzzeichen, keine Ziffern
//   'isTel'     : Telefonnummer
//   'isNum'     : Zahl
//   'inRange1:3': Zahl im Bereich von 1 bis 3
//   'Select1'   : Element in einer Liste (bei Menü 2.Element) muss ausgewählt sein
//   'Radio'     : Element im Optionsfeld muss ausgewählt sein
// 
var responses=new Array();
responses ['de']=new Array();
responses ['en']=new Array();
responses ['hu']=new Array();
responses ['sk']=new Array();

responses['de']["Rs"]		=" muss ausgewählt werden.\n";
responses['de']["isEmail"]	=" muss eine korrekte E-Mail-Adresse sein.\n";
responses['de']["isNum"]	=" muss eine Zahl sein.\n";
responses['de']["isNumBetween"]	=" muss eine Zahl zwischen ";
responses['de']["and"]		=" und ";
responses['de']["sein"]		=" sein";
responses['de']["R"]		=" wird benötigt.\n";
responses['de']["check"]	=" Bitte überprüfen Sie folgende Inhalte des Formulars:\n";
responses['de']["Tel"] 		=" darf nur Ziffern, Leerräume und \"+()/-\"-Zeichen enthalten.\n";
responses['de']["Alpha"] 	=" darf nur Buchstaben, Leerräume und \",.-\"'-Zeichen enthalten.\n"

responses['en']["Rs"]		=" must be selected.\n";
responses['en']["isEmail"]	=" must be a valid E-mail address.\n";
responses['en']["isNum"]	=" must be a numeric value.\n";
responses['en']["isNumBetween"]	=" must be a number between ";
responses['en']["and"]		=" and ";
responses['en']["sein"]		="";
responses['en']["R"]		=" is required.\n";
responses['en']["check"]	=" Please check the following fields in the submitted form:\n";
responses['en']["Tel"] 		=" must contain only numbers, spaces and the characters \"+()/-\"\n";
responses['en']["Alpha"] 	=" must contain only letters, spaces and the characters  \",.-\"'\n"


function CheckMail() {
  var i,p,pa,q,name,test,num,min,max,errors='',args=CheckMail.arguments

  for (i=0; i<(args.length-2); i+=3) {
    name = (args[i+1] ? args[i+1] : args[i])
    test = args[i+2]
    val  = MM_findObj(args[i])

    if (val) {
      if (test.indexOf('Select') != -1) {
        p = test.substring(7)
        if (val.selectedIndex < p)            errors += '- '+name+responses[jsLang]['Rs']
	      }
	      
      else if (test.indexOf('Radio') != -1) {
        if (!GetRadioValue(val))            errors += '- '+name+responses[jsLang]['Rs']
	      }

      else if ((val=val.value) != "") {
        if (test.indexOf('isEmail') != -1) {
          p  = val.indexOf('@')
          pa = val.split('@')
          pspc = val.indexOf(' ')
          if (pspc>0 || p<1 || p==(val.length-1) || (q=pa.length)>2 || pa[1]==pa[1].split('.')[0])            errors += '- '+name+responses[jsLang]['isEmail']
          }

         else if (test.indexOf('isAlpha') != -1) {
          if ((q = CheckMailText(val,'Alpha')) != '')
            errors += '- '+name+q
	      }

         else if (test.indexOf('isTel') != -1) {
          if ((q = CheckMailText(val,'Tel')) != '')
            errors += '- '+name+q
	      }

         else if (test != 'R') {
          num = parseFloat(val)
	  if (val.replace(/^0*/,"") != ''+num)            errors += '- '+name+responses[jsLang]['isNum']

          if (test.indexOf('inRange') != -1) {
            p   = test.indexOf(':')
            min = test.substring(8,p)
            max = test.substring(p+1)        
            if (num<min || max<num)              errors+='- '+name+responses[jsLang]['isNumBetween']+min+responses[jsLang]['and']+max+responses[jsLang]['sein']
            }
          }
        }
       else if (test.charAt(0) == 'R')         errors += '- '+name+responses[jsLang]['R']
      }
    }

  if (errors)    alert(responses[jsLang]['check']+errors)

  return (errors == '')
}


// 
// Überprüfung eines Textes auf korrekte Zeichen
// 
function CheckMailText(text,was) {
  var i,j,ch,checkOK,errorText,error=''

  if (was == 'Tel') {
	checkOK   = "0123456789+()/- \t\r\n\f"	errorText = responses[jsLang]['Tel']
	}
   else if (was == 'Alpha') {
	checkOK   = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ,.-' \t\r\n\f"	errorText = responses[jsLang]['Tel']
    }

  for (i=0; i<text.length; i++) {
    ch = text.charAt(i)
    for (j=0; j<checkOK.length; j++)
      if (ch == checkOK.charAt(j))
        break
    if (j == checkOK.length) {
      error = errorText
      break
      }
    }

  return error
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


// 
// Wert einer Auswahl bestimmen
// 
function GetRadioValue( radioObject ) {
  var value = null;

  // Validate parameter value
  if (radioObject+"" == "undefined" || radioObject == null)
    return null;
  for (var i=0; i < radioObject.length; i++) {
    if (radioObject[i].checked) {
      value = radioObject[i].value;
      break;
      }
    }
  return value;
}


// 
// Wert einer Liste bestimmen
// 
function GetListValue( listObject ) {
  var value = null;

  // Validate parameter value
  if (listObject+"" == "undefined" || listObject == null)
    return null;

  return(listObject[listObject.selectedIndex].value)
}

