var chars = [['ā','ă','ä','â','å'],['ē','ĕ','ë','ə'],['ī','ĭ','ī'],['ō','ŏ','ö','ô','ø'],['ŭ'],['æ','œ'],['m̄','n̄','ʒ','Þ','þ']];

var rules= {
    'div' : function(el) { 
    		var html = '';
    		for (var i=0 ;i<chars.length; i++) {
    			for (var j=0 ;j<chars[i].length; j++) {
    				html += '<div  id="'+chars[i][j] +'"class="knob">' + chars[i][j] + '</div>';
    			}	
    			html += '<div class="spacer"> </div>';
			}
			el.innerHTML = html;
					
	 },
	 'textarea' : function(el) {
	 	el.style.border='1px solid silver';
	 	el.autocomplete='off';
	 	
	 },
	 '.knob' : function(el) {
	 		el.onmouseover = function() {
				$('p').innerHTML = el.id;
				el.style.border='1px gray inset';
			},
	 		el.onclick = function() {
				insertTags('','',el.id);
			},

			el.onmouseout = function() {
				el.style.border='1px gray outset';

				$('p').innerHTML = '';
			}

	 }

};


Event.observe(window, 'load',function(){Behaviour.register(rules);Behaviour.apply(rules);});


function insertTags(tagOpen, tagClose, sampleText) {
	var areas = document.getElementsByTagName('textarea');
	var txtarea = areas[0];
   // IE

	if (document.selection  && !is_gecko) {
		var theSelection = document.selection.createRange().text;
		if (!theSelection)
			theSelection=sampleText;
		txtarea.focus();
		if (theSelection.charAt(theSelection.length - 1) == " ") { // exclude ending space char, if any
			theSelection = theSelection.substring(0, theSelection.length - 1);
			document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
		} else {
			document.selection.createRange().text = tagOpen + theSelection + tagClose;
		}

	// Mozilla

	} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {

		var replaced = false;

		var startPos = txtarea.selectionStart;

		var endPos = txtarea.selectionEnd;

		if (endPos-startPos)

			replaced = true;

		var scrollTop = txtarea.scrollTop;
		var myText = (txtarea.value).substring(startPos, endPos);
		if (!myText)
			myText=sampleText;
		if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
			subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
		} else {
			subst = tagOpen + myText + tagClose;
		}

		txtarea.value = txtarea.value.substring(0, startPos) + subst +
			txtarea.value.substring(endPos, txtarea.value.length);
		txtarea.focus();

		//set new selection
/*
		if (replaced) {
			var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
			txtarea.selectionStart = cPos;
			txtarea.selectionEnd = cPos;
		} else {
			txtarea.selectionStart = startPos+tagOpen.length;
			txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
		}
*/
		txtarea.scrollTop = scrollTop;

	// All other browsers get no toolbar.

	// There was previously support for a crippled "help"

	// bar, but that caused more problems than it solved.

	}

	// reposition cursor if possible

	if (txtarea.createTextRange)

		txtarea.caretPos = document.selection.createRange().duplicate();

}

