function SetVisibility( ElemID, Vis) {
  document.getElementById(ElemID).style.visibility = Vis;
}

function AloChangeText( div2show, text ) {
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};

    if (DOM) {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  else if(IE) {
        document.all[div2show].innerHTML = text;
    }
}



var xmlhttp=false;


function MemberLoginVerify() { 
    if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}
		
	if (!xmlhttp) {
			return false;
		} else {

  var user = document.getElementById('LOGIN_NAME').value;
  var pass = document.getElementById('LOGIN_PASSWORD').value;
  

    xmlhttp.open('get', '/community/include/check_login.php?u='+user+'&p='+pass);
    xmlhttp.onreadystatechange = MemberLoginHandleResponse;
    xmlhttp.send(null);	
		}
}


function MemberLoginHandleResponse() {
  if (xmlhttp.readyState == 4){
	if (xmlhttp.status == 200){
      var response = xmlhttp.responseText;

      if (response == 'OK') {
        var el=document.getElementById('loginform');
		el.submit();
      } else {
		if (response == 'EMPTY') {
		  AloChangeText('LoginFormErrMsg', "Geben Sie Benutzername und Passwort ein" );
		} else {
		  AloChangeText('LoginFormErrMsg', "Falsches Passwort für diesen Mitgliedsnamen.");
		}
		document.getElementById('LoginFormErrMsg').style.visibility="visible";  
	  }
	}
  }
}






/* --------------------------------------------------------------------------------- 
Standard-Stuff
------------------------------------------------------------------------------------ */

function ScrollToTop () { window.scrollTo(0, 0); }


/* --------------------------------------------------------------------------------- 
Login-Stuff
------------------------------------------------------------------------------------ */

function MemberLoginShow() { 
  document.getElementById('LoginFormErrMsg').style.visibility="hidden";
  document.getElementById('LOGIN_NAME').value = '';
  document.getElementById('LOGIN_PASSWORD').value = '';
  document.getElementById('login_section').style.visibility="visible"; 
 }
function MemberLoginHide() { 
  document.getElementById('login_section').style.visibility="hidden";  
  document.getElementById('LoginFormErrMsg').style.visibility="hidden";  
}

function MemberLogin() {
  ScrollToTop();
  MemberLoginShow();
}


/* --------------------------------------------------------------------------------- 
Register-Stuff
------------------------------------------------------------------------------------ */

function MemberRegisterShow() { 
  document.getElementById('RegisterFormErrNickname').style.visibility="hidden";
  document.getElementById('RegisterFormOKNickname').style.visibility="hidden";
  document.getElementById('RegisterFormNONickname').style.visibility="hidden";
  document.getElementById('RegisterFormErr_G').style.visibility="hidden";
  document.getElementById('RegisterFormErr_M').style.visibility="hidden";
  document.getElementById('RegisterFormErr_P').style.visibility="hidden";
  document.getElementById('RegisterFormErr_CkAgb').style.visibility="hidden";
  document.getElementById('RegisterFormErr_CkDaS').style.visibility="hidden";
  document.getElementById('RegisterFormErr_BD').style.visibility="hidden";  

  document.getElementById('REGISTER_NICKNAME').value = '';
  document.getElementById('REGISTER_MAIL').value = '';
  document.getElementById('REGISTER_MAIL2').value = '';
  document.getElementById('REGISTER_PASS').value = '';
  document.getElementById('REGISTER_PASS2').value = '';
  document.getElementById('REGISTER_NAME').value = '';
  document.getElementById('REGISTER_VORNAME').value = '';
  document.getElementById('REGISTER_PLZ').value = '';
  document.getElementById('REGISTER_ORT').value = '';
  document.getElementById('REGISTER_BIRTHDAY_D').selectedIndex = 0;
  document.getElementById('REGISTER_BIRTHDAY_M').selectedIndex = 0;
  document.getElementById('REGISTER_BIRTHDAY_Y').selectedIndex = 0;
  document.getElementById('REGISTER_AGB').checked = false;
  document.getElementById('REGISTER_DAS').checked = false;
  document.getElementById('REGISTER_NEWSLETTER').checked = false;
  document.getElementById('REGISTER_GENDER_M').checked = false;
  document.getElementById('REGISTER_GENDER_F').checked = false;

 document.getElementById('register_section').style.visibility="visible"; 
}
function MemberRegisterHide() { 
  document.getElementById('register_section').style.visibility="hidden";  
  document.getElementById('RegisterFormErrNickname').style.visibility="hidden";
  document.getElementById('RegisterFormOKNickname').style.visibility="hidden";
  document.getElementById('RegisterFormNONickname').style.visibility="hidden";
  document.getElementById('RegisterFormErr_G').style.visibility="hidden";
  document.getElementById('RegisterFormErr_M').style.visibility="hidden";
  document.getElementById('RegisterFormErr_P').style.visibility="hidden";
  document.getElementById('RegisterFormErr_CkAgb').style.visibility="hidden";
  document.getElementById('RegisterFormErr_CkDaS').style.visibility="hidden";
  document.getElementById('RegisterFormErr_BD').style.visibility="hidden";
}

