function userlogin_keyhandler(in_key) {
	switch (in_key.toLowerCase()) {
		case 'enter':
			var username = $("#userloginname").val().replace(/^\s+|\s+$/g,"");
			var password = $("#password").val().replace(/^\s+|\s+$/g,"");
			//alert(typeof $.ajax);
			$.ajax( { type: "POST", 
					   	url: "/userlogin/userlogin.cfm?username="+username+"&password="+password,
						complete: usersetcookie
			} );
			
			return false;
		case 'esc':
			$('#userlogin')[0].deactivate();
			window.location.href='/';
			return false;
	}
	return true;
}

function usersetcookie(req){
	
	if($(req.responseXML).find("loginstatus").text()== 'success' && $(req.responseXML).find("cookiestr").text()){
		var cookiestr = $(req.responseXML).find("cookiestr").text().split("|");
		$("#username").text(cookiestr[1]);
		//clear the username/password field, password managers sometimes prompt to remember if still filled in
		$("#userloginname, #password").val("");
		//set to expire after 1 year
		var exp = new Date();
		exp.setFullYear(exp.getFullYear()+1);
		document.cookie = "userresauth="+$(req.responseXML).find("cookiestr").text()+";path=/;expires=" + exp.toGMTString();
		$('#userlogin')[0].deactivate();
		if(typeof(modules)!="undefined" && modules.quotes) {
			modules.quotes.init();
			
			if($(req.responseXML).find("verified").text() == 0) {
				$("#verifyerror").slideDown("normal");
				showform = false;
			}
		} else {
			var showform = true;
			if(0 && $(req.responseXML).find("verified").text() == 0) {
				$("#verifyerror").slideDown("normal");
				showform = false;
			} else if($(req.responseXML).find("reqcount").text() != "" && $(req.responseXML).find("limit").text() != "") {
				var count = parseInt($(req.responseXML).find("reqcount").text(), 10);
				var limit = parseInt($(req.responseXML).find("limit").text(), 10);
				if(count >= limit) {
					$("#requestcounterror").slideDown("normal");
					showform = false;
				} else
					showform = true;
			} else {
				showform = true;	
			}
			if(showform) {
				$("#main_content, #request_header").css("visibility", "visible");	
			}
			var nearair = $(req.responseXML).find("nearair").text();
			var nearhub = $(req.responseXML).find("nearhub").text();
			$("#nearair1").val(nearair);
			
		}
	}else{
		alert("Invalid username or password");
	}
}

function userlogout(path){
		var cookie_date = new Date();
		cookie_date.setTime(cookie_date.getTime() - 1);
		document.cookie = "userresauth=; expires=" + cookie_date+";path=/";
		if(!path)
			window.location.href="/";
		else
			window.location.href=path;
}

function createuseracct(){
	var inquotes = false;
	if (lfjs.window.stack[0] && lfjs.window.stack[0].args.inquotes) //are we coming from request quotes
		inquotes = true;
	useracctwin = window.open("/user/accountsetup.cfm?inquotes=" + inquotes, "usersetup", "resizable,height=600,width=782,scrollbars");
	useracctwin.focus();
	//useracctwin.onunload = loginFocus;
}

function loginFocus(){
	if($('#userlogin').css('display') != "none"){
		$('#userlogin')[0].focus();
		$('#userloginname')[0].focus();
	}
}

function lostpassword() {
	lfjs.prompt("Enter your email address and we will send you your username and password.",
			lostpasswordgotname, { title: "Forgot your username or password?"} );
	return false;
}

function lostpasswordgotname(which) {
	if (which && which.length) {
		$.ajax({ url: "/userlogin/user.cfc", type: "POST",
			data: { method:"sendpassword", username: which },
			success: lostpassworddone, error: lostpassworderror } );
	}
	$('#userloginname')[0].focus();
}

function lostpassworddone(req) {
	var foundany = false;
	$(req).find("status").each(function(i) {
		alert($(this).text());
		foundany = true;
	});
	if (!foundany) {
		alert("Internal error: Could not re-send password");
	}
	
}

function lostpassworderror(req, textStatus) {
	alert("Internal error: Could not re-send password");
}

function sendverifyemail() {
	lfjs.window.wait();
	$.ajax({ url: "/userlogin/user.cfc", type: "POST",
		data: { method:"sendverifyemail" },
		success: sendverifyemaildone, error: sendverifyemailerror } );
	
}

function sendverifyemaildone(req) {
	lfjs.window.nowait();
	if($(req).find("error").length) {
		var errors = [];
		$(req).find("error").each(function(i) {
			errors[errors.length] = $(this).text();							   
		});
		alert(errors.join("\n"));
	} else {
		if($(req).find("status").length && $(req).find("status").text().toLowerCase() == "success") {
			alert("The email has been sent.  You should receive it soon.");
		} else {
			alert("There was a problem sending the email.\nPlease try again.");
		}
	}
	
}

function sendverifyemailerror(req, textStatus) {
	lfjs.window.nowait();
	alert("Internal error: Could not re-send email");
}
