// call getElementsByClass() function with quoted target class as argument; will only work for divs. 
function getElementsByClass(tokenClass) {
	var        spacedClass = " " + tokenClass + " ";
    var         my_array = document.getElementsByTagName("DIV");
	var         retvalue = new Array();
    var        i;
    var        j;
    for (i = 0, j = 0; i < my_array.length; i++)
        {
        var c = " " + my_array[i].className + " ";
        if (c.indexOf(spacedClass) != -1)
        retvalue[j++] = my_array[i];
		}
    return retvalue;
    }


function clickHandlers() { // runs at window.onload...
	
	thumbPics = getElementsByClass("pictest"); // pass target class name and return array of classed divs...	
	for (var i = 0; i<thumbPics.length; i++) {
		thumbPics[i].onclick = showPic; // set onclick handler on all divs with target class 
	}
}
// The getElementsByClass() function requires the target class to be on divs only.
// thumbPics is not declared var, making it available to showPic().


function showPic() { // showPic() is called every time a div.pictest or its children are clicked...

	// a popup appears when a .pictest div gets a dynamic class 
	// of "showpic" added or removed, via the code below...

	if (this.className == "pictest") { // if thumb has no popup open...
			for (var i = 0; i < thumbPics.length; i++) {
				thumbPics[i].className = "pictest"; // loop all clickers to make sure old popups are removed... 
				}
					this.className = "pictest showpic"; // show popup for clicked div by adding "showpic" class...
	} else {
			for (var i = 0; i < thumbPics.length; i++) {
				thumbPics[i].className = "pictest"; // if clicked div has popup open, loop/hide all clickers.
				}
	}

} // end showPic()


clickHandlers(); // sets onclick event handlers on all instances of div.(targetclass)...
