//
// TODO: Pruefung fuer andere Controls ausser "text" oder "textarea"
//

function isValid( value )
{
        if ( !value ||value == "")
        {
                return( 0 );
        }
        else
        {
                return( 1 );
        }
}

function isInArray( str, arr )
{
        var i;

        for ( i=0; i<arr.length; i++ )
        {
                if ( str == arr[i] )
                {
                        return( 1 );
                }
        }//for
        return( 0 );
}

function hidden2Array( valueHiddenField )
{
        var a;
        while ( valueHiddenField.indexOf(" ") != '-1' )
        {
                valueHiddenField = valueHiddenField.replace(/ /,"");
        }
        a = valueHiddenField.split(',');
        return( a );
}


function getSelected(selObj)
{
        for(i=0;i<selObj.length;++i)
            if(selObj.options[i].selected == true)
                    {
                    Wert=(selObj.options[i].value);
                    return Wert;
                        }
}

function getSelectedText(selObj)
{
        for(i=0;i<selObj.length;++i)
            if(selObj.options[i].selected == true)
                    {
                    Wert=(selObj.options[i].text);
                    return Wert;
                        }
}


function beruf()
{
        t=getSelected(document.Formular.elements.Beruf);
                if (t == 0) {
                        alert ("Bitte wählen Sie die Art Ihrer Beschäftigung aus der Liste.");
                        document.Formular.elements.Beruf.focus();
                        return (0);
                }

                return (1);
}


function Kammer()
{
        t=getSelectedText(document.Formular.elements.Kammer);
                if (t == 0) {
                        alert ("Bitte geben Sie die Zahnärztekammer an.");
                        document.Formular.elements.Kammer.focus();
                        return (0);

                }
                return (1);

}



function DatumEintragen()
{
var t=new Date();
var d=t.getDate()+'';
var m=t.getMonth()+1+'';
var y=t.getYear()%100+'';

if(d.length==1)d='0'+d;
if(m.length==1)m='0'+m;
if(y.length==1)y='0'+y;

Datum = y + "." + m + "." +  d;
document.Formular.Datum.value = Datum;
}

function chkFormular()
{

        var a;
        a = hidden2Array( document.Formular.mandatory.value );

        for ( var i = 0; i < document.Formular.length; i++ )
        {
                if ( isInArray( document.Formular.elements[i].name, a ) )
                {
                        if ( isValid( document.Formular.elements[i].value ) != 1 )
                        {
                                alert("Bitte die Angaben im Feld '"+ document.Formular.elements[i].name +"' vervollstaendigen");
                                document.Formular.elements[i].focus();
                                return ( false );
                        }//if
                }//if
        }//for



                if (document.Formular.agb.checked == false)
                        {
                        alert ("Bitte bestätigen Sie die Allgemeinen Geschäftsbedingungen");
                        return (false);
                        }

                if (document.Formular.Anrede[0].checked == false && document.Formular.Anrede[1].checked == false)
                {
                        alert ("Bitte wählen Sie eine Anrede.");
                        return (false);
                }

                if (beruf() != 1)
                        return (false);

         if (Kammer() != 1)
               return (false);

     		if (mailCheck() != 1)
					return (false);

          if (pwCheck() !=1)
               return (false);

          DatumEintragen();
               return( true );


}//chkFormular

function mailCheck() {
	mailadr = document.Formular.email.value;
	x = mailadr.length;
	test = mailadr.lastIndexOf(".");
	erg = x - test; 
	if ((erg < 3) || (erg > 4) || (mailadr.indexOf("@") == -1))
		{
		alert (mailadr + " ist keine gültige Email-Adresse");
		document.Formular.email.focus();
		return false;
		}
	return (1);
}


function pwCheck()
{

        pw=document.Formular.pw.value;
        pw1=document.Formular.pw1.value;

        if (pw == "") {
                alert ("Bitte wählen Sie ein Passwort und geben Sie es zur Bestätigung noch einmal ein!");
                document.Formular.pw.focus();
                return false;
        }

        if (pw.length !=8)
                {
                alert ("Das Passwort muss genau 8 Zeichen lang sein.")
                document.Formular.pw1.value="";
                document.Formular.pw.value="";
                document.Formular.pw.focus();
                return false;
                }


        if (pw1 == "") {
                alert ("Bitte bestätigen Sie das gewählte Passwort!");
                document.Formular.pw1.focus();
                return false;
        }


        if (pw != pw1)
        {
                alert ("Ihre Angaben beim gewählten Passwort und der Passwortbestätigung stimmen nicht überein! Bitte geben Sie das Passwort und die Bestätigung erneut ein.");
                document.Formular.pw1.value="";
                document.Formular.pw.value="";
                document.Formular.pw.focus();
                return false;
        }


        gross=pw.match(/[A-Z]/g);
        ziffer=pw.match(/[0-9]/g);
        klein=pw.match(/[a-z]/g);

        if (gross == null || gross.length !=1 || ziffer == null || ziffer.length !=1 || klein == null || klein.length !=6)
        {
                alert ("Das Passwort muss genau 1 Großbuchstaben, 1 Ziffer und 6 Kleinbuchstaben enthalten. Bitte verwenden Sie keine Umlaute.");
                document.Formular.pw1.value="";
                document.Formular.pw.value="";
                document.Formular.pw.focus();
                return false;
         }
        else
{                alert ("Ihr Persönliches Passwort für den DZN-Zugang lautet: " + pw  + " Bitte merken Sie es sich, Sie erhalten von uns keine weitere Bestätigung Ihres Passwortes");
                return (1);

}
}
