//##############################################################################
// start functions.js
//##############################################################################

//------------------------------------------------------------------------------
function reallyDel(s) {
   if (s > "")
      return confirm("Wollen Sie " + s + " wirklich löschen?")
   else
      return confirm("Wirklich löschen?")
}

//------------------------------------------------------------------------------
function trim(s) {
   if (s.length == 0) return ""
   while (s.charAt(0) == " ") {
      s = s.substring(1, s.length)
   }
   if (s.length == 0) return ""
   while (s.length > 2 && s.charAt(s.length-1) == " ") {
      s = s.substring(0, s.length-1)
   }
   return s
}

//------------------------------------------------------------------------------
function checkLogin(f) {
    if (! _checkEmail(f['cme-nachname'].value)) {
        alert('DAS LOGIN WURDE GEÄNDERT!\n\nBitte loggen Sie sich ab sofort\nmit Ihrer E-Mail-Adresse\nund Ihrem Passwort an!')
        return false
    }
    return true
}

//------------------------------------------------------------------------------
function checkEmail(obj, label) {
    if (! _checkEmail(obj.value)) {
        alert("Bitte geben Sie eine korrekte E-Mail-Adresse im Feld\n'" + label + "' ein!")
        obj.focus()
        return false
    }
    return true
}

//------------------------------------------------------------------------------
function newLoginMsg() {
    alert('Sie können nun unter "Meine Daten"\nein neues Passwort veregeben.')
}

//------------------------------------------------------------------------------
function _checkEmail(s) {
   var t=""
   for (var i=0; i<s.length; i++) {
      var c=s.charAt(i)
      if (c>='0' && c<='9')
         t=t+c
      if ((c>='A' && c<='Z') || (c>='a' && c<='z'))
         t=t+c
      if (c=='.' || c=='_' || c=='-' || c=='@')
         t=t+c
   }
    if ( (t.length<7) || (t.indexOf('@')<1) ) {
        return false
    } else {
        return true
    }
}

//------------------------------------------------------------------------------
function toNum(s)   {
   var i, c, str = ''
   for (i=0; i<s.length; i++) {
      c = s.charAt(i);
      if ((c>='0' && c<='9')|| (c=='-' && i==0)) str += c
   }
   return str
}

//------------------------------------------------------------------------------
function checkObject(obj, label) {
   obj.value = trim(obj.value)
   if (obj.value.length == 0) {
      alert("Bitte füllen Sie das Feld '" + label + "' aus!")
      obj.focus()
      return false
   }
   return true
}

//------------------------------------------------------------------------------
function checkTime(obj, label, nullOk) {
   if (obj.value.length == 0) {
      if (! nullOk) {
          alert("Bitte füllen Sie das Feld '" + label + "' aus!");
          obj.focus();
      }
      return nullOk;
   }

   if (! obj.value.match(/^[01]\d:[0-5]\d$/) && ! obj.value.match(/^2[0-3]:[0-5]\d$/)) {
       alert("Bitte das Feld " + label + " im Format HH:MM ausfüllen!");
       obj.focus();
       return false;
   }
   return true;
}


//------------------------------------------------------------------
function checkLuhn(s) {
	var numero = s;
	var totalcarte=0;
	var dnum=0;
	var test=0;

	for (var i = numero.length; i >= 1 ;  i--) {
		test=test+1;
		num = numero.charAt(i-1);
		if ((test % 2) != 0)
			totalcarte=totalcarte+parseInt(num)
		else {
			dnum=parseInt(num)*2;
			if (dnum >= 10)
				totalcarte=totalcarte+1+dnum-10
			else
				totalcarte=totalcarte+dnum;
		}
	}
	if ((totalcarte % 10) != 0) return (false)
	return(true)
}

//------------------------------------------------------------------
function checkVNR(f) {
	if (f.value.length != 19) {
		f.style.backgroundColor = '#faa';
		alert("Die Veranstaltungsnummer muss 19-stellig sein!");
		f.focus();
		return (false);
	}

	if (! checkLuhn(f.value)) {
		f.style.backgroundColor = '#faa';
		alert("Die Prüfziffer der Veranstaltungsnummer ist nicht korrekt!");
		f.focus();
		return (false);
	}
	return(true)
}

//------------------------------------------------------------------
function checkEFN(f) {
	if (f.value.length != 15) {
		alert("Die Einheitliche Fortbildungsnummer muss 15-stellig sein!");
		f.focus();
		return (false);
	}

	if (! checkLuhn(f.value)) {
		alert("Die Prüfziffer der Einheitlichen Fortbildungsnummer ist nicht korrekt!");
		f.focus();
		return (false);
	}
	return(true)
}

//##############################################################################
// end functions.js
//##############################################################################

