Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Initial Commit of 2009 code

  • Loading branch information...
commit 1c92f2b54a02a8421e1dba34707366f8b16ccf0b 0 parents
Thomas Hunter II authored

Showing 333 changed files with 31,482 additions and 0 deletions. Show diff stats Hide diff stats

  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
  174. +1,426 0 development-bundle/docs/tabs.html
  175. +143 0 development-bundle/docs/toggle.html
  176. +110 0 development-bundle/docs/toggleClass.html
  177. +20 0 development-bundle/external/bgiframe/ChangeLog.txt
  178. +32 0 development-bundle/external/bgiframe/META.json
  179. +113 0 development-bundle/external/bgiframe/docs/index.html
  180. +100 0 development-bundle/external/bgiframe/jquery.bgiframe.js
  181. +10 0 development-bundle/external/bgiframe/jquery.bgiframe.min.js
  182. +10 0 development-bundle/external/bgiframe/jquery.bgiframe.pack.js
  183. +197 0 development-bundle/external/bgiframe/test/index.html
  184. +97 0 development-bundle/external/cookie/jquery.cookie.js
  185. +10 0 development-bundle/external/cookie/jquery.cookie.min.js
  186. +10 0 development-bundle/external/cookie/jquery.cookie.pack.js
  187. BIN  development-bundle/external/cookie/jquery.cookie.zip
  188. +159 0 development-bundle/external/jsdiff/jsdiff.js
  189. +780 0 development-bundle/external/qunit/testrunner.js
  190. +120 0 development-bundle/external/qunit/testsuite.css
  191. +152 0 development-bundle/external/simulate/jquery.simulate.js
  192. +4,376 0 development-bundle/jquery-1.3.2.js
  193. BIN  development-bundle/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png
  194. BIN  development-bundle/themes/base/images/ui-bg_flat_75_ffffff_40x100.png
  195. BIN  development-bundle/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png
  196. BIN  development-bundle/themes/base/images/ui-bg_glass_65_ffffff_1x400.png
  197. BIN  development-bundle/themes/base/images/ui-bg_glass_75_dadada_1x400.png
  198. BIN  development-bundle/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png
  199. BIN  development-bundle/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png
  200. BIN  development-bundle/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
  201. BIN  development-bundle/themes/base/images/ui-icons_222222_256x240.png
  202. BIN  development-bundle/themes/base/images/ui-icons_2e83ff_256x240.png
  203. BIN  development-bundle/themes/base/images/ui-icons_454545_256x240.png
  204. BIN  development-bundle/themes/base/images/ui-icons_888888_256x240.png
  205. BIN  development-bundle/themes/base/images/ui-icons_cd0a0a_256x240.png
  206. +9 0 development-bundle/themes/base/ui.accordion.css
  207. +2 0  development-bundle/themes/base/ui.all.css
  208. +8 0 development-bundle/themes/base/ui.base.css
  209. +37 0 development-bundle/themes/base/ui.core.css
  210. +62 0 development-bundle/themes/base/ui.datepicker.css
  211. +13 0 development-bundle/themes/base/ui.dialog.css
  212. +4 0 development-bundle/themes/base/ui.progressbar.css
  213. +13 0 development-bundle/themes/base/ui.resizable.css
  214. +17 0 development-bundle/themes/base/ui.slider.css
  215. +11 0 development-bundle/themes/base/ui.tabs.css
  216. +245 0 development-bundle/themes/base/ui.theme.css
  217. BIN  development-bundle/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
  218. BIN  development-bundle/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png
  219. BIN  development-bundle/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
  220. BIN  development-bundle/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
  221. BIN  development-bundle/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
  222. BIN  development-bundle/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
  223. BIN  development-bundle/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png
  224. BIN  development-bundle/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png
  225. BIN  development-bundle/themes/mint-choc/images/ui-icons_222222_256x240.png
  226. BIN  development-bundle/themes/mint-choc/images/ui-icons_9bcc60_256x240.png
  227. BIN  development-bundle/themes/mint-choc/images/ui-icons_add978_256x240.png
  228. BIN  development-bundle/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png
  229. BIN  development-bundle/themes/mint-choc/images/ui-icons_f1fd86_256x240.png
  230. BIN  development-bundle/themes/mint-choc/images/ui-icons_ffffff_256x240.png
  231. +406 0 development-bundle/themes/mint-choc/jquery-ui-1.7.2.custom.css
  232. +9 0 development-bundle/themes/mint-choc/ui.accordion.css
  233. +2 0  development-bundle/themes/mint-choc/ui.all.css
  234. +8 0 development-bundle/themes/mint-choc/ui.base.css
  235. +37 0 development-bundle/themes/mint-choc/ui.core.css
  236. +62 0 development-bundle/themes/mint-choc/ui.datepicker.css
  237. +13 0 development-bundle/themes/mint-choc/ui.dialog.css
  238. +4 0 development-bundle/themes/mint-choc/ui.progressbar.css
  239. +13 0 development-bundle/themes/mint-choc/ui.resizable.css
  240. +17 0 development-bundle/themes/mint-choc/ui.slider.css
  241. +11 0 development-bundle/themes/mint-choc/ui.tabs.css
  242. +247 0 development-bundle/themes/mint-choc/ui.theme.css
  243. +49 0 development-bundle/ui/effects.blind.js
  244. +78 0 development-bundle/ui/effects.bounce.js
  245. +54 0 development-bundle/ui/effects.clip.js
  246. +545 0 development-bundle/ui/effects.core.js
  247. +50 0 development-bundle/ui/effects.drop.js
  248. +79 0 development-bundle/ui/effects.explode.js
  249. +56 0 development-bundle/ui/effects.fold.js
  250. +48 0 development-bundle/ui/effects.highlight.js
  251. +56 0 development-bundle/ui/effects.pulsate.js
  252. +180 0 development-bundle/ui/effects.scale.js
  253. +57 0 development-bundle/ui/effects.shake.js
  254. +50 0 development-bundle/ui/effects.slide.js
  255. +45 0 development-bundle/ui/effects.transfer.js
  256. +771 0 development-bundle/ui/i18n/jquery-ui-i18n.js
  257. +20 0 development-bundle/ui/i18n/ui.datepicker-ar.js
  258. +20 0 development-bundle/ui/i18n/ui.datepicker-bg.js
  259. +19 0 development-bundle/ui/i18n/ui.datepicker-ca.js
  260. +19 0 development-bundle/ui/i18n/ui.datepicker-cs.js
  261. +19 0 development-bundle/ui/i18n/ui.datepicker-da.js
  262. +19 0 development-bundle/ui/i18n/ui.datepicker-de.js
  263. +19 0 development-bundle/ui/i18n/ui.datepicker-el.js
  264. +19 0 development-bundle/ui/i18n/ui.datepicker-eo.js
  265. +19 0 development-bundle/ui/i18n/ui.datepicker-es.js
  266. +19 0 development-bundle/ui/i18n/ui.datepicker-fa.js
  267. +19 0 development-bundle/ui/i18n/ui.datepicker-fi.js
  268. +19 0 development-bundle/ui/i18n/ui.datepicker-fr.js
  269. +19 0 development-bundle/ui/i18n/ui.datepicker-he.js
  270. +19 0 development-bundle/ui/i18n/ui.datepicker-hr.js
  271. +19 0 development-bundle/ui/i18n/ui.datepicker-hu.js
  272. +19 0 development-bundle/ui/i18n/ui.datepicker-hy.js
  273. +19 0 development-bundle/ui/i18n/ui.datepicker-id.js
  274. +19 0 development-bundle/ui/i18n/ui.datepicker-is.js
  275. +19 0 development-bundle/ui/i18n/ui.datepicker-it.js
  276. +20 0 development-bundle/ui/i18n/ui.datepicker-ja.js
  277. +19 0 development-bundle/ui/i18n/ui.datepicker-ko.js
  278. +19 0 development-bundle/ui/i18n/ui.datepicker-lt.js
  279. +19 0 development-bundle/ui/i18n/ui.datepicker-lv.js
  280. +19 0 development-bundle/ui/i18n/ui.datepicker-ms.js
  281. +19 0 development-bundle/ui/i18n/ui.datepicker-nl.js
  282. +19 0 development-bundle/ui/i18n/ui.datepicker-no.js
  283. +19 0 development-bundle/ui/i18n/ui.datepicker-pl.js
  284. +19 0 development-bundle/ui/i18n/ui.datepicker-pt-BR.js
  285. +22 0 development-bundle/ui/i18n/ui.datepicker-ro.js
  286. +19 0 development-bundle/ui/i18n/ui.datepicker-ru.js
  287. +19 0 development-bundle/ui/i18n/ui.datepicker-sk.js
  288. +20 0 development-bundle/ui/i18n/ui.datepicker-sl.js
  289. +19 0 development-bundle/ui/i18n/ui.datepicker-sq.js
  290. +19 0 development-bundle/ui/i18n/ui.datepicker-sr-SR.js
  291. +19 0 development-bundle/ui/i18n/ui.datepicker-sr.js
  292. +19 0 development-bundle/ui/i18n/ui.datepicker-sv.js
  293. +19 0 development-bundle/ui/i18n/ui.datepicker-th.js
  294. +19 0 development-bundle/ui/i18n/ui.datepicker-tr.js
  295. +25 0 development-bundle/ui/i18n/ui.datepicker-uk.js
  296. +19 0 development-bundle/ui/i18n/ui.datepicker-zh-CN.js
  297. +19 0 development-bundle/ui/i18n/ui.datepicker-zh-TW.js
