var MyNHG = {

	save: function(favorite_type, favorite_id, handler, params)
	{
		var obj = params ? params : {};
		obj[favorite_type] = favorite_id;
		return MyNHG.sendRequest('/save.xml', obj, handler);
	},

	remove: function(favorite_type, favorite_id, handler, params)
	{
		var obj = params ? params : {};
		obj[favorite_type] = favorite_id;
		return MyNHG.sendRequest('/remove.xml', obj, handler);
	},

	sendRequest: function(url, params, handler)
	{

		postbody = [];
		for (k in params)
		{
			postbody.push(encodeURIComponent(k)+'='+encodeURIComponent(params[k]));
		}
	
		try {
			/*
			new Ajax.Request(url,
							{
								method: 'post',
								postBody: postbody.join('&'),
								onSuccess: function(r) { MyNHG.handleResponse(r, handler); }
							});
			return false;
			*/
			var url_with_query = url + '?' + postbody.join('&');
			new Ajax.Request(url_with_query,
							{
								method: 'get',
								onSuccess: function(r) { MyNHG.handleResponse(r, handler); }
							});
			return false;
		} catch (e) { alert(e); return true; }
	},

	showError: function(error)
	{
		alert(error);
	},

	displaySaved: function (element_id, url, message)
	{
		var elm = document.getElementById(element_id);
		if (!elm) { return; }
		elm.innerHTML = '<a href="'+url+'" class="action">'+message+'</a>';
		new Effect.Highlight(element_id);
	},

	removeItem: function (element_id)
	{
		new Effect.Fade(element_id, { afterFinish: function() {
			var elm = document.getElementById(element_id);
			if (!elm) { return; }
			elm.parentNode.removeChild(elm);
			}
		});
	},

	handleResponse: function(xml, handler)
	{
		var error_nodes = xml.responseXML.getElementsByTagName('error');
		if (error_nodes.length > 0) { MyNHG.showError(error_nodes[0].firstChild.nodeValue); return; }

		var redirect_nodes = xml.responseXML.getElementsByTagName('redirect');
		if (redirect_nodes.length > 0) { location.href = redirect_nodes[0].firstChild.nodeValue; return; }

		handler();
	}

};

            function CheckAlert(chk)
            {
                var checked = chk.checked ? 'Y' : 'N'
                var postbody = 'search_id='+encodeURIComponent(chk.value)+'&alert='+checked;
                                                                                                                             
                try {
					/*
                    var opts = {
                                    method: 'post',
                                    postBody: postbody,
                                    onSuccess: function (t) { new Effect.Highlight('alert_'+chk.value); }
                                };
                    new Ajax.Request('/mynhg/search_alerts.xml', opts);
					*/
					var url_with_query = '/mynhg/search_alerts.xml?' + postbody;
					var opts = {
									method: 'get',
									onSuccess: function(t) { new Effect.Highlight('alert_'+chk.value); }
								};
					new Ajax.Request(url_with_query, opts);
                } catch (e) {
                    chk.form.submit();
                }
                                                                                                                             
            }

