function appShowLoading()
{
	try 
	{
		// Create loading div
		var dlg = new CDialog();
		var dv_load = document.createElement('div');
		dv_load.innerHTML = "Loading, please wait...";

		dlg.customDialog(dv_load, 200, 30);
	} catch (e) {}
}

function toggleSaveQuery()
{
	var frm_dv = document.getElementById('save_query_form_id');
	var btn_dv = document.getElementById('save_query_btn');

	if (frm_dv.style.display == 'none')
	{
		btn_dv.style.display = 'none';
		frm_dv.style.display = 'block';
	}
	else
	{
		frm_dv.style.display = 'none';
		btn_dv.style.display = 'block';
	}
}

function toggleLogin()
{
	var frm_dv = document.getElementById('login_form_id');
	var btn_dv = document.getElementById('login_btn');

	if (frm_dv.style.display == 'none')
	{
		btn_dv.style.display = 'none';
		frm_dv.style.display = 'block';
	}
	else
	{
		frm_dv.style.display = 'none';
		btn_dv.style.display = 'block';
	}
}

function toggleUserType(val)
{
	var pass = document.getElementById('passwd_vfy');

	if (val == 'new')
	{
		//pass.style.display = 'block';
		var td = document.createElement('td');
		td.innerHTML = 'Verify Pass:';
		pass.appendChild(td);
		var td2 = document.createElement('td');
		td2.innerHTML = "<input type='password' name='password_verify' id='txt_password_vfy'>";
		pass.appendChild(td2);

		g_register = true;
	}
	else
	{
		//pass.style.display = 'none';
		var len = pass.childNodes.length;
		for(var i = 0; i < len; i++)
		{
			pass.removeChild(pass.childNodes[len - (1 + i)]);
		}

		g_register = false;
	}
}

function loginAndSave()
{
	var username_txt = document.getElementById('txt_username');
	var username = username_txt.value;
	var password_txt = document.getElementById('txt_password');
	var password = password_txt.value;

	if (!username || !password)
	{
		alert("Please enter your email and password");
		username_txt.focus();
		return -1;
	}

	var dlg = new CDialog();
	var dv_load = document.createElement('div');

	if (g_register)
	{
		var passowrd_vfy_txt = document.getElementById('txt_password_vfy');
		var password_vfy = passowrd_vfy_txt.value;

		if (password == password_vfy)
		{
			dv_load.innerHTML = "Registering...";

			dlg.customDialog(dv_load, 200, 200);

			function cbdone(ret, dlg, dv_load)
			{
				if (ret)
					saveQuery(dv_load);
				else
					dlg.hide();
			}

			var rpc = new CAjaxRpc("/xml_useraction.php", "register", 
									[["username", username], ["password", password]], 
									cbdone, [dlg, dv_load], AJAX_POST);
		}
		else
		{
			alert("The passwords you entered do not match");
			password_txt.focus();
		}
	}
	else
	{
		
		dv_load.innerHTML = "Logging in...";

		dlg.customDialog(dv_load, 200, 200);

		dv_load.innerHTML = "Registering...";

		dlg.customDialog(dv_load, 200, 200);

		function cbdone(ret, dlg, dv_load)
		{
			if (ret)
				saveQuery(dv_load);
			else
				dlg.hide();
		}

		var rpc = new CAjaxRpc("/xml_useraction.php", "register", 
								[["username", username], ["password", password]], 
								cbdone, [dlg, dv_load], AJAX_POST);
	}
}

function userLogin(retpage)
{
	var returnto = (retpage) ? retpage : "/";
	var username_txt = document.getElementById('txt_username');
	var username = username_txt.value;
	var password_txt = document.getElementById('txt_password');
	var password = password_txt.value;

	if (!username || !password)
	{
		alert("Please enter your email and password");
		username_txt.focus();
		return -1;
	}

	var dlg = new CDialog();
	var dv_load = document.createElement('div');

	dv_load.innerHTML = "Logging in...";

	dlg.customDialog(dv_load, 200, 200);

	function cbdone(ret, dlg, returnto)
	{

		if (ret > 0)
		{
			document.location = returnto;
		}
		else
		{
			alert("Could not log you in, please check your user name and password and try again");
			dlg.hide();
		}
	}

	var rpc = new CAjaxRpc("/xml_useraction.php", "login", 
							[["username", username], ["password", password]], 
							cbdone, [dlg, returnto], AJAX_POST);
}

function userLogout(retpage)
{
	var returnto = (retpage) ? retpage : "/";

	var dlg = new CDialog();
	var dv_load = document.createElement('div');

	dv_load.innerHTML = "Logging out...";

	dlg.customDialog(dv_load, 200, 200);

	function cbdone(ret, dlg, returnto)
	{
		document.location = returnto;
	}

	var rpc = new CAjaxRpc("/xml_useraction.php", "logout", null, 
							cbdone, [dlg, returnto], AJAX_POST);
}

function saveQuery(dv_load)
{
	var title_txt = document.getElementById('txt_query_name');
	var title = title_txt.value;

	if (dv_load)
	{
		dv_load.innerHTML = "Saving, please wait...";
	}
	else
	{
		var dlg = new CDialog();
		var dv_load = document.createElement('div');
		dv_load.innerHTML = "Saving, please wait...";

		dlg.customDialog(dv_load, 200, 200);
	}

	if (title)
	{
		function cbdone(ret, query)
		{
			document.location="/oregon-real-estate-properties?" + query;
		}

		var rpc = new CAjaxRpc("/xml_useraction.php", "save_query", 
								[["title", title], ["query", g_query]], 
								cbdone, [g_query], AJAX_POST);
	}
	else
	{
		alert("Please enter a name for your query!");
		title_txt.focus();
	}

}
function deleteSavedSearch(did)
{
	if (confirm('Are you sure you want to delete this search?'))
	{
		function cbdone(ret)
		{
			var rw = document.getElementById('ss_'+ret);
			if (rw)
				rw.style.display = 'none';
		}

		var rpc = new CAjaxRpc("/xml_useraction.php", "delete_query", 
								[["did", did]], cbdone);
	}
}