Sorry, we could not display the entire diff because too many files (333) changed.
43 README.md
Source Rendered
... ... @@ -0,0 +1,43 @@
  1 +Social Network Bot
  2 +===
  3 +
  4 +This is a bot I built back in 2009. Its purpose is to read through a big list of username:password and
  5 +send a message to each of the friends of that particular user. If the login fails, the user is marked as
  6 +being bad. The software hasn't been touched since 2009, and the pages it used to communicate with have
  7 +changed radically, so the software doesn't currently work. I will not accept any pull requests for this
  8 +project which will make it work to scrape a social network.
  9 +
  10 +Why am I releasing this as open source? It is a good proof of concept regarding PHP and long running
  11 +tasks. The interface is simple and makes good use of a progress bar, something you don't see in a lot of
  12 +PHP apps. The app makes repeated AJAX requests to the backend to see what the status is. The long running
  13 +script keeps doing its thing, and the status script doesn't interfere.
  14 +
  15 +I will be removing the various URLs and other items which can identify the social network this was built
  16 +for. Feel free to fork this code and do whatever you want with it.
  17 +
  18 +Instructions (original readme)
  19 +==
  20 +
  21 +Update _config.php with your database settings.
  22 +
  23 +Import database.sql to get started with.
  24 +
  25 +To add new users, open import.php and paste them in using the following format:
  26 +username:password
  27 +user2:pass2
  28 +
  29 +Don't delete users using phpMyAdmin, instead use the built in tool.
  30 +If you do delete users manually, make sure their 'id' columns are in order so that the GUI progress report works properly.
  31 +
  32 +deleteall.php deletes ALL users in your database.
  33 +
  34 +download.php downloads a text file of users that haven't been flagged.
  35 +
  36 +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.
  37 +
  38 +reset.php will reset the progress of all users if you'd like to use them again.
  39 +
  40 +License
  41 +==
  42 +
  43 +MIT
