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();
    }
                                                                                                                 
}
var savedAsFavorites = [];
function selectPhoto(full_filename, title, description, favorite) {
	$('photo_large').src = full_filename;
	$('photo_title').innerHTML = title;
	$('photo_desc').innerHTML = description;
	for (var i=0; i < savedAsFavorites.length; i++) {
		if (String(savedAsFavorites[i])==String(favorite)) { 
		  favorite = null; 
		  }
	} if (favorite==null) {
		$('photo_favorite').innerHTML = '<a href="/mynhg/fav_photos.html" class="action">Saved</a>';
	} else {
		$('photo_favorite').innerHTML = '<a onclick="return savePhoto('+favorite+');" href="/save.html?photo_id='+favorite+'" class="action">Save to Favorites</a>';
	}
} 
function savePhoto(photo_id) {
	var retval = MyNHG.save('photo_id', photo_id, function () { MyNHG.displaySaved(photo_id,'/mynhg/fav_photos.html','Saved'); });
	savedAsFavorites.push(parseInt(photo_id));
	// return retval;
}
