document.observe("dom:loaded", function(){
	this.stopObserving("dom:loaded");
	
	function clearDefault(){
		this.writeAttribute('default', this.value);
		this.removeClassName('_defaulted');
		if (!this.hasAttribute('readonly')){
			this.value = '';
		}
	}

	function restoreDefault(){
		if (this.value == ''){
			this.value = this.readAttribute('default');
			this.addClassName('_defaulted');
		}
	}

	$$('input[type=text]', 'input[type=password]').each(function(s){
		s.observe('focus', clearDefault);
		s.observe('blur', restoreDefault);
	});
	
	function recalculateTotals(){
		sub = 0;
		quantity = 0;
		$$('.quantity').each(function(s){
			sub += parseFloat(s.up().previous().innerHTML) * s.value;
			quantity += parseInt(s.value) || 0;
		});
		$('subtotal').update(sub);
		$('bottles').update(quantity)
		if (quantity % 12 == 0){
			$('bottles').up().addClassName('_valid').removeClassName('_invalid')
		} else {
			$('bottles').up().addClassName('_invalid').removeClassName('_valid')
		}
	
	}	
	
	$$('.quantity').each(function(s){
		s.observe('keyup', recalculateTotals)
	});
		
	if ($('password_field') && $('password_confirm_field')){
		$('password_field').observe('keyup', function(){
			if (this.value != $F('password_confirm_field')){
				this.removeClassName('_valid').addClassName('_invalid');
			} else {
				this.removeClassName('_invalid').addClassName('_valid')
				$('password_confirm_field').removeClassName('_invalid').addClassName('_valid')
			}
		});
		
		$('password_confirm_field').observe('keyup', function(){
			if (this.value != $F('password_field')){
				this.removeClassName('_valid').addClassName('_invalid');
			} else {
				this.removeClassName('_invalid').addClassName('_valid')
				$('password_field').removeClassName('_invalid').addClassName('_valid')
			}
		})
	}
	
	document.observe('click', function(event){
		var element = event.element();
		
		if (element.hasClassName("delete_link")){
			Event.stop(event);
			if (element.hasClassName("_delete")){
				new Ajax.Request(element.readAttribute("href"), {
					onSuccess: function(){
						element.fade();
					},
					onFailure: function(){
						element.update("Something went wrong...");
					}
				});
			} else {
				element.update("Delete? Are you sure?");
				element.highlight();
				element.addClassName("_delete");
			}
			
		}
	});
});