13 _config.php
... ... @@ -0,0 +1,13 @@
  1 +<?php
  2 +if ($_SERVER['HTTP_HOST'] == 'localhost') { // local machine
  3 + define("DB_HOST", 'localhost'); # Database Hostname
  4 + define("DB_USER", 'root'); # Database Username
  5 + define("DB_PASS", ''); # Database Password
  6 + define("DB_NAME", 'message-bot'); # Database Name
  7 +} else { // live server
  8 + define("DB_HOST", 'localhost'); # Database Hostname
  9 + define("DB_USER", 'root'); # Database Username
  10 + define("DB_PASS", ''); # Database Password
  11 + define("DB_NAME", 'message-bot'); # Database Name
  12 +}
  13 +define("FPP", 14); #friends per page
19 _functions.php
... ... @@ -0,0 +1,19 @@
  1 +<?php
  2 +#error_reporting(E_ALL);
  3 +
  4 +function runQuery($query) {
  5 + $connect = mysql_connect(DB_HOST, DB_USER, DB_PASS);
  6 + if (!$connect) {
  7 + die("<div class=\"error\">" . mysql_error() . "</div>");
  8 + }
  9 + mysql_select_db(DB_NAME, $connect);
  10 + $result = mysql_query($query, $connect);
  11 + return $result;
  12 +
  13 +}
  14 +
  15 +function writeFile($text, $filename) {
  16 + $fp = fopen($filename, 'w');
  17 + fwrite($fp, $text);
  18 + fclose($fp);
  19 +}
136 _user.class.php
... ... @@ -0,0 +1,136 @@
  1 +<?php
  2 +require_once('_config.php');
  3 +require_once('_functions.php');
  4 +
  5 +class User {
  6 + private $email;
  7 + private $password;
  8 + private $userid;
  9 + private $cookiefile;
  10 +
  11 + function __construct($userid) {
  12 + $this->userid = $userid;
  13 + $this->cookiefile = dirname(__FILE__) . "/cookies/{$this->userid}.txt";
  14 + $this->progress("INITIALIZE", 1);
  15 + $sql = "SELECT * FROM users WHERE id = {$this->userid} LIMIT 1";
  16 + $result = runQuery($sql);
  17 + #echo "init: {$this->userid}<br />\n";
  18 + if (mysql_num_rows($result)) {
  19 + $row = mysql_fetch_assoc($result);
  20 + $this->email = $row['email'];
  21 + $this->password = $row['password'];
  22 + return true;
  23 + } else {
  24 + return false;
  25 + }
  26 + }
  27 +
  28 + function login() {
  29 + $this->progress("LOGIN {$this->email}", 1);
  30 + $data = array(
  31 + 'email' => $this->email,
  32 + 'pass' => $this->password,
  33 + 'login' => 'Log In'
  34 + );
  35 + $output = $this->downloadUrl('http://m.socialnetwork.tld/login.php', 'http://m.socialnetwork.tld/login.php?http', $data);
  36 + #writeFile($output, "cache/login-{$this->userid}.txt");
  37 + if (empty($output)) {
  38 + $this->progress("Empty Login Results", 1);
  39 + return false;
  40 + } else if (preg_match('/your account is temporarily unavailable/', $output)) {
  41 + $this->progress("Account Is Locked", 1);
  42 + return false;
  43 + } else if (preg_match('/Incorrect email\/password combination\./', $output)) {
  44 + $this->progress("Invalid Credentials", 1);
  45 + return false;
  46 + } else if (preg_match('/Need a Facebook account/', $output)) {
  47 + $this->progress("Did Not Login Properly", 1);
  48 + writeFile($output, "cache/login-{$this->userid}.txt");
  49 + return false;
  50 + } else {
  51 + $this->progress("We have logged in fine", 1);
  52 + return true;
  53 + }
  54 + }
  55 +
  56 + function sendMessage($id, $subject, $body) {
  57 + $this->progress("MAIL $id SUB $subject", 0);
  58 + $output = $this->downloadUrl('http://m.socialnetwork.tld/inbox/?compose&ids='.$id.'&refid=5', 'http://m.socialnetwork.tld/friends.php?a');
  59 + preg_match('/\<input type="hidden" name="post_form_id" value="(.*)" \/\>/', $output, $matches);
  60 + $post_id = substr($matches[1], 0, 32);
  61 + preg_match('/name="xx_dtsg" value="(.*)"/', $output, $matches);
  62 + $dtsg = substr($matches[1], 0, 5);
  63 +
  64 + $data = array(
  65 + 'xx_dtsg' => $dtsg,
  66 + 'post_form_id' => $post_id,
  67 + 'ids[]' => $id,
  68 + 'subject' => $subject,
  69 + 'body' => $body,
  70 + 'send' => 'Send'
  71 + );
  72 + $output = $this->downloadUrl('http://touch.socialnetwork.tld/message_send.php', 'http://m.socialnetwork.tld/inbox/?compose&ids=706890690', $data);
  73 + # check file for status and return T or F
  74 + return $output;
  75 + }
  76 +
  77 + function getTotalFriends() {
  78 + echo "Getting total friend count..\t\t";
  79 + $output = $this->downloadUrl('http://m.socialnetwork.tld/friends.php?a', 'http://m.socialnetwork.tld/');
  80 + #writeFile($output, "cache/getTotalFriends-{$this->userid}.txt");
  81 + if (empty($output)) {
  82 + $this->progress("Empty Friend Count Check", 1);
  83 + return FALSE;
  84 + } else {
  85 + #$output = preg_replace('/\<\/a\>/i', "</a>\r\n", $output);
  86 + preg_match('/1 - ([0-9]?)+ of (([0-9]?)+) friends/', $output, $matches);
  87 + #print_r($matches);
  88 + $total = floatval($matches[2]);
  89 + $this->progress("Found $total total friends", 1);
  90 + return $total;
  91 + }
  92 + }
  93 +
  94 + function gatherFriends($page) {
  95 + $this->progress("Gather page $page");
  96 + $output = $this->downloadUrl('http://m.socialnetwork.tld/friends.php?a&f='.$page, 'http://m.socialnetwork.tld/');
  97 + $output = preg_replace('/\<\/a\>/i', "</a>\r\n", $output);
  98 + preg_match_all('/inbox\/\?([0-9A-Za-z]+)&amp;compose&amp;ids=([0-9]+)/', $output, $matches);
  99 + #echo "Done!<br />\n";
  100 + return $matches[2];
  101 + }
  102 +
  103 + function logout() {
  104 + $this->downloadUrl("http://m.socialnetwork.tld/logout.php", "http://m.socialnetwork.tld/home.php");
  105 + unlink($this->cookiefile);
  106 + $this->progress("User has been logged out", 1);
  107 + }
  108 +
  109 + function getId() {
  110 + return $this->userid;
  111 + }
  112 +
  113 + function downloadUrl($url, $referer, $data = FALSE) {
  114 + $user_agent = "BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105";
  115 + $cr = curl_init($url);
  116 + curl_setopt($cr, CURLOPT_RETURNTRANSFER, true);
  117 + curl_setopt($cr, CURLOPT_USERAGENT, $user_agent);
  118 + curl_setopt($cr, CURLOPT_REFERER, $referer);
  119 + curl_setopt($cr, CURLOPT_COOKIEFILE, $this->cookiefile);
  120 + curl_setopt($cr, CURLOPT_COOKIEJAR, $this->cookiefile);
  121 + if (!empty($data)) {
  122 + curl_setopt($cr, CURLOPT_POST, true);
  123 + curl_setopt($cr, CURLOPT_FOLLOWLOCATION, true);
  124 + curl_setopt($cr, CURLOPT_POSTFIELDS, $data);
  125 + }
  126 + $output = curl_exec($cr);
  127 + curl_close($cr);
  128 + return $output;
  129 + }
  130 +
  131 + function progress($message, $level = 0) {
  132 + $message = "<em>" . $this->userid . "</em> $message";
  133 + runQuery("INSERT INTO progress SET content = '$message', level = $level");
  134 + }
  135 +
  136 +}
