var AddressBook = Class.create();

AddressBook.prototype =
{
	initialize: function ()
	{
		this.ajaxGateway = 'gateway.php';
		this.ie_fixes 	= new IE_fixes();
	},
	
	attachBehaviours: function ()
	{
		var __class = this;
		var myrules =
			{
				'#addr_groups LI.addr.gif A' : function (element)
				{
					element.__class = __class;
					element.onclick = __class.getAddress;
				},
				'.related' : function (element)
				{
					element.__class = __class;
					element.onclick = __class.openRelated;
				}
			};
		Behaviour.register(myrules);
		Behaviour.apply();
	},
	
	getAddress: function ()
	{
		var id = this.id.replace("address_", "");
		this.__class.ajax_getAddress(id);
		return false;
	},
	
	ajax_getAddress: function (id)
	{
		var url = this.ajaxGateway;
		var pars = 'ajaxRequest=getAddress&id='+id;
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: Delegate.make(this,this.ajax_showAddress)
			});
	},
	
	// Ajax callback methods
	ajax_showAddress: function (data)
	{
		$('addr_info').innerHTML = data.responseText;
		Behaviour.apply();
	},
	
	openRelated : function ()
	{
		if (window.opener)
		{
			var s = new String(window.opener.location);
			window.opener.location = this;
			return false;
		}
		return true;
	}
}
