$(function(){
	
	// General alert dialog
	$('body').append('<div id="alert-message" style="display:none;"></div>');
	$("#alert-message").dialog({
		autoOpen: false,
		modal: true,
		resizable: false,
		buttons: {
			Ok: function(){
				$(this).dialog("close");
			}
		}
	});
	
	// For forgotten password
	$("#forgotten-password").dialog({
		autoOpen: false,
		modal: true,
		resizable: false,
		title: 'Forgotten Username/Password',
		buttons: {
			Submit:function(){
				var szEmailAddress = $('#forgottenEmail').val();
				$.getJSON('/assets/components/handler.cfc', {
					method: 'ForgottenDetailsHandler',
					returnFormat: 'JSON',
					szEmailAddress: szEmailAddress
				}, 
				// Return function
				function(data){
					if(data.intSuccess == 1){
						$("#forgotten-password").dialog("close");
						$("#alert-message").html("<p>Your login details have been sent to the specified email address.</p>").dialog("option","title",'Login reminder sent').dialog("open");	
					}
					else if(data.intSuccess == 2){
						$("#forgotten-password").dialog("close");
						$("#alert-message").html("<p>No account exists with that email addresss. Please <a href='/index.cfm?#register'>register</a> an account.</p>").dialog("option","title",'Login reminder failed').dialog("open");
					}
					else if(data.intSuccess == 3){
						$("#forgotten-password").dialog("close");
						$("#alert-message").html("<p>Your account has not been approved by a member of staff yet, please be patient - may take up to 48hours.</p>").dialog("option","title",'Login reminder failed').dialog("open");
					}
					else {
						$("#forgotten-password").dialog("close");
						$("#alert-message").html("<p>Sorry, we could not send your reminder.<br />Please try again later.</p>").dialog("option","title",'Login reminder failed').dialog("open");					
					};
				});
			},
			Cancel: function() {
				$(this).dialog("close");
			}
		}
	});
	$(".forgotten-link").click(function(){
		$('#forgottenEmail').val('');
		$("#forgotten-password").dialog("open");
	});
	
	// Initialises register/sign-in tabs
	$("#form-tabs").tabs();
	
	// Button Rollovers 
	$('.signinRO').hover(
	  function(){$('.signinRO').attr('src','/images/buttons/sign-in_o.gif');}, 
	  function(){$('.signinRO').attr('src','/images/buttons/sign-in.gif');}
	);
	$('.registerRO').hover(
	  function(){$('.registerRO').attr('src','/images/buttons/register_o.gif');}, 
	  function(){$('.registerRO').attr('src','/images/buttons/register.gif');}
	);
	
	// Login form validation
	$("#LoginForm").validate({
		rules: {
    	szUsername: "required",
			szPassword: "required"
    },
		messages: {
    	szUsername: "",
			szPassword: ""
    },
		submitHandler: function(form){
			form.submit();
		}
	});

	// Registration form validation
	$("#RegisterForm").validate({
		rules: {
    	szForename: "required",
			szSurname: "required",
			szCompany: "required",
			szTelephoneNumber: "required",
			szPostcode: "required",
			szEmailAddress: {
    		required: true,
    		email: true
    	}
    },
		messages: {
			szForename: "",
			szSurname: "",
			szCompany: "",
			szTelephoneNumber: "",
			szPostcode: "",
			szEmailAddress: {
    		required: "",
    		email: ""
    	}
    },
		submitHandler: function(form){
			var szForename = $('#szForename').val();
			var szSurname = $('#szSurname').val();
			var szEmailAddress = $('#szEmailAddress').val();
			var szTelephoneNumber = $('#szTelephoneNumber').val();
			var szCompany = $('#szCompany').val();
			var szPostcode = $('#szPostcode').val();
			
			$.getJSON('/assets/components/handler.cfc', {
				method: 'RegistrationHandler',
				returnFormat: 'JSON',
				szForename: szForename,
				szSurname: szSurname,
				szEmailAddress: szEmailAddress,
				szTelephoneNumber: szTelephoneNumber,
				szCompany: szCompany,
				szPostcode: szPostcode
			}, 
			// Return function
			function(data){
				if(data.intSuccess == 1){
					$("#alert-message").html("<p>Your registration has been received, you will receive your login details shortly.</p>").dialog("option","title",'Registration complete').dialog("open");	
				}
				else if(data.intSuccess == 2){
					$("#alert-message").html("<p>Someone has already created an account with that email address, please use an alternative.</p>").dialog("option","title",'Registration failed').dialog("open");
				}
				else{
					$("#alert-message").html("<p>Sorry, we could not register you at this time. Please try again later.</p>").dialog("option","title",'Registration failed').dialog("open");					
				};
			});
			
		}
	});
	
});

function alertMsg(szMessage){
	$("#alert-message").html("<p>" + szMessage +"</p>").dialog("option","title",'Problem logging in.').dialog("open");
}