48 bot.php
... ... @@ -0,0 +1,48 @@
  1 +<?php
  2 +# Script built by Nucleocide
  3 +
  4 +ignore_user_abort(TRUE); # Script will run even when browser closes connection
  5 +set_time_limit(0); # Script will never timeout
  6 +require_once('_config.php');
  7 +require_once('_functions.php');
  8 +require_once('_user.class.php');
  9 +
  10 +runQuery("UPDATE state SET value = 0 WHERE name = 'halt' LIMIT 1");
  11 +
  12 +$sql = "SELECT id FROM users WHERE flag = 0";
  13 +$result = runQuery($sql);
  14 +while ($row = mysql_fetch_assoc($result)) {
  15 + $sql = "SELECT value FROM state WHERE name = 'halt' LIMIT 1";
  16 + $resulthalt = runQuery($sql);
  17 + $rowhalt = mysql_fetch_assoc($resulthalt);
  18 + if ($rowhalt['value'] == 1) {
  19 + break;
  20 + }
  21 + $id = $row['id'];
  22 + $user = new User($id);
  23 + if ($user->login()) {
  24 + $friends = array();
  25 + $ids = array();
  26 + $total_friends = $user->getTotalFriends();
  27 + $total_pages = ceil($total_friends / FPP);
  28 + for ($i = 0; $i < $total_pages; $i++) {
  29 + $page = $i * FPP;
  30 + $friends[] = $user->gatherFriends($page);
  31 + }
  32 + foreach ($friends as $i => $value) {
  33 + foreach($friends[$i] as $g => $val) {
  34 + $ids[]=$val;
  35 + }
  36 + }
  37 + foreach($ids AS $id) {
  38 + $resultMessage = runQuery("SELECT * FROM messages ORDER BY RAND() LIMIT 1");
  39 + $message = mysql_fetch_assoc($resultMessage);
  40 + $user->sendMessage($id, $message['subject'], $message['body']);
  41 + }
  42 + runQuery("UPDATE users SET flag = 1, friends = $total_friends WHERE id = '{$user->getId()}' LIMIT 1");
  43 + } else {
  44 + runQuery("UPDATE users SET flag = 2 WHERE id = '{$user->getId()}' LIMIT 1");
  45 + }
  46 + $user->logout();
  47 + unset($user);
  48 +}
96 css/facebox.css
... ... @@ -0,0 +1,96 @@
  1 +#facebox .b {
  2 + background:url(../images/b.png);
  3 +}
  4 +
  5 +#facebox .tl {
  6 + background:url(../images/tl.png);
  7 +}
  8 +
  9 +#facebox .tr {
  10 + background:url(../images/tr.png);
  11 +}
  12 +
  13 +#facebox .bl {
  14 + background:url(../images/bl.png);
  15 +}
  16 +
  17 +#facebox .br {
  18 + background:url(../images/br.png);
  19 +}
  20 +
  21 +#facebox {
  22 + position: absolute;
  23 + top: 0;
  24 + left: 0;
  25 + z-index: 100;
  26 + text-align: left;
  27 + color: black;
  28 +}
  29 +
  30 +#facebox .popup {
  31 + position: relative;
  32 +}
  33 +
  34 +#facebox table {
  35 + border-collapse: collapse;
  36 +}
  37 +
  38 +#facebox td {
  39 + border-bottom: 0;
  40 + padding: 0;
  41 +}
  42 +
  43 +#facebox .body {
  44 + padding: 10px;
  45 + background: #fff;
  46 + width: 370px;
  47 +}
  48 +
  49 +#facebox .loading {
  50 + text-align: center;
  51 +}
  52 +
  53 +#facebox .image {
  54 + text-align: center;
  55 +}
  56 +
  57 +#facebox img {
  58 + border: 0;
  59 + margin: 0;
  60 +}
  61 +
  62 +#facebox .footer {
  63 + border-top: 1px solid #DDDDDD;
  64 + padding-top: 5px;
  65 + margin-top: 10px;
  66 + text-align: right;
  67 +}
  68 +
  69 +#facebox .tl, #facebox .tr, #facebox .bl, #facebox .br {
  70 + height: 10px;
  71 + width: 10px;
  72 + overflow: hidden;
  73 + padding: 0;
  74 +}
  75 +
  76 +#facebox_overlay {
  77 + position: fixed;
  78 + top: 0px;
  79 + left: 0px;
  80 + height:100%;
  81 + width:100%;
  82 +}
  83 +
  84 +.facebox_hide {
  85 + z-index:-100;
  86 +}
  87 +
  88 +.facebox_overlayBG {
  89 + background-color: #000;
  90 + z-index: 99;
  91 +}
  92 +
  93 +* html #facebox_overlay { /* ie6 hack */
  94 + position: absolute;
  95 + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
  96 +}
