From: <Saved by WebKit>
Subject: jQuery Form Plugin
Date: Sun, 6 Feb 2016 09:26:11 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0F17_6C563163.865486AA"

------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Location: http://jquery.malsup.com/form/

<!DOCTYPE html><html lang=3D"en_US" class=3D"ui-widget-content"><head><meta=
 charset=3D"UTF-8">
<title>jQuery Form Plugin</title>
<link rel=3D"stylesheet" href=3D"http://ajax.googleapis.com/ajax/libs/jquer=
yui/1.8/themes/black-tie/jquery-ui.css" type=3D"text/css">
<link rel=3D"stylesheet" href=3D"http://jquery.malsup.com/themes/jquery-ui-=
sub-tabs-smoothness.css" type=3D"text/css">
<link rel=3D"stylesheet" href=3D"http://jquery.malsup.com/jq-new.css" type=
=3D"text/css">
<style type=3D"text/css">
form { background: #DFEFFC; border: 5px solid #c5dbec; margin: 10px 0; padd=
ing: 20px }
.ui-widget-content { background: white; }
</style>









<style id=3D"clearly_highlighting_css" type=3D"text/css">/* selection */ ht=
ml.clearly_highlighting_enabled ::-moz-selection { background: rgba(246, 23=
8, 150, 0.99); } html.clearly_highlighting_enabled ::selection { background=
: rgba(246, 238, 150, 0.99); } /* cursor */ html.clearly_highlighting_enabl=
ed {    /* cursor and hot-spot position -- requires a default cursor, after=
 the URL one */    cursor: url("chrome-extension://pioclpoplcdbaefihamjohne=
fbikjilc/clearly/images/highlight--cursor.png") 14 16, text; } /* highlight=
 tag */ em.clearly_highlight_element {    font-style: inherit !important; f=
ont-weight: inherit !important;    background-image: url("chrome-extension:=
//pioclpoplcdbaefihamjohnefbikjilc/clearly/images/highlight--yellow.png"); =
   background-repeat: repeat-x; background-position: top left; background-s=
ize: 100% 100%; } /* the delete-buttons are positioned relative to this */ =
em.clearly_highlight_element.clearly_highlight_first { position: relative; =
} /* delete buttons */ em.clearly_highlight_element a.clearly_highlight_del=
ete_element {    display: none; cursor: pointer;    padding: 0; margin: 0; =
line-height: 0;    position: absolute; width: 34px; height: 34px; left: -17=
px; top: -17px;    background-image: url("chrome-extension://pioclpoplcdbae=
fihamjohnefbikjilc/clearly/images/highlight--delete-sprite.png"); backgroun=
d-repeat: no-repeat; background-position: 0px 0px; } em.clearly_highlight_e=
lement a.clearly_highlight_delete_element:hover { background-position: -34p=
x 0px; } /* retina */ @media (min--moz-device-pixel-ratio: 2), (-webkit-min=
-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {    em.clearly_highli=
ght_element { background-image: url("chrome-extension://pioclpoplcdbaefiham=
johnefbikjilc/clearly/images/highlight--yellow@2x.png"); }    em.clearly_hi=
ghlight_element a.clearly_highlight_delete_element { background-image: url(=
"chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/clearly/images/highlig=
ht--delete-sprite@2x.png"); background-size: 68px 34px; } } </style><style>=
[touch-action=3D"none"]{ -ms-touch-action: none; touch-action: none; }[touc=
h-action=3D"pan-x"]{ -ms-touch-action: pan-x; touch-action: pan-x; }[touch-=
action=3D"pan-y"]{ -ms-touch-action: pan-y; touch-action: pan-y; }[touch-ac=
tion=3D"scroll"],[touch-action=3D"pan-x pan-y"],[touch-action=3D"pan-y pan-=
x"]{ -ms-touch-action: pan-x pan-y; touch-action: pan-x pan-y; }</style></h=
ead>
<body>
<div id=3D"page-header" class=3D"ui-widget-header">
	<a href=3D"http://jquery.malsup.com/" class=3D"icon home" title=3D"Home"><=
span class=3D"ui-icon ui-icon-home"> </span></a>
	<h1>jQuery Form Plugin</h1>
	<div id=3D"twitter"><a href=3D"http://twitter.com/malsup" title=3D"Updates=
 posted on Twitter"><img src=3D"http://jquery.malsup.com/images/twitter_1.p=
ng" alt=3D"Twitter.com" width=3D"32" height=3D"32"></a></div>
</div>
<div id=3D"tabs">
	<ul>
		<li><a href=3D"http://jquery.malsup.com/form/#tab1">Getting Started</a></=
li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab2">API</a></li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab3">Options</a></li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab4">Examples</a></li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab5">Form Fields</a></li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab6">FAQ</a></li>
		<li><a href=3D"http://jquery.malsup.com/form/#tab7">Download</a></li>
	</ul>
	<div id=3D"tab1" data-tabid=3D"getting-started">
                <div style=3D"width: 728px; margin: auto">
                    <!-- text-and-image -->
                    <ins class=3D"adsbygoogle" style=3D"display:inline-bloc=
k;width:728px;height:90px" data-ad-client=3D"ca-pub-0063430075356651" data-=
ad-slot=3D"2614073966" data-adsbygoogle-status=3D"done"><ins id=3D"aswift_2=
_expand" style=3D"display:inline-table;border:none;height:90px;margin:0;pad=
ding:0;position:relative;visibility:visible;width:728px;background-color:tr=
ansparent"><ins id=3D"aswift_2_anchor" style=3D"display:block;border:none;h=
eight:90px;margin:0;padding:0;position:relative;visibility:visible;width:72=
8px;background-color:transparent"><iframe width=3D"728" height=3D"90" frame=
border=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0"=
 allowtransparency=3D"true" scrolling=3D"no" allowfullscreen=3D"true" onloa=
d=3D"var i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=3Ds&amp;&amp;s.handl=
ers,h=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=3Dw.document}catch(e=
){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTi=
meout(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e){}w.location.replace=
(h)}}" id=3D"aswift_2" name=3D"aswift_2" style=3D"left:0;position:absolute;=
top:0;"></iframe></ins></ins></ins>
                   =20
                </div>


		        <h1>Overview</h1>
		        The jQuery Form Plugin allows you to easily and unobtrusively upg=
rade HTML forms to use
		        <abbr title=3D"Asynchronous JavaScript and XML">AJAX</abbr>.
		        The main methods,
		        <code class=3D"inline">ajaxForm</code> and <code class=3D"inline"=
>ajaxSubmit</code>,
		        gather information from the form element to determine how to mana=
ge the submit process. =20
                Both of these methods support
		        numerous options which allows you to have full control over how t=
he data is submitted. =20
<!--                 It is extremely useful for sites hosted in=20
                <a href=3D"http://www.webhostingsearch.com/cheap-web-hostin=
g.php">low cost web hosting providers</a> with limited=20
                features and functionality.
 -->               =20
                Submitting a form with AJAX doesn't get any easier than thi=
s!

		        <h1>Quick Start Guide</h1>
		        <div class=3D"step-holder"><span class=3D"step-counter ui-widget-=
header ui-corner-all">1</span>Add a form to your page. Just a normal form, =
no special markup required:
		        <pre><code class=3D"mix">&lt;form id=3D"myForm" action=3D"comment=
.php" method=3D"post"&gt;
    Name: &lt;input type=3D"text" name=3D"name" /&gt;
    Comment: &lt;textarea name=3D"comment"&gt;&lt;/textarea&gt;
    &lt;input type=3D"submit" value=3D"Submit Comment" /&gt;
&lt;/form&gt;</code></pre>
				</div>
			=09
		        <div class=3D"step-holder"><span class=3D"step-counter ui-widget-=
header ui-corner-all">2</span>Include jQuery and the Form Plugin external s=
cript files and a short script to
		        initialize the form when the <abbr title=3D"Document Object Model=
">DOM</abbr> is ready:
		        <pre><code class=3D"mix">&lt;html&gt;
&lt;head&gt;
    &lt;script src=3D"http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquer=
y.js"&gt;&lt;/script&gt;
    &lt;script src=3D"http://malsup.github.com/jquery.form.js"&gt;&lt;/scri=
pt&gt;

    &lt;script&gt;
        // wait for the DOM to be loaded
        $(document).ready(function() {
            // bind 'myForm' and provide a simple callback function
            $('#myForm').ajaxForm(function() {
                alert("Thank you for your comment!");
            });
        });
    &lt;/script&gt;
&lt;/head&gt;
...</code></pre>
			</div>
		    <p><strong>That's it!</strong></p>
		  	<p>When this form is submitted the <em>name</em> and <em>comment</em> =
fields
		    will be posted to <em>comment.php</em>.  If the server returns
		    a success status then the user will see a "Thank you" message.
			</p>

<div style=3D"clear:both;margin:30px auto;width:728px;margin-bottom:30px">

<ins id=3D"aswift_0_expand" style=3D"display:inline-table;border:none;heigh=
t:15px;margin:0;padding:0;position:relative;visibility:visible;width:728px;=
background-color:transparent"><ins id=3D"aswift_0_anchor" style=3D"display:=
block;border:none;height:15px;margin:0;padding:0;position:relative;visibili=
ty:visible;width:728px;background-color:transparent"><iframe width=3D"728" =
height=3D"15" frameborder=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=
=3D"0" hspace=3D"0" allowtransparency=3D"true" scrolling=3D"no" allowfullsc=
reen=3D"true" onload=3D"var i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=
=3Ds&amp;&amp;s.handlers,h=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=
=3Dw.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChi=
ld)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e=
){}w.location.replace(h)}}" id=3D"aswift_0" name=3D"aswift_0" style=3D"left=
:0;position:absolute;top:0;"></iframe></ins></ins>
</div>
           =20
	</div>
	<div id=3D"tab2" data-tabid=3D"api">

        <div style=3D"width: 728px; margin: auto">
            <!-- text-and-image -->
            <ins class=3D"adsbygoogle" style=3D"display:inline-block;width:=
728px;height:90px" data-ad-client=3D"ca-pub-0063430075356651" data-ad-slot=
=3D"2614073966" data-adsbygoogle-status=3D"done"><ins id=3D"aswift_3_expand=
" style=3D"display:inline-table;border:none;height:90px;margin:0;padding:0;=
position:relative;visibility:visible;width:728px;background-color:transpare=
nt"><ins id=3D"aswift_3_anchor" style=3D"display:block;border:none;height:9=
0px;margin:0;padding:0;position:relative;visibility:visible;width:728px;bac=
kground-color:transparent"><iframe width=3D"728" height=3D"90" frameborder=
=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" allow=
transparency=3D"true" scrolling=3D"no" allowfullscreen=3D"true" onload=3D"v=
ar i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=3Ds&amp;&amp;s.handlers,h=
=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=3Dw.document}catch(e){}if=
(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout=
(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e){}w.location.replace(h)}}=
" id=3D"aswift_3" name=3D"aswift_3" style=3D"left:0;position:absolute;top:0=
;"></iframe></ins></ins></ins>
           =20
        </div>

        <h1>Form Plugin API</h1>
        The Form Plugin API provides several methods that allow you to easi=
ly manage form data and form submission.
        <dl>
        <dt><code class=3D"method">ajaxForm</code></dt>
        <dd>Prepares a form to be submitted via <abbr title=3D"Asynchronous=
 JavaScript and XML">AJAX</abbr>
        by adding all of the necessary event listeners.  It does <strong>no=
t</strong> submit the form.
        Use <code class=3D"inline">ajaxForm</code> in your document's <code=
 class=3D"inline">ready</code> function to
        prepare your form(s) for AJAX submission.  <code class=3D"inline">a=
jaxForm</code> takes zero or one argument.  The single argument
        can be either a callback function or an <a href=3D"http://jquery.ma=
lsup.com/form/#options-object">Options Object</a>.<br>
        Chainable: Yes.
        <p class=3D"note"><strong>Note:</strong> You can pass any of the st=
andard=20
        	<a class=3D"external" href=3D"http://docs.jquery.com/Ajax/jQuery.a=
jax#options" title=3D""><code class=3D"inline">$.ajax</code></a> options to=
 ajaxForm</p>
        <p>Example:
        </p><pre><code class=3D"mix">$('#myFormId').ajaxForm();</code></pre=
>
        </dd>
        <dt><code class=3D"method">ajaxSubmit</code></dt>
        <dd>Immediately submits the form via AJAX.  In the most common use =
case this is invoked in response to the user clicking a submit button on th=
e form.
        <code class=3D"inline">ajaxSubmit</code> takes zero or one argument=
.  The single argument
        can be either a callback function or an <a href=3D"http://jquery.ma=
lsup.com/form/#options-object">Options Object</a>.<br>
        Chainable: Yes.
        <p class=3D"note"><strong>Note:</strong> You can pass any of the st=
andard=20
        	<a class=3D"external" href=3D"http://docs.jquery.com/Ajax/jQuery.a=
jax#options" title=3D""><code class=3D"inline">$.ajax</code></a> options to=
 ajaxSubmit</p>
        <p>Example:
        </p><pre><code class=3D"mix">// attach handler to form's submit eve=
nt
$('#myFormId').submit(function() {
    // submit the form
    $(this).ajaxSubmit();
    // return false to prevent normal browser submit and page navigation
    return false;
});</code></pre>
        </dd>
        <dt><code class=3D"method">formSerialize</code></dt>
        <dd>Serializes the form into a query string.  This method will retu=
rn a string in the format:
        <code class=3D"inline">name1=3Dvalue1&amp;name2=3Dvalue2</code><br>
        Chainable: No, this method returns a String.
        <p>Example:
        </p><pre><code class=3D"mix">var queryString =3D $('#myFormId').for=
mSerialize();

// the data could now be submitted using $.get, $.post, $.ajax, etc
$.post('myscript.php', queryString);
        </code></pre>
        </dd>
        <dt><code class=3D"method">fieldSerialize</code></dt>
        <dd>Serializes field elements into a query string.  This is handy w=
hen you need to serialize only
        part of a form. This method will return a string in the format:
        <code class=3D"inline">name1=3Dvalue1&amp;name2=3Dvalue2</code><br>
        Chainable: No, this method returns a String.
        <p>Example:
        </p><pre><code class=3D"mix">var queryString =3D $('#myFormId .spec=
ialFields').fieldSerialize();</code></pre>
        </dd>
        <dt><code class=3D"method">fieldValue</code></dt>
        <dd>Returns the value(s) of the element(s) in the matched set in an=
 array.  As of version .91,
        this method <strong>always</strong> returns an array.
        If no valid value can be determined the
        array will be empty, otherwise it will contain one or more values.<=
br>
        Chainable: No, this method returns an array.
        <p>Example:
        </p><pre><code class=3D"mix">// get the value of the password input
var value =3D $('#myFormId :password').fieldValue();
alert('The password is: ' + value[0]);
</code></pre>
        </dd>
        <dt><code class=3D"method">resetForm</code></dt>
        <dd>Resets the form to its original state by invoking the form elem=
ent's native
        <abbr title=3D"Document Object Model">DOM</abbr> method.<br>
        Chainable: Yes.
        <p>Example:
        </p><pre><code class=3D"mix">$('#myFormId').resetForm();</code></pr=
e>
        </dd>
        <dt><code class=3D"method">clearForm</code></dt>
        <dd>Clears the form elements.  This method emptys all of the text i=
nputs, password inputs and textarea elements, clears
        the selection in any select elements, and unchecks all radio and ch=
eckbox inputs.<br>
        Chainable: Yes.
        <pre><code class=3D"mix">$('#myFormId').clearForm();</code></pre>
        </dd>
        <dt><code class=3D"method">clearFields</code></dt>
        <dd>Clears field elements.  This is handy when you need to clear on=
ly a part of the form.<br>
        Chainable: Yes.
        <pre><code class=3D"mix">$('#myFormId .specialFields').clearFields(=
);</code></pre>
        </dd>
        </dl>
	</div>
=09
	<div id=3D"tab3" data-tabid=3D"options-object">
        <div style=3D"width: 728px; margin: auto">
            <!-- text-and-image -->
            <ins class=3D"adsbygoogle" style=3D"display:inline-block;width:=
728px;height:90px" data-ad-client=3D"ca-pub-0063430075356651" data-ad-slot=
=3D"2614073966" data-adsbygoogle-status=3D"done"><ins id=3D"aswift_4_expand=
" style=3D"display:inline-table;border:none;height:90px;margin:0;padding:0;=
position:relative;visibility:visible;width:728px;background-color:transpare=
nt"><ins id=3D"aswift_4_anchor" style=3D"display:block;border:none;height:9=
0px;margin:0;padding:0;position:relative;visibility:visible;width:728px;bac=
kground-color:transparent"><iframe width=3D"728" height=3D"90" frameborder=
=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" allow=
transparency=3D"true" scrolling=3D"no" allowfullscreen=3D"true" onload=3D"v=
ar i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=3Ds&amp;&amp;s.handlers,h=
=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=3Dw.document}catch(e){}if=
(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout=
(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e){}w.location.replace(h)}}=
" id=3D"aswift_4" name=3D"aswift_4" style=3D"left:0;position:absolute;top:0=
;"></iframe></ins></ins></ins>
           =20
        </div>
		        <h1>ajaxForm and ajaxSubmit Options</h1>
		        <p><strong>Note:</strong> Aside from the options listed below, yo=
u can also pass any of the standard=20
		        	<a class=3D"external" href=3D"http://docs.jquery.com/Ajax/jQuery=
.ajax#options" title=3D"">
		        	<code class=3D"inline">$.ajax</code></a> options to ajaxForm and=
 ajaxSubmit.</p>
		        Both <code class=3D"inline">ajaxForm</code> and <code class=3D"in=
line">ajaxSubmit</code> support
		        numerous options which can be provided using an Options Object.  =
The Options Object is simply
		        a JavaScript object that contains properties with values set as f=
ollows:
		        <dl class=3D"options">
		        <dt>beforeSerialize</dt>
		        <dd>Callback function to be invoked before the form is serialized=
.
		          This provides an opportunity to manipulate the form before it's=
 values are retrieved.
		          The <code>beforeSerialize</code> function is invoked with two a=
rguments: the jQuery object for the form,=20
		          and the Options Object passed into ajaxForm/ajaxSubmit.
		         <pre><code class=3D"mix">beforeSerialize: function($form, option=
s) {
    // return false to cancel submit		        =20
}</code></pre>
		            Default value: <code class=3D"inline">null</code>
		        </dd>
		        <dt>beforeSubmit</dt>
		        <dd>Callback function to be invoked before the form is submitted.
		          The 'beforeSubmit' callback can be provided as a hook for runni=
ng pre-submit logic or for
		          validating the form data.  If the 'beforeSubmit' callback retur=
ns false then the form will
		          not be submitted. The 'beforeSubmit' callback is invoked with t=
hree arguments: the form data
		          in array format, the jQuery object for the form, and the Option=
s Object passed into ajaxForm/ajaxSubmit.
		         <pre><code class=3D"mix">beforeSubmit: function(arr, $form, opti=
ons) {
    // The array of form data takes the following form:
    // [ { name: 'username', value: 'jresig' }, { name: 'password', value: =
'secret' } ]
   =20
    // return false to cancel submit		        =20
}</code></pre>
		            Default value: <code class=3D"inline">null</code>
		        </dd>
		        <dt>clearForm</dt>
		        <dd>Boolean flag indicating whether the form should be cleared if=
 the submit is successful<br>
		            Default value: <code class=3D"inline">null</code>
		        </dd>
		        <dt>data</dt>
		        <dd>An object containing extra data that should be submitted alon=
