--- a/about.php +++ b/about.php @@ -1,6 +1,55 @@ +<?php + + +include('./lib/common.inc.php'); +include_header("Map"); +?> + +<div class="msg_list"> +<p class="msg_head">Header-1 </p> +<div class="msg_body"> +orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +</div> +<p class="msg_head">Header-2</p> +<div class="msg_body"> +orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +</div> +<p class="msg_head">Header-3</p> +<div class="msg_body"> +orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +</div> +</div> + sourced from austender Government Agency Information (2009-07-10): National Archives of Australia, http://www.naa.gov.au under Creative Commons - Attribution 2.5 Australia (CC-BY) jpgraph for php ABR Redhat Liberation fonts - + + +<?php +include_once("./lib/common.inc.php"); +$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end +FROM `contractnotice` WHERE childCN = 0 AND parentCN = 0 AND DATE(importDate) in (select * from (SELECT DATE(importDate) +FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; +$result = mysql_query($query); +echo "<div>"; +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; + + +$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end +FROM `contractnotice` WHERE (childCN != 0 OR parentCN != 0) AND DATE(importDate) in (select * from (SELECT DATE(importDate) +FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; +$result = mysql_query($query); +echo "<div>"; +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; + + +echo "Last updated: ". $stats["importday"]."<br>"; +/* Check for null Procurement method and 0 ABN when not ABN exempt */ + + +include_footer(); +?>
--- a/admin/abr-example.php +++ b/admin/abr-example.php
--- /dev/null +++ b/admin/agency2portfolio.php @@ -1,1 +1,42 @@ +<?php +// Returns portfolio scraped live from directory.gov.au +// or null if can't find a portfolio +function agency2portfolio ($agency) { + static $cache = array(); + if (isset($cache[$agency])) { return $cache[$agency]; } + $c = curl_init('http://www.directory.gov.au/searchres.php'); + curl_setopt($c, CURLOPT_POST, true); + curl_setopt($c, CURLOPT_HEADER, false); + curl_setopt($c, CURLOPT_RETURNTRANSFER, true); + curl_setopt($c, CURLOPT_REFERER, 'http://www.directory.gov.au/adsearch.php'); + curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); + curl_setopt($c, CURLOPT_POSTFIELDS, array( + 'advkeywordfield' => '', + 'advorgunitfield' => $agency, + 'advrolefield' => '', + 'advsection' => 'All', + 'advsurnamefield' => '', + 'search' => 'Submit Query' + )); + $results = curl_exec($c); + + if (preg_match('#<span\s+class="standardlinks"><a\s+href="([^"]+)">#smi', $results, $m)) { + $nextURL = $m[1]; + } else { + $cache[$agency] = false; return false; + } + + curl_setopt($c, CURLOPT_URL, 'http://www.directory.gov.au' . $nextURL); + curl_setopt($c, CURLOPT_HTTPGET, true); + curl_setopt($c, CURLOPT_REFERER, 'http://www.directory.gov.au/searchres.php'); + $results = curl_exec($c); + if (preg_match('#portfolios:\s+([^<]+)#ims', $results, $m)) { + $cache[$agency] = $m[1]; return $m[1]; + } else { + $cache[$agency] = false; return false; + } +} + +?> +
Binary files a/admin/cmd.exe.lnk and b/admin/cmd.exe.lnk differ
--- a/admin/convertToThematicMapping.php +++ b/admin/convertToThematicMapping.php
--- /dev/null +++ b/admin/displayRepresentatives.php @@ -1,1 +1,7 @@ +SELECT representative_id,firstname,surname,party,house,division_id, portfolio +FROM portfolio2representative +INNER JOIN representatives +ON portfolio2representative.representative_id=representatives.id +INNER JOIN portfolios +ON portfolio2representative.portfolio_id=portfolios.id
--- /dev/null +++ b/admin/displayUNSPSC.php @@ -1,1 +1,25 @@ +<?php +error_reporting(E_ALL); + +$link = mysql_connect('localhost', 'team7', 'wlUsnD2xu9'); +if (!$link) { + die('Could not connect: ' . mysql_error()); +} +@mysql_select_db("team7") or die("Unable to select database"); + +$unspscresult = mysql_query ("select * from UNSPSCcategories;"); +while ($row = mysql_fetch_assoc($unspscresult)) { + $unspsc[$row['UNSPSC']] = $row['Title']; +} +$catsresult = mysql_query ("SELECT LEFT( categoryUNSPSC, 2 ) as cat , SUM( value ) as value +FROM `contractnotice` +GROUP BY cat ;"); +echo "<table>"; +while ($row = mysql_fetch_assoc($catsresult)) { + $catName = $unspsc[$row['cat']."000000"].$row['cat']; + if ($row['cat'] = "") $catName = "null"; + + echo "<tr><td>$catName</td><td>".$row['value']."</td></tr>"; +} +?>
--- a/admin/google-example.htm +++ b/admin/google-example.htm
--- a/admin/google-example.php +++ b/admin/google-example.php
--- a/admin/import.bat +++ b/admin/import.bat
--- a/admin/import.php +++ b/admin/import.php @@ -1,6 +1,6 @@ <?php include_once("../lib/common.inc.php"); -$path = '../data/'; +$path = 'data/'; if ($_REQUEST["fname"] == "") { echo "Get files from: https://www.tenders.gov.au/?event=public.reports.list<br>"; $dhandle = opendir($path); @@ -98,17 +98,17 @@ $result = mysql_query($contractNoticeInsert); if ($result) $success++; -else echo $data[2] . " failed CN insert.<br>". mysql_error() ." <br> $contractNoticeInsert <br><br>\n"; +else if (strpos(mysql_error(),"Duplicate entry") === false) echo $data[2] . " failed CN insert.<br>". mysql_error() ." <br> $contractNoticeInsert <br><br>\n"; - //$result = mysql_query($agencyInsert); + $result = mysql_query($agencyInsert); if ($result) $success++; -else echo $data[2] . " failed agency insert.<br>". mysql_error() ." <br> $agencyInsert <br><br>\n"; +else if (strpos(mysql_error(),"Duplicate entry") === false) echo $data[2] . " failed agency insert.<br>". mysql_error() ." <br> $agencyInsert <br><br>\n"; $result = mysql_query($supplierInsert); if ($result) $success++; -else echo $data[2] . " failed supplier insert.<br>". mysql_error() ." <br> $supplierInsert <br><br>\n"; +else if (strpos(mysql_error(),"Duplicate entry") === false) echo $data[2] . " failed supplier insert.<br>". mysql_error() ." <br> $supplierInsert <br><br>\n"; -echo "<hr>\n"; +//echo "<hr>\n"; } $row++; @@ -117,3 +117,4 @@ fclose($handle); } ?> +
--- a/admin/linkAmendments.php +++ b/admin/linkAmendments.php
--- a/admin/recordsperweek.txt +++ b/admin/recordsperweek.txt
--- a/admin/setAgencyStatus.php +++ b/admin/setAgencyStatus.php
--- a/admin/setAgencyURLABN.php +++ b/admin/setAgencyURLABN.php
--- /dev/null +++ b/admin/updateReport.php @@ -1,1 +1,30 @@ +<?php +include_once("../lib/common.inc.php"); +$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end +FROM `contractnotice` WHERE childCN = 0 AND parentCN = 0 AND DATE(importDate) in (select * from (SELECT DATE(importDate) +FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; +$result = mysql_query($query); +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; + +$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end +FROM `contractnotice` WHERE (childCN != 0 OR parentCN != 0) AND DATE(importDate) in (select * from (SELECT DATE(importDate) +FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; +$result = mysql_query($query); +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; + +$query = "SELECT count(*) as count FROM `agency` WHERE `abn` = '0'"; +$result = mysql_query($query); +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " agencies with no ABN<br>"; + +/*$query = "SELECT count(*) as count FROM `supplierdetails` WHERE `supplierABN` = '0' and supplierCountry LIKE 'Australia'"; +$result = mysql_query($query); +$stats = mysql_fetch_array($result, MYSQL_BOTH); +echo $stats["count"] . " Australian suppliers with no ABN<br>";*/ + + +echo "Last updated: ". $stats["importday"]."<br>"; +?>
--- /dev/null +++ b/admin/updateUNSPSC.php @@ -1,1 +1,34 @@ +<?php +error_reporting(E_ALL); + +include_once("../lib/common.inc.php"); + +$unspscresult = mysql_query ("select * from UNSPSCcategories;"); +while ($row = mysql_fetch_assoc($unspscresult)) { + $unspsc[$row['Title']] = $row['UNSPSC']; +} + +$query = "SELECT CNID,category,value +FROM `contractnotice` +WHERE `categoryUNSPSC` IS NULL OR `categoryUNSPSC` = 0"; +$emptycatresult = mysql_query ($query); +$missing = Array(); +if ($emptycatresult){ + while ($record = mysql_fetch_assoc($emptycatresult)) { + if ($unspsc[$record['category']] == "") { + $missing[$record['category']]= $missing[$record['category']]+ $record['value']; +// echo "<br>\n Category not found for: \n"; +// print_r($record); + } else { + $result = mysql_query("UPDATE contractnotice SET categoryUNSPSC = +'".mysql_real_escape_string($unspsc[$record['category']])."' where CNID = +'".mysql_real_escape_string($record['CNID'])."';"); + if ($result) echo $record['CNID']. " set to ". ($unspsc[$record['category']]) . " <br>\n"; + else echo "error".mysql_error(); + } + } +} else echo "error".mysql_error(); +asort($missing); +print_r($missing); +?>
--- /dev/null +++ b/autosuggest_inquisitor.css @@ -1,1 +1,177 @@ +/* +================================================ +autosuggest, inquisitor style +================================================ +*/ +body +{ + position: relative; +} + + +div.autosuggest +{ + position: absolute; + background-image: url(images/img_inquisitor/as_pointer.gif); + background-position: top; + background-repeat: no-repeat; + padding: 10px 0 0 0; +} + +div.autosuggest div.as_header, +div.autosuggest div.as_footer +{ + position: relative; + height: 6px; + padding: 0 6px; + background-image: url(images/img_inquisitor/ul_corner_tr.gif); + background-position: top right; + background-repeat: no-repeat; + overflow: hidden; +} +div.autosuggest div.as_footer +{ + background-image: url(images/img_inquisitor/ul_corner_br.gif); +} + +div.autosuggest div.as_header div.as_corner, +div.autosuggest div.as_footer div.as_corner +{ + position: absolute; + top: 0; + left: 0; + height: 6px; + width: 6px; + background-image: url(images/img_inquisitor/ul_corner_tl.gif); + background-position: top left; + background-repeat: no-repeat; +} +div.autosuggest div.as_footer div.as_corner +{ + background-image: url(images/img_inquisitor/ul_corner_bl.gif); +} +div.autosuggest div.as_header div.as_bar, +div.autosuggest div.as_footer div.as_bar +{ + height: 6px; + overflow: hidden; + background-color: #333; +} + + +div.autosuggest ul +{ + list-style: none; + margin: 0 0 -4px 0; + padding: 0; + overflow: hidden; + background-color: #333; +} + +div.autosuggest ul li +{ + color: #ccc; + padding: 0; + margin: 0 4px 4px; + text-align: left; +} + +div.autosuggest ul li a +{ + color: #ccc; + display: block; + text-decoration: none; + background-color: transparent; + text-shadow: #000 0px 0px 5px; + position: relative; + padding: 0; + width: 100%; +} +div.autosuggest ul li a:hover +{ + background-color: #444; +} +div.autosuggest ul li.as_highlight a:hover +{ + background-color: #1B5CCD; +} + +div.autosuggest ul li a span +{ + display: block; + padding: 3px 6px; + font-weight: bold; +} + +div.autosuggest ul li a span small +{ + font-weight: normal; + color: #999; +} + +div.autosuggest ul li.as_highlight a span small +{ + color: #ccc; +} + +div.autosuggest ul li.as_highlight a +{ + color: #fff; + background-color: #1B5CCD; + background-image: url(images/img_inquisitor/hl_corner_br.gif); + background-position: bottom right; + background-repeat: no-repeat; +} + +div.autosuggest ul li.as_highlight a span +{ + background-image: url(images/img_inquisitor/hl_corner_bl.gif); + background-position: bottom left; + background-repeat: no-repeat; +} + +div.autosuggest ul li a .tl, +div.autosuggest ul li a .tr +{ + background-image: transparent; + background-repeat: no-repeat; + width: 6px; + height: 6px; + position: absolute; + top: 0; + padding: 0; + margin: 0; +} +div.autosuggest ul li a .tr +{ + right: 0; +} + +div.autosuggest ul li.as_highlight a .tl +{ + left: 0; + background-image: url(images/img_inquisitor/hl_corner_tl.gif); + background-position: bottom left; +} + +div.autosuggest ul li.as_highlight a .tr +{ + right: 0; + background-image: url(images/img_inquisitor/hl_corner_tr.gif); + background-position: bottom right; +} + + + +div.autosuggest ul li.as_warning +{ + font-weight: bold; + text-align: center; +} + +div.autosuggest ul em +{ + font-style: normal; + color: #6EADE7; +}
--- a/contractDashboard.kpf +++ b/contractDashboard.kpf
--- a/cutenews/LICENSE.txt +++ b/cutenews/LICENSE.txt
--- a/cutenews/README.htm +++ b/cutenews/README.htm
--- a/cutenews/data/Default.tpl +++ b/cutenews/data/Default.tpl
--- a/cutenews/data/Headlines.tpl +++ b/cutenews/data/Headlines.tpl
--- a/cutenews/data/archives/index.htm +++ b/cutenews/data/archives/index.htm
--- a/cutenews/data/auto_archive.db.php +++ b/cutenews/data/auto_archive.db.php
--- a/cutenews/data/backup/index.html +++ b/cutenews/data/backup/index.html
--- a/cutenews/data/cat.num.php +++ b/cutenews/data/cat.num.php
--- a/cutenews/data/category.db.php +++ b/cutenews/data/category.db.php
--- a/cutenews/data/comments.txt +++ b/cutenews/data/comments.txt
--- a/cutenews/data/config.php +++ b/cutenews/data/config.php
Binary files a/cutenews/data/emoticons/angry.gif and b/cutenews/data/emoticons/angry.gif differ
Binary files a/cutenews/data/emoticons/crying.gif and b/cutenews/data/emoticons/crying.gif differ
--- a/cutenews/data/emoticons/index.html +++ b/cutenews/data/emoticons/index.html
Binary files a/cutenews/data/emoticons/laughing.gif and b/cutenews/data/emoticons/laughing.gif differ
Binary files a/cutenews/data/emoticons/sad.gif and b/cutenews/data/emoticons/sad.gif differ
Binary files a/cutenews/data/emoticons/smile.gif and b/cutenews/data/emoticons/smile.gif differ
Binary files a/cutenews/data/emoticons/tongue.gif and b/cutenews/data/emoticons/tongue.gif differ
Binary files a/cutenews/data/emoticons/wassat.gif and b/cutenews/data/emoticons/wassat.gif differ
Binary files a/cutenews/data/emoticons/wink.gif and b/cutenews/data/emoticons/wink.gif differ
--- a/cutenews/data/flood.db.php +++ b/cutenews/data/flood.db.php
--- a/cutenews/data/index.html +++ b/cutenews/data/index.html
--- a/cutenews/data/ipban.db.php +++ b/cutenews/data/ipban.db.php
--- a/cutenews/data/news.txt +++ b/cutenews/data/news.txt
--- a/cutenews/data/postponed_news.txt +++ b/cutenews/data/postponed_news.txt
--- a/cutenews/data/rss.tpl +++ b/cutenews/data/rss.tpl
--- a/cutenews/data/rss_config.php +++ b/cutenews/data/rss_config.php
--- a/cutenews/data/unapproved_news.txt +++ b/cutenews/data/unapproved_news.txt
Binary files a/cutenews/data/upimages/cutenews-banner.gif and b/cutenews/data/upimages/cutenews-banner.gif differ
--- a/cutenews/data/upimages/index.html +++ b/cutenews/data/upimages/index.html
--- a/cutenews/data/users.db.php +++ b/cutenews/data/users.db.php
--- a/cutenews/example1.php +++ b/cutenews/example1.php
--- a/cutenews/example2.php +++ b/cutenews/example2.php
--- a/cutenews/inc/about.mdu +++ b/cutenews/inc/about.mdu
--- a/cutenews/inc/addnews.mdu +++ b/cutenews/inc/addnews.mdu
--- a/cutenews/inc/categories.mdu +++ b/cutenews/inc/categories.mdu
--- a/cutenews/inc/debug.mdu +++ b/cutenews/inc/debug.mdu
--- a/cutenews/inc/editcomments.mdu +++ b/cutenews/inc/editcomments.mdu
--- a/cutenews/inc/editnews.mdu +++ b/cutenews/inc/editnews.mdu
--- a/cutenews/inc/editusers.mdu +++ b/cutenews/inc/editusers.mdu
--- a/cutenews/inc/functions.inc.php +++ b/cutenews/inc/functions.inc.php
--- a/cutenews/inc/help.mdu +++ b/cutenews/inc/help.mdu
--- a/cutenews/inc/images.mdu +++ b/cutenews/inc/images.mdu
--- a/cutenews/inc/ipban.mdu +++ b/cutenews/inc/ipban.mdu
--- a/cutenews/inc/main.mdu +++ b/cutenews/inc/main.mdu
--- a/cutenews/inc/massactions.mdu +++ b/cutenews/inc/massactions.mdu
--- a/cutenews/inc/options.mdu +++ b/cutenews/inc/options.mdu
--- a/cutenews/inc/preview.mdu +++ b/cutenews/inc/preview.mdu
--- a/cutenews/inc/shows.inc.php +++ b/cutenews/inc/shows.inc.php
--- a/cutenews/inc/tools.mdu +++ b/cutenews/inc/tools.mdu
--- a/cutenews/inc/wizards.mdu +++ b/cutenews/inc/wizards.mdu
--- a/cutenews/index.php +++ b/cutenews/index.php
--- a/cutenews/register.php +++ b/cutenews/register.php
--- a/cutenews/remember.js +++ b/cutenews/remember.js
--- a/cutenews/rss.php +++ b/cutenews/rss.php
--- a/cutenews/rte/blank.htm +++ b/cutenews/rte/blank.htm
Binary files a/cutenews/rte/images/Thumbs.db and b/cutenews/rte/images/Thumbs.db differ
Binary files a/cutenews/rte/images/bgcolor.gif and b/cutenews/rte/images/bgcolor.gif differ
Binary files a/cutenews/rte/images/blackdot.gif and b/cutenews/rte/images/blackdot.gif differ
Binary files a/cutenews/rte/images/bold.gif and b/cutenews/rte/images/bold.gif differ
Binary files a/cutenews/rte/images/centre.gif and b/cutenews/rte/images/centre.gif differ
Binary files a/cutenews/rte/images/copy.gif and b/cutenews/rte/images/copy.gif differ
Binary files a/cutenews/rte/images/cut.gif and b/cutenews/rte/images/cut.gif differ
Binary files a/cutenews/rte/images/hr.gif and b/cutenews/rte/images/hr.gif differ
Binary files a/cutenews/rte/images/hyperlink.gif and b/cutenews/rte/images/hyperlink.gif differ
Binary files a/cutenews/rte/images/image.gif and b/cutenews/rte/images/image.gif differ
Binary files a/cutenews/rte/images/indent.gif and b/cutenews/rte/images/indent.gif differ
Binary files a/cutenews/rte/images/insert_table.gif and b/cutenews/rte/images/insert_table.gif differ
Binary files a/cutenews/rte/images/italic.gif and b/cutenews/rte/images/italic.gif differ
Binary files a/cutenews/rte/images/justifyfull.gif and b/cutenews/rte/images/justifyfull.gif differ
Binary files a/cutenews/rte/images/left_just.gif and b/cutenews/rte/images/left_just.gif differ
Binary files a/cutenews/rte/images/list.gif and b/cutenews/rte/images/list.gif differ
Binary files a/cutenews/rte/images/numbered_list.gif and b/cutenews/rte/images/numbered_list.gif differ
Binary files a/cutenews/rte/images/outdent.gif and b/cutenews/rte/images/outdent.gif differ
Binary files a/cutenews/rte/images/paste.gif and b/cutenews/rte/images/paste.gif differ
Binary files a/cutenews/rte/images/redo.gif and b/cutenews/rte/images/redo.gif differ
Binary files a/cutenews/rte/images/right_just.gif and b/cutenews/rte/images/right_just.gif differ
Binary files a/cutenews/rte/images/smiley.gif and b/cutenews/rte/images/smiley.gif differ
Binary files a/cutenews/rte/images/spellcheck.gif and b/cutenews/rte/images/spellcheck.gif differ
Binary files a/cutenews/rte/images/textcolor.gif and b/cutenews/rte/images/textcolor.gif differ
Binary files a/cutenews/rte/images/underline.gif and b/cutenews/rte/images/underline.gif differ
Binary files a/cutenews/rte/images/undo.gif and b/cutenews/rte/images/undo.gif differ
--- a/cutenews/rte/insert_link.htm +++ b/cutenews/rte/insert_link.htm
--- a/cutenews/rte/insert_table.htm +++ b/cutenews/rte/insert_table.htm
--- a/cutenews/rte/palette.htm +++ b/cutenews/rte/palette.htm
--- a/cutenews/rte/richtext.js +++ b/cutenews/rte/richtext.js
--- a/cutenews/rte/rte.css +++ b/cutenews/rte/rte.css
--- a/cutenews/search.php +++ b/cutenews/search.php
--- a/cutenews/show_archives.php +++ b/cutenews/show_archives.php
--- a/cutenews/show_news.php +++ b/cutenews/show_news.php
--- a/cutenews/skins/compact.skin.php +++ b/cutenews/skins/compact.skin.php
--- a/cutenews/skins/cute.js +++ b/cutenews/skins/cute.js
--- a/cutenews/skins/default.skin.php +++ b/cutenews/skins/default.skin.php
Binary files a/cutenews/skins/images/Thumbs.db and b/cutenews/skins/images/Thumbs.db differ
Binary files a/cutenews/skins/images/addnews.gif and b/cutenews/skins/images/addnews.gif differ
Binary files a/cutenews/skins/images/archives.gif and b/cutenews/skins/images/archives.gif differ
Binary files a/cutenews/skins/images/baloon.gif and b/cutenews/skins/images/baloon.gif differ
Binary files a/cutenews/skins/images/blank.gif and b/cutenews/skins/images/blank.gif differ
Binary files a/cutenews/skins/images/editnews.gif and b/cutenews/skins/images/editnews.gif differ
Binary files a/cutenews/skins/images/error.gif and b/cutenews/skins/images/error.gif differ
Binary files a/cutenews/skins/images/help_small.gif and b/cutenews/skins/images/help_small.gif differ
Binary files a/cutenews/skins/images/home.gif and b/cutenews/skins/images/home.gif differ
Binary files a/cutenews/skins/images/images.gif and b/cutenews/skins/images/images.gif differ
Binary files a/cutenews/skins/images/info.gif and b/cutenews/skins/images/info.gif differ
Binary files a/cutenews/skins/images/options.gif and b/cutenews/skins/images/options.gif differ
Binary files a/cutenews/skins/images/question.gif and b/cutenews/skins/images/question.gif differ
Binary files a/cutenews/skins/images/rss_icon.gif and b/cutenews/skins/images/rss_icon.gif differ
Binary files a/cutenews/skins/images/user.gif and b/cutenews/skins/images/user.gif differ
Binary files a/cutenews/skins/images/users.gif and b/cutenews/skins/images/users.gif differ
Binary files a/cutenews/skins/images/view_image.gif and b/cutenews/skins/images/view_image.gif differ
Binary files a/cutenews/skins/images/wizard.gif and b/cutenews/skins/images/wizard.gif differ
--- a/cutenews/skins/rss_style.css +++ b/cutenews/skins/rss_style.css
--- a/cutenews/skins/simple.skin.php +++ b/cutenews/skins/simple.skin.php
--- a/displayAgency.php +++ b/displayAgency.php @@ -19,11 +19,14 @@ --- info website, procurement plan, annual reports + Breakdown of divisions/branches Breakdown percentage,number,value by procurement type Histograph, overlaying number value reported per week over X years Compliance statistics: amendments, delay in reporting average and number completely late*/ } else { - + /* + split by portfolio + */ include_header("Agencies"); $query = "SELECT SUM(value), agencyName FROM `contractnotice`
--- /dev/null +++ b/displayAmendments.php @@ -1,1 +1,26 @@ +<?php +include_once ("./lib/common.inc.php"); + include_header("Amendments"); +$query = "select CNID, description, value, pvalue, (value - pvalue) as diff from contractnotice, (SELECT CNID as cn, childCN as ccn, value as pvalue FROM contractnotice where childCN > 0) a". +" where ".$agencyQ.$yearQ."CNID = ccn AND (value - pvalue) <> 0 order by diff DESC"; +$result = mysql_query($query); +echo $query; +echo "<table>"; +if ($result) { +while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']) , 2); + $pvalue = number_format(doubleval($row['pvalue']) , 2); + $diff = number_format(doubleval($row['diff']) , 2); + echo ("<tr>"); + echo "<td><A href=\"displayContract.php?CNID={$row['CNID']}\"><b>{$row['description']}</b></a></td>"; + echo "<td>\$$pvalue</td><td>\$$value</td><td>\$$diff</td></tr>"; +} +} else { +echo mysql_error(); +} +echo "</table>"; +mysql_free_result($result); +include_footer(); +?>
--- a/displayCalendar.php +++ b/displayCalendar.php @@ -1,25 +1,62 @@ <?php include_once("./lib/common.inc.php"); +include_header("Months and Years"); + +if ($_REQUEST['month']) { + echo "<center><h1>".$_REQUEST['month']."</h1></center>"; +$monthParts = explode("-",$_REQUEST['month']); + $query = "SELECT CNID, description, value, agencyName, category, contractStart, supplierName + FROM `contractnotice` + WHERE childCN = 0 + AND YEAR(contractStart) = {$monthParts[1]} + AND MONTH(contractStart) = {$monthParts[0]} + ORDER BY value DESC"; + $result = mysql_query($query); +echo '<img src="graphs/displayMethodCountGraph.php?month=' . stripslashes($supplier) . '">'; + echo '<img src="graphs/displayCnCGraph.php?month=' . stripslashes($supplier) . '">'; + + echo "<table>"; + while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']) , 2); + echo ("<tr> + <td><a href=\"displayContract.php?CNID={$row['CNID']}\">{$row['CNID']}</a></td> + <td><b>{$row['description']}</b></a></td> + <td>\$$value</td><td>{$row['agencyName']}</td> + <td>{$row['contractStart']}</td> + <td>{$row['supplierName']}</td> + </tr>"); + } + echo "</table>"; + mysql_free_result($result); +} else { /* + split by year todo: -Year/Month drilldown - largest contracts, agencies, suppliers*/ +Year/Month drilldown - largest contracts, agencies, suppliers +count per month +big picture graphs?*/ -include_header("Months and Years"); +echo '<img src="graphs/displayContractStartingGraph.php">'; +echo '<img src="graphs/displayContractPublishedGraph.php">'; + + $query = "SELECT YEAR(contractStart), MONTH(contractStart), -value FROM `contractnotice` WHERE childCN = 0 GROUP BY MONTH(contractStart), YEAR(contractStart) ORDER BY YEAR(contractStart), MONTH(contractStart) "; +SUM(value) as val, count(1) as count FROM `contractnotice` WHERE childCN = 0 GROUP BY MONTH(contractStart), YEAR(contractStart) ORDER BY YEAR(contractStart), MONTH(contractStart) "; $result = mysql_query($query); echo "<table>"; while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { setlocale(LC_MONETARY, 'en_US'); -$value = number_format(doubleval($row["value"]),2); +$value = number_format(doubleval($row["val"]),2); $month_name = date( 'F', mktime(0, 0, 0, $row[1]) ); - echo ("<tr><td><b>$month_name {$row[0]}</b></td><td>\$$value</td></tr>"); + echo ("<tr><td><b><a href=\"?month=$row[1]-$row[0]\">$month_name {$row[0]}</a></b></td><td>\$$value</td><td>({$row['count']} contracts)</td></tr>"); } echo "</table>"; mysql_free_result($result); - +} include_footer(); -?> +?> +
--- a/displayCategory.php +++ b/displayCategory.php @@ -24,7 +24,9 @@ echo "</table>"; mysql_free_result($result); } else { - + /* + split by main categories + */ include_header("Categories"); $query = "SELECT sum(value), category FROM `contractnotice`
--- a/displayConfidentialities.php +++ b/displayConfidentialities.php @@ -1,4 +1,31 @@ -agencies that use alot of consultacies +<?php + +include_once("./lib/common.inc.php"); +/* + + +agencies that use alot of Confidentialities suppliers that provide alot how much is spent overall per year +*/ +include_header("Confidentialities"); +$query = "SELECT value, procurementMethod +FROM `contractnotice` +GROUP BY procurementMethod "; + +$result = mysql_query($query); + +echo "<table>"; +while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { +setlocale(LC_MONETARY, 'en_US'); +$value = number_format(doubleval($row[0]),2); + echo ("<tr><td><b>{$row[1]}</b></td><td>\$$value</td></tr>"); +} +echo "</table>"; +mysql_free_result($result); +include_footer(); +?> + + +
--- a/displayConsultancies.php +++ b/displayConsultancies.php @@ -1,4 +1,31 @@ +<?php + +include_once("./lib/common.inc.php"); +/* + + agencies that use alot of consultacies suppliers that provide alot how much is spent overall per year +*/ +include_header("Consultancies"); +$query = "SELECT value, procurementMethod +FROM `contractnotice` +GROUP BY procurementMethod "; + +$result = mysql_query($query); + +echo "<table>"; +while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { +setlocale(LC_MONETARY, 'en_US'); +$value = number_format(doubleval($row[0]),2); + echo ("<tr><td><b>{$row[1]}</b></td><td>\$$value</td></tr>"); +} +echo "</table>"; +mysql_free_result($result); +include_footer(); +?> + + +
--- a/displayContract.php +++ b/displayContract.php
--- a/displayLatestUpdate.php +++ /dev/null @@ -1,23 +1,1 @@ -<?php -include_once("./lib/common.inc.php"); -$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end -FROM `contractnotice` WHERE childCN = 0 AND parentCN = 0 AND DATE(importDate) in (select * from (SELECT DATE(importDate) -FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; -$result = mysql_query($query); -echo "<table>"; -$stats = mysql_fetch_array($result, MYSQL_BOTH); -echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; - - -$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end -FROM `contractnotice` WHERE (childCN != 0 OR parentCN != 0) AND DATE(importDate) in (select * from (SELECT DATE(importDate) -FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; -$result = mysql_query($query); -echo "<table>"; -$stats = mysql_fetch_array($result, MYSQL_BOTH); -echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; - - -echo "Last updated: ". $stats["importday"]."<br>"; -/* Check for null Procurement method and 0 ABN when not ABN exempt */ -?> +
--- a/displayMap.php +++ b/displayMap.php
--- a/displayProcurementMethod.php +++ b/displayProcurementMethod.php @@ -10,8 +10,9 @@ */ include_header("Procurement Methods"); -$query = "SELECT value, procurementMethod +$query = "SELECT SUM(value) as value, procurementMethod FROM `contractnotice` +WHERE childCN = 0 GROUP BY procurementMethod "; $result = mysql_query($query);
--- a/displaySupplier.php +++ b/displaySupplier.php @@ -9,7 +9,7 @@ echo '<img src="graphs/displayMethodValueGraph.php?supplier=' . stripslashes($supplier) . '">'; /*lobbyist ties - + links to ABR/ASIC/Google News/ASX/Court records total value to various agencies (bar graph) @@ -19,7 +19,9 @@ spread of industries (textual?)*/ } else { - + /* + histograph of supplier size/value + */ include_header("Suppliers"); $query = "SELECT SUM(value) as val, supplierName, supplierABN FROM `contractnotice`
--- a/futureindex.php +++ b/futureindex.php
--- a/graphs/displayAgenciesGraph.php +++ b/graphs/displayAgenciesGraph.php
--- a/graphs/displayAgencySuppliersGraph.php +++ b/graphs/displayAgencySuppliersGraph.php
--- a/graphs/displayCnCGraph.php +++ b/graphs/displayCnCGraph.php @@ -3,7 +3,7 @@ // Width and height of the graph $width = 800; $height = 300; -$query = "select procurementMethod, count(1) as count, value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` +$query = "select procurementMethod, count(1) as count, SUM(value) as val, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` where $agencyQ $supplierQ childCN = 0 AND YEAR(contractStart) >= 2007 AND YEAR(contractStart) <= 2009 group by procurementMethod,year,month order by procurementMethod,year,month"; $result = mysql_query($query); $methods = Array("Direct","Open","Select"); @@ -13,7 +13,7 @@ $maxValue = 0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { setlocale(LC_MONETARY, 'en_US'); - if ($row['value'] > $maxValue) $maxValue = $row['value']; + if ($row['val'] > $maxValue) $maxValue = $row['val']; $date = date( 'F ', mktime(0, 0, 0, $row["month"]) ). $row["year"]; if (array_search($date,$dates) === false ) { $dates[$row["year"]*100 + $row["month"]] = $date; @@ -57,7 +57,7 @@ $graph2->Set90AndMargin(105, 45, 45, 45); // Setup a title for the graph $graph2->title->Set($agency); -$graph2->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph2->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph2->title->SetFont(FF_USERFONT, FS_NORMAL, 12); // Setup font for axis $graph2->xaxis->SetFont(FF_USERFONT, FS_NORMAL, 10);
--- a/graphs/displayContractPublishedGraph.php +++ b/graphs/displayContractPublishedGraph.php @@ -1,7 +1,7 @@ <?php include_once("../lib/common.inc.php"); $query = "SELECT YEAR(publishDate), MONTH(publishDate), -value, count(1) as count FROM `contractnotice` +SUM(value) as val, count(1) as count FROM `contractnotice` WHERE (YEAR(publishDate) >= 2008) AND childCN = 0 GROUP BY MONTH(publishDate), YEAR(publishDate) @@ -12,11 +12,11 @@ $values = Array(); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { setlocale(LC_MONETARY, 'en_US'); -$value = number_format(doubleval($row["value"]),2); +$value = number_format(doubleval($row["val"]),2); $month_name = date( 'F', mktime(0, 0, 0, $row[1]) ); $dates[] = $month_name." {$row[0]}"; $counts[] = doubleval($row["count"]); - $values[] = doubleval($row["value"]); + $values[] = doubleval($row["val"]); } mysql_free_result($result); @@ -31,8 +31,8 @@ $graph->SetScale('textlog'); // Setup a title for the graph -$graph->title->Set('Contracts Starting - All Agencies since July 2008'); -$graph->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph->title->Set('Contracts Published - All Agencies since July 2008'); +$graph->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph->title->SetFont(FF_USERFONT,FS_NORMAL,12); // Setup font for axis
--- a/graphs/displayContractStartingGraph.php +++ b/graphs/displayContractStartingGraph.php @@ -1,7 +1,7 @@ <?php include_once("../lib/common.inc.php"); $query = "SELECT YEAR(contractStart), MONTH(contractStart), -value, count(1) as count FROM `contractnotice` +SUM(value) as val, count(1) as count FROM `contractnotice` WHERE (YEAR(contractStart) >= 2008) AND childCN = 0 GROUP BY MONTH(contractStart), YEAR(contractStart) @@ -12,11 +12,11 @@ $values = Array(); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { setlocale(LC_MONETARY, 'en_US'); -$value = number_format(doubleval($row["value"]),2); +$value = number_format(doubleval($row["val"]),2); $month_name = date( 'F', mktime(0, 0, 0, $row[1]) ); $dates[] = $month_name." {$row[0]}"; $counts[] = doubleval($row["count"]); - $values[] = doubleval($row["value"]); + $values[] = doubleval($row["val"]); } mysql_free_result($result); @@ -32,7 +32,7 @@ // Setup a title for the graph $graph->title->Set('Contracts Starting - All Agencies since July 2008'); -$graph->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph->title->SetFont(FF_USERFONT,FS_NORMAL,12); // Setup font for axis
--- a/graphs/displayHeatmap.php +++ b/graphs/displayHeatmap.php
--- a/graphs/displayMethodCountGraph.php +++ b/graphs/displayMethodCountGraph.php @@ -3,7 +3,7 @@ // Width and height of the graph $width = 800; $height = 300; -$query = "select procurementMethod, count(1) as count, value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` +$query = "select procurementMethod, count(1) as count, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` where $agencyQ $supplierQ childCN = 0 AND YEAR(contractStart) >= 2007 AND YEAR(contractStart) <= 2009 group by procurementMethod,year,month order by procurementMethod,year,month"; $result = mysql_query($query); $methods = Array("Direct","Open","Select"); @@ -37,7 +37,7 @@ $graph->SetMargin(95, 145, 45, 100); // Setup a title for the graph $graph->title->Set($agencyQ.$supplierQ); -$graph->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph->title->SetFont(FF_USERFONT, FS_NORMAL, 12); // Setup font for axis $graph->xaxis->SetFont(FF_USERFONT, FS_NORMAL, 10); @@ -80,7 +80,7 @@ $graph2->Set90AndMargin(105, 45, 45, 45); // Setup a title for the graph $graph2->title->Set($agency); -$graph2->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph2->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph2->title->SetFont(FF_USERFONT, FS_NORMAL, 12); // Setup font for axis $graph2->xaxis->SetFont(FF_USERFONT, FS_NORMAL, 10);
--- a/graphs/displayMethodValueGraph.php +++ b/graphs/displayMethodValueGraph.php @@ -3,7 +3,7 @@ // Width and height of the graph $width = 800; $height = 300; -$query = "select procurementMethod, value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` +$query = "select procurementMethod, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice` where $agencyQ $supplierQ childCN = 0 AND YEAR(contractStart) >= 2007 AND YEAR(contractStart) <= 2009 group by procurementMethod,year,month order by procurementMethod,year,month"; $result = mysql_query($query); $methods = Array("Direct","Open","Select"); @@ -37,7 +37,7 @@ $graph->SetMargin(95, 145, 45, 100); // Setup a title for the graph $graph->title->Set($agencyQ.$supplierQ); -$graph->SetUserFont("ttf-liberation/LiberationSans-Regular.ttf"); +$graph->SetUserFont("liberation/LiberationSans-Regular.ttf"); $graph->title->SetFont(FF_USERFONT, FS_NORMAL, 12); // Setup font for axis $graph->xaxis->SetFont(FF_USERFONT, FS_NORMAL, 10);
--- a/graphs/displaySuppliersGraph.php +++ b/graphs/displaySuppliersGraph.php
Binary files a/images/australia.png and b/images/australia.png differ
Binary files /dev/null and b/images/img_inquisitor/.DS_Store differ
Binary files /dev/null and b/images/img_inquisitor/._.DS_Store differ
Binary files /dev/null and b/images/img_inquisitor/._as_pointer.gif differ
Binary files /dev/null and b/images/img_inquisitor/._hl_corner_bl.gif differ
Binary files /dev/null and b/images/img_inquisitor/._hl_corner_br.gif differ
Binary files /dev/null and b/images/img_inquisitor/._hl_corner_tl.gif differ
Binary files /dev/null and b/images/img_inquisitor/._hl_corner_tr.gif differ
Binary files /dev/null and b/images/img_inquisitor/._ul_corner_bl.gif differ
Binary files /dev/null and b/images/img_inquisitor/._ul_corner_br.gif differ
Binary files /dev/null and b/images/img_inquisitor/._ul_corner_tl.gif differ
Binary files /dev/null and b/images/img_inquisitor/._ul_corner_tr.gif differ
Binary files /dev/null and b/images/img_inquisitor/_source/.DS_Store differ
Binary files /dev/null and b/images/img_inquisitor/_source/._.DS_Store differ
Binary files /dev/null and b/images/img_inquisitor/_source/._as_pointer.png differ
Binary files /dev/null and b/images/img_inquisitor/_source/._li_corner.png differ
Binary files /dev/null and b/images/img_inquisitor/_source/._ul_corner.png differ
Binary files /dev/null and b/images/img_inquisitor/_source/as_pointer.png differ
Binary files /dev/null and b/images/img_inquisitor/_source/li_corner.png differ
Binary files /dev/null and b/images/img_inquisitor/_source/ul_corner.png differ
Binary files /dev/null and b/images/img_inquisitor/as_pointer.gif differ
Binary files /dev/null and b/images/img_inquisitor/hl_corner_bl.gif differ
Binary files /dev/null and b/images/img_inquisitor/hl_corner_br.gif differ
Binary files /dev/null and b/images/img_inquisitor/hl_corner_tl.gif differ
Binary files /dev/null and b/images/img_inquisitor/hl_corner_tr.gif differ
Binary files /dev/null and b/images/img_inquisitor/ul_corner_bl.gif differ
Binary files /dev/null and b/images/img_inquisitor/ul_corner_br.gif differ
Binary files /dev/null and b/images/img_inquisitor/ul_corner_tl.gif differ
Binary files /dev/null and b/images/img_inquisitor/ul_corner_tr.gif differ
--- /dev/null +++ b/lib/bsn.AutoSuggest_2.1.3_comp.js @@ -1,1 +1,1 @@ - +if(typeof(bsn)=="undefined")_b=bsn={};if(typeof(_b.Autosuggest)=="undefined")_b.Autosuggest={};else alert("Autosuggest is already set!");_b.AutoSuggest=function(b,c){if(!document.getElementById)return 0;this.fld=_b.DOM.gE(b);if(!this.fld)return 0;this.sInp="";this.nInpC=0;this.aSug=[];this.iHigh=0;this.oP=c?c:{};var k,def={minchars:1,meth:"get",varname:"input",className:"autosuggest",timeout:2500,delay:500,offsety:-5,shownoresults:true,noresults:"No results!",maxheight:250,cache:true,maxentries:25};for(k in def){if(typeof(this.oP[k])!=typeof(def[k]))this.oP[k]=def[k]}var p=this;this.fld.onkeypress=function(a){return p.onKeyPress(a)};this.fld.onkeyup=function(a){return p.onKeyUp(a)};this.fld.setAttribute("autocomplete","off")};_b.AutoSuggest.prototype.onKeyPress=function(a){var b=(window.event)?window.event.keyCode:a.keyCode;var c=13;var d=9;var e=27;var f=1;switch(b){case c:this.setHighlightedValue();f=0;break;case e:this.clearSuggestions();break}return f};_b.AutoSuggest.prototype.onKeyUp=function(a){var b=(window.event)?window.event.keyCode:a.keyCode;var c=38;var d=40;var e=1;switch(b){case c:this.changeHighlight(b);e=0;break;case d:this.changeHighlight(b);e=0;break;default:this.getSuggestions(this.fld.value)}return e};_b.AutoSuggest.prototype.getSuggestions=function(a){if(a==this.sInp)return 0;_b.DOM.remE(this.idAs);this.sInp=a;if(a.length<this.oP.minchars){this.aSug=[];this.nInpC=a.length;return 0}var b=this.nInpC;this.nInpC=a.length?a.length:0;var l=this.aSug.length;if(this.nInpC>b&&l&&l<this.oP.maxentries&&this.oP.cache){var c=[];for(var i=0;i<l;i++){if(this.aSug[i].value.substr(0,a.length).toLowerCase()==a.toLowerCase())c.push(this.aSug[i])}this.aSug=c;this.createList(this.aSug);return false}else{var d=this;var e=this.sInp;clearTimeout(this.ajID);this.ajID=setTimeout(function(){d.doAjaxRequest(e)},this.oP.delay)}return false};_b.AutoSuggest.prototype.doAjaxRequest=function(b){if(b!=this.fld.value)return false;var c=this;if(typeof(this.oP.script)=="function")var d=this.oP.script(encodeURIComponent(this.sInp));else var d=this.oP.script+this.oP.varname+"="+encodeURIComponent(this.sInp);if(!d)return false;var e=this.oP.meth;var b=this.sInp;var f=function(a){c.setSuggestions(a,b)};var g=function(a){alert("AJAX error: "+a)};var h=new _b.Ajax();h.makeRequest(d,e,f,g)};_b.AutoSuggest.prototype.setSuggestions=function(a,b){if(b!=this.fld.value)return false;this.aSug=[];if(this.oP.json){var c=eval('('+a.responseText+')');for(var i=0;i<c.results.length;i++){this.aSug.push({'id':c.results[i].id,'value':c.results[i].value,'info':c.results[i].info})}}else{var d=a.responseXML;var e=d.getElementsByTagName('results')[0].childNodes;for(var i=0;i<e.length;i++){if(e[i].hasChildNodes())this.aSug.push({'id':e[i].getAttribute('id'),'value':e[i].childNodes[0].nodeValue,'info':e[i].getAttribute('info')})}}this.idAs="as_"+this.fld.id;this.createList(this.aSug)};_b.AutoSuggest.prototype.createList=function(b){var c=this;_b.DOM.remE(this.idAs);this.killTimeout();if(b.length==0&&!this.oP.shownoresults)return false;var d=_b.DOM.cE("div",{id:this.idAs,className:this.oP.className});var e=_b.DOM.cE("div",{className:"as_corner"});var f=_b.DOM.cE("div",{className:"as_bar"});var g=_b.DOM.cE("div",{className:"as_header"});g.appendChild(e);g.appendChild(f);d.appendChild(g);var h=_b.DOM.cE("ul",{id:"as_ul"});for(var i=0;i<b.length;i++){var j=b[i].value;var k=j.toLowerCase().indexOf(this.sInp.toLowerCase());var l=j.substring(0,k)+"<em>"+j.substring(k,k+this.sInp.length)+"</em>"+j.substring(k+this.sInp.length);var m=_b.DOM.cE("span",{},l,true);if(b[i].info!=""){var n=_b.DOM.cE("br",{});m.appendChild(n);var o=_b.DOM.cE("small",{},b[i].info);m.appendChild(o)}var a=_b.DOM.cE("a",{href:"#"});var p=_b.DOM.cE("span",{className:"tl"}," ");var q=_b.DOM.cE("span",{className:"tr"}," ");a.appendChild(p);a.appendChild(q);a.appendChild(m);a.name=i+1;a.onclick=function(){c.setHighlightedValue();return false};a.onmouseover=function(){c.setHighlight(this.name)};var r=_b.DOM.cE("li",{},a);h.appendChild(r)}if(b.length==0&&this.oP.shownoresults){var r=_b.DOM.cE("li",{className:"as_warning"},this.oP.noresults);h.appendChild(r)}d.appendChild(h);var s=_b.DOM.cE("div",{className:"as_corner"});var t=_b.DOM.cE("div",{className:"as_bar"});var u=_b.DOM.cE("div",{className:"as_footer"});u.appendChild(s);u.appendChild(t);d.appendChild(u);var v=_b.DOM.getPos(this.fld);d.style.left=v.x+"px";d.style.top=(v.y+this.fld.offsetHeight+this.oP.offsety)+"px";d.style.width=this.fld.offsetWidth+"px";d.onmouseover=function(){c.killTimeout()};d.onmouseout=function(){c.resetTimeout()};document.getElementsByTagName("body")[0].appendChild(d);this.iHigh=0;var c=this;this.toID=setTimeout(function(){c.clearSuggestions()},this.oP.timeout)};_b.AutoSuggest.prototype.changeHighlight=function(a){var b=_b.DOM.gE("as_ul");if(!b)return false;var n;if(a==40)n=this.iHigh+1;else if(a==38)n=this.iHigh-1;if(n>b.childNodes.length)n=b.childNodes.length;if(n<1)n=1;this.setHighlight(n)};_b.AutoSuggest.prototype.setHighlight=function(n){var a=_b.DOM.gE("as_ul");if(!a)return false;if(this.iHigh>0)this.clearHighlight();this.iHigh=Number(n);a.childNodes[this.iHigh-1].className="as_highlight";this.killTimeout()};_b.AutoSuggest.prototype.clearHighlight=function(){var a=_b.DOM.gE("as_ul");if(!a)return false;if(this.iHigh>0){a.childNodes[this.iHigh-1].className="";this.iHigh=0}};_b.AutoSuggest.prototype.setHighlightedValue=function(){if(this.iHigh){this.sInp=this.fld.value=this.aSug[this.iHigh-1].value;this.fld.focus();if(this.fld.selectionStart)this.fld.setSelectionRange(this.sInp.length,this.sInp.length);this.clearSuggestions();if(typeof(this.oP.callback)=="function")this.oP.callback(this.aSug[this.iHigh-1])}};_b.AutoSuggest.prototype.killTimeout=function(){clearTimeout(this.toID)};_b.AutoSuggest.prototype.resetTimeout=function(){clearTimeout(this.toID);var a=this;this.toID=setTimeout(function(){a.clearSuggestions()},1000)};_b.AutoSuggest.prototype.clearSuggestions=function(){this.killTimeout();var a=_b.DOM.gE(this.idAs);var b=this;if(a){var c=new _b.Fader(a,1,0,250,function(){_b.DOM.remE(b.idAs)})}};if(typeof(_b.Ajax)=="undefined")_b.Ajax={};_b.Ajax=function(){this.req={};this.isIE=false};_b.Ajax.prototype.makeRequest=function(a,b,c,d){if(b!="POST")b="GET";this.onComplete=c;this.onError=d;var e=this;if(window.XMLHttpRequest){this.req=new XMLHttpRequest();this.req.onreadystatechange=function(){e.processReqChange()};this.req.open("GET",a,true);this.req.send(null)}else if(window.ActiveXObject){this.req=new ActiveXObject("Microsoft.XMLHTTP");if(this.req){this.req.onreadystatechange=function(){e.processReqChange()};this.req.open(b,a,true);this.req.send()}}};_b.Ajax.prototype.processReqChange=function(){if(this.req.readyState==4){if(this.req.status==200){this.onComplete(this.req)}else{this.onError(this.req.status)}}};if(typeof(_b.DOM)=="undefined")_b.DOM={};_b.DOM.cE=function(b,c,d,e){var f=document.createElement(b);if(!f)return 0;for(var a in c)f[a]=c[a];var t=typeof(d);if(t=="string"&&!e)f.appendChild(document.createTextNode(d));else if(t=="string"&&e)f.innerHTML=d;else if(t=="object")f.appendChild(d);return f};_b.DOM.gE=function(e){var t=typeof(e);if(t=="undefined")return 0;else if(t=="string"){var a=document.getElementById(e);if(!a)return 0;else if(typeof(a.appendChild)!="undefined")return a;else return 0}else if(typeof(e.appendChild)!="undefined")return e;else return 0};_b.DOM.remE=function(a){var e=this.gE(a);if(!e)return 0;else if(e.parentNode.removeChild(e))return true;else return 0};_b.DOM.getPos=function(e){var e=this.gE(e);var a=e;var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}}else if(a.x)b+=a.x;var a=e;var c=0;if(a.offsetParent){while(a.offsetParent){c+=a.offsetTop;a=a.offsetParent}}else if(a.y)c+=a.y;return{x:b,y:c}};if(typeof(_b.Fader)=="undefined")_b.Fader={};_b.Fader=function(a,b,c,d,e){if(!a)return 0;this.e=a;this.from=b;this.to=c;this.cb=e;this.nDur=d;this.nInt=50;this.nTime=0;var p=this;this.nID=setInterval(function(){p._fade()},this.nInt)};_b.Fader.prototype._fade=function(){this.nTime+=this.nInt;var a=Math.round(this._tween(this.nTime,this.from,this.to,this.nDur)*100);var b=a/100;if(this.e.filters){try{this.e.filters.item("DXImageTransform.Microsoft.Alpha").opacity=a}catch(e){this.e.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+a+')'}}else{this.e.style.opacity=b}if(this.nTime==this.nDur){clearInterval(this.nID);if(this.cb!=undefined)this.cb()}};_b.Fader.prototype._tween=function(t,b,c,d){return b+((c-b)*(t/d))};
--- a/lib/common.inc.php +++ b/lib/common.inc.php @@ -1,4 +1,6 @@ <?php +date_default_timezone_set("Australia/ACT"); + require_once ('jpgraph/jpgraph.php'); require_once ('jpgraph/jpgraph_line.php'); require_once ('jpgraph/jpgraph_log.php'); @@ -6,6 +8,9 @@ require_once ('jpgraph/jpgraph_pie.php'); require_once ('jpgraph/jpgraph_bar.php'); require_once ('jpgraph/jpgraph_date.php'); + +error_reporting(E_ALL ^ E_NOTICE); + $link = mysql_connect('localhost', 'root', ''); if (!$link) { @@ -31,16 +36,17 @@ $totale += array_sum_all($value); return $totale; } +// magic query modifiers $agency = mysql_real_escape_string(stripslashes($_REQUEST['agency'])); -if ($agency != "") $agencyQ = "agencyName = '" . $agency . "' AND"; +if ($agency != "") $agencyQ = "agencyName = '" . $agency . "' AND "; $supplier = mysql_real_escape_string(stripslashes($_REQUEST['supplier'])); if ($supplier != "") { $supplierParts = explode("-", $supplier); - if ($supplierParts[0] > 0) $supplierQ = "supplierABN = '" . $supplierParts[0] . "' AND"; - else $supplierQ = "supplierName LIKE '%" . $supplierParts[1] . "%' AND"; + if ($supplierParts[0] > 0) $supplierQ = "supplierABN = '" . $supplierParts[0] . "' AND "; + else $supplierQ = "supplierName LIKE '%" . $supplierParts[1] . "%' AND "; } $year = mysql_real_escape_string(stripslashes($_REQUEST['year'])); -if ($year != "") $yearQ = "agencyName = '" . $agency . "' AND"; +if ($year != "") $yearQ = "YEAR(publishDate) = " . $year . " AND "; $start =0.0; @@ -54,8 +60,24 @@ <title>Contract Dashboard - <?=$title?></title> <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.0r4/build/reset-fonts-grids/reset-fonts-grids.css"> <link type="text/css" rel="stylesheet" href="style.css"> + <script type="text/javascript" src="lib/bsn.AutoSuggest_2.1.3_comp.js" charset="utf-8"></script> + +<link rel="stylesheet" href="autosuggest_inquisitor.css" type="text/css" media="screen" charset="utf-8" /> + <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> +<script type="text/javascript"> +$(document).ready(function() +{ + //hide the all of the element with class msg_body + $(".msg_body").hide(); + //toggle the componenet with class msg_body + $(".msg_head").click(function() + { + $(this).next(".msg_body").slideToggle(600); + }); +}); +</script> </head> -<body><div id="doc3" class="yui-t4"/> +<body><div id="doc3" class="yui-t4"> <div id="hd"> <h1> contract dashboard</h1> </div> @@ -68,13 +90,28 @@ <a href="displayProcurementMethod.php">procurement method</a> <a href="displayConfidentialities.php">contractual confidentiality</a> <a href="displayConsultancies.php">consultancies</a> + <a href="displayAmendments.php">amendments</a> <a href="displayMap.php">postcodes</a> - <div id="search"> search <form><input type="text" id="searchKeywords"/></form></div> + <div id="search"><form method="post" action="search.php" class="asholder"> + <label for="searchKeyword">search</label> + <input type="text" id="searchKeyword" name="searchKeyword" value="" style="width:150px" /> + <input type="hidden" id="searchID" name="searchID" value=""/><input type="submit" value="submit" /> +</form></div> + <script type="text/javascript"> + + var options_xml = { + script: function (input) { return "search_autosuggest.php?input="+input; }, + varname:"input", + callback: function (obj) { document.getElementById('searchID').value = obj.id; } + }; + var as_xml = new bsn.AutoSuggest('searchKeyword', options_xml); +</script> + </div> <div id="bd" role="main"> <div id="yui-main"> <div class="yui-b"><div class="yui-g"> -<? +<?php $start = (float) array_sum(explode(' ',microtime())); } @@ -93,7 +130,9 @@ </li> </ul> <br> </div> </div> - <? + <?php echo '<div id="ft"><p>'."Processing time: ". sprintf("%.4f", ($end-$start))." seconds".'</p></div>'; -echo '</div> </body> </html>'; -} ?> + echo '</div> </body> </html>'; +} +?> +
--- a/lib/fonts/AUTHORS +++ b/lib/fonts/AUTHORS
--- a/lib/fonts/COPYING +++ b/lib/fonts/COPYING
--- a/lib/fonts/ChangeLog +++ b/lib/fonts/ChangeLog
Binary files a/lib/fonts/LiberationMono-Bold.ttf and b/lib/fonts/LiberationMono-Bold.ttf differ
Binary files a/lib/fonts/LiberationMono-BoldItalic.ttf and b/lib/fonts/LiberationMono-BoldItalic.ttf differ
Binary files a/lib/fonts/LiberationMono-Italic.ttf and b/lib/fonts/LiberationMono-Italic.ttf differ
Binary files a/lib/fonts/LiberationMono-Regular.ttf and b/lib/fonts/LiberationMono-Regular.ttf differ
Binary files a/lib/fonts/LiberationSans-Bold.ttf and b/lib/fonts/LiberationSans-Bold.ttf differ
Binary files a/lib/fonts/LiberationSans-BoldItalic.ttf and b/lib/fonts/LiberationSans-BoldItalic.ttf differ
Binary files a/lib/fonts/LiberationSans-Italic.ttf and b/lib/fonts/LiberationSans-Italic.ttf differ
Binary files a/lib/fonts/LiberationSans-Regular.ttf and b/lib/fonts/LiberationSans-Regular.ttf differ
Binary files a/lib/fonts/LiberationSerif-Bold.ttf and b/lib/fonts/LiberationSerif-Bold.ttf differ
Binary files a/lib/fonts/LiberationSerif-BoldItalic.ttf and b/lib/fonts/LiberationSerif-BoldItalic.ttf differ
Binary files a/lib/fonts/LiberationSerif-Italic.ttf and b/lib/fonts/LiberationSerif-Italic.ttf differ
Binary files a/lib/fonts/LiberationSerif-Regular.ttf and b/lib/fonts/LiberationSerif-Regular.ttf differ
--- a/lib/fonts/License.txt +++ b/lib/fonts/License.txt
--- a/lib/fonts/README +++ b/lib/fonts/README
--- a/lib/jpgraph/contour_dev/findpolygon.php +++ b/lib/jpgraph/contour_dev/findpolygon.php
--- a/lib/jpgraph/contour_dev/tri-quad.php +++ b/lib/jpgraph/contour_dev/tri-quad.php
--- a/lib/jpgraph/flag_mapping +++ b/lib/jpgraph/flag_mapping
Binary files a/lib/jpgraph/flags.dat and b/lib/jpgraph/flags.dat differ
Binary files a/lib/jpgraph/flags_thumb100x100.dat and b/lib/jpgraph/flags_thumb100x100.dat differ
Binary files a/lib/jpgraph/flags_thumb35x35.dat and b/lib/jpgraph/flags_thumb35x35.dat differ
Binary files a/lib/jpgraph/flags_thumb60x60.dat and b/lib/jpgraph/flags_thumb60x60.dat differ
--- a/lib/jpgraph/gd_image.inc.php +++ b/lib/jpgraph/gd_image.inc.php
--- a/lib/jpgraph/imgdata_balls.inc.php +++ b/lib/jpgraph/imgdata_balls.inc.php
--- a/lib/jpgraph/imgdata_bevels.inc.php +++ b/lib/jpgraph/imgdata_bevels.inc.php
--- a/lib/jpgraph/imgdata_diamonds.inc.php +++ b/lib/jpgraph/imgdata_diamonds.inc.php
--- a/lib/jpgraph/imgdata_pushpins.inc.php +++ b/lib/jpgraph/imgdata_pushpins.inc.php
--- a/lib/jpgraph/imgdata_squares.inc.php +++ b/lib/jpgraph/imgdata_squares.inc.php
--- a/lib/jpgraph/imgdata_stars.inc.php +++ b/lib/jpgraph/imgdata_stars.inc.php
--- a/lib/jpgraph/jpg-config.inc.php +++ b/lib/jpgraph/jpg-config.inc.php
--- a/lib/jpgraph/jpgraph.php +++ b/lib/jpgraph/jpgraph.php
--- a/lib/jpgraph/jpgraph_antispam-digits.php +++ b/lib/jpgraph/jpgraph_antispam-digits.php
--- a/lib/jpgraph/jpgraph_antispam.php +++ b/lib/jpgraph/jpgraph_antispam.php
--- a/lib/jpgraph/jpgraph_bar.php +++ b/lib/jpgraph/jpgraph_bar.php
--- a/lib/jpgraph/jpgraph_canvas.php +++ b/lib/jpgraph/jpgraph_canvas.php
--- a/lib/jpgraph/jpgraph_canvtools.php +++ b/lib/jpgraph/jpgraph_canvtools.php
--- a/lib/jpgraph/jpgraph_contour.php +++ b/lib/jpgraph/jpgraph_contour.php
--- a/lib/jpgraph/jpgraph_date.php +++ b/lib/jpgraph/jpgraph_date.php
--- a/lib/jpgraph/jpgraph_errhandler.inc.php +++ b/lib/jpgraph/jpgraph_errhandler.inc.php
--- a/lib/jpgraph/jpgraph_error.php +++ b/lib/jpgraph/jpgraph_error.php
--- a/lib/jpgraph/jpgraph_flags.php +++ b/lib/jpgraph/jpgraph_flags.php
--- a/lib/jpgraph/jpgraph_gantt.php +++ b/lib/jpgraph/jpgraph_gantt.php
--- a/lib/jpgraph/jpgraph_gb2312.php +++ b/lib/jpgraph/jpgraph_gb2312.php
--- a/lib/jpgraph/jpgraph_gradient.php +++ b/lib/jpgraph/jpgraph_gradient.php
--- a/lib/jpgraph/jpgraph_iconplot.php +++ b/lib/jpgraph/jpgraph_iconplot.php
--- a/lib/jpgraph/jpgraph_imgtrans.php +++ b/lib/jpgraph/jpgraph_imgtrans.php
--- a/lib/jpgraph/jpgraph_led.php +++ b/lib/jpgraph/jpgraph_led.php
--- a/lib/jpgraph/jpgraph_legend.inc.php +++ b/lib/jpgraph/jpgraph_legend.inc.php
--- a/lib/jpgraph/jpgraph_line.php +++ b/lib/jpgraph/jpgraph_line.php
--- a/lib/jpgraph/jpgraph_log.php +++ b/lib/jpgraph/jpgraph_log.php
--- a/lib/jpgraph/jpgraph_meshinterpolate.inc.php +++ b/lib/jpgraph/jpgraph_meshinterpolate.inc.php
--- a/lib/jpgraph/jpgraph_mgraph.php +++ b/lib/jpgraph/jpgraph_mgraph.php
--- a/lib/jpgraph/jpgraph_pie.php +++ b/lib/jpgraph/jpgraph_pie.php
--- a/lib/jpgraph/jpgraph_pie3d.php +++ b/lib/jpgraph/jpgraph_pie3d.php
--- a/lib/jpgraph/jpgraph_plotband.php +++ b/lib/jpgraph/jpgraph_plotband.php
--- a/lib/jpgraph/jpgraph_plotline.php +++ b/lib/jpgraph/jpgraph_plotline.php
--- a/lib/jpgraph/jpgraph_plotmark.inc.php +++ b/lib/jpgraph/jpgraph_plotmark.inc.php
--- a/lib/jpgraph/jpgraph_polar.php +++ b/lib/jpgraph/jpgraph_polar.php
--- a/lib/jpgraph/jpgraph_radar.php +++ b/lib/jpgraph/jpgraph_radar.php
--- a/lib/jpgraph/jpgraph_regstat.php +++ b/lib/jpgraph/jpgraph_regstat.php
--- a/lib/jpgraph/jpgraph_rgb.inc.php +++ b/lib/jpgraph/jpgraph_rgb.inc.php
--- a/lib/jpgraph/jpgraph_scatter.php +++ b/lib/jpgraph/jpgraph_scatter.php
--- a/lib/jpgraph/jpgraph_stock.php +++ b/lib/jpgraph/jpgraph_stock.php
--- a/lib/jpgraph/jpgraph_text.inc.php +++ b/lib/jpgraph/jpgraph_text.inc.php
--- a/lib/jpgraph/jpgraph_ttf.inc.php +++ b/lib/jpgraph/jpgraph_ttf.inc.php
--- a/lib/jpgraph/jpgraph_utils.inc.php +++ b/lib/jpgraph/jpgraph_utils.inc.php
--- a/lib/jpgraph/lang/de.inc.php +++ b/lib/jpgraph/lang/de.inc.php
--- a/lib/jpgraph/lang/en.inc.php +++ b/lib/jpgraph/lang/en.inc.php
--- a/lib/jpgraph/lang/prod.inc.php +++ b/lib/jpgraph/lang/prod.inc.php
--- /dev/null +++ b/lib/jquery.js @@ -1,1 +1,19 @@ - +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
--- a/lib/wordcloud.php +++ b/lib/wordcloud.php
--- /dev/null +++ b/liberation @@ -1,1 +1,1 @@ - +/usr/share/fonts/liberation/
--- a/search.php +++ b/search.php @@ -1,8 +1,31 @@ -search ABNs +<?php +/* + search ABNs search agency name search categories search supplier names --search supplier postcodes/suburbs/cities-- search CN number search description full text +*/ +include('./lib/common.inc.php'); +if ($_REQUEST['searchID']) { +$searchIDParts = explode("-",$_REQUEST['searchID']); +$type = array_shift($searchIDParts); +$host = $_SERVER['HTTP_HOST']; +$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); + +if ($type == "agency") { +header("Location: http://$host$uri/displayAgency.php?agency=".implode("-",$searchIDParts)); +} +if ($type == "supplier") { +header("Location: http://$host$uri/displaySupplier.php?supplier=".implode("-",$searchIDParts)); +} +exit; +} else { +include_header("Search Results"); +print_r($_REQUEST); +include_footer(); +} +?>
--- /dev/null +++ b/search_autosuggest.php @@ -1,1 +1,62 @@ - +<?php +include_once ("./lib/common.inc.php"); +$input = strtolower($_GET['input']); +$len = strlen($input); +$limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 0; +$aResults = array(); +$count = 0; +if ($len) { + $query = "SELECT supplierName, supplierABN, supplierName, count(*) as count +FROM `contractnotice` +WHERE supplierName LIKE '$input%' +GROUP BY supplierName +ORDER BY count DESC +LIMIT 4; +"; + $result = mysql_query($query); + while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + $count++; + $aResults[] = array( + "id" => "supplier-".$row['supplierABN'].'-'.$row['supplierName'], + "value" => htmlspecialchars($row['supplierName']) , + "info" => htmlspecialchars("Supplier - ". $row['count']." records") + ); + } + $query = "SELECT agencyName, count(*) as count +FROM `contractnotice` +WHERE agencyName LIKE '$input%' +GROUP BY agencyName +ORDER BY count DESC +LIMIT 4;"; + $result = mysql_query($query); + while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + $count++; + $aResults[] = array( + "id" => "agency-".$row['agencyName'], + "value" => htmlspecialchars($row['agencyName']) , + "info" => htmlspecialchars("Government Agency - ". $row['count']." records") + ); + } +} +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past +header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified +header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header("Pragma: no-cache"); // HTTP/1.0 +if (isset($_REQUEST['json'])) { + header("Content-Type: application/json"); + echo "{\"results\": ["; + $arr = array(); + for ($i = 0;$i < count($aResults);$i++) { + $arr[] = "{\"id\": \"" . $aResults[$i]['id'] . "\", \"value\": \"" . $aResults[$i]['value'] . "\", \"info\": \"\"}"; + } + echo implode(", ", $arr); + echo "]}"; +} else { + header("Content-Type: text/xml"); + echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?><results>"; + for ($i = 0;$i < count($aResults);$i++) { + echo "<rs id=\"" . $aResults[$i]['id'] . "\" info=\"" . $aResults[$i]['info'] . "\">" . $aResults[$i]['value'] . "</rs>"; + } + echo "</results>"; +} +?>
--- a/style.css +++ b/style.css @@ -11,17 +11,22 @@ } #search, form { -display: inline; float: right; margin-top: -1px; } #sitenav { + width: 99%; text-align: left; padding: 5px; border-top:1px solid black; border-bottom:1px solid black; +} + +#sitenav.a { + +display: inline; } #content { @@ -40,3 +45,25 @@ #ft { font-size: 66%; } + +// div collapse from http://roshanbh.com.np/2008/03/expandable-collapsible-toggle-pane-jquery.html +p { +padding: 0 0 1em; +} +.msg_list { +margin: 0px; +padding: 0px; +width: 383px; +} +.msg_head { +padding: 5px 10px; +cursor: pointer; +position: relative; +background-color:#FFCCCC; +margin:1px; +} +.msg_body { +padding: 5px 10px 15px; +background-color:#F4F4F8; +} +// div collapse
--- a/todo.txt +++ b/todo.txt @@ -3,4 +3,10 @@ can we merge ABN splitting companies like PWC/Dell Finance? can we add google news? lobbyist officers? + +compile database of file lists + +compile database of employees + +show metrics about agencies/suppliers eg. extent of contract variations, level of reg 10 commitments, reporting speedyness