function MemberRegister(CameFrom) {
  if (CameFrom == 1) { MemberLoginHide(); }
  ScrollToTop();
  MemberRegisterShow();
}

function MemberCheckNickname() {
    if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}
		
	if (!xmlhttp) {
			return false;
		} else {

   var user = document.getElementById('REGISTER_NICKNAME').value;
  

    xmlhttp.open('get', '/community/include/check_nickname.php?u='+user);
    xmlhttp.onreadystatechange = MemberCheckNicknameHandleResponse;
    xmlhttp.send(null);	
		}
}


function MemberCheckNicknameHandleResponse() {
  if (xmlhttp.readyState == 4){
	if (xmlhttp.status == 200){
      var response = xmlhttp.responseText;
	  
      document.getElementById('RegisterFormErrNickname').style.visibility="hidden";
      document.getElementById('RegisterFormOKNickname').style.visibility="hidden";
      document.getElementById('RegisterFormNONickname').style.visibility="hidden";	  

      if (response == 'FALSE') {
        AloChangeText('RegisterFormErrNickname', "Der Benutzername ist bereits vergeben");
        document.getElementById('RegisterFormErrNickname').style.visibility="visible";
	  }
      if (response == 'INVALID') {
        AloChangeText('RegisterFormErrNickname', "Der Benutzername enthält andere Zeichen als A-Z und '_'");
        document.getElementById('RegisterFormErrNickname').style.visibility="visible";
	  }
      if (response == 'EMPTY') {
        AloChangeText('RegisterFormErrNickname', "Geben Sie einen Benutzernamen ein.");
        document.getElementById('RegisterFormErrNickname').style.visibility="visible";
	  }
      if (response == 'SHORT') {
        AloChangeText('RegisterFormErrNickname', "Der Benutzername muss mindestens 6 Zeichen haben.");
        document.getElementById('RegisterFormErrNickname').style.visibility="visible";
	  }
      if (response == 'OK') {
        document.getElementById('RegisterFormOKNickname').style.visibility="visible";
      }
      if (response == 'NONE') {
        document.getElementById('RegisterFormNONickname').style.visibility="visible";
	  }
	}
  }
}


function MemberRegisterVerify() {
  if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}
		
	if (!xmlhttp) {
			return false;
		} else {
			

     var nickname = encodeURIComponent(document.getElementById('REGISTER_NICKNAME').value);
     var mail1    = encodeURIComponent(document.getElementById('REGISTER_MAIL').value);
     var mail2    = encodeURIComponent(document.getElementById('REGISTER_MAIL2').value);
     var pass1    = encodeURIComponent(document.getElementById('REGISTER_PASS').value);
     var pass2    = encodeURIComponent(document.getElementById('REGISTER_PASS2').value);
     var name     = encodeURIComponent(document.getElementById('REGISTER_NAME').value);
     var vorname  = encodeURIComponent(document.getElementById('REGISTER_VORNAME').value);
     var plz     = encodeURIComponent(document.getElementById('REGISTER_PLZ').value);
     var ort     = encodeURIComponent(document.getElementById('REGISTER_ORT').value);
	 
     var bd     = document.getElementById('REGISTER_BIRTHDAY_D').value;
     var bm     = document.getElementById('REGISTER_BIRTHDAY_M').value;
     var by     = document.getElementById('REGISTER_BIRTHDAY_Y').value;

     var agb = 0;
	 var das = 0;
	 var nl = 0;
     if (document.getElementById('REGISTER_AGB').checked) { agb = 1; }
     if (document.getElementById('REGISTER_DAS').checked) { das =1; }
     if (document.getElementById('REGISTER_NEWSLETTER').checked) { nl = 1; }
	 
	 var gender = 0;
	 
     if (document.getElementById('REGISTER_GENDER_M').checked) { gender = 1; }
     if (document.getElementById('REGISTER_GENDER_F').checked) { gender = 2; }
	 

     var param = "REGISTER_NICKNAME="+nickname+"&REGISTER_MAIL="+mail1+"&REGISTER_MAIL2="+mail2+"&REGISTER_PASS="+pass1+"&REGISTER_PASS2="+pass2+"&REGISTER_NAME="+name+"&REGISTER_VORNAME="+vorname
	           +"&REGISTER_PLZ="+plz+"&REGISTER_ORT="+ort+"&REGISTER_BIRTHDAY_D="+bd+"&REGISTER_BIRTHDAY_M="+bm+"&REGISTER_BIRTHDAY_Y="+by
			   +"&REGISTER_AGB="+agb+"&REGISTER_DAS="+das+"&REGISTER_NEWSLETTER="+nl+"&REGISTER_GENDER="+gender;
			
    xmlhttp.open('get', '/community/include/register.php?'+param);
    xmlhttp.onreadystatechange = MemberRegisterVerifyResponse;
    xmlhttp.send(null);

  }
}


