var PasswordReminder					= {
	init : function () {
		if(!document.getElementById||!document.createTextNode){return;}

		if (document.getElementById('frmPasswordReminder')) {
			PasswordReminder.loadValidation();
		}
	},
	
	loadValidation : function () {
		var eForm						= document.getElementById('frmPasswordReminder');
		eForm.onsubmit					= function() {
			return PasswordReminder.validate();
		}
	},
	
	validate : function () {
		var bPassed						= true;
		var eEmail						= document.getElementById('sEmail');
		if (!FormUtils.checkEmail(eEmail)) {
			bPassed						= false;
			FormUtils.showError('emailHelper', 'Please enter a valid email address.');
		}
		else {
			FormUtils.hideError('emailHelper');
		}
		
		FormUtils.errorDisplay(bPassed);
		
		return bPassed;
	}
}

var LoginValidation						= {
	sHelpDeskEmail : '',
	sSiteName : '',
	sLoginHelpOnClass : 'showHelp',
	sLoginHelpOffClass : 'hideHelp',
	
	init:function(sHelpDeskEmail, sSiteName) {
		LoginValidation.sHelpDeskEmail	= sHelpDeskEmail;
		LoginValidation.sSiteName		= sSiteName;
		if(!document.getElementById||!document.createTextNode){return;}
		
		if (document.getElementById('frmLogin')) {
			LoginValidation.loadValidation();
		}
	},
	
	loadValidation : function () {
		var eForm						= document.getElementById('frmLogin');
		eForm.onsubmit					= function() {
			return LoginValidation.validate();
		}
	},
	
	validate:function() {
		var bPassed						= true;
		var eUsername					= document.getElementById('sUserName');
		var bValidEmail					= FormUtils.checkEmail(eUsername);
		
		if (!bValidEmail) {
			bPassed						= false;
			FormUtils.showError('sUserNameHelper', 'Please enter your email address.');
		}
		else {
			FormUtils.hideError('sUserNameHelper');
		}
		var ePassword					= document.getElementById('sPassword');
		if (!FormUtils.checkLength(ePassword, 1)) {
			bPassed						= false;
			FormUtils.showError('sPasswordHelper', 'Please enter your password.');
		}
		else {
			FormUtils.hideError('sPasswordHelper');
		}
		
		// show help hint
		LoginValidation.showLoginHelp(bValidEmail, bPassed, 'loginTrouble', 'loginTroubleLink', 'sUserName');
		
		FormUtils.errorDisplay(bPassed);
		
		return bPassed;
	},
	
	showLoginHelp : function(bValidEmail, bPassed, sContainerDiv, sHelpDeskMailto, sEmailField) {
		var eContainerDiv				= document.getElementById(sContainerDiv);
		var eHelpDeskMailToLink			= document.getElementById(sHelpDeskMailto);
		var eEmailField					= document.getElementById(sEmailField);
		var sMailTo;
		
		if (eContainerDiv && bValidEmail && eEmailField && (!bPassed)) {
			eContainerDiv.className		= LoginValidation.sLoginHelpOnClass;
			sMailTo						= 'mailto:' + LoginValidation.sHelpDeskEmail + '?subject=' + LoginValidation.sSiteName + '- Login Page - Login Problems for ' + eEmailField.value;
			eHelpDeskMailToLink.setAttribute('href', sMailTo);
		}
		else if (eContainerDiv) {
			eContainerDiv.className		= LoginValidation.sLoginHelpOffClass;
		}
	}
}

var ActivationLookUp					= {
	init : function () {
		if(!document.getElementById||!document.createTextNode){return;}
		
		if (document.getElementById('frmActivationLookUp')) {
			ActivationLookUp.loadValidation();
		}
	},
	
	loadValidation : function () {
		var eForm						= document.getElementById('frmActivationLookUp');
		eForm.onsubmit					= function() {
			return ActivationLookUp.validate();
		}
	},
	
	validate : function () {
		var bPassed						= true;
		var eEmail						= document.getElementById('sEmail');
		if (!FormUtils.checkEmail(eEmail)) {
			bPassed						= false;
			FormUtils.showError('emailHelper', 'Please enter a valid email address.');
		}
		else {
			FormUtils.hideError('emailHelper');
		}
		
		return bPassed;
	}
}

WindowListener.add("load","ActivationLookUp.init()");
WindowListener.add("load","PasswordReminder.init()");