BIN  css/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
0  css/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png
BIN  css/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png
0  css/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png
0  css/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
BIN  css/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png
0  css/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
BIN  css/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png
0  css/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
BIN  css/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png
0  css/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
BIN  css/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png
BIN  css/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png
0  css/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png
BIN  css/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png
0  css/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png
BIN  css/mint-choc/images/ui-icons_222222_256x240.png
0  css/mint-choc/images/ui-icons_222222_256x240.png
0  css/mint-choc/images/ui-icons_9bcc60_256x240.png
BIN  css/mint-choc/images/ui-icons_9bcc60_256x240.png
0  css/mint-choc/images/ui-icons_add978_256x240.png
BIN  css/mint-choc/images/ui-icons_add978_256x240.png
0  css/mint-choc/images/ui-icons_e3ddc9_256x240.png
BIN  css/mint-choc/images/ui-icons_e3ddc9_256x240.png
BIN  css/mint-choc/images/ui-icons_f1fd86_256x240.png
0  css/mint-choc/images/ui-icons_f1fd86_256x240.png
BIN  css/mint-choc/images/ui-icons_ffffff_256x240.png
0  css/mint-choc/images/ui-icons_ffffff_256x240.png
406 css/mint-choc/jquery-ui-1.7.2.custom.css
... ... @@ -0,0 +1,406 @@
  1 +/*
  2 +* jQuery UI CSS Framework
  3 +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
  4 +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
  5 +*/
  6 +
  7 +/* Layout helpers
  8 +----------------------------------*/
  9 +.ui-helper-hidden { display: none; }
  10 +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
  11 +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
  12 +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
  13 +.ui-helper-clearfix { display: inline-block; }
  14 +/* required comment for clearfix to work in Opera \*/
  15 +* html .ui-helper-clearfix { height:1%; }
  16 +.ui-helper-clearfix { display:block; }
  17 +/* end clearfix */
  18 +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
  19 +
  20 +
  21 +/* Interaction Cues
  22 +----------------------------------*/
  23 +.ui-state-disabled { cursor: default !important; }
  24 +
  25 +
  26 +/* Icons
  27 +----------------------------------*/
  28 +
  29 +/* states and images */
  30 +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
  31 +
  32 +
  33 +/* Misc visuals
  34 +----------------------------------*/
  35 +
  36 +/* Overlays */
  37 +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  38 +
  39 +
  40 +
  41 +/*
  42 +* jQuery UI CSS Framework
  43 +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
  44 +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
  45 +* 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
  46 +*/
  47 +
  48 +
  49 +/* Component containers
  50 +----------------------------------*/
  51 +.ui-widget { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1.1em; }
  52 +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1em; }
  53 +.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; }
  54 +.ui-widget-content a { color: #ffffff; }
  55 +.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; }
  56 +.ui-widget-header a { color: #e3ddc9; }
  57 +
  58 +/* Interaction states
  59 +----------------------------------*/
  60 +.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; }
  61 +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #9bcc60; text-decoration: none; outline: none; }
  62 +.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; }
  63 +.ui-state-hover a, .ui-state-hover a:hover { color: #baec7e; text-decoration: none; outline: none; }
  64 +.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; }
  65 +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e3ddc9; outline: none; text-decoration: none; }
  66 +
  67 +/* Interaction Cues
  68 +----------------------------------*/
  69 +.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; }
  70 +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #ffffff; }
  71 +.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; }
  72 +.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
  73 +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
  74 +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
  75 +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
  76 +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
  77 +
  78 +/* Icons
  79 +----------------------------------*/
  80 +
  81 +/* states and images */
  82 +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
  83 +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
  84 +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
  85 +.ui-state-default .ui-icon { background-image: url(images/ui-icons_9bcc60_256x240.png); }
  86 +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_add978_256x240.png); }
  87 +.ui-state-active .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); }
  88 +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
  89 +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f1fd86_256x240.png); }
  90 +
  91 +/* positioning */
  92 +.ui-icon-carat-1-n { background-position: 0 0; }
  93 +.ui-icon-carat-1-ne { background-position: -16px 0; }
  94 +.ui-icon-carat-1-e { background-position: -32px 0; }
  95 +.ui-icon-carat-1-se { background-position: -48px 0; }
  96 +.ui-icon-carat-1-s { background-position: -64px 0; }
  97 +.ui-icon-carat-1-sw { background-position: -80px 0; }
  98 +.ui-icon-carat-1-w { background-position: -96px 0; }
  99 +.ui-icon-carat-1-nw { background-position: -112px 0; }
  100 +.ui-icon-carat-2-n-s { background-position: -128px 0; }
  101 +.ui-icon-carat-2-e-w { background-position: -144px 0; }
  102 +.ui-icon-triangle-1-n { background-position: 0 -16px; }
  103 +.ui-icon-triangle-1-ne { background-position: -16px -16px; }
  104 +.ui-icon-triangle-1-e { background-position: -32px -16px; }
  105 +.ui-icon-triangle-1-se { background-position: -48px -16px; }
  106 +.ui-icon-triangle-1-s { background-position: -64px -16px; }
  107 +.ui-icon-triangle-1-sw { background-position: -80px -16px; }
  108 +.ui-icon-triangle-1-w { background-position: -96px -16px; }
  109 +.ui-icon-triangle-1-nw { background-position: -112px -16px; }
  110 +.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
  111 +.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
  112 +.ui-icon-arrow-1-n { background-position: 0 -32px; }
  113 +.ui-icon-arrow-1-ne { background-position: -16px -32px; }
  114 +.ui-icon-arrow-1-e { background-position: -32px -32px; }
  115 +.ui-icon-arrow-1-se { background-position: -48px -32px; }
  116 +.ui-icon-arrow-1-s { background-position: -64px -32px; }
  117 +.ui-icon-arrow-1-sw { background-position: -80px -32px; }
  118 +.ui-icon-arrow-1-w { background-position: -96px -32px; }
  119 +.ui-icon-arrow-1-nw { background-position: -112px -32px; }
  120 +.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
  121 +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
  122 +.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
  123 +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
  124 +.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
  125 +.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
  126 +.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
  127 +.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
  128 +.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
  129 +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
  130 +.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
  131 +.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
  132 +.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
  133 +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
  134 +.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
  135 +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
  136 +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
  137 +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
  138 +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
  139 +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
  140 +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
  141 +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
  142 +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
  143 +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
  144 +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
  145 +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
  146 +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
  147 +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
  148 +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
  149 +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
  150 +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
  151 +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
  152 +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
  153 +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
  154 +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
  155 +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
  156 +.ui-icon-arrow-4 { background-position: 0 -80px; }
  157 +.ui-icon-arrow-4-diag { background-position: -16px -80px; }
  158 +.ui-icon-extlink { background-position: -32px -80px; }
  159 +.ui-icon-newwin { background-position: -48px -80px; }
  160 +.ui-icon-refresh { background-position: -64px -80px; }
  161 +.ui-icon-shuffle { background-position: -80px -80px; }
  162 +.ui-icon-transfer-e-w { background-position: -96px -80px; }
  163 +.ui-icon-transferthick-e-w { background-position: -112px -80px; }
  164 +.ui-icon-folder-collapsed { background-position: 0 -96px; }
  165 +.ui-icon-folder-open { background-position: -16px -96px; }
  166 +.ui-icon-document { background-position: -32px -96px; }
  167 +.ui-icon-document-b { background-position: -48px -96px; }
  168 +.ui-icon-note { background-position: -64px -96px; }
  169 +.ui-icon-mail-closed { background-position: -80px -96px; }
  170 +.ui-icon-mail-open { background-position: -96px -96px; }
  171 +.ui-icon-suitcase { background-position: -112px -96px; }
  172 +.ui-icon-comment { background-position: -128px -96px; }
  173 +.ui-icon-person { background-position: -144px -96px; }
  174 +.ui-icon-print { background-position: -160px -96px; }
  175 +.ui-icon-trash { background-position: -176px -96px; }
  176 +.ui-icon-locked { background-position: -192px -96px; }
  177 +.ui-icon-unlocked { background-position: -208px -96px; }
  178 +.ui-icon-bookmark { background-position: -224px -96px; }
  179 +.ui-icon-tag { background-position: -240px -96px; }
  180 +.ui-icon-home { background-position: 0 -112px; }
  181 +.ui-icon-flag { background-position: -16px -112px; }
  182 +.ui-icon-calendar { background-position: -32px -112px; }
  183 +.ui-icon-cart { background-position: -48px -112px; }
  184 +.ui-icon-pencil { background-position: -64px -112px; }
  185 +.ui-icon-clock { background-position: -80px -112px; }
  186 +.ui-icon-disk { background-position: -96px -112px; }
  187 +.ui-icon-calculator { background-position: -112px -112px; }
  188 +.ui-icon-zoomin { background-position: -128px -112px; }
  189 +.ui-icon-zoomout { background-position: -144px -112px; }
  190 +.ui-icon-search { background-position: -160px -112px; }
  191 +.ui-icon-wrench { background-position: -176px -112px; }
  192 +.ui-icon-gear { background-position: -192px -112px; }
  193 +.ui-icon-heart { background-position: -208px -112px; }
  194 +.ui-icon-star { background-position: -224px -112px; }
  195 +.ui-icon-link { background-position: -240px -112px; }
  196 +.ui-icon-cancel { background-position: 0 -128px; }
  197 +.ui-icon-plus { background-position: -16px -128px; }
  198 +.ui-icon-plusthick { background-position: -32px -128px; }
  199 +.ui-icon-minus { background-position: -48px -128px; }
  200 +.ui-icon-minusthick { background-position: -64px -128px; }
  201 +.ui-icon-close { background-position: -80px -128px; }
  202 +.ui-icon-closethick { background-position: -96px -128px; }
  203 +.ui-icon-key { background-position: -112px -128px; }
  204 +.ui-icon-lightbulb { background-position: -128px -128px; }
  205 +.ui-icon-scissors { background-position: -144px -128px; }
  206 +.ui-icon-clipboard { background-position: -160px -128px; }
  207 +.ui-icon-copy { background-position: -176px -128px; }
  208 +.ui-icon-contact { background-position: -192px -128px; }
  209 +.ui-icon-image { background-position: -208px -128px; }
  210 +.ui-icon-video { background-position: -224px -128px; }
  211 +.ui-icon-script { background-position: -240px -128px; }
  212 +.ui-icon-alert { background-position: 0 -144px; }
  213 +.ui-icon-info { background-position: -16px -144px; }
  214 +.ui-icon-notice { background-position: -32px -144px; }
  215 +.ui-icon-help { background-position: -48px -144px; }
  216 +.ui-icon-check { background-position: -64px -144px; }
  217 +.ui-icon-bullet { background-position: -80px -144px; }
  218 +.ui-icon-radio-off { background-position: -96px -144px; }
  219 +.ui-icon-radio-on { background-position: -112px -144px; }
  220 +.ui-icon-pin-w { background-position: -128px -144px; }
  221 +.ui-icon-pin-s { background-position: -144px -144px; }
  222 +.ui-icon-play { background-position: 0 -160px; }
  223 +.ui-icon-pause { background-position: -16px -160px; }
  224 +.ui-icon-seek-next { background-position: -32px -160px; }
  225 +.ui-icon-seek-prev { background-position: -48px -160px; }
  226 +.ui-icon-seek-end { background-position: -64px -160px; }
  227 +.ui-icon-seek-first { background-position: -80px -160px; }
  228 +.ui-icon-stop { background-position: -96px -160px; }
  229 +.ui-icon-eject { background-position: -112px -160px; }
  230 +.ui-icon-volume-off { background-position: -128px -160px; }
  231 +.ui-icon-volume-on { background-position: -144px -160px; }
  232 +.ui-icon-power { background-position: 0 -176px; }
  233 +.ui-icon-signal-diag { background-position: -16px -176px; }
  234 +.ui-icon-signal { background-position: -32px -176px; }
  235 +.ui-icon-battery-0 { background-position: -48px -176px; }
  236 +.ui-icon-battery-1 { background-position: -64px -176px; }
  237 +.ui-icon-battery-2 { background-position: -80px -176px; }
  238 +.ui-icon-battery-3 { background-position: -96px -176px; }
  239 +.ui-icon-circle-plus { background-position: 0 -192px; }
  240 +.ui-icon-circle-minus { background-position: -16px -192px; }
  241 +.ui-icon-circle-close { background-position: -32px -192px; }
  242 +.ui-icon-circle-triangle-e { background-position: -48px -192px; }
  243 +.ui-icon-circle-triangle-s { background-position: -64px -192px; }
  244 +.ui-icon-circle-triangle-w { background-position: -80px -192px; }
  245 +.ui-icon-circle-triangle-n { background-position: -96px -192px; }
  246 +.ui-icon-circle-arrow-e { background-position: -112px -192px; }
  247 +.ui-icon-circle-arrow-s { background-position: -128px -192px; }
  248 +.ui-icon-circle-arrow-w { background-position: -144px -192px; }
  249 +.ui-icon-circle-arrow-n { background-position: -160px -192px; }
  250 +.ui-icon-circle-zoomin { background-position: -176px -192px; }
  251 +.ui-icon-circle-zoomout { background-position: -192px -192px; }
  252 +.ui-icon-circle-check { background-position: -208px -192px; }
  253 +.ui-icon-circlesmall-plus { background-position: 0 -208px; }
  254 +.ui-icon-circlesmall-minus { background-position: -16px -208px; }
  255 +.ui-icon-circlesmall-close { background-position: -32px -208px; }
  256 +.ui-icon-squaresmall-plus { background-position: -48px -208px; }
  257 +.ui-icon-squaresmall-minus { background-position: -64px -208px; }
  258 +.ui-icon-squaresmall-close { background-position: -80px -208px; }
  259 +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
  260 +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
  261 +.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
  262 +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
  263 +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
  264 +.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
  265 +
  266 +
  267 +/* Misc visuals
  268 +----------------------------------*/
  269 +
  270 +/* Corner radius */
  271 +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
  272 +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
  273 +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
  274 +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
  275 +.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; }
  276 +.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; }
  277 +.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; }
  278 +.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; }
  279 +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
  280 +
  281 +/* Overlays */
  282 +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
  283 +.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
  284 +----------------------------------*/
  285 +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
  286 +.ui-accordion .ui-accordion-li-fix { display: inline; }
  287 +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
  288 +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
  289 +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
  290 +.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; }
  291 +.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
  292 +----------------------------------*/
  293 +.ui-datepicker { width: 17em; padding: .2em .2em 0; }
  294 +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
  295 +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
  296 +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
  297 +.ui-datepicker .ui-datepicker-prev { left:2px; }
  298 +.ui-datepicker .ui-datepicker-next { right:2px; }
  299 +.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
  300 +.ui-datepicker .ui-datepicker-next-hover { right:1px; }
  301 +.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; }
  302 +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
  303 +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
  304 +.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
  305 +.ui-datepicker select.ui-datepicker-month,
  306 +.ui-datepicker select.ui-datepicker-year { width: 49%;}
  307 +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
  308 +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
  309 +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
  310 +.ui-datepicker td { border: 0; padding: 1px; }
  311 +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
  312 +.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; }
  313 +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
  314 +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
  315 +
  316 +/* with multiple calendars */
  317 +.ui-datepicker.ui-datepicker-multi { width:auto; }
  318 +.ui-datepicker-multi .ui-datepicker-group { float:left; }
  319 +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
  320 +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
  321 +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
  322 +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
  323 +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
  324 +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
  325 +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
  326 +.ui-datepicker-row-break { clear:both; width:100%; }
  327 +
  328 +/* RTL support */
  329 +.ui-datepicker-rtl { direction: rtl; }
  330 +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
  331 +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
  332 +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
  333 +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
  334 +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
  335 +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
  336 +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
  337 +.ui-datepicker-rtl .ui-datepicker-group { float:right; }
  338 +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
  339 +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
  340 +
  341 +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
  342 +.ui-datepicker-cover {
  343 + display: none; /*sorry for IE5*/
  344 + display/**/: block; /*sorry for IE5*/
  345 + position: absolute; /*must have*/
  346 + z-index: -1; /*must have*/
  347 + filter: mask(); /*must have*/
  348 + top: -4px; /*must have*/
  349 + left: -4px; /*must have*/
  350 + width: 200px; /*must have*/
  351 + height: 200px; /*must have*/
  352 +}/* Dialog
  353 +----------------------------------*/
  354 +.ui-dialog { position: relative; padding: .2em; width: 300px; }
  355 +.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
  356 +.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
  357 +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
  358 +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
  359 +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
  360 +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
  361 +.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; }
  362 +.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; }
  363 +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
  364 +.ui-draggable .ui-dialog-titlebar { cursor: move; }
  365 +/* Progressbar
  366 +----------------------------------*/
  367 +.ui-progressbar { height:2em; text-align: left; }
  368 +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
  369 +----------------------------------*/
  370 +.ui-resizable { position: relative;}
  371 +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
  372 +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
  373 +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
  374 +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
  375 +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
  376 +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
  377 +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
  378 +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
  379 +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
  380 +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
  381 +----------------------------------*/
  382 +.ui-slider { position: relative; text-align: left; }
  383 +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
  384 +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
  385 +
  386 +.ui-slider-horizontal { height: .8em; }
  387 +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
  388 +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
  389 +.ui-slider-horizontal .ui-slider-range-min { left: 0; }
  390 +.ui-slider-horizontal .ui-slider-range-max { right: 0; }
  391 +
  392 +.ui-slider-vertical { width: .8em; height: 100px; }
  393 +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
  394 +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
  395 +.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
  396 +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
  397 +----------------------------------*/
  398 +.ui-tabs { padding: .2em; zoom: 1; }
  399 +.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
  400 +.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
  401 +.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
  402 +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
  403 +.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; }
  404 +.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... */
  405 +.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
  406 +.ui-tabs .ui-tabs-hide { display: none !important; }