g with the form.
		         <pre><code class=3D"mix">data: { key1: 'value1', key2: 'value2' =
}</code></pre>
		        </dd>
		        <dt>dataType</dt>
		        <dd>Expected data type of the response.  One of: null, 'xml', 'sc=
ript', or 'json'.
		        The <code class=3D"inline">dataType</code> option provides a mean=
s for specifying how the server response should be handled.
		        This maps directly to the <code class=3D"inline">jQuery.httpData<=
/code> method.
		        The following values are supported:
		        <p>
		        <strong>'xml'</strong>: if dataType =3D=3D 'xml' the server respo=
nse is treated as XML and the 'success'
		                  callback method, if specified, will be passed the respo=
nseXML value
		        </p><p>
		        <strong>'json'</strong>: if dataType =3D=3D 'json' the server res=
ponse will be evaluted and passed to
		                  the 'success' callback, if specified
		        </p><p>
		        <strong>'script'</strong>: if dataType =3D=3D 'script' the server=
 response is evaluated in the global context
		        </p><p>
		            Default value: <code class=3D"inline">null</code>
		        </p></dd>
		        <dt>error</dt>
		        <dd>Callback function to be invoked upon error.
			    </dd>
		        <dt>forceSync</dt>
		        <dd>Boolean value. Set to true to remove short delay before posti=
ng form when uploading files (or using the iframe option).
		        The delay is used to allow the browser to render DOM updates prio=
r to performing a native form submit.  This improves
		        usability when displaying notifications to the user, such as "Ple=
ase Wait..."
		        <br>
		            Default value: <code class=3D"inline">false</code>
		            <div class=3D"note">Added in v2.38</div>
		        </dd>
		        <dt>iframe</dt>
		        <dd>Boolean flag indicating whether the form should always target=
 the server response to an iframe.
		            This is useful in conjuction with file uploads.  See the <em>=
File Uploads</em>
		            documentation on the <a href=3D"http://jquery.malsup.com/form=
/#code-samples">Code Samples</a>  page for more info.
		        <br>
		            Default value: <code class=3D"inline">false</code>
		        </dd>
		        <dt>iframeSrc</dt>
		        <dd>String value that should be used for the iframe's src attribu=
te when/if an iframe is used.
		        <br>
		            Default value: <code class=3D"inline">about:blank</code><br>
		            Default value for pages that use <code>https</code> protocol:=
 <code class=3D"inline">javascript:false</code>
		        </dd>
		        <dt>iframeTarget</dt>
		        <dd>Identifies the iframe element to be used as the response targ=
et for file uploads.  By default, the plugin
					will create a temporary iframe element to capture the response when up=
loading files.  This options allows you
					to use an existing iframe if you wish. When using this option the plug=
in will make no attempt at handling
					the response from the server.<br>
		            Default value: <code class=3D"inline">null</code>
		            <div class=3D"note">Added in v2.76</div>
		        </dd>
		        <dt>replaceTarget</dt>
		        <dd>Optionally used along with the the <code>target</code> option=
. Set to <code>true</code> if the
		        	target should be replaced or <code>false</code> if only the targ=
et <em>contents</em> should
		        	be replaced. <br>
		            Default value: <code class=3D"inline">false</code>
		            <div class=3D"note">Added in v2.43</div>
		        </dd>
		        <dt>resetForm</dt>
		        <dd>Boolean flag indicating whether the form should be reset if t=
he submit is successful<br>
		            Default value: <code class=3D"inline">null</code>
		        </dd>
		        <dt>semantic</dt>
		        <dd>Boolean flag indicating whether data must be submitted in str=
ict semantic order (slower). Note that the
		            normal form serialization is done in semantic order with the =
exception of input elements of <code class=3D"inline">type=3D"image"</code>=
.
		            You should only set the semantic option to true if your serve=
r has strict semantic requirements
		            <strong>and</strong> your form contains an input element of <=
code class=3D"inline">type=3D"image"</code>.<br>
		            Default value: <code class=3D"inline">false</code>
		        </dd>
		        <dt>success</dt>
		        <dd>Callback function to be invoked after the form has been submi=
tted.
		            If a 'success' callback function is provided it is invoked af=
ter the response has been returned
		            from the server.  It is passed the following arguments:
		            <ol style=3D"padding:10px">
		            	<li>1.) responseText or responseXML value (depending on the =
value of the dataType option).</li>
		            	<li>2.) statusText</li>
		            	<li>3.) xhr (or the jQuery-wrapped form element if using jQu=
ery &lt; 1.4)</li>
		            	<li>4.) jQuery-wrapped form element (or undefined if using j=
Query &lt; 1.4)</li>
		            </ol>
		            <p>
		            Default value: <code class=3D"inline">null</code>
		        </p></dd>
		        <dt>target</dt>
		        <dd>Identifies the element(s) in the page to be updated with the =
server response.
		            This value may be specified as a jQuery selection string, a j=
Query object,
		            or a DOM element.<br>
		            Default value: <code class=3D"inline">null</code>
		        </dd>
		        <dt>type</dt>
		        <dd>The method in which the form data should be submitted, 'GET' =
or 'POST'.<br>
		            Default value: value of form's <code class=3D"inline">method<=
/code> attribute (or 'GET' if none found)
		        </dd>
				<dt>uploadProgress</dt>
				<dd>
					Callback function to be invoked with upload progress information (if s=
upported by the browser).
		            The callback is passed the following arguments:
		            <ol style=3D"padding:10px">
		            	<li>1.) event; the browser event
		            	</li><li>2.) position (integer)
		            	</li><li>3.) total (integer)
		            	</li><li>4.) percentComplete (integer)
		            </li></ol>
		            <p>
		            Default value: <code class=3D"inline">null</code>
				</p></dd>
		        <dt>url</dt>
		        <dd>URL to which the form data will be submitted.<br>
		        Default value: value of form's <code class=3D"inline">action</cod=
e> attribute
		        </dd>
		        </dl>
		        <p>Example:
		        </p><pre><code class=3D"mix">// prepare Options Object
var options =3D {
    target:     '#divToUpdate',
    url:        'comment.php',
    success:    function() {
        alert('Thanks for your comment!');
    }
};

// pass options to ajaxForm
$('#myForm').ajaxForm(options);</code></pre>
			<p class=3D"note">
		    Note that the Options Object can also be used to pass values to jQuer=
y's
		    <a href=3D"http://docs.jquery.com/Ajax"><code class=3D"inline">$.ajax=
</code></a> method.
		    If you are familiar with the options supported by <code class=3D"inli=
ne">$.ajax</code>
		    you may use them in the Options Object passed to <code class=3D"inlin=
e">ajaxForm</code> and
		    <code class=3D"inline">ajaxSubmit</code>.
			</p>
	=09
	</div>
=09
=09
	<div id=3D"tab4" data-tabid=3D"examples">
        <div style=3D"width: 728px; margin: auto">
            <!-- text-and-image -->
            <ins class=3D"adsbygoogle" style=3D"display:inline-block;width:=
728px;height:90px" data-ad-client=3D"ca-pub-0063430075356651" data-ad-slot=
=3D"2614073966" data-adsbygoogle-status=3D"done"><ins id=3D"aswift_5_expand=
" style=3D"display:inline-table;border:none;height:90px;margin:0;padding:0;=
position:relative;visibility:visible;width:728px;background-color:transpare=
nt"><ins id=3D"aswift_5_anchor" style=3D"display:block;border:none;height:9=
0px;margin:0;padding:0;position:relative;visibility:visible;width:728px;bac=
kground-color:transparent"><iframe width=3D"728" height=3D"90" frameborder=
=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" allow=
transparency=3D"true" scrolling=3D"no" allowfullscreen=3D"true" onload=3D"v=
ar i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=3Ds&amp;&amp;s.handlers,h=
=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=3Dw.document}catch(e){}if=
(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout=
(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e){}w.location.replace(h)}}=
" id=3D"aswift_5" name=3D"aswift_5" style=3D"left:0;position:absolute;top:0=
;"></iframe></ins></ins></ins>
           =20
        </div>
       <h1>Code Samples</h1>

        <div id=3D"sub-tabs">
            <ul class=3D"sampleAnchors">
                <li><a href=3D"http://jquery.malsup.com/form/#sample1">ajax=
Form</a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample2">ajax=
Submit</a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample3">Vali=
dation</a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample4">JSON=
</a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample5">XML<=
/a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample6">HTML=
</a></li>
                <li><a href=3D"http://jquery.malsup.com/form/#sample7">File=
 Uploads</a></li>
            </ul>
            <div id=3D"sample1" class=3D"sampleTabContent" data-tabid=3D"aj=
