// FALCON 1.0 - IMG javascript library
// Module: sportal functions
// Author: David Grimm, IMG, david.grimm@imgworld.com
// Last change: 2007-08-06

// Functions:
// ==========
// falcon_sportal_nlInit()
// falcon_sportal_nlDisplayDateSelectDaysResult()
// falcon_sportal_nlDisplayDateSelectMonthsResult()
// falcon_sportal_nlDisplayDateSelectYearsResult()
// falcon_sportal_nlSubmitRegistration()
// falcon_sportal_nlUnlock(aid)
// falcon_sportal_nlDoLogin()
// falcon_sportal_nlLoginResult(response)
// falcon_sportal_nlDoLogout()
// falcon_sportal_nlInitAccount()
// falcon_sportal_nlDisplayUserStatEmail()
// falcon_sportal_nlSaveUserChanges()
// falcon_sportal_nlSaveUserChangesErrResult()

// falcon_sportal_nlInit(): init page
function falcon_sportal_nlInit()
{
	// Display days box
	x_eagle_sportal_nlDisplayDateSelectDays(falcon_sportal_nlDisplayDateSelectDaysResult);
	
	// Display months box
	x_eagle_sportal_nlDisplayDateSelectMonths(falcon_sportal_nlDisplayDateSelectMonthsResult);
	
	// Display years box
	x_eagle_sportal_nlDisplayDateSelectYears(falcon_sportal_nlDisplayDateSelectYearsResult);
}

// falcon_sportal_nlInitAccount(): init page
function falcon_sportal_nlInitAccount(custid,byear,bmonth,bday)
{
	// Display days box
	x_eagle_sportal_nlDisplayDateSelectDaysChecked(bday,falcon_sportal_nlDisplayDateSelectDaysResult);
	
	// Display months box
	x_eagle_sportal_nlDisplayDateSelectMonthsChecked(bmonth,falcon_sportal_nlDisplayDateSelectMonthsResult);
	
	// Display years box
	x_eagle_sportal_nlDisplayDateSelectYearsChecked(byear,falcon_sportal_nlDisplayDateSelectYearsResult);

	// General content
	x_eagle_sportal_nlGetUserEmail(custid,falcon_sportal_nlDisplayUserStatEmail);
}

// falcon_sportal_nlDisplayUserStatEmail(): display stat email
function falcon_sportal_nlDisplayUserStatEmail(response)
{
	document.getElementById('logged_email').innerHTML = response;
}

// falcon_sportal_nlDisplayDateSelectDaysResult(): display days result
function falcon_sportal_nlDisplayDateSelectDaysResult(response)
{
	document.getElementById('dateselect_days').innerHTML = response;
}

// falcon_sportal_nlDisplayDateSelectMonthsResult(): display months result
function falcon_sportal_nlDisplayDateSelectMonthsResult(response)
{
	document.getElementById('dateselect_months').innerHTML = response;
}

// falcon_sportal_nlDisplayDateSelectYearsResult(): display years result
function falcon_sportal_nlDisplayDateSelectYearsResult(response)
{
	document.getElementById('dateselect_years').innerHTML = response;
}