46 css/reset.css
... ... @@ -0,0 +1,46 @@
  1 +html, body, div, span, applet, object, iframe,
  2 +h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  3 +a, abbr, acronym, address, big, cite, code,
  4 +del, dfn, em, font, img, ins, kbd, q, s, samp,
  5 +small, strike, strong, sub, sup, tt, var,
  6 +dl, dt, dd, ol, ul, li,
  7 +fieldset, form, label, legend,
  8 +table, caption, tbody, tfoot, thead, tr, th, td {
  9 + margin: 0;
  10 + padding: 0;
  11 + border: 0;
  12 + outline: 0;
  13 + font-weight: inherit;
  14 + font-style: inherit;
  15 + font-size: 100%;
  16 + font-family: inherit;
  17 + vertical-align: baseline;
  18 +}
  19 +/* remember to define focus styles! */
  20 +:focus {
  21 + outline: 0;
  22 +}
  23 +body {
  24 + line-height: 1;
  25 + color: black;
  26 + background: white;
  27 +}
  28 +ol, ul {
  29 + list-style: none;
  30 +}
  31 +/* tables still need 'cellspacing="0"' in the markup */
  32 +table {
  33 + border-collapse: separate;
  34 + border-spacing: 0;
  35 +}
  36 +caption, th, td {
  37 + text-align: left;
  38 + font-weight: normal;
  39 +}
  40 +blockquote:before, blockquote:after,
  41 +q:before, q:after {
  42 + content: "";
  43 +}
  44 +blockquote, q {
  45 + quotes: "" "";
  46 +}
