﻿/****************************************************************
 * JavaScript-Funktionen für Projekt Rambazotti									*
 * (Mail-Popup)																									*
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
 * Development 2005-08, 09																			*
 * by B2A Corporate Marketing, Kassel; mailto:dev-AT-b2a-DOT-de	*
 * Version: -																										*
 * Autor: B2A/koe																								*
 * Letzte Bearbeitung: 2005-10-31 09:04													*
 * durch: Koe																										*
 ****************************************************************/

var n=0,defaults=new Array(),
		msg=new Array(),
		ok=new Array();

/*** Javascript: ab hier übersetzen ***/
msg.vorname="Verraten Sie uns bitte Ihren Vornamen?"
msg.name="Verraten Sie uns bitte Ihren Nachnamen?"
msg.email1="Geben Sie uns bitte Ihre E-Mail-Adresse?"
msg.email2="Ihre E-Mail-Adresse kann so leider nicht stimmen!"
msg.detail_dienstleistung="<Details zu meiner Dienstleistungsspende>";
msg.detail_direktspende="<Avisierter Spendenbetrag (wichtig!)\nund sonstige Details zu meiner Direktspende>";
msg.detail_drachenpate="<Meine Spende für Drachenschuppen beträgt (ab 25,-- €)>";
msg.detail_geschenkspende="<Details zu meiner Geschenkspende>";
msg.detail_kinderpate="<Höhe meiner Patenschaft (mindestens 25,-- €\/Monat)>";
msg.detail_mitgliedschaft="<Höhe meiner Fördermitgliedschaft (mindestens 5,-- €\/Monat)>";
msg.detail_sachspende="<Details zu meiner Sachspende>";
msg.detail_sammelaktion="<Hier kann ich Details zu meiner Sammelaktion nennen>";
msg.detail_sternenpate="<Höhe meiner Sternenpatenschaft (ab 300,-- €)>";
msg.type_dienstleistung="Dienstleistungsspende";
msg.type_direktspende="Direktspende";
msg.type_drachenpate="Drachenschuppen";
msg.type_geschenkspende="Geschenkspende";
msg.type_kinderpate="Kinderpatenschaft";
msg.type_mitgliedschaft="Fördermitgliedschaft";
msg.type_mitteilung="Einfache Mitteilung";
msg.type_sachspende="Sachspende";
msg.type_sammelaktion="Sammelaktion";
msg.type_sternenpate="Sternenpatenschaft";
msg.checked="wurde angekreuzt";
msg.notChecked="wurde nicht angekreuzt";

defaults[n++]=new Array('subject',					'Feedback von rambazotti.de: ');
defaults[n++]=new Array('Vorname',					'<mein Vorname>');
defaults[n++]=new Array('Name',							'<mein Nachname>');
defaults[n++]=new Array('Fon',							'<meine Telefonnummer>');
defaults[n++]=new Array('eMail',						'<meine E-Mail-Adresse>');
defaults[n++]=new Array('Str_HNr',					'<meine Straße und Hausnummer>');
defaults[n++]=new Array('PLZ_Ort',					'<meine Postleitzahl und Ort>');
defaults[n++]=new Array('Bank',							'<Geschäftsname meiner Bank>');
defaults[n++]=new Array('Kontonummer',			'<meine Kontonummer>');
defaults[n++]=new Array('BLZ',							'<meine Bankleitzahl>');
defaults[n++]=new Array('Mitteilungstext',	'<meine Mitteilung an Rambazotti>');

ok.vorname=false;
ok.name=false;
ok.fon=false;
ok.email=false;

function initValues() {
	for( n=0;n<defaults.length;n++ )
		document.contactform[defaults[n][0]].value=defaults[n][1];

	msgtype=getPar();
	switch( msgtype ) {
		case 'dienstleistung':
		case 'sachspende':
		case 'geschenkspende':
		case 'mitgliedschaft':
		case 'kinderpate':
		case 'sternenpate':
		case 'drachenpate':
		case 'sammelaktion':
			document.contactform[defaults[0][0]].value+=msg['type_'+msgtype];		// Betreffzeile um Mitteilungstyp ergänzen
			document.contactform[defaults[10][0]].value=msg['detail_'+msgtype];	// Mitteilungsfeld vorbelegen
			showElement( 'msg_'+msgtype,true,is.mz?'table-row':'block' )
			showElement( 'msg_text',true,is.mz?'table-row':'block' )
			break;
		case 'direktspende':
			document.contactform[defaults[0][0]].value+=msg['type_'+msgtype];		// Betreffzeile um Mitteilungstyp ergänzen
			document.contactform[defaults[10][0]].value=msg['detail_'+msgtype];	// Mitteilungsfeld vorbelegen
			showElement( 'bankdaten',true,is.mz?'table':'block' );
			showElement( 'msg_'+msgtype,true,is.mz?'table-row':'block' );
			showElement( 'msg_text',true,is.mz?'table-row':'block' );
			break;
		default:
			document.contactform[defaults[0][0]].value+=msg.type_mitteilung;
			showElement( 'msg_mitteilung',true,is.mz?'table-row':'block' );
			showElement( 'msg_text',true,is.mz?'table-row':'block' );
			break;
	}
}

function chkInput( elm ) {
var pass=true;

	switch( elm ) {
		case defaults[1][0]:	//Vorname
			ok.vorname=document.contactform[elm].value!=defaults[1][1];
			if(!ok.vorname) {
				pass=false;
				document.contactform[elm].blur();
				document.contactform[elm].focus();
				window.alert( msg.vorname );
			}
			break;

		case defaults[2][0]:	//Name
			ok.name=document.contactform[elm].value!=defaults[2][1];
			if(!ok.name) {
				pass=false;
				document.contactform[elm].blur();
				document.contactform[elm].focus();
				window.alert( msg.name );
			}
			break;

		case defaults[4][0]:	//e-mail
			ok.email=document.contactform[elm].value!=defaults[4][1];
			if(!ok.email) {
				pass=false;
				document.contactform[elm].blur();
				document.contactform[elm].focus();
				window.alert( msg.email1 );
			} else {
				ok.email=chkEmailAdr( document.contactform[elm].value );
				if(!ok.email) {
					pass=false;
					document.contactform[elm].blur();
					document.contactform[elm].focus();
					window.alert( msg.email2 );
				}
			}
			break;
	}
	return pass;
}

function chkEmailAdr( adr ) {
/*********************************************************/
/* Funktion prüft, ob es sich bei dem übergebenen String */
/* um eine syntaktisch korrekte e-mail-Adresse handelt.  */
/*-------------------------------------------------------*/
/* Parameter:                                            */
/*	adr - Adress-String                                  */
/*-------------------------------------------------------*/
/* Rückgabe:                                             */
/*	Boole'scher Wert                                     */
/*********************************************************/

	var pre = "(mailto:)?",
			usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")",
			dmn = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}",
			regex = new RegExp( "^" + pre + "?" + usr + "\@" + dmn + "$" );

  return( regex.exec( adr )?true:false );
}

