// requires 
	// jquery, bbq, fancybox
	// PEOPLEGIS.wa.constants.*
	// PEOPLEGIS.wa.constants.auth_users

if (typeof PEOPLEGIS === 'undefined') { var PEOPLEGIS = {}; }
if (typeof PEOPLEGIS.wa === 'undefined') { PEOPLEGIS.wa = {}; }
if (typeof PEOPLEGIS.wa.constants === 'undefined') { PEOPLEGIS.wa.constants = {}; }
		
	PEOPLEGIS.wa.authenticate = function () {
			var initialSID = jQuery.bbq.getState('sid'); // or load cookie, etc?  handle saving logins?
			if (initialSID) {
				jQuery.jsonp({
					url: PEOPLEGIS.wa.constants.res_path+'../../form_server/web_assessor/wa_transaction.php',
					data:{sid: initialSID,
						request: 'check_and_load_sid'},
					callback: "cb",
					success: function (d,e) {
						//console.log('succ',d,e);
						if (d.auth === 'success') {
							//PEOPLEGIS.wa.getRecord();
							jQuery("#login_form").trigger('authenticated');
						} else {
							// run login 
							 $("#login_error").show();
							PEOPLEGIS.wa.login();
						}
					},
					error: function (d,e) {
						console.log('error',d,e);

					}				
				});
			} else {
				//need login screen
				PEOPLEGIS.wa.login();
			}
		};

	PEOPLEGIS.wa.bSearchLoaded = false;

	jQuery("#login_form").bind("submit", function() {
		$.fancybox.showActivity();
		$.ajax({
			type	: "POST",
			dataType: 'json',
			cache	: false,
			url		: PEOPLEGIS.wa.constants.res_path+"../../form_server/web_assessor/wa_transaction.php?request=login",
			data	: $(this).serializeArray(),
			success : function (data) {
				if (data.error) {
					$.fancybox.hideActivity();
					$("#login_error").show();
					//display 'login failed'
				} else {
					$.fancybox.hideActivity();
					$("#login_error").hide();
					// display login successful ?  Welcome?
					$.fancybox.close();
					$.bbq.pushState( 'sid='+data.sid );
					if (PEOPLEGIS.wa.bSearchLoaded) {
						jQuery("#login_form").trigger('authenticated');
					} else {
						jQuery("#login_form").trigger('authenticated');
					}
				}
			}
			
		});

		return false;
	});		

	
	PEOPLEGIS.wa.login = function () {
		// open modal login screen
		// on submit, xhr to login
		// on success, close modal,
		// push sid into hash
		// run loadSearch
		// of fail, tell user, prompt to login again

		if(PEOPLEGIS.wa.constants.auth_users) {
			jQuery("#login_trigger a").fancybox({
				'autoDimensions': true,
				'scrolling'	     : 'no',
				'titleShow'	     : false,
				'onClosed'	      : function() {
					$("#login_error").hide();
				},
				'modal': true
			}).trigger('click');
					jQuery("#login_name").focus();
			//PEOPLEGIS.wa.loadSearch();
		} else {
			jQuery("#login_form").trigger('submit');
		}
	};

