$.postJSON = function (url, data, callback) {
	$.post(url, data, callback, "json");
}
var loaded = false;

function init_save() {

	$('input[name=firstname],input[name=lastname]').blur(function () {
		var fname = $('input[name=firstname]').val();
		var lname = $('input[name=lastname]').val();
		var mid = $('input[name=middle]').val();
		if (fname && lname && !loaded)
		{
			$.postJSON('ajax/app-start.php', {firstname: fname, lastname: lname, middle: mid}, function (data) {
				if (data.result == "ok")
				{
					$.jGrowl("Application Saved");
				}
				else
				{
					$.jGrowl("Application Loaded");
					$.each(data, function (key, value) {
						var field = $("[name="+key+"]");
						if (field.length > 1)
						{
							setval(field.filter('[value='+value+']'), value);
						}
						else
						    setval(field, value);
					});
					
				}
				loaded = true;

			});
		}
	});

	setInterval(autosave, 300000);
	//setInterval(autosave, 60000);
	//setTimeout(autosave, 10000);
}

function setval(field, val)
{
	var type = field.attr('type');
	if (type == 'select')
	{
		if (field.val() == val)
			field.attr('selected', 'selected');
	}
	else if (type == 'checkbox' || type == 'radio')
	{
		if (field.val() == val)
		{
			//field.attr('checked', 'checked');
			field.click();
		}
	}
	else
		field.val(val);
}


function loadapp() 
{
	$.getJSON('ajax/app-load.php', function (data) {
		if (data)
		{
			$.each(data, function (key, value) {
				var field = $("[name="+key+"]");
				if (field.length > 1)
				{
					setval(field.filter('[value='+value+']'), value);
				}
				else
					setval(field, value);
			});
			
			setInterval(autosave, 300000);
		}
	});

}

function autosave()
{
	var fields = $('form').serialize();	
	var checks = new Object();

	$(":checkbox").each(function () {
		if (!$(this).attr('checked'))
		{
			checks[$(this).attr('name')] = "";
		}
	});

	fields += "&" + $.param(checks);

	$.postJSON('ajax/app-save.php', fields, function (data) {
		if (data.result == "ok")
			$.jGrowl("Application Saved");
	});
}


