Initial commit

This commit is contained in:
Junior 2023-08-29 12:25:33 -04:00
commit 1686aa798d
75 changed files with 32380 additions and 0 deletions

1
.htaccess Executable file
View File

@ -0,0 +1 @@
php_flag opcache.enable off

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# LEDColors
This project is a simple web interface for managing "JAJ LED Controllers". JAJ LED Controllers are custom analog LED strip driver boards which use a WiFi connected microcontroller (ESP8266 for now) to drive analog 12v RGB LED strip lights.
## Configuration
The only configuration parameter which likely needs to be customized for the local environment is the __LEDADDRESS__ parameter. This should be the broadcast address for the local network since the system uses broadcast UDP packets to send messages to attached controllers.

13
ajax/ajax_disableauto.php Normal file
View File

@ -0,0 +1,13 @@
<?php
require '../header.php';
$command = 0x03;
$target = $_SESSION['LEDTARGETID'];
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCL", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target);
transmitMessage($data);
exit();

22
ajax/ajax_getactive.php Normal file
View File

@ -0,0 +1,22 @@
<?php
require '../header.php';
$data = "";
if ( $_SESSION['LEDTARGETID'] == 0 ) {
$data = "active-all";
} elseif ( $_SESSION['LEDTARGETID'] == 1 ) {
$data = "active-down";
} elseif ( $_SESSION['LEDTARGETID'] == 2 ) {
$data = "active-up";
} elseif ( $_SESSION['LEDTARGETID'] == 3 ) {
$data = "active-wall";
} elseif ( $_SESSION['LEDTARGETID'] == 4 ) {
$data = "active-post";
} elseif ( $_SESSION['LEDTARGETID'] == 5 ) {
$data = "active-cldn";
}
echo $data;
exit();

14
ajax/ajax_lightsoff.php Normal file
View File

@ -0,0 +1,14 @@
<?php
require '../header.php';
$command = 0x00;
$target = intval($_SESSION['LEDTARGETID']);
$unique = mt_rand(1, 2000000000);
echo "Target: ", $target;
$data = pack("LLLCL", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target);
transmitMessage($data);
exit();

19
ajax/ajax_setcolor.php Normal file
View File

@ -0,0 +1,19 @@
<?php
require '../header.php';
if ( !isset($_REQUEST['color']) ) exit();
$hex = $_REQUEST['color'];
$command = 0x01;
$target = $_SESSION['LEDTARGETID'];
$unique = mt_rand(1, 2000000000);
$red = hexdec(substr($hex, 0, 2));
$green = hexdec(substr($hex, 2, 2));
$blue = hexdec(substr($hex, 4, 2));
$data = pack("LLLCLLCCC", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target, 1000, $red, $green, $blue);
transmitMessage($data);
exit();

92
ajax/ajax_setpattern.php Normal file
View File

@ -0,0 +1,92 @@
<?php
require '../header.php';
if ( !isset($_REQUEST['pattern']) ) exit();
$pattern = $_REQUEST['pattern'];
$command = 0x02;
$target = $_SESSION['LEDTARGETID'];
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCL", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target);
$goodPattern = false;
if ( $pattern == "crazy" ) {
// The first pack here sets the milliseconds duration for ramping between colors followed by the number of colors
$data .= pack("LC", 50, 1);
// Now we stack on the colors. R, G, B values from 0.0 to 1.0 and the final parameter being how long to rest on this color
$data .= pack("CCCL", 0, 0, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "rgb" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 0, 0, 2000);
$data .= pack("CCCL", 0, 255, 0, 2000);
$data .= pack("CCCL", 0, 0, 255, 2000);
//$data .= pack("CCCL", 127, 127, 127, 1000);
//$data .= pack("CCCL", 0, 0, 0, 1000);
$goodPattern = true;
} elseif ( $pattern == "crazymellow" ) {
$data .= pack("LC", 8000, 1);
$data .= pack("CCCL", 0, 0, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "mexico" ) {
$data .= pack("LC", 2000, 3);
$data .= pack("CCCL", 98, 236, 114, 2000);
$data .= pack("CCCL", 185, 185, 185, 2000);
$data .= pack("CCCL", 206, 17, 38, 2000);
$goodPattern = true;
} elseif ( $pattern == "wsu" ) {
$data .= pack("LC", 4000, 2);
$data .= pack("CCCL", 4, 210, 10, 2000);
$data .= pack("CCCL", 255, 255, 0, 2000);
$goodPattern = true;
} elseif ( $pattern == "cauldron" ) {
$data .= pack("LC", 4000, 2);
$data .= pack("CCCL", 0, 255, 0, 0);
$data .= pack("CCCL", 0, 80, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "christmas" ) {
$data .= pack("LC", 10000, 2);
$data .= pack("CCCL", 255, 0, 0, 5000);
$data .= pack("CCCL", 0, 255, 0, 5000);
$goodPattern = true;
} elseif ( $pattern == "julyfourth" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 0, 0, 2000);
$data .= pack("CCCL", 127, 127, 127, 2000);
$data .= pack("CCCL", 0, 0, 255, 2000);
$goodPattern = true;
} elseif ( $pattern == "easter" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 3, 192, 2000);
$data .= pack("CCCL", 8, 255, 247, 2000);
$data .= pack("CCCL", 255, 252, 5, 2000);
$goodPattern = true;
} elseif ( $pattern == "halloween" ) {
$data .= pack("LC", 1000, 2);
$data .= pack("CCCL", 255, 89, 0, 2000);
$data .= pack("CCCL", 0xc8, 0, 255, 2000);
$goodPattern = true;
} elseif ( $pattern == "thanksgiving" ) {
$data .= pack("LC", 1000, 2);
$data .= pack("CCCL", 0x4d, 0x1e, 0, 2000);
$data .= pack("CCCL", 0xcf, 0x53, 0, 2000);
$goodPattern = true;
} elseif ( $pattern == "mellow" ) {
$data .= pack("LC", 10000, 5);
$data .= pack("CCCL", 0x00, 0x8f, 0x0d, 0);
$data .= pack("CCCL", 0x8b, 0x00, 0x08, 0);
$data .= pack("CCCL", 0x06, 0x01, 0x8f, 0);
$data .= pack("CCCL", 0x8f, 0x02, 0x54, 0);
$data .= pack("CCCL", 0x3e, 0x8f, 0x8c, 0);
$goodPattern = true;
} elseif ( $pattern == "test" ) {
$goodPattern = true;
$data .= pack("LC", 1000, 2);
}
if ( $goodPattern ) transmitMessage($data);
exit();

7
ajax/ajax_settarget.php Normal file
View File

@ -0,0 +1,7 @@
<?php
require '../header.php';
$_SESSION['LEDTARGETID'] = $_REQUEST['target'];
exit();

6
config.php Normal file
View File

@ -0,0 +1,6 @@
<?php
define('LEDADDRESS', '192.168.2.255');
define('PACKETFILTER', array(4039196302, 3194769291));
define('UDPPORT', 6565);
define('MESSAGECOUNT', 10);

83
core/colorwheel.md Executable file
View File

