var ButtonRecover = function ()
{
	$('btnRecover').addEvent('click', function(e) {
		new Event(e).stop(); 
		if($('email').value) { 
			var req = new Request.HTML({ 
				method: 'post',
				data: $('frmRecover'),
				url: '../inc/login.recover.php',
				update: $('msg')
			}).send();
		} else {
			alert('Please enter your email address.');
		}
	});
}

var ButtonSignup = function()
{
	$('btnSignup').addEvent('click', function(e) {
		new Event(e).stop(); 
		if($('name').value && $('email').value && $('terms').checked) { 
			if($('email').value!=$('emailconfirm').value) { 
				alert('Email addresses do not match.');
			} else {
				var req = new Request.HTML({ 
					method: 'post',
					data: $('frmSignup'),
					url: '../inc/login.signup.php',
					update: $('msg'),
					onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) { 
						if(!responseHTML.replace(/^\s+/,'')) { 
							TabLogin('website', '', $('email').value);
						}
					}
				}).send();
			}
		} else {
			alert('Please enter your name, email and accept the terms.');
		}
	});
}

var ButtonLogin = function(redirect)
{
	$('btnLogin').addEvent('click', function(e) {
		new Event(e).stop(); 
		if($('username').value && $('password').value) { 
			var req = new Request.HTML({ 
				method: 'post',
				data: $('frmLogin'),
				url: '../inc/login.form.php?redirect=' + redirect,
				update: $('msg')
			}).send();
		} else {
			alert('Please enter your username and password.');
		}
	});
}

var ButtonActivateLogin = function()
{
	$('btnLogin').addEvent('click', function(e) {
		new Event(e).stop(); 
		if($('username').value && $('password').value) { 
			var req = new Request.HTML({ 
				method: 'post',
				data: $('frmLogin'),
				url: '../inc/login.activate.php',
				update: $('msg')
			}).send();
		} else {
			alert('Please enter your username and password.');
		}
	});
}

var ButtonActivateSignup = function()
{
	$('btnSignup').addEvent('click', function(e) {
		new Event(e).stop(); 
		if($('name').value && $('email').value && $('terms').checked) { 
			if($('email').value!=$('emailconfirm').value) { 
				alert('Email addresses do not match.');
			} else {
				var req = new Request.HTML({ 
					method: 'post',
					data: $('frmSignup'),
					url: '../inc/login.activate.php',
					update: $('msg2')					
				}).send();
			}
		} else {
			alert('Please enter your name, email and accept the terms.');
		}
	});
}

var TabSignup = function()
{
	MochaUI.selected($('panelTabs2Link'), $('panelTabs'));
	MochaUI.updateContent({
		'element':  $('help-panel'),
		'url':       'inc/login.signup.php',
		onContentLoaded: function(){ ButtonSignup(); }
	});
}

var TabActivate = function()
{
	MochaUI.selected($('panelTabs2Link'), $('panelTabs'));
	MochaUI.updateContent({
		'element':  $('help-panel'),
		'url':       'inc/login.activate.php',
		onContentLoaded: function(){ ButtonActivateSignup(); ButtonActivateLogin();  }
	});
}

var TabLogin = function(type, redirect, signedup)
{
	type = (type) ? type : 'website';
	MochaUI.selected($('panelTabs1Link'), $('panelTabs'));
	MochaUI.updateContent({
		'element':  $('help-panel'),
		'url':       'inc/login.form.php?redirect=' + redirect,
		onContentLoaded: function(){ 
			ButtonLogin(redirect); 
			$('login-form-location').value = type;	
			if($('sign-up-link') && type=='website') { 
				$('sign-up-link').style.display = 'block';
			} else if($('sign-up-link') && type=='admin') { 
				$('sign-up-link').style.display = 'none';
			}
			if($('login-msg') && type=='website') { 
				$('login-msg').style.display = 'block';
			}
			if(signedup) { 
				$('msg').set('text','Please check your email for your password.');
				$('username').value = signedup;
			}
		}
	});
}