// falcon_sportal_nlSubmitRegistration(): submit newsletter registration
function falcon_sportal_nlSubmitRegistration()
{
	// Define vars
	var aform			= document.forms['nlform'];
	var aform_length	= aform.elements.length;
	var color_error	 	= '2px solid #FF0000';
	var color_default 	= '1px solid #aaaaaa';
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');
	
	// Must-Have-Vars
	var f_email 		= document.getElementById('email');
	var f_firstname 	= document.getElementById('vorname');
	var f_lastname 		= document.getElementById('nachname');
	var f_zip 			= document.getElementById('plz');
	var f_handy    		= document.getElementById('handy');
	var f_birthdate 	= document.getElementById('jahr').value + '-' + document.getElementById('monat').value + '-' + document.getElementById('tag').value;
	var f_sex 			= document.getElementById('geschlecht').value;
	var f_pass 			= document.getElementById('pass');
	var f_pass_re 		= document.getElementById('pass_re');
	var f_chaos_txt 	= document.getElementById('chaos_txt');
	var f_intervall		= document.getElementById('intervall').value;
	
	if(f_intervall == "weekly")
	{
		var intv_weekly	= 1;
		var intv_daily	= 0;
	}
	else
	{
		var intv_weekly	= 0;
		var intv_daily	= 1;
	}
	
	// Other vars
	var f_street 		= document.getElementById('strasse');
	var f_place 		= document.getElementById('ort');
	
	var tarray			= new Array();
	
	// Put interests into an array
	for(i=0;i<aform_length;i++)
	{
		if(aform.elements[i].type == 'checkbox' )
		{
			if(aform.elements[i].checked == true )
			{
				tarray.push(aform.elements[i].value);
			}
		}
	}
	
	// Error handling/reporting
	var errors	= 0;
	
	if(f_email.value == "")	
	{ 
		errors += 1;
		f_email.style.border	= color_error;
	}
	else
	{
		f_email.style.border 	= color_default;
	}
	
	if(f_firstname.value == "")	
	{ 
		errors += 1;
		f_firstname.style.border	= color_error;
	}
	else
	{
		f_firstname.style.border 	= color_default;
	}
	
	if(f_lastname.value == "")	
	{ 
		errors += 1;
		f_lastname.style.border	= color_error;
	}
	else
	{
		f_lastname.style.border 	= color_default;
	}
	
	if(f_zip.value == "")	
	{ 
		errors += 1;
		f_zip.style.border	= color_error;
	}
	else
	{
		f_zip.style.border 	= color_default;
	}
	
	if(f_handy.value == "")	
	{ 
		errors += 1;
		f_handy.style.border	= color_error;
	}
	else
	{
		f_handy.style.border 	= color_default;
	}
	
	if(f_pass.value == "")	
	{ 
		errors += 1;
		f_pass.style.border	= color_error;
	}
	else
	{
		f_pass.style.border 	= color_default;
	}
	
	if(f_pass_re.value == "")	
	{ 
		errors += 1;
		f_pass_re.style.border	= color_error;
	}
	else
	{
		f_pass_re.style.border 	= color_default;
	}
	
	if(f_chaos_txt.value == "")	
	{ 
		errors += 1;
		f_chaos_txt.style.border	= color_error;
	}
	else
	{
		f_chaos_txt.style.border 	= color_default;
	}
	
	if(errors > 0)
	{
		err_result.innerHTML = '<br>Sie haben vergessen, notwendige Daten einzugeben. Bitte überprüfen Sie Ihre Eingaben.';
	
		// Scroll to top
		window.scrollTo(0,0);
	
		return false;
	}
	else
	{
		if(falcon_string_checkEmail(f_email.value) == false)
		{
			err_result.innerHTML = '<br>Die eingegebene E-Mail-Adresse ist nicht korrekt. Bitte geben Sie eine korrekte Mailadresse ein.';
			
			// Scroll to top
			window.scrollTo(0,0);
			
			return false;
		}
		else
		{
			if(f_pass.value != f_pass_re.value)
			{
				err_result.innerHTML = '<br>Die Wiederholung Ihres Passwortes stimmt nicht mit dem eingegebenen Passwort überein. Bitte geben Sie die Wiederholung korrekt ein.';
			
				// Scroll to top
				window.scrollTo(0,0);
			
				return false;
			}
			else
			{
				if(f_chaos_txt.value != 'He9Gy')
				{
					err_result.innerHTML = '<br>Die vom Bild eingegebenen Buchstaben sind nicht korrekt. Bitte ändern Sie die Eingabe.';
			
					// Scroll to top
					window.scrollTo(0,0);
			
					return false;
				}
				else
				{
					if(f_pass.value.length < 6)
					{
						err_result.innerHTML = '<br>Das von Ihnen eingegebene Passwort ist zu kurz. Bitte ändern Sie die Eingabe.';
			
						// Scroll to top
						window.scrollTo(0,0);
			
						return false;
					}
					else
					{
						err_result.innerHTML = '';
					
						// Save user in database
						x_eagle_sportal_nlSaveUser(f_email.value,f_firstname.value,f_lastname.value,f_street.value,f_zip.value,
						f_place.value,f_handy.value,f_birthdate,f_sex,f_pass.value,tarray,intv_weekly,intv_daily,falcon_sportal_nlErrResult);
		
						return true;
					}
				}
			}
		}
	}
}