@ -0,0 +1,83 @@
jQuery Wheel Color Picker Plugin
================================
The Wheel Color Picker plugin adds color picker functionality to HTML form inputs in the round color wheel fashion. The Wheel Color Picker dialog appears as users focus the input. It currently supports these HTML elements:
* input (works on buttons too!)
* textarea
Note: It should also works on other HTML elements which support jQuery .val() function.
Features
--------
**SUPPORTED COLORS**
This plugin supports both RGB and HSV modes with additional Alpha channel.
**MULTIPLE FORMAT**
There are numbers of formats which the color picker can display its value:
* **hex** format, e.g. ffffff
* **CSS-style hex** format, e.g. #ffffff
* **rgb** format, e.g. rgb(255, 255, 255)
* **hsv** format, e.g. hsv(1.0, 1.0, 1.0)
**INDIVIDUAL SLIDERS**
The color picker can be set to display slider for each individual color channel.
**THEMING CAPABILITY**
The color picker appearance can be customized using CSS. This package already contains two CSS variants which can be used as starting point to make your own theme.
See [Features Page](https://github.com/fujaru/jquery-wheelcolorpicker/wiki/Features) for the complete list.
Usage
-----
Initialize the color picker to an element by simply calling:
```js
.wheelColorPicker( options );
```
**Example**
```html
<input type="text" class="colorpicker" />
<script type="text/javascript">
$(function() { $('.colorpicker').wheelColorPicker(); });
</script>
```
Demo
----
Try Wheel Color Picker plugin in action at our [demo page](http://www.jar2.net/projects/jquery-wheelcolorpicker).
Documentation
-------------
See [Documentation Page](https://github.com/fujaru/jquery-wheelcolorpicker/wiki) for a complete documentation.
License
-------
jQuery Wheel Color Picker plugin is released under [MIT License](http://opensource.org/licenses/MIT).
What's New
----------
The new 2.x version is a complete rewrite from version 1.x. It has cleaner code and adds more features.
Backward Compatibility
----------------------
To allow smooth transition from version 1.x to 2.x, this version includes most of options and methods from version 1.x which are now declared as *deprecated*. You should not depend on these deprecated functions as they can be removed at anytime.
Feature like CSS theming is not backward compatible though. For more information, see [Migration](https://github.com/fujaru/jquery-wheelcolorpicker/wiki/Migration) page.
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/fujaru/jquery-wheelcolorpicker/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

65
core/example-events.html Normal file
View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>jQuery Wheel Color Picker Example</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="author" content="Fajar Chandra" />
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery.wheelcolorpicker.js"></script>
<link type="text/css" rel="stylesheet" href="css/wheelcolorpicker.css" />
<script type="text/javascript">
$(function() {
$('#background').wheelColorPicker({
layout: 'block',
format: 'css'
});
$('#background').on('change', function() {
$('body').css('background', $(this).val());
});
$('#background').on('slidermove', function() {
$('#color-label').text($(this).val());
});
$('#background').on('sliderup', function() {
$('#state-label').text('Released');
});
$('#background').on('sliderdown', function() {
$('#state-label').text('Pressed');
});
});
</script>
<script type="text/css">
body {
color: black;
font-family: sans-serif;
font-size: 14px;
background: white;
}
</script>
</head>
<body>
<h1>jQuery Wheel Color Picker Example</h1>
<p>
The purpose of this example is to demonstrate you how to handle
events on this color picker.
</p>
<p>
Select background color:<br />
<input type="text" id="background" value="#ffffff" />
</p>
<p>
So, you like <span id="color-label">nothing</span>, huh?
</p>
<p>
<div id="state-label">Released</div>
</p>
</body>
</html>

70
core/example.html Normal file
View File

@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>jQuery Wheel Color Picker Example</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="author" content="Fajar Chandra" />
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery.wheelcolorpicker.js"></script>
<link type="text/css" rel="stylesheet" href="css/wheelcolorpicker.css" />
<script type="text/javascript">
$(function() {
$('#color-inline1').wheelColorPicker();
$('#color-inline2').wheelColorPicker({ sliders: "whsvp", preview: true, format: "css" });
$('#color-inline3').wheelColorPicker({ live: false, sliders: "wrgbap", format: "rgba" });
$('#color-block').wheelColorPicker({ layout: 'block', sliders: "whsvrgbap" });
});
</script>
</head>
<body>
<h1>jQuery Wheel Color Picker Example</h1>
<p>
Pick your favorite color here: <br />
<input type="text" id="color-inline1" />
</p>
<p>
Or here: <br />
<input type="text" id="color-inline2" />
</p>
<p>
Or here: <br />
<input type="text" id="color-inline3" value="#123456" />
</p>
<p>
Or here: <br />
<input type="text" id="color-block" value="#000000" />
</p>
<h2>Get Started</h2>
<p>
To use jQuery Wheel Color Picker Plugin, first you must include two
files. The JS file is the plugin, and the CSS file is used to apply theming.
<pre> &lt;script type="text/javascript" src="jquery.wheelcolorpicker.js"&gt;&lt;/script&gt;
&lt;link type="text/css" rel="stylesheet" href="css/wheelcolorpicker.css" /&gt;</pre>
</p>
<p>
Say, if you have an input with id &quot;color&quot; which you want to
apply the color picker to, just call this one line of code to do so:
<pre> &lt;script type="text/javascript"&gt;
$(function() {
$('#color').wheelColorPicker();
});
&lt;/script&gt;</pre>
</p>
<p>
See <a href="http://www.jar2.net/projects/jquery-wheelcolorpicker">here</a>
for more information regarding the plugin and documentation.
</p>
</body>
</html>

4
core/jquery-1.11.1.min.js vendored Executable file

File diff suppressed because one or more lines are too long

9789
core/jquery-ui-1.11.2/external/jquery/jquery.js vendored Executable file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

513
core/jquery-ui-1.11.2/index.html Executable file
View File

@ -0,0 +1,513 @@
<!doctype html>
<html lang="us">
<head>
<meta charset="utf-8">
<title>jQuery UI Example Page</title>
<link href="jquery-ui.css" rel="stylesheet">
<style>
body{
font: 62.5% "Trebuchet MS", sans-serif;
margin: 50px;
}
.demoHeaders {
margin-top: 2em;
}
#dialog-link {
padding: .4em 1em .4em 20px;
text-decoration: none;
position: relative;
}
#dialog-link span.ui-icon {
margin: 0 5px 0 0;
position: absolute;
left: .2em;
top: 50%;
margin-top: -8px;
}
#icons {
margin: 0;
padding: 0;
}
#icons li {
margin: 2px;
position: relative;
padding: 4px 0;
cursor: pointer;
float: left;
list-style: none;
}
#icons span.ui-icon {
float: left;
margin: 0 4px;
}
.fakewindowcontain .ui-widget-overlay {
position: absolute;
}
select {
width: 200px;
}
</style>
</head>
<body>
<h1>Welcome to jQuery UI!</h1>
<div class="ui-widget">
<p>This page demonstrates the widgets and theme you selected in Download Builder. Please make sure you are using them with a compatible jQuery version.</p>
</div>
<h1>YOUR COMPONENTS:</h1>
<!-- Accordion -->
<h2 class="demoHeaders">Accordion</h2>
<div id="accordion">
<h3>First</h3>
<div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
<h3>Second</h3>
<div>Phasellus mattis tincidunt nibh.</div>
<h3>Third</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>
</div>
<!-- Autocomplete -->
<h2 class="demoHeaders">Autocomplete</h2>
<div>
<input id="autocomplete" title="type &quot;a&quot;">
</div>
<!-- Button -->
<h2 class="demoHeaders">Button</h2>
<button id="button">A button element</button>
<form style="margin-top: 1em;">
<div id="radioset">
<input type="radio" id="radio1" name="radio"><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" checked="checked"><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio"><label for="radio3">Choice 3</label>
</div>
</form>
<!-- Tabs -->
<h2 class="demoHeaders">Tabs</h2>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">Third</a></li>
</ul>
<div id="tabs-1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
<div id="tabs-2">Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.</div>
<div id="tabs-3">Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.</div>
</div>
<!-- Dialog NOTE: Dialog is not generated by UI in this demo so it can be visually styled in themeroller-->
<h2 class="demoHeaders">Dialog</h2>
<p><a href="#" id="dialog-link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Open Dialog</a></p>
<h2 class="demoHeaders">Overlay and Shadow Classes <em>(not currently used in UI widgets)</em></h2>
<div style="position: relative; width: 96%; height: 200px; padding:1% 2%; overflow:hidden;" class="fakewindowcontain">
<p>Lorem ipsum dolor sit amet, Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. </p><p>Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. </p><p>Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. </p><p>Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. </p>
<!-- ui-dialog -->
<div class="ui-overlay"><div class="ui-widget-overlay"></div><div class="ui-widget-shadow ui-corner-all" style="width: 302px; height: 152px; position: absolute; left: 50px; top: 30px;"></div></div>
<div style="position: absolute; width: 280px; height: 130px;left: 50px; top: 30px; padding: 10px;" class="ui-widget ui-widget-content ui-corner-all">
<div class="ui-dialog-content ui-widget-content" style="background: none; border: 0;">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</div>
</div>
<!-- ui-dialog -->
<div id="dialog" title="Dialog Title">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2 class="demoHeaders">Framework Icons (content color preview)</h2>
<ul id="icons" class="ui-widget ui-helper-clearfix">
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-n"><span class="ui-icon ui-icon-carat-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-ne"><span class="ui-icon ui-icon-carat-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-e"><span class="ui-icon ui-icon-carat-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-se"><span class="ui-icon ui-icon-carat-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-s"><span class="ui-icon ui-icon-carat-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-sw"><span class="ui-icon ui-icon-carat-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-w"><span class="ui-icon ui-icon-carat-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-1-nw"><span class="ui-icon ui-icon-carat-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-2-n-s"><span class="ui-icon ui-icon-carat-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-carat-2-e-w"><span class="ui-icon ui-icon-carat-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-n"><span class="ui-icon ui-icon-triangle-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-ne"><span class="ui-icon ui-icon-triangle-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-e"><span class="ui-icon ui-icon-triangle-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-se"><span class="ui-icon ui-icon-triangle-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-s"><span class="ui-icon ui-icon-triangle-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-sw"><span class="ui-icon ui-icon-triangle-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-w"><span class="ui-icon ui-icon-triangle-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-nw"><span class="ui-icon ui-icon-triangle-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-n-s"><span class="ui-icon ui-icon-triangle-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-e-w"><span class="ui-icon ui-icon-triangle-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-n"><span class="ui-icon ui-icon-arrow-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-ne"><span class="ui-icon ui-icon-arrow-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-e"><span class="ui-icon ui-icon-arrow-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-se"><span class="ui-icon ui-icon-arrow-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-s"><span class="ui-icon ui-icon-arrow-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-sw"><span class="ui-icon ui-icon-arrow-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-w"><span class="ui-icon ui-icon-arrow-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-nw"><span class="ui-icon ui-icon-arrow-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-n-s"><span class="ui-icon ui-icon-arrow-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-ne-sw"><span class="ui-icon ui-icon-arrow-2-ne-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-e-w"><span class="ui-icon ui-icon-arrow-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-se-nw"><span class="ui-icon ui-icon-arrow-2-se-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-n"><span class="ui-icon ui-icon-arrowstop-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-e"><span class="ui-icon ui-icon-arrowstop-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-s"><span class="ui-icon ui-icon-arrowstop-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-w"><span class="ui-icon ui-icon-arrowstop-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-n"><span class="ui-icon ui-icon-arrowthick-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-ne"><span class="ui-icon ui-icon-arrowthick-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-e"><span class="ui-icon ui-icon-arrowthick-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-se"><span class="ui-icon ui-icon-arrowthick-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-s"><span class="ui-icon ui-icon-arrowthick-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-sw"><span class="ui-icon ui-icon-arrowthick-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-w"><span class="ui-icon ui-icon-arrowthick-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-nw"><span class="ui-icon ui-icon-arrowthick-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-n-s"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-ne-sw"><span class="ui-icon ui-icon-arrowthick-2-ne-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-e-w"><span class="ui-icon ui-icon-arrowthick-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-se-nw"><span class="ui-icon ui-icon-arrowthick-2-se-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-n"><span class="ui-icon ui-icon-arrowthickstop-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-e"><span class="ui-icon ui-icon-arrowthickstop-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-s"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-w"><span class="ui-icon ui-icon-arrowthickstop-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-w"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-n"><span class="ui-icon ui-icon-arrowreturnthick-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-e"><span class="ui-icon ui-icon-arrowreturnthick-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-s"><span class="ui-icon ui-icon-arrowreturnthick-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-w"><span class="ui-icon ui-icon-arrowreturn-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-n"><span class="ui-icon ui-icon-arrowreturn-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-e"><span class="ui-icon ui-icon-arrowreturn-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-s"><span class="ui-icon ui-icon-arrowreturn-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-w"><span class="ui-icon ui-icon-arrowrefresh-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-n"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-e"><span class="ui-icon ui-icon-arrowrefresh-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-s"><span class="ui-icon ui-icon-arrowrefresh-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4"><span class="ui-icon ui-icon-arrow-4"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4-diag"><span class="ui-icon ui-icon-arrow-4-diag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-extlink"><span class="ui-icon ui-icon-extlink"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-newwin"><span class="ui-icon ui-icon-newwin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-refresh"><span class="ui-icon ui-icon-refresh"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-shuffle"><span class="ui-icon ui-icon-shuffle"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-transfer-e-w"><span class="ui-icon ui-icon-transfer-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-transferthick-e-w"><span class="ui-icon ui-icon-transferthick-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-folder-collapsed"><span class="ui-icon ui-icon-folder-collapsed"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-folder-open"><span class="ui-icon ui-icon-folder-open"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-document"><span class="ui-icon ui-icon-document"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-document-b"><span class="ui-icon ui-icon-document-b"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-note"><span class="ui-icon ui-icon-note"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-mail-open"><span class="ui-icon ui-icon-mail-open"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-suitcase"><span class="ui-icon ui-icon-suitcase"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-comment"><span class="ui-icon ui-icon-comment"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-person"><span class="ui-icon ui-icon-person"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-print"><span class="ui-icon ui-icon-print"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-trash"><span class="ui-icon ui-icon-trash"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-locked"><span class="ui-icon ui-icon-locked"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-unlocked"><span class="ui-icon ui-icon-unlocked"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-bookmark"><span class="ui-icon ui-icon-bookmark"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-tag"><span class="ui-icon ui-icon-tag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-home"><span class="ui-icon ui-icon-home"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-flag"><span class="ui-icon ui-icon-flag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-calculator"><span class="ui-icon ui-icon-calculator"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-cart"><span class="ui-icon ui-icon-cart"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pencil"><span class="ui-icon ui-icon-pencil"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-clock"><span class="ui-icon ui-icon-clock"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-disk"><span class="ui-icon ui-icon-disk"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-calendar"><span class="ui-icon ui-icon-calendar"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-zoomin"><span class="ui-icon ui-icon-zoomin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-zoomout"><span class="ui-icon ui-icon-zoomout"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-search"><span class="ui-icon ui-icon-search"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-wrench"><span class="ui-icon ui-icon-wrench"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-gear"><span class="ui-icon ui-icon-gear"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-heart"><span class="ui-icon ui-icon-heart"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-star"><span class="ui-icon ui-icon-star"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-link"><span class="ui-icon ui-icon-link"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-cancel"><span class="ui-icon ui-icon-cancel"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-plus"><span class="ui-icon ui-icon-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-minus"><span class="ui-icon ui-icon-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-minusthick"><span class="ui-icon ui-icon-minusthick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-close"><span class="ui-icon ui-icon-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-closethick"><span class="ui-icon ui-icon-closethick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-key"><span class="ui-icon ui-icon-key"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-lightbulb"><span class="ui-icon ui-icon-lightbulb"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-scissors"><span class="ui-icon ui-icon-scissors"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-clipboard"><span class="ui-icon ui-icon-clipboard"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-copy"><span class="ui-icon ui-icon-copy"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-contact"><span class="ui-icon ui-icon-contact"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-image"><span class="ui-icon ui-icon-image"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-video"><span class="ui-icon ui-icon-video"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-script"><span class="ui-icon ui-icon-script"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-alert"><span class="ui-icon ui-icon-alert"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-info"><span class="ui-icon ui-icon-info"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-notice"><span class="ui-icon ui-icon-notice"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-help"><span class="ui-icon ui-icon-help"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-bullet"><span class="ui-icon ui-icon-bullet"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-radio-off"><span class="ui-icon ui-icon-radio-off"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-radio-on"><span class="ui-icon ui-icon-radio-on"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pin-w"><span class="ui-icon ui-icon-pin-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pin-s"><span class="ui-icon ui-icon-pin-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-play"><span class="ui-icon ui-icon-play"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pause"><span class="ui-icon ui-icon-pause"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-next"><span class="ui-icon ui-icon-seek-next"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-prev"><span class="ui-icon ui-icon-seek-prev"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-end"><span class="ui-icon ui-icon-seek-end"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-first"><span class="ui-icon ui-icon-seek-first"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-stop"><span class="ui-icon ui-icon-stop"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-eject"><span class="ui-icon ui-icon-eject"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-volume-off"><span class="ui-icon ui-icon-volume-off"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-volume-on"><span class="ui-icon ui-icon-volume-on"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-power"><span class="ui-icon ui-icon-power"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-signal-diag"><span class="ui-icon ui-icon-signal-diag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-signal"><span class="ui-icon ui-icon-signal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-0"><span class="ui-icon ui-icon-battery-0"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-1"><span class="ui-icon ui-icon-battery-1"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-2"><span class="ui-icon ui-icon-battery-2"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-3"><span class="ui-icon ui-icon-battery-3"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-plus"><span class="ui-icon ui-icon-circle-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-minus"><span class="ui-icon ui-icon-circle-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-close"><span class="ui-icon ui-icon-circle-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-e"><span class="ui-icon ui-icon-circle-triangle-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-s"><span class="ui-icon ui-icon-circle-triangle-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-w"><span class="ui-icon ui-icon-circle-triangle-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-n"><span class="ui-icon ui-icon-circle-triangle-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-e"><span class="ui-icon ui-icon-circle-arrow-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-s"><span class="ui-icon ui-icon-circle-arrow-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-w"><span class="ui-icon ui-icon-circle-arrow-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-n"><span class="ui-icon ui-icon-circle-arrow-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomin"><span class="ui-icon ui-icon-circle-zoomin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomout"><span class="ui-icon ui-icon-circle-zoomout"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-check"><span class="ui-icon ui-icon-circle-check"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-plus"><span class="ui-icon ui-icon-circlesmall-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-minus"><span class="ui-icon ui-icon-circlesmall-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-close"><span class="ui-icon ui-icon-circlesmall-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-plus"><span class="ui-icon ui-icon-squaresmall-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-minus"><span class="ui-icon ui-icon-squaresmall-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-close"><span class="ui-icon ui-icon-squaresmall-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-vertical"><span class="ui-icon ui-icon-grip-dotted-vertical"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-horizontal"><span class="ui-icon ui-icon-grip-dotted-horizontal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-vertical"><span class="ui-icon ui-icon-grip-solid-vertical"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-horizontal"><span class="ui-icon ui-icon-grip-solid-horizontal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-gripsmall-diagonal-se"><span class="ui-icon ui-icon-gripsmall-diagonal-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li>
</ul>
<!-- Slider -->
<h2 class="demoHeaders">Slider</h2>
<div id="slider"></div>
<!-- Datepicker -->
<h2 class="demoHeaders">Datepicker</h2>
<div id="datepicker"></div>
<!-- Progressbar -->
<h2 class="demoHeaders">Progressbar</h2>
<div id="progressbar"></div>
<!-- Progressbar -->
<h2 class="demoHeaders">Selectmenu</h2>
<select id="selectmenu">
<option>Slower</option>
<option>Slow</option>
<option selected="selected">Medium</option>
<option>Fast</option>
<option>Faster</option>
</select>
<!-- Spinner -->
<h2 class="demoHeaders">Spinner</h2>
<input id="spinner">
<!-- Menu -->
<h2 class="demoHeaders">Menu</h2>
<ul style="width:100px;" id="menu">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3
<ul>
<li>Item 3-1</li>
<li>Item 3-2</li>
<li>Item 3-3</li>
<li>Item 3-4</li>
<li>Item 3-5</li>
</ul>
</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<!-- Tooltip -->
<h2 class="demoHeaders">Tooltip</h2>
<p id="tooltip">
<a href="#" title="That&apos;s what this widget is">Tooltips</a> can be attached to any element. When you hover
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
</p>
<!-- Highlight / Error -->
<h2 class="demoHeaders">Highlight / Error</h2>
<div class="ui-widget">
<div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;">
<p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
<strong>Hey!</strong> Sample ui-state-highlight style.</p>
</div>
</div>
<br>
<div class="ui-widget">
<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
<strong>Alert:</strong> Sample ui-state-error style.</p>
</div>
</div>
<script src="external/jquery/jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
$( "#accordion" ).accordion();
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#autocomplete" ).autocomplete({
source: availableTags
});
$( "#button" ).button();
$( "#radioset" ).buttonset();
$( "#tabs" ).tabs();
$( "#dialog" ).dialog({
autoOpen: false,
width: 400,
buttons: [
{
text: "Ok",
click: function() {
$( this ).dialog( "close" );
}
},
{
text: "Cancel",
click: function() {
$( this ).dialog( "close" );
}
}
]
});
// Link to open the dialog
$( "#dialog-link" ).click(function( event ) {
$( "#dialog" ).dialog( "open" );
event.preventDefault();
});
$( "#datepicker" ).datepicker({
inline: true
});
$( "#slider" ).slider({
range: true,
values: [ 17, 67 ]
});
$( "#progressbar" ).progressbar({
value: 20
});
$( "#spinner" ).spinner();
$( "#menu" ).menu();
$( "#tooltip" ).tooltip();
$( "#selectmenu" ).selectmenu();
// Hover states on the static widgets
$( "#dialog-link, #icons li" ).hover(
function() {
$( this ).addClass( "ui-state-hover" );
},
function() {
$( this ).removeClass( "ui-state-hover" );
}
);
</script>
</body>
</html>

