]> source.dussan.org Git - jquery-ui.git/commitdiff
set svn:eol-style to native
authorRichard Worth <rdworth@gmail.com>
Sat, 20 Sep 2008 17:42:04 +0000 (17:42 +0000)
committerRichard Worth <rdworth@gmail.com>
Sat, 20 Sep 2008 17:42:04 +0000 (17:42 +0000)
53 files changed:
demos/functional/templates/ui.autocomplete.html
demos/functional/templates/ui.colorpicker.html
demos/functional/templates/ui.datepicker.dbd.html
demos/functional/templates/ui.datepicker.dlg.html
demos/functional/templates/ui.datepicker.inl.html
demos/functional/templates/ui.datepicker.sel.html
demos/functional/templates/ui.datepicker.two.html
demos/functional/templates/ui.magnifier.html
demos/functional/templates/ui.progressbar.html
demos/functional/templates/ui.spinner.html
tests/all_2.html
tests/autocomplete.js
tests/core.js
tests/datepicker.html
tests/datepicker.js
tests/dialog.html
tests/dialog.js
tests/progressbar.html
tests/progressbar.js
tests/selectable.html
tests/selectable.js
tests/simulate/jquery.simulate.js
tests/sortable.html
tests/sortable.js
tests/spinner.html
tests/spinner.js
tests/visual/all.css
tests/visual/all.html
tests/visual/autocomplete/localdata.js
tests/visual/colorpicker.html
tests/visual/datepicker.html
tests/visual/dialog.html
tests/visual/draggable.handle.html
tests/visual/draggable.html
tests/visual/droppable.html
tests/visual/effects.all.css
tests/visual/effects.all.html
tests/visual/effects.all.js
tests/visual/magnifier.html
tests/visual/progressbar.html
tests/visual/resizable.html
tests/visual/selectable.html
tests/visual/slider.html
tests/visual/sortable.html
tests/visual/sortable_massive_scale.html
tests/visual/spinner.html
tests/visual/tree.html
themes/default/ui.all.css
themes/default/ui.datepicker.css
ui/i18n/ui.datepicker-eo.js
ui/i18n/ui.datepicker-hr.js
ui/i18n/ui.datepicker-hy.js
ui/i18n/ui.datepicker-uk.js

index 4811693f93843643abb603cbb3deae70b89cd32e..646dd3784493cef4ea8e9818a88d31aa7a064c5a 100644 (file)
@@ -1,32 +1,32 @@
-<script type="text/javascript">\r
-\r
-       var autocomplete_data = '["aero", "airplane", "book","movie","music","sports","skating","swim"]';\r
-\r
-       var model = {\r
-               \r
-               renderAt: '#containerDemo',\r
-\r
-               title: 'Autocomplete Demos',\r
-               \r
-               demos: [\r
-\r
-                       {\r
-                               title: 'Simple autocomplete',\r
-                               desc: 'With few lines of code you could build a autocomplete. You can try more options on the fly! ',\r
-                               html: '<input id="autocomplete" type="text" /> (Try type <em>a</em>, <em>m</em> or <em>s</em>)',\r
-                               destroy: '$("#autocomplete").autocomplete("destroy");',\r
-                               options: [\r
-                                       { desc: 'Attach a autocomplete', source: '$("#autocomplete").autocomplete({data:'+autocomplete_data+'});' }\r
-                               ]\r
-                       }\r
-\r
-               ]\r
-       };\r
-\r
-       $(function(){\r
-\r
-               uiRenderDemo(model);\r
-\r
-       });\r
-\r
+<script type="text/javascript">
+
+       var autocomplete_data = '["aero", "airplane", "book","movie","music","sports","skating","swim"]';
+
+       var model = {
+               
+               renderAt: '#containerDemo',
+
+               title: 'Autocomplete Demos',
+               
+               demos: [
+
+                       {
+                               title: 'Simple autocomplete',
+                               desc: 'With few lines of code you could build a autocomplete. You can try more options on the fly! ',
+                               html: '<input id="autocomplete" type="text" /> (Try type <em>a</em>, <em>m</em> or <em>s</em>)',
+                               destroy: '$("#autocomplete").autocomplete("destroy");',
+                               options: [
+                                       { desc: 'Attach a autocomplete', source: '$("#autocomplete").autocomplete({data:'+autocomplete_data+'});' }
+                               ]
+                       }
+
+               ]
+       };
+
+       $(function(){
+
+               uiRenderDemo(model);
+
+       });
+
 </script>
\ No newline at end of file
index 81f5f66b20a4aa438eeddab3cc6305529f5c4b8f..844b6266f337e9505e082d57de9a1e0d3b9d9b1c 100644 (file)
@@ -1,41 +1,41 @@
-<script type="text/javascript">\r
-\r
-       var model = {\r
-               \r
-               renderAt: '#containerDemo',\r
-\r
-               title: 'Colorpicker Demos',\r
-               \r
-               demos: [\r
-\r
-                       {\r
-                               title: 'Inline colorpicker',\r
-                               desc: 'With few lines of code you could build a colorpicker. You can try more options on the fly!',\r
-                               html: '<div id="colorpicker" />',\r
-                               destroy: '$("#colorpicker").colorpicker("destroy");',\r
-                               options: [\r
-                                       { desc: 'Make a colorpicker', source: '$("#colorpicker").colorpicker({flat:true});' }\r
-                               ]\r
-                       },\r
-\r
-                       {\r
-                               title: 'Triggered colorpicker',\r
-                               desc: 'With few lines of code you could build a colorpicker. You can try more options on the fly!',\r
-                               html: '<input id="colorpicker2" /><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>',\r
-                               destroy: '$("#colorpicker2").colorpicker("destroy");',\r
-                               options: [\r
-                                       { desc: 'Make a colorpicker', source: '$("#colorpicker2").colorpicker( {submit: function(e,ui) {                $("#colorpicker2").val(ui.hex);} });' },\r
-                                       { desc: 'Fade in/out a colorpicker', source: '$("#colorpicker2").colorpicker( {show: function (e,ui) { $(this).data("colorpicker").picker.fadeIn(500);return false; }, hide: function (e,ui) { $(this).data("colorpicker").picker.fadeOut(500);return false; }, change: function(e,ui) { $("#colorpicker2").val(ui.hex); } });' }\r
-                               ]\r
-                       }\r
-\r
-               ]\r
-       };\r
-\r
-       $(function(){\r
-\r
-               uiRenderDemo(model);\r
-\r
-       });\r
-\r
+<script type="text/javascript">
+
+       var model = {
+               
+               renderAt: '#containerDemo',
+
+               title: 'Colorpicker Demos',
+               
+               demos: [
+
+                       {
+                               title: 'Inline colorpicker',
+                               desc: 'With few lines of code you could build a colorpicker. You can try more options on the fly!',
+                               html: '<div id="colorpicker" />',
+                               destroy: '$("#colorpicker").colorpicker("destroy");',
+                               options: [
+                                       { desc: 'Make a colorpicker', source: '$("#colorpicker").colorpicker({flat:true});' }
+                               ]
+                       },
+
+                       {
+                               title: 'Triggered colorpicker',
+                               desc: 'With few lines of code you could build a colorpicker. You can try more options on the fly!',
+                               html: '<input id="colorpicker2" /><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>',
+                               destroy: '$("#colorpicker2").colorpicker("destroy");',
+                               options: [
+                                       { desc: 'Make a colorpicker', source: '$("#colorpicker2").colorpicker( {submit: function(e,ui) {                $("#colorpicker2").val(ui.hex);} });' },
+                                       { desc: 'Fade in/out a colorpicker', source: '$("#colorpicker2").colorpicker( {show: function (e,ui) { $(this).data("colorpicker").picker.fadeIn(500);return false; }, hide: function (e,ui) { $(this).data("colorpicker").picker.fadeOut(500);return false; }, change: function(e,ui) { $("#colorpicker2").val(ui.hex); } });' }
+                               ]
+                       }
+
+               ]
+       };
+
+       $(function(){
+
+               uiRenderDemo(model);
+
+       });
+
 </script>
\ No newline at end of file
index 6b2573461b6689e5b25de107da354e043dbef334..e686b3d252d0bb530d3a9988a75be36699a85d9a 100644 (file)
@@ -1,40 +1,40 @@
-<input type="text" size="10" value="" id="dayByDay"/>\r
-<style type="text/css">\r
-.ar_day { color: white !important; background: #eee url(templates/images/ar.gif) no-repeat center !important; }\r
-.au_day { color: blue !important; background: #eee url(templates/images/au.gif) no-repeat center !important; }\r
-.br_day { color: green !important; background: #eee url(templates/images/br.gif) no-repeat center !important; }\r
-.cn_day { color: red !important; background: #eee url(templates/images/cn.gif) no-repeat center !important; }\r
-.id_day { color: white !important; background: #eee url(templates/images/id.gif) no-repeat center !important; }\r
-.ie_day { color: white !important; background: #eee url(templates/images/ie.gif) no-repeat center !important; }\r
-.ke_day { color: red !important; background: #eee url(templates/images/ke.gif) no-repeat center !important; }\r
-.lb_day { color: white !important; background: #eee url(templates/images/lb.gif) no-repeat center !important; }\r
-.nz_day { color: blue !important; background: #eee url(templates/images/nz.gif) no-repeat center !important; }\r
-.se_day { color: blue !important; background: #eee url(templates/images/se.gif) no-repeat center !important; }\r
-.us_day { color: white !important; background: #eee url(templates/images/us.gif) no-repeat center !important; }\r
-.za_day { color: green !important; background: #eee url(templates/images/za.gif) no-repeat center !important; }\r
-</style>\r
-<script type="text/javascript">\r
-var natDays = [[1, 26, "au"], [2, 6, "nz"], [3, 17, "ie"], [4, 27, "za"], [5, 25, "ar"], [6, 6, "se"], \r
-    [7, 4, "us"], [8, 17, "id"], [9, 7, "br"], [10, 1, "cn"], [11, 22, "lb"], [12, 12, "ke"]]; \r
\r
-function nationalDays(date) { \r
-    for (i = 0; i < natDays.length; i++) { \r
-        if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1]) { \r
-            return [false, natDays[i][2] + "_day"]; \r
-        } \r
-    } \r
-    return [true, ""]; \r
-}\r
-\r
-function highlightToday(date, inst) { \r
-    var today = new Date(); \r
-    today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); \r
-    return $.datepicker.dateStatus(date, inst) + \r
-        (today.getTime() == date.getTime() ? " (today)" : ""); \r
-} \r
-\r
-function showDayOfYear(date) {\r
-       var lastYearEnd = new Date(date.getFullYear() - 1, 12 - 1, 31, 0, 0, 0, 0);\r
-       return [true, "", "Day " + ((date.getTime() - lastYearEnd.getTime()) / 86400000) + " of  the year"];\r
-}\r
+<input type="text" size="10" value="" id="dayByDay"/>
+<style type="text/css">
+.ar_day { color: white !important; background: #eee url(templates/images/ar.gif) no-repeat center !important; }
+.au_day { color: blue !important; background: #eee url(templates/images/au.gif) no-repeat center !important; }
+.br_day { color: green !important; background: #eee url(templates/images/br.gif) no-repeat center !important; }
+.cn_day { color: red !important; background: #eee url(templates/images/cn.gif) no-repeat center !important; }
+.id_day { color: white !important; background: #eee url(templates/images/id.gif) no-repeat center !important; }
+.ie_day { color: white !important; background: #eee url(templates/images/ie.gif) no-repeat center !important; }
+.ke_day { color: red !important; background: #eee url(templates/images/ke.gif) no-repeat center !important; }
+.lb_day { color: white !important; background: #eee url(templates/images/lb.gif) no-repeat center !important; }
+.nz_day { color: blue !important; background: #eee url(templates/images/nz.gif) no-repeat center !important; }
+.se_day { color: blue !important; background: #eee url(templates/images/se.gif) no-repeat center !important; }
+.us_day { color: white !important; background: #eee url(templates/images/us.gif) no-repeat center !important; }
+.za_day { color: green !important; background: #eee url(templates/images/za.gif) no-repeat center !important; }
+</style>
+<script type="text/javascript">
+var natDays = [[1, 26, "au"], [2, 6, "nz"], [3, 17, "ie"], [4, 27, "za"], [5, 25, "ar"], [6, 6, "se"], 
+    [7, 4, "us"], [8, 17, "id"], [9, 7, "br"], [10, 1, "cn"], [11, 22, "lb"], [12, 12, "ke"]]; 
+function nationalDays(date) { 
+    for (i = 0; i < natDays.length; i++) { 
+        if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1]) { 
+            return [false, natDays[i][2] + "_day"]; 
+        } 
+    } 
+    return [true, ""]; 
+}
+
+function highlightToday(date, inst) { 
+    var today = new Date(); 
+    today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); 
+    return $.datepicker.dateStatus(date, inst) + 
+        (today.getTime() == date.getTime() ? " (today)" : ""); 
+} 
+
+function showDayOfYear(date) {
+       var lastYearEnd = new Date(date.getFullYear() - 1, 12 - 1, 31, 0, 0, 0, 0);
+       return [true, "", "Day " + ((date.getTime() - lastYearEnd.getTime()) / 86400000) + " of  the year"];
+}
 </script>
\ No newline at end of file
index 4d5eaaa7faf91338222af9e055ea55567809f224..fe82c181b48942e760ea52a6e1ea15f651a35d8a 100644 (file)
@@ -1,6 +1,6 @@
-<input type="text" size="10" value="" id="dialog" readonly="readonly"/> <button id="dialogButton" type="button">Open dialog</button>\r
-<script type="text/javascript">\r
-function setDateFromDialog(date) { \r
-    $("#dialog").val(date); \r
-}\r
+<input type="text" size="10" value="" id="dialog" readonly="readonly"/> <button id="dialogButton" type="button">Open dialog</button>
+<script type="text/javascript">
+function setDateFromDialog(date) { 
+    $("#dialog").val(date); 
+}
 </script>
\ No newline at end of file
index 9543a98eb27f5620b88f6926a780c738a672495e..925ef0718c5923be3191740820857c06be2672c3 100644 (file)
@@ -1,14 +1,14 @@
-<input type="text" id="altInline" size="10"/>\r
-<div id="inline"></div>\r
-<p style="clear: both;"><!-- See day-by-day example for highlighting days code --></p>\r
-<script type="text/javascript">\r
-function setInlineDate() {\r
-       try {\r
-               var date = $.datepicker.parseDate("mm/dd/yy", $("#altInline").val());\r
-               $("#inline").datepicker("setDate", date);\r
-       }\r
-       catch (e) {\r
-               // Ignore\r
-       }\r
-}\r
+<input type="text" id="altInline" size="10"/>
+<div id="inline"></div>
+<p style="clear: both;"><!-- See day-by-day example for highlighting days code --></p>
+<script type="text/javascript">
+function setInlineDate() {
+       try {
+               var date = $.datepicker.parseDate("mm/dd/yy", $("#altInline").val());
+               $("#inline").datepicker("setDate", date);
+       }
+       catch (e) {
+               // Ignore
+       }
+}
 </script>
\ No newline at end of file
index 3f8185af2efef4eb6cf59020cb71a6b13cb61aba..a05b48438cb976bf47f51faccb14a9afc03dc1c4 100644 (file)
@@ -1,54 +1,54 @@
-<select id="selectMonth"><option value="01">Jan</option><option value="02">Feb</option>\r
-       <option value="03">Mar</option><option value="04">Apr</option>\r
-       <option value="05">May</option><option value="06">Jun</option>\r
-       <option value="07">Jul</option><option value="08">Aug</option>\r
-       <option value="09">Sep</option><option value="10">Oct</option>\r
-       <option value="11">Nov</option><option value="12">Dec</option></select>\r
-<select id="selectDay"><option value="01">1</option><option value="02">2</option>\r
-       <option value="03">3</option><option value="04">4</option>\r
-       <option value="05">5</option><option value="06">6</option>\r
-       <option value="07">7</option><option value="08">8</option>\r
-       <option value="09">9</option><option value="10">10</option>\r
-       <option value="11">11</option><option value="12">12</option>\r
-       <option value="13">13</option><option value="14">14</option>\r
-       <option value="15">15</option><option value="16">16</option>\r
-       <option value="17">17</option><option value="18">18</option>\r
-       <option value="19">19</option><option value="20">20</option>\r
-       <option value="21">21</option><option value="22">22</option>\r
-       <option value="23">23</option><option value="24">24</option>\r
-       <option value="25">25</option><option value="26">26</option>\r
-       <option value="27">27</option><option value="28">28</option>\r
-       <option value="29">29</option><option value="30">30</option>\r
-       <option value="31">31</option></select>\r
-<select id="selectYear"><option value="2001">2001</option><option value="2002">2002</option>\r
-       <option value="2003">2003</option><option value="2004">2004</option>\r
-       <option value="2005">2005</option><option value="2006">2006</option>\r
-       <option value="2007">2007</option><option value="2008">2008</option>\r
-       <option value="2009">2009</option><option value="2010">2010</option></select>\r
-<input type="hidden" size="10" id="linkedDates" disabled="disabled"/></p>\r
-<script type="text/javascript">\r
-// Prepare to show a date picker linked to three select controls\r
-function readLinked() {\r
-       $("#linkedDates").val($("#selectMonth").val() + "/" +\r
-               $("#selectDay").val() + "/" + $("#selectYear").val());\r
-       return {};\r
-}\r
-\r
-// Update three select controls to match a date picker selection\r
-function updateLinked(date) {\r
-       $("#selectMonth").val(date.substring(0, 2));\r
-       $("#selectDay").val(date.substring(3, 5));\r
-       $("#selectYear").val(date.substring(6, 10));\r
-}\r
-\r
-// Prevent selection of invalid dates through the select controls\r
-function checkLinkedDays() {\r
-       var daysInMonth = 32 - new Date($("#selectYear").val(),\r
-               $("#selectMonth").val() - 1, 32).getDate();\r
-       $("#selectDay option").attr("disabled", "");\r
-       $("#selectDay option:gt(" + (daysInMonth - 1) +")").attr("disabled", "disabled");\r
-       if ($("#selectDay").val() > daysInMonth) {\r
-               $("#selectDay").val(daysInMonth);\r
-       }\r
-}\r
-</script>\r
+<select id="selectMonth"><option value="01">Jan</option><option value="02">Feb</option>
+       <option value="03">Mar</option><option value="04">Apr</option>
+       <option value="05">May</option><option value="06">Jun</option>
+       <option value="07">Jul</option><option value="08">Aug</option>
+       <option value="09">Sep</option><option value="10">Oct</option>
+       <option value="11">Nov</option><option value="12">Dec</option></select>
+<select id="selectDay"><option value="01">1</option><option value="02">2</option>
+       <option value="03">3</option><option value="04">4</option>
+       <option value="05">5</option><option value="06">6</option>
+       <option value="07">7</option><option value="08">8</option>
+       <option value="09">9</option><option value="10">10</option>
+       <option value="11">11</option><option value="12">12</option>
+       <option value="13">13</option><option value="14">14</option>
+       <option value="15">15</option><option value="16">16</option>
+       <option value="17">17</option><option value="18">18</option>
+       <option value="19">19</option><option value="20">20</option>
+       <option value="21">21</option><option value="22">22</option>
+       <option value="23">23</option><option value="24">24</option>
+       <option value="25">25</option><option value="26">26</option>
+       <option value="27">27</option><option value="28">28</option>
+       <option value="29">29</option><option value="30">30</option>
+       <option value="31">31</option></select>
+<select id="selectYear"><option value="2001">2001</option><option value="2002">2002</option>
+       <option value="2003">2003</option><option value="2004">2004</option>
+       <option value="2005">2005</option><option value="2006">2006</option>
+       <option value="2007">2007</option><option value="2008">2008</option>
+       <option value="2009">2009</option><option value="2010">2010</option></select>
+<input type="hidden" size="10" id="linkedDates" disabled="disabled"/></p>
+<script type="text/javascript">
+// Prepare to show a date picker linked to three select controls
+function readLinked() {
+       $("#linkedDates").val($("#selectMonth").val() + "/" +
+               $("#selectDay").val() + "/" + $("#selectYear").val());
+       return {};
+}
+
+// Update three select controls to match a date picker selection
+function updateLinked(date) {
+       $("#selectMonth").val(date.substring(0, 2));
+       $("#selectDay").val(date.substring(3, 5));
+       $("#selectYear").val(date.substring(6, 10));
+}
+
+// Prevent selection of invalid dates through the select controls
+function checkLinkedDays() {
+       var daysInMonth = 32 - new Date($("#selectYear").val(),
+               $("#selectMonth").val() - 1, 32).getDate();
+       $("#selectDay option").attr("disabled", "");
+       $("#selectDay option:gt(" + (daysInMonth - 1) +")").attr("disabled", "disabled");
+       if ($("#selectDay").val() > daysInMonth) {
+               $("#selectDay").val(daysInMonth);
+       }
+}
+</script>
index 639aa05181cfac1d3d3c0c64644e92ea065facff..62e9278599d1a5b47a9acf1820eab826d22d5f77 100644 (file)
@@ -1,7 +1,7 @@
-<input type="text" size="10" value="" id="startDate"/> to <input type="text" size="10" value="" id="endDate"/>\r
-<script type="text/javascript">\r
-function customRange(input) {\r
-       return {minDate: (input.id == "endDate" ? $("#startDate").datepicker("getDate") : null),\r
-               maxDate: (input.id == "startDate" ? $("#endDate").datepicker("getDate") : null)};\r
-}\r
+<input type="text" size="10" value="" id="startDate"/> to <input type="text" size="10" value="" id="endDate"/>
+<script type="text/javascript">
+function customRange(input) {
+       return {minDate: (input.id == "endDate" ? $("#startDate").datepicker("getDate") : null),
+               maxDate: (input.id == "startDate" ? $("#endDate").datepicker("getDate") : null)};
+}
 </script>
\ No newline at end of file
index fd701ae3bbb0c3332086b0aee4b49c5909b5d7db..fddef3d6b84567a8d5c0ee3d60ae5b6ccecdfe32 100644 (file)
@@ -1,52 +1,52 @@
-<script type="text/javascript">\r
-\r
-       var model = {\r
-               \r
-               renderAt: '#containerDemo',\r
-\r
-               title: 'Magnifier Demos',\r
-               \r
-               demos: [\r
-\r
-                       {\r
-                               title: 'Simple Magnifier',\r
-                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',\r
-                               html: '<div id="magnifier"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div>',\r
-                               destroy: '$("#magnifier").magnifier("destroy");',\r
-                               options: [\r
-                                       { desc: 'Attach a magnifier', source: '$("#magnifier").magnifier();' },\r
-                                       { desc: 'Small magnification', source: '$("#magnifier").magnifier({magnification:1.5});' },\r
-                                       { desc: 'Disable the magnifier', source: '$("#magnifier").magnifier("disable");' }\r
-                               ]\r
-                       },\r
-\r
-                       {\r
-                               title: 'Opacity Magnifier',\r
-                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',\r
-                               html: '<div id="magnifier2"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div>',\r
-                               destroy: '$("#magnifier2").magnifier("destroy");',\r
-                               options: [\r
-                                       { desc: 'Opacity option', source: '$("#magnifier2").magnifier({opacity:{min:0.4,max:1.0}});' }\r
-                               ]\r
-                       },\r
-\r
-                       {\r
-                               title: 'Overlap Magnifier',\r
-                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',\r
-                               html: '<div style="height:16px;">&nbsp;</div><div id="magnifier3"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div><div style="height:84px;">&nbsp;</div>',\r
-                               destroy: '$("#magnifier3").magnifier("destroy");',\r
-                               options: [\r
-                                       { desc: 'Overlap option', source: '$("#magnifier3").magnifier({overlap:true});' }\r
-                               ]\r
-                       }\r
-\r
-               ]\r
-       };\r
-\r
-       $(function(){\r
-\r
-               uiRenderDemo(model);\r
-\r
-       });\r
-\r
+<script type="text/javascript">
+
+       var model = {
+               
+               renderAt: '#containerDemo',
+
+               title: 'Magnifier Demos',
+               
+               demos: [
+
+                       {
+                               title: 'Simple Magnifier',
+                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',
+                               html: '<div id="magnifier"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div>',
+                               destroy: '$("#magnifier").magnifier("destroy");',
+                               options: [
+                                       { desc: 'Attach a magnifier', source: '$("#magnifier").magnifier();' },
+                                       { desc: 'Small magnification', source: '$("#magnifier").magnifier({magnification:1.5});' },
+                                       { desc: 'Disable the magnifier', source: '$("#magnifier").magnifier("disable");' }
+                               ]
+                       },
+
+                       {
+                               title: 'Opacity Magnifier',
+                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',
+                               html: '<div id="magnifier2"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div>',
+                               destroy: '$("#magnifier2").magnifier("destroy");',
+                               options: [
+                                       { desc: 'Opacity option', source: '$("#magnifier2").magnifier({opacity:{min:0.4,max:1.0}});' }
+                               ]
+                       },
+
+                       {
+                               title: 'Overlap Magnifier',
+                               desc: 'With few lines of code you could build a magnifier. You can try more options on the fly!',
+                               html: '<div style="height:16px;">&nbsp;</div><div id="magnifier3"><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /><img src="images/clock.png" width="64" height="64" alt="demo image" /></div><div style="height:84px;">&nbsp;</div>',
+                               destroy: '$("#magnifier3").magnifier("destroy");',
+                               options: [
+                                       { desc: 'Overlap option', source: '$("#magnifier3").magnifier({overlap:true});' }
+                               ]
+                       }
+
+               ]
+       };
+
+       $(function(){
+
+               uiRenderDemo(model);
+
+       });
+
 </script>
\ No newline at end of file
index cb99c33a9c39adbfe10159be58bb0f7d87fd9671..6c33203e67adce16b107c262c4a46ba10e3f82e3 100644 (file)
@@ -1,35 +1,35 @@
-<script type="text/javascript">\r
-\r
-       var model = {\r
-               \r
-               renderAt: '#containerDemo',\r
-\r
-               title: 'Progressbar Demos',\r
-               \r
-               demos: [\r
-\r
-                       {\r
-                               title: 'Simple Progressbar',\r
-                               desc: 'With few lines of code you could build a progressbar. You can try more options on the fly!',\r
-                               html: '<div id="progressbar"></div>',\r
-                               destroy: '$("#progressbar").progressbar("destroy");',\r
-                               options: [\r
-                                       { desc: 'Start a progressbar', source: '$("#progressbar").progressbar({interval:2000}); $("#progressbar").progressbar("start");' },\r
-                                       { desc: 'With different increment', source: '$("#progressbar").progressbar({interval:2000, increment:100}).progressbar("start");' },\r
-                                       { desc: 'Set progress to 50%', source: '$("#progressbar").progressbar().progressbar("progress", 50);' },\r
-                                       { desc: 'Callback when finish', source: '$("#progressbar").progressbar({interval: 1000, stop:function(){alert("Finished");}}).progressbar("start");' },\r
-                                       { desc: 'Enable the progressbar', source: '$("#progressbar").progressbar().progressbar("enable");' },\r
-                                       { desc: 'Disable the progressbar', source: '$("#progressbar").progressbar().progressbar("disable");' }\r
-                               ]\r
-                       }\r
-\r
-               ]\r
-       };\r
-\r
-       $(function(){\r
-\r
-               uiRenderDemo(model);\r
-\r
-       });\r
-\r
+<script type="text/javascript">
+
+       var model = {
+               
+               renderAt: '#containerDemo',
+
+               title: 'Progressbar Demos',
+               
+               demos: [
+
+                       {
+                               title: 'Simple Progressbar',
+                               desc: 'With few lines of code you could build a progressbar. You can try more options on the fly!',
+                               html: '<div id="progressbar"></div>',
+                               destroy: '$("#progressbar").progressbar("destroy");',
+                               options: [
+                                       { desc: 'Start a progressbar', source: '$("#progressbar").progressbar({interval:2000}); $("#progressbar").progressbar("start");' },
+                                       { desc: 'With different increment', source: '$("#progressbar").progressbar({interval:2000, increment:100}).progressbar("start");' },
+                                       { desc: 'Set progress to 50%', source: '$("#progressbar").progressbar().progressbar("progress", 50);' },
+                                       { desc: 'Callback when finish', source: '$("#progressbar").progressbar({interval: 1000, stop:function(){alert("Finished");}}).progressbar("start");' },
+                                       { desc: 'Enable the progressbar', source: '$("#progressbar").progressbar().progressbar("enable");' },
+                                       { desc: 'Disable the progressbar', source: '$("#progressbar").progressbar().progressbar("disable");' }
+                               ]
+                       }
+
+               ]
+       };
+
+       $(function(){
+
+               uiRenderDemo(model);
+
+       });
+
 </script>
\ No newline at end of file
index acfc1bb800698e5b70045c11b381f69e2823e6c1..3db5f288bd5635ad837cde2135eab84878b2edea 100644 (file)
@@ -1,36 +1,36 @@
-<script type="text/javascript">\r
-\r
-       var model = {\r
-               \r
-               renderAt: '#containerDemo',\r
-\r
-               title: 'Spinner Demos',\r
-               \r
-               demos: [\r
-\r
-                       {\r
-                               title: 'Simple spinner',\r
-                               desc: 'With few lines of code you could build a spinner. You can try more options on the fly!',\r
-                               html: '<input id="spinner" type="text" />',\r
-                               destroy: '$("#spinner").spinner("destroy");',\r
-                               options: [\r
-                                       { desc: 'Make a spinner', source: '$("#spinner").spinner();' },\r
-                                       { desc: 'A spinner with min and max value', source: '$("#spinner").spinner({min:-100, max:150});' },\r
-                                       { desc: 'Big stepping', source: '$("#spinner").spinner({stepping:100});' },\r
-                                       { desc: 'Currency option', source: '$("#spinner").spinner({currency:"$"});' },\r
-                                       { desc: 'Disable incremental option', source: '$("#spinner").spinner({incremental:false});' },\r
-                                       { desc: 'Disable the spinner', source: '$("#spinner").spinner().spinner("disable");' },\r
-                                       { desc: 'Enable the spinner', source: '$("#spinner").spinner().spinner("enable");' }\r
-                               ]\r
-                       }\r
-\r
-               ]\r
-       };\r
-\r
-       $(function(){\r
-\r
-               uiRenderDemo(model);\r
-\r
-       });\r
-\r
+<script type="text/javascript">
+
+       var model = {
+               
+               renderAt: '#containerDemo',
+
+               title: 'Spinner Demos',
+               
+               demos: [
+
+                       {
+                               title: 'Simple spinner',
+                               desc: 'With few lines of code you could build a spinner. You can try more options on the fly!',
+                               html: '<input id="spinner" type="text" />',
+                               destroy: '$("#spinner").spinner("destroy");',
+                               options: [
+                                       { desc: 'Make a spinner', source: '$("#spinner").spinner();' },
+                                       { desc: 'A spinner with min and max value', source: '$("#spinner").spinner({min:-100, max:150});' },
+                                       { desc: 'Big stepping', source: '$("#spinner").spinner({stepping:100});' },
+                                       { desc: 'Currency option', source: '$("#spinner").spinner({currency:"$"});' },
+                                       { desc: 'Disable incremental option', source: '$("#spinner").spinner({incremental:false});' },
+                                       { desc: 'Disable the spinner', source: '$("#spinner").spinner().spinner("disable");' },
+                                       { desc: 'Enable the spinner', source: '$("#spinner").spinner().spinner("enable");' }
+                               ]
+                       }
+
+               ]
+       };
+
+       $(function(){
+
+               uiRenderDemo(model);
+
+       });
+
 </script>
\ No newline at end of file
index c0c714f967a28f9fb3b502cadc10d14d6a160fc0..06ee4016618ad8f53282f217864cced4ca3f617c 100644 (file)
@@ -1,81 +1,81 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI All Tests</title>\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-\r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-\r
-       <script type="text/javascript">\r
-       var components = ["accordion","autocomplete","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","spinner"];\r
-\r
-       $(document).ready(function(){\r
-\r
-               var $list = $("#individual_list"),\r
-                       $main = $("#main");\r
-\r
-               $.each(components, function(i, val){\r
-                       $list.append('<li><a href="' + val + '.html">' + val + '</a></li>');\r
-                       $('<div class="component_panel" id="' + val + '">').appendTo($main);\r
-                       $('div#'+val).load(val + '.html #main *');\r
-               });\r
-\r
-               loadScripts();\r
-\r
-               function loadScripts() {\r
-                       if ( $("div.component_panel").length == components.length ) {\r
-                               $.each(components, function(i, val){\r
-                                       $('head').append('<script type="text/javascript" src="'+val+'.js"></scr'+'pit>');\r
-                               });\r
-                       } else {\r
-                               setTimeout( function (){ loadScripts(); } ,10);\r
-                       }\r
-               }\r
-\r
-       \r
-       });\r
-\r
-       \r
-       </script>\r
-\r
-       <script type="text/javascript" src="../ui/ui.accordion.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.autocomplete.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.datepicker.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.dialog.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.droppable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.progressbar.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.resizable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.selectable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.slider.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.sortable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.spinner.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.tabs.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-\r
-       <style type="text/css">\r
-               @import "../themes/flora/flora.datepicker.css";\r
-               .xerror, .error { display: none }\r
-       </style>\r
-\r
-</head>\r
-<body class="flora">\r
-       <h1>jQuery UI All Tests</h1>\r
-       <h2 id="banner"></h2>\r
-       <h2 id="userAgent"></h2>\r
-\r
-       <h4>Run individual testsuites or doubleclick a test below</h4>\r
-       <ul id="individual_list">\r
-       </ul>\r
-\r
-       <ol id="tests"></ol>\r
-\r
-       <div id="main" style="position:absolute;top:-2000000px;">\r
-\r
-       </div>\r
-\r
-       </body>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI All Tests</title>
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+
+       <script type="text/javascript">
+       var components = ["accordion","autocomplete","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","spinner"];
+
+       $(document).ready(function(){
+
+               var $list = $("#individual_list"),
+                       $main = $("#main");
+
+               $.each(components, function(i, val){
+                       $list.append('<li><a href="' + val + '.html">' + val + '</a></li>');
+                       $('<div class="component_panel" id="' + val + '">').appendTo($main);
+                       $('div#'+val).load(val + '.html #main *');
+               });
+
+               loadScripts();
+
+               function loadScripts() {
+                       if ( $("div.component_panel").length == components.length ) {
+                               $.each(components, function(i, val){
+                                       $('head').append('<script type="text/javascript" src="'+val+'.js"></scr'+'pit>');
+                               });
+                       } else {
+                               setTimeout( function (){ loadScripts(); } ,10);
+                       }
+               }
+
+       
+       });
+
+       
+       </script>
+
+       <script type="text/javascript" src="../ui/ui.accordion.js"></script>
+       <script type="text/javascript" src="../ui/ui.autocomplete.js"></script>
+       <script type="text/javascript" src="../ui/ui.datepicker.js"></script>
+       <script type="text/javascript" src="../ui/ui.dialog.js"></script>
+       <script type="text/javascript" src="../ui/ui.draggable.js"></script>
+       <script type="text/javascript" src="../ui/ui.droppable.js"></script>
+       <script type="text/javascript" src="../ui/ui.progressbar.js"></script>
+       <script type="text/javascript" src="../ui/ui.resizable.js"></script>
+       <script type="text/javascript" src="../ui/ui.selectable.js"></script>
+       <script type="text/javascript" src="../ui/ui.slider.js"></script>
+       <script type="text/javascript" src="../ui/ui.sortable.js"></script>
+       <script type="text/javascript" src="../ui/ui.spinner.js"></script>
+       <script type="text/javascript" src="../ui/ui.tabs.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+
+       <style type="text/css">
+               @import "../themes/flora/flora.datepicker.css";
+               .xerror, .error { display: none }
+       </style>
+
+</head>
+<body class="flora">
+       <h1>jQuery UI All Tests</h1>
+       <h2 id="banner"></h2>
+       <h2 id="userAgent"></h2>
+
+       <h4>Run individual testsuites or doubleclick a test below</h4>
+       <ul id="individual_list">
+       </ul>
+
+       <ol id="tests"></ol>
+
+       <div id="main" style="position:absolute;top:-2000000px;">
+
+       </div>
+
+       </body>
 </html>
\ No newline at end of file
index 2196e96f9ef6c603c5a19f7ea13656aeb8b9ddae..ae75a9617e9ca33dcfc4802f4372711e23baa8e6 100644 (file)
@@ -1,51 +1,51 @@
-test("init", function() {\r
-       expect(6);\r
-\r
-       el = $("#autocomplete").autocomplete();\r
-       ok(true, '.autocomplete() called on element');\r
-\r
-       $([]).autocomplete();\r
-       ok(true, '.autocomplete() called on empty collection');\r
-\r
-       $("<input/>").autocomplete();\r
-       ok(true, '.autocomplete() called on disconnected DOMElement');\r
-\r
-       $("<input/>").autocomplete().autocomplete("foo");\r
-       ok(true, 'arbitrary method called after init');\r
-\r
-       $("<input/>").autocomplete().data("foo.autocomplete");\r
-       ok(true, 'arbitrary option getter after init');\r
-\r
-       $("<input/>").autocomplete().data("foo.autocomplete", "bar");\r
-       ok(true, 'arbitrary option setter after init');\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(6);\r
-\r
-       $("#autocomplete").autocomplete().autocomplete("destroy");      \r
-       ok(true, '.autocomplete("destroy") called on element');\r
-\r
-       $([]).autocomplete().autocomplete("destroy");\r
-       ok(true, '.autocomplete("destroy") called on empty collection');\r
-\r
-       $("<input/>").autocomplete().autocomplete("destroy");\r
-       ok(true, '.autocomplete("destroy") called on disconnected DOMElement');\r
-\r
-       $("<input/>").autocomplete().autocomplete("destroy").autocomplete("foo");\r
-       ok(true, 'arbitrary method called after destroy');\r
-\r
-       $("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete");\r
-       ok(true, 'arbitrary option getter after destroy');\r
-\r
-       $("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete", "bar");\r
-       ok(true, 'arbitrary option setter after destroy');\r
-});\r
-\r
-\r
-test("highlighter", function() {\r
-       equals( jQuery.Autocompleter.defaults.highlight("Peter", "Pe"), "<strong>Pe</strong>ter" );\r
-       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>&lt;Pan&gt;</em>", "Pe"), "<strong>Pe</strong>ter <em>&lt;Pan&gt;</em>" );\r
-       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>&lt;Pan&gt;</em>", "a"), "Peter <em>&lt;P<strong>a</strong>n&gt;</em>" );\r
-       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>(&lt;Pan&gt;)</em>", "(&lt;P"), "Peter <em><strong>(&lt;P</strong>an&gt;)</em>" );\r
-});\r
+test("init", function() {
+       expect(6);
+
+       el = $("#autocomplete").autocomplete();
+       ok(true, '.autocomplete() called on element');
+
+       $([]).autocomplete();
+       ok(true, '.autocomplete() called on empty collection');
+
+       $("<input/>").autocomplete();
+       ok(true, '.autocomplete() called on disconnected DOMElement');
+
+       $("<input/>").autocomplete().autocomplete("foo");
+       ok(true, 'arbitrary method called after init');
+
+       $("<input/>").autocomplete().data("foo.autocomplete");
+       ok(true, 'arbitrary option getter after init');
+
+       $("<input/>").autocomplete().data("foo.autocomplete", "bar");
+       ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+       expect(6);
+
+       $("#autocomplete").autocomplete().autocomplete("destroy");      
+       ok(true, '.autocomplete("destroy") called on element');
+
+       $([]).autocomplete().autocomplete("destroy");
+       ok(true, '.autocomplete("destroy") called on empty collection');
+
+       $("<input/>").autocomplete().autocomplete("destroy");
+       ok(true, '.autocomplete("destroy") called on disconnected DOMElement');
+
+       $("<input/>").autocomplete().autocomplete("destroy").autocomplete("foo");
+       ok(true, 'arbitrary method called after destroy');
+
+       $("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete");
+       ok(true, 'arbitrary option getter after destroy');
+
+       $("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete", "bar");
+       ok(true, 'arbitrary option setter after destroy');
+});
+
+
+test("highlighter", function() {
+       equals( jQuery.Autocompleter.defaults.highlight("Peter", "Pe"), "<strong>Pe</strong>ter" );
+       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>&lt;Pan&gt;</em>", "Pe"), "<strong>Pe</strong>ter <em>&lt;Pan&gt;</em>" );
+       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>&lt;Pan&gt;</em>", "a"), "Peter <em>&lt;P<strong>a</strong>n&gt;</em>" );
+       equals( jQuery.Autocompleter.defaults.highlight("Peter <em>(&lt;Pan&gt;)</em>", "(&lt;P"), "Peter <em><strong>(&lt;P</strong>an&gt;)</em>" );
+});
index 507b3e7cbad3c9c029bcd0176b528ea7da76e3b6..144c272655ff3f70cc126870dbcaa96ccf68b962 100644 (file)
@@ -1,56 +1,56 @@
-/*\r
- * core unit tests\r
- */\r
-(function($) {\r
-\r
-module("selectors");\r
-\r
-test("tabbable - enabled elements", function() {\r
-       expect(10);\r
-       \r
-       ok( $('#input1-1').is(':tabbable'), 'input, no type');\r
-       ok( $('#input1-2').is(':tabbable'), 'input, type text');\r
-       ok( $('#input1-3').is(':tabbable'), 'input, type checkbox');\r
-       ok( $('#input1-4').is(':tabbable'), 'input, type radio');\r
-       ok( $('#input1-5').is(':tabbable'), 'input, type button');\r
-       ok(!$('#input1-6').is(':tabbable'), 'input, type hidden');\r
-       ok( $('#input1-7').is(':tabbable'), 'select');\r
-       ok( $('#input1-8').is(':tabbable'), 'textarea');\r
-       ok( $('#anchor1-1').is(':tabbable'), 'anchor with href');\r
-       ok(!$('#anchor1-2').is(':tabbable'), 'anchor without href');\r
-});\r
-\r
-test("tabbable - disabled elements", function() {\r
-       expect(8);\r
-       \r
-       ok(!$('#input2-1').is(':tabbable'), 'input, no type');\r
-       ok(!$('#input2-2').is(':tabbable'), 'input, type text');\r
-       ok(!$('#input2-3').is(':tabbable'), 'input, type checkbox');\r
-       ok(!$('#input2-4').is(':tabbable'), 'input, type radio');\r
-       ok(!$('#input2-5').is(':tabbable'), 'input, type button');\r
-       ok(!$('#input2-6').is(':tabbable'), 'input, type hidden');\r
-       ok(!$('#input2-7').is(':tabbable'), 'select');\r
-       ok(!$('#input2-8').is(':tabbable'), 'textarea');\r
-});\r
-\r
-test("tabbable - hidden styles", function() {\r
-       expect(6);\r
-       \r
-       ok(!$('#input3-1').is(':tabbable'), 'input, hidden wrapper - display: none');\r
-       ok(!$('#anchor3-1').is(':tabbable'), 'anchor, hidden wrapper - display: none');\r
-       ok(!$('#input3-2').is(':tabbable'), 'input, hidden wrapper - visibility: hidden');\r
-       ok(!$('#anchor3-2').is(':tabbable'), 'anchor, hidden wrapper - visibility: hidden');\r
-       ok(!$('#input3-3').is(':tabbable'), 'input, display: none');\r
-       ok(!$('#input3-4').is(':tabbable'), 'input, visibility: hidden');\r
-});\r
-\r
-test("tabbable - tabindex", function() {\r
-       expect(4);\r
-       \r
-       ok( $('#input4-1').is(':tabbable'), 'input, tabindex 0');\r
-       ok( $('#input4-2').is(':tabbable'), 'input, tabindex 10');\r
-       ok(!$('#input4-3').is(':tabbable'), 'input, tabindex -1');\r
-       ok(!$('#input4-4').is(':tabbable'), 'input, tabindex -50');\r
-});\r
-\r
-})(jQuery);\r
+/*
+ * core unit tests
+ */
+(function($) {
+
+module("selectors");
+
+test("tabbable - enabled elements", function() {
+       expect(10);
+       
+       ok( $('#input1-1').is(':tabbable'), 'input, no type');
+       ok( $('#input1-2').is(':tabbable'), 'input, type text');
+       ok( $('#input1-3').is(':tabbable'), 'input, type checkbox');
+       ok( $('#input1-4').is(':tabbable'), 'input, type radio');
+       ok( $('#input1-5').is(':tabbable'), 'input, type button');
+       ok(!$('#input1-6').is(':tabbable'), 'input, type hidden');
+       ok( $('#input1-7').is(':tabbable'), 'select');
+       ok( $('#input1-8').is(':tabbable'), 'textarea');
+       ok( $('#anchor1-1').is(':tabbable'), 'anchor with href');
+       ok(!$('#anchor1-2').is(':tabbable'), 'anchor without href');
+});
+
+test("tabbable - disabled elements", function() {
+       expect(8);
+       
+       ok(!$('#input2-1').is(':tabbable'), 'input, no type');
+       ok(!$('#input2-2').is(':tabbable'), 'input, type text');
+       ok(!$('#input2-3').is(':tabbable'), 'input, type checkbox');
+       ok(!$('#input2-4').is(':tabbable'), 'input, type radio');
+       ok(!$('#input2-5').is(':tabbable'), 'input, type button');
+       ok(!$('#input2-6').is(':tabbable'), 'input, type hidden');
+       ok(!$('#input2-7').is(':tabbable'), 'select');
+       ok(!$('#input2-8').is(':tabbable'), 'textarea');
+});
+
+test("tabbable - hidden styles", function() {
+       expect(6);
+       
+       ok(!$('#input3-1').is(':tabbable'), 'input, hidden wrapper - display: none');
+       ok(!$('#anchor3-1').is(':tabbable'), 'anchor, hidden wrapper - display: none');
+       ok(!$('#input3-2').is(':tabbable'), 'input, hidden wrapper - visibility: hidden');
+       ok(!$('#anchor3-2').is(':tabbable'), 'anchor, hidden wrapper - visibility: hidden');
+       ok(!$('#input3-3').is(':tabbable'), 'input, display: none');
+       ok(!$('#input3-4').is(':tabbable'), 'input, visibility: hidden');
+});
+
+test("tabbable - tabindex", function() {
+       expect(4);
+       
+       ok( $('#input4-1').is(':tabbable'), 'input, tabindex 0');
+       ok( $('#input4-2').is(':tabbable'), 'input, tabindex 10');
+       ok(!$('#input4-3').is(':tabbable'), 'input, tabindex -1');
+       ok(!$('#input4-4').is(':tabbable'), 'input, tabindex -50');
+});
+
+})(jQuery);
index d65f80968a1d06c4d996afd668a8ed8652317c44..4ace4ad1725f2c496211a52de4cfde50b635827d 100644 (file)
@@ -1,37 +1,37 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Datepicker Test Suite</title>\r
-       \r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-\r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.datepicker.js"></script>\r
-       <script type="text/javascript" src="../ui/i18n/ui.datepicker-fr.js"></script>\r
-       <script type="text/javascript" src="../ui/i18n/ui.datepicker-he.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-\r
-       <script type="text/javascript" src="datepicker.js"></script>\r
-\r
-       <style type="text/css">\r
-               @import "../themes/flora/flora.datepicker.css";\r
-               .xerror, .error { display: none }\r
-       </style>\r
-</head>\r
-<body>\r
-\r
-<h1 id="header">jQuery UI Datepicker Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="position:absolute;top:-2000000px;">\r
-       <p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p>\r
-</div>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Datepicker Test Suite</title>
+       
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.datepicker.js"></script>
+       <script type="text/javascript" src="../ui/i18n/ui.datepicker-fr.js"></script>
+       <script type="text/javascript" src="../ui/i18n/ui.datepicker-he.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+
+       <script type="text/javascript" src="datepicker.js"></script>
+
+       <style type="text/css">
+               @import "../themes/flora/flora.datepicker.css";
+               .xerror, .error { display: none }
+       </style>
+</head>
+<body>
+
+<h1 id="header">jQuery UI Datepicker Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position:absolute;top:-2000000px;">
+       <p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p>
+</div>
+
+</body>
+</html>
index 268041a90b303ad6e0380f01633febda2b021f3f..9702884383c929e85b443c328b19940d1df580b8 100644 (file)
-/*\r
- * datepicker unit tests\r
- */\r
-(function($) {\r
-\r
-module('datepicker');\r
-\r
-function equalsDate(d1, d2, message) {\r
-       if (!d1 || !d2) {\r
-               ok(false, message + ' - missing date');\r
-               return;\r
-       }\r
-       d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());\r
-       d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());\r
-       equals(d1.toString(), d2.toString(), message);\r
-}\r
-\r
-function equalsDateArray(a1, a2, message) {\r
-       if (!a1 || !a2) {\r
-               ok(false, message + ' - missing dates');\r
-               return;\r
-       }\r
-       a1[0] = (a1[0] ? new Date(a1[0].getFullYear(), a1[0].getMonth(), a1[0].getDate()) : '');\r
-       a1[1] = (a1[1] ? new Date(a1[1].getFullYear(), a1[1].getMonth(), a1[1].getDate()) : '');\r
-       a2[0] = (a2[0] ? new Date(a2[0].getFullYear(), a2[0].getMonth(), a2[0].getDate()) : '');\r
-       a2[1] = (a2[1] ? new Date(a2[1].getFullYear(), a2[1].getMonth(), a2[1].getDate()) : '');\r
-       equals(serialArray(a1), serialArray(a2), message);\r
-}\r
-\r
-function init(id, options) {\r
-       $.datepicker.setDefaults($.datepicker.regional['']);\r
-       var inp = $(id);\r
-       inp.datepicker($.extend({duration: ''}, options || {}));\r
-       return inp;\r
-}\r
-\r
-var PROP_NAME = 'datepicker';\r
-\r
-test('setDefaults', function() {\r
-       var inp = init('#inp');\r
-       var dp = $('#ui-datepicker-div');\r
-       ok(!dp.is(':visible'), 'Initially invisible');\r
-       ok(inp.is('.hasDatepicker'), 'Marker class set');\r
-       ok($($.datepicker.dpDiv).html() == '', 'Content empty');\r
-       inp.datepicker('show');\r
-       ok($($.datepicker.dpDiv).html() != '', 'Content present');\r
-       inp.datepicker('hide');\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Initial showOn');\r
-       $.datepicker.setDefaults({showOn: 'button'});\r
-       equals($.datepicker._defaults.showOn, 'button', 'Change default showOn');\r
-       $.datepicker.setDefaults({showOn: 'focus'});\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Restore showOn');\r
-});\r
-\r
-test('destroy', function() {\r
-       var inp = init('#inp');\r
-       ok(inp.is('.hasDatepicker'), 'Default - marker class set');\r
-       ok($.data(inp[0], PROP_NAME), 'Default - instance present');\r
-       ok(inp.next().is('#alt'), 'Default - button absent');\r
-       inp.datepicker('destroy');\r
-       inp = $('#inp');\r
-       ok(!inp.is('.hasDatepicker'), 'Default - marker class cleared');\r
-       ok(!$.data(inp[0], PROP_NAME), 'Default - instance absent');\r
-       ok(inp.next().is('#alt'), 'Default - button absent');\r
-       // With button\r
-       inp= init('#inp', {showOn: 'both'});\r
-       ok(inp.is('.hasDatepicker'), 'Button - marker class set');\r
-       ok($.data(inp[0], PROP_NAME), 'Button - instance present');\r
-       ok(inp.next().text() == '...', 'Button - button added');\r
-       inp.datepicker('destroy');\r
-       inp = $('#inp');\r
-       ok(!inp.is('.hasDatepicker'), 'Button - marker class cleared');\r
-       ok(!$.data(inp[0], PROP_NAME), 'Button - instance absent');\r
-       ok(inp.next().is('#alt'), 'Button - button removed');\r
-       // With append text\r
-       inp = init('#inp', {appendText: 'Testing'});\r
-       ok(inp.is('.hasDatepicker'), 'Append - marker class set');\r
-       ok($.data(inp[0], PROP_NAME), 'Append - instance present');\r
-       ok(inp.next().text() == 'Testing', 'Append - append text added');\r
-       inp.datepicker('destroy');\r
-       inp = $('#inp');\r
-       ok(!inp.is('.hasDatepicker'), 'Append - marker class cleared');\r
-       ok(!$.data(inp[0], PROP_NAME), 'Append - instance absent');\r
-       ok(inp.next().is('#alt'), 'Append - append text removed');\r
-       // With both\r
-       inp= init('#inp', {showOn: 'both', buttonImageOnly: true,\r
-               buttonImage: 'img/calendar.gif', appendText: 'Testing'});\r
-       ok(inp.is('.hasDatepicker'), 'Both - marker class set');\r
-       ok($.data(inp[0], PROP_NAME), 'Both - instance present');\r
-       ok(inp.next()[0].nodeName.toLowerCase() == 'img', 'Both - button added');\r
-       ok(inp.next().next().text() == 'Testing', 'Both - append text added');\r
-       inp.datepicker('destroy');\r
-       inp = $('#inp');\r
-       ok(!inp.is('.hasDatepicker'), 'Both - marker class cleared');\r
-       ok(!$.data(inp[0], PROP_NAME), 'Both - instance absent');\r
-       ok(inp.next().is('#alt'), 'Both - button and append text absent');\r
-       // Inline\r
-       var inl = init('#inl');\r
-       ok(inl.is('.hasDatepicker'), 'Inline - marker class set');\r
-       ok(inl.html() != '', 'Inline - datepicker present');\r
-       ok($.data(inl[0], PROP_NAME), 'Inline - instance present');\r
-       ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent');\r
-       inl.datepicker('destroy');\r
-       inl = $('#inl');\r
-       ok(!inl.is('.hasDatepicker'), 'Inline - marker class cleared');\r
-       ok(inl.html() == '', 'Inline - datepicker absent');\r
-       ok(!$.data(inl[0], PROP_NAME), 'Inline - instance absent');\r
-       ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent');\r
-});\r
-\r
-test('change', function() {\r
-       var inp = init('#inp');\r
-       var inst = $.data(inp[0], PROP_NAME);\r
-       equals(inst.settings.showOn, null, 'Initial setting showOn');\r
-       equals($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn');\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Initial default showOn');\r
-       inp.datepicker('change', 'showOn', 'button');\r
-       equals(inst.settings.showOn, 'button', 'Change setting showOn');\r
-       equals($.datepicker._get(inst, 'showOn'), 'button', 'Change instance showOn');\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');\r
-       inp.datepicker('change', {showOn: 'both'});\r
-       equals(inst.settings.showOn, 'both', 'Change setting showOn');\r
-       equals($.datepicker._get(inst, 'showOn'), 'both', 'Change instance showOn');\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');\r
-       inp.datepicker('change', 'showOn', undefined);\r
-       equals(inst.settings.showOn, null, 'Clear setting showOn');\r
-       equals($.datepicker._get(inst, 'showOn'), 'focus', 'Restore instance showOn');\r
-       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');\r
-});\r
-\r
-test('invocation', function() {\r
-       var inp = init('#inp');\r
-       var dp = $('#ui-datepicker-div');\r
-       var body = $('body');\r
-       // On focus\r
-       var button = inp.siblings('button');\r
-       ok(button.length == 0, 'Focus - button absent');\r
-       var image = inp.siblings('img');\r
-       ok(image.length == 0, 'Focus - image absent');\r
-       inp.focus();\r
-       ok(dp.is(':visible'), 'Focus - rendered on focus');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       ok(!dp.is(':visible'), 'Focus - hidden on exit');\r
-       inp.focus();\r
-       ok(dp.is(':visible'), 'Focus - rendered on focus');\r
-       body.simulate('mousedown', {});\r
-       ok(!dp.is(':visible'), 'Focus - hidden on external click');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // On button\r
-       inp = init('#inp', {showOn: 'button', buttonText: 'Popup'});\r
-       ok(!dp.is(':visible'), 'Button - initially hidden');\r
-       button = inp.siblings('button');\r
-       image = inp.siblings('img');\r
-       ok(button.length == 1, 'Button - button present');\r
-       ok(image.length == 0, 'Button - image absent');\r
-       equals(button.text(), 'Popup', 'Button - button text');\r
-       inp.focus();\r
-       ok(!dp.is(':visible'), 'Button - not rendered on focus');\r
-       button.click();\r
-       ok(dp.is(':visible'), 'Button - rendered on button click');\r
-       button.click();\r
-       ok(!dp.is(':visible'), 'Button - hidden on second button click');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // On image button\r
-       inp = init('#inp', {showOn: 'button', buttonImageOnly: true,\r
-               buttonImage: 'img/calendar.gif', buttonText: 'Cal'});\r
-       ok(!dp.is(':visible'), 'Image button - initially hidden');\r
-       button = inp.siblings('button');\r
-       ok(button.length == 0, 'Image button - button absent');\r
-       image = inp.siblings('img');\r
-       ok(image.length == 1, 'Image button - image present');\r
-       equals(image.attr('src'), 'img/calendar.gif', 'Image button - image source');\r
-       equals(image.attr('title'), 'Cal', 'Image button - image text');\r
-       inp.focus();\r
-       ok(!dp.is(':visible'), 'Image button - not rendered on focus');\r
-       image.click();\r
-       ok(dp.is(':visible'), 'Image button - rendered on image click');\r
-       image.click();\r
-       ok(!dp.is(':visible'), 'Image button - hidden on second image click');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // On both\r
-       inp = init('#inp', {showOn: 'both', buttonImage: 'img/calendar.gif'});\r
-       ok(!dp.is(':visible'), 'Both - initially hidden');\r
-       button = inp.siblings('button');\r
-       ok(button.length == 1, 'Both - button present');\r
-       image = inp.siblings('img');\r
-       ok(image.length == 0, 'Both - image absent');\r
-       image = button.children('img');\r
-       ok(image.length == 1, 'Both - button image present');\r
-       inp.focus();\r
-       ok(dp.is(':visible'), 'Both - rendered on focus');\r
-       body.simulate('mousedown', {});\r
-       ok(!dp.is(':visible'), 'Both - hidden on external click');\r
-       button.click();\r
-       ok(dp.is(':visible'), 'Both - rendered on button click');\r
-       button.click();\r
-       ok(!dp.is(':visible'), 'Both - hidden on second button click');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-});\r
-\r
-test('baseStructure', function() {\r
-       var dp = $('#ui-datepicker-div');\r
-       var inp = init('#inp');\r
-       inp.focus();\r
-       var iframe = ($.browser.msie && parseInt($.browser.version) < 7);\r
-       ok(dp.is(':visible'), 'Structure - datepicker visible');\r
-       ok(!dp.is('.ui-datepicker-rtl'), 'Structure - not right-to-left');\r
-       ok(!dp.is('.ui-datepicker-multi'), 'Structure - not multi-month');\r
-       equals(dp.children().length, 4 + (iframe ? 1 : 0), 'Structure - child count');\r
-       var control = dp.children(':first');\r
-       ok(control.is('div.ui-datepicker-control'), 'Structure - control division');\r
-       equals(control.children().length, 2, 'Structure - control child count');\r
-       ok(control.children(':first').is('div.ui-datepicker-clear'),\r
-               'Structure - clear division');\r
-       ok(control.children(':last').is('div.ui-datepicker-close'),\r
-               'Structure - close division');\r
-       var links = dp.children(':eq(1)');\r
-       ok(links.is('div.ui-datepicker-links'), 'Structure - links division');\r
-       equals(links.children().length, 3, 'Structure - links child count');\r
-       ok(links.children(':first').is('div.ui-datepicker-prev') &&\r
-               links.children(':first').html() != '',\r
-               'Structure - prev division');\r
-       ok(links.children(':eq(1)').is('div.ui-datepicker-current') &&\r
-               links.children(':eq(1)').html() != '',\r
-               'Structure - current division');\r
-       ok(links.children(':last').is('div.ui-datepicker-next') &&\r
-               links.children(':last').html() != '',\r
-               'Structure - next division');\r
-       var month = dp.children(':eq(2)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure - month division');\r
-       var header = month.children(':first');\r
-       ok(header.is('div.ui-datepicker-header'), 'Structure - month header division');\r
-       equals(header.children().length, 2, 'Structure - month header child count');\r
-       ok(header.children(':first').is('select.ui-datepicker-new-month'),\r
-               'Structure - new month select');\r
-       ok(header.children(':last').is('select.ui-datepicker-new-year'),\r
-               'Structure - new year select');\r
-       var table = month.children(':eq(1)');\r
-       ok(table.is('table.ui-datepicker'), 'Structure - month table');\r
-       ok(table.children(':first').is('thead'), 'Structure - month table thead');\r
-       var titles = table.children(':first').children(':first');\r
-       ok(titles.is('tr.ui-datepicker-title-row'), 'Structure - month table title row');\r
-       equals(titles.find('a').length, 7, 'Structure - month table title links');\r
-       ok(table.children(':eq(1)').is('tbody'), 'Structure - month table body');\r
-       ok(table.children(':eq(1)').children('tr').length >= 4,\r
-               'Structure - month table week count');\r
-       var week = table.children(':eq(1)').children(':first');\r
-       ok(week.is('tr.ui-datepicker-days-row'), 'Structure - month table week row');\r
-       equals(week.children().length, 7, 'Structure - week child count');\r
-       ok(week.children(':first').is('td.ui-datepicker-days-cell') &&\r
-               week.children(':first').is('.ui-datepicker-week-end-cell') &&\r
-               !week.children(':first').is('.ui-datepicker-week-col'),\r
-               'Structure - month table first day cell');\r
-       ok(week.children(':eq(1)').is('td.ui-datepicker-days-cell') &&\r
-               !week.children(':eq(1)').is('.ui-datepicker-week-end-cell'),\r
-               'Structure - month table second day cell');\r
-       ok(dp.children('.ui-datepicker-status').length == 0, 'Structure - status');\r
-       ok(dp.children('iframe').length == (iframe ? 1 : 0), 'Structure - iframe');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Multi-month 2\r
-       inp = init('#inp', {numberOfMonths: 2});\r
-       inp.focus();\r
-       ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');\r
-       equals(dp.children().length, 5 + (iframe ? 1 : 0), 'Structure multi - child count');\r
-       month = dp.children(':eq(2)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - first month division');\r
-       month = dp.children(':eq(3)');\r
-       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - second month division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Multi-month [2, 2]\r
-       inp = init('#inp', {numberOfMonths: [2, 2]});\r
-       inp.focus();\r
-       ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');\r
-       equals(dp.children().length, 7 + (iframe ? 1 : 0), 'Structure multi - child count');\r
-       month = dp.children(':eq(2)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - first month division');\r
-       month = dp.children(':eq(3)');\r
-       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - second month division');\r
-       month = dp.children(':eq(4)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - third month division');\r
-       month = dp.children(':eq(5)');\r
-       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),\r
-               'Structure multi - fourth month division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Inline\r
-       var inl = init('#inl');\r
-       dp = inl.children();\r
-       ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');\r
-       ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');\r
-       ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month');\r
-       equals(dp.children().length, 3, 'Structure inline - child count');\r
-       var links = dp.children(':first');\r
-       ok(links.is('div.ui-datepicker-links'), 'Structure inline - links division');\r
-       equals(links.children().length, 3, 'Structure inline - links child count');\r
-       var month = dp.children(':eq(1)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure inline - month division');\r
-       var header = month.children(':first');\r
-       ok(header.is('div.ui-datepicker-header'), 'Structure inline - month header division');\r
-       equals(header.children().length, 2, 'Structure inline - month header child count');\r
-       var table = month.children(':eq(1)');\r
-       ok(table.is('table.ui-datepicker'), 'Structure inline - month table');\r
-       ok(table.children(':first').is('thead'), 'Structure inline - month table thead');\r
-       ok(table.children(':eq(1)').is('tbody'), 'Structure inline - month table body');\r
-       ok(dp.children('.ui-datepicker-status').length == 0, 'Structure inline - status');\r
-       inl.datepicker('destroy');\r
-       // Inline multi-month\r
-       inl = init('#inl', {numberOfMonths: 2});\r
-       dp = inl.children();\r
-       ok(dp.is('.ui-datepicker-inline'), 'Structure inline multi - main div');\r
-       ok(dp.is('.ui-datepicker-multi'), 'Structure inline multi - not multi-month');\r
-       equals(dp.children().length, 4, 'Structure inline multi - child count');\r
-       var links = dp.children(':first');\r
-       ok(links.is('div.ui-datepicker-links'), 'Structure inline multi - links division');\r
-       equals(links.children().length, 3, 'Structure inline multi - links child count');\r
-       var month = dp.children(':eq(1)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure inline multi - first month division');\r
-       month = dp.children(':eq(2)');\r
-       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),\r
-               'Structure inline multi - second month division');\r
-       inl.datepicker('destroy');\r
-});\r
-\r
-test('customStructure', function() {\r
-       var dp = $('#ui-datepicker-div');\r
-       // Check right-to-left localisation\r
-       var inp = init('#inp', $.datepicker.regional['he']);\r
-       inp.focus();\r
-       var iframe = ($.browser.msie && parseInt($.browser.version) < 7);\r
-       ok(dp.is('.ui-datepicker-rtl'), 'Structure RTL - right-to-left');\r
-       var links = dp.children(':eq(1)');\r
-       ok(links.is('div.ui-datepicker-links'), 'Structure - links division');\r
-       equals(links.children().length, 3, 'Structure - links child count');\r
-       ok(links.children(':first').is('div.ui-datepicker-next'),\r
-               'Structure - next division');\r
-       ok(links.children(':eq(1)').is('div.ui-datepicker-current'),\r
-               'Structure - current division');\r
-       ok(links.children(':last').is('div.ui-datepicker-prev'),\r
-               'Structure - prev division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Close at bottom\r
-       inp = init('#inp', {closeAtTop: false});\r
-       inp.focus();\r
-       equals(dp.children().length, 4 + (iframe ? 1 : 0),\r
-               'Structure close at bottom - child count');\r
-       ok(dp.children(':first').is('div.ui-datepicker-links'),\r
-               'Structure close at bottom - links division');\r
-       ok(dp.children(':last').prev().is('div.ui-datepicker-control'),\r
-               'Structure close at bottom - control division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Mandatory\r
-       inp = init('#inp', {mandatory: true});\r
-       inp.focus();\r
-       var control = dp.children(':first');\r
-       ok(control.is('div.ui-datepicker-control'),\r
-               'Structure mandatory - control division');\r
-       equals(control.children().length, 1, 'Structure mandatory - control child count');\r
-       ok(control.children(':first').is('div.ui-datepicker-close'),\r
-               'Structure mandatory - close division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Hide prev/next\r
-       inp = init('#inp', {hideIfNoPrevNext: true,\r
-               minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});\r
-       inp.val('02/10/2008').focus();\r
-       var links = dp.children(':eq(1)');\r
-       ok(links.is('div.ui-datepicker-links'),\r
-               'Structure hide prev/next - links division');\r
-       equals(links.children().length, 2, 'Structure hide prev/next - links child count');\r
-       ok(links.children(':first').is('div.ui-datepicker-prev') &&\r
-               links.children(':first').html() == '',\r
-               'Structure hide prev/next - prev division');\r
-       ok(links.children(':last').is('div.ui-datepicker-next') &&\r
-               links.children(':last').html() == '',\r
-               'Structure hide prev/next - next division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Can't change month\r
-       inp = init('#inp', {changeMonth: false});\r
-       inp.focus();\r
-       var header = dp.children(':eq(2)').children(':first');\r
-       equals(header.children().length, 1, 'Structure change month - header child count');\r
-       ok(header.children(':last').is('select.ui-datepicker-new-year'),\r
-               'Structure change month - new year select');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Can't change year\r
-       inp = init('#inp', {changeYear: false});\r
-       inp.focus();\r
-       var header = dp.children(':eq(2)').children(':first');\r
-       equals(header.children().length, 1, 'Structure change year - header child count');\r
-       ok(header.children(':first').is('select.ui-datepicker-new-month'),\r
-               'Structure change year - new month select');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Can't change first day of week\r
-       inp = init('#inp', {changeFirstDay: false});\r
-       inp.focus();\r
-       var titles = dp.find('.ui-datepicker-title-row');\r
-       equals(titles.children().length, 7, 'Structure change first day - titles child count');\r
-       equals(titles.find('a').length, 0, 'Structure change first day - titles links count');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Show weeks\r
-       inp = init('#inp', {showWeeks: true});\r
-       inp.focus();\r
-       titles = dp.find('.ui-datepicker-title-row');\r
-       equals(titles.children().length, 8, 'Structure show weeks - titles child count');\r
-       var week = dp.find('.ui-datepicker-days-row:first');\r
-       equals(week.children().length, 8, 'Structure show weeks - week child count');\r
-       ok(week.children(':first').is('td.ui-datepicker-week-col'),\r
-               'Structure show weeks - week column');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Show status\r
-       inp = init('#inp', {showStatus: true});\r
-       inp.focus();\r
-       equals(dp.children().length, 6 + (iframe ? 1 : 0),\r
-               'Structure show status - datepicker child count');\r
-       ok(dp.children(':last').prev().is('div.ui-datepicker-status'),\r
-               'Structure show status - status division');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Inline\r
-       var inl = init('#inl', {showStatus: true, hideIfNoPrevNext: true,\r
-               minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});\r
-       dp = inl.children();\r
-       ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');\r
-       ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');\r
-       ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month');\r
-       equals(dp.children().length, 5, 'Structure inline - child count');\r
-       var links = dp.children(':first');\r
-       ok(links.is('div.ui-datepicker-links'), 'Structure inline - links division');\r
-       equals(links.children().children().length, 0, 'Structure inline - links child count');\r
-       var month = dp.children(':eq(1)');\r
-       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),\r
-               'Structure inline - month division');\r
-       ok(dp.children(':last').prev().is('div.ui-datepicker-status'),\r
-               'Structure inline - status');\r
-       inl.datepicker('destroy');\r
-});\r
-\r
-test('enableDisable', function() {\r
-       var inp = init('#inp');\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable - initially marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable - field initially enabled');\r
-       inp.datepicker('disable');\r
-       ok(inp.datepicker('isDisabled'), 'Enable/disable - now marked as disabled');\r
-       ok(inp[0].disabled, 'Enable/disable - field now disabled');\r
-       inp.datepicker('enable');\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable - now marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable - field now enabled');\r
-       inp.datepicker('destroy');\r
-       // With a button\r
-       inp = init('#inp', {showOn: 'button'});\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable button - initially marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable button - field initially enabled');\r
-       ok(!inp.next('button')[0].disabled, 'Enable/disable button - button initially enabled');\r
-       inp.datepicker('disable');\r
-       ok(inp.datepicker('isDisabled'), 'Enable/disable button - now marked as disabled');\r
-       ok(inp[0].disabled, 'Enable/disable button - field now disabled');\r
-       ok(inp.next('button')[0].disabled, 'Enable/disable button - button now disabled');\r
-       inp.datepicker('enable');\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable button - now marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable button - field now enabled');\r
-       ok(!inp.next('button')[0].disabled, 'Enable/disable button - button now enabled');\r
-       inp.datepicker('destroy');\r
-       // With an image button\r
-       inp = init('#inp', {showOn: 'button', buttonImageOnly: true,\r
-               buttonImage: 'img/calendar.gif'});\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable image - initially marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable image - field initially enabled');\r
-       ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image initially enabled');\r
-       inp.datepicker('disable');\r
-       ok(inp.datepicker('isDisabled'), 'Enable/disable image - now marked as disabled');\r
-       ok(inp[0].disabled, 'Enable/disable image - field now disabled');\r
-       ok(inp.next('img').css('opacity') != 1, 'Enable/disable image - image now disabled');\r
-       inp.datepicker('enable');\r
-       ok(!inp.datepicker('isDisabled'), 'Enable/disable image - now marked as enabled');\r
-       ok(!inp[0].disabled, 'Enable/disable image - field now enabled');\r
-       ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image now enabled');\r
-       inp.datepicker('destroy');\r
-       // Inline\r
-       var inl = init('#inl');\r
-       ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');\r
-       ok($('.ui-datepicker-disabled', inl).length == 0, 'Enable/disable inline - cover initially absent');\r
-       inl.datepicker('disable');\r
-       ok(inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as disabled');\r
-       var disabled = $('.ui-datepicker-disabled', inl);\r
-       var dp = $('.ui-datepicker-inline', inl);\r
-       ok(disabled.length == 1, 'Enable/disable inline - cover now present');\r
-       ok(disabled.offset().top == dp.offset().top && disabled.offset().left == dp.offset().left,\r
-               'Enable/disable inline - cover positioning');\r
-       ok(disabled.width() == dp.width() && disabled.height() == dp.height(),\r
-               'Enable/disable inline - cover sizing');\r
-       inl.datepicker('enable');\r
-       ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as enabled');\r
-       ok($('.ui-datepicker-disabled', inl).length == 0, 'Enable/disable inline - cover now absent');\r
-       inl.datepicker('destroy');\r
-});\r
-\r
-test('keystrokes', function() {\r
-       var inp = init('#inp');\r
-       var date = new Date();\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Keystroke enter - preset');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+home');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});\r
-       ok(inp.datepicker('getDate') == null, 'Keystroke ctrl+end');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       ok(inp.datepicker('getDate') == null, 'Keystroke esc');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Keystroke esc - preset');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Keystroke esc - abandoned');\r
-       // Moving by day or week\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_LEFT}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+left');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_LEFT}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke left');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_RIGHT}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+right');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_RIGHT}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke right');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 7);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+up');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_UP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 7);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke up');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 7);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+down');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 7);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Keystroke down');\r
-       // Moving by month or year\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 4),\r
-               'Keystroke pgup');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 4),\r
-               'Keystroke pgdn');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 4),\r
-               'Keystroke ctrl+pgup');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 4),\r
-               'Keystroke ctrl+pgdn');\r
-       // Check for moving to short months\r
-       inp.val('03/31/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),\r
-               'Keystroke pgup - Feb');\r
-       inp.val('01/30/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29), \r
-               'Keystroke pgdn - Feb');\r
-       inp.val('02/29/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 28),\r
-               'Keystroke ctrl+pgup - Feb');\r
-       inp.val('02/29/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 28),\r
-               'Keystroke ctrl+pgdn - Feb');\r
-       // Goto current\r
-       inp.datepicker('change', {gotoCurrent: true}).\r
-               datepicker('hide').val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Keystroke ctrl+home');\r
-       // Change steps\r
-       inp.datepicker('change', {stepMonths: 2, stepBigMonths: 6, gotoCurrent: false}).\r
-               datepicker('hide').val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2007, 12 - 1, 4),\r
-               'Keystroke pgup step 2');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 4 - 1, 4),\r
-               'Keystroke pgdn step 2');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2007, 8 - 1, 4),\r
-               'Keystroke ctrl+pgup step 6');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 8 - 1, 4),\r
-               'Keystroke ctrl+pgdn step 6');\r
-});\r
-\r
-test('mouse', function() {\r
-       var inp = init('#inp');\r
-       var dp = $('#ui-datepicker-div');\r
-       var date = new Date();\r
-       inp.val('').datepicker('show');\r
-       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {});\r
-       date.setDate(10);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Mouse click');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 12),\r
-               'Mouse click - preset');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-clear a', dp).simulate('click', {});\r
-       ok(inp.datepicker('getDate') == null, 'Mouse click - clear');\r
-       inp.val('').datepicker('show');\r
-       $('.ui-datepicker-close a', dp).simulate('click', {});\r
-       ok(inp.datepicker('getDate') == null, 'Mouse click - close');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-close a', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Mouse click - close + preset');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-prev a', dp).simulate('click', {});\r
-       $('.ui-datepicker-close a', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),\r
-               'Mouse click - abandoned');\r
-       // Current/previous/next\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-current a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(14)', dp).simulate('click', {});\r
-       date.setDate(14);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Mouse click - current');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-prev a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 16),\r
-               'Mouse click - previous');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-next a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 18),\r
-               'Mouse click - next');\r
-       // Previous/next with minimum/maximum\r
-       inp.datepicker('change', {minDate: new Date(2008, 2 - 1, 2),\r
-               maxDate: new Date(2008, 2 - 1, 26)}).val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-prev a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 16),\r
-               'Mouse click - previous + min/max');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       $('.ui-datepicker-next a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});\r
-       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18),\r
-               'Mouse click - next + min/max');\r
-       // Change day of week\r
-       inp.val('02/04/2008').datepicker('show');\r
-       equals($('.ui-datepicker-title-row td:first', dp).text(), 'Su',\r
-               'Mouse click - initial day of week');\r
-       $('.ui-datepicker-title-row td:last a', dp).simulate('click', {});\r
-       equals($('.ui-datepicker-title-row td:first', dp).text(), 'Sa',\r
-               'Mouse click - day of week');\r
-       // Highlight week\r
-       inp.datepicker('change', {highlightWeek: true}).\r
-               datepicker('hide').val('02/04/2008').datepicker('show');\r
-       ok(!$('.ui-datepicker tr:eq(2)', dp).is('.ui-datepicker-week-over'),\r
-               'Mouse over - no week highlight');\r
-       $('.ui-datepicker tr:eq(2) td:first', dp).simulate('mouseover', {});\r
-       ok($('.ui-datepicker tr:eq(2)', dp).is('.ui-datepicker-week-over'),\r
-               'Mouse over - week highlight');\r
-       // Inline\r
-       var inl = init('#inl');\r
-       var dp = $('.ui-datepicker-inline', inl);\r
-       var date = new Date();\r
-       inl.datepicker('setDate', date);\r
-       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {});\r
-       date.setDate(10);\r
-       equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline');\r
-       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       equalsDate(inl.datepicker('getDate'), new Date(2008, 2 - 1, 12),\r
-               'Mouse click inline - preset');\r
-       $('.ui-datepicker-current a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(14)', dp).simulate('click', {});\r
-       date.setDate(14);\r
-       equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline - current');\r
-       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));\r
-       $('.ui-datepicker-prev a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});\r
-       equalsDate(inl.datepicker('getDate'), new Date(2008, 1 - 1, 16),\r
-               'Mouse click inline - previous');\r
-       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));\r
-       $('.ui-datepicker-next a', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});\r
-       equalsDate(inl.datepicker('getDate'), new Date(2008, 3 - 1, 18),\r
-               'Mouse click inline - next');\r
-});\r
-\r
-test('defaultDate', function() {\r
-       var inp = init('#inp');\r
-       var date = new Date();\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date null');\r
-       // numeric values\r
-       inp.datepicker('change', {defaultDate: -2}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 2);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date -2');\r
-       inp.datepicker('change', {defaultDate: 3}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 5);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date 3');\r
-       inp.datepicker('change', {defaultDate: 1 / 0}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 3);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date Infinity');\r
-       inp.datepicker('change', {defaultDate: 1 / 'a'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date NaN');\r
-       // string values\r
-       inp.datepicker('change', {defaultDate: '-1d'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() - 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date -1d');\r
-       inp.datepicker('change', {defaultDate: '+3D'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 4);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date +3D');\r
-       inp.datepicker('change', {defaultDate: ' -2 w '}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date = new Date();\r
-       date.setDate(date.getDate() - 14);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date -2 w');\r
-       inp.datepicker('change', {defaultDate: '+1 W'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 21);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date +1 W');\r
-       inp.datepicker('change', {defaultDate: ' -1 m '}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date = new Date();\r
-       date.setMonth(date.getMonth() - 1);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date -1 m');\r
-       inp.datepicker('change', {defaultDate: '+2M'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setMonth(date.getMonth() + 3);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date +2M');\r
-       inp.datepicker('change', {defaultDate: '-2y'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date = new Date();\r
-       date.setFullYear(date.getFullYear() - 2);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date -2y');\r
-       inp.datepicker('change', {defaultDate: '+1 Y '}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setFullYear(date.getFullYear() + 3);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date +1 Y');\r
-       inp.datepicker('change', {defaultDate: '+1M +10d'}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date = new Date();\r
-       date.setMonth(date.getMonth() + 1);\r
-       date.setDate(date.getDate() + 10);\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date +1M +10d');\r
-       date = new Date(2007, 1 - 1, 26);\r
-       inp.datepicker('change', {defaultDate: date}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date, 'Default date 01/26/2007');\r
-});\r
-\r
-test('miscellaneous', function() {\r
-       var dp = $('#ui-datepicker-div');\r
-       var inp = init('#inp');\r
-       // Year range\r
-       inp.val('02/04/2008').datepicker('show');\r
-       equals(dp.find('.ui-datepicker-new-year').text(),\r
-               '199819992000200120022003200420052006200720082009201020112012201320142015201620172018',\r
-               'Year range - default');\r
-       inp.datepicker('hide').datepicker('change', {yearRange: '-6:+2'}).datepicker('show');\r
-       equals(dp.find('.ui-datepicker-new-year').text(),\r
-               '200220032004200520062007200820092010', 'Year range - -6:+2');\r
-       inp.datepicker('hide').datepicker('change', {yearRange: '2000:2010'}).datepicker('show');\r
-       equals(dp.find('.ui-datepicker-new-year').text(),\r
-               '20002001200220032004200520062007200820092010', 'Year range - 2000:2010');\r
-       // Navigation as date format\r
-       equals(dp.find('.ui-datepicker-prev').text(),\r
-               '<Prev', 'Navigation prev - default');\r
-       equals(dp.find('.ui-datepicker-current').text(),\r
-               'Today', 'Navigation current - default');\r
-       equals(dp.find('.ui-datepicker-next').text(),\r
-               'Next>', 'Navigation next - default');\r
-       inp.datepicker('hide').datepicker('change', {navigationAsDateFormat: true,\r
-               prevText: '< M', currentText: 'MM', nextText: 'M >'}).\r
-               val('02/04/2008').datepicker('show');\r
-       var longNames = $.datepicker.regional[''].monthNames;\r
-       var shortNames = $.datepicker.regional[''].monthNamesShort;\r
-       var date = new Date();\r
-       equals(dp.find('.ui-datepicker-prev').text(),\r
-               '< ' + shortNames[0], 'Navigation prev - as date format');\r
-       equals(dp.find('.ui-datepicker-current').text(),\r
-               longNames[date.getMonth()], 'Navigation current - as date format');\r
-       equals(dp.find('.ui-datepicker-next').text(),\r
-               shortNames[2] + ' >', 'Navigation next - as date format');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});\r
-       equals(dp.find('.ui-datepicker-prev').text(),\r
-               '< ' + shortNames[1], 'Navigation prev - as date format + pgdn');\r
-       equals(dp.find('.ui-datepicker-current').text(),\r
-               longNames[date.getMonth()], 'Navigation current - as date format + pgdn');\r
-       equals(dp.find('.ui-datepicker-next').text(),\r
-               shortNames[3] + ' >', 'Navigation next - as date format + pgdn');\r
-       inp.datepicker('hide').datepicker('change', {gotoCurrent: true}).\r
-               val('02/04/2008').datepicker('show');\r
-       equals(dp.find('.ui-datepicker-prev').text(),\r
-               '< ' + shortNames[0], 'Navigation prev - as date format + goto current');\r
-       equals(dp.find('.ui-datepicker-current').text(),\r
-               longNames[1], 'Navigation current - as date format + goto current');\r
-       equals(dp.find('.ui-datepicker-next').text(),\r
-               shortNames[2] + ' >', 'Navigation next - as date format + goto current');\r
-});\r
-\r
-test('minMax', function() {\r
-       var inp = init('#inp');\r
-       var lastYear = new Date(2007, 6 - 1, 4);\r
-       var nextYear = new Date(2009, 6 - 1, 4);\r
-       var minDate = new Date(2008, 2 - 1, 29);\r
-       var maxDate = new Date(2008, 12 - 1, 7);\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), lastYear,\r
-               'Min/max - null, null - ctrl+pgup');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), nextYear,\r
-               'Min/max - null, null - ctrl+pgdn');\r
-       inp.datepicker('change', {minDate: minDate}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), minDate,\r
-               'Min/max - 02/29/2008, null - ctrl+pgup');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), nextYear,\r
-               'Min/max - 02/29/2008, null - ctrl+pgdn');\r
-       inp.datepicker('change', {maxDate: maxDate}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), minDate,\r
-               'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgup');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), maxDate,\r
-               'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgdn');\r
-       inp.datepicker('change', {minDate: null}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), lastYear,\r
-               'Min/max - null, 12/07/2008 - ctrl+pgup');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), maxDate,\r
-               'Min/max - null, 12/07/2008 - ctrl+pgdn');\r
-       // Relative dates\r
-       var date = new Date();\r
-       date.setDate(date.getDate() - 7);\r
-       inp.datepicker('change', {minDate: '-1w', maxDate: '+1 M +10 D '}).\r
-               datepicker('hide').val('').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date,\r
-               'Min/max - -1w, +1 M +10 D - ctrl+pgup');\r
-       date = new Date();\r
-       date.setMonth(date.getMonth() + 1);\r
-       date.setDate(date.getDate() + 10);\r
-       inp.val('').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDate(inp.datepicker('getDate'), date,\r
-               'Min/max - -1w, +1 M +10 D - ctrl+pgdn');\r
-});\r
-\r
-test('setDate', function() {\r
-       var inp = init('#inp');\r
-       var date1 = new Date(2008, 6 - 1, 4);\r
-       var date2 = new Date();\r
-       ok(inp.datepicker('getDate') == null, 'Set date - default');\r
-       inp.datepicker('setDate', date1);\r
-       equalsDate(inp.datepicker('getDate'), date1, 'Set date - 2008-06-04');\r
-       date1 = new Date();\r
-       date1.setDate(date1.getDate() + 7);\r
-       inp.datepicker('setDate', +7);\r
-       equalsDate(inp.datepicker('getDate'), date1, 'Set date - +7');\r
-       date2.setFullYear(date2.getFullYear() + 2);\r
-       inp.datepicker('setDate', '+2y');\r
-       equalsDate(inp.datepicker('getDate'), date2, 'Set date - +2y');\r
-       inp.datepicker('setDate', date1, date2);\r
-       equalsDate(inp.datepicker('getDate'), date1, 'Set date - two dates');\r
-       inp.datepicker('setDate');\r
-       ok(inp.datepicker('getDate') == null, 'Set date - null');\r
-       // Ranges\r
-       date1 = new Date(2008, 6 - 1, 4);\r
-       date2 = new Date(2009, 7 - 1, 5);\r
-       inp.datepicker('change', {rangeSelect: true});\r
-       inp.datepicker('setDate', date1, date2);\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date2],\r
-               'Set date range - 2008-06-04 - 2009-07-05');\r
-       inp.datepicker('setDate', date1);\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Set date range - 2008-06-04');\r
-       date1 = new Date();\r
-       date1.setDate(date1.getDate() - 10);\r
-       date2 = new Date();\r
-       date2.setDate(date2.getDate() + 10);\r
-       inp.datepicker('setDate', -10, +10);\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date2],\r
-               'Set date range - -10 - +10');\r
-       inp.datepicker('setDate', -10);\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Set date range - -10');\r
-       date1 = new Date();\r
-       date1.setDate(date1.getDate() - 14);\r
-       date2 = new Date();\r
-       date2.setFullYear(date2.getFullYear() + 1);\r
-       inp.datepicker('setDate', '-2w', '+1Y');\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date2],\r
-               'Set date range - -2w - +1Y');\r
-       inp.datepicker('setDate', '-2w');\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Set date range - -2w');\r
-       inp.datepicker('setDate');\r
-       isObj(inp.datepicker('getDate'), [null, null], 'Set date range - null');\r
-       // Inline\r
-       var inl = init('#inl');\r
-       date1 = new Date(2008, 6 - 1, 4);\r
-       date2 = new Date();\r
-       equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - default');\r
-       inl.datepicker('setDate', date1);\r
-       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - 2008-06-04');\r
-       date1 = new Date();\r
-       date1.setDate(date1.getDate() + 7);\r
-       inl.datepicker('setDate', +7);\r
-       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - +7');\r
-       date2.setFullYear(date2.getFullYear() + 2);\r
-       inl.datepicker('setDate', '+2y');\r
-       equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - +2y');\r
-       inl.datepicker('setDate', date1, date2);\r
-       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - two dates');\r
-       inl.datepicker('setDate');\r
-       ok(inl.datepicker('getDate') == null, 'Set date inline - null');\r
-       // Alternate field\r
-       var alt = $('#alt');\r
-       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'});\r
-       date1 = new Date(2008, 6 - 1, 4);\r
-       date2 = new Date(2009, 7 - 1, 5);\r
-       inp.datepicker('setDate', date1, date2);\r
-       equals(inp.val(), '06/04/2008 - 07/05/2009',\r
-               'Set date alternate - 06/04/2008 - 07/05/2009');\r
-       equals(alt.val(), '2008-06-04 - 2009-07-05',\r
-               'Set date alternate - 2008-06-04 - 2009-07-05');\r
-       inp.datepicker('change', {rangeSelect: false}).datepicker('setDate', date1);\r
-       equals(inp.val(), '06/04/2008', 'Set date alternate - 06/04/2008');\r
-       equals(alt.val(), '2008-06-04', 'Set date alternate - 2008-06-04');\r
-});\r
-\r
-test('ranges', function() {\r
-       var inp = init('#inp', {rangeSelect: true});\r
-       var date1 = new Date();\r
-       var date2 = new Date();\r
-       // Select today - today\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Range - enter/enter');\r
-       // Can't select prior to start date\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Range - enter/ctrl+up/enter');\r
-       // Can select after start date\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date2.setDate(date2.getDate() + 7);\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date2],\r
-               'Range - enter/ctrl+down/enter');\r
-       equals(inp.val(), $.datepicker.formatDate('mm/dd/yy', date1) + ' - ' +\r
-               $.datepicker.formatDate('mm/dd/yy', date2), 'Range - value');\r
-       // Select then cancel defaults to first date\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date1],\r
-               'Range - enter/ctrl+down/esc');\r
-       // Separator\r
-       inp.datepicker('change', {rangeSeparator: ' to '}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDateArray(inp.datepicker('getDate'),\r
-               [new Date(2008, 6 - 1, 4), new Date(2008, 6 - 1, 11)],\r
-               'Range separator - enter/ctrl+down/enter');\r
-       equals(inp.val(), '06/04/2008 to 06/11/2008',\r
-               'Range separator - value');\r
-       // Callbacks\r
-       inp.datepicker('change', {onSelect: callback, rangeSeparator: ' - '}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(selectedDate, '06/04/2008 - 06/11/2008',\r
-               'Range onSelect - enter/ctrl+down/enter');\r
-       inp.datepicker('change', {onChangeMonthYear: callback2, onSelect: null}).\r
-               datepicker('hide').val('05/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(selectedDate, '2008/4',\r
-               'Range onChangeMonthYear - enter/ctrl+down/enter');\r
-       inp.datepicker('change', {onClose: callback, onChangeMonthYear: null}).\r
-               datepicker('hide').val('03/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(selectedDate, '03/04/2008 - 03/11/2008',\r
-               'Range onClose - enter/ctrl+down/enter');\r
-       // Minimum/maximum\r
-       date1 = new Date(2008, 5 - 1, 20);\r
-       date2 = new Date(2008, 7 - 1, 2);\r
-       inp.datepicker('change', {minDate: date1, maxDate: date2, onClose: null}).\r
-               datepicker('hide').val('06/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDateArray(inp.datepicker('getDate'), [date1, date2],\r
-               'Range min/max - pgup/enter/pgdn/pgdn/enter');\r
-       inp.val('06/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equalsDateArray(inp.datepicker('getDate'),\r
-               [new Date(2008, 5 - 1, 28), new Date(2008, 6 - 1, 11)],\r
-               'Range min/max - ctrl+up/enter/ctrl+down/ctrl+down/enter');\r
-       // Inline\r
-       var inl = init('#inl', {rangeSelect: true});\r
-       var dp = $('.ui-datepicker-inline', inl);\r
-       date1 = new Date();\r
-       date1.setDate(12);\r
-       date2 = new Date();\r
-       date2.setDate(19);\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       equalsDateArray(inl.datepicker('getDate'), [date1, date1],\r
-               'Range inline - same day');\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {}); // Doesn't select\r
-       equalsDateArray(inl.datepicker('getDate'), [date1, date1],\r
-               'Range inline - prev');\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {}); // Selects\r
-       inl.datepicker('setDate', date1);\r
-       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});\r
-       $('.ui-datepicker tbody a:contains(19)', dp).simulate('click', {});\r
-       equalsDateArray(inl.datepicker('getDate'), [date1, date2],\r
-               'Range inline - next');\r
-});\r
-\r
-test('altField', function() {\r
-       var inp = init('#inp');\r
-       var alt = $('#alt');\r
-       // No alternate field set\r
-       alt.val('');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '06/04/2008', 'Alt field - dp - enter');\r
-       equals(alt.val(), '', 'Alt field - alt not set');\r
-       // Alternate field set\r
-       alt.val('');\r
-       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'}).\r
-               val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '06/04/2008', 'Alt field - dp - enter');\r
-       equals(alt.val(), '2008-06-04', 'Alt field - alt - enter');\r
-       // Move from initial date\r
-       alt.val('');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '07/04/2008', 'Alt field - dp - pgdn');\r
-       equals(alt.val(), '2008-07-04', 'Alt field - alt - pgdn');\r
-       // Alternate field set - closed\r
-       alt.val('');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equals(inp.val(), '06/04/2008', 'Alt field - dp - pgdn/esc');\r
-       equals(alt.val(), '', 'Alt field - alt - pgdn/esc');\r
-       // Clear date and alternate\r
-       alt.val('');\r
-       inp.val('06/04/2008').datepicker('show');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});\r
-       equals(inp.val(), '', 'Alt field - dp - ctrl+end');\r
-       equals(alt.val(), '', 'Alt field - alt - ctrl+end');\r
-       // Range select no alternate field set\r
-       alt.val('');\r
-       inp.datepicker('change', {rangeSelect: true, altField: '', altFormat: ''}).\r
-               datepicker('hide').val('06/04/2008 - 07/14/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '06/04/2008 - 06/04/2008', 'Alt field range - dp - enter');\r
-       equals(alt.val(), '', 'Alt field range - alt not set');\r
-       // Range select no movement\r
-       alt.val('');\r
-       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'}).\r
-               datepicker('hide').val('06/04/2008 - 07/14/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '06/04/2008 - 06/04/2008', 'Alt field range - dp - enter');\r
-       equals(alt.val(), '2008-06-04 - 2008-06-04', 'Alt field range - alt - enter');\r
-       // Range select next month\r
-       alt.val('');\r
-       inp.val('06/04/2008 - 07/14/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(inp.val(), '06/04/2008 - 07/04/2008',\r
-               'Alt field range - dp - enter/pgdn/enter');\r
-       equals(alt.val(), '2008-06-04 - 2008-07-04',\r
-               'Alt field range - alt - enter/pgdn/enter');\r
-       // Range select escape\r
-       alt.val('');\r
-       inp.val('06/04/2008 - 07/14/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equals(inp.val(), '06/04/2008 - 06/04/2008',\r
-               'Alt field range - dp - enter/pgdn/esc');\r
-       equals(alt.val(), '2008-06-04 - 2008-06-04',\r
-               'Alt field range - alt - enter/pgdn/esc');\r
-       // Range select clear\r
-       alt.val('');\r
-       inp.val('06/04/2008 - 07/14/2008').datepicker('show');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});\r
-       equals(inp.val(), '', 'Alt field range - dp - enter/pgdn/ctrl+end');\r
-       equals(alt.val(), '', 'Alt field range - alt - enter/pgdn/ctrl+end');\r
-});\r
-\r
-var beforeShowThis = null;\r
-var beforeShowInput = null;\r
-var beforeShowInst = null;\r
-\r
-function beforeAll(input, inst) {\r
-       beforeShowThis = this;\r
-       beforeShowInput = input;\r
-       beforeShowInst = inst;\r
-       return {currentText: 'Current'};\r
-}\r
-\r
-var beforeShowDayThis = null;\r
-var beforeShowDayOK = true;\r
-\r
-function beforeDay(date) {\r
-       beforeShowDayThis = this;\r
-       beforeShowDayOK &= (date > new Date(2008, 1 - 1, 26) &&\r
-               date < new Date(2008, 3 - 1, 6));\r
-       return [(date.getDate() % 2 == 0), (date.getDate() % 10 == 0 ? 'day10' : ''),\r
-               (date.getDate() % 3 == 0 ? 'Divisble by 3' : '')];\r
-}\r
-\r
-function calcWeek(date) {\r
-       var doy = date.getDate() + 6;\r
-       for (var m = date.getMonth() - 1; m >= 0; m--)\r
-               doy += $.datepicker._getDaysInMonth(date.getFullYear(), m);\r
-       // Simple count from 01/01 starting at week 1\r
-       return Math.floor(doy / 7);\r
-}\r
-\r
-test('callbacks', function() {\r
-       // Before show\r
-       var inp = init('#inp', {beforeShow: beforeAll});\r
-       var inst = $.data(inp[0], 'datepicker');\r
-       equals($.datepicker._get(inst, 'currentText'), 'Today', 'Before show - initial');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       equals($.datepicker._get(inst, 'currentText'), 'Current', 'Before show - changed');\r
-       ok(beforeShowThis.id == inp[0].id, 'Before show - this OK');\r
-       ok(beforeShowInput.id == inp[0].id, 'Before show - input OK');\r
-       isObj(beforeShowInst, inst, 'Before show - inst OK');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Before show day\r
-       inp = init('#inp', {beforeShowDay: beforeDay});\r
-       var dp = $('#ui-datepicker-div');\r
-       inp.val('02/04/2008').datepicker('show');\r
-       ok(beforeShowDayThis.id == inp[0].id, 'Before show day - this OK');\r
-       ok(beforeShowDayOK, 'Before show day - dates OK');\r
-       var day20 = dp.find('.ui-datepicker td:contains("20")');\r
-       var day21 = dp.find('.ui-datepicker td:contains("21")');\r
-       ok(!day20.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 20');\r
-       ok(day21.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 21');\r
-       ok(day20.is('.day10'), 'Before show day - CSS 20');\r
-       ok(!day21.is('.day10'), 'Before show day - CSS 21');\r
-       ok(day20.attr('title') == '', 'Before show day - title 20');\r
-       ok(day21.attr('title') == 'Divisble by 3', 'Before show day - title 21');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-       // Calculate week\r
-       inp = init('#inp', {showWeeks: true, calculateWeek: calcWeek});\r
-       inp.val('02/04/2008').datepicker('show');\r
-       equals($('.ui-datepicker-week-col:first').text(), 4, 'Calculate week');\r
-       equals($('.ui-datepicker-week-col:last').text(), 8, 'Calculate week');\r
-       // Make Tuesday first\r
-       $('.ui-datepicker-title-row a:contains("Tu")', dp).simulate('click', {});\r
-       equals($('.ui-datepicker-week-col:first').text(), 5, 'Calculate week');\r
-       equals($('.ui-datepicker-week-col:last').text(), 9, 'Calculate week');\r
-       inp.datepicker('hide').datepicker('destroy');\r
-});\r
-\r
-var selectedThis = null;\r
-var selectedDate = null;\r
-var selectedInst = null;\r
-\r
-function callback(date, inst) {\r
-       selectedThis = this;\r
-       selectedDate = date;\r
-       selectedInst = inst;\r
-}\r
-\r
-function callback2(year, month, inst) {\r
-       selectedThis = this;\r
-       selectedDate = year + '/' + month;\r
-       selectedInst = inst;\r
-}\r
-\r
-test('events', function() {\r
-       var inp = init('#inp', {onSelect: callback});\r
-       var date = new Date();\r
-       // onSelect\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(selectedThis, inp[0], 'Callback selected this');\r
-       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback selected inst');\r
-       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),\r
-               'Callback selected date');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       date.setDate(date.getDate() + 7);\r
-       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),\r
-               'Callback selected date - ctrl+down');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),\r
-               'Callback selected date - esc');\r
-       // onChangeMonthYear\r
-       inp.datepicker('change', {onChangeMonthYear: callback2, onSelect: null}).\r
-               val('').datepicker('show');\r
-       var newMonthYear = function(date) {\r
-               return date.getFullYear() + '/' + (date.getMonth() + 1);\r
-       };\r
-       date = new Date();\r
-       date.setDate(1);\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGUP});\r
-       date.setMonth(date.getMonth() - 1);\r
-       equals(selectedThis, inp[0], 'Callback change month/year this');\r
-       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback change month/year inst');\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year date - pgup');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});\r
-       date.setMonth(date.getMonth() + 1);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year date - pgdn');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP});\r
-       date.setFullYear(date.getFullYear() - 1);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year date - ctrl+pgup');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME});\r
-       date.setFullYear(date.getFullYear() + 1);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year date - ctrl+home');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN});\r
-       date.setFullYear(date.getFullYear() + 1);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year date - ctrl+pgdn');\r
-       inp.datepicker('setDate', new Date(2007, 1 - 1, 26));\r
-       equals(selectedDate, '2007/1', 'Callback change month/year date - setDate');\r
-       selectedDate = null;\r
-       inp.datepicker('setDate', new Date(2007, 1 - 1, 12));\r
-       ok(selectedDate == null, 'Callback change month/year date - setDate no change');\r
-       // onChangeMonthYear step by 2\r
-       inp.datepicker('change', {stepMonths: 2}).\r
-               datepicker('hide').val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_PGUP});\r
-       date.setMonth(date.getMonth() - 14);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year by 2 date - pgup');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP});\r
-       date.setMonth(date.getMonth() - 12);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year by 2 date - ctrl+pgup');\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});\r
-       date.setMonth(date.getMonth() + 2);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year by 2 date - pgdn');\r
-       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN});\r
-       date.setMonth(date.getMonth() + 12);\r
-       equals(selectedDate, newMonthYear(date),\r
-               'Callback change month/year by 2 date - ctrl+pgdn');\r
-       // onClose\r
-       inp.datepicker('change', {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).\r
-               val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equals(selectedThis, inp[0], 'Callback close this');\r
-       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback close inst');\r
-       equals(selectedDate, '', 'Callback close date - esc');\r
-       inp.val('').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', new Date()),\r
-               'Callback close date - enter');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {keyCode: $.simulate.VK_ESC});\r
-       equals(selectedDate, '02/04/2008', 'Callback close date - preset');\r
-       inp.val('02/04/2008').datepicker('show').\r
-               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});\r
-       equals(selectedDate, '', 'Callback close date - ctrl+end');\r
-});\r
-\r
-function highlight20(date, inst) {\r
-       return (date.getDate() == 20 ? '*** 20 ***' : $.datepicker.dateStatus(date, inst));\r
-}\r
-\r
-test('status', function() {\r
-       var dp = $('#ui-datepicker-div');\r
-       var inp = init('#inp', {showStatus: true, statusForDate: highlight20, showWeeks: true});\r
-       inp.val('').datepicker('show');\r
-       var status = $('.ui-datepicker-status', dp);\r
-       ok(status.length == 1, 'Status - present');\r
-       equals(status.text(), 'Select a date', 'Status - default');\r
-       $('.ui-datepicker-clear a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Erase the current date', 'Status - clear');\r
-       $('.ui-datepicker-close a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Close without change', 'Status - close');\r
-       $('.ui-datepicker-prev a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Show the previous month', 'Status - previous');\r
-       $('.ui-datepicker-current a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Show the current month', 'Status - current');\r
-       $('.ui-datepicker-next a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Show the next month', 'Status - next');\r
-       $('.ui-datepicker-new-month', dp).simulate('mouseover');\r
-       equals(status.text(), 'Show a different month', 'Status - new month');\r
-       $('.ui-datepicker-new-year', dp).simulate('mouseover');\r
-       equals(status.text(), 'Show a different year', 'Status - new year');\r
-       $('.ui-datepicker-title-row td:first', dp).simulate('mouseover');\r
-       equals(status.text(), 'Week of the year', 'Status - week header');\r
-       var day = 0;\r
-       $('.ui-datepicker-title-row a', dp).each(function() {\r
-               $(this).simulate('mouseover');\r
-               equals(status.text(), 'Set ' + $.datepicker.regional[''].dayNames[day] +\r
-                       ' as first week day', 'Status - day ' + day);\r
-               day++;\r
-       });\r
-       $('.ui-datepicker-days-row:eq(1) td:first', dp).simulate('mouseover');\r
-       equals(status.text(), 'Week of the year', 'Status - week column');\r
-       day = 0;\r
-       var month = $.datepicker.regional[''].monthNamesShort[new Date().getMonth()];\r
-       $('.ui-datepicker-days-row:eq(1) a', dp).each(function() {\r
-               $(this).simulate('mouseover');\r
-               equals(status.text(), 'Select ' + $.datepicker.regional[''].dayNames[day] +\r
-                       ', ' + month + ' ' + $(this).text(), 'Status - dates');\r
-               day++;\r
-       });\r
-       $('.ui-datepicker-days-row a:contains("20")', dp).each(function() {\r
-               $(this).simulate('mouseover');\r
-               equals(status.text(), '*** 20 ***', 'Status - dates');\r
-       });\r
-       inp.datepicker('hide').datepicker('destroy');\r
-});\r
-\r
-test('localisation', function() {\r
-       var inp = init('#inp', $.datepicker.regional['fr']);\r
-       inp.datepicker('change', {dateFormat: 'DD, d MM yy', showStatus: true, showWeeks: true}).\r
-               val('').datepicker('show');\r
-       var dp = $('#ui-datepicker-div');\r
-       var status = $('.ui-datepicker-status', dp);\r
-       equals($('.ui-datepicker-clear', dp).text(), 'Effacer', 'Localisation - clear');\r
-       equals($('.ui-datepicker-close', dp).text(), 'Fermer', 'Localisation - close');\r
-       $('.ui-datepicker-close a', dp).simulate('mouseover');\r
-       equals(status.text(), 'Fermer sans modifier', 'Localisation - status');\r
-       equals($('.ui-datepicker-prev', dp).text(), '<Préc', 'Localisation - previous');\r
-       equals($('.ui-datepicker-current', dp).text(), 'Courant', 'Localisation - current');\r
-       equals($('.ui-datepicker-next', dp).text(), 'Suiv>', 'Localisation - next');\r
-       equals($('.ui-datepicker-current', dp).text(), 'Courant', 'Localisation - current');\r
-       var month = 0;\r
-       $('.ui-datepicker-new-month option', dp).each(function() {\r
-               equals($(this).text(), $.datepicker.regional['fr'].monthNames[month],\r
-                       'Localisation - month ' + month);\r
-               month++;\r
-       });\r
-       equals($('.ui-datepicker-title-row td:first', dp).text(),\r
-               $.datepicker.regional['fr'].weekHeader, 'Localisation - week header');\r
-       var day = 0;\r
-       $('.ui-datepicker-title-row a', dp).each(function() {\r
-               equals($(this).text(), $.datepicker.regional['fr'].dayNamesMin[day],\r
-                       'Localisation - day ' + day);\r
-               day++;\r
-       });\r
-       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});\r
-       var date = new Date();\r
-       equals(inp.val(), $.datepicker.regional['fr'].dayNames[date.getDay()] + ', ' +\r
-               date.getDate() + ' ' + $.datepicker.regional['fr'].monthNames[date.getMonth()] +\r
-               ' ' + date.getFullYear(), 'Localisation - formatting');\r
-});\r
-\r
-test('noWeekends', function() {\r
-       for (var i = 1; i <= 31; i++) {\r
-               var date = new Date(2001, 1 - 1, i);\r
-               isSet($.datepicker.noWeekends(date), [(i + 1) % 7 >= 2, ''],\r
-                       'No weekends ' + date);\r
-       }\r
-});\r
-\r
-test('iso8601Week', function() {\r
-       var date = new Date(2000, 12 - 1, 31);\r
-       equals($.datepicker.iso8601Week(date), 52, 'ISO 8601 week ' + date);\r
-       date = new Date(2001, 1 - 1, 1);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-       date = new Date(2001, 1 - 1, 7);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-       date = new Date(2001, 1 - 1, 8);\r
-       equals($.datepicker.iso8601Week(date), 2, 'ISO 8601 week ' + date);\r
-       date = new Date(2003, 12 - 1, 28);\r
-       equals($.datepicker.iso8601Week(date), 52, 'ISO 8601 week ' + date);\r
-       date = new Date(2003, 12 - 1, 29);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-       date = new Date(2004, 1 - 1, 4);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-       date = new Date(2004, 1 - 1, 5);\r
-       equals($.datepicker.iso8601Week(date), 2, 'ISO 8601 week ' + date);\r
-       date = new Date(2009, 12 - 1, 28);\r
-       equals($.datepicker.iso8601Week(date), 53, 'ISO 8601 week ' + date);\r
-       date = new Date(2010, 1 - 1, 3);\r
-       equals($.datepicker.iso8601Week(date), 53, 'ISO 8601 week ' + date);\r
-       date = new Date(2010, 1 - 1, 4);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-       date = new Date(2010, 1 - 1, 10);\r
-       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);\r
-});\r
-\r
-test('parseDate', function() {\r
-       init('#inp');\r
-       ok($.datepicker.parseDate('d m y', '') == null, 'Parse date empty');\r
-       equalsDate($.datepicker.parseDate('d m y', '3 2 01'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date d m y');\r
-       equalsDate($.datepicker.parseDate('dd mm yy', '03 02 2001'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date dd mm yy');\r
-       equalsDate($.datepicker.parseDate('d m y', '13 12 01'),\r
-               new Date(2001, 12 - 1, 13), 'Parse date d m y');\r
-       equalsDate($.datepicker.parseDate('dd mm yy', '13 12 2001'),\r
-               new Date(2001, 12 - 1, 13), 'Parse date dd mm yy');\r
-       equalsDate($.datepicker.parseDate('y-o', '2001-34'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date y-o');\r
-       equalsDate($.datepicker.parseDate('yy-oo', '2001-347'),\r
-               new Date(2001, 12 - 1, 13), 'Parse date yy oo');\r
-       equalsDate($.datepicker.parseDate('oo yy', '348 2004'),\r
-               new Date(2004, 12 - 1, 13), 'Parse date oo-yy');\r
-       equalsDate($.datepicker.parseDate('D d M y', 'Sat 3 Feb 01'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date D d M y');\r
-       equalsDate($.datepicker.parseDate('d MM DD yy', '3 February Saturday 2001'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date dd MM DD yy');\r
-       equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Saturday, February 3, 2001'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date DD, MM d, yy');\r
-       equalsDate($.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',\r
-               'day 3 of February (\'Saturday\'), 2001'), new Date(2001, 2 - 1, 3),\r
-               'Parse date \'day\' d \'of\' MM (\'\'DD\'\'), yy');\r
-       equalsDate($.datepicker.parseDate('y-m-d', '01-02-03'),\r
-               new Date(2001, 2 - 1, 3), 'Parse date y-m-d - default cutoff');\r
-       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03'),\r
-               new Date(1951, 2 - 1, 3), 'Parse date y-m-d - default cutoff');\r
-       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03', {shortYearCutoff: 80}),\r
-               new Date(2051, 2 - 1, 3), 'Parse date y-m-d - cutoff 80');\r
-       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03', {shortYearCutoff: '+60'}),\r
-               new Date(2051, 2 - 1, 3), 'Parse date y-m-d - cutoff +60');\r
-       var fr = $.datepicker.regional['fr'];\r
-       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,\r
-               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};\r
-       equalsDate($.datepicker.parseDate('D d M y', 'Lun 9 Avr 01', settings),\r
-               new Date(2001, 4 - 1, 9), 'Parse date D M y with settings');\r
-       equalsDate($.datepicker.parseDate('d MM DD yy', '9 Avril Lundi 2001', settings),\r
-               new Date(2001, 4 - 1, 9), 'Parse date d MM DD yy with settings');\r
-       equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Lundi, Avril 9, 2001', settings),\r
-               new Date(2001, 4 - 1, 9), 'Parse date DD, MM d, yy with settings');\r
-       equalsDate($.datepicker.parseDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',\r
-               'jour 9 de Avril (\'Lundi\'), 2001', settings), new Date(2001, 4 - 1, 9),\r
-               'Parse date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings');\r
-});\r
-\r
-test('parseDateErrors', function() {\r
-       init('#inp');\r
-       var expectError = function(expr, value, error) {\r
-               try {\r
-                       expr();\r
-                       ok(false, 'Parsed error ' + value);\r
-               }\r
-               catch (e) {\r
-                       equals(e, error, 'Parsed error ' + value);\r
-               }\r
-       };\r
-       expectError(function() { $.datepicker.parseDate(null, 'Sat 2 01'); },\r
-               'Sat 2 01', 'Invalid arguments');\r
-       expectError(function() { $.datepicker.parseDate('d m y', null); },\r
-               'null', 'Invalid arguments');\r
-       expectError(function() { $.datepicker.parseDate('d m y', 'Sat 2 01'); },\r
-               'Sat 2 01 - d m y', 'Missing number at position 0');\r
-       expectError(function() { $.datepicker.parseDate('dd mm yy', 'Sat 2 01'); },\r
-               'Sat 2 01 - dd mm yy', 'Missing number at position 0');\r
-       expectError(function() { $.datepicker.parseDate('d m y', '3 Feb 01'); },\r
-               '3 Feb 01 - d m y', 'Missing number at position 2');\r
-       expectError(function() { $.datepicker.parseDate('dd mm yy', '3 Feb 01'); },\r
-               '3 Feb 01 - dd mm yy', 'Missing number at position 2');\r
-       expectError(function() { $.datepicker.parseDate('d m y', '3 2 AD01'); },\r
-               '3 2 AD01 - d m y', 'Missing number at position 4');\r
-       expectError(function() { $.datepicker.parseDate('d m yy', '3 2 AD01'); },\r
-               '3 2 AD01 - dd mm yy', 'Missing number at position 4');\r
-       expectError(function() { $.datepicker.parseDate('y-o', '2001-D01'); },\r
-               '2001-D01 - y-o', 'Missing number at position 5');\r
-       expectError(function() { $.datepicker.parseDate('yy-oo', '2001-D01'); },\r
-               '2001-D01 - yy-oo', 'Missing number at position 5');\r
-       expectError(function() { $.datepicker.parseDate('D d M y', 'D7 3 Feb 01'); },\r
-               'D7 3 Feb 01 - D d M y', 'Unknown name at position 0');\r
-       expectError(function() { $.datepicker.parseDate('D d M y', 'Sat 3 M2 01'); },\r
-               'Sat 3 M2 01 - D d M y', 'Unknown name at position 6');\r
-       expectError(function() { $.datepicker.parseDate('DD, MM d, yy', 'Saturday- Feb 3, 2001'); },\r
-               'Saturday- Feb 3, 2001 - DD, MM d, yy', 'Unexpected literal at position 8');\r
-       expectError(function() { $.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',\r
-               'day 3 of February ("Saturday"), 2001'); },\r
-               'day 3 of Mon2 ("Day7"), 2001', 'Unexpected literal at position 19');\r
-       expectError(function() { $.datepicker.parseDate('d m y', '29 2 01'); },\r
-               '29 2 01 - d m y', 'Invalid date');\r
-       var fr = $.datepicker.regional['fr'];\r
-       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,\r
-               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};\r
-       expectError(function() { $.datepicker.parseDate('D d M y', 'Mon 9 Avr 01', settings); },\r
-               'Mon 9 Avr 01 - D d M y', 'Unknown name at position 0');\r
-       expectError(function() { $.datepicker.parseDate('D d M y', 'Lun 9 Apr 01', settings); },\r
-               'Lun 9 Apr 01 - D d M y', 'Unknown name at position 6');\r
-});\r
-\r
-test('formatDate', function() {\r
-       init('#inp');\r
-       equals($.datepicker.formatDate('d m y', new Date(2001, 2 - 1, 3)),\r
-               '3 2 01', 'Format date d m y');\r
-       equals($.datepicker.formatDate('dd mm yy', new Date(2001, 2 - 1, 3)),\r
-               '03 02 2001', 'Format date dd mm yy');\r
-       equals($.datepicker.formatDate('d m y', new Date(2001, 12 - 1, 13)),\r
-               '13 12 01', 'Format date d m y');\r
-       equals($.datepicker.formatDate('dd mm yy', new Date(2001, 12 - 1, 13)),\r
-               '13 12 2001', 'Format date dd mm yy');\r
-       equals($.datepicker.formatDate('yy-o', new Date(2001, 2 - 1, 3)),\r
-               '2001-34', 'Format date yy-o');\r
-       equals($.datepicker.formatDate('yy-oo', new Date(2001, 2 - 1, 3)),\r
-               '2001-034', 'Format date yy-oo');\r
-       equals($.datepicker.formatDate('D M y', new Date(2001, 2 - 1, 3)),\r
-               'Sat Feb 01', 'Format date D M y');\r
-       equals($.datepicker.formatDate('DD MM yy', new Date(2001, 2 - 1, 3)),\r
-               'Saturday February 2001', 'Format date DD MM yy');\r
-       equals($.datepicker.formatDate('DD, MM d, yy', new Date(2001, 2 - 1, 3)),\r
-               'Saturday, February 3, 2001', 'Format date DD, MM d, yy');\r
-       equals($.datepicker.formatDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',\r
-               new Date(2001, 2 - 1, 3)), 'day 3 of February (\'Saturday\'), 2001',\r
-               'Format date \'day\' d \'of\' MM (\'\'DD\'\'), yy');\r
-       var fr = $.datepicker.regional['fr'];\r
-       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,\r
-               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};\r
-       equals($.datepicker.formatDate('D M y', new Date(2001, 4 - 1, 9), settings),\r
-               'Lun Avr 01', 'Format date D M y with settings');\r
-       equals($.datepicker.formatDate('DD MM yy', new Date(2001, 4 - 1, 9), settings),\r
-               'Lundi Avril 2001', 'Format date DD MM yy with settings');\r
-       equals($.datepicker.formatDate('DD, MM d, yy', new Date(2001, 4 - 1, 9), settings),\r
-               'Lundi, Avril 9, 2001', 'Format date DD, MM d, yy with settings');\r
-       equals($.datepicker.formatDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',\r
-               new Date(2001, 4 - 1, 9), settings), 'jour 9 de Avril (\'Lundi\'), 2001',\r
-               'Format date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings');\r
-});\r
-\r
-})(jQuery);\r
+/*
+ * datepicker unit tests
+ */
+(function($) {
+
+module('datepicker');
+
+function equalsDate(d1, d2, message) {
+       if (!d1 || !d2) {
+               ok(false, message + ' - missing date');
+               return;
+       }
+       d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
+       d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
+       equals(d1.toString(), d2.toString(), message);
+}
+
+function equalsDateArray(a1, a2, message) {
+       if (!a1 || !a2) {
+               ok(false, message + ' - missing dates');
+               return;
+       }
+       a1[0] = (a1[0] ? new Date(a1[0].getFullYear(), a1[0].getMonth(), a1[0].getDate()) : '');
+       a1[1] = (a1[1] ? new Date(a1[1].getFullYear(), a1[1].getMonth(), a1[1].getDate()) : '');
+       a2[0] = (a2[0] ? new Date(a2[0].getFullYear(), a2[0].getMonth(), a2[0].getDate()) : '');
+       a2[1] = (a2[1] ? new Date(a2[1].getFullYear(), a2[1].getMonth(), a2[1].getDate()) : '');
+       equals(serialArray(a1), serialArray(a2), message);
+}
+
+function init(id, options) {
+       $.datepicker.setDefaults($.datepicker.regional['']);
+       var inp = $(id);
+       inp.datepicker($.extend({duration: ''}, options || {}));
+       return inp;
+}
+
+var PROP_NAME = 'datepicker';
+
+test('setDefaults', function() {
+       var inp = init('#inp');
+       var dp = $('#ui-datepicker-div');
+       ok(!dp.is(':visible'), 'Initially invisible');
+       ok(inp.is('.hasDatepicker'), 'Marker class set');
+       ok($($.datepicker.dpDiv).html() == '', 'Content empty');
+       inp.datepicker('show');
+       ok($($.datepicker.dpDiv).html() != '', 'Content present');
+       inp.datepicker('hide');
+       equals($.datepicker._defaults.showOn, 'focus', 'Initial showOn');
+       $.datepicker.setDefaults({showOn: 'button'});
+       equals($.datepicker._defaults.showOn, 'button', 'Change default showOn');
+       $.datepicker.setDefaults({showOn: 'focus'});
+       equals($.datepicker._defaults.showOn, 'focus', 'Restore showOn');
+});
+
+test('destroy', function() {
+       var inp = init('#inp');
+       ok(inp.is('.hasDatepicker'), 'Default - marker class set');
+       ok($.data(inp[0], PROP_NAME), 'Default - instance present');
+       ok(inp.next().is('#alt'), 'Default - button absent');
+       inp.datepicker('destroy');
+       inp = $('#inp');
+       ok(!inp.is('.hasDatepicker'), 'Default - marker class cleared');
+       ok(!$.data(inp[0], PROP_NAME), 'Default - instance absent');
+       ok(inp.next().is('#alt'), 'Default - button absent');
+       // With button
+       inp= init('#inp', {showOn: 'both'});
+       ok(inp.is('.hasDatepicker'), 'Button - marker class set');
+       ok($.data(inp[0], PROP_NAME), 'Button - instance present');
+       ok(inp.next().text() == '...', 'Button - button added');
+       inp.datepicker('destroy');
+       inp = $('#inp');
+       ok(!inp.is('.hasDatepicker'), 'Button - marker class cleared');
+       ok(!$.data(inp[0], PROP_NAME), 'Button - instance absent');
+       ok(inp.next().is('#alt'), 'Button - button removed');
+       // With append text
+       inp = init('#inp', {appendText: 'Testing'});
+       ok(inp.is('.hasDatepicker'), 'Append - marker class set');
+       ok($.data(inp[0], PROP_NAME), 'Append - instance present');
+       ok(inp.next().text() == 'Testing', 'Append - append text added');
+       inp.datepicker('destroy');
+       inp = $('#inp');
+       ok(!inp.is('.hasDatepicker'), 'Append - marker class cleared');
+       ok(!$.data(inp[0], PROP_NAME), 'Append - instance absent');
+       ok(inp.next().is('#alt'), 'Append - append text removed');
+       // With both
+       inp= init('#inp', {showOn: 'both', buttonImageOnly: true,
+               buttonImage: 'img/calendar.gif', appendText: 'Testing'});
+       ok(inp.is('.hasDatepicker'), 'Both - marker class set');
+       ok($.data(inp[0], PROP_NAME), 'Both - instance present');
+       ok(inp.next()[0].nodeName.toLowerCase() == 'img', 'Both - button added');
+       ok(inp.next().next().text() == 'Testing', 'Both - append text added');
+       inp.datepicker('destroy');
+       inp = $('#inp');
+       ok(!inp.is('.hasDatepicker'), 'Both - marker class cleared');
+       ok(!$.data(inp[0], PROP_NAME), 'Both - instance absent');
+       ok(inp.next().is('#alt'), 'Both - button and append text absent');
+       // Inline
+       var inl = init('#inl');
+       ok(inl.is('.hasDatepicker'), 'Inline - marker class set');
+       ok(inl.html() != '', 'Inline - datepicker present');
+       ok($.data(inl[0], PROP_NAME), 'Inline - instance present');
+       ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent');
+       inl.datepicker('destroy');
+       inl = $('#inl');
+       ok(!inl.is('.hasDatepicker'), 'Inline - marker class cleared');
+       ok(inl.html() == '', 'Inline - datepicker absent');
+       ok(!$.data(inl[0], PROP_NAME), 'Inline - instance absent');
+       ok(inl.next().length == 0 || inl.next().is('p'), 'Inline - button absent');
+});
+
+test('change', function() {
+       var inp = init('#inp');
+       var inst = $.data(inp[0], PROP_NAME);
+       equals(inst.settings.showOn, null, 'Initial setting showOn');
+       equals($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn');
+       equals($.datepicker._defaults.showOn, 'focus', 'Initial default showOn');
+       inp.datepicker('change', 'showOn', 'button');
+       equals(inst.settings.showOn, 'button', 'Change setting showOn');
+       equals($.datepicker._get(inst, 'showOn'), 'button', 'Change instance showOn');
+       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');
+       inp.datepicker('change', {showOn: 'both'});
+       equals(inst.settings.showOn, 'both', 'Change setting showOn');
+       equals($.datepicker._get(inst, 'showOn'), 'both', 'Change instance showOn');
+       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');
+       inp.datepicker('change', 'showOn', undefined);
+       equals(inst.settings.showOn, null, 'Clear setting showOn');
+       equals($.datepicker._get(inst, 'showOn'), 'focus', 'Restore instance showOn');
+       equals($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');
+});
+
+test('invocation', function() {
+       var inp = init('#inp');
+       var dp = $('#ui-datepicker-div');
+       var body = $('body');
+       // On focus
+       var button = inp.siblings('button');
+       ok(button.length == 0, 'Focus - button absent');
+       var image = inp.siblings('img');
+       ok(image.length == 0, 'Focus - image absent');
+       inp.focus();
+       ok(dp.is(':visible'), 'Focus - rendered on focus');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       ok(!dp.is(':visible'), 'Focus - hidden on exit');
+       inp.focus();
+       ok(dp.is(':visible'), 'Focus - rendered on focus');
+       body.simulate('mousedown', {});
+       ok(!dp.is(':visible'), 'Focus - hidden on external click');
+       inp.datepicker('hide').datepicker('destroy');
+       // On button
+       inp = init('#inp', {showOn: 'button', buttonText: 'Popup'});
+       ok(!dp.is(':visible'), 'Button - initially hidden');
+       button = inp.siblings('button');
+       image = inp.siblings('img');
+       ok(button.length == 1, 'Button - button present');
+       ok(image.length == 0, 'Button - image absent');
+       equals(button.text(), 'Popup', 'Button - button text');
+       inp.focus();
+       ok(!dp.is(':visible'), 'Button - not rendered on focus');
+       button.click();
+       ok(dp.is(':visible'), 'Button - rendered on button click');
+       button.click();
+       ok(!dp.is(':visible'), 'Button - hidden on second button click');
+       inp.datepicker('hide').datepicker('destroy');
+       // On image button
+       inp = init('#inp', {showOn: 'button', buttonImageOnly: true,
+               buttonImage: 'img/calendar.gif', buttonText: 'Cal'});
+       ok(!dp.is(':visible'), 'Image button - initially hidden');
+       button = inp.siblings('button');
+       ok(button.length == 0, 'Image button - button absent');
+       image = inp.siblings('img');
+       ok(image.length == 1, 'Image button - image present');
+       equals(image.attr('src'), 'img/calendar.gif', 'Image button - image source');
+       equals(image.attr('title'), 'Cal', 'Image button - image text');
+       inp.focus();
+       ok(!dp.is(':visible'), 'Image button - not rendered on focus');
+       image.click();
+       ok(dp.is(':visible'), 'Image button - rendered on image click');
+       image.click();
+       ok(!dp.is(':visible'), 'Image button - hidden on second image click');
+       inp.datepicker('hide').datepicker('destroy');
+       // On both
+       inp = init('#inp', {showOn: 'both', buttonImage: 'img/calendar.gif'});
+       ok(!dp.is(':visible'), 'Both - initially hidden');
+       button = inp.siblings('button');
+       ok(button.length == 1, 'Both - button present');
+       image = inp.siblings('img');
+       ok(image.length == 0, 'Both - image absent');
+       image = button.children('img');
+       ok(image.length == 1, 'Both - button image present');
+       inp.focus();
+       ok(dp.is(':visible'), 'Both - rendered on focus');
+       body.simulate('mousedown', {});
+       ok(!dp.is(':visible'), 'Both - hidden on external click');
+       button.click();
+       ok(dp.is(':visible'), 'Both - rendered on button click');
+       button.click();
+       ok(!dp.is(':visible'), 'Both - hidden on second button click');
+       inp.datepicker('hide').datepicker('destroy');
+});
+
+test('baseStructure', function() {
+       var dp = $('#ui-datepicker-div');
+       var inp = init('#inp');
+       inp.focus();
+       var iframe = ($.browser.msie && parseInt($.browser.version) < 7);
+       ok(dp.is(':visible'), 'Structure - datepicker visible');
+       ok(!dp.is('.ui-datepicker-rtl'), 'Structure - not right-to-left');
+       ok(!dp.is('.ui-datepicker-multi'), 'Structure - not multi-month');
+       equals(dp.children().length, 4 + (iframe ? 1 : 0), 'Structure - child count');
+       var control = dp.children(':first');
+       ok(control.is('div.ui-datepicker-control'), 'Structure - control division');
+       equals(control.children().length, 2, 'Structure - control child count');
+       ok(control.children(':first').is('div.ui-datepicker-clear'),
+               'Structure - clear division');
+       ok(control.children(':last').is('div.ui-datepicker-close'),
+               'Structure - close division');
+       var links = dp.children(':eq(1)');
+       ok(links.is('div.ui-datepicker-links'), 'Structure - links division');
+       equals(links.children().length, 3, 'Structure - links child count');
+       ok(links.children(':first').is('div.ui-datepicker-prev') &&
+               links.children(':first').html() != '',
+               'Structure - prev division');
+       ok(links.children(':eq(1)').is('div.ui-datepicker-current') &&
+               links.children(':eq(1)').html() != '',
+               'Structure - current division');
+       ok(links.children(':last').is('div.ui-datepicker-next') &&
+               links.children(':last').html() != '',
+               'Structure - next division');
+       var month = dp.children(':eq(2)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure - month division');
+       var header = month.children(':first');
+       ok(header.is('div.ui-datepicker-header'), 'Structure - month header division');
+       equals(header.children().length, 2, 'Structure - month header child count');
+       ok(header.children(':first').is('select.ui-datepicker-new-month'),
+               'Structure - new month select');
+       ok(header.children(':last').is('select.ui-datepicker-new-year'),
+               'Structure - new year select');
+       var table = month.children(':eq(1)');
+       ok(table.is('table.ui-datepicker'), 'Structure - month table');
+       ok(table.children(':first').is('thead'), 'Structure - month table thead');
+       var titles = table.children(':first').children(':first');
+       ok(titles.is('tr.ui-datepicker-title-row'), 'Structure - month table title row');
+       equals(titles.find('a').length, 7, 'Structure - month table title links');
+       ok(table.children(':eq(1)').is('tbody'), 'Structure - month table body');
+       ok(table.children(':eq(1)').children('tr').length >= 4,
+               'Structure - month table week count');
+       var week = table.children(':eq(1)').children(':first');
+       ok(week.is('tr.ui-datepicker-days-row'), 'Structure - month table week row');
+       equals(week.children().length, 7, 'Structure - week child count');
+       ok(week.children(':first').is('td.ui-datepicker-days-cell') &&
+               week.children(':first').is('.ui-datepicker-week-end-cell') &&
+               !week.children(':first').is('.ui-datepicker-week-col'),
+               'Structure - month table first day cell');
+       ok(week.children(':eq(1)').is('td.ui-datepicker-days-cell') &&
+               !week.children(':eq(1)').is('.ui-datepicker-week-end-cell'),
+               'Structure - month table second day cell');
+       ok(dp.children('.ui-datepicker-status').length == 0, 'Structure - status');
+       ok(dp.children('iframe').length == (iframe ? 1 : 0), 'Structure - iframe');
+       inp.datepicker('hide').datepicker('destroy');
+       // Multi-month 2
+       inp = init('#inp', {numberOfMonths: 2});
+       inp.focus();
+       ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');
+       equals(dp.children().length, 5 + (iframe ? 1 : 0), 'Structure multi - child count');
+       month = dp.children(':eq(2)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure multi - first month division');
+       month = dp.children(':eq(3)');
+       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),
+               'Structure multi - second month division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Multi-month [2, 2]
+       inp = init('#inp', {numberOfMonths: [2, 2]});
+       inp.focus();
+       ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');
+       equals(dp.children().length, 7 + (iframe ? 1 : 0), 'Structure multi - child count');
+       month = dp.children(':eq(2)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure multi - first month division');
+       month = dp.children(':eq(3)');
+       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),
+               'Structure multi - second month division');
+       month = dp.children(':eq(4)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure multi - third month division');
+       month = dp.children(':eq(5)');
+       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),
+               'Structure multi - fourth month division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Inline
+       var inl = init('#inl');
+       dp = inl.children();
+       ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');
+       ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');
+       ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month');
+       equals(dp.children().length, 3, 'Structure inline - child count');
+       var links = dp.children(':first');
+       ok(links.is('div.ui-datepicker-links'), 'Structure inline - links division');
+       equals(links.children().length, 3, 'Structure inline - links child count');
+       var month = dp.children(':eq(1)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure inline - month division');
+       var header = month.children(':first');
+       ok(header.is('div.ui-datepicker-header'), 'Structure inline - month header division');
+       equals(header.children().length, 2, 'Structure inline - month header child count');
+       var table = month.children(':eq(1)');
+       ok(table.is('table.ui-datepicker'), 'Structure inline - month table');
+       ok(table.children(':first').is('thead'), 'Structure inline - month table thead');
+       ok(table.children(':eq(1)').is('tbody'), 'Structure inline - month table body');
+       ok(dp.children('.ui-datepicker-status').length == 0, 'Structure inline - status');
+       inl.datepicker('destroy');
+       // Inline multi-month
+       inl = init('#inl', {numberOfMonths: 2});
+       dp = inl.children();
+       ok(dp.is('.ui-datepicker-inline'), 'Structure inline multi - main div');
+       ok(dp.is('.ui-datepicker-multi'), 'Structure inline multi - not multi-month');
+       equals(dp.children().length, 4, 'Structure inline multi - child count');
+       var links = dp.children(':first');
+       ok(links.is('div.ui-datepicker-links'), 'Structure inline multi - links division');
+       equals(links.children().length, 3, 'Structure inline multi - links child count');
+       var month = dp.children(':eq(1)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure inline multi - first month division');
+       month = dp.children(':eq(2)');
+       ok(month.is('div.ui-datepicker-one-month') && !month.is('div.ui-datepicker-new-row'),
+               'Structure inline multi - second month division');
+       inl.datepicker('destroy');
+});
+
+test('customStructure', function() {
+       var dp = $('#ui-datepicker-div');
+       // Check right-to-left localisation
+       var inp = init('#inp', $.datepicker.regional['he']);
+       inp.focus();
+       var iframe = ($.browser.msie && parseInt($.browser.version) < 7);
+       ok(dp.is('.ui-datepicker-rtl'), 'Structure RTL - right-to-left');
+       var links = dp.children(':eq(1)');
+       ok(links.is('div.ui-datepicker-links'), 'Structure - links division');
+       equals(links.children().length, 3, 'Structure - links child count');
+       ok(links.children(':first').is('div.ui-datepicker-next'),
+               'Structure - next division');
+       ok(links.children(':eq(1)').is('div.ui-datepicker-current'),
+               'Structure - current division');
+       ok(links.children(':last').is('div.ui-datepicker-prev'),
+               'Structure - prev division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Close at bottom
+       inp = init('#inp', {closeAtTop: false});
+       inp.focus();
+       equals(dp.children().length, 4 + (iframe ? 1 : 0),
+               'Structure close at bottom - child count');
+       ok(dp.children(':first').is('div.ui-datepicker-links'),
+               'Structure close at bottom - links division');
+       ok(dp.children(':last').prev().is('div.ui-datepicker-control'),
+               'Structure close at bottom - control division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Mandatory
+       inp = init('#inp', {mandatory: true});
+       inp.focus();
+       var control = dp.children(':first');
+       ok(control.is('div.ui-datepicker-control'),
+               'Structure mandatory - control division');
+       equals(control.children().length, 1, 'Structure mandatory - control child count');
+       ok(control.children(':first').is('div.ui-datepicker-close'),
+               'Structure mandatory - close division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Hide prev/next
+       inp = init('#inp', {hideIfNoPrevNext: true,
+               minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
+       inp.val('02/10/2008').focus();
+       var links = dp.children(':eq(1)');
+       ok(links.is('div.ui-datepicker-links'),
+               'Structure hide prev/next - links division');
+       equals(links.children().length, 2, 'Structure hide prev/next - links child count');
+       ok(links.children(':first').is('div.ui-datepicker-prev') &&
+               links.children(':first').html() == '',
+               'Structure hide prev/next - prev division');
+       ok(links.children(':last').is('div.ui-datepicker-next') &&
+               links.children(':last').html() == '',
+               'Structure hide prev/next - next division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Can't change month
+       inp = init('#inp', {changeMonth: false});
+       inp.focus();
+       var header = dp.children(':eq(2)').children(':first');
+       equals(header.children().length, 1, 'Structure change month - header child count');
+       ok(header.children(':last').is('select.ui-datepicker-new-year'),
+               'Structure change month - new year select');
+       inp.datepicker('hide').datepicker('destroy');
+       // Can't change year
+       inp = init('#inp', {changeYear: false});
+       inp.focus();
+       var header = dp.children(':eq(2)').children(':first');
+       equals(header.children().length, 1, 'Structure change year - header child count');
+       ok(header.children(':first').is('select.ui-datepicker-new-month'),
+               'Structure change year - new month select');
+       inp.datepicker('hide').datepicker('destroy');
+       // Can't change first day of week
+       inp = init('#inp', {changeFirstDay: false});
+       inp.focus();
+       var titles = dp.find('.ui-datepicker-title-row');
+       equals(titles.children().length, 7, 'Structure change first day - titles child count');
+       equals(titles.find('a').length, 0, 'Structure change first day - titles links count');
+       inp.datepicker('hide').datepicker('destroy');
+       // Show weeks
+       inp = init('#inp', {showWeeks: true});
+       inp.focus();
+       titles = dp.find('.ui-datepicker-title-row');
+       equals(titles.children().length, 8, 'Structure show weeks - titles child count');
+       var week = dp.find('.ui-datepicker-days-row:first');
+       equals(week.children().length, 8, 'Structure show weeks - week child count');
+       ok(week.children(':first').is('td.ui-datepicker-week-col'),
+               'Structure show weeks - week column');
+       inp.datepicker('hide').datepicker('destroy');
+       // Show status
+       inp = init('#inp', {showStatus: true});
+       inp.focus();
+       equals(dp.children().length, 6 + (iframe ? 1 : 0),
+               'Structure show status - datepicker child count');
+       ok(dp.children(':last').prev().is('div.ui-datepicker-status'),
+               'Structure show status - status division');
+       inp.datepicker('hide').datepicker('destroy');
+       // Inline
+       var inl = init('#inl', {showStatus: true, hideIfNoPrevNext: true,
+               minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
+       dp = inl.children();
+       ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');
+       ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');
+       ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month');
+       equals(dp.children().length, 5, 'Structure inline - child count');
+       var links = dp.children(':first');
+       ok(links.is('div.ui-datepicker-links'), 'Structure inline - links division');
+       equals(links.children().children().length, 0, 'Structure inline - links child count');
+       var month = dp.children(':eq(1)');
+       ok(month.is('div.ui-datepicker-one-month') && month.is('div.ui-datepicker-new-row'),
+               'Structure inline - month division');
+       ok(dp.children(':last').prev().is('div.ui-datepicker-status'),
+               'Structure inline - status');
+       inl.datepicker('destroy');
+});
+
+test('enableDisable', function() {
+       var inp = init('#inp');
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable - initially marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable - field initially enabled');
+       inp.datepicker('disable');
+       ok(inp.datepicker('isDisabled'), 'Enable/disable - now marked as disabled');
+       ok(inp[0].disabled, 'Enable/disable - field now disabled');
+       inp.datepicker('enable');
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable - now marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable - field now enabled');
+       inp.datepicker('destroy');
+       // With a button
+       inp = init('#inp', {showOn: 'button'});
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable button - initially marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable button - field initially enabled');
+       ok(!inp.next('button')[0].disabled, 'Enable/disable button - button initially enabled');
+       inp.datepicker('disable');
+       ok(inp.datepicker('isDisabled'), 'Enable/disable button - now marked as disabled');
+       ok(inp[0].disabled, 'Enable/disable button - field now disabled');
+       ok(inp.next('button')[0].disabled, 'Enable/disable button - button now disabled');
+       inp.datepicker('enable');
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable button - now marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable button - field now enabled');
+       ok(!inp.next('button')[0].disabled, 'Enable/disable button - button now enabled');
+       inp.datepicker('destroy');
+       // With an image button
+       inp = init('#inp', {showOn: 'button', buttonImageOnly: true,
+               buttonImage: 'img/calendar.gif'});
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable image - initially marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable image - field initially enabled');
+       ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image initially enabled');
+       inp.datepicker('disable');
+       ok(inp.datepicker('isDisabled'), 'Enable/disable image - now marked as disabled');
+       ok(inp[0].disabled, 'Enable/disable image - field now disabled');
+       ok(inp.next('img').css('opacity') != 1, 'Enable/disable image - image now disabled');
+       inp.datepicker('enable');
+       ok(!inp.datepicker('isDisabled'), 'Enable/disable image - now marked as enabled');
+       ok(!inp[0].disabled, 'Enable/disable image - field now enabled');
+       ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image now enabled');
+       inp.datepicker('destroy');
+       // Inline
+       var inl = init('#inl');
+       ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');
+       ok($('.ui-datepicker-disabled', inl).length == 0, 'Enable/disable inline - cover initially absent');
+       inl.datepicker('disable');
+       ok(inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as disabled');
+       var disabled = $('.ui-datepicker-disabled', inl);
+       var dp = $('.ui-datepicker-inline', inl);
+       ok(disabled.length == 1, 'Enable/disable inline - cover now present');
+       ok(disabled.offset().top == dp.offset().top && disabled.offset().left == dp.offset().left,
+               'Enable/disable inline - cover positioning');
+       ok(disabled.width() == dp.width() && disabled.height() == dp.height(),
+               'Enable/disable inline - cover sizing');
+       inl.datepicker('enable');
+       ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as enabled');
+       ok($('.ui-datepicker-disabled', inl).length == 0, 'Enable/disable inline - cover now absent');
+       inl.datepicker('destroy');
+});
+
+test('keystrokes', function() {
+       var inp = init('#inp');
+       var date = new Date();
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Keystroke enter - preset');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+home');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});
+       ok(inp.datepicker('getDate') == null, 'Keystroke ctrl+end');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       ok(inp.datepicker('getDate') == null, 'Keystroke esc');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Keystroke esc - preset');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Keystroke esc - abandoned');
+       // Moving by day or week
+       inp.val('').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_LEFT}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+left');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_LEFT}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke left');
+       inp.val('').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_RIGHT}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+right');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_RIGHT}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke right');
+       inp.val('').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 7);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+up');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_UP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 7);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke up');
+       inp.val('').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 7);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+down');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 7);
+       equalsDate(inp.datepicker('getDate'), date, 'Keystroke down');
+       // Moving by month or year
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 4),
+               'Keystroke pgup');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 4),
+               'Keystroke pgdn');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 4),
+               'Keystroke ctrl+pgup');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 4),
+               'Keystroke ctrl+pgdn');
+       // Check for moving to short months
+       inp.val('03/31/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
+               'Keystroke pgup - Feb');
+       inp.val('01/30/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29), 
+               'Keystroke pgdn - Feb');
+       inp.val('02/29/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 28),
+               'Keystroke ctrl+pgup - Feb');
+       inp.val('02/29/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 28),
+               'Keystroke ctrl+pgdn - Feb');
+       // Goto current
+       inp.datepicker('change', {gotoCurrent: true}).
+               datepicker('hide').val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Keystroke ctrl+home');
+       // Change steps
+       inp.datepicker('change', {stepMonths: 2, stepBigMonths: 6, gotoCurrent: false}).
+               datepicker('hide').val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2007, 12 - 1, 4),
+               'Keystroke pgup step 2');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 4 - 1, 4),
+               'Keystroke pgdn step 2');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2007, 8 - 1, 4),
+               'Keystroke ctrl+pgup step 6');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 8 - 1, 4),
+               'Keystroke ctrl+pgdn step 6');
+});
+
+test('mouse', function() {
+       var inp = init('#inp');
+       var dp = $('#ui-datepicker-div');
+       var date = new Date();
+       inp.val('').datepicker('show');
+       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {});
+       date.setDate(10);
+       equalsDate(inp.datepicker('getDate'), date, 'Mouse click');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 12),
+               'Mouse click - preset');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-clear a', dp).simulate('click', {});
+       ok(inp.datepicker('getDate') == null, 'Mouse click - clear');
+       inp.val('').datepicker('show');
+       $('.ui-datepicker-close a', dp).simulate('click', {});
+       ok(inp.datepicker('getDate') == null, 'Mouse click - close');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-close a', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Mouse click - close + preset');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-prev a', dp).simulate('click', {});
+       $('.ui-datepicker-close a', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
+               'Mouse click - abandoned');
+       // Current/previous/next
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-current a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(14)', dp).simulate('click', {});
+       date.setDate(14);
+       equalsDate(inp.datepicker('getDate'), date, 'Mouse click - current');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-prev a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 16),
+               'Mouse click - previous');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-next a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 18),
+               'Mouse click - next');
+       // Previous/next with minimum/maximum
+       inp.datepicker('change', {minDate: new Date(2008, 2 - 1, 2),
+               maxDate: new Date(2008, 2 - 1, 26)}).val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-prev a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 16),
+               'Mouse click - previous + min/max');
+       inp.val('02/04/2008').datepicker('show');
+       $('.ui-datepicker-next a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});
+       equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18),
+               'Mouse click - next + min/max');
+       // Change day of week
+       inp.val('02/04/2008').datepicker('show');
+       equals($('.ui-datepicker-title-row td:first', dp).text(), 'Su',
+               'Mouse click - initial day of week');
+       $('.ui-datepicker-title-row td:last a', dp).simulate('click', {});
+       equals($('.ui-datepicker-title-row td:first', dp).text(), 'Sa',
+               'Mouse click - day of week');
+       // Highlight week
+       inp.datepicker('change', {highlightWeek: true}).
+               datepicker('hide').val('02/04/2008').datepicker('show');
+       ok(!$('.ui-datepicker tr:eq(2)', dp).is('.ui-datepicker-week-over'),
+               'Mouse over - no week highlight');
+       $('.ui-datepicker tr:eq(2) td:first', dp).simulate('mouseover', {});
+       ok($('.ui-datepicker tr:eq(2)', dp).is('.ui-datepicker-week-over'),
+               'Mouse over - week highlight');
+       // Inline
+       var inl = init('#inl');
+       var dp = $('.ui-datepicker-inline', inl);
+       var date = new Date();
+       inl.datepicker('setDate', date);
+       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {});
+       date.setDate(10);
+       equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline');
+       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       equalsDate(inl.datepicker('getDate'), new Date(2008, 2 - 1, 12),
+               'Mouse click inline - preset');
+       $('.ui-datepicker-current a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(14)', dp).simulate('click', {});
+       date.setDate(14);
+       equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline - current');
+       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
+       $('.ui-datepicker-prev a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(16)', dp).simulate('click', {});
+       equalsDate(inl.datepicker('getDate'), new Date(2008, 1 - 1, 16),
+               'Mouse click inline - previous');
+       inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
+       $('.ui-datepicker-next a', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(18)', dp).simulate('click', {});
+       equalsDate(inl.datepicker('getDate'), new Date(2008, 3 - 1, 18),
+               'Mouse click inline - next');
+});
+
+test('defaultDate', function() {
+       var inp = init('#inp');
+       var date = new Date();
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date, 'Default date null');
+       // numeric values
+       inp.datepicker('change', {defaultDate: -2}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 2);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -2');
+       inp.datepicker('change', {defaultDate: 3}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 5);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date 3');
+       inp.datepicker('change', {defaultDate: 1 / 0}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 3);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date Infinity');
+       inp.datepicker('change', {defaultDate: 1 / 'a'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date, 'Default date NaN');
+       // string values
+       inp.datepicker('change', {defaultDate: '-1d'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() - 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -1d');
+       inp.datepicker('change', {defaultDate: '+3D'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 4);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date +3D');
+       inp.datepicker('change', {defaultDate: ' -2 w '}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date = new Date();
+       date.setDate(date.getDate() - 14);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -2 w');
+       inp.datepicker('change', {defaultDate: '+1 W'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 21);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date +1 W');
+       inp.datepicker('change', {defaultDate: ' -1 m '}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date = new Date();
+       date.setMonth(date.getMonth() - 1);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -1 m');
+       inp.datepicker('change', {defaultDate: '+2M'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setMonth(date.getMonth() + 3);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date +2M');
+       inp.datepicker('change', {defaultDate: '-2y'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date = new Date();
+       date.setFullYear(date.getFullYear() - 2);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date -2y');
+       inp.datepicker('change', {defaultDate: '+1 Y '}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setFullYear(date.getFullYear() + 3);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date +1 Y');
+       inp.datepicker('change', {defaultDate: '+1M +10d'}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date = new Date();
+       date.setMonth(date.getMonth() + 1);
+       date.setDate(date.getDate() + 10);
+       equalsDate(inp.datepicker('getDate'), date, 'Default date +1M +10d');
+       date = new Date(2007, 1 - 1, 26);
+       inp.datepicker('change', {defaultDate: date}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date, 'Default date 01/26/2007');
+});
+
+test('miscellaneous', function() {
+       var dp = $('#ui-datepicker-div');
+       var inp = init('#inp');
+       // Year range
+       inp.val('02/04/2008').datepicker('show');
+       equals(dp.find('.ui-datepicker-new-year').text(),
+               '199819992000200120022003200420052006200720082009201020112012201320142015201620172018',
+               'Year range - default');
+       inp.datepicker('hide').datepicker('change', {yearRange: '-6:+2'}).datepicker('show');
+       equals(dp.find('.ui-datepicker-new-year').text(),
+               '200220032004200520062007200820092010', 'Year range - -6:+2');
+       inp.datepicker('hide').datepicker('change', {yearRange: '2000:2010'}).datepicker('show');
+       equals(dp.find('.ui-datepicker-new-year').text(),
+               '20002001200220032004200520062007200820092010', 'Year range - 2000:2010');
+       // Navigation as date format
+       equals(dp.find('.ui-datepicker-prev').text(),
+               '<Prev', 'Navigation prev - default');
+       equals(dp.find('.ui-datepicker-current').text(),
+               'Today', 'Navigation current - default');
+       equals(dp.find('.ui-datepicker-next').text(),
+               'Next>', 'Navigation next - default');
+       inp.datepicker('hide').datepicker('change', {navigationAsDateFormat: true,
+               prevText: '< M', currentText: 'MM', nextText: 'M >'}).
+               val('02/04/2008').datepicker('show');
+       var longNames = $.datepicker.regional[''].monthNames;
+       var shortNames = $.datepicker.regional[''].monthNamesShort;
+       var date = new Date();
+       equals(dp.find('.ui-datepicker-prev').text(),
+               '< ' + shortNames[0], 'Navigation prev - as date format');
+       equals(dp.find('.ui-datepicker-current').text(),
+               longNames[date.getMonth()], 'Navigation current - as date format');
+       equals(dp.find('.ui-datepicker-next').text(),
+               shortNames[2] + ' >', 'Navigation next - as date format');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});
+       equals(dp.find('.ui-datepicker-prev').text(),
+               '< ' + shortNames[1], 'Navigation prev - as date format + pgdn');
+       equals(dp.find('.ui-datepicker-current').text(),
+               longNames[date.getMonth()], 'Navigation current - as date format + pgdn');
+       equals(dp.find('.ui-datepicker-next').text(),
+               shortNames[3] + ' >', 'Navigation next - as date format + pgdn');
+       inp.datepicker('hide').datepicker('change', {gotoCurrent: true}).
+               val('02/04/2008').datepicker('show');
+       equals(dp.find('.ui-datepicker-prev').text(),
+               '< ' + shortNames[0], 'Navigation prev - as date format + goto current');
+       equals(dp.find('.ui-datepicker-current').text(),
+               longNames[1], 'Navigation current - as date format + goto current');
+       equals(dp.find('.ui-datepicker-next').text(),
+               shortNames[2] + ' >', 'Navigation next - as date format + goto current');
+});
+
+test('minMax', function() {
+       var inp = init('#inp');
+       var lastYear = new Date(2007, 6 - 1, 4);
+       var nextYear = new Date(2009, 6 - 1, 4);
+       var minDate = new Date(2008, 2 - 1, 29);
+       var maxDate = new Date(2008, 12 - 1, 7);
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), lastYear,
+               'Min/max - null, null - ctrl+pgup');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), nextYear,
+               'Min/max - null, null - ctrl+pgdn');
+       inp.datepicker('change', {minDate: minDate}).
+               datepicker('hide').val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), minDate,
+               'Min/max - 02/29/2008, null - ctrl+pgup');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), nextYear,
+               'Min/max - 02/29/2008, null - ctrl+pgdn');
+       inp.datepicker('change', {maxDate: maxDate}).
+               datepicker('hide').val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), minDate,
+               'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgup');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), maxDate,
+               'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgdn');
+       inp.datepicker('change', {minDate: null}).
+               datepicker('hide').val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), lastYear,
+               'Min/max - null, 12/07/2008 - ctrl+pgup');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), maxDate,
+               'Min/max - null, 12/07/2008 - ctrl+pgdn');
+       // Relative dates
+       var date = new Date();
+       date.setDate(date.getDate() - 7);
+       inp.datepicker('change', {minDate: '-1w', maxDate: '+1 M +10 D '}).
+               datepicker('hide').val('').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date,
+               'Min/max - -1w, +1 M +10 D - ctrl+pgup');
+       date = new Date();
+       date.setMonth(date.getMonth() + 1);
+       date.setDate(date.getDate() + 10);
+       inp.val('').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDate(inp.datepicker('getDate'), date,
+               'Min/max - -1w, +1 M +10 D - ctrl+pgdn');
+});
+
+test('setDate', function() {
+       var inp = init('#inp');
+       var date1 = new Date(2008, 6 - 1, 4);
+       var date2 = new Date();
+       ok(inp.datepicker('getDate') == null, 'Set date - default');
+       inp.datepicker('setDate', date1);
+       equalsDate(inp.datepicker('getDate'), date1, 'Set date - 2008-06-04');
+       date1 = new Date();
+       date1.setDate(date1.getDate() + 7);
+       inp.datepicker('setDate', +7);
+       equalsDate(inp.datepicker('getDate'), date1, 'Set date - +7');
+       date2.setFullYear(date2.getFullYear() + 2);
+       inp.datepicker('setDate', '+2y');
+       equalsDate(inp.datepicker('getDate'), date2, 'Set date - +2y');
+       inp.datepicker('setDate', date1, date2);
+       equalsDate(inp.datepicker('getDate'), date1, 'Set date - two dates');
+       inp.datepicker('setDate');
+       ok(inp.datepicker('getDate') == null, 'Set date - null');
+       // Ranges
+       date1 = new Date(2008, 6 - 1, 4);
+       date2 = new Date(2009, 7 - 1, 5);
+       inp.datepicker('change', {rangeSelect: true});
+       inp.datepicker('setDate', date1, date2);
+       equalsDateArray(inp.datepicker('getDate'), [date1, date2],
+               'Set date range - 2008-06-04 - 2009-07-05');
+       inp.datepicker('setDate', date1);
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Set date range - 2008-06-04');
+       date1 = new Date();
+       date1.setDate(date1.getDate() - 10);
+       date2 = new Date();
+       date2.setDate(date2.getDate() + 10);
+       inp.datepicker('setDate', -10, +10);
+       equalsDateArray(inp.datepicker('getDate'), [date1, date2],
+               'Set date range - -10 - +10');
+       inp.datepicker('setDate', -10);
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Set date range - -10');
+       date1 = new Date();
+       date1.setDate(date1.getDate() - 14);
+       date2 = new Date();
+       date2.setFullYear(date2.getFullYear() + 1);
+       inp.datepicker('setDate', '-2w', '+1Y');
+       equalsDateArray(inp.datepicker('getDate'), [date1, date2],
+               'Set date range - -2w - +1Y');
+       inp.datepicker('setDate', '-2w');
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Set date range - -2w');
+       inp.datepicker('setDate');
+       isObj(inp.datepicker('getDate'), [null, null], 'Set date range - null');
+       // Inline
+       var inl = init('#inl');
+       date1 = new Date(2008, 6 - 1, 4);
+       date2 = new Date();
+       equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - default');
+       inl.datepicker('setDate', date1);
+       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - 2008-06-04');
+       date1 = new Date();
+       date1.setDate(date1.getDate() + 7);
+       inl.datepicker('setDate', +7);
+       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - +7');
+       date2.setFullYear(date2.getFullYear() + 2);
+       inl.datepicker('setDate', '+2y');
+       equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - +2y');
+       inl.datepicker('setDate', date1, date2);
+       equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - two dates');
+       inl.datepicker('setDate');
+       ok(inl.datepicker('getDate') == null, 'Set date inline - null');
+       // Alternate field
+       var alt = $('#alt');
+       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'});
+       date1 = new Date(2008, 6 - 1, 4);
+       date2 = new Date(2009, 7 - 1, 5);
+       inp.datepicker('setDate', date1, date2);
+       equals(inp.val(), '06/04/2008 - 07/05/2009',
+               'Set date alternate - 06/04/2008 - 07/05/2009');
+       equals(alt.val(), '2008-06-04 - 2009-07-05',
+               'Set date alternate - 2008-06-04 - 2009-07-05');
+       inp.datepicker('change', {rangeSelect: false}).datepicker('setDate', date1);
+       equals(inp.val(), '06/04/2008', 'Set date alternate - 06/04/2008');
+       equals(alt.val(), '2008-06-04', 'Set date alternate - 2008-06-04');
+});
+
+test('ranges', function() {
+       var inp = init('#inp', {rangeSelect: true});
+       var date1 = new Date();
+       var date2 = new Date();
+       // Select today - today
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Range - enter/enter');
+       // Can't select prior to start date
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Range - enter/ctrl+up/enter');
+       // Can select after start date
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date2.setDate(date2.getDate() + 7);
+       equalsDateArray(inp.datepicker('getDate'), [date1, date2],
+               'Range - enter/ctrl+down/enter');
+       equals(inp.val(), $.datepicker.formatDate('mm/dd/yy', date1) + ' - ' +
+               $.datepicker.formatDate('mm/dd/yy', date2), 'Range - value');
+       // Select then cancel defaults to first date
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equalsDateArray(inp.datepicker('getDate'), [date1, date1],
+               'Range - enter/ctrl+down/esc');
+       // Separator
+       inp.datepicker('change', {rangeSeparator: ' to '}).
+               datepicker('hide').val('06/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDateArray(inp.datepicker('getDate'),
+               [new Date(2008, 6 - 1, 4), new Date(2008, 6 - 1, 11)],
+               'Range separator - enter/ctrl+down/enter');
+       equals(inp.val(), '06/04/2008 to 06/11/2008',
+               'Range separator - value');
+       // Callbacks
+       inp.datepicker('change', {onSelect: callback, rangeSeparator: ' - '}).
+               datepicker('hide').val('06/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(selectedDate, '06/04/2008 - 06/11/2008',
+               'Range onSelect - enter/ctrl+down/enter');
+       inp.datepicker('change', {onChangeMonthYear: callback2, onSelect: null}).
+               datepicker('hide').val('05/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(selectedDate, '2008/4',
+               'Range onChangeMonthYear - enter/ctrl+down/enter');
+       inp.datepicker('change', {onClose: callback, onChangeMonthYear: null}).
+               datepicker('hide').val('03/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(selectedDate, '03/04/2008 - 03/11/2008',
+               'Range onClose - enter/ctrl+down/enter');
+       // Minimum/maximum
+       date1 = new Date(2008, 5 - 1, 20);
+       date2 = new Date(2008, 7 - 1, 2);
+       inp.datepicker('change', {minDate: date1, maxDate: date2, onClose: null}).
+               datepicker('hide').val('06/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDateArray(inp.datepicker('getDate'), [date1, date2],
+               'Range min/max - pgup/enter/pgdn/pgdn/enter');
+       inp.val('06/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_UP}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equalsDateArray(inp.datepicker('getDate'),
+               [new Date(2008, 5 - 1, 28), new Date(2008, 6 - 1, 11)],
+               'Range min/max - ctrl+up/enter/ctrl+down/ctrl+down/enter');
+       // Inline
+       var inl = init('#inl', {rangeSelect: true});
+       var dp = $('.ui-datepicker-inline', inl);
+       date1 = new Date();
+       date1.setDate(12);
+       date2 = new Date();
+       date2.setDate(19);
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       equalsDateArray(inl.datepicker('getDate'), [date1, date1],
+               'Range inline - same day');
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(10)', dp).simulate('click', {}); // Doesn't select
+       equalsDateArray(inl.datepicker('getDate'), [date1, date1],
+               'Range inline - prev');
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {}); // Selects
+       inl.datepicker('setDate', date1);
+       $('.ui-datepicker tbody a:contains(12)', dp).simulate('click', {});
+       $('.ui-datepicker tbody a:contains(19)', dp).simulate('click', {});
+       equalsDateArray(inl.datepicker('getDate'), [date1, date2],
+               'Range inline - next');
+});
+
+test('altField', function() {
+       var inp = init('#inp');
+       var alt = $('#alt');
+       // No alternate field set
+       alt.val('');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '06/04/2008', 'Alt field - dp - enter');
+       equals(alt.val(), '', 'Alt field - alt not set');
+       // Alternate field set
+       alt.val('');
+       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'}).
+               val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '06/04/2008', 'Alt field - dp - enter');
+       equals(alt.val(), '2008-06-04', 'Alt field - alt - enter');
+       // Move from initial date
+       alt.val('');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '07/04/2008', 'Alt field - dp - pgdn');
+       equals(alt.val(), '2008-07-04', 'Alt field - alt - pgdn');
+       // Alternate field set - closed
+       alt.val('');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equals(inp.val(), '06/04/2008', 'Alt field - dp - pgdn/esc');
+       equals(alt.val(), '', 'Alt field - alt - pgdn/esc');
+       // Clear date and alternate
+       alt.val('');
+       inp.val('06/04/2008').datepicker('show');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});
+       equals(inp.val(), '', 'Alt field - dp - ctrl+end');
+       equals(alt.val(), '', 'Alt field - alt - ctrl+end');
+       // Range select no alternate field set
+       alt.val('');
+       inp.datepicker('change', {rangeSelect: true, altField: '', altFormat: ''}).
+               datepicker('hide').val('06/04/2008 - 07/14/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '06/04/2008 - 06/04/2008', 'Alt field range - dp - enter');
+       equals(alt.val(), '', 'Alt field range - alt not set');
+       // Range select no movement
+       alt.val('');
+       inp.datepicker('change', {altField: '#alt', altFormat: 'yy-mm-dd'}).
+               datepicker('hide').val('06/04/2008 - 07/14/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '06/04/2008 - 06/04/2008', 'Alt field range - dp - enter');
+       equals(alt.val(), '2008-06-04 - 2008-06-04', 'Alt field range - alt - enter');
+       // Range select next month
+       alt.val('');
+       inp.val('06/04/2008 - 07/14/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(inp.val(), '06/04/2008 - 07/04/2008',
+               'Alt field range - dp - enter/pgdn/enter');
+       equals(alt.val(), '2008-06-04 - 2008-07-04',
+               'Alt field range - alt - enter/pgdn/enter');
+       // Range select escape
+       alt.val('');
+       inp.val('06/04/2008 - 07/14/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equals(inp.val(), '06/04/2008 - 06/04/2008',
+               'Alt field range - dp - enter/pgdn/esc');
+       equals(alt.val(), '2008-06-04 - 2008-06-04',
+               'Alt field range - alt - enter/pgdn/esc');
+       // Range select clear
+       alt.val('');
+       inp.val('06/04/2008 - 07/14/2008').datepicker('show');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER}).
+               simulate('keydown', {keyCode: $.simulate.VK_PGDN}).
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});
+       equals(inp.val(), '', 'Alt field range - dp - enter/pgdn/ctrl+end');
+       equals(alt.val(), '', 'Alt field range - alt - enter/pgdn/ctrl+end');
+});
+
+var beforeShowThis = null;
+var beforeShowInput = null;
+var beforeShowInst = null;
+
+function beforeAll(input, inst) {
+       beforeShowThis = this;
+       beforeShowInput = input;
+       beforeShowInst = inst;
+       return {currentText: 'Current'};
+}
+
+var beforeShowDayThis = null;
+var beforeShowDayOK = true;
+
+function beforeDay(date) {
+       beforeShowDayThis = this;
+       beforeShowDayOK &= (date > new Date(2008, 1 - 1, 26) &&
+               date < new Date(2008, 3 - 1, 6));
+       return [(date.getDate() % 2 == 0), (date.getDate() % 10 == 0 ? 'day10' : ''),
+               (date.getDate() % 3 == 0 ? 'Divisble by 3' : '')];
+}
+
+function calcWeek(date) {
+       var doy = date.getDate() + 6;
+       for (var m = date.getMonth() - 1; m >= 0; m--)
+               doy += $.datepicker._getDaysInMonth(date.getFullYear(), m);
+       // Simple count from 01/01 starting at week 1
+       return Math.floor(doy / 7);
+}
+
+test('callbacks', function() {
+       // Before show
+       var inp = init('#inp', {beforeShow: beforeAll});
+       var inst = $.data(inp[0], 'datepicker');
+       equals($.datepicker._get(inst, 'currentText'), 'Today', 'Before show - initial');
+       inp.val('02/04/2008').datepicker('show');
+       equals($.datepicker._get(inst, 'currentText'), 'Current', 'Before show - changed');
+       ok(beforeShowThis.id == inp[0].id, 'Before show - this OK');
+       ok(beforeShowInput.id == inp[0].id, 'Before show - input OK');
+       isObj(beforeShowInst, inst, 'Before show - inst OK');
+       inp.datepicker('hide').datepicker('destroy');
+       // Before show day
+       inp = init('#inp', {beforeShowDay: beforeDay});
+       var dp = $('#ui-datepicker-div');
+       inp.val('02/04/2008').datepicker('show');
+       ok(beforeShowDayThis.id == inp[0].id, 'Before show day - this OK');
+       ok(beforeShowDayOK, 'Before show day - dates OK');
+       var day20 = dp.find('.ui-datepicker td:contains("20")');
+       var day21 = dp.find('.ui-datepicker td:contains("21")');
+       ok(!day20.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 20');
+       ok(day21.is('.ui-datepicker-unselectable'), 'Before show day - unselectable 21');
+       ok(day20.is('.day10'), 'Before show day - CSS 20');
+       ok(!day21.is('.day10'), 'Before show day - CSS 21');
+       ok(day20.attr('title') == '', 'Before show day - title 20');
+       ok(day21.attr('title') == 'Divisble by 3', 'Before show day - title 21');
+       inp.datepicker('hide').datepicker('destroy');
+       // Calculate week
+       inp = init('#inp', {showWeeks: true, calculateWeek: calcWeek});
+       inp.val('02/04/2008').datepicker('show');
+       equals($('.ui-datepicker-week-col:first').text(), 4, 'Calculate week');
+       equals($('.ui-datepicker-week-col:last').text(), 8, 'Calculate week');
+       // Make Tuesday first
+       $('.ui-datepicker-title-row a:contains("Tu")', dp).simulate('click', {});
+       equals($('.ui-datepicker-week-col:first').text(), 5, 'Calculate week');
+       equals($('.ui-datepicker-week-col:last').text(), 9, 'Calculate week');
+       inp.datepicker('hide').datepicker('destroy');
+});
+
+var selectedThis = null;
+var selectedDate = null;
+var selectedInst = null;
+
+function callback(date, inst) {
+       selectedThis = this;
+       selectedDate = date;
+       selectedInst = inst;
+}
+
+function callback2(year, month, inst) {
+       selectedThis = this;
+       selectedDate = year + '/' + month;
+       selectedInst = inst;
+}
+
+test('events', function() {
+       var inp = init('#inp', {onSelect: callback});
+       var date = new Date();
+       // onSelect
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(selectedThis, inp[0], 'Callback selected this');
+       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback selected inst');
+       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
+               'Callback selected date');
+       inp.val('').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}).
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       date.setDate(date.getDate() + 7);
+       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
+               'Callback selected date - ctrl+down');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
+               'Callback selected date - esc');
+       // onChangeMonthYear
+       inp.datepicker('change', {onChangeMonthYear: callback2, onSelect: null}).
+               val('').datepicker('show');
+       var newMonthYear = function(date) {
+               return date.getFullYear() + '/' + (date.getMonth() + 1);
+       };
+       date = new Date();
+       date.setDate(1);
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGUP});
+       date.setMonth(date.getMonth() - 1);
+       equals(selectedThis, inp[0], 'Callback change month/year this');
+       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback change month/year inst');
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year date - pgup');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});
+       date.setMonth(date.getMonth() + 1);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year date - pgdn');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP});
+       date.setFullYear(date.getFullYear() - 1);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year date - ctrl+pgup');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME});
+       date.setFullYear(date.getFullYear() + 1);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year date - ctrl+home');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN});
+       date.setFullYear(date.getFullYear() + 1);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year date - ctrl+pgdn');
+       inp.datepicker('setDate', new Date(2007, 1 - 1, 26));
+       equals(selectedDate, '2007/1', 'Callback change month/year date - setDate');
+       selectedDate = null;
+       inp.datepicker('setDate', new Date(2007, 1 - 1, 12));
+       ok(selectedDate == null, 'Callback change month/year date - setDate no change');
+       // onChangeMonthYear step by 2
+       inp.datepicker('change', {stepMonths: 2}).
+               datepicker('hide').val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_PGUP});
+       date.setMonth(date.getMonth() - 14);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year by 2 date - pgup');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP});
+       date.setMonth(date.getMonth() - 12);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year by 2 date - ctrl+pgup');
+       inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN});
+       date.setMonth(date.getMonth() + 2);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year by 2 date - pgdn');
+       inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN});
+       date.setMonth(date.getMonth() + 12);
+       equals(selectedDate, newMonthYear(date),
+               'Callback change month/year by 2 date - ctrl+pgdn');
+       // onClose
+       inp.datepicker('change', {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).
+               val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equals(selectedThis, inp[0], 'Callback close this');
+       equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback close inst');
+       equals(selectedDate, '', 'Callback close date - esc');
+       inp.val('').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', new Date()),
+               'Callback close date - enter');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {keyCode: $.simulate.VK_ESC});
+       equals(selectedDate, '02/04/2008', 'Callback close date - preset');
+       inp.val('02/04/2008').datepicker('show').
+               simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END});
+       equals(selectedDate, '', 'Callback close date - ctrl+end');
+});
+
+function highlight20(date, inst) {
+       return (date.getDate() == 20 ? '*** 20 ***' : $.datepicker.dateStatus(date, inst));
+}
+
+test('status', function() {
+       var dp = $('#ui-datepicker-div');
+       var inp = init('#inp', {showStatus: true, statusForDate: highlight20, showWeeks: true});
+       inp.val('').datepicker('show');
+       var status = $('.ui-datepicker-status', dp);
+       ok(status.length == 1, 'Status - present');
+       equals(status.text(), 'Select a date', 'Status - default');
+       $('.ui-datepicker-clear a', dp).simulate('mouseover');
+       equals(status.text(), 'Erase the current date', 'Status - clear');
+       $('.ui-datepicker-close a', dp).simulate('mouseover');
+       equals(status.text(), 'Close without change', 'Status - close');
+       $('.ui-datepicker-prev a', dp).simulate('mouseover');
+       equals(status.text(), 'Show the previous month', 'Status - previous');
+       $('.ui-datepicker-current a', dp).simulate('mouseover');
+       equals(status.text(), 'Show the current month', 'Status - current');
+       $('.ui-datepicker-next a', dp).simulate('mouseover');
+       equals(status.text(), 'Show the next month', 'Status - next');
+       $('.ui-datepicker-new-month', dp).simulate('mouseover');
+       equals(status.text(), 'Show a different month', 'Status - new month');
+       $('.ui-datepicker-new-year', dp).simulate('mouseover');
+       equals(status.text(), 'Show a different year', 'Status - new year');
+       $('.ui-datepicker-title-row td:first', dp).simulate('mouseover');
+       equals(status.text(), 'Week of the year', 'Status - week header');
+       var day = 0;
+       $('.ui-datepicker-title-row a', dp).each(function() {
+               $(this).simulate('mouseover');
+               equals(status.text(), 'Set ' + $.datepicker.regional[''].dayNames[day] +
+                       ' as first week day', 'Status - day ' + day);
+               day++;
+       });
+       $('.ui-datepicker-days-row:eq(1) td:first', dp).simulate('mouseover');
+       equals(status.text(), 'Week of the year', 'Status - week column');
+       day = 0;
+       var month = $.datepicker.regional[''].monthNamesShort[new Date().getMonth()];
+       $('.ui-datepicker-days-row:eq(1) a', dp).each(function() {
+               $(this).simulate('mouseover');
+               equals(status.text(), 'Select ' + $.datepicker.regional[''].dayNames[day] +
+                       ', ' + month + ' ' + $(this).text(), 'Status - dates');
+               day++;
+       });
+       $('.ui-datepicker-days-row a:contains("20")', dp).each(function() {
+               $(this).simulate('mouseover');
+               equals(status.text(), '*** 20 ***', 'Status - dates');
+       });
+       inp.datepicker('hide').datepicker('destroy');
+});
+
+test('localisation', function() {
+       var inp = init('#inp', $.datepicker.regional['fr']);
+       inp.datepicker('change', {dateFormat: 'DD, d MM yy', showStatus: true, showWeeks: true}).
+               val('').datepicker('show');
+       var dp = $('#ui-datepicker-div');
+       var status = $('.ui-datepicker-status', dp);
+       equals($('.ui-datepicker-clear', dp).text(), 'Effacer', 'Localisation - clear');
+       equals($('.ui-datepicker-close', dp).text(), 'Fermer', 'Localisation - close');
+       $('.ui-datepicker-close a', dp).simulate('mouseover');
+       equals(status.text(), 'Fermer sans modifier', 'Localisation - status');
+       equals($('.ui-datepicker-prev', dp).text(), '<Préc', 'Localisation - previous');
+       equals($('.ui-datepicker-current', dp).text(), 'Courant', 'Localisation - current');
+       equals($('.ui-datepicker-next', dp).text(), 'Suiv>', 'Localisation - next');
+       equals($('.ui-datepicker-current', dp).text(), 'Courant', 'Localisation - current');
+       var month = 0;
+       $('.ui-datepicker-new-month option', dp).each(function() {
+               equals($(this).text(), $.datepicker.regional['fr'].monthNames[month],
+                       'Localisation - month ' + month);
+               month++;
+       });
+       equals($('.ui-datepicker-title-row td:first', dp).text(),
+               $.datepicker.regional['fr'].weekHeader, 'Localisation - week header');
+       var day = 0;
+       $('.ui-datepicker-title-row a', dp).each(function() {
+               equals($(this).text(), $.datepicker.regional['fr'].dayNamesMin[day],
+                       'Localisation - day ' + day);
+               day++;
+       });
+       inp.simulate('keydown', {keyCode: $.simulate.VK_ENTER});
+       var date = new Date();
+       equals(inp.val(), $.datepicker.regional['fr'].dayNames[date.getDay()] + ', ' +
+               date.getDate() + ' ' + $.datepicker.regional['fr'].monthNames[date.getMonth()] +
+               ' ' + date.getFullYear(), 'Localisation - formatting');
+});
+
+test('noWeekends', function() {
+       for (var i = 1; i <= 31; i++) {
+               var date = new Date(2001, 1 - 1, i);
+               isSet($.datepicker.noWeekends(date), [(i + 1) % 7 >= 2, ''],
+                       'No weekends ' + date);
+       }
+});
+
+test('iso8601Week', function() {
+       var date = new Date(2000, 12 - 1, 31);
+       equals($.datepicker.iso8601Week(date), 52, 'ISO 8601 week ' + date);
+       date = new Date(2001, 1 - 1, 1);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+       date = new Date(2001, 1 - 1, 7);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+       date = new Date(2001, 1 - 1, 8);
+       equals($.datepicker.iso8601Week(date), 2, 'ISO 8601 week ' + date);
+       date = new Date(2003, 12 - 1, 28);
+       equals($.datepicker.iso8601Week(date), 52, 'ISO 8601 week ' + date);
+       date = new Date(2003, 12 - 1, 29);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+       date = new Date(2004, 1 - 1, 4);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+       date = new Date(2004, 1 - 1, 5);
+       equals($.datepicker.iso8601Week(date), 2, 'ISO 8601 week ' + date);
+       date = new Date(2009, 12 - 1, 28);
+       equals($.datepicker.iso8601Week(date), 53, 'ISO 8601 week ' + date);
+       date = new Date(2010, 1 - 1, 3);
+       equals($.datepicker.iso8601Week(date), 53, 'ISO 8601 week ' + date);
+       date = new Date(2010, 1 - 1, 4);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+       date = new Date(2010, 1 - 1, 10);
+       equals($.datepicker.iso8601Week(date), 1, 'ISO 8601 week ' + date);
+});
+
+test('parseDate', function() {
+       init('#inp');
+       ok($.datepicker.parseDate('d m y', '') == null, 'Parse date empty');
+       equalsDate($.datepicker.parseDate('d m y', '3 2 01'),
+               new Date(2001, 2 - 1, 3), 'Parse date d m y');
+       equalsDate($.datepicker.parseDate('dd mm yy', '03 02 2001'),
+               new Date(2001, 2 - 1, 3), 'Parse date dd mm yy');
+       equalsDate($.datepicker.parseDate('d m y', '13 12 01'),
+               new Date(2001, 12 - 1, 13), 'Parse date d m y');
+       equalsDate($.datepicker.parseDate('dd mm yy', '13 12 2001'),
+               new Date(2001, 12 - 1, 13), 'Parse date dd mm yy');
+       equalsDate($.datepicker.parseDate('y-o', '2001-34'),
+               new Date(2001, 2 - 1, 3), 'Parse date y-o');
+       equalsDate($.datepicker.parseDate('yy-oo', '2001-347'),
+               new Date(2001, 12 - 1, 13), 'Parse date yy oo');
+       equalsDate($.datepicker.parseDate('oo yy', '348 2004'),
+               new Date(2004, 12 - 1, 13), 'Parse date oo-yy');
+       equalsDate($.datepicker.parseDate('D d M y', 'Sat 3 Feb 01'),
+               new Date(2001, 2 - 1, 3), 'Parse date D d M y');
+       equalsDate($.datepicker.parseDate('d MM DD yy', '3 February Saturday 2001'),
+               new Date(2001, 2 - 1, 3), 'Parse date dd MM DD yy');
+       equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Saturday, February 3, 2001'),
+               new Date(2001, 2 - 1, 3), 'Parse date DD, MM d, yy');
+       equalsDate($.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',
+               'day 3 of February (\'Saturday\'), 2001'), new Date(2001, 2 - 1, 3),
+               'Parse date \'day\' d \'of\' MM (\'\'DD\'\'), yy');
+       equalsDate($.datepicker.parseDate('y-m-d', '01-02-03'),
+               new Date(2001, 2 - 1, 3), 'Parse date y-m-d - default cutoff');
+       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03'),
+               new Date(1951, 2 - 1, 3), 'Parse date y-m-d - default cutoff');
+       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03', {shortYearCutoff: 80}),
+               new Date(2051, 2 - 1, 3), 'Parse date y-m-d - cutoff 80');
+       equalsDate($.datepicker.parseDate('y-m-d', '51-02-03', {shortYearCutoff: '+60'}),
+               new Date(2051, 2 - 1, 3), 'Parse date y-m-d - cutoff +60');
+       var fr = $.datepicker.regional['fr'];
+       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,
+               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};
+       equalsDate($.datepicker.parseDate('D d M y', 'Lun 9 Avr 01', settings),
+               new Date(2001, 4 - 1, 9), 'Parse date D M y with settings');
+       equalsDate($.datepicker.parseDate('d MM DD yy', '9 Avril Lundi 2001', settings),
+               new Date(2001, 4 - 1, 9), 'Parse date d MM DD yy with settings');
+       equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Lundi, Avril 9, 2001', settings),
+               new Date(2001, 4 - 1, 9), 'Parse date DD, MM d, yy with settings');
+       equalsDate($.datepicker.parseDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',
+               'jour 9 de Avril (\'Lundi\'), 2001', settings), new Date(2001, 4 - 1, 9),
+               'Parse date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings');
+});
+
+test('parseDateErrors', function() {
+       init('#inp');
+       var expectError = function(expr, value, error) {
+               try {
+                       expr();
+                       ok(false, 'Parsed error ' + value);
+               }
+               catch (e) {
+                       equals(e, error, 'Parsed error ' + value);
+               }
+       };
+       expectError(function() { $.datepicker.parseDate(null, 'Sat 2 01'); },
+               'Sat 2 01', 'Invalid arguments');
+       expectError(function() { $.datepicker.parseDate('d m y', null); },
+               'null', 'Invalid arguments');
+       expectError(function() { $.datepicker.parseDate('d m y', 'Sat 2 01'); },
+               'Sat 2 01 - d m y', 'Missing number at position 0');
+       expectError(function() { $.datepicker.parseDate('dd mm yy', 'Sat 2 01'); },
+               'Sat 2 01 - dd mm yy', 'Missing number at position 0');
+       expectError(function() { $.datepicker.parseDate('d m y', '3 Feb 01'); },
+               '3 Feb 01 - d m y', 'Missing number at position 2');
+       expectError(function() { $.datepicker.parseDate('dd mm yy', '3 Feb 01'); },
+               '3 Feb 01 - dd mm yy', 'Missing number at position 2');
+       expectError(function() { $.datepicker.parseDate('d m y', '3 2 AD01'); },
+               '3 2 AD01 - d m y', 'Missing number at position 4');
+       expectError(function() { $.datepicker.parseDate('d m yy', '3 2 AD01'); },
+               '3 2 AD01 - dd mm yy', 'Missing number at position 4');
+       expectError(function() { $.datepicker.parseDate('y-o', '2001-D01'); },
+               '2001-D01 - y-o', 'Missing number at position 5');
+       expectError(function() { $.datepicker.parseDate('yy-oo', '2001-D01'); },
+               '2001-D01 - yy-oo', 'Missing number at position 5');
+       expectError(function() { $.datepicker.parseDate('D d M y', 'D7 3 Feb 01'); },
+               'D7 3 Feb 01 - D d M y', 'Unknown name at position 0');
+       expectError(function() { $.datepicker.parseDate('D d M y', 'Sat 3 M2 01'); },
+               'Sat 3 M2 01 - D d M y', 'Unknown name at position 6');
+       expectError(function() { $.datepicker.parseDate('DD, MM d, yy', 'Saturday- Feb 3, 2001'); },
+               'Saturday- Feb 3, 2001 - DD, MM d, yy', 'Unexpected literal at position 8');
+       expectError(function() { $.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',
+               'day 3 of February ("Saturday"), 2001'); },
+               'day 3 of Mon2 ("Day7"), 2001', 'Unexpected literal at position 19');
+       expectError(function() { $.datepicker.parseDate('d m y', '29 2 01'); },
+               '29 2 01 - d m y', 'Invalid date');
+       var fr = $.datepicker.regional['fr'];
+       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,
+               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};
+       expectError(function() { $.datepicker.parseDate('D d M y', 'Mon 9 Avr 01', settings); },
+               'Mon 9 Avr 01 - D d M y', 'Unknown name at position 0');
+       expectError(function() { $.datepicker.parseDate('D d M y', 'Lun 9 Apr 01', settings); },
+               'Lun 9 Apr 01 - D d M y', 'Unknown name at position 6');
+});
+
+test('formatDate', function() {
+       init('#inp');
+       equals($.datepicker.formatDate('d m y', new Date(2001, 2 - 1, 3)),
+               '3 2 01', 'Format date d m y');
+       equals($.datepicker.formatDate('dd mm yy', new Date(2001, 2 - 1, 3)),
+               '03 02 2001', 'Format date dd mm yy');
+       equals($.datepicker.formatDate('d m y', new Date(2001, 12 - 1, 13)),
+               '13 12 01', 'Format date d m y');
+       equals($.datepicker.formatDate('dd mm yy', new Date(2001, 12 - 1, 13)),
+               '13 12 2001', 'Format date dd mm yy');
+       equals($.datepicker.formatDate('yy-o', new Date(2001, 2 - 1, 3)),
+               '2001-34', 'Format date yy-o');
+       equals($.datepicker.formatDate('yy-oo', new Date(2001, 2 - 1, 3)),
+               '2001-034', 'Format date yy-oo');
+       equals($.datepicker.formatDate('D M y', new Date(2001, 2 - 1, 3)),
+               'Sat Feb 01', 'Format date D M y');
+       equals($.datepicker.formatDate('DD MM yy', new Date(2001, 2 - 1, 3)),
+               'Saturday February 2001', 'Format date DD MM yy');
+       equals($.datepicker.formatDate('DD, MM d, yy', new Date(2001, 2 - 1, 3)),
+               'Saturday, February 3, 2001', 'Format date DD, MM d, yy');
+       equals($.datepicker.formatDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',
+               new Date(2001, 2 - 1, 3)), 'day 3 of February (\'Saturday\'), 2001',
+               'Format date \'day\' d \'of\' MM (\'\'DD\'\'), yy');
+       var fr = $.datepicker.regional['fr'];
+       var settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,
+               monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};
+       equals($.datepicker.formatDate('D M y', new Date(2001, 4 - 1, 9), settings),
+               'Lun Avr 01', 'Format date D M y with settings');
+       equals($.datepicker.formatDate('DD MM yy', new Date(2001, 4 - 1, 9), settings),
+               'Lundi Avril 2001', 'Format date DD MM yy with settings');
+       equals($.datepicker.formatDate('DD, MM d, yy', new Date(2001, 4 - 1, 9), settings),
+               'Lundi, Avril 9, 2001', 'Format date DD, MM d, yy with settings');
+       equals($.datepicker.formatDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',
+               new Date(2001, 4 - 1, 9), settings), 'jour 9 de Avril (\'Lundi\'), 2001',
+               'Format date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings');
+});
+
+})(jQuery);
index 9febc1a7d23d9cee97bf2277cd16d87ec5442b3a..503485038594fcd25b2010e0a4820971211d5f5c 100644 (file)
@@ -1,40 +1,40 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Dialog Test Suite</title>\r
-\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-       <!--link rel="stylesheet" href="../themes/flora/flora.dialog.css" type="text/css" media="screen"-->\r
-       \r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.dialog.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.resizable.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-       \r
-       <script type="text/javascript" src="dialog.js"></script>\r
-       \r
-       <style type="text/css">\r
-               html { border: 0; }\r
-       </style>\r
-\r
-\r
-\r
-</head>\r
-<body class="flora">\r
-\r
-<h1 id="header">jQuery UI Dialog Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="position: absolute; top: -10000px; border: 1px solid black; padding: 10px; margin: 10px;">\r
-       <div id="dialog1">Dialog Content</div>\r
-</div>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Dialog Test Suite</title>
+
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+       <!--link rel="stylesheet" href="../themes/flora/flora.dialog.css" type="text/css" media="screen"-->
+       
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.dialog.js"></script>
+       <script type="text/javascript" src="../ui/ui.draggable.js"></script>
+       <script type="text/javascript" src="../ui/ui.resizable.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+       
+       <script type="text/javascript" src="dialog.js"></script>
+       
+       <style type="text/css">
+               html { border: 0; }
+       </style>
+
+
+
+</head>
+<body class="flora">
+
+<h1 id="header">jQuery UI Dialog Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position: absolute; top: -10000px; border: 1px solid black; padding: 10px; margin: 10px;">
+       <div id="dialog1">Dialog Content</div>
+</div>
+
+</body>
+</html>
index b6362aa4e6215397cf220c6298f42ee845e84dff..a2e1435992e07b5537385e467072995c1468fa22 100644 (file)
-/*\r
- * dialog unit tests\r
- */\r
-(function($) {\r
-//\r
-// Dialog Test Helper Functions\r
-//\r
-\r
-var defaults = {\r
-       autoOpen: true,\r
-       autoResize: true,\r
-       buttons: {},\r
-       disabled: false,\r
-       dialogClass: null,\r
-       draggable: true,\r
-       height: 200,\r
-       maxHeight: null,\r
-       maxWidth: null,\r
-       minHeight: 100,\r
-       minWidth: 150,\r
-       modal: false,\r
-       overlay: {},\r
-       position: 'center',\r
-       resizable: true,\r
-       stack: true,\r
-       title: '',\r
-       width: 300\r
-};\r
-\r
-var el,\r
-       offsetBefore, offsetAfter,\r
-       heightBefore, heightAfter,\r
-       widthBefore, widthAfter,\r
-       dragged;\r
-\r
-function dlg() {\r
-       return el.data("dialog").element.parents(".ui-dialog:first");\r
-}\r
-\r
-function isOpen(why) {\r
-       ok(dlg().is(":visible"), why);\r
-}\r
-\r
-function isNotOpen(why) {\r
-       ok(!dlg().is(":visible"), why);\r
-}\r
-\r
-function drag(handle, dx, dy) {\r
-       var d = dlg();\r
-       offsetBefore = d.offset();\r
-       heightBefore = d.height();\r
-       widthBefore = d.width();\r
-       //this mouseover is to work around a limitation in resizable\r
-       //TODO: fix resizable so handle doesn't require mouseover in order to be used\r
-       $(handle, d).simulate("mouseover");\r
-       $(handle, d).simulate("drag", {\r
-               dx: dx || 0,\r
-               dy: dy || 0\r
-       });\r
-       dragged = { dx: dx, dy: dy };\r
-       offsetAfter = d.offset();\r
-       heightAfter = d.height();\r
-       widthAfter = d.width();\r
-}\r
-\r
-function moved(dx, dy, msg) {\r
-       msg = msg ? msg + "." : "";\r
-       var actual = { left: offsetAfter.left, top: offsetAfter.top };\r
-       var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy };\r
-       compare2(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);\r
-}\r
-\r
-function shouldmove(why) {\r
-       var handle = $(".ui-dialog-titlebar", dlg());\r
-       drag(handle, 50, 50);\r
-       moved(50, 50, why);\r
-}\r
-\r
-function shouldnotmove(why) {\r
-       var handle = $(".ui-dialog-titlebar", dlg());\r
-       drag(handle, 50, 50);\r
-       moved(0, 0, why);\r
-}\r
-\r
-function resized(dw, dh, msg) {\r
-       msg = msg ? msg + "." : "";\r
-       var actual = { width: widthAfter, height: heightAfter };\r
-       var expected = { width: widthBefore + dw, height: heightBefore + dh };\r
-       compare2(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);\r
-}\r
-\r
-function shouldresize(why) {\r
-       var handle = $(".ui-resizable-se", dlg());\r
-       drag(handle, 50, 50);\r
-       resized(50, 50, why);\r
-}\r
-\r
-function shouldnotresize(why) {\r
-       var handle = $(".ui-resizable-se", dlg());\r
-       drag(handle, 50, 50);\r
-       resized(0, 0, why);\r
-}\r
-\r
-function broder(el, side){\r
-       return parseInt(el.css('border-' + side + '-width'), 10);\r
-}\r
-\r
-function margin(el, side) {\r
-       return parseInt(el.css('margin-' + side), 10);\r
-}\r
-\r
-// Dialog Tests\r
-module("dialog");\r
-\r
-test("init", function() {\r
-       expect(6);\r
-       \r
-       $("#dialog1").dialog().remove();\r
-       ok(true, '.dialog() called on element');\r
-       \r
-       $([]).dialog().remove();\r
-       ok(true, '.dialog() called on empty collection');\r
-       \r
-       $('<div/>').dialog().remove();\r
-       ok(true, '.dialog() called on disconnected DOMElement');\r
-       \r
-       $('<div/>').dialog().dialog("foo").remove();\r
-       ok(true, 'arbitrary method called after init');\r
-       \r
-       el = $('<div/>').dialog();\r
-       var foo = el.data("foo.dialog");\r
-       el.remove();\r
-       ok(true, 'arbitrary option getter after init');\r
-       \r
-       $('<div/>').dialog().data("foo.dialog", "bar").remove();\r
-       ok(true, 'arbitrary option setter after init');\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(6);\r
-\r
-       $("#dialog1").dialog().dialog("destroy").remove();\r
-       ok(true, '.dialog("destroy") called on element');\r
-\r
-       $([]).dialog().dialog("destroy").remove();\r
-       ok(true, '.dialog("destroy") called on empty collection');\r
-\r
-       $('<div/>').dialog().dialog("destroy").remove();\r
-       ok(true, '.dialog("destroy") called on disconnected DOMElement');\r
-\r
-       $('<div/>').dialog().dialog("destroy").dialog("foo").remove();\r
-       ok(true, 'arbitrary method called after destroy');\r
-\r
-       el = $('<div/>').dialog();\r
-       var foo = el.dialog("destroy").data("foo.dialog");\r
-       el.remove();\r
-       ok(true, 'arbitrary option getter after destroy');\r
-\r
-       $('<div/>').dialog().dialog("destroy").data("foo.dialog", "bar").remove();\r
-       ok(true, 'arbitrary option setter after destroy');\r
-});\r
-\r
-/*\r
-//This one takes a while to run\r
-\r
-test("element types", function() {\r
-       var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form'\r
-               + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr'\r
-               + ',acronym,code,samp,kbd,var,img,object,hr'\r
-               + ',input,button,label,select,iframe').split(',');\r
-\r
-       $.each(typeNames, function(i) {\r
-               var typeName = typeNames[i];\r
-               el = $(document.createElement(typeName)).appendTo('body');\r
-               (typeName == 'table' && el.append("<tr><td>content</td></tr>"));\r
-               el.dialog();\r
-               ok(true, '$("&lt;' + typeName + '/&gt").dialog()');\r
-               el.dialog("destroy");\r
-               el.remove();\r
-       });\r
-});\r
-\r
-*/\r
-\r
-test("defaults", function() {\r
-       el = $('<div/>').dialog();\r
-       $.each(defaults, function(key, val) {\r
-               var actual = el.data(key + ".dialog"), expected = val,\r
-                       method = (expected && expected.constructor == Object) ?\r
-                               compare2 : equals;\r
-               method(actual, expected, key);\r
-       });\r
-       el.remove();\r
-});\r
-\r
-test("title id", function() {\r
-       expect(3);\r
-       \r
-       var titleId;\r
-       \r
-       // reset the uuid so we know what values to expect\r
-       $.ui.dialog.uuid = 0;\r
-       \r
-       el = $('<div/>').dialog();\r
-       titleId = dlg().find('.ui-dialog-title').attr('id');\r
-       equals(titleId, 'ui-dialog-title-1', 'auto-numbered title id');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog();\r
-       titleId = dlg().find('.ui-dialog-title').attr('id');\r
-       equals(titleId, 'ui-dialog-title-2', 'auto-numbered title id');\r
-       el.remove();\r
-       \r
-       el = $('<div id="foo"/>').dialog();\r
-       titleId = dlg().find('.ui-dialog-title').attr('id');\r
-       equals(titleId, 'ui-dialog-title-foo', 'carried over title id');\r
-       el.remove();\r
-});\r
-\r
-module("dialog: Options");\r
-\r
-test("autoOpen", function() {\r
-       expect(2);\r
-       \r
-       el = $('<div/>').dialog({ autoOpen: false });\r
-               isNotOpen('.dialog({ autoOpen: false })');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ autoOpen: true });\r
-               isOpen('.dialog({ autoOpen: true })');\r
-       el.remove();\r
-});\r
-\r
-test("autoResize", function() {\r
-       expect(2);\r
-       \r
-       var actual,\r
-               before,\r
-               expected,\r
-               handle;\r
-       \r
-       el = $('<div>content<br>content<br>content<br>content<br>content</div>').dialog({ autoResize: false });\r
-               expected = { height: el.height() };\r
-               handle = $(".ui-resizable-se", dlg());\r
-               drag(handle, 50, 50);\r
-               actual = { height: el.height() };\r
-               compare2(actual, expected, '.dialog({ autoResize: false })');\r
-       el.remove();\r
-       el = $('<div>content<br>content<br>content<br>content<br>content</div>').dialog({ autoResize: true });\r
-               before = { width: el.width(), height: el.height() };\r
-               handle = $(".ui-resizable-se", dlg());\r
-               drag(handle, 50, 50);\r
-               expected = { width: before.width + 50, height: before.height + 50 };\r
-               actual = { width: el.width(), height: el.height() };\r
-               compare2(actual, expected, '.dialog({ autoResize: true })');\r
-       el.remove();\r
-});\r
-\r
-test("buttons", function() {\r
-       expect(17);\r
-       \r
-       var buttons = {\r
-               "Ok": function(ev, ui) {\r
-                       ok(true, "button click fires callback");\r
-                       equals(this, el[0], "context of callback");\r
-                       equals(ev.target, btn[0], "event target");\r
-               },\r
-               "Cancel": function(ev, ui) {\r
-                       ok(true, "button click fires callback");\r
-                       equals(this, el[0], "context of callback");\r
-                       equals(ev.target, btn[1], "event target");\r
-               }\r
-       };\r
-       \r
-       el = $('<div/>').dialog({ buttons: buttons });\r
-       var btn = $("button", dlg());\r
-       equals(btn.length, 2, "number of buttons");\r
-       \r
-       var i = 0;\r
-       $.each(buttons, function(key, val) {\r
-               equals(btn.eq(i).text(), key, "text of button " + (i+1));\r
-               i++;\r
-       });\r
-       \r
-       equals(btn.parent().attr('className'), 'ui-dialog-buttonpane', "buttons in container");\r
-       btn.trigger("click");\r
-       \r
-       var newButtons = {\r
-               "Close": function(ev, ui) {\r
-                       ok(true, "button click fires callback");\r
-                       equals(this, el[0], "context of callback");\r
-                       equals(ev.target, btn[0], "event target");\r
-               }\r
-       };\r
-       \r
-       equals(el.data("buttons.dialog"), buttons, '.data("buttons.dialog") getter');\r
-       el.data("buttons.dialog", newButtons);\r
-       equals(el.data("buttons.dialog"), newButtons, '.data("buttons.dialog", ...) setter');\r
-       \r
-       btn = $("button", dlg());\r
-       equals(btn.length, 1, "number of buttons after setter");\r
-       btn.trigger('click');\r
-       \r
-       i = 0;\r
-       $.each(newButtons, function(key, val) {\r
-               equals(btn.eq(i).text(), key, "text of button " + (i+1));\r
-               i += 1;\r
-       });\r
-       \r
-       el.remove();\r
-});\r
-\r
-test("dialogClass", function() {\r
-       expect(4);\r
-       \r
-       el = $('<div/>').dialog();\r
-               equals(dlg().is(".foo"), false, 'dialogClass not specified. foo class added');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ dialogClass: "foo" });\r
-               equals(dlg().is(".foo"), true, 'dialogClass in init. foo class added');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ dialogClass: "foo bar" });\r
-               equals(dlg().is(".foo"), true, 'dialogClass in init, two classes. foo class added');\r
-               equals(dlg().is(".bar"), true, 'dialogClass in init, two classes. bar class added');\r
-       el.remove();\r
-});\r
-\r
-test("draggable", function() {\r
-       expect(4);\r
-       \r
-       el = $('<div/>').dialog({ draggable: false });\r
-               shouldnotmove();\r
-               el.data('draggable.dialog', true);\r
-               shouldmove();\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ draggable: true });\r
-               shouldmove();\r
-               el.data('draggable.dialog', false);\r
-               shouldnotmove();\r
-       el.remove();\r
-});\r
-\r
-test("height", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog();\r
-               equals(dlg().height(), defaults.height, "default height");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ height: 437 });\r
-               equals(dlg().height(), 437, "explicit height");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog();\r
-               el.data('height.dialog', 438);\r
-               equals(dlg().height(), 438, "explicit height set after init");\r
-       el.remove();\r
-});\r
-\r
-test("maxHeight", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog({ maxHeight: 400 });\r
-               drag('.ui-resizable-s', 1000, 1000);\r
-               equals(heightAfter, 400, "maxHeight");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ maxHeight: 400 });\r
-               drag('.ui-resizable-n', -1000, -1000);\r
-               equals(heightAfter, 400, "maxHeight");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ maxHeight: 400 }).data('maxHeight.dialog', 600);\r
-               drag('.ui-resizable-n', -1000, -1000);\r
-               equals(heightAfter, 600, "maxHeight");\r
-       el.remove();\r
-});\r
-\r
-test("maxWidth", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog({ maxWidth: 400 });\r
-               drag('.ui-resizable-e', 1000, 1000);\r
-               equals(widthAfter, 400, "maxWidth");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ maxWidth: 400 });\r
-               drag('.ui-resizable-w', -1000, -1000);\r
-               equals(widthAfter, 400, "maxWidth");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ maxWidth: 400 }).data('maxWidth.dialog', 600);\r
-               drag('.ui-resizable-w', -1000, -1000);\r
-               equals(widthAfter, 600, "maxWidth");\r
-       el.remove();\r
-});\r
-\r
-test("minHeight", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog({ minHeight: 10 });\r
-               drag('.ui-resizable-s', -1000, -1000);\r
-               equals(heightAfter, 10, "minHeight");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ minHeight: 10 });\r
-               drag('.ui-resizable-n', 1000, 1000);\r
-               equals(heightAfter, 10, "minHeight");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ minHeight: 10 }).data('minHeight.dialog', 30);\r
-               drag('.ui-resizable-n', 1000, 1000);\r
-               equals(heightAfter, 30, "minHeight");\r
-       el.remove();\r
-});\r
-\r
-test("minWidth", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog({ minWidth: 10 });\r
-               drag('.ui-resizable-e', -1000, -1000);\r
-               equals(widthAfter, 10, "minWidth");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ minWidth: 10 });\r
-               drag('.ui-resizable-w', 1000, 1000);\r
-               equals(widthAfter, 10, "minWidth");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ minWidth: 30 }).data('minWidth.dialog', 30);\r
-               drag('.ui-resizable-w', 1000, 1000);\r
-               equals(widthAfter, 30, "minWidth");\r
-       el.remove();\r
-});\r
-\r
-test("modal", function() {\r
-       ok(false, "missing test");\r
-});\r
-\r
-test("overlay", function() {\r
-       ok(false, "missing test");\r
-});\r
-\r
-test("position", function() {\r
-       ok(false, "missing test");\r
-});\r
-\r
-test("resizable", function() {\r
-       expect(4);\r
-       \r
-       el = $('<div/>').dialog();\r
-               shouldresize("[default]");\r
-               el.data('resizable.dialog', false);\r
-               shouldnotresize('disabled after init');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ resizable: false });\r
-               shouldnotresize("disabled in init options");\r
-               el.data('resizable.dialog', true);\r
-               shouldresize('enabled after init');\r
-       el.remove();\r
-});\r
-\r
-test("stack", function() {\r
-       ok(false, "missing test");\r
-});\r
-\r
-test("title", function() {\r
-       expect(5);\r
-       \r
-       function titleText() {\r
-               return dlg().find(".ui-dialog-title").html();\r
-       }\r
-       \r
-       el = $('<div/>').dialog();\r
-               equals(titleText(), "&nbsp;", "[default]");\r
-       el.remove();\r
-       \r
-       el = $('<div title="foo"/>').dialog();\r
-               equals(titleText(), "foo", "title in element attribute");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({ title: 'foo' });\r
-               equals(titleText(), "foo", "title in init options");\r
-       el.remove();\r
-       \r
-       el = $('<div title="foo"/>').dialog({ title: 'bar' });\r
-               equals(titleText(), "bar", "title in init options should override title in element attribute");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog().data('title.dialog', 'foo');\r
-               equals(titleText(), 'foo', 'title after init');\r
-       el.remove();\r
-});\r
-\r
-test("width", function() {\r
-       expect(3);\r
-       \r
-       el = $('<div/>').dialog();\r
-               equals(dlg().width(), defaults.width, "default width");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({width: 437 });\r
-               equals(dlg().width(), 437, "explicit width");\r
-               el.data('width.dialog', 438);\r
-               equals(dlg().width(), 438, 'explicit width after init');\r
-       el.remove();\r
-});\r
-\r
-module("dialog: Methods");\r
-\r
-test("isOpen", function() {\r
-       expect(4);\r
-       \r
-       el = $('<div/>').dialog();\r
-       equals(el.dialog('isOpen'), true, "dialog is open after init");\r
-       el.dialog('close');\r
-       equals(el.dialog('isOpen'), false, "dialog is closed");\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog({autoOpen: false});\r
-       equals(el.dialog('isOpen'), false, "dialog is closed after init");\r
-       el.dialog('open');\r
-       equals(el.dialog('isOpen'), true, "dialog is open");\r
-       el.remove();\r
-});\r
-\r
-module("dialog: Callbacks");\r
-\r
-test("open", function() {\r
-       expect(4);\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               open: function(ev, ui) {\r
-                       ok(true, 'autoOpen: true fires open callback');\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       el.remove();\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               autoOpen: false,\r
-               open: function(ev, ui) {\r
-                       ok(true, '.dialog("open") fires open callback');\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       el.dialog("open");\r
-       el.remove();\r
-});\r
-\r
-test("dragStart", function() {\r
-       expect(1);\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               dragStart: function(ev, ui) {\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-dialog-titlebar", dlg());\r
-       drag(handle, 50, 50);\r
-       el.remove();\r
-});\r
-\r
-test("drag", function() {\r
-       var fired = false;\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               drag: function(ev, ui) {\r
-                       fired = true;\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-dialog-titlebar", dlg());\r
-       drag(handle, 50, 50);\r
-       ok(fired, "resize fired");\r
-       el.remove();\r
-});\r
-\r
-test("dragStop", function() {\r
-       expect(1);\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               dragStop: function(ev, ui) {\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-dialog-titlebar", dlg());\r
-       drag(handle, 50, 50);\r
-       el.remove();\r
-});\r
-\r
-test("resizeStart", function() {\r
-       expect(1);\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               resizeStart: function(ev, ui) {\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-resizable-se", dlg());\r
-       drag(handle, 50, 50);\r
-       el.remove();\r
-});\r
-\r
-test("resize", function() {\r
-       var fired = false;\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               resize: function(ev, ui) {\r
-                       fired = true;\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-resizable-se", dlg());\r
-       drag(handle, 50, 50);\r
-       ok(fired, "resize fired");\r
-       el.remove();\r
-});\r
-\r
-test("resizeStop", function() {\r
-       expect(1);\r
-       el = $("<div/>");\r
-       el.dialog({\r
-               resizeStop: function(ev, ui) {\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       var handle = $(".ui-resizable-se", dlg());\r
-       drag(handle, 50, 50);\r
-       el.remove();\r
-});\r
-\r
-test("close", function() {\r
-       expect(2);\r
-       el = $('<div/>').dialog({\r
-               close: function(ev, ui) {\r
-                       ok(true, '.dialog("close") fires close callback');\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       el.dialog("close");\r
-       el.remove();\r
-});\r
-\r
-test("beforeclose", function() {\r
-       expect(6);\r
-       \r
-       el = $('<div/>').dialog({\r
-               beforeclose: function(ev, ui) {\r
-                       ok(true, '.dialog("close") fires beforeclose callback');\r
-                       equals(this, el[0], "context of callback");\r
-                       return false;\r
-               }\r
-       });\r
-       el.dialog('close');\r
-       isOpen('beforeclose callback should prevent dialog from closing');\r
-       el.remove();\r
-       \r
-       el = $('<div/>').dialog().bind('dialogbeforeclose', function(ev, ui) {\r
-               ok(true, '.dialog("close") triggers dialogbeforeclose event');\r
-               equals(this, el[0], "context of event");\r
-               return false;\r
-       });\r
-       el.dialog('close');\r
-       isOpen('dialogbeforeclose event should prevent dialog from closing');\r
-       el.remove();\r
-});\r
-\r
-module("dialog: Tickets");\r
-\r
-})(jQuery);\r
+/*
+ * dialog unit tests
+ */
+(function($) {
+//
+// Dialog Test Helper Functions
+//
+
+var defaults = {
+       autoOpen: true,
+       autoResize: true,
+       buttons: {},
+       disabled: false,
+       dialogClass: null,
+       draggable: true,
+       height: 200,
+       maxHeight: null,
+       maxWidth: null,
+       minHeight: 100,
+       minWidth: 150,
+       modal: false,
+       overlay: {},
+       position: 'center',
+       resizable: true,
+       stack: true,
+       title: '',
+       width: 300
+};
+
+var el,
+       offsetBefore, offsetAfter,
+       heightBefore, heightAfter,
+       widthBefore, widthAfter,
+       dragged;
+
+function dlg() {
+       return el.data("dialog").element.parents(".ui-dialog:first");
+}
+
+function isOpen(why) {
+       ok(dlg().is(":visible"), why);
+}
+
+function isNotOpen(why) {
+       ok(!dlg().is(":visible"), why);
+}
+
+function drag(handle, dx, dy) {
+       var d = dlg();
+       offsetBefore = d.offset();
+       heightBefore = d.height();
+       widthBefore = d.width();
+       //this mouseover is to work around a limitation in resizable
+       //TODO: fix resizable so handle doesn't require mouseover in order to be used
+       $(handle, d).simulate("mouseover");
+       $(handle, d).simulate("drag", {
+               dx: dx || 0,
+               dy: dy || 0
+       });
+       dragged = { dx: dx, dy: dy };
+       offsetAfter = d.offset();
+       heightAfter = d.height();
+       widthAfter = d.width();
+}
+
+function moved(dx, dy, msg) {
+       msg = msg ? msg + "." : "";
+       var actual = { left: offsetAfter.left, top: offsetAfter.top };
+       var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy };
+       compare2(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
+}
+
+function shouldmove(why) {
+       var handle = $(".ui-dialog-titlebar", dlg());
+       drag(handle, 50, 50);
+       moved(50, 50, why);
+}
+
+function shouldnotmove(why) {
+       var handle = $(".ui-dialog-titlebar", dlg());
+       drag(handle, 50, 50);
+       moved(0, 0, why);
+}
+
+function resized(dw, dh, msg) {
+       msg = msg ? msg + "." : "";
+       var actual = { width: widthAfter, height: heightAfter };
+       var expected = { width: widthBefore + dw, height: heightBefore + dh };
+       compare2(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
+}
+
+function shouldresize(why) {
+       var handle = $(".ui-resizable-se", dlg());
+       drag(handle, 50, 50);
+       resized(50, 50, why);
+}
+
+function shouldnotresize(why) {
+       var handle = $(".ui-resizable-se", dlg());
+       drag(handle, 50, 50);
+       resized(0, 0, why);
+}
+
+function broder(el, side){
+       return parseInt(el.css('border-' + side + '-width'), 10);
+}
+
+function margin(el, side) {
+       return parseInt(el.css('margin-' + side), 10);
+}
+
+// Dialog Tests
+module("dialog");
+
+test("init", function() {
+       expect(6);
+       
+       $("#dialog1").dialog().remove();
+       ok(true, '.dialog() called on element');
+       
+       $([]).dialog().remove();
+       ok(true, '.dialog() called on empty collection');
+       
+       $('<div/>').dialog().remove();
+       ok(true, '.dialog() called on disconnected DOMElement');
+       
+       $('<div/>').dialog().dialog("foo").remove();
+       ok(true, 'arbitrary method called after init');
+       
+       el = $('<div/>').dialog();
+       var foo = el.data("foo.dialog");
+       el.remove();
+       ok(true, 'arbitrary option getter after init');
+       
+       $('<div/>').dialog().data("foo.dialog", "bar").remove();
+       ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+       expect(6);
+
+       $("#dialog1").dialog().dialog("destroy").remove();
+       ok(true, '.dialog("destroy") called on element');
+
+       $([]).dialog().dialog("destroy").remove();
+       ok(true, '.dialog("destroy") called on empty collection');
+
+       $('<div/>').dialog().dialog("destroy").remove();
+       ok(true, '.dialog("destroy") called on disconnected DOMElement');
+
+       $('<div/>').dialog().dialog("destroy").dialog("foo").remove();
+       ok(true, 'arbitrary method called after destroy');
+
+       el = $('<div/>').dialog();
+       var foo = el.dialog("destroy").data("foo.dialog");
+       el.remove();
+       ok(true, 'arbitrary option getter after destroy');
+
+       $('<div/>').dialog().dialog("destroy").data("foo.dialog", "bar").remove();
+       ok(true, 'arbitrary option setter after destroy');
+});
+
+/*
+//This one takes a while to run
+
+test("element types", function() {
+       var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form'
+               + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr'
+               + ',acronym,code,samp,kbd,var,img,object,hr'
+               + ',input,button,label,select,iframe').split(',');
+
+       $.each(typeNames, function(i) {
+               var typeName = typeNames[i];
+               el = $(document.createElement(typeName)).appendTo('body');
+               (typeName == 'table' && el.append("<tr><td>content</td></tr>"));
+               el.dialog();
+               ok(true, '$("&lt;' + typeName + '/&gt").dialog()');
+               el.dialog("destroy");
+               el.remove();
+       });
+});
+
+*/
+
+test("defaults", function() {
+       el = $('<div/>').dialog();
+       $.each(defaults, function(key, val) {
+               var actual = el.data(key + ".dialog"), expected = val,
+                       method = (expected && expected.constructor == Object) ?
+                               compare2 : equals;
+               method(actual, expected, key);
+       });
+       el.remove();
+});
+
+test("title id", function() {
+       expect(3);
+       
+       var titleId;
+       
+       // reset the uuid so we know what values to expect
+       $.ui.dialog.uuid = 0;
+       
+       el = $('<div/>').dialog();
+       titleId = dlg().find('.ui-dialog-title').attr('id');
+       equals(titleId, 'ui-dialog-title-1', 'auto-numbered title id');
+       el.remove();
+       
+       el = $('<div/>').dialog();
+       titleId = dlg().find('.ui-dialog-title').attr('id');
+       equals(titleId, 'ui-dialog-title-2', 'auto-numbered title id');
+       el.remove();
+       
+       el = $('<div id="foo"/>').dialog();
+       titleId = dlg().find('.ui-dialog-title').attr('id');
+       equals(titleId, 'ui-dialog-title-foo', 'carried over title id');
+       el.remove();
+});
+
+module("dialog: Options");
+
+test("autoOpen", function() {
+       expect(2);
+       
+       el = $('<div/>').dialog({ autoOpen: false });
+               isNotOpen('.dialog({ autoOpen: false })');
+       el.remove();
+       
+       el = $('<div/>').dialog({ autoOpen: true });
+               isOpen('.dialog({ autoOpen: true })');
+       el.remove();
+});
+
+test("autoResize", function() {
+       expect(2);
+       
+       var actual,
+               before,
+               expected,
+               handle;
+       
+       el = $('<div>content<br>content<br>content<br>content<br>content</div>').dialog({ autoResize: false });
+               expected = { height: el.height() };
+               handle = $(".ui-resizable-se", dlg());
+               drag(handle, 50, 50);
+               actual = { height: el.height() };
+               compare2(actual, expected, '.dialog({ autoResize: false })');
+       el.remove();
+       el = $('<div>content<br>content<br>content<br>content<br>content</div>').dialog({ autoResize: true });
+               before = { width: el.width(), height: el.height() };
+               handle = $(".ui-resizable-se", dlg());
+               drag(handle, 50, 50);
+               expected = { width: before.width + 50, height: before.height + 50 };
+               actual = { width: el.width(), height: el.height() };
+               compare2(actual, expected, '.dialog({ autoResize: true })');
+       el.remove();
+});
+
+test("buttons", function() {
+       expect(17);
+       
+       var buttons = {
+               "Ok": function(ev, ui) {
+                       ok(true, "button click fires callback");
+                       equals(this, el[0], "context of callback");
+                       equals(ev.target, btn[0], "event target");
+               },
+               "Cancel": function(ev, ui) {
+                       ok(true, "button click fires callback");
+                       equals(this, el[0], "context of callback");
+                       equals(ev.target, btn[1], "event target");
+               }
+       };
+       
+       el = $('<div/>').dialog({ buttons: buttons });
+       var btn = $("button", dlg());
+       equals(btn.length, 2, "number of buttons");
+       
+       var i = 0;
+       $.each(buttons, function(key, val) {
+               equals(btn.eq(i).text(), key, "text of button " + (i+1));
+               i++;
+       });
+       
+       equals(btn.parent().attr('className'), 'ui-dialog-buttonpane', "buttons in container");
+       btn.trigger("click");
+       
+       var newButtons = {
+               "Close": function(ev, ui) {
+                       ok(true, "button click fires callback");
+                       equals(this, el[0], "context of callback");
+                       equals(ev.target, btn[0], "event target");
+               }
+       };
+       
+       equals(el.data("buttons.dialog"), buttons, '.data("buttons.dialog") getter');
+       el.data("buttons.dialog", newButtons);
+       equals(el.data("buttons.dialog"), newButtons, '.data("buttons.dialog", ...) setter');
+       
+       btn = $("button", dlg());
+       equals(btn.length, 1, "number of buttons after setter");
+       btn.trigger('click');
+       
+       i = 0;
+       $.each(newButtons, function(key, val) {
+               equals(btn.eq(i).text(), key, "text of button " + (i+1));
+               i += 1;
+       });
+       
+       el.remove();
+});
+
+test("dialogClass", function() {
+       expect(4);
+       
+       el = $('<div/>').dialog();
+               equals(dlg().is(".foo"), false, 'dialogClass not specified. foo class added');
+       el.remove();
+       
+       el = $('<div/>').dialog({ dialogClass: "foo" });
+               equals(dlg().is(".foo"), true, 'dialogClass in init. foo class added');
+       el.remove();
+       
+       el = $('<div/>').dialog({ dialogClass: "foo bar" });
+               equals(dlg().is(".foo"), true, 'dialogClass in init, two classes. foo class added');
+               equals(dlg().is(".bar"), true, 'dialogClass in init, two classes. bar class added');
+       el.remove();
+});
+
+test("draggable", function() {
+       expect(4);
+       
+       el = $('<div/>').dialog({ draggable: false });
+               shouldnotmove();
+               el.data('draggable.dialog', true);
+               shouldmove();
+       el.remove();
+       
+       el = $('<div/>').dialog({ draggable: true });
+               shouldmove();
+               el.data('draggable.dialog', false);
+               shouldnotmove();
+       el.remove();
+});
+
+test("height", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog();
+               equals(dlg().height(), defaults.height, "default height");
+       el.remove();
+       
+       el = $('<div/>').dialog({ height: 437 });
+               equals(dlg().height(), 437, "explicit height");
+       el.remove();
+       
+       el = $('<div/>').dialog();
+               el.data('height.dialog', 438);
+               equals(dlg().height(), 438, "explicit height set after init");
+       el.remove();
+});
+
+test("maxHeight", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog({ maxHeight: 400 });
+               drag('.ui-resizable-s', 1000, 1000);
+               equals(heightAfter, 400, "maxHeight");
+       el.remove();
+       
+       el = $('<div/>').dialog({ maxHeight: 400 });
+               drag('.ui-resizable-n', -1000, -1000);
+               equals(heightAfter, 400, "maxHeight");
+       el.remove();
+       
+       el = $('<div/>').dialog({ maxHeight: 400 }).data('maxHeight.dialog', 600);
+               drag('.ui-resizable-n', -1000, -1000);
+               equals(heightAfter, 600, "maxHeight");
+       el.remove();
+});
+
+test("maxWidth", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog({ maxWidth: 400 });
+               drag('.ui-resizable-e', 1000, 1000);
+               equals(widthAfter, 400, "maxWidth");
+       el.remove();
+       
+       el = $('<div/>').dialog({ maxWidth: 400 });
+               drag('.ui-resizable-w', -1000, -1000);
+               equals(widthAfter, 400, "maxWidth");
+       el.remove();
+       
+       el = $('<div/>').dialog({ maxWidth: 400 }).data('maxWidth.dialog', 600);
+               drag('.ui-resizable-w', -1000, -1000);
+               equals(widthAfter, 600, "maxWidth");
+       el.remove();
+});
+
+test("minHeight", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog({ minHeight: 10 });
+               drag('.ui-resizable-s', -1000, -1000);
+               equals(heightAfter, 10, "minHeight");
+       el.remove();
+       
+       el = $('<div/>').dialog({ minHeight: 10 });
+               drag('.ui-resizable-n', 1000, 1000);
+               equals(heightAfter, 10, "minHeight");
+       el.remove();
+       
+       el = $('<div/>').dialog({ minHeight: 10 }).data('minHeight.dialog', 30);
+               drag('.ui-resizable-n', 1000, 1000);
+               equals(heightAfter, 30, "minHeight");
+       el.remove();
+});
+
+test("minWidth", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog({ minWidth: 10 });
+               drag('.ui-resizable-e', -1000, -1000);
+               equals(widthAfter, 10, "minWidth");
+       el.remove();
+       
+       el = $('<div/>').dialog({ minWidth: 10 });
+               drag('.ui-resizable-w', 1000, 1000);
+               equals(widthAfter, 10, "minWidth");
+       el.remove();
+       
+       el = $('<div/>').dialog({ minWidth: 30 }).data('minWidth.dialog', 30);
+               drag('.ui-resizable-w', 1000, 1000);
+               equals(widthAfter, 30, "minWidth");
+       el.remove();
+});
+
+test("modal", function() {
+       ok(false, "missing test");
+});
+
+test("overlay", function() {
+       ok(false, "missing test");
+});
+
+test("position", function() {
+       ok(false, "missing test");
+});
+
+test("resizable", function() {
+       expect(4);
+       
+       el = $('<div/>').dialog();
+               shouldresize("[default]");
+               el.data('resizable.dialog', false);
+               shouldnotresize('disabled after init');
+       el.remove();
+       
+       el = $('<div/>').dialog({ resizable: false });
+               shouldnotresize("disabled in init options");
+               el.data('resizable.dialog', true);
+               shouldresize('enabled after init');
+       el.remove();
+});
+
+test("stack", function() {
+       ok(false, "missing test");
+});
+
+test("title", function() {
+       expect(5);
+       
+       function titleText() {
+               return dlg().find(".ui-dialog-title").html();
+       }
+       
+       el = $('<div/>').dialog();
+               equals(titleText(), "&nbsp;", "[default]");
+       el.remove();
+       
+       el = $('<div title="foo"/>').dialog();
+               equals(titleText(), "foo", "title in element attribute");
+       el.remove();
+       
+       el = $('<div/>').dialog({ title: 'foo' });
+               equals(titleText(), "foo", "title in init options");
+       el.remove();
+       
+       el = $('<div title="foo"/>').dialog({ title: 'bar' });
+               equals(titleText(), "bar", "title in init options should override title in element attribute");
+       el.remove();
+       
+       el = $('<div/>').dialog().data('title.dialog', 'foo');
+               equals(titleText(), 'foo', 'title after init');
+       el.remove();
+});
+
+test("width", function() {
+       expect(3);
+       
+       el = $('<div/>').dialog();
+               equals(dlg().width(), defaults.width, "default width");
+       el.remove();
+       
+       el = $('<div/>').dialog({width: 437 });
+               equals(dlg().width(), 437, "explicit width");
+               el.data('width.dialog', 438);
+               equals(dlg().width(), 438, 'explicit width after init');
+       el.remove();
+});
+
+module("dialog: Methods");
+
+test("isOpen", function() {
+       expect(4);
+       
+       el = $('<div/>').dialog();
+       equals(el.dialog('isOpen'), true, "dialog is open after init");
+       el.dialog('close');
+       equals(el.dialog('isOpen'), false, "dialog is closed");
+       el.remove();
+       
+       el = $('<div/>').dialog({autoOpen: false});
+       equals(el.dialog('isOpen'), false, "dialog is closed after init");
+       el.dialog('open');
+       equals(el.dialog('isOpen'), true, "dialog is open");
+       el.remove();
+});
+
+module("dialog: Callbacks");
+
+test("open", function() {
+       expect(4);
+       el = $("<div/>");
+       el.dialog({
+               open: function(ev, ui) {
+                       ok(true, 'autoOpen: true fires open callback');
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       el.remove();
+       el = $("<div/>");
+       el.dialog({
+               autoOpen: false,
+               open: function(ev, ui) {
+                       ok(true, '.dialog("open") fires open callback');
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       el.dialog("open");
+       el.remove();
+});
+
+test("dragStart", function() {
+       expect(1);
+       el = $("<div/>");
+       el.dialog({
+               dragStart: function(ev, ui) {
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-dialog-titlebar", dlg());
+       drag(handle, 50, 50);
+       el.remove();
+});
+
+test("drag", function() {
+       var fired = false;
+       el = $("<div/>");
+       el.dialog({
+               drag: function(ev, ui) {
+                       fired = true;
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-dialog-titlebar", dlg());
+       drag(handle, 50, 50);
+       ok(fired, "resize fired");
+       el.remove();
+});
+
+test("dragStop", function() {
+       expect(1);
+       el = $("<div/>");
+       el.dialog({
+               dragStop: function(ev, ui) {
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-dialog-titlebar", dlg());
+       drag(handle, 50, 50);
+       el.remove();
+});
+
+test("resizeStart", function() {
+       expect(1);
+       el = $("<div/>");
+       el.dialog({
+               resizeStart: function(ev, ui) {
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-resizable-se", dlg());
+       drag(handle, 50, 50);
+       el.remove();
+});
+
+test("resize", function() {
+       var fired = false;
+       el = $("<div/>");
+       el.dialog({
+               resize: function(ev, ui) {
+                       fired = true;
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-resizable-se", dlg());
+       drag(handle, 50, 50);
+       ok(fired, "resize fired");
+       el.remove();
+});
+
+test("resizeStop", function() {
+       expect(1);
+       el = $("<div/>");
+       el.dialog({
+               resizeStop: function(ev, ui) {
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       var handle = $(".ui-resizable-se", dlg());
+       drag(handle, 50, 50);
+       el.remove();
+});
+
+test("close", function() {
+       expect(2);
+       el = $('<div/>').dialog({
+               close: function(ev, ui) {
+                       ok(true, '.dialog("close") fires close callback');
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       el.dialog("close");
+       el.remove();
+});
+
+test("beforeclose", function() {
+       expect(6);
+       
+       el = $('<div/>').dialog({
+               beforeclose: function(ev, ui) {
+                       ok(true, '.dialog("close") fires beforeclose callback');
+                       equals(this, el[0], "context of callback");
+                       return false;
+               }
+       });
+       el.dialog('close');
+       isOpen('beforeclose callback should prevent dialog from closing');
+       el.remove();
+       
+       el = $('<div/>').dialog().bind('dialogbeforeclose', function(ev, ui) {
+               ok(true, '.dialog("close") triggers dialogbeforeclose event');
+               equals(this, el[0], "context of event");
+               return false;
+       });
+       el.dialog('close');
+       isOpen('dialogbeforeclose event should prevent dialog from closing');
+       el.remove();
+});
+
+module("dialog: Tickets");
+
+})(jQuery);
index 2138572e726d4dfe99e6548c196ca0535f97c7f0..1d082681c585947135b110af2c0e1c5a231d7628 100644 (file)
@@ -1,39 +1,39 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Progressbar Test Suite</title>\r
-\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-       \r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.progressbar.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-       \r
-       <script type="text/javascript" src="progressbar.js"></script>\r
-\r
-       <style type="text/css">\r
-\r
-\r
-\r
-       </style>\r
-\r
-\r
-\r
-</head>\r
-<body>\r
-\r
-<h1 id="header">jQuery UI Progressbar Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="position:absolute;top:-20000px">\r
-       <div id="progressbar"></div>\r
-</div>\r
-       \r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Progressbar Test Suite</title>
+
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+       
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.progressbar.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+       
+       <script type="text/javascript" src="progressbar.js"></script>
+
+       <style type="text/css">
+
+
+
+       </style>
+
+
+
+</head>
+<body>
+
+<h1 id="header">jQuery UI Progressbar Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position:absolute;top:-20000px">
+       <div id="progressbar"></div>
+</div>
+       
+</body>
+</html>
index 37d484a2292740ee4ae8e357d8bd1567c6b4aeab..e95f17a809d32a5fe2b7004966112fee92ca6f2b 100644 (file)
@@ -1,56 +1,56 @@
-/*\r
- * progressbar unit tests\r
- */\r
-(function($) {\r
-\r
-// Spinner Tests\r
-module("progressbar");\r
-\r
-test("init", function() {\r
-       expect(1);\r
-\r
-       el = $("#progressbar").progressbar();\r
-       ok(true, '.progressbar() called on element');\r
-\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(1);\r
-\r
-       $("#progressbar").progressbar().progressbar("destroy"); \r
-       ok(true, '.progressbar("destroy") called on element');\r
-\r
-});\r
-\r
-test("defaults", function() {\r
-       expect(5);\r
-       el = $("#progressbar").progressbar();\r
-\r
-       equals(el.data("width.progressbar"), 300, "width");\r
-       equals(el.data("duration.progressbar"), 3000, "duration");\r
-       equals(el.data("interval.progressbar"), 200, "interval");\r
-       equals(el.data("increment.progressbar"), 1, "increment");\r
-       equals(el.data("range.progressbar"), true, "range");\r
-\r
-});\r
-\r
-test("set defaults on init", function() {\r
-       expect(5);\r
-       el = $("#progressbar").progressbar({ \r
-               width: 500,\r
-               duration: 5000,\r
-               interval: 500,\r
-               increment: 5,\r
-               range: false\r
-       });\r
-\r
-       equals(el.data("width.progressbar"), 500, "width");\r
-       equals(el.data("duration.progressbar"), 5000, "duration");\r
-       equals(el.data("interval.progressbar"), 500, "interval");\r
-       equals(el.data("increment.progressbar"), 5, "increment");\r
-       equals(el.data("range.progressbar"), false, "range");\r
-\r
-});\r
-\r
-\r
-})(jQuery);\r
+/*
+ * progressbar unit tests
+ */
+(function($) {
+
+// Spinner Tests
+module("progressbar");
+
+test("init", function() {
+       expect(1);
+
+       el = $("#progressbar").progressbar();
+       ok(true, '.progressbar() called on element');
+
+});
+
+test("destroy", function() {
+       expect(1);
+
+       $("#progressbar").progressbar().progressbar("destroy"); 
+       ok(true, '.progressbar("destroy") called on element');
+
+});
+
+test("defaults", function() {
+       expect(5);
+       el = $("#progressbar").progressbar();
+
+       equals(el.data("width.progressbar"), 300, "width");
+       equals(el.data("duration.progressbar"), 3000, "duration");
+       equals(el.data("interval.progressbar"), 200, "interval");
+       equals(el.data("increment.progressbar"), 1, "increment");
+       equals(el.data("range.progressbar"), true, "range");
+
+});
+
+test("set defaults on init", function() {
+       expect(5);
+       el = $("#progressbar").progressbar({ 
+               width: 500,
+               duration: 5000,
+               interval: 500,
+               increment: 5,
+               range: false
+       });
+
+       equals(el.data("width.progressbar"), 500, "width");
+       equals(el.data("duration.progressbar"), 5000, "duration");
+       equals(el.data("interval.progressbar"), 500, "interval");
+       equals(el.data("increment.progressbar"), 5, "increment");
+       equals(el.data("range.progressbar"), false, "range");
+
+});
+
+
+})(jQuery);
index 25d5a5c28d358984296e86a2f34555cdce586db4..b92ec5c1c0be1a86cb9335889495f325918e7b64 100644 (file)
@@ -1,44 +1,44 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Selectable Test Suite</title>\r
-\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-       <!--link rel="stylesheet" href="../themes/flora/flora.selectable.css" type="text/css" media="screen"-->\r
-       \r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.selectable.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-       \r
-       <script type="text/javascript" src="selectable.js"></script>\r
-       \r
-       <style type="text/css">\r
-               html { border: 0; }\r
-       </style>\r
-\r
-\r
-\r
-</head>\r
-<body class="flora">\r
-\r
-<h1 id="header">jQuery UI Selectable Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="position: absolute; top: -10000px; border: 1px solid black; padding: 10px; margin: 10px;">\r
-       <ul id="selectable1">\r
-               <li>Item 1</li>\r
-               <li>Item 2</li>\r
-               <li class="special">Item 3</li>\r
-               <li>Item 4</li>\r
-               <li>Item 5</li>\r
-       </ul>\r
-</div>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Selectable Test Suite</title>
+
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+       <!--link rel="stylesheet" href="../themes/flora/flora.selectable.css" type="text/css" media="screen"-->
+       
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.selectable.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+       
+       <script type="text/javascript" src="selectable.js"></script>
+       
+       <style type="text/css">
+               html { border: 0; }
+       </style>
+
+
+
+</head>
+<body class="flora">
+
+<h1 id="header">jQuery UI Selectable Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position: absolute; top: -10000px; border: 1px solid black; padding: 10px; margin: 10px;">
+       <ul id="selectable1">
+               <li>Item 1</li>
+               <li>Item 2</li>
+               <li class="special">Item 3</li>
+               <li>Item 4</li>
+               <li>Item 5</li>
+       </ul>
+</div>
+
+</body>
+</html>
index 5060650d10c8596f3adf37868588f797d4c7ca5f..267b8893161dd9b16014be2e79d314cbbec6de00 100644 (file)
-/*\r
- * selectable unit tests\r
- */\r
-(function($) {\r
-//\r
-// Selectable Test Helper Functions\r
-//\r
-var el;\r
-\r
-var drag = function(dx, dy) {\r
-       var off = el.offset(), pos = { clientX: off.left, clientY: off.top };\r
-       el.simulate("mousedown", pos);\r
-       $(document).simulate("mousemove", pos);\r
-       pos.clientX += dx;\r
-       pos.clientY += dy;\r
-       $(document).simulate("mousemove", pos);\r
-       $(document).simulate("mouseup", pos);\r
-}\r
-\r
-var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }\r
-\r
-var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }\r
-\r
-// Selectable Tests\r
-module("selectable");\r
-\r
-test("init", function() {\r
-       expect(6);\r
-\r
-       $("#selectable1").selectable().remove();\r
-       ok(true, '.selectable() called on element');\r
-\r
-       $([]).selectable().remove();\r
-       ok(true, '.selectable() called on empty collection');\r
-\r
-       $("<div/>").selectable().remove();\r
-       ok(true, '.selectable() called on disconnected DOMElement');\r
-\r
-       $("<div/>").selectable().selectable("foo").remove();\r
-       ok(true, 'arbitrary method called after init');\r
-\r
-       el = $("<div/>").selectable()\r
-       var foo = el.data("foo.selectable");\r
-       el.remove();\r
-       ok(true, 'arbitrary option getter after init');\r
-\r
-       $("<div/>").selectable().data("foo.selectable", "bar").remove();\r
-       ok(true, 'arbitrary option setter after init');\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(6);\r
-\r
-       $("#selectable1").selectable().selectable("destroy").remove();\r
-       ok(true, '.selectable("destroy") called on element');\r
-\r
-       $([]).selectable().selectable("destroy").remove();\r
-       ok(true, '.selectable("destroy") called on empty collection');\r
-\r
-       $("<div/>").selectable().selectable("destroy").remove();\r
-       ok(true, '.selectable("destroy") called on disconnected DOMElement');\r
-\r
-       $("<div/>").selectable().selectable("destroy").selectable("foo").remove();\r
-       ok(true, 'arbitrary method called after destroy');\r
-\r
-       el = $("<div/>").selectable();\r
-       var foo = el.selectable("destroy").data("foo.selectable");\r
-       el.remove();\r
-       ok(true, 'arbitrary option getter after destroy');\r
-\r
-       $("<div/>").selectable().selectable("destroy").data("foo.selectable", "bar").remove();\r
-       ok(true, 'arbitrary option setter after destroy');\r
-});\r
-\r
-test("defaults", function() {\r
-       el = $('#selectable1').selectable();\r
-       var defaults = {\r
-               autoRefresh: true,\r
-               filter: '*'\r
-       };\r
-       $.each(defaults, function(key, val) {\r
-               var actual = el.data(key + ".selectable"), expected = val,\r
-                       method = (expected && expected.constructor == Object) ?\r
-                               compare2 : equals;\r
-               method(actual, expected, key);\r
-       });\r
-       el.remove();\r
-});\r
-\r
-module("selectable: Options");\r
-\r
-test("autoRefresh", function() {\r
-       expect(3);\r
-       el = $("#selectable1");\r
-       var actual, sel = $("*", el), selected = function() { actual += 1 };\r
-\r
-       actual = 0;\r
-       el = $("#selectable1").selectable({ autoRefresh: false, selected: selected });\r
-       sel.hide();\r
-       drag(1000, 1000);\r
-       equals(actual, sel.length);\r
-       el.selectable("destroy");\r
-\r
-       actual = 0;\r
-       sel.show();\r
-       el = $("#selectable1").selectable({ autoRefresh: true,  selected: selected });\r
-       sel.hide();\r
-       drag(1000, 1000);\r
-       equals(actual, 0);\r
-       sel.show();\r
-       drag(1000, 1000);\r
-       equals(actual, sel.length);\r
-       el.selectable("destroy");\r
-       sel.show();\r
-});\r
-\r
-test("filter", function() {\r
-       expect(2);\r
-       el = $("#selectable1");\r
-       var actual, sel = $("*", el), selected = function() { actual += 1 };\r
-\r
-       actual = 0;\r
-       el = $("#selectable1").selectable({ filter: '.special', selected: selected });\r
-       drag(1000, 1000);\r
-       ok(sel.length != 1, "this test assumes more than 1 selectee");\r
-       equals(actual, 1);\r
-       el.selectable("destroy");\r
-});\r
-\r
-module("selectable: Methods");\r
-\r
-test("disable", function() {\r
-       expect(2);\r
-       var fired = false;\r
-\r
-       el = $("#selectable1");\r
-       el.selectable({\r
-               disabled: false,\r
-               start: function() { fired = true; }\r
-       });\r
-       el.simulate("drag", 20, 20);\r
-       equals(fired, true, "start fired");\r
-       el.selectable("disable");\r
-       fired = false;\r
-       el.simulate("drag", 20, 20);\r
-       equals(fired, false, "start fired");\r
-       el.selectable("destroy");\r
-});\r
-\r
-test("enable", function() {\r
-       expect(2);\r
-       var fired = false;\r
-\r
-       el = $("#selectable1");\r
-       el.selectable({\r
-               disabled: true,\r
-               start: function() { fired = true; }\r
-       });\r
-       el.simulate("drag", 20, 20);\r
-       equals(fired, false, "start fired");\r
-       el.selectable("enable");\r
-       el.simulate("drag", 20, 20);\r
-       equals(fired, true, "start fired");\r
-       el.selectable("destroy");\r
-});\r
-\r
-test("toggle", function() {\r
-       expect(2);\r
-\r
-       el = $("#selectable1").selectable({ disabled: true }).selectable("toggle");\r
-       equals(el.data("disabled.selectable"), false, "disabled -> enabled");\r
-       el.selectable("destroy");\r
-\r
-       el = $("#selectable1").selectable({ disabled: false }).selectable("toggle");\r
-       equals(el.data("disabled.selectable"), true, "enabled -> disabled");\r
-       el.selectable("destroy");\r
-});\r
-\r
-module("selectable: Callbacks");\r
-\r
-test("start", function() {\r
-       expect(2);\r
-       el = $("#selectable1");\r
-       el.selectable({\r
-               start: function(ev, ui) {\r
-                       ok(true, "drag fired start callback");\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       el.simulate("drag", 20, 20);\r
-});\r
-\r
-test("stop", function() {\r
-       expect(2);\r
-       el = $("#selectable1");\r
-       el.selectable({\r
-               start: function(ev, ui) {\r
-                       ok(true, "drag fired stop callback");\r
-                       equals(this, el[0], "context of callback");\r
-               }\r
-       });\r
-       el.simulate("drag", 20, 20);\r
-});\r
-\r
-module("selectable: Tickets");\r
-\r
-})(jQuery);\r
+/*
+ * selectable unit tests
+ */
+(function($) {
+//
+// Selectable Test Helper Functions
+//
+var el;
+
+var drag = function(dx, dy) {
+       var off = el.offset(), pos = { clientX: off.left, clientY: off.top };
+       el.simulate("mousedown", pos);
+       $(document).simulate("mousemove", pos);
+       pos.clientX += dx;
+       pos.clientY += dy;
+       $(document).simulate("mousemove", pos);
+       $(document).simulate("mouseup", pos);
+}
+
+var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }
+
+var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }
+
+// Selectable Tests
+module("selectable");
+
+test("init", function() {
+       expect(6);
+
+       $("#selectable1").selectable().remove();
+       ok(true, '.selectable() called on element');
+
+       $([]).selectable().remove();
+       ok(true, '.selectable() called on empty collection');
+
+       $("<div/>").selectable().remove();
+       ok(true, '.selectable() called on disconnected DOMElement');
+
+       $("<div/>").selectable().selectable("foo").remove();
+       ok(true, 'arbitrary method called after init');
+
+       el = $("<div/>").selectable()
+       var foo = el.data("foo.selectable");
+       el.remove();
+       ok(true, 'arbitrary option getter after init');
+
+       $("<div/>").selectable().data("foo.selectable", "bar").remove();
+       ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+       expect(6);
+
+       $("#selectable1").selectable().selectable("destroy").remove();
+       ok(true, '.selectable("destroy") called on element');
+
+       $([]).selectable().selectable("destroy").remove();
+       ok(true, '.selectable("destroy") called on empty collection');
+
+       $("<div/>").selectable().selectable("destroy").remove();
+       ok(true, '.selectable("destroy") called on disconnected DOMElement');
+
+       $("<div/>").selectable().selectable("destroy").selectable("foo").remove();
+       ok(true, 'arbitrary method called after destroy');
+
+       el = $("<div/>").selectable();
+       var foo = el.selectable("destroy").data("foo.selectable");
+       el.remove();
+       ok(true, 'arbitrary option getter after destroy');
+
+       $("<div/>").selectable().selectable("destroy").data("foo.selectable", "bar").remove();
+       ok(true, 'arbitrary option setter after destroy');
+});
+
+test("defaults", function() {
+       el = $('#selectable1').selectable();
+       var defaults = {
+               autoRefresh: true,
+               filter: '*'
+       };
+       $.each(defaults, function(key, val) {
+               var actual = el.data(key + ".selectable"), expected = val,
+                       method = (expected && expected.constructor == Object) ?
+                               compare2 : equals;
+               method(actual, expected, key);
+       });
+       el.remove();
+});
+
+module("selectable: Options");
+
+test("autoRefresh", function() {
+       expect(3);
+       el = $("#selectable1");
+       var actual, sel = $("*", el), selected = function() { actual += 1 };
+
+       actual = 0;
+       el = $("#selectable1").selectable({ autoRefresh: false, selected: selected });
+       sel.hide();
+       drag(1000, 1000);
+       equals(actual, sel.length);
+       el.selectable("destroy");
+
+       actual = 0;
+       sel.show();
+       el = $("#selectable1").selectable({ autoRefresh: true,  selected: selected });
+       sel.hide();
+       drag(1000, 1000);
+       equals(actual, 0);
+       sel.show();
+       drag(1000, 1000);
+       equals(actual, sel.length);
+       el.selectable("destroy");
+       sel.show();
+});
+
+test("filter", function() {
+       expect(2);
+       el = $("#selectable1");
+       var actual, sel = $("*", el), selected = function() { actual += 1 };
+
+       actual = 0;
+       el = $("#selectable1").selectable({ filter: '.special', selected: selected });
+       drag(1000, 1000);
+       ok(sel.length != 1, "this test assumes more than 1 selectee");
+       equals(actual, 1);
+       el.selectable("destroy");
+});
+
+module("selectable: Methods");
+
+test("disable", function() {
+       expect(2);
+       var fired = false;
+
+       el = $("#selectable1");
+       el.selectable({
+               disabled: false,
+               start: function() { fired = true; }
+       });
+       el.simulate("drag", 20, 20);
+       equals(fired, true, "start fired");
+       el.selectable("disable");
+       fired = false;
+       el.simulate("drag", 20, 20);
+       equals(fired, false, "start fired");
+       el.selectable("destroy");
+});
+
+test("enable", function() {
+       expect(2);
+       var fired = false;
+
+       el = $("#selectable1");
+       el.selectable({
+               disabled: true,
+               start: function() { fired = true; }
+       });
+       el.simulate("drag", 20, 20);
+       equals(fired, false, "start fired");
+       el.selectable("enable");
+       el.simulate("drag", 20, 20);
+       equals(fired, true, "start fired");
+       el.selectable("destroy");
+});
+
+test("toggle", function() {
+       expect(2);
+
+       el = $("#selectable1").selectable({ disabled: true }).selectable("toggle");
+       equals(el.data("disabled.selectable"), false, "disabled -> enabled");
+       el.selectable("destroy");
+
+       el = $("#selectable1").selectable({ disabled: false }).selectable("toggle");
+       equals(el.data("disabled.selectable"), true, "enabled -> disabled");
+       el.selectable("destroy");
+});
+
+module("selectable: Callbacks");
+
+test("start", function() {
+       expect(2);
+       el = $("#selectable1");
+       el.selectable({
+               start: function(ev, ui) {
+                       ok(true, "drag fired start callback");
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       el.simulate("drag", 20, 20);
+});
+
+test("stop", function() {
+       expect(2);
+       el = $("#selectable1");
+       el.selectable({
+               start: function(ev, ui) {
+                       ok(true, "drag fired stop callback");
+                       equals(this, el[0], "context of callback");
+               }
+       });
+       el.simulate("drag", 20, 20);
+});
+
+module("selectable: Tickets");
+
+})(jQuery);
index b55687388b3f5d100068fb791d81a2e8a693061e..85deb23f9022540a1ac52e02ccbb1d93db676f23 100644 (file)
-/*\r
- * jquery.simulate - simulate browser mouse and keyboard events\r
- *\r
- * Copyright (c) 2007 Eduardo Lundgren (eduardolundgren@gmail.com)\r
- * and Richard D. Worth (rdworth@gmail.com)\r
- *\r
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) \r
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\r
- *\r
- */\r
-\r
-;(function($) {\r
-\r
-$.fn.extend({\r
-       simulate: function(type, options) {\r
-               return this.each(function() {\r
-                       var opt = $.extend({}, $.simulate.defaults, options || {});\r
-                       new $.simulate(this, type, opt);\r
-               });\r
-       }\r
-});\r
-\r
-$.simulate = function(el, type, options) {\r
-       this.target = el;\r
-       this.options = options;\r
-       \r
-       if (/^drag$/.test(type)) {\r
-               this[type].apply(this, [this.target, options]);\r
-       } else {\r
-               this.simulateEvent(el, type, options);\r
-       }\r
-}\r
-\r
-$.extend($.simulate.prototype, {\r
-       simulateEvent: function(el, type, options) {\r
-               var evt = this.createEvent(type, options);\r
-               this.dispatchEvent(el, type, evt, options);\r
-               return evt;\r
-       },\r
-       createEvent: function(type, options) {\r
-               if (/^mouse(over|out|down|up|move)|(dbl)?click$/.test(type)) {\r
-                       return this.mouseEvent(type, options);\r
-               } else if (/^key(up|down|press)$/.test(type)) {\r
-                       return this.keyboardEvent(type, options);\r
-               }\r
-       },\r
-       mouseEvent: function(type, options) {\r
-               var evt;\r
-               var e = $.extend({\r
-                       bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,\r
-                       screenX: 0, screenY: 0, clientX: 0, clientY: 0,\r
-                       ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,\r
-                       button: 0, relatedTarget: undefined\r
-               }, options);\r
-               \r
-               var relatedTarget = $(e.relatedTarget)[0];\r
-               \r
-               if ($.isFunction(document.createEvent)) {\r
-                       evt = document.createEvent("MouseEvents");\r
-                       evt.initMouseEvent(type, e.bubbles, e.cancelable, e.view, e.detail,\r
-                               e.screenX, e.screenY, e.clientX, e.clientY,\r
-                               e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,\r
-                               e.button, e.relatedTarget || document.body.parentNode);\r
-               } else if (document.createEventObject) {\r
-                       evt = document.createEventObject();\r
-                       $.extend(evt, e);\r
-                       evt.button = { 0:1, 1:4, 2:2 }[evt.button] || evt.button;\r
-               }\r
-               return evt;\r
-       },\r
-       keyboardEvent: function(type, options) {\r
-               var evt;\r
-               \r
-               var e = $.extend({ bubbles: true, cancelable: true, view: window,\r
-                       ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,\r
-                       keyCode: 0, charCode: 0\r
-               }, options);\r
-               \r
-               if ($.isFunction(document.createEvent)) {\r
-                       try {\r
-                               evt = document.createEvent("KeyEvents");\r
-                               evt.initKeyEvent(type, e.bubbles, e.cancelable, e.view,\r
-                                       e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,\r
-                                       e.keyCode, e.charCode);\r
-                       } catch(err) {\r
-                               evt = document.createEvent("Events");\r
-                               evt.initEvent(type, e.bubbles, e.cancelable);\r
-                               $.extend(evt, { view: e.view,\r
-                                       ctrlKey: e.ctrlKey, altKey: e.altKey, shiftKey: e.shiftKey, metaKey: e.metaKey,\r
-                                       keyCode: e.keyCode, charCode: e.charCode\r
-                               });\r
-                       }\r
-               } else if (document.createEventObject) {\r
-                       evt = document.createEventObject();\r
-                       $.extend(evt, e);\r
-               }\r
-               if ($.browser.msie || $.browser.opera) {\r
-                       evt.keyCode = (e.charCode > 0) ? e.charCode : e.keyCode;\r
-                       evt.charCode = undefined;\r
-               }\r
-               return evt;\r
-       },\r
-       \r
-       dispatchEvent: function(el, type, evt) {\r
-               if (el.dispatchEvent) {\r
-                       el.dispatchEvent(evt);\r
-               } else if (el.fireEvent) {\r
-                       el.fireEvent('on' + type, evt);\r
-               }\r
-               return evt;\r
-       },\r
-       \r
-       drag: function(el) {\r
-               var self = this, center = this.findCenter(this.target), \r
-                       options = this.options, x = Math.floor(center.x), y = Math.floor(center.y), \r
-                       dx = options.dx || 0, dy = options.dy || 0, target = this.target;\r
-               var coord = { clientX: x, clientY: y };\r
-               this.simulateEvent(target, "mousedown", coord);\r
-               coord = { clientX: x + 1, clientY: y + 1 };\r
-               this.simulateEvent(document, "mousemove", coord);\r
-               coord = { clientX: x + dx, clientY: y + dy };\r
-               this.simulateEvent(document, "mousemove", coord);\r
-               this.simulateEvent(document, "mousemove", coord);\r
-               this.simulateEvent(target, "mouseup", coord);\r
-       },\r
-       findCenter: function(el) {\r
-               var el = $(this.target), o = el.offset();\r
-               return {\r
-                       x: o.left + el.outerWidth() / 2,\r
-                       y: o.top + el.outerHeight() / 2\r
-               };\r
-       }\r
-});\r
-\r
-$.extend($.simulate, {\r
-       defaults: {\r
-               speed: 'sync'\r
-       },\r
-       VK_TAB: 9,\r
-       VK_ENTER: 13,\r
-       VK_ESC: 27,\r
-       VK_PGUP: 33,\r
-       VK_PGDN: 34,\r
-       VK_END: 35,\r
-       VK_HOME: 36,\r
-       VK_LEFT: 37,\r
-       VK_UP: 38,\r
-       VK_RIGHT: 39,\r
-       VK_DOWN: 40\r
-});\r
-\r
-})(jQuery);\r
+/*
+ * jquery.simulate - simulate browser mouse and keyboard events
+ *
+ * Copyright (c) 2007 Eduardo Lundgren (eduardolundgren@gmail.com)
+ * and Richard D. Worth (rdworth@gmail.com)
+ *
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ */
+
+;(function($) {
+
+$.fn.extend({
+       simulate: function(type, options) {
+               return this.each(function() {
+                       var opt = $.extend({}, $.simulate.defaults, options || {});
+                       new $.simulate(this, type, opt);
+               });
+       }
+});
+
+$.simulate = function(el, type, options) {
+       this.target = el;
+       this.options = options;
+       
+       if (/^drag$/.test(type)) {
+               this[type].apply(this, [this.target, options]);
+       } else {
+               this.simulateEvent(el, type, options);
+       }
+}
+
+$.extend($.simulate.prototype, {
+       simulateEvent: function(el, type, options) {
+               var evt = this.createEvent(type, options);
+               this.dispatchEvent(el, type, evt, options);
+               return evt;
+       },
+       createEvent: function(type, options) {
+               if (/^mouse(over|out|down|up|move)|(dbl)?click$/.test(type)) {
+                       return this.mouseEvent(type, options);
+               } else if (/^key(up|down|press)$/.test(type)) {
+                       return this.keyboardEvent(type, options);
+               }
+       },
+       mouseEvent: function(type, options) {
+               var evt;
+               var e = $.extend({
+                       bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,
+                       screenX: 0, screenY: 0, clientX: 0, clientY: 0,
+                       ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
+                       button: 0, relatedTarget: undefined
+               }, options);
+               
+               var relatedTarget = $(e.relatedTarget)[0];
+               
+               if ($.isFunction(document.createEvent)) {
+                       evt = document.createEvent("MouseEvents");
+                       evt.initMouseEvent(type, e.bubbles, e.cancelable, e.view, e.detail,
+                               e.screenX, e.screenY, e.clientX, e.clientY,
+                               e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
+                               e.button, e.relatedTarget || document.body.parentNode);
+               } else if (document.createEventObject) {
+                       evt = document.createEventObject();
+                       $.extend(evt, e);
+                       evt.button = { 0:1, 1:4, 2:2 }[evt.button] || evt.button;
+               }
+               return evt;
+       },
+       keyboardEvent: function(type, options) {
+               var evt;
+               
+               var e = $.extend({ bubbles: true, cancelable: true, view: window,
+                       ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
+                       keyCode: 0, charCode: 0
+               }, options);
+               
+               if ($.isFunction(document.createEvent)) {
+                       try {
+                               evt = document.createEvent("KeyEvents");
+                               evt.initKeyEvent(type, e.bubbles, e.cancelable, e.view,
+                                       e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
+                                       e.keyCode, e.charCode);
+                       } catch(err) {
+                               evt = document.createEvent("Events");
+                               evt.initEvent(type, e.bubbles, e.cancelable);
+                               $.extend(evt, { view: e.view,
+                                       ctrlKey: e.ctrlKey, altKey: e.altKey, shiftKey: e.shiftKey, metaKey: e.metaKey,
+                                       keyCode: e.keyCode, charCode: e.charCode
+                               });
+                       }
+               } else if (document.createEventObject) {
+                       evt = document.createEventObject();
+                       $.extend(evt, e);
+               }
+               if ($.browser.msie || $.browser.opera) {
+                       evt.keyCode = (e.charCode > 0) ? e.charCode : e.keyCode;
+                       evt.charCode = undefined;
+               }
+               return evt;
+       },
+       
+       dispatchEvent: function(el, type, evt) {
+               if (el.dispatchEvent) {
+                       el.dispatchEvent(evt);
+               } else if (el.fireEvent) {
+                       el.fireEvent('on' + type, evt);
+               }
+               return evt;
+       },
+       
+       drag: function(el) {
+               var self = this, center = this.findCenter(this.target), 
+                       options = this.options, x = Math.floor(center.x), y = Math.floor(center.y), 
+                       dx = options.dx || 0, dy = options.dy || 0, target = this.target;
+               var coord = { clientX: x, clientY: y };
+               this.simulateEvent(target, "mousedown", coord);
+               coord = { clientX: x + 1, clientY: y + 1 };
+               this.simulateEvent(document, "mousemove", coord);
+               coord = { clientX: x + dx, clientY: y + dy };
+               this.simulateEvent(document, "mousemove", coord);
+               this.simulateEvent(document, "mousemove", coord);
+               this.simulateEvent(target, "mouseup", coord);
+       },
+       findCenter: function(el) {
+               var el = $(this.target), o = el.offset();
+               return {
+                       x: o.left + el.outerWidth() / 2,
+                       y: o.top + el.outerHeight() / 2
+               };
+       }
+});
+
+$.extend($.simulate, {
+       defaults: {
+               speed: 'sync'
+       },
+       VK_TAB: 9,
+       VK_ENTER: 13,
+       VK_ESC: 27,
+       VK_PGUP: 33,
+       VK_PGDN: 34,
+       VK_END: 35,
+       VK_HOME: 36,
+       VK_LEFT: 37,
+       VK_UP: 38,
+       VK_RIGHT: 39,
+       VK_DOWN: 40
+});
+
+})(jQuery);
index d85b8eb6180cfb7e6995fc4d8602fc161347232f..0e48adf09f9b2beb220b34a26bb43e3e32b8c5d7 100644 (file)
@@ -1,45 +1,45 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Sortable Test Suite</title>\r
-\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-       \r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.sortable.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-       \r
-       <script type="text/javascript" src="sortable.js"></script>\r
-       \r
-       <style type="text/css">\r
-               html { border: 0; }\r
-               #main {\r
-                       position:absolute !important;\r
-                       top: -1000px !important;\r
-                       left: -1000px !important;\r
-               }\r
-       </style>\r
-</head>\r
-<body>\r
-\r
-<h1 id="header">jQuery UI Sortable Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="border: 1px solid black; padding: 10px; margin: 10px;">\r
-       <ul id="sortable">\r
-               <li>Item 1</li>\r
-               <li>Item 2</li>\r
-               <li>Item 3</li>\r
-               <li>Item 4</li>\r
-               <li>Item 5</li>\r
-       </ul>\r
-</div>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Sortable Test Suite</title>
+
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+       
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.sortable.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+       
+       <script type="text/javascript" src="sortable.js"></script>
+       
+       <style type="text/css">
+               html { border: 0; }
+               #main {
+                       position:absolute !important;
+                       top: -1000px !important;
+                       left: -1000px !important;
+               }
+       </style>
+</head>
+<body>
+
+<h1 id="header">jQuery UI Sortable Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="border: 1px solid black; padding: 10px; margin: 10px;">
+       <ul id="sortable">
+               <li>Item 1</li>
+               <li>Item 2</li>
+               <li>Item 3</li>
+               <li>Item 4</li>
+               <li>Item 5</li>
+       </ul>
+</div>
+
+</body>
+</html>
index 7b79311a7d498e021a06effc7df1e8dabfa741b0..d3ab006cfa146d6100594c5bf538bbca9cccc4dd 100644 (file)
-/*\r
- * sortable unit tests\r
- */\r
-(function($) {\r
-//\r
-// Sortable Test Helper Functions\r
-//\r
-var el, offsetBefore, offsetAfter, dragged;\r
-\r
-var drag = function(handle, dx, dy) {\r
-       offsetBefore = $(handle).offset();\r
-       $(handle).simulate("drag", {\r
-               dx: dx || 0,\r
-               dy: dy || 0\r
-       });\r
-       dragged = { dx: dx, dy: dy };\r
-       offsetAfter = $(handle).offset();\r
-}\r
-\r
-var sort = function(handle, dx, dy, index, msg) {\r
-       drag(handle, dx, dy);\r
-       equals($(handle).parent().children().index(handle), index, msg);\r
-}\r
-\r
-var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }\r
-var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }\r
-\r
-// Sortable Tests\r
-module("sortable");\r
-\r
-test("init", function() {\r
-       expect(6);\r
-\r
-       el = $("#sortable").sortable();\r
-       ok(true, '.sortable() called on element');\r
-\r
-       $([]).sortable();\r
-       ok(true, '.sortable() called on empty collection');\r
-\r
-       $("<div/>").sortable();\r
-       ok(true, '.sortable() called on disconnected DOMElement');\r
-\r
-       $("<div/>").sortable().sortable("foo");\r
-       ok(true, 'arbitrary method called after init');\r
-\r
-       $("<div/>").sortable().data("foo.sortable");\r
-       ok(true, 'arbitrary option getter after init');\r
-\r
-       $("<div/>").sortable().data("foo.sortable", "bar");\r
-       ok(true, 'arbitrary option setter after init');\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(6);\r
-\r
-       $("#sortable").sortable().sortable("destroy");  \r
-       ok(true, '.sortable("destroy") called on element');\r
-\r
-       $([]).sortable().sortable("destroy");\r
-       ok(true, '.sortable("destroy") called on empty collection');\r
-\r
-       $("<div/>").sortable().sortable("destroy");\r
-       ok(true, '.sortable("destroy") called on disconnected DOMElement');\r
-\r
-       $("<div/>").sortable().sortable("destroy").sortable("foo");\r
-       ok(true, 'arbitrary method called after destroy');\r
-\r
-       $("<div/>").sortable().sortable("destroy").data("foo.sortable");\r
-       ok(true, 'arbitrary option getter after destroy');\r
-\r
-       $("<div/>").sortable().sortable("destroy").data("foo.sortable", "bar");\r
-       ok(true, 'arbitrary option setter after destroy');\r
-});\r
-\r
-test("enable", function() {\r
-       expect(4);\r
-       el = $("#sortable").sortable({ disabled: true });\r
-\r
-       sort($("li", el)[0], 0, 40, 0, '.sortable({ disabled: true })');\r
-       \r
-       el.sortable("enable");\r
-       equals(el.data("disabled.sortable"), false, "disabled.sortable getter");\r
-\r
-       el.sortable("destroy");\r
-       el.sortable({ disabled: true });\r
-       el.data("disabled.sortable", false);\r
-       equals(el.data("disabled.sortable"), false, "disabled.sortable setter");\r
-       \r
-       sort($("li", el)[0], 0, 40, 2, '.data("disabled.sortable", false)');\r
-});\r
-\r
-test("disable", function() {\r
-       expect(5);\r
-       el = $("#sortable").sortable({ disabled: false });\r
-       sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');\r
-\r
-       el.sortable("disable");\r
-       sort($("li", el)[0], 0, 40, 0, 'disabled.sortable getter');\r
-\r
-       el.sortable("destroy");\r
-\r
-       el.sortable({ disabled: false });\r
-       sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');\r
-       el.data("disabled.sortable", true);\r
-       equals(el.data("disabled.sortable"), true, "disabled.sortable setter");\r
-       sort($("li", el)[0], 0, 40, 0, '.data("disabled.sortable", true)');\r
-});\r
-\r
-test("defaults", function() {\r
-       el = $("#sortable").sortable();\r
-\r
-       equals(el.data("helper.sortable"), "original", "helper");\r
-       equals(el.data("tolerance.sortable"), "guess", "tolerance");\r
-       equals(el.data("distance.sortable"), 1, "distance");\r
-       equals(el.data("disabled.sortable"), false, "disabled");\r
-       equals(el.data("delay.sortable"), 0, "delay");\r
-       equals(el.data("scroll.sortable"), true, "scroll");\r
-       equals(el.data("scrollSensitivity.sortable"), 20, "scrollSensitivity");\r
-       equals(el.data("scrollSpeed.sortable"), 20, "scrollSpeed");\r
-       equals(el.data("cancel.sortable"), ":input", "cancel");\r
-       equals(el.data("items.sortable"), "> *", "items");\r
-       equals(el.data("zIndex.sortable"), 1000, "zIndex");     \r
-       equals(el.data("dropOnEmpty.sortable"), true, "dropOnEmpty");\r
-       equals(el.data("appendTo.sortable"), "parent", "appendTo");\r
-\r
-});\r
-\r
-test("#3019: Stop fires too early", function() {\r
-       \r
-       var helper = null;\r
-       el = $("#sortable").sortable({ stop: function(e, ui) {\r
-               helper = ui.helper;\r
-       }});\r
-       \r
-       sort($("li", el)[0], 0, 40, 2, 'Dragging the sortable');\r
-       equals(helper, null, "helper should be false");\r
-\r
-});\r
-\r
-\r
-})(jQuery);\r
+/*
+ * sortable unit tests
+ */
+(function($) {
+//
+// Sortable Test Helper Functions
+//
+var el, offsetBefore, offsetAfter, dragged;
+
+var drag = function(handle, dx, dy) {
+       offsetBefore = $(handle).offset();
+       $(handle).simulate("drag", {
+               dx: dx || 0,
+               dy: dy || 0
+       });
+       dragged = { dx: dx, dy: dy };
+       offsetAfter = $(handle).offset();
+}
+
+var sort = function(handle, dx, dy, index, msg) {
+       drag(handle, dx, dy);
+       equals($(handle).parent().children().index(handle), index, msg);
+}
+
+var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }
+var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }
+
+// Sortable Tests
+module("sortable");
+
+test("init", function() {
+       expect(6);
+
+       el = $("#sortable").sortable();
+       ok(true, '.sortable() called on element');
+
+       $([]).sortable();
+       ok(true, '.sortable() called on empty collection');
+
+       $("<div/>").sortable();
+       ok(true, '.sortable() called on disconnected DOMElement');
+
+       $("<div/>").sortable().sortable("foo");
+       ok(true, 'arbitrary method called after init');
+
+       $("<div/>").sortable().data("foo.sortable");
+       ok(true, 'arbitrary option getter after init');
+
+       $("<div/>").sortable().data("foo.sortable", "bar");
+       ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+       expect(6);
+
+       $("#sortable").sortable().sortable("destroy");  
+       ok(true, '.sortable("destroy") called on element');
+
+       $([]).sortable().sortable("destroy");
+       ok(true, '.sortable("destroy") called on empty collection');
+
+       $("<div/>").sortable().sortable("destroy");
+       ok(true, '.sortable("destroy") called on disconnected DOMElement');
+
+       $("<div/>").sortable().sortable("destroy").sortable("foo");
+       ok(true, 'arbitrary method called after destroy');
+
+       $("<div/>").sortable().sortable("destroy").data("foo.sortable");
+       ok(true, 'arbitrary option getter after destroy');
+
+       $("<div/>").sortable().sortable("destroy").data("foo.sortable", "bar");
+       ok(true, 'arbitrary option setter after destroy');
+});
+
+test("enable", function() {
+       expect(4);
+       el = $("#sortable").sortable({ disabled: true });
+
+       sort($("li", el)[0], 0, 40, 0, '.sortable({ disabled: true })');
+       
+       el.sortable("enable");
+       equals(el.data("disabled.sortable"), false, "disabled.sortable getter");
+
+       el.sortable("destroy");
+       el.sortable({ disabled: true });
+       el.data("disabled.sortable", false);
+       equals(el.data("disabled.sortable"), false, "disabled.sortable setter");
+       
+       sort($("li", el)[0], 0, 40, 2, '.data("disabled.sortable", false)');
+});
+
+test("disable", function() {
+       expect(5);
+       el = $("#sortable").sortable({ disabled: false });
+       sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');
+
+       el.sortable("disable");
+       sort($("li", el)[0], 0, 40, 0, 'disabled.sortable getter');
+
+       el.sortable("destroy");
+
+       el.sortable({ disabled: false });
+       sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })');
+       el.data("disabled.sortable", true);
+       equals(el.data("disabled.sortable"), true, "disabled.sortable setter");
+       sort($("li", el)[0], 0, 40, 0, '.data("disabled.sortable", true)');
+});
+
+test("defaults", function() {
+       el = $("#sortable").sortable();
+
+       equals(el.data("helper.sortable"), "original", "helper");
+       equals(el.data("tolerance.sortable"), "guess", "tolerance");
+       equals(el.data("distance.sortable"), 1, "distance");
+       equals(el.data("disabled.sortable"), false, "disabled");
+       equals(el.data("delay.sortable"), 0, "delay");
+       equals(el.data("scroll.sortable"), true, "scroll");
+       equals(el.data("scrollSensitivity.sortable"), 20, "scrollSensitivity");
+       equals(el.data("scrollSpeed.sortable"), 20, "scrollSpeed");
+       equals(el.data("cancel.sortable"), ":input", "cancel");
+       equals(el.data("items.sortable"), "> *", "items");
+       equals(el.data("zIndex.sortable"), 1000, "zIndex");     
+       equals(el.data("dropOnEmpty.sortable"), true, "dropOnEmpty");
+       equals(el.data("appendTo.sortable"), "parent", "appendTo");
+
+});
+
+test("#3019: Stop fires too early", function() {
+       
+       var helper = null;
+       el = $("#sortable").sortable({ stop: function(e, ui) {
+               helper = ui.helper;
+       }});
+       
+       sort($("li", el)[0], 0, 40, 2, 'Dragging the sortable');
+       equals(helper, null, "helper should be false");
+
+});
+
+
+})(jQuery);
index c8b1f0dee91e0303285eb242ffa1438d321c6cc2..e9b2f00586d02de53fa33305c387d96009e9c95d 100644 (file)
@@ -1,39 +1,39 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>jQuery UI Spinner Test Suite</title>\r
-\r
-       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">\r
-       \r
-       <script type="text/javascript" src="../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../ui/ui.spinner.js"></script>\r
-       \r
-       <script type="text/javascript" src="qunit/testrunner.js"></script>\r
-       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>\r
-       \r
-       <script type="text/javascript" src="spinner.js"></script>\r
-\r
-       <style type="text/css">\r
-\r
-\r
-\r
-       </style>\r
-\r
-\r
-\r
-</head>\r
-<body>\r
-\r
-<h1 id="header">jQuery UI Spinner Test Suite</h1>\r
-<h2 id="banner"></h2>\r
-<h2 id="userAgent"></h2>\r
-\r
-<ol id="tests"></ol>\r
-\r
-<div id="main" style="position:absolute;top:-20000px">\r
-       <input type="text" id="spin" />\r
-</div>\r
-       \r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>jQuery UI Spinner Test Suite</title>
+
+       <link rel="stylesheet" href="qunit/testsuite.css" type="text/css" media="screen">
+       
+       <script type="text/javascript" src="../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../ui/ui.spinner.js"></script>
+       
+       <script type="text/javascript" src="qunit/testrunner.js"></script>
+       <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+       
+       <script type="text/javascript" src="spinner.js"></script>
+
+       <style type="text/css">
+
+
+
+       </style>
+
+
+
+</head>
+<body>
+
+<h1 id="header">jQuery UI Spinner Test Suite</h1>
+<h2 id="banner"></h2>
+<h2 id="userAgent"></h2>
+
+<ol id="tests"></ol>
+
+<div id="main" style="position:absolute;top:-20000px">
+       <input type="text" id="spin" />
+</div>
+       
+</body>
+</html>
index ceb14a618e41def87fddb29f8000f9d651116e52..533034a955c2ca6fc65ee4a85eb0557a31119acd 100644 (file)
-/*\r
- * spinner unit tests\r
- */\r
-(function($) {\r
-\r
-// Spinner Tests\r
-module("spinner");\r
-\r
-test("init", function() {\r
-       expect(2);\r
-\r
-       $("#spin").spinner();\r
-       ok(true, '.spinner() called on element');\r
-\r
-       $('<input id="spinner_dis">').spinner().remove();\r
-       ok(true, '.spinner() called on disconnected element');\r
-\r
-});\r
-\r
-test("destroy", function() {\r
-       expect(2);\r
-\r
-       $("#spin").spinner().spinner("destroy");\r
-       ok(true, '.spinner("destroy") called on element');\r
-\r
-       $('<input id="spinner_dis">').spinner().spinner("destroy").remove();\r
-       ok(true, '.spinner().spinner("destroy") called on disconnected element');\r
-\r
-});\r
-\r
-test("re-attach", function() {\r
-       expect(2);\r
-\r
-       el = $("#spin").spinner().spinner("destroy").spinner();\r
-       ok(true, '.spinner().spinner("destroy").spinner() called on element');\r
-\r
-       $('<input id="spinner_dis">').spinner().spinner("destroy").spinner().remove();\r
-       ok(true, '.spinner().spinner("destroy").spinner() called on disconnected element');\r
-\r
-});\r
-\r
-test("disable", function() {\r
-       expect(1);\r
-\r
-       $("#spin").spinner().spinner("disable");\r
-       ok(true, '.spinner("disable") called on element');\r
-\r
-});\r
-\r
-test("enable", function() {\r
-       expect(1);\r
-\r
-       $("#spin").spinner().spinner("disable").spinner("enable");\r
-       ok(true, '.spinner("enable") called on element');\r
-\r
-});\r
-\r
-test("defaults", function() {\r
-       expect(7);\r
-       el = $("#spin").spinner();\r
-\r
-       equals(el.data("currency.spinner"), false, "currency");\r
-       equals(el.data("disabled.spinner"), false, "disabled");\r
-       equals(el.data("incremental.spinner"), true, "incremental");\r
-       equals(el.data("max.spinner"), undefined, "max");\r
-       equals(el.data("min.spinner"), undefined, "min");\r
-       equals(el.data("start.spinner"), 0, "start");\r
-       equals(el.data("stepping.spinner"), 1, "stepping");\r
-\r
-});\r
-\r
-test("set defaults on init", function() {\r
-       expect(7);\r
-       el = $("#spin").spinner({ currency:"£¤", disabled:true, incremental:false, max:200, min:-100, start:50, stepping:2 });\r
-\r
-       equals(el.data("currency.spinner"), "£¤", "currency");\r
-       equals(el.data("disabled.spinner"), true, "disabled");\r
-       equals(el.data("incremental.spinner"), false, "incremental");\r
-       equals(el.data("max.spinner"), 200, "max");\r
-       equals(el.data("min.spinner"), -100, "min");\r
-       equals(el.data("start.spinner"), 50, "start");\r
-       equals(el.data("stepping.spinner"), 2, "stepping");\r
-\r
-});\r
-\r
-test("keydown on input", function() {\r
-       expect(6);\r
-       el = $("#spin").spinner();\r
-\r
-       equals(el.val(), 0, "start number");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), 1, "Up key");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_RIGHT})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_RIGHT});\r
-\r
-       equals(el.val(), 1, "Right key");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_HOME});\r
-\r
-       equals(el.val(), 0, "Home key to start");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_DOWN});\r
-\r
-       equals(el.val(), -1, "Down Key");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_LEFT})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_LEFT});\r
-\r
-       equals(el.val(), -1, "Left Key");\r
-\r
-});\r
-\r
-test("keydown on input with options", function() {\r
-       expect(4);\r
-\r
-       el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:10 });\r
-\r
-       equals(el.val(), 50, "start number");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), 60, "stepping 10 on 50");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_END})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_END});\r
-\r
-       equals(el.val(), 200, "End key to max");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_HOME});\r
-\r
-       equals(el.val(), -100, "Home key to min");\r
-\r
-\r
-});\r
-\r
-test("currency and decimal options", function() {\r
-       expect(5);\r
-\r
-       el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.3 });\r
-\r
-       equals(el.val(), "$0.00", "start number");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), "$0.30", "stepping 0.30");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_END})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_END});\r
-\r
-       equals(el.val(), "$120.00", "End key to max");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_HOME});\r
-\r
-       equals(el.val(), "-$50.00", "Home key to min");\r
-\r
-       for ( var i = 1 ; i<=120 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_UP});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), "-$14.00", "keydown 120 times");\r
-\r
-});\r
-\r
-test("decimal options", function() {\r
-       expect(3);\r
-\r
-       el = $("#spin").spinner({ currency:false, incremental:false, stepping:0.7 });\r
-\r
-       equals(el.val(), "0.0", "start number");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})\r
-               .simulate("keyup",{keyCode:$.simulate.VK_DOWN});\r
-\r
-       equals(el.val(), "-0.7", "stepping 0.7");\r
-\r
-       for ( var i = 1 ; i<=11 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_UP});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), "7.0", "keydown 11 times");\r
-\r
-});\r
-\r
-test("spin without auto-incremental stepping", function() {\r
-       expect(2);\r
-\r
-       el = $("#spin").spinner({ incremental:false });\r
-\r
-       for ( var i = 1 ; i<=120 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_UP});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), 120, "keydown 120 times");\r
-\r
-       for ( var i = 1 ; i<=210 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});\r
-\r
-       equals(el.val(), -90, "keydown 210 times");\r
-\r
-});\r
-\r
-test("spin with auto-incremental stepping", function() {\r
-       expect(2);\r
-\r
-       el = $("#spin").spinner();\r
-\r
-       for ( var i = 1 ; i<=120 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_UP});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(el.val(), 300, "keydown 120 times (100+20*10)");\r
-\r
-       for ( var i = 1 ; i<=210 ; i++ ) {\r
-               el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});\r
-       }\r
-\r
-       el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});\r
-\r
-       equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)");\r
-\r
-});\r
-\r
-test("mouse click on buttons", function() {\r
-       expect(4);\r
-       el = $("#spin").spinner();\r
-\r
-       $(".ui-spinner-up").trigger("mousedown").trigger("mouseup");\r
-\r
-       equals(el.val(), 1, "mouse click to up");\r
-\r
-       $(".ui-spinner-up").trigger("dblclick");\r
-\r
-       equals(el.val(), 2, "mouse double click to up");\r
-\r
-       $(".ui-spinner-down").trigger("mousedown").trigger("mouseup");\r
-\r
-       equals(el.val(), 1, "mouse click to down");\r
-\r
-       $(".ui-spinner-down").trigger("dblclick");\r
-\r
-       equals(el.val(), 0, "mouse double click to down");\r
-\r
-\r
-});\r
-\r
-test("callback", function() {\r
-       expect(4);\r
-\r
-       var s = c = d = u = 0;\r
-\r
-       el = $("#spin").spinner({\r
-               spin: function(){\r
-                       s++;\r
-               },\r
-               change: function(){\r
-                       c++;\r
-               },\r
-               up: function(){\r
-                       u++;\r
-               },\r
-               down: function(){\r
-                       d++;\r
-               }\r
-       });\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(u, 1, "Up 1 time");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN});\r
-\r
-       equals(d, 1, "Down 1 time");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(s, 3, "Spin 3 times");\r
-\r
-       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});\r
-\r
-       equals(c, 4, "Change 4 times");\r
-\r
-});\r
-\r
-test("mouse wheel on input", function() {\r
-       expect(0);\r
-\r
-\r
-});\r
-\r
-})(jQuery);\r
+/*
+ * spinner unit tests
+ */
+(function($) {
+
+// Spinner Tests
+module("spinner");
+
+test("init", function() {
+       expect(2);
+
+       $("#spin").spinner();
+       ok(true, '.spinner() called on element');
+
+       $('<input id="spinner_dis">').spinner().remove();
+       ok(true, '.spinner() called on disconnected element');
+
+});
+
+test("destroy", function() {
+       expect(2);
+
+       $("#spin").spinner().spinner("destroy");
+       ok(true, '.spinner("destroy") called on element');
+
+       $('<input id="spinner_dis">').spinner().spinner("destroy").remove();
+       ok(true, '.spinner().spinner("destroy") called on disconnected element');
+
+});
+
+test("re-attach", function() {
+       expect(2);
+
+       el = $("#spin").spinner().spinner("destroy").spinner();
+       ok(true, '.spinner().spinner("destroy").spinner() called on element');
+
+       $('<input id="spinner_dis">').spinner().spinner("destroy").spinner().remove();
+       ok(true, '.spinner().spinner("destroy").spinner() called on disconnected element');
+
+});
+
+test("disable", function() {
+       expect(1);
+
+       $("#spin").spinner().spinner("disable");
+       ok(true, '.spinner("disable") called on element');
+
+});
+
+test("enable", function() {
+       expect(1);
+
+       $("#spin").spinner().spinner("disable").spinner("enable");
+       ok(true, '.spinner("enable") called on element');
+
+});
+
+test("defaults", function() {
+       expect(7);
+       el = $("#spin").spinner();
+
+       equals(el.data("currency.spinner"), false, "currency");
+       equals(el.data("disabled.spinner"), false, "disabled");
+       equals(el.data("incremental.spinner"), true, "incremental");
+       equals(el.data("max.spinner"), undefined, "max");
+       equals(el.data("min.spinner"), undefined, "min");
+       equals(el.data("start.spinner"), 0, "start");
+       equals(el.data("stepping.spinner"), 1, "stepping");
+
+});
+
+test("set defaults on init", function() {
+       expect(7);
+       el = $("#spin").spinner({ currency:"£¤", disabled:true, incremental:false, max:200, min:-100, start:50, stepping:2 });
+
+       equals(el.data("currency.spinner"), "£¤", "currency");
+       equals(el.data("disabled.spinner"), true, "disabled");
+       equals(el.data("incremental.spinner"), false, "incremental");
+       equals(el.data("max.spinner"), 200, "max");
+       equals(el.data("min.spinner"), -100, "min");
+       equals(el.data("start.spinner"), 50, "start");
+       equals(el.data("stepping.spinner"), 2, "stepping");
+
+});
+
+test("keydown on input", function() {
+       expect(6);
+       el = $("#spin").spinner();
+
+       equals(el.val(), 0, "start number");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP})
+               .simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), 1, "Up key");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_RIGHT})
+               .simulate("keyup",{keyCode:$.simulate.VK_RIGHT});
+
+       equals(el.val(), 1, "Right key");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
+               .simulate("keyup",{keyCode:$.simulate.VK_HOME});
+
+       equals(el.val(), 0, "Home key to start");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
+               .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+       equals(el.val(), -1, "Down Key");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_LEFT})
+               .simulate("keyup",{keyCode:$.simulate.VK_LEFT});
+
+       equals(el.val(), -1, "Left Key");
+
+});
+
+test("keydown on input with options", function() {
+       expect(4);
+
+       el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:10 });
+
+       equals(el.val(), 50, "start number");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP})
+               .simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), 60, "stepping 10 on 50");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_END})
+               .simulate("keyup",{keyCode:$.simulate.VK_END});
+
+       equals(el.val(), 200, "End key to max");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
+               .simulate("keyup",{keyCode:$.simulate.VK_HOME});
+
+       equals(el.val(), -100, "Home key to min");
+
+
+});
+
+test("currency and decimal options", function() {
+       expect(5);
+
+       el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.3 });
+
+       equals(el.val(), "$0.00", "start number");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP})
+               .simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), "$0.30", "stepping 0.30");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_END})
+               .simulate("keyup",{keyCode:$.simulate.VK_END});
+
+       equals(el.val(), "$120.00", "End key to max");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
+               .simulate("keyup",{keyCode:$.simulate.VK_HOME});
+
+       equals(el.val(), "-$50.00", "Home key to min");
+
+       for ( var i = 1 ; i<=120 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), "-$14.00", "keydown 120 times");
+
+});
+
+test("decimal options", function() {
+       expect(3);
+
+       el = $("#spin").spinner({ currency:false, incremental:false, stepping:0.7 });
+
+       equals(el.val(), "0.0", "start number");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
+               .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+       equals(el.val(), "-0.7", "stepping 0.7");
+
+       for ( var i = 1 ; i<=11 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), "7.0", "keydown 11 times");
+
+});
+
+test("spin without auto-incremental stepping", function() {
+       expect(2);
+
+       el = $("#spin").spinner({ incremental:false });
+
+       for ( var i = 1 ; i<=120 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), 120, "keydown 120 times");
+
+       for ( var i = 1 ; i<=210 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+       equals(el.val(), -90, "keydown 210 times");
+
+});
+
+test("spin with auto-incremental stepping", function() {
+       expect(2);
+
+       el = $("#spin").spinner();
+
+       for ( var i = 1 ; i<=120 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_UP});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(el.val(), 300, "keydown 120 times (100+20*10)");
+
+       for ( var i = 1 ; i<=210 ; i++ ) {
+               el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
+       }
+
+       el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+       equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)");
+
+});
+
+test("mouse click on buttons", function() {
+       expect(4);
+       el = $("#spin").spinner();
+
+       $(".ui-spinner-up").trigger("mousedown").trigger("mouseup");
+
+       equals(el.val(), 1, "mouse click to up");
+
+       $(".ui-spinner-up").trigger("dblclick");
+
+       equals(el.val(), 2, "mouse double click to up");
+
+       $(".ui-spinner-down").trigger("mousedown").trigger("mouseup");
+
+       equals(el.val(), 1, "mouse click to down");
+
+       $(".ui-spinner-down").trigger("dblclick");
+
+       equals(el.val(), 0, "mouse double click to down");
+
+
+});
+
+test("callback", function() {
+       expect(4);
+
+       var s = c = d = u = 0;
+
+       el = $("#spin").spinner({
+               spin: function(){
+                       s++;
+               },
+               change: function(){
+                       c++;
+               },
+               up: function(){
+                       u++;
+               },
+               down: function(){
+                       d++;
+               }
+       });
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(u, 1, "Up 1 time");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN});
+
+       equals(d, 1, "Down 1 time");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(s, 3, "Spin 3 times");
+
+       el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
+
+       equals(c, 4, "Change 4 times");
+
+});
+
+test("mouse wheel on input", function() {
+       expect(0);
+
+
+});
+
+})(jQuery);
index 7f49f20af331286e0bd516f75a1123c19be67e02..afa86e6c34edcf19761483c44c989f22e54ced32 100644 (file)
@@ -1,80 +1,80 @@
-\r
-body { margin: 0; padding: 20px; background: black; }\r
-ul.plugins { margin: 0; padding: 0; }\r
-ul.plugins li { margin: 0 12px 12px 0;\r
-       list-style-type: none; width: 210px; height: 220px; float: left;\r
-       color: white; border: 1px solid gray; text-align: center; font-weight: bold; }\r
-\r
-#accordion, #draggable,\r
-#resizable, #selectable, #sortable, #tabs {\r
-       margin: 10px;\r
-       width: 190px; height: 180px;\r
-       text-align: center;\r
-       background: #FF9C08; color: white; font-weight: bold;\r
-}\r
-#selectable div {\r
-       width: 45px; height: 45px; float: left; margin: 6px;\r
-       border: 1px solid white;\r
-}\r
-#selectable .ui-selecting {\r
-       background: gray;\r
-}\r
-#selectable .ui-selected {\r
-       background: black;\r
-}\r
-#sortable div {\r
-       width: 45px; height: 45px; float: left; margin: 6px;\r
-       border: 1px solid white;\r
-}\r
-#sortable .ui-sortable-helper {\r
-       background: black;\r
-}\r
-\r
-.draggable { margin: 10px; width: 32px; height: 30px; float: left; background: #FF9C08; }\r
-#droppable { margin: 10px; width: 190px; height: 130px; float: left; border: 1px solid #FF9C08; overflow: hidden; }\r
-#droppable .draggable { margin: 7px; }\r
-\r
-.ui-dialog { background-color: #FF9C08; }\r
-.ui-dialog .ui-dialog-titlebar { background: black; padding: 0px; height: 28px;        _height: 29px; }\r
-.ui-dialog.ui-draggable .ui-dialog-titlebar { cursor: move; }\r
-\r
-.ui-dialog .ui-dialog-titlebar-close {\r
-       width: 16px; height: 16px; position: absolute; top: 6px; right: 7px;\r
-       cursor: default; color: white;\r
-}\r
-\r
-.ui-dialog .ui-dialog-titlebar-close-hover { color: #FF9C08; }\r
-\r
-.ui-dialog .ui-dialog-title {\r
-       margin-left: 5px; color: white; font-weight: bold;\r
-       position: relative; top: 7px; left: 4px;\r
-}\r
-\r
-.ui-dialog .ui-dialog-content {\r
-       margin: 1.2em;\r
-}\r
-\r
-.ui-dialog .ui-dialog-buttonpane {\r
-       position: absolute;\r
-       bottom: 8px;\r
-       right: 12px;\r
-       width: 100%;\r
-       text-align: right;\r
-}\r
-\r
-.ui-dialog .ui-dialog-buttonpane button {\r
-       margin: 6px;\r
-}\r
-\r
-/* Dialog handle styles */\r
-.ui-dialog .ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-s { cursor: s-resize; height: 8px; width: 100%; bottom: 0px; left: 0px; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-e { cursor: e-resize; width: 7px; right: 0px; top: 0px; height: 100%; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-w { cursor: w-resize; width: 7px; left: 0px; top: 0px; height: 100%; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 29px; left: 0px; top: 0px; background: gray !important; border: none !important; }\r
-.ui-dialog .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 29px; right: 0px; top: 0px; background: gray !important; border: none !important; }\r
-\r
-.ui-slider { margin: 10px; background: #FF9C08; height: 15px; position: relative; }\r
-.ui-slider-handle { width: 10px; height: 15px; background: white; position: absolute; top: 0px; left: 0px; }\r
+
+body { margin: 0; padding: 20px; background: black; }
+ul.plugins { margin: 0; padding: 0; }
+ul.plugins li { margin: 0 12px 12px 0;
+       list-style-type: none; width: 210px; height: 220px; float: left;
+       color: white; border: 1px solid gray; text-align: center; font-weight: bold; }
+
+#accordion, #draggable,
+#resizable, #selectable, #sortable, #tabs {
+       margin: 10px;
+       width: 190px; height: 180px;
+       text-align: center;
+       background: #FF9C08; color: white; font-weight: bold;
+}
+#selectable div {
+       width: 45px; height: 45px; float: left; margin: 6px;
+       border: 1px solid white;
+}
+#selectable .ui-selecting {
+       background: gray;
+}
+#selectable .ui-selected {
+       background: black;
+}
+#sortable div {
+       width: 45px; height: 45px; float: left; margin: 6px;
+       border: 1px solid white;
+}
+#sortable .ui-sortable-helper {
+       background: black;
+}
+
+.draggable { margin: 10px; width: 32px; height: 30px; float: left; background: #FF9C08; }
+#droppable { margin: 10px; width: 190px; height: 130px; float: left; border: 1px solid #FF9C08; overflow: hidden; }
+#droppable .draggable { margin: 7px; }
+
+.ui-dialog { background-color: #FF9C08; }
+.ui-dialog .ui-dialog-titlebar { background: black; padding: 0px; height: 28px;        _height: 29px; }
+.ui-dialog.ui-draggable .ui-dialog-titlebar { cursor: move; }
+
+.ui-dialog .ui-dialog-titlebar-close {
+       width: 16px; height: 16px; position: absolute; top: 6px; right: 7px;
+       cursor: default; color: white;
+}
+
+.ui-dialog .ui-dialog-titlebar-close-hover { color: #FF9C08; }
+
+.ui-dialog .ui-dialog-title {
+       margin-left: 5px; color: white; font-weight: bold;
+       position: relative; top: 7px; left: 4px;
+}
+
+.ui-dialog .ui-dialog-content {
+       margin: 1.2em;
+}
+
+.ui-dialog .ui-dialog-buttonpane {
+       position: absolute;
+       bottom: 8px;
+       right: 12px;
+       width: 100%;
+       text-align: right;
+}
+
+.ui-dialog .ui-dialog-buttonpane button {
+       margin: 6px;
+}
+
+/* Dialog handle styles */
+.ui-dialog .ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-s { cursor: s-resize; height: 8px; width: 100%; bottom: 0px; left: 0px; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-e { cursor: e-resize; width: 7px; right: 0px; top: 0px; height: 100%; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-w { cursor: w-resize; width: 7px; left: 0px; top: 0px; height: 100%; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 29px; left: 0px; top: 0px; background: gray !important; border: none !important; }
+.ui-dialog .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 29px; right: 0px; top: 0px; background: gray !important; border: none !important; }
+
+.ui-slider { margin: 10px; background: #FF9C08; height: 15px; position: relative; }
+.ui-slider-handle { width: 10px; height: 15px; background: white; position: absolute; top: 0px; left: 0px; }
index 23eb00acc852070792756561a1a98688c3bb47d4..09897b62fa285a6ad8d826f35ccc08e2b58bc8fe 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple All</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <link rel="stylesheet" href="../../themes/ui.datepicker.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.accordion.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.datepicker.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.dialog.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.droppable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.selectable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.slider.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.tabs.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#datepicker").datepicker();\r
-               $("#dialog").click(function() { $("<div/>").dialog(); });\r
-               $("#draggable").draggable();\r
-               $(".draggable").draggable();\r
-               $("#droppable").droppable({\r
-                       accept: '.draggable',\r
-                       drop: function(ev, ui) {\r
-                               ui.draggable.css({ position: 'relative', top: 0, left: 0 }).clone().appendTo(this);\r
-                       }\r
-               });\r
-               $("#resizable").resizable();\r
-               $("#selectable").selectable();\r
-               $("#slider").slider();\r
-               $("#sortable").sortable();\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Datepicker\r
-       <div style="text-align:left;margin-left:10px;">\r
-               <input type="text" id="datepicker">\r
-       </div>\r
-</li>\r
-<li>\r
-       Dialog\r
-       <div id="dialog">\r
-               <button>Open</button>\r
-       </div>\r
-</li>\r
-<li>\r
-       Draggable\r
-       <div id="draggable"></div>\r
-</li>\r
-<li>\r
-       Droppable\r
-       <div class="draggable">D</div>\r
-       <div class="draggable">R</div>\r
-       <div class="draggable">A</div>\r
-       <div class="draggable">G</div>\r
-       <div id="droppable">\r
-               DROP\r
-               <hr>\r
-       </div>\r
-</li>\r
-<li>\r
-       Resizable\r
-       <div id="resizable"></div>\r
-</li>\r
-<li>\r
-       Selectable\r
-       <div id="selectable">\r
-               <div>1</div>\r
-               <div>2</div>\r
-               <div>3</div>\r
-               <div>4</div>\r
-               <div>5</div>\r
-               <div>6</div>\r
-               <div>7</div>\r
-               <div>8</div>\r
-               <div>9</div>\r
-       </div>\r
-</li>\r
-<li>\r
-       Slider\r
-       <div id="slider"></div>\r
-</li>\r
-<li>\r
-       Sortable\r
-       <div id="sortable">\r
-               <div>C</div>\r
-               <div>I</div>\r
-               <div>G</div>\r
-               <div>F</div>\r
-               <div>D</div>\r
-               <div>H</div>\r
-               <div>A</div>\r
-               <div>E</div>\r
-               <div>B</div>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple All</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <link rel="stylesheet" href="../../themes/ui.datepicker.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.accordion.js"></script>
+       <script type="text/javascript" src="../../ui/ui.datepicker.js"></script>
+       <script type="text/javascript" src="../../ui/ui.dialog.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.droppable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.selectable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.slider.js"></script>
+       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.tabs.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#datepicker").datepicker();
+               $("#dialog").click(function() { $("<div/>").dialog(); });
+               $("#draggable").draggable();
+               $(".draggable").draggable();
+               $("#droppable").droppable({
+                       accept: '.draggable',
+                       drop: function(ev, ui) {
+                               ui.draggable.css({ position: 'relative', top: 0, left: 0 }).clone().appendTo(this);
+                       }
+               });
+               $("#resizable").resizable();
+               $("#selectable").selectable();
+               $("#slider").slider();
+               $("#sortable").sortable();
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Datepicker
+       <div style="text-align:left;margin-left:10px;">
+               <input type="text" id="datepicker">
+       </div>
+</li>
+<li>
+       Dialog
+       <div id="dialog">
+               <button>Open</button>
+       </div>
+</li>
+<li>
+       Draggable
+       <div id="draggable"></div>
+</li>
+<li>
+       Droppable
+       <div class="draggable">D</div>
+       <div class="draggable">R</div>
+       <div class="draggable">A</div>
+       <div class="draggable">G</div>
+       <div id="droppable">
+               DROP
+               <hr>
+       </div>
+</li>
+<li>
+       Resizable
+       <div id="resizable"></div>
+</li>
+<li>
+       Selectable
+       <div id="selectable">
+               <div>1</div>
+               <div>2</div>
+               <div>3</div>
+               <div>4</div>
+               <div>5</div>
+               <div>6</div>
+               <div>7</div>
+               <div>8</div>
+               <div>9</div>
+       </div>
+</li>
+<li>
+       Slider
+       <div id="slider"></div>
+</li>
+<li>
+       Sortable
+       <div id="sortable">
+               <div>C</div>
+               <div>I</div>
+               <div>G</div>
+               <div>F</div>
+               <div>D</div>
+               <div>H</div>
+               <div>A</div>
+               <div>E</div>
+               <div>B</div>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index 6015f7c822c3086ebee5fbb66dd2a5b22186031e..c1cade657b41be261e7c79060c89a65d456ee4e1 100644 (file)
-var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r
-var emails = [\r
-       { name: "Peter Pan", to: "peter@pan.de" },\r
-       { name: "Molly", to: "molly@yahoo.com" },\r
-       { name: "Forneria Marconi", to: "live@japan.jp" },\r
-       { name: "Master <em>Sync</em>", to: "205bw@samsung.com" },\r
-       { name: "Dr. <strong>Tech</strong> de Log", to: "g15@logitech.com" },\r
-       { name: "Don Corleone", to: "don@vegas.com" },\r
-       { name: "Mc Chick", to: "info@donalds.org" },\r
-       { name: "Donnie Darko", to: "dd@timeshift.info" },\r
-       { name: "Quake The Net", to: "webmaster@quakenet.org" },\r
-       { name: "Dr. Write", to: "write@writable.com" }\r
-];\r
-var cities = [\r
-       "Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron",\r
-       "Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada",\r
-       "Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden",\r
-       "Amsterdam", "Andover", "Anna", "Ansonia", "Antwerp", "Apple Creek", "Arcadia",\r
-       "Arcanum", "Archbold", "Arlington", "Ashland", "Ashley", "Ashtabula", "Ashville",\r
-       "Athens", "Attica", "Atwater", "Augusta", "Aurora", "Austinburg", "Ava", "Avon",\r
-       "Avon Lake", "Bainbridge", "Bakersville", "Baltic", "Baltimore", "Bannock",\r
-       "Barberton", "Barlow", "Barnesville", "Bartlett", "Barton", "Bascom", "Batavia",\r
-       "Bath", "Bay Village", "Beach City", "Beachwood", "Beallsville", "Beaver",\r
-       "Beaverdam", "Bedford", "Bellaire", "Bellbrook", "Belle Center", "Belle Valley",\r
-       "Bellefontaine", "Bellevue", "Bellville", "Belmont", "Belmore", "Beloit", "Belpre",\r
-       "Benton Ridge", "Bentonville", "Berea", "Bergholz", "Berkey", "Berlin",\r
-       "Berlin Center", "Berlin Heights", "Bethel", "Bethesda", "Bettsville", "Beverly",\r
-       "Bidwell", "Big Prairie", "Birmingham", "Blacklick", "Bladensburg", "Blaine",\r
-       "Blakeslee", "Blanchester", "Blissfield", "Bloomdale", "Bloomingburg",\r
-       "Bloomingdale", "Bloomville", "Blue Creek", "Blue Rock", "Bluffton",\r
-       "Bolivar", "Botkins", "Bourneville", "Bowerston", "Bowersville",\r
-       "Bowling Green", "Bradford", "Bradner", "Brady Lake", "Brecksville",\r
-       "Bremen", "Brewster", "Brice", "Bridgeport", "Brilliant", "Brinkhaven",\r
-       "Bristolville", "Broadview Heights", "Broadway", "Brookfield", "Brookpark",\r
-       "Brookville", "Brownsville", "Brunswick", "Bryan", "Buchtel", "Buckeye Lake",\r
-       "Buckland", "Bucyrus", "Buffalo", "Buford", "Burbank", "Burghill", "Burgoon",\r
-       "Burkettsville", "Burton", "Butler", "Byesville", "Cable", "Cadiz", "Cairo",\r
-       "Caldwell", "Caledonia", "Cambridge", "Camden", "Cameron", "Camp Dennison",\r
-       "Campbell", "Canal Fulton", "Canal Winchester", "Canfield", "Canton", "Carbon Hill",\r
-       "Carbondale", "Cardington", "Carey", "Carroll", "Carrollton", "Casstown",\r
-       "Castalia", "Catawba", "Cecil", "Cedarville", "Celina", "Centerburg",\r
-       "Chagrin Falls", "Chandlersville", "Chardon", "Charm", "Chatfield", "Chauncey",\r
-       "Cherry Fork", "Chesapeake", "Cheshire", "Chester", "Chesterhill", "Chesterland",\r
-       "Chesterville", "Chickasaw", "Chillicothe", "Chilo", "Chippewa Lake",\r
-       "Christiansburg", "Cincinnati", "Circleville", "Clarington", "Clarksburg",\r
-       "Clarksville", "Clay Center", "Clayton", "Cleveland", "Cleves", "Clifton",\r
-       "Clinton", "Cloverdale", "Clyde", "Coal Run", "Coalton", "Coldwater", "Colerain",\r
-       "College Corner", "Collins", "Collinsville", "Colton", "Columbia Station",\r
-       "Columbiana", "Columbus", "Columbus Grove", "Commercial Point", "Conesville",\r
-       "Conneaut", "Conover", "Continental", "Convoy", "Coolville", "Corning", "Cortland",\r
-       "Coshocton", "Covington", "Creola", "Crestline", "Creston", "Crooksville",\r
-       "Croton", "Crown City", "Cuba", "Cumberland", "Curtice", "Custar", "Cutler",\r
-       "Cuyahoga Falls", "Cygnet", "Cynthiana", "Dalton", "Damascus", "Danville",\r
-       "Dayton", "De Graff", "Decatur", "Deerfield", "Deersville", "Defiance",\r
-       "Delaware", "Dellroy", "Delphos", "Delta", "Dennison", "Derby", "Derwent",\r
-       "Deshler", "Dexter City", "Diamond", "Dillonvale", "Dola", "Donnelsville",\r
-       "Dorset", "Dover", "Doylestown", "Dresden", "Dublin", "Dunbridge", "Duncan Falls",\r
-       "Dundee", "Dunkirk", "Dupont", "East Claridon", "East Fultonham",\r
-       "East Liberty", "East Liverpool", "East Palestine", "East Rochester",\r
-       "East Sparta", "East Springfield", "Eastlake", "Eaton", "Edgerton", "Edison",\r
-       "Edon", "Eldorado", "Elgin", "Elkton", "Ellsworth", "Elmore", "Elyria",\r
-       "Empire", "Englewood", "Enon", "Etna", "Euclid", "Evansport", "Fairborn",\r
-       "Fairfield", "Fairpoint", "Fairview", "Farmdale", "Farmer", "Farmersville",\r
-       "Fayette", "Fayetteville", "Feesburg", "Felicity", "Findlay", "Flat Rock",\r
-       "Fleming", "Fletcher", "Flushing", "Forest", "Fort Jennings", "Fort Loramie",\r
-       "Fort Recovery", "Fostoria", "Fowler", "Frankfort", "Franklin",\r
-       "Franklin Furnace", "Frazeysburg", "Fredericksburg", "Fredericktown",\r
-       "Freeport", "Fremont", "Fresno", "Friendship", "Fulton", "Fultonham",\r
-       "Galena", "Galion", "Gallipolis", "Galloway", "Gambier", "Garrettsville",\r
-       "Gates Mills", "Geneva", "Genoa", "Georgetown", "Germantown", "Gettysburg",\r
-       "Gibsonburg", "Girard", "Glandorf", "Glencoe", "Glenford", "Glenmont",\r
-       "Glouster", "Gnadenhutten", "Gomer", "Goshen", "Grafton", "Grand Rapids",\r
-       "Grand River", "Granville", "Gratiot", "Gratis", "Graysville", "Graytown",\r
-       "Green", "Green Camp", "Green Springs", "Greenfield", "Greenford",\r
-       "Greentown", "Greenville", "Greenwich", "Grelton", "Grove City",\r
-       "Groveport", "Grover Hill", "Guysville", "Gypsum", "Hallsville",\r
-       "Hamden", "Hamersville", "Hamilton", "Hamler", "Hammondsville",\r
-       "Hannibal", "Hanoverton", "Harbor View", "Harlem Springs", "Harpster",\r
-       "Harrisburg", "Harrison", "Harrisville", "Harrod", "Hartford", "Hartville",\r
-       "Harveysburg", "Haskins", "Haverhill", "Haviland", "Haydenville", "Hayesville",\r
-       "Heath", "Hebron", "Helena", "Hicksville", "Higginsport", "Highland", "Hilliard",\r
-       "Hillsboro", "Hinckley", "Hiram", "Hockingport", "Holgate", "Holland",\r
-       "Hollansburg", "Holloway", "Holmesville", "Homer", "Homerville", "Homeworth",\r
-       "Hooven", "Hopedale", "Hopewell", "Houston", "Howard", "Hoytville", "Hubbard",\r
-       "Hudson", "Huntsburg", "Huntsville", "Huron", "Iberia", "Independence",\r
-       "Irondale", "Ironton", "Irwin", "Isle Saint George", "Jackson", "Jackson Center",\r
-       "Jacksontown", "Jacksonville", "Jacobsburg", "Jamestown", "Jasper",\r
-       "Jefferson", "Jeffersonville", "Jenera", "Jeromesville", "Jerry City",\r
-       "Jerusalem", "Jewell", "Jewett", "Johnstown", "Junction City", "Kalida",\r
-       "Kansas", "Keene", "Kelleys Island", "Kensington", "Kent", "Kenton",\r
-       "Kerr", "Kettlersville", "Kidron", "Kilbourne", "Killbuck", "Kimbolton",\r
-       "Kings Mills", "Kingston", "Kingsville", "Kinsman", "Kipling", "Kipton",\r
-       "Kirby", "Kirkersville", "Kitts Hill", "Kunkle", "La Rue", "Lacarne",\r
-       "Lafayette", "Lafferty", "Lagrange", "Laings", "Lake Milton", "Lakemore",\r
-       "Lakeside Marblehead", "Lakeview", "Lakeville", "Lakewood", "Lancaster",\r
-       "Langsville", "Lansing", "Latham", "Latty", "Laura", "Laurelville",\r
-       "Leavittsburg", "Lebanon", "Lees Creek", "Leesburg", "Leesville",\r
-       "Leetonia", "Leipsic", "Lemoyne", "Lewis Center", "Lewisburg",\r
-       "Lewistown", "Lewisville", "Liberty Center", "Lima", "Limaville",\r
-       "Lindsey", "Lisbon", "Litchfield", "Lithopolis", "Little Hocking",\r
-       "Lockbourne", "Lodi", "Logan", "London", "Londonderry",\r
-       "Long Bottom", "Lorain", "Lore City", "Loudonville", "Louisville",\r
-       "Loveland", "Lowell", "Lowellville", "Lower Salem", "Lucas",\r
-       "Lucasville", "Luckey", "Ludlow Falls", "Lynchburg", "Lynx",\r
-       "Lyons", "Macedonia", "Macksburg", "Madison", "Magnetic Springs",\r
-       "Magnolia", "Maineville", "Malaga", "Malinta", "Malta", "Malvern",\r
-       "Manchester", "Mansfield", "Mantua", "Maple Heights", "Maplewood",\r
-       "Marathon", "Marengo", "Maria Stein", "Marietta", "Marion",\r
-       "Mark Center", "Marshallville", "Martel", "Martin", "Martins Ferry",\r
-       "Martinsburg", "Martinsville", "Marysville", "Mason", "Massillon",\r
-       "Masury", "Maumee", "Maximo", "Maynard", "Mc Arthur", "Mc Clure",\r
-       "Mc Comb", "Mc Connelsville", "Mc Cutchenville", "Mc Dermott",\r
-       "Mc Donald", "Mc Guffey", "Mechanicsburg", "Mechanicstown",\r
-       "Medina", "Medway", "Melmore", "Melrose", "Mendon", "Mentor",\r
-       "Mesopotamia", "Metamora", "Miamisburg", "Miamitown", "Miamiville",\r
-       "Middle Bass", "Middle Point", "Middlebranch", "Middleburg",\r
-       "Middlefield", "Middleport", "Middletown", "Midland", "Midvale",\r
-       "Milan", "Milford", "Milford Center", "Millbury", "Milledgeville",\r
-       "Miller City", "Millersburg", "Millersport", "Millfield",\r
-       "Milton Center", "Mineral City", "Mineral Ridge", "Minerva",\r
-       "Minford", "Mingo", "Mingo Junction", "Minster", "Mogadore",\r
-       "Monclova", "Monroe", "Monroeville", "Montezuma", "Montpelier",\r
-       "Montville", "Morral", "Morristown", "Morrow", "Moscow",\r
-       "Mount Blanchard", "Mount Cory", "Mount Eaton", "Mount Gilead",\r
-       "Mount Hope", "Mount Liberty", "Mount Orab", "Mount Perry",\r
-       "Mount Pleasant", "Mount Saint Joseph", "Mount Sterling",\r
-       "Mount Vernon", "Mount Victory", "Mowrystown", "Moxahala",\r
-       "Munroe Falls", "Murray City", "Nankin", "Napoleon", "Nashport",\r
-       "Nashville", "Navarre", "Neapolis", "Neffs", "Negley",\r
-       "Nelsonville", "Nevada", "Neville", "New Albany", "New Athens",\r
-       "New Bavaria", "New Bloomington", "New Bremen", "New Carlisle",\r
-       "New Concord", "New Hampshire", "New Haven", "New Holland",\r
-       "New Knoxville", "New Lebanon", "New Lexington", "New London",\r
-       "New Madison", "New Marshfield", "New Matamoras", "New Middletown",\r
-       "New Paris", "New Philadelphia", "New Plymouth", "New Richmond",\r
-       "New Riegel", "New Rumley", "New Springfield", "New Straitsville",\r
-       "New Vienna", "New Washington", "New Waterford", "New Weston",\r
-       "Newark", "Newbury", "Newcomerstown", "Newport", "Newton Falls",\r
-       "Newtonsville", "Ney", "Niles", "North Baltimore", "North Bend",\r
-       "North Benton", "North Bloomfield", "North Fairfield",\r
-       "North Georgetown", "North Hampton", "North Jackson",\r
-       "North Kingsville", "North Lawrence", "North Lewisburg",\r
-       "North Lima", "North Olmsted", "North Ridgeville", "North Robinson",\r
-       "North Royalton", "North Star", "Northfield", "Northwood", "Norwalk",\r
-       "Norwich", "Nova", "Novelty", "Oak Harbor", "Oak Hill", "Oakwood",\r
-       "Oberlin", "Oceola", "Ohio City", "Okeana", "Okolona", "Old Fort",\r
-       "Old Washington", "Olmsted Falls", "Ontario", "Orangeville",\r
-       "Oregon", "Oregonia", "Orient", "Orrville", "Orwell", "Osgood",\r
-       "Ostrander", "Ottawa", "Ottoville", "Otway", "Overpeck",\r
-       "Owensville", "Oxford", "Painesville", "Palestine", "Pandora",\r
-       "Paris", "Parkman", "Pataskala", "Patriot", "Paulding", "Payne",\r
-       "Pedro", "Peebles", "Pemberton", "Pemberville", "Peninsula",\r
-       "Perry", "Perrysburg", "Perrysville", "Petersburg", "Pettisville",\r
-       "Phillipsburg", "Philo", "Pickerington", "Piedmont", "Pierpont",\r
-       "Piketon", "Piney Fork", "Pioneer", "Piqua", "Pitsburg",\r
-       "Plain City", "Plainfield", "Pleasant City", "Pleasant Hill",\r
-       "Pleasant Plain", "Pleasantville", "Plymouth", "Polk",\r
-       "Pomeroy", "Port Clinton", "Port Jefferson", "Port Washington",\r
-       "Port William", "Portage", "Portland", "Portsmouth", "Potsdam",\r
-       "Powell", "Powhatan Point", "Proctorville", "Prospect", "Put in Bay",\r
-       "Quaker City", "Quincy", "Racine", "Radnor", "Randolph", "Rarden",\r
-       "Ravenna", "Rawson", "Ray", "Rayland", "Raymond", "Reedsville",\r
-       "Reesville", "Reno", "Republic", "Reynoldsburg", "Richfield",\r
-       "Richmond", "Richmond Dale", "Richwood", "Ridgeville Corners",\r
-       "Ridgeway", "Rio Grande", "Ripley", "Risingsun", "Rittman",\r
-       "Robertsville", "Rock Camp", "Rock Creek", "Rockbridge", "Rockford",\r
-       "Rocky Ridge", "Rocky River", "Rogers", "Rome", "Rootstown", "Roseville",\r
-       "Rosewood", "Ross", "Rossburg", "Rossford", "Roundhead", "Rudolph",\r
-       "Rushsylvania", "Rushville", "Russells Point", "Russellville", "Russia",\r
-       "Rutland", "Sabina", "Saint Clairsville", "Saint Henry", "Saint Johns",\r
-       "Saint Louisville", "Saint Marys", "Saint Paris", "Salem", "Salesville",\r
-       "Salineville", "Sandusky", "Sandyville", "Sarahsville", "Sardinia",\r
-       "Sardis", "Savannah", "Scio", "Scioto Furnace", "Scott", "Scottown",\r
-       "Seaman", "Sebring", "Sedalia", "Senecaville", "Seven Mile", "Seville",\r
-       "Shade", "Shadyside", "Shandon", "Sharon Center", "Sharpsburg",\r
-       "Shauck", "Shawnee", "Sheffield Lake", "Shelby", "Sherrodsville",\r
-       "Sherwood", "Shiloh", "Short Creek", "Shreve", "Sidney", "Sinking Spring",\r
-       "Smithfield", "Smithville", "Solon", "Somerdale", "Somerset",\r
-       "Somerville", "South Bloomingville", "South Charleston", "South Lebanon",\r
-       "South Point", "South Salem", "South Solon", "South Vienna",\r
-       "South Webster", "Southington", "Sparta", "Spencer", "Spencerville",\r
-       "Spring Valley", "Springboro", "Springfield", "Stafford", "Sterling",\r
-       "Steubenville", "Stewart", "Stillwater", "Stockdale", "Stockport",\r
-       "Stone Creek", "Stony Ridge", "Stout", "Stoutsville", "Stow", "Strasburg",\r
-       "Stratton", "Streetsboro", "Strongsville", "Struthers", "Stryker",\r
-       "Sugar Grove", "Sugarcreek", "Sullivan", "Sulphur Springs", "Summerfield",\r
-       "Summit Station", "Summitville", "Sunbury", "Swanton", "Sycamore",\r
-       "Sycamore Valley", "Sylvania", "Syracuse", "Tallmadge", "Tarlton",\r
-       "Terrace Park", "The Plains", "Thompson", "Thornville", "Thurman",\r
-       "Thurston", "Tiffin", "Tiltonsville", "Tipp City", "Tippecanoe", "Tiro",\r
-       "Toledo", "Tontogany", "Torch", "Toronto", "Tremont City", "Trenton",\r
-       "Trimble", "Trinway", "Troy", "Tuppers Plains", "Tuscarawas", "Twinsburg",\r
-       "Uhrichsville", "Union City", "Union Furnace", "Unionport", "Uniontown",\r
-       "Unionville", "Unionville Center", "Uniopolis", "Upper Sandusky", "Urbana",\r
-       "Utica", "Valley City", "Van Buren", "Van Wert", "Vandalia", "Vanlue",\r
-       "Vaughnsville", "Venedocia", "Vermilion", "Verona", "Versailles",\r
-       "Vickery", "Vienna", "Vincent", "Vinton", "Wadsworth", "Wakefield",\r
-       "Wakeman", "Walbridge", "Waldo", "Walhonding", "Walnut Creek", "Wapakoneta",\r
-       "Warnock", "Warren", "Warsaw", "Washington Court House",\r
-       "Washingtonville", "Waterford", "Waterloo", "Watertown", "Waterville",\r
-       "Wauseon", "Waverly", "Wayland", "Wayne", "Waynesburg", "Waynesfield",\r
-       "Waynesville", "Wellington", "Wellston", "Wellsville", "West Alexandria",\r
-       "West Chester", "West Elkton", "West Farmington", "West Jefferson",\r
-       "West Lafayette", "West Liberty", "West Manchester", "West Mansfield",\r
-       "West Millgrove", "West Milton", "West Point", "West Portsmouth",\r
-       "West Rushville", "West Salem", "West Union", "West Unity", "Westerville",\r
-       "Westfield Center", "Westlake", "Weston", "Westville", "Wharton",\r
-       "Wheelersburg", "Whipple", "White Cottage", "Whitehouse", "Wickliffe",\r
-       "Wilberforce", "Wilkesville", "Willard", "Williamsburg", "Williamsfield",\r
-       "Williamsport", "Williamstown", "Williston", "Willoughby", "Willow Wood",\r
-       "Willshire", "Wilmington", "Wilmot", "Winchester", "Windham", "Windsor",\r
-       "Winesburg", "Wingett Run", "Winona", "Wolf Run", "Woodsfield",\r
-       "Woodstock", "Woodville", "Wooster", "Wren", "Xenia", "Yellow Springs",\r
-       "Yorkshire", "Yorkville", "Youngstown", "Zaleski", "Zanesfield", "Zanesville",\r
-       "Zoar"\r
+var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
+var emails = [
+       { name: "Peter Pan", to: "peter@pan.de" },
+       { name: "Molly", to: "molly@yahoo.com" },
+       { name: "Forneria Marconi", to: "live@japan.jp" },
+       { name: "Master <em>Sync</em>", to: "205bw@samsung.com" },
+       { name: "Dr. <strong>Tech</strong> de Log", to: "g15@logitech.com" },
+       { name: "Don Corleone", to: "don@vegas.com" },
+       { name: "Mc Chick", to: "info@donalds.org" },
+       { name: "Donnie Darko", to: "dd@timeshift.info" },
+       { name: "Quake The Net", to: "webmaster@quakenet.org" },
+       { name: "Dr. Write", to: "write@writable.com" }
+];
+var cities = [
+       "Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron",
+       "Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada",
+       "Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden",
+       "Amsterdam", "Andover", "Anna", "Ansonia", "Antwerp", "Apple Creek", "Arcadia",
+       "Arcanum", "Archbold", "Arlington", "Ashland", "Ashley", "Ashtabula", "Ashville",
+       "Athens", "Attica", "Atwater", "Augusta", "Aurora", "Austinburg", "Ava", "Avon",
+       "Avon Lake", "Bainbridge", "Bakersville", "Baltic", "Baltimore", "Bannock",
+       "Barberton", "Barlow", "Barnesville", "Bartlett", "Barton", "Bascom", "Batavia",
+       "Bath", "Bay Village", "Beach City", "Beachwood", "Beallsville", "Beaver",
+       "Beaverdam", "Bedford", "Bellaire", "Bellbrook", "Belle Center", "Belle Valley",
+       "Bellefontaine", "Bellevue", "Bellville", "Belmont", "Belmore", "Beloit", "Belpre",
+       "Benton Ridge", "Bentonville", "Berea", "Bergholz", "Berkey", "Berlin",
+       "Berlin Center", "Berlin Heights", "Bethel", "Bethesda", "Bettsville", "Beverly",
+       "Bidwell", "Big Prairie", "Birmingham", "Blacklick", "Bladensburg", "Blaine",
+       "Blakeslee", "Blanchester", "Blissfield", "Bloomdale", "Bloomingburg",
+       "Bloomingdale", "Bloomville", "Blue Creek", "Blue Rock", "Bluffton",
+       "Bolivar", "Botkins", "Bourneville", "Bowerston", "Bowersville",
+       "Bowling Green", "Bradford", "Bradner", "Brady Lake", "Brecksville",
+       "Bremen", "Brewster", "Brice", "Bridgeport", "Brilliant", "Brinkhaven",
+       "Bristolville", "Broadview Heights", "Broadway", "Brookfield", "Brookpark",
+       "Brookville", "Brownsville", "Brunswick", "Bryan", "Buchtel", "Buckeye Lake",
+       "Buckland", "Bucyrus", "Buffalo", "Buford", "Burbank", "Burghill", "Burgoon",
+       "Burkettsville", "Burton", "Butler", "Byesville", "Cable", "Cadiz", "Cairo",
+       "Caldwell", "Caledonia", "Cambridge", "Camden", "Cameron", "Camp Dennison",
+       "Campbell", "Canal Fulton", "Canal Winchester", "Canfield", "Canton", "Carbon Hill",
+       "Carbondale", "Cardington", "Carey", "Carroll", "Carrollton", "Casstown",
+       "Castalia", "Catawba", "Cecil", "Cedarville", "Celina", "Centerburg",
+       "Chagrin Falls", "Chandlersville", "Chardon", "Charm", "Chatfield", "Chauncey",
+       "Cherry Fork", "Chesapeake", "Cheshire", "Chester", "Chesterhill", "Chesterland",
+       "Chesterville", "Chickasaw", "Chillicothe", "Chilo", "Chippewa Lake",
+       "Christiansburg", "Cincinnati", "Circleville", "Clarington", "Clarksburg",
+       "Clarksville", "Clay Center", "Clayton", "Cleveland", "Cleves", "Clifton",
+       "Clinton", "Cloverdale", "Clyde", "Coal Run", "Coalton", "Coldwater", "Colerain",
+       "College Corner", "Collins", "Collinsville", "Colton", "Columbia Station",
+       "Columbiana", "Columbus", "Columbus Grove", "Commercial Point", "Conesville",
+       "Conneaut", "Conover", "Continental", "Convoy", "Coolville", "Corning", "Cortland",
+       "Coshocton", "Covington", "Creola", "Crestline", "Creston", "Crooksville",
+       "Croton", "Crown City", "Cuba", "Cumberland", "Curtice", "Custar", "Cutler",
+       "Cuyahoga Falls", "Cygnet", "Cynthiana", "Dalton", "Damascus", "Danville",
+       "Dayton", "De Graff", "Decatur", "Deerfield", "Deersville", "Defiance",
+       "Delaware", "Dellroy", "Delphos", "Delta", "Dennison", "Derby", "Derwent",
+       "Deshler", "Dexter City", "Diamond", "Dillonvale", "Dola", "Donnelsville",
+       "Dorset", "Dover", "Doylestown", "Dresden", "Dublin", "Dunbridge", "Duncan Falls",
+       "Dundee", "Dunkirk", "Dupont", "East Claridon", "East Fultonham",
+       "East Liberty", "East Liverpool", "East Palestine", "East Rochester",
+       "East Sparta", "East Springfield", "Eastlake", "Eaton", "Edgerton", "Edison",
+       "Edon", "Eldorado", "Elgin", "Elkton", "Ellsworth", "Elmore", "Elyria",
+       "Empire", "Englewood", "Enon", "Etna", "Euclid", "Evansport", "Fairborn",
+       "Fairfield", "Fairpoint", "Fairview", "Farmdale", "Farmer", "Farmersville",
+       "Fayette", "Fayetteville", "Feesburg", "Felicity", "Findlay", "Flat Rock",
+       "Fleming", "Fletcher", "Flushing", "Forest", "Fort Jennings", "Fort Loramie",
+       "Fort Recovery", "Fostoria", "Fowler", "Frankfort", "Franklin",
+       "Franklin Furnace", "Frazeysburg", "Fredericksburg", "Fredericktown",
+       "Freeport", "Fremont", "Fresno", "Friendship", "Fulton", "Fultonham",
+       "Galena", "Galion", "Gallipolis", "Galloway", "Gambier", "Garrettsville",
+       "Gates Mills", "Geneva", "Genoa", "Georgetown", "Germantown", "Gettysburg",
+       "Gibsonburg", "Girard", "Glandorf", "Glencoe", "Glenford", "Glenmont",
+       "Glouster", "Gnadenhutten", "Gomer", "Goshen", "Grafton", "Grand Rapids",
+       "Grand River", "Granville", "Gratiot", "Gratis", "Graysville", "Graytown",
+       "Green", "Green Camp", "Green Springs", "Greenfield", "Greenford",
+       "Greentown", "Greenville", "Greenwich", "Grelton", "Grove City",
+       "Groveport", "Grover Hill", "Guysville", "Gypsum", "Hallsville",
+       "Hamden", "Hamersville", "Hamilton", "Hamler", "Hammondsville",
+       "Hannibal", "Hanoverton", "Harbor View", "Harlem Springs", "Harpster",
+       "Harrisburg", "Harrison", "Harrisville", "Harrod", "Hartford", "Hartville",
+       "Harveysburg", "Haskins", "Haverhill", "Haviland", "Haydenville", "Hayesville",
+       "Heath", "Hebron", "Helena", "Hicksville", "Higginsport", "Highland", "Hilliard",
+       "Hillsboro", "Hinckley", "Hiram", "Hockingport", "Holgate", "Holland",
+       "Hollansburg", "Holloway", "Holmesville", "Homer", "Homerville", "Homeworth",
+       "Hooven", "Hopedale", "Hopewell", "Houston", "Howard", "Hoytville", "Hubbard",
+       "Hudson", "Huntsburg", "Huntsville", "Huron", "Iberia", "Independence",
+       "Irondale", "Ironton", "Irwin", "Isle Saint George", "Jackson", "Jackson Center",
+       "Jacksontown", "Jacksonville", "Jacobsburg", "Jamestown", "Jasper",
+       "Jefferson", "Jeffersonville", "Jenera", "Jeromesville", "Jerry City",
+       "Jerusalem", "Jewell", "Jewett", "Johnstown", "Junction City", "Kalida",
+       "Kansas", "Keene", "Kelleys Island", "Kensington", "Kent", "Kenton",
+       "Kerr", "Kettlersville", "Kidron", "Kilbourne", "Killbuck", "Kimbolton",
+       "Kings Mills", "Kingston", "Kingsville", "Kinsman", "Kipling", "Kipton",
+       "Kirby", "Kirkersville", "Kitts Hill", "Kunkle", "La Rue", "Lacarne",
+       "Lafayette", "Lafferty", "Lagrange", "Laings", "Lake Milton", "Lakemore",
+       "Lakeside Marblehead", "Lakeview", "Lakeville", "Lakewood", "Lancaster",
+       "Langsville", "Lansing", "Latham", "Latty", "Laura", "Laurelville",
+       "Leavittsburg", "Lebanon", "Lees Creek", "Leesburg", "Leesville",
+       "Leetonia", "Leipsic", "Lemoyne", "Lewis Center", "Lewisburg",
+       "Lewistown", "Lewisville", "Liberty Center", "Lima", "Limaville",
+       "Lindsey", "Lisbon", "Litchfield", "Lithopolis", "Little Hocking",
+       "Lockbourne", "Lodi", "Logan", "London", "Londonderry",
+       "Long Bottom", "Lorain", "Lore City", "Loudonville", "Louisville",
+       "Loveland", "Lowell", "Lowellville", "Lower Salem", "Lucas",
+       "Lucasville", "Luckey", "Ludlow Falls", "Lynchburg", "Lynx",
+       "Lyons", "Macedonia", "Macksburg", "Madison", "Magnetic Springs",
+       "Magnolia", "Maineville", "Malaga", "Malinta", "Malta", "Malvern",
+       "Manchester", "Mansfield", "Mantua", "Maple Heights", "Maplewood",
+       "Marathon", "Marengo", "Maria Stein", "Marietta", "Marion",
+       "Mark Center", "Marshallville", "Martel", "Martin", "Martins Ferry",
+       "Martinsburg", "Martinsville", "Marysville", "Mason", "Massillon",
+       "Masury", "Maumee", "Maximo", "Maynard", "Mc Arthur", "Mc Clure",
+       "Mc Comb", "Mc Connelsville", "Mc Cutchenville", "Mc Dermott",
+       "Mc Donald", "Mc Guffey", "Mechanicsburg", "Mechanicstown",
+       "Medina", "Medway", "Melmore", "Melrose", "Mendon", "Mentor",
+       "Mesopotamia", "Metamora", "Miamisburg", "Miamitown", "Miamiville",
+       "Middle Bass", "Middle Point", "Middlebranch", "Middleburg",
+       "Middlefield", "Middleport", "Middletown", "Midland", "Midvale",
+       "Milan", "Milford", "Milford Center", "Millbury", "Milledgeville",
+       "Miller City", "Millersburg", "Millersport", "Millfield",
+       "Milton Center", "Mineral City", "Mineral Ridge", "Minerva",
+       "Minford", "Mingo", "Mingo Junction", "Minster", "Mogadore",
+       "Monclova", "Monroe", "Monroeville", "Montezuma", "Montpelier",
+       "Montville", "Morral", "Morristown", "Morrow", "Moscow",
+       "Mount Blanchard", "Mount Cory", "Mount Eaton", "Mount Gilead",
+       "Mount Hope", "Mount Liberty", "Mount Orab", "Mount Perry",
+       "Mount Pleasant", "Mount Saint Joseph", "Mount Sterling",
+       "Mount Vernon", "Mount Victory", "Mowrystown", "Moxahala",
+       "Munroe Falls", "Murray City", "Nankin", "Napoleon", "Nashport",
+       "Nashville", "Navarre", "Neapolis", "Neffs", "Negley",
+       "Nelsonville", "Nevada", "Neville", "New Albany", "New Athens",
+       "New Bavaria", "New Bloomington", "New Bremen", "New Carlisle",
+       "New Concord", "New Hampshire", "New Haven", "New Holland",
+       "New Knoxville", "New Lebanon", "New Lexington", "New London",
+       "New Madison", "New Marshfield", "New Matamoras", "New Middletown",
+       "New Paris", "New Philadelphia", "New Plymouth", "New Richmond",
+       "New Riegel", "New Rumley", "New Springfield", "New Straitsville",
+       "New Vienna", "New Washington", "New Waterford", "New Weston",
+       "Newark", "Newbury", "Newcomerstown", "Newport", "Newton Falls",
+       "Newtonsville", "Ney", "Niles", "North Baltimore", "North Bend",
+       "North Benton", "North Bloomfield", "North Fairfield",
+       "North Georgetown", "North Hampton", "North Jackson",
+       "North Kingsville", "North Lawrence", "North Lewisburg",
+       "North Lima", "North Olmsted", "North Ridgeville", "North Robinson",
+       "North Royalton", "North Star", "Northfield", "Northwood", "Norwalk",
+       "Norwich", "Nova", "Novelty", "Oak Harbor", "Oak Hill", "Oakwood",
+       "Oberlin", "Oceola", "Ohio City", "Okeana", "Okolona", "Old Fort",
+       "Old Washington", "Olmsted Falls", "Ontario", "Orangeville",
+       "Oregon", "Oregonia", "Orient", "Orrville", "Orwell", "Osgood",
+       "Ostrander", "Ottawa", "Ottoville", "Otway", "Overpeck",
+       "Owensville", "Oxford", "Painesville", "Palestine", "Pandora",
+       "Paris", "Parkman", "Pataskala", "Patriot", "Paulding", "Payne",
+       "Pedro", "Peebles", "Pemberton", "Pemberville", "Peninsula",
+       "Perry", "Perrysburg", "Perrysville", "Petersburg", "Pettisville",
+       "Phillipsburg", "Philo", "Pickerington", "Piedmont", "Pierpont",
+       "Piketon", "Piney Fork", "Pioneer", "Piqua", "Pitsburg",
+       "Plain City", "Plainfield", "Pleasant City", "Pleasant Hill",
+       "Pleasant Plain", "Pleasantville", "Plymouth", "Polk",
+       "Pomeroy", "Port Clinton", "Port Jefferson", "Port Washington",
+       "Port William", "Portage", "Portland", "Portsmouth", "Potsdam",
+       "Powell", "Powhatan Point", "Proctorville", "Prospect", "Put in Bay",
+       "Quaker City", "Quincy", "Racine", "Radnor", "Randolph", "Rarden",
+       "Ravenna", "Rawson", "Ray", "Rayland", "Raymond", "Reedsville",
+       "Reesville", "Reno", "Republic", "Reynoldsburg", "Richfield",
+       "Richmond", "Richmond Dale", "Richwood", "Ridgeville Corners",
+       "Ridgeway", "Rio Grande", "Ripley", "Risingsun", "Rittman",
+       "Robertsville", "Rock Camp", "Rock Creek", "Rockbridge", "Rockford",
+       "Rocky Ridge", "Rocky River", "Rogers", "Rome", "Rootstown", "Roseville",
+       "Rosewood", "Ross", "Rossburg", "Rossford", "Roundhead", "Rudolph",
+       "Rushsylvania", "Rushville", "Russells Point", "Russellville", "Russia",
+       "Rutland", "Sabina", "Saint Clairsville", "Saint Henry", "Saint Johns",
+       "Saint Louisville", "Saint Marys", "Saint Paris", "Salem", "Salesville",
+       "Salineville", "Sandusky", "Sandyville", "Sarahsville", "Sardinia",
+       "Sardis", "Savannah", "Scio", "Scioto Furnace", "Scott", "Scottown",
+       "Seaman", "Sebring", "Sedalia", "Senecaville", "Seven Mile", "Seville",
+       "Shade", "Shadyside", "Shandon", "Sharon Center", "Sharpsburg",
+       "Shauck", "Shawnee", "Sheffield Lake", "Shelby", "Sherrodsville",
+       "Sherwood", "Shiloh", "Short Creek", "Shreve", "Sidney", "Sinking Spring",
+       "Smithfield", "Smithville", "Solon", "Somerdale", "Somerset",
+       "Somerville", "South Bloomingville", "South Charleston", "South Lebanon",
+       "South Point", "South Salem", "South Solon", "South Vienna",
+       "South Webster", "Southington", "Sparta", "Spencer", "Spencerville",
+       "Spring Valley", "Springboro", "Springfield", "Stafford", "Sterling",
+       "Steubenville", "Stewart", "Stillwater", "Stockdale", "Stockport",
+       "Stone Creek", "Stony Ridge", "Stout", "Stoutsville", "Stow", "Strasburg",
+       "Stratton", "Streetsboro", "Strongsville", "Struthers", "Stryker",
+       "Sugar Grove", "Sugarcreek", "Sullivan", "Sulphur Springs", "Summerfield",
+       "Summit Station", "Summitville", "Sunbury", "Swanton", "Sycamore",
+       "Sycamore Valley", "Sylvania", "Syracuse", "Tallmadge", "Tarlton",
+       "Terrace Park", "The Plains", "Thompson", "Thornville", "Thurman",
+       "Thurston", "Tiffin", "Tiltonsville", "Tipp City", "Tippecanoe", "Tiro",
+       "Toledo", "Tontogany", "Torch", "Toronto", "Tremont City", "Trenton",
+       "Trimble", "Trinway", "Troy", "Tuppers Plains", "Tuscarawas", "Twinsburg",
+       "Uhrichsville", "Union City", "Union Furnace", "Unionport", "Uniontown",
+       "Unionville", "Unionville Center", "Uniopolis", "Upper Sandusky", "Urbana",
+       "Utica", "Valley City", "Van Buren", "Van Wert", "Vandalia", "Vanlue",
+       "Vaughnsville", "Venedocia", "Vermilion", "Verona", "Versailles",
+       "Vickery", "Vienna", "Vincent", "Vinton", "Wadsworth", "Wakefield",
+       "Wakeman", "Walbridge", "Waldo", "Walhonding", "Walnut Creek", "Wapakoneta",
+       "Warnock", "Warren", "Warsaw", "Washington Court House",
+       "Washingtonville", "Waterford", "Waterloo", "Watertown", "Waterville",
+       "Wauseon", "Waverly", "Wayland", "Wayne", "Waynesburg", "Waynesfield",
+       "Waynesville", "Wellington", "Wellston", "Wellsville", "West Alexandria",
+       "West Chester", "West Elkton", "West Farmington", "West Jefferson",
+       "West Lafayette", "West Liberty", "West Manchester", "West Mansfield",
+       "West Millgrove", "West Milton", "West Point", "West Portsmouth",
+       "West Rushville", "West Salem", "West Union", "West Unity", "Westerville",
+       "Westfield Center", "Westlake", "Weston", "Westville", "Wharton",
+       "Wheelersburg", "Whipple", "White Cottage", "Whitehouse", "Wickliffe",
+       "Wilberforce", "Wilkesville", "Willard", "Williamsburg", "Williamsfield",
+       "Williamsport", "Williamstown", "Williston", "Willoughby", "Willow Wood",
+       "Willshire", "Wilmington", "Wilmot", "Winchester", "Windham", "Windsor",
+       "Winesburg", "Wingett Run", "Winona", "Wolf Run", "Woodsfield",
+       "Woodstock", "Woodville", "Wooster", "Wren", "Xenia", "Yellow Springs",
+       "Yorkshire", "Yorkville", "Youngstown", "Zaleski", "Zanesfield", "Zanesville",
+       "Zoar"
 ];
\ No newline at end of file
index 9c5287dc6558d39e68afe753e1ae036b3e031bc7..d1dc0a4911bfd46f356d9a3f6663aa1023a81097 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-\r
-    <title>ColorPicker</title>\r
-\r
-<style type="text/css" media="screen">\r
-\r
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {\r
-       margin:0;\r
-       padding:0;\r
-}\r
-table {\r
-       border-collapse:collapse;\r
-       border-spacing:0;\r
-}\r
-fieldset,img {\r
-       border:0;\r
-}\r
-address,caption,cite,code,dfn,em,strong,th,var {\r
-       font-style:normal;\r
-       font-weight:normal;\r
-}\r
-ol,ul {\r
-       list-style:none;\r
-}\r
-caption,th {\r
-       text-align:left;\r
-}\r
-h1,h2,h3,h4,h5,h6 {\r
-       font-size:100%;\r
-       font-weight:normal;\r
-}\r
-q:before,q:after {\r
-       content:'';\r
-}\r
-abbr,acronym { border:0;\r
-}\r
-html, body {\r
-       background-color: #fff;\r
-       font-family: Arial, Helvetica, sans-serif;\r
-       font-size: 12px;\r
-       line-height: 18px;\r
-       color: #52697E;\r
-}\r
-body {\r
-       text-align: center;\r
-       overflow: auto;\r
-}\r
-.wrapper {\r
-       width: 700px;\r
-       margin: 0 auto;\r
-       text-align: left;\r
-}\r
-h1 {\r
-       font-size: 21px;\r
-       height: 47px;\r
-       line-height: 47px;\r
-       text-transform: uppercase;\r
-}\r
-.navigationTabs {\r
-       height: 23px;\r
-       line-height: 23px;\r
-       border-bottom: 1px solid #ccc;\r
-}\r
-.navigationTabs li {\r
-       float: left;\r
-       height: 23px;\r
-       line-height: 23px;\r
-       padding-right: 3px;\r
-}\r
-.navigationTabs li a{\r
-       float: left;\r
-       dispaly: block;\r
-       height: 23px;\r
-       line-height: 23px;\r
-       padding: 0 10px;\r
-       overflow: hidden;\r
-       color: #52697E;\r
-       background-color: #eee;\r
-       position: relative;\r
-       text-decoration: none;\r
-}\r
-.navigationTabs li a:hover {\r
-       background-color: #f0f0f0;\r
-}\r
-.navigationTabs li a.active {\r
-       background-color: #fff;\r
-       border: 1px solid #ccc;\r
-       border-bottom: 0px solid;\r
-}\r
-.tabsContent {\r
-       border: 1px solid #ccc;\r
-       border-top: 0px solid;\r
-       width: 698px;\r
-       overflow: hidden;\r
-}\r
-.tab {\r
-       padding: 16px;\r
-       display: block;\r
-}\r
-.tab h2 {\r
-       font-weight: bold;\r
-       font-size: 16px;\r
-}\r
-.tab h3 {\r
-       font-weight: bold;\r
-       font-size: 14px;\r
-       margin-top: 20px;\r
-}\r
-.tab p {\r
-       margin-top: 16px;\r
-       clear: both;\r
-}\r
-.tab ul {\r
-       margin-top: 16px;\r
-       list-style: disc;\r
-}\r
-.tab li {\r
-       margin: 10px 0 0 35px;\r
-}\r
-.tab a {\r
-       color: #8FB0CF;\r
-}\r
-.tab strong {\r
-       font-weight: bold;\r
-}\r
-.tab pre {\r
-       font-size: 11px;\r
-       margin-top: 20px;\r
-       width: 668px;\r
-       overflow: auto;\r
-       clear: both;\r
-}\r
-.tab table {\r
-       width: 100%;\r
-}\r
-.tab table td {\r
-       padding: 6px 10px 6px 0;\r
-       vertical-align: top;\r
-}\r
-.tab dt {\r
-       margin-top: 16px;\r
-}\r
-\r
-#colorSelector {\r
-       position: relative;\r
-       width: 36px;\r
-       height: 36px;\r
-       background: url(../../themes/default/images/select.png);\r
-}\r
-#colorSelector div {\r
-       position: absolute;\r
-       top: 3px;\r
-       left: 3px;\r
-       width: 30px;\r
-       height: 30px;\r
-       background: url(../../themes/default/images/select.png) center;\r
-}\r
-#colorSelector2 {\r
-       position: absolute;\r
-       top: 0;\r
-       left: 0;\r
-       width: 36px;\r
-       height: 36px;\r
-       background: url(../../themes/default/images/select2.png);\r
-}\r
-#colorSelector2 div {\r
-       position: absolute;\r
-       top: 4px;\r
-       left: 4px;\r
-       width: 28px;\r
-       height: 28px;\r
-       background: url(../../themes/default/images/select2.png) center;\r
-}\r
-#colorpickerHolder2 {\r
-       top: 32px;\r
-       left: 0;\r
-       width: 356px;\r
-       height: 0;\r
-       overflow: hidden;\r
-       position: absolute;\r
-}\r
-#colorpickerHolder2 .ui-colorpicker {\r
-       background-image: url(../../themes/default/images/custom_background.png);\r
-       position: absolute;\r
-       bottom: 0;\r
-       left: 0;\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-hue div {\r
-       background-image: url(../../themes/default/images/custom_indic.gif);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-hex {\r
-       background-image: url(../../themes/default/images/custom_hex.png);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-rgb-r {\r
-       background-image: url(../../themes/default/images/custom_rgb_r.png);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-rgb-g {\r
-       background-image: url(../../themes/default/images/custom_rgb_g.png);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-rgb-b {\r
-       background-image: url(../../themes/default/images/custom_rgb_b.png);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-hsb-s {\r
-       background-image: url(../../themes/default/images/custom_hsb_s.png);\r
-       display: none;\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-hsb-h {\r
-       background-image: url(../../themes/default/images/custom_hsb_h.png);\r
-       display: none;\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-hsb-b {\r
-       background-image: url(../../themes/default/images/custom_hsb_b.png);\r
-       display: none;\r
-}\r
-#colorpickerHolder2 .ui-colorpicker-submit {\r
-       background-image: url(../../themes/default/images/colorpicker_submit.png);\r
-}\r
-#colorpickerHolder2 .ui-colorpicker input {\r
-       color: #778398;\r
-}\r
-#customWidget {\r
-       position: relative;\r
-       height: 36px;\r
-}\r
-\r
-\r
-</style>\r
-\r
-<link rel="stylesheet" href="../../themes/default/ui.all.css" type="text/css" media="screen" title="no title" charset="utf-8">\r
-\r
-<script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.colorpicker.js"></script>\r
-\r
-<script type="text/javascript">\r
-\r
-$(document).ready(function() {\r
-\r
-       $('#colorpickerHolder').colorpicker({ flat: true });\r
-       $('#colorpickerHolder2').colorpicker({\r
-               flat: true,\r
-               color: '#00ff00',\r
-               submit: function(e, ui) {\r
-                       $('#colorSelector2 div').css('backgroundColor', '#' + ui.hex);\r
-               }\r
-       });\r
-       $('#colorpickerHolder2>div').css('position', 'absolute');\r
-       var widt = false;\r
-       $('#colorSelector2').bind('click', function() {\r
-               $('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);\r
-               widt = !widt;\r
-       });\r
-       $('#colorpickerField1').colorpicker({\r
-               submit: function(e, ui) {\r
-                       $('#colorpickerField1').val(ui.hex);\r
-               },\r
-               beforeShow: function (e, ui) {\r
-                       $(this).colorpicker("setColor", this.value);\r
-               }\r
-       })\r
-       .bind('keyup', function(){\r
-               $(this).colorpicker("setColor", this.value);\r
-       });\r
-       $('#colorSelector').colorpicker({\r
-               color: '#0000ff',\r
-               show: function (e, ui) {\r
-                       $(this).data("colorpicker").picker.fadeIn(500);\r
-                       return false;\r
-               },\r
-               hide: function (e, ui) {\r
-                       $(this).data("colorpicker").picker.fadeOut(500);\r
-                       return false;\r
-               },\r
-               change: function (e, ui) {\r
-                       $('#colorSelector div').css('backgroundColor', '#' + ui.hex);\r
-               }\r
-       });\r
-\r
-});\r
-\r
-</script>\r
-\r
-\r
-</head>\r
-<body>\r
-    <div class="wrapper">\r
-        <h1>Color Picker</h1>\r
-        <ul class="navigationTabs">\r
-            <li><a href="#about" rel="about">About</a></li>\r
-        </ul>\r
-        <div class="tabsContent">\r
-            <div class="tab">\r
-                <h2>About</h2>\r
-                <p>A simple component to select color in the same way you select color in Adobe Photoshop</p>\r
-                <h3>Features</h3>\r
-                <ul>\r
-                    <li>Flat mode - as element in page</li>\r
-                    <li>Powerful controls for color selection</li>\r
-                                       <li>Easy to customize the look by changing some images</li>\r
-                                       <li>Fits into the viewport</li>\r
-                </ul>\r
-                <h3>Examples</h3>\r
-                <p>Flat mode.</p>\r
-                <p id="colorpickerHolder">\r
-                </p>\r
-                <pre>\r
-$('#colorpickerHolder').ColorPicker({flat: true});\r
-                </pre>\r
-                <p>Custom skin and using flat mode to display the color picker in a custom widget.</p>\r
-                               <div id="customWidget">\r
-                                       <div id="colorSelector2"><div style="background-color: #00ff00"></div></div>\r
-                       <div id="colorpickerHolder2">\r
-                       </div>\r
-                               </div>\r
-\r
-                               <p>Attached to an text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.</p>\r
-                               <p><input type="text" maxlength="6" size="6" id="colorpickerField1" value="00ff00" /></p>\r
-                               <pre>\r
-$('#colorpickerField1').ColorPicker({\r
-       onSubmit: function(hsb, hex, rgb) {\r
-               $('#colorpickerField1').val(hex);\r
-       },\r
-       onBeforeShow: function () {\r
-               $(this).ColorPickerSetColor(this.value);\r
-       }\r
-})\r
-.bind('keyup', function(){\r
-       $(this).ColorPickerSetColor(this.value);\r
-});\r
-</pre>\r
-                               <p>Attached to DOMElement and using callbacks to live preview the color and adding animation.</p>\r
-                               <p>\r
-                                       <div id="colorSelector"><div style="background-color: #0000ff"></div></div>\r
-                               </p>\r
-                               <pre>\r
-$('#colorSelector').ColorPicker({\r
-       color: '#0000ff',\r
-       onShow: function (colpkr) {\r
-               $(colpkr).fadeIn(500);\r
-               return false;\r
-       },\r
-       onHide: function (colpkr) {\r
-               $(colpkr).fadeOut(500);\r
-               return false;\r
-       },\r
-       onChange: function (hsb, hex, rgb) {\r
-               $('#colorSelector div').css('backgroundColor', '#' + hex);\r
-       }\r
-});\r
-</pre>\r
-            </div>\r
-        </div>\r
-    </div>\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+
+    <title>ColorPicker</title>
+
+<style type="text/css" media="screen">
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+       margin:0;
+       padding:0;
+}
+table {
+       border-collapse:collapse;
+       border-spacing:0;
+}
+fieldset,img {
+       border:0;
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+       font-style:normal;
+       font-weight:normal;
+}
+ol,ul {
+       list-style:none;
+}
+caption,th {
+       text-align:left;
+}
+h1,h2,h3,h4,h5,h6 {
+       font-size:100%;
+       font-weight:normal;
+}
+q:before,q:after {
+       content:'';
+}
+abbr,acronym { border:0;
+}
+html, body {
+       background-color: #fff;
+       font-family: Arial, Helvetica, sans-serif;
+       font-size: 12px;
+       line-height: 18px;
+       color: #52697E;
+}
+body {
+       text-align: center;
+       overflow: auto;
+}
+.wrapper {
+       width: 700px;
+       margin: 0 auto;
+       text-align: left;
+}
+h1 {
+       font-size: 21px;
+       height: 47px;
+       line-height: 47px;
+       text-transform: uppercase;
+}
+.navigationTabs {
+       height: 23px;
+       line-height: 23px;
+       border-bottom: 1px solid #ccc;
+}
+.navigationTabs li {
+       float: left;
+       height: 23px;
+       line-height: 23px;
+       padding-right: 3px;
+}
+.navigationTabs li a{
+       float: left;
+       dispaly: block;
+       height: 23px;
+       line-height: 23px;
+       padding: 0 10px;
+       overflow: hidden;
+       color: #52697E;
+       background-color: #eee;
+       position: relative;
+       text-decoration: none;
+}
+.navigationTabs li a:hover {
+       background-color: #f0f0f0;
+}
+.navigationTabs li a.active {
+       background-color: #fff;
+       border: 1px solid #ccc;
+       border-bottom: 0px solid;
+}
+.tabsContent {
+       border: 1px solid #ccc;
+       border-top: 0px solid;
+       width: 698px;
+       overflow: hidden;
+}
+.tab {
+       padding: 16px;
+       display: block;
+}
+.tab h2 {
+       font-weight: bold;
+       font-size: 16px;
+}
+.tab h3 {
+       font-weight: bold;
+       font-size: 14px;
+       margin-top: 20px;
+}
+.tab p {
+       margin-top: 16px;
+       clear: both;
+}
+.tab ul {
+       margin-top: 16px;
+       list-style: disc;
+}
+.tab li {
+       margin: 10px 0 0 35px;
+}
+.tab a {
+       color: #8FB0CF;
+}
+.tab strong {
+       font-weight: bold;
+}
+.tab pre {
+       font-size: 11px;
+       margin-top: 20px;
+       width: 668px;
+       overflow: auto;
+       clear: both;
+}
+.tab table {
+       width: 100%;
+}
+.tab table td {
+       padding: 6px 10px 6px 0;
+       vertical-align: top;
+}
+.tab dt {
+       margin-top: 16px;
+}
+
+#colorSelector {
+       position: relative;
+       width: 36px;
+       height: 36px;
+       background: url(../../themes/default/images/select.png);
+}
+#colorSelector div {
+       position: absolute;
+       top: 3px;
+       left: 3px;
+       width: 30px;
+       height: 30px;
+       background: url(../../themes/default/images/select.png) center;
+}
+#colorSelector2 {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 36px;
+       height: 36px;
+       background: url(../../themes/default/images/select2.png);
+}
+#colorSelector2 div {
+       position: absolute;
+       top: 4px;
+       left: 4px;
+       width: 28px;
+       height: 28px;
+       background: url(../../themes/default/images/select2.png) center;
+}
+#colorpickerHolder2 {
+       top: 32px;
+       left: 0;
+       width: 356px;
+       height: 0;
+       overflow: hidden;
+       position: absolute;
+}
+#colorpickerHolder2 .ui-colorpicker {
+       background-image: url(../../themes/default/images/custom_background.png);
+       position: absolute;
+       bottom: 0;
+       left: 0;
+}
+#colorpickerHolder2 .ui-colorpicker-hue div {
+       background-image: url(../../themes/default/images/custom_indic.gif);
+}
+#colorpickerHolder2 .ui-colorpicker-hex {
+       background-image: url(../../themes/default/images/custom_hex.png);
+}
+#colorpickerHolder2 .ui-colorpicker-rgb-r {
+       background-image: url(../../themes/default/images/custom_rgb_r.png);
+}
+#colorpickerHolder2 .ui-colorpicker-rgb-g {
+       background-image: url(../../themes/default/images/custom_rgb_g.png);
+}
+#colorpickerHolder2 .ui-colorpicker-rgb-b {
+       background-image: url(../../themes/default/images/custom_rgb_b.png);
+}
+#colorpickerHolder2 .ui-colorpicker-hsb-s {
+       background-image: url(../../themes/default/images/custom_hsb_s.png);
+       display: none;
+}
+#colorpickerHolder2 .ui-colorpicker-hsb-h {
+       background-image: url(../../themes/default/images/custom_hsb_h.png);
+       display: none;
+}
+#colorpickerHolder2 .ui-colorpicker-hsb-b {
+       background-image: url(../../themes/default/images/custom_hsb_b.png);
+       display: none;
+}
+#colorpickerHolder2 .ui-colorpicker-submit {
+       background-image: url(../../themes/default/images/colorpicker_submit.png);
+}
+#colorpickerHolder2 .ui-colorpicker input {
+       color: #778398;
+}
+#customWidget {
+       position: relative;
+       height: 36px;
+}
+
+
+</style>
+
+<link rel="stylesheet" href="../../themes/default/ui.all.css" type="text/css" media="screen" title="no title" charset="utf-8">
+
+<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+<script type="text/javascript" src="../../ui/ui.core.js"></script>
+<script type="text/javascript" src="../../ui/ui.colorpicker.js"></script>
+
+<script type="text/javascript">
+
+$(document).ready(function() {
+
+       $('#colorpickerHolder').colorpicker({ flat: true });
+       $('#colorpickerHolder2').colorpicker({
+               flat: true,
+               color: '#00ff00',
+               submit: function(e, ui) {
+                       $('#colorSelector2 div').css('backgroundColor', '#' + ui.hex);
+               }
+       });
+       $('#colorpickerHolder2>div').css('position', 'absolute');
+       var widt = false;
+       $('#colorSelector2').bind('click', function() {
+               $('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);
+               widt = !widt;
+       });
+       $('#colorpickerField1').colorpicker({
+               submit: function(e, ui) {
+                       $('#colorpickerField1').val(ui.hex);
+               },
+               beforeShow: function (e, ui) {
+                       $(this).colorpicker("setColor", this.value);
+               }
+       })
+       .bind('keyup', function(){
+               $(this).colorpicker("setColor", this.value);
+       });
+       $('#colorSelector').colorpicker({
+               color: '#0000ff',
+               show: function (e, ui) {
+                       $(this).data("colorpicker").picker.fadeIn(500);
+                       return false;
+               },
+               hide: function (e, ui) {
+                       $(this).data("colorpicker").picker.fadeOut(500);
+                       return false;
+               },
+               change: function (e, ui) {
+                       $('#colorSelector div').css('backgroundColor', '#' + ui.hex);
+               }
+       });
+
+});
+
+</script>
+
+
+</head>
+<body>
+    <div class="wrapper">
+        <h1>Color Picker</h1>
+        <ul class="navigationTabs">
+            <li><a href="#about" rel="about">About</a></li>
+        </ul>
+        <div class="tabsContent">
+            <div class="tab">
+                <h2>About</h2>
+                <p>A simple component to select color in the same way you select color in Adobe Photoshop</p>
+                <h3>Features</h3>
+                <ul>
+                    <li>Flat mode - as element in page</li>
+                    <li>Powerful controls for color selection</li>
+                                       <li>Easy to customize the look by changing some images</li>
+                                       <li>Fits into the viewport</li>
+                </ul>
+                <h3>Examples</h3>
+                <p>Flat mode.</p>
+                <p id="colorpickerHolder">
+                </p>
+                <pre>
+$('#colorpickerHolder').ColorPicker({flat: true});
+                </pre>
+                <p>Custom skin and using flat mode to display the color picker in a custom widget.</p>
+                               <div id="customWidget">
+                                       <div id="colorSelector2"><div style="background-color: #00ff00"></div></div>
+                       <div id="colorpickerHolder2">
+                       </div>
+                               </div>
+
+                               <p>Attached to an text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.</p>
+                               <p><input type="text" maxlength="6" size="6" id="colorpickerField1" value="00ff00" /></p>
+                               <pre>
+$('#colorpickerField1').ColorPicker({
+       onSubmit: function(hsb, hex, rgb) {
+               $('#colorpickerField1').val(hex);
+       },
+       onBeforeShow: function () {
+               $(this).ColorPickerSetColor(this.value);
+       }
+})
+.bind('keyup', function(){
+       $(this).ColorPickerSetColor(this.value);
+});
+</pre>
+                               <p>Attached to DOMElement and using callbacks to live preview the color and adding animation.</p>
+                               <p>
+                                       <div id="colorSelector"><div style="background-color: #0000ff"></div></div>
+                               </p>
+                               <pre>
+$('#colorSelector').ColorPicker({
+       color: '#0000ff',
+       onShow: function (colpkr) {
+               $(colpkr).fadeIn(500);
+               return false;
+       },
+       onHide: function (colpkr) {
+               $(colpkr).fadeOut(500);
+               return false;
+       },
+       onChange: function (hsb, hex, rgb) {
+               $('#colorSelector div').css('backgroundColor', '#' + hex);
+       }
+});
+</pre>
+            </div>
+        </div>
+    </div>
+</body>
+</html>
index d3439fd35ff0bc049ab7fcf2c2baa5de1930d429..7fea7cbea474aa98937b884d4007395663ed2b9b 100644 (file)
@@ -1,28 +1,28 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Datepicker</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <link rel="stylesheet" href="../../themes/ui.datepicker.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.datepicker.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#datepicker").datepicker();\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Datepicker\r
-       <div style="text-align:left;margin-left:10px;">\r
-               <input type="text" id="datepicker">\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Datepicker</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <link rel="stylesheet" href="../../themes/ui.datepicker.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.datepicker.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#datepicker").datepicker();
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Datepicker
+       <div style="text-align:left;margin-left:10px;">
+               <input type="text" id="datepicker">
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index 66a3f88c1b1a27f0efb78b56516f77d00c322f1e..d0733c92035d3976a69fca301f2ed55f9106146d 100644 (file)
@@ -1,31 +1,31 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Dialog</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.dialog.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#dialog").click(function() {\r
-                       $("<div/>").dialog();\r
-               });\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Dialog\r
-       <div id="dialog">\r
-               <button>Open</button>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Dialog</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.dialog.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#dialog").click(function() {
+                       $("<div/>").dialog();
+               });
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Dialog
+       <div id="dialog">
+               <button>Open</button>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index fa58014f7436fc8a669811bb12e59724f44058e4..798898363baaf06b1a71b7248e015d2b9caf3051 100644 (file)
@@ -1,27 +1,27 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Draggable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#draggable").draggable({ handle: "span" });\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Draggable\r
-       <div id="draggable">\r
-               <span>Handle</span>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Draggable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#draggable").draggable({ handle: "span" });
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Draggable
+       <div id="draggable">
+               <span>Handle</span>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index 97de964924c008dc3eba2cad445e32795d26bb73..bade45b0e137a430440b157acdb7577a1ff93171 100644 (file)
@@ -1,25 +1,25 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Draggable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#draggable").draggable();\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Draggable\r
-       <div id="draggable"></div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Draggable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#draggable").draggable();
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Draggable
+       <div id="draggable"></div>
+</li>
+</ul>
+
+</body>
+</html>
index b89176679700b223ac74ee3187e1a6a896023e47..264978e9c38d93a9f57e5fe23187f674b90fa343 100644 (file)
@@ -1,39 +1,39 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Droppable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.droppable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $(".draggable").draggable();\r
-               $("#droppable").droppable({\r
-                       accept: '.draggable',\r
-                       drop: function(ev, ui) {\r
-                               ui.draggable.css({ position: 'relative', top: 0, left: 0 }).clone().appendTo(this);\r
-                       }\r
-               });\r
-       });\r
-       </script>\r
-</head>\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Droppable\r
-       <div class="draggable">D</div>\r
-       <div class="draggable">R</div>\r
-       <div class="draggable">A</div>\r
-       <div class="draggable">G</div>\r
-       <div id="droppable">\r
-               DROP\r
-               <hr>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Droppable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.droppable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $(".draggable").draggable();
+               $("#droppable").droppable({
+                       accept: '.draggable',
+                       drop: function(ev, ui) {
+                               ui.draggable.css({ position: 'relative', top: 0, left: 0 }).clone().appendTo(this);
+                       }
+               });
+       });
+       </script>
+</head>
+<body>
+
+<ul class="plugins">
+<li>
+       Droppable
+       <div class="draggable">D</div>
+       <div class="draggable">R</div>
+       <div class="draggable">A</div>
+       <div class="draggable">G</div>
+       <div id="droppable">
+               DROP
+               <hr>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index 587c6469664a2b65a54b60036ba508925bfa1360..88d513b2ce94f5be80fbf6f3d7cfb095ef58ed21 100644 (file)
@@ -1,49 +1,49 @@
-body,html {\r
-       margin: 0;\r
-       padding: 0;\r
-       font-size: 12px;\r
-       font-family: Arial;\r
-       background: #000;\r
-}\r
-\r
-ul.effects {\r
-       margin: 0;\r
-       padding: 0;\r
-}\r
-\r
-ul.effects li {\r
-       margin: 0;\r
-       padding: 0;\r
-       width: 120px;\r
-       height: 100px;\r
-       float: left;\r
-       margin-top: 20px;\r
-       margin-left: 20px;\r
-}\r
-\r
-div.effect {\r
-       width: 120px;\r
-       height: 100px;\r
-       background: #333;\r
-       border: 5px outset #aaa;\r
-       float: left;\r
-       cursor: pointer;\r
-       cursor: hand;\r
-}\r
-\r
-div.current {\r
-       border: 5px outset #FF0000;\r
-       background: #660000;\r
-}\r
-\r
-div.effect p {\r
-       color: #eee;\r
-       margin: 0px;\r
-       padding: 10px;\r
-}\r
-\r
-.ui-effects-transfer {\r
-       border: 1px dotted #fff;\r
-       background: #666;\r
-       opacity: 0.5;\r
+body,html {
+       margin: 0;
+       padding: 0;
+       font-size: 12px;
+       font-family: Arial;
+       background: #000;
+}
+
+ul.effects {
+       margin: 0;
+       padding: 0;
+}
+
+ul.effects li {
+       margin: 0;
+       padding: 0;
+       width: 120px;
+       height: 100px;
+       float: left;
+       margin-top: 20px;
+       margin-left: 20px;
+}
+
+div.effect {
+       width: 120px;
+       height: 100px;
+       background: #333;
+       border: 5px outset #aaa;
+       float: left;
+       cursor: pointer;
+       cursor: hand;
+}
+
+div.current {
+       border: 5px outset #FF0000;
+       background: #660000;
+}
+
+div.effect p {
+       color: #eee;
+       margin: 0px;
+       padding: 10px;
+}
+
+.ui-effects-transfer {
+       border: 1px dotted #fff;
+       background: #666;
+       opacity: 0.5;
 }
\ No newline at end of file
index 180a6972d917e1a95d10b69568fa3f36883a9f08..d89dbecd8489ac06a9b6f1d7734c7581798a8e7e 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <meta http-equiv="Content-type" content="text/html; charset=utf-8" />\r
-       <title>Effects Test Suite</title>\r
-       <link rel="stylesheet" href="effects.all.css" type="text/css" media="screen" title="no title" charset="utf-8" />\r
-       \r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.core.js"></script>\r
-       \r
-       <script type="text/javascript" src="../../ui/effects.blind.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.bounce.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.clip.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.drop.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.explode.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.fold.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.highlight.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.pulsate.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.scale.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.shake.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.slide.js"></script>\r
-       <script type="text/javascript" src="../../ui/effects.transfer.js"></script>\r
-       \r
-       <script type="text/javascript" src="effects.all.js"></script>\r
-</head>\r
-<body>\r
-\r
-<ul class="effects">\r
-\r
-       <li>\r
-               <div class="effect" id="blindHorizontally">\r
-                       <p>Blind horizontally</p>\r
-               </div>\r
-       </li>\r
-\r
-       <li>\r
-               <div class="effect" id="blindVertically">\r
-                       <p>Blind vertically</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="bounce3times">\r
-               <p>Bounce 3 times</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="clipHorizontally">\r
-               <p>Clip horizontally</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="clipVertically">\r
-               <p>Clip vertically</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="dropDown">\r
-               <p>Drop down</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="dropUp">\r
-               <p>Drop up</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="dropLeft">\r
-               <p>Drop left</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="dropRight">\r
-               <p>Drop right</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="explode9">\r
-               <p>Explode in 9 pieces</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="explode36">\r
-               <p>Explode in 36 pieces</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="fold">\r
-               <p>Fold</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="highlight">\r
-               <p>Highlight</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="pulsate">\r
-               <p>Pulsate 2 times</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="puff">\r
-               <p>Puff</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="scale">\r
-               <p>Scale</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="shake">\r
-               <p>Shake</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="slideDown">\r
-               <p>Slide down</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="slideUp">\r
-               <p>Slide up</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="slideLeft">\r
-               <p>Slide left</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="slideRight">\r
-               <p>Slide right</p>\r
-               </div>\r
-       </li>\r
-       \r
-       <li>\r
-               <div class="effect" id="transfer">\r
-               <p>Transfer to first element</p>\r
-               </div>\r
-       </li>\r
-\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+       <title>Effects Test Suite</title>
+       <link rel="stylesheet" href="effects.all.css" type="text/css" media="screen" title="no title" charset="utf-8" />
+       
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/effects.core.js"></script>
+       
+       <script type="text/javascript" src="../../ui/effects.blind.js"></script>
+       <script type="text/javascript" src="../../ui/effects.bounce.js"></script>
+       <script type="text/javascript" src="../../ui/effects.clip.js"></script>
+       <script type="text/javascript" src="../../ui/effects.drop.js"></script>
+       <script type="text/javascript" src="../../ui/effects.explode.js"></script>
+       <script type="text/javascript" src="../../ui/effects.fold.js"></script>
+       <script type="text/javascript" src="../../ui/effects.highlight.js"></script>
+       <script type="text/javascript" src="../../ui/effects.pulsate.js"></script>
+       <script type="text/javascript" src="../../ui/effects.scale.js"></script>
+       <script type="text/javascript" src="../../ui/effects.shake.js"></script>
+       <script type="text/javascript" src="../../ui/effects.slide.js"></script>
+       <script type="text/javascript" src="../../ui/effects.transfer.js"></script>
+       
+       <script type="text/javascript" src="effects.all.js"></script>
+</head>
+<body>
+
+<ul class="effects">
+
+       <li>
+               <div class="effect" id="blindHorizontally">
+                       <p>Blind horizontally</p>
+               </div>
+       </li>
+
+       <li>
+               <div class="effect" id="blindVertically">
+                       <p>Blind vertically</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="bounce3times">
+               <p>Bounce 3 times</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="clipHorizontally">
+               <p>Clip horizontally</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="clipVertically">
+               <p>Clip vertically</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="dropDown">
+               <p>Drop down</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="dropUp">
+               <p>Drop up</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="dropLeft">
+               <p>Drop left</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="dropRight">
+               <p>Drop right</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="explode9">
+               <p>Explode in 9 pieces</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="explode36">
+               <p>Explode in 36 pieces</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="fold">
+               <p>Fold</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="highlight">
+               <p>Highlight</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="pulsate">
+               <p>Pulsate 2 times</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="puff">
+               <p>Puff</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="scale">
+               <p>Scale</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="shake">
+               <p>Shake</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="slideDown">
+               <p>Slide down</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="slideUp">
+               <p>Slide up</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="slideLeft">
+               <p>Slide left</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="slideRight">
+               <p>Slide right</p>
+               </div>
+       </li>
+       
+       <li>
+               <div class="effect" id="transfer">
+               <p>Transfer to first element</p>
+               </div>
+       </li>
+
+</ul>
+
+</body>
+</html>
index ebf0ad082c0101a06dee02662fe4a4544ab61742..b52b23726ebeb0ce0c65e5ba9bd7caec5d92b491 100644 (file)
@@ -1,65 +1,65 @@
-$(document).ready(function() {\r
-       \r
-       $("div.effect")\r
-               .hover(function() {\r
-                       $(this).addClass("hover");\r
-               }, function() {\r
-                       $(this).removeClass("hover");\r
-               })\r
-               ;\r
-       \r
-       \r
-       var effect = function(el, n, o) {\r
-               \r
-               $.extend(o, {\r
-                       easing: "easeOutQuint"\r
-               });\r
-               \r
-               $(el).bind("click", function() {\r
-                       \r
-                       $(this).addClass("current").hide(n, o, 1000, function() {\r
-                               var self = this;\r
-                               window.setTimeout(function() {\r
-                                       $(self).show(n, o, 1000, function() { $(this).removeClass("current"); });\r
-                               },500);\r
-                       });\r
-               });\r
-               \r
-       };\r
-               \r
-\r
-       effect("#blindHorizontally", "blind", { direction: "horizontal" });\r
-       effect("#blindVertically", "blind", { direction: "vertical" });\r
-       \r
-       effect("#bounce3times", "bounce", { times: 3 });\r
-       \r
-       effect("#clipHorizontally", "clip", { direction: "horizontal" });\r
-       effect("#clipVertically", "clip", { direction: "vertical" });\r
-       \r
-       effect("#dropDown", "drop", { direction: "down" });\r
-       effect("#dropUp", "drop", { direction: "up" });\r
-       effect("#dropLeft", "drop", { direction: "left" });\r
-       effect("#dropRight", "drop", { direction: "right" });\r
-       \r
-       effect("#explode9", "explode", {  });\r
-       effect("#explode36", "explode", { pieces: 36 });\r
-       \r
-       effect("#fold", "fold", { size: 50 });\r
-       \r
-       effect("#highlight", "highlight", {  });\r
-       \r
-       effect("#pulsate", "pulsate", { times: 2 });\r
-       \r
-       effect("#puff", "puff", { times: 2 });\r
-       effect("#scale", "scale", {  });\r
-       \r
-       $("#shake").bind("click", function() { $(this).addClass("current").effect("shake", {}, 100, function() { $(this).removeClass("current"); }); });\r
-       \r
-       effect("#slideDown", "slide", { direction: "down" });\r
-       effect("#slideUp", "slide", { direction: "up" });\r
-       effect("#slideLeft", "slide", { direction: "left" });\r
-       effect("#slideRight", "slide", { direction: "right" });\r
-       \r
-       $("#transfer").bind("click", function() { $(this).addClass("current").effect("transfer", { to: "div:eq(0)" }, 1000, function() { $(this).removeClass("current"); }); });\r
-       \r
+$(document).ready(function() {
+       
+       $("div.effect")
+               .hover(function() {
+                       $(this).addClass("hover");
+               }, function() {
+                       $(this).removeClass("hover");
+               })
+               ;
+       
+       
+       var effect = function(el, n, o) {
+               
+               $.extend(o, {
+                       easing: "easeOutQuint"
+               });
+               
+               $(el).bind("click", function() {
+                       
+                       $(this).addClass("current").hide(n, o, 1000, function() {
+                               var self = this;
+                               window.setTimeout(function() {
+                                       $(self).show(n, o, 1000, function() { $(this).removeClass("current"); });
+                               },500);
+                       });
+               });
+               
+       };
+               
+
+       effect("#blindHorizontally", "blind", { direction: "horizontal" });
+       effect("#blindVertically", "blind", { direction: "vertical" });
+       
+       effect("#bounce3times", "bounce", { times: 3 });
+       
+       effect("#clipHorizontally", "clip", { direction: "horizontal" });
+       effect("#clipVertically", "clip", { direction: "vertical" });
+       
+       effect("#dropDown", "drop", { direction: "down" });
+       effect("#dropUp", "drop", { direction: "up" });
+       effect("#dropLeft", "drop", { direction: "left" });
+       effect("#dropRight", "drop", { direction: "right" });
+       
+       effect("#explode9", "explode", {  });
+       effect("#explode36", "explode", { pieces: 36 });
+       
+       effect("#fold", "fold", { size: 50 });
+       
+       effect("#highlight", "highlight", {  });
+       
+       effect("#pulsate", "pulsate", { times: 2 });
+       
+       effect("#puff", "puff", { times: 2 });
+       effect("#scale", "scale", {  });
+       
+       $("#shake").bind("click", function() { $(this).addClass("current").effect("shake", {}, 100, function() { $(this).removeClass("current"); }); });
+       
+       effect("#slideDown", "slide", { direction: "down" });
+       effect("#slideUp", "slide", { direction: "up" });
+       effect("#slideLeft", "slide", { direction: "left" });
+       effect("#slideRight", "slide", { direction: "right" });
+       
+       $("#transfer").bind("click", function() { $(this).addClass("current").effect("transfer", { to: "div:eq(0)" }, 1000, function() { $(this).removeClass("current"); }); });
+       
 });
\ No newline at end of file
index 75b64807a648395ea03d2b503cd3dbce67cbbce0..39d8fe96cffcabbabfc3bc9900febe8d3e613d3a 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-<meta http-equiv="Content-Language" content="en" />\r
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-<title>Magnifier Demo</title>\r
-\r
-<style type="text/css">\r
-\r
-body,html {\r
-       margin: 0;\r
-       padding: 0;\r
-       font-family: Arial;\r
-       font-size: 12px;\r
-}\r
-\r
-div.playground {\r
-       height: 150px;\r
-}\r
-\r
-#example1 img,\r
-#example2 img,\r
-#example3 img,\r
-#example4 img {\r
-       float:left;\r
-}\r
-\r
-</style>\r
-<script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.magnifier.js"></script>\r
-\r
-\r
-</head>\r
-<body>\r
-\r
-<h2>1. Default, no options</h2>\r
-<div class="playground">\r
-       <div id='example1' class="ui-wrapper example" style="width: 580px; padding: 20px;">\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-       </div>\r
-</div>\r
-\r
-<h2>2. Magnification set to 1.5 (default: 2)</h2>\r
-<div class="playground">\r
-       <div id='example2' class="ui-wrapper example" style="width: 580px; padding: 20px;">\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-       </div>\r
-</div>\r
-\r
-<h2>3. Advanced example: overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, baseline: -1</h2>\r
-<div class="playground">\r
-       <div id='example3' class="ui-wrapper example" style="width: 580px; padding: 20px;">\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-       </div>\r
-</div>\r
-\r
-<h2>4. Advanced example: The direction doesn't have to be horizontal!</h2>\r
-<div class="playground">\r
-       <div id='example4' class="ui-wrapper example" style="width: 150px; padding: 20px; height: 150px;">\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-               <img src="../images/clock.png" width="48" alt="" />\r
-       </div>\r
-</div>\r
-\r
-<script type="text/javascript">\r
-if(!window.console) {\r
- window.console = {\r
-       log: function() {\r
-               alert(arguments[0]);    \r
-       }       \r
- }     \r
-}\r
-\r
-$(window).bind("load",function(){\r
-\r
-       $('#example1').magnifier();\r
-       $('#example2').magnifier({ magnification: 1.5 });\r
-       $('#example3').magnifier({ magnification: 1.5, overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, baseline: -1  });\r
-       $('#example4').magnifier({ magnification: 1.5, overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, distance: 30  });\r
-\r
-});\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Language" content="en" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Magnifier Demo</title>
+
+<style type="text/css">
+
+body,html {
+       margin: 0;
+       padding: 0;
+       font-family: Arial;
+       font-size: 12px;
+}
+
+div.playground {
+       height: 150px;
+}
+
+#example1 img,
+#example2 img,
+#example3 img,
+#example4 img {
+       float:left;
+}
+
+</style>
+<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+<script type="text/javascript" src="../../ui/ui.core.js"></script>
+<script type="text/javascript" src="../../ui/ui.magnifier.js"></script>
+
+
+</head>
+<body>
+
+<h2>1. Default, no options</h2>
+<div class="playground">
+       <div id='example1' class="ui-wrapper example" style="width: 580px; padding: 20px;">
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+       </div>
+</div>
+
+<h2>2. Magnification set to 1.5 (default: 2)</h2>
+<div class="playground">
+       <div id='example2' class="ui-wrapper example" style="width: 580px; padding: 20px;">
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+       </div>
+</div>
+
+<h2>3. Advanced example: overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, baseline: -1</h2>
+<div class="playground">
+       <div id='example3' class="ui-wrapper example" style="width: 580px; padding: 20px;">
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+       </div>
+</div>
+
+<h2>4. Advanced example: The direction doesn't have to be horizontal!</h2>
+<div class="playground">
+       <div id='example4' class="ui-wrapper example" style="width: 150px; padding: 20px; height: 150px;">
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+               <img src="../images/clock.png" width="48" alt="" />
+       </div>
+</div>
+
+<script type="text/javascript">
+if(!window.console) {
+ window.console = {
+       log: function() {
+               alert(arguments[0]);    
+       }       
+ }     
+}
+
+$(window).bind("load",function(){
+
+       $('#example1').magnifier();
+       $('#example2').magnifier({ magnification: 1.5 });
+       $('#example3').magnifier({ magnification: 1.5, overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, baseline: -1  });
+       $('#example4').magnifier({ magnification: 1.5, overlap: true, zIndex: 10, opacity: { min: 0.6, max: 1 }, distance: 30  });
+
+});
+</script>
+</body>
+</html>
index 79dae2e4d2d9f60f1988367a429e87d675489c34..6341a342fd780f0db59e07111890306dfd805c0e 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-<meta http-equiv="Content-Language" content="en" />\r
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-<title>ProgressBar Test Page</title>\r
-<script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.resizable.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.progressbar.js"></script>\r
-<script type="text/javascript" src="../../ui/effects.core.js"></script>\r
-\r
-<style type="text/css" media="all">\r
-\r
-body\r
-{\r
-       background: #fff;\r
-       font-family: Arial;\r
-}\r
-\r
-#log {\r
-       right:0px;\r
-       top:0px;\r
-       background-color:#FAFCFE;\r
-       border:1px solid #DFE8F6;\r
-       height:400px;\r
-       width:300px;\r
-       position:absolute;\r
-       overflow:auto;\r
-}\r
-\r
-/* ProgressBar */\r
-\r
-.ui-progressbar {\r
-       width: 400px; height: 20px;\r
-       border: 1px #ccc solid;\r
-       background:#E0E8F3 url(../images/bg.gif) repeat-x scroll 0%;\r
-       position:relative;\r
-}\r
-\r
-.ui-progressbar-wrap {\r
-       position: relative;\r
-       height: auto;\r
-       width: auto;\r
-       line-height: 18px;\r
-       _line-height: 16px;\r
-}\r
-\r
-.ui-progressbar-bar {\r
-       background:#9CBFEE url(../images/progress-bg.gif) repeat-x scroll left center;\r
-       border-bottom:1px solid #7FA9E4;\r
-       border-right:1px solid #7FA9E4;\r
-       border-top:1px solid #D1E4FD;\r
-       position: absolute;\r
-}\r
-\r
-.ui-progressbar-text {\r
-       color:#fff;\r
-       overflow: hidden;\r
-       white-space: nowrap;\r
-       font-size: 11px;\r
-       font-weight: bold;\r
-       padding-left: 5px;\r
-}\r
-\r
-.ui-progressbar-text-back {\r
-       color:#000;\r
-       padding-top: 1px;\r
-       padding-bottom: 1px;\r
-       padding-right: 1px;\r
-}\r
-\r
-.ui-progressbar-disabled {\r
-       opacity:.5;\r
-       filter:Alpha(Opacity=50);\r
-}\r
-\r
-\r
-/* custom */\r
-.ui-progressbar-text.right-align {\r
-       text-align: right;\r
-       padding: 0 5px 0 0;\r
-}\r
-.ui-progressbar-inner-custom {\r
-       background: url(../images/custom-bar.gif) repeat-x scroll left center;\r
-       border-bottom:1px solid #EFEFEF;\r
-       border-right:0pt none;\r
-       border-top:1px solid #BEBEBE;\r
-       height:15px;\r
-}\r
-.bold {\r
-       color: red !important;\r
-}\r
-.ui-hidden {\r
-       left:-10000px;\r
-       position:absolute;\r
-       top:-10000px;\r
-       visibility:hidden;\r
-}\r
-\r
-</style>\r
-</head>\r
-<body >\r
-\r
-<h1>jQuery - ProgressBar</h1>\r
-\r
-<div id="log">log</div>\r
-\r
-\r
-<div id='p1'></div><br>\r
-\r
-<button id="p1-create">Create</button>\r
-<button id="p1-destroy" onclick="$('#p1').progressbar('destroy');">destroy</button>\r
-<button id="p1-start" onclick="$('#p1').progressbar('start');">Start</button>\r
-<button id="p1-stop" onclick="$('#p1').progressbar('stop');">Stop</button>\r
-<button id="p1-stop" onclick="$('#p1').progressbar('pause');">pause</button>\r
-<button id="p1-enable" onclick="$('#p1').progressbar('enable');">enable</button>\r
-<button id="p1-disable" onclick="$('#p1').progressbar('disable');">disable</button>\r
-<button id="p1-progress" onclick="$('#p1').progressbar('progress', 50);">progress to 50</button>\r
-<button id="p1-progress" onclick="$('#p1').progressbar('text', 'Textchanged!');">Change text</button>\r
-\r
-<br><br>\r
-\r
-<div id='p2'></div><br>\r
-\r
-<button id="p2-create">Create</button>\r
-<button id="p2-destroy" onclick="$('#p2').progressbar('destroy');">destroy</button>\r
-<button id="p2-start" onclick="$('#p2').progressbar('start');">Start</button>\r
-<button id="p2-stop" onclick="$('#p2').progressbar('stop');">Stop</button>\r
-<button id="p2-stop" onclick="$('#p2').progressbar('pause');">pause</button>\r
-<button id="p2-enable" onclick="$('#p2').progressbar('enable');">enable</button>\r
-<button id="p2-disable" onclick="$('#p2').progressbar('disable');">disable</button>\r
-<button id="p2-progress" onclick="$('#p2').progressbar('progress', 40);">progress to 50</button>\r
-\r
-<br><br>\r
-\r
-<div id='p3'></div><br>\r
-\r
-<button id="p3-create">Create</button>\r
-<button id="p3-destroy" onclick="$('#p3').progressbar('destroy');">destroy</button>\r
-<button id="p3-start" onclick="$('#p3').progressbar('start');">Start</button>\r
-<button id="p3-stop" onclick="$('#p3').progressbar('stop');">Stop</button>\r
-<button id="p3-stop" onclick="$('#p3').progressbar('pause');">pause</button>\r
-<button id="p3-enable" onclick="$('#p3').progressbar('enable');">enable</button>\r
-<button id="p3-disable" onclick="$('#p3').progressbar('disable');">disable</button>\r
-<button id="p3-progress" onclick="$('#p3').progressbar('progress', $('#p3-value').val());">progress to</button>\r
-<input type="text" id="p3-value" value="35"/>\r
-\r
-<br><br>\r
-\r
-<button id="p2-startall" onclick="$('#p2, #p1, #p3').progressbar('start');">Start All</button>\r
-<button id="p2-stopall" onclick="$('#p2, #p1, #p3').progressbar('stop');">Stop All</button>\r
-<button id="p2-stopall" onclick="$('#p2, #p1, #p3').progressbar('pause');">Pause All</button>\r
-\r
-<script>\r
-\r
-$(function() {\r
-\r
-       $('#p1-create').click(function() {\r
-\r
-               $('#p1').progressbar({\r
-\r
-                       text: 'jQuery ProgressBar waiting...',\r
-\r
-                       //addClass: 'ui-progressbar-inner-custom teste',\r
-\r
-                       //textClass: 'right-align',\r
-\r
-                       //align: 'right',\r
-\r
-                       equation: 'easeOutBounce',\r
-\r
-                       width: 500,\r
-\r
-                       duration: 3000,\r
-\r
-                       interval: 800,\r
-\r
-               increment: 1,\r
-\r
-                       progress: function(ui) {\r
-                               //console.log(ui.pixelRange);\r
-                               //console.log(ui);\r
-                               //ui.instance.text('Waiting...');\r
-                       },\r
-\r
-                       stop: function(ui) {\r
-                               //console.log('user stop', ui);\r
-                       },\r
-\r
-                       start: function(ui) {\r
-                               //console.log('user start', ui);\r
-                               console.log('p1', ui.identifier);\r
-                       }\r
-\r
-               });\r
-\r
-       }).trigger("click");\r
-\r
-\r
-       $('#p2-create').click(function() {\r
-\r
-               $('#p2').progressbar({\r
-\r
-                       text: 'Testing...',\r
-\r
-                       //addClass: 'ui-progressbar-inner-custom teste',\r
-\r
-                       //textClass: 'right-align',\r
-\r
-                       //align: 'right',\r
-\r
-                       width: 500,\r
-\r
-                       duration: 5000,\r
-\r
-                       equation: 'easeInOutQuint',\r
-\r
-                       interval: 2000,\r
-\r
-               increment: 50,\r
-\r
-                       progress: function(ui) {\r
-                               //console.log(ui.pixelRange);\r
-                               //console.log(ui);\r
-                               //ui.instance.text('Waiting...');\r
-                       },\r
-\r
-                       stop: function(ui) {\r
-                               //console.log('user stop', ui);\r
-                       },\r
-\r
-                       start: function(ui) {\r
-                               //console.log('user start', ui);\r
-                               console.log('p2', ui.identifier);\r
-                       }\r
-\r
-               });\r
-\r
-       }).trigger("click");\r
-\r
-\r
-       $('#p3-create').click(function() {\r
-\r
-               $('#p3').progressbar({\r
-\r
-                       //text: 'Testing again...',\r
-\r
-                       //addClass: 'ui-progressbar-inner-custom teste',\r
-\r
-                       //textClass: 'right-align',\r
-\r
-                       //align: 'right',\r
-\r
-                       width: 700,\r
-\r
-                       duration: 5000,\r
-\r
-                       interval: 3000,\r
-\r
-               increment: 10,\r
-\r
-                       progress: function(ui) {\r
-                               //console.log(ui.pixelRange);\r
-                               //console.log(ui);\r
-                               //ui.instance.text('Waiting...');\r
-                       },\r
-\r
-                       stop: function(ui) {\r
-                               //console.log('user stop', ui);\r
-                       },\r
-\r
-                       start: function(ui) {\r
-                               //console.log('user start', ui);\r
-                               console.log('p3', ui.identifier);\r
-                       }\r
-\r
-               });\r
-       }).trigger('click');\r
-});\r
-\r
-if(!window.console) {\r
- window.console = {\r
-       log: function() {\r
-               $('#log').append(arguments[0]+"<br>");\r
-               $('#log').scrollTop(999999);\r
-       }\r
- };\r
-}\r
-\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Language" content="en" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>ProgressBar Test Page</title>
+<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+<script type="text/javascript" src="../../ui/ui.core.js"></script>
+<script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+<script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+<script type="text/javascript" src="../../ui/ui.progressbar.js"></script>
+<script type="text/javascript" src="../../ui/effects.core.js"></script>
+
+<style type="text/css" media="all">
+
+body
+{
+       background: #fff;
+       font-family: Arial;
+}
+
+#log {
+       right:0px;
+       top:0px;
+       background-color:#FAFCFE;
+       border:1px solid #DFE8F6;
+       height:400px;
+       width:300px;
+       position:absolute;
+       overflow:auto;
+}
+
+/* ProgressBar */
+
+.ui-progressbar {
+       width: 400px; height: 20px;
+       border: 1px #ccc solid;
+       background:#E0E8F3 url(../images/bg.gif) repeat-x scroll 0%;
+       position:relative;
+}
+
+.ui-progressbar-wrap {
+       position: relative;
+       height: auto;
+       width: auto;
+       line-height: 18px;
+       _line-height: 16px;
+}
+
+.ui-progressbar-bar {
+       background:#9CBFEE url(../images/progress-bg.gif) repeat-x scroll left center;
+       border-bottom:1px solid #7FA9E4;
+       border-right:1px solid #7FA9E4;
+       border-top:1px solid #D1E4FD;
+       position: absolute;
+}
+
+.ui-progressbar-text {
+       color:#fff;
+       overflow: hidden;
+       white-space: nowrap;
+       font-size: 11px;
+       font-weight: bold;
+       padding-left: 5px;
+}
+
+.ui-progressbar-text-back {
+       color:#000;
+       padding-top: 1px;
+       padding-bottom: 1px;
+       padding-right: 1px;
+}
+
+.ui-progressbar-disabled {
+       opacity:.5;
+       filter:Alpha(Opacity=50);
+}
+
+
+/* custom */
+.ui-progressbar-text.right-align {
+       text-align: right;
+       padding: 0 5px 0 0;
+}
+.ui-progressbar-inner-custom {
+       background: url(../images/custom-bar.gif) repeat-x scroll left center;
+       border-bottom:1px solid #EFEFEF;
+       border-right:0pt none;
+       border-top:1px solid #BEBEBE;
+       height:15px;
+}
+.bold {
+       color: red !important;
+}
+.ui-hidden {
+       left:-10000px;
+       position:absolute;
+       top:-10000px;
+       visibility:hidden;
+}
+
+</style>
+</head>
+<body >
+
+<h1>jQuery - ProgressBar</h1>
+
+<div id="log">log</div>
+
+
+<div id='p1'></div><br>
+
+<button id="p1-create">Create</button>
+<button id="p1-destroy" onclick="$('#p1').progressbar('destroy');">destroy</button>
+<button id="p1-start" onclick="$('#p1').progressbar('start');">Start</button>
+<button id="p1-stop" onclick="$('#p1').progressbar('stop');">Stop</button>
+<button id="p1-stop" onclick="$('#p1').progressbar('pause');">pause</button>
+<button id="p1-enable" onclick="$('#p1').progressbar('enable');">enable</button>
+<button id="p1-disable" onclick="$('#p1').progressbar('disable');">disable</button>
+<button id="p1-progress" onclick="$('#p1').progressbar('progress', 50);">progress to 50</button>
+<button id="p1-progress" onclick="$('#p1').progressbar('text', 'Textchanged!');">Change text</button>
+
+<br><br>
+
+<div id='p2'></div><br>
+
+<button id="p2-create">Create</button>
+<button id="p2-destroy" onclick="$('#p2').progressbar('destroy');">destroy</button>
+<button id="p2-start" onclick="$('#p2').progressbar('start');">Start</button>
+<button id="p2-stop" onclick="$('#p2').progressbar('stop');">Stop</button>
+<button id="p2-stop" onclick="$('#p2').progressbar('pause');">pause</button>
+<button id="p2-enable" onclick="$('#p2').progressbar('enable');">enable</button>
+<button id="p2-disable" onclick="$('#p2').progressbar('disable');">disable</button>
+<button id="p2-progress" onclick="$('#p2').progressbar('progress', 40);">progress to 50</button>
+
+<br><br>
+
+<div id='p3'></div><br>
+
+<button id="p3-create">Create</button>
+<button id="p3-destroy" onclick="$('#p3').progressbar('destroy');">destroy</button>
+<button id="p3-start" onclick="$('#p3').progressbar('start');">Start</button>
+<button id="p3-stop" onclick="$('#p3').progressbar('stop');">Stop</button>
+<button id="p3-stop" onclick="$('#p3').progressbar('pause');">pause</button>
+<button id="p3-enable" onclick="$('#p3').progressbar('enable');">enable</button>
+<button id="p3-disable" onclick="$('#p3').progressbar('disable');">disable</button>
+<button id="p3-progress" onclick="$('#p3').progressbar('progress', $('#p3-value').val());">progress to</button>
+<input type="text" id="p3-value" value="35"/>
+
+<br><br>
+
+<button id="p2-startall" onclick="$('#p2, #p1, #p3').progressbar('start');">Start All</button>
+<button id="p2-stopall" onclick="$('#p2, #p1, #p3').progressbar('stop');">Stop All</button>
+<button id="p2-stopall" onclick="$('#p2, #p1, #p3').progressbar('pause');">Pause All</button>
+
+<script>
+
+$(function() {
+
+       $('#p1-create').click(function() {
+
+               $('#p1').progressbar({
+
+                       text: 'jQuery ProgressBar waiting...',
+
+                       //addClass: 'ui-progressbar-inner-custom teste',
+
+                       //textClass: 'right-align',
+
+                       //align: 'right',
+
+                       equation: 'easeOutBounce',
+
+                       width: 500,
+
+                       duration: 3000,
+
+                       interval: 800,
+
+               increment: 1,
+
+                       progress: function(ui) {
+                               //console.log(ui.pixelRange);
+                               //console.log(ui);
+                               //ui.instance.text('Waiting...');
+                       },
+
+                       stop: function(ui) {
+                               //console.log('user stop', ui);
+                       },
+
+                       start: function(ui) {
+                               //console.log('user start', ui);
+                               console.log('p1', ui.identifier);
+                       }
+
+               });
+
+       }).trigger("click");
+
+
+       $('#p2-create').click(function() {
+
+               $('#p2').progressbar({
+
+                       text: 'Testing...',
+
+                       //addClass: 'ui-progressbar-inner-custom teste',
+
+                       //textClass: 'right-align',
+
+                       //align: 'right',
+
+                       width: 500,
+
+                       duration: 5000,
+
+                       equation: 'easeInOutQuint',
+
+                       interval: 2000,
+
+               increment: 50,
+
+                       progress: function(ui) {
+                               //console.log(ui.pixelRange);
+                               //console.log(ui);
+                               //ui.instance.text('Waiting...');
+                       },
+
+                       stop: function(ui) {
+                               //console.log('user stop', ui);
+                       },
+
+                       start: function(ui) {
+                               //console.log('user start', ui);
+                               console.log('p2', ui.identifier);
+                       }
+
+               });
+
+       }).trigger("click");
+
+
+       $('#p3-create').click(function() {
+
+               $('#p3').progressbar({
+
+                       //text: 'Testing again...',
+
+                       //addClass: 'ui-progressbar-inner-custom teste',
+
+                       //textClass: 'right-align',
+
+                       //align: 'right',
+
+                       width: 700,
+
+                       duration: 5000,
+
+                       interval: 3000,
+
+               increment: 10,
+
+                       progress: function(ui) {
+                               //console.log(ui.pixelRange);
+                               //console.log(ui);
+                               //ui.instance.text('Waiting...');
+                       },
+
+                       stop: function(ui) {
+                               //console.log('user stop', ui);
+                       },
+
+                       start: function(ui) {
+                               //console.log('user start', ui);
+                               console.log('p3', ui.identifier);
+                       }
+
+               });
+       }).trigger('click');
+});
+
+if(!window.console) {
+ window.console = {
+       log: function() {
+               $('#log').append(arguments[0]+"<br>");
+               $('#log').scrollTop(999999);
+       }
+ };
+}
+
+</script>
+</body>
+</html>
index caef95f2690763f6a62c348a2cc6907026cd6b56..1129db91e2edb0a33ec1e346b12dca7ddfa184e4 100644 (file)
@@ -1,26 +1,26 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Resizable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#resizable").resizable();\r
-       });\r
-       </script>\r
-</head>\r
-\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Resizable\r
-       <div id="resizable"></div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Resizable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#resizable").resizable();
+       });
+       </script>
+</head>
+
+<body>
+
+<ul class="plugins">
+<li>
+       Resizable
+       <div id="resizable"></div>
+</li>
+</ul>
+
+</body>
+</html>
index a0f21d0efc02966fdbb9471c57836a5e9f9563c4..f3351d89857dd3594eba04e7e256290f9b4fb535 100644 (file)
@@ -1,36 +1,36 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Selectable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.selectable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#selectable").selectable();\r
-       });\r
-       </script>\r
-</head>\r
-\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Selectable\r
-       <div id="selectable">\r
-               <div>1</div>\r
-               <div>2</div>\r
-               <div>3</div>\r
-               <div>4</div>\r
-               <div>5</div>\r
-               <div>6</div>\r
-               <div>7</div>\r
-               <div>8</div>\r
-               <div>9</div>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Selectable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.selectable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#selectable").selectable();
+       });
+       </script>
+</head>
+
+<body>
+
+<ul class="plugins">
+<li>
+       Selectable
+       <div id="selectable">
+               <div>1</div>
+               <div>2</div>
+               <div>3</div>
+               <div>4</div>
+               <div>5</div>
+               <div>6</div>
+               <div>7</div>
+               <div>8</div>
+               <div>9</div>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index 543140d106f53a177d68e1569b5814300be7bf94..c6306ed8ce50d9ed9721b39df02ae5a165e190b8 100644 (file)
@@ -1,26 +1,26 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Slider</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.slider.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#slider").slider();\r
-       });\r
-       </script>\r
-</head>\r
-\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Slider\r
-       <div id="slider"></div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Slider</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.slider.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#slider").slider();
+       });
+       </script>
+</head>
+
+<body>
+
+<ul class="plugins">
+<li>
+       Slider
+       <div id="slider"></div>
+</li>
+</ul>
+
+</body>
+</html>
index d0b6bcb98f87db3150b990724e91789323d364b2..6d280ef9223ec309dd4d589176f9a7e26cbeeb20 100644 (file)
@@ -1,36 +1,36 @@
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Simple Sortable</title>\r
-       <link rel="stylesheet" href="all.css" type="text/css" media="screen">\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>\r
-       <script type="text/javascript">\r
-       $(function() {\r
-               $("#sortable").sortable();\r
-       });\r
-       </script>\r
-</head>\r
-\r
-<body>\r
-\r
-<ul class="plugins">\r
-<li>\r
-       Sortable\r
-       <div id="sortable">\r
-               <div>C</div>\r
-               <div>I</div>\r
-               <div>G</div>\r
-               <div>F</div>\r
-               <div>D</div>\r
-               <div>H</div>\r
-               <div>A</div>\r
-               <div>E</div>\r
-               <div>B</div>\r
-       </div>\r
-</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Simple Sortable</title>
+       <link rel="stylesheet" href="all.css" type="text/css" media="screen">
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>
+       <script type="text/javascript">
+       $(function() {
+               $("#sortable").sortable();
+       });
+       </script>
+</head>
+
+<body>
+
+<ul class="plugins">
+<li>
+       Sortable
+       <div id="sortable">
+               <div>C</div>
+               <div>I</div>
+               <div>G</div>
+               <div>F</div>
+               <div>D</div>
+               <div>H</div>
+               <div>A</div>
+               <div>E</div>
+               <div>B</div>
+       </div>
+</li>
+</ul>
+
+</body>
+</html>
index a7c4c1d04da1c795730914a88ca808e0a6a7cb4f..591341ad228d1c2eb7bbe8e7220065d6d44c086a 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-       <title>Sortable Visual Test</title>\r
-       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>\r
-       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-       \r
-       <script type="text/javascript">\r
-\r
-\r
-               \r
-               $(document).ready( function() {\r
-                       $('ul').not(".draggable").sortable({  items: "li" });\r
-                       $("ul.draggable li").draggable({ helper: "clone", connectToSortable: "ul" });\r
-               });\r
-       </script>\r
-       <style>\r
-               ul {\r
-                       list-style: none;\r
-                       padding: 0;\r
-                       border: 1px solid black;\r
-                       width: 210px;\r
-                       float: left;\r
-                       margin-right: 10px;\r
-               }\r
-               li {\r
-                       width: 200px;\r
-                       background: #eee;\r
-                       margin: 5px;\r
-               }\r
-       </style>\r
-</head>\r
-<body>\r
-\r
-<ul class="draggable">\r
-       <li>Draggable</li>\r
-</ul>\r
-\r
-<ul>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-</ul>\r
-\r
-<ul>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-</ul>\r
-\r
-<ul>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-</ul>\r
-\r
-<ul>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-</ul>\r
-\r
-<ul>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-       <li>Item 1</li>\r
-       <li>Item 2</li>\r
-       <li>Item 3</li>\r
-       <li>Item 4</li>\r
-       <li>Item 5</li>\r
-       <li>Item 6</li>\r
-       <li>Item 7</li>\r
-       <li>Item 8</li>\r
-       <li>Item 9</li>\r
-       <li>Item 10</li>\r
-       <li>Item 11</li>\r
-       <li>Item 12</li>\r
-       <li>Item 13</li>\r
-       <li>Item 14</li>\r
-       <li>Item 15</li>\r
-       <li>Item 16</li>\r
-       <li>Item 17</li>\r
-       <li>Item 18</li>\r
-       <li>Item 19</li>\r
-       <li>Item 20</li>\r
-</ul>\r
-</body>\r
+<!doctype html>
+<html lang="en">
+<head>
+       <title>Sortable Visual Test</title>
+       <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+       <script type="text/javascript" src="../../ui/ui.core.js"></script>
+       <script type="text/javascript" src="../../ui/ui.sortable.js"></script>
+       <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+       
+       <script type="text/javascript">
+
+
+               
+               $(document).ready( function() {
+                       $('ul').not(".draggable").sortable({  items: "li" });
+                       $("ul.draggable li").draggable({ helper: "clone", connectToSortable: "ul" });
+               });
+       </script>
+       <style>
+               ul {
+                       list-style: none;
+                       padding: 0;
+                       border: 1px solid black;
+                       width: 210px;
+                       float: left;
+                       margin-right: 10px;
+               }
+               li {
+                       width: 200px;
+                       background: #eee;
+                       margin: 5px;
+               }
+       </style>
+</head>
+<body>
+
+<ul class="draggable">
+       <li>Draggable</li>
+</ul>
+
+<ul>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+</ul>
+
+<ul>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+</ul>
+
+<ul>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+</ul>
+
+<ul>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+</ul>
+
+<ul>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+       <li>Item 1</li>
+       <li>Item 2</li>
+       <li>Item 3</li>
+       <li>Item 4</li>
+       <li>Item 5</li>
+       <li>Item 6</li>
+       <li>Item 7</li>
+       <li>Item 8</li>
+       <li>Item 9</li>
+       <li>Item 10</li>
+       <li>Item 11</li>
+       <li>Item 12</li>
+       <li>Item 13</li>
+       <li>Item 14</li>
+       <li>Item 15</li>
+       <li>Item 16</li>
+       <li>Item 17</li>
+       <li>Item 18</li>
+       <li>Item 19</li>
+       <li>Item 20</li>
+</ul>
+</body>
 </html>
\ No newline at end of file
index 219a178ec6e4adf3f50814cd10d5352a6a83a821..de05b6d25fb980bafa04de2747f53854c462851a 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-<title>jQuery UI Spinner Test page</title>\r
-<script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.spinner.js"></script>\r
-\r
-\r
-<script type="text/javascript">\r
-$(function(){\r
-       var itemList = [\r
-               {url: "http://ejohn.org", title: "John Resig"},\r
-               {url: "http://bassistance.de/", title: "J&ouml;rn Zaefferer"},\r
-               {url: "http://snook.ca/jonathan/", title: "Jonathan Snook"},\r
-               {url: "http://rdworth.org/", title: "Richard Worth"},\r
-               {url: "http://www.paulbakaus.com/", title: "Paul Bakaus"},\r
-               {url: "http://www.yehudakatz.com/", title: "Yehuda Katz"},\r
-               {url: "http://www.azarask.in/", title: "Aza Raskin"},\r
-               {url: "http://www.karlswedberg.com/", title: "Karl Swedberg"},\r
-               {url: "http://scottjehl.com/", title: "Scott Jehl"},\r
-               {url: "http://jdsharp.us/", title: "Jonathan Sharp"},\r
-               {url: "http://www.kevinhoyt.org/", title: "Kevin Hoyt"},\r
-               {url: "http://www.codylindley.com/", title: "Cody Lindley"},\r
-               {url: "http://malsup.com/jquery/", title: "Mike Alsup"}\r
-       ];\r
-       \r
-       var opts = {\r
-               's1': {},\r
-               's2': {stepping: 0.25},\r
-               's3': {currency: '$'},\r
-               's4': {},\r
-               's5': {\r
-                       init: function(ui) {\r
-                               for (var i=0; i<itemList.length; i++) {\r
-                                       ui.add(itemList[i].title +' <a href="'+ itemList[i].url +'" target="_blank">&raquo;</a>');\r
-                               }\r
-                       }\r
-               }\r
-       };\r
-\r
-       for (var n in opts)\r
-               $("#"+n).spinner(opts[n]);\r
-\r
-       $("button").click(function(e){\r
-               var ns = $(this).attr('id').match(/(s\d)\-(\w+)$/);\r
-               if (ns != null)\r
-                       $('#'+ns[1]).spinner( (ns[2] == 'create') ? opts[ns[1]] : ns[2]);\r
-       });\r
-\r
-});\r
-</script>\r
-\r
-<style type="text/css">\r
-\r
-body\r
-{\r
-       background: #fff;\r
-       font-family: Arial;\r
-}\r
-\r
-label {\r
-       float: left;\r
-       margin-right: .5em;\r
-       padding: .15em 0;\r
-       font-weight: bold;\r
-}\r
-\r
-.ui-spinner {\r
-       width: 15em;\r
-       display: block;\r
-       position: relative;\r
-       overflow: hidden;\r
-       border: 1px solid #999;\r
-       background: #FEFEFE url(../images/spinner-bg.gif) repeat-x left bottom;\r
-       padding: 0 5px;\r
-}\r
-\r
-.ui-spinner-disabled {\r
-       background: #F4F4F4;\r
-       color: #CCC;\r
-}\r
-\r
-.ui-spinner-box {\r
-       width: 90%;\r
-       height: 100%;\r
-       float: left;\r
-       font-size: 125%;\r
-       border: none;\r
-       background: none;\r
-       padding: 0;\r
-}\r
-\r
-.ui-spinner-up,\r
-.ui-spinner-down {\r
-       width: 10%;\r
-       height: 50%;\r
-       font-size: 0.5em;\r
-       padding: 0;\r
-       margin: 0;\r
-       z-index: 100;\r
-       text-align: center;\r
-       vertical-align: middle;\r
-       position: absolute;\r
-       right: 0;\r
-       cursor: default;\r
-       border: 1px solid #999;\r
-       border-right: none;\r
-       border-top: none;\r
-}\r
-\r
-.ui-spinner-down {\r
-       bottom: 0;\r
-       border-bottom: 0;\r
-}\r
-\r
-.ui-spinner-pressed {\r
-       background: #FEFEFE;\r
-}\r
-\r
-.ui-spinner-list,\r
-.ui-spinner-listitem {\r
-       margin: 0;\r
-       padding: 0;\r
-}\r
-\r
-</style>\r
-</head>\r
-\r
-<body>\r
-\r
-<h1>jQuery UI Spinner Test Page</h1>\r
-\r
-<p>This is a visual test page for developers and demonstrates some of the features included in ui.spinner. Mousewheel support is provided by the <a href="http://plugins.jquery.com/project/mousewheel">mousewheel plugin</a>.</p>\r
-\r
-<p><label for="s1">Basic: </label>\r
-<input type="text" id="s1" value="10" /></p>\r
-\r
-<p>\r
-<button id="s1-disable">disable</button>\r
-<button id="s1-enable">enable</button>\r
-<button id="s1-destroy">destroy</button>\r
-<button id="s1-create">create</button>\r
-</p>\r
-\r
-<hr />\r
-\r
-<p><label for="s2">Decimal: </label>\r
-<input type="text" id="s2" value="10.25" /></p>\r
-\r
-<p>\r
-<button id="s2-disable">disable</button>\r
-<button id="s2-enable">enable</button>\r
-<button id="s2-destroy">destroy</button>\r
-<button id="s2-create">create</button>\r
-</p>\r
-\r
-<hr />\r
-\r
-<p><label for="s3">Currency: </label>\r
-<input type="text" id="s3" /></p>\r
-\r
-<p>\r
-<button id="s3-disable">disable</button>\r
-<button id="s3-enable">enable</button>\r
-<button id="s3-destroy">destroy</button>\r
-<button id="s3-create">create</button>\r
-</p>\r
-\r
-<hr />\r
-\r
-<p><label for="s4">Data List: </label>\r
-<ul id="s4">\r
-       <li>item 1</li>\r
-       <li>item 2</li>\r
-       <li>item 3</li>\r
-       <li>item 4</li>\r
-       <li>item 5</li>\r
-       <li>item 6</li>\r
-       <li>item 7</li>\r
-       <li>item 8</li>\r
-       <li>item 9</li>\r
-       <li>item 10</li>\r
-       <li>item 11</li>\r
-       <li>item 12</li>\r
-       <li>item 13</li>\r
-       <li>item 14</li>\r
-       <li>item 15</li>\r
-       <li>item 16</li>\r
-       <li>item 17</li>\r
-       <li>item 18</li>\r
-       <li>item 19</li>\r
-       <li>item 20</li>\r
-</ul>\r
-\r
-<p>\r
-<button id="s4-disable">disable</button>\r
-<button id="s4-enable">enable</button>\r
-<button id="s4-destroy">destroy</button>\r
-<button id="s4-create">create</button>\r
-</p>\r
-\r
-<hr />\r
-\r
-<p><label for="s5">Presenters: </label>\r
-<div id="s5"></div>\r
-\r
-<p>\r
-<button id="s5-disable">disable</button>\r
-<button id="s5-enable">enable</button>\r
-<button id="s5-destroy">destroy</button>\r
-<button id="s5-create">create</button>\r
-</p>\r
-\r
-<hr />\r
-\r
-\r
-</body>\r
+<!doctype html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>jQuery UI Spinner Test page</title>
+<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+<script type="text/javascript" src="../../ui/ui.core.js"></script>
+<script type="text/javascript" src="../../ui/ui.spinner.js"></script>
+
+
+<script type="text/javascript">
+$(function(){
+       var itemList = [
+               {url: "http://ejohn.org", title: "John Resig"},
+               {url: "http://bassistance.de/", title: "J&ouml;rn Zaefferer"},
+               {url: "http://snook.ca/jonathan/", title: "Jonathan Snook"},
+               {url: "http://rdworth.org/", title: "Richard Worth"},
+               {url: "http://www.paulbakaus.com/", title: "Paul Bakaus"},
+               {url: "http://www.yehudakatz.com/", title: "Yehuda Katz"},
+               {url: "http://www.azarask.in/", title: "Aza Raskin"},
+               {url: "http://www.karlswedberg.com/", title: "Karl Swedberg"},
+               {url: "http://scottjehl.com/", title: "Scott Jehl"},
+               {url: "http://jdsharp.us/", title: "Jonathan Sharp"},
+               {url: "http://www.kevinhoyt.org/", title: "Kevin Hoyt"},
+               {url: "http://www.codylindley.com/", title: "Cody Lindley"},
+               {url: "http://malsup.com/jquery/", title: "Mike Alsup"}
+       ];
+       
+       var opts = {
+               's1': {},
+               's2': {stepping: 0.25},
+               's3': {currency: '$'},
+               's4': {},
+               's5': {
+                       init: function(ui) {
+                               for (var i=0; i<itemList.length; i++) {
+                                       ui.add(itemList[i].title +' <a href="'+ itemList[i].url +'" target="_blank">&raquo;</a>');
+                               }
+                       }
+               }
+       };
+
+       for (var n in opts)
+               $("#"+n).spinner(opts[n]);
+
+       $("button").click(function(e){
+               var ns = $(this).attr('id').match(/(s\d)\-(\w+)$/);
+               if (ns != null)
+                       $('#'+ns[1]).spinner( (ns[2] == 'create') ? opts[ns[1]] : ns[2]);
+       });
+
+});
+</script>
+
+<style type="text/css">
+
+body
+{
+       background: #fff;
+       font-family: Arial;
+}
+
+label {
+       float: left;
+       margin-right: .5em;
+       padding: .15em 0;
+       font-weight: bold;
+}
+
+.ui-spinner {
+       width: 15em;
+       display: block;
+       position: relative;
+       overflow: hidden;
+       border: 1px solid #999;
+       background: #FEFEFE url(../images/spinner-bg.gif) repeat-x left bottom;
+       padding: 0 5px;
+}
+
+.ui-spinner-disabled {
+       background: #F4F4F4;
+       color: #CCC;
+}
+
+.ui-spinner-box {
+       width: 90%;
+       height: 100%;
+       float: left;
+       font-size: 125%;
+       border: none;
+       background: none;
+       padding: 0;
+}
+
+.ui-spinner-up,
+.ui-spinner-down {
+       width: 10%;
+       height: 50%;
+       font-size: 0.5em;
+       padding: 0;
+       margin: 0;
+       z-index: 100;
+       text-align: center;
+       vertical-align: middle;
+       position: absolute;
+       right: 0;
+       cursor: default;
+       border: 1px solid #999;
+       border-right: none;
+       border-top: none;
+}
+
+.ui-spinner-down {
+       bottom: 0;
+       border-bottom: 0;
+}
+
+.ui-spinner-pressed {
+       background: #FEFEFE;
+}
+
+.ui-spinner-list,
+.ui-spinner-listitem {
+       margin: 0;
+       padding: 0;
+}
+
+</style>
+</head>
+
+<body>
+
+<h1>jQuery UI Spinner Test Page</h1>
+
+<p>This is a visual test page for developers and demonstrates some of the features included in ui.spinner. Mousewheel support is provided by the <a href="http://plugins.jquery.com/project/mousewheel">mousewheel plugin</a>.</p>
+
+<p><label for="s1">Basic: </label>
+<input type="text" id="s1" value="10" /></p>
+
+<p>
+<button id="s1-disable">disable</button>
+<button id="s1-enable">enable</button>
+<button id="s1-destroy">destroy</button>
+<button id="s1-create">create</button>
+</p>
+
+<hr />
+
+<p><label for="s2">Decimal: </label>
+<input type="text" id="s2" value="10.25" /></p>
+
+<p>
+<button id="s2-disable">disable</button>
+<button id="s2-enable">enable</button>
+<button id="s2-destroy">destroy</button>
+<button id="s2-create">create</button>
+</p>
+
+<hr />
+
+<p><label for="s3">Currency: </label>
+<input type="text" id="s3" /></p>
+
+<p>
+<button id="s3-disable">disable</button>
+<button id="s3-enable">enable</button>
+<button id="s3-destroy">destroy</button>
+<button id="s3-create">create</button>
+</p>
+
+<hr />
+
+<p><label for="s4">Data List: </label>
+<ul id="s4">
+       <li>item 1</li>
+       <li>item 2</li>
+       <li>item 3</li>
+       <li>item 4</li>
+       <li>item 5</li>
+       <li>item 6</li>
+       <li>item 7</li>
+       <li>item 8</li>
+       <li>item 9</li>
+       <li>item 10</li>
+       <li>item 11</li>
+       <li>item 12</li>
+       <li>item 13</li>
+       <li>item 14</li>
+       <li>item 15</li>
+       <li>item 16</li>
+       <li>item 17</li>
+       <li>item 18</li>
+       <li>item 19</li>
+       <li>item 20</li>
+</ul>
+
+<p>
+<button id="s4-disable">disable</button>
+<button id="s4-enable">enable</button>
+<button id="s4-destroy">destroy</button>
+<button id="s4-create">create</button>
+</p>
+
+<hr />
+
+<p><label for="s5">Presenters: </label>
+<div id="s5"></div>
+
+<p>
+<button id="s5-disable">disable</button>
+<button id="s5-enable">enable</button>
+<button id="s5-destroy">destroy</button>
+<button id="s5-create">create</button>
+</p>
+
+<hr />
+
+
+</body>
 </html>
\ No newline at end of file
index 4ae543245f1b3114657ee28bfb94cc13faac908c..988e7d132ec7f4592dab7193925ee09dc1db98bd 100644 (file)
-<!doctype html>\r
-<html lang="en">\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
-<title>Untitled Document</title>\r
-\r
-<script type="text/javascript" src="../../jquery-1.2.6.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.core.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.draggable.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.droppable.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.resizable.js"></script>\r
-<script type="text/javascript" src="../../ui/ui.sortable.js"></script>\r
-<script type="text/javascript" src="../../../branches/1.8/ui.tree.js"></script>\r
-\r
-\r
-<script>\r
-$(document).ready(function(){\r
-\r
-$("ul.sortable").tree({\r
-       sortOn: "li",\r
-       dropOn: ".folder",\r
-       dropHoverClass: "hover"\r
-});\r
-\r
-\r
-       \r
-});\r
-</script>\r
-\r
-<style type="text/css">\r
-body {\r
-background:#fff;\r
-color:#333;\r
-font-size:11px;\r
-font-family:"lucida grande", tahoma, verdana, arial, sans-serif;\r
-}\r
-\r
-.hover {\r
-       background: green;\r
-       color: #fff;\r
-}\r
-\r
-.placeholder {\r
-       display: none;\r
-}\r
-\r
-.hover-up {\r
-       border-bottom: 2px solid black;\r
-}\r
-\r
-.hover-down {\r
-       border-top: 2px solid black;\r
-}\r
-\r
-.folder {\r
-       border: 1px solid black;\r
-}\r
-\r
-li {\r
-       padding: 3px;\r
-}\r
-\r
-</style>\r
-</head>\r
-\r
-<body>\r
-\r
-       <ul class="sortable">\r
-               <li><div class="folder">Item 1</div></li>\r
-               <li><div class="folder">Item 2</div>\r
-                       <ul>\r
-                               <li>Sub Item 1</li>\r
-                               <li>Sub Item 3</li>\r
-                               <li>Sub Item 4</li>\r
-                               <li>Sub Item 5</li>\r
-                       </ul>\r
-               </li>\r
-               <li><div class="folder">Item 3</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 4</div></li>\r
-               <li><div class="folder">Item 2</div>\r
-                       <ul>\r
-                               <li>Sub Item 1</li>\r
-                               <li>Sub Item 3</li>\r
-                               <li>Sub Item 4</li>\r
-                               <li>Sub Item 5</li>\r
-                       </ul>\r
-               </li>\r
-               <li>Item 6</li>\r
-               <li>Item 7</li>\r
-               <li>Item 8</li>\r
-       </ul>\r
-\r
-</body>\r
+<!doctype html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>Untitled Document</title>
+
+<script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+<script type="text/javascript" src="../../ui/ui.core.js"></script>
+<script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+<script type="text/javascript" src="../../ui/ui.droppable.js"></script>
+<script type="text/javascript" src="../../ui/ui.resizable.js"></script>
+<script type="text/javascript" src="../../ui/ui.sortable.js"></script>
+<script type="text/javascript" src="../../../branches/1.8/ui.tree.js"></script>
+
+
+<script>
+$(document).ready(function(){
+
+$("ul.sortable").tree({
+       sortOn: "li",
+       dropOn: ".folder",
+       dropHoverClass: "hover"
+});
+
+
+       
+});
+</script>
+
+<style type="text/css">
+body {
+background:#fff;
+color:#333;
+font-size:11px;
+font-family:"lucida grande", tahoma, verdana, arial, sans-serif;
+}
+
+.hover {
+       background: green;
+       color: #fff;
+}
+
+.placeholder {
+       display: none;
+}
+
+.hover-up {
+       border-bottom: 2px solid black;
+}
+
+.hover-down {
+       border-top: 2px solid black;
+}
+
+.folder {
+       border: 1px solid black;
+}
+
+li {
+       padding: 3px;
+}
+
+</style>
+</head>
+
+<body>
+
+       <ul class="sortable">
+               <li><div class="folder">Item 1</div></li>
+               <li><div class="folder">Item 2</div>
+                       <ul>
+                               <li>Sub Item 1</li>
+                               <li>Sub Item 3</li>
+                               <li>Sub Item 4</li>
+                               <li>Sub Item 5</li>
+                       </ul>
+               </li>
+               <li><div class="folder">Item 3</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 4</div></li>
+               <li><div class="folder">Item 2</div>
+                       <ul>
+                               <li>Sub Item 1</li>
+                               <li>Sub Item 3</li>
+                               <li>Sub Item 4</li>
+                               <li>Sub Item 5</li>
+                       </ul>
+               </li>
+               <li>Item 6</li>
+               <li>Item 7</li>
+               <li>Item 8</li>
+       </ul>
+
+</body>
 </html>
\ No newline at end of file
index 64efdfba3ab5cd325e6956dd727b141b74b6005f..d77a0384a38aea3eb7dddf54f8e912dae1570c22 100644 (file)
-/*\r
- * jQuery UI screen structure and presentation\r
- * This CSS file was generated by ThemeRoller, a Filament Group Project for jQuery UI\r
- * Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com\r
- * Visit themeroller.com\r
-*/\r
-\r
-\r
-\r
-\r
-/*UI accordion*/\r
-.ui-accordion {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       border-bottom: 1px solid #d3d3d3;\r
-}\r
-.ui-accordion-group {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       border: 1px solid #d3d3d3;\r
-       border-bottom: none;\r
-}\r
-.ui-accordion-header {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       cursor: pointer;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-}\r
-.ui-accordion-header a {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       display: block;\r
-       font-size: 1.1em;\r
-       font-weight: normal;\r
-       text-decoration: none;\r
-       padding: .5em .5em .5em 1.7em;\r
-       color: #555555;\r
-       background: url(images/888888_7x7_arrow_right.gif) .5em 50% no-repeat;\r
-}\r
-.ui-accordion-header a:hover {\r
-       background: url(images/454545_7x7_arrow_right.gif) .5em 50% no-repeat;\r
-       color: #212121;\r
-}\r
-.ui-accordion-header:hover {\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       color: #212121;\r
-}\r
-.selected .ui-accordion-header, .selected .ui-accordion-header:hover {\r
-       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;\r
-}\r
-.selected .ui-accordion-header a, .selected .ui-accordion-header a:hover {\r
-       color: #222222;\r
-       background: url(images/222222_7x7_arrow_down.gif) .5em 50% no-repeat;\r
-}\r
-.ui-accordion-content {\r
-       padding: 1.5em 1.7em;   \r
-       background: #ffffff;\r
-       color: #222222;\r
-       font-size: 1.1em;\r
-}\r
-\r
-\r
-/*slider*/\r
-.ui-slider {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       background: #ffffff;\r
-       border: 1px solid #d3d3d3;\r
-       height: .8em;\r
-       position: relative;\r
-}\r
-.ui-slider-handle {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       position: absolute;\r
-       z-index: 2;\r
-       top: -3px;\r
-       width: 1.2em;\r
-       height: 1.2em;\r
-       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;\r
-       border: 1px solid #dddddd;\r
-}\r
-.ui-slider-handle:hover {\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       border: 1px solid #999999;\r
-}\r
-.ui-slider-handle-active, .ui-slider-handle-active:hover {\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       border: 1px solid #dddddd;\r
-}\r
-.ui-slider-range {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       height: .8em;\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       position: absolute;\r
-       border: 1px solid #d3d3d3;\r
-       border-left: 0;\r
-       border-right: 0;\r
-       top: -1px;\r
-       z-index: 1;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*dialog*/\r
-.ui-dialog {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       background: #ffffff;\r
-       color: #222222;\r
-       border: 4px solid #d3d3d3;\r
-       position: relative;\r
-}\r
-.ui-dialog-content {\r
-       border: 1px solid #d3d3d3;\r
-       background: #ffffff;\r
-       color: #222222;\r
-}\r
-.ui-resizable-handle {\r
-       position: absolute;\r
-       font-size: 0.1px;\r
-       z-index: 99999;\r
-}\r
-.ui-resizable .ui-resizable-handle {\r
-       display: block; \r
-}\r
-body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */\r
-body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */\r
-.ui-resizable-n { \r
-       cursor: n-resize; \r
-       height: 7px; \r
-       width: 100%; \r
-       top: -5px; \r
-       left: 0px;  \r
-}\r
-.ui-resizable-s { \r
-       cursor: s-resize; \r
-       height: 7px; \r
-       width: 100%; \r
-       bottom: -5px; \r
-       left: 0px; \r
-}\r
-.ui-resizable-e { \r
-       cursor: e-resize; \r
-       width: 7px; \r
-       right: -5px; \r
-       top: 0px; \r
-       height: 100%; \r
-}\r
-.ui-resizable-w { \r
-       cursor: w-resize; \r
-       width: 7px; \r
-       left: -5px; \r
-       top: 0px; \r
-       height: 100%;\r
-}\r
-.ui-resizable-se { \r
-       cursor: se-resize; \r
-       width: 13px; \r
-       height: 13px; \r
-       right: 0px; \r
-       bottom: 0px; \r
-       background: url(images/222222_11x11_icon_resize_se.gif) no-repeat 0 0;\r
-}\r
-.ui-resizable-sw { \r
-       cursor: sw-resize; \r
-       width: 9px; \r
-       height: 9px; \r
-       left: 0px; \r
-       bottom: 0px;  \r
-}\r
-.ui-resizable-nw { \r
-       cursor: nw-resize; \r
-       width: 9px; \r
-       height: 9px; \r
-       left: 0px; \r
-       top: 0px; \r
-}\r
-.ui-resizable-ne { \r
-       cursor: ne-resize; \r
-       width: 9px; \r
-       height: 9px; \r
-       right: 0px; \r
-       top: 0px; \r
-}\r
-.ui-dialog-titlebar {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       padding: .5em 1.5em .5em 1em;\r
-       color: #555555;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       border-bottom: 1px solid #d3d3d3;\r
-       font-size: 1.1em;\r
-       font-weight: normal;\r
-       position: relative;\r
-}\r
-.ui-dialog-title {\r
-\r
-}\r
-.ui-dialog-titlebar-close {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       background: url(images/888888_11x11_icon_close.gif) 0 0 no-repeat;\r
-       position: absolute;\r
-       right: 8px;\r
-       top: .7em;\r
-       width: 11px;\r
-       height: 11px;\r
-       z-index: 100;\r
-}\r
-.ui-dialog-titlebar-close-hover, .ui-dialog-titlebar-close:hover {\r
-       background: url(images/454545_11x11_icon_close.gif) 0 0 no-repeat;\r
-}\r
-.ui-dialog-titlebar-close:active {\r
-       background: url(images/222222_11x11_icon_close.gif) 0 0 no-repeat;\r
-}\r
-.ui-dialog-titlebar-close span {\r
-       display: none;\r
-}\r
-.ui-dialog-content {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       background: #ffffff;\r
-       color: #222222;\r
-       padding: 1.5em 1.7em;   \r
-}\r
-.ui-dialog-buttonpane {\r
-       position: absolute;\r
-       bottom: 0;\r
-       width: 100%;\r
-       text-align: left;\r
-       border-top: 1px solid #d3d3d3;\r
-       background: ;\r
-}\r
-.ui-dialog-buttonpane button {\r
-       margin: .5em 0 .5em 8px;\r
-       color: #555555;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       font-size: 1.1em;\r
-       border: 1px solid #d3d3d3;\r
-       cursor: pointer;\r
-       padding: .2em .6em .3em .6em;\r
-       line-height: 1.4em;\r
-}\r
-.ui-dialog-buttonpane button:hover {\r
-       color: #212121;\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       border: 1px solid #999999;\r
-}\r
-.ui-dialog-buttonpane button:active {\r
-       color: #222222;\r
-       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;\r
-       border: 1px solid #dddddd;\r
-}\r
-/* This file skins dialog */\r
-.ui-dialog.ui-draggable .ui-dialog-titlebar,\r
-.ui-dialog.ui-draggable .ui-dialog-titlebar {\r
-       cursor: move;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*datepicker*/\r
-/* Main Style Sheet for jQuery UI date picker */\r
-.ui-datepicker-div, #ui-datepicker-div, .ui-datepicker-inline {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       background: #ffffff;\r
-       font-size: 1.1em;\r
-       border: 4px solid #d3d3d3;\r
-       width: 15.5em;\r
-       padding: 2.5em .5em .5em .5em;\r
-       position: relative;\r
-}\r
-#ui-datepicker-div, .ui-datepicker-div {\r
-       z-index: 9999; /*must have*/\r
-       display: none;\r
-       background: #ffffff;\r
-}\r
-.ui-datepicker-inline {\r
-       float: left;\r
-       display: block;\r
-}\r
-.ui-datepicker-control {\r
-       display: none;\r
-}\r
-.ui-datepicker-current {\r
-       display: none;\r
-}\r
-.ui-datepicker-next, .ui-datepicker-prev {\r
-       position: absolute;\r
-       left: .5em;\r
-       top: .5em;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-}\r
-.ui-datepicker-next {\r
-       left: 14.6em;\r
-}\r
-.ui-datepicker-next:hover, .ui-datepicker-prev:hover {\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-}\r
-.ui-datepicker-next a, .ui-datepicker-prev a {\r
-       text-indent: -999999px;\r
-       width: 1.3em;\r
-       height: 1.4em;\r
-       display: block;\r
-       font-size: 1em;\r
-       background: url(images/888888_7x7_arrow_left.gif) 50% 50% no-repeat;\r
-       border: 1px solid #d3d3d3;\r
-       cursor: pointer;\r
-}\r
-.ui-datepicker-next a {\r
-       background: url(images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;\r
-}\r
-.ui-datepicker-prev a:hover {\r
-       background: url(images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;\r
-}\r
-.ui-datepicker-next a:hover {\r
-       background: url(images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;\r
-}\r
-.ui-datepicker-prev a:active {\r
-       background: url(images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;\r
-}\r
-.ui-datepicker-next a:active {\r
-       background: url(images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;\r
-}\r
-.ui-datepicker-header select {\r
-       border: 1px solid #d3d3d3;\r
-       color: #555555;\r
-       background: #e6e6e6;\r
-       font-size: 1em;\r
-       line-height: 1.4em;\r
-       position: absolute;\r
-       top: .5em;\r
-       margin: 0 !important;\r
-       \r
-}\r
-.ui-datepicker-header select.ui-datepicker-new-month {\r
-width: 7em;\r
-left: 2.2em;\r
-}\r
-.ui-datepicker-header select.ui-datepicker-new-year {\r
-width: 5em;\r
-left: 9.4em;\r
-}\r
-table.ui-datepicker {\r
-       width: 15.5em;\r
-       text-align: right;\r
-}\r
-table.ui-datepicker td a {\r
-       padding: .1em .3em .1em 0;\r
-       display: block;\r
-       color: #555555;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       cursor: pointer;\r
-       border: 1px solid #ffffff;\r
-}\r
-table.ui-datepicker td a:hover {\r
-       border: 1px solid #999999;\r
-       color: #212121;\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-}\r
-table.ui-datepicker td a:active {\r
-       border: 1px solid #dddddd;\r
-       color: #222222;\r
-       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;\r
-}\r
-table.ui-datepicker .ui-datepicker-title-row td {\r
-       padding: .3em 0;\r
-       text-align: center;\r
-       font-size: .9em;\r
-       color: #222222;\r
-       text-transform: uppercase;\r
-       /*border-bottom: 1px solid #d3d3d3;*/\r
-}\r
-\r
-table.ui-datepicker .ui-datepicker-title-row td a {\r
-       color: #222222;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-\r
-/*colorpicker*/\r
-.ui-colorpicker {\r
-       width: 356px;\r
-       height: 176px;\r
-       overflow: hidden;\r
-       position: absolute;\r
-       background: url(images/colorpicker_background.png);\r
-       font-family: Arial, Helvetica, sans-serif;\r
-       display: none;\r
-}\r
-.ui-colorpicker-color {\r
-       width: 150px;\r
-       height: 150px;\r
-       left: 14px;\r
-       top: 13px;\r
-       position: absolute;\r
-       background: #f00;\r
-       overflow: hidden;\r
-       cursor: crosshair;\r
-}\r
-.ui-colorpicker-color div {\r
-       position: absolute;\r
-       top: 0;\r
-       left: 0;\r
-       width: 150px;\r
-       height: 150px;\r
-       background: url(images/colorpicker_overlay.png);\r
-}\r
-.ui-colorpicker-color div div {\r
-       position: absolute;\r
-       top: 0;\r
-       left: 0;\r
-       width: 11px;\r
-       height: 11px;\r
-       overflow: hidden;\r
-       background: url(images/colorpicker_select.gif);\r
-       margin: -5px 0 0 -5px;\r
-}\r
-.ui-colorpicker-hue {\r
-       position: absolute;\r
-       top: 13px;\r
-       left: 171px;\r
-       width: 35px;\r
-       height: 150px;\r
-       cursor: n-resize;\r
-}\r
-.ui-colorpicker-hue div {\r
-       position: absolute;\r
-       width: 35px;\r
-       height: 9px;\r
-       overflow: hidden;\r
-       background: url(images/colorpicker_indic.gif) left top;\r
-       margin: -4px 0 0 0;\r
-       left: 0px;\r
-}\r
-.ui-colorpicker-new-color {\r
-       position: absolute;\r
-       width: 60px;\r
-       height: 30px;\r
-       left: 213px;\r
-       top: 13px;\r
-       background: #f00;\r
-}\r
-.ui-colorpicker-current-color {\r
-       position: absolute;\r
-       width: 60px;\r
-       height: 30px;\r
-       left: 283px;\r
-       top: 13px;\r
-       background: #f00;\r
-}\r
-.colorpicker input {\r
-       background-color: transparent;\r
-       border: 1px solid transparent;\r
-       position: absolute;\r
-       font-size: 10px;\r
-       font-family: Arial, Helvetica, sans-serif;\r
-       color: #898989;\r
-       top: 4px;\r
-       right: 11px;\r
-       text-align: right;\r
-       margin: 0;\r
-       padding: 0;\r
-       height: 11px;\r
-}\r
-.ui-colorpicker-hex {\r
-       position: absolute;\r
-       width: 72px;\r
-       height: 22px;\r
-       background: url(images/colorpicker_hex.png) top;\r
-       left: 212px;\r
-       top: 142px;\r
-}\r
-.ui-colorpicker input {\r
-       height: 15px;\r
-}\r
-.ui-colorpicker-hex input {\r
-       margin-left: 18px;\r
-       right: 6px;\r
-       width: 47px;\r
-}\r
-.ui-colorpicker-field {\r
-       height: 22px;\r
-       width: 62px;\r
-       background-position: top;\r
-       position: absolute;\r
-}\r
-.ui-colorpicker-field label {\r
-       padding-left: 17px;\r
-       font-size: 10px;\r
-}\r
-.ui-colorpicker-field input {\r
-       width: 25px;\r
-}\r
-.ui-colorpicker-field span {\r
-       position: absolute;\r
-       width: 12px;\r
-       height: 22px;\r
-       overflow: hidden;\r
-       top: 0;\r
-       right: 0;\r
-       cursor: n-resize;\r
-}\r
-.ui-colorpicker-rgb-r {\r
-       background-image: url(images/colorpicker_rgb_r.png);\r
-       top: 52px;\r
-       left: 212px;\r
-}\r
-.ui-colorpicker-rgb-g {\r
-       background-image: url(images/colorpicker_rgb_g.png);\r
-       top: 82px;\r
-       left: 212px;\r
-}\r
-.ui-colorpicker-rgb-b {\r
-       background-image: url(images/colorpicker_rgb_b.png);\r
-       top: 112px;\r
-       left: 212px;\r
-}\r
-.ui-colorpicker-hsb-h {\r
-       background-image: url(images/colorpicker_hsb_h.png);\r
-       top: 52px;\r
-       left: 282px;\r
-}\r
-.ui-colorpicker-hsb-s {\r
-       background-image: url(images/colorpicker_hsb_s.png);\r
-       top: 82px;\r
-       left: 282px;\r
-}\r
-.ui-colorpicker-hsb-b {\r
-       background-image: url(images/colorpicker_hsb_b.png);\r
-       top: 112px;\r
-       left: 282px;\r
-}\r
-.ui-colorpicker-submit {\r
-       position: absolute;\r
-       left: 296px;\r
-       top: 144px;\r
-       overflow: hidden;\r
-}\r
-.ui-colorpicker-focus {\r
-       background-position: center;\r
-}\r
-.ui-colorpicker-hex.ui-colorpicker-focus {\r
-       background-position: bottom;\r
-}\r
-.ui-colorpicker-submit.ui-colorpicker-focus {\r
-       background-position: bottom;\r
-}\r
-.ui-colorpicker-slider {\r
-       background-position: bottom;\r
-}\r
-\r
-\r
-/*autocomplete*/\r
-.ui-autocomplete-results {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       font-size: 1.1em;\r
-\r
-       border: 1px solid #d3d3d3;\r
-       background: #ffffff;\r
-       color: #222222;\r
-\r
-       overflow: hidden;\r
-       z-index: 99999;\r
-}\r
-\r
-.ui-autocomplete-results ul {\r
-       width: 100%;\r
-       list-style-position: outside;\r
-       list-style: none;\r
-       padding: 0;\r
-       margin: 0;\r
-}\r
-\r
-.ui-autocomplete-results li {\r
-       margin: 0px;\r
-       padding: 2px 5px;\r
-       cursor: default;\r
-       display: block;\r
-       /* \r
-       if width will be 100% horizontal scrollbar will apear \r
-       when scroll mode will be used\r
-       */\r
-       /*width: 100%;*/\r
-       font: menu;\r
-       font-size: 12px;\r
-       /* \r
-       it is very important, if line-height not setted or setted \r
-       in relative units scroll will be broken in firefox\r
-       */\r
-       line-height: 16px;\r
-       overflow: hidden;\r
-       \r
-\r
-       border: 1px solid #d3d3d3;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       font-weight: normal;\r
-       color: #555555 !important;      \r
-       \r
-}\r
-\r
-.ui-autocomplete-loading {\r
-       background: white url('indicator.gif') right center no-repeat;\r
-}\r
-\r
-.ui-autocomplete-results li.ui-autocomplete-over {\r
-       border: 1px solid #999999;\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       font-weight: normal;\r
-       color: #212121 !important;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-/* ProgressBar */\r
-\r
-.ui-progressbar {\r
-       width: 400px; height: 20px;\r
-       border: 1px #ccc solid;\r
-       background:#E0E8F3 url(images/bg.gif) repeat-x scroll 0%;\r
-       position:relative;\r
-}\r
-\r
-.ui-progressbar-wrap {\r
-       position: relative;\r
-       height: auto;\r
-       width: auto;\r
-       line-height: 18px;\r
-       _line-height: 16px;\r
-}\r
-\r
-.ui-progressbar-bar {\r
-       background:#9CBFEE url(images/progress-bg.gif) repeat-x scroll left center;\r
-       border-bottom:1px solid #7FA9E4;\r
-       border-right:1px solid #7FA9E4;\r
-       border-top:1px solid #D1E4FD;\r
-       position: absolute;\r
-}\r
-\r
-.ui-progressbar-text {\r
-       color:#fff;\r
-       overflow: hidden;\r
-       white-space: nowrap;\r
-       font-size: 11px;\r
-       font-weight: bold;\r
-       padding-left: 5px;\r
-}\r
-\r
-.ui-progressbar-text-back {\r
-       color:#000;\r
-       padding-top: 1px;\r
-       padding-bottom: 1px;\r
-       padding-right: 1px;\r
-}\r
-\r
-.ui-progressbar-disabled {\r
-       opacity:.5;\r
-       filter:Alpha(Opacity=50);\r
-}\r
-\r
-\r
-/* custom */\r
-.ui-progressbar-text.right-align {\r
-       text-align: right;\r
-       padding: 0 5px 0 0;\r
-}\r
-.ui-progressbar-inner-custom {\r
-       background: url(images/custom-bar.gif) repeat-x scroll left center;\r
-       border-bottom:1px solid #EFEFEF;\r
-       border-right:0pt none;\r
-       border-top:1px solid #BEBEBE;\r
-       height:15px;\r
-}\r
-.bold {\r
-       color: red !important;\r
-}\r
-.ui-hidden {\r
-       left:-10000px;\r
-       position:absolute;\r
-       top:-10000px;\r
-       visibility:hidden;\r
-}\r
-\r
-\r
-\r
-/*\r
-Generic ThemeRoller Classes\r
->> Make your jQuery Components ThemeRoller-Compatible!\r
-*/\r
-\r
-/*component global class*/\r
-.ui-component {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-       font-family: Verdana, Arial, sans-serif;\r
-       font-size: 1.1em;\r
-}\r
-/*component content styles*/\r
-.ui-component-content {\r
-       border: 1px solid #d3d3d3;\r
-       background: #ffffff;\r
-       color: #222222;\r
-}\r
-.ui-component-content a {\r
-       color: #222222;\r
-       text-decoration: underline;\r
-}\r
-/*component states*/\r
-.ui-default-state {\r
-       border: 1px solid #d3d3d3;\r
-       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       font-weight: normal;\r
-       color: #555555 !important;\r
-}\r
-.ui-default-state a {\r
-       color: #555555;\r
-}\r
-.ui-default-state:hover, .ui-hover-state {\r
-       border: 1px solid #999999;\r
-       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;\r
-       font-weight: normal;\r
-       color: #212121 !important;\r
-}\r
-.ui-hover-state a {\r
-       color: #212121;\r
-}\r
-.ui-default-state:active, .ui-active-state {\r
-       border: 1px solid #dddddd;\r
-       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;\r
-       font-weight: normal;\r
-       color: #222222 !important;\r
-       outline: none;\r
-}\r
-.ui-active-state a {\r
-       color: #222222;\r
-       outline: none;\r
-}\r
-/*icons*/\r
-.ui-arrow-right-default {background: url(images/888888_7x7_arrow_right.gif) no-repeat 50% 50%;}\r
-.ui-arrow-right-default:hover, .ui-arrow-right-hover {background: url(images/454545_7x7_arrow_right.gif) no-repeat 50% 50%;}\r
-.ui-arrow-right-default:active, .ui-arrow-right-active {background: url(images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;}\r
-.ui-arrow-left-default {background: url(images/888888_7x7_arrow_left.gif) no-repeat 50% 50%;}\r
-.ui-arrow-left-default:hover, .ui-arrow-left-hover {background: url(images/454545_7x7_arrow_left.gif) no-repeat 50% 50%;}\r
-.ui-arrow-left-default:active, .ui-arrow-left-active {background: url(images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;}\r
-.ui-arrow-down-default {background: url(images/888888_7x7_arrow_down.gif) no-repeat 50% 50%;}\r
-.ui-arrow-down-default:hover, .ui-arrow-down-hover {background: url(images/454545_7x7_arrow_down.gif) no-repeat 50% 50%;}\r
-.ui-arrow-down-default:active, .ui-arrow-down-active {background: url(images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;}\r
-.ui-arrow-up-default {background: url(images/888888_7x7_arrow_up.gif) no-repeat 50% 50%;}\r
-.ui-arrow-up-default:hover, .ui-arrow-up-hover {background: url(images/454545_7x7_arrow_up.gif) no-repeat 50% 50%;}\r
-.ui-arrow-up-default:active, .ui-arrow-up-active {background: url(images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;}\r
-.ui-close-default {background: url(images/888888_11x11_icon_close.gif) no-repeat 50% 50%;}\r
-.ui-close-default:hover, .ui-close-hover {background: url(images/454545_11x11_icon_close.gif) no-repeat 50% 50%;}\r
-.ui-close-default:active, .ui-close-active {background: url(images/222222_11x11_icon_close.gif) no-repeat 50% 50%;}\r
-.ui-folder-closed-default {background: url(images/888888_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}\r
-.ui-folder-closed-default:hover, .ui-folder-closed-hover {background: url(images/454545_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}\r
-.ui-folder-closed-default:active, .ui-folder-closed-active {background: url(images/222222_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}\r
-.ui-folder-open-default {background: url(images/888888_11x11_icon_folder_open.gif) no-repeat 50% 50%;}\r
-.ui-folder-open-default:hover, .ui-folder-open-hover {background: url(images/454545_11x11_icon_folder_open.gif) no-repeat 50% 50%;}\r
-.ui-folder-open-default:active, .ui-folder-open-active {background: url(images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;}\r
-.ui-doc-default {background: url(images/888888_11x11_icon_doc.gif) no-repeat 50% 50%;}\r
-.ui-doc-default:hover, .ui-doc-hover {background: url(images/454545_11x11_icon_doc.gif) no-repeat 50% 50%;}\r
-.ui-doc-default:active, .ui-doc-active {background: url(images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;}\r
-.ui-arrows-leftright-default {background: url(images/888888_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}\r
-.ui-arrows-leftright-default:hover, .ui-arrows-leftright-hover {background: url(images/454545_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}\r
-.ui-arrows-leftright-default:active, .ui-arrows-leftright-active {background: url(images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}\r
-.ui-arrows-updown-default {background: url(images/888888_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}\r
-.ui-arrows-updown-default:hover, .ui-arrows-updown-hover {background: url(images/454545_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}\r
-.ui-arrows-updown-default:active, .ui-arrows-updown-active {background: url(images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}\r
-.ui-minus-default {background: url(images/888888_11x11_icon_minus.gif) no-repeat 50% 50%;}\r
-.ui-minus-default:hover, .ui-minus-hover {background: url(images/454545_11x11_icon_minus.gif) no-repeat 50% 50%;}\r
-.ui-minus-default:active, .ui-minus-active {background: url(images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;}\r
-.ui-plus-default {background: url(images/888888_11x11_icon_plus.gif) no-repeat 50% 50%;}\r
-.ui-plus-default:hover, .ui-plus-hover {background: url(images/454545_11x11_icon_plus.gif) no-repeat 50% 50%;}\r
-.ui-plus-default:active, .ui-plus-active {background: url(images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;}\r
-/*hidden elements*/\r
-.ui-hidden {\r
-       display: none;/* for accessible hiding: position: absolute; left: -99999999px*/;\r
-}\r
-.ui-accessible-hidden {\r
-        position: absolute; left: -99999999px;\r
-}\r
-/*reset styles*/\r
-.ui-reset {\r
-       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;\r
-}\r
-/*clearfix class*/\r
-.ui-clearfix:after {\r
-    content: "."; \r
-    display: block; \r
-    height: 0; \r
-    clear: both; \r
-    visibility: hidden;\r
-}\r
-.ui-clearfix {display: inline-block;}\r
-/* Hides from IE-mac \*/\r
-* html .ui-clearfix {height: 1%;}\r
-.ui-clearfix {display: block;}\r
-/* End hide from IE-mac */\r
-\r
-/* Note: for resizable styles, use the styles listed above in the dialog section */\r
-\r
-\r
-\r
-\r
-/* UI Spinner */\r
-.ui-spinner {\r
-       width: 15em;\r
-       display: block;\r
-       position: relative;\r
-       overflow: hidden;\r
-       border: 1px solid #999;\r
-       background: #FEFEFE url(./images/spinner-bg.gif) repeat-x left bottom;\r
-       padding: 0 5px;\r
-}\r
-\r
-.ui-spinner-disabled {\r
-       background: #F4F4F4;\r
-       color: #CCC;\r
-}\r
-\r
-.ui-spinner-box {\r
-       width: 90%;\r
-       height: 100%;\r
-       float: left;\r
-       font-size: 125%;\r
-       border: none;\r
-       background: none;\r
-       padding: 0;\r
-}\r
-\r
-.ui-spinner-up,\r
-.ui-spinner-down {\r
-       width: 10%;\r
-       height: 50%;\r
-       font-size: 0.5em;\r
-       padding: 0;\r
-       margin: 0;\r
-       z-index: 100;\r
-       text-align: center;\r
-       vertical-align: middle;\r
-       position: absolute;\r
-       right: 0;\r
-       cursor: default;\r
-       border: 1px solid #999;\r
-       border-right: none;\r
-       border-top: none;\r
-}\r
-\r
-.ui-spinner-down {\r
-       bottom: 0;\r
-       border-bottom: 0;\r
-}\r
-\r
-.ui-spinner-pressed {\r
-       background: #FEFEFE;\r
-}\r
-\r
-.ui-spinner-list,\r
-.ui-spinner-listitem {\r
-       margin: 0;\r
-       padding: 0;\r
+/*
+ * jQuery UI screen structure and presentation
+ * This CSS file was generated by ThemeRoller, a Filament Group Project for jQuery UI
+ * Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
+ * Visit themeroller.com
+*/
+
+
+
+
+/*UI accordion*/
+.ui-accordion {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       border-bottom: 1px solid #d3d3d3;
+}
+.ui-accordion-group {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       border: 1px solid #d3d3d3;
+       border-bottom: none;
+}
+.ui-accordion-header {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       cursor: pointer;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+}
+.ui-accordion-header a {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       display: block;
+       font-size: 1.1em;
+       font-weight: normal;
+       text-decoration: none;
+       padding: .5em .5em .5em 1.7em;
+       color: #555555;
+       background: url(images/888888_7x7_arrow_right.gif) .5em 50% no-repeat;
+}
+.ui-accordion-header a:hover {
+       background: url(images/454545_7x7_arrow_right.gif) .5em 50% no-repeat;
+       color: #212121;
+}
+.ui-accordion-header:hover {
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       color: #212121;
+}
+.selected .ui-accordion-header, .selected .ui-accordion-header:hover {
+       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
+}
+.selected .ui-accordion-header a, .selected .ui-accordion-header a:hover {
+       color: #222222;
+       background: url(images/222222_7x7_arrow_down.gif) .5em 50% no-repeat;
+}
+.ui-accordion-content {
+       padding: 1.5em 1.7em;   
+       background: #ffffff;
+       color: #222222;
+       font-size: 1.1em;
+}
+
+
+/*slider*/
+.ui-slider {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       background: #ffffff;
+       border: 1px solid #d3d3d3;
+       height: .8em;
+       position: relative;
+}
+.ui-slider-handle {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       position: absolute;
+       z-index: 2;
+       top: -3px;
+       width: 1.2em;
+       height: 1.2em;
+       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
+       border: 1px solid #dddddd;
+}
+.ui-slider-handle:hover {
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       border: 1px solid #999999;
+}
+.ui-slider-handle-active, .ui-slider-handle-active:hover {
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       border: 1px solid #dddddd;
+}
+.ui-slider-range {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       height: .8em;
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       position: absolute;
+       border: 1px solid #d3d3d3;
+       border-left: 0;
+       border-right: 0;
+       top: -1px;
+       z-index: 1;
+}
+
+
+
+
+
+
+/*dialog*/
+.ui-dialog {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       background: #ffffff;
+       color: #222222;
+       border: 4px solid #d3d3d3;
+       position: relative;
+}
+.ui-dialog-content {
+       border: 1px solid #d3d3d3;
+       background: #ffffff;
+       color: #222222;
+}
+.ui-resizable-handle {
+       position: absolute;
+       font-size: 0.1px;
+       z-index: 99999;
+}
+.ui-resizable .ui-resizable-handle {
+       display: block; 
+}
+body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
+body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
+.ui-resizable-n { 
+       cursor: n-resize; 
+       height: 7px; 
+       width: 100%; 
+       top: -5px; 
+       left: 0px;  
+}
+.ui-resizable-s { 
+       cursor: s-resize; 
+       height: 7px; 
+       width: 100%; 
+       bottom: -5px; 
+       left: 0px; 
+}
+.ui-resizable-e { 
+       cursor: e-resize; 
+       width: 7px; 
+       right: -5px; 
+       top: 0px; 
+       height: 100%; 
+}
+.ui-resizable-w { 
+       cursor: w-resize; 
+       width: 7px; 
+       left: -5px; 
+       top: 0px; 
+       height: 100%;
+}
+.ui-resizable-se { 
+       cursor: se-resize; 
+       width: 13px; 
+       height: 13px; 
+       right: 0px; 
+       bottom: 0px; 
+       background: url(images/222222_11x11_icon_resize_se.gif) no-repeat 0 0;
+}
+.ui-resizable-sw { 
+       cursor: sw-resize; 
+       width: 9px; 
+       height: 9px; 
+       left: 0px; 
+       bottom: 0px;  
+}
+.ui-resizable-nw { 
+       cursor: nw-resize; 
+       width: 9px; 
+       height: 9px; 
+       left: 0px; 
+       top: 0px; 
+}
+.ui-resizable-ne { 
+       cursor: ne-resize; 
+       width: 9px; 
+       height: 9px; 
+       right: 0px; 
+       top: 0px; 
+}
+.ui-dialog-titlebar {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       padding: .5em 1.5em .5em 1em;
+       color: #555555;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       border-bottom: 1px solid #d3d3d3;
+       font-size: 1.1em;
+       font-weight: normal;
+       position: relative;
+}
+.ui-dialog-title {
+
+}
+.ui-dialog-titlebar-close {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       background: url(images/888888_11x11_icon_close.gif) 0 0 no-repeat;
+       position: absolute;
+       right: 8px;
+       top: .7em;
+       width: 11px;
+       height: 11px;
+       z-index: 100;
+}
+.ui-dialog-titlebar-close-hover, .ui-dialog-titlebar-close:hover {
+       background: url(images/454545_11x11_icon_close.gif) 0 0 no-repeat;
+}
+.ui-dialog-titlebar-close:active {
+       background: url(images/222222_11x11_icon_close.gif) 0 0 no-repeat;
+}
+.ui-dialog-titlebar-close span {
+       display: none;
+}
+.ui-dialog-content {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       background: #ffffff;
+       color: #222222;
+       padding: 1.5em 1.7em;   
+}
+.ui-dialog-buttonpane {
+       position: absolute;
+       bottom: 0;
+       width: 100%;
+       text-align: left;
+       border-top: 1px solid #d3d3d3;
+       background: ;
+}
+.ui-dialog-buttonpane button {
+       margin: .5em 0 .5em 8px;
+       color: #555555;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       font-size: 1.1em;
+       border: 1px solid #d3d3d3;
+       cursor: pointer;
+       padding: .2em .6em .3em .6em;
+       line-height: 1.4em;
+}
+.ui-dialog-buttonpane button:hover {
+       color: #212121;
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       border: 1px solid #999999;
+}
+.ui-dialog-buttonpane button:active {
+       color: #222222;
+       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
+       border: 1px solid #dddddd;
+}
+/* This file skins dialog */
+.ui-dialog.ui-draggable .ui-dialog-titlebar,
+.ui-dialog.ui-draggable .ui-dialog-titlebar {
+       cursor: move;
+}
+
+
+
+
+
+
+
+/*datepicker*/
+/* Main Style Sheet for jQuery UI date picker */
+.ui-datepicker-div, #ui-datepicker-div, .ui-datepicker-inline {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       background: #ffffff;
+       font-size: 1.1em;
+       border: 4px solid #d3d3d3;
+       width: 15.5em;
+       padding: 2.5em .5em .5em .5em;
+       position: relative;
+}
+#ui-datepicker-div, .ui-datepicker-div {
+       z-index: 9999; /*must have*/
+       display: none;
+       background: #ffffff;
+}
+.ui-datepicker-inline {
+       float: left;
+       display: block;
+}
+.ui-datepicker-control {
+       display: none;
+}
+.ui-datepicker-current {
+       display: none;
+}
+.ui-datepicker-next, .ui-datepicker-prev {
+       position: absolute;
+       left: .5em;
+       top: .5em;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+}
+.ui-datepicker-next {
+       left: 14.6em;
+}
+.ui-datepicker-next:hover, .ui-datepicker-prev:hover {
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+}
+.ui-datepicker-next a, .ui-datepicker-prev a {
+       text-indent: -999999px;
+       width: 1.3em;
+       height: 1.4em;
+       display: block;
+       font-size: 1em;
+       background: url(images/888888_7x7_arrow_left.gif) 50% 50% no-repeat;
+       border: 1px solid #d3d3d3;
+       cursor: pointer;
+}
+.ui-datepicker-next a {
+       background: url(images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;
+}
+.ui-datepicker-prev a:hover {
+       background: url(images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;
+}
+.ui-datepicker-next a:hover {
+       background: url(images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;
+}
+.ui-datepicker-prev a:active {
+       background: url(images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;
+}
+.ui-datepicker-next a:active {
+       background: url(images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;
+}
+.ui-datepicker-header select {
+       border: 1px solid #d3d3d3;
+       color: #555555;
+       background: #e6e6e6;
+       font-size: 1em;
+       line-height: 1.4em;
+       position: absolute;
+       top: .5em;
+       margin: 0 !important;
+       
+}
+.ui-datepicker-header select.ui-datepicker-new-month {
+width: 7em;
+left: 2.2em;
+}
+.ui-datepicker-header select.ui-datepicker-new-year {
+width: 5em;
+left: 9.4em;
+}
+table.ui-datepicker {
+       width: 15.5em;
+       text-align: right;
+}
+table.ui-datepicker td a {
+       padding: .1em .3em .1em 0;
+       display: block;
+       color: #555555;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       cursor: pointer;
+       border: 1px solid #ffffff;
+}
+table.ui-datepicker td a:hover {
+       border: 1px solid #999999;
+       color: #212121;
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+}
+table.ui-datepicker td a:active {
+       border: 1px solid #dddddd;
+       color: #222222;
+       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
+}
+table.ui-datepicker .ui-datepicker-title-row td {
+       padding: .3em 0;
+       text-align: center;
+       font-size: .9em;
+       color: #222222;
+       text-transform: uppercase;
+       /*border-bottom: 1px solid #d3d3d3;*/
+}
+
+table.ui-datepicker .ui-datepicker-title-row td a {
+       color: #222222;
+}
+
+
+
+
+
+
+/*colorpicker*/
+.ui-colorpicker {
+       width: 356px;
+       height: 176px;
+       overflow: hidden;
+       position: absolute;
+       background: url(images/colorpicker_background.png);
+       font-family: Arial, Helvetica, sans-serif;
+       display: none;
+}
+.ui-colorpicker-color {
+       width: 150px;
+       height: 150px;
+       left: 14px;
+       top: 13px;
+       position: absolute;
+       background: #f00;
+       overflow: hidden;
+       cursor: crosshair;
+}
+.ui-colorpicker-color div {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 150px;
+       height: 150px;
+       background: url(images/colorpicker_overlay.png);
+}
+.ui-colorpicker-color div div {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 11px;
+       height: 11px;
+       overflow: hidden;
+       background: url(images/colorpicker_select.gif);
+       margin: -5px 0 0 -5px;
+}
+.ui-colorpicker-hue {
+       position: absolute;
+       top: 13px;
+       left: 171px;
+       width: 35px;
+       height: 150px;
+       cursor: n-resize;
+}
+.ui-colorpicker-hue div {
+       position: absolute;
+       width: 35px;
+       height: 9px;
+       overflow: hidden;
+       background: url(images/colorpicker_indic.gif) left top;
+       margin: -4px 0 0 0;
+       left: 0px;
+}
+.ui-colorpicker-new-color {
+       position: absolute;
+       width: 60px;
+       height: 30px;
+       left: 213px;
+       top: 13px;
+       background: #f00;
+}
+.ui-colorpicker-current-color {
+       position: absolute;
+       width: 60px;
+       height: 30px;
+       left: 283px;
+       top: 13px;
+       background: #f00;
+}
+.colorpicker input {
+       background-color: transparent;
+       border: 1px solid transparent;
+       position: absolute;
+       font-size: 10px;
+       font-family: Arial, Helvetica, sans-serif;
+       color: #898989;
+       top: 4px;
+       right: 11px;
+       text-align: right;
+       margin: 0;
+       padding: 0;
+       height: 11px;
+}
+.ui-colorpicker-hex {
+       position: absolute;
+       width: 72px;
+       height: 22px;
+       background: url(images/colorpicker_hex.png) top;
+       left: 212px;
+       top: 142px;
+}
+.ui-colorpicker input {
+       height: 15px;
+}
+.ui-colorpicker-hex input {
+       margin-left: 18px;
+       right: 6px;
+       width: 47px;
+}
+.ui-colorpicker-field {
+       height: 22px;
+       width: 62px;
+       background-position: top;
+       position: absolute;
+}
+.ui-colorpicker-field label {
+       padding-left: 17px;
+       font-size: 10px;
+}
+.ui-colorpicker-field input {
+       width: 25px;
+}
+.ui-colorpicker-field span {
+       position: absolute;
+       width: 12px;
+       height: 22px;
+       overflow: hidden;
+       top: 0;
+       right: 0;
+       cursor: n-resize;
+}
+.ui-colorpicker-rgb-r {
+       background-image: url(images/colorpicker_rgb_r.png);
+       top: 52px;
+       left: 212px;
+}
+.ui-colorpicker-rgb-g {
+       background-image: url(images/colorpicker_rgb_g.png);
+       top: 82px;
+       left: 212px;
+}
+.ui-colorpicker-rgb-b {
+       background-image: url(images/colorpicker_rgb_b.png);
+       top: 112px;
+       left: 212px;
+}
+.ui-colorpicker-hsb-h {
+       background-image: url(images/colorpicker_hsb_h.png);
+       top: 52px;
+       left: 282px;
+}
+.ui-colorpicker-hsb-s {
+       background-image: url(images/colorpicker_hsb_s.png);
+       top: 82px;
+       left: 282px;
+}
+.ui-colorpicker-hsb-b {
+       background-image: url(images/colorpicker_hsb_b.png);
+       top: 112px;
+       left: 282px;
+}
+.ui-colorpicker-submit {
+       position: absolute;
+       left: 296px;
+       top: 144px;
+       overflow: hidden;
+}
+.ui-colorpicker-focus {
+       background-position: center;
+}
+.ui-colorpicker-hex.ui-colorpicker-focus {
+       background-position: bottom;
+}
+.ui-colorpicker-submit.ui-colorpicker-focus {
+       background-position: bottom;
+}
+.ui-colorpicker-slider {
+       background-position: bottom;
+}
+
+
+/*autocomplete*/
+.ui-autocomplete-results {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       font-size: 1.1em;
+
+       border: 1px solid #d3d3d3;
+       background: #ffffff;
+       color: #222222;
+
+       overflow: hidden;
+       z-index: 99999;
+}
+
+.ui-autocomplete-results ul {
+       width: 100%;
+       list-style-position: outside;
+       list-style: none;
+       padding: 0;
+       margin: 0;
+}
+
+.ui-autocomplete-results li {
+       margin: 0px;
+       padding: 2px 5px;
+       cursor: default;
+       display: block;
+       /* 
+       if width will be 100% horizontal scrollbar will apear 
+       when scroll mode will be used
+       */
+       /*width: 100%;*/
+       font: menu;
+       font-size: 12px;
+       /* 
+       it is very important, if line-height not setted or setted 
+       in relative units scroll will be broken in firefox
+       */
+       line-height: 16px;
+       overflow: hidden;
+       
+
+       border: 1px solid #d3d3d3;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       font-weight: normal;
+       color: #555555 !important;      
+       
+}
+
+.ui-autocomplete-loading {
+       background: white url('indicator.gif') right center no-repeat;
+}
+
+.ui-autocomplete-results li.ui-autocomplete-over {
+       border: 1px solid #999999;
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       font-weight: normal;
+       color: #212121 !important;
+}
+
+
+
+
+
+/* ProgressBar */
+
+.ui-progressbar {
+       width: 400px; height: 20px;
+       border: 1px #ccc solid;
+       background:#E0E8F3 url(images/bg.gif) repeat-x scroll 0%;
+       position:relative;
+}
+
+.ui-progressbar-wrap {
+       position: relative;
+       height: auto;
+       width: auto;
+       line-height: 18px;
+       _line-height: 16px;
+}
+
+.ui-progressbar-bar {
+       background:#9CBFEE url(images/progress-bg.gif) repeat-x scroll left center;
+       border-bottom:1px solid #7FA9E4;
+       border-right:1px solid #7FA9E4;
+       border-top:1px solid #D1E4FD;
+       position: absolute;
+}
+
+.ui-progressbar-text {
+       color:#fff;
+       overflow: hidden;
+       white-space: nowrap;
+       font-size: 11px;
+       font-weight: bold;
+       padding-left: 5px;
+}
+
+.ui-progressbar-text-back {
+       color:#000;
+       padding-top: 1px;
+       padding-bottom: 1px;
+       padding-right: 1px;
+}
+
+.ui-progressbar-disabled {
+       opacity:.5;
+       filter:Alpha(Opacity=50);
+}
+
+
+/* custom */
+.ui-progressbar-text.right-align {
+       text-align: right;
+       padding: 0 5px 0 0;
+}
+.ui-progressbar-inner-custom {
+       background: url(images/custom-bar.gif) repeat-x scroll left center;
+       border-bottom:1px solid #EFEFEF;
+       border-right:0pt none;
+       border-top:1px solid #BEBEBE;
+       height:15px;
+}
+.bold {
+       color: red !important;
+}
+.ui-hidden {
+       left:-10000px;
+       position:absolute;
+       top:-10000px;
+       visibility:hidden;
+}
+
+
+
+/*
+Generic ThemeRoller Classes
+>> Make your jQuery Components ThemeRoller-Compatible!
+*/
+
+/*component global class*/
+.ui-component {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+       font-family: Verdana, Arial, sans-serif;
+       font-size: 1.1em;
+}
+/*component content styles*/
+.ui-component-content {
+       border: 1px solid #d3d3d3;
+       background: #ffffff;
+       color: #222222;
+}
+.ui-component-content a {
+       color: #222222;
+       text-decoration: underline;
+}
+/*component states*/
+.ui-default-state {
+       border: 1px solid #d3d3d3;
+       background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       font-weight: normal;
+       color: #555555 !important;
+}
+.ui-default-state a {
+       color: #555555;
+}
+.ui-default-state:hover, .ui-hover-state {
+       border: 1px solid #999999;
+       background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;
+       font-weight: normal;
+       color: #212121 !important;
+}
+.ui-hover-state a {
+       color: #212121;
+}
+.ui-default-state:active, .ui-active-state {
+       border: 1px solid #dddddd;
+       background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;
+       font-weight: normal;
+       color: #222222 !important;
+       outline: none;
+}
+.ui-active-state a {
+       color: #222222;
+       outline: none;
+}
+/*icons*/
+.ui-arrow-right-default {background: url(images/888888_7x7_arrow_right.gif) no-repeat 50% 50%;}
+.ui-arrow-right-default:hover, .ui-arrow-right-hover {background: url(images/454545_7x7_arrow_right.gif) no-repeat 50% 50%;}
+.ui-arrow-right-default:active, .ui-arrow-right-active {background: url(images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;}
+.ui-arrow-left-default {background: url(images/888888_7x7_arrow_left.gif) no-repeat 50% 50%;}
+.ui-arrow-left-default:hover, .ui-arrow-left-hover {background: url(images/454545_7x7_arrow_left.gif) no-repeat 50% 50%;}
+.ui-arrow-left-default:active, .ui-arrow-left-active {background: url(images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;}
+.ui-arrow-down-default {background: url(images/888888_7x7_arrow_down.gif) no-repeat 50% 50%;}
+.ui-arrow-down-default:hover, .ui-arrow-down-hover {background: url(images/454545_7x7_arrow_down.gif) no-repeat 50% 50%;}
+.ui-arrow-down-default:active, .ui-arrow-down-active {background: url(images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;}
+.ui-arrow-up-default {background: url(images/888888_7x7_arrow_up.gif) no-repeat 50% 50%;}
+.ui-arrow-up-default:hover, .ui-arrow-up-hover {background: url(images/454545_7x7_arrow_up.gif) no-repeat 50% 50%;}
+.ui-arrow-up-default:active, .ui-arrow-up-active {background: url(images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;}
+.ui-close-default {background: url(images/888888_11x11_icon_close.gif) no-repeat 50% 50%;}
+.ui-close-default:hover, .ui-close-hover {background: url(images/454545_11x11_icon_close.gif) no-repeat 50% 50%;}
+.ui-close-default:active, .ui-close-active {background: url(images/222222_11x11_icon_close.gif) no-repeat 50% 50%;}
+.ui-folder-closed-default {background: url(images/888888_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}
+.ui-folder-closed-default:hover, .ui-folder-closed-hover {background: url(images/454545_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}
+.ui-folder-closed-default:active, .ui-folder-closed-active {background: url(images/222222_11x11_icon_folder_closed.gif) no-repeat 50% 50%;}
+.ui-folder-open-default {background: url(images/888888_11x11_icon_folder_open.gif) no-repeat 50% 50%;}
+.ui-folder-open-default:hover, .ui-folder-open-hover {background: url(images/454545_11x11_icon_folder_open.gif) no-repeat 50% 50%;}
+.ui-folder-open-default:active, .ui-folder-open-active {background: url(images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;}
+.ui-doc-default {background: url(images/888888_11x11_icon_doc.gif) no-repeat 50% 50%;}
+.ui-doc-default:hover, .ui-doc-hover {background: url(images/454545_11x11_icon_doc.gif) no-repeat 50% 50%;}
+.ui-doc-default:active, .ui-doc-active {background: url(images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;}
+.ui-arrows-leftright-default {background: url(images/888888_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}
+.ui-arrows-leftright-default:hover, .ui-arrows-leftright-hover {background: url(images/454545_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}
+.ui-arrows-leftright-default:active, .ui-arrows-leftright-active {background: url(images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;}
+.ui-arrows-updown-default {background: url(images/888888_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}
+.ui-arrows-updown-default:hover, .ui-arrows-updown-hover {background: url(images/454545_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}
+.ui-arrows-updown-default:active, .ui-arrows-updown-active {background: url(images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;}
+.ui-minus-default {background: url(images/888888_11x11_icon_minus.gif) no-repeat 50% 50%;}
+.ui-minus-default:hover, .ui-minus-hover {background: url(images/454545_11x11_icon_minus.gif) no-repeat 50% 50%;}
+.ui-minus-default:active, .ui-minus-active {background: url(images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;}
+.ui-plus-default {background: url(images/888888_11x11_icon_plus.gif) no-repeat 50% 50%;}
+.ui-plus-default:hover, .ui-plus-hover {background: url(images/454545_11x11_icon_plus.gif) no-repeat 50% 50%;}
+.ui-plus-default:active, .ui-plus-active {background: url(images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;}
+/*hidden elements*/
+.ui-hidden {
+       display: none;/* for accessible hiding: position: absolute; left: -99999999px*/;
+}
+.ui-accessible-hidden {
+        position: absolute; left: -99999999px;
+}
+/*reset styles*/
+.ui-reset {
+       /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none;
+}
+/*clearfix class*/
+.ui-clearfix:after {
+    content: "."; 
+    display: block; 
+    height: 0; 
+    clear: both; 
+    visibility: hidden;
+}
+.ui-clearfix {display: inline-block;}
+/* Hides from IE-mac \*/
+* html .ui-clearfix {height: 1%;}
+.ui-clearfix {display: block;}
+/* End hide from IE-mac */
+
+/* Note: for resizable styles, use the styles listed above in the dialog section */
+
+
+
+
+/* UI Spinner */
+.ui-spinner {
+       width: 15em;
+       display: block;
+       position: relative;
+       overflow: hidden;
+       border: 1px solid #999;
+       background: #FEFEFE url(./images/spinner-bg.gif) repeat-x left bottom;
+       padding: 0 5px;
+}
+
+.ui-spinner-disabled {
+       background: #F4F4F4;
+       color: #CCC;
+}
+
+.ui-spinner-box {
+       width: 90%;
+       height: 100%;
+       float: left;
+       font-size: 125%;
+       border: none;
+       background: none;
+       padding: 0;
+}
+
+.ui-spinner-up,
+.ui-spinner-down {
+       width: 10%;
+       height: 50%;
+       font-size: 0.5em;
+       padding: 0;
+       margin: 0;
+       z-index: 100;
+       text-align: center;
+       vertical-align: middle;
+       position: absolute;
+       right: 0;
+       cursor: default;
+       border: 1px solid #999;
+       border-right: none;
+       border-top: none;
+}
+
+.ui-spinner-down {
+       bottom: 0;
+       border-bottom: 0;
+}
+
+.ui-spinner-pressed {
+       background: #FEFEFE;
+}
+
+.ui-spinner-list,
+.ui-spinner-listitem {
+       margin: 0;
+       padding: 0;
 }
\ No newline at end of file
index d485bc76bbf493d78d4b2e709fe042247361f13f..49b00c0dc83cc736433e3a93c16fa795ab623531 100644 (file)
-/* Main Style Sheet for jQuery UI date picker */\r
-#ui-datepicker-div, .ui-datepicker-inline {\r
-       font-family: Arial, Helvetica, sans-serif;\r
-       font-size: 14px;\r
-       padding: 0;\r
-       margin: 0;\r
-       background: #ddd;\r
-       width: 185px;\r
-}\r
-#ui-datepicker-div {\r
-       display: none;\r
-       border: 1px solid #777;\r
-       z-index: 100; /*must have*/\r
-}\r
-.ui-datepicker-inline {\r
-       float: left;\r
-       display: block;\r
-       border: 0;\r
-}\r
-.ui-datepicker-rtl {\r
-       direction: rtl;\r
-}\r
-.ui-datepicker-dialog {\r
-       padding: 5px !important;\r
-       border: 4px ridge #ddd !important;\r
-}\r
-.ui-datepicker-disabled {\r
-       position: absolute;\r
-       z-index: 100;\r
-       background-color: white;\r
-       opacity: 0.5;\r
-}\r
-button.ui-datepicker-trigger {\r
-       width: 25px;\r
-}\r
-img.ui-datepicker-trigger {\r
-       margin: 2px;\r
-       vertical-align: middle;\r
-}\r
-.ui-datepicker-prompt {\r
-       float: left;\r
-       padding: 2px;\r
-       background: #ddd;\r
-       color: #000;\r
-}\r
-* html .ui-datepicker-prompt {\r
-       width: 185px;\r
-}\r
-.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker {\r
-       clear: both;\r
-       float: left;\r
-       width: 100%;\r
-       color: #fff;\r
-}\r
-.ui-datepicker-control {\r
-       background: #400;\r
-       padding: 2px 0px;\r
-}\r
-.ui-datepicker-links {\r
-       background: #000;\r
-       padding: 2px 0px;\r
-}\r
-.ui-datepicker-control, .ui-datepicker-links {\r
-       font-weight: bold;\r
-       font-size: 80%;\r
-}\r
-.ui-datepicker-links label { /* disabled links */\r
-       padding: 2px 5px;\r
-       color: #888;\r
-}\r
-.ui-datepicker-clear, .ui-datepicker-prev {\r
-       float: left;\r
-       width: 34%;\r
-}\r
-.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev {\r
-       float: right;\r
-       text-align: right;\r
-}\r
-.ui-datepicker-current {\r
-       float: left;\r
-       width: 30%;\r
-       text-align: center;\r
-}\r
-.ui-datepicker-close, .ui-datepicker-next {\r
-       float: right;\r
-       width: 34%;\r
-       text-align: right;\r
-}\r
-.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next {\r
-       float: left;\r
-       text-align: left;\r
-}\r
-.ui-datepicker-header {\r
-       padding: 1px 0 3px;\r
-       background: #333;\r
-       text-align: center;\r
-       font-weight: bold;\r
-       height: 1.3em;\r
-}\r
-.ui-datepicker-header select {\r
-       background: #333;\r
-       color: #fff;\r
-       border: 0px;\r
-       font-weight: bold;\r
-}\r
-.ui-datepicker {\r
-       background: #ccc;\r
-       text-align: center;\r
-       font-size: 100%;\r
-}\r
-.ui-datepicker a {\r
-       display: block;\r
-       width: 100%;\r
-}\r
-.ui-datepicker-title-row {\r
-       background: #777;\r
-}\r
-.ui-datepicker-days-row {\r
-       background: #eee;\r
-       color: #666;\r
-}\r
-.ui-datepicker-week-col {\r
-       background: #777;\r
-       color: #fff;\r
-}\r
-.ui-datepicker-days-cell {\r
-       color: #000;\r
-       border: 1px solid #ddd;\r
-}\r
-.ui-datepicker-days-cell a{\r
-       display: block;\r
-}\r
-.ui-datepicker-week-end-cell {\r
-       background: #ddd;\r
-}\r
-.ui-datepicker-title-row .ui-datepicker-week-end-cell {\r
-       background: #777;\r
-}\r
-.ui-datepicker-days-cell-over {\r
-       background: #fff;\r
-       border: 1px solid #777;\r
-}\r
-.ui-datepicker-unselectable {\r
-       color: #888;\r
-}\r
-.ui-datepicker-today {\r
-       background: #fcc !important;\r
-}\r
-.ui-datepicker-current-day {\r
-       background: #999 !important;\r
-}\r
-.ui-datepicker-status {\r
-       background: #ddd;\r
-       width: 100%;\r
-       font-size: 80%;\r
-       text-align: center;\r
-}\r
-\r
-/* ________ Datepicker Links _______\r
-\r
-** Reset link properties and then override them with !important */\r
-#ui-datepicker-div a, .ui-datepicker-inline a {\r
-       cursor: pointer;\r
-       margin: 0;\r
-       padding: 0;\r
-       background: none;\r
-       color: #000;\r
-}\r
-.ui-datepicker-inline .ui-datepicker-links a {\r
-       padding: 0 5px !important;\r
-}\r
-.ui-datepicker-control a, .ui-datepicker-links a {\r
-       padding: 2px 5px !important;\r
-       color: #eee !important;\r
-}\r
-.ui-datepicker-title-row a {\r
-       color: #eee !important;\r
-}\r
-.ui-datepicker-control a:hover {\r
-       background: #fdd !important;\r
-       color: #333 !important;\r
-}\r
-.ui-datepicker-links a:hover, .ui-datepicker-title-row a:hover {\r
-       background: #ddd !important;\r
-       color: #333 !important;\r
-}\r
-\r
-/* ___________ MULTIPLE MONTHS _________*/\r
-\r
-.ui-datepicker-multi .ui-datepicker {\r
-       border: 1px solid #777;\r
-}\r
-.ui-datepicker-one-month {\r
-       float: left;\r
-       width: 185px;\r
-}\r
-.ui-datepicker-new-row {\r
-       clear: left;\r
-}\r
-\r
-/* ___________ IE6 IFRAME FIX ________ */\r
-\r
-.ui-datepicker-cover {\r
-    display: none; /*sorry for IE5*/\r
-    display/**/: block; /*sorry for IE5*/\r
-    position: absolute; /*must have*/\r
-    z-index: -1; /*must have*/\r
-    filter: mask(); /*must have*/\r
-    top: -4px; /*must have*/\r
-    left: -4px; /*must have*/\r
-    width: 200px; /*must have*/\r
-    height: 200px; /*must have*/\r
-}\r
+/* Main Style Sheet for jQuery UI date picker */
+#ui-datepicker-div, .ui-datepicker-inline {
+       font-family: Arial, Helvetica, sans-serif;
+       font-size: 14px;
+       padding: 0;
+       margin: 0;
+       background: #ddd;
+       width: 185px;
+}
+#ui-datepicker-div {
+       display: none;
+       border: 1px solid #777;
+       z-index: 100; /*must have*/
+}
+.ui-datepicker-inline {
+       float: left;
+       display: block;
+       border: 0;
+}
+.ui-datepicker-rtl {
+       direction: rtl;
+}
+.ui-datepicker-dialog {
+       padding: 5px !important;
+       border: 4px ridge #ddd !important;
+}
+.ui-datepicker-disabled {
+       position: absolute;
+       z-index: 100;
+       background-color: white;
+       opacity: 0.5;
+}
+button.ui-datepicker-trigger {
+       width: 25px;
+}
+img.ui-datepicker-trigger {
+       margin: 2px;
+       vertical-align: middle;
+}
+.ui-datepicker-prompt {
+       float: left;
+       padding: 2px;
+       background: #ddd;
+       color: #000;
+}
+* html .ui-datepicker-prompt {
+       width: 185px;
+}
+.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker {
+       clear: both;
+       float: left;
+       width: 100%;
+       color: #fff;
+}
+.ui-datepicker-control {
+       background: #400;
+       padding: 2px 0px;
+}
+.ui-datepicker-links {
+       background: #000;
+       padding: 2px 0px;
+}
+.ui-datepicker-control, .ui-datepicker-links {
+       font-weight: bold;
+       font-size: 80%;
+}
+.ui-datepicker-links label { /* disabled links */
+       padding: 2px 5px;
+       color: #888;
+}
+.ui-datepicker-clear, .ui-datepicker-prev {
+       float: left;
+       width: 34%;
+}
+.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev {
+       float: right;
+       text-align: right;
+}
+.ui-datepicker-current {
+       float: left;
+       width: 30%;
+       text-align: center;
+}
+.ui-datepicker-close, .ui-datepicker-next {
+       float: right;
+       width: 34%;
+       text-align: right;
+}
+.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next {
+       float: left;
+       text-align: left;
+}
+.ui-datepicker-header {
+       padding: 1px 0 3px;
+       background: #333;
+       text-align: center;
+       font-weight: bold;
+       height: 1.3em;
+}
+.ui-datepicker-header select {
+       background: #333;
+       color: #fff;
+       border: 0px;
+       font-weight: bold;
+}
+.ui-datepicker {
+       background: #ccc;
+       text-align: center;
+       font-size: 100%;
+}
+.ui-datepicker a {
+       display: block;
+       width: 100%;
+}
+.ui-datepicker-title-row {
+       background: #777;
+}
+.ui-datepicker-days-row {
+       background: #eee;
+       color: #666;
+}
+.ui-datepicker-week-col {
+       background: #777;
+       color: #fff;
+}
+.ui-datepicker-days-cell {
+       color: #000;
+       border: 1px solid #ddd;
+}
+.ui-datepicker-days-cell a{
+       display: block;
+}
+.ui-datepicker-week-end-cell {
+       background: #ddd;
+}
+.ui-datepicker-title-row .ui-datepicker-week-end-cell {
+       background: #777;
+}
+.ui-datepicker-days-cell-over {
+       background: #fff;
+       border: 1px solid #777;
+}
+.ui-datepicker-unselectable {
+       color: #888;
+}
+.ui-datepicker-today {
+       background: #fcc !important;
+}
+.ui-datepicker-current-day {
+       background: #999 !important;
+}
+.ui-datepicker-status {
+       background: #ddd;
+       width: 100%;
+       font-size: 80%;
+       text-align: center;
+}
+
+/* ________ Datepicker Links _______
+
+** Reset link properties and then override them with !important */
+#ui-datepicker-div a, .ui-datepicker-inline a {
+       cursor: pointer;
+       margin: 0;
+       padding: 0;
+       background: none;
+       color: #000;
+}
+.ui-datepicker-inline .ui-datepicker-links a {
+       padding: 0 5px !important;
+}
+.ui-datepicker-control a, .ui-datepicker-links a {
+       padding: 2px 5px !important;
+       color: #eee !important;
+}
+.ui-datepicker-title-row a {
+       color: #eee !important;
+}
+.ui-datepicker-control a:hover {
+       background: #fdd !important;
+       color: #333 !important;
+}
+.ui-datepicker-links a:hover, .ui-datepicker-title-row a:hover {
+       background: #ddd !important;
+       color: #333 !important;
+}
+
+/* ___________ MULTIPLE MONTHS _________*/
+
+.ui-datepicker-multi .ui-datepicker {
+       border: 1px solid #777;
+}
+.ui-datepicker-one-month {
+       float: left;
+       width: 185px;
+}
+.ui-datepicker-new-row {
+       clear: left;
+}
+
+/* ___________ IE6 IFRAME FIX ________ */
+
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}
index 92009dcdf31995a8208cf35e30f0a61f2c116811..42e9118ab3a08d26acc15f7d67013995ce6a9c81 100644 (file)
@@ -1,25 +1,25 @@
-/* Esperanto initialisation for the jQuery UI date picker plugin. */\r
-/* Written by Olivier M. (olivierweb@ifrance.com). */\r
-jQuery(function($){\r
-       $.datepicker.regional['eo'] = {\r
-               clearText: 'Vakigi', clearStatus: '',\r
-               closeText: 'Fermi', closeStatus: 'Fermi sen modifi',\r
-               prevText: '&lt;Anta', prevStatus: 'Vidi la antaŭan monaton',\r
-               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',\r
-               nextText: 'Sekv&gt;', nextStatus: 'Vidi la sekvan monaton',\r
-               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',\r
-               currentText: 'Nuna', currentStatus: 'Vidi la nunan monaton',\r
-               monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',\r
-               'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],\r
-               monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',\r
-               'Jul','Aŭg','Sep','Okt','Nov','Dec'],\r
-               monthStatus: 'Vidi alian monaton', yearStatus: 'Vidi alian jaron',\r
-               weekHeader: 'Sb', weekStatus: '',\r
-               dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],\r
-               dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],\r
-               dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],\r
-               dayStatus: 'Uzi DD kiel unua tago de la semajno', dateStatus: 'Elekti DD, MM d',\r
-               dateFormat: 'dd/mm/yy', firstDay: 0,\r
-               initStatus: 'Elekti la daton', isRTL: false};\r
-       $.datepicker.setDefaults($.datepicker.regional['eo']);\r
-});\r
+/* Esperanto initialisation for the jQuery UI date picker plugin. */
+/* Written by Olivier M. (olivierweb@ifrance.com). */
+jQuery(function($){
+       $.datepicker.regional['eo'] = {
+               clearText: 'Vakigi', clearStatus: '',
+               closeText: 'Fermi', closeStatus: 'Fermi sen modifi',
+               prevText: '&lt;Anta', prevStatus: 'Vidi la antaŭan monaton',
+               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
+               nextText: 'Sekv&gt;', nextStatus: 'Vidi la sekvan monaton',
+               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
+               currentText: 'Nuna', currentStatus: 'Vidi la nunan monaton',
+               monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
+               'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
+               monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
+               'Jul','Aŭg','Sep','Okt','Nov','Dec'],
+               monthStatus: 'Vidi alian monaton', yearStatus: 'Vidi alian jaron',
+               weekHeader: 'Sb', weekStatus: '',
+               dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
+               dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
+               dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
+               dayStatus: 'Uzi DD kiel unua tago de la semajno', dateStatus: 'Elekti DD, MM d',
+               dateFormat: 'dd/mm/yy', firstDay: 0,
+               initStatus: 'Elekti la daton', isRTL: false};
+       $.datepicker.setDefaults($.datepicker.regional['eo']);
+});
index be438acfbff897a18ab7cd2ef596932df08baef7..597aa4ae6df23498262be8db3571c206c50f0789 100644 (file)
@@ -1,25 +1,25 @@
-/* Croatian i18n for the jQuery UI date picker plugin. */\r
-/* Written by Vjekoslav Nesek. */\r
-jQuery(function($){\r
-       $.datepicker.regional['hr'] = {\r
-               clearText: 'izbriši', clearStatus: 'Izbriši trenutni datum',\r
-               closeText: 'Zatvori', closeStatus: 'Zatvori kalendar',\r
-               prevText: '&#x3c;', prevStatus: 'Prikaži prethodni mjesec',\r
-               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',\r
-               nextText: '&#x3e;', nextStatus: 'Prikaži slijedeći mjesec',\r
-               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',\r
-               currentText: 'Danas', currentStatus: 'Današnji datum',\r
-               monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipani',\r
-               'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],\r
-               monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',\r
-               'Srp','Kol','Ruj','Lis','Stu','Pro'],\r
-               monthStatus: 'Prikaži mjesece', yearStatus: 'Prikaži godine',\r
-               weekHeader: 'Tje', weekStatus: 'Tjedan',\r
-               dayNames: ['Nedjalja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],\r
-               dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],\r
-               dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],\r
-               dayStatus: 'Odaber DD za prvi dan tjedna', dateStatus: '\'Datum\' D, M d',\r
-               dateFormat: 'dd.mm.yy.', firstDay: 1,\r
-               initStatus: 'Odaberi datum', isRTL: false};\r
-       $.datepicker.setDefaults($.datepicker.regional['hr']);\r
+/* Croatian i18n for the jQuery UI date picker plugin. */
+/* Written by Vjekoslav Nesek. */
+jQuery(function($){
+       $.datepicker.regional['hr'] = {
+               clearText: 'izbriši', clearStatus: 'Izbriši trenutni datum',
+               closeText: 'Zatvori', closeStatus: 'Zatvori kalendar',
+               prevText: '&#x3c;', prevStatus: 'Prikaži prethodni mjesec',
+               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
+               nextText: '&#x3e;', nextStatus: 'Prikaži slijedeći mjesec',
+               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
+               currentText: 'Danas', currentStatus: 'Današnji datum',
+               monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipani',
+               'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
+               monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',
+               'Srp','Kol','Ruj','Lis','Stu','Pro'],
+               monthStatus: 'Prikaži mjesece', yearStatus: 'Prikaži godine',
+               weekHeader: 'Tje', weekStatus: 'Tjedan',
+               dayNames: ['Nedjalja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
+               dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
+               dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
+               dayStatus: 'Odaber DD za prvi dan tjedna', dateStatus: '\'Datum\' D, M d',
+               dateFormat: 'dd.mm.yy.', firstDay: 1,
+               initStatus: 'Odaberi datum', isRTL: false};
+       $.datepicker.setDefaults($.datepicker.regional['hr']);
 });
\ No newline at end of file
index 4afb109df6a31c88c93d97091eccdc5c557afd5e..95ac6f0f09b56c05818d8e192fb551365fa5dad1 100644 (file)
@@ -1,25 +1,25 @@
-/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */\r
-/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/\r
-jQuery(function($){\r
-       $.datepicker.regional['hy'] = {\r
-               clearText: 'Մաքրել', clearStatus: '',\r
-               closeText: 'Փակել', closeStatus: '',\r
-               prevText: '&#x3c;Նախ.',  prevStatus: '',\r
-               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',\r
-               nextText: 'Հաջ.&#x3e;', nextStatus: '',\r
-               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',\r
-               currentText: 'Այսօր', currentStatus: '',\r
-               monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',\r
-               'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],\r
-               monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',\r
-               'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],\r
-               monthStatus: '', yearStatus: '',\r
-               weekHeader: 'ՇԲՏ', weekStatus: '',\r
-               dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],\r
-               dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],\r
-               dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],\r
-               dayStatus: 'DD', dateStatus: 'D, M d',\r
-               dateFormat: 'dd.mm.yy', firstDay: 1, \r
-               initStatus: '', isRTL: false};\r
-       $.datepicker.setDefaults($.datepicker.regional['hy']);\r
+/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */
+/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/
+jQuery(function($){
+       $.datepicker.regional['hy'] = {
+               clearText: 'Մաքրել', clearStatus: '',
+               closeText: 'Փակել', closeStatus: '',
+               prevText: '&#x3c;Նախ.',  prevStatus: '',
+               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
+               nextText: 'Հաջ.&#x3e;', nextStatus: '',
+               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
+               currentText: 'Այսօր', currentStatus: '',
+               monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',
+               'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],
+               monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',
+               'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],
+               monthStatus: '', yearStatus: '',
+               weekHeader: 'ՇԲՏ', weekStatus: '',
+               dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],
+               dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
+               dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
+               dayStatus: 'DD', dateStatus: 'D, M d',
+               dateFormat: 'dd.mm.yy', firstDay: 1, 
+               initStatus: '', isRTL: false};
+       $.datepicker.setDefaults($.datepicker.regional['hy']);
 });
\ No newline at end of file
index c296c0c7e5a697e2d6e22b75e4ce987fa87a6226..7dcfde5d96a6f2f9ca43fc05fda5e40d39934f9c 100644 (file)
@@ -1,25 +1,25 @@
-/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */\r
-/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */\r
-jQuery(function($){\r
-       $.datepicker.regional['uk'] = {\r
-               clearText: 'Очистити', clearStatus: '',\r
-               closeText: 'Закрити', closeStatus: '',\r
-               prevText: '&#x3c;',  prevStatus: '',\r
-               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',\r
-               nextText: '&#x3e;', nextStatus: '',\r
-               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',\r
-               currentText: 'Сьогодні', currentStatus: '',\r
-               monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',\r
-               'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],\r
-               monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',\r
-               'Лип','Сер','Вер','Жов','Лис','Гру'],\r
-               monthStatus: '', yearStatus: '',\r
-               weekHeader: 'Не', weekStatus: '',\r
-               dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'],\r
-               dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],\r
-               dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],\r
-               dayStatus: 'DD', dateStatus: 'D, M d',\r
-               dateFormat: 'dd.mm.yy', firstDay: 1, \r
-               initStatus: '', isRTL: false};\r
-       $.datepicker.setDefaults($.datepicker.regional['uk']);\r
+/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */
+/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */
+jQuery(function($){
+       $.datepicker.regional['uk'] = {
+               clearText: 'Очистити', clearStatus: '',
+               closeText: 'Закрити', closeStatus: '',
+               prevText: '&#x3c;',  prevStatus: '',
+               prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
+               nextText: '&#x3e;', nextStatus: '',
+               nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
+               currentText: 'Сьогодні', currentStatus: '',
+               monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',
+               'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],
+               monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',
+               'Лип','Сер','Вер','Жов','Лис','Гру'],
+               monthStatus: '', yearStatus: '',
+               weekHeader: 'Не', weekStatus: '',
+               dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'],
+               dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],
+               dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],
+               dayStatus: 'DD', dateStatus: 'D, M d',
+               dateFormat: 'dd.mm.yy', firstDay: 1, 
+               initStatus: '', isRTL: false};
+       $.datepicker.setDefaults($.datepicker.regional['uk']);
 });
\ No newline at end of file