// falcon_sportal_nlErrResult(response): display result of registration
function falcon_sportal_nlErrResult(response)
{
	// Define vars
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');

	if(response == 1)
	{
		// Display registration result
		result_field.innerHTML = '<span class="news_text">Vielen Dank für Ihre Registrierung für den 4-4-2.com Newsletter!<br><br>In wenigen Minuten erhalten Sie eine E-Mail. Um Ihre Registrierung abzuschließen, bestätigen Sie bitte Ihre Registrierung mit einem Klick auf den Aktivierungslink in der E-Mail.<br><br><a href="/" class="news_text">Zurück zur Startseite</a></span><br><br>';
					
		// Scroll to top
		window.scrollTo(0,0);
	
		return true;
	}
	else
	{
		err_result.innerHTML = '<br>Die gewählte E-Mail Adresse existiert bereits. Bitte wählen Sie eine andere Adresse.';
		
		// Scroll to top
		window.scrollTo(0,0);
		
		return false;
	}
}

// falcon_sportal_nlUnlock(aid): unlock a newsletter account
function falcon_sportal_nlUnlock(aid)
{
	x_eagle_sportal_nlUnlock(aid);
}

// falcon_sportal_nlDelete(aid): delete a newsletter account
function falcon_sportal_nlDelete(aid)
{
	x_eagle_sportal_nlDelete(aid);
}

// falcon_sportal_nlDoLogin(): login to newsletter user frontend
function falcon_sportal_nlHeaderDoLogin(email,password)
{
	var errors	= 0;
	
	// Error handling
	if(email == "")
	{
		errors += 1;
	}
	
	if(password == "")
	{
		errors += 1;
	}
	
	// Do login
	if(errors > 0)
	{
		return false;
	}
	else
	{
		// Login user
		x_eagle_sportal_nlLoginUser(email,password,falcon_sportal_nlLoginResultHeader);
		
		return true;
	}
}

// falcon_sportal_nlDoLogin(): login to newsletter user frontend
function falcon_sportal_nlDoLogin()
{
	// Define vars
	var login				= document.getElementById('login_email');
	var pass				= document.getElementById('login_pass');
	
	var login_result		= document.getElementById('login_result');
	login_result.innerHTML	= '';
	
	var color_error	 		= '2px solid #FF0000';
	var color_default 		= '1px solid #aaaaaa';
	
	var errors			= 0;
	
	// Error handling
	if(login.value == "")
	{
		errors += 1;
		login.style.border			= color_error;
		
		login_result.style.display	= "block"; 
		login_result.innerHTML 		+= "E-Mail fehlt!&nbsp;"; 
	}
	else
	{
		login.style.border			= color_default;
		
		login_result.style.display	= "none"; 
		login_result.innerHTML		= "";
	}
	
	if(pass.value == "")
	{
		errors += 1;
		pass.style.border			= color_error;
		
		login_result.style.display	= "block"; 
		login_result.innerHTML 		+= "Passwort fehlt!&nbsp;"; 
	}
	else
	{
		pass.style.border			= color_default;
		
		login_result.style.display	= "none"; 
		login_result.innerHTML		= "";
	}
	
	// Do login
	if(errors > 0)
	{
		return false;
	}
	else
	{
		// Login user
		x_eagle_sportal_nlLoginUser(login.value,pass.value,falcon_sportal_nlLoginResult);
		
		return true;
	}
}

// falcon_sportal_nlLoginResult(response): display result of login
function falcon_sportal_nlLoginResult(response)
{
	// Define vars
	var login_result	= document.getElementById('login_result');
	var result_field	= document.getElementById('resultfield');
	
	if(response < 1)
	{
		login_result.style.display	= "block"; 
		login_result.innerHTML 		= 'Die E-Mail existiert nicht!';
	}
	else
	{
		login_result.style.display	= "none";
		location.href				= "/442/service/newsletter/account.html?" + response;
	}
}

// falcon_sportal_nlLoginResult(response): display result of login
function falcon_sportal_nlLoginResultHeader(response)
{
	if(response != "0")
	{
		location.href	= "/442/service/newsletter/account.html?" + response;
	}
}

// falcon_sportal_nlDoLogout(): Logout
function falcon_sportal_nlDoLogout()
{
	location.href				= "/442/service/newsletter/index.html";
}