1225
core/jquery-ui-1.11.2/jquery-ui.css vendored Executable file

File diff suppressed because it is too large Load Diff

16582
core/jquery-ui-1.11.2/jquery-ui.js vendored Executable file

File diff suppressed because it is too large Load Diff

7
core/jquery-ui-1.11.2/jquery-ui.min.css vendored Executable file

File diff suppressed because one or more lines are too long

13
core/jquery-ui-1.11.2/jquery-ui.min.js vendored Executable file

File diff suppressed because one or more lines are too long

833
core/jquery-ui-1.11.2/jquery-ui.structure.css vendored Executable file
View File

@ -0,0 +1,833 @@
/*!
* jQuery UI CSS Framework 1.11.2
* http://jqueryui.com
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.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:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0); /* support: IE8 */
}
.ui-front {
z-index: 100;
}
/* 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: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-draggable-handle {
-ms-touch-action: none;
touch-action: none;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
-ms-touch-action: none;
touch-action: none;
}
.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: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
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;
}
.ui-selectable {
-ms-touch-action: none;
touch-action: none;
}
.ui-selectable-helper {
position: absolute;
z-index: 100;
border: 1px dotted black;
}
.ui-sortable-handle {
-ms-touch-action: none;
touch-action: none;
}
.ui-accordion .ui-accordion-header {
display: block;
cursor: pointer;
position: relative;
margin: 2px 0 0 0;
padding: .5em .5em .5em .7em;
min-height: 0; /* support: IE7 */
font-size: 100%;
}
.ui-accordion .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
position: absolute;
left: .5em;
top: 50%;
margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
padding: 1em 2.2em;
border-top: 0;
overflow: auto;
}
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
.ui-button {
display: inline-block;
position: relative;
padding: 0;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
width: 2.4em;
}
.ui-button-icons-only {
width: 3.4em;
}
button.ui-button-icons-only {
width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
display: block;
line-height: normal;
}
.ui-button-text-only .ui-button-text {
padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
padding: .4em;
text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
padding-left: 2.1em;
padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
padding: .4em 1em;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
position: absolute;
top: 50%;
margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
left: 50%;
margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
right: .5em;
}
/* button sets */
.ui-buttonset {
margin-right: 7px;
}
.ui-buttonset .ui-button {
margin-left: 0;
margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-datepicker {
width: 17em;
padding: .2em .2em 0;
display: none;
}
.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 {
font-size: 1em;
margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 45%;
}
.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,
.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%;
font-size: 0;
}
/* 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,
.ui-datepicker-rtl .ui-datepicker-group {
float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
border-right-width: 0;
border-left-width: 1px;
}
.ui-dialog {
overflow: hidden;
position: absolute;
top: 0;
left: 0;
padding: .2em;
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .4em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 20px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
padding: .5em 1em;
background: none;
overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-se {
width: 12px;
height: 12px;
right: -5px;
bottom: -5px;
background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.ui-menu {
list-style: none;
padding: 0;
margin: 0;
display: block;
outline: none;
}
.ui-menu .ui-menu {
position: absolute;
}
.ui-menu .ui-menu-item {
position: relative;
margin: 0;
padding: 3px 1em 3px .4em;
cursor: pointer;
min-height: 0; /* support: IE7 */
/* support: IE10, see #8844 */
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-divider {
margin: 5px 0;
height: 0;
font-size: 0;
line-height: 0;
border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
margin: -1px;
}
/* icon support */
.ui-menu-icons {
position: relative;
}
.ui-menu-icons .ui-menu-item {
padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
position: absolute;
top: 0;
bottom: 0;
left: .2em;
margin: auto 0;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
left: auto;
right: 0;
}
.ui-progressbar {
height: 2em;
text-align: left;
overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
margin: -1px;
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
height: 100%;
filter: alpha(opacity=25); /* support: IE8 */
opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
background-image: none;
}
.ui-selectmenu-menu {
padding: 0;
margin: 0;
position: absolute;
top: 0;
left: 0;
display: none;
}
.ui-selectmenu-menu .ui-menu {
overflow: auto;
/* Support: IE7 */
overflow-x: hidden;
padding-bottom: 1px;
}
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
font-size: 1em;
font-weight: bold;
line-height: 1.5;
padding: 2px 0.4em;
margin: 0.5em 0 0 0;
height: auto;
border: 0;
}
.ui-selectmenu-open {
display: block;
}
.ui-selectmenu-button {
display: inline-block;
overflow: hidden;
position: relative;
text-decoration: none;
cursor: pointer;
}
.ui-selectmenu-button span.ui-icon {
right: 0.5em;
left: auto;
margin-top: -8px;
position: absolute;
top: 50%;
}
.ui-selectmenu-button span.ui-selectmenu-text {
text-align: left;
padding: 0.4em 2.1em 0.4em 1em;
display: block;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.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;
-ms-touch-action: none;
touch-action: none;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: .7em;
display: block;
border: 0;
background-position: 0 0;
}
/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
filter: inherit;
}
.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;
}
.ui-spinner {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0;
vertical-align: middle;
}
.ui-spinner-input {
border: none;
background: none;
color: inherit;
padding: 0;
margin: .2em 0;
vertical-align: middle;
margin-left: .4em;
margin-right: 22px;
}
.ui-spinner-button {
width: 16px;
height: 50%;
font-size: .5em;
padding: 0;
margin: 0;
text-align: center;
position: absolute;
cursor: default;
display: block;
overflow: hidden;
right: 0;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
border-top: none;
border-bottom: none;
border-right: none;
}
/* vertically center icon */
.ui-spinner .ui-icon {
position: absolute;
margin-top: -8px;
top: 50%;
left: 0;
}
.ui-spinner-up {
top: 0;
}
.ui-spinner-down {
bottom: 0;
}
/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
/* need to fix icons sprite */
background-position: -65px -16px;
}
.ui-tabs {
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 0;
margin: 1px .2em 0 0;
border-bottom-width: 0;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
-webkit-box-shadow: 0 0 5px #aaa;
box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
border-width: 2px;
}

