function HideMaskAndWindow() {
	$('#mask, .window').hide();
}
function CentreViewportHorizontally( x ) {
        $(x).css('left', $(window).width()/2-$(x).width()/2);  
}
function CentreViewportVertically( x ) {
        $(x).css('top', $(window).height()/2-$(x).height()/2);  
}
function Mask() {
        //Get the screen height and width  
        var maskHeight = $(document).height();  
        var maskWidth = $(document).width();  
      
        //Set height and width to mask to fill up the whole screen  
        $('#mask').css({'width':maskWidth,'height':maskHeight});  
          
        //transition effect       
        $('#mask').fadeTo("fast",0.8); 
}
$(document).ready(function() {
    //select all the a tag with name equal to modal  
    $('a[name=modal]').click(function(e) {  
        //Cancel the link behavior  
        e.preventDefault();  
        //Get the A tag  
        var id = $(this).attr('href');  
      
      	Mask();

        //Set the popup window to center  
	CentreViewportHorizontally( id );
	CentreViewportVertically( id );
                
        //transition effect  
        $(id).fadeIn("fast");   
    });  
      
    //if close button is clicked  
    $('.window .close').click(function (e) {  
        //Cancel the link behavior  
        e.preventDefault();  
	HideMaskAndWindow();
    });       
      
    //if mask is clicked  
    $('#mask').click(function () {  
	HideMaskAndWindow();
    });         
});  
function SignUpModal() {
	Mask()
	$('#signup-modal').css('top', '100px' );
	CentreViewportHorizontally( '#signup-modal' );
	$('#signup-modal').fadeIn('fast');
	$('#email-signup').focus();
}
$(document).keyup(function(e) {  
	if(e.keyCode == 27 ) {  
		HideMaskAndWindow();
	}  
});
$(document).ready(function(){
	$('#login-form').submit(function(){
		if ( $('#password-entry').is(':hidden') ) {
			CheckEmail();
			return false;
		}

		CheckEmail();
		CheckPassword();
		if ( $('#password').attr('value') == "" )
			return false;
	}); 
	$('#email').blur(function(){
		CheckEmail();   
	}); 
	$('#login-shield').click(function(){
		CheckEmail();   
	}); 
	$('#login-link').click(function(){
		$('#email').focus();
	}); 
	$('#logout-link').click(function(){
		$('#continue').focus();
	});
	$('#signup-sidebar').submit(function(e){
		e.preventDefault();  
		$('#email-signup').attr('value', $('#email-sidebar').val() );
		SignUpModal();
		$('#firstName').focus();
	});
	$('#signup-link').click(function(){
		SignUpModal();
	});
	$('#signup-suggest-link').click(function(){
		$('#email-signup').attr('value', $('#email').val() );
		$('#login-modal').fadeOut('fast');
		SignUpModal();
		$('#firstName').focus();
	});
	$('#signup-commplete-submit').click(function(){
		$.post(
			"/ajax/AddUser.php", //Ajax file
			{ email: $('#email-signup').val(), 
				comment: $('#comment').val(), 
				distortedText: $('#distortedText').val(), 
				distortedTextSHA: $('#distortedTextSHA').val(), 
				firstName: $('#firstName').val(), 
				lastName: $('#lastName').val() },
			function(data){
				switch( data.returnValue ) {
					case 'Success':
						alert( 'Thank you ' + $('#firstName').val() +'. A welcome message has been sent to your email address.' );
						$('#login-form')[0].reset();
						$('#signup-complete').hide();
						HideMaskAndWindow();
						break;
					default:
						alert( data.returnValue );
				}

			},
			"json"
		);
	});
		
});
function CheckPassword() {
	$.ajax( {
		async: false,
		type: 'POST',
		url: "/ajax/CheckPassword.php",
		data: { email: $('#email').val(), password: $('#password').val() },
		success: function(data){
			if ( !data.returnValue ) {
				$('#password').attr('value', "");
				$('#password').focus();
				alert( 'Incorrect password' );
			}
		}, 
		dataType: "json"}
	);
}
function CheckEmail(){
    $.post(
	    "/ajax/CheckEmailAddress.php", //Ajax file
	    { email: $('#email').val() },  // create an object will all values
	    function(data){
		switch( data.returnValue ) {
			case 1:
				$('#signup-suggest').hide('fast');
				$('#password-entry').show( 200 ); 
				$('#password').focus();
				$('#login-shield').attr( 'src', '/Images/Shield-Tick.png' );
				//$('#display').html( 'Valid email address.' ); 
				break;
			case 0:
				$('#password-entry').hide( 200 ); 
				$('#signup-suggest').hide('fast');
				$('#display').html( 'Not valid text for email address.' ); 
				$('#login-shield').attr( 'src', '/Images/Shield-Exclamation.png' );
				break;
			case -1:
				$('#password-entry').hide( 200 ); 
				$('#signup-suggest').hide('fast');
				$('#display').html( 'Not valid domain name.' ); 
				$('#login-shield').attr( 'src', '/Images/Shield-Exclamation.png' );
				break;
			case -2:
				$('#password-entry').hide( 200 ); 
				$('#signup-suggest').show('fast');
				$('#login-shield').attr( 'src', '/Images/Shield-Exclamation.png' );
				break;
			case -3:
				$('#password-entry').hide( 200 ); 
				$('#signup-suggest').hide('fast');
				$('#login-shield').attr( 'src', '/Images/Shield-Exclamation.png' );
				$('#display').html( 'No password set up.<br><a href="/profile/SetNewPassword.php?email=' + $('#email').val() + '" id=randomise>Would you like to set one?</a>' ); 
				break;
			default:
				$('#password-entry').hide( 200 ); 
				$('#signup-suggest').hide('fast');
				$('#display').html(data.returnValue);
				$('#login-shield').attr( 'src', '/Images/Shield-Exclamation.png' );
		}
	    }, 
	    "json"
    );
    
}