axForm">
            <p>
            The following code controls the HTML form beneath it. It uses <=
code class=3D"inline">ajaxForm</code>
                to bind the form and demonstrates how to use pre- and post-=
submit callbacks.
                </p><pre><code class=3D"mix">// prepare the form when the D=
OM is ready
$(document).ready(function() {
    var options =3D {
        target:        '#output1',   // target element(s) to be updated wit=
h server response
        beforeSubmit:  showRequest,  // pre-submit callback
        success:       showResponse  // post-submit callback

        // other available options:
        //url:       url         // override for form's 'action' attribute
        //type:      type        // 'get' or 'post', override for form's 'm=
ethod' attribute
        //dataType:  null        // 'xml', 'script', or 'json' (expected se=
rver response type)
        //clearForm: true        // clear all form fields after successful =
submit
        //resetForm: true        // reset the form after successful submit

        // $.ajax options can be used here too, for example:
        //timeout:   3000
    };

    // bind form using 'ajaxForm'
    $('#myForm1').ajaxForm(options);
});

// pre-submit callback
function showRequest(formData, jqForm, options) {
    // formData is an array; here we use $.param to convert it to a string =
to display it
    // but the form plugin does this for you automatically when it submits =
the data
    var queryString =3D $.param(formData);

    // jqForm is a jQuery object encapsulating the form element.  To access=
 the
    // DOM element for the form do this:
    // var formElement =3D jqForm[0];

    alert('About to submit: \n\n' + queryString);

    // here we could return false to prevent the form from being submitted;
    // returning anything other than false will allow the form submit to co=
ntinue
    return true;
}

// post-submit callback
function showResponse(responseText, statusText, xhr, $form)  {
    // for normal html responses, the first argument to the success callbac=
k
    // is the XMLHttpRequest object's responseText property

    // if the ajaxForm method was passed an Options Object with the dataTyp=
e
    // property set to 'xml' then the first argument to the success callbac=
k
    // is the XMLHttpRequest object's responseXML property

    // if the ajaxForm method was passed an Options Object with the dataTyp=
e
    // property set to 'json' then the first argument to the success callba=
ck
    // is the json data object returned by the server

    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
        '\n\nThe output div should have already been updated with the respo=
nseText.');
}
</code></pre>
                <form id=3D"myForm1" action=3D"http://jquery.malsup.com/for=
m/dummy.php" method=3D"post"><div>
                        <input type=3D"hidden" name=3D"Hidden" value=3D"hid=
denValue">
                        <table>
                        <tbody><tr><td>Name:</td><td><input name=3D"Name" t=
ype=3D"text" value=3D"MyName1"></td></tr>
                        <tr><td>Password:</td><td><input name=3D"Password" =
type=3D"password"></td></tr>
                        <tr><td>Multiple:</td><td><select name=3D"Multiple"=
 multiple=3D"multiple">

                            <optgroup label=3D"Group 1">
                                <option value=3D"one" selected=3D"selected"=
>One</option>
                                <option value=3D"two">Two</option>
                                <option value=3D"three">Three</option>
                            </optgroup>
                            <optgroup label=3D"Group 2">
                                <option value=3D"four">Four</option>

                                <option value=3D"five">Five</option>
                                <option value=3D"six">Six</option>
                            </optgroup>
                        </select></td></tr>
                        <tr><td>Single:</td><td><select name=3D"Single">
                            <option value=3D"one" selected=3D"selected">One=
</option>
                            <option value=3D"two">Two</option>

                            <option value=3D"three">Three</option>
                        </select></td></tr>
                        <tr><td>Single2:</td><td><select name=3D"Single2">
                            <optgroup label=3D"Group 1">
                                <option value=3D"A" selected=3D"selected">A=
</option>
                                <option value=3D"B">B</option>
                                <option value=3D"C">C</option>
                            </optgroup>
                            <optgroup label=3D"Group 2">
                                <option value=3D"D">D</option>
                                <option value=3D"E">E</option>
                                <option value=3D"F">F</option>
                            </optgroup>
                        </select></td></tr>

                        <tr><td>Check:</td><td>
                            <input type=3D"checkbox" name=3D"Check" value=
=3D"1">
                            <input type=3D"checkbox" name=3D"Check" value=
=3D"2">
                            <input type=3D"checkbox" name=3D"Check" value=
=3D"3">
                        </td></tr>
                        <tr><td>Radio:</td><td>
                            <input type=3D"radio" name=3D"Radio" value=3D"1=
">
                            <input type=3D"radio" name=3D"Radio" value=3D"2=
">

                            <input type=3D"radio" name=3D"Radio" value=3D"3=
">
                        </td></tr>
                        <tr><td>Text:</td><td><textarea name=3D"Text" rows=
=3D"2" cols=3D"20">This is Form1</textarea></td></tr>
                        </tbody></table>
                        <input type=3D"reset" name=3D"resetButton " value=
=3D"Reset">
                        <input type=3D"submit" name=3D"submitButton" value=
=3D"Submit1">
                        <input type=3D"image" name=3D"submitButton" value=
=3D"Submit2" src=3D"http://jquery.malsup.com/form/submit.gif">
                        <input type=3D"image" name=3D"submitButton" value=
=3D"Submit3" src=3D"http://jquery.malsup.com/form/submit.gif">
                        <input type=3D"image" name=3D"submitButton" value=
=3D"Submit4" src=3D"http://jquery.malsup.com/form/submit.gif">
						<button type=3D"submit" name=3D"submitButton" value=3D"Submit5"><span=
>submit 5</span></button>
                </div></form>
                <h1>Output Div (#output1):</h1>
                <div id=3D"output1">AJAX response will replace this content=
.</div>
            </div>


            <div id=3D"sample2" class=3D"sampleTabContent" data-tabid=3D"aj=
axSubmit">
            <p>
            The following code controls the HTML form beneath it. It uses <=
code class=3D"inline">ajaxSubmit</code>
                to submit the form.
                </p><pre><code class=3D"mix">// prepare the form when the D=
OM is ready
$(document).ready(function() {
    var options =3D {
        target:        '#output2',   // target element(s) to be updated wit=
h server response
        beforeSubmit:  showRequest,  // pre-submit callback
        success:       showResponse  // post-submit callback

        // other available options:
        //url:       url         // override for form's 'action' attribute
        //type:      type        // 'get' or 'post', override for form's 'm=
ethod' attribute
        //dataType:  null        // 'xml', 'script', or 'json' (expected se=
rver response type)
        //clearForm: true        // clear all form fields after successful =
submit
        //resetForm: true        // reset the form after successful submit

        // $.ajax options can be used here too, for example:
        //timeout:   3000
    };

    // bind to the form's submit event
    $('#myForm2').submit(function() {
        // inside event callbacks 'this' is the DOM element so we first
        // wrap it in a jQuery object and then invoke ajaxSubmit
        $(this).ajaxSubmit(options);

        // !!! Important !!!
        // always return false to prevent standard browser submit and page =
navigation
        return false;
    });
});

// pre-submit callback
function showRequest(formData, jqForm, options) {
    // formData is an array; here we use $.param to convert it to a string =
to display it
    // but the form plugin does this for you automatically when it submits =
the data
    var queryString =3D $.param(formData);

    // jqForm is a jQuery object encapsulating the form element.  To access=
 the
    // DOM element for the form do this:
    // var formElement =3D jqForm[0];

    alert('About to submit: \n\n' + queryString);

    // here we could return false to prevent the form from being submitted;
    // returning anything other than false will allow the form submit to co=
ntinue
    return true;
}

// post-submit callback
function showResponse(responseText, statusText, xhr, $form)  {
    // for normal html responses, the first argument to the success callbac=
k
    // is the XMLHttpRequest object's responseText property

    // if the ajaxSubmit method was passed an Options Object with the dataT=
ype
    // property set to 'xml' then the first argument to the success callbac=
k
    // is the XMLHttpRequest object's responseXML property

    // if the ajaxSubmit method was passed an Options Object with the dataT=
ype
    // property set to 'json' then the first argument to the success callba=
ck
    // is the json data object returned by the server

    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
        '\n\nThe output div should have already been updated with the respo=
nseText.');
}
</code></pre>
                <form id=3D"myForm2" action=3D"http://jquery.malsup.com/for=
m/dummy2.php" method=3D"post"><div>

                        <input type=3D"hidden" name=3D"Hidden" value=3D"hid=
denValue">
                        <table>
                        <tbody><tr><td>Name:</td><td><input name=3D"Name" t=
ype=3D"text" value=3D"MyName2"></td></tr>
                        <tr><td>Password:</td><td><input name=3D"Password" =
type=3D"password"></td></tr>
                        <tr><td>Multiple:</td><td><select name=3D"Multiple"=
 multiple=3D"multiple">
                            <optgroup label=3D"Group 1">
                                <option value=3D"one" selected=3D"selected"=
>One</option>

                                <option value=3D"two">Two</option>
                                <option value=3D"three">Three</option>
                            </optgroup>
                            <optgroup label=3D"Group 2">
                                <option value=3D"four">Four</option>
                                <option value=3D"five">Five</option>
                                <option value=3D"six">Six</option>

                            </optgroup>
                        </select></td></tr>
                        <tr><td>Single:</td><td><select name=3D"Single">
                            <option value=3D"one" selected=3D"selected">One=
</option>
                            <option value=3D"two">Two</option>
                            <option value=3D"three">Three</option>
                        </select></td></tr>

                        <tr><td>Single2:</td><td><select name=3D"Single2">
                            <optgroup label=3D"Group 1">
                                <option value=3D"A" selected=3D"selected">A=
</option>
                                <option value=3D"B">B</option>
                                <option value=3D"C">C</option>
                            </optgroup>
                            <optgroup label=3D"Group 2">

                                <option value=3D"D">D</option>
                                <option value=3D"E">E</option>
                                <option value=3D"F">F</option>
                            </optgroup>
                        </select></td></tr>
                        <tr><td>Check:</td><td>
                            <input type=3D"checkbox" name=3D"Check" value=
=3D"1">

                            <input type=3D"checkbox" name=3D"Check" value=
=3D"2">
                            <input type=3D"checkbox" name=3D"Check" value=
=3D"3">
                        </td></tr>
                        <tr><td>Radio:</td><td>
                            <input type=3D"radio" name=3D"Radio" value=3D"1=
">
                            <input type=3D"radio" name=3D"Radio" value=3D"2=
">
                            <input type=3D"radio" name=3D"Radio" value=3D"3=
">
                        </td></tr>
                        <tr><td>Text:</td><td><textarea name=3D"Text" rows=
=3D"2" cols=3D"20">This is Form2</textarea></td></tr>

                        </tbody></table>
                        <input type=3D"reset" name=3D"resetButton " value=
=3D"Reset">
                        <input type=3D"submit" name=3D"submitButton" value=
=3D"Submit1">
                        <input type=3D"image" name=3D"submitButton" value=