File diff suppressed because one or more lines are too long

410
core/jquery-ui-1.11.2/jquery-ui.theme.css vendored Executable file
View File

@ -0,0 +1,410 @@
/*!
* jQuery UI CSS Framework 1.11.2
* http://jqueryui.com
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=%23444444&bgTextureHeader=highlight_soft&bgImgOpacityHeader=44&borderColorHeader=%23333333&fcHeader=%23ffffff&iconColorHeader=%23ffffff&bgColorContent=%23000000&bgTextureContent=flat&bgImgOpacityContent=25&borderColorContent=%23555555&fcContent=%23ffffff&iconColorContent=%23cccccc&bgColorDefault=%23222222&bgTextureDefault=highlight_soft&bgImgOpacityDefault=35&borderColorDefault=%23444444&fcDefault=%23eeeeee&iconColorDefault=%23cccccc&bgColorHover=%233a3a3a&bgTextureHover=highlight_soft&bgImgOpacityHover=33&borderColorHover=%23d3d3d3&fcHover=%23ffffff&iconColorHover=%23ffffff&bgColorActive=%23787878&bgTextureActive=highlight_hard&bgImgOpacityActive=20&borderColorActive=%23cccccc&fcActive=%23ffffff&iconColorActive=%23222222&bgColorHighlight=%23eeeeee&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=80&borderColorHighlight=%23cccccc&fcHighlight=%23000000&iconColorHighlight=%234b8e0b&bgColorError=%23ffc73d&bgTextureError=glass&bgImgOpacityError=40&borderColorError=%23ffb73d&fcError=%23111111&iconColorError=%23a83300&bgColorOverlay=%235c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=%23cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px
*/
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Verdana,Arial,sans-serif;
font-size: 1.1em;
}
.ui-widget .ui-widget {
font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
font-family: Verdana,Arial,sans-serif;
font-size: 1em;
}
.ui-widget-content {
border: 1px solid #555555;
background: #000000 url("images/ui-bg_flat_25_000000_40x100.png") 50% 50% repeat-x;
color: #ffffff;
}
.ui-widget-content a {
color: #ffffff;
}
.ui-widget-header {
border: 1px solid #333333;
background: #444444 url("images/ui-bg_highlight-soft_44_444444_1x100.png") 50% 50% repeat-x;
color: #ffffff;
font-weight: bold;
}
.ui-widget-header a {
color: #ffffff;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #444444;
background: #222222 url("images/ui-bg_highlight-soft_35_222222_1x100.png") 50% 50% repeat-x;
font-weight: normal;
color: #eeeeee;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
color: #eeeeee;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #d3d3d3;
background: #3a3a3a url("images/ui-bg_highlight-soft_33_3a3a3a_1x100.png") 50% 50% repeat-x;
font-weight: normal;
color: #ffffff;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
color: #ffffff;
text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #cccccc;
background: #787878 url("images/ui-bg_highlight-hard_20_787878_1x100.png") 50% 50% repeat-x;
font-weight: normal;
color: #ffffff;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #ffffff;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #cccccc;
background: #eeeeee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x;
color: #000000;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #000000;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #ffb73d;
background: #ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x;
color: #111111;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #111111;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #111111;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70); /* support: IE8 */
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35); /* support: IE8 */
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url("images/ui-icons_cccccc_256x240.png");
}
.ui-widget-header .ui-icon {
background-image: url("images/ui-icons_ffffff_256x240.png");
}
.ui-state-default .ui-icon {
background-image: url("images/ui-icons_cccccc_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url("images/ui-icons_ffffff_256x240.png");
}
.ui-state-active .ui-icon {
background-image: url("images/ui-icons_222222_256x240.png");
}
.ui-state-highlight .ui-icon {
background-image: url("images/ui-icons_4b8e0b_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url("images/ui-icons_a83300_256x240.png");
}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.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-on { background-position: -96px -144px; }
.ui-icon-radio-off { 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-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.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-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 6px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 6px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 6px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 6px;
}
/* Overlays */
.ui-widget-overlay {
background: #5c5c5c url("images/ui-bg_flat_50_5c5c5c_40x100.png") 50% 50% repeat-x;
opacity: .8;
filter: Alpha(Opacity=80); /* support: IE8 */
}
.ui-widget-shadow {
margin: -7px 0 0 -7px;
padding: 7px;
background: #cccccc url("images/ui-bg_flat_30_cccccc_40x100.png") 50% 50% repeat-x;
opacity: .6;
filter: Alpha(Opacity=60); /* support: IE8 */
border-radius: 8px;
}

File diff suppressed because one or more lines are too long

1
core/jquery.touchSwipe.min.js vendored Executable file

File diff suppressed because one or more lines are too long

1747
core/jquery.wheelcolorpicker.js Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
{
"name": "wheelcolorpicker",
"version": "2.2.0",
"download": "http://files.jar2.net/jquery/wheelcolorpicker/jquery.wheelcolorpicker-2.2.0.zip",
"title": "Wheel Color Picker",
"description": "A jQuery plugin to add color picker functionality to HTML form inputs in the round color wheel fashion.",
"keywords": [
"ui",
"form",
"input",
"color",
"colorpicker"
],
"author": {
"name": "Fajar Chandra",
"url": "http://www.jar2.net"
},
"licenses": [
{
"type": "MIT",
"url": "http://opensource.org/licenses/MIT"
}
],
"bugs": "https://github.com/fujaru/jquery-wheelcolorpicker/issues",
"homepage": "http://www.jar2.net/projects/jquery-wheelcolorpicker",
"demo": "http://www.jar2.net/projects/jquery-wheelcolorpicker",
"docs": "https://github.com/fujaru/jquery-wheelcolorpicker/wiki",
"dependencies": {
"jquery": ">=1.7"
}
}

BIN
css/images/alpha.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

BIN
css/images/crosshair.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

BIN
css/images/slider.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

BIN
css/images/wheel-dark.500.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
css/images/wheel.500.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
css/images/wheel.500.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

110
css/main.css Executable file
View File

@ -0,0 +1,110 @@
.active {
background-color: orange;
}
html, body {
padding: 0px;
margin: 0px;
}
body {
background-color: #1C1C1C;
color: #D8D8D8;
}
div.mainbody {
width: 97%;
min-height: 700px;
margin-left: auto;
margin-right: auto;
text-align: center;
padding: 4px;
color: #D8D8D8;
font-family: Futura, Arial;
font-size: 18pt;
font-weight: bold;
}
p {
margin: 0px;
padding: 0px;
margin-bottom: 8px;
}
input[type=button] {
/* background-color: #D8D8D8; */
color: #1C1C1C;
font-family: Futura, Arial;
font-size: 14pt;
font-weight: bold;
cursor: pointer;
border-radius: 0.25em;
margin-left: 0;
margin-top: 0;
}
.bc_red {
background-color: red;
}
.bc_green {
background-color: green;
}
.bc_blue {
background-color: #4444ff;
}
.bc_cyan {
background-color: cyan;
}
.bc_purple {
background-color: #ff0cf3;
}
.bc_orange {
background-color: orange;
}
.buttonfull {
width: 95%;
}
.buttonhalf {
width: 47%;
}
.buttonthird {
width: 31%;
}
.buttonquarter {
width: 23%;
}
.buttonsixth {
width: 14.5%;
}
#tabs {
padding: 0px;
background: none;
border-width: 0px;
}
#tabs .ui-tabs-nav {
border-color: #D8D8D8;
padding-left: 0px;
background: transparent;
border-width: 0px 0px 1px 0px;
border-radius: 0px;
}
#tabs .ui-tabs-nav .ui-state-default {
background: transparent;
}
#tabs .ui-tabs-nav .ui-state-active {
background: #D8D8D8;
border: #D8D8D8;
}
#tabs .ui-tabs-nav .ui-state-default a {
color: #D8D8D8;
padding: 6px;
}
#tabs .ui-tabs-nav .ui-state-active a {
color: #1C1C1C;
padding: 6px;
}
#tabs .ui-tabs-nav li {
font-size: 50%;
font-family: Futura, Arial;
font-weight: bold;
top: 0px;
margin: 0em;
}
#tabs .ui-tabs-panel {
color: #D8D8D8;
padding: 0px;
}

