/****************************************************************************
	Globale Hilfsvariablen
*****************************************************************************/

g_strFieldsMissingDE = "Nicht alle Pflichtfelder wurden ausgefüllt! \nPflichtfelder sind mit einem * gekennzeichnet";
g_strFieldsMissingIT = "Non tutti i campi obbligatori sono stati compilati!\nI campi segnati con una * devono essere compilati";

g_strEmailWrongDE = "Bitte geben Sie eine gülige eMail-Adresse ein!";
g_strEmailWrongIT = "Prego inserisca un indirizzo eMail valido!";

g_strPrivacyMissingDE  = "Bitte lesen und akzeptieren Sie die Datenschutzbestimmungen!";
g_strPrivacyMissingIT  = "Prego legga ed approvi l'informativa riguardante il trattamento dei dati personali!";

g_strPwdMismatchDE = "Das eingegebene Passwort und das wiederholte Passwort stimmen nicht überein. \nBitte geben Sie dasselbe Passwort zweimal ein.";
g_strPwdMismatchIT = "La password e la ripetizione della password non sono identiche.\nPrego inserica la stessa password due volte.";

/****************************************************************************
 Formularfelder überprüfen
	Übergabe
		form			Gew. Formular übergeben.
	Rückgabe:
		true wenn alle Pflichtfelder ausgefüllt (und ggf. MD5-Pwd) 
		oder false => alert.
*****************************************************************************/

function CheckRegForm( form )
{
	// Vorhandensein alle Pflichtfelder prüfen
	bOK = true;
	bPrivacy = true;
	bEmail = true;
	bMD5 = true; // Konvertierung in MD5-Pwd
	// Feld auf das Focus gesetzt werden soll
	var strFocusFieldID = '';
	
	// Pflicht-Felder anlegen
		//aDutyFields = new Array( 'Nachname', 'Name', 'eMail', 'Anfrage' );
		aDutyFields = new Array( 'FE[fe_users][first_name]', 'FE[fe_users][last_name]', 
								'FE[fe_users][address]', 'FE[fe_users][city]', 'FE[fe_users][zip]', 
								'FE[fe_users][email]', 'FE[fe_users][username]', 
								'FE[fe_users][password]', 
								'FE[fe_users][password_again]' );
		//var pass = form[].value;
	
	// Sprache aus hidden-field holen
	nLang = form.txlang.value;
	
	if( nLang == undefined ){
		// Auf Defaultsprache umstellen
		nLang = 0;
	}
	else {
		nLang = parseInt( nLang );	
	}
	
	// Alle Pflichtfelder prüfen ob sie leer sind
	for( var j = 0; j < aDutyFields.length; ++j ){
		// Wenn Feld existiert und leer
		if( form[aDutyFields[ j ]] != undefined && form[aDutyFields[ j ]].value == '' ){
			// Feld fehlt!
			bOK = false;
			
			// Feld auf das Focus gesetzt werden soll
			if( strFocusFieldID == '' && form[aDutyFields[ j ]]){
				strFocusFieldID = aDutyFields[ j ];
			}
		}
	}
	
	// Checkbox prüfen
	if( bOK && form['FE[fe_users][tx_feusersaddfields_privacy]'].checked != true ){
		bOK = false;
		bPrivacy = false;
		// Feld auf das Focus gesetzt werden soll
		strFocusFieldID = 'FE[fe_users][tx_feusersaddfields_privacy]';
	}
	
	// Ggf. eMail-Adresse prüfen
	if( bOK ){
		var nPosAt = form['FE[fe_users][email]'].value.indexOf( '@' );
		var nPosLastDot = form['FE[fe_users][email]'].value.lastIndexOf( '.' );
		if(( form['FE[fe_users][email]'].value != "" && ( nPosAt == -1 || 
			( nPosAt != -1 && nPosLastDot <= nPosAt + 1 ))) ||
			( form['FE[fe_users][email]'].value=="" )){
			bOK = false;
			bEmail = false;
			// Feld auf das Focus gesetzt werden soll
			strFocusFieldID = 'FE[fe_users][email]';
		}
	}

	
	if( !bOK ){
	
		// Passende Hinweise holen
		switch( nLang ){
		case 2:
			// italienisch
			if( !bPrivacy ){
				strAlert = g_strPrivacyMissingIT;
			}
			else if( !bEmail ){
				strAlert = g_strEmailWrongIT;
			}
			else{
				strAlert = g_strFieldsMissingIT;
			}
			break;
		default:
			// deutsch
			if( !bPrivacy ){
				strAlert = g_strPrivacyMissingDE;
			}
			else if( !bEmail ){
				strAlert = g_strEmailWrongDE;
			}
			else{
				strAlert = g_strFieldsMissingDE;
			}
			break;
		}
		
		// Hinweis ausgeben
		alert( strAlert );
		
		// Fokus auf fehlerhaftes Feld setzen
		if( strFocusFieldID != '' ){
			form[ strFocusFieldID ].select( );
			form[ strFocusFieldID ].focus( );
		}
		// Fehler
		return false;
	}
	else {
		// Alles OK
		if( bMD5 ){
			// Md5-Pwd erstellen
			EncForm( form, nLang );
		}
		else {
			return true;
		}
	}
};

