function nodeData(id, path) { this.id = id; this.path = path;}
function makeRequest(url, node, onCompleteCallback) { var http_request = false; if (window.XMLHttpRequest) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml');}
browser = 'mozilla';} else if (window.ActiveXObject) { browser = 'IE'; try { http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}
}
}
if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance');}
http_request.onreadystatechange = function() { alertContents(http_request, node, onCompleteCallback);}; http_request.open('GET', url, true); http_request.send(null);}
function alertContents(http_request, node, onCompleteCallback) { var tmpNode; if (http_request.readyState == 4) { if (http_request.status == 200) { if (browser == 'IE') { var xmldoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); xmldoc.loadXML(http_request.responseText);} else { var xmldoc = http_request.responseXML;}
var root_node = xmldoc.getElementsByTagName('category'); for (i = 0; i < root_node.length; i++) { var id = root_node.item(i).getElementsByTagName('id').item(0).firstChild.data; var childCount = root_node.item(i).getElementsByTagName('childcount').item(0).firstChild.data; var productsCount = root_node.item(i).getElementsByTagName('productscount').item(0).firstChild.data; var multiExpand = root_node.item(i).getElementsByTagName('multiexpand').item(0).firstChild.data; var path = root_node.item(i).getElementsByTagName('path').item(0).firstChild.data; if (productsCount > 0 || childCount == 0) { tmpNode = new YAHOO.widget.MenuNode({label: root_node.item(i).getElementsByTagName('name').item(0).firstChild.data, href: path, ic: root_node.item(i).getElementsByTagName('ic').item(0).firstChild.data }, node, false);} else { tmpNode = new YAHOO.widget.MenuNode({label: root_node.item(i).getElementsByTagName('name').item(0).firstChild.data, ic: root_node.item(i).getElementsByTagName('ic').item(0).firstChild.data }, node, false);}
if (multiExpand == 1) { tmpNode.multiExpand = true;}
tmpNode.data = new nodeData(id, path); if (childCount > 0) { tmpNode.setDynamicLoad(loadDataForNode);}
}
onCompleteCallback();} else { alert('There was a problem with the request.');}
}
}