=3D"Submit2" src=3D"http://jquery.malsup.com/form/submit.gif">
                </div></form>
                <h1>Output Div (#output2):</h1>
                <div id=3D"output2">AJAX response will replace this content=
.</div>
            </div>

            <div id=3D"sample3" class=3D"sampleTabContent" data-tabid=3D"va=
lidation">
            <p>
            This page gives several examples of how form data can be valida=
ted before it is sent to
            the server.  The secret is in the <code class=3D"inline">before=
Submit</code> option.  If this
            pre-submit callback returns false, the submit process is aborte=
d.
            </p><p>
            The following login form is used for each of the examples that =
follow.  Each example
            will validate that both the <em>username</em> and <em>password<=
/em> fields have been filled
            in by the user.
            </p><p>
            <strong>Form Markup:</strong>
            </p><pre><code class=3D"mix">&lt;form id=3D"validationForm" act=
ion=3D"dummy.php" method=3D"post"&gt;
    Username: &lt;input type=3D"text" name=3D"username" /&gt;
    Password: &lt;input type=3D"password" name=3D"password" /&gt;
    &lt;input type=3D"submit" value=3D"Submit" /&gt;
&lt;/form&gt;</code></pre>
            <p>
            First, we initialize the form and give it a <code class=3D"inli=
ne">beforeSubmit</code>
            callback function - this is the validation function.
            </p><pre><code class=3D"mix">// prepare the form when the DOM i=
s ready
$(document).ready(function() {
    // bind form using ajaxForm
    $('#myForm2').ajaxForm( { beforeSubmit: validate } );
});</code></pre>

            <h3>Validate Using the <code>formData</code> Argument</h3>
            <form id=3D"validateForm1" action=3D"http://jquery.malsup.com/f=
orm/dummy.php" method=3D"post"><div>
                Username: <input type=3D"text" name=3D"username">
                Password: <input type=3D"password" name=3D"password">
                <input type=3D"submit" value=3D"Submit">
            </div></form>
            <pre><code class=3D"mix">function validate(formData, jqForm, op=
tions) {
    // formData is an array of objects representing the name and value of e=
ach field
    // that will be sent to the server;  it takes the following form:
    //
    // [
    //     { name:  username, value: valueOfUsernameInput },
    //     { name:  password, value: valueOfPasswordInput }
    // ]
    //
    // To validate, we can examine the contents of this array to see if the
    // username and password fields have values.  If either value evaluates
    // to false then we return false from this method.

    for (var i=3D0; i &lt; formData.length; i++) {
        if (!formData[i].value) {
            alert('Please enter a value for both Username and Password');
            return false;
        }
    }
    alert('Both fields contain values.');
}</code></pre>
            <h3>Validate Using the <code>jqForm</code> Argument</h3>
            <form id=3D"validateForm2" action=3D"http://jquery.malsup.com/f=
orm/dummy.php" method=3D"post"><div>
                Username: <input type=3D"text" name=3D"username">
                Password: <input type=3D"password" name=3D"password">
                <input type=3D"submit" value=3D"Submit">
            </div></form>
            <pre><code class=3D"mix">function validate(formData, jqForm, op=
tions) {
    // jqForm is a jQuery object which wraps the form DOM element
    //
    // To validate, we can access the DOM elements directly and return true
    // only if the values of both the username and password fields evaluate
    // to true

    var form =3D jqForm[0];
    if (!form.username.value || !form.password.value) {
        alert('Please enter a value for both Username and Password');
        return false;
    }
    alert('Both fields contain values.');
}</code></pre>
            <h3>Validate Using the <code>fieldValue</code> Method</h3>
            <form id=3D"validateForm3" action=3D"http://jquery.malsup.com/f=
orm/dummy.php" method=3D"post"><div>
                Username: <input type=3D"text" name=3D"username">
                Password: <input type=3D"password" name=3D"password">
                <input type=3D"submit" value=3D"Submit">
            </div></form>
            <pre><code class=3D"mix">function validate(formData, jqForm, op=
tions) {
    // fieldValue is a Form Plugin method that can be invoked to find the
    // current value of a field
    //
    // To validate, we can capture the values of both the username and pass=
word
    // fields and return true only if both evaluate to true

    var usernameValue =3D $('input[name=3Dusername]').fieldValue();
    var passwordValue =3D $('input[name=3Dpassword]').fieldValue();

    // usernameValue and passwordValue are arrays but we can do simple
    // "not" tests to see if the arrays are empty
    if (!usernameValue[0] || !passwordValue[0]) {
        alert('Please enter a value for both Username and Password');
        return false;
    }
    alert('Both fields contain values.');
}</code></pre>
            <p>
            </p><h3>Note</h3>
            You can find jQuery plugins that deal specifically with field v=
alidation
            on the <a href=3D"http://docs.jquery.com/Plugins#Forms" class=
=3D"external">jQuery Plugins Page</a>.


            </div>

            <div id=3D"sample4" class=3D"sampleTabContent" data-tabid=3D"js=
on">
            <p>
            This page shows how to handle JSON data returned from the serve=
r.
            </p><p>
            The form below submits a message to the server and the server
            echos it back in JSON format.
            <br>
            <strong>Form markup:</strong>
            </p><pre><code class=3D"mix">&lt;form id=3D"jsonForm" action=3D=
"json-echo.php" method=3D"post"&gt;
    Message: &lt;input type=3D"text" name=3D"message" value=3D"Hello JSON" =
/&gt;
    &lt;input type=3D"submit" value=3D"Echo as JSON" /&gt;
&lt;/form&gt;</code></pre>
            <p>
            </p><form id=3D"jsonForm" action=3D"http://jquery.malsup.com/fo=
rm/json-echo.php" method=3D"post"><div>
                Message: <input type=3D"text" name=3D"message" value=3D"Hel=
lo JSON">
                <input type=3D"submit" value=3D"Echo as JSON">
            </div></form>
            <br>
            <strong>Server code in</strong> <code class=3D"inline">json-ech=
o.php</code>:
            <pre><code class=3D"php">&lt;?php  echo '{ "message": "' . $_PO=
ST['message'] . '" }';  ?&gt;</code></pre>
            <strong>JavaScript:</strong>
            <pre><code class=3D"mix">// prepare the form when the DOM is re=
ady
$(document).ready(function() {
    // bind form using ajaxForm
    $('#jsonForm').ajaxForm({
        // dataType identifies the expected content type of the server resp=
onse
        dataType:  'json',

        // success identifies the function to invoke when the server respon=
se
        // has been received
        success:   processJson
    });
});</code></pre>

            <strong>Callback function</strong>
            <pre><code class=3D"mix">function processJson(data) {
    // 'data' is the json object returned from the server
    alert(data.message);
}</code></pre>
            </div>

			            <div id=3D"sample5" class=3D"sampleTabContent" data-tabid=3D=
"xml">
			            <p>
			            This page shows how to handle XML data returned from the ser=
ver.
			            </p><p>
			            The form below submits a message to the server and the serve=
r
			            echos it back in XML format.
			            <br>
			            <strong>Form markup:</strong>
			            </p><pre><code class=3D"mix">&lt;form id=3D"xmlForm" action=
=3D"xml-echo.php" method=3D"post"&gt;
    Message: &lt;input type=3D"text" name=3D"message" value=3D"Hello XML" /=
&gt;
    &lt;input type=3D"submit" value=3D"Echo as XML" /&gt;
&lt;/form&gt;</code></pre>
			            <p>
			            </p><form id=3D"xmlForm" action=3D"http://jquery.malsup.com/=
form/xml-echo.php" method=3D"post"><div>
			                Message: <input type=3D"text" name=3D"message" value=3D"=
Hello XML">
			                <input type=3D"submit" value=3D"Echo as XML">
			            </div></form>
			            <br>
			            <strong>Server code in</strong> <code class=3D"inline">xml-e=
cho.php</code>:
			            <pre><code class=3D"php">&lt;?php
// !!! IMPORTANT !!! - the server must set the content type to XML
header('Content-type: text/xml');
echo '&lt;root&gt;&lt;message&gt;' . $_POST['message'] . '&lt;/message&gt;&=
lt;/root&gt;';
?&gt;</code></pre>
			            <strong>JavaScript:</strong>
			            <pre><code class=3D"mix">// prepare the form when the DOM is=
 ready
$(document).ready(function() {
    // bind form using ajaxForm
    $('#xmlForm').ajaxForm({
        // dataType identifies the expected content type of the server resp=
onse
        dataType:  'xml',

        // success identifies the function to invoke when the server respon=
se
        // has been received
        success:   processXml
    });
});</code></pre>

			            <strong>Callback function</strong>
			            <pre><code class=3D"mix">function processXml(responseXML) {
    // 'responseXML' is the XML document returned by the server; we use
    // jQuery to extract the content of the message node from the XML doc
    var message =3D $('message', responseXML).text();
    alert(message);
}</code></pre>
			            </div>


            <div id=3D"sample6" class=3D"sampleTabContent" data-tabid=3D"ht=
ml">
            <p>
            This page shows how to handle HTML data returned from the serve=
r.
            </p><p>
            The form below submits a message to the server and the server
            echos it back in an HTML div.  The response is added to this
            page in the <code class=3D"inline">htmlExampleTarget</code> div=
 below.
            <br>
            <strong>Form markup:</strong>
            </p><pre><code class=3D"mix">&lt;form id=3D"htmlForm" action=3D=
"html-echo.php" method=3D"post"&gt;
    Message: &lt;input type=3D"text" name=3D"message" value=3D"Hello HTML" =
/&gt;
    &lt;input type=3D"submit" value=3D"Echo as HTML" /&gt;
&lt;/form&gt;</code></pre>
            <p>
            </p><form id=3D"htmlForm" action=3D"http://jquery.malsup.com/fo=
rm/html-echo.php" method=3D"post"><div>
                Message: <input type=3D"text" name=3D"message" value=3D"Hel=
lo HTML">
                <input type=3D"submit" value=3D"Echo as HTML">
            </div></form>
            <br>
            <strong>Server code in</strong> <code class=3D"inline">html-ech=
o.php</code>:
            <pre><code class=3D"php">&lt;?php
echo '&lt;div style=3D"background-color:#ffa; padding:20px"&gt;' . $_POST['=
message'] . '&lt;/div&gt;';
?&gt;</code></pre>
            <strong>JavaScript:</strong>
            <pre><code class=3D"mix">// prepare the form when the DOM is re=
ady
$(document).ready(function() {
    // bind form using ajaxForm
    $('#htmlForm').ajaxForm({
        // target identifies the element(s) to update with the server respo=
nse
        target: '#htmlExampleTarget',

        // success identifies the function to invoke when the server respon=
se
        // has been received; here we apply a fade-in effect to the new con=
tent
        success: function() {
            $('#htmlExampleTarget').fadeIn('slow');
        }
    });
});</code></pre>
            <h3>htmlExampleTarget (output will be added below):</h3>
            <div id=3D"htmlExampleTarget"></div>
            </div>


            <div id=3D"sample7" class=3D"sampleTabContent" data-tabid=3D"fi=
le-upload">
            <p>
            This page demonstrates the Form Plugin's file upload capabiliti=
es.  There is no special
            coding required to handle file uploads. File input elements are=
 automatically
            detected and processed for you.
            </p><p>
			Browsers that support the <a href=3D"http://www.w3.org/TR/XMLHttpRequest=
/">XMLHttpRequest Level 2</a>
			will be able to upload files seamlessly and even get progress updates as=
 the upload proceeds.
			For older browsers, a fallback technology is used which involves iframes=
 since it is
		=09
            not possible to upload files using the level 1 implmenentation =
of the XMLHttpRequest object.
            This is a common fallback technique, but it has inherent limita=
tions.  The iframe element is used as the target
            of the form's submit operation which means that the server resp=
onse is written to the iframe.
            This is fine if the response type is HTML or XML, but doesn't w=
ork as well if the response type is
            script or JSON, both of which often contain characters that nee=
d to be repesented using entity
            references when found in HTML markup.
            </p><p>
            To account for the challenges of script and JSON responses when=
 using the iframe mode, the Form Plugin allows these responses
            to be embedded in a <code class=3D"inline">textarea</code> elem=
ent and it is recommended that you
            do so for these response types when used in conjuction with fil=
e uploads and older browsers.=20
            </p><p>
            It is important to note that even when the dataType option is s=
et to 'script', and the server is=20
            actually responding with some javascript to a multipart form su=
bmission,=20
            the response's Content-Type header should be forced to <code>te=
xt/html</code>, otherwise Internet
            Explorer will prompt the user to download a "file".
            </p><p>
			Also note that if there is no file input in the form then the request us=
es normal
            XHR to submit the form (not an iframe).  This puts the burden o=
n your server code to know when
            to use a textarea and when not to.  If you like, you can use th=
e <code class=3D"inline">iframe</code>
            option of the plugin to force it to always use an <em>iframe mo=
de</em> and then your server can
            always embed the response in a textarea.  But the recommended s=
olution is to test for the
			'X-Requested-With' request header.  If the value of that header is 'XMLH=
ttpRequest' then you
			know that the form was posted via ajax.

            The following PHP snippet shows how you can be sure to return c=
ontent successfully:
            </p><pre><code class=3D"mix">&lt;?php			=09
$xhr =3D $_SERVER['HTTP_X_REQUESTED_WITH'] =3D=3D 'XMLHttpRequest';
if (!$xhr)=20
	echo '&lt;textarea&gt;';
?&gt;

// main content of response here
			=09
&lt;?php
if (!$xhr) =20
	echo '&lt;/textarea&gt;';
?&gt;
</code></pre>
            <p></p><p>
            The form below provides an input element of type "file" along w=
ith a select element
            to specify the dataType of the response.  The form is submitted=
 to
            <code class=3D"inline"><a href=3D"http://jquery.malsup.com/form=
/files-raw.php">files.php</a></code> which uses the dataType to
            determine what type of response to return.

            </p>
            <form id=3D"uploadForm" action=3D"http://jquery.malsup.com/form=
/files.php" method=3D"POST" enctype=3D"multipart/form-data">
                <input type=3D"hidden" name=3D"MAX_FILE_SIZE" value=3D"1000=
00">
                File: <input type=3D"file" name=3D"file">
                Return Type: <select id=3D"uploadResponseType" name=3D"mime=
type">
                    <option value=3D"html">html</option>
                    <option value=3D"json">json</option>
                    <option value=3D"script">script</option>
                    <option value=3D"xml">xml</option>
                </select>
                <input type=3D"submit" value=3D"Submit 1" name=3D"uploadSub=
mitter1">
                <input type=3D"submit" value=3D"Submit 2" name=3D"uploadSub=
mitter2">
            </form>

            <p>
            <label>Output:</label>
            </p><div id=3D"uploadOutput"></div>

			<div style=3D"margin-top: 25px">
				<p>Examples that show how to display upload progress:</p>
				<ul>
					<li><a href=3D"http://jquery.malsup.com/form/progress.html">Progress D=
emo 1</a>
					</li><li><a href=3D"http://jquery.malsup.com/form/progress2.html">Prog=
ress Demo 2</a>
					</li><li><a href=3D"http://jquery.malsup.com/form/progress3.html">Prog=
ress Demo 3</a>
				</li></ul>
			</div>
            </div>
        </div>
	</div>
	<div id=3D"tab5" data-tabid=3D"fields">

        <h1>Working With Fields</h1>
                This page describes and demonstrates the Form Plugin's <cod=
e class=3D"inline">fieldValue</code> and
                <code class=3D"inline">fieldSerialize</code> methods.
                <p>
                </p><h2>fieldValue</h2>
                <code class=3D"inline">fieldValue</code>
                allows you to retrieve the current value of a field.  For e=
xample, to retrieve the value of the password
                field in a form with the id of 'myForm' you would write:
                <pre><code class=3D"mix">var pwd =3D $('#myForm :password')=
.fieldValue()[0];</code></pre>
                This method <strong>always</strong> returns an array.  If n=
o valid value can be determined the
                array will be empty, otherwise it will contain one or more =
values.
                <p>
                </p><h2>fieldSerialize</h2>
                <code class=3D"inline">fieldSerialize</code> allows you to =
serialize a subset of a form into a
                query string.  This is useful when you need to process only=
 certain fields.  For example,
                to serialize only the text inputs of a form you would write=
:
                <pre><code class=3D"mix">var queryString =3D $('#myForm :te=
xt').fieldSerialize();</code></pre>

                <form id=3D"inputForm" action=3D"http://jquery.malsup.com/f=
orm/#"><div>
                    <strong>Demonstration</strong><p>
                    Enter a jQuery expression into the textbox below and th=
en click 'Test' to see the results
                    of the <code class=3D"inline">fieldValue</code> and <co=
de class=3D"inline">fieldSerialize</code>
                    methods.  These methods are run against the test form t=
hat follows.</p><p>
                    jQuery expression:
                    <input id=3D"query" type=3D"text" value=3D":text">
                    <span style=3D"color:#555">(ie: textarea, [@type=3D'hid=
den'], :radio, :checkbox, etc)</span>
                    <br><input id=3D"successful" type=3D"checkbox" checked=
=3D"checked"> Successful controls only <sup>[1]</sup>
                    </p><p><input type=3D"submit" value=3D"Test">
                </p></div></form>
                <br>
                <form id=3D"test" action=3D"http://jquery.malsup.com/form/d=
ummy.php" method=3D"post"><div>
                    <strong>Test Form</strong>
                    <p>
                    </p><table>
                    <tbody><tr><td>&lt;input type=3D"hidden" <span class=3D=
"name">name=3D"Hidden"</span> value=3D"secret" /&gt;</td><td><input type=3D=
"hidden" name=3D"Hidden" value=3D"secret"></td></tr>
                    <tr><td>&lt;input <span class=3D"name">name=3D"Name"</s=
pan> type=3D"text" value=3D"MyName1" /&gt;</td><td><input name=3D"Name" typ=
e=3D"text" value=3D"MyName1"></td></tr>
                    <tr><td>&lt;input <span class=3D"name">name=3D"Password=
"</span> type=3D"password" /&gt;</td><td><input name=3D"Password" type=3D"p=
assword" value=3D""></td></tr>
                    <tr><td>&lt;select <span class=3D"name">name=3D"Multipl=
e"</span> multiple=3D"multiple"&gt;</td><td><select name=3D"Multiple" multi=
ple=3D"multiple">
                        <option value=3D"one" selected=3D"selected">One</op=
tion>
                        <option value=3D"two">Two</option>
                        <option value=3D"three">Three</option>
                    </select></td></tr>
                    <tr><td>&lt;select <span class=3D"name">name=3D"Single"=
</span>&gt;</td><td><select name=3D"Single">
                        <option value=3D"one" selected=3D"selected">One</op=
tion>
                        <option value=3D"two">Two</option>
                        <option value=3D"three">Three</option>
                    </select></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check"</span> value=3D"1" /&gt;</td><td><input type=3D"checkbox" =
name=3D"Check" value=3D"1"></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check"</span> value=3D"2" /&gt;</td><td><input type=3D"checkbox" =
name=3D"Check" value=3D"2"></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check"</span> value=3D"3" /&gt;</td><td><input type=3D"checkbox" =
name=3D"Check" value=3D"3"></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check2"</span> value=3D"4" /&gt;</td><td><input type=3D"checkbox"=
 name=3D"Check2" value=3D"4"></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check2"</span> value=3D"5" /&gt;</td><td><input type=3D"checkbox"=
 name=3D"Check2" value=3D"5"></td></tr>
                    <tr><td>&lt;input type=3D"checkbox" <span class=3D"name=
">name=3D"Check3"</span> /&gt;</td><td><input type=3D"checkbox" name=3D"Che=
ck3"></td></tr>
                    <tr><td>&lt;input type=3D"radio" <span class=3D"name">n=
ame=3D"Radio"</span> value=3D"1" /&gt;</td><td><input type=3D"radio" name=
=3D"Radio" value=3D"1"></td></tr>
                    <tr><td>&lt;input type=3D"radio" <span class=3D"name">n=
ame=3D"Radio"</span> value=3D"2" /&gt;</td><td><input type=3D"radio" name=
=3D"Radio" value=3D"2"></td></tr>
                    <tr><td>&lt;input type=3D"radio" <span class=3D"name">n=
ame=3D"Radio"</span> value=3D"3" /&gt;</td><td><input type=3D"radio" name=
=3D"Radio" value=3D"3"></td></tr>
                    <tr><td>&lt;input type=3D"radio" <span class=3D"name">n=
ame=3D"Radio2"</span> value=3D"4" /&gt;</td><td><input type=3D"radio" name=
=3D"Radio2" value=3D"4"></td></tr>
                    <tr><td>&lt;input type=3D"radio" <span class=3D"name">n=
ame=3D"Radio2"</span> value=3D"5" /&gt;</td><td><input type=3D"radio" name=
=3D"Radio2" value=3D"5"></td></tr>
                    <tr><td>&lt;textarea <span class=3D"name">name=3D"Text"=
</span> rows=3D"2" cols=3D"20"&gt;&lt;/textarea&gt;</td><td><textarea name=
=3D"Text" rows=3D"2" cols=3D"20"></textarea></td></tr>
                    <tr><td>&lt;input type=3D"reset" <span class=3D"name">n=
ame=3D"resetButton"</span> value=3D"Reset" /&gt;</td><td><input type=3D"res=
et" name=3D"resetButton" value=3D"Reset"></td></tr>
                    <tr><td>&lt;input type=3D"submit" <span class=3D"name">=
name=3D"sub"</span> value=3D"Submit" /&gt;</td><td><input type=3D"submit" n=
ame=3D"submitButton" value=3D"Submit"></td></tr>
                    </tbody></table>
                </div></form>
                <p>
                [1] <a class=3D"external" href=3D"http://www.w3.org/TR/html=
4/interact/forms.html#successful-controls">http://www.w3.org/TR/html4/inter=
act/forms.html#successful-controls</a>.
                </p><p>By default, <code class=3D"inline">fieldValue</code>=
 and <code class=3D"inline">fieldSerialize</code> only function on
                'successful controls'.  This means that if you run the foll=
owing code on a checkbox that is not checked, the result will
                be an empty array.
                </p><pre><code class=3D"mix">// value will be an empty arra=
y if checkbox is not checked:
var value =3D $('#myUncheckedCheckbox').fieldValue();
// value.length =3D=3D 0
</code></pre>
                However, if you really want to know the 'value' of the chec=
kbox element, even if it's unchecked, you can
                write this:
                <pre><code class=3D"mix">// value will hold the checkbox va=
lue even if it's not checked:
var value =3D $('#myUncheckedCheckbox').fieldValue(false);
// value.length =3D=3D 1
</code></pre>
	</div>
	<div id=3D"tab6" data-tabid=3D"faq">
        <h1>Frequently Asked Questions</h1>
        <dl>
        <dt>What versions of jQuery is the Form Plugin compatible with?</dt=
>
        <dd>The Form Plugin is compatible with jQuery v1.5 and later.</dd>
        <dt>Does the Form Plugin have any dependencies on other plugins?</d=
t>
        <dd>No.</dd>
        <dt>Is the Form Plugin fast?  Does it serialize forms accurately?</=
dt>
        <dd>Yes!  See our <a href=3D"http://jquery.malsup.com/form/comp/">c=
omparison page</a> for a look at how the Form Plugin compares to other libr=
aries (including Prototype and dojo).</dd>
        <dt>What is the easiet way to use the Form Plugin?</dt>
        <dd><code class=3D"inline">ajaxForm</code> provides the simplest wa=
y to enable your HTML form to use AJAX.  It's the one-stop-shopping
           method for preparing forms.</dd>
        <dt>What is the difference between <code class=3D"inline">ajaxForm<=
/code> and <code class=3D"inline">ajaxSubmit</code>?</dt>
        <dd>There are two main differences between these methods:
            <ol>
                <li><code class=3D"inline">ajaxSubmit</code> submits the fo=
rm, <code class=3D"inline">ajaxForm</code> does not.  When you invoke <code=
 class=3D"inline">ajaxSubmit</code>
                    it immediately serializes the
                    form data and sends it to the server.  When you invoke =
<code class=3D"inline">ajaxForm</code> it adds the necessary event listener=
s to the form
                    so that it can detect when the form is submitted by the=
 user.  When this occurs <code class=3D"inline">ajaxSubmit</code> is called=
 for you.
                </li>
                <li>When using <code class=3D"inline">ajaxForm</code> the s=
ubmitted data will include the name and value of the submitting element (or=
 its click coordinates if the
                    submitting element is an image).</li>
            </ol>
        </dd>
        <dt>How can I cancel a form submit?</dt>
        <dd>You can prevent a form from being submitted by adding a 'before=
Submit' callback
            function and returning false from that function.  See the Code =
Samples page
            for an example.</dd>
        <dt>Is there a unit test suite for the Form Plugin?</dt>
        <dd>Yes!  The Form Plugin has an extensive set of tests that are us=
ed to validate its functionality.
        <a href=3D"http://jquery.malsup.com/form/test/">Run unit tests.</a>
        </dd>
        <dt>Does the Form Plugin support file uploads?</dt>
        <dd>Yes!</dd>
        <dt>Why aren't all my input values posted?</dt>
        <dd>jQuery form serialization aheres closely to the HTML spec.  Onl=
y=20
        	<a class=3D"external" href=3D"http://www.w3.org/TR/html401/interac=
t/forms.html#h-17.13.2">successful controls</a>=20
        	are valid for submission.</dd>
        <dt>How do I display upload progress information?</dt>
        <dd><a href=3D"http://jquery.malsup.com/form/progress.html">Demo</a=
></dd>
        </dl>
	</div>
	<div id=3D"tab7" data-tabid=3D"download">
		<h1>Download</h1>
        <p>
		The Official Form Plugin is available here: <a href=3D"http://malsup.gith=
ub.com/jquery.form.js">jquery.form.js</a> or from
		the plugin's <a class=3D"external" href=3D"http://github.com/malsup/form/=
">Github repository</a>.
        </p><p>
        Minified version:  <a href=3D"http://malsup.github.com/min/jquery.f=
orm.min.js">jquery.form.min.js</a>
        </p><p>
        There are many other useful <a class=3D"external" href=3D"http://do=
cs.jquery.com/Plugins#Forms">Form Plugins</a>
        available from the <a class=3D"external" href=3D"http://docs.jquery=
.com/Plugins">jQuery Plugins</a> page.
        </p><p>
        </p><h1>Support</h1>
        Support for the Form Plugin is available through the
        <a class=3D"external" href=3D"http://groups.google.com/group/jquery=
-en/topics">jQuery Google Group</a>.
		This is a very active group to which many jQuery developers and users sub=
scribe.
        <p>
        </p><h1>Contributors</h1>
		<p>
        Development of the Form Plugin was a community effort with many peo=
ple contributing ideas and code.
        The following people have made contributions of one kind or another=
:
    	</p>
		<ul>
            <li>John Resig</li>
            <li>Mike Alsup</li>
            <li>Mark Constable</li>
            <li>Klaus Hartl</li>
            <li>Matt Grimm</li>
            <li>Yehuda Katz</li>
            <li>J=C3=B6rn Zaefferer</li>
            <li>Sam Collett</li>
            <li>Gilles van den Hoven</li>
            <li>Kevin Glowacz</li>
            <li>Alex Andrienko</li>
        </ul>
        <p><em>Send me an email if I've forgotten someone.</em></p>


<div style=3D"clear:both;margin:10px auto;width:728px">

<ins id=3D"aswift_1_expand" style=3D"display:inline-table;border:none;heigh=
t:15px;margin:0;padding:0;position:relative;visibility:visible;width:728px;=
background-color:transparent"><ins id=3D"aswift_1_anchor" style=3D"display:=
block;border:none;height:15px;margin:0;padding:0;position:relative;visibili=
ty:visible;width:728px;background-color:transparent"><iframe width=3D"728" =
height=3D"15" frameborder=3D"0" marginwidth=3D"0" marginheight=3D"0" vspace=
=3D"0" hspace=3D"0" allowtransparency=3D"true" scrolling=3D"no" allowfullsc=
reen=3D"true" onload=3D"var i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=
=3Ds&amp;&amp;s.handlers,h=3DH&amp;&amp;H[i],w=3Dthis.contentWindow,d;try{d=
=3Dw.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChi=
ld)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=3Ds.upd(h,i)}catch(e=
){}w.location.replace(h)}}" id=3D"aswift_1" name=3D"aswift_1" style=3D"left=
:0;position:absolute;top:0;"></iframe></ins></ins>
</div>       =20
        <div id=3D"footer">
        This site is maintained by Mike Alsup.
        </div>
	</div>
</div>


</body></html>
------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/black-tie/jquery-ui.css


------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: http://jquery.malsup.com/themes/jquery-ui-sub-tabs-smoothness.css

#sub-tabs .ui-helper-hidden { display: none; }

#sub-tabs .ui-helper-hidden-accessible { position: absolute; left: -9999999=
9px; }

#sub-tabs .ui-helper-reset { margin: 0px; padding: 0px; border: 0px; outlin=
e: 0px; line-height: 1.3; text-decoration: none; font-size: 100%; list-styl=
e: none; }