/****************************************************************************
 Passwörter MD5-verschlüsseln.
	Übergabe
		form			Gew. Formular übergeben.
		nLang			id der Gew. Sprache (L)
	Rückgabe:
		true wenn beide Pwds übereinstimmen oder false => alert.
*****************************************************************************/

var pw_change = 0; 
function EncForm( form, nLang )
{
	var strPwd = form['FE[fe_users][password]'].value;
	var strPwdAgain = form['FE[fe_users][password_again]'].value;
	if ( strPwd != strPwdAgain ) {
		// Passende Hinweise holen
		switch( nLang ){
		case 2:
			// italienisch
			alert( g_strPwdMismatchIT );
			break;
		default:
			// deutsch
			alert( g_strPwdMismatchDE );
			break;
		}
		
		// Felder leeren
		form[ 'FE[fe_users][password]' ].value = '';
		form[ 'FE[fe_users][password_again]' ].value = '';
		
		// Focus setzen
		form[ 'FE[fe_users][password]' ].select( );
		form[ 'FE[fe_users][password]' ].focus( );
		return false;
	}
	
	// Ggf. Passwörter konvertieren
	if ( pw_change ) {
		var strEncPwd = MD5( strPwd );
		form[ 'FE[fe_users][password]' ].value = strEncPwd;
		form[ 'FE[fe_users][password_again]' ].value = strEncPwd;
	}
	
	return true;
	// form.submit();
	// unter submit-button onclick="enc_form(this.form)"
};

/****************************************************************************
	EMail-Adresse verstecken.
*****************************************************************************/

function HideEA( eMail, eMailText, StyleCSS, Domain )
{
	if( Domain == "" || Domain == undefined || 
	   	eMail == "" || eMail == undefined ){
		return false;
	}
	else {
		if( eMailText == "" ){
			document.write( '<a href="mailto:' + 
						   eMail + '@' + Domain + '"class="' + 
						   StyleCSS + '">' + 
						   eMail + '@' + Domain + '</a>' );// -->
		}
		else {
			document.write( '<a href="mailto:' + eMail + 
						   '@' + Domain + ' class="' + 
						   StyleCSS + '">' + 
						   eMailText + '</a>' );// -->
		}
	}
};

/****************************************************************************
	ShowLightboxIE: Funktionalität für vergrößerte Darstellung Bild für IE.
*****************************************************************************/
function ShowLightboxIE( strImgURL )
{
	// IE versteht this.name nicht, daher Seiten-URL aus Bild-URL erzeugen
	strURL = strImgURL.replace( /_f\.jpg/g, '' );
	strURL = strURL.substr( strURL.lastIndexOf( '/' ) + 1 );
	strURL = 'http://' + strURL.replace( /_/g, '.' );
	
	// Light-Box anzeigen
	Lightbox.show( strImgURL, strURL );
};

/****************************************************************************
	ShowLightbox: Funktionalität für vergrößerte Darstellung Bild andere Browser.
*****************************************************************************/

function ShowLightbox( strImgURL, strName )
{
	// Light-Box anzeigen
	Lightbox.show( strImgURL, strName );
};


/****************************************************************************
	Popup-Fenster.
*****************************************************************************/

function ShowWindow( strURL, strName, strWndData )
{
	// Fenster öffnen
	if( strWndData == "" || strWndData == undefined ){
		Win = window.open( strURL, strName );
	}
	else {
		Win = window.open( strURL, strName, strWndData );
	}
	
	// Fokus setzen
	Win.focus( );
	
	return false;
};