var myrules = {
	'a.brand_info': function(link) {
		new InfoWindow(link);
	},
	'#new_address_button': function(button) {
		$(button).observe('click',function() {
			$('new_address').show();
		},false);
	},
	'a.edit_address': function(link) {
		$(link).onclick = function() {
			var address = this.previous('div');
			var details = address.getElementsByTagName('span');
			$A(details).each(function(span) {
				var field = span.className.replace('address_','');
				$('personaddress_'+field).value=span.innerHTML.stripTags();
			});
			if(!$('personaddress_id')) {
				var input = Builder.node('input',{id:'personaddress_id',name:'Personaddress[id]',type:'hidden'});
				$('new_address').appendChild(input);
			}
			$('personaddress_id').value = this.href.split('/')[this.href.split('/').length-2];
			$('new_address').show();
			return false;
		};
	},
	'#cancel_address': function(button) {
		$(button).observe('click',function() {
			$('new_address').hide();
			$A($('new_address').getElementsByTagName('input')).each(function(input) {
				if(input.type=="text"||input.type=='hidden') {
					input.value='';
				}
			});
		},false);
	},
	'#next_button': function(button) {
		$(button).up('form').onsubmit = function() {
			if($('agreement_confirm')&&$('agreement_confirm').checked==false) {
				alert('You must agree to the prescription agreement before proceeding');
				return false;
			}
		}		
	}
}
Behaviour.register(myrules);

var InfoWindow = Class.create();
InfoWindow.prototype = {
	initialize: function(link) {
		this.link=$(link);
		this.link.onclick = this.onLinkClick.bind(this);
		this.close_button = $(Builder.node('button','X'));
		this.container=$('info_for_'+this.link.id.replace('info_',''));
		this.container.appendChild(this.close_button);
		this.close_button.onclick=this.close.bind(this);
		this.container.onclick=this.close.bind(this);
	},
	onLinkClick: function() {
		Effect.Appear(this.container,{to:0.90});
		if(InfoWindow.open_window&&InfoWindow.open_window!=this) {
			InfoWindow.open_window.close();
		}
		InfoWindow.open_window=this;
		return false;
	},
	close: function() {
		Effect.Fade(this.container);
	}
}