115
css/wheelcolorpicker.css Executable file
View File

@ -0,0 +1,115 @@
/**
* jQuery Wheel Color Picker
* Base Stylesheet
*
* http://www.jar2.net/projects/jquery-wheelcolorpicker
*
* Copyright © 2011 Fajar Chandra. All rights reserved.
* Released under MIT License.
* http://www.opensource.org/licenses/mit-license.php
*
* Note: Width, height, left, and top properties are handled by the
* plugin. Please do not change these values.
*/
.jQWCP-wWidget {
position: absolute;
width: 420px;
height: 180px;
background: #eee;
box-shadow: 1px 1px 4px #000;
border-radius: 4px;
border: solid 1px #aaa;
padding: 10px;
}
.jQWCP-wWidget.jQWCP-block {
position: relative;
border-top-color: #aaa;
border-left-color: #aaa;
border-right-color: #ddd;
border-bottom-color: #ddd;
box-shadow: -1px -1px 1px #666;
}
.jQWCP-wWheel {
background: url('images/wheel.500.jpg') no-repeat center center;
background-size: contain;
position: relative;
float: left;
width: 180px;
height: 180px;
border-radius: 50%;
border: solid 1px #aaa;
margin: -1px;
transition: border .15s;
}
.jQWCP-wWheel:hover {
border-color: #666;
}
.jQWCP-wWheelOverlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #000;
opacity: 0;
border-radius: 50%;
}
.jQWCP-wWheelCursor {
background: url('images/crosshair.png') no-repeat center center;
width: 19px;
height: 19px;
margin: -9px 0 0 -9px;
position: absolute;
top: 50%;
left: 50%;
}
.jQWCP-slider-wrapper,
.jQWCP-wPreview {
position: relative;
width: 20px;
height: 180px;
float: left;
margin-left: 10px;
}
.jQWCP-slider,
.jQWCP-wPreviewBox {
position: absolute;
width: 20px;
height: 180px;
left: 0;
top: 0;
border: solid 1px #aaa;
margin: -1px;
border-radius: 4px;
transition: border .15s;
}
.jQWCP-slider-wrapper:hover .jQWCP-slider {
border-color: #666;
}
.jQWCP-scursor {
position: absolute;
left: 0;
top: 0;
background: url('images/slider.png') no-repeat center center;
width: 26px;
height: 19px;
margin: -9px 0 0 -3px;
}
.jQWCP-wAlphaSlider {
background: url('images/alpha.png');
}
.jQWCP-wPreviewBox {
background: url('images/alpha.png');
}

