// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var active_submenu = "";

Element.addMethods({

	toFront: function(element, submenu, html) {
		if (!(element = $(element))) return;
		
		if (active_submenu != submenu) {
			active_submenu = submenu;
			
			element.update(html);
		}
	}
});

function produceNextLine(field_code, parent_node, number, value) {
	var fieldTemplate = new Template(field_code);
	var evaluation = {index: number, value: value};
	
	field_html = fieldTemplate.evaluate(evaluation);

	for (i=0; i<number; i++) {
		$$("#"+parent_node+"-"+i+" a").each( function(e) { e.remove(); });
	}	
		
	var container = document.createElement("div");
	container.id = parent_node+"-"+number;
	Element.extend(container);
	
	$(parent_node).appendChild(container);
	container.innerHTML = field_html;
	
	var nextLineLink = document.createElement("a");
	nextLineLink.href = "#";
	nextLineLink.onclick = function(e) { produceNextLine(field_code, parent_node, (number+1)); return false; };
	nextLineLink.innerHTML = "Ajouter une ligne";
	
	container.appendChild(nextLineLink);
}

function spawnContentAfterCheckBox(checkbox, parent, content) {
	parent = $(parent);
	checkbox = $(checkbox);
	if (checkbox.checked) {
		if (((parent.childElements()).last()).id == parent.id+"-"+"sub") {
			((parent.childElements()).last()).show();
		} else {
			container = createContainerUnderParent(parent);
			container.innerHTML = content;
		}
	} else {
		var container = (parent.childElements()).last();
		container.hide();
	}
}

function createContainerUnderParent(parent) {
	parent = $(parent);
	
	var container = document.createElement("div");
	container.id = parent.id+"-"+"sub";
	Element.extend(container);

	parent.appendChild(container);
	return container;
}

function updateVisibilityOnEvaluation(comparison, htmlobj) {
	o = $(htmlobj); 
	if (comparison) { o.show(); } else { o.hide(); } }