#sub-tabs .ui-helper-clearfix::after { content: '.'; display: block; height=
: 0px; clear: both; visibility: hidden; }

#sub-tabs .ui-helper-clearfix { display: inline-block; }

* html .ui-helper-clearfix { height: 1%; }

#sub-tabs .ui-helper-clearfix { display: block; }

#sub-tabs .ui-helper-zfix { width: 100%; height: 100%; top: 0px; left: 0px;=
 position: absolute; opacity: 0; }

#sub-tabs .ui-state-disabled { cursor: default !important; }

#sub-tabs .ui-icon { display: block; text-indent: -99999px; overflow: hidde=
n; background-repeat: no-repeat no-repeat; }

#sub-tabs .ui-widget-overlay { position: absolute; top: 0px; left: 0px; wid=
th: 100%; height: 100%; }

#sub-tabs .ui-widget { font-family: Verdana, Arial, sans-serif; font-size: =
1.1em; }

#sub-tabs .ui-widget input, #sub-tabs .ui-widget select, #sub-tabs .ui-widg=
et textarea, #sub-tabs .ui-widget button { font-family: Verdana, Arial, san=
s-serif; font-size: 1em; }

#sub-tabs .ui-widget-content { border: 1px solid rgb(170, 170, 170); backgr=
ound-image: url(http://jquery.malsup.com/themes/images/ui-bg_flat_75_ffffff=
_40x100.png); background-color: rgb(255, 255, 255); color: rgb(34, 34, 34);=
 background-position: 50% 50%; background-repeat: repeat no-repeat; }

#sub-tabs .ui-widget-content a { color: rgb(34, 34, 34); }

#sub-tabs .ui-widget-header { border: 1px solid rgb(170, 170, 170); backgro=
und-image: url(http://jquery.malsup.com/themes/images/ui-bg_highlight-soft_=
75_cccccc_1x100.png); background-color: rgb(204, 204, 204); color: rgb(34, =
34, 34); font-weight: bold; background-position: 50% 50%; background-repeat=
: repeat no-repeat; }

