function remove_fields(link) {
  $(link).previous("input[type=hidden]").value = "1";
  $(link).up(".fields").hide();
}

function activate_lbox(e) {

	if(!e.init) {valid = new lightbox(e);e.init=true;}

}

function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).up('div').select("ul")[0].insert({
    bottom: content.replace(regexp, new_id)
  });
}

function sortList(name) {
	Sortable.sequence(name).each(function(f, index){$(f + '_position').value = (index + 1) })
}



Element.addMethods({
	expandable: function(element) {
		var originalHeight = element.getHeight();
		var expanded = true;
		var new_id = new Date().getTime() + '';
		if (originalHeight > 100) {
			expanded = false;
			element.setStyle({
				display: 'block',
				height:'80px',
				overflow: 'hidden'
			});
			
			moreLink = new Element('a', {
				'class': 'more',
				href: '#more',
				id: new_id
			}).update("More&#8230;").observe('click', function(e) {
				if (!expanded) {
					element.morph('height:'+originalHeight+'px;')
					$(new_id).update("&#8230;Less");
					expanded = true;
				} else {
					element.morph('height:80px;')
					$(new_id).update("More&#8230;");
					expanded = false;
				}
			});
			
			element.insert({ after: moreLink });
		} else {
			element.setStyle({
				display: 'block'
			});
		}
		
		
		return element;
	},
	
	// Create a Section Toggle
	sectionToggle: function(element) {
		if (!(element = $(element))) return;
		
		var sectionID = element.readAttribute('href').slice(1);
		var section = $(sectionID);
		
		//if (!element.hasClassName("open")) section.hide();
		
		element.observe('click', function(e) {
		//	section.toggle();
			
			if (section.hasClassName("closed")) {
				element.addClassName("open");
				section.removeClassName("closed")
			} else {
				element.removeClassName("open");
				section.addClassName("closed")
			}
			
			e.stop();
		});
		
		return element;
	}
});



document.observe("dom:loaded", function() {
	$$('.expandable').invoke('expandable');
});
