Rev 12 | Blame | Compare with Previous | Last modification | View Log | RSS feed
var projects = new Array( );var projectID = "";var selectID = "";function project_view( ) {return openTopWin( "http://freshmeat.net/projects/" + selectID + "/" );}function project_home( ) {if( projects[selectID]["url_homepage"] ) {return openTopWin( projects[selectID]["url_homepage"] );}}function project_info( ) {alert( projects[selectID]["name_full"] + "\n" + projects[selectID]["desc_full"] + "\n Added : " + projects[selectID]["date_added"] + "\n" + "Update : " + projects[selectID]["date_updated" ] );}function search( ) {projects = new Array( );projectID = "";selectID = "";document.getElementById( "loadprogress" ).setAttribute("mode","undetermined");var rootNode = document.getElementById( "root" );removeNode( rootNode, rootNode, 0 );var search = document.getElementById( "prjfind" ).value;var url = "http://freshmeat.net/search-xml/?q=" + search;connectionType = "direct";timeOut = 120;connection( url );}function parseCallback( xml ) {var DOM = new DOMParser().parseFromString( xml, 'text/xml' );try {var rootNodes = DOM.getElementsByTagName( 'search-results' );var rootNode = rootNodes.item( 0 );parseNode( rootNode );} catch(e) {alert( "Parse error : " + e );}}function parseNode( node ) {var nodes = node.childNodes;var i;for( i=0; i<nodes.length; i++ ) {child = nodes.item(i);if( child.nodeName == "match" ) {var childs = child.childNodes;var project = new Array( );var j;for( j = 0; j < childs.length; j++ ) {childchild = childs.item(j);if( childchild.firstChild ) {switch( childchild.nodeName ) {case "projectname_short":project["name_short"] = childchild.firstChild.nodeValue;break;case "projectname_full":project["name_full"] = childchild.firstChild.nodeValue;break;case "desc_short":project["desc_short"] = childchild.firstChild.nodeValue;break;case "desc_full":project["desc_full"] = childchild.firstChild.nodeValue;break;case "url_homepage":project["url_homepage"] = childchild.firstChild.nodeValue;break;case "date_added":project["date_added"] = childchild.firstChild.nodeValue;break;case "date_updated":project["date_updated"] = childchild.firstChild.nodeValue;break;case "project_id":project["project_id"] = childchild.firstChild.nodeValue;break;default:break;}}}projects[project["name_short"]] = new Array( );projects[project["name_short"]] = project;var children = document.getElementById( "root" );var item = document.createElement ("treeitem");item.setAttribute ("id", project["name_short"]);var row = document.createElement ("treerow");var cellname = document.createElement ("treecell");cellname.setAttribute ("label", project["name_full"]);var celldesc = document.createElement ("treecell");celldesc.setAttribute ("label", project["desc_short"]);row.appendChild (cellname);row.appendChild (celldesc);item.appendChild (row);children.appendChild( item );}}document.getElementById( "loadprogress" ).setAttribute("mode","determined");}function removeNode( node, parent, bdel ) {var nodes = node.childNodes;var i;for( i=0; i<nodes.length; i++ ) {child = nodes.item(i);removeNode( child, node, 1 );node.removeChild( child );}if( bdel == 1 ) {parent.removeChild( node );}}function treeSelect( mbut ) {var tree = document.getElementById( "projectTree" );var numRanges = tree.view.selection.getRangeCount();var start = new Object();var end = new Object();tree.view.selection.getRangeAt(0,start,end);var dom = tree.view.getItemAtIndex( start.value );selectID = dom.getAttributeNode( "id" ).value;if( mbut == 0 ) {if( projectID != selectID ) {projectID = selectID;var url = "http://freshmeat.net/projects/" + projectID + "/";openTopWin( url );}}}// ----------------------------------------------------------------------------function openTopWin( url ){if ((url == null) || (url == "")) return null;if (url == "") {url = "about:blank";}var topWindowOfType = getTopWin();if ( topWindowOfType ){topWindowOfType.focus();topWindowOfType.loadURI(url);return topWindowOfType;}return window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", url );}function getTopWin(){var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);var topWindowOfType = windowManagerInterface.getMostRecentWindow( "navigator:browser" );if (topWindowOfType) {return topWindowOfType;}return null;}function getBrowserURL() {try {var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);var url = prefs.getCharPref("browser.chromeURL");if (url)return url;} catch(e) {}return "chrome://navigator/content/navigator.xul";}