#sub-tabs .ui-widget-header a { color: rgb(34, 34, 34); }

#sub-tabs .ui-state-default, #sub-tabs .ui-widget-content .ui-state-default=
 { border: 1px solid rgb(211, 211, 211); background-image: url(http://jquer=
y.malsup.com/themes/images/ui-bg_glass_75_e6e6e6_1x400.png); background-col=
or: rgb(230, 230, 230); font-weight: normal; color: rgb(85, 85, 85); outlin=
e: none; background-position: 50% 50%; background-repeat: repeat no-repeat;=
 }

#sub-tabs .ui-state-default a, #sub-tabs .ui-state-default a:link, #sub-tab=
s .ui-state-default a:visited { color: rgb(85, 85, 85); text-decoration: no=
ne; outline: none; }

#sub-tabs .ui-state-hover, #sub-tabs .ui-widget-content .ui-state-hover, #s=
ub-tabs .ui-state-focus, #sub-tabs .ui-widget-content .ui-state-focus { bor=
der: 1px solid rgb(153, 153, 153); background-image: url(http://jquery.mals=
up.com/themes/images/ui-bg_glass_75_dadada_1x400.png); background-color: rg=
b(218, 218, 218); font-weight: normal; color: rgb(33, 33, 33); outline: non=
e; background-position: 50% 50%; background-repeat: repeat no-repeat; }

#sub-tabs .ui-state-hover a, #sub-tabs .ui-state-hover a:hover { color: rgb=
(33, 33, 33); text-decoration: none; outline: none; }

#sub-tabs .ui-state-active, #sub-tabs .ui-widget-content .ui-state-active {=
 border: 1px solid rgb(170, 170, 170); background-image: url(http://jquery.=
malsup.com/themes/images/ui-bg_glass_65_ffffff_1x400.png); background-color=
: rgb(255, 255, 255); font-weight: normal; color: rgb(33, 33, 33); outline:=
 none; background-position: 50% 50%; background-repeat: repeat no-repeat; }

#sub-tabs .ui-state-active a, #sub-tabs .ui-state-active a:link, #sub-tabs =
.ui-state-active a:visited { color: rgb(33, 33, 33); outline: none; text-de=
coration: none; }

#sub-tabs .ui-state-highlight, #sub-tabs .ui-widget-content .ui-state-highl=
ight { border: 1px solid rgb(252, 239, 161); background-image: url(http://j=
query.malsup.com/themes/images/ui-bg_glass_55_fbf9ee_1x400.png); background=
-color: rgb(251, 249, 238); color: rgb(54, 54, 54); background-position: 50=
% 50%; background-repeat: repeat no-repeat; }

#sub-tabs .ui-state-highlight a, #sub-tabs .ui-widget-content .ui-state-hig=
hlight a { color: rgb(54, 54, 54); }

#sub-tabs .ui-state-error, #sub-tabs .ui-widget-content .ui-state-error { b=
order: 1px solid rgb(205, 10, 10); background-image: url(http://jquery.mals=
up.com/themes/images/ui-bg_glass_95_fef1ec_1x400.png); background-color: rg=
b(254, 241, 236); color: rgb(205, 10, 10); background-position: 50% 50%; ba=
ckground-repeat: repeat no-repeat; }

#sub-tabs .ui-state-error a, #sub-tabs .ui-widget-content .ui-state-error a=
 { color: rgb(205, 10, 10); }

#sub-tabs .ui-state-error-text, #sub-tabs .ui-widget-content .ui-state-erro=
r-text { color: rgb(205, 10, 10); }

#sub-tabs .ui-state-disabled, #sub-tabs .ui-widget-content .ui-state-disabl=
ed { opacity: 0.35; background-image: none; }

#sub-tabs .ui-priority-primary, #sub-tabs .ui-widget-content .ui-priority-p=
rimary { font-weight: bold; }

#sub-tabs .ui-priority-secondary, #sub-tabs .ui-widget-content .ui-priority=
-secondary { opacity: 0.7; font-weight: normal; }

#sub-tabs .ui-icon { width: 16px; height: 16px; background-image: url(http:=
//jquery.malsup.com/themes/images/ui-icons_222222_256x240.png); }

#sub-tabs .ui-widget-content .ui-icon { background-image: url(http://jquery=
.malsup.com/themes/images/ui-icons_222222_256x240.png); }

#sub-tabs .ui-widget-header .ui-icon { background-image: url(http://jquery.=
malsup.com/themes/images/ui-icons_222222_256x240.png); }

#sub-tabs .ui-state-default .ui-icon { background-image: url(http://jquery.=
malsup.com/themes/images/ui-icons_888888_256x240.png); }

#sub-tabs .ui-state-hover .ui-icon, #sub-tabs .ui-state-focus .ui-icon { ba=
ckground-image: url(http://jquery.malsup.com/themes/images/ui-icons_454545_=
256x240.png); }

#sub-tabs .ui-state-active .ui-icon { background-image: url(http://jquery.m=
alsup.com/themes/images/ui-icons_454545_256x240.png); }

#sub-tabs .ui-state-highlight .ui-icon { background-image: url(http://jquer=
y.malsup.com/themes/images/ui-icons_2e83ff_256x240.png); }

#sub-tabs .ui-state-error .ui-icon, #sub-tabs .ui-state-error-text .ui-icon=
 { background-image: url(http://jquery.malsup.com/themes/images/ui-icons_cd=
0a0a_256x240.png); }

#sub-tabs .ui-icon-carat-1-n { background-position: 0px 0px; }

#sub-tabs .ui-icon-carat-1-ne { background-position: -16px 0px; }

#sub-tabs .ui-icon-carat-1-e { background-position: -32px 0px; }

#sub-tabs .ui-icon-carat-1-se { background-position: -48px 0px; }

#sub-tabs .ui-icon-carat-1-s { background-position: -64px 0px; }

#sub-tabs .ui-icon-carat-1-sw { background-position: -80px 0px; }

#sub-tabs .ui-icon-carat-1-w { background-position: -96px 0px; }

#sub-tabs .ui-icon-carat-1-nw { background-position: -112px 0px; }

#sub-tabs .ui-icon-carat-2-n-s { background-position: -128px 0px; }

#sub-tabs .ui-icon-carat-2-e-w { background-position: -144px 0px; }

#sub-tabs .ui-icon-triangle-1-n { background-position: 0px -16px; }

#sub-tabs .ui-icon-triangle-1-ne { background-position: -16px -16px; }

#sub-tabs .ui-icon-triangle-1-e { background-position: -32px -16px; }

#sub-tabs .ui-icon-triangle-1-se { background-position: -48px -16px; }

#sub-tabs .ui-icon-triangle-1-s { background-position: -64px -16px; }

#sub-tabs .ui-icon-triangle-1-sw { background-position: -80px -16px; }

#sub-tabs .ui-icon-triangle-1-w { background-position: -96px -16px; }

#sub-tabs .ui-icon-triangle-1-nw { background-position: -112px -16px; }

#sub-tabs .ui-icon-triangle-2-n-s { background-position: -128px -16px; }

#sub-tabs .ui-icon-triangle-2-e-w { background-position: -144px -16px; }

#sub-tabs .ui-icon-arrow-1-n { background-position: 0px -32px; }

#sub-tabs .ui-icon-arrow-1-ne { background-position: -16px -32px; }

#sub-tabs .ui-icon-arrow-1-e { background-position: -32px -32px; }

#sub-tabs .ui-icon-arrow-1-se { background-position: -48px -32px; }

#sub-tabs .ui-icon-arrow-1-s { background-position: -64px -32px; }

#sub-tabs .ui-icon-arrow-1-sw { background-position: -80px -32px; }

#sub-tabs .ui-icon-arrow-1-w { background-position: -96px -32px; }

#sub-tabs .ui-icon-arrow-1-nw { background-position: -112px -32px; }

#sub-tabs .ui-icon-arrow-2-n-s { background-position: -128px -32px; }

#sub-tabs .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }

#sub-tabs .ui-icon-arrow-2-e-w { background-position: -160px -32px; }

#sub-tabs .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }

#sub-tabs .ui-icon-arrowstop-1-n { background-position: -192px -32px; }

#sub-tabs .ui-icon-arrowstop-1-e { background-position: -208px -32px; }

#sub-tabs .ui-icon-arrowstop-1-s { background-position: -224px -32px; }

#sub-tabs .ui-icon-arrowstop-1-w { background-position: -240px -32px; }

#sub-tabs .ui-icon-arrowthick-1-n { background-position: 0px -48px; }

#sub-tabs .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }

#sub-tabs .ui-icon-arrowthick-1-e { background-position: -32px -48px; }

#sub-tabs .ui-icon-arrowthick-1-se { background-position: -48px -48px; }

#sub-tabs .ui-icon-arrowthick-1-s { background-position: -64px -48px; }

#sub-tabs .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }

#sub-tabs .ui-icon-arrowthick-1-w { background-position: -96px -48px; }

#sub-tabs .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }

#sub-tabs .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }

#sub-tabs .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; =
}

#sub-tabs .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }

#sub-tabs .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; =
}

#sub-tabs .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; =
}

#sub-tabs .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; =
}

#sub-tabs .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; =
}

#sub-tabs .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; =
}

#sub-tabs .ui-icon-arrowreturnthick-1-w { background-position: 0px -64px; }

#sub-tabs .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px;=
 }

#sub-tabs .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px;=
 }

#sub-tabs .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px;=
 }

#sub-tabs .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }

#sub-tabs .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }

#sub-tabs .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }

#sub-tabs .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }

#sub-tabs .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }

#sub-tabs .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }

#sub-tabs .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }

#sub-tabs .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }

#sub-tabs .ui-icon-arrow-4 { background-position: 0px -80px; }

#sub-tabs .ui-icon-arrow-4-diag { background-position: -16px -80px; }

#sub-tabs .ui-icon-extlink { background-position: -32px -80px; }

#sub-tabs .ui-icon-newwin { background-position: -48px -80px; }

#sub-tabs .ui-icon-refresh { background-position: -64px -80px; }

#sub-tabs .ui-icon-shuffle { background-position: -80px -80px; }

#sub-tabs .ui-icon-transfer-e-w { background-position: -96px -80px; }

#sub-tabs .ui-icon-transferthick-e-w { background-position: -112px -80px; }

#sub-tabs .ui-icon-folder-collapsed { background-position: 0px -96px; }

#sub-tabs .ui-icon-folder-open { background-position: -16px -96px; }

#sub-tabs .ui-icon-document { background-position: -32px -96px; }

#sub-tabs .ui-icon-document-b { background-position: -48px -96px; }

#sub-tabs .ui-icon-note { background-position: -64px -96px; }

#sub-tabs .ui-icon-mail-closed { background-position: -80px -96px; }

#sub-tabs .ui-icon-mail-open { background-position: -96px -96px; }

#sub-tabs .ui-icon-suitcase { background-position: -112px -96px; }

#sub-tabs .ui-icon-comment { background-position: -128px -96px; }

#sub-tabs .ui-icon-person { background-position: -144px -96px; }

#sub-tabs .ui-icon-print { background-position: -160px -96px; }

#sub-tabs .ui-icon-trash { background-position: -176px -96px; }

#sub-tabs .ui-icon-locked { background-position: -192px -96px; }

#sub-tabs .ui-icon-unlocked { background-position: -208px -96px; }

#sub-tabs .ui-icon-bookmark { background-position: -224px -96px; }

#sub-tabs .ui-icon-tag { background-position: -240px -96px; }

#sub-tabs .ui-icon-home { background-position: 0px -112px; }

#sub-tabs .ui-icon-flag { background-position: -16px -112px; }

#sub-tabs .ui-icon-calendar { background-position: -32px -112px; }

#sub-tabs .ui-icon-cart { background-position: -48px -112px; }

#sub-tabs .ui-icon-pencil { background-position: -64px -112px; }

#sub-tabs .ui-icon-clock { background-position: -80px -112px; }

#sub-tabs .ui-icon-disk { background-position: -96px -112px; }

#sub-tabs .ui-icon-calculator { background-position: -112px -112px; }

#sub-tabs .ui-icon-zoomin { background-position: -128px -112px; }

#sub-tabs .ui-icon-zoomout { background-position: -144px -112px; }

#sub-tabs .ui-icon-search { background-position: -160px -112px; }

#sub-tabs .ui-icon-wrench { background-position: -176px -112px; }

#sub-tabs .ui-icon-gear { background-position: -192px -112px; }

#sub-tabs .ui-icon-heart { background-position: -208px -112px; }

#sub-tabs .ui-icon-star { background-position: -224px -112px; }

#sub-tabs .ui-icon-link { background-position: -240px -112px; }

#sub-tabs .ui-icon-cancel { background-position: 0px -128px; }

#sub-tabs .ui-icon-plus { background-position: -16px -128px; }

#sub-tabs .ui-icon-plusthick { background-position: -32px -128px; }

#sub-tabs .ui-icon-minus { background-position: -48px -128px; }

#sub-tabs .ui-icon-minusthick { background-position: -64px -128px; }

#sub-tabs .ui-icon-close { background-position: -80px -128px; }

#sub-tabs .ui-icon-closethick { background-position: -96px -128px; }

#sub-tabs .ui-icon-key { background-position: -112px -128px; }

#sub-tabs .ui-icon-lightbulb { background-position: -128px -128px; }

#sub-tabs .ui-icon-scissors { background-position: -144px -128px; }

#sub-tabs .ui-icon-clipboard { background-position: -160px -128px; }

#sub-tabs .ui-icon-copy { background-position: -176px -128px; }

#sub-tabs .ui-icon-contact { background-position: -192px -128px; }

#sub-tabs .ui-icon-image { background-position: -208px -128px; }

#sub-tabs .ui-icon-video { background-position: -224px -128px; }

#sub-tabs .ui-icon-script { background-position: -240px -128px; }

#sub-tabs .ui-icon-alert { background-position: 0px -144px; }

#sub-tabs .ui-icon-info { background-position: -16px -144px; }

