/*	keyboard.js
	copyleft Tancrède Bastié 2004-2008

requires:
	dom.js

index:
	Keyboard(onclic, [...])
		addKeyboard(id, [...])
*/

function Keyboard(onclick) {
/*	prototype of keyboard ; variable parameters are key names
	prototype de clavier ; les paramètres variables sont les noms des touches
*/

	var keyNames = new Array;
	for (var i = 1; i < arguments.length; i++) keyNames.push(arguments[i]);

	this.addKeyboard = function(id) {
	/*	creates buttons (and br according to optional line lengths)
		créé les boutons (et les passages à la ligne selon les longueurs de ligne optionnelles)
	*/
		var container = document.getElementById(id);
		var lineIndex = 1;
		var keyIndex = 1;
		for (var i = 0; i < keyNames.length; i++) {
			var input = button(keyNames[i], onclick);
			input.index = i;
			appendTo(container, input);
			if (lineIndex < arguments.length) if (keyIndex == arguments[lineIndex]) {
				appendTo(container, br());
				lineIndex += 1;
				keyIndex = 1;
			}
			else keyIndex += 1;
		}
		container.className = "keyboard";
		return container;
	}
}
