backend.php:
	function compareNodes($a, $b)
	function pathize($str) 
	function blankCache($type = "node")
	function getInformation(&$element,$type = "album")
	function findPType(&$node)
	function doNaturalDepth(&$node)
	function distanceTo($type = "album", $node = false)
	function translate_uri($uri)
	function estimateRating($val)
	
	class jzBackend // General stuff for the backend.
		function jzBackend()
		function install() // see notes in classes.php.
		function getName()
		function getDetails()
		function getVersion() // === false if not installed.
		function setUpdated()
		function getUpdated()
		function getDataDir()
		function getStats()
		function getRecentlyAdded($distance, $limit)
	
	class jzMediaElement // shared functionality.
		function jzMediaElement($par = array())
		function _constructor($arg = array())
		function getDateAdded()
		function getName()
		function getType()
		function getLevel()
		function getParent()
		function getNaturalParent()
		function getPath($type = "array")
		function getDataPath()
		function getFilePath()
		function getPlayCount()
		function increasePlayCount()
		function setPlayCount()
		function getDownloadCount()
		function increaseDownloadCount()
		function setDownloadCount()
		function getMainArt()
		function addMainArt($image)
		function getRandomArt()
		function addRandomArt($image)
		function getShortDescripiton()
		function addShortDescription($text)
		function getDescription()
		function addDescription($text)
		function getRating()
		function addRating($rating, $weight = 1)
		function getRatingCount()
		function getDiscussion()
		function addDiscussion($text,$username)
		function getYear()
		function isLeaf()
		function mediaExport($type, $options = array);
		function hide()
		function unhide()
	class jzMediaNode extends jzMediaElement
		function jzMediaNodeClass($par = array())
		function setNaturalDepth($n) // changes the 'natural' search/count depth
		function getNaturalDepth() // pretty much only used internally.
		function getSubNodeCount($type='both', $distance=1)
		function getSubNodes($type='nodes',$distance=1, $random=false, $limit=0, $hasArt = false)
		function getHiddenSubNodes($distance=false);
		function getTopSubNodes($type='nodes',$top_type='most-played', $distance=1, $limit=0)
		function getSubNode($name)
		function search($searchTerms, $type='both', $depth = -1, $limit, $op = "and", $meta = array(), $excludeTerms = array())
		// search()'s first argument can be an array or a string.
		function updateCache($recursive = true, $root = false, $showStatus = false)
		function isLeaf() { return false; }
		function getAlphabetical($letter, $type = "nodes", $depth = 1)
		function addFeatured()
		function removeFeatured()
		function isFeatured()
		function getFeatured($distance = -1, $limit = 1)
		function addRequest($entry, $comment, $user, $type = "request")
		function getRequests($distance = -1, $type = "all")
		function removeRequest($id)
		function addLink($node)
		function getLinks($type = 'both')
		function removeLink($node)
		function inject($path, $filepath, $type = "track")
		function getPType()
		function setPType()
		function mediaImport($type, $file)
	class jzMediaTrack extends jzMediaElement
		function jzMediaTrackClass($par = array())
		function getFileName($target)
		function getMeta($mode = "cache")
		function setMeta($meta, $mode=false) // $mode=(false|file|cache|direct) false does both. 'direct' treats the path as the filepath.
		function getLyrics()
		function isLeaf() { return true; }