#sub-tabs .ui-icon-notice { background-position: -32px -144px; }

#sub-tabs .ui-icon-help { background-position: -48px -144px; }

#sub-tabs .ui-icon-check { background-position: -64px -144px; }

#sub-tabs .ui-icon-bullet { background-position: -80px -144px; }

#sub-tabs .ui-icon-radio-off { background-position: -96px -144px; }

#sub-tabs .ui-icon-radio-on { background-position: -112px -144px; }

#sub-tabs .ui-icon-pin-w { background-position: -128px -144px; }

#sub-tabs .ui-icon-pin-s { background-position: -144px -144px; }

#sub-tabs .ui-icon-play { background-position: 0px -160px; }

#sub-tabs .ui-icon-pause { background-position: -16px -160px; }

#sub-tabs .ui-icon-seek-next { background-position: -32px -160px; }

#sub-tabs .ui-icon-seek-prev { background-position: -48px -160px; }

#sub-tabs .ui-icon-seek-end { background-position: -64px -160px; }

#sub-tabs .ui-icon-seek-first { background-position: -80px -160px; }

#sub-tabs .ui-icon-stop { background-position: -96px -160px; }

#sub-tabs .ui-icon-eject { background-position: -112px -160px; }

#sub-tabs .ui-icon-volume-off { background-position: -128px -160px; }

#sub-tabs .ui-icon-volume-on { background-position: -144px -160px; }

#sub-tabs .ui-icon-power { background-position: 0px -176px; }

#sub-tabs .ui-icon-signal-diag { background-position: -16px -176px; }

#sub-tabs .ui-icon-signal { background-position: -32px -176px; }

#sub-tabs .ui-icon-battery-0 { background-position: -48px -176px; }

#sub-tabs .ui-icon-battery-1 { background-position: -64px -176px; }

#sub-tabs .ui-icon-battery-2 { background-position: -80px -176px; }

#sub-tabs .ui-icon-battery-3 { background-position: -96px -176px; }

#sub-tabs .ui-icon-circle-plus { background-position: 0px -192px; }

#sub-tabs .ui-icon-circle-minus { background-position: -16px -192px; }

#sub-tabs .ui-icon-circle-close { background-position: -32px -192px; }

#sub-tabs .ui-icon-circle-triangle-e { background-position: -48px -192px; }

#sub-tabs .ui-icon-circle-triangle-s { background-position: -64px -192px; }

#sub-tabs .ui-icon-circle-triangle-w { background-position: -80px -192px; }

#sub-tabs .ui-icon-circle-triangle-n { background-position: -96px -192px; }

#sub-tabs .ui-icon-circle-arrow-e { background-position: -112px -192px; }

#sub-tabs .ui-icon-circle-arrow-s { background-position: -128px -192px; }

#sub-tabs .ui-icon-circle-arrow-w { background-position: -144px -192px; }

#sub-tabs .ui-icon-circle-arrow-n { background-position: -160px -192px; }

#sub-tabs .ui-icon-circle-zoomin { background-position: -176px -192px; }

#sub-tabs .ui-icon-circle-zoomout { background-position: -192px -192px; }

#sub-tabs .ui-icon-circle-check { background-position: -208px -192px; }

#sub-tabs .ui-icon-circlesmall-plus { background-position: 0px -208px; }

#sub-tabs .ui-icon-circlesmall-minus { background-position: -16px -208px; }

#sub-tabs .ui-icon-circlesmall-close { background-position: -32px -208px; }

#sub-tabs .ui-icon-squaresmall-plus { background-position: -48px -208px; }

#sub-tabs .ui-icon-squaresmall-minus { background-position: -64px -208px; }

#sub-tabs .ui-icon-squaresmall-close { background-position: -80px -208px; }

#sub-tabs .ui-icon-grip-dotted-vertical { background-position: 0px -224px; =
}

#sub-tabs .ui-icon-grip-dotted-horizontal { background-position: -16px -224=
px; }

#sub-tabs .ui-icon-grip-solid-vertical { background-position: -32px -224px;=
 }

#sub-tabs .ui-icon-grip-solid-horizontal { background-position: -48px -224p=
x; }

#sub-tabs .ui-icon-gripsmall-diagonal-se { background-position: -64px -224p=
x; }

#sub-tabs .ui-icon-grip-diagonal-se { background-position: -80px -224px; }

#sub-tabs .ui-corner-tl { border-top-left-radius: 4px; }

#sub-tabs .ui-corner-tr { border-top-right-radius: 4px; }

#sub-tabs .ui-corner-bl { border-bottom-left-radius: 4px; }

#sub-tabs .ui-corner-br { border-bottom-right-radius: 4px; }

#sub-tabs .ui-corner-top { border-top-left-radius: 4px; border-top-right-ra=
dius: 4px; }

#sub-tabs .ui-corner-bottom { border-bottom-left-radius: 4px; border-bottom=
-right-radius: 4px; }

#sub-tabs .ui-corner-right { border-top-right-radius: 4px; border-bottom-ri=
ght-radius: 4px; }

#sub-tabs .ui-corner-left { border-top-left-radius: 4px; border-bottom-left=
-radius: 4px; }

#sub-tabs .ui-corner-all { border-top-left-radius: 4px; border-top-right-ra=
dius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;=
 }

#sub-tabs .ui-widget-overlay { background-image: url(http://jquery.malsup.c=
om/themes/images/ui-bg_flat_0_aaaaaa_40x100.png); background-color: rgb(170=
, 170, 170); opacity: 0.3; background-position: 50% 50%; background-repeat:=
 repeat no-repeat; }

#sub-tabs .ui-widget-shadow { margin: -8px 0px 0px -8px; padding: 8px; back=
ground-image: url(http://jquery.malsup.com/themes/images/ui-bg_flat_0_aaaaa=
a_40x100.png); background-color: rgb(170, 170, 170); opacity: 0.3; border-t=
op-left-radius: 8px; border-top-right-radius: 8px; border-bottom-right-radi=
us: 8px; border-bottom-left-radius: 8px; background-position: 50% 50%; back=
ground-repeat: repeat no-repeat; }

#sub-tabs .ui-accordion .ui-accordion-header { cursor: pointer; position: r=
elative; margin-top: 1px; zoom: 1; }

#sub-tabs .ui-accordion .ui-accordion-li-fix { display: inline; }

#sub-tabs .ui-accordion .ui-accordion-header-active { border-bottom-width: =
0px !important; }

#sub-tabs .ui-accordion .ui-accordion-header a { display: block; font-size:=
 1em; padding: 0.5em 0.5em 0.5em 2.2em; }

#sub-tabs .ui-accordion .ui-accordion-header .ui-icon { position: absolute;=
 left: 0.5em; top: 50%; margin-top: -8px; }

#sub-tabs .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-=
top-width: 0px; margin-top: -2px; position: relative; top: 1px; margin-bott=
om: 2px; overflow: auto; display: none; }

#sub-tabs .ui-accordion .ui-accordion-content-active { display: block; }

#sub-tabs .ui-datepicker { width: 17em; padding: 0.2em 0.2em 0px; }

#sub-tabs .ui-datepicker .ui-datepicker-header { position: relative; paddin=
g: 0.2em 0px; }

#sub-tabs .ui-datepicker .ui-datepicker-prev, #sub-tabs .ui-datepicker .ui-=
datepicker-next { position: absolute; top: 2px; width: 1.8em; height: 1.8em=
; }

#sub-tabs .ui-datepicker .ui-datepicker-prev-hover, #sub-tabs .ui-datepicke=
r .ui-datepicker-next-hover { top: 1px; }

#sub-tabs .ui-datepicker .ui-datepicker-prev { left: 2px; }

#sub-tabs .ui-datepicker .ui-datepicker-next { right: 2px; }

#sub-tabs .ui-datepicker .ui-datepicker-prev-hover { left: 1px; }

#sub-tabs .ui-datepicker .ui-datepicker-next-hover { right: 1px; }

#sub-tabs .ui-datepicker .ui-datepicker-prev span, #sub-tabs .ui-datepicker=
 .ui-datepicker-next span { display: block; position: absolute; left: 50%; =
margin-left: -8px; top: 50%; margin-top: -8px; }

#sub-tabs .ui-datepicker .ui-datepicker-title { margin: 0px 2.3em; line-hei=
ght: 1.8em; text-align: center; }

#sub-tabs .ui-datepicker .ui-datepicker-title select { float: left; font-si=
ze: 1em; margin: 1px 0px; }

#sub-tabs .ui-datepicker select.ui-datepicker-month-year { width: 100%; }

#sub-tabs .ui-datepicker select.ui-datepicker-month, #sub-tabs .ui-datepick=
er select.ui-datepicker-year { width: 49%; }

#sub-tabs .ui-datepicker .ui-datepicker-title select.ui-datepicker-year { f=
loat: right; }

#sub-tabs .ui-datepicker table { width: 100%; font-size: 0.9em; border-coll=
apse: collapse; margin: 0px 0px 0.4em; }

#sub-tabs .ui-datepicker th { padding: 0.7em 0.3em; text-align: center; fon=
t-weight: bold; border: 0px; }

#sub-tabs .ui-datepicker td { border: 0px; padding: 1px; }

#sub-tabs .ui-datepicker td span, #sub-tabs .ui-datepicker td a { display: =
block; padding: 0.2em; text-align: right; text-decoration: none; }

#sub-tabs .ui-datepicker .ui-datepicker-buttonpane { background-image: none=
; margin: 0.7em 0px 0px; padding: 0px 0.2em; border-left-width: 0px; border=
-right-width: 0px; border-bottom-width: 0px; }

#sub-tabs .ui-datepicker .ui-datepicker-buttonpane button { float: right; m=
argin: 0.5em 0.2em 0.4em; cursor: pointer; padding: 0.2em 0.6em 0.3em; widt=
h: auto; overflow: visible; }

#sub-tabs .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-cur=
rent { float: left; }

#sub-tabs .ui-datepicker.ui-datepicker-multi { width: auto; }

#sub-tabs .ui-datepicker-multi .ui-datepicker-group { float: left; }

#sub-tabs .ui-datepicker-multi .ui-datepicker-group table { width: 95%; mar=
gin: 0px auto 0.4em; }

#sub-tabs .ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; }

#sub-tabs .ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; }

#sub-tabs .ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; }

#sub-tabs .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-hea=
der { border-left-width: 0px; }

#sub-tabs .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-h=
eader { border-left-width: 0px; }

#sub-tabs .ui-datepicker-multi .ui-datepicker-buttonpane { clear: left; }

#sub-tabs .ui-datepicker-row-break { clear: both; width: 100%; }

#sub-tabs .ui-datepicker-rtl { direction: rtl; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; =
}

#sub-tabs .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; =
}

#sub-tabs .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: =
auto; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: =
auto; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-buttonpane { clear: right; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left=
; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker=
-current { float: right; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-group { float: right; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-heade=
r { border-right-width: 0px; border-left-width: 1px; }

#sub-tabs .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-hea=
der { border-right-width: 0px; border-left-width: 1px; }

#sub-tabs .ui-datepicker-cover { display: block; position: absolute; z-inde=
x: -1; top: -4px; left: -4px; width: 200px; height: 200px; }

#sub-tabs .ui-dialog { position: relative; padding: 0.2em; width: 300px; }

#sub-tabs .ui-dialog .ui-dialog-titlebar { padding: 0.5em 0.3em 0.3em 1em; =
position: relative; }

#sub-tabs .ui-dialog .ui-dialog-title { float: left; margin: 0.1em 0px 0.2e=
m; }

#sub-tabs .ui-dialog .ui-dialog-titlebar-close { position: absolute; right:=
 0.3em; top: 50%; width: 19px; margin: -10px 0px 0px; padding: 1px; height:=
 18px; }

#sub-tabs .ui-dialog .ui-dialog-titlebar-close span { display: block; margi=
n: 1px; }

#sub-tabs .ui-dialog .ui-dialog-titlebar-close:hover, #sub-tabs .ui-dialog =
.ui-dialog-titlebar-close:focus { padding: 0px; }

#sub-tabs .ui-dialog .ui-dialog-content { border: 0px; padding: 0.5em 1em; =
background-image: none; overflow: auto; zoom: 1; background-position: initi=
al initial; background-repeat: initial initial; }

#sub-tabs .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width=
: 1px 0px 0px; background-image: none; margin: 0.5em 0px 0px; padding: 0.3e=
m 1em 0.5em 0.4em; }

#sub-tabs .ui-dialog .ui-dialog-buttonpane button { float: right; margin: 0=
.5em 0.4em 0.5em 0px; cursor: pointer; padding: 0.2em 0.6em 0.3em; line-hei=
ght: 1.4em; width: auto; overflow: visible; }

#sub-tabs .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3=
px; bottom: 3px; }

#sub-tabs .ui-draggable .ui-dialog-titlebar { cursor: move; }

#sub-tabs .ui-progressbar { height: 2em; text-align: left; }

#sub-tabs .ui-progressbar .ui-progressbar-value { margin: -1px; height: 100=
%; }

#sub-tabs .ui-resizable { position: relative; }

#sub-tabs .ui-resizable-handle { position: absolute; font-size: 0.1px; z-in=
dex: 99999; display: block; }

#sub-tabs .ui-resizable-disabled .ui-resizable-handle, #sub-tabs .ui-resiza=
ble-autohide .ui-resizable-handle { display: none; }

#sub-tabs .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top=
: -5px; left: 0px; }

#sub-tabs .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bot=
tom: -5px; left: 0px; }

#sub-tabs .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top:=
 0px; height: 100%; }

#sub-tabs .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: =
0px; height: 100%; }

#sub-tabs .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; =
right: 1px; bottom: 1px; }

#sub-tabs .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; le=
ft: -5px; bottom: -5px; }

#sub-tabs .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; le=
ft: -5px; top: -5px; }

#sub-tabs .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; ri=
ght: -5px; top: -5px; }

#sub-tabs .ui-slider { position: relative; text-align: left; }

#sub-tabs .ui-slider .ui-slider-handle { position: absolute; z-index: 2; wi=
dth: 1.2em; height: 1.2em; cursor: default; }

