
  
  
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');



    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

    }


    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';
        aText = document.createTextNode('View Map');
        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 Map');
            aElem.replaceChild(text, this.firstChild);
            iFrame = infoElem.getElementsByTagName('iFrame');
            if(iFrame == null || iFrame.length == 0){
                parentInfo = aElem.parentNode;
                element = document.createElement("iFrame");
                element.setAttribute("width", "290px");
                element.setAttribute("height", "200px");
                element.setAttribute("frameBorder", "0");
                if(parentInfo != null){

                    idName = "http://www.minneapolis.org/page/1/google-maps-sd.jsp?businessId="+parentInfo.id;
                    
                    element.setAttribute("src", idName);
                } else{
                    element.setAttribute("src", "http://www.minneapolis.org/page/1/google-maps-sd.jsp");
                }

                infoElem.appendChild(element);
            }


            //infoElem.innerHTML = "<iFrame frameborder='0' width='290px' height='200px' src='"+idName+"'>";
        }
        else {
            infoElem.className = 'hidden';
            this.className = 'expand';
            text = document.createTextNode('View Map');
            aElem.replaceChild(text, this.firstChild);

        }
        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;
}