35
css/wheelcolorpicker.dark.css Executable file
View File

@ -0,0 +1,35 @@
/**
* jQuery Wheel Color Picker
* Dark variant Stylesheet
*
* http://www.jar2.net/projects/jquery-wheelcolorpicker
*
* Copyright © 2011 Fajar Chandra. All rights reserved.
* Released under MIT License.
* http://www.opensource.org/licenses/mit-license.php
*/
@import url('wheelcolorpicker.css');
.jQWCP-wWidget {
background: #222;
border-color: #444;
}
.jQWCP-wWidget.jQWCP-block {
position: relative;
border-top-color: #070707;
border-left-color: #070707;
border-right-color: #aaa;
border-bottom-color: #aaa;
box-shadow: -1px -1px 1px #000;
}
.jQWCP-wWheel {
background-image: url('images/wheel-dark.500.jpg');
border-color: #444;
}
.jQWCP-slider {
border-color: #444;
}

5
dev/about Executable file
View File

@ -0,0 +1,5 @@
This directory contains scripts used to compute
and generate images, such as the color wheel used
by the project.
Running the scripts require a web server with PHP support.

31
dev/cross.php Executable file
View File

@ -0,0 +1,31 @@
<?
/**
* Crosshair Generator
*
* This file is used only to generate crosshair image and not needed
* for the Wheel Color Picker plugin.
*
* Copyright © 2011 Fajar Yoseph Chandra. All rights reserved.
* Licensed under MIT License.
* http://www.opensource.org/licenses/mit-license.php
*/
header("Content-type: image/png");
header("Content-disposition: inline; filename=cross.png");
// Create transparent image
$img = imagecreatetruecolor(11, 11);
imagealphablending($img, false);
$background = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $background);
imagealphablending($img, true);
imagesetthickness($img, 5);
imageellipse($img, 5, 5, 11, 11, 0x0);
imageellipse($img, 5, 5, 9, 9, 0x0);
imageellipse($img, 5, 5, 7, 7, 0x0);
// Output resulting image
imagesavealpha($img, true);
imagepng($img);
imagedestroy($img);