#sub-tabs .ui-slider .ui-slider-range { position: absolute; z-index: 1; fon=
t-size: 0.7em; display: block; border: 0px; }

#sub-tabs .ui-slider-horizontal { height: 0.8em; }

#sub-tabs .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-lef=
t: -0.6em; }

#sub-tabs .ui-slider-horizontal .ui-slider-range { top: 0px; height: 100%; =
}

#sub-tabs .ui-slider-horizontal .ui-slider-range-min { left: 0px; }

#sub-tabs .ui-slider-horizontal .ui-slider-range-max { right: 0px; }

#sub-tabs .ui-slider-vertical { width: 0.8em; height: 100px; }

#sub-tabs .ui-slider-vertical .ui-slider-handle { left: -0.3em; margin-left=
: 0px; margin-bottom: -0.6em; }

#sub-tabs .ui-slider-vertical .ui-slider-range { left: 0px; width: 100%; }

#sub-tabs .ui-slider-vertical .ui-slider-range-min { bottom: 0px; }

#sub-tabs .ui-slider-vertical .ui-slider-range-max { top: 0px; }

#sub-tabs .ui-tabs { padding: 0.2em; zoom: 1; }

#sub-tabs .ui-tabs .ui-tabs-nav { list-style: none; position: relative; pad=
ding: 0.2em 0.2em 0px; }

#sub-tabs .ui-tabs .ui-tabs-nav li { position: relative; float: left; margi=
n: 0px 0.2em -1px 0px; padding: 0px; border-bottom-width: 0px !important; }

#sub-tabs .ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; =
padding: 0.5em 1em; }

#sub-tabs .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; =
border-bottom-width: 0px; }

#sub-tabs .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, #sub-tabs .ui-tabs .=
ui-tabs-nav li.ui-state-disabled a, #sub-tabs .ui-tabs .ui-tabs-nav li.ui-s=
tate-processing a { cursor: text; }

#sub-tabs .ui-tabs .ui-tabs-nav li a, #sub-tabs .ui-tabs.ui-tabs-collapsibl=
e .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; }

#sub-tabs .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; bor=
der-width: 0px; background-image: none; background-position: initial initia=
l; background-repeat: initial initial; }

#sub-tabs .ui-tabs .ui-tabs-hide { display: none !important; }
------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://jquery.malsup.com/images/external.png

iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAFVBMVEVmmcwzmcyZzP8AZswAZv//
//////9E6giVAAAAB3RSTlP///////8AGksDRgAAADhJREFUGFcly0ESAEAEA0Ei6/9P3sEcVB8k
mrwFyni0bOeyyDpy9JTLEaOhQq7Ongf5FeMhHS/4AVnsAZubxDVmAAAAAElFTkSuQmCC
------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: http://jquery.malsup.com/jq-new.css

html { color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); backgroun=
d-position: initial initial; background-repeat: initial initial; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form,=
 fieldset, legend, input, textarea, p, blockquote, th, td { margin: 0px; pa=
dding: 0px; }

table { border-collapse: collapse; border-spacing: 0px; }

fieldset, img { border: 0px; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal=
; font-weight: normal; }

li { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

q::before, q::after { content: ''; }

abbr, acronym { border: 0px; font-variant: normal; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

input, textarea, select { font-family: inherit; font-size: inherit; font-we=
ight: inherit; }

legend { color: rgb(0, 0, 0); }

html, body { font-size: small; border: none !important; }

body { font-family: tahoma, sans-serif; font-size: small; }

h1, h2, h3, .ui-widget-header { font-family: 'trebuchet ms', trebuchet, ver=
dana; font-weight: bold; }

h1 { padding: 10px 0px; font-size: large; font-weight: bold; }

strong { font-weight: bold; }

#page-header h1 { text-align: center; position: relative; }

#tabs { height: 100%; border: none; }

#tabs ul.ui-tabs-nav { background-image: none !important; }

#sub-tabs { border: none; padding: 0px; }

#sub-tabs ul.ui-tabs-nav { padding-left: 2px; }

#sub-tabs ul.ui-tabs-nav li a { padding: 3px 10px; font-size: small; }

#sub-tabs .ui-widget-content { border-top-style: none; }

.ui-widget { font-size: 1em; }

a.icon { display: block; width: 16px; height: 16px; z-index: 10; }

a.home { position: absolute; top: 15px; left: 10px; }

div.step-holder { margin: 15px 0px; }

span.step-counter { float: left; font-size: large; padding: 2px 10px; displ=
ay: block; margin: 0px 10px 10px 0px; }

#twitter { position: absolute; right: 8px; top: 5px; z-index: 500; }

#twitter a { text-decoration: none; font-family: arial; vertical-align: top=
; }

#twitter img { border: none; }

#paypal { border: none; background-color: transparent; float: right; paddin=
g: 0px 5px; margin-top: -8px; }

td { vertical-align: top; }

p { margin: 10px 0px; }

dl { margin-top: 0px; }

dt { color: rgb(170, 0, 0); font-weight: bold; }

dd { margin: 0px 0px 20px; color: rgb(85, 85, 85); }

dl.options { margin: 10px 25px; }

hr { height: 1px; }

#content { padding: 20px; }

#busy { position: absolute; top: 7px; right: 7px; border: 1px ridge rgb(204=
, 204, 204); background-color: rgb(233, 85, 85); color: rgb(238, 238, 238);=
 padding: 3px; display: none; }

#footer { padding-top: 20px; margin-top: 30px; border-top-width: 1px; borde=
r-top-style: solid; border-top-color: rgb(221, 221, 221); color: rgb(136, 1=
36, 136); }

a.external { background-image: url(http://jquery.malsup.com/images/external=
.png); padding-right: 12px; background-position: 100% 50%; background-repea=
t: no-repeat no-repeat; }

pre { margin: 10px 0px; clear: both; }

pre { font-size: small; padding: 15px; background-color: rgb(238, 238, 238)=
; border-width: 1px 1px 1px 5px; border-style: solid; border-color: rgb(221=
, 221, 221); overflow-x: auto; }

pre.normal { background-color: transparent; border-style: none; border-left=
-width: 0px; overflow-x: auto; }

code { padding: 0px; font-size: 108%; font-style: normal; }

code.method { font-size: 150%; display: block; margin-top: 20px; }

code.inline { background-color: rgb(255, 255, 204); }

.jscom, .mix htcom { color: rgb(64, 64, 194); }

.com { color: green; }

.regexp { color: maroon; }

.string { color: teal; }

.keywords { color: blue; }

.global { color: rgb(0, 0, 136); }

.numbers { color: rgb(136, 136, 0); }

.comm { color: green; }

.tag { color: blue; }

.entity { color: blue; }

.string { color: teal; }

.aname { color: maroon; }

.avalue { color: maroon; }

.jquery { color: rgb(0, 0, 170); }

.plugin { color: red; }

.php .tag { color: purple; }

.php .com { color: green; }

.php .const1 { color: maroon; }

.php .const2 { color: maroon; }

.php .function { color: rgb(225, 113, 0); }

.php .global { color: maroon; }

.php .keyword { color: blue; }

.php .mlcom { color: gray; }

.php .name { color: maroon; }

.php .number { color: rgb(136, 136, 0); }

.php .string1 { color: teal; }

.php .string2 { color: teal; }

.php .value { color: gray; }

.php .variable { color: rgb(225, 92, 3); }

.css .mlcom { color: rgb(64, 64, 194); }

.css .color { color: black; }

.css .string { color: teal; }

.css .attrib { color: blue; }

.css .value { color: navy; }

.css .number { color: rgb(136, 136, 0); }
------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://jquery.malsup.com/images/twitter_1.png

iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAABGZJREFUeNq0V02IFEcUfq+qpmd/zLhqdtcEQkwOwYvEgPeQQMhFCEpy
8hIRAhIEQbx59CYhQdlDJEFI8BbcRLyICSpeIohxD0FDIkgUf3bHdbPizPZOd1feq5+Z6pnunV3Z
qaV6p6ur3/vqe997VY1gm5j84uzutDL6U5JmFa1hIA0RQEnRkq0Xnz45ve8CDWXIzicOnPmkunH8
3IlDH8B720ZgQP6Bnf1xrwFHT12G+L+5vbPf7/+Fx4Zf/XJ68dSRj9T8Cw1Xb82ZiYNovLD3d47D
5lGEQ19dSupTe2qKASQpqB1vjcLxs/cgUgIEOr7W1buGjBBcm6nDsX3bgH2yb74ofpjwD4mgPIAA
dagJxoUvGYDM2MmML2dUKf84pXshAKToLJ5fyDJ6IeP5msYJoJmTB7lqCGxPWF++Ka8OBoRklZ0w
AJ6TEYJ3JjfAnne3QFUCxCnA9MxT+Hu2QWDxpZhgH2bx7mXhH9BCaWVoDJtOKGgIPtu5xcxdSuw7
fM/j/FyItXf2wb7yDAQhEC4EJl7EWZVmNFpODDTOTGi+YT5XECq6C+Z1CEIXhYABECpBAjDUonXo
aRaBMQa/TOiQrAgsrxjMkBF1ECoDgP7SIgYys6COBtBJXtEP6e7RherE7jfNWLlzAkl6OX39CdQb
aQ5Em13o1oDu0kBbC9Du6MTaIuNxUt6bLQv2812Txm6PBopCwCsLNQA+LQMG1to2D7HqrT3hwGvn
q0SE+RAgvd0NYDVFkh9zvXgeWy14m4byojrAz9IU2ukXitDT7xsXqsgztQKAxVjDDzPzEFWEoR19
8dPWFxaJUISGC0LAguE0PHzpIQwpNoql2y6DZvFFKsgCW4mLNcCpwZRjoHimLmTAGgUYolWNmD0D
++7/2DOGxWnI9EgZpKALQY4BB0ARNUqufT/Q0Mmk0kqYBwA9DJifon8lLGLA76xpWRoaBoLZgisZ
5DXA/1saYYnTdoVKyO8ozFdCD6I0DU265NIN29T7ltC8qQ8nQPahm+19c2sB6s20B0RaVgl9FvjO
KcdngUqYDdqOxSv05czSf3DHGIle99jtKcXosiAsxRwOPp7dqMdQceLz5Xg1YmOWR5QVAmK+FJuM
6z6QZJmlPCwmFZp88d8GbN8YwVjVCiFb5enXaCW1p6ewEnq9FR5IWHThxqGoiGiqDSf/XIQbc3H7
hX7d+/r2znPDogztypIDSUb5wTHv/ijxMbtwvwk/Ext+Q+nHgCyohJ3tWHftBTSqjTNhzoHdxjj2
HLtojV8sRZWQWdDQCbdyG0zyz/159drkKO3nqTkBD+bTDOmIJ4F8GZ/GN+8v0abX67fr0cdvvzEO
42M1s9qKlCTCderS9qFKFR48WoAfp6/D0l9Xji7d/f0mM9B8dvHr8zpZjr6LW8drrwzLWm3YiGG9
iDChoMvjuUVIWkm6fOfXYwu/TZ1n377CjlDfSn2CP5dgsK1JfZb6Y+oNDApS1TlXAwaQOBCc19n/
AgwA9bGfc9H+jtIAAAAASUVORK5CYII=
------=_NextPart_000_0F17_6C563163.865486AA
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://jquery.malsup.com/form/submit.gif

R0lGODlhVwAoAIcAAAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4
ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISE
hIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ
0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/P///wAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAABXACgA
AAj/AIEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmyZEQaHBQIGIChh8mX
QHRgAECzJgaYJV8UACAgQwsbIAAMeJiCBE6JJQIAuKBj4A0ADBzWCGDgKEQPAAy8KPgBQAeHELxa
dVhCqIyCMQIUaMpQBYADPMYy1EEAwIqCNHayaOjjAAAVHjfcxBgUQsETAgAYbRgCQISLOig0IFgW
RMYFAFoMbMGA5uK5BALUuNgAwIeBNgQQiItxAIAcAi3QPKDZoQYAHDAWyOBSYNgUGhMPVHCgA+uG
Nqger/iD4AkABSokeHyxsw2BzSNOAHCi4466Nalb/ySBmyIMAA42urDAIPGCDytGY+wrQH7EzjM2
zkQAfXnGF1Bl9xALAFjQAQIFuFDQC1HFUIFAPGhQgGEDgfDAQD6EZcJHG4hVUA8YTOYDBhQQ1Fli
NE2GYQLwsQTEDH4BYJlAKHgIhAsAKCAgRz4oEEB+A/2w3WnkRSUQgdClEAMABBDUgQEuBBDADSy4
BoAE2eUwQAHHdaYgRjV4sBdBNATAgIAZ5OiDDwYAIMJAnQVAAxAyAKAinQF04FoGI2AGwAK9AUEB
ABseCQCFF42g1AIGdYWCQOf9CIQJNMEGBJIeCIRVCNgpYEACCQRAwQYOZGUpEC38KWCptVmUAgB5
+v8HRA12+iajQJhdKFBpCvgABA+hWRpUAORdiaMAQArU2VYC0QAAAgRxOhFmrRaEg1BAnIdAcwD+
JdAMNMEgUFAbNCvlCmEhwMMF5Q0E4AQEceDmQCSUOJFSso57KBAd5uZDZwNkd5u9OBBgAGthgWAD
TY8qAMCcA0kAQLJAPADAWUDEMMB1Ezk8JkE+KJoZEKVuNVOtQPjgWn4/lPplnauJECAQiQW6QwCM
EuRXXDcYMONEzxlAQg0/3PCCCG0GABwQrtUg7wjQ0UgTCzRI/LNsRlk85k721fiZQE27oEAFO0oU
glI11ZSAuMrWdFpn4paaNgYCGmCArwZkMJBsgwlNGsAOBYVFE9kY0SDdbBGwsCMLAhhQKIEEoMCA
BRXkuPRABiztq1MHwCsQAX0PFAMBB4RQtkibD4RCAbpiJEO+csUu++y012777bgvFBAAOw==
------=_NextPart_000_0F17_6C563163.865486AA--