// falcon_sportal_nlSaveUserChanges(): save user changes
function falcon_sportal_nlSaveUserChanges(accountid)
{
	// Define vars
	var aform			= document.forms['nlform'];
	var aform_length	= aform.elements.length;
	var color_error	 	= '2px solid #FF0000';
	var color_default 	= '1px solid #aaaaaa';
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');
	
	// Must-Have-Vars
	var f_firstname 	= document.getElementById('vorname');
	var f_lastname 		= document.getElementById('nachname');
	var f_zip 			= document.getElementById('plz');
	var f_handy			= document.getElementById('handy');
	var f_birthdate 	= document.getElementById('jahr').value + '-' + document.getElementById('monat').value + '-' + document.getElementById('tag').value;
	var f_sex 			= document.getElementById('geschlecht').value;
	var f_pass 			= document.getElementById('pass');
	var f_pass_re 		= document.getElementById('pass_re');
	var f_intervall		= document.getElementById('intervall').value;
	
	if(f_intervall == "Weekly")
	{
		var intv_weekly	= 1;
		var intv_daily	= 0;
	}
	else
	{
		var intv_weekly	= 0;
		var intv_daily	= 1;
	}
	
	// Other vars
	var f_street 		= document.getElementById('strasse');
	var f_place 		= document.getElementById('ort');
	
	var tarray			= new Array();
	
	// Put interests into an array
	for(i=0;i<aform_length;i++)
	{
		if(aform.elements[i].type == 'checkbox' )
		{
			if(aform.elements[i].checked == true )
			{
				tarray.push(aform.elements[i].value);
			}
		}
	}
	
	// Error handling/reporting
	var errors	= 0;
	
	if(f_firstname.value == "")	
	{ 
		errors += 1;
		f_firstname.style.border	= color_error;
	}
	else
	{
		f_firstname.style.border 	= color_default;
	}
	
	if(f_lastname.value == "")	
	{ 
		errors += 1;
		f_lastname.style.border	= color_error;
	}
	else
	{
		f_lastname.style.border 	= color_default;
	}
	
	if(f_zip.value == "")	
	{ 
		errors += 1;
		f_zip.style.border	= color_error;
	}
	else
	{
		f_zip.style.border 	= color_default;
	}
	
	if(f_handy.value == "")	
	{ 
		errors += 1;
		f_handy.style.border	= color_error;
	}
	else
	{
		f_handy.style.border 	= color_default;
	}
	
	if(f_pass.value == "")	
	{ 
		errors += 1;
		f_pass.style.border	= color_error;
	}
	else
	{
		f_pass.style.border 	= color_default;
	}
	
	if(f_pass_re.value == "")	
	{ 
		errors += 1;
		f_pass_re.style.border	= color_error;
	}
	else
	{
		f_pass_re.style.border 	= color_default;
	}
	
	if(errors > 0)
	{
		err_result.innerHTML = '<br>Sie haben vergessen, notwendige Daten einzugeben. Bitte überprüfen Sie Ihre Eingaben.';
	
		// Scroll to top
		window.scrollTo(0,0);
	
		return false;
	}
	else
	{
		if(f_pass.value != f_pass_re.value)
		{
			err_result.innerHTML = '<br>Die Wiederholung Ihres Passwortes stimmt nicht mit dem eingegebenen Passwort überein. Bitte geben Sie die Wiederholung korrekt ein.';
		
			// Scroll to top
			window.scrollTo(0,0);
			
			return false;
		}
		else
		{
			if(f_pass.value.length < 6)
			{
				err_result.innerHTML = '<br>Das von Ihnen eingegebene Passwort ist zu kurz. Bitte ändern Sie die Eingabe.';
		
				// Scroll to top
				window.scrollTo(0,0);
		
				return false;
			}
			else
			{
				err_result.innerHTML = '';
				
				// Save user in database
				x_eagle_sportal_nlSaveUserChanges(accountid,f_firstname.value,f_lastname.value,f_street.value,f_zip.value,
				f_place.value,f_handy.value,f_birthdate,f_sex,f_pass.value,tarray,intv_weekly,intv_daily,falcon_sportal_nlSaveUserChangesErrResult);
		
				return true;
			}
		}
	}
}

