// MyTeamCaptain login scripts

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie (cookieName,cookieValue,expireDays)
{
	var today = new Date();
	var expire = new Date();
	if (expireDays==null || expireDays==0) expireDays=1;
	expire.setTime(today.getTime() + 3600000*24*expireDays);
	document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
}

function updateLoginForm(forceLoginType)
{
	// configurable section
	var captainLoginURL = 'http://app.teamr.com/app/login.pl';
	var leagueLoginURL = 'http://app.teamr.com/app/loginLeague.pl';
	var playerLoginURL = 'http://app.teamr.com/app/loginPlayers.pl';
	
	var rememberedCaptain = getCookie('rememberedCaptain');
	var rememberedLeague = getCookie('rememberedLeague');
	var rememberedEmail = getCookie('rememberedEmail');

	if (rememberedCaptain == null)
	{
		var rememberedCaptain = '';
	}
	if (rememberedLeague == null)
	{
		var rememberedLeague = '';
	}
	if (rememberedEmail == null)
	{
		var rememberedEmail = '';
	}

	// check if we're forcing a login type (used for player & league login forms)
	if ((forceLoginType != '') && (forceLoginType != null))
	{
		var loginType = forceLoginType;
	}
	else // normal operation, get the login type from what's selected on the form
	{
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].checked)
			{
				var loginType = document.captainLoginForm.loginType[i].value;
			}
		}
	}
	
	if ((rememberedCaptain != '') && (loginType == null))
	{
		document.captainLoginForm.Email.value = rememberedCaptain;
		document.captainLoginForm.action = captainLoginURL;
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].value == 'Captain')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}
		document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain" checked="checked"> Remember Me';
	}
	else if ((rememberedCaptain != '') && (loginType == 'Captain'))
	{
		document.captainLoginForm.Email.value = rememberedCaptain;
		document.captainLoginForm.action = captainLoginURL;
		
		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisCaptain)
		{
			if (document.captainLoginForm.rememberThisCaptain.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain" checked="checked"> Remember Me';
		}
	}
	else if ((rememberedLeague != '') && (loginType == null))
	{
		document.captainLoginForm.Email.value = rememberedLeague;
		document.captainLoginForm.action = leagueLoginURL;
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].value == 'League')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}
		document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague" checked="checked"> Remember Me';
	}
	else if ((rememberedLeague != '') && (loginType == 'League'))
	{
		document.captainLoginForm.Email.value = rememberedLeague;
		document.captainLoginForm.action = leagueLoginURL;

		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisLeague)
		{
			if (document.captainLoginForm.rememberThisLeague.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague" checked="checked"> Remember Me';
		}
	}
	else if (loginType == 'League')
	{
		document.captainLoginForm.action = leagueLoginURL;

		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisLeague)
		{
			if (document.captainLoginForm.rememberThisLeague.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisLeague" checked="checked"> Remember Me';
		}
	}
	else if ((rememberedEmail != '') && (loginType == null))
	{
		document.captainLoginForm.Email.value = rememberedEmail;
		document.captainLoginForm.action = playerLoginURL;
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].value == 'Player')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}

		document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail" checked="checked"> Remember Me';
	}
	else if ((rememberedEmail != '') && (loginType == 'Player'))
	{
		document.captainLoginForm.Email.value = rememberedEmail;
		document.captainLoginForm.action = playerLoginURL;

		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisEmail)
		{
			if (document.captainLoginForm.rememberThisEmail.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail" checked="checked"> Remember Me';
		}

		// force the Player button to get checked
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].value == 'Player')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}
	}
	else if (loginType == 'Player')
	{
		document.captainLoginForm.action = playerLoginURL;
		
		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisEmail)
		{
			if (document.captainLoginForm.rememberThisEmail.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisEmail" checked="checked"> Remember Me';
		}

		// force the Player button to get checked
		for (i=0; i<document.captainLoginForm.loginType.length; i++)
		{
			if (document.captainLoginForm.loginType[i].value == 'Player')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}
	}
	else
	{
		document.captainLoginForm.action = captainLoginURL;
		
		// retain the rememberMe state if it was unchecked
		if (document.captainLoginForm.rememberThisCaptain)
		{
			if (document.captainLoginForm.rememberThisCaptain.checked)
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain" checked="checked"> Remember Me';
			}
			else
			{
				document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain"> Remember Me';
			}
		}
		else
		{
			document.getElementById('rememberMe').innerHTML = '<input type="checkbox" name="rememberThisCaptain" checked="checked"> Remember Me';
		}

		for (i=0; i<document.captainLoginForm.loginType.length; i++) // Captain checked by default
		{
			if (document.captainLoginForm.loginType[i].value == 'Captain')
			{
				document.captainLoginForm.loginType[i].checked = true;
			}
		}
	}
}

