committing all the mobiley goodness.
17
.htaccess
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<Files index.html>
|
||||
ForceType application/x-httpd-php
|
||||
</Files>
|
||||
|
||||
RewriteEngine On
|
||||
RewriteRule ^css/all combine.php?type=css
|
||||
RewriteRule ^js/all combine.php?type=javascript
|
||||
|
||||
# Turn on Expires and set default to 0
|
||||
ExpiresActive On
|
||||
ExpiresDefault "access"
|
||||
|
||||
|
||||
# cache text, css, and javascript files for one week
|
||||
<FilesMatch ".(html|png|jpg|gif|js|css)$">
|
||||
Header set Cache-Control "max-age=1"
|
||||
</FilesMatch>
|
||||
76
_containers-states.html
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Static Containers, States</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Containers and states</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content">
|
||||
<div class="ui-body ui-body-a">
|
||||
<h1>Description</h1>
|
||||
<p>This page displays examples of themeable containers that are used throughout the jQuery Mobile framework.</p>
|
||||
</div>
|
||||
|
||||
<div class="ui-bar ui-bar-a">
|
||||
<a href="#" data-icon="arrow-l">Button</a>
|
||||
<h1>ui-bar-a</h1>
|
||||
</div>
|
||||
<div class="ui-body ui-body-a">
|
||||
<p>ui-body-a <a href="#" class="ui-link">ui-link</a></p>
|
||||
<a href="#" data-role="button">Button</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ui-bar ui-bar-b">
|
||||
<a href="#" data-icon="arrow-l">Button</a>
|
||||
<h1>ui-bar-b</h1>
|
||||
</div>
|
||||
<div class="ui-body ui-body-b">
|
||||
<p>ui-body-b <a href="#" class="ui-link">ui-link</a></p>
|
||||
<a href="#" data-role="button">Button</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ui-bar ui-bar-c">
|
||||
<a href="#" data-icon="arrow-l">Button</a>
|
||||
<h1>ui-bar-c</h1>
|
||||
</div>
|
||||
<div class="ui-body ui-body-c">
|
||||
<p>ui-body-c <a href="#" class="ui-link">ui-link</a></p>
|
||||
<a href="#" data-role="button">Button</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="ui-bar ui-bar-d">
|
||||
<a href="#" data-icon="arrow-l">Button</a>
|
||||
<h1>ui-bar-d</h1>
|
||||
</div>
|
||||
<!--
|
||||
|
||||
<div class="ui-list ui-list-up-a">
|
||||
<p>ui-list-up-a</p>
|
||||
<a href="#" data-role="button">Button</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-list ui-list-up-b">
|
||||
<p>ui-list-up-a</p>
|
||||
<a href="#" data-role="button">Button</a>
|
||||
</div>
|
||||
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
30
_events.html
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Event tests</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="ui-page" >
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Event tests</h1>
|
||||
</div>
|
||||
<div class="ui-content ui-body ui-body-c" style="height:2000px;">
|
||||
<p>The following events will log out below when they fire: scrollstart scrollstop swipe swipeleft swiperight tap taphold turn.</p>
|
||||
<div id="eventlogger"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
116
_fixed.html
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Toolbars demo</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Fixed Header</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content">
|
||||
<div class="ui-body ui-body-c">
|
||||
<h2>Demo description</h2>
|
||||
<p>This is a demo of the "fixed" headers and footers used in the jQuery Mobile framework. The page content flows naturally, allowing us to take advantage of native scrolling instead of a scripting a faux-scrolling workaround. The header and footer divs are right in the flow of the document, but whenever they are out of view, you can tap the screen to make them appear. Tapping again or scrolling the page will cause them to appear back in the flow of the page (at the top and bottom). </p
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<h1>Fixed Footer</h1>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
178
_form-controls.html
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Form Controls</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Form controls</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content">
|
||||
|
||||
|
||||
<form class="ui-body-c" action="#" method="get">
|
||||
|
||||
<div data-role="collapsible" data-state="collapsed">
|
||||
<h1>Demo description</h1>
|
||||
<p>This page contains various progressive-enhancement driven form controls. Native elements are sometimes hidden from view, but their values are maintained so the form can be submitted normally. In theory, browsers that don't support the custom controls will still get a usable experience.</p>
|
||||
|
||||
<p><strong>The collapsible panels</strong> are marked up as either heading/content, or legend/fieldset combinations. Helper text on the toggle links allows them to make sense on a screen reader.</strong></p>
|
||||
|
||||
<p><strong>Text inputs and textareas</strong> are largely left alone, aside from having some theme classes applied. Textareas auto-grow using Brandon Aaron's expandable plugin, eliminating the need to 2-finger scroll a textarea on a mobile device.</p>
|
||||
|
||||
<p><strong>The radio and checkbox controls</strong> below use standard input/label markup, but are styled to be more touch-friendly. The styled control you see is actually the label element, which sits over the real input, so if images fail to load, you'll still have a functional control. In most browsers, clicking the label automatically triggers a click on the input, but we've had to trigger the update manually for a few mobile browsers that don't do this natively. On the desktop, these controls are keyboard and screen-reader accessible. The horizontal toggles for "cache settings" and "font styling" are also just sets of checkboxes and radios with icons disabled.</p>
|
||||
|
||||
<p><strong>The select menus</strong> are driven off native select elements, but the native selects are hidden from view and replaced with more style-friendly markup. The replacement buttons and menus are ARIA-enabled and are keyboard accessible on the desktop as well. When clicked, if the menu has room it will appear as an overlay listbox, but if there are too many options to fit in the window without scrolling, the page content is wrapped in a div and hidden, and the menu is appended after that div. This lets us take advantage of native scrolling while the menu is in use. Try the third select menu to see this behavior in action. </p>
|
||||
|
||||
<p><strong>The submit buttons</strong> are marked up as both input[type=submit] and button elements in the source, but we're generating anchor-based buttons in their place in order to take advantage of consistent styling across mobile browsers. The original buttons are still on the page, hidden from view, and clicking the replacement button will trigger a click on the original element, so the form can be submitted normally.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<fieldset data-role="collapsible">
|
||||
<legend>Text input controls</legend>
|
||||
<div class="field">
|
||||
<label for="name">Text Input:</label>
|
||||
<input type="text" name="name" id="name" value="" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="password">Password Input:</label>
|
||||
<input type="password" name="password" id="password" value="" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="textarea">Textarea:</label>
|
||||
<textarea cols="40" rows="8" name="textarea" id="textarea"></textarea>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
|
||||
<div id="radio-examples" data-role="collapsible">
|
||||
|
||||
<h2>Radio toggles</h2>
|
||||
|
||||
|
||||
<fieldset data-role="controlgroup" class="field">
|
||||
<legend>Choose one:</legend>
|
||||
<input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" />
|
||||
<label for="radio-choice-1">Choice 1</label>
|
||||
|
||||
<input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2" />
|
||||
<label for="radio-choice-2">Choice 2</label>
|
||||
|
||||
<input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3" />
|
||||
<label for="radio-choice-3">Choice 3</label>
|
||||
|
||||
<input type="radio" name="radio-choice-1" id="radio-choice-4" value="choice-4" />
|
||||
<label for="radio-choice-4">Choice 4</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset data-role="controlgroup" data-type="horizontal" class="field">
|
||||
<legend>Cache settings:</legend>
|
||||
<input type="radio" name="radio-choice-a" id="radio-choice-a" value="choice-a" checked="checked" />
|
||||
<label for="radio-choice-a">On</label>
|
||||
<input type="radio" name="radio-choice-a" id="radio-choice-b" value="choice-b" />
|
||||
<label for="radio-choice-b">Off</label>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="checkbox-examples" data-role="collapsible">
|
||||
|
||||
<h2>Checkboxes</h2>
|
||||
|
||||
<fieldset data-role="controlgroup">
|
||||
<legend>Choose one or more:</legend>
|
||||
<input type="checkbox" name="checkbox-1" id="checkbox-1" class="custom" />
|
||||
<label for="checkbox-1">Choice 1</label>
|
||||
|
||||
<input type="checkbox" name="checkbox-2" id="checkbox-2" class="custom" />
|
||||
<label for="checkbox-2">Choice 2</label>
|
||||
|
||||
<input type="checkbox" name="checkbox-3" id="checkbox-3" class="custom" />
|
||||
<label for="checkbox-3">Choice 3</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset data-role="controlgroup" data-type="horizontal" class="field">
|
||||
<legend>Font styling:</legend>
|
||||
<input type="checkbox" name="checkbox-6" id="checkbox-6" class="custom" />
|
||||
<label for="checkbox-6">b</label>
|
||||
|
||||
<input type="checkbox" name="checkbox-7" id="checkbox-7" class="custom" />
|
||||
<label for="checkbox-7"><em>i</em></label>
|
||||
|
||||
<input type="checkbox" name="checkbox-8" id="checkbox-8" class="custom" />
|
||||
<label for="checkbox-8">u</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="field">
|
||||
<input type="checkbox" name="checkbox-9" id="checkbox-9" class="custom" />
|
||||
<label for="checkbox-9">Single Checkbox</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<fieldset data-role="collapsible">
|
||||
<legend>Select menus</legend>
|
||||
<div class="field">
|
||||
<label for="select-choice-1" class="select">Choose one:</label>
|
||||
<select name="select-choice-1" id="select-choice-1">
|
||||
<option value="Choice 1">Choice 1</option>
|
||||
<option value="Choice 2">Choice 2</option>
|
||||
<option value="Choice 3">Choice 3</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="select-choice-3" class="select">Choose one:</label>
|
||||
<select name="select-choice-3" id="select-choice-3">
|
||||
<option value="Choice 1">Choice 1</option>
|
||||
<option value="Choice 2">Choice 2</option>
|
||||
<option value="Choice 3">Choice 3</option>
|
||||
<option value="Choice 4">Choice 4</option>
|
||||
<option value="Choice 5">Choice 5</option>
|
||||
<option value="Choice 6">Choice 6</option>
|
||||
<option value="Choice 7">Choice 7</option>
|
||||
<option value="Choice 8">Choice 8</option>
|
||||
<option value="Choice 9">Choice 9</option>
|
||||
<option value="Choice 10">Choice 10</option>
|
||||
<option value="Choice 11">Choice 11</option>
|
||||
<option value="Choice 12">Choice 12</option>
|
||||
<option value="Choice 13">Choice 13</option>
|
||||
<option value="Choice 14">Choice 14</option>
|
||||
<option value="Choice 15">Choice 15</option>
|
||||
<option value="Choice 16">Choice 16</option>
|
||||
<option value="Choice 17">Choice 19</option>
|
||||
<option value="Choice 20">Choice 20</option>
|
||||
</select>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
|
||||
<fieldset class="ui-body-c ui-body ui-config-a">
|
||||
<div class="ui-block-a"><input type="submit" value="Input Submit" /></div>
|
||||
<div class="ui-block-b"><button type="submit" data-theme="b">Button Submit</button></div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
108
_globalnav.html
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Tabs Example</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Tabs Example</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-body ui-body-b">
|
||||
|
||||
<ul data-role="globalnav">
|
||||
<li><a href="_containers-states.html" data-role="button">Containers & states</a></li>
|
||||
<li><a href="_fixed.html" data-role="button">Fixed Toolbars</a></li>
|
||||
<li><a href="_form-controls.html" data-role="button">Form Controls</a></li>
|
||||
<li><a href="_tabs.html" data-role="button" rel="external">Tabs</a></li>
|
||||
<li><a href="_tree.html" data-role="button">Tree</a></li>
|
||||
<li><a href="_transitions.html" data-role="button">Transitions</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h1>Demo description</h1>
|
||||
|
||||
<p>This page demonstrates the behavior for the tabs control. The tab navigation can either be inline with the content (for tabs within sub-sections of a page), or optionally as a global fixed footer for page-level tabs. This page demonstrates the latter. It uses the fixed toolbars behavior, which allows you to display the tabs when you need them by tapping the screen.</p>
|
||||
<p>Also, the page header is a standard fixed toolbar that can bring you back to the previous page when you toggle its visibility.</p>
|
||||
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
302
_tabs.html
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Tabs Example</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Tabs Example</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content">
|
||||
|
||||
<div data-role="tabs">
|
||||
<ul>
|
||||
<li><a href="#content-a">Content A</a></li>
|
||||
<li><a href="#content-b">Content B</a></li>
|
||||
<li><a href="#content-c">Content C</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
|
||||
<div id="content-a">
|
||||
<h1>Demo description</h1>
|
||||
|
||||
<p>This page demonstrates the behavior for the tabs control. The tab navigation can either be inline with the content (for tabs within sub-sections of a page), or optionally as a global fixed footer for page-level tabs. This page demonstrates the latter. It uses the fixed toolbars behavior, which allows you to display the tabs when you need them by tapping the screen.</p>
|
||||
<p>Also, the page header is a standard fixed toolbar that can bring you back to the previous page when you toggle its visibility.</p>
|
||||
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
|
||||
</div><!--/content-area-a-->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="content-b">
|
||||
<h1>Content Panel B</h1>
|
||||
|
||||
<p>This page demonstrates the behavior for the tabs control. The tab navigation can either be inline with the content (for tabs within sub-sections of a page), or optionally as a global fixed footer for page-level tabs. This page demonstrates the latter. It uses the fixed toolbars behavior, which allows you to display the tabs when you need them by tapping the screen.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
</div><!--/content-area-b-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="content-c">
|
||||
<h1>Content Panel C</h1>
|
||||
|
||||
<p>This page demonstrates the behavior for the tabs control. The tab navigation can either be inline with the content (for tabs within sub-sections of a page), or optionally as a global fixed footer for page-level tabs. This page demonstrates the latter. It uses the fixed toolbars behavior, which allows you to display the tabs when you need them by tapping the screen.</p>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
<pre><code>
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 300px;
|
||||
height: 80px;
|
||||
}
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
46
_transitions-destination.html
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Transition Completed!</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="ui-page">
|
||||
<div class="ui-header ui-bar-b">
|
||||
<h1>Done!</h1>
|
||||
</div>
|
||||
<div class="ui-content">
|
||||
<div class="ui-body ui-body-b">
|
||||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<ol>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
31
_transitions.html
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Static Containers, States</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Transitions</h1>
|
||||
</div>
|
||||
<div class="ui-content">
|
||||
<div class="ui-body ui-body-c">
|
||||
<ul data-role="controlgroup">
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="slide">slide</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="slideup">slideup</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="pop">pop</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="flip">flip</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="dissolve">dissolve</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="fade">fade</a></li>
|
||||
<li><a href="_transitions-destination.html" data-role="button" data-transition="swap">swap</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
79
_tree.html
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Tree Example</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Tree Example</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ui-content">
|
||||
|
||||
|
||||
<ul data-role="tree">
|
||||
<li><a href="#">Tree demo Description</a>
|
||||
<div class="ui-body-c"><div class="ui-body">
|
||||
<h2>Demo description</h2>
|
||||
<p>This tree starts as an unordered list. Content can be dropped into the list items (as it is here), pulled in through Ajax (as it is in the other nodes), or linked externally to navigate to a separate page. The tree is marked up with ARIA attrs and is keyboard accessible on the desktop.</p>
|
||||
</div></div>
|
||||
</li>
|
||||
<li><a href="#">My Documents</a>
|
||||
<ul>
|
||||
<li><a href="sample-content/license.html">License</a></li>
|
||||
<li class="hijax"><a href="sample-content/terms.html">Terms & Conditions</a></li>
|
||||
<li class="hijax"><a href="sample-content/travel.html">Travel Ideas</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">My Poems</a>
|
||||
<ul>
|
||||
<li class="hijax"><a href="sample-content/lebowski.html">The Big Lebowski</a></li>
|
||||
<li class="hijax"><a href="sample-content/planetearth.html">Planet Earth</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">My Documents</a>
|
||||
<ul>
|
||||
<li class="hijax"><a href="sample-content/license.html">License</a></li>
|
||||
<li class="hijax"><a href="sample-content/terms.html">Terms & Conditions</a></li>
|
||||
<li class="hijax"><a href="sample-content/travel.html">Travel Ideas</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">My Poems</a>
|
||||
<ul>
|
||||
<li class="hijax"><a href="sample-content/lebowski.html">The Big Lebowski</a></li>
|
||||
<li class="hijax"><a href="sample-content/planetearth.html">Planet Earth</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">My Documents</a>
|
||||
<ul>
|
||||
<li class="hijax"><a href="sample-content/license.html">License</a></li>
|
||||
<li class="hijax"><a href="sample-content/terms.html">Terms & Conditions</a></li>
|
||||
<li class="hijax"><a href="sample-content/travel.html">Travel Ideas</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#">My Poems</a>
|
||||
<ul>
|
||||
<li class="hijax"><a href="sample-content/lebowski.html">The Big Lebowski</a></li>
|
||||
<li class="hijax"><a href="sample-content/planetearth.html">Planet Earth</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>Testing to make sure content flows inline after tree...</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
162
combine.php
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
<?php
|
||||
|
||||
/************************************************************************
|
||||
* CSS and Javascript Combinator 0.5
|
||||
* Copyright 2006 by Niels Leenheer
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
$cache = true;
|
||||
$pullfromcache = false;
|
||||
$cachedir = dirname(__FILE__) . '/cache';
|
||||
$cssdir = dirname(__FILE__) . '/css';
|
||||
$jsdir = dirname(__FILE__) . '/js';
|
||||
|
||||
// Determine the directory and type we should use
|
||||
switch ($_GET['type']) {
|
||||
case 'css':
|
||||
$base = realpath($cssdir);
|
||||
break;
|
||||
case 'javascript':
|
||||
$base = realpath($jsdir);
|
||||
break;
|
||||
default:
|
||||
header ("HTTP/1.0 503 Not Implemented");
|
||||
exit;
|
||||
};
|
||||
|
||||
$type = $_GET['type'];
|
||||
//$elements = explode(',', $_GET['files']);
|
||||
|
||||
include($base . '/manifest.php');
|
||||
|
||||
// Determine last modification date of the files
|
||||
$lastmodified = 0;
|
||||
while (list(,$element) = each($elements)) {
|
||||
$path = realpath($base . '/' . $element);
|
||||
|
||||
if (($type == 'javascript' && substr($path, -3) != '.js') ||
|
||||
($type == 'css' && substr($path, -4) != '.css')) {
|
||||
header ("HTTP/1.0 403 Forbidden");
|
||||
exit;
|
||||
}
|
||||
|
||||
if (substr($path, 0, strlen($base)) != $base || !file_exists($path)) {
|
||||
header ("HTTP/1.0 404 Not Found");
|
||||
exit;
|
||||
}
|
||||
|
||||
$lastmodified = max($lastmodified, filemtime($path));
|
||||
}
|
||||
|
||||
// Send Etag hash
|
||||
$hash = $lastmodified . '-' . md5($elements);
|
||||
header ("Etag: \"" . $hash . "\"");
|
||||
|
||||
if (isset($_SERVER['HTTP_IF_NONE_MATCH']) &&
|
||||
stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) == '"' . $hash . '"')
|
||||
{
|
||||
// Return visit and no modifications, so do not send anything
|
||||
header ("HTTP/1.0 304 Not Modified");
|
||||
header ('Content-Length: 0');
|
||||
}
|
||||
else
|
||||
{
|
||||
// First time visit or files were modified
|
||||
if ($cache)
|
||||
{
|
||||
// Determine supported compression method
|
||||
$gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip');
|
||||
$deflate = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate');
|
||||
|
||||
// Determine used compression method
|
||||
$encoding = $gzip ? 'gzip' : ($deflate ? 'deflate' : 'none');
|
||||
|
||||
// Check for buggy versions of Internet Explorer
|
||||
if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') &&
|
||||
preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) {
|
||||
$version = floatval($matches[1]);
|
||||
|
||||
if ($version < 6)
|
||||
$encoding = 'none';
|
||||
|
||||
if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1'))
|
||||
$encoding = 'none';
|
||||
}
|
||||
|
||||
// Try the cache first to see if the combined files were already generated
|
||||
$cachefile = 'cache-' . $hash . '.' . $type . ($encoding != 'none' ? '.' . $encoding : '');
|
||||
|
||||
|
||||
if (file_exists($cachedir . '/' . $cachefile) && $pullfromcache == true) {
|
||||
if ($fp = fopen($cachedir . '/' . $cachefile, 'rb')) {
|
||||
|
||||
if ($encoding != 'none') {
|
||||
header ("Content-Encoding: " . $encoding);
|
||||
}
|
||||
|
||||
header ("Content-Type: text/" . $type);
|
||||
header ("Content-Length: " . filesize($cachedir . '/' . $cachefile));
|
||||
|
||||
fpassthru($fp);
|
||||
fclose($fp);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Get contents of the files
|
||||
$contents = '';
|
||||
reset($elements);
|
||||
while (list(,$element) = each($elements)) {
|
||||
$path = realpath($base . '/' . $element);
|
||||
$contents .= "\n\n" . file_get_contents($path);
|
||||
}
|
||||
|
||||
// Send Content-Type
|
||||
header ("Content-Type: text/" . $type);
|
||||
|
||||
if (isset($encoding) && $encoding != 'none')
|
||||
{
|
||||
// Send compressed contents
|
||||
$contents = gzencode($contents, 9, $gzip ? FORCE_GZIP : FORCE_DEFLATE);
|
||||
header ("Content-Encoding: " . $encoding);
|
||||
header ('Content-Length: ' . strlen($contents));
|
||||
echo $contents;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Send regular contents
|
||||
header ('Content-Length: ' . strlen($contents));
|
||||
echo $contents;
|
||||
}
|
||||
|
||||
// Store cache
|
||||
if ($cache) {
|
||||
if ($fp = fopen($cachedir . '/' . $cachefile, 'wb')) {
|
||||
fwrite($fp, $contents);
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
7
css/manifest.php
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?
|
||||
$elements = array(
|
||||
'theme.css',
|
||||
'structure.css'
|
||||
);
|
||||
|
||||
?>
|
||||
534
css/structure.css
Normal file
|
|
@ -0,0 +1,534 @@
|
|||
/*
|
||||
* jQuery Mobile Framework
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
|
||||
/* some unsets - more probably needed */
|
||||
.ui-mobile fieldset, .ui-page { padding: 0; margin: 0; }
|
||||
.ui-mobile a img, .ui-mobile fieldset { border: 0; }
|
||||
|
||||
/* responsive page widths */
|
||||
.ui-mobile body { margin: 0; overflow-x: hidden; -webkit-user-select: none; -webkit-text-size-adjust: none; }
|
||||
/*tablets - more work needed here*/
|
||||
@media screen and (min-width: 480px){
|
||||
.ui-mobile body { width: auto; min-height: 100%; }
|
||||
}
|
||||
/*tablets - mobile landscape-ish */
|
||||
@media screen and (max-width: 480px){
|
||||
.ui-mobile body { width: 480px; min-height: 300px; }
|
||||
}
|
||||
/*tablets - mobile portrait-ish */
|
||||
@media screen and (max-width: 320px){
|
||||
.ui-mobile body { width: 320px; min-height: 460px; }
|
||||
}
|
||||
/*orientations from js are available - necessary? media q's work well enough? */
|
||||
.portrait body { }
|
||||
.landscape body { }
|
||||
|
||||
/* "page" containers - full-screen views, one should always be in view post-pageload */
|
||||
.ui-page { top: 0; left: 0; width: 100%; height: 100%; position: absolute; z-index: 10; visibility: hidden; height: 0; overflow: hidden; } /* display is temporary*/
|
||||
.ui-page-active { visibility: visible; height: auto; overflow: visible; }
|
||||
|
||||
/* loading screen */
|
||||
.ui-loading, .ui-loading body { overflow: hidden !important; }
|
||||
.ui-loading .ui-content { visibility: hidden; }
|
||||
.ui-loading .ui-loader { display: block; }
|
||||
.ui-loader { display: none; position: absolute; z-index: 0; top: 60px; left: 50%; width: 100px; margin-left: -80px; padding: 20px 30px; border: 0; }
|
||||
.ui-loader h1 { font-size: 15px; text-align: center; opacity: .8; }
|
||||
.ui-loader .ui-icon { position: static; display: block; opacity: .7; margin: 0 auto; width: 35px; height: 35px; background-color: transparent; }
|
||||
|
||||
/*headers, content panels*/
|
||||
.ui-bar, .ui-body { position: relative; padding: .4em 15px; overflow: hidden; display: block; clear:both; }
|
||||
.ui-bar h1, .ui-bar h2, .ui-bar h3, .ui-bar h4, .ui-bar h5, .ui-bar h6 { margin: 0; padding: 0; font-size: 16px; display: inline-block; } /* not sure if this rule's necessary...*/
|
||||
|
||||
/* page header configuration */
|
||||
.ui-header { position: relative; padding: .8em 90px 1em; }
|
||||
.ui-header .ui-back { position: absolute; left: 10px; top: .5em; }
|
||||
.ui-header h1, .ui-title, .ui-footer h1 { text-align: center; font-size: 16px; display: block; margin: 0; padding: 0; white-space: nowrap; overflow: hidden; }
|
||||
.ui-footer h1 { margin: .8em 0 1em; }
|
||||
.ui-header .ui-aux { position: absolute; right: 10px; top: .2em; }
|
||||
/*generated wrappers for toggling fixed/flow positions*/
|
||||
.ui-headfoot-placehold { }
|
||||
.ui-headfoot-hidden { overflow: hidden; }
|
||||
.ui-headfoot-wrap, .ui-headfoot-wrap { position: static; width: 100%; display: block; }
|
||||
.ui-fixpos { position: absolute; z-index: 1000; width: 100%; }
|
||||
|
||||
/* content configurations. More semantix class names plz. */
|
||||
.ui-config-a, .ui-config-b, .ui-config-c { overflow: hidden; }
|
||||
.ui-block-a, .ui-block-b, .ui-block-c, .ui-block-d { margin: 0; padding: 0; border: 0; float: left; }
|
||||
/* config a: 50/50 */
|
||||
.ui-config-a .ui-block-a { width: 48%; float: left; }
|
||||
.ui-config-a .ui-block-b { width: 48%; float: right; text-align: right; }
|
||||
/* config b: 33/33/33 */
|
||||
.ui-config-b .ui-block-a { width: 31%; margin-right: 2%; float: left; }
|
||||
.ui-config-b .ui-block-b { width: 31%; margin-right: 2%; float: left; }
|
||||
.ui-config-b .ui-block-c { width: 31%; float: right; text-align: right; }
|
||||
|
||||
/* icons sizing */
|
||||
.ui-icon { width: 18px; height: 18px; }
|
||||
|
||||
/* btn-like elements*/
|
||||
.ui-btn { display: block; text-align: center; cursor:pointer; position: relative; margin: .5em 5px; padding: 0; }
|
||||
.ui-headfoot-wrap .ui-btn, .ui-bar .ui-btn { display: inline-block; font-size: 13px; margin: 0; }
|
||||
.ui-btn-inner { padding: .6em 25px; display: block; }
|
||||
.ui-btn-text { }
|
||||
.ui-headfoot-wrap .ui-btn-inner, .ui-header .ui-btn-inner { padding: .4em 8px .5em; }
|
||||
.ui-btn-icon-notext { width: 20px; height: 20px; }
|
||||
.ui-btn-icon-notext .ui-btn-inner { padding: 0; }
|
||||
.ui-btn-icon-notext .ui-btn-text { position: absolute; left: -999px; }
|
||||
.ui-btn-icon-left .ui-btn-inner { padding-left: 30px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-left .ui-btn-inner { padding-left: 27px; }
|
||||
.ui-btn-icon-right .ui-btn-inner { padding-right: 30px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-right .ui-btn-inner { padding-right: 27px; }
|
||||
.ui-btn-icon-top .ui-btn-inner { padding-top: 30px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-top .ui-btn-inner { padding-top: 27px; }
|
||||
.ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 30px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 27px; }
|
||||
|
||||
/*btn icon positioning*/
|
||||
.ui-btn-icon-notext .ui-icon { display: block; }
|
||||
.ui-btn-icon-left .ui-icon, .ui-btn-icon-right .ui-icon { position: absolute; top: 50%; margin-top: -9px; }
|
||||
.ui-btn-icon-top .ui-icon, .ui-btn-icon-bottom .ui-icon { position: absolute; left: 50%; margin-left: -9px; }
|
||||
.ui-btn-icon-left .ui-icon { left: 10px; }
|
||||
.ui-btn-icon-right .ui-icon {right: 10px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-left .ui-icon { left: 4px; }
|
||||
.ui-headfoot-wrap .ui-btn-icon-right .ui-icon { right: 4px; }
|
||||
.ui-btn-icon-top .ui-icon { top: 5px; }
|
||||
.ui-btn-icon-bottom .ui-icon { bottom: 5px; }
|
||||
/*hiding native button,inputs - should probably use a11y hidden class!*/
|
||||
.ui-btn-hidden { position: absolute; left: -9999px; }
|
||||
|
||||
/*form elements*/
|
||||
|
||||
/*checkbox/radio sets*/
|
||||
.ui-controlgroup { padding: 0; margin: .5em 0 1em; }
|
||||
.ui-bar .ui-controlgroup { margin: 0 .3em; }
|
||||
.ui-controlgroup li { list-style: none; }
|
||||
.ui-controlgroup-vertical .ui-btn,
|
||||
.ui-controlgroup-vertical div.ui-checkbox, .ui-controlgroup-vertical div.ui-radio { margin: 0; border-bottom-width: 0; }
|
||||
.ui-controlgroup-vertical .ui-controlgroup-last { border-bottom-width: 1px; }
|
||||
.ui-controlgroup-horizontal { display: inline-block; padding: 0; }
|
||||
.ui-controlgroup-horizontal .ui-btn,
|
||||
.ui-controlgroup-horizontal div.ui-checkbox, .ui-controlgroup-horizontal div.ui-radio { margin: 0 -5px 0 0; display: inline-block; }
|
||||
.ui-controlgroup-horizontal div.ui-checkbox .ui-btn, .ui-controlgroup-horizontal div.ui-radio .ui-btn,
|
||||
.ui-controlgroup-horizontal div.ui-checkbox:last-child, .ui-controlgroup-horizontal div.ui-radio:last-child { margin-right: 0; }
|
||||
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-last { margin-right: 0; }
|
||||
.ui-controlgroup .ui-checkbox label, .ui-controlgroup .ui-radio label { font-size: 16px; }
|
||||
|
||||
/*textareas,labels,inputs*/
|
||||
label.ui-input-text, label.ui-select, .ui-controlgroup-label { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; }
|
||||
input.ui-input-text, textarea.ui-input-text { padding: .4em; line-height: 1.4; font-size: 16px; display: block; width: 95%; }
|
||||
textarea.ui-input-text { height: 50px; }
|
||||
/* orientation adjustments - incomplete!*/
|
||||
@media screen and (min-width: 480px){
|
||||
label.ui-input-text, .ui-controlgroup-label { vertical-align: top; }
|
||||
label.ui-input-text, label.ui-select, .ui-ui-controlgroup-label { display: inline-block; width: 20%; margin: 0 2% 0 0; }
|
||||
input.ui-input-text, textarea.ui-input-text, a.ui-select { width: 60%; display: inline-block !important; }
|
||||
}
|
||||
|
||||
/* Custom checkboxes, radios */
|
||||
div.ui-checkbox, div.ui-radio { position:relative; margin: .2em 0 .5em; }
|
||||
.ui-checkbox .ui-btn, .ui-radio .ui-btn { margin: 0; text-align: left; }
|
||||
.ui-checkbox .ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-btn-icon-left .ui-btn-inner { padding-left: 45px; }
|
||||
.ui-checkbox .ui-btn-icon-right .ui-btn-inner, .ui-radio .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; }
|
||||
.ui-checkbox .ui-btn-icon-left .ui-icon, .ui-radio .ui-btn-icon-left .ui-icon {left: 15px; }
|
||||
.ui-checkbox .ui-btn-icon-right .ui-icon, .ui-radio .ui-btn-icon-right .ui-icon {right: 15px; }
|
||||
|
||||
/* input, label positioning */
|
||||
.ui-checkbox input,.ui-radio input { position:absolute; left:20px; top:50%; width: 10px; height: 10px; margin:-5px 0 0 0; outline: 0 !important; }
|
||||
|
||||
/*custom select*/
|
||||
.ui-select select { position: absolute; left: -99999px; }
|
||||
.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; }
|
||||
.ui-select .ui-btn-icon-right .ui-icon { right: 15px; }
|
||||
|
||||
/*listbox*/
|
||||
.ui-listbox { position: relative; margin: 8px; padding: 0; z-index: 100; }
|
||||
.ui-page-content-hidden, .ui-listbox-hidden { display: none; }
|
||||
.ui-listbox-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
.ui-listbox-overlay { position: absolute; z-index: 999; width: 300px; margin-left: -150px; }
|
||||
.ui-listbox-header { background: none; border: 0; }
|
||||
.ui-listbox-overlay .ui-listbox-header { display: none; }
|
||||
.ui-listbox-list { list-style: none; margin: 5px; padding: 0; }
|
||||
.ui-listbox .ui-listbox-option { margin: 0; text-align: left; }
|
||||
|
||||
/*used in listbox - to be removed/replaced with page-style hiding*/
|
||||
.ui-helper-hidden,.ui-mobile .ui-content-hidden { display: none; }
|
||||
.ui-content { min-height: 480px; }
|
||||
|
||||
.ui-fullscreen { width: 100%; height: 100%; position: relative; overflow: hidden; }
|
||||
.ui-fullscreen img { width: 100%; }
|
||||
|
||||
/*collapsible panels*/
|
||||
.ui-collapsible-contain { margin: 0 0 -1px; border-left-width: 0; border-right-width: 0; overflow: hidden; }
|
||||
.ui-collapsible-heading { font-size: 16px; display: block; margin: 0; padding: 0; border-width: 0 0 1px 0; position: relative; }
|
||||
.ui-collapsible-heading a { padding: .7em 15px; text-align: left; margin: 0; text-decoration: none; outline: 0; border: 0; display: block; }
|
||||
.ui-collapsible-heading .ui-icon { position: absolute; right: 5px; top: 50%; margin-top: -9px; }
|
||||
.ui-collapsible-heading-status { position:absolute; left:-99999px; }
|
||||
.ui-collapsible-content { padding: 15px; overflow:hidden; display: block; }
|
||||
.ui-collapsible-content-collapsed { display: none; }
|
||||
|
||||
/*field separators*/
|
||||
.ui-field-contain { background: none; padding: .5em 0; margin: 0; border-left-width: 0; border-right-width: 0; border-bottom-width: 0; }
|
||||
.ui-field-contain:first-child { border-top-width: 0; }
|
||||
@media screen and (max-width: 480px){
|
||||
.ui-field-contain { border-width: 0; padding: 0; margin: 1em 0; }
|
||||
}
|
||||
|
||||
/*tree*/
|
||||
.ui-tree-contain { border-width: 0; }
|
||||
.ui-tree { position: relative; }
|
||||
.ui-tree,.ui-tree ul.ui-tree-group,.ui-tree ol.ui-tree-group, .ui-tree li.ui-treeitem { list-style:none; margin:0; padding:0; zoom: 1; }
|
||||
.ui-tree, .ui-tree .ui-tree-group { -webkit-transition: left .3s linear; width: 100%; margin: 0; }
|
||||
.ui-tree .ui-tree-group { position: absolute; top:0; left: 100%; border-width: 0; }
|
||||
.ui-tree-expanded, .ui-tree .ui-tree-expanded { -webkit-transition: left .3s linear; left: -100%; }
|
||||
.ui-tree .ui-tree-expanded { left: 0; }
|
||||
.ui-tree a.ui-treeitem-link { text-align: left; margin: 0 0 -1px 0; }
|
||||
.ui-tree a.ui-treeitem-link:focus { outline: none; }
|
||||
.ui-tree .ui-tree-group-collapsed { display: none; }
|
||||
.ui-tree .ui-tree-content-loading { padding: 20px; text-align: center; }
|
||||
.ui-tree .ui-tree-content-loading .ui-icon { width: 32px; height: 32px; margin: 0 auto; display: block; }
|
||||
.ui-tree-loading-text { margin: 15px auto; display: block; }
|
||||
|
||||
/* new tree layout stuff - tbd */
|
||||
.ui-treeitem-label { cursor: pointer; text-decoration: none; position: relative; display: block; margin: 0 0 -1px 0; text-align: left; overflow: hidden; padding: 0 40px 0 0; font-size: 16px; }
|
||||
.ui-treeitem-label .ui-btn-inner { padding: 0; }
|
||||
.ui-treeitem-label a { text-decoration: none; }
|
||||
.ui-treeitem-thumb, .ui-treeitem-content { float: left; margin-right: 10px; }
|
||||
.ui-treeitem-content { width: 60%; }
|
||||
.ui-treeitem-aside { float: right; margin: 0 10px; width: 25%; text-align: right; }
|
||||
.ui-treeitem-aside, .ui-treeitem-aside * { font-size: 12px; }
|
||||
.ui-treeitem-thumb { border: 0; }
|
||||
.ui-treeitem-title { font-size: 16px; font-weight: bold; display: block; margin: .6em 15px; }
|
||||
.ui-treeitem-desc { font-size: 12px; font-weight: normal; display: block; margin: -.5em 15px .6em; }
|
||||
.ui-treeitem-label .ui-icon { position: absolute; right: 5px; top: 50%; margin-top: -11px; }
|
||||
.ui-treeitem-count { float: right; position: relative; margin: 1em 5px; font-size: 11px; font-weight: bold; border-width: 0; padding: .2em .4em; background-image: none; }
|
||||
.ui-treeitem-next { position: absolute; width: 30px; height: 100%; border-width: 0; border-left-width: 1px; top: 0; right: 0; padding: 0 5px; }
|
||||
.ui-treeitem-next .ui-btn { overflow: hidden; position: absolute; right: 5px; top: 50%; margin-top: -11px; width: 20px; height: 20px; }
|
||||
.ui-treeitem-next .ui-btn .ui-icon { right: 0; top: 0; margin: 0; }
|
||||
|
||||
/*tree btn bar*/
|
||||
.ui-tree-header { overflow: hidden; }
|
||||
.ui-tree-header-hidden { display: none; }
|
||||
.ui-tree-section-title { text-align: center; font-size: 16px; }
|
||||
|
||||
/*tabs*/
|
||||
.ui-tabs-nav { list-style:none; padding: 0; margin: 0; position: relative; display: block; border: 0; overflow: hidden; }
|
||||
.ui-tabs-nav li { float: left; margin:0; padding:0; width: 33%; }
|
||||
.ui-tabs-nav li .ui-btn { display: block; float: none; font-size: 12px; text-align: center; margin: 0 -1px 0 0; outline: none; border-top-width: 0; border-bottom-width: 0; }
|
||||
.ui-tabs-body div.ui-tabs-panel { display:none; }
|
||||
.ui-tabs-body div.ui-tabs-panel-selected { display:block; }
|
||||
|
||||
/*globalnav*/
|
||||
.ui-globalnav { overflow: hidden; width: 100%; }
|
||||
.ui-globalnav ul { list-style:none; padding: 0; margin: 0; position: relative; display: block; border: 0; float: left; width: 2000px; }
|
||||
.ui-globalnav li { float: left; margin:0; padding:0; }
|
||||
.ui-globalnav li .ui-btn { font-size: 12px; text-align: center; margin: 0 -1px 0 0; outline: none; border-top-width: 0; border-bottom-width: 0; }
|
||||
.ui-globalnav li .ui-btn-inner { padding-left: 15px; padding-right: 15px; }
|
||||
|
||||
|
||||
/* transitions, animations*/
|
||||
|
||||
/*spin
|
||||
keyframes from jordandobson.com/webkit_loading_animation/resize/
|
||||
- note: can't this be shortened??
|
||||
*/
|
||||
.spin {
|
||||
-webkit-animation-name: spin;
|
||||
-webkit-animation-duration: 1s;
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0%{ -webkit-transform: rotate(0deg); }
|
||||
8.32%{ -webkit-transform: rotate(0deg); }
|
||||
8.33%{ -webkit-transform: rotate(30deg); }
|
||||
16.65%{ -webkit-transform: rotate(30deg); }
|
||||
16.66%{ -webkit-transform: rotate(60deg); }
|
||||
24.99%{ -webkit-transform: rotate(60deg); }
|
||||
25%{ -webkit-transform: rotate(90deg); }
|
||||
33.32%{ -webkit-transform: rotate(90deg); }
|
||||
33.33%{ -webkit-transform: rotate(120deg); }
|
||||
41.65%{ -webkit-transform: rotate(120deg); }
|
||||
41.66%{ -webkit-transform: rotate(150deg); }
|
||||
49.99%{ -webkit-transform: rotate(150deg); }
|
||||
50%{ -webkit-transform: rotate(180deg); }
|
||||
58.32%{ -webkit-transform: rotate(180deg); }
|
||||
58.33%{ -webkit-transform: rotate(210deg); }
|
||||
66.65%{ -webkit-transform: rotate(210deg); }
|
||||
66.66%{ -webkit-transform: rotate(240deg); }
|
||||
74.99%{ -webkit-transform: rotate(240deg); }
|
||||
75%{ -webkit-transform: rotate(270deg); }
|
||||
83.32%{ -webkit-transform: rotate(270deg); }
|
||||
83.33%{ -webkit-transform: rotate(300deg); }
|
||||
91.65%{ -webkit-transform: rotate(300deg); }
|
||||
91.66%{ -webkit-transform: rotate(330deg); }
|
||||
100%{ -webkit-transform: rotate(330deg); }
|
||||
}
|
||||
|
||||
/*
|
||||
-- transitions straight-up lifted from jQtouch - to be modified, renamed, removed, etc where needed
|
||||
*/
|
||||
.in, .out {
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
-webkit-animation-duration: 350ms;
|
||||
}
|
||||
|
||||
.slide.in {
|
||||
-webkit-animation-name: slideinfromright;
|
||||
}
|
||||
|
||||
.slide.out {
|
||||
-webkit-animation-name: slideouttoleft;
|
||||
}
|
||||
|
||||
.slide.in.reverse {
|
||||
-webkit-animation-name: slideinfromleft;
|
||||
}
|
||||
|
||||
.slide.out.reverse {
|
||||
-webkit-animation-name: slideouttoright;
|
||||
}
|
||||
|
||||
@-webkit-keyframes slideinfromright {
|
||||
from { -webkit-transform: translateX(100%); }
|
||||
to { -webkit-transform: translateX(0); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes slideinfromleft {
|
||||
from { -webkit-transform: translateX(-100%); }
|
||||
to { -webkit-transform: translateX(0); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes slideouttoleft {
|
||||
from { -webkit-transform: translateX(0); }
|
||||
to { -webkit-transform: translateX(-100%); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes slideouttoright {
|
||||
from { -webkit-transform: translateX(0); }
|
||||
to { -webkit-transform: translateX(100%); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadein {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadeout {
|
||||
from { opacity: 1; }
|
||||
to { opacity: 0; }
|
||||
}
|
||||
|
||||
.fade.in {
|
||||
z-index: 10;
|
||||
-webkit-animation-name: fadein;
|
||||
}
|
||||
.fade.out {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.dissolve.in {
|
||||
-webkit-animation-name: fadein;
|
||||
}
|
||||
|
||||
.dissolve.out {
|
||||
-webkit-animation-name: fadeout;
|
||||
}
|
||||
|
||||
|
||||
.flip {
|
||||
-webkit-animation-duration: .65s;
|
||||
}
|
||||
|
||||
.flip.in {
|
||||
-webkit-animation-name: flipinfromleft;
|
||||
}
|
||||
|
||||
.flip.out {
|
||||
-webkit-animation-name: flipouttoleft;
|
||||
}
|
||||
|
||||
/* Shake it all about */
|
||||
|
||||
.flip.in.reverse {
|
||||
-webkit-animation-name: flipinfromright;
|
||||
}
|
||||
|
||||
.flip.out.reverse {
|
||||
-webkit-animation-name: flipouttoright;
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipinfromright {
|
||||
from { -webkit-transform: rotateY(-180deg) scale(.8); }
|
||||
to { -webkit-transform: rotateY(0) scale(1); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipinfromleft {
|
||||
from { -webkit-transform: rotateY(180deg) scale(.8); }
|
||||
to { -webkit-transform: rotateY(0) scale(1); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipouttoleft {
|
||||
from { -webkit-transform: rotateY(0) scale(1); }
|
||||
to { -webkit-transform: rotateY(-180deg) scale(.8); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipouttoright {
|
||||
from { -webkit-transform: rotateY(0) scale(1); }
|
||||
to { -webkit-transform: rotateY(180deg) scale(.8); }
|
||||
}
|
||||
|
||||
.slideup.in {
|
||||
-webkit-animation-name: slideup;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.slideup.out {
|
||||
-webkit-animation-name: dontmove;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.slideup.out.reverse {
|
||||
z-index: 10;
|
||||
-webkit-animation-name: slidedown;
|
||||
}
|
||||
|
||||
.slideup.in.reverse {
|
||||
z-index: 0;
|
||||
-webkit-animation-name: dontmove;
|
||||
}
|
||||
|
||||
|
||||
@-webkit-keyframes slideup {
|
||||
from { -webkit-transform: translateY(100%); }
|
||||
to { -webkit-transform: translateY(0); }
|
||||
}
|
||||
|
||||
@-webkit-keyframes slidedown {
|
||||
from { -webkit-transform: translateY(0); }
|
||||
to { -webkit-transform: translateY(100%); }
|
||||
}
|
||||
|
||||
/* Hackish, but reliable. */
|
||||
@-webkit-keyframes dontmove {
|
||||
from { opacity: 1; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
.swap {
|
||||
-webkit-transform: perspective(800);
|
||||
-webkit-animation-duration: .7s;
|
||||
}
|
||||
.swap.out {
|
||||
-webkit-animation-name: swapouttoleft;
|
||||
}
|
||||
.swap.in {
|
||||
-webkit-animation-name: swapinfromright;
|
||||
}
|
||||
.swap.out.reverse {
|
||||
-webkit-animation-name: swapouttoright;
|
||||
}
|
||||
.swap.in.reverse {
|
||||
-webkit-animation-name: swapinfromleft;
|
||||
}
|
||||
@-webkit-keyframes swapouttoright {
|
||||
0% {
|
||||
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg);
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes swapouttoleft {
|
||||
0% {
|
||||
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg);
|
||||
-webkit-animation-timing-function: ease-in;
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes swapinfromright {
|
||||
0% {
|
||||
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes swapinfromleft {
|
||||
0% {
|
||||
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg);
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg);
|
||||
-webkit-animation-timing-function: ease-in-out;
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.pop {
|
||||
-webkit-transform-origin: 50% 50%;
|
||||
}
|
||||
|
||||
.pop.in {
|
||||
-webkit-animation-name: popin;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.pop.out.reverse {
|
||||
-webkit-animation-name: popout;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.pop.in.reverse {
|
||||
z-index: 0;
|
||||
-webkit-animation-name: dontmove;
|
||||
}
|
||||
|
||||
@-webkit-keyframes popin {
|
||||
from {
|
||||
-webkit-transform: scale(.2);
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popout {
|
||||
from {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
-webkit-transform: scale(.2);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
153
css/theme.css
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* jQuery Mobile Framework
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* themed containers
|
||||
----------------------------------*/
|
||||
.ui-bar-a { border: 1px solid #2A2A2A; background: #111111; color: #fff; font-weight: bold; text-shadow: 0 -1px 1px #000; background-image: -moz-linear-gradient(top, #3c3c3c, #111111); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #3c3c3c),color-stop(1, #111111)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#3c3c3c', EndColorStr='#111111')"; }
|
||||
.ui-bar-a, .ui-bar-a input, .ui-bar-a select, .ui-bar-a textarea, .ui-bar-a button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-bar-a .ui-link-inherit { color: #fff; }
|
||||
.ui-bar-a .ui-link { color: #7cc4e7; font-weight: bold; }
|
||||
|
||||
.ui-body-a { border: 1px solid #2A2A2A; background: #333; color: #fff; text-shadow: 0 1px 0 #000; font-weight: normal; background-image: -moz-linear-gradient(top, #666666, #333333); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #333333),color-stop(1, #(top, #666666, #333333))); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#333333)')"; }
|
||||
.ui-body-a, .ui-body-a input, .ui-body-a select, .ui-body-a textarea, .ui-body-a button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-body-a .ui-link-inherit { color: #fff; }
|
||||
.ui-body-a .ui-link { color: #2489CE; font-weight: bold; }
|
||||
|
||||
|
||||
.ui-bar-b { border: 1px solid #052331; background: #1a4068; color: #fff; font-weight: bold; text-shadow: 0 -1px 1px #000; background-image: -moz-linear-gradient(top, #274b71, #21466c); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #274b71),color-stop(1, #21466c)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#274b71', EndColorStr='#21466c')"; }
|
||||
.ui-bar-b, .ui-bar-b input, .ui-bar-b select, .ui-bar-b textarea, .ui-bar-b button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-bar-b .ui-link-inherit { color: #fff; }
|
||||
.ui-bar-b .ui-link { color: #7cc4e7; font-weight: bold; }
|
||||
|
||||
.ui-body-b { border: 1px solid #C6C6C6; background: #e6e7e8; color: #333333; text-shadow: 0 1px 0 #fff; font-weight: normal; background-image: -moz-linear-gradient(top, #d4d5d5, #c6c7c8); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #d4d5d5),color-stop(1, #c6c7c8)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#d4d5d5', EndColorStr='#c6c7c8')"; }
|
||||
.ui-body-b, .ui-body-b input, .ui-body-b select, .ui-body-b textarea, .ui-body-b button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-body-b .ui-link-inherit { color: #333333; }
|
||||
.ui-body-b .ui-link { color: #2489CE; font-weight: bold; }
|
||||
|
||||
|
||||
.ui-bar-c { border: 1px solid #B3B3B3; background: #dfe0e1; color: #3E3E3E; font-weight: bold; text-shadow: 0 1px 1px #fff; background-image: -moz-linear-gradient(top, #f2f2f2, #e9eaeb); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f2f2f2),color-stop(1, #e9eaeb)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#f2f2f2', EndColorStr='#e9eaeb')"; }
|
||||
.ui-bar-c, .ui-bar-c input, .ui-bar-c select, .ui-bar-c textarea, .ui-bar-c button { font-family: Helvetica, Arial, sans-serif; }
|
||||
|
||||
.ui-body-c { border: 1px solid #B3B3B3; background: #fff; color: #333333; text-shadow: 0 1px 0 #fff; }
|
||||
.ui-body-c, .ui-body-c input, .ui-body-c select, .ui-body-c textarea, .ui-body-c button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-body-c .ui-link-inherit { color: #333333; }
|
||||
.ui-body-c .ui-link { color: #2489CE; font-weight: bold; }
|
||||
|
||||
|
||||
.ui-bar-d { border: 1px solid #F7C942; background: #fadb4e; color: #333; text-shadow: 0 1px 0 #fff; background-image: -moz-linear-gradient(top, #fceda7, #fadb4e); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fceda7),color-stop(1, #fadb4e)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"; }
|
||||
.ui-bar-d, .ui-bar-d input, .ui-bar-d select, .ui-bar-d textarea, .ui-bar-d button { font-family: Helvetica, Arial, sans-serif; }
|
||||
.ui-bar-d .ui-link-inherit { color: #333; }
|
||||
.ui-bar-d .ui-link { color: #2489CE; font-weight: bold; }
|
||||
|
||||
|
||||
/* interaction states */
|
||||
|
||||
.ui-btn-up-a { border: 1px solid #000; background: #333333; font-weight: bold; color: #fff; cursor: pointer; text-shadow: 0 1px 1px #000; text-decoration: none; background-image: -moz-linear-gradient(top, #555555, #333333); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #555555),color-stop(1, #333333)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#333333')"; }
|
||||
.ui-btn-hover-a { border: 1px solid #000; background: #646464; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #000; text-decoration: none; background-image: -moz-linear-gradient(top, #848484, #646464); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #848484),color-stop(1, #646464)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#848484', EndColorStr='#646464')"; }
|
||||
.ui-btn-down-a { border: 1px solid #000; background: #3d3d3d; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #000; background-image: -moz-linear-gradient(top, #333333, #5a5a5a); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #333333),color-stop(1, #5a5a5a)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#333333', EndColorStr='#5a5a5a')"; }
|
||||
|
||||
.ui-btn-up-b { border: 1px solid #145072; background: #387bbe; font-weight: bold; color: #fff; cursor: pointer; text-shadow: 0 -1px 1px #145072; text-decoration: none; background-image: -moz-linear-gradient(top, #4e89c5, #2567ab); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #4e89c5),color-stop(1, #2567ab)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4e89c5', EndColorStr='#2567ab')"; }
|
||||
.ui-btn-hover-b { border: 1px solid #014D68; background: #5397d5; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #014D68; background-image: -moz-linear-gradient(top, #81b2e0, #397cbe); text-decoration: none; background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #81b2e0),color-stop(1, #397cbe)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#81b2e0', EndColorStr='#397cbe')"; }
|
||||
.ui-btn-down-b { border: 1px solid #225377; background: #3577bb; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #225377; background-image: -moz-linear-gradient(top, #3577db, #6b9bcd); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #3577db),color-stop(1, #6b9bcd)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#3577db', EndColorStr='#6b9bcd')"; }
|
||||
|
||||
.ui-btn-up-c { border: 1px solid #B3B3B3; background: #d0d4d2; font-weight: bold; color: #2F3E46; cursor: pointer; text-shadow: 0 -1px 1px #fff; text-decoration: none; background-image: -moz-linear-gradient(top, #e9ebea, #d0d4d2); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #e9ebea),color-stop(1, #d0d4d2)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#e9ebea', EndColorStr='#d0d4d2')"; }
|
||||
.ui-btn-hover-c { border: 1px solid #808080; background: #fff; font-weight: bold; color: #2F3E46; text-decoration: none; text-shadow: 0 -1px 1px #fff; background-image: -moz-linear-gradient(top, #fdfdfd, #f0f0f0); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fdfdfd),color-stop(1, #f0f0f0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#f0f0f0')"; }
|
||||
.ui-btn-down-c { border: 1px solid #808080; background: #ced0d2; font-weight: bold; color: #2F3E46; text-shadow: none; background-image: -moz-linear-gradient(top, #ced0d2, #e5e6e7); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ced0d2),color-stop(1, #e5e6e7)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ced0d2', EndColorStr='#e5e6e7')"; }
|
||||
|
||||
.ui-btn-up-d { border: 1px solid #F7C942; background: #fadb4e; font-weight: bold; color: #333; cursor: pointer; text-shadow: 0 -1px 1px #fff; text-decoration: none; text-shadow: 0 1px 0 #fff; background-image: -moz-linear-gradient(top, #fceda7, #fadb4e); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fceda7),color-stop(1, #fadb4e)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"; }
|
||||
.ui-btn-hover-d { border: 1px solid #F7C942; background: #fadb4e; font-weight: bold; color: #333; text-decoration: none; text-shadow: 0 -1px 1px #fff; background-image: -moz-linear-gradient(top, #fcfdb7, #fafb5e); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fcfdb7),color-stop(1, #fafb5e)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcfdb7', EndColorStr='#fafb5e')"; }
|
||||
.ui-btn-down-d { border: 1px solid #F7C942; background: #fadb4e; font-weight: bold; color: #333; text-shadow: none; background-image: -moz-linear-gradient(top, #fadb4e, #fceda7); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fadb4e),color-stop(1, #fceda7)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fadb4e', EndColorStr='#fceda7')"; }
|
||||
|
||||
|
||||
/*lists*/
|
||||
.ui-btn-up-e { border: 1px solid #000; background: #333333; font-weight: bold; color: #fff; cursor: pointer; text-shadow: 0 1px 1px #000; text-decoration: none; background-image: -moz-linear-gradient(top, #555555, #333333); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #555555),color-stop(1, #333333)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#333333')"; }
|
||||
.ui-btn-hover-e { border: 1px solid #000; background: #646464; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #000; text-decoration: none; background-image: -moz-linear-gradient(top, #848484, #646464); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #848484),color-stop(1, #646464)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#848484', EndColorStr='#646464')"; }
|
||||
.ui-btn-down-e { border: 1px solid #000; background: #3d3d3d; font-weight: bold; color: #fff; text-shadow: 0 -1px 1px #000; background-image: -moz-linear-gradient(top, #333333, #5a5a5a); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #333333),color-stop(1, #5a5a5a)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#333333', EndColorStr='#5a5a5a')"; }
|
||||
.ui-btn-up-e, .ui-btn-hover-e, .ui-btn-down-e { font-family: Helvetica, Arial, sans-serif; }
|
||||
|
||||
.ui-btn-up-f { border: 1px solid #B3B3B3; background: #d0d4d2; font-weight: bold; color: #2F3E46; cursor: pointer; text-shadow: 0 -1px 1px #fff; text-decoration: none; background-image: -moz-linear-gradient(top, #e9ebea, #d0d4d2); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #e9ebea),color-stop(1, #d0d4d2)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#e9ebea', EndColorStr='#d0d4d2')"; }
|
||||
.ui-btn-hover-f { border: 1px solid #808080; background: #fff; font-weight: bold; color: #2F3E46; text-decoration: none; text-shadow: 0 -1px 1px #fff; background-image: -moz-linear-gradient(top, #fdfdfd, #f0f0f0); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fdfdfd),color-stop(1, #f0f0f0)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#f0f0f0')"; }
|
||||
.ui-btn-down-f { border: 1px solid #808080; background: #ced0d2; font-weight: bold; color: #2F3E46; text-shadow: none; background-image: -moz-linear-gradient(top, #ced0d2, #e5e6e7); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ced0d2),color-stop(1, #e5e6e7)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ced0d2', EndColorStr='#e5e6e7')"; }
|
||||
.ui-btn-up-f, .ui-btn-hover-f, .ui-btn-down-f { font-family: Helvetica, Arial, sans-serif; }
|
||||
|
||||
|
||||
.ui-btn-active { border: 1px solid #145072; background: #387bbe; font-weight: bold; color: #fff; cursor: pointer; text-shadow: 0 -1px 1px #145072; text-decoration: none; background-image: -moz-linear-gradient(top, #4e89c5, #2567ab); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #4e89c5),color-stop(1, #2567ab)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4e89c5', EndColorStr='#2567ab')"; /*-webkit-tap-highlight-color: #387bbe;*/ }
|
||||
|
||||
.ui-focus { outline: none; -moz-box-shadow: 0px 0px 12px #387bbe; -webkit-box-shadow: 0px 0px 12px #387bbe; box-shadow: 0px 0px 12px #387bbe; }
|
||||
|
||||
.ui-btn-inner { border-top: 1px solid #fff; border-color: rgba(255,255,255,.3); }
|
||||
|
||||
|
||||
|
||||
|
||||
/* Container Corner radius */
|
||||
.ui-corner-tl { -moz-border-radius-topleft: .6em; -webkit-border-top-left-radius: .6em; border-top-left-radius: .6em; }
|
||||
.ui-corner-tr { -moz-border-radius-topright: .6em; -webkit-border-top-right-radius: .6em; border-top-right-radius: .6em; }
|
||||
.ui-corner-bl { -moz-border-radius-bottomleft: .6em; -webkit-border-bottom-left-radius: .6em; border-bottom-left-radius: .6em; }
|
||||
.ui-corner-br { -moz-border-radius-bottomright: .6em; -webkit-border-bottom-right-radius: .6em; border-bottom-right-radius: .6em; }
|
||||
.ui-corner-top { -moz-border-radius-topleft: .6em; -webkit-border-top-left-radius: .6em; border-top-left-radius: .6em; -moz-border-radius-topright: .6em; -webkit-border-top-right-radius: .6em; border-top-right-radius: .6em; }
|
||||
.ui-corner-bottom { -moz-border-radius-bottomleft: .6em; -webkit-border-bottom-left-radius: .6em; border-bottom-left-radius: .6em; -moz-border-radius-bottomright: .6em; -webkit-border-bottom-right-radius: .6em; border-bottom-right-radius: .6em; }
|
||||
.ui-corner-right { -moz-border-radius-topright: .6em; -webkit-border-top-right-radius: .6em; border-top-right-radius: .6em; -moz-border-radius-bottomright: .6em; -webkit-border-bottom-right-radius: .6em; border-bottom-right-radius: .6em; }
|
||||
.ui-corner-left { -moz-border-radius-topleft: .6em; -webkit-border-top-left-radius: .6em; border-top-left-radius: .6em; -moz-border-radius-bottomleft: .6em; -webkit-border-bottom-left-radius: .6em; border-bottom-left-radius: .6em; }
|
||||
.ui-corner-all { -moz-border-radius: .6em; -webkit-border-radius: .6em; border-radius: .6em; }
|
||||
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; opacity: .3; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
.ui-icon { background-position: 50% 50%; background-repeat: no-repeat; background-color: #fff; background-color: rgba(0,0,0,.4); -moz-border-radius: 9px; -webkit-border-radius: 9px; border-radius: 9px; }
|
||||
/*icons with no bg needed*/
|
||||
.ui-icon-checkbox-off,
|
||||
.ui-icon-checkbox-on,
|
||||
.ui-icon-radio-off,
|
||||
.ui-icon-radio-on { background-color: transparent; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
|
||||
|
||||
/*arrows*/
|
||||
.ui-icon-arrow-u { background-image: url(../images/icon-arrow-white-up.png); }
|
||||
.ui-icon-arrow-r { background-image: url(../images/icon-arrow-white-right.png); }
|
||||
.ui-icon-arrow-d { background-image: url(../images/icon-arrow-white-down.png); }
|
||||
.ui-icon-arrow-l { background-image: url(../images/icon-arrow-white-left.png); }
|
||||
|
||||
/*plus minus*/
|
||||
.ui-icon-plus { background-image: url(../images/icon-plus-white.png); }
|
||||
.ui-icon-minus { background-image: url(../images/icon-minus-white.png); }
|
||||
|
||||
/*checks,radios*/
|
||||
.ui-icon-checkbox-off { background-image: url(../images/form-check-off.png); }
|
||||
.ui-icon-checkbox-on { background-image: url(../images/form-check-on.png); }
|
||||
.ui-icon-radio-off { background-image: url(../images/form-radio-off.png); }
|
||||
.ui-icon-radio-on { background-image: url(../images/form-radio-on.png); }
|
||||
|
||||
/* loading icon */
|
||||
.ui-icon-loading { background-image: url(../images/ajax-loader.png); width: 40px; height: 40px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; }
|
||||
.ui-icon-loading-sml { background-image: url(../images/ajax-loader-sml.png); }
|
||||
|
||||
|
||||
/* btn Corner radius */
|
||||
.ui-btn-corner-tl { -moz-border-radius-topleft: 1em; -webkit-border-top-left-radius: 1em; border-top-left-radius: 1em; }
|
||||
.ui-btn-corner-tr { -moz-border-radius-topright: 1em; -webkit-border-top-right-radius: 1em; border-top-right-radius: 1em; }
|
||||
.ui-btn-corner-bl { -moz-border-radius-bottomleft: 1em; -webkit-border-bottom-left-radius: 1em; border-bottom-left-radius: 1em; }
|
||||
.ui-btn-corner-br { -moz-border-radius-bottomright: 1em; -webkit-border-bottom-right-radius: 1em; border-bottom-right-radius: 1em; }
|
||||
.ui-btn-corner-top { -moz-border-radius-topleft: 1em; -webkit-border-top-left-radius: 1em; border-top-left-radius: 1em; -moz-border-radius-topright: 1em; -webkit-border-top-right-radius: 1em; border-top-right-radius: 1em; }
|
||||
.ui-btn-corner-bottom { -moz-border-radius-bottomleft: 1em; -webkit-border-bottom-left-radius: 1em; border-bottom-left-radius: 1em; -moz-border-radius-bottomright: 1em; -webkit-border-bottom-right-radius: 1em; border-bottom-right-radius: 1em; }
|
||||
.ui-btn-corner-right { -moz-border-radius-topright: 1em; -webkit-border-top-right-radius: 1em; border-top-right-radius: 1em; -moz-border-radius-bottomright: 1em; -webkit-border-bottom-right-radius: 1em; border-bottom-right-radius: 1em; }
|
||||
.ui-btn-corner-left { -moz-border-radius-topleft: 1em; -webkit-border-top-left-radius: 1em; border-top-left-radius: 1em; -moz-border-radius-bottomleft: 1em; -webkit-border-bottom-left-radius: 1em; border-bottom-left-radius: 1em; }
|
||||
.ui-btn-corner-all { -moz-border-radius: 1em; -webkit-border-radius: 1em; border-radius: 1em; -webkit-background-clip: padding-box;}
|
||||
|
||||
/* Overlays */
|
||||
.ui-overlay { background: #666; opacity: .5; filter:Alpha(Opacity=50); position: absolute; width: 100%; height: 100%; }
|
||||
.ui-overlay-shadow { -moz-box-shadow: 0px 0px 12px rgba(0,0,0,.6); -webkit-box-shadow: 0px 0px 12px rgba(0,0,0,.6); box-shadow: 0px 0px 12px rgba(0,0,0,.6); }
|
||||
|
||||
.ui-shadow { -moz-box-shadow: 0px 1px 4px rgba(0,0,0,.3); -webkit-box-shadow: 0px 1px 4px rgba(0,0,0,.3); box-shadow: 0px 1px 4px rgba(0,0,0,.3); }
|
||||
.ui-bar-a .ui-shadow, .ui-bar-b .ui-shadow , .ui-bar-c .ui-shadow { -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.3); -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.3); box-shadow: 0px 1px 0 rgba(255,255,255,.3); }
|
||||
.ui-icon-shadow { -moz-box-shadow: 0px 1px 0 rgba(255,255,255,.4); -webkit-box-shadow: 0px 1px 0 rgba(255,255,255,.4); box-shadow: 0px 1px 0 rgba(255,255,255,.4); }
|
||||
34
experiments/photos/_photo1.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../css/all" />
|
||||
<script type="text/javascript" src="../../js/all"></script>
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>A bridge</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-bridge.jpeg" alt="photo-bridge" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo2.html">Next</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
35
experiments/photos/_photo2.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>A canoe</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-canoe.jpeg" alt="photo-canoe" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo1.html">Prev</a>
|
||||
<a href="_photo3.html">Next</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
35
experiments/photos/_photo3.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>A dock</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-dock.jpeg" alt="photo-dock" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo2.html">Prev</a>
|
||||
<a href="_photo4.html">Next</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
35
experiments/photos/_photo4.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>A kayak</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-kayak.jpeg" alt="photo-kayak" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo3.html">Prev</a>
|
||||
<a href="_photo5.html">Next</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
34
experiments/photos/_photo5.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Nathan running</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-run.jpeg" alt="photo-run" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo4.html">Prev</a>
|
||||
<a href="_photo6.html">Next</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
34
experiments/photos/_photo6.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - Photo 1</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body class="ui-body-a">
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-header ui-bar-a">
|
||||
<h1>Sandy beach</h1>
|
||||
<a href="index.html" class="ui-back" data-icon="arrow-l">Home</a>
|
||||
</div>
|
||||
|
||||
<div class="ui-content ui-fullscreen">
|
||||
|
||||
<a href="_photo2.html" class="swipe">
|
||||
<img src="images/content%20samples/photo-sand.jpeg" alt="photo-sand" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-footer ui-bar-a">
|
||||
<a href="_photo5.html">Prev</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
experiments/photos/images/photo-bridge.jpeg
Normal file
|
After Width: | Height: | Size: 149 KiB |
BIN
experiments/photos/images/photo-canoe.jpeg
Normal file
|
After Width: | Height: | Size: 174 KiB |
BIN
experiments/photos/images/photo-dock.jpeg
Normal file
|
After Width: | Height: | Size: 187 KiB |
BIN
experiments/photos/images/photo-kayak.jpeg
Normal file
|
After Width: | Height: | Size: 167 KiB |
BIN
experiments/photos/images/photo-run.jpeg
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
experiments/photos/images/photo-sand.jpeg
Normal file
|
After Width: | Height: | Size: 199 KiB |
263
experiments/static-list-variations/_tree_static.html
Normal file
|
|
@ -0,0 +1,263 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html class="ui-layout">
|
||||
<head>
|
||||
<title>jQuery Mobile Framework - ui-tree Example</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../css/all" />
|
||||
<!--script type="text/javascript" src="../../js/all"></script-->
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<div role="application" class="ui-tree-contain">
|
||||
<div class="ui-tree-header ui-header ui-contain-a"><a href="#" title="Back" class="ui-button ui-clickable-a ui-clickable-corner-all ui-button-icon-notext"><span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-left-a"></span></span></a><div class="ui-tree-section-title">My Documents</div></div>
|
||||
|
||||
<ul class="ui-tree" role="ui-tree">
|
||||
<li role="treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<a href="#" class="ui-treeitem-label ui-contain-b" tabindex="0">
|
||||
<span class="ui-treeitem-count ui-contain-a ui-clickable-corner-all">22</span>
|
||||
<span class="ui-clickable-inner ">
|
||||
<span class="ui-icon ui-icon-arrow-right-b"></span>
|
||||
<span class="ui-treeitem-title">Most simplest category</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<a href="#" class="ui-list ui-list-a" tabindex="0">
|
||||
<span class="ui-list-inner ">
|
||||
<span class="ui-icon ui-icon-arrow-right-b"></span>
|
||||
<span class="list-title">Most simplest category</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<a href="#" class="ui-list ui-list-a" tabindex="0">
|
||||
<span class="ui-list-inner">
|
||||
<span class="ui-icon ui-icon-arrow-r"></span>
|
||||
<span class="ui-list-title">Most simplest category type ever</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div role="application" class="ui-tree-contain">
|
||||
<ol class="ui-tree" role="tree">
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-list ui-list-a"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-list-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-list-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-r"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-a"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-treeitem-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-right-a"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-a"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-treeitem-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-right-a"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-f"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-treeitem-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-right-b"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-f"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-treeitem-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-right-b"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-f"><div class="ui-clickable-inner ui-clickable-corner-all">
|
||||
<div class="ui-treeitem-title">
|
||||
<a href="#" tabindex="0" class="ui-link-inherit">Simple with a little hierarchy</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<span class="ui-icon ui-icon-arrow-right-b"></span>
|
||||
</div></div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="application" class="ui-tree-contain">
|
||||
<ul class="ui-tree" role="tree">
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-a">
|
||||
<div class="ui-treeitem-content">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">Item title (split button approach)</a></div>
|
||||
<div class="ui-treeitem-desc">item description text can go here...</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-a" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="ui-treeitem-aside">
|
||||
<p>Testing this out!</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-a">
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">Item title (split button approach)</a></div>
|
||||
<div class="ui-treeitem-desc">item description text can go</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-a" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-a">
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">Item title (split button approach)</a></div>
|
||||
<div class="ui-treeitem-desc">item description text can go</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-a" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div role="application" class="ui-tree-contain">
|
||||
<ul class="ui-tree" role="tree">
|
||||
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-b">
|
||||
<img src="images/content%20samples/jb.jpg" class="ui-treeitem-thumb" alt="jb" width="75" height="75" />
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">My World 2.0</a></div>
|
||||
<div class="ui-treeitem-desc"><strong>Justin Bieber</strong></div>
|
||||
<div class="ui-treeitem-desc">item description text</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-b" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-b">
|
||||
<img src="images/content%20samples/jb.jpg" class="ui-treeitem-thumb" alt="jb" width="75" height="75" />
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">My World 2.0</a></div>
|
||||
<div class="ui-treeitem-desc"><strong>Justin Bieber</strong></div>
|
||||
<div class="ui-treeitem-desc">item description text</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-d" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-b">
|
||||
<img src="images/content%20samples/jb.jpg" class="ui-treeitem-thumb" alt="jb" width="75" height="75" />
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<div class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">My World 2.0</a></div>
|
||||
<div class="ui-treeitem-desc"><strong>Justin Bieber</strong></div>
|
||||
<div class="ui-treeitem-desc">item description text</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-d" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-icon-notext">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="application" class="ui-tree-contain">
|
||||
<ol class="ui-tree" role="tree">
|
||||
|
||||
|
||||
<li role="ui-treeitem" class="ui-treeitem" aria-expanded="false">
|
||||
<div class="ui-treeitem-label ui-contain-d">
|
||||
<img src="images/content%20samples/jb.jpg" class="ui-treeitem-thumb" alt="jb" width="75" height="75" />
|
||||
<div class="ui-treeitem-count ui-contain-a ui-clickable-corner-all">22</div>
|
||||
<div class="ui-treeitem-labelgroup">
|
||||
<h2 class="ui-treeitem-title"><a href="http://example.com" class="ui-treeitem-ext ui-link-inherit">My World 2.0</a></h2>
|
||||
<div class="ui-treeitem-desc"><strong>Justin Bieber</strong></div>
|
||||
<div class="ui-treeitem-desc">item description text</div>
|
||||
<a href="#" title="browse details" class="ui-treeitem-next ui-contain-d" tabindex="0">
|
||||
<span class="ui-button ui-clickable-c ui-shadow ui-clickable-corner-all ui-button-icon-right">
|
||||
<span class="ui-clickable-inner ui-clickable-corner-all"><span class="ui-icon ui-icon-arrow-right-a"></span></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
experiments/static-list-variations/images/jb.jpg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
images/ajax-loader.gif
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
images/ajax-loader.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
images/form-check-off.png
Normal file
|
After Width: | Height: | Size: 364 B |
BIN
images/form-check-on.png
Normal file
|
After Width: | Height: | Size: 460 B |
BIN
images/form-radio-off.png
Normal file
|
After Width: | Height: | Size: 453 B |
BIN
images/form-radio-on.png
Normal file
|
After Width: | Height: | Size: 519 B |
BIN
images/icon-arrow-white-down.png
Normal file
|
After Width: | Height: | Size: 232 B |
BIN
images/icon-arrow-white-left.png
Normal file
|
After Width: | Height: | Size: 236 B |
BIN
images/icon-arrow-white-right.png
Normal file
|
After Width: | Height: | Size: 236 B |
BIN
images/icon-arrow-white-up.png
Normal file
|
After Width: | Height: | Size: 231 B |
BIN
images/icon-minus-white.png
Normal file
|
After Width: | Height: | Size: 965 B |
BIN
images/icon-plus-white.png
Normal file
|
After Width: | Height: | Size: 971 B |
38
index.html
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php /*gzip page*/ ob_start("ob_gzhandler"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width = device-width, initial-scale=1.0" />
|
||||
<title>jQuery UI Mobile Framework - Static Containers, States</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/all" />
|
||||
<script type="text/javascript" src="js/all"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="ui-page">
|
||||
|
||||
<div class="ui-fixed-top">
|
||||
<div class="ui-bar ui-bar-a">
|
||||
<h1>jQuery Mobile Theme Tests</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui-content">
|
||||
<div class="ui-body ui-body-c">
|
||||
<ul data-role="controlgroup">
|
||||
<li><a href="_containers-states.html" data-role="button">Containers & states</a></li>
|
||||
<li><a href="_fixed.html" data-role="button">Fixed Toolbars</a></li>
|
||||
<li><a href="_form-controls.html" data-role="button">Form Controls</a></li>
|
||||
<li><a href="_tabs.html" data-role="button" rel="external">Tabs</a></li>
|
||||
<li><a href="_tree.html" data-role="button">Tree</a></li>
|
||||
<li><a href="_events.html" data-role="button">Events</a></li>
|
||||
<li><a href="_transitions.html" data-role="button">Transitions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
18
js/jQuery.bbq.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* jQuery BBQ: Back Button & Query Library - v1.2.1 - 2/17/2010
|
||||
* http://benalman.com/projects/jquery-bbq-plugin/
|
||||
*
|
||||
* Copyright (c) 2010 "Cowboy" Ben Alman
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* http://benalman.com/about/license/
|
||||
*/
|
||||
(function($,p){var i,m=Array.prototype.slice,r=decodeURIComponent,a=$.param,c,l,v,b=$.bbq=$.bbq||{},q,u,j,e=$.event.special,d="hashchange",A="querystring",D="fragment",y="elemUrlAttr",g="location",k="href",t="src",x=/^.*\?|#.*$/g,w=/^.*\#/,h,C={};function E(F){return typeof F==="string"}function B(G){var F=m.call(arguments,1);return function(){return G.apply(this,F.concat(m.call(arguments)))}}function n(F){return F.replace(/^[^#]*#?(.*)$/,"$1")}function o(F){return F.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")}function f(H,M,F,I,G){var O,L,K,N,J;if(I!==i){K=F.match(H?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/);J=K[3]||"";if(G===2&&E(I)){L=I.replace(H?w:x,"")}else{N=l(K[2]);I=E(I)?l[H?D:A](I):I;L=G===2?I:G===1?$.extend({},I,N):$.extend({},N,I);L=a(L);if(H){L=L.replace(h,r)}}O=K[1]+(H?"#":L||!K[1]?"?":"")+L+J}else{O=M(F!==i?F:p[g][k])}return O}a[A]=B(f,0,o);a[D]=c=B(f,1,n);c.noEscape=function(G){G=G||"";var F=$.map(G.split(""),encodeURIComponent);h=new RegExp(F.join("|"),"g")};c.noEscape(",/");$.deparam=l=function(I,F){var H={},G={"true":!0,"false":!1,"null":null};$.each(I.replace(/\+/g," ").split("&"),function(L,Q){var K=Q.split("="),P=r(K[0]),J,O=H,M=0,R=P.split("]["),N=R.length-1;if(/\[/.test(R[0])&&/\]$/.test(R[N])){R[N]=R[N].replace(/\]$/,"");R=R.shift().split("[").concat(R);N=R.length-1}else{N=0}if(K.length===2){J=r(K[1]);if(F){J=J&&!isNaN(J)?+J:J==="undefined"?i:G[J]!==i?G[J]:J}if(N){for(;M<=N;M++){P=R[M]===""?O.length:R[M];O=O[P]=M<N?O[P]||(R[M+1]&&isNaN(R[M+1])?{}:[]):J}}else{if($.isArray(H[P])){H[P].push(J)}else{if(H[P]!==i){H[P]=[H[P],J]}else{H[P]=J}}}}else{if(P){H[P]=F?i:""}}});return H};function z(H,F,G){if(F===i||typeof F==="boolean"){G=F;F=a[H?D:A]()}else{F=E(F)?F.replace(H?w:x,""):F}return l(F,G)}l[A]=B(z,0);l[D]=v=B(z,1);$[y]||($[y]=function(F){return $.extend(C,F)})({a:k,base:k,iframe:t,img:t,input:t,form:"action",link:k,script:t});j=$[y];function s(I,G,H,F){if(!E(H)&&typeof H!=="object"){F=H;H=G;G=i}return this.each(function(){var L=$(this),J=G||j()[(this.nodeName||"").toLowerCase()]||"",K=J&&L.attr(J)||"";L.attr(J,a[I](K,H,F))})}$.fn[A]=B(s,A);$.fn[D]=B(s,D);b.pushState=q=function(I,F){if(E(I)&&/^#/.test(I)&&F===i){F=2}var H=I!==i,G=c(p[g][k],H?I:{},H?F:2);p[g][k]=G+(/#/.test(G)?"":"#")};b.getState=u=function(F,G){return F===i||typeof F==="boolean"?v(F):v(G)[F]};b.removeState=function(F){var G={};if(F!==i){G=u();$.each($.isArray(F)?F:arguments,function(I,H){delete G[H]})}q(G,2)};e[d]=$.extend(e[d],{add:function(F){var H;function G(J){var I=J[D]=c();J.getState=function(K,L){return K===i||typeof K==="boolean"?l(I,K):l(I,L)[K]};H.apply(this,arguments)}if($.isFunction(F)){H=F;return G}else{H=F.handler;F.handler=G}}})})(jQuery,this);
|
||||
/*
|
||||
* jQuery hashchange event - v1.2 - 2/11/2010
|
||||
* http://benalman.com/projects/jquery-hashchange-plugin/
|
||||
*
|
||||
* Copyright (c) 2010 "Cowboy" Ben Alman
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* http://benalman.com/about/license/
|
||||
*/
|
||||
(function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);
|
||||
49
js/jQuery.buttonMarkup.js
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : sample plugin for making button-like links
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.buttonMarkup = function(options){
|
||||
return $(this).each(function(){
|
||||
var el = $(this);
|
||||
var o = $.extend({
|
||||
theme: (function(){
|
||||
//if data-theme attr is present
|
||||
if(el.is('[data-theme]')){
|
||||
return el.attr('data-theme');
|
||||
}
|
||||
//if not, find closest theme container
|
||||
if(el.parents('body').length){
|
||||
var themedParent = el.closest('[class*=ui-bar-]'); //this still catches ui-bar-blah...
|
||||
return themedParent.length ? themedParent.attr('class').match(/ui-bar-([a-z])/)[1] : 'c';
|
||||
}
|
||||
else {
|
||||
return 'c';
|
||||
}
|
||||
})(),
|
||||
corners: true,
|
||||
shadow: true,
|
||||
iconshadow: true,
|
||||
iconPos: el.attr('data-iconPos'),
|
||||
icon: el.attr('data-icon')
|
||||
},options);
|
||||
|
||||
if(o.icon){
|
||||
o.icon = 'ui-icon-'+o.icon;
|
||||
if(!o.iconPos){ o.iconPos = 'left'; }
|
||||
}
|
||||
|
||||
el
|
||||
.attr('data-theme', o.theme)
|
||||
.addClass('ui-btn ui-btn-up-'+ o.theme + (o.corners?' ui-btn-corner-all':'') + (o.iconPos? ' ui-btn-icon-'+o.iconPos : '')+ (o.shadow? ' ui-shadow' : ''))
|
||||
.wrapInner('<span class="ui-btn-text"></span>')
|
||||
.prepend(o.iconPos ? '<span class="ui-icon '+o.icon+ (o.shadow? ' ui-icon-shadow' : '')+'"></span>': '')
|
||||
.wrapInner('<span class="ui-btn-inner '+ (o.corners?' ui-btn-corner-all':'') +'"></span>')
|
||||
.clickable();
|
||||
});
|
||||
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
34
js/jQuery.clickable.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : sample scripting for manipulating themed interaction states
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.clickable = function(){
|
||||
return $(this).each(function(){
|
||||
var theme = $(this).attr('data-theme');
|
||||
$(this)
|
||||
.mousedown(function(){
|
||||
$(this).removeClass('ui-btn-up-'+theme).addClass('ui-btn-down-'+theme);
|
||||
})
|
||||
.mouseup(function(){
|
||||
$(this).removeClass('ui-btn-down-'+theme).addClass('ui-btn-up-'+theme);
|
||||
})
|
||||
.bind('mouseover',function(){
|
||||
$(this).removeClass('ui-btn-up-'+theme).addClass('ui-btn-hover-'+theme);
|
||||
})
|
||||
.bind('mouseout',function(){
|
||||
$(this).removeClass('ui-btn-hover-'+theme).addClass('ui-btn-up-'+theme);
|
||||
})
|
||||
.bind('focus',function(){
|
||||
$(this).addClass('ui-focus');
|
||||
})
|
||||
.bind('blur',function(){
|
||||
$(this).removeClass('ui-focus');
|
||||
});
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
73
js/jQuery.collapsible.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : "collapsible" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.collapsible = function(options){
|
||||
return $(this).each(function(){
|
||||
var o = $.extend({
|
||||
containerTheme: 'ui-body-c',
|
||||
expandCueText: ' click to expand contents',
|
||||
collapseCueText: ' click to collapse contents',
|
||||
collapsed: $(this).is('[data-state="collapsed"]'),
|
||||
heading: '>h1,>h2,>h3,>h4,>h5,>h6,>legend'
|
||||
},options);
|
||||
|
||||
//define
|
||||
var collapsibleContain = $(this).addClass('ui-collapsible-contain '+o.containerTheme),
|
||||
collapsibleHeading = $(this).find(o.heading).eq(0),
|
||||
collapsibleContent = collapsibleContain.wrapInner('<div class="ui-collapsible-content ui-body"></div>').find('.ui-collapsible-content');
|
||||
|
||||
//replace collapsibleHeading if it's a legend
|
||||
if(collapsibleHeading.is('legend')){
|
||||
collapsibleHeading = $('<div role="heading">'+ collapsibleHeading.html() +'</div>').insertBefore(collapsibleHeading);
|
||||
collapsibleHeading.next().remove();
|
||||
}
|
||||
|
||||
//drop heading in before content
|
||||
collapsibleHeading.insertBefore(collapsibleContent);
|
||||
|
||||
//modify markup & attributes
|
||||
collapsibleHeading.addClass('ui-collapsible-heading ui-bar-c') //NOTE - THIS SHOULD USE A BODY CLASS
|
||||
.append('<span class="ui-collapsible-heading-status"></span>')
|
||||
.wrapInner('<a href="#" class="ui-collapsible-heading-toggle"></a>');
|
||||
|
||||
collapsibleHeading.find('a:eq(0)').prepend('<span class="ui-icon ui-icon-shadow"></span>').addClass('ui-link');
|
||||
|
||||
//events
|
||||
collapsibleContain
|
||||
.bind('collapse', function(){
|
||||
collapsibleHeading
|
||||
.addClass('ui-collapsible-heading-collapsed')
|
||||
.find('.ui-collapsible-heading-status').text(o.expandCueText);
|
||||
|
||||
collapsibleHeading.find('.ui-icon').removeClass('ui-icon-minus').addClass('ui-icon-plus');
|
||||
collapsibleContent.addClass('ui-collapsible-content-collapsed').attr('aria-hidden',true);
|
||||
|
||||
})
|
||||
.bind('expand', function(){
|
||||
collapsibleHeading
|
||||
.removeClass('ui-collapsible-heading-collapsed')
|
||||
.find('.ui-collapsible-heading-status').text(o.collapseCueText);
|
||||
|
||||
collapsibleHeading.find('.ui-icon').removeClass('ui-icon-plus').addClass('ui-icon-minus');
|
||||
collapsibleContent.removeClass('ui-collapsible-content-collapsed').attr('aria-hidden',false);
|
||||
|
||||
})
|
||||
.trigger(o.collapsed ? 'collapse' : 'expand');
|
||||
|
||||
collapsibleHeading.click(function(){
|
||||
if( collapsibleHeading.is('.ui-collapsible-heading-collapsed') ){
|
||||
collapsibleContain.trigger('expand');
|
||||
}
|
||||
else {
|
||||
collapsibleContain.trigger('collapse');
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
35
js/jQuery.controlGroup.js
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "controlgroup" plugin - corner-rounding for groups of buttons, checks, radios, etc
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.controlgroup = function(options){
|
||||
var o = $.extend({
|
||||
direction: 'vertical'
|
||||
},options);
|
||||
|
||||
return $(this).each(function(){
|
||||
var groupheading = $(this).find('>legend'),
|
||||
flCorners = o.direction == 'horizontal' ? ['ui-corner-left', 'ui-corner-right'] : ['ui-corner-top', 'ui-corner-bottom'],
|
||||
type = $(this).find('input:eq(0)').attr('type');
|
||||
|
||||
//replace legend with more stylable replacement div
|
||||
$('<div role="heading" class="ui-controlgroup-label">'+ groupheading.html() +'</div>').insertBefore(groupheading);
|
||||
groupheading.remove();
|
||||
|
||||
$(this).addClass('ui-controlgroup ui-controlgroup-'+o.direction);
|
||||
|
||||
function flipClasses(els){
|
||||
els
|
||||
.removeClass('ui-btn-corner-all ui-shadow')
|
||||
.eq(0).addClass(flCorners[0])
|
||||
.end()
|
||||
.filter(':last').addClass(flCorners[1]).addClass('ui-controlgroup-last');
|
||||
}
|
||||
flipClasses($(this).find('.ui-btn'));
|
||||
flipClasses($(this).find('.ui-btn-inner'));
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
85
js/jQuery.expandable.js
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Version 1.0
|
||||
*
|
||||
* Contributions by:
|
||||
* - Karl Swedberg
|
||||
*/
|
||||
/*Note: options modified for jQuery mobile*/
|
||||
|
||||
(function($) {
|
||||
$.fn.extend({
|
||||
expandable: function(givenOptions) {
|
||||
var options = $.extend({
|
||||
duration: 'normal',
|
||||
interval: 750,
|
||||
within: 0,
|
||||
by: 1,
|
||||
init: false
|
||||
}, givenOptions);
|
||||
|
||||
return this.filter('textarea').each(function() {
|
||||
var $this = $(this).css({ display: 'block', overflow: 'hidden' }),
|
||||
minHeight = $this.height(),
|
||||
heightDiff = this.offsetHeight - minHeight,
|
||||
rowSize = ( parseInt($this.css('lineHeight'), 10) || parseInt($this.css('fontSize'), 10) ),
|
||||
// $mirror is used for determining the height of the text within the textarea
|
||||
// it isn't perfect but is pretty close
|
||||
// white-space rules from: http://petesbloggerama.blogspot.com/2007/02/firefox-ie-word-wrap-word-break-tables.html
|
||||
$mirror = $('<div style="position:absolute;top:-999px;left:-999px;border-color:#000;border-style:solid;overflow-x:hidden;visibility:hidden;z-index:0;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;" />').appendTo('body'),
|
||||
interval;
|
||||
|
||||
// copy styles from textarea to mirror to mirror the textarea as best possible
|
||||
$.each('borderTopWidth borderRightWidth borderBottomWidth borderLeftWidth paddingTop paddingRight paddingBottom paddingLeft fontSize fontFamily fontWeight fontStyle fontStretch fontVariant wordSpacing lineHeight width'.split(' '), function(i,prop) {
|
||||
$mirror.css(prop, $this.css(prop));
|
||||
});
|
||||
|
||||
// setup events
|
||||
$this
|
||||
.bind('keypress', function(event) { if ( event.keyCode == '13' ) check(); })
|
||||
.bind('focus blur', function(event) {
|
||||
if ( event.type == 'blur' ) clearInterval( interval );
|
||||
if ( event.type == 'focus' ) interval = setInterval(check, options.interval);
|
||||
});
|
||||
|
||||
function check() {
|
||||
var text = $this.val(), newHeight, height, usedHeight, usedRows, availableRows;
|
||||
// copy textarea value to the $mirror
|
||||
// encode any html passed in and replace new lines with a <br>
|
||||
// the is to try and normalize browser behavior
|
||||
$mirror.html( encodeHTML(text).replace(/\n/g, ' <br>') );
|
||||
|
||||
height = $this[0].offsetHeight - heightDiff;
|
||||
usedHeight = $mirror[0].offsetHeight - heightDiff;
|
||||
usedRows = Math.floor(usedHeight / rowSize);
|
||||
availableRows = Math.floor((height / rowSize) - usedRows);
|
||||
|
||||
// adjust height if needed by either growing or shrinking the text area to within the specified bounds
|
||||
if ( availableRows <= options.within ) {
|
||||
newHeight = rowSize * (usedRows + Math.max(availableRows, 0) + options.by);
|
||||
$this.stop().animate({ height: newHeight }, options.duration);
|
||||
} else if ( availableRows > options.by + options.within ) {
|
||||
newHeight = Math.max( height - (rowSize * (availableRows - (options.by + options.within))), minHeight );
|
||||
$this.stop().animate({ height: newHeight }, options.duration);
|
||||
}
|
||||
};
|
||||
if ( options.init ) check();
|
||||
}).end();
|
||||
}
|
||||
});
|
||||
|
||||
function encodeHTML(text) {
|
||||
var characters = {
|
||||
'<' : '<',
|
||||
'>' : '>',
|
||||
'&' : '&',
|
||||
'"' : '"',
|
||||
'\'': ''',
|
||||
'/' : '/'
|
||||
};
|
||||
return (text + '').replace(/[<>&"'\/]/g, function(c) {
|
||||
return characters[c];
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
||||
14
js/jQuery.fieldContain.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "fieldcontain" plugin - simple class additions to make form row separators
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.fieldcontain = function(options){
|
||||
var o = $.extend({
|
||||
theme: 'c'
|
||||
},options);
|
||||
return $(this).addClass('ui-field-contain ui-body ui-body-'+o.theme);
|
||||
};
|
||||
})(jQuery);
|
||||
94
js/jQuery.fixHeaderFooter.js
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "fixHeaderFooter" plugin - on-demand positioning for headers,footers
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.fixHeaderFooter = function(options){
|
||||
return $(this).each(function(){
|
||||
var el = $(this);
|
||||
var o = $.extend({
|
||||
ignoreTargets: 'a,input,textarea,select,button,label,.ui-headfoot-placehold',
|
||||
overlayOnly: el.find('.ui-fullscreen').length //if this is true, we should set the parent div to height 0 to force overlays...?
|
||||
},options);
|
||||
|
||||
var els = el.find('.ui-header,.ui-footer').wrap('<div class="ui-headfoot-placehold"><div class="ui-headfoot-wrap"></div></div>'),
|
||||
posLoop = setInterval(function(){ els.trigger('setTop'); }, 20);
|
||||
|
||||
//set placeholder heights, then bind custom events
|
||||
els
|
||||
.each(function(){
|
||||
var placehold = $(this).parents('.ui-headfoot-placehold:eq(0)');
|
||||
if(o.overlayOnly){
|
||||
$(this).parent().parent().height(0);
|
||||
}
|
||||
else{
|
||||
$(this).parent().parent().height($(this).parent().height());
|
||||
}
|
||||
})
|
||||
.bind('setTop',function(){
|
||||
var fromTop = $.scrollY(),
|
||||
screenHeight = window.innerHeight,
|
||||
thisHeight = $(this).parent().outerHeight();
|
||||
return $(this).parent().css('top', ($(this).is('.ui-header')) ? fromTop : fromTop + screenHeight - thisHeight);
|
||||
})
|
||||
.bind('overlayIn',function(){
|
||||
$(this).parent().addClass('ui-fixpos');
|
||||
if(o.overlayOnly){
|
||||
$(this).parent().parent().removeClass('ui-headfoot-hidden');
|
||||
}
|
||||
return $(this).trigger('setTop');
|
||||
})
|
||||
.bind('overlayOut',function(){
|
||||
$(this).parent().removeClass('ui-fixpos');
|
||||
if(o.overlayOnly){
|
||||
$(this).parent().parent().addClass('ui-headfoot-hidden');
|
||||
}
|
||||
return $(this);
|
||||
})
|
||||
.bind('overlayToggle',function(){
|
||||
return $(this).parent().is('.ui-fixpos') ? $(this).trigger('overlayOut') : $(this).trigger('overlayIn');
|
||||
})
|
||||
.bind('mousedown',function(e){
|
||||
return false;
|
||||
})
|
||||
.bind('click tap',function(e){
|
||||
e.stopImmediatePropagation();
|
||||
});
|
||||
|
||||
$(document)
|
||||
.bind('tap',function(e){
|
||||
if( !$(e.target).closest(o.ignoreTargets).length ){
|
||||
els.trigger('overlayToggle');
|
||||
}
|
||||
})
|
||||
.bind('scrollstart',function(){
|
||||
if(els.parent().is('.ui-fixpos')){
|
||||
els.data('visiblebeforescroll',true);
|
||||
}
|
||||
els.trigger('overlayOut');
|
||||
})
|
||||
.bind('scrollstop',function(){
|
||||
if(els.data('visiblebeforescroll')){
|
||||
els.removeData('visiblebeforescroll').trigger('overlayIn');
|
||||
}
|
||||
});
|
||||
|
||||
$(window)
|
||||
.bind('load',function(){
|
||||
els.trigger('overlayIn');
|
||||
setTimeout(function(){
|
||||
els.trigger('overlayOut');
|
||||
if(posLoop){ clearInterval(posLoop); }
|
||||
}, 2000);
|
||||
|
||||
if(o.overlayOnly){
|
||||
//to-do...for a photo-viewer or something full-screen
|
||||
els.parents('.ui-headfoot-placehold:eq(0)').addClass('ui-headfoot-overlayonly');
|
||||
}
|
||||
})
|
||||
.resize(function(){ els.trigger('overlayOut'); });
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
21
js/jQuery.forms.button.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : sample plugin for making button links that proxy to native input/buttons
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.customButton = function(){
|
||||
return $(this).each(function(){
|
||||
var button = $(this).addClass('ui-btn-hidden').attr('tabindex','-1');
|
||||
|
||||
$('<a href="#" role="button">'+ (button.text() || button.val()) +'</a>')
|
||||
.buttonMarkup({theme: button.attr('data-theme'), icon: button.attr('data-icon')})
|
||||
.click(function(){
|
||||
button.click();
|
||||
return false;
|
||||
})
|
||||
.insertBefore(button);
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
70
js/jQuery.forms.checkboxradio.js
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : "customCheckboxRadio" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.customCheckboxRadio = function(options){
|
||||
return $(this).each(function(){
|
||||
if($(this).is('[type=checkbox],[type=radio]')){
|
||||
var input = $(this);
|
||||
|
||||
var o = $.extend({
|
||||
theme: 'b',
|
||||
icon: !input.parents('[data-type="horizontal"]').length,
|
||||
checkedicon: 'ui-icon-'+input.attr('type')+'-on',
|
||||
uncheckedicon: 'ui-icon-'+input.attr('type')+'-off'
|
||||
},options);
|
||||
|
||||
// get the associated label using the input's id
|
||||
var label = $('label[for='+input.attr('id')+']').buttonMarkup({iconPos: o.icon ? 'left' : '', shadow: false});
|
||||
|
||||
var icon = label.find('.ui-icon');
|
||||
|
||||
// wrap the input + label in a div
|
||||
input
|
||||
.add(label)
|
||||
.wrapAll('<div class="ui-'+ input.attr('type') +'"></div>');
|
||||
|
||||
// necessary for browsers that don't support the :hover pseudo class on labels
|
||||
label
|
||||
.mousedown(function(){
|
||||
$(this).data('state', input.attr('checked'));
|
||||
})
|
||||
.click(function(){
|
||||
setTimeout(function(){
|
||||
if(input.attr('checked') == $(this).data('state')){
|
||||
input.trigger('click');
|
||||
}
|
||||
}, 1);
|
||||
})
|
||||
.clickable();
|
||||
|
||||
//bind custom event, trigger it, bind click,focus,blur events
|
||||
input.bind('updateState', function(){
|
||||
if(input.is(':checked')){
|
||||
label.addClass('ui-btn-active');
|
||||
icon.addClass(o.checkedicon);
|
||||
icon.removeClass(o.uncheckedicon);
|
||||
}
|
||||
else {
|
||||
label.removeClass('ui-btn-active');
|
||||
icon.removeClass(o.checkedicon);
|
||||
icon.addClass(o.uncheckedicon);
|
||||
}
|
||||
if(!input.is(':checked')){ label.removeClass('ui-focus'); }
|
||||
})
|
||||
.trigger('updateState')
|
||||
.click(function(){
|
||||
$('input[name='+ $(this).attr('name') +']').trigger('updateState');
|
||||
})
|
||||
.focus(function(){
|
||||
label.addClass('ui-focus');
|
||||
if(input.is(':checked')){ label.addClass('ui-focus'); }
|
||||
})
|
||||
.blur(function(){ label.removeClass('ui-focus'); });
|
||||
}
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
204
js/jQuery.forms.select.js
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : "customSelect" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.customSelect = function(options){
|
||||
return $(this).each(function(){
|
||||
//extendable options
|
||||
var o = $.extend({
|
||||
backText: 'Back',
|
||||
chooseText: 'Choose one:',
|
||||
inline: false
|
||||
}, options);
|
||||
|
||||
var select = $(this),
|
||||
label = $('label[for='+ select.attr('id') +']').addClass('ui-select'),
|
||||
buttonId = select.attr('id')+'-button',
|
||||
menuId = select.attr('id')+'-menu',
|
||||
thisPage = $(this).closest('.ui-page');
|
||||
|
||||
//select properties,events
|
||||
select
|
||||
.change(function(){
|
||||
button.find('.ui-btn-text').text(select.val());
|
||||
})
|
||||
.focus(function(){
|
||||
$(this).blur();
|
||||
button.focus();
|
||||
})
|
||||
.wrap('<div class="ui-select"></div>')
|
||||
.attr('tabindex','-1')
|
||||
.bind('showmenu',function(){
|
||||
$(document).data('currScroll', [$(window).scrollLeft(), $(window).scrollTop()]);
|
||||
if(menuHeight > window.innerHeight - 80){
|
||||
menuType = "page";
|
||||
thisPage.find('.ui-content').addClass('ui-content-hidden');
|
||||
listbox.removeClass('ui-listbox-overlay');
|
||||
}
|
||||
else {
|
||||
menuType = "overlay";
|
||||
listbox.addClass('ui-listbox-overlay').css({
|
||||
top: $(window).scrollTop() + (window.innerHeight/2),
|
||||
'margin-top': -menuHeight/2,
|
||||
left: window.innerWidth/2
|
||||
});
|
||||
}
|
||||
|
||||
screen.css({width: $(window).width(), height: $(document).height()}).removeClass('ui-helper-hidden out').addClass('in');
|
||||
listbox.removeClass('ui-listbox-hidden');
|
||||
var selectedLI = list.find('.ui-btn-active').focus();
|
||||
|
||||
if(menuType == "page"){
|
||||
$(window)[0].scrollTo(0, 0);
|
||||
listbox.addClass('slideup in');
|
||||
}
|
||||
else{
|
||||
listbox.addClass('pop in');
|
||||
}
|
||||
|
||||
})
|
||||
.bind('hidemenu',function(){
|
||||
screen.addClass('ui-helper-hidden out');
|
||||
listbox.removeAttr('style').removeClass('in').addClass('ui-listbox-hidden out');
|
||||
thisPage.find('.ui-content').removeClass('ui-content-hidden');
|
||||
setTimeout(function(){
|
||||
button.focus();
|
||||
if(menuType == "page"){
|
||||
$(window)[0].scrollTo($(document).data('currScroll')[0], $(document).data('currScroll')[1]);
|
||||
if(button.offset().top > window.innerHeight){
|
||||
$(window)[0].scrollTo(0, button.offset().top);
|
||||
}
|
||||
}
|
||||
}, 50);
|
||||
});
|
||||
|
||||
//create menu button
|
||||
var button = $('<a href="#">'+ select.val() +'</a>')
|
||||
.buttonMarkup({
|
||||
iconPos: 'right',
|
||||
icon: 'arrow-d'
|
||||
})
|
||||
.attr({
|
||||
'role': 'button',
|
||||
'title': 'select menu',
|
||||
'id': buttonId,
|
||||
'aria-haspopup': 'true',
|
||||
'aria-owns': menuId
|
||||
})
|
||||
.mousedown(function(){
|
||||
select.trigger('showmenu');
|
||||
return false;
|
||||
})
|
||||
.insertBefore(select);
|
||||
|
||||
//create menu
|
||||
var listbox = $('<div id="'+ menuId +'" class="ui-listbox ui-body-a ui-overlay-shadow ui-corner-all" role="listbox" aria-labelledby="'+ buttonId +'"></div>');
|
||||
|
||||
//menu header
|
||||
$('<div class="ui-listbox-header ui-header ui-bar ui-bar-a ui-corner-all"><div class="ui-title">'+ o.chooseText +'</div></div>')
|
||||
.prepend( $('<a href="#" class="ui-back">'+ o.backText +'</span></a>').buttonMarkup({icon: 'arrow-l'}) )
|
||||
.appendTo(listbox);
|
||||
|
||||
var list = $('<ul class="ui-listbox-list"></ul>').appendTo(listbox);
|
||||
|
||||
//populate menu
|
||||
select.find('option').each(function(i){
|
||||
var thisclass = select[0].selectedIndex == i ? 'ui-btn-active' : '';
|
||||
var thisselected = select[0].selectedIndex == i ? ' aria-selected="true"' : '';
|
||||
$('<li></li>')
|
||||
.append( $('<a href="#" class="ui-listbox-option"'+thisselected+' role="option">'+ $(this).text() +'</a>').buttonMarkup().addClass(thisclass) )
|
||||
.appendTo(list);
|
||||
});
|
||||
|
||||
//group items in a vertical listbox style (corners pilled)
|
||||
list.controlgroup();
|
||||
|
||||
//apply click events for items
|
||||
list.find('a')
|
||||
.click(function(){
|
||||
list.find('[aria-selected=true]').removeClass('ui-btn-active').attr('aria-selected',false);
|
||||
$(this).addClass('ui-btn-active').attr('aria-selected', true);
|
||||
var newIndex = list.find('a').index(this),
|
||||
prevIndex = select[0].selectedIndex;
|
||||
select[0].selectedIndex = list.find('a').index(this);
|
||||
if(newIndex != prevIndex){
|
||||
select.trigger('change');
|
||||
}
|
||||
select.trigger('hidemenu');
|
||||
return false;
|
||||
});
|
||||
|
||||
//back button
|
||||
listbox.find('.ui-listbox-header a').click(function(){
|
||||
select.trigger('hidemenu');
|
||||
});
|
||||
|
||||
|
||||
//keyboard events for menu items
|
||||
list.keydown(function(event){
|
||||
if( !$(this).is('.ui-btn') ){
|
||||
//switch logic based on which key was pressed
|
||||
switch(event.keyCode){
|
||||
//up or left arrow keys
|
||||
case 37:
|
||||
case 38:
|
||||
//if there's a previous option, focus it
|
||||
if( $(event.target).parent().prev().length ){
|
||||
$(event.target).blur().parent().prev().find('a').eq(0).focus();
|
||||
}
|
||||
//prevent native scroll
|
||||
return false;
|
||||
break;
|
||||
//down or right arrow keys
|
||||
case 39:
|
||||
case 40:
|
||||
//if there's a next option, focus it
|
||||
if( $(event.target).parent().next().length ){
|
||||
$(event.target).blur().parent().next().find('a').eq(0).focus();
|
||||
}
|
||||
//prevent native scroll
|
||||
return false;
|
||||
break;
|
||||
//if enter or space is pressed in menu, trigger click
|
||||
case 13:
|
||||
case 32:
|
||||
$(event.target).trigger('click'); //should trigger select
|
||||
return false;
|
||||
break;
|
||||
//tab returns focus to the menu button, and then automatically shifts focus to the next focusable element on the page
|
||||
case 9:
|
||||
select.trigger('hidemenu');
|
||||
break;
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//add list to page
|
||||
listbox.insertAfter(thisPage.find('.ui-content:eq(0)'));
|
||||
var screen = $('<div class="ui-listbox-screen ui-overlay ui-helper-hidden fadeto"></div>').insertBefore(listbox);
|
||||
|
||||
//get height for figuring out overlay vs. paged
|
||||
var menuHeight = list.outerHeight();
|
||||
|
||||
//menu type
|
||||
var menuType = "page";
|
||||
|
||||
//hide it
|
||||
listbox.addClass('ui-listbox-hidden');
|
||||
|
||||
//hide on outside click
|
||||
screen.click(function(){
|
||||
listbox.addClass('ui-listbox-hidden out');
|
||||
screen.addClass('ui-helper-hidden out');
|
||||
$('.ui-page').find('.ui-content').removeClass('ui-content-hidden');
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
|
||||
33
js/jQuery.forms.textinput.js
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : "customTextInput" plugin for text inputs, textareas (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
jQuery.fn.customTextInput = function(options){
|
||||
return $(this).each(function(){
|
||||
var input = $(this);
|
||||
|
||||
var o = $.extend({
|
||||
//defaultTheme: "a"
|
||||
}, options);
|
||||
|
||||
$('label[for='+input.attr('id')+']').addClass('ui-input-text');
|
||||
|
||||
input
|
||||
.addClass('ui-corner-all ui-body-c ui-input-text')
|
||||
.focus(function(){
|
||||
$(this).addClass('ui-focus');
|
||||
})
|
||||
.blur(function(){
|
||||
$(this).removeClass('ui-focus');
|
||||
});
|
||||
|
||||
//autogrow
|
||||
if(input.is('textarea')){
|
||||
input.expandable();
|
||||
}
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
26
js/jQuery.globalnav.js
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "tabs" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.globalnav = function(settings){
|
||||
return $(this).each(function(){
|
||||
//configurable options
|
||||
var o = $.extend({},settings);
|
||||
|
||||
var globalnav = $(this).wrap('<div class="ui-globalnav"></div>');
|
||||
|
||||
globalnav.find('a').buttonMarkup({corners: false, iconPos: 'top', icon: 'arrow-u'});
|
||||
|
||||
var pageFooter = globalnav.parents('.ui-page:eq(0)').find('.ui-footer');
|
||||
if( !pageFooter.length ){
|
||||
pageFooter = $('<div class="ui-footer ui-bar-a"></div>').appendTo(globalnav.parents('.ui-page:eq(0)'));
|
||||
}
|
||||
|
||||
//add to footer
|
||||
globalnav.prependTo(pageFooter);
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
469
js/jQuery.mobile.js
Normal file
|
|
@ -0,0 +1,469 @@
|
|||
/*
|
||||
* jQuery Mobile Framework
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change!!
|
||||
- This file adds properties to $.support,
|
||||
*/
|
||||
|
||||
(function($,window,undefined){
|
||||
|
||||
var $window = $(window),
|
||||
$html = $('html'),
|
||||
$head = $('head'),
|
||||
$body,
|
||||
$loader = $('<div class="ui-loader ui-body-c ui-corner-all fade in"><span class="ui-icon ui-icon-loading spin"></span><h1>loading.</h1></div>'),
|
||||
startPage,
|
||||
startPageId = 'ui-page-start',
|
||||
activePageClass = 'ui-page-active',
|
||||
transitions = 'slide slideup pop flip fade dissolve swap',
|
||||
transitionSpecified = false,
|
||||
currentTransition = 'slide',
|
||||
transitionDuration = 350,
|
||||
orientation,
|
||||
backBtnText = "Back",
|
||||
prevUrl = location.hash,
|
||||
//vars for custom event tracking
|
||||
scrolling = false,
|
||||
touching = false,
|
||||
touchstartdata,
|
||||
touchstopdata,
|
||||
tapNotMoveTime = 50,
|
||||
tapHoldTime = 700,
|
||||
maxSwipeTime = 1000,
|
||||
minSwipeXDistance = 180,
|
||||
maxSwipeYtolerance = 80;
|
||||
|
||||
/*
|
||||
add some properties to $.support
|
||||
- Notes:
|
||||
- add $.support.scrollTop ?
|
||||
- CSS matrix support needed?
|
||||
*/
|
||||
$.support.orientation = !!window.orientation;
|
||||
|
||||
//ajax support: to use bbq-style navigation with external pages, we will need to first test for ajax support (and fall back to normal urls)
|
||||
//note: maybe core should be updated with this support property?
|
||||
$.support.ajax = (function(){
|
||||
//factory test borrowed from quirksmode.org
|
||||
var xmlhttp = false, index = -1, factory,
|
||||
XMLHttpFactories = [
|
||||
function() { return new XMLHttpRequest() },
|
||||
function() { return new ActiveXObject("Msxml2.XMLHTTP") },
|
||||
function() { return new ActiveXObject("Msxml3.XMLHTTP") },
|
||||
function() { return new ActiveXObject("Microsoft.XMLHTTP") }
|
||||
];
|
||||
while ((factory = XMLHttpFactories[++index])) {
|
||||
try { xmlhttp = factory(); }
|
||||
catch (e) { continue; }
|
||||
break;
|
||||
}
|
||||
return !!xmlhttp;
|
||||
})();
|
||||
|
||||
/* Some CSS capability tests from EnhanceJS -- in the vein of $.support.boxmodel -- almost certainly needed for widgets to work
|
||||
* note: assuming they work in Firefox 4, these can run without domready (currently FF4 beta won't report these offset dimensions before body is present)
|
||||
*/
|
||||
//test CSS display none
|
||||
$.support.display = (function(){
|
||||
var fakeBody = $('<body></body>').prependTo($html),
|
||||
testDiv = $('<div style="height: 5px; position: absolute; display: none;"></div>').prependTo(fakeBody),
|
||||
divHeight = testDiv[0].offsetHeight; //note: jQuery .height() returned "5"
|
||||
fakeBody.remove();
|
||||
return divHeight === 0;
|
||||
})();
|
||||
|
||||
//test CSS absolute positioning
|
||||
$.support.position = (function(){
|
||||
var fakeBody = $('<body></body>').prependTo($html),
|
||||
testDiv = $('<div style="position: absolute; left: 10px;"></div>').prependTo(fakeBody),
|
||||
divLeft = testDiv[0].offsetLeft;
|
||||
fakeBody.remove();
|
||||
return divLeft === 10;
|
||||
})();
|
||||
|
||||
//test CSS overflow (used in widgets for clearfix, hiding, etc)
|
||||
$.support.overflow = (function(){
|
||||
var fakeBody = $('<body></body>').prependTo($html),
|
||||
testDiv = $('<div style="position: absolute; overflow: hidden; height: 0;"><div style="height: 10px;"></div></div>').prependTo(fakeBody),
|
||||
divHeight = testDiv[0].offsetHeight;
|
||||
fakeBody.remove();
|
||||
return divHeight === 0;
|
||||
})();
|
||||
|
||||
//test CSS float,clear
|
||||
$.support.floatclear = (function(){
|
||||
var fakeBody = $('<body></body>').prependTo($html),
|
||||
pass = false,
|
||||
innerStyle = 'style="width: 5px; height: 5px; float: left;"',
|
||||
testDiv = $('<div><div ' + innerStyle + '></div><div ' + innerStyle + '></div></div>').prependTo(fakeBody),
|
||||
kids = testDiv[0].childNodes,
|
||||
topA = kids[0].offsetTop,
|
||||
divB = kids[1],
|
||||
topB = divB.offsetTop;
|
||||
if (topA === topB) {
|
||||
divB.style.clear = 'left';
|
||||
topB = divB.offsetTop;
|
||||
if (topA !== topB) {
|
||||
pass = true;
|
||||
}
|
||||
}
|
||||
fakeBody.remove();
|
||||
return pass;
|
||||
})();
|
||||
|
||||
//right about here, we *could* make sure all of the above css support props are true, if not, return and leave the page usable fercryin'outloud
|
||||
if(!$.support.display || !$.support.position || !$.support.overflow || !$.support.floatclear ) { return; }
|
||||
|
||||
//support properties from jQtouch
|
||||
$.support.touch = (typeof Touch == "object");
|
||||
$.support.WebKitAnimationEvent = (typeof WebKitTransitionEvent == "object");
|
||||
|
||||
/*
|
||||
add some core behavior,events
|
||||
*/
|
||||
|
||||
//test whether a CSS media type or query applies (adapted from work by Scott Jehl & Paul Irish: http://gist.github.com/557891)
|
||||
$.media = (function(){
|
||||
if ( (window.media && media.matchMedium) ){
|
||||
//use native support if available
|
||||
return media.matchMedium;
|
||||
}
|
||||
var cache = {},
|
||||
testDiv = $('<div id="jq-mediatest"></div>'),
|
||||
fakeBody = $('<body></body>').append(testDiv);
|
||||
return function(q){
|
||||
if (cache[q] === undefined) {
|
||||
var styleBlock = $('<style type="text/css"></style>');
|
||||
var cssrule = '@media '+q+' { #jq-mediatest { position: absolute; } }';
|
||||
if (styleBlock[0].styleSheet){
|
||||
styleBlock[0].styleSheet.cssText = cssrule;
|
||||
}
|
||||
else {
|
||||
styleBlock.text(cssrule);
|
||||
}
|
||||
$html.prepend(fakeBody).prepend(styleBlock);
|
||||
cache[q] = ((window.getComputedStyle ? window.getComputedStyle(testDiv[0],null) : testDiv[0].currentStyle)['position'] == 'absolute');
|
||||
fakeBody.add(styleBlock).remove();
|
||||
}
|
||||
return cache[q];
|
||||
};
|
||||
})();
|
||||
|
||||
//hide Address bar
|
||||
function hideBrowserChrome(){
|
||||
//kill addr bar
|
||||
window.scrollTo(0,0);
|
||||
}
|
||||
|
||||
//get vert scroll dist
|
||||
$.scrollY = function(){
|
||||
return $(window).scrollTop(); //always returns 0 WebOS!! HELP! http://jsbin.com/unufu3/5/edit
|
||||
};
|
||||
|
||||
//add new event shortcuts
|
||||
$.each( ("touchstart touchmove touchend orientationchange tap swipe swipeleft swiperight scrollstart scrollstop").split(" "), function( i, name ) {
|
||||
// Handle event binding
|
||||
$.fn[ name ] = function( fn ) {
|
||||
return fn ? this.live( name, fn ) : this.trigger( name );
|
||||
};
|
||||
if ( $.attrFn ) {
|
||||
$.attrFn[ name ] = true;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
//detect and trigger some custom events (scrollstart,scrollstop,tap,taphold,swipe,swipeleft,swiperight)
|
||||
$(document)
|
||||
.scroll(function(e){
|
||||
var prevscroll = $.scrollY();
|
||||
function checkscrollstop(){
|
||||
if(prevscroll === $.scrollY()){
|
||||
$body.trigger('scrollstop');
|
||||
scrolling = false;
|
||||
}
|
||||
}
|
||||
setTimeout(checkscrollstop,50);
|
||||
})
|
||||
.bind( ($.support.touch ? 'touchmove' : 'scroll'), function(e){
|
||||
//iPhone triggers scroll a tad late - touchmoved preferred
|
||||
if(!scrolling){
|
||||
scrolling = true;
|
||||
$body.trigger('scrollstart'); //good place to trigger?
|
||||
}
|
||||
})
|
||||
.bind( ($.support.touch ? 'touchstart' : 'mousedown'), function(e){
|
||||
touching = true;
|
||||
//make sure it's not a touchmove and still touching
|
||||
function checktap(eType){
|
||||
if(!scrolling && touching){
|
||||
$(e.target).trigger(eType);
|
||||
}
|
||||
}
|
||||
//tap / taphold detection timeouts (make sure it's not a touchmove & before firing)
|
||||
setTimeout(checktap, tapNotMoveTime, ['tap']);
|
||||
setTimeout(checktap, tapHoldTime, ['taphold']);
|
||||
|
||||
//cache data from touch start - for later use in swipe testing
|
||||
var eScope = e.originalEvent.touches ? e.originalEvent.touches[0] : e;
|
||||
touchstartdata = {
|
||||
'time': (new Date).getTime(),
|
||||
'coords': [eScope.pageX, eScope.pageY],
|
||||
'origin': $(e.target)
|
||||
};
|
||||
})
|
||||
.bind(($.support.touch ? 'touchmove' : 'mousemove'), function(e){
|
||||
if(touchstartdata){
|
||||
var eScope = e.originalEvent.touches ? e.originalEvent.touches[0] : e;
|
||||
touchstopdata = {
|
||||
'time': (new Date).getTime(),
|
||||
'coords': [eScope.pageX, eScope.pageY]
|
||||
};
|
||||
//trying not to interfere with scrolling here...
|
||||
//this may need to be expanded to any non-y movement...
|
||||
if(Math.abs(touchstartdata.coords[0] - touchstopdata.coords[0]) > 10){
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
})
|
||||
.bind(($.support.touch ? 'touchend' : 'mouseup'), function(e){
|
||||
touching = false;
|
||||
if(touchstartdata && touchstopdata){
|
||||
//detect whether a swipe occurred, trigger it
|
||||
if( touchstopdata.time - touchstartdata.time < maxSwipeTime &&
|
||||
Math.abs(touchstartdata.coords[0] - touchstopdata.coords[0]) > minSwipeXDistance &&
|
||||
Math.abs(touchstartdata.coords[1] - touchstopdata.coords[1]) < maxSwipeYtolerance ){
|
||||
touchstartdata.origin.trigger('swipe');
|
||||
touchstartdata.origin.trigger( (touchstartdata.coords[0] > touchstopdata.coords[0] ? 'swipeleft' : 'swiperight'));
|
||||
}
|
||||
}
|
||||
touchstartdata = touchstopdata = null;
|
||||
});
|
||||
|
||||
//add orientation class on flip/resize. This should probably use special events. Also, any drawbacks to just using resize?
|
||||
$window.bind( ($.support.orientation ? 'orientationchange' : 'resize'), updateOrientation);
|
||||
|
||||
//orientation change classname logic - logic borrowed/modified from jQtouch
|
||||
function updateOrientation() {
|
||||
var neworientation = window.innerWidth < window.innerHeight ? 'portrait' : 'landscape';
|
||||
if(orientation !== neworientation){
|
||||
$body.trigger('turn', {orientation: orientation}); //temp event name
|
||||
}
|
||||
orientation = neworientation;
|
||||
$html.removeClass('portrait landscape').addClass(orientation);
|
||||
}
|
||||
|
||||
//add mobile, loading classes to doc
|
||||
$html.addClass('ui-mobile');
|
||||
|
||||
//insert mobile meta (any other metas needed? webapp? iPhone icon? etc)
|
||||
$head.append('<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />');
|
||||
|
||||
//send a link through hash tracking
|
||||
$.fn.ajaxClick = function(){
|
||||
var href = $(this).attr( "href" ),
|
||||
transitionAttr = $(this).attr('data-transition');
|
||||
|
||||
if(transitionAttr){
|
||||
currentTransition = transitionAttr;
|
||||
transitionSpecified = true;
|
||||
}
|
||||
else{
|
||||
transitionSpecified = false;
|
||||
}
|
||||
prevUrl = $.bbq.getState('url');
|
||||
$.bbq.pushState({ url: href });
|
||||
//note: if it's a non-local-anchor and Ajax is not supported, go to page
|
||||
if(href.match(/^[^#]/) && !$.support.ajax){
|
||||
window.location = href;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
//ajaxify all navigable links
|
||||
$('a:not([href="#"])').live('click',function(e){
|
||||
if ($(this).is('[target=_blank]') || $(this).is('[rel=external]')){ return true; }
|
||||
$(this).ajaxClick();
|
||||
return false;
|
||||
});
|
||||
|
||||
//turn on/off page loading message.. also hides the ui-content div
|
||||
function pageLoading(done){
|
||||
if(done){
|
||||
//remove loading msg
|
||||
$html.removeClass('ui-loading');
|
||||
//fade in page content, remove loading msg
|
||||
$('.ui-page-active .ui-content')//.addClass('dissolve in');
|
||||
}
|
||||
else{
|
||||
$html.addClass('ui-loading');
|
||||
$loader.appendTo($body).addClass('dissolve in');
|
||||
}
|
||||
};
|
||||
|
||||
//transition between pages - based on transitions from jQtouch
|
||||
function changePage(from,to,back){
|
||||
hideBrowserChrome();
|
||||
|
||||
if(!back && !transitionSpecified){ currentTransition = 'slide'; }
|
||||
|
||||
//kill keyboard (thx jQtouch :) )
|
||||
$(':focus').blur();
|
||||
|
||||
//animate in / out
|
||||
from.addClass(currentTransition + ' out ' + (back ? 'reverse':''));
|
||||
to.appendTo('body').addClass(activePageClass + ' ' + currentTransition + ' in ' + (back ? 'reverse':''));
|
||||
|
||||
//callback - remove classes, etc
|
||||
to.animationComplete(function(){
|
||||
from.add(to).removeClass(' out in reverse '+ transitions);
|
||||
from.removeClass(activePageClass);
|
||||
pageLoading(true);
|
||||
});
|
||||
if(back){ currentTransition = 'slide'; }
|
||||
};
|
||||
|
||||
//potential (probably incomplete) fallback to workaround lack of animation callbacks.
|
||||
//should this be extended into a full special event?
|
||||
// note: Expects CSS animations use transitionDuration (350ms)
|
||||
$.fn.animationComplete = function(callback){
|
||||
if($.support.WebKitAnimationEvent){
|
||||
$(this).one('webkitAnimationEnd', callback);
|
||||
}
|
||||
else{
|
||||
setTimeout(callback, transitionDuration);
|
||||
}
|
||||
};
|
||||
|
||||
//markup-driven enhancements, to be called on any ui-page upon loading
|
||||
function mobilize($el){
|
||||
return $el.each(function(){
|
||||
//checkboxes, radios
|
||||
$el.find('input[type=radio],input[type=checkbox]').customCheckboxRadio();
|
||||
//custom buttons
|
||||
$el.find('button, input[type=submit]').customButton();
|
||||
//custom text inputs
|
||||
$el.find('input[type=text],input[type=password],textarea').customTextInput();
|
||||
//collapsible groupings
|
||||
$el.find('[data-role="collapsible"]').collapsible();
|
||||
//single-field separators
|
||||
$el.find('.field').fieldcontain();
|
||||
//selects
|
||||
$el.find('select').customSelect();
|
||||
//tabs
|
||||
$('[data-role="tabs"]').tabs({fixedAsFooter:true});
|
||||
//global nav
|
||||
$('[data-role="globalnav"]').globalnav();
|
||||
//fix toolbars
|
||||
$el.fixHeaderFooter();
|
||||
//buttons from links in headers,footers,bars, or with data-role
|
||||
$('.ui-header a, .ui-footer a, .ui-bar a, [data-role="button"]').not('.ui-btn').buttonMarkup();
|
||||
//vertical controlgroups
|
||||
$el.find('[data-role="controlgroup"]:not([data-type="horizontal"])').controlgroup();
|
||||
//horizontal controlgroups
|
||||
$el.find('[data-role="controlgroup"][data-type="horizontal"]').controlgroup({direction: 'horizontal'});
|
||||
//tree from data role
|
||||
$el.find('[data-role="tree"]').tree();
|
||||
//links within content areas
|
||||
$el.find('.ui-body a:not(.ui-btn):not(.ui-link-inherit)').addClass('ui-link');
|
||||
//rewrite "home" links to mimic the back button (pre-js, these links are usually "home" links)
|
||||
var backBtn = $el.find('.ui-header a.ui-back');
|
||||
if(!backBtn.length){
|
||||
backBtn = $('<a href="#" class="ui-back" data-icon="arrow-l"></a>').appendTo($el.find('.ui-header')).buttonMarkup();
|
||||
}
|
||||
backBtn
|
||||
.click(function(){
|
||||
history.go(-1);
|
||||
return false;
|
||||
})
|
||||
.find('.ui-btn-text').text(backBtnText);
|
||||
});
|
||||
};
|
||||
|
||||
//swipe left always triggers a back
|
||||
$(document).swipeleft(function(){
|
||||
history.go(-1);
|
||||
return false;
|
||||
});
|
||||
|
||||
//dom-ready
|
||||
$(function(){
|
||||
//set the page loader up
|
||||
pageLoading();
|
||||
|
||||
//define body
|
||||
$body = $('body');
|
||||
|
||||
//hashchange for page state tracking - uses bbq. - needs to be bound at domready (for IE6 Ben?)
|
||||
//When document.location.hash changes, find or load content, make it active
|
||||
$window.bind( "hashchange", function(e){
|
||||
var url = e.getState('url'),
|
||||
back = (url === prevUrl);
|
||||
|
||||
if(url){
|
||||
//see if content is present - NOTE: local urls aren't working right now - need logic to kill #
|
||||
var localDiv = $('[id="'+url+'"]');
|
||||
if(localDiv.length){
|
||||
changePage($('.ui-page-active'), localDiv, back);
|
||||
pageLoading(true);
|
||||
}
|
||||
else { //ajax it in
|
||||
pageLoading();
|
||||
var newPage = $('<div class="ui-page" id="'+url+'"></div>')
|
||||
.appendTo($body)
|
||||
.load(url + ' .ui-page',function(){
|
||||
//dumping in HTML() from ui-page div - cleaner way?
|
||||
$(this).html( $(this).find('.ui-page:eq(0)').html() );
|
||||
mobilize($(this));
|
||||
changePage($('.ui-page-active'), $(this), back);
|
||||
pageLoading(true);
|
||||
});
|
||||
}
|
||||
}
|
||||
else{
|
||||
//either...
|
||||
// we've backed up to the root page url,
|
||||
// it's a plugin state
|
||||
//or it's the first page load with no hash present
|
||||
var currentPage = $('.ui-page-active');
|
||||
if( currentPage.length && !startPage.is('.ui-page-active')){
|
||||
changePage(currentPage, startPage, back);
|
||||
}
|
||||
else{
|
||||
startPage.addClass(activePageClass);
|
||||
}
|
||||
pageLoading(true);
|
||||
}
|
||||
});
|
||||
|
||||
//mobilize all pages present
|
||||
mobilize($('.ui-page'));
|
||||
|
||||
//set up active page - mobilize it!
|
||||
startPage = $('body > .ui-page:first');
|
||||
|
||||
//make sure it has an ID - for finding it later
|
||||
if(!startPage.attr('id')){
|
||||
startPage.attr('id', startPageId);
|
||||
}
|
||||
|
||||
//trigger a new hashchange, hash or not
|
||||
$window.trigger( "hashchange" );
|
||||
|
||||
//... this shouldn't be needed, but chrome isn't getting it sometimes
|
||||
setTimeout(function(){ pageLoading(true); }, 3000);
|
||||
|
||||
//update orientation
|
||||
updateOrientation();
|
||||
|
||||
//some debug stuff for the events pages
|
||||
$('body').bind('scrollstart scrollstop swipe swipeleft swiperight tap taphold turn',function(e){
|
||||
$('#eventlogger').prepend('<div>Event fired: '+ e.type +'</div>');
|
||||
});
|
||||
|
||||
});
|
||||
})(jQuery, this);
|
||||
181
js/jQuery.tabs.js
Executable file
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "tabs" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.tabs = function(settings){
|
||||
//configurable options
|
||||
var o = $.extend({
|
||||
trackState: true,
|
||||
alwaysScrollToTop: true,
|
||||
fixedAsFooter: false
|
||||
},settings);
|
||||
|
||||
return $(this).each(function(){
|
||||
//reference to tabs container
|
||||
var tabs = $(this);
|
||||
|
||||
//set app mode
|
||||
$(this).attr('role','application');
|
||||
|
||||
//nav is first ul
|
||||
var tabsNav = tabs.find('ul:first');
|
||||
|
||||
//body is nav's next sibling
|
||||
var tabsBody = $(tabsNav.find('a:eq(0)').attr('href')).parent();
|
||||
|
||||
var tabIDprefix = 'ui-tab-';
|
||||
|
||||
var tabIDsuffix = '-enhanced';
|
||||
|
||||
//add class to nav, tab body
|
||||
tabsNav
|
||||
.addClass('ui-tabs-nav '+(o.fixedAsFooter?'ui-bar-a':'ui-bar-c'))
|
||||
.attr('role','tablist');
|
||||
|
||||
tabsBody
|
||||
.addClass('ui-tabs-body ui-body ui-body-c');
|
||||
|
||||
//find tab panels, add class and aria
|
||||
tabsBody.find('>div').each(function(){
|
||||
$(this)
|
||||
.addClass('ui-tabs-panel')
|
||||
.attr('role','tabpanel')
|
||||
.attr('aria-hidden', true)
|
||||
.attr('aria-labelledby', tabIDprefix + $(this).attr('id'))
|
||||
.attr('id', $(this).attr('id') + tabIDsuffix);
|
||||
});
|
||||
|
||||
//set role of each tab
|
||||
tabsNav.find('li').each(function(){
|
||||
$(this)
|
||||
.attr('role','tab')
|
||||
.attr('id', tabIDprefix+$(this).find('a').attr('href').split('#')[1]);
|
||||
})
|
||||
.width(100/tabsNav.find('li').length+'%');
|
||||
|
||||
|
||||
//switch selected on click
|
||||
tabsNav
|
||||
.find('a')
|
||||
.attr('tabindex','-1')
|
||||
.buttonMarkup({corners: false, iconPos: (o.fixedAsFooter?'top':'bottom'), icon: (o.fixedAsFooter?'arrow-u':'arrow-d')});
|
||||
|
||||
//generic select tab function
|
||||
function selectTab(tab,fromHashChange){
|
||||
if(o.trackState && !fromHashChange){
|
||||
$.bbq.pushState({'tab': tab.attr('href')});
|
||||
}
|
||||
else{
|
||||
//unselect tabs
|
||||
tabsNav.find('li.ui-tabs-selected')
|
||||
.removeClass('ui-tabs-selected')
|
||||
.find('a')
|
||||
.removeClass('ui-btn-active')
|
||||
.attr('tabindex','-1');
|
||||
//set selected tab item
|
||||
tab
|
||||
.attr('tabindex','0')
|
||||
.addClass('ui-btn-active')
|
||||
.parent()
|
||||
.addClass('ui-tabs-selected');
|
||||
//unselect panels
|
||||
tabsBody.find('div.ui-tabs-panel-selected').attr('aria-hidden',true).removeClass('ui-tabs-panel-selected');
|
||||
//select active panel
|
||||
$( tab.attr('href') + tabIDsuffix ).addClass('ui-tabs-panel-selected').attr('aria-hidden',false);
|
||||
|
||||
if(o.fixedAsFooter){
|
||||
//window.scrollTo(0,0);
|
||||
$('.ui-fixed-top,.ui-fixed-bottom').trigger('overlayIn');
|
||||
setTimeout(function(){ $('.ui-fixed-top,.ui-fixed-bottom').trigger('setTop'); },100);
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
tabsNav.find('a')
|
||||
.click(function(e){
|
||||
selectTab($(this));
|
||||
$(this).focus();
|
||||
return false;
|
||||
})
|
||||
.keydown(function(event){
|
||||
var currentTab = $(this).parent();
|
||||
var ret = true;
|
||||
switch(event.keyCode){
|
||||
case 37://left
|
||||
case 38://up
|
||||
if(currentTab.prev().size() > 0){
|
||||
selectTab(currentTab.prev().find('a'));
|
||||
currentTab.prev().find('a').eq(0).focus();
|
||||
ret = false;
|
||||
}
|
||||
break;
|
||||
case 39: //right
|
||||
case 40://down
|
||||
if(currentTab.next().size() > 0){
|
||||
selectTab(currentTab.next().find('a'));
|
||||
currentTab.next().find('a').eq(0).focus();
|
||||
ret = false;
|
||||
}
|
||||
break;
|
||||
case 36: //home key
|
||||
selectTab(tabsNav.find('li:first a'));
|
||||
tabsNav.find('li:first a').eq(0).focus();
|
||||
ret = false;
|
||||
break;
|
||||
case 35://end key
|
||||
selectTab(tabsNav.find('li:last a'));
|
||||
tabsNav.find('li:last a').eq(0).focus();
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
});
|
||||
|
||||
//if tabs are rotating, stop them upon user events
|
||||
tabs.bind('click keydown focus',function(){
|
||||
if(o.autoRotate){ clearInterval(tabRotator); }
|
||||
});
|
||||
|
||||
//function to select a tab from the url hash
|
||||
function selectTabFromHash(hash){
|
||||
var currHash = hash || $.bbq.getState('tab');
|
||||
if(!currHash){ currHash = '';}
|
||||
var hashedTab = tabsNav.find('a[href=#'+ currHash.replace('#','') +']');
|
||||
if( hashedTab.size() > 0){
|
||||
selectTab(hashedTab,true);
|
||||
}
|
||||
else {
|
||||
selectTab( tabsNav.find('a:first'),true);
|
||||
}
|
||||
//return true/false
|
||||
return !!hashedTab.size();
|
||||
}
|
||||
|
||||
$(window).bind('hashchange',function(){
|
||||
var tab = $.bbq.getState('tab');
|
||||
if(tab){
|
||||
selectTabFromHash(tab,true);
|
||||
}
|
||||
else{
|
||||
selectTab( tabsNav.find('a:first'),true);
|
||||
}
|
||||
});
|
||||
|
||||
//set tab from hash at page load, if no tab hash, select first tab
|
||||
selectTabFromHash(null,true);
|
||||
|
||||
if(o.fixedAsFooter){
|
||||
var footer = $('.ui-footer', $(this).parents('.ui-page'));
|
||||
if(!footer.length){
|
||||
footer = $('<div class="ui-footer ui-bar-a"></div>').appendTo($(this).parents('.ui-page'));
|
||||
}
|
||||
tabsNav.prependTo(footer);
|
||||
}
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
255
js/jQuery.tree.js
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
/*
|
||||
* jQuery Mobile Framework : prototype for "tree" plugin (based on code from Filament Group,Inc)
|
||||
* Copyright (c) jQuery Project
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* Note: Code is in draft form and is subject to change
|
||||
*/
|
||||
(function($){
|
||||
$.fn.tree = function(settings){
|
||||
|
||||
return $(this).each(function(){
|
||||
var o = $.extend({
|
||||
expanded: '',
|
||||
theme: 'e',
|
||||
backBtnText: 'Back',
|
||||
liveBackText: false,
|
||||
loadingText: 'loading...',
|
||||
ajaxCallback: function(){
|
||||
$('.ui-body a:not(.ui-btn):not(.ui-link-inherit)').addClass('ui-link');
|
||||
tree.height($(this).outerHeight());
|
||||
}
|
||||
},settings);
|
||||
|
||||
if( !$(this).parents('.tree').length ){
|
||||
|
||||
//save references
|
||||
var tree = $(this),
|
||||
treeContain = tree.wrap('<div role="application" class="ui-tree-contain"></div>').parent(),
|
||||
treeheader = $('.ui-header'),
|
||||
prevHTML = treeheader.html();
|
||||
|
||||
//add the role and default state attributes
|
||||
tree.attr({'role': 'tree'}).addClass('ui-tree');
|
||||
|
||||
|
||||
tree.find('li').each(function(){
|
||||
if($(this).contents()[0].nodeType == 3){
|
||||
$(this).wrapInner('<div></div>');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//ajax placeholders
|
||||
tree.find('li.hijax>a').after('<div class="ui-body-c"></div>');
|
||||
//add classes to panel content so it'll be excluded
|
||||
tree.find('li>:not(ul,a)').addClass('ui-tree-panel');
|
||||
//add treeitem role to all li children
|
||||
tree.find('li').not('.ui-tree-panel *').attr('role','treeitem').addClass('ui-treeitem');
|
||||
//buttons from anchors
|
||||
tree.find('li.ui-treeitem>a').addClass('ui-treeitem-link').buttonMarkup({theme: o.theme, iconPos: 'right',icon: 'arrow-r',corners: false});
|
||||
//set first node's tabindex to 0
|
||||
tree.find('li.ui-treeitem>a:eq(0)').attr('tabindex','0');
|
||||
//set all others to -1
|
||||
tree.find('li.ui-treeitem>a:gt(0)').attr('tabindex','-1');
|
||||
//add group role and tree-group-collapsed class to all ul children
|
||||
tree.find('li.ui-treeitem>a').next().attr('role','group').addClass('ui-tree-group ui-tree-group-collapsed');
|
||||
|
||||
//find tree group parents
|
||||
tree.find('li.ui-treeitem:has(.ui-tree-group)').not('.ui-tree-panel *')
|
||||
.attr('aria-expanded', 'false')
|
||||
.find('>a')
|
||||
.addClass('ui-tree-parent ui-tree-parent-collapsed');
|
||||
|
||||
//expanded at load
|
||||
tree
|
||||
.find(o.expanded).not('.ui-tree-panel *')
|
||||
.attr('aria-expanded', 'true')
|
||||
.addClass('ui-tree-expanded')
|
||||
.find('>a')
|
||||
.removeClass('ui-tree-parent-collapsed')
|
||||
.next()
|
||||
.removeClass('ui-tree-group-collapsed');
|
||||
|
||||
//for setting up the back button header
|
||||
function setNavigation(targetLi){
|
||||
treeheader.find('.ui-back').remove();
|
||||
if(targetLi.length){
|
||||
targetA = targetLi.find('>a:eq(0)');
|
||||
var backText = o.liveBackText ? (targetLi.parents('li:eq(0)').find('>a:eq(0)').text() || o.backBtnText) : o.backBtnText;
|
||||
var bbutton = $('<a href="#" class="ui-back">'+ backText +'</a>')
|
||||
.appendTo(treeheader)
|
||||
.buttonMarkup({icon:'arrow-l'})
|
||||
.click(function(){
|
||||
targetLi.trigger('collapse');
|
||||
return false;
|
||||
});
|
||||
treeheader.find('h1').text(targetA.text());
|
||||
}
|
||||
else{
|
||||
treeheader.html(prevHTML);
|
||||
}
|
||||
}
|
||||
|
||||
//quick function for seeing if an event is tree-related and if so, getting all the elements related to event target
|
||||
function targetElements(event){
|
||||
if($(event.target).parents('.ui-tree-panel').length){
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
var targetLi = $(event.target).closest('li'),
|
||||
targetA = targetLi.find('>a:eq(0)'),
|
||||
targetContent = targetA.next(),
|
||||
targetParent = targetLi.closest('ul'),
|
||||
targetParentLi = targetParent.closest('li');
|
||||
|
||||
return {
|
||||
targetLi: targetLi,
|
||||
targetA: targetA,
|
||||
targetContent: targetContent,
|
||||
targetParent: targetParent,
|
||||
targetParentLi: targetParentLi
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
//bind the custom events
|
||||
tree
|
||||
//expand a tree node
|
||||
.bind('expand.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
var et = targetElements(event);
|
||||
|
||||
//ajax content in if necessary
|
||||
et.targetContent.filter(':empty').append('<p class="ui-tree-content-loading"><span class="ui-icon ui-icon-loading"></span><span class="ui-tree-loading-text">'+ o.loadingText +'</span></p>').load(et.targetA.attr('href'), o.ajaxCallback);
|
||||
|
||||
et.targetA.removeClass('ui-tree-parent-collapsed');
|
||||
et.targetLi.attr('aria-expanded', 'true');
|
||||
et.targetContent.removeClass('ui-tree-group-collapsed');
|
||||
et.targetParent.addClass('ui-tree-expanded');
|
||||
setNavigation(et.targetLi);
|
||||
et.targetLi.find('li>a:eq(0)').focus(); //note - this should be tighter in scope
|
||||
tree.height('');
|
||||
tree.height(et.targetContent.outerHeight());
|
||||
event.stopPropagation();
|
||||
})
|
||||
//collapse a tree node
|
||||
.bind('collapse.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
et.targetA.addClass('ui-tree-parent-collapsed');
|
||||
et.targetLi.attr('aria-expanded', 'false');
|
||||
setTimeout(function(){ et.targetContent.addClass('ui-tree-group-collapsed'); },300);
|
||||
et.targetParent.removeClass('ui-tree-expanded');
|
||||
setNavigation(et.targetParentLi);
|
||||
et.targetA.focus();
|
||||
tree.height('');
|
||||
tree.height(et.targetParent.outerHeight() || tree.outerHeight());
|
||||
event.stopPropagation();
|
||||
})
|
||||
.bind('toggle.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
et.targetLi.trigger(et.targetLi.is('[aria-expanded=false]') ? 'expand' : 'collapse');
|
||||
event.stopPropagation();
|
||||
})
|
||||
//shift focus down one item
|
||||
.bind('traverseDown.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
if(et.targetLi.is('[aria-expanded=true]')){
|
||||
et.targetContent.find('a').eq(0).focus();
|
||||
}
|
||||
else if(et.targetLi.next().length) {
|
||||
et.targetLi.next().find('a').eq(0).focus();
|
||||
}
|
||||
else {
|
||||
et.targetParentLi.next().find('a').eq(0).focus();
|
||||
}
|
||||
event.stopPropagation();
|
||||
})
|
||||
//shift focus up one item
|
||||
.bind('traverseUp.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
if(et.targetLi.prev().length){
|
||||
if( et.targetLi.prev().is('[aria-expanded=true]') ){
|
||||
et.targetLi.prev().find('li:visible:last a').eq(0).focus();
|
||||
}
|
||||
else{
|
||||
et.targetLi.prev().find('>a:eq(0)').focus();
|
||||
}
|
||||
}
|
||||
else {
|
||||
et.targetParentLi.find('>a:eq(0)').trigger('collapse');
|
||||
}
|
||||
event.stopPropagation();
|
||||
})
|
||||
//native events
|
||||
.bind('focus.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
//deactivate previously active tree node, if one exists
|
||||
tree.find('[tabindex=0]').blur().attr('tabindex','-1').removeClass('ui-treeitem-active');
|
||||
//assign 0 tabindex to focused item
|
||||
et.targetA.attr('tabindex','0').addClass('ui-treeitem-active');
|
||||
})
|
||||
.bind('click.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
//check if target is a tree node
|
||||
if( et.targetLi.is('[aria-expanded]') ){
|
||||
et.targetLi.trigger('toggle.tree');
|
||||
et.targetA.focus();
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.bind('keydown.tree',function(event){
|
||||
var et = targetElements(event);
|
||||
if(!et){ return; }
|
||||
//check for arrow keys
|
||||
if(event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40){
|
||||
//if key is left arrow
|
||||
if(event.keyCode == 37){
|
||||
//if list is expanded
|
||||
if(et.targetLi.is('[aria-expanded=true]')){
|
||||
et.targetLi.trigger('collapse');
|
||||
}
|
||||
//try traversing to parent
|
||||
else {
|
||||
et.targetParentLi.find('>a:eq(0)').trigger('collapse');
|
||||
}
|
||||
}
|
||||
//if key is right arrow
|
||||
if(event.keyCode == 39){
|
||||
//if list is collapsed
|
||||
if(et.targetLi.is('[aria-expanded=false]')){
|
||||
et.targetLi.trigger('expand');
|
||||
}
|
||||
//try traversing to child
|
||||
else {
|
||||
et.targetLi.find('li.ui-treeitem>a:eq(0)').focus();
|
||||
}
|
||||
}
|
||||
//if key is up arrow
|
||||
if(event.keyCode == 38){
|
||||
et.targetLi.trigger('traverseUp');
|
||||
}
|
||||
//if key is down arrow
|
||||
if(event.keyCode == 40){
|
||||
et.targetLi.trigger('traverseDown');
|
||||
}
|
||||
//return any of these keycodes false
|
||||
return false;
|
||||
}
|
||||
//check if enter or space was pressed on a tree node
|
||||
else if((event.keyCode == 13 || event.keyCode == 32) && target.is('a.ui-tree-parent')){
|
||||
et.targetLi.trigger('toggle');
|
||||
//return click event false because it's a tree node (folder)
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
154
js/jquery-1.4.2.min.js
vendored
Executable file
|
|
@ -0,0 +1,154 @@
|
|||
/*!
|
||||
* jQuery JavaScript Library v1.4.2
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Copyright 2010, John Resig
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* http://sizzlejs.com/
|
||||
* Copyright 2010, The Dojo Foundation
|
||||
* Released under the MIT, BSD, and GPL Licenses.
|
||||
*
|
||||
* Date: Sat Feb 13 22:33:48 2010 -0500
|
||||
*/
|
||||
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
|
||||
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
|
||||
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
|
||||
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
|
||||
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
|
||||
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
|
||||
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
|
||||
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
|
||||
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
|
||||
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
|
||||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
|
||||
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
|
||||
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
|
||||
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
|
||||
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
|
||||
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
|
||||
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
|
||||
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
|
||||
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
|
||||
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
|
||||
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
|
||||
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
|
||||
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
|
||||
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
|
||||
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
|
||||
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
|
||||
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
|
||||
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
|
||||
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
|
||||
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
|
||||
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
|
||||
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
|
||||
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
|
||||
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
|
||||
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
|
||||
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
|
||||
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
|
||||
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
|
||||
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
|
||||
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
|
||||
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
|
||||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
|
||||
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
|
||||
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
|
||||
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
|
||||
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
|
||||
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
|
||||
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
|
||||
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
|
||||
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
|
||||
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
|
||||
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
|
||||
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
|
||||
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
|
||||
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
|
||||
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
|
||||
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
|
||||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
|
||||
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
|
||||
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
|
||||
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
|
||||
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
|
||||
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
|
||||
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
|
||||
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
|
||||
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
|
||||
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
|
||||
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
|
||||
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
|
||||
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
|
||||
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
|
||||
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
|
||||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
|
||||
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
|
||||
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
|
||||
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
|
||||
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
|
||||
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
|
||||
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
|
||||
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
|
||||
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
|
||||
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
|
||||
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
|
||||
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
|
||||
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
|
||||
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
|
||||
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
|
||||
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
|
||||
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
|
||||
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
|
||||
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
|
||||
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
|
||||
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
|
||||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
|
||||
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
|
||||
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
|
||||
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
|
||||
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
|
||||
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
|
||||
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
|
||||
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
|
||||
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
|
||||
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
|
||||
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
|
||||
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
|
||||
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
|
||||
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
|
||||
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
|
||||
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
|
||||
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
|
||||
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
|
||||
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
|
||||
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
|
||||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
|
||||
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
|
||||
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
|
||||
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
|
||||
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
|
||||
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
|
||||
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
|
||||
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
|
||||
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
|
||||
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
|
||||
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
|
||||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
|
||||
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
|
||||
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
|
||||
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
|
||||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
|
||||
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
|
||||
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
|
||||
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
|
||||
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
|
||||
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
|
||||
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
|
||||
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
|
||||
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
|
||||
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
|
||||
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
|
||||
22
js/manifest.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?
|
||||
$elements = array(
|
||||
'jquery-1.4.2.min.js',
|
||||
'jQuery.bbq.js',
|
||||
'jQuery.clickable.js',
|
||||
'jQuery.fixHeaderFooter.js',
|
||||
'jQuery.forms.checkboxradio.js',
|
||||
'jQuery.expandable.js',
|
||||
'jQuery.forms.textinput.js',
|
||||
'jQuery.forms.select.js',
|
||||
'jQuery.buttonMarkup.js',
|
||||
'jQuery.forms.button.js',
|
||||
'jQuery.collapsible.js',
|
||||
'jQuery.controlGroup.js',
|
||||
'jQuery.fieldContain.js',
|
||||
'jQuery.tabs.js',
|
||||
'jQuery.tree.js',
|
||||
'jQuery.globalnav.js',
|
||||
'jQuery.mobile.js'
|
||||
);
|
||||
|
||||
?>
|
||||
10
sample-content/lebowski.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="ui-body ui-body-b">
|
||||
<h1>The Big Lebowskipsum</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
</div>
|
||||
10
sample-content/license.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="ui-body">
|
||||
<h1>License Ipsum</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
</div>
|
||||
10
sample-content/planetearth.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="ui-body">
|
||||
<h1>Planet ipsum</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
</div>
|
||||
10
sample-content/terms.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="ui-body">
|
||||
<h1>Terms Ipsum</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
</div>
|
||||
10
sample-content/travel.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="ui-body">
|
||||
<h1>Travel Ipsum</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
</div>
|
||||