var accKey						= new Array();
var accText						= new Array();

var fontSizes	= ['0.50em', '0.60em', '0.70em', '0.85em', '1.0em', '1.3em', '1.6em'];

var fontSizePtr	= 2;


function addFontControls() {
	// create text nodes
	var incFSText			= document.createTextNode('A+');
	var decFSText			= document.createTextNode('A-');
	var resFSText			= document.createTextNode('A0');
	var showAKText			= document.createTextNode('access keys');

	// create 'A+' span
	var incFS				= document.createElement('span');
	incFS.setAttribute('id', 'incFontSize');
	incFS.setAttribute('title', 'increase font size');
	incFS.appendChild(incFSText);

	// create 'A-' span
	var decFS				= document.createElement('span');
	decFS.setAttribute('id', 'decFontSize');
	decFS.setAttribute('title', 'decrease font size');
	decFS.appendChild(decFSText);

	// create 'A0' span
	var resFS				= document.createElement('span');
	resFS.setAttribute('id', 'resetFontSize');
	resFS.setAttribute('title', 'reset font size');
	resFS.appendChild(resFSText);

	// create br element
	var brEl				= document.createElement('br');

	// create 'access key' span
	var akList				= document.createElement('span');
	akList.setAttribute('id', 'accKeyList');
	akList.setAttribute('title', 'show access keys');
	akList.appendChild(showAKText);

	// create accesskey box

	// create 'close window' link
	var akWndCloseText		= document.createTextNode('X');
	var akWndCloseSpan		= document.createElement('span');
	akWndCloseSpan.setAttribute('id', 'closePopupWindow');
	akWndCloseSpan.setAttribute('title', 'close pop-up');
	akWndCloseSpan.appendChild(akWndCloseText);
	
	// create container for it
	var akCloseContainer	= document.createElement('div');
	// akCloseContainer.setAttribute('class', 'closeWindowContainer');
	akCloseContainer.className	= 'closeWindowContainer';
	akCloseContainer.appendChild(akWndCloseSpan);
	
	// get access keys
	getAccessKeys();
	
	// create list
	var akUl				= document.createElement('ul');
	akUl.setAttribute('id', 'akList');
	
	// create list items and attach to list
	var akLiText			= '';
	var akLi				= '';

	for (i = 0; i < accKey.length; i++) {
		akLiText			= document.createTextNode(accKey[i] + ' : ' + accText[i]);
		akLi				= document.createElement('li');
		akLi.appendChild(akLiText);
		akUl.appendChild(akLi);
	}
	
	// create outer container div
	var akBox				= document.createElement('div');
	akBox.setAttribute('id', 'akListContainer');
	akBox.appendChild(akCloseContainer);
	akBox.appendChild(akUl);
	
	// create div and append spans
	var accCtl				= document.createElement('div');
	accCtl.setAttribute('id', 'accessibilitycontrol');
	accCtl.appendChild(incFS);
	accCtl.appendChild(decFS);
	accCtl.appendChild(resFS);
	accCtl.appendChild(brEl);
	accCtl.appendChild(akList);
	accCtl.appendChild(akBox);

	// append div to 'accesskeys'
	var insEl				= document.getElementById('accesskeys');
	insEl.insertBefore(accCtl, document.getElementById('clientlogin'));
	
	// add events
	document.getElementById('incFontSize').onclick			= incFontSize;
	document.getElementById('decFontSize').onclick			= decFontSize;
	document.getElementById('resetFontSize').onclick		= resetFontSize;
	document.getElementById('accKeyList').onclick			= toggleAccessKeyList;
	document.getElementById('closePopupWindow').onclick		= toggleAccessKeyList;
}


function toggleAccessKeyList() {
	var akList						= document.getElementById('akListContainer');

	if (akList.style.display	== 'block') {
		akList.style.display		= 'none';
	} else {
		akList.style.display		= 'block';
	}

}

function getAccessKeys() {
	var accList						= document.getElementsByTagName('a');

	for (var i = 0; i < accList.length; i++) {
		if (accList[i].getAttribute('accesskey')) {
			accKey.push(accList[i].getAttribute('accesskey'));
			accText.push(accList[i].lastChild.nodeValue);
		}
	}
}


function incFontSize() {
	fontSizePtr++;
	
	if (fontSizePtr >= fontSizes.length) {
		fontSizePtr					= fontSizes.length - 1;
	}

	document.body.style.fontSize	= fontSizes[fontSizePtr];
	setCookie('celFontSize', fontSizePtr, '', '', '', false);
}

function decFontSize() {
	fontSizePtr--;
	
	if (fontSizePtr < 0) {
		fontSizePtr					= 0;
	}
	document.body.style.fontSize	= fontSizes[fontSizePtr];
	setCookie('celFontSize', fontSizePtr, '', '', '', false);
}

function resetFontSize() {
	fontSizePtr						= 2;
	document.body.style.fontSize	= fontSizes[fontSizePtr];
	setCookie('celFontSize', fontSizePtr, '', '', '', false);
}


function setFontSize() {
	var fontSizeValue				= getCookie('celFontSize');

	if (fontSizeValue == '') {
		fontSizePtr					= 2;
	} else {
		fontSizePtr					= parseInt(fontSizeValue);

		if (fontSizePtr < 0) {
			fontSizePtr				= 0;
		}
		if (fontSizePtr >= fontSizes.length) {
			fontSizePtr				= (fontSizes.length - 1);
		}
	}

	setCookie('celFontSize', fontSizePtr, '', '', '', false);
	document.body.style.fontSize	= fontSizes[fontSizePtr];
}