88
dev/slider.svg Executable file
View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="26"
height="19"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="cursor-slider.svg"
inkscape:export-filename="/home/fajar/Projects/Doublejar/WheelColorPicker (jQuery)/jquery.wheelcolorpicker/dev/cursor-slider.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<filter
inkscape:collect="always"
id="filter3805"
x="-0.087"
width="1.174"
y="-0.19333333"
height="1.3866667">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.725"
id="feGaussianBlur3807" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="3.9911866"
inkscape:cy="10.040887"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="717"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1033.3622)">
<rect
ry="4.5"
y="1038.8622"
x="3.5"
height="9"
width="20"
id="rect3755"
style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:0.50196081000000004;stroke-dasharray:none;opacity:1;filter:url(#filter3805)" />
<rect
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1"
id="rect2985"
width="20"
height="9"
x="3"
y="1038.3622"
ry="4.5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

133
dev/wheel.php Executable file
View File

@ -0,0 +1,133 @@
<?php
/**
* Color Wheel Generator
*
* This file is used only to generate color wheel image and not needed
* for the Wheel Color Picker plugin.
*
* This script requires GD library.
*
* Copyright © 2011 Fajar Yoseph Chandra. All rights reserved.
* Licensed under MIT License.
* http://www.opensource.org/licenses/mit-license.php
*/
/**
* Converts hsv to rgb value
* $h - Hue in degree [0, 360]
* $s - Sat [0, 1]
* $v - Value [0, 1]
* Return: array of R, G, B
*/
function hsv2rgb($h, $s, $v) {
$c = $v * $s;
$h1 = $h/60;
$x = $c * (1 - abs($h1 % 2 - 1));
$rgb = array('r' => 0, 'g' => 0, 'b' => 0);
if($h >= 0 && $h < 1) {
$rgb[r] = $c;
$rgb[g] = $x;
$rgb[b] = 0;
}
elseif($h >= 1 && $h < 2) {
$rgb[r] = $x;
$rgb[g] = $c;
$rgb[b] = 0;
}
elseif($h >= 2 && $h < 3) {
$rgb[r] = 0;
$rgb[g] = $c;
$rgb[b] = $x;
}
elseif($h >= 3 && $h < 4) {
$rgb[r] = 0;
$rgb[g] = $x;
$rgb[b] = $c;
}
elseif($h >= 4 && $h < 5) {
$rgb[r] = $x;
$rgb[g] = 0;
$rgb[b] = $c;
}
elseif($h >= 5 && $h < 6) {
$rgb[r] = $c;
$rgb[g] = 0;
$rgb[b] = $x;
}
$m = $v - $c;
$rgb[r] = $rgb[r] + $m;
$rgb[g] = $rgb[g] + $m;
$rgb[b] = $rgb[b] + $m;
return $rgb;
}
header("Content-type: image/png");
header("Content-disposition: inline; filename=wheel.png");
$w = isset($_REQUEST['w']) ? $_REQUEST['w'] : 256;
$h = isset($_REQUEST['h']) ? $_REQUEST['h'] : 256;
$center = array('x' => $w/2, 'y' => $h/2);
$r = ($w > $h) ? $h/2 : $w/2;
// Create transparent image
$img = imagecreatetruecolor($w, $h);
imagealphablending($img, false);
$background = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $background);
imagealphablending($img, true);
// Circle
//imagefilledellipse($img, $center[x], $center[y], $r*2, $r*2, 0x00000000);
// Fill the wheel with colors
for($y = 0; $y < $h; $y++) {
for($x = 0; $x < $h; $x++) {
// Get the offset from central position
$offset = sqrt(pow($x-$center['x'], 2) + pow($y-$center['y'], 2));
// Skip pixel outside the circle area
if($offset > $r)
continue;
// Get the position degree (hue)
$deg = (
($x-$center['x'] == 0
? ($y < $center['x'] ? 90 : 270)
: rad2deg(atan(($center['y']-$y)/($x-$center['x'])))
)
+($x < $center['x'] ? 180 : 0)
+360
)%360;
// Relative Offset (sat)
$sat = $offset/$r;
// Value is always 1
$val = 1;
// Calculate color
$cr = (abs($deg+360)+60)%360 < 120 ? 1
: ($deg > 240 ? (120-abs($deg-360))/60
: ($deg < 120 ? (120-$deg)/60
: 0));
$cg = abs($deg-120) < 60 ? 1
: (abs($deg-120) < 120 ? (120-abs($deg-120))/60
: 0);
$cb = abs($deg-240) < 60 ? 1
: (abs($deg-240) < 120 ? (120-abs($deg-240))/60
: 0);
$pr = ($cr + (1-$cr)*(1-$sat)) * 255;
$pg = ($cg + (1-$cg)*(1-$sat)) * 255;
$pb = ($cb + (1-$cb)*(1-$sat)) * 255;
$rgb = sprintf("0x%02x%02x%02x", $pr, $pg, $pb);
imagesetpixel($img, $x, $y, $rgb);
}
}
// Border
//imageellipse($img, $center[x], $center[y], $r*2, $r*2, 0x00000000);
// Output resulting image
imagesavealpha($img, true);
imagepng($img);
imagedestroy($img);

15
functions.php Normal file
View File

@ -0,0 +1,15 @@
<?php
function transmitMessage($data = null) {
if ( $data == null ) return false;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
for ( $i=0; $i<MESSAGECOUNT; $i++ ) {
socket_sendto($sock, $data, strlen($data), 0, LEDADDRESS, UDPPORT);
if ( $i < (MESSAGECOUNT - 1) ) usleep(5000);
}
socket_close($sock);
return true;
}
?>

27
getpatterns.php Normal file
View File

@ -0,0 +1,27 @@
<?php
require 'header.php';
define("DBHOST", "storage.basement.lan");
define("DBNAME", "ledcolors");
define("DBUSER", "root");
define("DBPASS", "CeleryStalk");
// Make our PDO database connection which will be used in all scripts
$globaldbh = new PDO("mysql:host=" . DBHOST . ";dbname=" . DBNAME, DBUSER, DBPASS);
$query = "SELECT id, name FROM patterns ORDER BY name";
$sth = $globaldbh->prepare($query);
$sth->execute();
$patterns = array();
while ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) {
$patterns[] = $row['name'];
}
$msg = "";
foreach ( $patterns as $pattern ) {
$msg .= $pattern . ",";
}
$msg = substr($msg, 0, -1);
echo $msg;

15
header.php Normal file
View File

@ -0,0 +1,15 @@
<?php
require 'config.php';
require 'functions.php';
if ( php_sapi_name() != "cli" ) {
session_name("LEDCONTROL");
session_start();
if ( !isset($_SESSION['LEDTARGETID']) ) {
$_SESSION['LEDTARGETID'] = 0;
}
}
?>

7
htmlfooter.php Normal file
View File

@ -0,0 +1,7 @@
<script type='text/javascript' src='core/jquery-1.11.1.min.js'></script>
<script type='text/javascript' src='core/jquery-ui-1.11.2/jquery-ui.min.js'></script>
<script type='text/javascript' src='core/jquery.touchSwipe.min.js'></script>
<script type='text/javascript' src='core/jquery.wheelcolorpicker.js'></script>
<script type='text/javascript' src='js/minimal.js'></script>
</body>
</html>

21
htmlheader.php Normal file
View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=3.0, width=device-width, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<link rel="icon" sizes="128x128" href="img/ic_LEDColors_128x128.png" />
<link rel="icon" sizes="192x192" href="img/ic_LEDColors_192x192.png" />
<link rel="apple-touch-icon" sizes="57x57" href="img/ic_LEDColors_57x57.png" />
<link rel="apple-touch-icon" sizes="76x76" href="img/ic_LEDColors_76x76.png" />
<link rel="apple-touch-icon" sizes="120x120" href="img/ic_LEDColors_120x120.png" />
<link rel="apple-touch-icon" sizes="152x152" href="img/ic_LEDColors_152x152.png" />
<link rel="apple-touch-icon" sizes="167x167" href="img/ic_LEDColors_167x167.png" />
<link rel="apple-touch-icon" sizes="180x180" href="img/ic_LEDColors_180x180.png" />
<link rel='stylesheet' href='core/jquery-ui-1.11.2/jquery-ui.min.css' />
<link rel='stylesheet' href='css/wheelcolorpicker.css' />
<link rel='stylesheet' href='css/main.css' />
<title>LED Colors</title>
</head>
<body>

BIN
img/ic_LEDColors_120x120.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
img/ic_LEDColors_128x128.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
img/ic_LEDColors_152x152.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
img/ic_LEDColors_167x167.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
img/ic_LEDColors_180x180.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
img/ic_LEDColors_192x192.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
img/ic_LEDColors_57x57.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
img/ic_LEDColors_76x76.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

60
index.php Normal file
View File

