Skip to content
Browse files

Initial Commit of 2009 code

  • Loading branch information...
0 parents commit 1c92f2b54a02a8421e1dba34707366f8b16ccf0b @tlhunter committed May 13, 2012
Showing with 19,457 additions and 0 deletions.
  1. +43 −0 README.md
  2. +13 −0 _config.php
  3. +19 −0 _functions.php
  4. +136 −0 _user.class.php
  5. +48 −0 bot.php
  6. +96 −0 css/facebox.css
  7. BIN css/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
  8. BIN css/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png
  9. BIN css/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
  10. BIN css/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
  11. BIN css/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
  12. BIN css/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
  13. BIN css/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png
  14. BIN css/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png
  15. BIN css/mint-choc/images/ui-icons_222222_256x240.png
  16. BIN css/mint-choc/images/ui-icons_9bcc60_256x240.png
  17. BIN css/mint-choc/images/ui-icons_add978_256x240.png
  18. BIN css/mint-choc/images/ui-icons_e3ddc9_256x240.png
  19. BIN css/mint-choc/images/ui-icons_f1fd86_256x240.png
  20. BIN css/mint-choc/images/ui-icons_ffffff_256x240.png
  21. +406 −0 css/mint-choc/jquery-ui-1.7.2.custom.css
  22. +46 −0 css/reset.css
  23. +120 −0 css/style.css
  24. +31 −0 database.sql
  25. +7 −0 delete.php
  26. +6 −0 deleteall.php
  27. +30 −0 development-bundle/AUTHORS.txt
  28. +278 −0 development-bundle/GPL-LICENSE.txt
  29. +25 −0 development-bundle/MIT-LICENSE.txt
  30. +58 −0 development-bundle/demos/accordion/collapsible.html
  31. +60 −0 development-bundle/demos/accordion/custom-icons.html
  32. +83 −0 development-bundle/demos/accordion/default.html
  33. +76 −0 development-bundle/demos/accordion/fillspace.html
  34. +20 −0 development-bundle/demos/accordion/index.html
  35. +57 −0 development-bundle/demos/accordion/mouseover.html
  36. +57 −0 development-bundle/demos/accordion/no-auto-height.html
  37. +51 −0 development-bundle/demos/addClass/default.html
  38. +17 −0 development-bundle/demos/addClass/index.html
  39. +52 −0 development-bundle/demos/animate/default.html
  40. +17 −0 development-bundle/demos/animate/index.html
  41. +31 −0 development-bundle/demos/datepicker/alt-field.html
  42. +33 −0 development-bundle/demos/datepicker/buttonbar.html
  43. +43 −0 development-bundle/demos/datepicker/date-formats.html
  44. +31 −0 development-bundle/demos/datepicker/default.html
  45. +34 −0 development-bundle/demos/datepicker/dropdown-month-year.html
  46. +31 −0 development-bundle/demos/datepicker/icon-trigger.html
  47. BIN development-bundle/demos/datepicker/images/calendar.gif
  48. +26 −0 development-bundle/demos/datepicker/index.html
  49. +31 −0 development-bundle/demos/datepicker/inline.html
  50. +120 −0 development-bundle/demos/datepicker/localization.html
  51. +31 −0 development-bundle/demos/datepicker/min-max.html
  52. +34 −0 development-bundle/demos/datepicker/multiple-calendars.html
  53. +334 −0 development-bundle/demos/demos.css
  54. +51 −0 development-bundle/demos/dialog/default.html
  55. +21 −0 development-bundle/demos/dialog/index.html
  56. +67 −0 development-bundle/demos/dialog/modal-confirmation.html
  57. +178 −0 development-bundle/demos/dialog/modal-form.html
  58. +64 −0 development-bundle/demos/dialog/modal-message.html
  59. +55 −0 development-bundle/demos/dialog/modal.html
  60. +67 −0 development-bundle/demos/draggable/constrain-movement.html
  61. +46 −0 development-bundle/demos/draggable/cursor-style.html
  62. +38 −0 development-bundle/demos/draggable/default.html
  63. +42 −0 development-bundle/demos/draggable/delay-start.html
  64. +74 −0 development-bundle/demos/draggable/events.html
  65. +45 −0 development-bundle/demos/draggable/handle.html
  66. +27 −0 development-bundle/demos/draggable/index.html
  67. +41 −0 development-bundle/demos/draggable/revert.html
  68. +48 −0 development-bundle/demos/draggable/scroll.html
  69. +67 −0 development-bundle/demos/draggable/snap-to.html
  70. +54 −0 development-bundle/demos/draggable/sortable.html
  71. +73 −0 development-bundle/demos/draggable/visual-feedback.html
  72. +55 −0 development-bundle/demos/droppable/accepted-elements.html
  73. +46 −0 development-bundle/demos/droppable/default.html
  74. BIN development-bundle/demos/droppable/images/high_tatras.jpg
  75. BIN development-bundle/demos/droppable/images/high_tatras2.jpg
  76. BIN development-bundle/demos/droppable/images/high_tatras2_min.jpg
  77. BIN development-bundle/demos/droppable/images/high_tatras3.jpg
  78. BIN development-bundle/demos/droppable/images/high_tatras3_min.jpg
  79. BIN development-bundle/demos/droppable/images/high_tatras4.jpg
  80. BIN development-bundle/demos/droppable/images/high_tatras4_min.jpg
  81. BIN development-bundle/demos/droppable/images/high_tatras_min.jpg
  82. +22 −0 development-bundle/demos/droppable/index.html
  83. +164 −0 development-bundle/demos/droppable/photo-manager.html
  84. +71 −0 development-bundle/demos/droppable/propagation.html
  85. +55 −0 development-bundle/demos/droppable/revert.html
  86. +70 −0 development-bundle/demos/droppable/visual-feedback.html
  87. +104 −0 development-bundle/demos/effect/default.html
  88. +17 −0 development-bundle/demos/effect/index.html
  89. +105 −0 development-bundle/demos/hide/default.html
  90. +17 −0 development-bundle/demos/hide/index.html
  91. BIN development-bundle/demos/images/calendar.gif
  92. BIN development-bundle/demos/images/demo-config-on-tile.gif
  93. BIN development-bundle/demos/images/demo-config-on.gif
  94. BIN development-bundle/demos/images/demo-spindown-closed.gif
  95. BIN development-bundle/demos/images/demo-spindown-open.gif
  96. BIN development-bundle/demos/images/icon-docs-info.gif
  97. BIN development-bundle/demos/images/pbar-ani.gif
  98. +292 −0 development-bundle/demos/index.html
  99. +42 −0 development-bundle/demos/progressbar/animated.html
  100. +37 −0 development-bundle/demos/progressbar/default.html
  101. BIN development-bundle/demos/progressbar/images/pbar-ani.gif
  102. +19 −0 development-bundle/demos/progressbar/index.html
  103. +37 −0 development-bundle/demos/progressbar/resize.html
  104. +51 −0 development-bundle/demos/removeClass/default.html
  105. +17 −0 development-bundle/demos/removeClass/index.html
  106. +38 −0 development-bundle/demos/resizable/animate.html
  107. +37 −0 development-bundle/demos/resizable/aspect-ratio.html
  108. +42 −0 development-bundle/demos/resizable/constrain-area.html
  109. +35 −0 development-bundle/demos/resizable/default.html
  110. +49 −0 development-bundle/demos/resizable/delay-start.html
  111. +25 −0 development-bundle/demos/resizable/index.html
  112. +40 −0 development-bundle/demos/resizable/max-min.html
  113. +37 −0 development-bundle/demos/resizable/snap-to-grid.html
  114. +44 −0 development-bundle/demos/resizable/synchronous-resize.html
  115. +38 −0 development-bundle/demos/resizable/visual-feedback.html
  116. +45 −0 development-bundle/demos/selectable/default.html
  117. +50 −0 development-bundle/demos/selectable/display-grid.html
  118. +19 −0 development-bundle/demos/selectable/index.html
  119. +56 −0 development-bundle/demos/selectable/serialize.html
  120. +106 −0 development-bundle/demos/show/default.html
  121. +17 −0 development-bundle/demos/show/index.html
  122. +92 −0 development-bundle/demos/slider/colorpicker.html
  123. +34 −0 development-bundle/demos/slider/default.html
  124. +25 −0 development-bundle/demos/slider/index.html
  125. +76 −0 development-bundle/demos/slider/multiple-vertical.html
  126. +47 −0 development-bundle/demos/slider/range-vertical.html
  127. +48 −0 development-bundle/demos/slider/range.html
  128. +47 −0 development-bundle/demos/slider/rangemax.html
  129. +48 −0 development-bundle/demos/slider/rangemin.html
  130. +49 −0 development-bundle/demos/slider/slider-vertical.html
  131. +48 −0 development-bundle/demos/slider/steps.html
  132. +76 −0 development-bundle/demos/sortable/connect-lists-through-tabs.html
  133. +55 −0 development-bundle/demos/sortable/connect-lists.html
  134. +48 −0 development-bundle/demos/sortable/default.html
  135. +64 −0 development-bundle/demos/sortable/delay-start.html
  136. +51 −0 development-bundle/demos/sortable/display-grid.html
  137. +66 −0 development-bundle/demos/sortable/empty-lists.html
  138. +25 −0 development-bundle/demos/sortable/index.html
  139. +68 −0 development-bundle/demos/sortable/items.html
  140. +53 −0 development-bundle/demos/sortable/placeholder.html
  141. +93 −0 development-bundle/demos/sortable/portlets.html
  142. +47 −0 development-bundle/demos/switchClass/default.html
  143. +17 −0 development-bundle/demos/switchClass/index.html
  144. +40 −0 development-bundle/demos/tabs/ajax.html
  145. +4 −0 development-bundle/demos/tabs/ajax/content1.html
  146. +4 −0 development-bundle/demos/tabs/ajax/content2.html
  147. +54 −0 development-bundle/demos/tabs/collapsible.html
  148. +47 −0 development-bundle/demos/tabs/default.html
  149. +21 −0 development-bundle/demos/tabs/index.html
  150. +52 −0 development-bundle/demos/tabs/mouseover.html
  151. +62 −0 development-bundle/demos/tabs/sortable.html
  152. +62 −0 development-bundle/demos/tabs/vertical.html
  153. +94 −0 development-bundle/demos/toggle/default.html
  154. +17 −0 development-bundle/demos/toggle/index.html
  155. +45 −0 development-bundle/demos/toggleClass/default.html
  156. +17 −0 development-bundle/demos/toggleClass/index.html
  157. +869 −0 development-bundle/docs/accordion.html
  158. +108 −0 development-bundle/docs/addClass.html
  159. +78 −0 development-bundle/docs/animate.html
  160. +2,150 −0 development-bundle/docs/datepicker.html
  161. +1,520 −0 development-bundle/docs/dialog.html
  162. +1,448 −0 development-bundle/docs/draggable.html
  163. +704 −0 development-bundle/docs/droppable.html
  164. +142 −0 development-bundle/docs/effect.html
  165. +143 −0 development-bundle/docs/hide.html
  166. +295 −0 development-bundle/docs/progressbar.html
  167. +112 −0 development-bundle/docs/removeClass.html
  168. +1,075 −0 development-bundle/docs/resizable.html
  169. +707 −0 development-bundle/docs/selectable.html
  170. +143 −0 development-bundle/docs/show.html
  171. +733 −0 development-bundle/docs/slider.html
  172. +1,818 −0 development-bundle/docs/sortable.html
  173. +128 −0 development-bundle/docs/switchClass.html
