var _examplesNode;
var _panelNode;


function initialise () {
	_examplesNode = document.getElementById('textexpansions');
	_panelNode = document.getElementById('panel');

	var examples = document.getElementsByTagName('span'); 
	var count = 0;
	total = examples.length;
	for (i=0;i<total;i++) { 
		if (examples[i].className == 'ex') {
			count++; 
			examples[i].id = 'ex'+count;
			setMouseover(examples[i]);
			setMouseout(examples[i]);
			//examples[i].onmouseover = function(){ showdetails(this) };
			//examples[i].onmouseout = function(){ hidedetails() };
			
			chars = examples[i].firstChild.data;
			
			//anchor = examples[i].appendChild(document.createElement('a'));
			// create a footnote pointer
			anchor = document.createElement('a');
			anchor.href = '#eex'+count;
			sup = anchor.appendChild(document.createElement('sup'));
			sup.className = 'fnote';
			sup.appendChild(document.createTextNode('\u00A0'+count));
			
			// do some convoluted stuff in order to add footnote pointer after the example
			thisexample = examples[i].parentNode.replaceChild(anchor, examples[i]);
			anchor.parentNode.insertBefore(thisexample, anchor);
			//examples[i].parentNode.insertBefore(anchor, examples[i]);
				
			maindiv = document.createElement('div');
			maindiv.id = 'eex'+count; maindiv.name = 'eex'+count;
			maindiv.className = 'expandedtext';
			
			textdiv = maindiv.appendChild(document.createElement('div'));
			
			number = textdiv.appendChild(document.createElement('sup'));
			number.appendChild(document.createTextNode('Example '+count+': '));
			number.className = 'exNum';
			
			text = textdiv.appendChild(document.createElement('span'));
			text.className = 'eex';
			text.lang = 'km';
			text.appendChild(document.createTextNode(chars));
			
			for (var j=0;j<chars.length;j++) {
				code = chars.charCodeAt(j); 
				chardiv = maindiv.appendChild(document.createElement('div'));
				chardiv.appendChild(document.createTextNode(code.toString(16).toUpperCase()+': '));
				img = chardiv.appendChild(document.createElement('img'));
				img.src = 'images/'+code.toString(16).toUpperCase()+'.png';
				img.alt = code.toString(16).toUpperCase();
				chardiv.appendChild(document.createTextNode(' '+clist[code]));
				}
			_examplesNode.appendChild(maindiv);
			}
		}
	}

function setMouseover ( node ) {
	node.onmouseover = function(){ showdetails(node) };
	}
	
function setMouseout ( node ) {
	node.onmouseout = function(){ hidedetails() };
	}
	



function showdetails (node) { 
	id = 'e'+node.id;
	div = document.getElementById(id); 
	//panel = document.insertBefore(div.cloneNode(true), node);
	cloneddata = div.cloneNode(true); 
	_panelNode.appendChild(cloneddata);
	_panelNode.style.display = 'block';
	}

function hidedetails () {
	_panelNode.removeChild(_panelNode.firstChild);
	}

var clist = new Array ();
clist[0x20]="SPACE";
clist[0x2C]="COMMA";
clist[0x2D]="HYPHEN-MINUS";

