function getNextChild(fileLink, parentElement, extension) {
    for (var j = 0; (j<parentElement.childNodes.length); j++) { //loop thru children of parent element
        if (parentElement.childNodes[j].href) {
            //had to find file link again because there is no standard collection of ALL elements (only IE uses document.all)                  
            if (parentElement.childNodes[j].href.indexOf(extension) != -1 ) {
	            if (parentElement.childNodes[j+1]) {
	                if (elementIsNotFileIcon(parentElement.childNodes[j+1])) {
	                    return parentElement.childNodes[j+1];
	                }
	            } else {
	                return null;
	            }
	        }
	    }
	}
}

function insertIcon(imagePath, parentElement, nextChild) {
    var imgIcon = document.createElement("img");
	imgIcon.setAttribute('src',imagePath);
	imgIcon.setAttribute('alt','');
    imgIcon.className = 'fileicon';
    parentElement.insertBefore(imgIcon, nextChild);
}

function elementIsNotFileIcon(element) {
    if (element.className) {
        if (element.className != 'fileicon') {
            return true;
        }
        else {
            return false;
        }
	} else {
	    return true;
    }
}

function fileLinks() {
    var fileLink;
    var parentElement;
    if (document.getElementsByTagName('a')) {
        for (var i = 0; (fileLink = document.getElementsByTagName('a')[i]); i++) {
            var parentElement = fileLink.parentNode;    //get parent element of file link
            if (fileLink.href.indexOf('.ppt') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.ppt')
                insertIcon('../images/ppt.gif', parentElement, nextChild);
            }            
            if (fileLink.href.indexOf('.pdf') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.pdf')
                insertIcon('../images/pdf.gif', parentElement, nextChild)
            }
            if (fileLink.href.indexOf('.doc') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.doc')
                insertIcon('../images/doc.gif', parentElement, nextChild)
            }	        
	        if (fileLink.href.indexOf('.xls') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.xls')
                insertIcon('../images/xls.gif', parentElement, nextChild)
            }
	        if (fileLink.href.indexOf('.mdb') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.mdb')
                insertIcon('../images/access.gif', parentElement, nextChild)
            }            
            if (fileLink.href.indexOf('.zip') != -1) {
                nextChild = getNextChild(fileLink, parentElement, '.zip')
                insertIcon('../images/zip.gif', parentElement, nextChild)
            }
        }
    }
}
window.onload = function() {
    fileLinks();
}