Sorry, we could not display the entire diff because too many files (332) changed.
43 README.md
@@ -0,0 +1,43 @@
+Social Network Bot
+===
+
+This is a bot I built back in 2009. Its purpose is to read through a big list of username:password and
+send a message to each of the friends of that particular user. If the login fails, the user is marked as
+being bad. The software hasn't been touched since 2009, and the pages it used to communicate with have
+changed radically, so the software doesn't currently work. I will not accept any pull requests for this
+project which will make it work to scrape a social network.
+
+Why am I releasing this as open source? It is a good proof of concept regarding PHP and long running
+tasks. The interface is simple and makes good use of a progress bar, something you don't see in a lot of
+PHP apps. The app makes repeated AJAX requests to the backend to see what the status is. The long running
+script keeps doing its thing, and the status script doesn't interfere.
+
+I will be removing the various URLs and other items which can identify the social network this was built
+for. Feel free to fork this code and do whatever you want with it.
+
+Instructions (original readme)
+==
+
+Update _config.php with your database settings.
+
+Import database.sql to get started with.
+
+To add new users, open import.php and paste them in using the following format:
+username:password
+user2:pass2
+
+Don't delete users using phpMyAdmin, instead use the built in tool.
+If you do delete users manually, make sure their 'id' columns are in order so that the GUI progress report works properly.
+
+deleteall.php deletes ALL users in your database.
+
+download.php downloads a text file of users that haven't been flagged.
+
+Once you start the bot, it will keep running even if you close the page. If you want to kill it after you've closed the page, open the stop.php page.
+
+reset.php will reset the progress of all users if you'd like to use them again.
+
+License
+==
+
+MIT
13 _config.php
@@ -0,0 +1,13 @@
+<?php
+if ($_SERVER['HTTP_HOST'] == 'localhost') { // local machine
+ define("DB_HOST", 'localhost'); # Database Hostname
+ define("DB_USER", 'root'); # Database Username
+ define("DB_PASS", ''); # Database Password
+ define("DB_NAME", 'message-bot'); # Database Name
+} else { // live server
+ define("DB_HOST", 'localhost'); # Database Hostname
+ define("DB_USER", 'root'); # Database Username
+ define("DB_PASS", ''); # Database Password
+ define("DB_NAME", 'message-bot'); # Database Name
+}
+define("FPP", 14); #friends per page
19 _functions.php
@@ -0,0 +1,19 @@
+<?php
+#error_reporting(E_ALL);
+
+function runQuery($query) {
+ $connect = mysql_connect(DB_HOST, DB_USER, DB_PASS);
+ if (!$connect) {
+ die("<div class=\"error\">" . mysql_error() . "</div>");
+ }
+ mysql_select_db(DB_NAME, $connect);
+ $result = mysql_query($query, $connect);
+ return $result;
+
+}
+
+function writeFile($text, $filename) {
+ $fp = fopen($filename, 'w');
+ fwrite($fp, $text);
+ fclose($fp);
+}
136 _user.class.php
@@ -0,0 +1,136 @@
+<?php
+require_once('_config.php');
+require_once('_functions.php');
+
+class User {
+ private $email;
+ private $password;
+ private $userid;
+ private $cookiefile;
+
+ function __construct($userid) {
+ $this->userid = $userid;
+ $this->cookiefile = dirname(__FILE__) . "/cookies/{$this->userid}.txt";
+ $this->progress("INITIALIZE", 1);
+ $sql = "SELECT * FROM users WHERE id = {$this->userid} LIMIT 1";
+ $result = runQuery($sql);
+ #echo "init: {$this->userid}<br />\n";
+ if (mysql_num_rows($result)) {
+ $row = mysql_fetch_assoc($result);
+ $this->email = $row['email'];
+ $this->password = $row['password'];
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ function login() {
+ $this->progress("LOGIN {$this->email}", 1);
+ $data = array(
+ 'email' => $this->email,
+ 'pass' => $this->password,
+ 'login' => 'Log In'
+ );
+ $output = $this->downloadUrl('http://m.socialnetwork.tld/login.php', 'http://m.socialnetwork.tld/login.php?http', $data);
+ #writeFile($output, "cache/login-{$this->userid}.txt");
+ if (empty($output)) {
+ $this->progress("Empty Login Results", 1);
+ return false;
+ } else if (preg_match('/your account is temporarily unavailable/', $output)) {
+ $this->progress("Account Is Locked", 1);
+ return false;
+ } else if (preg_match('/Incorrect email\/password combination\./', $output)) {
+ $this->progress("Invalid Credentials", 1);
+ return false;
+ } else if (preg_match('/Need a Facebook account/', $output)) {
+ $this->progress("Did Not Login Properly", 1);
+ writeFile($output, "cache/login-{$this->userid}.txt");
+ return false;
+ } else {
+ $this->progress("We have logged in fine", 1);
+ return true;
+ }
+ }
+
+ function sendMessage($id, $subject, $body) {
+ $this->progress("MAIL $id SUB $subject", 0);
+ $output = $this->downloadUrl('http://m.socialnetwork.tld/inbox/?compose&ids='.$id.'&refid=5', 'http://m.socialnetwork.tld/friends.php?a');
+ preg_match('/\<input type="hidden" name="post_form_id" value="(.*)" \/\>/', $output, $matches);
+ $post_id = substr($matches[1], 0, 32);
+ preg_match('/name="xx_dtsg" value="(.*)"/', $output, $matches);
+ $dtsg = substr($matches[1], 0, 5);
+
+ $data = array(
+ 'xx_dtsg' => $dtsg,
+ 'post_form_id' => $post_id,
+ 'ids[]' => $id,
+ 'subject' => $subject,
+ 'body' => $body,
+ 'send' => 'Send'
+ );
+ $output = $this->downloadUrl('http://touch.socialnetwork.tld/message_send.php', 'http://m.socialnetwork.tld/inbox/?compose&ids=706890690', $data);
+ # check file for status and return T or F
+ return $output;
+ }
+
+ function getTotalFriends() {
+ echo "Getting total friend count..\t\t";
+ $output = $this->downloadUrl('http://m.socialnetwork.tld/friends.php?a', 'http://m.socialnetwork.tld/');
+ #writeFile($output, "cache/getTotalFriends-{$this->userid}.txt");
+ if (empty($output)) {
+ $this->progress("Empty Friend Count Check", 1);
+ return FALSE;
+ } else {
+ #$output = preg_replace('/\<\/a\>/i', "</a>\r\n", $output);
+ preg_match('/1 - ([0-9]?)+ of (([0-9]?)+) friends/', $output, $matches);
+ #print_r($matches);
+ $total = floatval($matches[2]);
+ $this->progress("Found $total total friends", 1);
+ return $total;
+ }
+ }
+
+ function gatherFriends($page) {
+ $this->progress("Gather page $page");
+ $output = $this->downloadUrl('http://m.socialnetwork.tld/friends.php?a&f='.$page, 'http://m.socialnetwork.tld/');
+ $output = preg_replace('/\<\/a\>/i', "</a>\r\n", $output);
+ preg_match_all('/inbox\/\?([0-9A-Za-z]+)&amp;compose&amp;ids=([0-9]+)/', $output, $matches);
+ #echo "Done!<br />\n";
+ return $matches[2];
+ }
+
+ function logout() {
+ $this->downloadUrl("http://m.socialnetwork.tld/logout.php", "http://m.socialnetwork.tld/home.php");
+ unlink($this->cookiefile);
+ $this->progress("User has been logged out", 1);
+ }
+
+ function getId() {
+ return $this->userid;
+ }
+
+ function downloadUrl($url, $referer, $data = FALSE) {
+ $user_agent = "BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105";
+ $cr = curl_init($url);
+ curl_setopt($cr, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($cr, CURLOPT_USERAGENT, $user_agent);
+ curl_setopt($cr, CURLOPT_REFERER, $referer);
+ curl_setopt($cr, CURLOPT_COOKIEFILE, $this->cookiefile);
+ curl_setopt($cr, CURLOPT_COOKIEJAR, $this->cookiefile);
+ if (!empty($data)) {
+ curl_setopt($cr, CURLOPT_POST, true);
+ curl_setopt($cr, CURLOPT_FOLLOWLOCATION, true);
+ curl_setopt($cr, CURLOPT_POSTFIELDS, $data);
+ }
+ $output = curl_exec($cr);
+ curl_close($cr);
+ return $output;
+ }
+
+ function progress($message, $level = 0) {
+ $message = "<em>" . $this->userid . "</em> $message";
+ runQuery("INSERT INTO progress SET content = '$message', level = $level");
+ }
+
+}
48 bot.php
@@ -0,0 +1,48 @@
+<?php
+# Script built by Nucleocide
+
+ignore_user_abort(TRUE); # Script will run even when browser closes connection
+set_time_limit(0); # Script will never timeout
+require_once('_config.php');
+require_once('_functions.php');
+require_once('_user.class.php');
+
+runQuery("UPDATE state SET value = 0 WHERE name = 'halt' LIMIT 1");
+
+$sql = "SELECT id FROM users WHERE flag = 0";
+$result = runQuery($sql);
+while ($row = mysql_fetch_assoc($result)) {
+ $sql = "SELECT value FROM state WHERE name = 'halt' LIMIT 1";
+ $resulthalt = runQuery($sql);
+ $rowhalt = mysql_fetch_assoc($resulthalt);
+ if ($rowhalt['value'] == 1) {
+ break;
+ }
+ $id = $row['id'];
+ $user = new User($id);
+ if ($user->login()) {
+ $friends = array();
+ $ids = array();
+ $total_friends = $user->getTotalFriends();
+ $total_pages = ceil($total_friends / FPP);
+ for ($i = 0; $i < $total_pages; $i++) {
+ $page = $i * FPP;
+ $friends[] = $user->gatherFriends($page);
+ }
+ foreach ($friends as $i => $value) {
+ foreach($friends[$i] as $g => $val) {
+ $ids[]=$val;
+ }
+ }
+ foreach($ids AS $id) {
+ $resultMessage = runQuery("SELECT * FROM messages ORDER BY RAND() LIMIT 1");
+ $message = mysql_fetch_assoc($resultMessage);
+ $user->sendMessage($id, $message['subject'], $message['body']);
+ }
+ runQuery("UPDATE users SET flag = 1, friends = $total_friends WHERE id = '{$user->getId()}' LIMIT 1");
+ } else {
+ runQuery("UPDATE users SET flag = 2 WHERE id = '{$user->getId()}' LIMIT 1");
+ }
+ $user->logout();
+ unset($user);
+}
96 css/facebox.css
@@ -0,0 +1,96 @@
+#facebox .b {
+ background:url(../images/b.png);
+}
+
+#facebox .tl {
+ background:url(../images/tl.png);
+}
+
+#facebox .tr {
+ background:url(../images/tr.png);
+}
+
+#facebox .bl {
+ background:url(../images/bl.png);
+}
+
+#facebox .br {
+ background:url(../images/br.png);
+}
+
+#facebox {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 100;
+ text-align: left;
+ color: black;
+}
+
+#facebox .popup {
+ position: relative;
+}
+
+#facebox table {
+ border-collapse: collapse;
+}
+
+#facebox td {
+ border-bottom: 0;
+ padding: 0;
+}
+
+#facebox .body {
+ padding: 10px;
+ background: #fff;
+ width: 370px;
+}
+
+#facebox .loading {
+ text-align: center;
+}
+
+#facebox .image {
+ text-align: center;
+}
+
+#facebox img {
+ border: 0;
+ margin: 0;
+}
+
+#facebox .footer {
+ border-top: 1px solid #DDDDDD;
+ padding-top: 5px;
+ margin-top: 10px;
+ text-align: right;
+}
+
+#facebox .tl, #facebox .tr, #facebox .bl, #facebox .br {
+ height: 10px;
+ width: 10px;
+ overflow: hidden;
+ padding: 0;
+}
+
+#facebox_overlay {
+ position: fixed;
+ top: 0px;
+ left: 0px;
+ height:100%;
+ width:100%;
+}
+
+.facebox_hide {
+ z-index:-100;
+}
+
+.facebox_overlayBG {
+ background-color: #000;
+ z-index: 99;
+}
+
+* html #facebox_overlay { /* ie6 hack */
+ position: absolute;
+ height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
BIN css/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_222222_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_9bcc60_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_add978_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_e3ddc9_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_f1fd86_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/mint-choc/images/ui-icons_ffffff_256x240.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
406 css/mint-choc/jquery-ui-1.7.2.custom.css
@@ -0,0 +1,406 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI,%20Helvetica,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=453326&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=25&borderColorHeader=695649&fcHeader=e3ddc9&iconColorHeader=e3ddc9&bgColorContent=201913&bgTextureContent=05_inset_soft.png&bgImgOpacityContent=10&borderColorContent=9c947c&fcContent=ffffff&iconColorContent=222222&bgColorDefault=1c160d&bgTextureDefault=12_gloss_wave.png&bgImgOpacityDefault=20&borderColorDefault=695444&fcDefault=9bcc60&iconColorDefault=9bcc60&bgColorHover=44372c&bgTextureHover=12_gloss_wave.png&bgImgOpacityHover=30&borderColorHover=9c947c&fcHover=baec7e&iconColorHover=add978&bgColorActive=201913&bgTextureActive=03_highlight_soft.png&bgImgOpacityActive=20&borderColorActive=9c947c&fcActive=e3ddc9&iconColorActive=e3ddc9&bgColorHighlight=619226&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=20&borderColorHighlight=add978&fcHighlight=ffffff&iconColorHighlight=ffffff&bgColorError=5f391b&bgTextureError=02_glass.png&bgImgOpacityError=15&borderColorError=5f391b&fcError=ffffff&iconColorError=f1fd86&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_inset-soft_10_201913_1x100.png) 50% bottom repeat-x; color: #ffffff; }
+.ui-widget-content a { color: #ffffff; }
+.ui-widget-header { border: 1px solid #695649; background: #453326 url(images/ui-bg_gloss-wave_25_453326_500x100.png) 50% 50% repeat-x; color: #e3ddc9; font-weight: bold; }
+.ui-widget-header a { color: #e3ddc9; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #695444; background: #1c160d url(images/ui-bg_gloss-wave_20_1c160d_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #9bcc60; outline: none; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #9bcc60; text-decoration: none; outline: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #9c947c; background: #44372c url(images/ui-bg_gloss-wave_30_44372c_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #baec7e; outline: none; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #baec7e; text-decoration: none; outline: none; }
+.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_highlight-soft_20_201913_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e3ddc9; outline: none; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e3ddc9; outline: none; text-decoration: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #add978; background: #619226 url(images/ui-bg_highlight-soft_20_619226_1x100.png) 50% top repeat-x; color: #ffffff; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #ffffff; }
+.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #5f391b; background: #5f391b url(images/ui-bg_glass_15_5f391b_1x400.png) 50% 50% repeat-x; color: #ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_9bcc60_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_add978_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f1fd86_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
+----------------------------------*/
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
+.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
+----------------------------------*/
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/* Dialog
+----------------------------------*/
+.ui-dialog { position: relative; padding: .2em; width: 300px; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/* Progressbar
+----------------------------------*/
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
+----------------------------------*/
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
+----------------------------------*/
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
+----------------------------------*/
+.ui-tabs { padding: .2em; zoom: 1; }
+.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
+.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
46 css/reset.css
@@ -0,0 +1,46 @@
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+/* remember to define focus styles! */
+:focus {
+ outline: 0;
+}
+body {
+ line-height: 1;
+ color: black;
+ background: white;
+}
+ol, ul {
+ list-style: none;
+}
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+}
+caption, th, td {
+ text-align: left;
+ font-weight: normal;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: "";
+}
+blockquote, q {
+ quotes: "" "";
+}
120 css/style.css
@@ -0,0 +1,120 @@
+body {
+ background-color: #211a10;
+ color: white;
+ font-family: calibri, arial;
+ font-size: 14px;
+ text-align: center;
+}
+#container {
+ margin: 0 auto 50px auto;
+ background: transparent url("../images/body.png") no-repeat;
+ width: 800px;
+ height: 500px;
+ color: black;
+ text-align: left;
+ overflow: hidden;
+}
+#content {
+ padding: 20px;
+}
+#prgProgress {
+ font-size: 12px;
+ height: 24px;
+ float: right;
+ width: 690px;
+}
+ul#icons {
+ margin: 0;
+ padding: 0;
+ width: 64px;
+ height: 36px;
+ float: left;
+}
+ul#icons li {
+ margin: 0 4px 0 0;
+ position: relative;
+ padding: 4px 0;
+ cursor: pointer;
+ float: left;
+ list-style: none;
+}
+ul#icons span.ui-icon {
+ float: left;
+ margin: 0 4px;
+}
+.txtResults {
+ background-color: #0b0a08;
+ -moz-border-radius: 8px;
+ height: 424px;
+ float: left;
+ color: #64f955;
+ overflow: auto;
+}
+.txtContent {
+ padding: 10px;
+}
+.txtOutputResults {
+ width: 500px;
+ margin-right: 10px;
+}
+.txtUserResults {
+ width: 250px;
+}
+#logo {
+ width: 760px;
+ height: 40px;
+ color: #64f955;
+ margin: 0 auto;
+ font-size: 20px;
+ text-align: left;
+ padding-top: 30px;
+}
+#txtOutputResultsContent .unit {
+ margin-bottom: 10px;
+ background-color: black;
+ -moz-border-radius: 4px;
+ border: 1px solid #333;
+ padding: 5px;
+}
+.txtUserResults .subunit {
+ margin-bottom: 3px;
+ background-color: #333;
+ -moz-border-radius: 2px;
+ border: 1px solid #333;
+ padding: 1px;
+ font-size: 11px;
+ font-family: verdana;
+ color: white;
+}
+#txtOutputResultsContent .unit b {
+ color: white;
+}
+.txtOutputResults #txtOutputResultsContent .error {
+ border-color: #ae0000;
+ color: #666;
+ background-color: #0a0000;
+}
+p {
+ padding-bottom: 10px;
+ line-height: 20px;
+}
+a {
+ color: white;
+ text-decoration: none;
+}
+.counter {
+ font-family: consolas;
+ border-right: 1px solid #333;
+ padding-right: 4px;
+ font-size: 12px;
+}
+.error .counter {
+ border-color: #ae0000;
+}
+#navigation td {
+ padding: 2px 3px 2px 0;
+}
+strong {
+ font-weight: bold;
+ color: white;
+}
31 database.sql
@@ -0,0 +1,31 @@
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+CREATE TABLE IF NOT EXISTS `messages` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
+ `body` text COLLATE utf8_unicode_ci NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+INSERT INTO `messages` (`id`, `subject`, `body`) VALUES
+(1, 'T1', 'TEST1'),
+(2, 'T2', 'TEST2');
+
+CREATE TABLE IF NOT EXISTS `state` (
+ `name` varchar(63) NOT NULL,
+ `value` varchar(63) NOT NULL,
+ UNIQUE KEY `name` (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+INSERT INTO `state` (`name`, `value`) VALUES
+('halt', '0');
+
+CREATE TABLE IF NOT EXISTS `users` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `email` varchar(127) NOT NULL,
+ `password` varchar(20) NOT NULL,
+ `flag` smallint(1) NOT NULL DEFAULT '0',
+ `reported` tinyint(4) NOT NULL DEFAULT '0',
+ `friends` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
7 delete.php
@@ -0,0 +1,7 @@
+<?php
+require_once('_config.php');
+require_once('_functions.php');
+
+$userid = $_GET['id'] + 0;
+runQuery("DELETE FROM users WHERE id = $userid LIMIT 1");
+runQuery("UPDATE users SET id = id - 1 WHERE id > $userid");
6 deleteall.php
@@ -0,0 +1,6 @@
+<?php
+require_once('_config.php');
+require_once('_functions.php');
+runQuery("TRUNCATE TABLE users");
+?>
+<p>All users have been deleted.</p>
30 development-bundle/AUTHORS.txt
@@ -0,0 +1,30 @@
+jQuery UI Authors (http://ui.jquery.com/about)
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+and logs, available at http://jquery-ui.googlecode.com/svn/
+
+Brandon Aaron
+Paul Bakaus (paulbakaus.com)
+David Bolter
+Rich Caloggero
+Chi Cheng (cloudream@gmail.com)
+Colin Clark (http://colin.atrc.utoronto.ca/)
+Michelle D'Souza
+Aaron Eisenberger (aaronchi@gmail.com)
+Ariel Flesler
+Bohdan Ganicky
+Scott González
+Marc Grabanski (m@marcgrabanski.com)
+Klaus Hartl (stilbuero.de)
+Scott Jehl
+Cody Lindley
+Eduardo Lundgren (eduardolundgren@gmail.com)
+Todd Parker
+John Resig
+Patty Toland
+Ca-Phun Ung (yelotofu.com)
+Keith Wood (kbwood@virginbroadband.com.au)
+Maggie Costello Wachs
+Richard D. Worth (rdworth.org)
+Jörn Zaefferer (bassistance.de)
278 development-bundle/GPL-LICENSE.txt
@@ -0,0 +1,278 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
25 development-bundle/MIT-LICENSE.txt
@@ -0,0 +1,25 @@
+Copyright (c) 2009 Paul Bakaus, http://jqueryui.com/
+
+This software consists of voluntary contributions made by many
+individuals (AUTHORS.txt, http://jqueryui.com/about) For exact
+contribution history, see the revision history and logs, available
+at http://jquery-ui.googlecode.com/svn/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
58 development-bundle/demos/accordion/collapsible.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion - Collapse content</title>
+ <link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#accordion").accordion({
+ collapsible: true
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<div id="accordion">
+ <h3><a href="#">Section 1</a></h3>
+ <div>
+ <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
+ </div>
+ <h3><a href="#">Section 2</a></h3>
+ <div>
+ <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
+ </div>
+ <h3><a href="#">Section 3</a></h3>
+ <div>
+ <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
+ <ul>
+ <li>List item one</li>
+ <li>List item two</li>
+ <li>List item three</li>
+ </ul>
+ </div>
+ <h3><a href="#">Section 4</a></h3>
+ <div>
+ <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>By default, accordions always keep one section open. To allow for all sections to be be collapsible, set the <code>collapsible</code> option to true. Click on the currently open section to collapse its content pane.</p>
+
+
+</div><!-- End demo-description -->
+
+</body>
+</html>
60 development-bundle/demos/accordion/custom-icons.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion - Customize icons</title>
+ <link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#accordion").accordion({
+ icons: {
+ header: "ui-icon-circle-arrow-e",
+ headerSelected: "ui-icon-circle-arrow-s"
+ }
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<div id="accordion">
+ <h3><a href="#">Section 1</a></h3>
+ <div>
+ <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
+ </div>
+ <h3><a href="#">Section 2</a></h3>
+ <div>
+ <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
+ </div>
+ <h3><a href="#">Section 3</a></h3>
+ <div>
+ <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
+ <ul>
+ <li>List item one</li>
+ <li>List item two</li>
+ <li>List item three</li>
+ </ul>
+ </div>
+ <h3><a href="#">Section 4</a></h3>
+ <div>
+ <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>Customize the header icons with the <code>icons</code> option, which accepts classes for the header's default and selected (open) state. Use any class from the UI CSS framework, or create custom classes with background images.</p>
+
+</div><!-- End demo-description -->
+
+</body>
+</html>
83 development-bundle/demos/accordion/default.html
@@ -0,0 +1,83 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion - Default functionality</title>
+ <link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#accordion").accordion();
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<div id="accordion">
+ <h3><a href="#">Section 1</a></h3>
+ <div>
+ <p>
+ Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
+ ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
+ amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
+ odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
+ </p>
+ </div>
+ <h3><a href="#">Section 2</a></h3>
+ <div>
+ <p>
+ Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
+ purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
+ velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
+ suscipit faucibus urna.
+ </p>
+ </div>
+ <h3><a href="#">Section 3</a></h3>
+ <div>
+ <p>
+ Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
+ Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
+ ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
+ lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
+ </p>
+ <ul>
+ <li>List item one</li>
+ <li>List item two</li>
+ <li>List item three</li>
+ </ul>
+ </div>
+ <h3><a href="#">Section 4</a></h3>
+ <div>
+ <p>
+ Cras dictum. Pellentesque habitant morbi tristique senectus et netus
+ et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
+ faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
+ mauris vel est.
+ </p>
+ <p>
+ Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
+ Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
+ inceptos himenaeos.
+ </p>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+<div class="demo-description">
+<p>
+Click headers to expand/collapse content that is broken into logical sections, much like tabs.
+Optionally, toggle sections open/closed on mouseover.
+</p>
+<p>
+The underlying HTML markup is a series of headers (H3 tags) and content divs so the content is
+usable without JavaScript.
+</p>
+</div><!-- End demo-description -->
+
+</body>
+</html>
76 development-bundle/demos/accordion/fillspace.html
@@ -0,0 +1,76 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion - Fill space</title>
+ <link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+ <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#accordion").accordion({
+ fillSpace: true
+ });
+ });
+ $(function() {
+ $("#accordionResizer").resizable({
+ resize: function() {
+ $("#accordion").accordion("resize");
+ },
+ minHeight: 140
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<h3 class="docs">Resize the outer container:</h3>
+
+<div id="accordionResizer" style="padding:10px; width:350px; height:220px;" class="ui-widget-content">
+
+<div id="accordion">
+ <h3><a href="#">Section 1</a></h3>
+ <div>
+ <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
+ </div>
+ <h3><a href="#">Section 2</a></h3>
+ <div>
+ <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
+ </div>
+ <h3><a href="#">Section 3</a></h3>
+ <div>
+ <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
+ <ul>
+ <li>List item one</li>
+ <li>List item two</li>
+ <li>List item three</li>
+ </ul>
+ </div>
+ <h3><a href="#">Section 4</a></h3>
+ <div>
+ <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
+ </div>
+</div>
+
+<span class="ui-icon ui-icon-grip-dotted-horizontal" style="margin:2px auto;"></span>
+</div><!-- End accordionResizer -->
+
+<div style="margin-top:7px; padding:10px; width:350px; height:50px;" class="ui-widget-content">I'm another panel</div>
+
+</div><!-- End demo -->
+
+
+
+<div class="demo-description">
+
+<p>Because the accordion is comprised of block-level elements, by default its width fills the available horizontal space. To fill the vertical space allocated by its container, set the boolean <code>fillSpace</code> option to true, and the script will automatically set the dimensions of the accordion to the height of its parent container. The accordion will also resize with its container if the container is <code>resizable</code>.</p>
+
+</div><!-- End demo-description -->
+
+
+</body>
+</html>
20 development-bundle/demos/accordion/index.html
@@ -0,0 +1,20 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion Demos</title>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+</head>
+<body>
+ <div class="demos-nav">
+ <h4>Examples</h4>
+ <ul>
+ <li class="demo-config-on"><a href="default.html">Default functionality</a></li>
+ <li><a href="fillspace.html">Fill space</a></li>
+ <li><a href="no-auto-height.html">No auto height</a></li>
+ <li><a href="collapsible.html">Collapse content</a></li>
+ <li><a href="mouseover.html">Open on mouseover</a></li>
+ <li><a href="custom-icons.html">Customize icons</a></li>
+ </ul>
+ </div>
+</body>
+</html>
57 development-bundle/demos/accordion/mouseover.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <title>jQuery UI Accordion - Open on mouseover</title>
+ <link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#accordion").accordion({
+ event: "mouseover"
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<div id="accordion">
+ <h3><a href="#">Section 1</a></h3>
+ <div>
+ <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
+ </div>
+ <h3><a href="#">Section 2</a></h3>
+ <div>
+ <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
+ </div>
+ <h3><a href="#">Section 3</a></h3>
+ <div>
+ <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
+ <ul>
+ <li>List item one</li>
+ <li>List item two</li>
+ <li>List item three</li>
+ </ul>
+ </div>
+ <h3><a href="#">Section 4</a></h3>
+ <div>
+ <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+