clist[0x1780]="KHMER LETTER KA";
clist[0x1781]="KHMER LETTER KHA";
clist[0x1782]="KHMER LETTER KO";
clist[0x1783]="KHMER LETTER KHO";
clist[0x1784]="KHMER LETTER NGO";
clist[0x1785]="KHMER LETTER CA";
clist[0x1786]="KHMER LETTER CHA";
clist[0x1787]="KHMER LETTER CO";
clist[0x1788]="KHMER LETTER CHO";
clist[0x1789]="KHMER LETTER NYO";
clist[0x178A]="KHMER LETTER DA";
clist[0x178B]="KHMER LETTER TTHA";
clist[0x178C]="KHMER LETTER DO";
clist[0x178D]="KHMER LETTER TTHO";
clist[0x178E]="KHMER LETTER NNO";
clist[0x178F]="KHMER LETTER TA";
clist[0x1790]="KHMER LETTER THA";
clist[0x1791]="KHMER LETTER TO";
clist[0x1792]="KHMER LETTER THO";
clist[0x1793]="KHMER LETTER NO";
clist[0x1794]="KHMER LETTER BA";
clist[0x1795]="KHMER LETTER PHA";
clist[0x1796]="KHMER LETTER PO";
clist[0x1797]="KHMER LETTER PHO";
clist[0x1798]="KHMER LETTER MO";
clist[0x1799]="KHMER LETTER YO";
clist[0x179A]="KHMER LETTER RO";
clist[0x179B]="KHMER LETTER LO";
clist[0x179C]="KHMER LETTER VO";
clist[0x179D]="KHMER LETTER SHA";
clist[0x179E]="KHMER LETTER SSO";
clist[0x179F]="KHMER LETTER SA";
clist[0x17A0]="KHMER LETTER HA";
clist[0x17A1]="KHMER LETTER LA";
clist[0x17A2]="KHMER LETTER QA";
clist[0x17A3]="KHMER INDEPENDENT VOWEL QAQ";
clist[0x17A4]="KHMER INDEPENDENT VOWEL QAA";
clist[0x17A5]="KHMER INDEPENDENT VOWEL QI";
clist[0x17A6]="KHMER INDEPENDENT VOWEL QII";
clist[0x17A7]="KHMER INDEPENDENT VOWEL QU";
clist[0x17A8]="KHMER INDEPENDENT VOWEL QUK";
clist[0x17A9]="KHMER INDEPENDENT VOWEL QUU";
clist[0x17AA]="KHMER INDEPENDENT VOWEL QUUV";
clist[0x17AB]="KHMER INDEPENDENT VOWEL RY";
clist[0x17AC]="KHMER INDEPENDENT VOWEL RYY";
clist[0x17AD]="KHMER INDEPENDENT VOWEL LY";
clist[0x17AE]="KHMER INDEPENDENT VOWEL LYY";
clist[0x17AF]="KHMER INDEPENDENT VOWEL QE";
clist[0x17B0]="KHMER INDEPENDENT VOWEL QAI";
clist[0x17B1]="KHMER INDEPENDENT VOWEL QOO TYPE ONE";
clist[0x17B2]="KHMER INDEPENDENT VOWEL QOO TYPE TWO";
clist[0x17B3]="KHMER INDEPENDENT VOWEL QAU";
clist[0x17B4]="KHMER VOWEL INHERENT AQ";
clist[0x17B5]="KHMER VOWEL INHERENT AA";
clist[0x17B6]="KHMER VOWEL SIGN AA";
clist[0x17B7]="KHMER VOWEL SIGN I";
clist[0x17B8]="KHMER VOWEL SIGN II";
clist[0x17B9]="KHMER VOWEL SIGN Y";
clist[0x17BA]="KHMER VOWEL SIGN YY";
clist[0x17BB]="KHMER VOWEL SIGN U";
clist[0x17BC]="KHMER VOWEL SIGN UU";
clist[0x17BD]="KHMER VOWEL SIGN UA";
clist[0x17BE]="KHMER VOWEL SIGN OE";
clist[0x17BF]="KHMER VOWEL SIGN YA";
clist[0x17C0]="KHMER VOWEL SIGN IE";
clist[0x17C1]="KHMER VOWEL SIGN E";
clist[0x17C2]="KHMER VOWEL SIGN AE";
clist[0x17C3]="KHMER VOWEL SIGN AI";
clist[0x17C4]="KHMER VOWEL SIGN OO";
clist[0x17C5]="KHMER VOWEL SIGN AU";
clist[0x17C6]="KHMER SIGN NIKAHIT";
clist[0x17C7]="KHMER SIGN REAHMUK";
clist[0x17C8]="KHMER SIGN YUUKALEAPINTU";
clist[0x17C9]="KHMER SIGN MUUSIKATOAN";
clist[0x17CA]="KHMER SIGN TRIISAP";
clist[0x17CB]="KHMER SIGN BANTOC";
clist[0x17CC]="KHMER SIGN ROBAT";
clist[0x17CD]="KHMER SIGN TOANDAKHIAT";
clist[0x17CE]="KHMER SIGN KAKABAT";
clist[0x17CF]="KHMER SIGN AHSDA";
clist[0x17D0]="KHMER SIGN SAMYOK SANNYA";
clist[0x17D1]="KHMER SIGN VIRIAM";
clist[0x17D2]="KHMER SIGN COENG";
clist[0x17D3]="KHMER SIGN BATHAMASAT";
clist[0x17D4]="KHMER SIGN KHAN";
clist[0x17D5]="KHMER SIGN BARIYOOSAN";
clist[0x17D6]="KHMER SIGN CAMNUC PII KUUH";
clist[0x17D7]="KHMER SIGN LEK TOO";
clist[0x17D8]="KHMER SIGN BEYYAL";
clist[0x17D9]="KHMER SIGN PHNAEK MUAN";
clist[0x17DA]="KHMER SIGN KOOMUUT";
clist[0x17DB]="KHMER CURRENCY SYMBOL RIEL";
clist[0x17DC]="KHMER SIGN AVAKRAHASANYA";
clist[0x17DD]="KHMER SIGN ATTHACAN";
clist[0x17E0]="KHMER DIGIT ZERO";
clist[0x17E1]="KHMER DIGIT ONE";
clist[0x17E2]="KHMER DIGIT TWO";
clist[0x17E3]="KHMER DIGIT THREE";
clist[0x17E4]="KHMER DIGIT FOUR";
clist[0x17E5]="KHMER DIGIT FIVE";
clist[0x17E6]="KHMER DIGIT SIX";
clist[0x17E7]="KHMER DIGIT SEVEN";
clist[0x17E8]="KHMER DIGIT EIGHT";
clist[0x17E9]="KHMER DIGIT NINE";
clist[0x17F0]="KHMER SYMBOL LEK ATTAK SON";
clist[0x17F1]="KHMER SYMBOL LEK ATTAK MUOY";
clist[0x17F2]="KHMER SYMBOL LEK ATTAK PII";
clist[0x17F3]="KHMER SYMBOL LEK ATTAK BEI";
clist[0x17F4]="KHMER SYMBOL LEK ATTAK BUON";
clist[0x17F5]="KHMER SYMBOL LEK ATTAK PRAM";
clist[0x17F6]="KHMER SYMBOL LEK ATTAK PRAM-MUOY";
clist[0x17F7]="KHMER SYMBOL LEK ATTAK PRAM-PII";
clist[0x17F8]="KHMER SYMBOL LEK ATTAK PRAM-BEI";
clist[0x17F9]="KHMER SYMBOL LEK ATTAK PRAM-BUON";


window.onload = function() { initialise(); };