
function init()
{
	noClickPages();
	canClickCams();
}

function canClickCams()
{
	var cams = document.getElementsByTagName('li');
	for(var x=0; x<cams.length; x++)
	{
		if(cams[x].className != 'done')
			cams[x].addEventListener('click',eCamClick,false);
	}
}

function canClickPages()
{
	divs = document.getElementsByTagName('div');
	for(var x=0; x<divs.length; x++)
	{
		if(divs[x].parentNode.className == 'page')
		{
			if(!divs[x].hasChildNodes())
				divs[x].addEventListener('click',ePageClick,false);
			else
				divs[x].removeEventListener('click',ePageReclick,false);
		}
	}
}

function noClickCams()
{
	var cams = document.getElementsByTagName('li');
	for(var x=0; x<cams.length; x++)
	{
		cams[x].removeEventListener('click',eCamClick,false);
		if(cams[x].className=='click') cams[x].addEventListener('click',eCamReclick,false);
	}
}

function noClickPages()
{
	var divs = document.getElementsByTagName('div');
	for(var x=0; x<divs.length; x++)
	{
		if(divs[x].parentNode.className == 'page')
		{
			divs[x].removeEventListener('click',ePageClick,false);
			if(divs[x].hasChildNodes())
				divs[x].addEventListener('click',ePageReclick,false);
		}
	}
}

function eCamClick(e)
{
	fix_e(e);
	var cam = e.currentTarget;
	cam.removeEventListener('click',eCamClick,false);
	cam.className = 'click';
	noClickCams();
	canClickPages();
	return true;
}

function eCamReclick(e)
{
	fix_e(e);
	var cam = e.currentTarget;
	cam.removeEventListener('click',eCamReclick,false);
	cam.className = '';
	noClickPages();
	canClickCams();
	return true;
}

function ePageClick(e)
{
	fix_e(e);
	var page = e.currentTarget;
	page.removeEventListener('click',ePageClick,false);
	var cams = document.getElementsByTagName('li');
	var x=0;
	while(x < cams.length && cams[x].className != 'click') x++;
	var cam = cams[x];
	var text = cam.firstChild;
	var pageText = text.cloneNode(false);
	page.appendChild(pageText);
	cam.className = 'done';
	cam.removeEventListener('click',eCamReclick,false);
	noClickPages();
	canClickCams();
	return true;
}

function ePageReclick(e)
{
	fix_e(e);
	var page = e.currentTarget;
	page.removeEventListener('click',ePageReclick,false);
	var text = page.firstChild;
	var data = text.data;
	var cams = document.getElementsByTagName('li');
	var x=0;
	while(x < cams.length && cams[x].firstChild.data != data) x++;
	var cam = cams[x];
	cam.className = '';
	page.removeChild(text);
	noClickPages();
	canClickCams();
	return true;
}

/*
function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}
*/

// makes ie behave like a sc browser with regard to events
function fix_e(e) {
	if (!e && window.event) e = window.event;
	if (!e.currentTarget && e.srcElement) e.currentTarget = e.srcElement;
	if (!e.originalTarget && e.srcElement) e.originalTarget = e.srcElement;
	return e;
}


window.onload = init;