@ -0,0 +1,60 @@
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
require 'header.php';
require "htmlheader.php";
?>
<div id='mainbody' class='mainbody'>
<div id='tabs'>
<ul>
<li><a href='#main'>Main</a></li>
<li><a href='#picker'>Picker</a></li>
</ul>
<div id='main'>
<p><input type='button' class='buttonquarter' value='ALL' onClick='setTarget(0);' id='active-all'>
<input type='button' class='buttonquarter' value='CABU' onClick='setTarget(2);' id='active-up'>
<input type='button' class='buttonquarter' value='CABD' onClick='setTarget(1);' id='active-down'>
<input type='button' class='buttonquarter' value='WALL' onClick='setTarget(3);' id='active-wall'></p>
<input type='button' class='buttonquarter' value='CLDN' onClick='setTarget(5);' id='active-cldn'>
<input type='button' class='buttonquarter' value='GZBO' onClick='setTarget(6);' id='active-gzbo'>
<input type='button' class='buttonquarter' value='CCCC' onClick='setTarget(7);' id='active-cccc'>
<input type='button' class='buttonquarter' value='POST' onClick='setTarget(4);' id='active-post'></p>
<p><input type='button' class='buttonthird' value='Go Crazy' onClick='setPattern("crazy");'>
<input type='button' class='buttonthird' value='Christmas' onClick='setPattern("christmas");'>
<input type='button' class='buttonthird' value='4th of July' onClick='setPattern("julyfourth");'></p>
<!-- <input type='button' style='height: 3em; margin-bottom: 0.25em; width: 20em;' value='Red Green Blue' onClick='setPattern("rgb");'><br /> -->
<p><input type='button' class='buttonthird' value='Easter' onClick='setPattern("easter");'>
<input type='button' class='buttonthird' value='Halloween' onClick='setPattern("halloween");'>
<input type='button' class='buttonthird' value='Thanksgiving' onClick='setPattern("thanksgiving");'></p>
<p><input type='button' class='buttonthird' value='Cinco de Mayo' onClick='setPattern("mexico");'>
<input type='button' class='buttonthird' value='WSU' onClick='setPattern("wsu");'>
<input type='button' class='buttonthird' value='Cauldron' onClick='setPattern("cauldron");'></p>
<p><input type='button' class='buttonfull' value='Be Mellow' onClick='setPattern("mellow");'></p>
<p><input type='button' class='buttonsixth bc_red' value='Rd' onClick="$('#colorwheel').val('FF0000'); setColor();">
<input type='button' class='buttonsixth bc_green' value='Gr' onClick="$('#colorwheel').val('00FF00'); setColor();">
<input type='button' class='buttonsixth bc_blue' value='Bl' onClick="$('#colorwheel').val('0000FF'); setColor();">
<input type='button' class='buttonsixth bc_cyan' value='Cy' onClick="$('#colorwheel').val('09f6ff'); setColor();">
<input type='button' class='buttonsixth bc_purple' value='Pr' onClick="$('#colorwheel').val('d208ff'); setColor();">
<input type='button' class='buttonsixth bc_orange' value='Or' onClick="$('#colorwheel').val('ff5509'); setColor();"></p>
<!-- <input type='button' style='height: 3em; margin-bottom: 0.25em; width: 20em;' value='Mellow Random' onClick='setPattern("crazymellow");'><br /> -->
<p><input type='button' class='buttonhalf' value='Disable Auto' onClick='disableAuto();'>
<input type='button' class='buttonhalf' value='Lights Off' onClick='lightsOff()';></p>
<p>White: <input type='button' value='25%' onClick="$('#colorwheel').val('3F3F38'); setColor();">
<input type='button' value='50%' onClick="$('#colorwheel').val('7F7F72'); setColor();">
<input type='button' value='75%' onClick="$('#colorwheel').val('BFBFAC'); setColor();">
<input type='button' value='100%' onClick="$('#colorwheel').val('FFFFE5'); setColor();"></p>
</div>
<div id='picker'>
<input type='button' style='height: 3em; margin-bottom: 0.25em; width: 8em;' value='Set Color' onClick='setColor();'>
<input type='text' name='colorwheel' id='colorwheel' value='ff0000' /><br />
</div>
</div>
</div>
<?php
require "htmlfooter.php";

1
install/.htaccess Normal file
View File

@ -0,0 +1 @@
Require all denied

1
install/README.md Normal file
View File

@ -0,0 +1 @@
## Files required for project installation

60
js/minimal.js Executable file
View File

@ -0,0 +1,60 @@
$(document).ready(function() {
$('#tabs').tabs();
$('#colorwheel').wheelColorPicker();
getActive();
});
function setColor() {
var color = $('#colorwheel').val();
console.log(color);
$.ajax({
url: 'ajax/ajax_setcolor.php',
data: {color: color}
});
}
function setPattern(pattern) {
$.ajax({
url: 'ajax/ajax_setpattern.php',
data: {pattern: pattern}
});
}
function disableAuto() {
$.ajax({
url: 'ajax/ajax_disableauto.php'
});
}
function lightsOff() {
$.ajax({
url: 'ajax/ajax_lightsoff.php'
});
}
function getActive() {
$.ajax({
url: 'ajax/ajax_getactive.php',
dataType: 'text',
success: function(data, stat, jqo) {
$("#active-all").removeClass('active');
$("#active-up").removeClass('active');
$("#active-down").removeClass('active');
$("#active-wall").removeClass('active');
$("#active-cldn").removeClass('active');
$("#active-post").removeClass('active');
$("#" + data).addClass('active');
}
});
}
function setTarget(id) {
$.ajax({
url: 'ajax/ajax_settarget.php',
data: {target: id},
dataType: 'text',
success: function(data, stat, jqo) {
getActive();
}
});
}

25
setcolor.php Normal file
View File

@ -0,0 +1,25 @@
<?php
require 'header.php';
if ( !isset($_REQUEST['c']) ) exit();
if ( !isset($_REQUEST['t']) ) exit();
$hex = $_REQUEST['c'];
$targets = $_REQUEST['t'];
$command = 0x01;
$unique = mt_rand(1, 2000000000);
$red = hexdec(substr($hex, 0, 2));
$green = hexdec(substr($hex, 2, 2));
$blue = hexdec(substr($hex, 4, 2));
var_dump($targets);
foreach ( $targets as $target ) {
$target = intval($target);
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCLLCCC", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target, 1, $red, $green, $blue);
transmitMessage($data);
}
?>

67
setpattern.php Normal file
View File

@ -0,0 +1,67 @@
<?php
require 'header.php';
if ( !isset($_REQUEST['p']) ) exit();
if ( !isset($_REQUEST['t']) ) exit();
$patternname = $_REQUEST['p'];
$targets = $_REQUEST['t'];
define("DBHOST", "storage.basement.lan");
define("DBNAME", "ledcolors");
define("DBUSER", "root");
define("DBPASS", "CeleryStalk");
// Make our PDO database connection which will be used in all scripts
$globaldbh = new PDO("mysql:host=" . DBHOST . ";dbname=" . DBNAME, DBUSER, DBPASS);
class PatternColor {
public $red = 0;
public $green = 0;
public $blue = 0;
public $resttime = 0;
public function __construct($r = 0, $g = 0, $b = 0, $rest = 0) {
$this->red = $r;
$this->green = $g;
$this->blue = $b;
$this->resttime = $rest;
}
}
$patternid = 0;
$ramptime = 0;
$query = "SELECT id, ramptime FROM patterns WHERE name=:name";
$sth = $globaldbh->prepare($query);
$sth->bindValue(":name", $patternname, PDO::PARAM_STR);
$sth->execute();
if ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) {
$patternid = $row['id'];
$ramptime = $row['ramptime'];
}
if ( $patternid == 0 ) exit();
$query = "SELECT id, red, green, blue, resttime FROM patterncolors WHERE pattern_id=:pattern_id ORDER BY id";
$sth = $globaldbh->prepare($query);
$sth->bindValue(":pattern_id", (int) $patternid, PDO::PARAM_INT);
$sth->execute();
$colors = array();
while ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) {
$colors[] = new PatternColor($row['red'], $row['green'], $row['blue'], $row['resttime']);
}
if ( count($colors) == 0 ) exit();
$command = 0x02;
foreach ( $targets as $target ) {
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCL", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target);
$data .= pack("LC", $ramptime, count($colors));
foreach ( $colors as $color ) {
$data .= pack("CCCL", $color->red, $color->green, $color->blue, $color->resttime);
}
transmitMessage($data);
}
exit();