Commit 5d4bab7b authored by Sebastien Robin's avatar Sebastien Robin

Merge remote-tracking branch 'remotes/origin/presentation' into demo

Conflicts:
	OfficeJS/component/left_nav_bar.html
parents 3937200f bbfa73d8
...@@ -53,6 +53,15 @@ ...@@ -53,6 +53,15 @@
Show Activity Show Activity
</a> </a>
</li> </li>
<li class="powerpoint left-nav-tools">
<a href="#/powerpoint"
onclick="javascript:
OfficeJS.open({app:'power_point'});
return false;">
<i class="icon-facetime-video"></i>
New Powerpoint
</a>
</li>
<!-- <li class="editpreferences left-nav-tools"> --> <!-- <li class="editpreferences left-nav-tools"> -->
<!-- <a href="#/edit_preferences" --> <!-- <a href="#/edit_preferences" -->
<!-- onclick="javascript: --> <!-- onclick="javascript: -->
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript"
src="lib/presentation/jquery.js"></script>
<script type="text/javascript"
src="lib/presentation/jquery-ui.js"></script>
<link type="text/css" rel="stylesheet"
href="lib/presentation/erp5_knowledge_box.css" />
<link type="text/css" rel="stylesheet"
href="lib/presentation/erp5.css" />
<link type="text/css" rel="stylesheet"
href="lib/presentation/erp5_listbox.css" />
<script type="text/javascript"
src="lib/presentation/erp5.js"></script>
<script type="text/javascript"
src="lib/presentation/erp5_knowledge_box.js"></script>
<script type="text/javascript"
src="lib/presentation/erp5_xhtml_appearance.js"></script>
</head>
<body>
<div>
<input type="text"
name="fileName"
id="input_file_name"
value=""
placeholder="File name here" />&nbsp;
<button type="submit"
class="btn btn-primary"
onclick="OfficeJS.save($('#input_file_name').attr('value'));">
<i class="icon-download-alt icon-white"></i>
Save
</button>&nbsp;
<img src="lib/presentation/images/slide_icon.png" onclick=window.open("lib/presentation/slides.html");
alt="See slideshow" title="See slideshow" />
</a>
</div>
<fieldset class="bottom editable">
<div class="field" title="">
<div class="input">Drag and drop to modify the order of the slides.<br />
Click on the top left corner of a slide to modify it or on the top right corner to delete it.</div>
<p class="clear"></p>
</div>
<div class="field"
title="The content of the document considered as a text string">
<label>
Page Content
</label>
<div class="input"><div >
<link rel="stylesheet" type="text/css"
href="lib/presentation/jquery-ui.css">
<link rel="stylesheet" type="text/css"
href="lib/presentation/slideshow_editor.css">
<script language="javascript"
src="lib/presentation/slideshow_editor.js"></script>
<script language="javascript"
src="lib/presentation/erp5_run_my_docs.js"></script>
<div id="list"></div>
<div id="add_slide">
<section id="add_slide_button"> Add Slide </section>
</div>
<div id="dialog_add_slide" class="slide_dialog"></div>
<div id="dialog_edit_slide" class="slide_dialog"></div>
</div>
<p class="clear"></p>
<div class="field hidden"
title="Content of the web page">
<div class="input"><textarea class="hidden" rows="40" cols="120" name="field_my_text_content" >
&lt;section class=&quot;master&quot;&gt;
&lt;h1&gt;How to Manage Support Requests&lt;/h1&gt;
&lt;img alt=&quot;How to manage support requests&quot; title=&quot;How to manage support requests&quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Scenario?format=&quot;&gt;
&lt;footer&gt;
by &lt;a href=&quot;http://www.osoe-project.org/contact&quot;&gt;OSOE Team&lt;/a&gt;.
&lt;/footer&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;From last tutorial we have learned the standard process of managing incoming Events. In this tutorial, we will specially introduce the process of how to manage the Ticket &quot;Support Request&quot;, following the standard process of managing incoming Events explained in last tutorial.&lt;/p&gt;&lt;p&gt;Support Request is a kind of Ticket which the incoming Events (email, phonecall, fax, etc.) of your customers are assigned to, and which is a very important Ticket in ERP5 CRM because it allows you to manage all the interactions between your customer, your company and your supplier effectively, which helps consolidating the customer relations of your company.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/init_test_environment&quot;&amp;gt;init&amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${base_url}/Zuite_setUpIncomingEventTest&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;verifyTextPresent&lt;/td&gt;
&lt;td&gt;Init Ok&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&amp;gt; Wait for activities &amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_functional_test_user&quot;&amp;gt;Login As Functional Test User&amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;&quot;&gt;
&lt;h1&gt;Agenda 123123&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Create an incoming Event from the client's document&lt;/li&gt;
&lt;li&gt;Define the Recipient - the team member responsible to reply to client&lt;/li&gt;
&lt;li&gt;Create the Follow Up Ticket - a Support Request Ticket&lt;/li&gt;
&lt;li&gt;Deliver the Event&lt;/li&gt;
&lt;li&gt;Reply to the client&lt;/li&gt;
&lt;/ul&gt;
&lt;details open=&quot;open&quot;&gt;&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;illustration&quot;&gt;
&lt;h1&gt;The incoming Event workflow&lt;/h1&gt;
&lt;img alt=&quot;The incoming Event workflow&quot; title=&quot;The incoming Event workflow&quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Events.Event.Workflow?format=&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
As you have learned from last tutorial, the second part of this illustration shows the standard process of Incoming Events: &lt;strong&gt;Declare as Received&lt;/strong&gt;
,
&lt;strong&gt;Define the Event's Recipient&lt;/strong&gt;
,
&lt;strong&gt;Create a Follow Up Ticket&lt;/strong&gt;
and
&lt;strong&gt;Deliver&lt;/strong&gt;
&lt;/p&gt;&lt;p&gt;Now we will explain in detail how to practice this process in managing Support Requests.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;illustration&quot;&gt;
&lt;h1&gt;Scenario&lt;/h1&gt;
&lt;img alt=&quot;Scenario: a request for support of ERP5 instance configuration&quot; title=&quot;Scenario: a request for support of ERP5 instance configuration&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Scenario?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;This tutorial is based on a scenario that will help you understand how to manage Support Requests and the role of this kind of Ticket.&lt;/p&gt;&lt;p&gt;Z Company is an electricity supplier, one of VIFIB clients who are using the ERP5 instance. John Scott Doh is the marketing manager of Z Company. From this year, as the other departments of Z Company, he starts to implement the ERP5 to manage his marketing department, and specially the ERP5 CRM for his business with his clients. In the very beginning of using this new instance, he met some difficulties in the configuration of the ERP5 instance, so he wrote to the ERP5 support team asking for help. When the ERP5 support team receives the email from this client, someone in the team will create a new incoming Event in ERP5 in order to ask for someone who is capable to answer to the request of John Doh.&lt;/p&gt;&lt;p&gt;Now please follow this scenario, combine with the standard incoming Events process you have learned, to see what's the steps to take in ERP5 to manage the support requests from your clients.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Find the request sender John Doh in your ERP5&lt;/h1&gt;
&lt;img src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Browse.Persons?format=&quot; type=&quot;image/svg+xml&quot; title=&quot;Browse for John Doh in your ERP5&quot; alt=&quot;Browse for John Doh in your ERP5&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
In ERP5 CRM, in order to better manage the customer relations, once we receive an incoming email, phonecall or fax from our clients, we will have to &lt;strong&gt;create a new incoming Event from the support request sender's document&lt;/strong&gt;
in order to tell our team that we receive a message from our client. In this way, all the support requests from our clients will be recorded immediately, and be assigned to personnel to handle them later.
&lt;/p&gt;&lt;p&gt;In our example, we will first create an incoming Event to inform our ERP5 support team that we have received an email from John Doh who is asking for help. As it is John Doh who sent this email, we will create the incoming Event directly from John Doh's Person Document, in order for the Event to be linked easily to John Doh in ERP5.&lt;/p&gt;&lt;p&gt;
In order to &lt;strong&gt;create an incoming Event from the request sender John Doh's document&lt;/strong&gt;
, the
&lt;strong&gt;first step&lt;/strong&gt;
will be to
&lt;strong&gt;reach John Doh's person document&lt;/strong&gt;
in ERP5. To do so,
&lt;strong&gt;click on the “Browse” tab&lt;/strong&gt;
of your instance Homepage, and
&lt;strong&gt;click on “Persons”.&lt;/strong&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_module&quot;]&lt;/td&gt;
&lt;td&gt;Persons&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Click on John's line&lt;/h1&gt;
&lt;img alt=&quot;Click on John's line&quot; title=&quot;Click on John's line&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Click.Persons.Line?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Then we will reach list of Persons stored in your ERP5 instance, &lt;strong&gt;click on John Doh's line&lt;/strong&gt;
in order to reach his Person Document.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;tal:block tal:content=&quot;structure python: here.Zuite_generateListboxBrowsing(listbox_selection=(['title', 'ZUITE-TEST-INCOMING-EVENT-PERSON-SUPERVISOR'],), enter_object=True)&quot;/&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[2]&lt;/td&gt;
&lt;td&gt;Persons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[3]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-PERSON-SUPERVISOR&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Open the Events tab&lt;/h1&gt;
&lt;img alt=&quot;Open the Events tab in the person's document&quot; title=&quot;Open the Events tab in the person's document&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Open.Events.List?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now that you have reached John Doh's Person Document, the &lt;strong&gt;second step&lt;/strong&gt;
in order to create an incoming Event from the support request sender's document is to
&lt;strong&gt;reach the Event list of John Doh&lt;/strong&gt;
by
&lt;strong&gt;Click on the Event Tab&lt;/strong&gt;
in John Doh's document.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;link=Events&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;The Events list is empty&lt;/h1&gt;
&lt;img alt=&quot;The Events list is empty&quot; title=&quot;The Events list is empty&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Events.List.Empty?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;As you can see, the Events list of John Doh is still empty because until now, there is no Event related to John Doh, i.e., VIFIB hasn't had any interaction with him so far.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//span[@class=&quot;listbox-current-page-total-number&quot;]&lt;/td&gt;
&lt;td&gt;0 records&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create a new Event (1): Action list&lt;/h1&gt;
&lt;img alt=&quot;Click on 'Create New Event' on Action list&quot; title=&quot;Click on 'Create New Event' on Action list&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Event.Action.List?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Since we have received the mail message from our client John Doh asking for help, we will now create a new Event related to John Doh to record this message. To do so, &lt;strong&gt;open the “Action” item list and choose “Create New Event”&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_action&quot;]&lt;/td&gt;
&lt;td&gt;Create New Event&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create a new Event (2): Set Event title, type and direction&lt;/h1&gt;
&lt;img alt=&quot;Set incoming Event title, type and direction&quot; title=&quot;Set incoming Event title, type and direction&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Event.Title.Type.Direction?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
As you have learned in the previous tutorial “How to Prepare Outgoing Events”, when the new Event is created, you can first set the basic information such as &lt;strong&gt;Event title, type and direction&lt;/strong&gt;
, etc. The only difference here is to
&lt;strong&gt;set the Event Direction to “In”&lt;/strong&gt;
this time, because you want to create an Incoming Event, indicating that you have received an email in this case, and then you will enter this email in your ERP5 for someone of your team to process it.
&lt;/p&gt;&lt;p&gt;
In order to follow this tutorial, check &lt;b&gt;Keep in draft state&lt;/b&gt; option in order to create an Event on &quot;Draft&quot; State. Afterwards, we are going to learn how to learn how to declare it as received manually.
&lt;/p&gt;&lt;p&gt;
When you are done, &lt;strong&gt;click the “Create New Event”&lt;/strong&gt;
button.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_your_portal_type&quot;]&lt;/td&gt;
&lt;td&gt;Mail Message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_your_title&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_your_resource&quot;]&lt;/td&gt;
&lt;td&gt;Test Functional Incoming Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;click&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_your_direction&quot; and @value=&quot;incoming&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;click&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_your_keep_draft&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@id=&quot;dialog_submit_button&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;&quot;New Event created&quot;&lt;/h1&gt;
&lt;img alt=&quot;New incoming Event has been created-state Draft&quot; title=&quot;New incoming Event has been created-state Draft&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Event.Draft.Event?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
As you can see in the red area of the picture, a new Event has been created, which is on the &lt;strong&gt;“Draft” state&lt;/strong&gt;
. The blue area shows the
&lt;strong&gt;Sender and Recipient fields&lt;/strong&gt;
which have already been filled automatically, following this
&lt;strong&gt;rule&lt;/strong&gt;
: The Sender is John Doh, because the incoming Event has been created from his person document. This act tells the ERP5 team that we have received an email from our client John Doh somewhere. The Recipient here is Jingjing XU, because this is the name of the
&lt;strong&gt;ERP5 user&lt;/strong&gt;
who created this incoming Event. However,
&lt;strong&gt;this information can be changed later&lt;/strong&gt;
, if we need to assign this incoming Event to someone else in our team to take care of it.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;transition_message&quot;]&lt;/td&gt;
&lt;td&gt;New event created.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//label[normalize-space(text())='State']/../div&lt;/td&gt;
&lt;td&gt;Draft&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create a new Event (3): Copy/paste the email you received&lt;/h1&gt;
&lt;img alt=&quot;Copy/paste the email you received into the new incoming Event&quot; title=&quot;Copy/paste the email you received into the new incoming Event&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Event.Copy.Message.Into.New.Incoming.Event?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now, &lt;strong&gt;copy and paste the email you have received from your client John Doh into the red area: Text Format&lt;/strong&gt;
. This area aims at showing the email you have received to all the persons of your team, which is the content of this new incoming Event. And finally, don't forget to
&lt;strong&gt;save&lt;/strong&gt;
your data changes.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//textarea[@name=&quot;field_my_text_content&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-EVENT-CONTENT this is the content of our event.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@name=&quot;Base_edit:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create a new Event (4): &quot;Receive&quot; the Event&lt;/h1&gt;
&lt;img alt=&quot;Click on 'Declare as Received' on Action list&quot; title=&quot;Click on 'Declare as Received' on Action list&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Receive.Event?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now that you have &lt;strong&gt;drafted&lt;/strong&gt;
all the necessary fields of this incoming Event, it is time to conform to the ERP5 that you have
&lt;strong&gt;received&lt;/strong&gt;
this email from your client, the move will lead to the change of the Event's state as Received.
&lt;/p&gt;&lt;p&gt;
To do so, &lt;strong&gt;open the Action Item List and choose “Declare as Received”&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_action&quot;]&lt;/td&gt;
&lt;td&gt;Declare as Received&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@id=&quot;dialog_submit_button&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Event &quot;Received&quot;&lt;/h1&gt;
&lt;img alt=&quot;Event Received&quot; title=&quot;Event Received&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Event.State.Received?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;As you can see on the screenshot, after we declared that the Event is received, the state of the newly created Event is now changed from &quot;Draft&quot; to &quot;Received&quot;, which is the first state of an incoming Event, as you can witness on the workflow of incoming Events in ERP5, shown on the left of the picture.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;storeValue&lt;/td&gt;
&lt;td&gt;//textarea[@name=&quot;field_my_destination_title_list&quot;]&lt;/td&gt;
&lt;td&gt;user_title&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//label[normalize-space(text())='State']/../div&lt;/td&gt;
&lt;td&gt;Received&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@name=&quot;Base_edit:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Define the &quot;Recipient&quot; - the person responsible to reply to client&lt;/h1&gt;
&lt;img alt=&quot;Change the &amp;quot;Recipient&amp;quot; of the Event&quot; title=&quot;Change the &amp;quot;Recipient&amp;quot; of the Event&quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Change.Recipient.Replier?format=&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;Now it is time to define who should process this Event - the person in the ERP5 support team who will have to provide John Doh with an answer .&lt;/p&gt;&lt;p&gt;
We will ask our team member“Yingjie XU” to take care of this Event. To do so,
Firstly,
&lt;strong&gt;change the person name in the “Recipient” field&lt;/strong&gt;
from &quot;Jingjing XU&quot; (the default Recipient) to &quot;Yingjie XU&quot;. Secondly, as usual, don't forget to
&lt;strong&gt;&quot;Save&quot;&lt;/strong&gt;
the action.
&lt;/p&gt;&lt;p&gt;This step aims at indicating that “Yingjie XU” did receive this email from the client, and has to take care of it. So after the next step that we &quot;Receive&quot; the Event, this Event will appear on Yingjie's worklist as &quot;Received Events to Deliver&quot;, which we will show you later. In this way, Yingjie will know that he is responsible to handling a new incoming Event.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Another focus: switch user&lt;/h1&gt;
&lt;img alt=&quot;Switch user to reply incoming Event&quot; title=&quot;Switch user to reply incoming Event&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Switch.User.Log.Out?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now the incoming Event has been &lt;strong&gt;&quot;Received&quot;&lt;/strong&gt;
, the
&lt;strong&gt;&quot;Recipient&quot;&lt;/strong&gt;
has been defined, the
&lt;strong&gt;Follow Up Ticket&lt;/strong&gt;
has been created, so it is time for the &quot;Replier&quot; - the Recipient to offer support to the client. And all the following interactions between the Replier and the Client will be recorded under the Support Request Ticket we just created.
&lt;/p&gt;&lt;p&gt;
In this section, we will switch users in order to understand how users can be aware that they have Events to handle.&lt;br&gt;
&lt;strong&gt;Log out&lt;/strong&gt;
by opening the “My favourites” item list, and choose
&lt;strong&gt;Log out&lt;/strong&gt;
. After being logged out, we have
&lt;strong&gt;logged in user “Yingjie”&lt;/strong&gt;
in order to help you understand how incoming Events are displayed in the
&lt;strong&gt;worklist&lt;/strong&gt;
of this user.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_functional_another_test_user&quot;&amp;gt;Login As Another Functional Test User&amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${base_url}/view&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_module&quot;]&lt;/td&gt;
&lt;td&gt;Events&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Which Event should be processed ?&lt;/h1&gt;
&lt;img alt=&quot;Choose in the &amp;quot;Received Events&amp;quot; List&quot; title=&quot;Choose in the &amp;quot;Received Events&amp;quot; List&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.List.Received.Events.To.Deliver.Recipient.Choose?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
This is the &lt;strong&gt;list of &quot;Received Events to Deliver&quot;&lt;/strong&gt;
, reached through the Worklist. All the Events declared as &quot;Received&quot; and have assigned to a &quot;Recipient&quot; will displayed on this list. In order to know who has to take care of them,
&lt;strong&gt;each user has to search for his person name in the Recipients field&lt;/strong&gt;
, and then he will
&lt;strong&gt;click now on this Event with the his name as the Recipeint order to process it&lt;/strong&gt;
&lt;/p&gt;&lt;p&gt;Now we have reached the List through Yingjie's Worklist, we can see that there is 1 received Event to deliver (Normally there could be more Events on the list with different Recipients). So user &quot;Yingjie” only has his name in one Event, which means that this is the only Event he is entitled to take care of. So click on this line in order to process it.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[2]&lt;/td&gt;
&lt;td&gt;Events&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;tal:block tal:content=&quot;structure python: here.Zuite_generateListboxBrowsing(listbox_selection=(['title', 'ZUITE-TEST-INCOMING-EVENT-EVENT-001'],), enter_object=True)&quot;/&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Received Events in Worklist&lt;/h1&gt;
&lt;img alt=&quot;Received Events to Deliver&quot; title=&quot;Received Events to Deliver&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Worklist.Received.Events.To.Deliver?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
“Yingjie” is now logged in, and while opening his Worklist, we see that &lt;strong&gt;there are 1 &quot;Received Events to Deliver”&lt;/strong&gt;
to be treated. Let's
&lt;strong&gt;click on this line&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Assign this Event to a Support Request Ticket&lt;/h1&gt;
&lt;img alt=&quot;Assign Event to Ticket&quot; title=&quot;Assign Event to Ticket&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Follow.Up.Ticket?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
According to the standard process of incoming Events, if the Event can be handled in a simple way, we can &lt;strong&gt;Create Response directly&lt;/strong&gt;
from the Received Event's Action item list, as the option shown in the blue frame. But if the incoming Event needs to be handled in a complicated way, which needs a Ticket to contain many following Events, as in our case the support request from our client, we will then need to
&lt;strong&gt;Create Follow Up Ticket&lt;/strong&gt;
from the Received Event's Action item list, as the option shown in the red frame.
&lt;/p&gt;&lt;p&gt;
So the next step will be to assign this Event to a Ticket. If you remember correctly, a Ticket can be a campaign, a sale opportunity, a support request, a meeting, etc...In this case, the client has asked for help in his email, so this is clearly a Support Request that has to be created. In order to create this Support Request Ticket, &lt;strong&gt;open the Action Item List and choose the action “Create Follow Up Ticket”&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_action&quot;]&lt;/td&gt;
&lt;td&gt;Create Follow Up Ticket&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create a Support Request - Set Ticket title, type and nature&lt;/h1&gt;
&lt;img src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Follow.Up.Ticket.Title.Type.Nature?format=&quot; type=&quot;image/svg+xml&quot; title=&quot;Set Ticket title, type and nature&quot; alt=&quot;Set Ticket title, type and nature&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now you will choose the type of Ticket you want to assign this Event to. In the first field, you can enter a &lt;strong&gt;Ticket Title&lt;/strong&gt;
. This title will be displayed in the field Follow-Up of this Event. After this, you can choose the
&lt;strong&gt;Ticket Type&lt;/strong&gt;
and
&lt;strong&gt;Ticket Nature&lt;/strong&gt;
. In our example, we will choose &quot;Support Request&quot; as Ticket type, which means that later we will be able to find this support request Ticket in the Support Request module of ERP5. We will also choose &quot;Information Request&quot; as Ticket Nature. After created, this Ticket can receive many different Events afterwards, such as the reply from ERP5 support team member, and the further questions from the client John Doh. When you are done,
&lt;strong&gt;click the “Create Follow Up Ticket” button&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_your_follow_up_ticket_title&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-TICKET-TITLE-001&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_your_follow_up_ticket_type&quot;]&lt;/td&gt;
&lt;td&gt;Support Request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@id=&quot;dialog_submit_button&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Event &quot;Delivered&quot;&lt;/h1&gt;
&lt;img alt=&quot;Event &amp;quot;Delivered&amp;quot;&quot; title=&quot;Event &amp;quot;Delivered&amp;quot;&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Event.Delivered?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;The state of the Event has then changed from &quot;Received&quot; to &quot;Delivered&quot; which means it is now acknowledged by someone to be taken care of.&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;By delivering the Event which is the final step of Process incoming Events, the Recipient who is entitled to take care of the Event says to his team that the Event is taken into account and will be processed by him.&lt;/strong&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//label[normalize-space(text())='State']/../div&lt;/td&gt;
&lt;td&gt;Delivered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyValue&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_title&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;&quot;Follow Up Ticket created&quot;&lt;/h1&gt;
&lt;img src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Follow.Up.Ticket.Created?format=&quot; type=&quot;image/svg+xml&quot; title=&quot;Follow Up Ticket created&quot; alt=&quot;Follow Up Ticket created&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
As you can see stated in the left upside of the screenshot, the Follow Up Ticket of this incoming Event has been created. You can see the Ticket is displayed in the &lt;strong&gt;&quot;Follow Up&quot;&lt;/strong&gt;
field in the Event's page.
&lt;/p&gt;&lt;p&gt;
The Follow Up Ticket is created in order to contain all the following Events happened between the client and ERP5 team which are related to the original Event. We can easily access to it by &lt;strong&gt;clicking the plane icon&lt;/strong&gt;
in the right side of this field.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;verifyValue&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_default_follow_up_title&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-TICKET-TITLE-001&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_default_follow_up_title&quot;]/../a&lt;/td&gt;
&lt;td&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[2]&lt;/td&gt;
&lt;td&gt;Support Requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;storeLocation&lt;/td&gt;
&lt;td&gt;support_request&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&amp;gt; Wait for activities &amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${base_url}/Base_clearCache&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;assertTextPresent&lt;/td&gt;
&lt;td&gt;Cleared.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Edit the Follow Up Ticket - Define the Operators&lt;/h1&gt;
&lt;img alt=&quot;Edit the Follow Up Ticket &quot; title=&quot;Edit the Follow Up Ticket &quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Edit.Follow.Up.Ticket?format=&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;Now we can access to the Follow Up Ticket of the incoming Event - the Support Request Ticket we just created. In the page of the Ticket, as circled in red, you can now define the Manager, the Supervisor and the Operators, so they will know through their worklist that they are responsible to process the Ticket.&lt;/p&gt;&lt;p&gt;As circled in blue, you can already see the Event from which we created the Support Request Ticket has been contained in the Events List of this Ticket. From now on, every interactions happen later between the operators and the client will be recorded in this Ticket, and clearly listed in the Events List.&lt;/p&gt;&lt;p&gt;Now we can return to the event and we will now explain how to provide client John Doe with an answer to his question.&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${support_request}&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_start_date_year&quot;]&lt;/td&gt;
&lt;td&gt;2011&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_start_date_month&quot;]&lt;/td&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_start_date_day&quot;]&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_stop_date_year&quot;]&lt;/td&gt;
&lt;td&gt;2012&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_stop_date_month&quot;]&lt;/td&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;subfield_field_my_stop_date_day&quot;]&lt;/td&gt;
&lt;td&gt;02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_quantity&quot;]&lt;/td&gt;
&lt;td&gt;10.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_my_quantity_unit&quot;]&lt;/td&gt;
&lt;td&gt;Time/Day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_price&quot;]&lt;/td&gt;
&lt;td&gt;20.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_my_price_currency&quot;]&lt;/td&gt;
&lt;td&gt;EUR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@name=&quot;Base_edit:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Create Response to client&lt;/h1&gt;
&lt;img alt=&quot;Create Response to client &quot; title=&quot;Create Response to client &quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Create.Response?format=&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;Now it is time to reply to the client. If you remember, we have created a Follow Up Ticket for this Event in order to record all the following interactions related to the original Event. But the same as those Events which can be handled in a simple way so not need to be assigned to a Follow Up Ticket, we will use the Action item List in the Event page to create responses to our clients. The only difference is, all the Events of replies or other interactions created from this Event will be related to it by &quot;Event Origin&quot; and be recorded in the Follow Up Ticket we created.&lt;/p&gt;&lt;p&gt;
Now we will &lt;strong&gt;click on &quot;Create Response&quot; in the Action item List&lt;/strong&gt;
in the Event page to reply to client John Doh.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;link=ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;verifyValue&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_title&quot;]&lt;/td&gt;
&lt;td&gt;ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_action&quot;]&lt;/td&gt;
&lt;td&gt;Create Response&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Edit and send the response&lt;/h1&gt;
&lt;img alt=&quot;Edit the response&quot; title=&quot;Edit the response&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Edit.Response?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now we reached the Reponse editing page. We will first edit the reply in the &quot;Message&quot; field, then check the other information in this page such as Title, Date, etd. When you are sure everything is correctly edited, click on &quot;Create Response&quot;, then &lt;strong&gt;the response will be sent to the client and be created automatically as an outgoing Event with a state of &quot;Sent&quot;&lt;/strong&gt;
.
&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;You should be very careful before click on &quot;Create Response&quot;&lt;/strong&gt;
, because after this action, your message to clients will be sent to them and cannot be modified any more.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//textarea[@name=&quot;field_your_response_event_text_content&quot;]&lt;/td&gt;
&lt;td&gt;Some response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@id=&quot;dialog_submit_button&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;&quot;Response Created&quot;&lt;/h1&gt;
&lt;img alt=&quot;&amp;quot;Response Created&amp;quot;&quot; title=&quot;&amp;quot;Response Created&amp;quot;&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Response.Created?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Here we are back to the original Event Mail Message from client John Doh. As you can see on this page, it is stated &lt;strong&gt;&quot;Response Created&quot;&lt;/strong&gt;
, which means this Information Request has been replied.
&lt;/p&gt;&lt;p&gt;
You can still access to the Response Event you have sent to clients to see the details, just have to click on the &lt;strong&gt;&quot;Related Events&quot; tab&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;storeAttribute&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[3]@href&lt;/td&gt;
&lt;td&gt;waitack&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&amp;gt; Wait for activities &amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${waitack}&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;The Related Events tab&lt;/h1&gt;
&lt;img alt=&quot;Related Events tab&quot; title=&quot;Related Events tab&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Related.Events.Tab?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now we are lead to the &lt;strong&gt;Related Events tab&lt;/strong&gt;
of the original incoming Event from John Doh, which we &quot;Declare as Received&quot;, &quot;Deliver&quot; and &quot;Create Response&quot;.
&lt;/p&gt;&lt;p&gt;
As we just created one response to the original Event from John Doh, there is only one Event listed in the tab which is the Response mail we want to check. &lt;strong&gt;Click on this Event to open it&lt;/strong&gt;
.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;link=Related Events&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//span[@class=&quot;listbox-current-page-total-number&quot;]&lt;/td&gt;
&lt;td&gt;1 records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;link=Re: ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;The Sent Event - Response to client&lt;/h1&gt;
&lt;img alt=&quot;Sent Event &quot; title=&quot;Sent Event &quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Response.Event.Sent?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
Now we have accessed to the &lt;strong&gt;new Event created automatically&lt;/strong&gt;
when we &quot;Create Response&quot; from the original incoming Event. The Event state is now
&lt;strong&gt;&quot;sent”&lt;/strong&gt;
, this means that the email containing the answer has been sent to the client John's email address!
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//label[normalize-space(text())='State']/../div&lt;/td&gt;
&lt;td&gt;Sent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;field_my_resource&quot;]&lt;/td&gt;
&lt;td&gt;Test Functional Incoming Service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;field_my_source_title&quot;]&lt;/td&gt;
&lt;td&gt;${user_title}&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@name=&quot;Base_edit:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_action&quot;]&lt;/td&gt;
&lt;td&gt;Deliver&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@id=&quot;dialog_submit_button&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1; z-index: 0;&quot; class=&quot;&quot;&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//label[normalize-space(text())='State']/../div&lt;/td&gt;
&lt;td&gt;Delivered&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Where is your processed Events (1)&lt;/h1&gt;
&lt;img alt=&quot;Browse for Support Requests&quot; title=&quot;Browse for Support Requests&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Browse.Support.Requests?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;We will need to find all the related Events after we have communicated with the client, so we will go back to the Follow Up Ticket of the original Event, which we created to recorded all the related Events to the original Event from our clients.&lt;/p&gt;You remember the Ticket is a Support Request. In order to find it, &lt;strong&gt;click on the “Browse” tab&lt;/strong&gt;
of your ERP5 instance Home Page, and
&lt;strong&gt;click on “Support Requests”&lt;/strong&gt;
in order to reach the Support Request module.
&lt;p&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_module&quot;]&lt;/td&gt;
&lt;td&gt;Events&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//div[@id=&quot;breadcrumb&quot;]/a[2]&lt;/td&gt;
&lt;td&gt;Events&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Where is your processed Events (2)&lt;/h1&gt;
&lt;img alt=&quot;Browse for Support Requests module&quot; title=&quot;Browse for Support Requests module&quot; type=&quot;image/svg+xml&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Browse.For.Support.Requests.Module?format=&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
The red line is the line of the Support Request Ticket we created when we assigned the incoming Event.&lt;strong&gt;Click on this line&lt;/strong&gt;
in order to open this support Request Ticket.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//button[@name=&quot;Folder_show:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;//tr[@class='listbox-search-line']/th[@class=&quot;listbox-table-filter-cell&quot;]/input[@name='listbox_title']&lt;/td&gt;
&lt;td&gt;%ZUITE-TEST-INCOMING-EVENT-EVENT-001&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clickAndWait&lt;/td&gt;
&lt;td&gt;//input[@name=&quot;Base_doSelect:method&quot;]&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//span[@class=&quot;listbox-current-page-total-number&quot;]&lt;/td&gt;
&lt;td&gt;2 records&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;&lt;section class=&quot;screenshot&quot;&gt;
&lt;h1&gt;Your processed Events in Follow Up Ticket&lt;/h1&gt;
&lt;img alt=&quot;Processed Events in the Ticket&quot; title=&quot;Processed Events in the Ticket&quot; src=&quot;http://www.erp5.com/user-Howto.Manage.Support.Requests.Processed.Events.In.Follow.Up.Ticket?format=&quot; type=&quot;image/svg+xml&quot;&gt;
&lt;details open=&quot;open&quot;&gt;
&lt;p&gt;
We can see first that not much information has been edited, but you can do it now. Indeed, we have just created this ticket but not edited it yet. You can find some help in the tutorial &lt;strong&gt;“How to Create a Marketing Campaign”&lt;/strong&gt;
in order to understand which field is used for what (the Campaign and Support Request Tickets look exactly the same indeed).
&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;The red area displays all the related Events stored in this ticket&lt;/strong&gt;
. As you can see there are three Events listed: the first one is the original Event which is the incoming Event we created to notice our team of John's question. This Event is on the Delivered state, because user “Yingjie” acknowledged it. The second and third ones are the answers that we created for John Doh. These Events are on the “Sent” state, because the email was sent to the client!
&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;From now on, this Support Request can be used if in the future, client John Doh sends new emails about configuration problems&lt;/strong&gt;
. The only thing you will have to do in order to add Events to this Support Requests, is to open the “Action” item list and select “Create new Event”. Then the new Event will be created and associated automatically to the Ticket, as described in the
&lt;strong&gt;“How to Prepare Outgoing Events”&lt;/strong&gt;
tutorial.
&lt;/p&gt;
&lt;/details&gt;
&lt;test&gt;
&lt;table style=&quot;display: none;&quot; class=&quot;test&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_manager&quot;&amp;gt;Login As Manager&amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${base_url}/view&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;selectAndWait&lt;/td&gt;
&lt;td&gt;//select[@name=&quot;select_module&quot;]&lt;/td&gt;
&lt;td&gt;Support Requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;tal:block tal:content=&quot;structure python: here.Zuite_generateListboxBrowsing(listbox_selection=(['title', 'ZUITE-TEST-INCOMING-EVENT-TICKET-TITLE-001'],), enter_object=True)&quot;/&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyText&lt;/td&gt;
&lt;td&gt;//span[@class=&quot;listbox-current-page-total-number&quot;]&lt;/td&gt;
&lt;td&gt;2 records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_manager&quot;&amp;gt;Login As Manager&amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openAndWait&lt;/td&gt;
&lt;td&gt;${base_url}/Zuite_tearDownIncomingEventTest&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyTextPresent&lt;/td&gt;
&lt;td&gt;Clean Ok&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;opacity: 1;&quot;&gt;
&lt;td colspan=&quot;3&quot;&gt;&amp;lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&amp;gt; Wait for activities &amp;lt;/span&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/test&gt;
&lt;/section&gt;
</textarea></div>
</div>
</fieldset>
<p class="clear"></p>
</form>
</body>
</html>
...@@ -22,7 +22,8 @@ ...@@ -22,7 +22,8 @@
edit_preferences:'simplepreferenceeditor', edit_preferences:'simplepreferenceeditor',
text_editor:'elrte', text_editor:'elrte',
img_editor:'svg-edit', img_editor:'svg-edit',
spreadsheet:'jquery-sheet' spreadsheet:'jquery-sheet',
power_point:'power-point'
}; };
priv.app_object = { priv.app_object = {
topnavbar: { topnavbar: {
...@@ -168,6 +169,37 @@ ...@@ -168,6 +169,37 @@
}); });
} }
}, },
'power-point': {
type:'editor',
path:'component/slideshow.html',
gadget_id:'page-content',
ext:'ppt',
frameid:'svg_edit_frame',
getContent: function () {
return document.getElementById("list").innerHTML;
},
setContent: function (content) {
document.getElementById ("list").innerHTML=content;
},
onload: function (param) {
var waitForInit = function (fun) {
// FIXME : wait for init end
setTimeout(fun,1000);
}
waitForInit(function () {
if (typeof param.file_name !== 'undefined') {
$('#input_file_name').attr('value',
baseName(param.file_name));
that.load(baseName(param.file_name));
} else {
$('#input_file_name').attr(
'value','untitled');
}
});
}
},
slickgrid: { slickgrid: {
type:'editor', type:'editor',
path:'component/slickgrid_document_lister.html', path:'component/slickgrid_document_lister.html',
...@@ -205,6 +237,8 @@ ...@@ -205,6 +237,8 @@
icon:'<i class="icon-font"></i>'}, icon:'<i class="icon-font"></i>'},
svg:{pref:'img_editor',app:'svg-edit', svg:{pref:'img_editor',app:'svg-edit',
icon:'<i class="icon-pencil"></i>'}, icon:'<i class="icon-pencil"></i>'},
ppt:{pref:'power_point',app:'power-point',
icon:'<i class="icon-facetime-video"></i>'},
jqs:{app:'jquery-sheet', jqs:{app:'jquery-sheet',
icon:'<i class="icon-signal"></i>'} icon:'<i class="icon-signal"></i>'}
}; };
......
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>
<meta content="ERP5 - Copyright (C) 2001 - 2008. All rights reserved." name="generator">
<meta content="Add a new Slide" name="description">
<meta content="" name="keywords">
<meta content="index, follow" name="robots">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="text/javascript" http-equiv="Content-Script-Type">
<meta content="text/css" http-equiv="Content-Style-Type">
<title>Add a new Slide | Nexedi ERP5</title>
<link href="lib/powerpoint/erp5_knowledge_box.css" rel="stylesheet" type="text/css">
<link href="lib/powerpoint/erp5.css" rel="stylesheet" type="text/css">
<link href="lib/powerpoint/erp5_listbox.css" rel="stylesheet" type="text/css">
<script src="lib/powerpoint/jquery.js" type="text/javascript"></script>
<script src="lib/powerpoint/jquery-ui.js" type="text/javascript"></script>
<script src="lib/powerpoint/erp5.js" type="text/javascript"></script>
<script src="lib/powerpoint/erp5_knowledge_box.js" type="text/javascript"></script>
<script src="lib/powerpoint/erp5_xhtml_appearance.js" type="text/javascript"></script>
<!-- this is a placeholder for different extensions to head which could be required by web themes -->
</head>
<body>
<form enctype="multipart/form-data" method="post" action="https://www.tiolive.com/nexedi" onsubmit="changed=false; return true" class="main_form" id="main_form">
<fieldset class="hidden_fieldset" id="hidden_fieldset">
<input type="submit" name="Base_callDialogMethod:method" value="dummy" class="hidden_button" id="hidden_button">
<input type="hidden" value="" name="update_method">
<input type="hidden" value="TestPage_viewSlideCreator" name="dialog_id">
<input type="hidden" value="lib/powerpoint/TestPage_viewSlideCreator" name="cancel_url">
<input type="hidden" value="TestPage_uploadImage" name="dialog_method">
<input type="hidden" value="None" name="dialog_category">
<input type="hidden" value="/nexedi" name="object_path">
<input type="hidden" value="view" name="form_id">
</fieldset>
<div class="status" id="status">
<div class="transition_message" id="transition_message"></div>
</div>
<div class="master" id="master">
<div class="list_dialog">
<div class="dialog_box">
<div class="content">
<fieldset class="center">
<legend class="group_title"></legend>
<div title="The name of this chapter" class="field required">
<label>
Chapter Name
</label>
<div class="input"><input type="text" required="required" size="40" value="" name="field_your_chapter_title"></div>
<p class="clear"></p>
</div>
<div title="Choose the type of slide you want." class="field">
<label>
Type of slide
</label>
<div class="input"><select name="field_your_slide_type" size="1">
<option value="" selected="selected">
</option>
<option value="Chapter">
Chapter</option>
<option value="Screenshot">
Screenshot</option>
<option value="Illustration">
Illustration</option>
<option value="Code">
Code</option>
<option value="Master">
Master</option></select>
<input type="hidden" value="0" name="default_field_your_slide_type:int"></div>
<p class="clear"></p>
</div>
<div title="Caption of the image that will be used when generate Books." class="field">
<label>
Image Caption
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_caption"></div>
<p class="clear"></p>
</div>
<div title="Don't modify it manually." class="field hidden">
<label>
Embedded Image ID
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_id" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to upload an image to this chapter." class="field">
<label>
Upload an Image
</label>
<div class="input"><input type="file" size="30" value="" name="field_your_file"></div>
<p class="clear"></p>
</div>
<div title="The URL to the image, you can use relative urls or image reference." class="field">
<label>
Image URL
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_url"></div>
<p class="clear"></p>
</div>
<div title="Text to appear on the slide (appear in the documentation as well)" class="field">
<label>
Slide text
</label>
<div class="input"><textarea name="field_your_slide_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Text (&lt;details&gt; tags will be automatically added at the beginning and at the end of this text)" class="field">
<label>
Text
</label>
<div class="input"><textarea name="field_your_text_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Do you want to upload a new image on ERP5?" class="field">
<label>
Upload New Image?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_upload_image:int"><input type="checkbox" name="field_your_upload_image"></div>
<p class="clear"></p>
</div>
</fieldset>
<p class="clear"></p>
</div>
</div>
</div>
<div class="bottom_actions">
<button class="bt-med dialog_submit_button" type="submit" name="Base_callDialogMethod:method" id="dialog_submit_button" accesskey="V">
<span>Add a new Slide</span>
</button>
</div>
</div>
</form>
</body></html>
<body>
<form enctype="multipart/form-data" method="post" action="https://www.tiolive.com/nexedi" onsubmit="changed=false; return true" class="main_form" id="main_form">
<fieldset class="hidden_fieldset" id="hidden_fieldset">
<input type="submit" name="Base_callDialogMethod:method" value="dummy" class="hidden_button" id="hidden_button">
<input type="hidden" value="" name="update_method">
<input type="hidden" value="TestPage_viewSlideEditor" name="dialog_id">
<input type="hidden" value="lib/powerpoint/TestPage_viewSlideEditor" name="cancel_url">
<input type="hidden" value="TestPage_uploadImage" name="dialog_method">
<input type="hidden" value="None" name="dialog_category">
<input type="hidden" value="/nexedi" name="object_path">
<input type="hidden" value="view" name="form_id">
</fieldset>
<div class="status" id="status">
<div class="transition_message" id="transition_message"></div>
</div>
<div class="master" id="master">
<div class="list_dialog">
<div class="dialog_box">
<div class="content">
<fieldset class="center">
<legend class="group_title"></legend>
<div title="The name of this chapter" class="field required">
<label>
Chapter Name
</label>
<div class="input"><input type="text" size="40" value="" name="field_your_chapter_title"></div>
<p class="clear"></p>
</div>
<div title="Choose the type of slide you want." class="field">
<label>
Type of slide
</label>
<div class="input"><select name="field_your_slide_type" size="1">
<option value="" selected="selected">
</option>
<option value="Chapter">
Chapter</option>
<option value="Screenshot">
Screenshot</option>
<option value="Illustration">
Illustration</option>
<option value="Code">
Code</option>
<option value="Master">
Master</option></select>
<input type="hidden" value="0" name="default_field_your_slide_type:int"></div>
<p class="clear"></p>
</div>
<div title="Caption of the image that will be used when generate Books." class="field">
<label>
Image Caption
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_caption"></div>
<p class="clear"></p>
</div>
<div title="Don't modify it manually." class="field hidden">
<label>
Embedded Image ID (Read Only)
</label>
<div class="input"><input type="text" readonly="readonly" size="30" value="" name="field_your_image_id" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to upload an image to this chapter." class="field">
<label>
Upload an Image
</label>
<div class="input"><input type="file" size="30" value="" name="field_your_file"></div>
<p class="clear"></p>
</div>
<div title="The URL to the image, you can use relative urls or image reference." class="field">
<label>
Image URL
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_url"></div>
<p class="clear"></p>
</div>
<div title="Text to appear on the slide (appear in the documentation as well)" class="field">
<label>
Slide text
</label>
<div class="input"><textarea name="field_your_slide_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Text (&lt;details&gt; tags will be automatically added at the beginning and at the end of this text)" class="field">
<label>
Text
</label>
<div class="input"><textarea name="field_your_text_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to remove the current test from this chapter." class="field">
<label>
Remove test?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_not_tested:int"><input type="checkbox" name="field_your_not_tested"></div>
<p class="clear"></p>
</div>
<div title="Check it if you are currently editing a slide." class="field hidden">
<label>
Are you editing a slide?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_edit_mode:int"><input type="checkbox" checked="checked" name="field_your_edit_mode" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Do you want to upload a new image on ERP5?" class="field">
<label>
Upload New Image?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_upload_image:int"><input type="checkbox" name="field_your_upload_image"></div>
<p class="clear"></p>
</div>
</fieldset>
<p class="clear"></p>
</div>
</div>
</div>
<div class="bottom_actions">
<button class="bt-med dialog_submit_button" type="submit" name="Base_callDialogMethod:method" id="dialog_submit_button" accesskey="V">
<span>Edit Slide</span>
</button>
</div>
</div>
</form>
</body>
/*
Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
Vincent Pelletier <vincent@nexedi.com>
Christophe Dumez <christophe@nexedi.com>
Kazuhiko <kazuhiko@nexedi.com>
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
input, textarea, select, button, body, div, span, fieldset {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 0;
padding: 0;
}
div.input > select, div.input > input, div.listbox select {
max-width:320px;
}
div.page > div.input {
width:100%;
}
option {
white-space: pre;
}
div.pre div {
background: #FFF;
}
span.pre {
font-family: monospace;
color: black;
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
button, select, input {
vertical-align: middle;
}
button span {
background-color: transparent;
color: #000;
}
button.sort_button {
background-color: inherit;
color: inherit;
border-width: 0;
cursor: pointer;
}
button.sort_button span {
color: inherit;
text-decoration: underline;
}
img {
border: 0;
}
body, div, span, fieldset {
color: #001730;
}
div, span, fieldset {
background-color: inherit;
}
body {
background-color: #DAE6F6;
}
#main_form, /* BBB */
.main_form, {
color: inherit;
}
input#hidden_button, /* BBB */
input.hidden_button {
width: 0;
height: 0;
display: inline;
border-width: 0;
float: left;
}
.hidden {
display: none;
}
textarea[readonly] {
background-color: inherit;
border: inherit;
}
a, a:visited, a:focus {
background-color: inherit;
color: #002e3f;
text-decoration: none;
}
.relationfieldlink {
text-decoration: underline;
}
a:hover {
background-color: inherit;
color: #3D6474;
text-decoration: underline;
}
p.clear,
div.clear {
height: 0;
margin: 0;
padding: 0;
clear: both;
}
div.index_html {
text-align: center;
}
div.index_html table {
margin: 0 auto;
text-align: left;
}
.ModuleShortcut div {
margin-left: 0.5em;
text-indent: -0.5em;
line-height: 1.1em;
margin-bottom: 0.5em;
}
#main_bar button .description, /* BBB */
.main_bar button .description,
#context_bar button .description, /* BBB */
.context_bar button .description,
.content .field .description,
.document .actions button.save .description,
#context_bar .tool_buttons a .description, /* BBB */
.context_bar .tool_buttons a .description {
display: none;
}
/* The fields set for generated hidden fields */
#hidden_fieldset, /* BBB */
.hidden_fieldset {
visibility: hidden;
border: 0;
}
/* Main bar */
#main_bar, /* BBB */
.main_bar {
color: inherit;
background-color: #97B0D1;
padding-top: 2px;
padding-bottom: 2px;
vertical-align: middle;
}
#main_bar .first, /* BBB */
.main_bar .first,
#context_bar .first, /* BBB */
.context_bar .first {
float: left;
vertical-align: middle;
}
#context_bar #jump, /* BBB */
.context_bar .jump,
#main_bar .jump, /* BBB */
.main_bar .jump {
margin-left: 10px;
}
.listbox_title_line select,
#context_bar select, /* BBB */
.context_bar select,
#main_bar select, /* BBB */
.main_bar select {
color: #596dab;
}
#main_bar .second, /* BBB */
.main_bar .second,
#context_bar .second, /* BBB */
.context_bar .second {
float: right;
vertical-align: middle;
}
#main_bar button, /* BBB */
.main_bar button,
#context_bar button, /* BBB */
.context_bar button,
.dialog_selector button,
.document .actions button.save {
border: 0;
margin-top: 1px;
margin-left: 0;
margin-right: 2px;
padding: 0;
position: relative;
cursor: pointer;
background-color: inherit;
color: inherit;
}
#context_bar .tool_buttons, /* BBB */
.context_bar .tool_buttons {
vertical-align: middle;
}
#context_bar .tool_buttons a, /* BBB */
.context_bar .tool_buttons a {
margin-top: 2px;
margin-left: 2px;
margin-right: 2px;
padding: 0;
position: relative;
}
#context_bar .tool_buttons button, /* BBB */
.context_bar .tool_buttons button {
float: left;
}
#main_bar button .image, /* BBB */
.main_bar button .image,
#context_bar button .image, /* BBB */
.context_bar button .image,
.dialog_selector button .image,
.document .actions button.save .image {
display: block;
width: 22px;
height: 22px;
background-repeat: no-repeat;
}
/* XXX: Bug fix when not logged */
.document .actions {
min-height: 2.5em;
}
.pageNavigation button {
display: inline;
border: 0 none;
background-color: inherit;
vertical-align: middle;
}
table.fake {
width: 100%;
}
table.fake tr td {
vertical-align: top;
width: 50%;
}
.content .field {
position: relative;
clear: left;
font-style: italic;
width: 100%;
}
.content .field .input {
font-style: normal;
}
.content .input .figure {
text-align: right;
}
.group_title {
display: none;
}
table.fake,
fieldset.left,
fieldset.center,
fieldset.bottom {
clear: both;
}
table.fake,
fieldset.left,
fieldset.right,
fieldset.center,
fieldset.bottom {
margin-bottom: 5px;
}
table.fake,
fieldset.left,
fieldset.right,
fieldset.center {
border-style: solid;
border-width: 1px;
border-color: #97B0D1;
padding-top: 5px;
padding-left: 5px;
padding-right: 5px;
}
fieldset.center {
padding-bottom: 5px;
}
.login fieldset {
width: 50%;
float: left;
}
fieldset.left {
width: 50%;
float: left;
margin-right: -12px; /* 5px margin *2 + 2px for left & right border width */
}
fieldset.right {
width: 50%;
float: left;
margin-left: -12px; /* 5px margin *2 + 2px for left & right border width */
}
/* BBB: don't display borders on left-group fieldsets in a formbox in any
* bordered fieldset (ie left, right or center). */
fieldset.left fieldset.left,
fieldset.right fieldset.left,
fieldset.center fieldset.left,
table.fake > tr > td > fieldset {
border-width: 0;
padding: 0;
margin: 0;
width: 100%;
float: none;
}
fieldset.center,
fieldset.bottom {
clear: both;
}
fieldset.bottom {
border-width: 0;
}
fieldset.bottom > .field > label {
display: none;
}
.login fieldset,
.dialog_box table.fake,
.dialog_box .left,
.dialog_box .right,
.dialog_box .center {
border-width: 0;
}
.content .field {
padding-bottom: 3px;
}
.content .field label {
width: 30%;
}
.content .field label,
.content .field .input {
float: left;
}
/* Exception case of the previous generic rule
The CSS statement below fix bug #517: it doesn't make sense to have
floating div in bottom field since label are hidden. */
fieldset.bottom .field .input {
float: inherit;
}
.content .field .input a img {
vertical-align: middle;
}
.content .required label {
font-weight: bold;
}
.content .field .error {
background-color: inherit;
color: #f40;
}
.content .error .input {
border: 1px solid #f40;
}
.content .invisible > label {
display: None;
}
.content .invisible > .input {
float: None;
}
a.tree_open {
background: url('images/tree_open.png') left no-repeat;
padding-left:15px;
}
a.tree_closed {
background: url('images/tree_closed.png') left no-repeat;
padding-left:15px;
}
.login .submit {
margin-left: 15%;
}
#jump, /* BBB */
span.jump,
#action, /* BBB */
span.action,
#favourites, /* BBB */
span.favourites,
#modules, /* BBB */
span.modules,
#language, /* BBB */
span.language,
#search, /* BBB */
span.search {
float: left;
}
#favourites button .image, /* BBB */
span.favourites button .image {
background-image: url('images/favourite.png');
}
#modules button .image, /* BBB */
span.modules button .image {
background-image: url('images/appearance.png');
}
#language button .image, /* BBB */
span.language button .image {
background-image: url('images/language.png');
}
.quick_search_field { color: #777777; }
.quick_search_field:focus { color: #000000; }
#search button .image, /* BBB */
span.search button .image {
background-image: url('images/search.png');
}
#status, /* BBB */
.status,
#master, /* BBB */
.master {
padding-left: .5em;
padding-right: .5em;
}
#status, /* BBB */
.status {
padding-top: .3em;
padding-bottom: .4em;
}
/* Context bar */
#context_bar, /* BBB */
.context_bar {
padding-top: 2px;
padding-bottom: 2px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #97B0D1;
background-color: #BDD0F0;
color: inherit;
vertical-align: middle;
}
#context_bar .tool_buttons a, /* BBB */
.context_bar .tool_buttons a {
float: left;
margin-left: 2px;
margin-right: 2px;
}
.separator {
height: 24px;
width: 2px;
margin-left: 6px;
margin-right: 6px;
display: block;
float: left;
}
#main_bar .separator, /* BBB */
.main_bar .separator {
background-image: url('images/sepafon.png');
}
#context_bar .separator, /* BBB */
.context_bar .separator {
background-image: url('images/sepacla.png');
}
#context_bar .tool_buttons a .image, /* BBB */
.context_bar .tool_buttons a .image,
#context_bar .tool_buttons button .image, /* BBB */
.context_bar .tool_buttons button .image,
#context_bar .tool_buttons a img, /* BBB */
.context_bar .tool_buttons a img {
width: 22px;
height: 22px;
margin: 0;
padding: 0;
display: block;
background-repeat: no-repeat;
}
#context_bar #jump button .image, /* BBB */
.context_bar .jump button .image {
background-image: url('images/jump22.png');
}
#context_bar #action button .image, /* BBB */
.context_bar .action button .image {
background-image: url('images/exec.png');
}
#context_bar .tool_buttons .list_mode .image, /* BBB */
.context_bar .tool_buttons .list_mode .image {
background-image: url('images/text_block.png');
}
#context_bar .tool_buttons .new .image, /* BBB */
.context_bar .tool_buttons .new .image {
background-image: url('images/filenew.png');
}
#context_bar .tool_buttons .clone .image, /* BBB */
.context_bar .tool_buttons .clone .image {
background-image: url('images/fileclone.png');
}
#context_bar .tool_buttons .jump_first .image, /* BBB */
.context_bar .tool_buttons .jump_first .image {
background-image: url('images/2leftarrowb.png');
}
#context_bar .tool_buttons .jump_previous .image, /* BBB */
.context_bar .tool_buttons .jump_previous .image {
background-image: url('images/1leftarrowb.png');
}
#context_bar .tool_buttons .jump_next .image, /* BBB */
.context_bar .tool_buttons .jump_next .image {
background-image: url('images/1rightarrowb.png');
}
#context_bar .tool_buttons .jump_last .image, /* BBB */
.context_bar .tool_buttons .jump_last .image {
background-image: url('images/2rightarrowb.png');
}
#context_bar .tool_buttons .import_export .image, /* BBB */
.context_bar .tool_buttons .import_export .image {
background-image: url('images/imp-exp.png');
}
#context_bar .tool_buttons .jump_help .image, /* BBB */
.context_bar .tool_buttons .jump_help .image {
background-image: url('images/userhelp.png');
}
#context_bar .tool_buttons .find .image, /* BBB */
.context_bar .tool_buttons .find .image {
background-image: url('images/find.png');
}
#context_bar .tool_buttons .print .image, /* BBB */
.context_bar .tool_buttons .print .image {
background-image: url('images/print.png');
}
#context_bar .tool_buttons .report .image, /* BBB */
.context_bar .tool_buttons .report .image {
background-image: url('images/report.png');
}
#context_bar .tool_buttons .fast_input .image, /* BBB */
.context_bar .tool_buttons .fast_input .image {
background-image: url('images/fast_input.png');
}
#context_bar .tool_buttons .cut .image, /* BBB */
.context_bar .tool_buttons .cut .image {
background-image: url('images/editcut.png');
}
#context_bar .tool_buttons .copy .image, /* BBB */
.context_bar .tool_buttons .copy .image {
background-image: url('images/editcopy.png');
}
#context_bar .tool_buttons .paste .image, /* BBB */
.context_bar .tool_buttons .paste .image {
background-image: url('images/editpaste.png');
}
#context_bar .tool_buttons .delete .image, /* BBB */
.context_bar .tool_buttons .delete .image {
background-image: url('images/editdelete.png');
}
#context_bar .tool_buttons .show_all .image, /* BBB */
.context_bar .tool_buttons .show_all .image {
background-image: url('images/showall.png');
}
#context_bar .tool_buttons .filter .image, /* BBB */
.context_bar .tool_buttons .filter .image {
background-image: url('images/filter.png');
}
#context_bar .tool_buttons .filter_on .image, /* BBB */
.context_bar .tool_buttons .filter_on .image {
background-image: url('images/filter_on.png');
}
#context_bar .tool_buttons .sort .image, /* BBB */
.context_bar .tool_buttons .sort .image {
background-image: url('images/sort.png');
}
#context_bar .tool_buttons .configure .image, /* BBB */
.context_bar .tool_buttons .configure .image {
background-image: url('images/configure.png');
}
#context_bar .tool_buttons .activity_pending .image, /* BBB */
.context_bar .tool_buttons .activity_pending .image {
width: 26px;
background-image: url('images/activity_busy.png');
}
#context_bar .tool_buttons .inspect_object .image, /* BBB */
.context_bar .tool_buttons .inspect_object .image {
background-image: url('images/inspect.png');
}
/* Status */
#breadcrumb, /* BBB */
.breadcrumb {
float: left;
/* font-size: 90%; */
margin-bottom: 5px;
}
#breadcrumb a, /* BBB */
.breadcrumb a {
color: #002e3f;
}
#logged_in_as, /* BBB */
.logged_in_as {
float: right;
}
#logged_in_as .logged_txt, /* BBB */
.logged_in_as .logged_txt{
color: #002e3f;
/* font-size: 90%; */
}
#transition_message, /* BBB */
.transition_message {
margin-left: 1em;
color: #f40;
background-color: inherit;
font-weight: bold;
}
#information_area, /* BBB */
.information_area {
margin-top: 1em;
padding:0.5em 1em 0.5em 1em;
border-width: 1px;
border-style: solid;
border-color: #3D5474;
color: orange;
background-color: #E3EAFA;
font-weight: bold;
}
/* Content */
.dialog_box {
color: inherit;
background-color: #BDD0F0;
border-width: 1px;
border-style: solid;
border-color: #3D5474;
padding: .5em;
margin-bottom: 1em;
}
.list_dialog {
margin-bottom: .5em;
}
.dialog_selector button .description {
display: none;
}
.dialog_selector button .image {
background-image: url('images/exec16.png');
}
.document .actions {
position: relative;
float: left;
width: 100%;
margin: 0;
padding: 0;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #3D6474;
color: #002e3f;
}
.document .actions button.save {
float: right;
}
.document .actions button.save span.image {
width: 48px;
height: 50px;
background-image: url('images/save2.png');
}
.document .actions ul {
float: left;
list-style: none;
padding: 0;
margin: 0;
position: absolute;
bottom: -1px;
}
.document .actions li {
float: left;
}
.document .actions li a {
display: block;
color: inherit;
background: url('images/tab_left.png') top left no-repeat;
margin: 0;
padding: 0 0 0 10px;
line-height: 1.2em;
}
.document .actions li.selected a {
background: url('images/tab_left_selected.png') top left no-repeat;
}
.document .actions li a span {
display: block;
padding: 5px 10px 4px 0;
color: inherit;
background-color: inherit;
background: url('images/tab_right.png') top right no-repeat;
/* font-size: 90%; */
}
.document .actions li.selected a span {
font-weight: bold;
padding-bottom: 5px;
background: url('images/tab_right_selected.png') top right no-repeat;
}
.document .actions li a:hover {
text-decoration: none;
}
.document .content {
clear: both;
border-width: 1px;
border-style: solid;
border-color: #3D6474;
border-top: 0 none;
color: inherit;
background-color: #E3EAFA;
padding: 5px;
}
/* Search results list
------------------------------------------------*/
div#main_content.list_mode, /* BBB */
div.main_content.list_mode {
font-size:0.7em;
line-height:1.5em;
}
div.search.result .resultList .listbox tr.DataA,
div.search.result .resultList .listbox tr.DataB {
background-color: white;
}
div.search.result .resultList .listbox td {
padding: 0.5em 0;
}
div.search.result .resultList p {margin-bottom: 0}
div.search.result .resultList h3 {
font-size: 120%;
font-weight: normal;
margin-bottom: 1em;
}
div.search.result .resultList ul.pages li a {
padding: .1em .3em;
border: 1px solid transparent;
}
div.search.result .resultList ul.pages li a:hover {
border: 1px solid #dedade;
background: #eee;
}
div.search.result .resultList a .search_result_title {
font-weight: bold;
font-size: 120%;
}
div.search.result .resultList .search_result_portal_type:before {
content: "[";
}
div.search.result .resultList .search_result_portal_type:after {
content: "]";
}
div.search.result .resultList table.listbox caption {
font-weight: bold;
text-align: left;
}
div.search.result .resultList table.listbox td {
vertical-align: middle;
border: transparent;
margin:0;
}
div.search.result .resultList table.listbox td ul {list-style: none}
div.search.result .resultList table.listbox td ul li {margin: 0}
div.search.result .resultList table.listbox td blockquote {
border: 1px solid #e6e2e6;
border-top-color: #000;
margin: .5em 0 2em;
padding: 1em;
background: #eee;
}
div.search.result .resultList {
padding: 1em;
padding-top: 0em;
padding-bottom: 1em;
padding-left: 0em;
padding-right: 0em;
}
div.search.result div.searchBar {
margin-bottom: 2em;
}
div.searchResultHeader #style_toggle_icon,
table.listbox.table #style_toggle_icon {
padding:0;
border: 0px;
border-color:red;
margin:0;
vertical-align:bottom;
}
div.search .centeredInner {
text-align: center;
}
.searchDetails em {
font-style:normal;
font-weight:bold;
}
div.search .searchPages a{
text-decoration: underline;
}
div.search .searchPages .selected{
color: #CB0D00;
font-weight:bold;
text-decoration: none;
}
/* MatrixBox */
.MatrixContent {
color: #000;
background-color: #E3EAFA;
padding-left: 1px;
}
.MatrixContent table {
width: 100%;
border-collapse: collapse;
border-color: #3D6474;
border-style: solid;
border-top-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
}
.MatrixContent tr.matrixbox_label_line {
vertical-align: middle;
border-color: #3D6474;
border-style: solid;
border-bottom-width: 1px;
border-top-width: 0;
border-left-width: 0;
border-right-width: 0;
}
.MatrixContent td.matrixbox_label_column {
white-space: nowrap;
}
.MatrixContent tr.DataA {
color: inherit;
background-color: #FFF;
}
.MatrixContent tr.DataB {
color: inherit;
background-color: #DAE6F6;
}
.MatrixContent tr.DataA:hover,
.MatrixContent tr.DataB:hover {
color: inherit;
background-color: #BDD0F0;
}
.MatrixContent td {
border-color: #3D6474;
border-style: solid;
border-top-width: 0;
border-bottom-width: 0;
border-left-width: 1px;
border-right-width: 1px;
padding-left: 1px;
padding-right: 1px;
}
.MatrixContent .error {
color: #F00;
}
.MatrixContent td.footer {
width: 100pt;
}
/* Web Page White Background */
.document div.page {
background-color: white;
}
.document div.page div {
color: black;
}
/* Listbox missing search criterion table row*/
.listbox_missing_search_criterion {
background-color: white;
}
.listbox_missing_search_criterion td{
text-align: center!important;
}
.hidden_label > label {
display:none;
}
/* DMS PDF navigation
XXX: probably part of erp5_dms.bt5 */
div.pdf-preview-navigation img{
width: 22px;
height: 22px;
margin-right: 1px;
background-repeat: no-repeat;
vertical-align: middle;
}
div.pdf-preview-navigation img.shaded{
opacity: 0.2;
}
div.pdf-preview-navigation img.first{
background-image:url("images/2leftarrowb.png");
}
div.pdf-preview-navigation img.previous{
background-image:url("images/1leftarrowb.png");
}
div.pdf-preview-navigation img.next{
background-image:url("images/1rightarrowb.png");
}
div.pdf-preview-navigation img.last{
background-image:url("images/2rightarrowb.png");
}
.horizontal_align_form_box > div.input {
float: right;
width: 70%; /* because label width is 30%*/
}
.horizontal_align_form_box > div.input > fieldset > div.field {
clear: none;
float: left;
width: auto;
}
.horizontal_align_form_box > div.input > fieldset > div.field > label {
width: auto;
padding-top: 2px;
}
table.listbox tr.DataRed {
color: inherit;
background-color: #ff8651;
}
table.listbox tr.DataPink {
color: inherit;
background-color: #f5a9f2;
}
/*
Copyright (c) 20xx-2006 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
function submitAction(form, act) {
form.action = act;
form.submit();
}
// This function will be called when the user click the save button. As
// submitAction function may have changed the action before, it's better to
// reset the form action to it's original behaviour. This is actually
// usefull when the user click the back button.
function clickSaveButton(act) {
changed = false;
document.forms[0].action = act;
}
// The first input element with an "autofocus" class will get the focus,
// else if no element have autofocus class, the first element which is not the
// search field will get the focus. This is generally the title input text of
// a view
function autoFocus() {
var first_autofocus_expr = ".//input[@class='autofocus']"
var FIRST_RESULT = XPathResult.FIRST_ORDERED_NODE_TYPE
var input = document.evaluate(first_autofocus_expr, document, null, FIRST_RESULT, null).singleNodeValue;
if (input) {
input.focus();
}else{
// The following is disabled, because it is too annoying to have an auto focus at everywhere.
//var first_text_input_expr = ".//input[@type='text'][@name != 'field_your_search_text']"
//var first_text_input = document.evaluate(first_text_input_expr, document, null, FIRST_RESULT, null).singleNodeValue;
//if (first_text_input){
// first_text_input.focus();
//}
}
}
function buildTables(element_list, rowPredicate, columnPredicate,
tableClassName) {
/* Generic code to build a table from elements in element_list.
* XXX: not used anymore ?
* rowPredicate(element) -> bool
* When it returns a true value, a new line is started with element.
* When is returns a false value, element is skipped.
* columnPredicate(element, initial_element) -> bitfield
* bit 3: end_table (if true, imlies end_row)
* End current table.
* bit 2: end_row
* End current row.
* bit 1: use_element
* Element passed to columnPredicate will be put in current row.
* Hardcoded:
* - items in a table line must be siblings in existing DOM
* - table is put in place of first element of the first row
*/
var element_index = 0;
while (element_index < element_list.length) {
var row_list = [];
var end_table = false;
while ((!end_table) && element_index < element_list.length) {
var row_begin = element_list[element_index];
if (rowPredicate(row_begin)) {
var item_list = [row_begin];
var row_item = row_begin;
var end_line = false;
while ((!end_line) && (row_item = row_item.nextSibling) != null) {
var predicate_result = columnPredicate(row_item, row_begin)
if ((predicate_result & 1) != 0)
item_list.push(row_item);
end_table = ((predicate_result & 4) != 0);
end_line = ((predicate_result & 6) != 0);
}
row_list.push(item_list);
}
element_index++;
}
/* Do not create a table with just one cell. */
if ((row_list.length > 1) ||
(row_list.length == 1 && row_list[0].length > 1)) {
var first_element = row_list[0][0];
var container = first_element.parentNode;
var fake_table = document.createElement("table");
var i;
var j;
fake_table.className = tableClassName;
container.insertBefore(fake_table, first_element);
for (i = 0; i < row_list.length; i++) {
var fake_row = document.createElement("tr");
var row_element_list = row_list[i];
for (j = 0; j < row_element_list.length; j++) {
var fake_cell = document.createElement("td");
fake_cell.appendChild(row_element_list[j]);
fake_row.appendChild(fake_cell);
}
fake_table.appendChild(fake_row);
}
}
}
}
function matchLeftFieldset(element) {
// XXX: not used anymore ?
return (element.tagName == "FIELDSET" &&
element.className.toLowerCase().indexOf('left') != -1)
}
function matchRightFieldset(element, ignored) {
// XXX: not used anymore ?
if (element.tagName == "FIELDSET" &&
element.className.toLowerCase().indexOf('right') != -1)
return 7; /* End row, table and use element */
return 0;
}
function fixLeftRightHeightAndFocus(fix_height) {
if (fix_height == 1) {
var right_xpath = "following-sibling::fieldset[contains(@class, 'right')]";
var matched_left_element_list = document.evaluate("//fieldset[contains(@class, 'left') and " + right_xpath + "]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var element_index;
for (element_index = 0; element_index < matched_left_element_list.snapshotLength; element_index++) {
var element = matched_left_element_list.snapshotItem(element_index);
var right = document.evaluate(right_xpath, element, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
var cell;
var row = document.createElement("tr");
var table = document.createElement("table");
table.className = "fake";
element.parentNode.insertBefore(table, element);
cell = document.createElement("td");
cell.appendChild(element);
row.appendChild(cell);
cell = document.createElement("td");
cell.appendChild(right);
row.appendChild(cell);
table.appendChild(row);
}
}
autoFocus();
}
// This function can be used to catch ENTER pressed in an input
// and modify respective main form action
// if clear_changed_flag is set to true, changed will be set to false, so no
// warning message about unsaved changes will be displayed
function submitFormOnEnter(event, form, method_name, clear_changed_flag, element){
if (clear_changed_flag == null){ clear_changed_flag = false; }
if(event.keyCode == 13){
if (form == "main_form") {
form = document.forms[form]; // backward compatibility
}
form.action = method_name;
if (clear_changed_flag==true) {
changed = false;
}
form.submit();
}
}
var old_index=0;
function shiftCheck(evt) {
/*Uncheck all checkboxes from last unchecked one in
business template Install / Update / Reinstall dialog.
*/
evt=(evt)?evt:event;
var target=(evt.target)?evt.target:evt.srcElement;
// remove "checkbox" part from ID
// This part can be reused easilly by usual left column
var target_index= target.id.substr(8);
if(!evt.shiftKey) {
old_index= target_index
check_option = target.checked;
return false;
}
target.checked=1;
var low=Math.min(target_index , old_index);
var high=Math.max(target_index , old_index);
for(var i=low;i<=high;i++) {
$("#checkbox" + i).attr("checked", false);
}
return true;
}
var indexAllCheckBoxesAtBTInstallationOnLoad = function() {
// This Part is used basically for Business Template Installation.
$("input.shift_check_support").each(
function(index){$(this).attr("id", "checkbox"+index);});
//var inputs = window.getElementsByTagAndClassName("input", "shift_check_support");
//for(i=0;i<=inputs.length-1;i++) {inputs[i].id = "checkbox" + i; }
}
var resizeIFrameOnLoad = function() {
/* Resize all frames in document in order to remove sliders */
var object_list = $("object.auto_height");
for( var i=0; i<object_list.length; i++) {
var object_document = object_list[i];
var inner_frame = object_document.contentDocument;
if (inner_frame){
object_document.style.height = inner_frame.documentElement.offsetHeight + 'px';}
}
}
var changed = false;
function installUnsavedChangesWarning(warning_message) {
window.onbeforeunload = function() {
if ((changed)&&($("button.save")))
// show an warning box only if save button do exists
return warning_message;
};
};
var addOnChangeEventHandler = function() {
/* Add a onchange event handler for all fields inputs.
This event handler set a dirty flag which cause a warning
while leaving the page, unless leaving by:
- saving (see clickSaveButton function from this file)
- clicking a relation field wheel
- clicking on a input with type submit
*/
//var master = document.getElementById("master");
var master = $("#master");
if (master) {
//divs = master.getElementsByTagName("div");
divs = master.find("div");
for (i=0; i<divs.length; i++) {
if (divs[i].getAttribute("class") == "input") {
nodes = divs[i].childNodes;
for (j=0; j<nodes.length; j++) {
if (nodes[j].nodeName == "INPUT" ||
nodes[j].nodeName == "SELECT" ||
nodes[j].nodeName == "TEXTAREA") {
if (nodes[j].value == "update..." ||
(nodes[j].nodeName == "INPUT" &&
nodes[j].type == 'submit')) {
// this is a relation field wheel or a submit form button
nodes[j].onclick = function() { changed = false;};
} else {
if (!nodes[j].onchange) {
nodes[j].onchange = function() { changed = true; };
}
}
}
/* Listbox or MatrixBox */
if (nodes[j].nodeName == "DIV" && (
nodes[j].getAttribute("class") == "listbox-container" ||
nodes[j].getAttribute("class") == "MatrixContent")) {
trs = nodes[j].getElementsByTagName('td');
for (k=0; k<trs.length; k++){
if (trs[k].getAttribute("class") == "listbox-search-line") {
continue;
}
inputs = trs[k].getElementsByTagName('input');
for (l=0; l<inputs.length; l++){
if (inputs[l].getAttribute("type") != "hidden" &&
!inputs[l].onchange) {
inputs[l].onchange = function() { changed = true; };
}
}
}
}
}
}
}
}
}
var rewriteIndentedSelect = function() {
/*
Under firefox, rewrite indented title categories using style definition.
This way we can select items by pressing the first letter of their name. */
var master = $("#master");
if (master){
selects = master.find("select");
for (i=0; i<selects.length; i++) {
options = selects[i].childNodes;
for (j=0; j<options.length; j++) {
if (options[j].nodeName != "OPTION") {
continue;
}
text = options[j].innerHTML;
if (text.substring(0, 1) == '\n') {
text = text.substring(1, text.length);
}
level = 0;
if (text.substring(0, 6) == '&nbsp;') {
for (idx=0; idx <= text.length; idx+=6) {
if (text.substring(idx, idx+6) == '&nbsp;') {
level += 1;
} else {
break;
}
}
}
if (level >= 1) {
level = level / 4.;
options[j].innerHTML = text.replace(/^(&nbsp;)+/, "");
options[j].style.paddingLeft = level+"em";
}
}
}
}
}
function queryStringToArray(query_string){
/*
Turn a query string into a "dictionary"
*/
var final ={};
var b = query_string.split('&');
$.each(b, function(x,y){
var temp = y.split('=');
final[temp[0]] = temp[1];});
return final
}
function submitLinkAsHtmlForm(event){
/*
Parse link into form arguments and pass everything as a
form (together with rest of page's input elements).
*/
url = $(this).attr("href")
form = $("form")
method = url.substring(0, url.indexOf('?'))
query_string = url.substring(url.indexOf('?')+1)
params = queryStringToArray(query_string)
$.each(params, function(key, value) {
if (!$('*[name="' + key + '"]').length){
// key not part of HTML namespace
form.append('<input type="hidden" name="' + key+ '" value="' + value + '">');
}});
// submit form
form.attr("action", method)
form.submit()
event.stopPropagation()
return false;
}
function redirectPDFPage(event, element){
/*
Used in PDF thumbnail preview mode
*/
if(event.keyCode == 13){
selection_index = parseInt($(element).val()) - 1;
window.location.href = "PDF_viewHTMLPreviewAsImage?selection_index=" + selection_index;
return false;
}
}
if (navigator.userAgent.toLowerCase().indexOf('firefox') != -1)
$(document).ready(rewriteIndentedSelect);
$(document).ready(resizeIFrameOnLoad);
$(document).ready(addOnChangeEventHandler);
$(document).ready(indexAllCheckBoxesAtBTInstallationOnLoad);
#gadget_area_wrapper {
margin-top: 0.5em;
}
#page_wrapper {
text-align: left;
margin: 0em;
padding: 0em;
padding-top: 0em;
background-color: inherit;
min-height: 500px;
width: 100%;
float:left;
margin-top: 0.5em;
}
#loading-wrapper{
position:absolute;
width:250px;
top:80px;
left:50%;
margin-left:-150px;
text-align:center;
padding:7px 0 0 0;
background-color: #FFF;
z-index:1000;
}
#loading-wrapper p{
font-weight: bold;
font-size: 90%;
}
.invisible-gadget{
display:none;
}
/* 3 columng gadget layout */
div.portal-column {
float: left;
width:32.9%;
margin-right:3px;
min-height: 200px;
}
/* Boxes */
div.block {
margin:1px 1px 3px;
padding: 0px;
width: 100%;
}
div.pad-actions{
float:left;
}
h3.handle {
margin: 0;
padding: 0 0 0 10px;
font-size: 14px;
color: #fff;
background: transparent url(images/tab_left_selected.png) no-repeat scroll left top;
border-bottom: 1px solid #3D6474;
}
h3.handle span.handle {
display: block;
min-height:20px;
padding: 5px 5px 0 0;
background: transparent url(images/tab_right_selected.png) no-repeat scroll right top;
}
div.block h3 span.gadget_title{
min-width: 100px;
}
/* Minimize, Edit, Remove images */
span.clickable_image{
cursor: pointer;
margin-top: 5px;
display: block;
float: left;
}
#tabs li span.rename_tab_dialog_image{
background: url("icon_edit.gif") no-repeat;
padding-right: 6px;
}
#tabs li span.remove_tab_dialog_image{
background: url("icon_remove.gif") no-repeat;
padding-right: 6px;
}
a.clickable-block{
display: block;
float: right;
width: 15px;
height: 15px;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
padding: 0em;
margin: 0;
}
a.block-remove {
background-image: url(icon_remove.gif);
}
a.block-minimize {
background-image: url(icon_minimize.gif);
}
a.block-edit-form {
background-image: url(icon_edit.gif);
}
.block-hover {
border: 2px dashed #f00;
}
span.handle,
h3.handle {
cursor: move;
}
/* In edit form disable border */
div.edit-form fieldset{
border: 0px solid black;
}
div.edit-form button{
margin-top: 0.5em;
}
div.edit-form {
padding-top: 0.5em;
padding-left: 1em;
padding-bottom: 0.5em;
border: solid black;
border-width: 0 1px 1px 1px;
background-color: #BDD0F0;
overflow: auto;
width:auto;
}
/* Tabs for Knowledge Pads */
#pad-navigation-wrapper{
margin-top:10px;
border-bottom:1px solid #3D6474;
height:25px;
width:100%;
}
#tabs {
padding-left: 0em;
float: left;
width:78%;
}
#tabs ul {
margin : 0em;
padding: 0em;
width: 100%;
list-style-image: none;
list-style-position: outside;
list-style-type: none;
}
li.tab {
display: block;
font-size: 12px;
float: left;
height: 24px;
padding-right: 5px;
background-color: #BDD0F0;
cursor: pointer;
border: 1px solid #3D6474;
margin-right: 1px;
}
#tabs li span{
padding: 0px 10px;
display: block;
float: left;
height: 19px;
padding-top: 5px;
}
/* Selected tabs should be 1px higher in order to hide border at bottom */
li.tab_selected {
font-weight: bold;
background-color: #DAE6F6;
border-bottom: 1px solid #DAE6F6;
}
/* without this declaration IE will hide draggable elements!*/
.content .field{
position: static;
clear:both;
}
/* Dialogs */
div.toggable_dialog{
display: none;
left: 400px;
position: absolute;
top: 75px;
z-index: 10000;
border: 5px solid #BDD0F0;
background-color: #97B0D1;
padding: 0em 1em 0.5em 1em;
}
#add-gadgets{
cursor: pointer;
}
#add_new_tab_dialog_link{
cursor: pointer;
font-weight: bold;
background: transparent;
display: block;
float: left;
font-weight: bold;
height: 19px;
padding-top: 5px;
padding-left: 5px;
margin-left: 5px;
border-style: none;
}
#create_own_pad_dialog_link{
cursor: pointer;
background: url("images/configure.png") no-repeat !important;
display: block;
float: left;
height: 22px!important;
width:22px!important;
padding-top: 5px;
padding-left: 5px;
margin-left: 5px;
border-style: none;
}
#tabs_switcher{
cursor: pointer;
font-weight: bold;
background: transparent;
padding-top: 5px;
border-style: none;
margin: 0em;
width: 10%;
float:left
}
#add_new_gadget_link{
font-weight: bold;
height: 20px;
text-align:right;
padding-top:5px;
float:right;
width:12%;
}
/* Draggable Area */
div.draggable_wrapper{
background-color: #FFFFFF;
}
div.wait_block {
text-align: center;
padding: 2em;
}
div.box_inner_content {
background-color:#FFFFFF;
padding: 0.1em;
clear:left;
overflow: visible;
}
div.box_inner_content ol{
margin-top: 0em;
}
/* seperate gadget tables from rest of ERP5*/
div.block div.content{
padding: 0px;
}
div.block table,
div.block table tr,
div.block table tr td{
border: none;
}
/* lisbox style should be square for gadgets */
div.block ul{
list-style-type: square;
}
/*
Gadget listbox CSS
*/
div.block table.listbox .right{
float:right;
}
div.block table.listbox .left{
float:left;
}
div.block .listbox-head{
margin-left:0;
}
div.block div.listbox-head-spacer{
display:none;
}
div.block div.listbox-head-content {
/* background: none;*/
background-color: #E3EAFA;
border: none;
margin-left:0;
padding-left: 10px;
}
div.block table.listbox tr{
margin-top:2px;
}
div.block table.listbox tr.DataB {
background-color:#FFF;
}
div.block div.input{
margin-left:0em;
}
#add-stick-gadget-tool-section{
margin-bottom: 1.5em;
}
/* labels in forms inserted into a gadget should be visible
indedepndantly from fact that master form may use hiddenLabel */
div.block div.hidden_label label,
div.block div.hiddenLabel label{
display: none;
}
/*
Gadgets CSS - use to define gadget specific CSS.
*/
div.block .right{
float:right;
margin-left:5px;
}
div.block div.box_inner_content div.worklist_list ul {
list-style-image:url(bullet.png);
margin:0;
padding-bottom:0.5em;
padding-left:2em;
padding-top:0.5em;
}
div.block div.worklist_list ul li{
overflow: visible;
margin-bottom:5px;
background-color:white;
}
div.block div.worklist_list a{
color:black;
text-decoration:none;
cursor:pointer;
}
div.block div.worklist_list ul li a:hover{
text-decoration:none;
}
/* Some gadgets share same Document_getSummaryAsHTML or RssFeed_getSummaryAsHTML */
div.document-gadget-quick-preview div.teaser{
cursor: pointer;
margin-bottom: 3px;
}
div.document-gadget-quick-preview div.teaser img{
vertical-align:top;
}
div.document-gadget-quick-preview span.document-title,
div.document-gadget-quick-preview span.modification-date{
font-size:1em;
color: #000;
}
/* Some items can be marked as read and we need a way to visualize it */
div.document-gadget-quick-preview div.read span.document-title,
div.document-gadget-quick-preview div.read span.modification-date{
color: #969696;
}
div.document-gadget-quick-preview a.document-link{
color:#000;
font-weight:bold;
}
/* Rss Feed reader gadget needs no listbox headers or
show number of records or show 'No results' as listbox title is used for this */
div.gadget-rss-reader table.listbox thead,
div.gadget-rss-reader div.listbox-number-of-records,
div.gadget-rss-reader table.listbox td.listbox-table-no-result-row,
div.gadget-rss-reader div.listbox-title{
display: none;
}
div.gadget-rss-reader-message{
font-weight:bold;
}
div.gadget-rss-reader .listbox-head-content{
height:auto;
}
div.gadget-rss-reader .listbox-body,
div.gadget-rss-reader .listbox-head{
margin-left:4px;
width:auto;
}
div.gadget-rss-reader div.read{
background-color:#ececec;
}
div.gadget-rss-reader span.modification-date{
color: #969696;
}
div.gadget-rss-reader a.document-link {
color:#000;
}
div.gadget-rss-reader a.listbox_title {
text-decoration: underline;
font-weight:bold;
}
div.rss-description{
margin-top:4px;
}
div.teaser .thumbnail-image{
margin-top:0px;
margin-right:4px;
margin-bottom:4px;
float:left;
}
div.teaser .icon {
vertical-align:middle;
}
/* RSS logo */
div.gadget-rss-reader-logo img{
float:right;
margin:4px;
width:auto;
}
div.gadget-rss-reader div.listbox-head-content {
background-color: transparent;
padding-left:0px;
}
div.gadget-rss-reader .body {
float:left;
}
// global layout is saved here
var last_layout = '';
// current active pad relative url
var active_knowledge_pad_relative_url = '';
var active_knowledge_pad_title_dom_id = '';
// enable or disable integration with server
var is_knowledge_template_used = 0;
// dictionary of invisible gadgets
var invisible_gadgets={};
var create_default_knowledge_pad_script_id = "ERP5Site_createDefaultKnowledgePadListForUser";
var check_for_activities_on_server_script_id = "ERP5Site_hasUserActivity";
var knowledge_box_edit_script_id = "KnowledgeBox_baseEdit";
var knowledge_pad_save_layout_script_id = "KnowledgePad_saveBoxColumnLayout";
var knowledge_pad_delete_box_script_id = "KnowledgePad_deleteBox";
var knowledge_box_toggle_script_id = "KnowledgeBox_toggleVisibility";
var knowledge_pad_rename_script_id = "ERP5Site_renameKnowledgePad";
var knowledge_pad_delete_script_id = "ERP5Site_deleteKnowledgePad";
var add_new_knowledge_pad_script_id = "ERP5Site_addNewKnowledgePad";
var knowledge_pad_as_json_script_id = "KnowledgePad_getPadAsJSON";
var add_new_gadget_form_id = "Base_viewGadgetListDialog";
function createCustomKnowledgePadOnServer(){
$.ajax({url:create_default_knowledge_pad_script_id,
data:{mode: mode,
default_pad_group: default_pad_group},
dataType: "json",
success:function(data){window.location=cancel_url + "/view?active_pad_url=" + data.knowledge_pad_relative_url;}});
}
function showCreateDefaultKnowledgePadWarningMessage(){
user_choice = confirm("In order to complete operation you must have your own tab on server instead of the default one which you are currently using and which you can not change.Is it OK to create new one for you now?");
if (user_choice==true){
createCustomKnowledgePadOnServer();}
}
function createCookie(name, value, days, path) {
if (days){
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();}
else var expires = "";
if (!path){var path='/';}
document.cookie = name+"="+value+expires+"; path="+path;
}
function updater(url, box_relative_url, dom_id,
editable_mode, additionnal_request_params, field_prefix){
/* Get content from server */
request_params = {};
additionnal_request_params = typeof(additionnal_request_params) != 'undefined' ? additionnal_request_params : [];
// getting parameters for the request in the form's hidden inputs
input_list = $("#" + dom_id).find("input");
function extractHiddenInputs(index){
element = $(this);
type = element.attr("type");
name = element.attr("name");
value = element.val();
is_list = name.substring(name.length, name.length - 5) == ":list";
if(type == "hidden"){
if(name == "gadget_form_id"){
// turn 'gadget_form_id' into 'form_id'
request_params["form_id"] = value;}
else if(is_list){
if(typeof(request_params[name]) == "undefined"){
request_params[name] = new Array()}
request_params[name].push(value);}
else{
// not list input
request_params[name] = value;}
}}
input_list.each(extractHiddenInputs);
// we can have a field_prefix which allows multiple gadgets within same HTML form
if (field_prefix){
$.each(request_params,
function (key, value){
if (key.match("^"+field_prefix)){
delete request_params[key];
request_params[key.replace(field_prefix,'')] = value;
}});
}
// getting parameters for request from the parameter additionnal_request_params
$.each(additionnal_request_params,
function (key, value){request_params[key] = additionnal_request_params[key];});
request_params["box_relative_url"] = box_relative_url;
request_params["is_gadget_mode:int"] = 1;
request_params["editable_mode:int"] = editable_mode;
// set transperancy to show an activity is going on
$("#" + dom_id).css("opacity", 0.5);
$.ajax({url:url,
data: request_params,
success: handleServerSuccess,
error: handleServerError,
// it's important for Zope to have traditional way of encoding an URL
traditional: 1});
function handleServerSuccess(data, text_status, xhr){
content_type = xhr.getResponseHeader('Content-Type');
if(content_type.search("application/json")!=-1){
// server returned JSON which may contain HTML & JavaScript
html = data['body'];
eval(data['javascript']);}
else{
/* server returned HTML */
html = data;}
$("#" + dom_id).html(html);
$("#" + dom_id).css("opacity", 1.0);
}
function handleServerError(res){
$("#" + dom_id).html("Server side error.");
$("#" + dom_id).css("opacity", 1.0);
}
}
function checkForActivitiesOnServer(timeout, return_url, mode, default_pad_group){
/* check if activities are over and refresh current page */
window.setInterval(
function () {
$.ajax({url:check_for_activities_on_server_script_id,
data: {js_call: 1,
mode: mode,
default_pad_group: default_pad_group},
dataType: "json",
success: function (data){if(data.result=="False"){window.location=return_url;}}
})},
timeout);
};
function createDefaultPadOnServer(timeout, default_pad_group, return_url, mode){
/* create default tab on server and then check if
activities are over and refresh current page */
$.ajax({url: create_default_knowledge_pad_script_id,
data: {default_pad_group: default_pad_group,
mode: mode},
success: function(data){checkForActivitiesOnServer(timeout, return_url, mode, default_pad_group);}});
}
function submitGadgetPreferenceFormOnEnter(event,
form_fields_main_prefix,
box_relative_url,
edit_form_id){
/* This function can be used to submit gadget preferences form whenever
an enter is pressed in form */
if(event.keyCode == 13){submitSynchronousGadgetPreferenceForm(form_fields_main_prefix,
box_relative_url,
edit_form_id);}
}
function submitSynchronousGadgetPreferenceForm(
form_fields_main_prefix,
box_relative_url,
edit_form_id){
/* this will add respective gadget knowledge box relative url and
gadget ERP5 preference form field_prefix (so multiple gadgets can
safely coexist in one HTML page with one HTML form */
redirect_url = window.location.protocol + "//" + window.location.host + window.location.pathname
$("form").append('<input type="hidden" name="box_relative_url" value="' +box_relative_url + '">')
$("form").append('<input type="hidden" name="form_fields_main_prefix" value="' +form_fields_main_prefix + '">')
$("form").append('<input type="hidden" name="gadget_redirect_url" value="' +redirect_url + '">')
$("form").append('<input type="hidden" name="form_id" value="' +edit_form_id + '">')
clickSaveButton(knowledge_box_edit_script_id)
}
function submitAsynchronousGadgetPreferenceForm(
form_dom_id,
view_form_url,
box_relative_url,
visual_block_dom_id,
form_fields_main_prefix,
edit_form_id){
/* Iterate over all possible form elements within edit form,
collect them and send to server*/
var request_str = "synchronous_mode:int=0&" + "box_relative_url=" + box_relative_url+ "&form_fields_main_prefix=" + form_fields_main_prefix + "&form_id="+edit_form_id + "&";
//input tags
$("#" + form_dom_id).find("input").each(
function (index) {
element = $(this);
type = element.attr("type");
name = element.attr("name");
is_checked = element.attr("checked");
value = element.val()
if (type == "checkbox"){
if (is_checked){request_str+=name + ":boolean=True&";}
else {request_str+=name + ":boolean=False&";}}
if (type == "radio" && is_checked){request_str+=name + "="+value+"&";}
if (type == "text" || type == "password"){request_str+=name + "=" + value + "&";}
} );
// select tags
$("#" + form_dom_id).find("select").each(
function (index) {
element = $(this);
name = element.attr("name");
is_multiple = element.attr("multiple");
value = element.val()
if (is_multiple){
//support multifield selects in gadget edit form
element.children("option").each(
function (index) {
option = $(this);
if(option.attr("selected")){request_str+=element.attr("name") + '=' + option.val() + '&';}
}); }
else{request_str+=name + '=' + value + '&';} });
// save form preferences to remote server
$.ajax({url: knowledge_box_edit_script_id + "?" + request_str,
dataType: "json",
success: function (data){
if (data.validation_status){
// server side validation passed
updater(view_form_url, box_relative_url, visual_block_dom_id)
$("#" + form_dom_id).toggle()
// clean error messages
$("#" + form_dom_id + " span.error").remove()
}
else{
// server side validation failed show error message
$("#" + form_dom_id + " div.edit-form-content").html(data.content)
}
} });
}
function updateServerBoxColumnLayout(event, ui){
/* read columns structure from DOM and save it to server */
var columns_arr = new Array;
var columns = $("div.portal-column");
// sort alphabetically as it's required to get proper layout from DOM
columns.sort(function(a, b) {
var compA = $(a).attr("id").toUpperCase();
var compB = $(b).attr("id").toUpperCase();
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;})
columns.each(function(column_index, column){
column = $(this);
var items_arr = new Array;
column_items = column.find("div.block");
column_items.each(function(box_index, box){
items_arr[box_index] = column_items[box_index].id;});
columns_arr[column_index] = items_arr.join('|') });
var layout = columns_arr.join("##");
// .. and send it to server only if it's different
if (layout!=last_layout){
last_layout = layout;
$.ajax({url: knowledge_pad_save_layout_script_id,
data: {user_layout: layout}});}
}
function showAddNewPadPopup(){
$("#add_new_tab_dialog").toggle();
// set focus on new Pad title after toggle effect is over
setTimeout("$('#new_pad_title').focus()", 500 );
}
function showRenamePadPopup(knowledge_pad_relative_url, knowledge_pad_title_dom_id){
// set current active pad' url & title dom element id
active_knowledge_pad_relative_url = knowledge_pad_relative_url;
active_knowledge_pad_title_dom_id = knowledge_pad_title_dom_id;
// init rename dialog input field to current active pad
$("#new_knowledge_pad_title")[0].value = $("#"+knowledge_pad_title_dom_id)[0].innerHTML;
// show rename dialog
$("#rename_tab_dialog").toggle();
// set focus on new Pad title after toggle effect is over
setTimeout("$('#new_knowledge_pad_title').focus()", 500);
}
function loadPadFromServer(pad_relative_url, selected_pad_dom_id, mode){
/* Load Pad from server */
// show some animation
$("#loading-wrapper").first().show()
$.ajax({url: knowledge_pad_as_json_script_id,
data: {pad_relative_url: pad_relative_url,
mode: mode},
dataType: "json",
success: handleServerSuccess});
// set old pad to not selected
old_selected_pad = $("#tabs ul").children("li.tab_selected").first()
old_selected_pad.removeClass("tab_selected");
old_selected_pad.addClass("tab");
pad_actions = old_selected_pad.children("div.pad-actions").first();
pad_actions.hide();
// set new selected pad class
new_selected_pad = $("#" + selected_pad_dom_id).first();
new_selected_pad.addClass("tab_selected");
// enable "settings" for this pad and hide instant switch
pad_actions = new_selected_pad.children("div.pad-actions").first()
pad_actions.show()
// set new active pad
active_knowledge_pad_relative_url = pad_relative_url;
// update "Add Gadget" link
current_url = $("#add-gadgets").attr("href");
new_url = current_url.substring(0, current_url.indexOf("active_pad_relative_url=")+24)+active_knowledge_pad_relative_url
$("#add-gadgets").attr("href", new_url);
//function metadataFetchFailed(meta){}
function handleServerSuccess(data){
body = data.body
javascript = data.javascript
body_element = $("#pad-body-wrapper")[0]
body_element.innerHTML = body;
// init new Pad
initialize();
// execute JS code provided by server
eval(javascript);
// give some timeout as we can be sometimes two fast loading a tab
setTimeout("$('#loading-wrapper').first().hide();", 250 );};
}
function addPadOnServerOnEnter(event, mode, cancel_url){
/* Catch and submit form when ENTER is pressed */
if(event.keyCode == 13){
addPadOnServer(mode, cancel_url);
return false;}
}
function addPadOnServer(mode,
cancel_url){
/* add pad on server */
pad_title_value = $("#new_pad_title").first().val();
window.location = add_new_knowledge_pad_script_id + "?redirect_url=" + cancel_url + "&mode=" + mode + "&pad_title=" + pad_title_value;
};
function removeKnowledgePadFromServer(knowledge_pad_relative_url, mode){
/* remove pad from server*/
if (is_knowledge_template_used){
showCreateDefaultKnowledgePadWarningMessage();}
else{
var user_choice = true;
user_choice = confirm("Are you sure you want to remove this pad from your home?");
if (user_choice==true){
location.href=knowledge_pad_delete_script_id + "?knowledge_pad_relative_url=" + knowledge_pad_relative_url+"&mode="+mode;} }
}
function renameKnowledgePadToServerOnEnter(event){
if(event.keyCode == 13){
renameKnowledgePadToServer();
return false;}
return true;
}
function renameKnowledgePadToServer(){
if (is_knowledge_template_used){
showCreateDefaultKnowledgePadWarningMessage();}
else{
// rename it locally and update server asynchonously
title_element = $("#"+active_knowledge_pad_title_dom_id).first()
input_element = $("#new_knowledge_pad_title")
var knowledge_pad_title = input_element.val();
title_element.html(knowledge_pad_title);
$.ajax({url: knowledge_pad_rename_script_id,
data: {knowledge_pad_relative_url: active_knowledge_pad_relative_url,
knowledge_pad_title: knowledge_pad_title}});
}
$("#rename_tab_dialog").toggle();
}
function initialize(){
// initialize sortable columns
if (is_knowledge_template_used==0){
// allow drag and drop only if we are dealing with a pad we can modify
sortable_list = $("div.portal-column");
function makeSortables(index){
element = $(this);
if (element.attr("class") == "portal-column"){
// eliminate undraggable columns by checking exact match
element.sortable({handle: "h3.handle",
connectWith: sortable_list,
placeholder: "block-hover",
forcePlaceholderSize: 1,
opacity: 0.8,
containment: "document",
delay: 100,
stop: updateServerBoxColumnLayout});} }
if (sortable_list!=null) sortable_list.each(makeSortables);
}
// enable show/hide tabs
gadgets_tabs = $("#tabs");
gadgets_tabs_switcher = $("#tabs_switcher");
add_gadget = $("#add_new_gadget_link");
function toggleTabNavigation(){
/* Toggle tabs navigation */
var is_tabs_visible=0;
if($("#tabs").css("display")!="block"){
is_tabs_visible=1;
$("#tab_switcher_visible").show();
$("#tab_switcher_hidden").hide();}
else{
$("#tab_switcher_visible").hide();
$("#tab_switcher_hidden").show();}
$("#tabs").toggle();
createCookie("is_tabs_visible", is_tabs_visible, 365); }
function bindGadgetHandlers(index, box){
/* Bind all gadgets handlers */
box = $(this)
var edit = box.find("a.block-edit-form").first();
var edit_form = box.find("div.edit-form").first();
var remove = box.find("a.block-remove").first();
var minimize = box.find("a.block-minimize").first();
var minimize_wrapper = box.find("div.minimize_wrapper").first();
if(minimize){
minimize.unbind("click");
minimize.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{
minimize_wrapper.toggle();
box_id = box.attr("id")
js_dom_id = box_id + "_content";
js_code = invisible_gadgets[js_dom_id];
if (js_code!=undefined){
eval(js_code);
// gadget is now visible, i.e. no need to query server just toggle locally dom
delete invisible_gadgets[js_dom_id];}
$.ajax({url: knowledge_box_toggle_script_id,
data: {box_relative_url: box_id}});
}
});}
if(edit){
edit.unbind("click");
edit.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{edit_form.toggle()}});}
if(remove){
remove.unbind("click");
remove.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{
user_choice = confirm("Are you sure you want to remove this gadget from your personalized page?");
if (user_choice==true){
box_id = box.attr("id");
box.toggle();
$.ajax({url: knowledge_pad_delete_box_script_id,
data: {box_relative_url: box_id}});}
}});}
}
// tabs navigation
if(gadgets_tabs_switcher){
gadgets_tabs_switcher.unbind("click");
gadgets_tabs_switcher.bind("click", toggleTabNavigation);}
// for each box (gadget) add respective event handlers
gadget_list = $("div.block");
if (gadget_list!=null){
gadget_list.each(bindGadgetHandlers);
// when dom is loaded we need to remove all gadget's scripts otherwise currently when a gadget is moved
// its HTML is getting executed again, thus making unecessary calls to server, etc ...
gadget_list.each(
function (index, box){ $(this).find("script").remove();});
}
}
// call function after load of document
$(document).ready(initialize);
/*
Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
Ivan Tyagov <ivan@nexedi.com>
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* Search popup fix*/
div.search_popup{
left:200px;
position:absolute;
top:-120px;
width:250px;
}
div.listbox-container{
width: 100%;
height: auto;
float:left;
margin-bottom:5px;
}
div.listbox-body{
float:left;
width: 100%;
}
div.listbox-tree{
margin-right: 0.1%;
max-width: 10%;
float: left;
}
div.listbox-content{
float:left;
width:100%;
}
div.maximal-width{
width:100%;
}
div.float-right{
float:right;
}
div.listbox-content-fixed-width{
width:89%;
}
table.listbox td.listbox-table-no-result-row{
border: 1px solid #3D6474;
text-align:center;
}
table.listbox tr.listbox-stat-line{
border-top: 1px solid #3D6474;
}
table.listbox tr.listbox-search-line {
background-color: #DAE6F6;
}
div.listbox-head{
color:#9D968D;
margin-left:-1px;
}
div.listbox-head-spacer{
background:transparent url("images/tab_left_selected.png") no-repeat scroll left top;
height:36px;
width:10px;
float:left;
}
div.listbox-head-content{
border-right:1px solid #3D6474;
border-top:1px solid #3D6474;
height:25px;
margin-left:10px;
padding-top:10px;
padding-right: 5px;
width:auto;
background-color: #e3eafa;
}
div.listbox-head div.listbox-head-title{
float:left;
width:auto;
}
div.listbox-head div.listbox-head-navigation{
float:right;
width:auto;
}
div.listbox-head div.listbox-head-results{
float: right;
width: auto;
clear: right;
text-align:right;
}
div.listbox-tree-mode-selection{
height: 22px;
width: auto;
float: left;
}
div.listbox-tree-mode-selection input{
width: auto;
}
th.listbox-table-report-tree-selection-cell{
width: 50px;
}
/* Listbox header */
div.listbox-header-box{
width: auto;
float:left;
padding-right: 5px;
}
/* Listbox Footer */
div.listbox-footer{
float:left;
width:100%;
text-align: center;
background-color: #BDD0F0;
margin-left:-1px;
}
div.listbox-footer-box{
margin-top:3px;
margin-bottom:3px;
}
/* Listbox Footer in gadget mode */
div.block div.listbox-footer{
background-color: transparent;
}
div.block div.listbox-head-content{
font-size: 90%;
}
div.listbox-title,
div.listbox-number-of-records{
padding-top: 5px;
}
/* List style selection */
div.listbox-list-style-selection {
padding-top:1px;
padding-left: 5px;
}
div.listbox-list-style-selection span{
vertical-align:-4px;
}
div.block div.listbox-list-style-selection span{
padding-left: 0px;
}
div.listbox-list-style-selection ul{
display:inline;
padding-left:0;
margin: 0;
vertical-align: -4px;
}
div.listbox-list-style-selection li{
display: inline;
margin-left: 0.1em;
}
div.listbox-list-style-selection li a{
cursor: pointer;
}
div.listbox-list-style-selection li a.selected,
.listbox-table-report-tree-selection-cell a.selected,
.listbox-table-domain-tree-cell a.selected,
.listbox-page-navigation-text a.selected{
font-weight: bold;
}
/* Domain / Report tree buttons */
button.tree-open,
button.tree-closed{
background: none;
border: none;
cursor: pointer;
padding-left: 15px;
text-align: left;
}
button.tree-open{
background: url("./images/tree_open.png") no-repeat scroll left 4px transparent;
font-weight: bold;
}
button.tree-closed{
background: url("./images/tree_closed.png") no-repeat scroll left 4px transparent;
}
/* Listbox full text search bar */
div.listbox-full-text-search {
}
div.listbox-full-text-search input{
width: 250px;
}
div.listbox-full-text-search input.button{
background-color: #97B0D1;
border: 0 none;
color:#000;
width: auto;
padding-left: 10px;
padding-right: 10px;
cursor: pointer;
}
/* Listbox Navigation */
div.listbox-page-navigation input.listbox_set_page,
div.listbox-page-navigation button.listbox_next_page,
div.listbox-page-navigation button.listbox_last_page,
div.listbox-page-navigation button.listbox_first_page,
div.listbox-page-navigation button.listbox_previous_page{
margin: 0em;
padding: 0em;
}
div.listbox-page-navigation button{
background-color:transparent;
border: none;
cursor: pointer;
}
div.listbox-page-navigation button span.image{
display:block;
height:22px;
width:22px;
background-repeat:no-repeat;
}
div.listbox-page-navigation button.listbox_first_page span.image {
background-image:url("images/2leftarrowv.png");
}
div.listbox-page-navigation button.listbox_previous_page span.image {
background-image:url("images/1leftarrowv.png");
}
div.listbox-page-navigation button.listbox_next_page span.image {
background-image:url("images/1rightarrowv.png");
}
div.listbox-page-navigation button.listbox_last_page span.image {
background-image:url("images/2rightarrowv.png");
}
div.listbox-page-navigation-slider{
width:100%;
margin:auto;
padding-right: 0.5em;
float:right;
}
div.listbox-page-navigation-slider input{
max-width: 30px;
}
div.listbox-page-navigation-text{
width:100%;
float:left;
text-align:center;
}
div.listbox-page-navigation-text a{
padding-right: 1px;
color: #000;
cursor: pointer;
}
/* Report tree */
a.tree-closed {
background:transparent url('./images/tree_closed.png') no-repeat scroll left center;
padding-left:15px;
}
a.tree-open {
background:transparent url('./images/tree_open.png') no-repeat scroll left center;
padding-left:15px;
font-weight: bold;
}
div.listbox-tree select{
/* max-width:120px; */
}
/* Table Listbox elements */
table.listbox{
border-collapse:collapse;
width:100%;
border-color:#3D6474;
border-style:solid;
border-width:0 1px 1px;
margin-bottom: 0em;
}
table.listbox th,
table.listbox td {
text-align:left;
vertical-align: top;
border-color:#3D6474;
border-style:solid;
border-width:0 1px;
padding: 0em;
padding-left:1px;
padding-right:1px;
font-weight: normal;
}
table.listbox tr.listbox-label-line{
background-color:#C1DAEB;
color:#001730;
border-top: 1px solid #3D6474;
}
table.listbox tr.listbox-search-line th{
margin: 0em;
padding: 0em;
padding-right:5px;
padding-left:1px;
}
/* Select columns */
table.listbox tr.listbox-label-line th.listbox-table-select-cell,
table.listbox tr.listbox-search-line th.listbox-table-select-cell,
table.listbox tr td.listbox-table-select-cell{
width: 50px;
text-align: center;
vertical-align: middle;
padding:0;
margin:0;
}
table.listbox tr.DataA {
color: inherit;
background-color: #FFF;
}
table.listbox tr.DataB {
color: inherit;
background-color: #DAE6F6;
}
table.listbox tr.DataA:hover,
table.listbox tr.DataB:hover,
table.listbox.table tr.tbody:hover{
color: inherit;
background-color: #BDD0F0;
}
table.listbox tr.listbox-search-line th.listbox-table-filter-cell input{
width: 100%;
vertical-align:middle;
}
table.listbox input{
float:none;
}
table.listbox input.listbox-check-all,
table.listbox input.listbox-uncheck-all,
table.listbox input.listbox-select-action{
width:auto;
}
.listbox-table-data-cell > .figure{
float:right;
display:block;
}
.listbox-table-data-cell > a > .figure{
float:right;
display:block;
}
table.listbox th button{
border-width:0;
cursor:pointer;
float:left;
padding:0 6px 0 0;
background: transparent;
}
table.listbox th button.sort-button {
text-decoration: underline;
padding: 0px;
}
table.listbox th button.sort-button:hover{
color: #FFF;
}
/* in ERP5 mode no need to have a switch for not clicked sort button */
table.listbox th button.sort-button-asc,
table.listbox th button.sort-button-desc{
background: none;
}
table.listbox th img.sort-button-desc,
table.listbox th img.sort-button-asc{
width: 13px;
height: 13px;
margin:0;
padding:0;
}
table.listbox th img.sort-button-desc{
background: url('images/1toparrow.png') no-repeat scroll 100% 100%;
}
table.listbox th img.sort-button-asc{
background: url('images/1bottomarrow.png') no-repeat scroll 100% 100%;
}
/* listbox table in thumbnail style
In thumbnail style we usually have only one thumbnail colum which through CSS
we show as floating box table row.
*/
table.listbox-thumbnail tbody tr{
display:block;
width: 128px; /* nano image width. XXX: dynamically generate. */
height:128px; /* nano image height. XXX: dynamically generate. */
float:left;
margin: 10px;
}
table.listbox-thumbnail tr.DataA, table.listbox-thumbnail tr.DataB,
table.listbox-thumbnail tr.DataA:hover, table.listbox-thumbnail tr.DataB:hover{
background-color: transparent; /* in thumbnail mode we don't care for hoover */
}
table.listbox-thumbnail td{
border:none;
}
/* in search mode listbox may contain top/bottom quick search inputs */
div.search-text-listbox{
text-align: center;
float:left;
height:auto;
margin-bottom:0.5em;
margin-top:0.5em;
}
div.search-text-listbox input{
width: auto;
}
/*
Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
//Add indentation to an HTML element
function addIndentation(container, first, level){
var children = container.children;
var text;
var n = children.length;
if(first){
text = container.innerHTML.trim().replace('>', '>\n').split('\n');
var m = text.length;
for(var i = 0; i < m; i++){
text[i] = text[i].trim();
}
}
else
text = container.innerHTML.trim().split('\n');
if(n == 0 && text.length == 1)
container.innerHTML = text[0];
else if(n == 0) {
container.innerHTML = '\n ' + text.join('\n ') + '\n';
}
else {
container.innerHTML = text.join('\n');
text = '';
children = container.childNodes;
n = children.length;
for(var i = 0; i < n; i++){
var child = children[i];
var addNewLine = false;
if(child.nodeType == 1){
text += addIndentation(child, false, 0);
addNewLine = child.tagName.length > 1 && child.tagName != 'P' && i < n - 1;
}
else{
var textNotEmpty = child.textContent.trim() != '';
if(textNotEmpty)
text += child.textContent;
addNewLine = textNotEmpty && child.textContent.search('\n') > -1 && i < n - 1;
}
if(addNewLine)
text += '\n';
}
if(first){
text = container.innerHTML.split('\n');
var result = '\n ';
first = true;
n = text.length;
for(var i = 0; i < n; i++){
if(text[i].trim() != ''){
if(first){
first = false;
result += text[i];
}
else
result += '\n ' + text[i];
}
}
result += '\n';
container.innerHTML = result;
}
else
container.innerHTML = '\n ' + text.split('\n').join('\n ') + '\n';
}
var element = document.createElement('div');
element.appendChild(container.cloneNode(true));
var whitespaces = Array(level + 1).join(' ');
return whitespaces + element.innerHTML.split('\n').join('\n' + whitespaces);
}
function indent(container, level){
return addIndentation(container, true, level);
}
/*
Copyright (c) 2002-2007 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
var fixLeftRightHeightAndFocusOnLoad = function () {
fixLeftRightHeightAndFocus(1);
};
$(document).ready(fixLeftRightHeightAndFocusOnLoad);
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller&ctl=themeroller&ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=DAE6F6&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=3D6474&fcHeader=222222&iconColorHeader=222222&bgColorContent=E3EAFA&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=3D6474&fcContent=222222&iconColorContent=222222&bgColorDefault=DAE6F6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=3D6474&fcDefault=555555&iconColorDefault=888888&bgColorHover=d0e0f6&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=4589a5&fcHover=212121&iconColorHover=454545&bgColorActive=E3EAFA&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=3D6474&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #3d6474; background: #e3eafa url(images/ui-bg_flat_75_e3eafa_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { border: 1px solid #3d6474; background: #dae6f6 url(images/ui-bg_highlight-soft_75_dae6f6_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #3d6474; background: #dae6f6 url(images/ui-bg_glass_75_dae6f6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #4589a5; background: #d0e0f6 url(images/ui-bg_glass_75_d0e0f6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #3d6474; background: #e3eafa url(images/ui-bg_glass_65_e3eafa_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position:}
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
* jQuery UI Resizable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
* jQuery UI Selectable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px d}
/*
* jQuery UI Accordion 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
/*
* jQuery UI Autocomplete 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.16
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*
* jQuery UI Button 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*
* jQuery UI Dialog 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*
* jQuery UI Slider 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
* jQuery UI Tabs 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs--selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*
* jQuery UI Datepicker 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/sorry for IE5
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*
* jQuery UI Progressbar 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
This source diff could not be displayed because it is too large. You can view the blob instead.
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test("")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
#list {
padding:0px;
margin: 0px;
}
#dialog_add_slide, #dialog_edit_slide {
background-color: #DAE6F6;
}
#list section, #add_slide section{
font-family:Arial,Helvetica,sans-serif;
font-size: 14px;
font-weight:bold;
margin: 10px;
padding:8px;
float: left;
width: 100px;
height: 100px;
overflow:hidden;
background-color:#FFFFFF;
border: 2px solid #000000;
vertical-align: middle;
text-align: center;
color:#000000;
}
#add_slide section{
opacity: 0.7;
filter: alpha(opacity=70) ;
filter: "alpha(opacity=70)";
}
#add_slide section:hover{
opacity: 1;
filter: alpha(opacity=100) ;
filter: "alpha(opacity=100)";
}
#list * {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
cursor:move;
}
#list section * {
display:none;
width:0;
}
#list section h1{
display:inline;
font-family:Arial,Helvetica,sans-serif;
font-size: 10px;
font-weight:bold;
vertical-align: middle;
text-align: center;
color:#000000;
padding:0;
margin:0 0 5px 0;
}
#list section img{
display:inline;
width: 100%;
margin:5px 0 0 0;
}
#list div{
display:block;
width: 16px;
height: 16px;
background-repeat:no-repeat;
background-position:center;
background-color: transparent;
-webkit-background-size: 100%;
-moz-background-size: 100%;
-o-background-size: 100%;
background-size: 100%;
cursor:pointer;
opacity: 0;
filter: alpha(opacity=0) ;
filter: "alpha(opacity=0)";
}
#list div:hover{
opacity: 1;
filter:alpha(opacity=100);
filter: "alpha(opacity=100)";
}
#add_slide_button{
background-image: url("lib/powerpoint/images/filenew.png");
background-repeat:no-repeat;
background-position:center;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
cursor:pointer;
}
.remove_slide_button{
background-image: url("lib/powerpoint/images/editdelete.png");
}
.edit_slide_button{
background-image: url("lib/powerpoint/images/exec.png");
}
.slide_dialog iframe{
border:0px;
width: 99%;
height: 99%;
min-height: 480px;
}
/*
Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
var slideList, textContent, testPageHTML, addSlideIframe, addSlideIframeContents, editSlideIframe, editSlideIframeContents, slideNumber;
var $dialogEdit;
function isUrl(s) {
// Test if the string is a URL or a relative path (contains a/b/..)
var regexurl = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexurl.test(s) || (s.split("?")[0].indexOf("/") != -1);
}
//Remove a slide
function removeClick(trigger){
slideNumber = parseInt($(trigger).attr('id').split('_')[2]);
$("#list > section:eq("+slideNumber+")").remove();
$(".remove_slide_button").filter(':last').remove();
$(".edit_slide_button").filter(':last').remove();
updateTextContent();
return false;
}
//Edit a slide
function editClick(trigger){
slideNumber = parseInt($(trigger).attr('id').split('_')[2]);
$dialogEdit.dialog('open');
return false;
}
//Display edit and remove buttons when hovered
function slideHover(trigger){
slideNumber = $('#list > section').index($(trigger));
$('#edit_slide_' + slideNumber).css({'opacity': '.50', 'filter' : 'alpha(opacity=50)'});
$('#remove_slide_' + slideNumber).css({'opacity': '.50', 'filter' : 'alpha(opacity=50)'});
}
//Hide edit and remove buttons when the mouse gets out of the slide
function slideOut(trigger){
slideNumber = $('#list > section').index($(trigger));
$('#edit_slide_' + slideNumber).css({'opacity': '0', 'filter' : 'alpha(opacity=0)'});
$('#remove_slide_' + slideNumber).css({'opacity': '0', 'filter' : 'alpha(opacity=0)'});
}
//Set opacity to maximum when a button is hovered (not possible through pure css, since the buttons are not children of the corresponding slides)
function buttonHover(trigger){
$(trigger).css({'opacity': '1', 'filter' : 'alpha(opacity=100)'});
}
//Set opacity to half once the mouse gets out
function buttonOut(trigger){
$(trigger).css({'opacity': '0.5', 'filter' : 'alpha(opacity=50)'});
}
//Create an empty test
function createTest(){
var table = $('<table>');
var test = $('<test>').append(table);
table.attr('class', "test");
table.attr('cellpadding', "1");
table.attr('cellspacing', "1");
table.attr('border', "1");
table.attr('style', "display:none;");
table.append($('<tbody>'));
return test;
}
//Add template test line to a test
function appendTestLine(test, method, arg0, arg1){
var tr = $('<tr>');
tr.append($('<td>').text(method));
tr.append($('<td>').text(arg0));
tr.append($('<td>').text(arg1));
$('tbody', test).append(tr);
}
//Update HTML content of the test page
function updateTextContent(){
body.empty();
var images = $('#list > section > img');
removeImagesURLAttrib(images,'display');
removeImagesURLAttrib(images,'timestamp');
// changeImagesURLAttrib(images,'format','');
body.append($('#list > section').clone());
// changeImagesURLAttrib(images,'display','xsmall');
body[0].innerHTML = indent(body[0].cloneNode(true), 2);
$(textContent).text(body[0].innerHTML);
}
function updateImageInput(frameContent){
var className = $('select[name="field_your_slide_type"]', frameContent).val();
if (className == 'Screenshot' || className == 'Illustration') {
$('input[name="field_your_image_caption"]', frameContent).parent().parent().removeClass('hidden');
if (!$('input[name="field_your_upload_image"]', frameContent).is(':checked')) {
$('input[name="field_your_image_url"]', frameContent).parent().parent().removeClass('hidden');
}
$('input[name="field_your_upload_image"]', frameContent).parent().parent().removeClass('hidden');
}
else {
$('input[name="field_your_image_caption"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_url"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_id"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_file"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_upload_image"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_upload_image"]', frameContent).attr('checked', false);
}
}
function updateUploadImageInput(frameContent){
var className = $('select[name="field_your_slide_type"]', frameContent).val();
if ($('input[name="field_your_upload_image"]', frameContent).is(':checked')) {
$('input[name="field_your_file"]', frameContent).parent().parent().removeClass('hidden');
$('input[name="field_your_image_url"]', frameContent).parent().parent().addClass('hidden');;
$('input[name="field_your_image_id"]', frameContent).parent().parent().removeClass('hidden')
$('input[name="field_your_image_id"]', frameContent).removeClass('hidden');
var targetFrameContent = frameContent;
image_id = $('input[name="field_your_image_id"]', frameContent).val()
if (isUrl(image_id) || image_id == "") {
get_image_id_url = 'TestPage_getNextImageID?title=' + $('input[name="field_your_chapter_title"]', frameContent).val() + '&slide_type=' + className
$.get(get_image_id_url, function(data, textStatus, jqXHR){
$('input[name="field_your_image_id"]', targetFrameContent).val(data);
});
}
} else {
$('input[name="field_your_file"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_id"]', frameContent).parent().parent().addClass('hidden');
if (className == 'Screenshot' || className == 'Illustration') {
$('input[name="field_your_image_url"]', frameContent).parent().parent().removeClass('hidden');
}
$('input[name="field_your_image_id"]', frameContent).val($('input[name="field_your_image_url"]', frameContent).val());
}
}
function createNewImageTag(working_frame){
var image = $('<img>');
if (!$('input[name="field_your_upload_image"]', working_frame).is(':checked')) {
image.attr('src', $('input[name="field_your_image_url"]', working_frame).val());
} else {
image.attr('src', $('input[name="field_your_image_id"]', working_frame).val() + '?format=');
}
// Bad hardcoding for type
image.attr('type', 'image/svg+xml');
image_caption = $('input[name="field_your_image_caption"]', working_frame).val()
image.attr('title', image_caption).attr('alt', image_caption);
return image
}
//Change/add a GET attribute in the src url of an image (located after the question mark in the url)
function changeImagesURLAttrib(images, attname, attval){
var n = images.length;
for(var i = 0; i < n; i++){
var img = $(images[i]);
var attrbs = img.attr('src').split('?');
var url = attrbs[0];
if(attrbs.length > 1 && attrbs[1].length > 0){
attrbs = attrbs[1].split('&');
var notFound = true;
var j = 0;
var p = attrbs.length;
while(notFound && j < p){
if(attrbs[j].split('=')[0] == attname){
attrbs[j] = attname + '=' + attval;
notFound = false;
}
j++;
}
if(notFound)
img.attr('src', img.attr('src') + '&' + attname + '=' + attval);
else
img.attr('src', url + '?' + attrbs.join('&'));
}
else
img.attr('src', url + '?' + attname + '=' + attval);
}
}
// Remove a GET attribute in the src url of an image (located after the question mark in the url)
function removeImagesURLAttrib(images, attname){
var n = images.length;
for(var i = 0; i < n; i++){
var img = $(images[i]);
var attrbs = img.attr('src').split('?');
var url = attrbs[0];
if(attrbs.length > 1 && attrbs[1].length > 0){
attrbs = attrbs[1].split('&');
var notFound = true;
var j = 0;
var p = attrbs.length;
while(notFound && j < p){
if(attrbs[j].split('=')[0] == attname){
attrbs.splice(j,1);
notFound = false;
}
j++;
}
if(notFound)
img.attr('src', img.attr('src'));
else {
complement = "";
if (attrbs.length > 0)
complement = '?' + attrbs.join('&');
img.attr('src', url + complement);
}
}
else
img.attr('src', url);
}
}
//Add edit and remove buttons to a slide
function appendSlideButtons(element, index){
var button = $('<div>').attr('style','position:absolute; left:' + (element.offsetLeft + 3) + 'px; top:' + (element.offsetTop + 3) + 'px;').attr('id', 'edit_slide_' + index).addClass('edit_slide_button').hover(function(){buttonHover(this);},function(){buttonOut(this);});
$(element).after(button);
button = $('<div>').attr('style','position:absolute; left:' + (element.offsetLeft + element.offsetWidth - 17) + 'px; top:' + (element.offsetTop + 3) + 'px;').attr('id', 'remove_slide_' + index).addClass('remove_slide_button').hover(function(){buttonHover(this);},function(){buttonOut(this);});
$(element).after(button);
}
$(document).ready(function(){
$(function() {
//Extract the slides
textContent = document.getElementsByName('field_my_text_content')[0];
var tmp = document.createElement('tmp');
testPageHTML = document.createElement('html');
testPageHTML.appendChild(document.createElement('body'));
$(tmp).html($(textContent).text());
$('body',testPageHTML).append($('section', tmp));
body = $('section', testPageHTML);
// changeImagesURLAttrib($('> img', body),'display','xsmall');
slideList = $('#list');
slideList.append(body);
body = $('body', testPageHTML);
//Add buttons to each slides
var sectionList = $('#list').children();
n = sectionList.length;
for(var i = 0; i < n; i++){
var child = sectionList[i];
appendSlideButtons(child, i);
}
//Make the slide list sortable
$("#list").sortable({ opacity: 0.7, cursor: 'move', items: "section", update: function() {
$('section').removeAttr('style');
updateTextContent();
}
});
//Configure the dialog to add a slide
addSlideIframe = $("<iframe>");
addSlideIframe.attr('id','iframe_add_slide');
addSlideIframe.attr('src','/lib/powerpoint/TestPage_viewSlideCreator');
addSlideIframe.load(function() {
function initFrame(){
addSlideIframeContents = addSlideIframe.contents();
updateImageInput(addSlideIframeContents);
updateUploadImageInput(addSlideIframeContents);
$('input[name="field_your_upload_image"]', addSlideIframeContents).click(function() {updateUploadImageInput(addSlideIframeContents);});
$('select[name="field_your_slide_type"]', addSlideIframeContents).change(function() {updateImageInput(addSlideIframeContents);});
var submit_button = $("#dialog_submit_button", addSlideIframeContents).click(function(){
var section = document.createElement("section");
var className = $('select[name="field_your_slide_type"]', addSlideIframeContents).val();
$(section).addClass(className.toLowerCase());
var title = document.createElement("h1");
$(title).html($('input[name="field_your_chapter_title"]', addSlideIframeContents).val());
var details = document.createElement("details");
$(details).attr("open", "true")
$(details).html($('textarea[name="field_your_text_content"]', addSlideIframeContents).val());
$(section).append($(title));
var image_id = "";
var isScreenshot = className == 'Screenshot';
// Append a new slide, update HTML Code
function appendSection(){
$(section).append($('textarea[name="field_your_slide_content"]', addSlideIframeContents).val());
$(section).append($(details));
var isTested = $('input[name="field_your_tested"]', addSlideIframeContents).attr('checked');
if((isTested == 'checked' || isTested) && (image_id != "")){
var test = createTest();
appendTestLine(test, "selectAndWait", "name=select_module", "label=Test Pages");
appendTestLine(test, "verifyTextPresent", "Test Pages", "");
if(isScreenshot){
appendTestLine(test, "captureEntirePageScreenshot", image_id, "");
}
$(section).append(test);
}
slideList.append($(section));
var i = 0;
if ($('#list > .edit_slide_button').length > 0) {
var i = parseInt($('#list > .edit_slide_button').filter(':last').attr('id').split('_')[2]) + 1;
}
appendSlideButtons(section, i);
$('#remove_slide_' + i).click(function() {removeClick(this);});
$('#edit_slide_' + i).click(function() {editClick(this);});
$(section).hover(function() {slideHover(this);}, function(){slideOut(this);}).mousedown(function() {slideOut(this);});
updateTextContent();
}
if(isScreenshot || className == 'Illustration') {
image = createNewImageTag(addSlideIframeContents);
image_id = "";
if (!isUrl(image.attr('src'))) {
image_id = image.attr('src');
}
$(section).append(image);
}
appendSection();
});
}
setTimeout(initFrame, 0);
});
var $dialog = $("#dialog_add_slide")
.dialog({
title: "Add new slide",
autoOpen: false,
draggable: false,
resizable: true,
modal: true,
autoResize: true,
show: "clip",
hide: "clip",
width: "50%",
height: "auto",
position: 'center'
});
$dialog.append(addSlideIframe);
$('#add_slide_button').click(function() {
$dialog.dialog('open');
return false;
});
//Configure the dialog to edit a slide
editSlideIframe = $("<iframe>");
editSlideIframe.attr('id','iframe_edit_slide');
editSlideIframe.attr('src','lib/powerpoint/TestPage_viewSlideEditor');
editSlideIframe.load(function() {
function initFrame(){
if (slideNumber == null) {
// slideNumber should be defined before try to edit.
return false;
}
var slide = $('section:eq('+slideNumber+')', slideList);
// This updates the image displayed
var img = $('> img:first', slide);
editSlideIframeContents = editSlideIframe.contents();
updateUploadImageInput(editSlideIframeContents);
$('input[name="field_your_upload_image"]', editSlideIframeContents).click(function() {updateUploadImageInput(editSlideIframeContents);});
$('select[name="field_your_slide_type"]', editSlideIframeContents).change(function() {updateImageInput(editSlideIframeContents);});
if(img.length > 0) {
$('input[name="field_your_image_id"]', editSlideIframeContents).val(img.attr('src').split('?')[0]);
$('input[name="field_your_image_caption"]', editSlideIframeContents).val(img.attr('title'));
//if(isUrl(img.attr('src')))
removeImagesURLAttrib(img,'timestamp');
$('input[name="field_your_image_url"]', editSlideIframeContents).val(img.attr('src'));
} else
updateImageInput(editSlideIframeContents);
changeImagesURLAttrib($('> img:first', slide), 'timestamp', new Date().getTime());
$('input[name="field_your_chapter_title"]', editSlideIframeContents).val($('h1:first', slide).html().trim());
if (slide.attr('class') != null) {
$('select[name="field_your_slide_type"]', editSlideIframeContents).val(slide.attr('class').replace(/^\w/, function($0) { return $0.toUpperCase(); }));
};
var tmpSlide = slide.clone();
$("h1:first, img:first, details, test", tmpSlide).remove();
$('textarea[name="field_your_slide_content"]', editSlideIframeContents).val(tmpSlide.html().trim());
if ($('details', slide).length > 0)
$('textarea[name="field_your_text_content"]', editSlideIframeContents).val($('details', slide).html().trim());
var hasTest = $('test', slide).length > 0;
if(hasTest){
$('input[name="field_your_not_tested"]', editSlideIframeContents).parent().parent().attr('class','field');
$('input[name="field_your_tested"]', editSlideIframeContents).parent().parent().attr('class','hidden');
}
else{
$('input[name="field_your_not_tested"]', editSlideIframeContents).parent().parent().attr('class','hidden');
$('input[name="field_your_tested"]', editSlideIframeContents).parent().parent().attr('class','field');
}
var submit_button = $("#dialog_submit_button", editSlideIframeContents).click(function(){
var titleContainer = $('h1:first', slide);
var newTitle = $('input[name="field_your_chapter_title"]', editSlideIframeContents).val().trim();
titleContainer.html(newTitle);
var className = $('select[name="field_your_slide_type"]', editSlideIframeContents).val();
slide.attr('class', className.toLowerCase());
if ($('details', slide).length === 0) {
var details = document.createElement("details");
slide.append($(details));
}
$('details', slide).html($('textarea[name="field_your_text_content"]', editSlideIframeContents).val().trim());
$('details', slide).attr("open", "true")
$("> :not(h1:first, img:first, details, test)", slide).remove();
// Remove also the standalone text inputed by the user.
slide.contents().filter(function(){return this.nodeType === 3;}).remove();
// Read from Slide editor
$(" > h1:first, img:first", slide).filter(':last').after($('textarea[name="field_your_slide_content"]', editSlideIframeContents).val().trim());
var image_id = "";
var isScreenshot = className == 'Screenshot';
function appendSection(){
var isTested = $('input[name="field_your_tested"]', editSlideIframeContents).attr('checked');
var removeTest = $('input[name="field_your_not_tested"]', editSlideIframeContents).attr('checked');
if(!hasTest && (isTested == 'checked' || isTested) && (image_id != "")){
var test = createTest();
appendTestLine(test, "selectAndWait", "name=select_module", "label=Test Pages");
appendTestLine(test, "verifyTextPresent", "Test Pages", "");
if(isScreenshot){
appendTestLine(test, "captureEntirePageScreenshot", image_id, "");
}
slide.append(test);
}
else if(hasTest && removeTest == 'checked' || removeTest)
$('test', slide).remove();
updateTextContent();
}
if(isScreenshot || className == 'Illustration'){
var img = $('img:first', slide);
if(img.length > 0){
var image_caption = $('input[name="field_your_image_caption"]', editSlideIframeContents).val()
if (image_caption.length > 0)
img.attr('title', image_caption).attr('alt', image_caption);
var image_url = $('input[name="field_your_image_url"]', editSlideIframeContents).val();
if (isUrl(image_url)) {
image_id = "";
}
img.attr('src', image_url)
} else {
image = createNewImageTag(editSlideIframeContents);
image_id = "";
if (!isUrl(image.attr('src'))) {
image_id = image.attr('src');
}
$("> h1:first", slide).after(image);
}
}
appendSection();
});
}
setTimeout(initFrame, 0);
});
$dialogEdit = $("#dialog_edit_slide")
.dialog({
title: "Edit slide",
autoOpen: false,
draggable: false,
resizable: true,
modal: true,
autoResize: true,
show: "clip",
hide: "clip",
width: "50%",
height: "auto",
position: 'center'
});
$dialogEdit.append(editSlideIframe);
$('.edit_slide_button').click(function() {
editClick(this);
});
$('.remove_slide_button').click(function() {
removeClick(this);
});
$('section').hover(function() {
slideHover(this);
}, function(){
slideOut(this);
});
$('section').mousedown(function() {
slideOut(this);
});
});
});
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>
<meta content="ERP5 - Copyright (C) 2001 - 2008. All rights reserved." name="generator">
<meta content="Add a new Slide" name="description">
<meta content="" name="keywords">
<meta content="index, follow" name="robots">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="text/javascript" http-equiv="Content-Script-Type">
<meta content="text/css" http-equiv="Content-Style-Type">
<title>Add a new Slide | Nexedi ERP5</title>
<link href="erp5_knowledge_box.css" rel="stylesheet" type="text/css">
<link href="erp5.css" rel="stylesheet" type="text/css">
<link href="erp5_listbox.css" rel="stylesheet" type="text/css">
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery-ui.js" type="text/javascript"></script>
<script src="erp5.js" type="text/javascript"></script>
<script src="erp5_knowledge_box.js" type="text/javascript"></script>
<script src="erp5_xhtml_appearance.js" type="text/javascript"></script>
<link href="https://www.tiolive.com/nexedi/favicon.ico" type="image/x-icon" rel="icon">
<link href="https://www.tiolive.com/nexedi/favicon.ico" type="image/x-icon" rel="shortcut icon">
<!-- this is a placeholder for different extensions to head which could be required by web themes -->
</head>
<body>
<form enctype="multipart/form-data" method="post" action="https://www.tiolive.com/nexedi" onsubmit="changed=false; return true" class="main_form" id="main_form">
<fieldset class="hidden_fieldset" id="hidden_fieldset">
<input type="submit" name="Base_callDialogMethod:method" value="dummy" class="hidden_button" id="hidden_button">
<input type="hidden" value="" name="update_method">
<input type="hidden" value="TestPage_viewSlideCreator" name="dialog_id">
<input type="hidden" value="https://www.tiolive.com/nexedi/TestPage_viewSlideCreator" name="cancel_url">
<input type="hidden" value="TestPage_uploadImage" name="dialog_method">
<input type="hidden" value="None" name="dialog_category">
<input type="hidden" value="/nexedi" name="object_path">
<input type="hidden" value="view" name="form_id">
</fieldset>
<div class="status" id="status">
<div class="transition_message" id="transition_message"></div>
</div>
<div class="master" id="master">
<div class="list_dialog">
<div class="dialog_box">
<div class="content">
<fieldset class="center">
<legend class="group_title"></legend>
<div title="The name of this chapter" class="field required">
<label>
Chapter Name
</label>
<div class="input"><input type="text" required="required" size="40" value="" name="field_your_chapter_title"></div>
<p class="clear"></p>
</div>
<div title="Choose the type of slide you want." class="field">
<label>
Type of slide
</label>
<div class="input"><select name="field_your_slide_type" size="1">
<option value="" selected="selected">
</option>
<option value="Chapter">
Chapter</option>
<option value="Screenshot">
Screenshot</option>
<option value="Illustration">
Illustration</option>
<option value="Code">
Code</option>
<option value="Master">
Master</option></select>
<input type="hidden" value="0" name="default_field_your_slide_type:int"></div>
<p class="clear"></p>
</div>
<div title="Caption of the image that will be used when generate Books." class="field">
<label>
Image Caption
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_caption"></div>
<p class="clear"></p>
</div>
<div title="Don't modify it manually." class="field hidden">
<label>
Embedded Image ID
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_id" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to upload an image to this chapter." class="field">
<label>
Upload an Image
</label>
<div class="input"><input type="file" size="30" value="" name="field_your_file"></div>
<p class="clear"></p>
</div>
<div title="The URL to the image, you can use relative urls or image reference." class="field">
<label>
Image URL
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_url"></div>
<p class="clear"></p>
</div>
<div title="Text to appear on the slide (appear in the documentation as well)" class="field">
<label>
Slide text
</label>
<div class="input"><textarea name="field_your_slide_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Text (&lt;details&gt; tags will be automatically added at the beginning and at the end of this text)" class="field">
<label>
Text
</label>
<div class="input"><textarea name="field_your_text_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Do you want to upload a new image on ERP5?" class="field">
<label>
Upload New Image?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_upload_image:int"><input type="checkbox" name="field_your_upload_image"></div>
<p class="clear"></p>
</div>
</fieldset>
<p class="clear"></p>
</div>
</div>
</div>
<div class="bottom_actions">
<button class="bt-med dialog_submit_button" type="submit" name="Base_callDialogMethod:method" id="dialog_submit_button" accesskey="V">
<span>Add a new Slide</span>
</button>
</div>
</div>
</form>
</body></html>
<head>
<meta content="ERP5 - Copyright (C) 2001 - 2008. All rights reserved." name="generator">
<meta content="Add a new Slide" name="description">
<meta content="" name="keywords">
<meta content="index, follow" name="robots">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="text/javascript" http-equiv="Content-Script-Type">
<meta content="text/css" http-equiv="Content-Style-Type">
<title>Add a new Slide | Nexedi ERP5</title>
<link href="erp5_knowledge_box.css" rel="stylesheet" type="text/css">
<link href="erp5.css" rel="stylesheet" type="text/css">
<link href="erp5_listbox.css" rel="stylesheet" type="text/css">
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery-ui.js" type="text/javascript"></script>
<script src="erp5.js" type="text/javascript"></script>
<script src="erp5_knowledge_box.js" type="text/javascript"></script>
<script src="erp5_xhtml_appearance.js" type="text/javascript"></script>
<link href="https://www.tiolive.com/nexedi/favicon.ico" type="image/x-icon" rel="icon">
<link href="https://www.tiolive.com/nexedi/favicon.ico" type="image/x-icon" rel="shortcut icon">
<!-- this is a placeholder for different extensions to head which could be required by web themes -->
</head>
<body>
<form enctype="multipart/form-data" method="post" action="https://www.tiolive.com/nexedi" onsubmit="changed=false; return true" class="main_form" id="main_form">
<fieldset class="hidden_fieldset" id="hidden_fieldset">
<input type="submit" name="Base_callDialogMethod:method" value="dummy" class="hidden_button" id="hidden_button">
<input type="hidden" value="" name="update_method">
<input type="hidden" value="TestPage_viewSlideEditor" name="dialog_id">
<input type="hidden" value="TestPage_viewSlideEditor" name="cancel_url">
<input type="hidden" value="TestPage_uploadImage" name="dialog_method">
<input type="hidden" value="None" name="dialog_category">
<input type="hidden" value="view" name="form_id">
</fieldset>
<div class="status" id="status">
<div class="transition_message" id="transition_message"></div>
</div>
<div class="master" id="master">
<div class="list_dialog">
<div class="dialog_box">
<div class="content">
<fieldset class="center">
<legend class="group_title"></legend>
<div title="The name of this chapter" class="field required">
<label>
Chapter Name
</label>
<div class="input"><input type="text" size="40" value="" name="field_your_chapter_title"></div>
<p class="clear"></p>
</div>
<div title="Choose the type of slide you want." class="field">
<label>
Type of slide
</label>
<div class="input"><select name="field_your_slide_type" size="1">
<option value="" selected="selected">
</option>
<option value="Chapter">
Chapter</option>
<option value="Screenshot">
Screenshot</option>
<option value="Illustration">
Illustration</option>
<option value="Code">
Code</option>
<option value="Master">
Master</option></select>
<input type="hidden" value="0" name="default_field_your_slide_type:int"></div>
<p class="clear"></p>
</div>
<div title="Caption of the image that will be used when generate Books." class="field">
<label>
Image Caption
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_caption"></div>
<p class="clear"></p>
</div>
<div title="Don't modify it manually." class="field hidden">
<label>
Embedded Image ID (Read Only)
</label>
<div class="input"><input type="text" readonly="readonly" size="30" value="" name="field_your_image_id" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to upload an image to this chapter." class="field">
<label>
Upload an Image
</label>
<div class="input"><input type="file" size="30" value="" name="field_your_file"></div>
<p class="clear"></p>
</div>
<div title="The URL to the image, you can use relative urls or image reference." class="field">
<label>
Image URL
</label>
<div class="input"><input type="text" size="30" value="" name="field_your_image_url"></div>
<p class="clear"></p>
</div>
<div title="Text to appear on the slide (appear in the documentation as well)" class="field">
<label>
Slide text
</label>
<div class="input"><textarea name="field_your_slide_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Text (&lt;details&gt; tags will be automatically added at the beginning and at the end of this text)" class="field">
<label>
Text
</label>
<div class="input"><textarea name="field_your_text_content" cols="50" rows="4"></textarea></div>
<p class="clear"></p>
</div>
<div title="Check it if you want to remove the current test from this chapter." class="field">
<label>
Remove test?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_not_tested:int"><input type="checkbox" name="field_your_not_tested"></div>
<p class="clear"></p>
</div>
<div title="Check it if you are currently editing a slide." class="field hidden">
<label>
Are you editing a slide?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_edit_mode:int"><input type="checkbox" checked="checked" name="field_your_edit_mode" class="hidden"></div>
<p class="clear"></p>
</div>
<div title="Do you want to upload a new image on ERP5?" class="field">
<label>
Upload New Image?
</label>
<div class="input"><input type="hidden" value="0" name="default_field_your_upload_image:int"><input type="checkbox" name="field_your_upload_image"></div>
<p class="clear"></p>
</div>
</fieldset>
<p class="clear"></p>
</div>
</div>
</div>
<div class="bottom_actions">
<button class="bt-med dialog_submit_button" type="submit" name="Base_callDialogMethod:method" id="dialog_submit_button" accesskey="V">
<span>Edit Slide</span>
</button>
</div>
</div>
</form>
</body>
/*
Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
Vincent Pelletier <vincent@nexedi.com>
Christophe Dumez <christophe@nexedi.com>
Kazuhiko <kazuhiko@nexedi.com>
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
input, textarea, select, button, body, div, span, fieldset {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 0;
padding: 0;
}
div.input > select, div.input > input, div.listbox select {
max-width:320px;
}
div.page > div.input {
width:100%;
}
option {
white-space: pre;
}
div.pre div {
background: #FFF;
}
span.pre {
font-family: monospace;
color: black;
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
button, select, input {
vertical-align: middle;
}
button span {
background-color: transparent;
color: #000;
}
button.sort_button {
background-color: inherit;
color: inherit;
border-width: 0;
cursor: pointer;
}
button.sort_button span {
color: inherit;
text-decoration: underline;
}
img {
border: 0;
}
body, div, span, fieldset {
color: #001730;
}
div, span, fieldset {
background-color: inherit;
}
body {
background-color: #DAE6F6;
}
#main_form, /* BBB */
.main_form, {
color: inherit;
}
input#hidden_button, /* BBB */
input.hidden_button {
width: 0;
height: 0;
display: inline;
border-width: 0;
float: left;
}
.hidden {
display: none;
}
textarea[readonly] {
background-color: inherit;
border: inherit;
}
a, a:visited, a:focus {
background-color: inherit;
color: #002e3f;
text-decoration: none;
}
.relationfieldlink {
text-decoration: underline;
}
a:hover {
background-color: inherit;
color: #3D6474;
text-decoration: underline;
}
p.clear,
div.clear {
height: 0;
margin: 0;
padding: 0;
clear: both;
}
div.index_html {
text-align: center;
}
div.index_html table {
margin: 0 auto;
text-align: left;
}
.ModuleShortcut div {
margin-left: 0.5em;
text-indent: -0.5em;
line-height: 1.1em;
margin-bottom: 0.5em;
}
#main_bar button .description, /* BBB */
.main_bar button .description,
#context_bar button .description, /* BBB */
.context_bar button .description,
.content .field .description,
.document .actions button.save .description,
#context_bar .tool_buttons a .description, /* BBB */
.context_bar .tool_buttons a .description {
display: none;
}
/* The fields set for generated hidden fields */
#hidden_fieldset, /* BBB */
.hidden_fieldset {
visibility: hidden;
border: 0;
}
/* Main bar */
#main_bar, /* BBB */
.main_bar {
color: inherit;
background-color: #97B0D1;
padding-top: 2px;
padding-bottom: 2px;
vertical-align: middle;
}
#main_bar .first, /* BBB */
.main_bar .first,
#context_bar .first, /* BBB */
.context_bar .first {
float: left;
vertical-align: middle;
}
#context_bar #jump, /* BBB */
.context_bar .jump,
#main_bar .jump, /* BBB */
.main_bar .jump {
margin-left: 10px;
}
.listbox_title_line select,
#context_bar select, /* BBB */
.context_bar select,
#main_bar select, /* BBB */
.main_bar select {
color: #596dab;
}
#main_bar .second, /* BBB */
.main_bar .second,
#context_bar .second, /* BBB */
.context_bar .second {
float: right;
vertical-align: middle;
}
#main_bar button, /* BBB */
.main_bar button,
#context_bar button, /* BBB */
.context_bar button,
.dialog_selector button,
.document .actions button.save {
border: 0;
margin-top: 1px;
margin-left: 0;
margin-right: 2px;
padding: 0;
position: relative;
cursor: pointer;
background-color: inherit;
color: inherit;
}
#context_bar .tool_buttons, /* BBB */
.context_bar .tool_buttons {
vertical-align: middle;
}
#context_bar .tool_buttons a, /* BBB */
.context_bar .tool_buttons a {
margin-top: 2px;
margin-left: 2px;
margin-right: 2px;
padding: 0;
position: relative;
}
#context_bar .tool_buttons button, /* BBB */
.context_bar .tool_buttons button {
float: left;
}
#main_bar button .image, /* BBB */
.main_bar button .image,
#context_bar button .image, /* BBB */
.context_bar button .image,
.dialog_selector button .image,
.document .actions button.save .image {
display: block;
width: 22px;
height: 22px;
background-repeat: no-repeat;
}
/* XXX: Bug fix when not logged */
.document .actions {
min-height: 2.5em;
}
.pageNavigation button {
display: inline;
border: 0 none;
background-color: inherit;
vertical-align: middle;
}
table.fake {
width: 100%;
}
table.fake tr td {
vertical-align: top;
width: 50%;
}
.content .field {
position: relative;
clear: left;
font-style: italic;
width: 100%;
}
.content .field .input {
font-style: normal;
}
.content .input .figure {
text-align: right;
}
.group_title {
display: none;
}
table.fake,
fieldset.left,
fieldset.center,
fieldset.bottom {
clear: both;
}
table.fake,
fieldset.left,
fieldset.right,
fieldset.center,
fieldset.bottom {
margin-bottom: 5px;
}
table.fake,
fieldset.left,
fieldset.right,
fieldset.center {
border-style: solid;
border-width: 1px;
border-color: #97B0D1;
padding-top: 5px;
padding-left: 5px;
padding-right: 5px;
}
fieldset.center {
padding-bottom: 5px;
}
.login fieldset {
width: 50%;
float: left;
}
fieldset.left {
width: 50%;
float: left;
margin-right: -12px; /* 5px margin *2 + 2px for left & right border width */
}
fieldset.right {
width: 50%;
float: left;
margin-left: -12px; /* 5px margin *2 + 2px for left & right border width */
}
/* BBB: don't display borders on left-group fieldsets in a formbox in any
* bordered fieldset (ie left, right or center). */
fieldset.left fieldset.left,
fieldset.right fieldset.left,
fieldset.center fieldset.left,
table.fake > tr > td > fieldset {
border-width: 0;
padding: 0;
margin: 0;
width: 100%;
float: none;
}
fieldset.center,
fieldset.bottom {
clear: both;
}
fieldset.bottom {
border-width: 0;
}
fieldset.bottom > .field > label {
display: none;
}
.login fieldset,
.dialog_box table.fake,
.dialog_box .left,
.dialog_box .right,
.dialog_box .center {
border-width: 0;
}
.content .field {
padding-bottom: 3px;
}
.content .field label {
width: 30%;
}
.content .field label,
.content .field .input {
float: left;
}
/* Exception case of the previous generic rule
The CSS statement below fix bug #517: it doesn't make sense to have
floating div in bottom field since label are hidden. */
fieldset.bottom .field .input {
float: inherit;
}
.content .field .input a img {
vertical-align: middle;
}
.content .required label {
font-weight: bold;
}
.content .field .error {
background-color: inherit;
color: #f40;
}
.content .error .input {
border: 1px solid #f40;
}
.content .invisible > label {
display: None;
}
.content .invisible > .input {
float: None;
}
a.tree_open {
background: url('images/tree_open.png') left no-repeat;
padding-left:15px;
}
a.tree_closed {
background: url('images/tree_closed.png') left no-repeat;
padding-left:15px;
}
.login .submit {
margin-left: 15%;
}
#jump, /* BBB */
span.jump,
#action, /* BBB */
span.action,
#favourites, /* BBB */
span.favourites,
#modules, /* BBB */
span.modules,
#language, /* BBB */
span.language,
#search, /* BBB */
span.search {
float: left;
}
#favourites button .image, /* BBB */
span.favourites button .image {
background-image: url('images/favourite.png');
}
#modules button .image, /* BBB */
span.modules button .image {
background-image: url('images/appearance.png');
}
#language button .image, /* BBB */
span.language button .image {
background-image: url('images/language.png');
}
.quick_search_field { color: #777777; }
.quick_search_field:focus { color: #000000; }
#search button .image, /* BBB */
span.search button .image {
background-image: url('images/search.png');
}
#status, /* BBB */
.status,
#master, /* BBB */
.master {
padding-left: .5em;
padding-right: .5em;
}
#status, /* BBB */
.status {
padding-top: .3em;
padding-bottom: .4em;
}
/* Context bar */
#context_bar, /* BBB */
.context_bar {
padding-top: 2px;
padding-bottom: 2px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #97B0D1;
background-color: #BDD0F0;
color: inherit;
vertical-align: middle;
}
#context_bar .tool_buttons a, /* BBB */
.context_bar .tool_buttons a {
float: left;
margin-left: 2px;
margin-right: 2px;
}
.separator {
height: 24px;
width: 2px;
margin-left: 6px;
margin-right: 6px;
display: block;
float: left;
}
#main_bar .separator, /* BBB */
.main_bar .separator {
background-image: url('images/sepafon.png');
}
#context_bar .separator, /* BBB */
.context_bar .separator {
background-image: url('images/sepacla.png');
}
#context_bar .tool_buttons a .image, /* BBB */
.context_bar .tool_buttons a .image,
#context_bar .tool_buttons button .image, /* BBB */
.context_bar .tool_buttons button .image,
#context_bar .tool_buttons a img, /* BBB */
.context_bar .tool_buttons a img {
width: 22px;
height: 22px;
margin: 0;
padding: 0;
display: block;
background-repeat: no-repeat;
}
#context_bar #jump button .image, /* BBB */
.context_bar .jump button .image {
background-image: url('images/jump22.png');
}
#context_bar #action button .image, /* BBB */
.context_bar .action button .image {
background-image: url('images/exec.png');
}
#context_bar .tool_buttons .list_mode .image, /* BBB */
.context_bar .tool_buttons .list_mode .image {
background-image: url('images/text_block.png');
}
#context_bar .tool_buttons .new .image, /* BBB */
.context_bar .tool_buttons .new .image {
background-image: url('images/filenew.png');
}
#context_bar .tool_buttons .clone .image, /* BBB */
.context_bar .tool_buttons .clone .image {
background-image: url('images/fileclone.png');
}
#context_bar .tool_buttons .jump_first .image, /* BBB */
.context_bar .tool_buttons .jump_first .image {
background-image: url('images/2leftarrowb.png');
}
#context_bar .tool_buttons .jump_previous .image, /* BBB */
.context_bar .tool_buttons .jump_previous .image {
background-image: url('images/1leftarrowb.png');
}
#context_bar .tool_buttons .jump_next .image, /* BBB */
.context_bar .tool_buttons .jump_next .image {
background-image: url('images/1rightarrowb.png');
}
#context_bar .tool_buttons .jump_last .image, /* BBB */
.context_bar .tool_buttons .jump_last .image {
background-image: url('images/2rightarrowb.png');
}
#context_bar .tool_buttons .import_export .image, /* BBB */
.context_bar .tool_buttons .import_export .image {
background-image: url('images/imp-exp.png');
}
#context_bar .tool_buttons .jump_help .image, /* BBB */
.context_bar .tool_buttons .jump_help .image {
background-image: url('images/userhelp.png');
}
#context_bar .tool_buttons .find .image, /* BBB */
.context_bar .tool_buttons .find .image {
background-image: url('images/find.png');
}
#context_bar .tool_buttons .print .image, /* BBB */
.context_bar .tool_buttons .print .image {
background-image: url('images/print.png');
}
#context_bar .tool_buttons .report .image, /* BBB */
.context_bar .tool_buttons .report .image {
background-image: url('images/report.png');
}
#context_bar .tool_buttons .fast_input .image, /* BBB */
.context_bar .tool_buttons .fast_input .image {
background-image: url('images/fast_input.png');
}
#context_bar .tool_buttons .cut .image, /* BBB */
.context_bar .tool_buttons .cut .image {
background-image: url('images/editcut.png');
}
#context_bar .tool_buttons .copy .image, /* BBB */
.context_bar .tool_buttons .copy .image {
background-image: url('images/editcopy.png');
}
#context_bar .tool_buttons .paste .image, /* BBB */
.context_bar .tool_buttons .paste .image {
background-image: url('images/editpaste.png');
}
#context_bar .tool_buttons .delete .image, /* BBB */
.context_bar .tool_buttons .delete .image {
background-image: url('images/editdelete.png');
}
#context_bar .tool_buttons .show_all .image, /* BBB */
.context_bar .tool_buttons .show_all .image {
background-image: url('images/showall.png');
}
#context_bar .tool_buttons .filter .image, /* BBB */
.context_bar .tool_buttons .filter .image {
background-image: url('images/filter.png');
}
#context_bar .tool_buttons .filter_on .image, /* BBB */
.context_bar .tool_buttons .filter_on .image {
background-image: url('images/filter_on.png');
}
#context_bar .tool_buttons .sort .image, /* BBB */
.context_bar .tool_buttons .sort .image {
background-image: url('images/sort.png');
}
#context_bar .tool_buttons .configure .image, /* BBB */
.context_bar .tool_buttons .configure .image {
background-image: url('images/configure.png');
}
#context_bar .tool_buttons .activity_pending .image, /* BBB */
.context_bar .tool_buttons .activity_pending .image {
width: 26px;
background-image: url('images/activity_busy.png');
}
#context_bar .tool_buttons .inspect_object .image, /* BBB */
.context_bar .tool_buttons .inspect_object .image {
background-image: url('images/inspect.png');
}
/* Status */
#breadcrumb, /* BBB */
.breadcrumb {
float: left;
/* font-size: 90%; */
margin-bottom: 5px;
}
#breadcrumb a, /* BBB */
.breadcrumb a {
color: #002e3f;
}
#logged_in_as, /* BBB */
.logged_in_as {
float: right;
}
#logged_in_as .logged_txt, /* BBB */
.logged_in_as .logged_txt{
color: #002e3f;
/* font-size: 90%; */
}
#transition_message, /* BBB */
.transition_message {
margin-left: 1em;
color: #f40;
background-color: inherit;
font-weight: bold;
}
#information_area, /* BBB */
.information_area {
margin-top: 1em;
padding:0.5em 1em 0.5em 1em;
border-width: 1px;
border-style: solid;
border-color: #3D5474;
color: orange;
background-color: #E3EAFA;
font-weight: bold;
}
/* Content */
.dialog_box {
color: inherit;
background-color: #BDD0F0;
border-width: 1px;
border-style: solid;
border-color: #3D5474;
padding: .5em;
margin-bottom: 1em;
}
.list_dialog {
margin-bottom: .5em;
}
.dialog_selector button .description {
display: none;
}
.dialog_selector button .image {
background-image: url('images/exec16.png');
}
.document .actions {
position: relative;
float: left;
width: 100%;
margin: 0;
padding: 0;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #3D6474;
color: #002e3f;
}
.document .actions button.save {
float: right;
}
.document .actions button.save span.image {
width: 48px;
height: 50px;
background-image: url('images/save2.png');
}
.document .actions ul {
float: left;
list-style: none;
padding: 0;
margin: 0;
position: absolute;
bottom: -1px;
}
.document .actions li {
float: left;
}
.document .actions li a {
display: block;
color: inherit;
background: url('images/tab_left.png') top left no-repeat;
margin: 0;
padding: 0 0 0 10px;
line-height: 1.2em;
}
.document .actions li.selected a {
background: url('images/tab_left_selected.png') top left no-repeat;
}
.document .actions li a span {
display: block;
padding: 5px 10px 4px 0;
color: inherit;
background-color: inherit;
background: url('images/tab_right.png') top right no-repeat;
/* font-size: 90%; */
}
.document .actions li.selected a span {
font-weight: bold;
padding-bottom: 5px;
background: url('images/tab_right_selected.png') top right no-repeat;
}
.document .actions li a:hover {
text-decoration: none;
}
.document .content {
clear: both;
border-width: 1px;
border-style: solid;
border-color: #3D6474;
border-top: 0 none;
color: inherit;
background-color: #E3EAFA;
padding: 5px;
}
/* Search results list
------------------------------------------------*/
div#main_content.list_mode, /* BBB */
div.main_content.list_mode {
font-size:0.7em;
line-height:1.5em;
}
div.search.result .resultList .listbox tr.DataA,
div.search.result .resultList .listbox tr.DataB {
background-color: white;
}
div.search.result .resultList .listbox td {
padding: 0.5em 0;
}
div.search.result .resultList p {margin-bottom: 0}
div.search.result .resultList h3 {
font-size: 120%;
font-weight: normal;
margin-bottom: 1em;
}
div.search.result .resultList ul.pages li a {
padding: .1em .3em;
border: 1px solid transparent;
}
div.search.result .resultList ul.pages li a:hover {
border: 1px solid #dedade;
background: #eee;
}
div.search.result .resultList a .search_result_title {
font-weight: bold;
font-size: 120%;
}
div.search.result .resultList .search_result_portal_type:before {
content: "[";
}
div.search.result .resultList .search_result_portal_type:after {
content: "]";
}
div.search.result .resultList table.listbox caption {
font-weight: bold;
text-align: left;
}
div.search.result .resultList table.listbox td {
vertical-align: middle;
border: transparent;
margin:0;
}
div.search.result .resultList table.listbox td ul {list-style: none}
div.search.result .resultList table.listbox td ul li {margin: 0}
div.search.result .resultList table.listbox td blockquote {
border: 1px solid #e6e2e6;
border-top-color: #000;
margin: .5em 0 2em;
padding: 1em;
background: #eee;
}
div.search.result .resultList {
padding: 1em;
padding-top: 0em;
padding-bottom: 1em;
padding-left: 0em;
padding-right: 0em;
}
div.search.result div.searchBar {
margin-bottom: 2em;
}
div.searchResultHeader #style_toggle_icon,
table.listbox.table #style_toggle_icon {
padding:0;
border: 0px;
border-color:red;
margin:0;
vertical-align:bottom;
}
div.search .centeredInner {
text-align: center;
}
.searchDetails em {
font-style:normal;
font-weight:bold;
}
div.search .searchPages a{
text-decoration: underline;
}
div.search .searchPages .selected{
color: #CB0D00;
font-weight:bold;
text-decoration: none;
}
/* MatrixBox */
.MatrixContent {
color: #000;
background-color: #E3EAFA;
padding-left: 1px;
}
.MatrixContent table {
width: 100%;
border-collapse: collapse;
border-color: #3D6474;
border-style: solid;
border-top-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
}
.MatrixContent tr.matrixbox_label_line {
vertical-align: middle;
border-color: #3D6474;
border-style: solid;
border-bottom-width: 1px;
border-top-width: 0;
border-left-width: 0;
border-right-width: 0;
}
.MatrixContent td.matrixbox_label_column {
white-space: nowrap;
}
.MatrixContent tr.DataA {
color: inherit;
background-color: #FFF;
}
.MatrixContent tr.DataB {
color: inherit;
background-color: #DAE6F6;
}
.MatrixContent tr.DataA:hover,
.MatrixContent tr.DataB:hover {
color: inherit;
background-color: #BDD0F0;
}
.MatrixContent td {
border-color: #3D6474;
border-style: solid;
border-top-width: 0;
border-bottom-width: 0;
border-left-width: 1px;
border-right-width: 1px;
padding-left: 1px;
padding-right: 1px;
}
.MatrixContent .error {
color: #F00;
}
.MatrixContent td.footer {
width: 100pt;
}
/* Web Page White Background */
.document div.page {
background-color: white;
}
.document div.page div {
color: black;
}
/* Listbox missing search criterion table row*/
.listbox_missing_search_criterion {
background-color: white;
}
.listbox_missing_search_criterion td{
text-align: center!important;
}
.hidden_label > label {
display:none;
}
/* DMS PDF navigation
XXX: probably part of erp5_dms.bt5 */
div.pdf-preview-navigation img{
width: 22px;
height: 22px;
margin-right: 1px;
background-repeat: no-repeat;
vertical-align: middle;
}
div.pdf-preview-navigation img.shaded{
opacity: 0.2;
}
div.pdf-preview-navigation img.first{
background-image:url("images/2leftarrowb.png");
}
div.pdf-preview-navigation img.previous{
background-image:url("images/1leftarrowb.png");
}
div.pdf-preview-navigation img.next{
background-image:url("images/1rightarrowb.png");
}
div.pdf-preview-navigation img.last{
background-image:url("images/2rightarrowb.png");
}
.horizontal_align_form_box > div.input {
float: right;
width: 70%; /* because label width is 30%*/
}
.horizontal_align_form_box > div.input > fieldset > div.field {
clear: none;
float: left;
width: auto;
}
.horizontal_align_form_box > div.input > fieldset > div.field > label {
width: auto;
padding-top: 2px;
}
table.listbox tr.DataRed {
color: inherit;
background-color: #ff8651;
}
table.listbox tr.DataPink {
color: inherit;
background-color: #f5a9f2;
}
/*
Copyright (c) 20xx-2006 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
function submitAction(form, act) {
form.action = act;
form.submit();
}
// This function will be called when the user click the save button. As
// submitAction function may have changed the action before, it's better to
// reset the form action to it's original behaviour. This is actually
// usefull when the user click the back button.
function clickSaveButton(act) {
changed = false;
document.forms[0].action = act;
}
// The first input element with an "autofocus" class will get the focus,
// else if no element have autofocus class, the first element which is not the
// search field will get the focus. This is generally the title input text of
// a view
function autoFocus() {
var first_autofocus_expr = ".//input[@class='autofocus']"
var FIRST_RESULT = XPathResult.FIRST_ORDERED_NODE_TYPE
var input = document.evaluate(first_autofocus_expr, document, null, FIRST_RESULT, null).singleNodeValue;
if (input) {
input.focus();
}else{
// The following is disabled, because it is too annoying to have an auto focus at everywhere.
//var first_text_input_expr = ".//input[@type='text'][@name != 'field_your_search_text']"
//var first_text_input = document.evaluate(first_text_input_expr, document, null, FIRST_RESULT, null).singleNodeValue;
//if (first_text_input){
// first_text_input.focus();
//}
}
}
function buildTables(element_list, rowPredicate, columnPredicate,
tableClassName) {
/* Generic code to build a table from elements in element_list.
* XXX: not used anymore ?
* rowPredicate(element) -> bool
* When it returns a true value, a new line is started with element.
* When is returns a false value, element is skipped.
* columnPredicate(element, initial_element) -> bitfield
* bit 3: end_table (if true, imlies end_row)
* End current table.
* bit 2: end_row
* End current row.
* bit 1: use_element
* Element passed to columnPredicate will be put in current row.
* Hardcoded:
* - items in a table line must be siblings in existing DOM
* - table is put in place of first element of the first row
*/
var element_index = 0;
while (element_index < element_list.length) {
var row_list = [];
var end_table = false;
while ((!end_table) && element_index < element_list.length) {
var row_begin = element_list[element_index];
if (rowPredicate(row_begin)) {
var item_list = [row_begin];
var row_item = row_begin;
var end_line = false;
while ((!end_line) && (row_item = row_item.nextSibling) != null) {
var predicate_result = columnPredicate(row_item, row_begin)
if ((predicate_result & 1) != 0)
item_list.push(row_item);
end_table = ((predicate_result & 4) != 0);
end_line = ((predicate_result & 6) != 0);
}
row_list.push(item_list);
}
element_index++;
}
/* Do not create a table with just one cell. */
if ((row_list.length > 1) ||
(row_list.length == 1 && row_list[0].length > 1)) {
var first_element = row_list[0][0];
var container = first_element.parentNode;
var fake_table = document.createElement("table");
var i;
var j;
fake_table.className = tableClassName;
container.insertBefore(fake_table, first_element);
for (i = 0; i < row_list.length; i++) {
var fake_row = document.createElement("tr");
var row_element_list = row_list[i];
for (j = 0; j < row_element_list.length; j++) {
var fake_cell = document.createElement("td");
fake_cell.appendChild(row_element_list[j]);
fake_row.appendChild(fake_cell);
}
fake_table.appendChild(fake_row);
}
}
}
}
function matchLeftFieldset(element) {
// XXX: not used anymore ?
return (element.tagName == "FIELDSET" &&
element.className.toLowerCase().indexOf('left') != -1)
}
function matchRightFieldset(element, ignored) {
// XXX: not used anymore ?
if (element.tagName == "FIELDSET" &&
element.className.toLowerCase().indexOf('right') != -1)
return 7; /* End row, table and use element */
return 0;
}
function fixLeftRightHeightAndFocus(fix_height) {
if (fix_height == 1) {
var right_xpath = "following-sibling::fieldset[contains(@class, 'right')]";
var matched_left_element_list = document.evaluate("//fieldset[contains(@class, 'left') and " + right_xpath + "]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var element_index;
for (element_index = 0; element_index < matched_left_element_list.snapshotLength; element_index++) {
var element = matched_left_element_list.snapshotItem(element_index);
var right = document.evaluate(right_xpath, element, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
var cell;
var row = document.createElement("tr");
var table = document.createElement("table");
table.className = "fake";
element.parentNode.insertBefore(table, element);
cell = document.createElement("td");
cell.appendChild(element);
row.appendChild(cell);
cell = document.createElement("td");
cell.appendChild(right);
row.appendChild(cell);
table.appendChild(row);
}
}
autoFocus();
}
// This function can be used to catch ENTER pressed in an input
// and modify respective main form action
// if clear_changed_flag is set to true, changed will be set to false, so no
// warning message about unsaved changes will be displayed
function submitFormOnEnter(event, form, method_name, clear_changed_flag, element){
if (clear_changed_flag == null){ clear_changed_flag = false; }
if(event.keyCode == 13){
if (form == "main_form") {
form = document.forms[form]; // backward compatibility
}
form.action = method_name;
if (clear_changed_flag==true) {
changed = false;
}
form.submit();
}
}
var old_index=0;
function shiftCheck(evt) {
/*Uncheck all checkboxes from last unchecked one in
business template Install / Update / Reinstall dialog.
*/
evt=(evt)?evt:event;
var target=(evt.target)?evt.target:evt.srcElement;
// remove "checkbox" part from ID
// This part can be reused easilly by usual left column
var target_index= target.id.substr(8);
if(!evt.shiftKey) {
old_index= target_index
check_option = target.checked;
return false;
}
target.checked=1;
var low=Math.min(target_index , old_index);
var high=Math.max(target_index , old_index);
for(var i=low;i<=high;i++) {
$("#checkbox" + i).attr("checked", false);
}
return true;
}
var indexAllCheckBoxesAtBTInstallationOnLoad = function() {
// This Part is used basically for Business Template Installation.
$("input.shift_check_support").each(
function(index){$(this).attr("id", "checkbox"+index);});
//var inputs = window.getElementsByTagAndClassName("input", "shift_check_support");
//for(i=0;i<=inputs.length-1;i++) {inputs[i].id = "checkbox" + i; }
}
var resizeIFrameOnLoad = function() {
/* Resize all frames in document in order to remove sliders */
var object_list = $("object.auto_height");
for( var i=0; i<object_list.length; i++) {
var object_document = object_list[i];
var inner_frame = object_document.contentDocument;
if (inner_frame){
object_document.style.height = inner_frame.documentElement.offsetHeight + 'px';}
}
}
var changed = false;
function installUnsavedChangesWarning(warning_message) {
window.onbeforeunload = function() {
if ((changed)&&($("button.save")))
// show an warning box only if save button do exists
return warning_message;
};
};
var addOnChangeEventHandler = function() {
/* Add a onchange event handler for all fields inputs.
This event handler set a dirty flag which cause a warning
while leaving the page, unless leaving by:
- saving (see clickSaveButton function from this file)
- clicking a relation field wheel
- clicking on a input with type submit
*/
//var master = document.getElementById("master");
var master = $("#master");
if (master) {
//divs = master.getElementsByTagName("div");
divs = master.find("div");
for (i=0; i<divs.length; i++) {
if (divs[i].getAttribute("class") == "input") {
nodes = divs[i].childNodes;
for (j=0; j<nodes.length; j++) {
if (nodes[j].nodeName == "INPUT" ||
nodes[j].nodeName == "SELECT" ||
nodes[j].nodeName == "TEXTAREA") {
if (nodes[j].value == "update..." ||
(nodes[j].nodeName == "INPUT" &&
nodes[j].type == 'submit')) {
// this is a relation field wheel or a submit form button
nodes[j].onclick = function() { changed = false;};
} else {
if (!nodes[j].onchange) {
nodes[j].onchange = function() { changed = true; };
}
}
}
/* Listbox or MatrixBox */
if (nodes[j].nodeName == "DIV" && (
nodes[j].getAttribute("class") == "listbox-container" ||
nodes[j].getAttribute("class") == "MatrixContent")) {
trs = nodes[j].getElementsByTagName('td');
for (k=0; k<trs.length; k++){
if (trs[k].getAttribute("class") == "listbox-search-line") {
continue;
}
inputs = trs[k].getElementsByTagName('input');
for (l=0; l<inputs.length; l++){
if (inputs[l].getAttribute("type") != "hidden" &&
!inputs[l].onchange) {
inputs[l].onchange = function() { changed = true; };
}
}
}
}
}
}
}
}
}
var rewriteIndentedSelect = function() {
/*
Under firefox, rewrite indented title categories using style definition.
This way we can select items by pressing the first letter of their name. */
var master = $("#master");
if (master){
selects = master.find("select");
for (i=0; i<selects.length; i++) {
options = selects[i].childNodes;
for (j=0; j<options.length; j++) {
if (options[j].nodeName != "OPTION") {
continue;
}
text = options[j].innerHTML;
if (text.substring(0, 1) == '\n') {
text = text.substring(1, text.length);
}
level = 0;
if (text.substring(0, 6) == '&nbsp;') {
for (idx=0; idx <= text.length; idx+=6) {
if (text.substring(idx, idx+6) == '&nbsp;') {
level += 1;
} else {
break;
}
}
}
if (level >= 1) {
level = level / 4.;
options[j].innerHTML = text.replace(/^(&nbsp;)+/, "");
options[j].style.paddingLeft = level+"em";
}
}
}
}
}
function queryStringToArray(query_string){
/*
Turn a query string into a "dictionary"
*/
var final ={};
var b = query_string.split('&');
$.each(b, function(x,y){
var temp = y.split('=');
final[temp[0]] = temp[1];});
return final
}
function submitLinkAsHtmlForm(event){
/*
Parse link into form arguments and pass everything as a
form (together with rest of page's input elements).
*/
url = $(this).attr("href")
form = $("form")
method = url.substring(0, url.indexOf('?'))
query_string = url.substring(url.indexOf('?')+1)
params = queryStringToArray(query_string)
$.each(params, function(key, value) {
if (!$('*[name="' + key + '"]').length){
// key not part of HTML namespace
form.append('<input type="hidden" name="' + key+ '" value="' + value + '">');
}});
// submit form
form.attr("action", method)
form.submit()
event.stopPropagation()
return false;
}
function redirectPDFPage(event, element){
/*
Used in PDF thumbnail preview mode
*/
if(event.keyCode == 13){
selection_index = parseInt($(element).val()) - 1;
window.location.href = "PDF_viewHTMLPreviewAsImage?selection_index=" + selection_index;
return false;
}
}
if (navigator.userAgent.toLowerCase().indexOf('firefox') != -1)
$(document).ready(rewriteIndentedSelect);
$(document).ready(resizeIFrameOnLoad);
$(document).ready(addOnChangeEventHandler);
$(document).ready(indexAllCheckBoxesAtBTInstallationOnLoad);
#gadget_area_wrapper {
margin-top: 0.5em;
}
#page_wrapper {
text-align: left;
margin: 0em;
padding: 0em;
padding-top: 0em;
background-color: inherit;
min-height: 500px;
width: 100%;
float:left;
margin-top: 0.5em;
}
#loading-wrapper{
position:absolute;
width:250px;
top:80px;
left:50%;
margin-left:-150px;
text-align:center;
padding:7px 0 0 0;
background-color: #FFF;
z-index:1000;
}
#loading-wrapper p{
font-weight: bold;
font-size: 90%;
}
.invisible-gadget{
display:none;
}
/* 3 columng gadget layout */
div.portal-column {
float: left;
width:32.9%;
margin-right:3px;
min-height: 200px;
}
/* Boxes */
div.block {
margin:1px 1px 3px;
padding: 0px;
width: 100%;
}
div.pad-actions{
float:left;
}
h3.handle {
margin: 0;
padding: 0 0 0 10px;
font-size: 14px;
color: #fff;
background: transparent url(images/tab_left_selected.png) no-repeat scroll left top;
border-bottom: 1px solid #3D6474;
}
h3.handle span.handle {
display: block;
min-height:20px;
padding: 5px 5px 0 0;
background: transparent url(images/tab_right_selected.png) no-repeat scroll right top;
}
div.block h3 span.gadget_title{
min-width: 100px;
}
/* Minimize, Edit, Remove images */
span.clickable_image{
cursor: pointer;
margin-top: 5px;
display: block;
float: left;
}
#tabs li span.rename_tab_dialog_image{
background: url("icon_edit.gif") no-repeat;
padding-right: 6px;
}
#tabs li span.remove_tab_dialog_image{
background: url("icon_remove.gif") no-repeat;
padding-right: 6px;
}
a.clickable-block{
display: block;
float: right;
width: 15px;
height: 15px;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
padding: 0em;
margin: 0;
}
a.block-remove {
background-image: url(icon_remove.gif);
}
a.block-minimize {
background-image: url(icon_minimize.gif);
}
a.block-edit-form {
background-image: url(icon_edit.gif);
}
.block-hover {
border: 2px dashed #f00;
}
span.handle,
h3.handle {
cursor: move;
}
/* In edit form disable border */
div.edit-form fieldset{
border: 0px solid black;
}
div.edit-form button{
margin-top: 0.5em;
}
div.edit-form {
padding-top: 0.5em;
padding-left: 1em;
padding-bottom: 0.5em;
border: solid black;
border-width: 0 1px 1px 1px;
background-color: #BDD0F0;
overflow: auto;
width:auto;
}
/* Tabs for Knowledge Pads */
#pad-navigation-wrapper{
margin-top:10px;
border-bottom:1px solid #3D6474;
height:25px;
width:100%;
}
#tabs {
padding-left: 0em;
float: left;
width:78%;
}
#tabs ul {
margin : 0em;
padding: 0em;
width: 100%;
list-style-image: none;
list-style-position: outside;
list-style-type: none;
}
li.tab {
display: block;
font-size: 12px;
float: left;
height: 24px;
padding-right: 5px;
background-color: #BDD0F0;
cursor: pointer;
border: 1px solid #3D6474;
margin-right: 1px;
}
#tabs li span{
padding: 0px 10px;
display: block;
float: left;
height: 19px;
padding-top: 5px;
}
/* Selected tabs should be 1px higher in order to hide border at bottom */
li.tab_selected {
font-weight: bold;
background-color: #DAE6F6;
border-bottom: 1px solid #DAE6F6;
}
/* without this declaration IE will hide draggable elements!*/
.content .field{
position: static;
clear:both;
}
/* Dialogs */
div.toggable_dialog{
display: none;
left: 400px;
position: absolute;
top: 75px;
z-index: 10000;
border: 5px solid #BDD0F0;
background-color: #97B0D1;
padding: 0em 1em 0.5em 1em;
}
#add-gadgets{
cursor: pointer;
}
#add_new_tab_dialog_link{
cursor: pointer;
font-weight: bold;
background: transparent;
display: block;
float: left;
font-weight: bold;
height: 19px;
padding-top: 5px;
padding-left: 5px;
margin-left: 5px;
border-style: none;
}
#create_own_pad_dialog_link{
cursor: pointer;
background: url("images/configure.png") no-repeat !important;
display: block;
float: left;
height: 22px!important;
width:22px!important;
padding-top: 5px;
padding-left: 5px;
margin-left: 5px;
border-style: none;
}
#tabs_switcher{
cursor: pointer;
font-weight: bold;
background: transparent;
padding-top: 5px;
border-style: none;
margin: 0em;
width: 10%;
float:left
}
#add_new_gadget_link{
font-weight: bold;
height: 20px;
text-align:right;
padding-top:5px;
float:right;
width:12%;
}
/* Draggable Area */
div.draggable_wrapper{
background-color: #FFFFFF;
}
div.wait_block {
text-align: center;
padding: 2em;
}
div.box_inner_content {
background-color:#FFFFFF;
padding: 0.1em;
clear:left;
overflow: visible;
}
div.box_inner_content ol{
margin-top: 0em;
}
/* seperate gadget tables from rest of ERP5*/
div.block div.content{
padding: 0px;
}
div.block table,
div.block table tr,
div.block table tr td{
border: none;
}
/* lisbox style should be square for gadgets */
div.block ul{
list-style-type: square;
}
/*
Gadget listbox CSS
*/
div.block table.listbox .right{
float:right;
}
div.block table.listbox .left{
float:left;
}
div.block .listbox-head{
margin-left:0;
}
div.block div.listbox-head-spacer{
display:none;
}
div.block div.listbox-head-content {
/* background: none;*/
background-color: #E3EAFA;
border: none;
margin-left:0;
padding-left: 10px;
}
div.block table.listbox tr{
margin-top:2px;
}
div.block table.listbox tr.DataB {
background-color:#FFF;
}
div.block div.input{
margin-left:0em;
}
#add-stick-gadget-tool-section{
margin-bottom: 1.5em;
}
/* labels in forms inserted into a gadget should be visible
indedepndantly from fact that master form may use hiddenLabel */
div.block div.hidden_label label,
div.block div.hiddenLabel label{
display: none;
}
/*
Gadgets CSS - use to define gadget specific CSS.
*/
div.block .right{
float:right;
margin-left:5px;
}
div.block div.box_inner_content div.worklist_list ul {
list-style-image:url(bullet.png);
margin:0;
padding-bottom:0.5em;
padding-left:2em;
padding-top:0.5em;
}
div.block div.worklist_list ul li{
overflow: visible;
margin-bottom:5px;
background-color:white;
}
div.block div.worklist_list a{
color:black;
text-decoration:none;
cursor:pointer;
}
div.block div.worklist_list ul li a:hover{
text-decoration:none;
}
/* Some gadgets share same Document_getSummaryAsHTML or RssFeed_getSummaryAsHTML */
div.document-gadget-quick-preview div.teaser{
cursor: pointer;
margin-bottom: 3px;
}
div.document-gadget-quick-preview div.teaser img{
vertical-align:top;
}
div.document-gadget-quick-preview span.document-title,
div.document-gadget-quick-preview span.modification-date{
font-size:1em;
color: #000;
}
/* Some items can be marked as read and we need a way to visualize it */
div.document-gadget-quick-preview div.read span.document-title,
div.document-gadget-quick-preview div.read span.modification-date{
color: #969696;
}
div.document-gadget-quick-preview a.document-link{
color:#000;
font-weight:bold;
}
/* Rss Feed reader gadget needs no listbox headers or
show number of records or show 'No results' as listbox title is used for this */
div.gadget-rss-reader table.listbox thead,
div.gadget-rss-reader div.listbox-number-of-records,
div.gadget-rss-reader table.listbox td.listbox-table-no-result-row,
div.gadget-rss-reader div.listbox-title{
display: none;
}
div.gadget-rss-reader-message{
font-weight:bold;
}
div.gadget-rss-reader .listbox-head-content{
height:auto;
}
div.gadget-rss-reader .listbox-body,
div.gadget-rss-reader .listbox-head{
margin-left:4px;
width:auto;
}
div.gadget-rss-reader div.read{
background-color:#ececec;
}
div.gadget-rss-reader span.modification-date{
color: #969696;
}
div.gadget-rss-reader a.document-link {
color:#000;
}
div.gadget-rss-reader a.listbox_title {
text-decoration: underline;
font-weight:bold;
}
div.rss-description{
margin-top:4px;
}
div.teaser .thumbnail-image{
margin-top:0px;
margin-right:4px;
margin-bottom:4px;
float:left;
}
div.teaser .icon {
vertical-align:middle;
}
/* RSS logo */
div.gadget-rss-reader-logo img{
float:right;
margin:4px;
width:auto;
}
div.gadget-rss-reader div.listbox-head-content {
background-color: transparent;
padding-left:0px;
}
div.gadget-rss-reader .body {
float:left;
}
// global layout is saved here
var last_layout = '';
// current active pad relative url
var active_knowledge_pad_relative_url = '';
var active_knowledge_pad_title_dom_id = '';
// enable or disable integration with server
var is_knowledge_template_used = 0;
// dictionary of invisible gadgets
var invisible_gadgets={};
var create_default_knowledge_pad_script_id = "ERP5Site_createDefaultKnowledgePadListForUser";
var check_for_activities_on_server_script_id = "ERP5Site_hasUserActivity";
var knowledge_box_edit_script_id = "KnowledgeBox_baseEdit";
var knowledge_pad_save_layout_script_id = "KnowledgePad_saveBoxColumnLayout";
var knowledge_pad_delete_box_script_id = "KnowledgePad_deleteBox";
var knowledge_box_toggle_script_id = "KnowledgeBox_toggleVisibility";
var knowledge_pad_rename_script_id = "ERP5Site_renameKnowledgePad";
var knowledge_pad_delete_script_id = "ERP5Site_deleteKnowledgePad";
var add_new_knowledge_pad_script_id = "ERP5Site_addNewKnowledgePad";
var knowledge_pad_as_json_script_id = "KnowledgePad_getPadAsJSON";
var add_new_gadget_form_id = "Base_viewGadgetListDialog";
function createCustomKnowledgePadOnServer(){
$.ajax({url:create_default_knowledge_pad_script_id,
data:{mode: mode,
default_pad_group: default_pad_group},
dataType: "json",
success:function(data){window.location=cancel_url + "/view?active_pad_url=" + data.knowledge_pad_relative_url;}});
}
function showCreateDefaultKnowledgePadWarningMessage(){
user_choice = confirm("In order to complete operation you must have your own tab on server instead of the default one which you are currently using and which you can not change.Is it OK to create new one for you now?");
if (user_choice==true){
createCustomKnowledgePadOnServer();}
}
function createCookie(name, value, days, path) {
if (days){
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();}
else var expires = "";
if (!path){var path='/';}
document.cookie = name+"="+value+expires+"; path="+path;
}
function updater(url, box_relative_url, dom_id,
editable_mode, additionnal_request_params, field_prefix){
/* Get content from server */
request_params = {};
additionnal_request_params = typeof(additionnal_request_params) != 'undefined' ? additionnal_request_params : [];
// getting parameters for the request in the form's hidden inputs
input_list = $("#" + dom_id).find("input");
function extractHiddenInputs(index){
element = $(this);
type = element.attr("type");
name = element.attr("name");
value = element.val();
is_list = name.substring(name.length, name.length - 5) == ":list";
if(type == "hidden"){
if(name == "gadget_form_id"){
// turn 'gadget_form_id' into 'form_id'
request_params["form_id"] = value;}
else if(is_list){
if(typeof(request_params[name]) == "undefined"){
request_params[name] = new Array()}
request_params[name].push(value);}
else{
// not list input
request_params[name] = value;}
}}
input_list.each(extractHiddenInputs);
// we can have a field_prefix which allows multiple gadgets within same HTML form
if (field_prefix){
$.each(request_params,
function (key, value){
if (key.match("^"+field_prefix)){
delete request_params[key];
request_params[key.replace(field_prefix,'')] = value;
}});
}
// getting parameters for request from the parameter additionnal_request_params
$.each(additionnal_request_params,
function (key, value){request_params[key] = additionnal_request_params[key];});
request_params["box_relative_url"] = box_relative_url;
request_params["is_gadget_mode:int"] = 1;
request_params["editable_mode:int"] = editable_mode;
// set transperancy to show an activity is going on
$("#" + dom_id).css("opacity", 0.5);
$.ajax({url:url,
data: request_params,
success: handleServerSuccess,
error: handleServerError,
// it's important for Zope to have traditional way of encoding an URL
traditional: 1});
function handleServerSuccess(data, text_status, xhr){
content_type = xhr.getResponseHeader('Content-Type');
if(content_type.search("application/json")!=-1){
// server returned JSON which may contain HTML & JavaScript
html = data['body'];
eval(data['javascript']);}
else{
/* server returned HTML */
html = data;}
$("#" + dom_id).html(html);
$("#" + dom_id).css("opacity", 1.0);
}
function handleServerError(res){
$("#" + dom_id).html("Server side error.");
$("#" + dom_id).css("opacity", 1.0);
}
}
function checkForActivitiesOnServer(timeout, return_url, mode, default_pad_group){
/* check if activities are over and refresh current page */
window.setInterval(
function () {
$.ajax({url:check_for_activities_on_server_script_id,
data: {js_call: 1,
mode: mode,
default_pad_group: default_pad_group},
dataType: "json",
success: function (data){if(data.result=="False"){window.location=return_url;}}
})},
timeout);
};
function createDefaultPadOnServer(timeout, default_pad_group, return_url, mode){
/* create default tab on server and then check if
activities are over and refresh current page */
$.ajax({url: create_default_knowledge_pad_script_id,
data: {default_pad_group: default_pad_group,
mode: mode},
success: function(data){checkForActivitiesOnServer(timeout, return_url, mode, default_pad_group);}});
}
function submitGadgetPreferenceFormOnEnter(event,
form_fields_main_prefix,
box_relative_url,
edit_form_id){
/* This function can be used to submit gadget preferences form whenever
an enter is pressed in form */
if(event.keyCode == 13){submitSynchronousGadgetPreferenceForm(form_fields_main_prefix,
box_relative_url,
edit_form_id);}
}
function submitSynchronousGadgetPreferenceForm(
form_fields_main_prefix,
box_relative_url,
edit_form_id){
/* this will add respective gadget knowledge box relative url and
gadget ERP5 preference form field_prefix (so multiple gadgets can
safely coexist in one HTML page with one HTML form */
redirect_url = window.location.protocol + "//" + window.location.host + window.location.pathname
$("form").append('<input type="hidden" name="box_relative_url" value="' +box_relative_url + '">')
$("form").append('<input type="hidden" name="form_fields_main_prefix" value="' +form_fields_main_prefix + '">')
$("form").append('<input type="hidden" name="gadget_redirect_url" value="' +redirect_url + '">')
$("form").append('<input type="hidden" name="form_id" value="' +edit_form_id + '">')
clickSaveButton(knowledge_box_edit_script_id)
}
function submitAsynchronousGadgetPreferenceForm(
form_dom_id,
view_form_url,
box_relative_url,
visual_block_dom_id,
form_fields_main_prefix,
edit_form_id){
/* Iterate over all possible form elements within edit form,
collect them and send to server*/
var request_str = "synchronous_mode:int=0&" + "box_relative_url=" + box_relative_url+ "&form_fields_main_prefix=" + form_fields_main_prefix + "&form_id="+edit_form_id + "&";
//input tags
$("#" + form_dom_id).find("input").each(
function (index) {
element = $(this);
type = element.attr("type");
name = element.attr("name");
is_checked = element.attr("checked");
value = element.val()
if (type == "checkbox"){
if (is_checked){request_str+=name + ":boolean=True&";}
else {request_str+=name + ":boolean=False&";}}
if (type == "radio" && is_checked){request_str+=name + "="+value+"&";}
if (type == "text" || type == "password"){request_str+=name + "=" + value + "&";}
} );
// select tags
$("#" + form_dom_id).find("select").each(
function (index) {
element = $(this);
name = element.attr("name");
is_multiple = element.attr("multiple");
value = element.val()
if (is_multiple){
//support multifield selects in gadget edit form
element.children("option").each(
function (index) {
option = $(this);
if(option.attr("selected")){request_str+=element.attr("name") + '=' + option.val() + '&';}
}); }
else{request_str+=name + '=' + value + '&';} });
// save form preferences to remote server
$.ajax({url: knowledge_box_edit_script_id + "?" + request_str,
dataType: "json",
success: function (data){
if (data.validation_status){
// server side validation passed
updater(view_form_url, box_relative_url, visual_block_dom_id)
$("#" + form_dom_id).toggle()
// clean error messages
$("#" + form_dom_id + " span.error").remove()
}
else{
// server side validation failed show error message
$("#" + form_dom_id + " div.edit-form-content").html(data.content)
}
} });
}
function updateServerBoxColumnLayout(event, ui){
/* read columns structure from DOM and save it to server */
var columns_arr = new Array;
var columns = $("div.portal-column");
// sort alphabetically as it's required to get proper layout from DOM
columns.sort(function(a, b) {
var compA = $(a).attr("id").toUpperCase();
var compB = $(b).attr("id").toUpperCase();
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;})
columns.each(function(column_index, column){
column = $(this);
var items_arr = new Array;
column_items = column.find("div.block");
column_items.each(function(box_index, box){
items_arr[box_index] = column_items[box_index].id;});
columns_arr[column_index] = items_arr.join('|') });
var layout = columns_arr.join("##");
// .. and send it to server only if it's different
if (layout!=last_layout){
last_layout = layout;
$.ajax({url: knowledge_pad_save_layout_script_id,
data: {user_layout: layout}});}
}
function showAddNewPadPopup(){
$("#add_new_tab_dialog").toggle();
// set focus on new Pad title after toggle effect is over
setTimeout("$('#new_pad_title').focus()", 500 );
}
function showRenamePadPopup(knowledge_pad_relative_url, knowledge_pad_title_dom_id){
// set current active pad' url & title dom element id
active_knowledge_pad_relative_url = knowledge_pad_relative_url;
active_knowledge_pad_title_dom_id = knowledge_pad_title_dom_id;
// init rename dialog input field to current active pad
$("#new_knowledge_pad_title")[0].value = $("#"+knowledge_pad_title_dom_id)[0].innerHTML;
// show rename dialog
$("#rename_tab_dialog").toggle();
// set focus on new Pad title after toggle effect is over
setTimeout("$('#new_knowledge_pad_title').focus()", 500);
}
function loadPadFromServer(pad_relative_url, selected_pad_dom_id, mode){
/* Load Pad from server */
// show some animation
$("#loading-wrapper").first().show()
$.ajax({url: knowledge_pad_as_json_script_id,
data: {pad_relative_url: pad_relative_url,
mode: mode},
dataType: "json",
success: handleServerSuccess});
// set old pad to not selected
old_selected_pad = $("#tabs ul").children("li.tab_selected").first()
old_selected_pad.removeClass("tab_selected");
old_selected_pad.addClass("tab");
pad_actions = old_selected_pad.children("div.pad-actions").first();
pad_actions.hide();
// set new selected pad class
new_selected_pad = $("#" + selected_pad_dom_id).first();
new_selected_pad.addClass("tab_selected");
// enable "settings" for this pad and hide instant switch
pad_actions = new_selected_pad.children("div.pad-actions").first()
pad_actions.show()
// set new active pad
active_knowledge_pad_relative_url = pad_relative_url;
// update "Add Gadget" link
current_url = $("#add-gadgets").attr("href");
new_url = current_url.substring(0, current_url.indexOf("active_pad_relative_url=")+24)+active_knowledge_pad_relative_url
$("#add-gadgets").attr("href", new_url);
//function metadataFetchFailed(meta){}
function handleServerSuccess(data){
body = data.body
javascript = data.javascript
body_element = $("#pad-body-wrapper")[0]
body_element.innerHTML = body;
// init new Pad
initialize();
// execute JS code provided by server
eval(javascript);
// give some timeout as we can be sometimes two fast loading a tab
setTimeout("$('#loading-wrapper').first().hide();", 250 );};
}
function addPadOnServerOnEnter(event, mode, cancel_url){
/* Catch and submit form when ENTER is pressed */
if(event.keyCode == 13){
addPadOnServer(mode, cancel_url);
return false;}
}
function addPadOnServer(mode,
cancel_url){
/* add pad on server */
pad_title_value = $("#new_pad_title").first().val();
window.location = add_new_knowledge_pad_script_id + "?redirect_url=" + cancel_url + "&mode=" + mode + "&pad_title=" + pad_title_value;
};
function removeKnowledgePadFromServer(knowledge_pad_relative_url, mode){
/* remove pad from server*/
if (is_knowledge_template_used){
showCreateDefaultKnowledgePadWarningMessage();}
else{
var user_choice = true;
user_choice = confirm("Are you sure you want to remove this pad from your home?");
if (user_choice==true){
location.href=knowledge_pad_delete_script_id + "?knowledge_pad_relative_url=" + knowledge_pad_relative_url+"&mode="+mode;} }
}
function renameKnowledgePadToServerOnEnter(event){
if(event.keyCode == 13){
renameKnowledgePadToServer();
return false;}
return true;
}
function renameKnowledgePadToServer(){
if (is_knowledge_template_used){
showCreateDefaultKnowledgePadWarningMessage();}
else{
// rename it locally and update server asynchonously
title_element = $("#"+active_knowledge_pad_title_dom_id).first()
input_element = $("#new_knowledge_pad_title")
var knowledge_pad_title = input_element.val();
title_element.html(knowledge_pad_title);
$.ajax({url: knowledge_pad_rename_script_id,
data: {knowledge_pad_relative_url: active_knowledge_pad_relative_url,
knowledge_pad_title: knowledge_pad_title}});
}
$("#rename_tab_dialog").toggle();
}
function initialize(){
// initialize sortable columns
if (is_knowledge_template_used==0){
// allow drag and drop only if we are dealing with a pad we can modify
sortable_list = $("div.portal-column");
function makeSortables(index){
element = $(this);
if (element.attr("class") == "portal-column"){
// eliminate undraggable columns by checking exact match
element.sortable({handle: "h3.handle",
connectWith: sortable_list,
placeholder: "block-hover",
forcePlaceholderSize: 1,
opacity: 0.8,
containment: "document",
delay: 100,
stop: updateServerBoxColumnLayout});} }
if (sortable_list!=null) sortable_list.each(makeSortables);
}
// enable show/hide tabs
gadgets_tabs = $("#tabs");
gadgets_tabs_switcher = $("#tabs_switcher");
add_gadget = $("#add_new_gadget_link");
function toggleTabNavigation(){
/* Toggle tabs navigation */
var is_tabs_visible=0;
if($("#tabs").css("display")!="block"){
is_tabs_visible=1;
$("#tab_switcher_visible").show();
$("#tab_switcher_hidden").hide();}
else{
$("#tab_switcher_visible").hide();
$("#tab_switcher_hidden").show();}
$("#tabs").toggle();
createCookie("is_tabs_visible", is_tabs_visible, 365); }
function bindGadgetHandlers(index, box){
/* Bind all gadgets handlers */
box = $(this)
var edit = box.find("a.block-edit-form").first();
var edit_form = box.find("div.edit-form").first();
var remove = box.find("a.block-remove").first();
var minimize = box.find("a.block-minimize").first();
var minimize_wrapper = box.find("div.minimize_wrapper").first();
if(minimize){
minimize.unbind("click");
minimize.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{
minimize_wrapper.toggle();
box_id = box.attr("id")
js_dom_id = box_id + "_content";
js_code = invisible_gadgets[js_dom_id];
if (js_code!=undefined){
eval(js_code);
// gadget is now visible, i.e. no need to query server just toggle locally dom
delete invisible_gadgets[js_dom_id];}
$.ajax({url: knowledge_box_toggle_script_id,
data: {box_relative_url: box_id}});
}
});}
if(edit){
edit.unbind("click");
edit.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{edit_form.toggle()}});}
if(remove){
remove.unbind("click");
remove.bind("click", function (){
if (is_knowledge_template_used){showCreateDefaultKnowledgePadWarningMessage();}
else{
user_choice = confirm("Are you sure you want to remove this gadget from your personalized page?");
if (user_choice==true){
box_id = box.attr("id");
box.toggle();
$.ajax({url: knowledge_pad_delete_box_script_id,
data: {box_relative_url: box_id}});}
}});}
}
// tabs navigation
if(gadgets_tabs_switcher){
gadgets_tabs_switcher.unbind("click");
gadgets_tabs_switcher.bind("click", toggleTabNavigation);}
// for each box (gadget) add respective event handlers
gadget_list = $("div.block");
if (gadget_list!=null){
gadget_list.each(bindGadgetHandlers);
// when dom is loaded we need to remove all gadget's scripts otherwise currently when a gadget is moved
// its HTML is getting executed again, thus making unecessary calls to server, etc ...
gadget_list.each(
function (index, box){ $(this).find("script").remove();});
}
}
// call function after load of document
$(document).ready(initialize);
/*
Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
Ivan Tyagov <ivan@nexedi.com>
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* Search popup fix*/
div.search_popup{
left:200px;
position:absolute;
top:-120px;
width:250px;
}
div.listbox-container{
width: 100%;
height: auto;
float:left;
margin-bottom:5px;
}
div.listbox-body{
float:left;
width: 100%;
}
div.listbox-tree{
margin-right: 0.1%;
max-width: 10%;
float: left;
}
div.listbox-content{
float:left;
width:100%;
}
div.maximal-width{
width:100%;
}
div.float-right{
float:right;
}
div.listbox-content-fixed-width{
width:89%;
}
table.listbox td.listbox-table-no-result-row{
border: 1px solid #3D6474;
text-align:center;
}
table.listbox tr.listbox-stat-line{
border-top: 1px solid #3D6474;
}
table.listbox tr.listbox-search-line {
background-color: #DAE6F6;
}
div.listbox-head{
color:#9D968D;
margin-left:-1px;
}
div.listbox-head-spacer{
background:transparent url("images/tab_left_selected.png") no-repeat scroll left top;
height:36px;
width:10px;
float:left;
}
div.listbox-head-content{
border-right:1px solid #3D6474;
border-top:1px solid #3D6474;
height:25px;
margin-left:10px;
padding-top:10px;
padding-right: 5px;
width:auto;
background-color: #e3eafa;
}
div.listbox-head div.listbox-head-title{
float:left;
width:auto;
}
div.listbox-head div.listbox-head-navigation{
float:right;
width:auto;
}
div.listbox-head div.listbox-head-results{
float: right;
width: auto;
clear: right;
text-align:right;
}
div.listbox-tree-mode-selection{
height: 22px;
width: auto;
float: left;
}
div.listbox-tree-mode-selection input{
width: auto;
}
th.listbox-table-report-tree-selection-cell{
width: 50px;
}
/* Listbox header */
div.listbox-header-box{
width: auto;
float:left;
padding-right: 5px;
}
/* Listbox Footer */
div.listbox-footer{
float:left;
width:100%;
text-align: center;
background-color: #BDD0F0;
margin-left:-1px;
}
div.listbox-footer-box{
margin-top:3px;
margin-bottom:3px;
}
/* Listbox Footer in gadget mode */
div.block div.listbox-footer{
background-color: transparent;
}
div.block div.listbox-head-content{
font-size: 90%;
}
div.listbox-title,
div.listbox-number-of-records{
padding-top: 5px;
}
/* List style selection */
div.listbox-list-style-selection {
padding-top:1px;
padding-left: 5px;
}
div.listbox-list-style-selection span{
vertical-align:-4px;
}
div.block div.listbox-list-style-selection span{
padding-left: 0px;
}
div.listbox-list-style-selection ul{
display:inline;
padding-left:0;
margin: 0;
vertical-align: -4px;
}
div.listbox-list-style-selection li{
display: inline;
margin-left: 0.1em;
}
div.listbox-list-style-selection li a{
cursor: pointer;
}
div.listbox-list-style-selection li a.selected,
.listbox-table-report-tree-selection-cell a.selected,
.listbox-table-domain-tree-cell a.selected,
.listbox-page-navigation-text a.selected{
font-weight: bold;
}
/* Domain / Report tree buttons */
button.tree-open,
button.tree-closed{
background: none;
border: none;
cursor: pointer;
padding-left: 15px;
text-align: left;
}
button.tree-open{
background: url("./images/tree_open.png") no-repeat scroll left 4px transparent;
font-weight: bold;
}
button.tree-closed{
background: url("./images/tree_closed.png") no-repeat scroll left 4px transparent;
}
/* Listbox full text search bar */
div.listbox-full-text-search {
}
div.listbox-full-text-search input{
width: 250px;
}
div.listbox-full-text-search input.button{
background-color: #97B0D1;
border: 0 none;
color:#000;
width: auto;
padding-left: 10px;
padding-right: 10px;
cursor: pointer;
}
/* Listbox Navigation */
div.listbox-page-navigation input.listbox_set_page,
div.listbox-page-navigation button.listbox_next_page,
div.listbox-page-navigation button.listbox_last_page,
div.listbox-page-navigation button.listbox_first_page,
div.listbox-page-navigation button.listbox_previous_page{
margin: 0em;
padding: 0em;
}
div.listbox-page-navigation button{
background-color:transparent;
border: none;
cursor: pointer;
}
div.listbox-page-navigation button span.image{
display:block;
height:22px;
width:22px;
background-repeat:no-repeat;
}
div.listbox-page-navigation button.listbox_first_page span.image {
background-image:url("images/2leftarrowv.png");
}
div.listbox-page-navigation button.listbox_previous_page span.image {
background-image:url("images/1leftarrowv.png");
}
div.listbox-page-navigation button.listbox_next_page span.image {
background-image:url("images/1rightarrowv.png");
}
div.listbox-page-navigation button.listbox_last_page span.image {
background-image:url("images/2rightarrowv.png");
}
div.listbox-page-navigation-slider{
width:100%;
margin:auto;
padding-right: 0.5em;
float:right;
}
div.listbox-page-navigation-slider input{
max-width: 30px;
}
div.listbox-page-navigation-text{
width:100%;
float:left;
text-align:center;
}
div.listbox-page-navigation-text a{
padding-right: 1px;
color: #000;
cursor: pointer;
}
/* Report tree */
a.tree-closed {
background:transparent url('./images/tree_closed.png') no-repeat scroll left center;
padding-left:15px;
}
a.tree-open {
background:transparent url('./images/tree_open.png') no-repeat scroll left center;
padding-left:15px;
font-weight: bold;
}
div.listbox-tree select{
/* max-width:120px; */
}
/* Table Listbox elements */
table.listbox{
border-collapse:collapse;
width:100%;
border-color:#3D6474;
border-style:solid;
border-width:0 1px 1px;
margin-bottom: 0em;
}
table.listbox th,
table.listbox td {
text-align:left;
vertical-align: top;
border-color:#3D6474;
border-style:solid;
border-width:0 1px;
padding: 0em;
padding-left:1px;
padding-right:1px;
font-weight: normal;
}
table.listbox tr.listbox-label-line{
background-color:#C1DAEB;
color:#001730;
border-top: 1px solid #3D6474;
}
table.listbox tr.listbox-search-line th{
margin: 0em;
padding: 0em;
padding-right:5px;
padding-left:1px;
}
/* Select columns */
table.listbox tr.listbox-label-line th.listbox-table-select-cell,
table.listbox tr.listbox-search-line th.listbox-table-select-cell,
table.listbox tr td.listbox-table-select-cell{
width: 50px;
text-align: center;
vertical-align: middle;
padding:0;
margin:0;
}
table.listbox tr.DataA {
color: inherit;
background-color: #FFF;
}
table.listbox tr.DataB {
color: inherit;
background-color: #DAE6F6;
}
table.listbox tr.DataA:hover,
table.listbox tr.DataB:hover,
table.listbox.table tr.tbody:hover{
color: inherit;
background-color: #BDD0F0;
}
table.listbox tr.listbox-search-line th.listbox-table-filter-cell input{
width: 100%;
vertical-align:middle;
}
table.listbox input{
float:none;
}
table.listbox input.listbox-check-all,
table.listbox input.listbox-uncheck-all,
table.listbox input.listbox-select-action{
width:auto;
}
.listbox-table-data-cell > .figure{
float:right;
display:block;
}
.listbox-table-data-cell > a > .figure{
float:right;
display:block;
}
table.listbox th button{
border-width:0;
cursor:pointer;
float:left;
padding:0 6px 0 0;
background: transparent;
}
table.listbox th button.sort-button {
text-decoration: underline;
padding: 0px;
}
table.listbox th button.sort-button:hover{
color: #FFF;
}
/* in ERP5 mode no need to have a switch for not clicked sort button */
table.listbox th button.sort-button-asc,
table.listbox th button.sort-button-desc{
background: none;
}
table.listbox th img.sort-button-desc,
table.listbox th img.sort-button-asc{
width: 13px;
height: 13px;
margin:0;
padding:0;
}
table.listbox th img.sort-button-desc{
background: url('images/1toparrow.png') no-repeat scroll 100% 100%;
}
table.listbox th img.sort-button-asc{
background: url('images/1bottomarrow.png') no-repeat scroll 100% 100%;
}
/* listbox table in thumbnail style
In thumbnail style we usually have only one thumbnail colum which through CSS
we show as floating box table row.
*/
table.listbox-thumbnail tbody tr{
display:block;
width: 128px; /* nano image width. XXX: dynamically generate. */
height:128px; /* nano image height. XXX: dynamically generate. */
float:left;
margin: 10px;
}
table.listbox-thumbnail tr.DataA, table.listbox-thumbnail tr.DataB,
table.listbox-thumbnail tr.DataA:hover, table.listbox-thumbnail tr.DataB:hover{
background-color: transparent; /* in thumbnail mode we don't care for hoover */
}
table.listbox-thumbnail td{
border:none;
}
/* in search mode listbox may contain top/bottom quick search inputs */
div.search-text-listbox{
text-align: center;
float:left;
height:auto;
margin-bottom:0.5em;
margin-top:0.5em;
}
div.search-text-listbox input{
width: auto;
}
/*
Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
//Add indentation to an HTML element
function addIndentation(container, first, level){
var children = container.children;
var text;
var n = children.length;
if(first){
text = container.innerHTML.trim().replace('>', '>\n').split('\n');
var m = text.length;
for(var i = 0; i < m; i++){
text[i] = text[i].trim();
}
}
else
text = container.innerHTML.trim().split('\n');
if(n == 0 && text.length == 1)
container.innerHTML = text[0];
else if(n == 0) {
container.innerHTML = '\n ' + text.join('\n ') + '\n';
}
else {
container.innerHTML = text.join('\n');
text = '';
children = container.childNodes;
n = children.length;
for(var i = 0; i < n; i++){
var child = children[i];
var addNewLine = false;
if(child.nodeType == 1){
text += addIndentation(child, false, 0);
addNewLine = child.tagName.length > 1 && child.tagName != 'P' && i < n - 1;
}
else{
var textNotEmpty = child.textContent.trim() != '';
if(textNotEmpty)
text += child.textContent;
addNewLine = textNotEmpty && child.textContent.search('\n') > -1 && i < n - 1;
}
if(addNewLine)
text += '\n';
}
if(first){
text = container.innerHTML.split('\n');
var result = '\n ';
first = true;
n = text.length;
for(var i = 0; i < n; i++){
if(text[i].trim() != ''){
if(first){
first = false;
result += text[i];
}
else
result += '\n ' + text[i];
}
}
result += '\n';
container.innerHTML = result;
}
else
container.innerHTML = '\n ' + text.split('\n').join('\n ') + '\n';
}
var element = document.createElement('div');
element.appendChild(container.cloneNode(true));
var whitespaces = Array(level + 1).join(' ');
return whitespaces + element.innerHTML.split('\n').join('\n' + whitespaces);
}
function indent(container, level){
return addIndentation(container, true, level);
}
/*
Copyright (c) 2002-2007 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
var fixLeftRightHeightAndFocusOnLoad = function () {
fixLeftRightHeightAndFocus(1);
};
$(document).ready(fixLeftRightHeightAndFocusOnLoad);
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller&ctl=themeroller&ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=DAE6F6&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=3D6474&fcHeader=222222&iconColorHeader=222222&bgColorContent=E3EAFA&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=3D6474&fcContent=222222&iconColorContent=222222&bgColorDefault=DAE6F6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=3D6474&fcDefault=555555&iconColorDefault=888888&bgColorHover=d0e0f6&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=4589a5&fcHover=212121&iconColorHover=454545&bgColorActive=E3EAFA&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=3D6474&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #3d6474; background: #e3eafa url(images/ui-bg_flat_75_e3eafa_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { border: 1px solid #3d6474; background: #dae6f6 url(images/ui-bg_highlight-soft_75_dae6f6_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #3d6474; background: #dae6f6 url(images/ui-bg_glass_75_dae6f6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #4589a5; background: #d0e0f6 url(images/ui-bg_glass_75_d0e0f6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #3d6474; background: #e3eafa url(images/ui-bg_glass_65_e3eafa_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position:}
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
* jQuery UI Resizable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
* jQuery UI Selectable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px d}
/*
* jQuery UI Accordion 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
/*
* jQuery UI Autocomplete 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.16
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*
* jQuery UI Button 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*
* jQuery UI Dialog 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*
* jQuery UI Slider 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
* jQuery UI Tabs 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs--selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*
* jQuery UI Datepicker 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/sorry for IE5
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*
* jQuery UI Progressbar 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
This source diff could not be displayed because it is too large. You can view the blob instead.
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test("")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
html { background-color: black; }
a { color: #ff0066; } a:hover {text-decoration: underline;}
footer { position: absolute; bottom: 50px; right: 50px; }
strong {color: #ff0066}
body {
font-family: 'oswald', arial, serif;
background-color: white;
color: white;
font-size: 2em;
background: #1c1c1c;
background-image: -moz-radial-gradient(center 45deg, #333 0%, #1c1c1c 50%);
background-image: -moz-radial-gradient(center 45deg, #333 0%, #1c1c1c 50%);
}
/* transition effect */
section {
-moz-transition: left 400ms linear 0s;
-webkit-transition: left 400ms linear 0s;
-o-transition: left 400ms linear 0s;
-ms-transition: left 400ms linear 0s;
transition: left 400ms linear 0s;
}
section { left: -150%; }
section[aria-selected] { left: 0; }
section[aria-selected] ~ section { left: +150% }
.chapter { background-color: black;}
.chapter h1 {line-height: 600px; vertical-align: middle; margin: 0; text-align: center; display: block}
h1 {
margin: 50px 100px 0 100px;
font-size: 50px;
text-shadow: 0px -1px 0px #000;
text-align: left;
}
h2 {
color: #fae50b;
margin: 70px 0 0 0;
font-size: 40px;
text-align: center;
}
ul {
margin-top: 70px;
font-size: 35px;
text-align: right;
border-right: 4px solid white;
padding-right: 40px;
min-width: 310px;
margin-left: 50px;
display: inline-block;
}
q, p {
margin: 50px auto 0 auto;
width: 500px;
}
q:after {content: ""}
q:before {content: ""}
q {
display: block;
margin-top: 140px;
}
video {
position: absolute;
top: 210px;
width: 260px;
left: 445px;
box-shadow: 0 0 10px black;
}
#arrow {
position: absolute;
top: 165px;
left: 460px;
font-size: 100px;
color: white;
}
li {list-style-type: none}
* { margin: 0; padding: 0; }
details {display: none;}
body {
width: 800px; height: 600px;
margin-left: -400px; margin-top: -300px;
position: absolute; top: 50%; left: 50%;
overflow: hidden;
}
section {
position: absolute;
pointer-events: none;
width: 100%; height: 100%;
}
section[aria-selected] { pointer-events: auto;}
body {display: none}
body.loaded {display: block}
section.code pre { margin: 20px 0 0 40px;font-size: 15px; font-weight: bold;}
section.code .Constant { color: #af5fff}
section.code .StorageClass { color: #ff8700}
section.code .Exception { color: #87ff00}
section.code .Identifier { color: #ff8700}
section.code .Title { color: #d75f00}
section.code .String { color: #afaf87}
section.code .Type { color: #5fd7ff}
section.code .Statement { color: #d7005f}
section.code .Function { color: #87ff00}
section.code .Comment { color: #CCC}
/* Cedric extensions */
section img {max-width: 100%; max-height: 80%; display: block; margin-left: auto; margin-right: auto;}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href="http://fonts.googleapis.com/css?family=Oswald" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="slides.css">
<script type="text/javascript" src="slides.js"></script>
<meta charset="utf-8">
<script type="text/javascript">
//get the body content from the main page
function getContent(){
return window.opener.document.getElementById("list").innerHTML;
}
</script>
<title>How to Manage Support Requests</title>
<!-- Your Slides -->
</head>
<body>
</body>
</html>
var friendWindows = [];
var idx = 1;
var slides;
/* main() */
setContent=function(){
document.getElementsByTagName('body')[0].Editable=true;
document.getElementsByTagName('body')[0].innerHTML=getContent();
console.log(document.getElementsByTagName("body").innerHTML);
}
ChangeStyle=function(){
slides = document.querySelectorAll("body > section");
onhashchange();
setSlide();
document.body.className = "loaded";
onresize();
}
window.onload = function() {
setContent();
ChangeStyle();
}
/* Handle keys */
window.onkeydown = function(e) {
// Don't intercept keyboard shortcuts
if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
return;
}
if ( e.keyCode == 37 // left arrow
|| e.keyCode == 33 // page up
) {
e.preventDefault();
back();
}
if ( e.keyCode == 39 // right arrow
|| e.keyCode == 34 // page down
) {
e.preventDefault();
forward();
}
if ( e.keyCode == 32) { // space
e.preventDefault();
toggleContent();
}
}
/* Adapt the size of the slides to the window */
window.onresize = function() {
var sx = document.body.clientWidth / window.innerWidth;
var sy = document.body.clientHeight / window.innerHeight;
var transform = "scale(" + (1/Math.max(sx, sy)) + ")";
document.body.style.MozTransform = transform;
document.body.style.WebkitTransform = transform;
document.body.style.OTransform = transform;
document.body.style.msTransform = transform;
document.body.style.transform = transform;
}
function getDetails(idx) {
var s = document.querySelector("section:nth-of-type("+ idx +")");
var d = s.querySelector("details");
return d?d.innerHTML:"";
}
window.onmessage = function(e) {
msg = e.data;
win = e.source;
if (msg === "register") {
friendWindows.push(win);
win.postMessage(JSON.stringify({method: "registered", title: document.title, count: slides.length}), document.location);
win.postMessage(JSON.stringify({method: "newslide", details: getDetails(idx), idx: idx}), document.location);
return;
}
if (msg === "back") back();
if (msg === "forward") forward();
if (msg === "toggleContent") toggleContent();
// setSlide(42)
var r = /setSlide\((\d+)\)/.exec(msg);
if (r) {
idx = r[1];
setSlide();
}
}
/* If a Video is present in this new slide, play it.
If a Video is present in the previous slide, stop it. */
function toggleContent() {
var s = document.querySelector("section[aria-selected]");
if (s) {
var video = s.querySelector("video");
if (video) {
if (video.ended || video.paused) {
video.play();
} else {
video.pause();
}
}
}
}
/* If the user change the slide number in the URL bar, jump
to this slide. */
window.onhashchange = function(e) {
var newidx = ~~window.location.hash.split("#")[1];
if (!newidx) newidx = 1;
if (newidx == idx) return;
idx = newidx;
setSlide();
}
/* Slide controls */
function back() {
if (idx == 1) return;
idx--;
setSlide();
}
function forward() {
if (idx >= slides.length) return;
idx++;
setSlide();
}
function setSlide() {
var old = document.querySelector("section[aria-selected]");
var next = document.querySelector("section:nth-of-type("+ idx +")");
if (old) {
old.removeAttribute("aria-selected");
var video = old.querySelector("video");
if (video) { video.pause(); }
}
if (next) {
next.setAttribute("aria-selected", "true");
var video = next.querySelector("video");
if (video) { video.play(); }
} else {
console.warn("No such slide: " + idx);
idx = 0;
for (var i = 0; i < slides.length; i++) {
if (slides[i].hasAttribute("aria-selected")) {
idx = i + 1;
}
}
}
window.location.hash = idx;
for (var i = 0; i < friendWindows.length; i++) {
friendWindows[i].postMessage(JSON.stringify({method: "newslide", details: getDetails(idx), idx: idx}), document.location);
}
}
#list {
padding:0px;
margin: 0px;
}
#dialog_add_slide, #dialog_edit_slide {
background-color: #DAE6F6;
}
#list section, #add_slide section{
font-family:Arial,Helvetica,sans-serif;
font-size: 14px;
font-weight:bold;
margin: 10px;
padding:8px;
float: left;
width: 100px;
height: 100px;
overflow:hidden;
background-color:#FFFFFF;
border: 2px solid #000000;
vertical-align: middle;
text-align: center;
color:#000000;
}
#add_slide section{
opacity: 0.7;
filter: alpha(opacity=70) ;
filter: "alpha(opacity=70)";
}
#add_slide section:hover{
opacity: 1;
filter: alpha(opacity=100) ;
filter: "alpha(opacity=100)";
}
#list * {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
cursor:move;
}
#list section * {
display:none;
width:0;
}
#list section h1{
display:inline;
font-family:Arial,Helvetica,sans-serif;
font-size: 10px;
font-weight:bold;
vertical-align: middle;
text-align: center;
color:#000000;
padding:0;
margin:0 0 5px 0;
}
#list section img{
display:inline;
width: 100%;
margin:5px 0 0 0;
}
#list div{
display:block;
width: 16px;
height: 16px;
background-repeat:no-repeat;
background-position:center;
background-color: transparent;
-webkit-background-size: 100%;
-moz-background-size: 100%;
-o-background-size: 100%;
background-size: 100%;
cursor:pointer;
opacity: 0;
filter: alpha(opacity=0) ;
filter: "alpha(opacity=0)";
}
#list div:hover{
opacity: 1;
filter:alpha(opacity=100);
filter: "alpha(opacity=100)";
}
#add_slide_button{
background-image: url("images/filenew.png");
background-repeat:no-repeat;
background-position:center;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
cursor:pointer;
}
.remove_slide_button{
background-image: url("images/editdelete.png");
}
.edit_slide_button{
background-image: url("images/exec.png");
}
.slide_dialog iframe{
border:0px;
width: 99%;
height: 99%;
min-height: 480px;
}
/*
Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved.
This program is Free Software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
var slideList, textContent, testPageHTML, addSlideIframe, addSlideIframeContents, editSlideIframe, editSlideIframeContents, slideNumber;
var $dialogEdit;
function isUrl(s) {
// Test if the string is a URL or a relative path (contains a/b/..)
var regexurl = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexurl.test(s) || (s.split("?")[0].indexOf("/") != -1);
}
//Remove a slide
function removeClick(trigger){
slideNumber = parseInt($(trigger).attr('id').split('_')[2]);
$("#list > section:eq("+slideNumber+")").remove();
$(".remove_slide_button").filter(':last').remove();
$(".edit_slide_button").filter(':last').remove();
updateTextContent();
return false;
}
//Edit a slide
function editClick(trigger){
slideNumber = parseInt($(trigger).attr('id').split('_')[2]);
$dialogEdit.dialog('open');
return false;
}
//Display edit and remove buttons when hovered
function slideHover(trigger){
slideNumber = $('#list > section').index($(trigger));
$('#edit_slide_' + slideNumber).css({'opacity': '.50', 'filter' : 'alpha(opacity=50)'});
$('#remove_slide_' + slideNumber).css({'opacity': '.50', 'filter' : 'alpha(opacity=50)'});
}
//Hide edit and remove buttons when the mouse gets out of the slide
function slideOut(trigger){
slideNumber = $('#list > section').index($(trigger));
$('#edit_slide_' + slideNumber).css({'opacity': '0', 'filter' : 'alpha(opacity=0)'});
$('#remove_slide_' + slideNumber).css({'opacity': '0', 'filter' : 'alpha(opacity=0)'});
}
//Set opacity to maximum when a button is hovered (not possible through pure css, since the buttons are not children of the corresponding slides)
function buttonHover(trigger){
$(trigger).css({'opacity': '1', 'filter' : 'alpha(opacity=100)'});
}
//Set opacity to half once the mouse gets out
function buttonOut(trigger){
$(trigger).css({'opacity': '0.5', 'filter' : 'alpha(opacity=50)'});
}
//Create an empty test
function createTest(){
var table = $('<table>');
var test = $('<test>').append(table);
table.attr('class', "test");
table.attr('cellpadding', "1");
table.attr('cellspacing', "1");
table.attr('border', "1");
table.attr('style', "display:none;");
table.append($('<tbody>'));
return test;
}
//Add template test line to a test
function appendTestLine(test, method, arg0, arg1){
var tr = $('<tr>');
tr.append($('<td>').text(method));
tr.append($('<td>').text(arg0));
tr.append($('<td>').text(arg1));
$('tbody', test).append(tr);
}
//Update HTML content of the test page
function updateTextContent(){
body.empty();
var images = $('#list > section > img');
removeImagesURLAttrib(images,'display');
removeImagesURLAttrib(images,'timestamp');
// changeImagesURLAttrib(images,'format','');
body.append($('#list > section').clone());
// changeImagesURLAttrib(images,'display','xsmall');
body[0].innerHTML = indent(body[0].cloneNode(true), 2);
$(textContent).text(body[0].innerHTML);
}
function updateImageInput(frameContent){
var className = $('select[name="field_your_slide_type"]', frameContent).val();
if (className == 'Screenshot' || className == 'Illustration') {
$('input[name="field_your_image_caption"]', frameContent).parent().parent().removeClass('hidden');
if (!$('input[name="field_your_upload_image"]', frameContent).is(':checked')) {
$('input[name="field_your_image_url"]', frameContent).parent().parent().removeClass('hidden');
}
$('input[name="field_your_upload_image"]', frameContent).parent().parent().removeClass('hidden');
}
else {
$('input[name="field_your_image_caption"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_url"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_id"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_file"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_upload_image"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_upload_image"]', frameContent).attr('checked', false);
}
}
function updateUploadImageInput(frameContent){
var className = $('select[name="field_your_slide_type"]', frameContent).val();
if ($('input[name="field_your_upload_image"]', frameContent).is(':checked')) {
$('input[name="field_your_file"]', frameContent).parent().parent().removeClass('hidden');
$('input[name="field_your_image_url"]', frameContent).parent().parent().addClass('hidden');;
$('input[name="field_your_image_id"]', frameContent).parent().parent().removeClass('hidden')
$('input[name="field_your_image_id"]', frameContent).removeClass('hidden');
var targetFrameContent = frameContent;
image_id = $('input[name="field_your_image_id"]', frameContent).val()
if (isUrl(image_id) || image_id == "") {
get_image_id_url = 'TestPage_getNextImageID?title=' + $('input[name="field_your_chapter_title"]', frameContent).val() + '&slide_type=' + className
$.get(get_image_id_url, function(data, textStatus, jqXHR){
$('input[name="field_your_image_id"]', targetFrameContent).val(data);
});
}
} else {
$('input[name="field_your_file"]', frameContent).parent().parent().addClass('hidden');
$('input[name="field_your_image_id"]', frameContent).parent().parent().addClass('hidden');
if (className == 'Screenshot' || className == 'Illustration') {
$('input[name="field_your_image_url"]', frameContent).parent().parent().removeClass('hidden');
}
$('input[name="field_your_image_id"]', frameContent).val($('input[name="field_your_image_url"]', frameContent).val());
}
}
function createNewImageTag(working_frame){
var image = $('<img>');
if (!$('input[name="field_your_upload_image"]', working_frame).is(':checked')) {
image.attr('src', $('input[name="field_your_image_url"]', working_frame).val());
} else {
image.attr('src', $('input[name="field_your_image_id"]', working_frame).val() + '?format=');
}
// Bad hardcoding for type
image.attr('type', 'image/svg+xml');
image_caption = $('input[name="field_your_image_caption"]', working_frame).val()
image.attr('title', image_caption).attr('alt', image_caption);
return image
}
//Change/add a GET attribute in the src url of an image (located after the question mark in the url)
function changeImagesURLAttrib(images, attname, attval){
var n = images.length;
for(var i = 0; i < n; i++){
var img = $(images[i]);
var attrbs = img.attr('src').split('?');
var url = attrbs[0];
if(attrbs.length > 1 && attrbs[1].length > 0){
attrbs = attrbs[1].split('&');
var notFound = true;
var j = 0;
var p = attrbs.length;
while(notFound && j < p){
if(attrbs[j].split('=')[0] == attname){
attrbs[j] = attname + '=' + attval;
notFound = false;
}
j++;
}
if(notFound)
img.attr('src', img.attr('src') + '&' + attname + '=' + attval);
else
img.attr('src', url + '?' + attrbs.join('&'));
}
else
img.attr('src', url + '?' + attname + '=' + attval);
}
}
// Remove a GET attribute in the src url of an image (located after the question mark in the url)
function removeImagesURLAttrib(images, attname){
var n = images.length;
for(var i = 0; i < n; i++){
var img = $(images[i]);
var attrbs = img.attr('src').split('?');
var url = attrbs[0];
if(attrbs.length > 1 && attrbs[1].length > 0){
attrbs = attrbs[1].split('&');
var notFound = true;
var j = 0;
var p = attrbs.length;
while(notFound && j < p){
if(attrbs[j].split('=')[0] == attname){
attrbs.splice(j,1);
notFound = false;
}
j++;
}
if(notFound)
img.attr('src', img.attr('src'));
else {
complement = "";
if (attrbs.length > 0)
complement = '?' + attrbs.join('&');
img.attr('src', url + complement);
}
}
else
img.attr('src', url);
}
}
//Add edit and remove buttons to a slide
function appendSlideButtons(element, index){
var button = $('<div>').attr('style','position:absolute; left:' + (element.offsetLeft + 3) + 'px; top:' + (element.offsetTop + 3) + 'px;').attr('id', 'edit_slide_' + index).addClass('edit_slide_button').hover(function(){buttonHover(this);},function(){buttonOut(this);});
$(element).after(button);
button = $('<div>').attr('style','position:absolute; left:' + (element.offsetLeft + element.offsetWidth - 17) + 'px; top:' + (element.offsetTop + 3) + 'px;').attr('id', 'remove_slide_' + index).addClass('remove_slide_button').hover(function(){buttonHover(this);},function(){buttonOut(this);});
$(element).after(button);
}
$(document).ready(function(){
$(function() {
//Extract the slides
textContent = document.getElementsByName('field_my_text_content')[0];
var tmp = document.createElement('tmp');
testPageHTML = document.createElement('html');
testPageHTML.appendChild(document.createElement('body'));
$(tmp).html($(textContent).text());
$('body',testPageHTML).append($('section', tmp));
body = $('section', testPageHTML);
// changeImagesURLAttrib($('> img', body),'display','xsmall');
slideList = $('#list');
slideList.append(body);
body = $('body', testPageHTML);
//Add buttons to each slides
var sectionList = $('#list').children();
n = sectionList.length;
for(var i = 0; i < n; i++){
var child = sectionList[i];
appendSlideButtons(child, i);
}
//Make the slide list sortable
$("#list").sortable({ opacity: 0.7, cursor: 'move', items: "section", update: function() {
$('section').removeAttr('style');
updateTextContent();
}
});
//Configure the dialog to add a slide
addSlideIframe = $("<iframe>");
addSlideIframe.attr('id','iframe_add_slide');
addSlideIframe.attr('src','/lib/presentation/TestPage_viewSlideCreator');
addSlideIframe.load(function() {
function initFrame(){
addSlideIframeContents = addSlideIframe.contents();
updateImageInput(addSlideIframeContents);
updateUploadImageInput(addSlideIframeContents);
$('input[name="field_your_upload_image"]', addSlideIframeContents).click(function() {updateUploadImageInput(addSlideIframeContents);});
$('select[name="field_your_slide_type"]', addSlideIframeContents).change(function() {updateImageInput(addSlideIframeContents);});
var submit_button = $("#dialog_submit_button", addSlideIframeContents).click(function(){
var section = document.createElement("section");
var className = $('select[name="field_your_slide_type"]', addSlideIframeContents).val();
$(section).addClass(className.toLowerCase());
var title = document.createElement("h1");
$(title).html($('input[name="field_your_chapter_title"]', addSlideIframeContents).val());
var details = document.createElement("details");
$(details).attr("open", "true")
$(details).html($('textarea[name="field_your_text_content"]', addSlideIframeContents).val());
$(section).append($(title));
var image_id = "";
var isScreenshot = className == 'Screenshot';
// Append a new slide, update HTML Code
function appendSection(){
$(section).append($('textarea[name="field_your_slide_content"]', addSlideIframeContents).val());
$(section).append($(details));
var isTested = $('input[name="field_your_tested"]', addSlideIframeContents).attr('checked');
if((isTested == 'checked' || isTested) && (image_id != "")){
var test = createTest();
appendTestLine(test, "selectAndWait", "name=select_module", "label=Test Pages");
appendTestLine(test, "verifyTextPresent", "Test Pages", "");
if(isScreenshot){
appendTestLine(test, "captureEntirePageScreenshot", image_id, "");
}
$(section).append(test);
}
slideList.append($(section));
var i = 0;
if ($('#list > .edit_slide_button').length > 0) {
var i = parseInt($('#list > .edit_slide_button').filter(':last').attr('id').split('_')[2]) + 1;
}
appendSlideButtons(section, i);
$('#remove_slide_' + i).click(function() {removeClick(this);});
$('#edit_slide_' + i).click(function() {editClick(this);});
$(section).hover(function() {slideHover(this);}, function(){slideOut(this);}).mousedown(function() {slideOut(this);});
updateTextContent();
}
if(isScreenshot || className == 'Illustration') {
image = createNewImageTag(addSlideIframeContents);
image_id = "";
if (!isUrl(image.attr('src'))) {
image_id = image.attr('src');
}
$(section).append(image);
}
appendSection();
});
}
setTimeout(initFrame, 0);
});
var $dialog = $("#dialog_add_slide")
.dialog({
title: "Add new slide",
autoOpen: false,
draggable: false,
resizable: true,
modal: true,
autoResize: true,
show: "clip",
hide: "clip",
width: "50%",
height: "auto",
position: 'center'
});
$dialog.append(addSlideIframe);
$('#add_slide_button').click(function() {
$dialog.dialog('open');
return false;
});
//Configure the dialog to edit a slide
editSlideIframe = $("<iframe>");
editSlideIframe.attr('id','iframe_edit_slide');
editSlideIframe.attr('src','lib/presentation/TestPage_viewSlideEditor');
editSlideIframe.load(function() {
function initFrame(){
if (slideNumber == null) {
// slideNumber should be defined before try to edit.
return false;
}
var slide = $('section:eq('+slideNumber+')', slideList);
// This updates the image displayed
var img = $('> img:first', slide);
editSlideIframeContents = editSlideIframe.contents();
updateUploadImageInput(editSlideIframeContents);
$('input[name="field_your_upload_image"]', editSlideIframeContents).click(function() {updateUploadImageInput(editSlideIframeContents);});
$('select[name="field_your_slide_type"]', editSlideIframeContents).change(function() {updateImageInput(editSlideIframeContents);});
if(img.length > 0) {
$('input[name="field_your_image_id"]', editSlideIframeContents).val(img.attr('src').split('?')[0]);
$('input[name="field_your_image_caption"]', editSlideIframeContents).val(img.attr('title'));
//if(isUrl(img.attr('src')))
removeImagesURLAttrib(img,'timestamp');
$('input[name="field_your_image_url"]', editSlideIframeContents).val(img.attr('src'));
} else
updateImageInput(editSlideIframeContents);
changeImagesURLAttrib($('> img:first', slide), 'timestamp', new Date().getTime());
$('input[name="field_your_chapter_title"]', editSlideIframeContents).val($('h1:first', slide).html().trim());
if (slide.attr('class') != null) {
$('select[name="field_your_slide_type"]', editSlideIframeContents).val(slide.attr('class').replace(/^\w/, function($0) { return $0.toUpperCase(); }));
};
var tmpSlide = slide.clone();
$("h1:first, img:first, details, test", tmpSlide).remove();
$('textarea[name="field_your_slide_content"]', editSlideIframeContents).val(tmpSlide.html().trim());
if ($('details', slide).length > 0)
$('textarea[name="field_your_text_content"]', editSlideIframeContents).val($('details', slide).html().trim());
var hasTest = $('test', slide).length > 0;
if(hasTest){
$('input[name="field_your_not_tested"]', editSlideIframeContents).parent().parent().attr('class','field');
$('input[name="field_your_tested"]', editSlideIframeContents).parent().parent().attr('class','hidden');
}
else{
$('input[name="field_your_not_tested"]', editSlideIframeContents).parent().parent().attr('class','hidden');
$('input[name="field_your_tested"]', editSlideIframeContents).parent().parent().attr('class','field');
}
var submit_button = $("#dialog_submit_button", editSlideIframeContents).click(function(){
var titleContainer = $('h1:first', slide);
var newTitle = $('input[name="field_your_chapter_title"]', editSlideIframeContents).val().trim();
titleContainer.html(newTitle);
var className = $('select[name="field_your_slide_type"]', editSlideIframeContents).val();
slide.attr('class', className.toLowerCase());
if ($('details', slide).length === 0) {
var details = document.createElement("details");
slide.append($(details));
}
$('details', slide).html($('textarea[name="field_your_text_content"]', editSlideIframeContents).val().trim());
$('details', slide).attr("open", "true")
$("> :not(h1:first, img:first, details, test)", slide).remove();
// Remove also the standalone text inputed by the user.
slide.contents().filter(function(){return this.nodeType === 3;}).remove();
// Read from Slide editor
$(" > h1:first, img:first", slide).filter(':last').after($('textarea[name="field_your_slide_content"]', editSlideIframeContents).val().trim());
var image_id = "";
var isScreenshot = className == 'Screenshot';
function appendSection(){
var isTested = $('input[name="field_your_tested"]', editSlideIframeContents).attr('checked');
var removeTest = $('input[name="field_your_not_tested"]', editSlideIframeContents).attr('checked');
if(!hasTest && (isTested == 'checked' || isTested) && (image_id != "")){
var test = createTest();
appendTestLine(test, "selectAndWait", "name=select_module", "label=Test Pages");
appendTestLine(test, "verifyTextPresent", "Test Pages", "");
if(isScreenshot){
appendTestLine(test, "captureEntirePageScreenshot", image_id, "");
}
slide.append(test);
}
else if(hasTest && removeTest == 'checked' || removeTest)
$('test', slide).remove();
updateTextContent();
}
if(isScreenshot || className == 'Illustration'){
var img = $('img:first', slide);
if(img.length > 0){
var image_caption = $('input[name="field_your_image_caption"]', editSlideIframeContents).val()
if (image_caption.length > 0)
img.attr('title', image_caption).attr('alt', image_caption);
var image_url = $('input[name="field_your_image_url"]', editSlideIframeContents).val();
if (isUrl(image_url)) {
image_id = "";
}
img.attr('src', image_url)
} else {
image = createNewImageTag(editSlideIframeContents);
image_id = "";
if (!isUrl(image.attr('src'))) {
image_id = image.attr('src');
}
$("> h1:first", slide).after(image);
}
}
appendSection();
});
}
setTimeout(initFrame, 0);
});
$dialogEdit = $("#dialog_edit_slide")
.dialog({
title: "Edit slide",
autoOpen: false,
draggable: false,
resizable: true,
modal: true,
autoResize: true,
show: "clip",
hide: "clip",
width: "50%",
height: "auto",
position: 'center'
});
$dialogEdit.append(editSlideIframe);
$('.edit_slide_button').click(function() {
editClick(this);
});
$('.remove_slide_button').click(function() {
removeClick(this);
});
$('section').hover(function() {
slideHover(this);
}, function(){
slideOut(this);
});
$('section').mousedown(function() {
slideOut(this);
});
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment