var openImg = new Image();
openImg.src = 'images/open.png';
var closedImg = new Image();
closedImg.src = 'images/closed.png';
var finalImg = new Image();
finalImg.src = 'images/final.png';

function showSemanticBranch(myTag) {

	//startup stuff - define and populate variables
	var myImageId = myTag.id;
	var mySearch = new RegExp('^image(.*)~(.*)$');
	var myMatch = myImageId.match(mySearch);
	var mySemanticCode = myMatch[1];
	var myUniqueIdentifier = myMatch[2];
	var myDivId = mySemanticCode + '~' + myUniqueIdentifier;
	var myDiv = document.getElementById(myDivId);
	var myImage = document.getElementById(myImageId);
	var myImageFile = myImage.src;
	mySearch = new RegExp('(.*)[/](.*)[.]png$');
	myMatch = myImageFile.match(mySearch);
	var myImageFilePath = myMatch[1];
	var myImageStatus = myMatch[2];
	
	var temp;
	var myBlock;
	var myNewImage;
	var myTestApply;
	if('closed' == myImageStatus) {
		myBlock = 'block';
		myNewImage = 'images/open.png';
		temp = '^' + mySemanticCode + '[.][0-9]~'
		myTestApply = new RegExp(temp);
		}
	else {
		myBlock = 'none'
		myNewImage = 'images/closed.png';
		temp = '^' + mySemanticCode + '[.0-9]+~'
		myTestApply = new RegExp(temp);
		}

	var myTestSearch = new RegExp('~[0-9]+$');
	myImage.src = myNewImage;
	var allDivs = document.getElementsByTagName('DIV');
	var tempId;
	var message;
	for(var i = 0; i < allDivs.length; i++) {
		tempId = allDivs[i].id;
		if(tempId) {
			if(myTestSearch.test(tempId)) {
				if(myTestApply.test(tempId)) {
					allDivs[i].style.display = myBlock;
					}
				}
			message = tempId;
			}
		}
	//alert('imageId: ' + myImageId + '\nsemanticCode: ' + mySemanticCode + '\ndivId: ' + myDivId + '\ntestSearch: ' + myTestSearch + '\ntestApply: ' + myTestApply + '\nlast substantive value of tempId: ' + message);
	}
	
function expandAll() {
	var myTestSearch = new RegExp('~[0-9]+$');
	var allDivs = document.getElementsByTagName('DIV');
	var tempId;
	for(var i = 0; i < allDivs.length; i++) {
		tempId = allDivs[i].id;
		if(tempId) {
			if(myTestSearch.test(tempId)) {
				allDivs[i].style.display = 'block';
				var myImage = document.getElementById('image' + tempId);
				if(myImage) {
					var myImageFile = myImage.src;
					var myImageSearch = new RegExp('(.*)[/](.*)[.]png$');
					var myImageMatch = myImageFile.match(myImageSearch);
					var myImageStatus = myImageMatch[2];
					if('closed' == myImageStatus) {
						myImage.src = 'images/open.png';
						}
					}
				}
			}
		}
	}
	
function foldAll() {
	var myTestSearch = new RegExp('~[0-9]+$');
	var myTestApply = new RegExp('^[0-9]\..*~');
	var allDivs = document.getElementsByTagName('DIV');
	var tempId;
	for(var i = 0; i < allDivs.length; i++) {
		tempId = allDivs[i].id;
		if(tempId) {
			if(myTestSearch.test(tempId)) {
				if(myTestApply.test(tempId)) {
					allDivs[i].style.display = 'none';
					}
				else {
					allDivs[i].style.display = 'block';
					}
				var myImage = document.getElementById('image' + tempId);
				if(myImage) {
					var myImageFile = myImage.src;
					var myImageSearch = new RegExp('(.*)[/](.*)[.]png$');
					var myImageMatch = myImageFile.match(myImageSearch);
					var myImageStatus = myImageMatch[2];
					if('open' == myImageStatus) {
						myImage.src = 'images/closed.png';
						}
					}
				}
			}
		}
	}