// falcon_sportal_nlSaveUserChangesErrResult(response): display result of user changes
function falcon_sportal_nlSaveUserChangesErrResult(response)
{
	// Define vars
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');
	var options_field	= document.getElementById('options_field');

	// Display registration result
	result_field.innerHTML = '<span class="news_text">Ihr Newsletter-Account wurde erfolgreich bearbeitet.</span><br><br>';
					
	// Scroll to top
	window.scrollTo(0,0);
	
	options_field.style.display	= "block";
	
	return true;
}

// falcon_sportal_nlUnsubscribe(): delete newsletter registration
function falcon_sportal_nlUnsubscribe()
{
	// Define vars
	var aform			= document.forms['nlform'];
	var aform_length	= aform.elements.length;
	var color_error	 	= '2px solid #FF0000';
	var color_default 	= '1px solid #aaaaaa';
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');
	
	// Must-Have-Vars
	var f_email 		= document.getElementById('email');
	
	// Error handling/reporting
	var errors	= 0;
	
	if(f_email.value == "")	
	{ 
		errors += 1;
		f_email.style.border	= color_error;
	}
	else
	{
		f_email.style.border 	= color_default;
	}
	
	if(errors > 0)
	{
		err_result.innerHTML = '<br>Sie haben vergessen, notwendige Daten einzugeben. Bitte überprüfen Sie Ihre Eingaben.';
	
		// Scroll to top
		window.scrollTo(0,0);
	
		return false;
	}
	else
	{
		if(falcon_string_checkEmail(f_email.value) == false)
		{
			err_result.innerHTML = '<br>Die eingegebene E-Mail-Adresse ist nicht korrekt. Bitte geben Sie eine korrekte Mailadresse ein.';
			
			// Scroll to top
			window.scrollTo(0,0);
			
			return false;
		}
		else
		{
			err_result.innerHTML = '';
					
			// Save user in database
			x_eagle_sportal_nlUnsubscribeUser(f_email.value,falcon_sportal_nlUnsubscribeResult);
		
			return true;
		}
	}
}

// falcon_sportal_nlUnsubscribeResult(response): display result of unsubscription
function falcon_sportal_nlUnsubscribeResult(response)
{
	// Define vars
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');

	// Display registration result
	result_field.innerHTML = '<span class="news_text">Sie wurden erfolgreich vom sport.ch Newsletter abgemeldet.<br><br><a href="/" class="news_text">Zurück zur Startseite</a></span><br>';
					
	// Scroll to top
	window.scrollTo(0,0);
	
	return true;
}

// Passwort vergessen?
function falcon_sportal_nlLostpass()
{
	// Define vars
	var aform			= document.forms['nlform'];
	var aform_length	= aform.elements.length;
	var color_error	 	= '2px solid #FF0000';
	var color_default 	= '1px solid #aaaaaa';
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');
	
	// Must-Have-Vars
	var f_email 		= document.getElementById('email');
	
	// Error handling/reporting
	var errors	= 0;
	
	if(f_email.value == "")	
	{ 
		errors += 1;
		f_email.style.border	= color_error;
	}
	else
	{
		f_email.style.border 	= color_default;
	}
	
	if(errors > 0)
	{
		err_result.innerHTML = '<br>Sie haben vergessen, notwendige Daten einzugeben. Bitte überprüfen Sie Ihre Eingaben.';
	
		// Scroll to top
		window.scrollTo(0,0);
	
		return false;
	}
	else
	{
		if(falcon_string_checkEmail(f_email.value) == false)
		{
			err_result.innerHTML = '<br>Die eingegebene E-Mail-Adresse ist nicht korrekt. Bitte geben Sie eine korrekte Mailadresse ein.';
			
			// Scroll to top
			window.scrollTo(0,0);
			
			return false;
		}
		else
		{
			err_result.innerHTML = '';
					
			// Save user in database
			x_eagle_sportal_nlLostpass(f_email.value,falcon_sportal_nlLostpassResult);
		
			return true;
		}
	}
}

// Passwort vergessen? - Result
function falcon_sportal_nlLostpassResult(response)
{
	// Define vars
	var err_result		= document.getElementById('error_result');
	var result_field	= document.getElementById('resultfield');

	// Display registration result
	result_field.innerHTML = '<span class="news_text">Ihr Passwort wurde erfolgreich an Ihre E-Mail-Adresse gesendet!<br><br><a href="/" class="news_text">Zurück zur Startseite</a></span><br>';
					
	// Scroll to top
	window.scrollTo(0,0);
	
	return true;
}