120 css/style.css
... ... @@ -0,0 +1,120 @@
  1 +body {
  2 + background-color: #211a10;
  3 + color: white;
  4 + font-family: calibri, arial;
  5 + font-size: 14px;
  6 + text-align: center;
  7 +}
  8 +#container {
  9 + margin: 0 auto 50px auto;
  10 + background: transparent url("../images/body.png") no-repeat;
  11 + width: 800px;
  12 + height: 500px;
  13 + color: black;
  14 + text-align: left;
  15 + overflow: hidden;
  16 +}
  17 +#content {
  18 + padding: 20px;
  19 +}
  20 +#prgProgress {
  21 + font-size: 12px;
  22 + height: 24px;
  23 + float: right;
  24 + width: 690px;
  25 +}
  26 +ul#icons {
  27 + margin: 0;
  28 + padding: 0;
  29 + width: 64px;
  30 + height: 36px;
  31 + float: left;
  32 +}
  33 +ul#icons li {
  34 + margin: 0 4px 0 0;
  35 + position: relative;
  36 + padding: 4px 0;
  37 + cursor: pointer;
  38 + float: left;
  39 + list-style: none;
  40 +}
  41 +ul#icons span.ui-icon {
  42 + float: left;
  43 + margin: 0 4px;
  44 +}
  45 +.txtResults {
  46 + background-color: #0b0a08;
  47 + -moz-border-radius: 8px;
  48 + height: 424px;
  49 + float: left;
  50 + color: #64f955;
  51 + overflow: auto;
  52 +}
  53 +.txtContent {
  54 + padding: 10px;
  55 +}
  56 +.txtOutputResults {
  57 + width: 500px;
  58 + margin-right: 10px;
  59 +}
  60 +.txtUserResults {
  61 + width: 250px;
  62 +}
  63 +#logo {
  64 + width: 760px;
  65 + height: 40px;
  66 + color: #64f955;
  67 + margin: 0 auto;
  68 + font-size: 20px;
  69 + text-align: left;
  70 + padding-top: 30px;
  71 +}
  72 +#txtOutputResultsContent .unit {
  73 + margin-bottom: 10px;
  74 + background-color: black;