var TabRecover = function()
{
	MochaUI.selected($('panelTabs3Link'), $('panelTabs'));
	MochaUI.updateContent({
		'element':  $('help-panel'),
		'url':       'inc/login.recover.php',
		onContentLoaded: function(){ ButtonRecover(); }
	});	
}

var TabsInit = function(type)
{
	MochaUI.initializeTabs('panelTabs');
	$('panelTabs1Link').addEvent('click', function(e){ TabLogin(type); });
	$('panelTabs2Link').addEvent('click', function(e){ TabSignup(); });
	$('panelTabs3Link').addEvent('click', function(e){ TabRecover(); });

	if($('login-hhj') && $('login-hhj').value) { 
		$('panelTabs2Link').getChildren('a').set('text', 'Activate Your Card');
		$('panelTabs2Link').addEvent('click', function(e){ TabActivate(); });
	} else {
		$('panelTabs2Link').style.display = 'none';
	}

	/*
	$('panelTabs4Link').addEvent('click', function(e){
		MochaUI.updateContent({
			'element':  $('help-panel'),
			'url':       'inc/login.benefits.php'			
		});
	});
	*/
}


var Login = function(type, redirect) {  

	MUI.Desktop.initialize();
	MUI.Dock.initialize();
	
	
	new MUI.Modal({
		id: 'modalLogin',
		title: 'Log In',
		content: '<div id="pageWrapper"></div>',
		width: 500,
		height: 350,
		onContentLoaded: function(){
							
			//column required for tabs
			new MochaUI.Column({
				id: 'mainColumn',
				container: 'modalLogin_contentWrapper',
				placement: 'main',	
				width: null,
				resizeLimit: [100, 300]
			});

			//tab panel
			new MochaUI.Panel({
				id: 'help-panel',
				loadMethod: 'xhr',
				contentURL: 'inc/login.form.php?redirect=' + redirect,
				column: 'mainColumn',
				tabsURL: 'inc/login.tabs.php',
				onContentLoaded: function(){
					//init tabs
					TabsInit(type);
					if(type=='signup') { 
						//TabSignup();		
						if($('login-hhj') && $('login-hhj').value) { 
							TabActivate();
						} else {
							TabSignup();
						}
					} else if(type=='recover') { 
						TabRecover();
					} else {
						TabLogin(type, redirect); 
					}
				
				}
			});
			
		} // end onContentLoaded
		
		
	}); // end New Window

	//destroy event for close button and add new one
	$$('#modalLogin .mochaCloseButton').each(function(el2) { 
		el2.removeEvents('click');
		el2.addEvent('click', function(e) {
			new Event(e).stop();
			LoginClose();
		}.bind(el2));
	});
	
}

var LoginClose = function()
{
	if($('modalLogin')) { $('modalLogin').style.visibility = 'hidden'; }
	if($('modalOverlay')) { $('modalOverlay').style.visibility = 'hidden'; }
}

var LoginOpen = function(type, redirect) //type: admin, website, signup, recover
{
	if($('modalLogin')) { 
		MUI.centerWindow($('modalLogin'));
		$('modalLogin').style.visibility = 'visible'; 
		$('modalOverlay').style.visibility = 'visible';
		if(type=='signup') { 
			//TabSignup();
			if($('login-hhj') && $('login-hhj').value) { 
				TabActivate();
			} else {
				TabSignup();
			}
		} else if(type=='recover') { 
			TabRecover();
		} else {
			TabLogin(type, redirect);
		}
	}
	else {	
		Login(type, redirect); 
	}
}

var LoginLink = function(el)
{
	var redirect = (el.href && el.href.indexOf('#')==-1) ? el.href : '';
	var type = (el.rel) ? el.rel : 'website'; 
	LoginOpen(type, redirect);
}


window.addEvent('domready', function()
{
	//Login link in header
	$$('.login').each(function(el) {  
		el.addEvent('click', function(e){
			new Event(e).stop();
			LoginLink(el);
		}.bind(el));
	});
});



	



