﻿(function ($) {

	var error, signIn, bindEvents, setDefaultFocus, init;

	error = function (o) {
		var msg;
		if (o.responseText) {
			try {
				msg = $.parseJSON(o.responseText).message;
			} catch (e) {
				msg = null;
			}
		} else {
			msg = o.toString();
		}
		if (!msg) {
			msg = 'An unexpected error occurred.';
		}
		$('#signin-busy').hide();
		$('#signin-error').html(msg).show();
		setTimeout(function () {
			$('#signin-error').fadeOut(500, function () {
				$(this).hide();
				$('#signin-btn').show();
			});
		}, 3000);
	};

	signIn = function () {
		var data = {
			username: $('#username').val(),
			password: $('#password').val(),
			remember: $('#remember').is(':checked')
		};
		$('#signin-btn').hide();
		$('#signin-busy').show();
		$.ajax({
			type: 'post',
			url: '/ajax/signin.ashx',
			data: data,
			success: function () {
				window.location = 'Orders.aspx';
			},
			error: error
		});
	};

	bindEvents = function () {
		$('#signin-form input').keydown(function (e) {
			if (e.which == 13) {
				signIn();
			}
		});
		$('#signin-btn').click(function () {
			signIn();
		});
	};

	init = function () {
		bindEvents();
		G.focusOnEmpty('#signin-form');
	};

	$(function () {
		init();
	});

} (JQ));
