
  
  
addEvent(window, 'load', toggleMoreInfo, false);

var mediaList = false;
 
/* Toggle more info display */
function toggleMoreInfo() {
    if (!document.createElement) return; // Check for DOM support
    var directoryListElem = document.getElementById('directory-list');
    if(directoryListElem == null){
         directoryListElem = document.getElementById('media-list');
         mediaList = true;
    }

    var infoElems = getElementsByClass('more-info',directoryListElem,'div'); // Grab all more-info divs

    // Iterate through more-info divs, add unique ids and change display to hidden
    for (i=0;i<infoElems.length;i++) {
        infoElems[i].setAttribute('id', 'more-info'+i);
        infoElems[i].className = 'hidden'; // Hide all more-info divs
		
        if(mediaList == false){
			infoChild = infoElems[i].firstChild;

        	for(j=0;j < infoElems[i].childNodes.length;++j){
           	 	if(infoChild.className == 'map-container'){
                	mapElem = infoChild.firstChild;
                	for(k=0;k < infoChild.childNodes.length;++k){
                    	if(mapElem.className == 'map'){
                      	  mapElem.setAttribute('id', 'map'+i);
                    	}
                    	mapElem = mapElem.nextSibling;
                	}
            	}
            	infoChild = infoChild.nextSibling;
        	}
		}
    }


    var toggleElems = getElementsByClass('toggle',directoryListElem,'p'); // Grab all toggle classes

    // Iterate through toggle classes and add anchor elements with unique ids
    for (i=0;i<toggleElems.length;i++) {
        aElem = document.createElement('a');
        aElem.setAttribute('href', '#');
        var aId = 'toggle'+i;
        aElem.setAttribute('id', aId);
        aElem.className = 'expand';
		if(mediaList == false){
        	aText = document.createTextNode('View Info & Map');
        	aElem.appendChild(aText);
		}else{
			aText = document.createTextNode('View Info');
        	aElem.appendChild(aText);
		}
		toggleElems[i].appendChild(aElem);
        infoElem = document.getElementById('more-info' + i);
        associateToggleEvent(aElem, infoElem);
    }
}

/* Associate the anchor click event with the correct more-info div */
function associateToggleEvent(aElem, infoElem) {
    aElem.onclick = function () {
        if (infoElem.className == 'hidden') {
            infoElem.className = 'more-info';
            this.className = 'collapse';
            text = document.createTextNode('Hide Info & Map');
            aElem.replaceChild(text, this.firstChild);
            if(mediaList == false){
                var google = aElem.id;
                var googleArray = google.split("e");
                googlemap('map'+googleArray[1]);
            }else{
               liElem = infoElem.parentNode;
               liElem.className= 'live';
            }
        }
        else {
            infoElem.className = 'hidden';
            this.className = 'expand';
            text = document.createTextNode('View Info & Map');
            aElem.replaceChild(text, this.firstChild);
            if(mediaList == true){
                liElem = infoElem.parentNode;
                liElem.className= ' ';
            }
        }
        return false;
    }
}

/* Get elements by class with a given node */
function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