function MemberRegisterVerifyResponse() {
  if (xmlhttp.readyState == 4){
	if (xmlhttp.status == 200){
      var response = xmlhttp.responseText;
	  
      if (response == 'OK') { // it's done...
		 MemberRegisterHide();
         MemberRegisterMsgShow('Ihre Eingaben wurden erfolgreich entgegen genommen. Wir haben Ihnen eine E-Mail an die angegebene Adresse geschickt.<br><br>Besuchen Sie die in der E-Mail angegebene Seite um die Registrierung abzuschliessen.');		 
      } else {
        document.getElementById('RegisterFormErrNickname').style.visibility="hidden";
        document.getElementById('RegisterFormOKNickname').style.visibility="hidden";
        document.getElementById('RegisterFormNONickname').style.visibility="hidden";	  
        document.getElementById('RegisterFormErr_G').style.visibility="hidden";
	    document.getElementById('RegisterFormErr_M').style.visibility="hidden";
	    document.getElementById('RegisterFormErr_P').style.visibility="hidden";
        document.getElementById('RegisterFormErr_BD').style.visibility="hidden";
		
        if (response == 'NONE') { // Database not available
		 MemberRegisterHide();
         MemberRegisterMsgShow('Wir bitten um Entschuldigung. Die Datenbank ist aktuell nicht erreichbar.<br><br>Bitte wiederholen Sie den Vorgang in einigen Minuten.');		 
		} else { // something wrong....
			ErrMsg = response.split('|');
			if (ErrMsg[0] != 'OK') { // Nickname
			  switch (ErrMsg[0]) {
				case 'FALSE'    : AloChangeText('RegisterFormErrNickname', "Der Benutzername ist bereits vergeben"); break;
				case 'INVALID'  : AloChangeText('RegisterFormErrNickname', "Der Benutzername enthält andere Zeichen als A-Z und '_'"); break;
                case 'EMPTY'    : AloChangeText('RegisterFormErrNickname', "Geben Sie einen Benutzernamen ein."); break;
				case 'SHORT'    : AloChangeText('RegisterFormErrNickname', "Der Benutzername muss mindestens 6 Zeichen haben."); break;
			  }
	          document.getElementById('RegisterFormErrNickname').style.visibility="visible";
			}

            if (ErrMsg[1] != 'OK') { // gender
			  document.getElementById('RegisterFormErr_G').style.visibility="visible";
			}
		
			if (ErrMsg[2] != 'OK') { // mail address
			  switch (ErrMsg[2]) {
				case 'INVALID'  : AloChangeText('RegisterFormErr_M', "Die eingegeben E-Mal-Adresse ist ungültig"); break;
                case 'EMPTY'    : AloChangeText('RegisterFormErr_M', "Geben Sie Ihre E-Mail-Adresse in beide Felder ein."); break;
				case 'MISSMATCH': AloChangeText('RegisterFormErr_M', "Die Eingaben sind nicht identisch"); break;
			  }
	          document.getElementById('RegisterFormErr_M').style.visibility="visible";
			}
		
			if (ErrMsg[3] != 'OK') { // password
			  switch (ErrMsg[3]) {
				case 'INVALID'  : AloChangeText('RegisterFormErr_P', "Das muss mindestens 6 Zeichen haben"); break;
                case 'EMPTY'    : AloChangeText('RegisterFormErr_P', "Geben Sie Ihr Passwort in beide Felder ein."); break;
				case 'MISSMATCH': AloChangeText('RegisterFormErr_P', "Die Eingaben sind nicht identisch"); break;
			  }
	          document.getElementById('RegisterFormErr_P').style.visibility="visible";
			}
			
			if (ErrMsg[8] != 'OK') { // birthday
			  switch (ErrMsg[3]) {
				case 'INVALID'  : AloChangeText('RegisterFormErr_P', "Geben Sie bitte Ihr geburtsdatum ein."); break;
			  }
	          document.getElementById('RegisterFormErr_BD').style.visibility="visible";
			}
			
            if (ErrMsg[9] != 'OK') { // AGB terms of usage
			  document.getElementById('RegisterFormErr_CkAgb').style.visibility="visible";
			}
			
            if (ErrMsg[10] != 'OK') { // policy
			  document.getElementById('RegisterFormErr_CkDaS').style.visibility="visible";
			}		
		}
	  }
	}
  }
}


function MemberRegisterMsgHide() {
  document.getElementById('RegisterMsgHinweistext').style.visibility="hidden"; 		
  document.getElementById('register_msg_section').style.visibility="hidden"; 	
}

function MemberRegisterMsgShow(Msg) { 
  ScrollToTop();
  AloChangeText('RegisterMsgHinweistext', Msg);
  document.getElementById('RegisterMsgHinweistext').style.visibility="visible";  
  document.getElementById('register_msg_section').style.visibility="visible"; 
}

