
function displayHelp(help, questionId) {
	var d = $('helpdiv');
	if (d != null) {
		d.innerHTML = help;
		var qid = $(questionId);
		if (qid != null) {
			d.show();
			d.clonePosition(qid.up(), { setLeft: false, setTop: true, setWidth: false, setHeight: false });
		}
		if (help == "") {
			d.hide();
		}
	}
}

function display_contextual_menu(element) {
	var menu = document.createElement('div');
	var etype = element.getAttribute('etype');
	var evalue = element.getAttribute('evalue');
	var form_id = $('form_id').value;
	
	menu.style.position = "absolute";
	menu.style.top = "0px";
	menu.style.backgroundColor = "#C0C0C0";
	
	if (form_id != null) {
		if (etype == "form") {
			menu.innerHTML = '<a href="?form_id=' + form_id + '&add_section=form">Ajouter une section</a>';
		} else if (etype == "section") {
			menu.innerHTML = "Ajouter apres la section:<br />"
			menu.innerHTML += '<a href="?form_id=' + form_id + '&add_section=after_section&section_id=' + evalue + '">Section</a><br />';
			menu.innerHTML += 'Ajouter dans la section:<br />';
			menu.innerHTML += '<a href="?form_id=' + form_id + '&add_question=section&section_id=' + evalue + '">Question</a>';
		} else if (etype == "question") {
			menu.innerHTML = '<a href="?form_id=' + form_id + '&add_question=question&question_id=' + evalue + '">Ajouter une question</a><br />';
			menu.innerHTML += '<a href="?form_id=' + form_id + '&add_subsection=question&question_id=' + evalue + '">Ajouter une sous-section</a>';
		}
	}
	element.appendChild(menu);
}

function incrementIds(node) {
	var clone = node.cloneNode(true);
	var id = clone.id;
	var subsectionId = id.split("_")[1];
	var iterationNumber = id.split("_")[2];
	iterationNumber++;
	clone.setAttribute("id", "sub-section-iteration_" + subsectionId + "_" + iterationNumber);
	var ids = clone.select('*[id^="answer_"]');
	ids.each(function(item) {
		var questionId = item.getAttribute("id").split('_')[2];
		if (item.getAttribute("id").split('_').length == 5) {
			var nb = item.getAttribute("id").split('_')[4];
			item.setAttribute("id", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber + "_" + nb);
			item.setAttribute("class", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber + "_" + nb);
			item.setAttribute("name", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber + "_" + nb);
		} else {
			item.setAttribute("id", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber);
			item.setAttribute("class", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber);
			item.setAttribute("name", "answer_" + subsectionId + "_" + questionId + "_" + iterationNumber);
		}
		item.setAttribute("value", "");
	});
	return (clone);
}

function duplicateSubsection(subsectionId, iter) {
	var subsectionIteration = $('sub-section-iteration_' + subsectionId + "_" + iter);
	var iterationNumber = subsectionIteration.getAttribute('id').split('_')[2];
	
	for (var i = iterationNumber; $('sub-section-iteration_' + subsectionId + "_" + i) != null; i++) {
		
	}
	i--;
	subsectionIteration = $('sub-section-iteration_' + subsectionId + "_" + i);
	var clone = incrementIds(subsectionIteration);
	var subsections = $$('.add_subsection_' + subsectionId);
	subsections.each(function(item) {
		item.insert({after: clone});
	});
}

function displayNext(sectionId, elemId, value, pattern, help) {
	var yes = $$(".div_" + pattern + "_yes");
	var no = $$('.div_' + pattern + "_no");
	var e = $$('.div_' + pattern + "_" + value);
	
	if (yes != null) {
		yes.each(function(item) {
			item.removeClassName("showAuto");
			item.addClassName("hiddenAuto");
			item.hide();
		});
	}
	if (no != null) {
		no.each(function(item) {
			item.removeClassName("showAuto");
			item.addClassName("hiddenAuto");
			item.hide();
		});
	}
	if (e != null) {
		e.each(function(item) {
			item.show();
			item.removeClassName("hiddenAuto");
			item.addClassName("showAuto");
			displayHelp(help, item);
		});
	}
}

function hideOrDisplayHeader(headerId) {
	var header = $(headerId);
	if (header != null) {
		if (header.style.display != 'block')
			header.style.display = 'block';
		else
			header.style.display = 'none';
	}
}

function resetHelp() {
	var d = $('helpdiv');
	if (d != null) {
		d.innerHTML = "";
		d.hide();
	}
}