function setRememberMe ()
{
	if (document.captainLoginForm.rememberThisCaptain)
	{
		if (document.captainLoginForm.rememberThisCaptain.checked)
		{
			setCookie ('rememberedCaptain',document.captainLoginForm.Email.value,730);
		}
	}
	else if (document.captainLoginForm.rememberThisLeague)
	{
		if (document.captainLoginForm.rememberThisLeague.checked)
		{
			setCookie ('rememberedLeague',document.captainLoginForm.Email.value,730);
		}
	}
	else if (document.captainLoginForm.rememberThisEmail)
	{
		if (document.captainLoginForm.rememberThisEmail.checked)
		{
			setCookie ('rememberedEmail',document.captainLoginForm.Email.value,730);
		}
	}
}

function forceRadioSelect (forceLoginType)
{
	for (i=0; i<document.captainLoginForm.loginType.length; i++)
	{
		if (document.captainLoginForm.loginType[i].value == forceLoginType)
		{
			document.captainLoginForm.loginType[i].checked = true;
		}
	}		
}

function forgotPassword()
{
	for (i=0; i<document.captainLoginForm.loginType.length; i++)
	{
		if (document.captainLoginForm.loginType[i].checked)
		{
			var loginType = document.captainLoginForm.loginType[i].value;
		}
	}
	
	if (loginType == 'Player')
	{
		document.captainLoginForm.action = 'http://app.teamr.com/app/password_reminder.pl?player=' + document.captainLoginForm.Email.value; // slightly different
	}
	else
	{
		document.captainLoginForm.action = 'http://app.teamr.com/app/password_reminder.pl?' + document.captainLoginForm.Email.value;
	}
	
	// force form submission from link
	document.captainLoginForm.submit();
}
function updateSignupForm()
{
	var querystring = location.search.substring(1);
	if (querystring != null)
	{
		document.signupForm.Email.value = querystring;
	}
}
function checkAccountType()
{
	// this function checks to see if the account type radio button has been selected (and alerts the user if not)
	for (i=0; i<document.captainLoginForm.loginType.length; i++)
	{
		if (document.captainLoginForm.loginType[i].checked)
		{
			var loginType = document.captainLoginForm.loginType[i].value;
		}
	}
	
	if (loginType == null)
	{
		alert ('Please select which type of account you are logging in to (Team Leader or Team Member)');
		return false;	
	}
	else
	{
		return true;
	}
}
function setDefaultSeasonName(seasonLength)
{
	var currentDate = new Date();
	var currentYear = currentDate.getFullYear();
	var nextYear = currentYear + 1;
	
	if (seasonLength == 'Quarter')
	{
		var currentMonth = currentDate.getMonth();
		currentMonth++;
		switch (currentMonth)
		{
			case 1: // January
				document.newAccountForm.SeasonName.value = 'Winter ' + currentYear;
				break;
			case 2: // February
				document.newAccountForm.SeasonName.value = 'Winter ' + currentYear;
				break;
			case 3: // March
				document.newAccountForm.SeasonName.value = 'Spring ' + currentYear;
				break;
			case 4: // April
				document.newAccountForm.SeasonName.value = 'Spring ' + currentYear;
				break;
			case 5: // May
				document.newAccountForm.SeasonName.value = 'Summer ' + currentYear;
				break;
			case 6: // June
				document.newAccountForm.SeasonName.value = 'Summer ' + currentYear;
				break;
			case 7: // July
				document.newAccountForm.SeasonName.value = 'Summer ' + currentYear;
				break;
			case 8: // August
				document.newAccountForm.SeasonName.value = 'Autumn ' + currentYear;
				break;
			case 9: // September
				document.newAccountForm.SeasonName.value = 'Autumn ' + currentYear;
				break;
			case 10: // October
				document.newAccountForm.SeasonName.value = 'Autumn ' + currentYear;
				break;
			case 11: // November
				document.newAccountForm.SeasonName.value = 'Winter ' + currentYear + ' - ' + nextYear;
				break;
			case 12: // December
				document.newAccountForm.SeasonName.value = 'Winter ' + currentYear + ' - ' + nextYear;
				break;
			default:
				document.newAccountForm.SeasonName.value = '' + currentYear + '-' + nextYear;
		}
	}
	else
	{
		document.newAccountForm.SeasonName.value = '' + currentYear + '-' + nextYear;
	}
}
function setDefaultSeasonDates(seasonLength)
{
	var currentDate = new Date();
	var currentYear = currentDate.getFullYear();
	var currentMonth = currentDate.getMonth();
	currentMonth++;
	var currentDay = currentDate.getDate();
	
	if (seasonLength == 'Quarter')
	{
		// modify this for changing the end date of the first default season
		var endYear = currentYear;
		var endMonth = currentMonth + 3; // shift ahead 3 months
		var endDay = currentDay;

		if (currentMonth < 10)
		{
			currentMonth = '' + '0' + currentMonth;
		}
	
		if (endMonth < 10)
		{
			endMonth = '' + '0' + endMonth;
		}
		else if (endMonth == 13)
		{
			endMonth = '01';
			endYear = currentYear + 1;
		}
		else if (endMonth == 14)
		{
			endMonth = '02';
			endYear = currentYear + 1;
		}
		else if (endMonth == 15)
		{
			endMonth = '03';
			endYear = currentYear + 1;
		}
		else if (endMonth == 16)
		{
			endMonth = '04';
			endYear = currentYear + 1;
		}
		else if (endMonth == 17)
		{
			endMonth = '05';
			endYear = currentYear + 1;
		}
		else if (endMonth == 18)
		{
			endMonth = '06';
			endYear = currentYear + 1;
		}
		else if (endMonth == 19)
		{
			endMonth = '07';
			endYear = currentYear + 1;
		}
		else if (endMonth == 20)
		{
			endMonth = '08';
			endYear = currentYear + 1;
		}
		else if (endMonth == 21)
		{
			endMonth = '09';
			endYear = currentYear + 1;
		}
		else if (endMonth == 22)
		{
			endMonth = '10';
			endYear = currentYear + 1;
		}
		else if (endMonth == 23)
		{
			endMonth = '11';
			endYear = currentYear + 1;
		}

		if (currentDay < 10)
		{
			currentDay = '0' + currentDay;
		}
		if (endDay < 10)
		{
			endDay = '0' + endDay;
		}

		document.newAccountForm.SeasonStart.value = currentYear + '-' + currentMonth + '-' + currentDay;
		document.newAccountForm.SeasonEnd.value = endYear + '-' + endMonth + '-' + endDay;
	}
	else
	{
		if (currentMonth < 10)
		{
			currentMonth = '' + '0' + currentMonth;
		}
	
		var endYear = currentYear + 1;
		var endMonth = '12';
		var endDay = '31';
		
		document.newAccountForm.SeasonStart.value = currentYear + '-' + currentMonth + '-' + currentDay;
		document.newAccountForm.SeasonEnd.value = endYear + '-' + endMonth + '-' + endDay;
	}
}
