Page MenuHomeIn-Portal Phabricator

advanced
No OneTemporary

File Metadata

Created
Wed, Feb 12, 6:18 PM

advanced

This file is larger than 256 KB, so syntax highlighting was skipped.
Index: branches/1.3.x/in-news/articles/article_detail.tpl
===================================================================
--- branches/1.3.x/in-news/articles/article_detail.tpl (revision 15892)
+++ branches/1.3.x/in-news/articles/article_detail.tpl (revision 15893)
@@ -1,192 +1,192 @@
<inp2:m_RequireLogin permissions="CATEGORY.VIEW,NEWS.VIEW" login_template="platform/login/register"/>
<!--##
<NAME>Articles - Details Design</NAME>
<DESC>General design template for Article Details section</DESC>
<SECTION>Platform||Articles</SECTION>
##-->
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:n_Field name="Title"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-news/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<!--## ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_DefineElement name="additional_image_element">
<td>
- <a href="<inp2:ImageSrc MaxWidth="fullsize"/>" class="thickbox" rel="article-images" title="<inp2:m_param name="alt"/>">
+ <a href="<inp2:ImageSrc MaxWidth='fullsize'/>" class="form-manager-window" rel="article-images" title="<inp2:m_param name='alt'/>">
<img src="<inp2:m_param name="img_path"/>" title="<inp2:m_param name="alt"/>" alt="<inp2:m_param name="alt"/>" <inp2:m_param name="img_size"/> border="0" /><br />
</a>
</td>
<inp2:m_if check="m_Param" name="not_last">
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="8" height="1" alt="" />
</td>
</inp2:m_if>
</inp2:m_DefineElement>
<!--## /ADDITIONAL IMAGE ELEMENT ##-->
<!--## MAIN CONTENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__" templates="__default__" show_category="1"/>
</div>
<div class="movable-element">
<!--## article details ##-->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ArticleDetails"/>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr>
<td class="item-padding">
<table class="fullwidth">
<tr>
<td width="25" valign="top">
<img src="<inp2:m_TemplatesBase module="In-News"/>img/articles_icon.gif" width="16" height="23" alt="" />
</td>
<td valign="top">
<!--## STANDARD ARTICLE TITLE ##-->
<inp2:m_if check="n_Field" name="cust_RssOriginalURL" inverse="1">
<span class="text-title"><inp2:n_Field name="Title"/></span>
<inp2:m_else/>
<!--## RSS ARTICLE TITLE WITH LINK ##-->
<span class="text-title"><a href="<inp2:n_Field name="cust_RssOriginalURL"/>" target="_blank"><inp2:n_Field name="Title"/></a></span>
</inp2:m_if>
<inp2:m_if check="n_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:n_VotesIndicator render_as="rating_element"/>
<br />
<span class="item-statistics">
<inp2:m_phrase name="lu_Added"/>: <inp2:n_Field name="CreatedOn" format="_regional_DateFormat"/>,
<inp2:m_phrase name="lu_Hits"/>: <inp2:n_Field name="Hits"/>,
<inp2:m_phrase name="lu_Rating"/>: <inp2:n_Field name="CachedRating"/>,
<inp2:m_phrase name="lu_Reviews"/>: <inp2:n_Field name="CachedReviewsQty"/>,
<inp2:m_phrase name="lu_Votes"/>: <inp2:n_Field name="CachedVotesQty"/>
</span>
</td>
</tr>
</table>
<table>
<tr>
<inp2:m_if check="n_Field" name="cust_RssOriginalURL" inverse="1">
<td class="picture-padding" style="padding-left:25px" valign="top">
<inp2:m_if check="n_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:n_ImageSrc MaxWidth="fullsize" DefaultImage="platform/img/no_picture.gif"/>" class="thickbox" rel="article-images" title="<inp2:n_Field name='PrimaryImageAlt' html_escape='1'/>">
+ <a href="<inp2:n_ImageSrc MaxWidth='fullsize' DefaultImage='platform/img/no_picture.gif'/>" class="form-manager-window" rel="article-images" title="<inp2:n_Field name='PrimaryImageAlt' html_escape='1'/>">
<inp2:n_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif"/><br />
</a>
<inp2:m_else/>
<inp2:n_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
</td>
</inp2:m_if>
<td class="text-padding" valign="top">
<inp2:n_Field name="Body" nl2br="1"/>
<br/>
<inp2:m_if check="n_IsFavorite">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_removefromfav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:n_FavoriteToggleLink/>"><inp2:m_phrase name="lu_btn_RemoveFromFavorites"/></a>
<inp2:m_else/>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_addtofav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:n_FavoriteToggleLink template="platform/my_account/my_favorites"/>"><inp2:m_phrase name="lu_btn_AddToFavorites"/></a>
</inp2:m_if>
</td>
</tr>
</table>
<br />
<inp2:m_if check="n_HasAdditionalImages">
<inp2:m_RenderElement name="subsection" title="lu_section_AdditionalImages"/>
<table>
<tr>
<inp2:n_ListImages render_as="additional_image_element" types="additional" per_page="-1" no_table="1" thumbnail="1" DefaultImage="platform/img/no_picture.gif" MaxWidth="120"/>
</tr>
</table>
</inp2:m_if>
<!--## LIST LINK FILES ##-->
<inp2:m_RenderElement design="content_box_subsection" data_exists="1">
<inp2:m_Capture to_var="subsection_header">
<strong><inp2:m_Phrase name="lu_section_Files"/></strong>
</inp2:m_Capture>
<table>
<inp2:n-file_PrintList render_as="file_element" columns="1" direction="V" per_page="10" />
</table>
<br /><br />
</inp2:m_RenderElement>
<!--## //LIST LINK FILES ##-->
</td>
</tr>
</table>
</inp2:m_RenderElement>
<!--## // article details ##-->
</div>
<div class="movable-element">
<!--## article reviews ##-->
<inp2:m_DefineElement name="no_reviews">
<inp2:m_phrase name="lu_NoReviews"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement design="content_box" data_exists="1" block_no_data="no_reviews">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_section_Reviews"/> (<inp2:n-rev_TotalRecords/>)
</inp2:m_Capture>
<table>
<inp2:n-rev_PrintList render_as="review_element"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="n-rev"/>
</inp2:m_RenderElement>
<!--## // article reviews ##-->
</div>
<div class="movable-element">
<!--## RELATED TO ARTICLE ITEMS ##-->
<inp2:m_RenderElement design="content_box" related_to="Article" data_exists="1">
<inp2:m_Capture to_var="header">
<inp2:m_Phrase label="lu_title_RelatedItems"/>
</inp2:m_Capture>
<inp2:m_ModuleInclude template="elements/content_boxes/related_items.elm" related_to="$related_to" />
</inp2:m_RenderElement>
<!--## // RELATED TO ARTICLE ITEMS ##-->
</div>
</div>
<!--## INCREASE HITS COUNTER ##-->
<inp2:n_RegisterHit/>
<!--## // INCREASE HITS COUNTER ##-->
</inp2:m_DefineElement>
<!--## /MAIN CONTENT ##-->
<!--## DESIGN TEMPLATE ##-->
<inp2:m_include template="platform/designs/default_design.des" pass_params="1"/>
<!--## /DESIGN TEMPLATE ##-->
\ No newline at end of file
Index: branches/1.3.x/in-news/articles/add_review.tpl
===================================================================
--- branches/1.3.x/in-news/articles/add_review.tpl (revision 15892)
+++ branches/1.3.x/in-news/articles/add_review.tpl (revision 15893)
@@ -1,140 +1,140 @@
<!--##
<NAME>Add Article Review</NAME>
<DESC>Form for submitting Article Review</DESC>
<SECTION>Platform||Articles</SECTION>
##-->
<inp2:m_RequireLogin login_template="platform/login/register" permissions="NEWS.REVIEW|NEWS.REVIEW.PENDING"/>
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:n_Field name="Title"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-news/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__,lu_title_Reviews" templates="__default__,in-news/articles/add_review" show_category="1"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ArticleDetails"/>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr><td class="item-padding">
<table>
<tr>
<td width="25" valign="top">
<img src="<inp2:m_TemplatesBase module="In-News"/>img/articles_icon.gif" width="16" height="23" alt="" />
</td>
<td valign="top">
<span class="text-title"><inp2:n_Field name="Title"/></span>
<inp2:m_if check="n_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="n_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:n_VotesIndicator render_as="rating_element"/>
<br />
<span class="item-statistics">
<inp2:m_phrase name="lu_Added"/>: <inp2:n_Field name="CreatedOn" format="_regional_DateFormat"/>,
<inp2:m_phrase name="lu_Hits"/>: <inp2:n_Field name="Hits"/>,
<inp2:m_phrase name="lu_Rating"/>: <inp2:n_Field name="CachedRating"/>,
<inp2:m_phrase name="lu_Reviews"/>: <inp2:n_Field name="CachedReviewsQty"/>,
<inp2:m_phrase name="lu_Votes"/>: <inp2:n_Field name="CachedVotesQty"/>
</span>
</td>
</tr>
</table>
<table>
<tr>
<td class="picture-padding" style="padding-left:25px" valign="top">
<inp2:m_if check="n_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:n_ImageSrc MaxWidth="fullsize" DefaultImage="platform/img/no_picture.gif"/>" class="thickbox" rel="article-images" title="<inp2:n_Field name='Title' html_escape='1'/>">
+ <a href="<inp2:n_ImageSrc MaxWidth='fullsize' DefaultImage='platform/img/no_picture.gif'/>" class="form-manager-window" rel="article-images" title="<inp2:n_Field name='Title' html_escape='1'/>">
<inp2:n_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif"/><br />
</a>
<inp2:m_else/>
<inp2:n_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
</td>
<td class="text-padding" valign="top">
<inp2:n_Field name="Excerpt" nl2br="1"/>
</td>
</tr>
</table>
</td></tr></table>
</inp2:m_RenderElement>
</div>
<div class="movable-element">
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ReviewThisArticle"/>
</inp2:m_Capture>
<inp2:m_if check="n_HasPermission" permissions="NEWS.REVIEW|NEWS.REVIEW.PENDING">
<inp2:m_if check="n-rev_AlreadyReviewed">
<inp2:m_Phrase label="lu_ErrorAlreadyReviewed"/>
<table>
<inp2:n-rev_PrintList render_as="review_element" type="current_user" per_page="-1"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="n-rev"/>
<inp2:m_else/>
<inp2:n-rev_PresetFormFields/>
<span class="field-required">*</span> <inp2:m_phrase name="lu_IndicatesRequired"/><br /><br />
<inp2:m_if check="n-rev_HasError" field="any">
<inp2:m_RenderElement name="error_message" />
</inp2:m_if>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" /><br /><br />
<form method="post" action="<inp2:m_FormAction/>">
<table class="form-data fullwidth">
<inp2:m_RenderElement name="inp_edit_radio" prefix="n-rev" field="Rating" title="lu_fld_Rating"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="n-rev" field="ReviewText" rows="8" cols="40" title="lu_fld_ReviewText" is_last="1"/>
<inp2:m_RenderElement design="inp_edit_buttons">
<input type="hidden" name="success_template" value="in-news/articles/add_review_confirm"/>
<input type="hidden" name="success_pending_template" value="in-news/articles/add_review_pending_confirm"/>
<input class="button" type="submit" name="events[n-rev][OnCreate]" value="<inp2:m_Phrase label="lu_btn_Create" no_editing="1"/>"/>
</inp2:m_RenderElement>
</table>
</form>
</inp2:m_if>
<inp2:m_else/>
<inp2:m_phrase name="lu_text_NoArticleReviewPermission"/>
</inp2:m_if>
</inp2:m_RenderElement>
<!-- // add review -->
</div>
</div>
</inp2:m_DefineElement>
<inp2:m_include template="platform/designs/default_design.des" pass_params="1"/>
\ No newline at end of file
Index: branches/1.3.x/in-link/links/link_paid.tpl
===================================================================
--- branches/1.3.x/in-link/links/link_paid.tpl (revision 15892)
+++ branches/1.3.x/in-link/links/link_paid.tpl (revision 15893)
@@ -1,491 +1,491 @@
<inp2:m_RequireLogin permissions="CATEGORY.VIEW,LINK.VIEW" login_template="platform/login/register"/>
<!--##
<NAME>Links - Details Design (paid)</NAME>
<DESC>General design template for Paid Link Details section</DESC>
<SECTION>Platform||Links</SECTION>
##-->
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:l_Field name="Name"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-link/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<!--## MAIN CONTENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__" templates="__default__" show_category="1"/>
</div>
<div class="movable-element">
<!-- link details -->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<strong><inp2:l_Field name="Name"/></strong>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr>
<td class="item-padding">
<table class="fullwidth">
<tr>
<td width="25" valign="top">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/link_icon.gif" width="16" height="23" alt="" />
</td>
<td valign="top">
<span class="text-title">
<a href="<inp2:l_LinkLink template="in-link/elements/visit_link.elm" url_field="Url"/>" target="_blank"><inp2:l_Field name="Name"/></a>
</span>
<inp2:m_if check="l_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:l_VotesIndicator render_as="rating_element"/>
<br />
<span class="item-statistics">
<inp2:m_phrase name="lu_Added"/>: <inp2:l_Field name="CreatedOn" format="_regional_DateFormat"/>,
<inp2:m_phrase name="lu_Hits"/>: <inp2:l_Field name="Hits"/>,
<inp2:m_phrase name="lu_Rating"/>: <inp2:l_Field name="CachedRating"/>,
<inp2:m_phrase name="lu_Reviews"/>: <inp2:l_Field name="CachedReviewsQty"/>,
<inp2:m_phrase name="lu_Votes"/>: <inp2:l_Field name="CachedVotesQty"/>
</span>
</td>
</tr>
</table>
<table>
<tr>
<td class="picture-padding" style="padding-left:25px" valign="top">
<inp2:m_if check="l_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:l_ImageSrc MaxWidth="fullsize" />" class="thickbox" rel="link-images" title="<inp2:l_Field name='Name' html_escape='1'/>">
+ <a href="<inp2:l_ImageSrc MaxWidth='fullsize' />" class="form-manager-window" rel="link-images" title="<inp2:l_Field name='Name' html_escape='1'/>">
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif" /><br />
</a>
<inp2:m_else/>
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
</td>
<td class="text-padding" valign="top">
<inp2:l_Field name="Description" nl2br="1"/>
<br/><br/>
<inp2:m_if check="l_IsFavorite">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_removefromfav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink/>"><inp2:m_phrase name="lu_btn_RemoveFromFavorites"/></a>
<inp2:m_else/>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_addtofav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink template="platform/my_account/my_favorites"/>"><inp2:m_phrase name="lu_btn_AddToFavorites"/></a>
</inp2:m_if>
</td>
</tr>
</table>
<br />
<!--## LIST LINK ADITIONAL IMAGES ##-->
<inp2:m_if check="l_HasAdditionalImages">
<!--## ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_DefineElement name="additional_image_element">
<td>
- <a href="<inp2:ImageSrc MaxWidth="fullsize"/>" class="thickbox" rel="link-images" title="<inp2:m_param name="alt"/>">
+ <a href="<inp2:ImageSrc MaxWidth='fullsize'/>" class="form-manager-window" rel="link-images" title="<inp2:m_param name='alt'/>">
<img src="<inp2:m_param name="img_path"/>" title="<inp2:m_param name="alt"/>" alt="<inp2:m_param name="alt"/>" <inp2:m_param name="img_size"/> border="0" /><br />
</a>
</td>
<inp2:m_if check="m_Param" name="not_last">
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="8" height="1" alt="" />
</td>
</inp2:m_if>
</inp2:m_DefineElement>
<!--## /ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_RenderElement design="content_box_subsection">
<inp2:m_Capture to_var="subsection_header">
<strong><inp2:m_Phrase name="lu_section_AdditionalImages"/></strong>
</inp2:m_Capture>
<table>
<tr>
<inp2:l_ListImages render_as="additional_image_element" types="additional" per_page="-1" no_table="1" MaxHeight="75" DefaultHeight="75" DefaultImage="platform/img/no_picture.gif"/>
</tr>
</table>
<br /><br />
</inp2:m_RenderElement>
</inp2:m_if>
<!--## //LIST LINK ADITIONAL IMAGES ##-->
<!--## LIST LINK FILES ##-->
<inp2:m_RenderElement design="content_box_subsection" data_exists="1">
<inp2:m_Capture to_var="subsection_header">
<strong><inp2:m_Phrase name="lu_section_Files"/></strong>
</inp2:m_Capture>
<table>
<inp2:l-file_PrintList render_as="file_element" columns="1" direction="V" per_page="10" />
</table>
<br /><br />
</inp2:m_RenderElement>
<!--## //LIST LINK FILES ##-->
<br />
<table>
<tr>
<td class="tab-left-padding <inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or" inverse>tab-bottom-line </inp2:m_if> <inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">tab-bottom-line </inp2:m_if>">
<script language="JavaScript">
function tabLinkDetailPress(tab_name) {
if ( tab_name == "contact_information") {
document.getElementById("contact_information").style.display = '';
document.getElementById("request_information").style.display = 'none';
document.getElementById("tab_contact_information").className="active-tab";
document.getElementById("tab_request_information").className="inactive-tab";
}
if ( tab_name == "request_information") {
document.getElementById("contact_information").style.display = 'none';
document.getElementById("request_information").style.display = '';
document.getElementById("tab_contact_information").className="inactive-tab";
document.getElementById("tab_request_information").className="active-tab";
}
}
</script>
<table>
<tr>
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">
<td id="tab_contact_information" class="<inp2:m_if check="m_Get" name="ContactForm_HasErrors">inactive-tab<inp2:m_else/>active-tab</inp2:m_if>">
<a href="#" onclick="tabLinkDetailPress('contact_information'); return false;"><inp2:m_Phrase name="lu_contact_information"/></a></td>
<td width="8">&nbsp;</td>
</inp2:m_if>
<inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">
<inp2:m_if check="m_Get" name="ContactForm_HasErrors">
<td id="tab_request_information" class="active-tab">
<a href="#" onclick="tabLinkDetailPress('request_information'); return false;"><inp2:m_Phrase name="lu_Link_RequestInformation"/></a></td>
<inp2:m_else/>
<td id="tab_request_information" class="<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">inactive-tab<inp2:m_else/>active-tab</inp2:m_if>">
<a href="#" onclick="tabLinkDetailPress('request_information'); return false;"><inp2:m_Phrase name="lu_Link_RequestInformation"/></a></td>
</inp2:m_if>
<td width="8">&nbsp;</td>
</inp2:m_if>
</tr>
</table>
</td>
</tr>
<tr>
<td class="<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or" inverse>tab-bottom-content </inp2:m_if> <inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">tab-bottom-content </inp2:m_if>">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">
<div id="contact_information" <inp2:m_if check="m_Get" name="ContactForm_HasErrors">style="display:none"</inp2:m_if>
<table width="375">
<tr>
<td class="item-padding" align="left">
<table class="fullwidth">
<tr>
<td width="100">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
</tr>
<inp2:m_if check="l_Field" name="cust_LinkAddress">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkAddress"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkAddress"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkCity">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkCity"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkCity"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkState">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkState"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkState"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkZipCode">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkZipCode"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkZipCode"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkCountry">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkCountry"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkCountry"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkPhone">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkPhone"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkPhone"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="m_GetConfig" name="l_EnableGoogleMaps">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkCountry" condition="and">
<tr>
<td colspan="2" class="field-name">
<div id="google_map_link">
<a href="#" onclick="googleMapPress(); return false;"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/map_icon.gif" width="17" height="17" alt="" /></a> <a href="#" onclick="googleMapPress(); return false;"><inp2:m_Phrase name="lu_GoogleMaps"/></a><br />
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
</inp2:m_if>
</table>
<br />
<!--## Google Maps ##-->
<inp2:m_if check="m_GetConfig" name="l_EnableGoogleMaps">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkCountry" condition="and">
<script language="JavaScript">
function googleMapPress(){
if (document.getElementById("google_map").style.display == 'none') {
document.getElementById("google_map").style.display = '';
} else {document.getElementById("google_map").style.display = 'none';}}
</script>
<div id="google_map" style="display:none">
<script type="text/javascript"> addLoadEvent(function() {showaddress('<inp2:l_GetGoogleAddress/>', '<inp2:l_GetGoogleAddress display_info="1"/>')}); </script>
<div id="map" style="width: 350px; height: 300px; border: 1px solid #616161;"></div>
</div>
</inp2:m_if>
</inp2:m_if>
<!--## /Google Maps ##-->
</td>
</tr>
</table>
</div>
</inp2:m_if>
<!--## Contact Link Form ##-->
<inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">
<div id="request_information" style="<inp2:m_if check="m_Get" name="ContactForm_HasErrors"><inp2:m_else/><inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">display:none</inp2:m_if></inp2:m_if>">
<form method="post" action="<inp2:m_FormAction/>">
<table class="form-data" width="375">
<inp2:m_DefineElement name="inp_custom_textbox" field="" title="" style="" default="" multiline="0">
<tr>
<td class="field-name" nowrap="nowrap">
<label for="<inp2:m_Param name="field"/>">
<span <inp2:m_if check="m_Get" var="error_{$field}">class="field-required"</inp2:m_if>><inp2:m_Phrase name="$title"/></span>
<span class="field-required"> *</span>:
</label>
</td>
<td class="field-value">
<inp2:m_if check="m_Get" var="error_{$field}">
<span class="field-error"><inp2:m_Phrase name="lu_error_required"/></span><br/>
</inp2:m_if>
<inp2:m_if check="m_Param" name="multiline">
<textarea class="input-text" name="<inp2:m_Param name="field"/>" style="<inp2:m_Param name="style"/>"><inp2:m_Get var="$field"/></textarea>
<inp2:m_else/>
<inp2:m_if check="m_Get" var="$field">
<input type="text" name="<inp2:m_Param name="field"/>" class="input-text" style="<inp2:m_Param name="style"/>" value="<inp2:m_Get var="$field"/>">
<inp2:m_else/>
<input type="text" name="<inp2:m_Param name="field"/>" class="input-text" style="<inp2:m_Param name="style"/>" value="<inp2:m_if check="m_Param" name="default"><inp2:u_Field name="$default"/></inp2:m_if>"/>
</inp2:m_if>
</inp2:m_if>
<input type="hidden" name="FormRequiredFields[]" value="<inp2:m_Param name="field"/>"/>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_custom_captcha" style="" field="" title="lu_fld_Captcha">
<tr>
<td class="field-name" nowrap="nowrap">
<label for="<inp2:m_Param name="field"/>">
<span <inp2:m_if check="m_Get" var="error_{$field}">class="field-required"</inp2:m_if>><inp2:m_Phrase name="$title"/></span>
<span class="field-required"> *</span>:
</label>
</td>
<td class="field-value">
<inp2:m_if check="m_Get" var="error_{$field}">
<span class="field-error"><inp2:m_Phrase name="lu_captcha_error"/></span><br />
</inp2:m_if>
<img src="<inp2:m_Link template="platform/inc/captcha_image.elm" var="{$prefix}_captcha_code" w="150" h="30"/>" alt="<inp2:m_Phrase name="$title" no_editing="1"/>"/><br />
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="5" alt=""/><br />
<input type="text" class="input-text" name="<inp2:m_Param name="field"/>" value="" tabindex="" style="<inp2:m_Param name="style"/>">
<input type="hidden" name="FormRequiredFields[]" value="<inp2:m_Param name="field"/>"/>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormFullName" title="lu_fld_FullName" style="width: 200px;" default="FullName"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormEmail" title="lu_fld_Email" style="width: 200px;" default="Email"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormSubject" title="lu_fld_Subject" style="width: 200px;"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormBody" title="lu_fld_Body" style="width: 200px; height: 100px;" multiline="1"/>
<inp2:m_RenderElement name="inp_custom_captcha" field="ContactFormCaptcha" prefix="l" style="width: 200px;" />
<tr>
<td colspan="2" class="item-padding" align="right">
<input type="hidden" name="success_template" value="platform/thankyou"/>
<input type="hidden" name="success_label_header" value="lu_header_Thankyou"/>
<input type="hidden" name="success_label_body" value="lu_Link_ContactFormThankyouText"/>
<input class="button" type="submit" name="events[l][OnContactFormSubmit]" value="<inp2:m_Phrase label="lu_btn_Contact" no_editing="1"/>"/>
<input class="button" type="reset" name="events[l][OnContactFormReset]" value="<inp2:m_Phrase label="lu_btn_Reset" no_editing="1"/>"/>
</td>
</tr>
</table>
</form>
</div>
</inp2:m_if>
<!--## //Contact Link Form ##-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</inp2:m_RenderElement>
<!--## // link details ##-->
</div>
<div class="movable-element">
<!--## link reviews ##-->
<inp2:m_DefineElement name="no_reviews">
<inp2:m_phrase name="lu_NoReviews"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement design="content_box" data_exists="1" block_no_data="no_reviews">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_section_Reviews"/> (<inp2:l-rev_TotalRecords/>)
</inp2:m_Capture>
<table>
<inp2:l-rev_PrintList render_as="review_element"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="l-rev"/>
</inp2:m_RenderElement>
<!--## // link reviews ##-->
</div>
<div class="movable-element">
<!--## RELATED TO LINK ITEMS ##-->
<inp2:m_RenderElement design="content_box" related_to="Link" data_exists="1">
<inp2:m_Capture to_var="header">
<inp2:m_Phrase label="lu_title_RelatedItems"/>
</inp2:m_Capture>
<inp2:m_ModuleInclude template="elements/content_boxes/related_items.elm" related_to="$related_to" skip_prefixes="c" />
</inp2:m_RenderElement>
<!--## // RELATED TO LINK ITEMS ##-->
</div>
</div>
<!--## INCREASE HITS COUNTER ##-->
<inp2:l_RegisterHit/>
</inp2:m_DefineElement>
<!--## /MAIN CONTENT ##-->
<!--## DESIGN TEMPLATE ##-->
<inp2:m_include template="platform/designs/default_design.des" pass_params="1" related_to="$related_to" item_prefix="l"/>
<!--## /DESIGN TEMPLATE ##-->
\ No newline at end of file
Index: branches/1.3.x/in-link/links/add_review.tpl
===================================================================
--- branches/1.3.x/in-link/links/add_review.tpl (revision 15892)
+++ branches/1.3.x/in-link/links/add_review.tpl (revision 15893)
@@ -1,152 +1,152 @@
<!--##
<NAME>Link - Add Review</NAME>
<DESC>Add Link Review Form</DESC>
<SECTION>Platform||Links</SECTION>
##-->
<inp2:m_RequireLogin login_template="platform/login/register" permissions="LINK.REVIEW|LINK.REVIEW.PENDING"/>
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:l_Field name="Name"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-link/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__,lu_title_Reviews" templates="__default__,in-link/links/add_review" show_category="1"/>
</div>
<div class="movable-element">
<!-- LINK DETAILS -->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_LinkDetails"/>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr><td class="item-padding">
<table class="fullwidth">
<tr>
<td width="25" valign="top">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/link_icon.gif" width="16" height="23" alt="" />
</td>
<td valign="top">
<span class="text-title"><inp2:l_Field name="Name"/></span>
<inp2:m_if check="l_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:l_VotesIndicator render_as="rating_element"/>
<br />
<span class="item-statistics">
<inp2:m_phrase name="lu_Added"/>: <inp2:l_Field name="CreatedOn" format="_regional_DateFormat"/>,
<inp2:m_phrase name="lu_Hits"/>: <inp2:l_Field name="Hits"/>,
<inp2:m_phrase name="lu_Rating"/>: <inp2:l_Field name="CachedRating"/>,
<inp2:m_phrase name="lu_Reviews"/>: <inp2:l_Field name="CachedReviewsQty"/>,
<inp2:m_phrase name="lu_Votes"/>: <inp2:l_Field name="CachedVotesQty"/>
</span>
</td>
</tr>
</table>
<table>
<tr>
<td class="picture-padding" style="padding-left:25px" valign="top">
<inp2:m_if check="l_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:l_ImageSrc MaxWidth="fullsize" />" class="thickbox" rel="link-images" title="<inp2:l_Field name='Name' html_escape='1'/>">
+ <a href="<inp2:l_ImageSrc MaxWidth='fullsize' />" class="form-manager-window" rel="link-images" title="<inp2:l_Field name='Name' html_escape='1'/>">
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif" /><br />
</a>
<inp2:m_else/>
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
</td>
<td class="text-padding" valign="top">
<input type="button" class="button" value="<inp2:m_Phrase label="lu_btn_VisitLink" no_editing="1"/>" onclick="open_window('<inp2:l_LinkLink template="in-link/elements/visit_link.elm" url_field="Url"/>', 'new_window', '800', '600');"/><br /><br />
<br/><br/>
<inp2:m_if check="l_IsFavorite">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_removefromfav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink/>"><inp2:m_phrase name="lu_btn_RemoveFromWishList"/></a>
<inp2:m_else/>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_addtofav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink template="platform/my_account/my_favorites"/>"><inp2:m_phrase name="lu_btn_AddToWishList"/></a>
</inp2:m_if>
</td>
</tr>
</table>
</td></tr>
</table>
</inp2:m_RenderElement>
<!-- //LINK DETAILS -->
</div>
<div class="movable-element">
<!-- ADD REVIEW -->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ReviewThisLink"/>
</inp2:m_Capture>
<inp2:m_if check="l_HasPermission" permissions="LINK.REVIEW|LINK.REVIEW.PENDING">
<inp2:m_if check="l-rev_AlreadyReviewed">
<inp2:m_Phrase label="lu_ErrorAlreadyReviewed"/>
<table>
<inp2:l-rev_PrintList render_as="review_element" type="current_user"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="l-rev"/>
<inp2:m_else/>
<inp2:l-rev_PresetFormFields/>
<span class="field-required">*</span> <inp2:m_phrase name="lu_IndicatesRequired"/><br /><br />
<inp2:m_if check="l-rev_HasError" field="any">
<inp2:m_RenderElement name="error_message" />
</inp2:m_if>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" /><br /><br />
<form method="post" action="<inp2:m_FormAction/>">
<table class="form-data fullwidth">
<inp2:m_RenderElement name="inp_edit_radio" prefix="l-rev" field="Rating" title="lu_fld_Rating"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="l-rev" field="ReviewText" rows="8" cols="40" title="lu_fld_ReviewText" is_last="1"/>
<inp2:m_RenderElement design="inp_edit_buttons">
<input type="hidden" name="success_template" value="in-link/links/add_review_confirm" />
<input type="hidden" name="success_pending_template" value="in-link/links/add_review_pending_confirm" />
<input class="button" type="submit" name="events[l-rev][OnCreate]" value="<inp2:m_Phrase label="lu_btn_Create" no_editing="1"/>" />
</inp2:m_RenderElement>
</table>
</form>
</inp2:m_if>
<inp2:m_else/>
<inp2:m_phrase name="lu_text_NoLinkReviewPermission"/>
</inp2:m_if>
</inp2:m_RenderElement>
<!-- //ADD REVIEW -->
</div>
</div>
</inp2:m_DefineElement>
<inp2:m_include template="platform/designs/default_design.des" pass_params="1"/>
\ No newline at end of file
Index: branches/1.3.x/in-link/links/link_standard.tpl
===================================================================
--- branches/1.3.x/in-link/links/link_standard.tpl (revision 15892)
+++ branches/1.3.x/in-link/links/link_standard.tpl (revision 15893)
@@ -1,491 +1,491 @@
<inp2:m_RequireLogin permissions="CATEGORY.VIEW,LINK.VIEW" login_template="platform/login/register"/>
<!--##
<NAME>Links - Detail Design (standard)</NAME>
<DESC>General design template for Standard Link Details section</DESC>
<SECTION>Platform||Links</SECTION>
##-->
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:l_Field name="Name"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-link/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<!--## MAIN CONTENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__" templates="__default__" show_category="1"/>
</div>
<div class="movable-element">
<!-- link details -->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<strong><inp2:l_Field name="Name"/></strong>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr>
<td class="item-padding">
<table class="fullwidth">
<tr>
<td width="25" valign="top">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/link_icon.gif" width="16" height="23" alt="" />
</td>
<td valign="top">
<span class="text-title">
<a href="<inp2:l_LinkLink template="in-link/elements/visit_link.elm" url_field="Url"/>" target="_blank"><inp2:l_Field name="Name"/></a>
</span>
<inp2:m_if check="l_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="l_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:l_VotesIndicator render_as="rating_element"/>
<br />
<span class="item-statistics">
<inp2:m_phrase name="lu_Added"/>: <inp2:l_Field name="CreatedOn" format="_regional_DateFormat"/>,
<inp2:m_phrase name="lu_Hits"/>: <inp2:l_Field name="Hits"/>,
<inp2:m_phrase name="lu_Rating"/>: <inp2:l_Field name="CachedRating"/>,
<inp2:m_phrase name="lu_Reviews"/>: <inp2:l_Field name="CachedReviewsQty"/>,
<inp2:m_phrase name="lu_Votes"/>: <inp2:l_Field name="CachedVotesQty"/>
</span>
</td>
</tr>
</table>
<table>
<tr>
<td class="picture-padding" style="padding-left:25px" valign="top">
<inp2:m_if check="l_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:l_ImageSrc MaxWidth="fullsize" />" class="thickbox" rel="link-images" title="<inp2:l_Field name='PrimaryImageAlt' html_escape='1'/>">
+ <a href="<inp2:l_ImageSrc MaxWidth='fullsize' />" class="form-manager-window" rel="link-images" title="<inp2:l_Field name='PrimaryImageAlt' html_escape='1'/>">
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif" /><br />
</a>
<inp2:m_else/>
<inp2:l_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
</td>
<td class="text-padding" valign="top">
<inp2:l_Field name="Description" nl2br="1"/>
<br/><br/>
<inp2:m_if check="l_IsFavorite">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_removefromfav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink/>"><inp2:m_phrase name="lu_btn_RemoveFromFavorites"/></a>
<inp2:m_else/>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_addtofav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:l_FavoriteToggleLink template="platform/my_account/my_favorites"/>"><inp2:m_phrase name="lu_btn_AddToFavorites"/></a>
</inp2:m_if>
</td>
</tr>
</table>
<br />
<!--## LIST LINK ADITIONAL IMAGES ##-->
<inp2:m_if check="l_HasAdditionalImages">
<!--## ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_DefineElement name="additional_image_element">
<td>
- <a href="<inp2:ImageSrc MaxWidth="fullsize"/>" class="thickbox" rel="link-images" title="<inp2:m_param name="alt"/>">
+ <a href="<inp2:ImageSrc MaxWidth='fullsize'/>" class="form-manager-window" rel="link-images" title="<inp2:m_param name='alt'/>">
<img src="<inp2:m_param name="img_path"/>" title="<inp2:m_param name="alt"/>" alt="<inp2:m_param name="alt"/>" <inp2:m_param name="img_size"/> border="0" /><br />
</a>
</td>
<inp2:m_if check="m_Param" name="not_last">
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="8" height="1" alt="" />
</td>
</inp2:m_if>
</inp2:m_DefineElement>
<!--## /ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_RenderElement design="content_box_subsection">
<inp2:m_Capture to_var="subsection_header">
<strong><inp2:m_Phrase name="lu_section_AdditionalImages"/></strong>
</inp2:m_Capture>
<table>
<tr>
<inp2:l_ListImages render_as="additional_image_element" types="additional" per_page="-1" no_table="1" MaxHeight="75" DefaultHeight="75" DefaultImage="platform/img/no_picture.gif"/>
</tr>
</table>
<br /><br />
</inp2:m_RenderElement>
</inp2:m_if>
<!--## //LIST LINK ADITIONAL IMAGES ##-->
<!--## LIST LINK FILES ##-->
<inp2:m_RenderElement design="content_box_subsection" data_exists="1">
<inp2:m_Capture to_var="subsection_header">
<strong><inp2:m_Phrase name="lu_section_Files"/></strong>
</inp2:m_Capture>
<table>
<inp2:l-file_PrintList render_as="file_element" columns="1" direction="V" per_page="10" />
</table>
<br /><br />
</inp2:m_RenderElement>
<!--## //LIST LINK FILES ##-->
<br />
<table>
<tr>
<td class="tab-left-padding <inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or" inverse>tab-bottom-line </inp2:m_if> <inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">tab-bottom-line </inp2:m_if>">
<script language="JavaScript">
function tabLinkDetailPress(tab_name) {
if ( tab_name == "contact_information") {
document.getElementById("contact_information").style.display = '';
document.getElementById("request_information").style.display = 'none';
document.getElementById("tab_contact_information").className="active-tab";
document.getElementById("tab_request_information").className="inactive-tab";
}
if ( tab_name == "request_information") {
document.getElementById("contact_information").style.display = 'none';
document.getElementById("request_information").style.display = '';
document.getElementById("tab_contact_information").className="inactive-tab";
document.getElementById("tab_request_information").className="active-tab";
}
}
</script>
<table>
<tr>
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">
<td id="tab_contact_information" class="<inp2:m_if check="m_Get" name="ContactForm_HasErrors">inactive-tab<inp2:m_else/>active-tab</inp2:m_if>">
<a href="#" onclick="tabLinkDetailPress('contact_information'); return false;"><inp2:m_Phrase name="lu_contact_information"/></a></td>
<td width="8">&nbsp;</td>
</inp2:m_if>
<inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">
<inp2:m_if check="m_Get" name="ContactForm_HasErrors">
<td id="tab_request_information" class="active-tab">
<a href="#" onclick="tabLinkDetailPress('request_information'); return false;"><inp2:m_Phrase name="lu_Link_RequestInformation"/></a></td>
<inp2:m_else/>
<td id="tab_request_information" class="<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">inactive-tab<inp2:m_else/>active-tab</inp2:m_if>">
<a href="#" onclick="tabLinkDetailPress('request_information'); return false;"><inp2:m_Phrase name="lu_Link_RequestInformation"/></a></td>
</inp2:m_if>
<td width="8">&nbsp;</td>
</inp2:m_if>
</tr>
</table>
</td>
</tr>
<tr>
<td class="<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or" inverse>tab-bottom-content </inp2:m_if> <inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">tab-bottom-content </inp2:m_if>">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">
<div id="contact_information" <inp2:m_if check="m_Get" name="ContactForm_HasErrors">style="display:none"</inp2:m_if>>
<table width="375">
<tr>
<td class="item-padding" align="left">
<table class="fullwidth">
<tr>
<td width="100">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
</tr>
<inp2:m_if check="l_Field" name="cust_LinkAddress">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkAddress"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkAddress"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkCity">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkCity"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkCity"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkState">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkState"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkState"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkZipCode">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkZipCode"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkZipCode"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkCountry">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkCountry"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkCountry"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="l_Field" name="cust_LinkPhone">
<tr>
<td class="field-name">
<inp2:m_Phrase name="lu_fld_LinkPhone"/>:
</td>
<td>
<inp2:l_Field name="cust_LinkPhone"/>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
<inp2:m_if check="m_GetConfig" name="l_EnableGoogleMaps">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkCountry" condition="and">
<tr>
<td colspan="2" class="field-name">
<div id="google_map_link">
<a href="#" onclick="googleMapPress(); return false;"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/map_icon.gif" width="17" height="17" alt="" /></a> <a href="#" onclick="googleMapPress(); return false;"><inp2:m_Phrase name="lu_GoogleMaps"/></a><br />
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
</inp2:m_if>
</table>
<br />
<!--## Google Maps ##-->
<inp2:m_if check="m_GetConfig" name="l_EnableGoogleMaps">
<inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkCountry" condition="and">
<script language="JavaScript">
function googleMapPress(){
if (document.getElementById("google_map").style.display == 'none') {
document.getElementById("google_map").style.display = '';
} else {document.getElementById("google_map").style.display = 'none';}}
</script>
<div id="google_map" style="display:none">
<script type="text/javascript"> addLoadEvent(function() {showaddress('<inp2:l_GetGoogleAddress/>', '<inp2:l_GetGoogleAddress display_info="1"/>')}); </script>
<div id="map" style="width: 350px; height: 300px; border: 1px solid #616161;"></div>
</div>
</inp2:m_if>
</inp2:m_if>
<!--## /Google Maps ##-->
</td>
</tr>
</table>
</div>
</inp2:m_if>
<!--## Contact Link Form ##-->
<inp2:m_if check="m_GetConfig" name="l_EnableLinkContactForm">
<div id="request_information" style="<inp2:m_if check="m_Get" name="ContactForm_HasErrors"><inp2:m_else/><inp2:m_if check="l_HasValue" fields="cust_LinkAddress,cust_LinkCity,cust_LinkState,cust_LinkZipCode,cust_LinkCountry,cust_LinkPhone" condition="or">display:none</inp2:m_if></inp2:m_if>">
<form method="post" action="<inp2:m_FormAction/>">
<table class="form-data" width="375">
<inp2:m_DefineElement name="inp_custom_textbox" field="" title="" style="" default="" multiline="0">
<tr>
<td class="field-name" nowrap="nowrap">
<label for="<inp2:m_Param name="field"/>">
<span <inp2:m_if check="m_Get" var="error_{$field}">class="field-required"</inp2:m_if>><inp2:m_Phrase name="$title"/></span>
<span class="field-required"> *</span>:
</label>
</td>
<td class="field-value">
<inp2:m_if check="m_Get" var="error_{$field}">
<span class="field-error"><inp2:m_Phrase name="lu_error_required"/></span><br/>
</inp2:m_if>
<inp2:m_if check="m_Param" name="multiline">
<textarea class="input-text" name="<inp2:m_Param name="field"/>" style="<inp2:m_Param name="style"/>"><inp2:m_Get var="$field"/></textarea>
<inp2:m_else/>
<inp2:m_if check="m_Get" var="$field">
<input type="text" name="<inp2:m_Param name="field"/>" class="input-text" style="<inp2:m_Param name="style"/>" value="<inp2:m_Get var="$field"/>">
<inp2:m_else/>
<input type="text" name="<inp2:m_Param name="field"/>" class="input-text" style="<inp2:m_Param name="style"/>" value="<inp2:m_if check="m_Param" name="default"><inp2:u_Field name="$default"/></inp2:m_if>"/>
</inp2:m_if>
</inp2:m_if>
<input type="hidden" name="FormRequiredFields[]" value="<inp2:m_Param name="field"/>"/>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_custom_captcha" style="" field="" is_last="0" title="lu_fld_Captcha">
<tr>
<td class="field-name" nowrap="nowrap">
<label for="<inp2:m_Param name="field"/>">
<span <inp2:m_if check="m_Get" var="error_{$field}">class="field-required"</inp2:m_if>><inp2:m_Phrase name="$title"/></span>
<span class="field-required"> *</span>:
</label>
</td>
<td class="field-value">
<inp2:m_if check="m_Get" var="error_{$field}">
<span class="field-error"><inp2:m_Phrase name="lu_captcha_error"/></span><br />
</inp2:m_if>
<img src="<inp2:m_Link template="platform/inc/captcha_image.elm" var="{$prefix}_captcha_code" w="150" h="30"/>" alt="<inp2:m_Phrase name="$title" no_editing="1"/>"/><br />
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="5" alt=""/><br />
<input type="text" class="input-text" name="<inp2:m_Param name="field"/>" value="" tabindex="" style="<inp2:m_Param name="style"/>">
<input type="hidden" name="FormRequiredFields[]" value="<inp2:m_Param name="field"/>"/>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormFullName" title="lu_fld_FullName" style="width: 200px;" default="FullName"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormEmail" title="lu_fld_Email" style="width: 200px;" default="Email"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormSubject" title="lu_fld_Subject" style="width: 200px;"/>
<inp2:m_RenderElement name="inp_custom_textbox" field="ContactFormBody" title="lu_fld_Body" style="width: 200px; height: 100px;" multiline="1"/>
<inp2:m_RenderElement name="inp_custom_captcha" field="ContactFormCaptcha" prefix="l" style="width: 200px;" />
<tr>
<td colspan="2" class="item-padding" align="right">
<input type="hidden" name="success_template" value="platform/thankyou"/>
<input type="hidden" name="success_label_header" value="lu_header_Thankyou"/>
<input type="hidden" name="success_label_body" value="lu_Link_ContactFormThankyouText"/>
<input class="button" type="submit" name="events[l][OnContactFormSubmit]" value="<inp2:m_Phrase label="lu_btn_Contact" no_editing="1"/>"/>
<input class="button" type="reset" name="events[l][OnContactFormReset]" value="<inp2:m_Phrase label="lu_btn_Reset" no_editing="1"/>"/>
</td>
</tr>
</table>
</form>
</div>
</inp2:m_if>
<!--## //Contact Link Form ##-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</inp2:m_RenderElement>
<!--## // link details ##-->
</div>
<div class="movable-element">
<!--## link reviews ##-->
<inp2:m_DefineElement name="no_reviews">
<inp2:m_phrase name="lu_NoReviews"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement design="content_box" data_exists="1" block_no_data="no_reviews">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_section_Reviews"/> (<inp2:l-rev_TotalRecords/>)
</inp2:m_Capture>
<table>
<inp2:l-rev_PrintList render_as="review_element"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="l-rev"/>
</inp2:m_RenderElement>
<!--## // link reviews ##-->
</div>
<div class="movable-element">
<!--## RELATED TO LINK ITEMS ##-->
<inp2:m_RenderElement design="content_box" data_exists="1">
<inp2:m_Capture to_var="header">
<inp2:m_Phrase label="lu_title_RelatedItems"/>
</inp2:m_Capture>
<inp2:m_ModuleInclude template="elements/content_boxes/related_items.elm" related_to="Link" skip_prefixes="c" />
</inp2:m_RenderElement>
<!--## // RELATED TO LINK ITEMS ##-->
</div>
</div>
<!--## INCREASE HITS COUNTER ##-->
<inp2:l_RegisterHit/>
</inp2:m_DefineElement>
<!--## /MAIN CONTENT ##-->
<!--## DESIGN TEMPLATE ##-->
<inp2:m_include template="platform/designs/default_design.des" pass_params="1" item_prefix="l"/>
<!--## /DESIGN TEMPLATE ##-->
\ No newline at end of file
Index: branches/1.3.x/in-bulletin/elements/side_boxes/polls.elm.tpl
===================================================================
--- branches/1.3.x/in-bulletin/elements/side_boxes/polls.elm.tpl (revision 15892)
+++ branches/1.3.x/in-bulletin/elements/side_boxes/polls.elm.tpl (revision 15893)
@@ -1,65 +1,66 @@
<!-- POllS -->
<inp2:poll_InitList list_name="list_polls" per_page="-1"/>
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_Polls"/>
</inp2:m_Capture>
<inp2:m_DefineElement name="answer_element">
<li style="margin-bottom:5px;">
<input type="radio" name="poll_<inp2:Field name="PollId"/>" onclick="getElementById('selected_opt_<inp2:Field name="PollId"/>').value='<inp2:Field name="AnswerId"/>';getElementById('vote_button').disabled=false;"> <inp2:Field name="Answer"/>
</li>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="poll_element">
<div style="margin-bottom:25px;">
<div style="text-align:left;">
<strong><inp2:Field name="Question"/></strong>
</div>
<inp2:m_if check="Field" name="Image">
- <br/>
- <a href="<inp2:Field name="Image" format="resize:640x480"/>" class="thickbox" title="<inp2:Field field="Question"/>">
- <img src="<inp2:Field name="Image" format="resize:100x100"/>" border="0" alt="<inp2:Field field="Question"/>"></a>
+ <br/>
+ <a href="<inp2:Field name='Image' format='resize:640x480'/>" class="form-manager-window" title="<inp2:Field field='Question'/>">
+ <img src="<inp2:Field name='Image' format='resize:100x100'/>" border="0" alt="<inp2:Field field='Question'/>">
+ </a>
</inp2:m_if>
<div id="pollvote_<inp2:Field name="PollId"/>" style="text-align:left; margin-top:10px; margin-bottom:10px">
<inp2:m_if check="Field" name="RequireLogin" db="1">
<inp2:m_include t="in-bulletin/elements/side_boxes/poll_results.elm"/>
<div style="padding-top:5px; font-style: italic; font-weight: bold; text-align: center">
<inp2:m_phrase name="lu_text_GuestsLoginToVote"/>
</div>
<inp2:m_else/>
<inp2:m_if check="HasVoted">
<inp2:m_include t="in-bulletin/elements/side_boxes/poll_results.elm"/>
<div style="padding-top:5px; font-style: italic; font-weight: bold; text-align: center">
<inp2:m_phrase name="lu_text_AlreadyVoted"/>
</div>
<inp2:m_else/>
<ul style="list-style-type: none; padding-left: 0px;"><inp2:Field name="PollId" result_to_var="poll_id"/>
<inp2:poll-answer_PrintList list_name="list_answers" render_as="answer_element" direction="H" poll_id="$poll_id" requery="1"/>
</ul>
<div style="text-align: center; margin-top:8px; ">
<input type="hidden" id="selected_opt_<inp2:Field name="PollId"/>" name="selected_opt_<inp2:Field name="PollId"/>"/>
<input class="button" type="button" id="vote_button" disabled onclick="aPollManager.makeVote('poll', <inp2:Field name="PollId"/>, getElementById('selected_opt_<inp2:Field name="PollId"/>').value); return false;" value="<inp2:m_Phrase label="lu_btn_Vote" no_editing="1"/>"/>
</div>
</inp2:m_if>
</inp2:m_if>
</div>
<!--## USER COMMENTS ##-->
<inp2:m_if check="Field" name="AllowComments">
<div style="text-align:center;">
<inp2:m_ifnot check="HasCommented">
- <a href="<inp2:CommentsLink t="in-bulletin/elements/content_boxes/add_poll_comment.elm" height="480" width="480"/>" title="<inp2:Field name="Question"/>" class="thickbox"/><inp2:m_phrase name="lu_title_AddComment"/></a><br>
+ <a href="<inp2:CommentsLink t='in-bulletin/elements/content_boxes/add_poll_comment.elm' height='480' width='480'/>" title="<inp2:Field name='Question'/>" class="form-manager-window"/><inp2:m_phrase name="lu_title_AddComment"/></a><br>
</inp2:m_ifnot>
- <a href="<inp2:CommentsLink t="in-bulletin/elements/content_boxes/poll_comments.elm" height="480" width="480"/>" title="<inp2:Field name="Question"/>" class="thickbox"/><inp2:m_phrase name="lu_title_ViewComments"/></a>
+ <a href="<inp2:CommentsLink t='in-bulletin/elements/content_boxes/poll_comments.elm' height='480' width='480'/>" title="<inp2:Field name='Question'/>" class="form-manager-window"/><inp2:m_phrase name="lu_title_ViewComments"/></a>
</div>
</inp2:m_if>
<!--## //USER COMMENTS ##-->
</div>
</inp2:m_DefineElement>
<div style="width:100%; text-align:center;">
<inp2:poll_PrintList list_name="list_polls" render_as="poll_element" direction="H"/>
</div>
<!-- //POllS -->
\ No newline at end of file
Index: branches/1.3.x/in-bulletin/elements/content_boxes/poll_comments.elm.tpl
===================================================================
--- branches/1.3.x/in-bulletin/elements/content_boxes/poll_comments.elm.tpl (revision 15892)
+++ branches/1.3.x/in-bulletin/elements/content_boxes/poll_comments.elm.tpl (revision 15893)
@@ -1,27 +1,29 @@
<inp2:m_DefineElement name="content">
<inp2:m_DefineElement name="poll_comment_element">
- <li style="margin-bottom: 10px;">
- <inp2:Field name="CommentBody"/>
- <inp2:Field name="CreatedOn"/>
- <inp2:Field name="GuestEmail"/>
- <inp2:Field name="GuestName"/>
- <inp2:Field name="CreatedById"/>
- </li>
+ <li style="margin-bottom: 10px;">
+ <inp2:Field name="CommentBody"/>
+ <inp2:Field name="CreatedOn"/>
+ <inp2:Field name="GuestEmail"/>
+ <inp2:Field name="GuestName"/>
+ <inp2:Field name="CreatedById"/>
+ </li>
</inp2:m_DefineElement>
<br/>
- <inp2:poll-comment_InitList list_name="list_comments" direction="H" sort_by="CreatedOn,Desc" requery="1"/>
+ <inp2:poll-comment_InitList list_name="list_comments" sort_by="CreatedOn,Desc"/>
- <inp2:m_if check="poll-comment_TotalRecords list_name="list_comments">
+ <inp2:m_if check="poll-comment_TotalRecords" list_name="list_comments">
<ul>
<inp2:poll-comment_PrintList list_name="list_comments" render_as="poll_comment_element" direction="H"/>
</ul>
<inp2:m_else/>
- <div align="center">
- <a href="<inp2:poll_CommentsLink t="in-bulletin/elements/content_boxes/add_poll_comment.elm"/>?height=640&width=480" title="<inp2:poll_Field name="Question"/>" class="thickbox"><inp2:m_phrase name="lu_text_NoComments"/></a>
- </div>
+ <div style="text-align: center;">
+ <a href="<inp2:poll_CommentsLink t='in-bulletin/elements/content_boxes/add_poll_comment.elm' width='480' height='640'/>" title="<inp2:poll_Field name='Question'/>" class="form-manager-window">
+ <inp2:m_phrase name="lu_text_NoComments"/>
+ </a>
+ </div>
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_include template="platform/designs/default_design_ajax.des" pass_params="1"/>
\ No newline at end of file
Index: branches/1.3.x/in-bulletin/elements/content_boxes/add_poll_comment.elm.tpl
===================================================================
--- branches/1.3.x/in-bulletin/elements/content_boxes/add_poll_comment.elm.tpl (revision 15892)
+++ branches/1.3.x/in-bulletin/elements/content_boxes/add_poll_comment.elm.tpl (revision 15893)
@@ -1,52 +1,46 @@
<inp2:m_DefineElement name="content">
<br/>
+ <script type="text/javascript">
+ FormManager.resetFields('poll-comment');
+ </script>
+
<inp2:poll-comment_PresetFormFields/>
- <form method="post" id="poll_comment_form" action="<inp2:m_Link width='480' height='480' pass='m,poll'/>">
+
+ <form method="post" id="poll_comment_form">
<table class="form-data fullwidth">
<inp2:m_ifnot check="m_LoggedIn">
<inp2:m_RenderElement name="inp_edit_box" prefix="poll-comment" field="GuestName" title="lu_fld_Name" style="width:200px"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="poll-comment" field="GuestEmail" title="lu_fld_Email" style="width:200px"/>
</inp2:m_ifnot>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="poll-comment" field="CommentBody" rows="8" cols="40" title="lu_fld_Comment" is_last="1"/>
<inp2:m_RenderElement design="inp_edit_buttons">
- <input type="hidden" name="events[poll-comment]" value="OnCreate"/>
- <input type="hidden" name="success_template" value="in-bulletin/elements/content_boxes/poll_comments.elm" />
- <input class="button" id="add_comment_btn" type="button" value="<inp2:m_Phrase label='lu_btn_Create' no_editing='1'/>" />
+ <input class="button" type="submit" value="<inp2:m_Phrase label='lu_btn_Create' no_editing='1'/>" />
<input class="button" type="reset" name="reset" value="<inp2:m_Phrase label='lu_btn_Reset' no_editing='1'/>" />
</inp2:m_RenderElement>
</table>
</form>
- <script language="javascript" type="text/javascript">
- $(document).ready(
- function() {
- $('#add_comment_btn').click(
- function ($e) {
- TB.show(
- {
- url: $('#poll_comment_form').attr('action'),
- postParams: $('#poll_comment_form').serialize(),
- onDataReceived: function($data, params) {
- var $match_redirect = new RegExp('^#redirect#(.*?)($|\\s.*)').exec($data);
-
- if ($match_redirect != null) {
- TB.show( {url: $match_redirect[1] + '&height=480&width=480'} );
-
- return false;
- }
-
- return $data;
- }
- }
- );
- }
- )
- }
- );
- </script>
+ <script type="text/javascript">
+ $(document).ready(function() {
+ $('#poll_comment_form').submit(function ($e) {
+ FormManager.submitForm('poll-comment');
+
+ $e.preventDefault();
+ });
+
+ FormManager.registerForm({
+ prefix: 'poll-comment',
+ url: '<inp2:m_Link template="#TEMPLATE#" pass="m,poll" no_amp="1" js_escape="1"/>',
+ next_template: 'in-bulletin/elements/content_boxes/poll_comments.elm',
+ save_event: 'OnCreateAjax',
+ id: '<inp2:poll-comment_Field name="CommentId" db="db"/>',
+ form_id: 'poll_comment_form'
+ });
+ });
+ </script>
</inp2:m_DefineElement>
<inp2:m_include template="platform/designs/default_design_ajax.des" pass_params="1"/>
\ No newline at end of file
Index: branches/1.3.x/platform/inc/jquery/jquery.pack.js
===================================================================
--- branches/1.3.x/platform/inc/jquery/jquery.pack.js (revision 15892)
+++ branches/1.3.x/platform/inc/jquery/jquery.pack.js (nonexistent)
@@ -1,154 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
Property changes on: branches/1.3.x/platform/inc/jquery/jquery.pack.js
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.2.2
\ No newline at end of property
Deleted: svn:eol-style
## -1 +0,0 ##
-LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/jquery-1.9.1.min.js
===================================================================
--- branches/1.3.x/platform/inc/jquery/jquery-1.9.1.min.js (nonexistent)
+++ branches/1.3.x/platform/inc/jquery/jquery-1.9.1.min.js (revision 15893)
@@ -0,0 +1,5 @@
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},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(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.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(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
Property changes on: branches/1.3.x/platform/inc/jquery/jquery-1.9.1.min.js
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.js
===================================================================
--- branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.js (nonexistent)
+++ branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.js (revision 15893)
@@ -0,0 +1,1026 @@
+/*!
+ jQuery Colorbox v1.4.15 - 2013-04-22
+ (c) 2013 Jack Moore - jacklmoore.com/colorbox
+ license: http://www.opensource.org/licenses/mit-license.php
+*/
+(function ($, document, window) {
+ var
+ // Default settings object.
+ // See http://jacklmoore.com/colorbox for details.
+ defaults = {
+ transition: "elastic",
+ speed: 300,
+ fadeOut: 300,
+ width: false,
+ initialWidth: "600",
+ innerWidth: false,
+ maxWidth: false,
+ height: false,
+ initialHeight: "450",
+ innerHeight: false,
+ maxHeight: false,
+ scalePhotos: true,
+ scrolling: true,
+ inline: false,
+ html: false,
+ iframe: false,
+ fastIframe: true,
+ photo: false,
+ href: false,
+ title: false,
+ rel: false,
+ opacity: 0.9,
+ preloading: true,
+ className: false,
+
+ // alternate image paths for high-res displays
+ retinaImage: false,
+ retinaUrl: false,
+ retinaSuffix: '@2x.$1',
+
+ // internationalization
+ current: "image {current} of {total}",
+ previous: "previous",
+ next: "next",
+ close: "close",
+ xhrError: "This content failed to load.",
+ imgError: "This image failed to load.",
+
+ open: false,
+ returnFocus: true,
+ reposition: true,
+ loop: true,
+ slideshow: false,
+ slideshowAuto: true,
+ slideshowSpeed: 2500,
+ slideshowStart: "start slideshow",
+ slideshowStop: "stop slideshow",
+ photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i,
+
+ onOpen: false,
+ onLoad: false,
+ onComplete: false,
+ onCleanup: false,
+ onClosed: false,
+ overlayClose: true,
+ escKey: true,
+ arrowKey: true,
+ top: false,
+ bottom: false,
+ left: false,
+ right: false,
+ fixed: false,
+ data: undefined
+ },
+
+ // Abstracting the HTML and event identifiers for easy rebranding
+ colorbox = 'colorbox',
+ prefix = 'cbox',
+ boxElement = prefix + 'Element',
+
+ // Events
+ event_open = prefix + '_open',
+ event_load = prefix + '_load',
+ event_complete = prefix + '_complete',
+ event_cleanup = prefix + '_cleanup',
+ event_closed = prefix + '_closed',
+ event_purge = prefix + '_purge',
+
+ // Cached jQuery Object Variables
+ $overlay,
+ $box,
+ $wrap,
+ $content,
+ $topBorder,
+ $leftBorder,
+ $rightBorder,
+ $bottomBorder,
+ $related,
+ $window,
+ $loaded,
+ $loadingBay,
+ $loadingOverlay,
+ $title,
+ $current,
+ $slideshow,
+ $next,
+ $prev,
+ $close,
+ $groupControls,
+ $events = $('<a/>'),
+
+ // Variables for cached values or use across multiple functions
+ settings,
+ interfaceHeight,
+ interfaceWidth,
+ loadedHeight,
+ loadedWidth,
+ element,
+ index,
+ photo,
+ open,
+ active,
+ closing,
+ loadingTimer,
+ publicMethod,
+ div = "div",
+ className,
+ requests = 0,
+ init;
+
+ // ****************
+ // HELPER FUNCTIONS
+ // ****************
+
+ // Convenience function for creating new jQuery objects
+ function $tag(tag, id, css) {
+ var element = document.createElement(tag);
+
+ if (id) {
+ element.id = prefix + id;
+ }
+
+ if (css) {
+ element.style.cssText = css;
+ }
+
+ return $(element);
+ }
+
+ // Get the window height using innerHeight when available to avoid an issue with iOS
+ // http://bugs.jquery.com/ticket/6724
+ function winheight() {
+ return window.innerHeight ? window.innerHeight : $(window).height();
+ }
+
+ // Determine the next and previous members in a group.
+ function getIndex(increment) {
+ var
+ max = $related.length,
+ newIndex = (index + increment) % max;
+
+ return (newIndex < 0) ? max + newIndex : newIndex;
+ }
+
+ // Convert '%' and 'px' values to integers
+ function setSize(size, dimension) {
+ return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));
+ }
+
+ // Checks an href to see if it is a photo.
+ // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.
+ function isImage(settings, url) {
+ return settings.photo || settings.photoRegex.test(url);
+ }
+
+ function retinaUrl(settings, url) {
+ return settings.retinaUrl && window.devicePixelRatio > 1 ? url.replace(settings.photoRegex, settings.retinaSuffix) : url;
+ }
+
+ function trapFocus(e) {
+ if ('contains' in $box[0] && !$box[0].contains(e.target)) {
+ e.stopPropagation();
+ $box.focus();
+ }
+ }
+
+ // Assigns function results to their respective properties
+ function makeSettings() {
+ var i,
+ data = $.data(element, colorbox);
+
+ if (data == null) {
+ settings = $.extend({}, defaults);
+ if (console && console.log) {
+ console.log('Error: cboxElement missing settings object');
+ }
+ } else {
+ settings = $.extend({}, data);
+ }
+
+ for (i in settings) {
+ if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.
+ settings[i] = settings[i].call(element);
+ }
+ }
+
+ settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow';
+ settings.href = settings.href || $(element).attr('href');
+ settings.title = settings.title || element.title;
+
+ if (typeof settings.href === "string") {
+ settings.href = $.trim(settings.href);
+ }
+ }
+
+ function trigger(event, callback) {
+ // for external use
+ $(document).trigger(event);
+
+ // for internal use
+ $events.trigger(event);
+
+ if ($.isFunction(callback)) {
+ callback.call(element);
+ }
+ }
+
+ // Slideshow functionality
+ function slideshow() {
+ var
+ timeOut,
+ className = prefix + "Slideshow_",
+ click = "click." + prefix,
+ clear,
+ set,
+ start,
+ stop;
+
+ if (settings.slideshow && $related[1]) {
+ clear = function () {
+ clearTimeout(timeOut);
+ };
+
+ set = function () {
+ if (settings.loop || $related[index + 1]) {
+ timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
+ }
+ };
+
+ start = function () {
+ $slideshow
+ .html(settings.slideshowStop)
+ .unbind(click)
+ .one(click, stop);
+
+ $events
+ .bind(event_complete, set)
+ .bind(event_load, clear)
+ .bind(event_cleanup, stop);
+
+ $box.removeClass(className + "off").addClass(className + "on");
+ };
+
+ stop = function () {
+ clear();
+
+ $events
+ .unbind(event_complete, set)
+ .unbind(event_load, clear)
+ .unbind(event_cleanup, stop);
+
+ $slideshow
+ .html(settings.slideshowStart)
+ .unbind(click)
+ .one(click, function () {
+ publicMethod.next();
+ start();
+ });
+
+ $box.removeClass(className + "on").addClass(className + "off");
+ };
+
+ if (settings.slideshowAuto) {
+ start();
+ } else {
+ stop();
+ }
+ } else {
+ $box.removeClass(className + "off " + className + "on");
+ }
+ }
+
+ function launch(target) {
+ if (!closing) {
+
+ element = target;
+
+ makeSettings();
+
+ $related = $(element);
+
+ index = 0;
+
+ if (settings.rel !== 'nofollow') {
+ $related = $('.' + boxElement).filter(function () {
+ var data = $.data(this, colorbox),
+ relRelated;
+
+ if (data) {
+ relRelated = $(this).data('rel') || data.rel || this.rel;
+ }
+
+ return (relRelated === settings.rel);
+ });
+ index = $related.index(element);
+
+ // Check direct calls to Colorbox.
+ if (index === -1) {
+ $related = $related.add(element);
+ index = $related.length - 1;
+ }
+ }
+
+ $overlay.css({
+ opacity: parseFloat(settings.opacity),
+ cursor: settings.overlayClose ? "pointer" : "auto",
+ visibility: 'visible'
+ }).show();
+
+
+ if (className) {
+ $box.add($overlay).removeClass(className);
+ }
+ if (settings.className) {
+ $box.add($overlay).addClass(settings.className);
+ }
+ className = settings.className;
+
+ $close.html(settings.close).show();
+
+ if (!open) {
+ open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
+
+ // Show colorbox so the sizes can be calculated in older versions of jQuery
+ $box.css({visibility:'hidden', display:'block'});
+
+ $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden').appendTo($content);
+
+ // Cache values needed for size calculations
+ interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();
+ interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
+ loadedHeight = $loaded.outerHeight(true);
+ loadedWidth = $loaded.outerWidth(true);
+
+
+ // Opens inital empty Colorbox prior to content being loaded.
+ settings.w = setSize(settings.initialWidth, 'x');
+ settings.h = setSize(settings.initialHeight, 'y');
+ publicMethod.position();
+
+ slideshow();
+
+ trigger(event_open, settings.onOpen);
+
+ $groupControls.add($title).hide();
+
+ $box.focus();
+
+ // Confine focus to the modal
+ // Uses event capturing that is not supported in IE8-
+ if (document.addEventListener) {
+
+ document.addEventListener('focus', trapFocus, true);
+
+ $events.one(event_closed, function () {
+ document.removeEventListener('focus', trapFocus, true);
+ });
+ }
+
+ // Return focus on closing
+ if (settings.returnFocus) {
+ $events.one(event_closed, function () {
+ $(element).focus();
+ });
+ }
+ }
+
+ load();
+ }
+ }
+
+ // Colorbox's markup needs to be added to the DOM prior to being called
+ // so that the browser will go ahead and load the CSS background images.
+ function appendHTML() {
+ if (!$box && document.body) {
+ init = false;
+ $window = $(window);
+ $box = $tag(div).attr({
+ id: colorbox,
+ 'class': $.support.opacity === false ? prefix + 'IE' : '', // class for optional IE8 & lower targeted CSS.
+ role: 'dialog',
+ tabindex: '-1'
+ }).hide();
+ $overlay = $tag(div, "Overlay").hide();
+ $loadingOverlay = $tag(div, "LoadingOverlay").add($tag(div, "LoadingGraphic"));
+ $wrap = $tag(div, "Wrapper");
+ $content = $tag(div, "Content").append(
+ $title = $tag(div, "Title"),
+ $current = $tag(div, "Current"),
+ $prev = $('<button type="button"/>').attr({id:prefix+'Previous'}),
+ $next = $('<button type="button"/>').attr({id:prefix+'Next'}),
+ $slideshow = $tag('button', "Slideshow"),
+ $loadingOverlay,
+ $close = $('<button type="button"/>').attr({id:prefix+'Close'})
+ );
+
+ $wrap.append( // The 3x3 Grid that makes up Colorbox
+ $tag(div).append(
+ $tag(div, "TopLeft"),
+ $topBorder = $tag(div, "TopCenter"),
+ $tag(div, "TopRight")
+ ),
+ $tag(div, false, 'clear:left').append(
+ $leftBorder = $tag(div, "MiddleLeft"),
+ $content,
+ $rightBorder = $tag(div, "MiddleRight")
+ ),
+ $tag(div, false, 'clear:left').append(
+ $tag(div, "BottomLeft"),
+ $bottomBorder = $tag(div, "BottomCenter"),
+ $tag(div, "BottomRight")
+ )
+ ).find('div div').css({'float': 'left'});
+
+ $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none');
+
+ $groupControls = $next.add($prev).add($current).add($slideshow);
+
+ $(document.body).append($overlay, $box.append($wrap, $loadingBay));
+ }
+ }
+
+ // Add Colorbox's event bindings
+ function addBindings() {
+ function clickHandler(e) {
+ // ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt.
+ // See: http://jacklmoore.com/notes/click-events/
+ if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey || e.control)) {
+ e.preventDefault();
+ launch(this);
+ }
+ }
+
+ if ($box) {
+ if (!init) {
+ init = true;
+
+ // Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly.
+ $next.click(function () {
+ publicMethod.next();
+ });
+ $prev.click(function () {
+ publicMethod.prev();
+ });
+ $close.click(function () {
+ publicMethod.close();
+ });
+ $overlay.click(function () {
+ if (settings.overlayClose) {
+ publicMethod.close();
+ }
+ });
+
+ // Key Bindings
+ $(document).bind('keydown.' + prefix, function (e) {
+ var key = e.keyCode;
+ if (open && settings.escKey && key === 27) {
+ e.preventDefault();
+ publicMethod.close();
+ }
+ if (open && settings.arrowKey && $related[1] && !e.altKey) {
+ if (key === 37) {
+ e.preventDefault();
+ $prev.click();
+ } else if (key === 39) {
+ e.preventDefault();
+ $next.click();
+ }
+ }
+ });
+
+ if ($.isFunction($.fn.on)) {
+ // For jQuery 1.7+
+ $(document).on('click.'+prefix, '.'+boxElement, clickHandler);
+ } else {
+ // For jQuery 1.3.x -> 1.6.x
+ // This code is never reached in jQuery 1.9, so do not contact me about 'live' being removed.
+ // This is not here for jQuery 1.9, it's here for legacy users.
+ $('.'+boxElement).live('click.'+prefix, clickHandler);
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ // Don't do anything if Colorbox already exists.
+ if ($.colorbox) {
+ return;
+ }
+
+ // Append the HTML when the DOM loads
+ $(appendHTML);
+
+
+ // ****************
+ // PUBLIC FUNCTIONS
+ // Usage format: $.colorbox.close();
+ // Usage from within an iframe: parent.jQuery.colorbox.close();
+ // ****************
+
+ publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
+ var $this = this;
+
+ options = options || {};
+
+ appendHTML();
+
+ if (addBindings()) {
+ if ($.isFunction($this)) { // assume a call to $.colorbox
+ $this = $('<a/>');
+ options.open = true;
+ } else if (!$this[0]) { // colorbox being applied to empty collection
+ return $this;
+ }
+
+ if (callback) {
+ options.onComplete = callback;
+ }
+
+ $this.each(function () {
+ $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options));
+ }).addClass(boxElement);
+
+ if (($.isFunction(options.open) && options.open.call($this)) || options.open) {
+ launch($this[0]);
+ }
+ }
+
+ return $this;
+ };
+
+ publicMethod.position = function (speed, loadedCallback) {
+ var
+ css,
+ top = 0,
+ left = 0,
+ offset = $box.offset(),
+ scrollTop,
+ scrollLeft;
+
+ $window.unbind('resize.' + prefix);
+
+ // remove the modal so that it doesn't influence the document width/height
+ $box.css({top: -9e4, left: -9e4});
+
+ scrollTop = $window.scrollTop();
+ scrollLeft = $window.scrollLeft();
+
+ if (settings.fixed) {
+ offset.top -= scrollTop;
+ offset.left -= scrollLeft;
+ $box.css({position: 'fixed'});
+ } else {
+ top = scrollTop;
+ left = scrollLeft;
+ $box.css({position: 'absolute'});
+ }
+
+ // keeps the top and left positions within the browser's viewport.
+ if (settings.right !== false) {
+ left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0);
+ } else if (settings.left !== false) {
+ left += setSize(settings.left, 'x');
+ } else {
+ left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
+ }
+
+ if (settings.bottom !== false) {
+ top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0);
+ } else if (settings.top !== false) {
+ top += setSize(settings.top, 'y');
+ } else {
+ top += Math.round(Math.max(winheight() - settings.h - loadedHeight - interfaceHeight, 0) / 2);
+ }
+
+ $box.css({top: offset.top, left: offset.left, visibility:'visible'});
+
+ // setting the speed to 0 to reduce the delay between same-sized content.
+ speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0;
+
+ // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
+ // but it has to be shrank down around the size of div#colorbox when it's done. If not,
+ // it can invoke an obscure IE bug when using iframes.
+ $wrap[0].style.width = $wrap[0].style.height = "9999px";
+
+ function modalDimensions(that) {
+ $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt(that.style.width,10) - interfaceWidth)+'px';
+ $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt(that.style.height,10) - interfaceHeight)+'px';
+ }
+
+ css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left};
+
+ if(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)
+ $box.css(css);
+ }
+ $box.dequeue().animate(css, {
+ duration: speed,
+ complete: function () {
+ modalDimensions(this);
+
+ active = false;
+
+ // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
+ $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
+ $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
+
+ if (settings.reposition) {
+ setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
+ $window.bind('resize.' + prefix, publicMethod.position);
+ }, 1);
+ }
+
+ if (loadedCallback) {
+ loadedCallback();
+ }
+ },
+ step: function () {
+ modalDimensions(this);
+ }
+ });
+ };
+
+ publicMethod.resize = function (options) {
+ if (open) {
+ options = options || {};
+
+ if (options.width) {
+ settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
+ }
+ if (options.innerWidth) {
+ settings.w = setSize(options.innerWidth, 'x');
+ }
+ $loaded.css({width: settings.w});
+
+ if (options.height) {
+ settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
+ }
+ if (options.innerHeight) {
+ settings.h = setSize(options.innerHeight, 'y');
+ }
+ if (!options.innerHeight && !options.height) {
+ $loaded.css({height: "auto"});
+ settings.h = $loaded.height();
+ }
+ $loaded.css({height: settings.h});
+
+ publicMethod.position(settings.transition === "none" ? 0 : settings.speed);
+ }
+ };
+
+ publicMethod.prep = function (object) {
+ if (!open) {
+ return;
+ }
+
+ var callback, speed = settings.transition === "none" ? 0 : settings.speed;
+
+ $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+
+ $loaded = $tag(div, 'LoadedContent').append(object);
+
+ function getWidth() {
+ settings.w = settings.w || $loaded.width();
+ settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
+ return settings.w;
+ }
+ function getHeight() {
+ settings.h = settings.h || $loaded.height();
+ settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
+ return settings.h;
+ }
+
+ $loaded.hide()
+ .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
+ .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})
+ .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
+ .prependTo($content);
+
+ $loadingBay.hide();
+
+ // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
+
+ $(photo).css({'float': 'none'});
+
+ callback = function () {
+ var total = $related.length,
+ iframe,
+ frameBorder = 'frameBorder',
+ allowTransparency = 'allowTransparency',
+ complete;
+
+ if (!open) {
+ return;
+ }
+
+ function removeFilter() { // Needed for IE7 & IE8 in versions of jQuery prior to 1.7.2
+ if ($.support.opacity === false) {
+ $box[0].style.removeAttribute('filter');
+ }
+ }
+
+ complete = function () {
+ clearTimeout(loadingTimer);
+ $loadingOverlay.hide();
+ trigger(event_complete, settings.onComplete);
+ };
+
+
+ $title.html(settings.title).add($loaded).show();
+
+ if (total > 1) { // handle grouping
+ if (typeof settings.current === "string") {
+ $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show();
+ }
+
+ $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next);
+ $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous);
+
+ if (settings.slideshow) {
+ $slideshow.show();
+ }
+
+ // Preloads images within a rel group
+ if (settings.preloading) {
+ $.each([getIndex(-1), getIndex(1)], function(){
+ var src,
+ img,
+ i = $related[this],
+ data = $.data(i, colorbox);
+
+ if (data && data.href) {
+ src = data.href;
+ if ($.isFunction(src)) {
+ src = src.call(i);
+ }
+ } else {
+ src = $(i).attr('href');
+ }
+
+ if (src && isImage(data, src)) {
+ src = retinaUrl(data, src);
+ img = new Image();
+ img.src = src;
+ }
+ });
+ }
+ } else {
+ $groupControls.hide();
+ }
+
+ if (settings.iframe) {
+ iframe = $tag('iframe')[0];
+
+ if (frameBorder in iframe) {
+ iframe[frameBorder] = 0;
+ }
+
+ if (allowTransparency in iframe) {
+ iframe[allowTransparency] = "true";
+ }
+
+ if (!settings.scrolling) {
+ iframe.scrolling = "no";
+ }
+
+ $(iframe)
+ .attr({
+ src: settings.href,
+ name: (new Date()).getTime(), // give the iframe a unique name to prevent caching
+ 'class': prefix + 'Iframe',
+ allowFullScreen : true, // allow HTML5 video to go fullscreen
+ webkitAllowFullScreen : true,
+ mozallowfullscreen : true
+ })
+ .one('load', complete)
+ .appendTo($loaded);
+
+ $events.one(event_purge, function () {
+ iframe.src = "//about:blank";
+ });
+
+ if (settings.fastIframe) {
+ $(iframe).trigger('load');
+ }
+ } else {
+ complete();
+ }
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 1, removeFilter);
+ } else {
+ removeFilter();
+ }
+ };
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 0, function () {
+ publicMethod.position(0, callback);
+ });
+ } else {
+ publicMethod.position(speed, callback);
+ }
+ };
+
+ function load () {
+ var href, setResize, prep = publicMethod.prep, $inline, request = ++requests;
+
+ active = true;
+
+ photo = false;
+
+ element = $related[index];
+
+ makeSettings();
+
+ trigger(event_purge);
+
+ trigger(event_load, settings.onLoad);
+
+ settings.h = settings.height ?
+ setSize(settings.height, 'y') - loadedHeight - interfaceHeight :
+ settings.innerHeight && setSize(settings.innerHeight, 'y');
+
+ settings.w = settings.width ?
+ setSize(settings.width, 'x') - loadedWidth - interfaceWidth :
+ settings.innerWidth && setSize(settings.innerWidth, 'x');
+
+ // Sets the minimum dimensions for use in image scaling
+ settings.mw = settings.w;
+ settings.mh = settings.h;
+
+ // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
+ // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
+ if (settings.maxWidth) {
+ settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;
+ settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
+ }
+ if (settings.maxHeight) {
+ settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;
+ settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
+ }
+
+ href = settings.href;
+
+ loadingTimer = setTimeout(function () {
+ $loadingOverlay.show();
+ }, 100);
+
+ if (settings.inline) {
+ // Inserts an empty placeholder where inline content is being pulled from.
+ // An event is bound to put inline content back when Colorbox closes or loads new content.
+ $inline = $tag(div).hide().insertBefore($(href)[0]);
+
+ $events.one(event_purge, function () {
+ $inline.replaceWith($loaded.children());
+ });
+
+ prep($(href));
+ } else if (settings.iframe) {
+ // IFrame element won't be added to the DOM until it is ready to be displayed,
+ // to avoid problems with DOM-ready JS that might be trying to run in that iframe.
+ prep(" ");
+ } else if (settings.html) {
+ prep(settings.html);
+ } else if (isImage(settings, href)) {
+
+ href = retinaUrl(settings, href);
+
+ $(photo = new Image())
+ .addClass(prefix + 'Photo')
+ .bind('error',function () {
+ settings.title = false;
+ prep($tag(div, 'Error').html(settings.imgError));
+ })
+ .one('load', function () {
+ var percent;
+
+ if (request !== requests) {
+ return;
+ }
+
+ photo.alt = $(element).attr('alt') || $(element).attr('data-alt') || '';
+
+ if (settings.retinaImage && window.devicePixelRatio > 1) {
+ photo.height = photo.height / window.devicePixelRatio;
+ photo.width = photo.width / window.devicePixelRatio;
+ }
+
+ if (settings.scalePhotos) {
+ setResize = function () {
+ photo.height -= photo.height * percent;
+ photo.width -= photo.width * percent;
+ };
+ if (settings.mw && photo.width > settings.mw) {
+ percent = (photo.width - settings.mw) / photo.width;
+ setResize();
+ }
+ if (settings.mh && photo.height > settings.mh) {
+ percent = (photo.height - settings.mh) / photo.height;
+ setResize();
+ }
+ }
+
+ if (settings.h) {
+ photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
+ }
+
+ if ($related[1] && (settings.loop || $related[index + 1])) {
+ photo.style.cursor = 'pointer';
+ photo.onclick = function () {
+ publicMethod.next();
+ };
+ }
+
+ photo.style.width = photo.width + 'px';
+ photo.style.height = photo.height + 'px';
+
+ setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise.
+ prep(photo);
+ }, 1);
+ });
+
+ setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise.
+ photo.src = href;
+ }, 1);
+ } else if (href) {
+ $loadingBay.load(href, settings.data, function (data, status) {
+ if (request === requests) {
+ prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
+ }
+ });
+ }
+ }
+
+ // Navigates to the next page/image in a set.
+ publicMethod.next = function () {
+ if (!active && $related[1] && (settings.loop || $related[index + 1])) {
+ index = getIndex(1);
+ launch($related[index]);
+ }
+ };
+
+ publicMethod.prev = function () {
+ if (!active && $related[1] && (settings.loop || index)) {
+ index = getIndex(-1);
+ launch($related[index]);
+ }
+ };
+
+ // Note: to use this within an iframe use the following format: parent.jQuery.colorbox.close();
+ publicMethod.close = function () {
+ if (open && !closing) {
+
+ closing = true;
+
+ open = false;
+
+ trigger(event_cleanup, settings.onCleanup);
+
+ $window.unbind('.' + prefix);
+
+ $overlay.fadeTo(settings.fadeOut || 0, 0);
+
+ $box.stop().fadeTo(settings.fadeOut || 0, 0, function () {
+
+ $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();
+
+ trigger(event_purge);
+
+ $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+
+ setTimeout(function () {
+ closing = false;
+ trigger(event_closed, settings.onClosed);
+ }, 1);
+ });
+ }
+ };
+
+ // Removes changes Colorbox made to the document, but does not remove the plugin.
+ publicMethod.remove = function () {
+ if (!$box) { return; }
+
+ $box.stop();
+ $.colorbox.close();
+ $box.stop().remove();
+ $overlay.remove();
+ closing = false;
+ $box = null;
+ $('.' + boxElement)
+ .removeData(colorbox)
+ .removeClass(boxElement);
+
+ $(document).unbind('click.'+prefix);
+ };
+
+ // A method for fetching the current element Colorbox is referencing.
+ // returns a jQuery object.
+ publicMethod.element = function () {
+ return $(element);
+ };
+
+ publicMethod.settings = defaults;
+
+}(jQuery, document, window));
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.js
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/images/loading_background.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/images/loading_background.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/images/border.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/images/border.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/images/loading.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/images/loading.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/images/overlay.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/images/overlay.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/images/controls.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/images/controls.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.css
===================================================================
--- branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.css (nonexistent)
+++ branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.css (revision 15893)
@@ -0,0 +1,69 @@
+/*
+ Colorbox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of Colorbox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:url(@templates_base@/platform/inc/jquery/colorbox/images/overlay.png) repeat 0 0;}
+#colorbox{outline:0;}
+ #cboxTopLeft{width:21px; height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -101px 0;}
+ #cboxTopRight{width:21px; height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -130px 0;}
+ #cboxBottomLeft{width:21px; height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -101px -29px;}
+ #cboxBottomRight{width:21px; height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -130px -29px;}
+ #cboxMiddleLeft{width:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) left top repeat-y;}
+ #cboxMiddleRight{width:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) right top repeat-y;}
+ #cboxTopCenter{height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/border.png) 0 0 repeat-x;}
+ #cboxBottomCenter{height:21px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/border.png) 0 -29px repeat-x;}
+ #cboxContent{background:#fff; overflow:hidden;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:28px;}
+ #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
+ #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
+ #cboxLoadingOverlay{background:url(@templates_base@/platform/inc/jquery/colorbox/images/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(@templates_base@/platform/inc/jquery/colorbox/images/loading.gif) no-repeat center center;}
+
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
+ #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
+ #cboxPrevious{position:absolute; bottom:0; left:0; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxPrevious:hover{background-position:-75px -25px;}
+ #cboxNext{position:absolute; bottom:0; left:27px; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxNext:hover{background-position:-50px -25px;}
+ #cboxClose{position:absolute; bottom:0; right:0; background:url(@templates_base@/platform/inc/jquery/colorbox/images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxClose:hover{background-position:-25px -25px;}
+
+/*
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
+ See: http://jacklmoore.com/notes/ie-transparency-problems/
+*/
+.cboxIE #cboxTopLeft,
+.cboxIE #cboxTopCenter,
+.cboxIE #cboxTopRight,
+.cboxIE #cboxBottomLeft,
+.cboxIE #cboxBottomCenter,
+.cboxIE #cboxBottomRight,
+.cboxIE #cboxMiddleLeft,
+.cboxIE #cboxMiddleRight {
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
+}
\ No newline at end of file
Property changes on: branches/1.3.x/platform/inc/jquery/colorbox/jquery.colorbox.css
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.js
===================================================================
--- branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.js (nonexistent)
+++ branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.js (revision 15893)
@@ -0,0 +1,1983 @@
+/*!
+ * fancyBox - jQuery Plugin
+ * version: 2.1.4 (Thu, 10 Jan 2013)
+ * @requires jQuery v1.6 or later
+ *
+ * Examples at http://fancyapps.com/fancybox/
+ * License: www.fancyapps.com/fancybox/#license
+ *
+ * Copyright 2012 Janis Skarnelis - janis@fancyapps.com
+ *
+ */
+
+(function (window, document, $, undefined) {
+ "use strict";
+
+ var W = $(window),
+ D = $(document),
+ F = $.fancybox = function () {
+ F.open.apply( this, arguments );
+ },
+ IE = navigator.userAgent.match(/msie/),
+ didUpdate = null,
+ isTouch = document.createTouch !== undefined,
+
+ isQuery = function(obj) {
+ return obj && obj.hasOwnProperty && obj instanceof $;
+ },
+ isString = function(str) {
+ return str && $.type(str) === "string";
+ },
+ isPercentage = function(str) {
+ return isString(str) && str.indexOf('%') > 0;
+ },
+ isScrollable = function(el) {
+ return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight)));
+ },
+ getScalar = function(orig, dim) {
+ var value = parseInt(orig, 10) || 0;
+
+ if (dim && isPercentage(orig)) {
+ value = F.getViewport()[ dim ] / 100 * value;
+ }
+
+ return Math.ceil(value);
+ },
+ getValue = function(value, dim) {
+ return getScalar(value, dim) + 'px';
+ };
+
+ $.extend(F, {
+ // The current version of fancyBox
+ version: '2.1.4',
+
+ defaults: {
+ padding : 15,
+ margin : 20,
+
+ width : 800,
+ height : 600,
+ minWidth : 100,
+ minHeight : 100,
+ maxWidth : 9999,
+ maxHeight : 9999,
+
+ autoSize : true,
+ autoHeight : false,
+ autoWidth : false,
+
+ autoResize : true,
+ autoCenter : !isTouch,
+ fitToView : true,
+ aspectRatio : false,
+ topRatio : 0.5,
+ leftRatio : 0.5,
+
+ scrolling : 'auto', // 'auto', 'yes' or 'no'
+ wrapCSS : '',
+
+ arrows : true,
+ closeBtn : true,
+ closeClick : false,
+ nextClick : false,
+ mouseWheel : true,
+ autoPlay : false,
+ playSpeed : 3000,
+ preload : 3,
+ modal : false,
+ loop : true,
+
+ ajax : {
+ dataType : 'html',
+ headers : { 'X-fancyBox': true }
+ },
+ iframe : {
+ scrolling : 'auto',
+ preload : true
+ },
+ swf : {
+ wmode: 'transparent',
+ allowfullscreen : 'true',
+ allowscriptaccess : 'always'
+ },
+
+ keys : {
+ next : {
+ 13 : 'left', // enter
+ 34 : 'up', // page down
+ 39 : 'left', // right arrow
+ 40 : 'up' // down arrow
+ },
+ prev : {
+ 8 : 'right', // backspace
+ 33 : 'down', // page up
+ 37 : 'right', // left arrow
+ 38 : 'down' // up arrow
+ },
+ close : [27], // escape key
+ play : [32], // space - start/stop slideshow
+ toggle : [70] // letter "f" - toggle fullscreen
+ },
+
+ direction : {
+ next : 'left',
+ prev : 'right'
+ },
+
+ scrollOutside : true,
+
+ // Override some properties
+ index : 0,
+ type : null,
+ href : null,
+ content : null,
+ title : null,
+
+ // HTML templates
+ tpl: {
+ wrap : '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
+ image : '<img class="fancybox-image" src="{href}" alt="" />',
+ iframe : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>',
+ error : '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
+ closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
+ next : '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
+ prev : '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
+ },
+
+ // Properties for each animation type
+ // Opening fancyBox
+ openEffect : 'fade', // 'elastic', 'fade' or 'none'
+ openSpeed : 250,
+ openEasing : 'swing',
+ openOpacity : true,
+ openMethod : 'zoomIn',
+
+ // Closing fancyBox
+ closeEffect : 'fade', // 'elastic', 'fade' or 'none'
+ closeSpeed : 250,
+ closeEasing : 'swing',
+ closeOpacity : true,
+ closeMethod : 'zoomOut',
+
+ // Changing next gallery item
+ nextEffect : 'elastic', // 'elastic', 'fade' or 'none'
+ nextSpeed : 250,
+ nextEasing : 'swing',
+ nextMethod : 'changeIn',
+
+ // Changing previous gallery item
+ prevEffect : 'elastic', // 'elastic', 'fade' or 'none'
+ prevSpeed : 250,
+ prevEasing : 'swing',
+ prevMethod : 'changeOut',
+
+ // Enable default helpers
+ helpers : {
+ overlay : true,
+ title : true
+ },
+
+ // Callbacks
+ onCancel : $.noop, // If canceling
+ beforeLoad : $.noop, // Before loading
+ afterLoad : $.noop, // After loading
+ beforeShow : $.noop, // Before changing in current item
+ afterShow : $.noop, // After opening
+ beforeChange : $.noop, // Before changing gallery item
+ beforeClose : $.noop, // Before closing
+ afterClose : $.noop // After closing
+ },
+
+ //Current state
+ group : {}, // Selected group
+ opts : {}, // Group options
+ previous : null, // Previous element
+ coming : null, // Element being loaded
+ current : null, // Currently loaded element
+ isActive : false, // Is activated
+ isOpen : false, // Is currently open
+ isOpened : false, // Have been fully opened at least once
+
+ wrap : null,
+ skin : null,
+ outer : null,
+ inner : null,
+
+ player : {
+ timer : null,
+ isActive : false
+ },
+
+ // Loaders
+ ajaxLoad : null,
+ imgPreload : null,
+
+ // Some collections
+ transitions : {},
+ helpers : {},
+
+ /*
+ * Static methods
+ */
+
+ open: function (group, opts) {
+ if (!group) {
+ return;
+ }
+
+ if (!$.isPlainObject(opts)) {
+ opts = {};
+ }
+
+ // Close if already active
+ if (false === F.close(true)) {
+ return;
+ }
+
+ // Normalize group
+ if (!$.isArray(group)) {
+ group = isQuery(group) ? $(group).get() : [group];
+ }
+
+ // Recheck if the type of each element is `object` and set content type (image, ajax, etc)
+ $.each(group, function(i, element) {
+ var obj = {},
+ href,
+ title,
+ content,
+ type,
+ rez,
+ hrefParts,
+ selector;
+
+ if ($.type(element) === "object") {
+ // Check if is DOM element
+ if (element.nodeType) {
+ element = $(element);
+ }
+
+ if (isQuery(element)) {
+ obj = {
+ href : element.data('fancybox-href') || element.attr('href'),
+ title : element.data('fancybox-title') || element.attr('title'),
+ isDom : true,
+ element : element
+ };
+
+ if ($.metadata) {
+ $.extend(true, obj, element.metadata());
+ }
+
+ } else {
+ obj = element;
+ }
+ }
+
+ href = opts.href || obj.href || (isString(element) ? element : null);
+ title = opts.title !== undefined ? opts.title : obj.title || '';
+
+ content = opts.content || obj.content;
+ type = content ? 'html' : (opts.type || obj.type);
+
+ if (!type && obj.isDom) {
+ type = element.data('fancybox-type');
+
+ if (!type) {
+ rez = element.prop('class').match(/fancybox\.(\w+)/);
+ type = rez ? rez[1] : null;
+ }
+ }
+
+ if (isString(href)) {
+ // Try to guess the content type
+ if (!type) {
+ if (F.isImage(href)) {
+ type = 'image';
+
+ } else if (F.isSWF(href)) {
+ type = 'swf';
+
+ } else if (href.charAt(0) === '#') {
+ type = 'inline';
+
+ } else if (isString(element)) {
+ type = 'html';
+ content = element;
+ }
+ }
+
+ // Split url into two pieces with source url and content selector, e.g,
+ // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id"
+ if (type === 'ajax') {
+ hrefParts = href.split(/\s+/, 2);
+ href = hrefParts.shift();
+ selector = hrefParts.shift();
+ }
+ }
+
+ if (!content) {
+ if (type === 'inline') {
+ if (href) {
+ content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7
+
+ } else if (obj.isDom) {
+ content = element;
+ }
+
+ } else if (type === 'html') {
+ content = href;
+
+ } else if (!type && !href && obj.isDom) {
+ type = 'inline';
+ content = element;
+ }
+ }
+
+ $.extend(obj, {
+ href : href,
+ type : type,
+ content : content,
+ title : title,
+ selector : selector
+ });
+
+ group[ i ] = obj;
+ });
+
+ // Extend the defaults
+ F.opts = $.extend(true, {}, F.defaults, opts);
+
+ // All options are merged recursive except keys
+ if (opts.keys !== undefined) {
+ F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false;
+ }
+
+ F.group = group;
+
+ return F._start(F.opts.index);
+ },
+
+ // Cancel image loading or abort ajax request
+ cancel: function () {
+ var coming = F.coming;
+
+ if (!coming || false === F.trigger('onCancel')) {
+ return;
+ }
+
+ F.hideLoading();
+
+ if (F.ajaxLoad) {
+ F.ajaxLoad.abort();
+ }
+
+ F.ajaxLoad = null;
+
+ if (F.imgPreload) {
+ F.imgPreload.onload = F.imgPreload.onerror = null;
+ }
+
+ if (coming.wrap) {
+ coming.wrap.stop(true, true).trigger('onReset').remove();
+ }
+
+ F.coming = null;
+
+ // If the first item has been canceled, then clear everything
+ if (!F.current) {
+ F._afterZoomOut( coming );
+ }
+ },
+
+ // Start closing animation if is open; remove immediately if opening/closing
+ close: function (event) {
+ F.cancel();
+
+ if (false === F.trigger('beforeClose')) {
+ return;
+ }
+
+ F.unbindEvents();
+
+ if (!F.isActive) {
+ return;
+ }
+
+ if (!F.isOpen || event === true) {
+ $('.fancybox-wrap').stop(true).trigger('onReset').remove();
+
+ F._afterZoomOut();
+
+ } else {
+ F.isOpen = F.isOpened = false;
+ F.isClosing = true;
+
+ $('.fancybox-item, .fancybox-nav').remove();
+
+ F.wrap.stop(true, true).removeClass('fancybox-opened');
+
+ F.transitions[ F.current.closeMethod ]();
+ }
+ },
+
+ // Manage slideshow:
+ // $.fancybox.play(); - toggle slideshow
+ // $.fancybox.play( true ); - start
+ // $.fancybox.play( false ); - stop
+ play: function ( action ) {
+ var clear = function () {
+ clearTimeout(F.player.timer);
+ },
+ set = function () {
+ clear();
+
+ if (F.current && F.player.isActive) {
+ F.player.timer = setTimeout(F.next, F.current.playSpeed);
+ }
+ },
+ stop = function () {
+ clear();
+
+ $('body').unbind('.player');
+
+ F.player.isActive = false;
+
+ F.trigger('onPlayEnd');
+ },
+ start = function () {
+ if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
+ F.player.isActive = true;
+
+ $('body').bind({
+ 'afterShow.player onUpdate.player' : set,
+ 'onCancel.player beforeClose.player' : stop,
+ 'beforeLoad.player' : clear
+ });
+
+ set();
+
+ F.trigger('onPlayStart');
+ }
+ };
+
+ if (action === true || (!F.player.isActive && action !== false)) {
+ start();
+ } else {
+ stop();
+ }
+ },
+
+ // Navigate to next gallery item
+ next: function ( direction ) {
+ var current = F.current;
+
+ if (current) {
+ if (!isString(direction)) {
+ direction = current.direction.next;
+ }
+
+ F.jumpto(current.index + 1, direction, 'next');
+ }
+ },
+
+ // Navigate to previous gallery item
+ prev: function ( direction ) {
+ var current = F.current;
+
+ if (current) {
+ if (!isString(direction)) {
+ direction = current.direction.prev;
+ }
+
+ F.jumpto(current.index - 1, direction, 'prev');
+ }
+ },
+
+ // Navigate to gallery item by index
+ jumpto: function ( index, direction, router ) {
+ var current = F.current;
+
+ if (!current) {
+ return;
+ }
+
+ index = getScalar(index);
+
+ F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ];
+ F.router = router || 'jumpto';
+
+ if (current.loop) {
+ if (index < 0) {
+ index = current.group.length + (index % current.group.length);
+ }
+
+ index = index % current.group.length;
+ }
+
+ if (current.group[ index ] !== undefined) {
+ F.cancel();
+
+ F._start(index);
+ }
+ },
+
+ // Center inside viewport and toggle position type to fixed or absolute if needed
+ reposition: function (e, onlyAbsolute) {
+ var current = F.current,
+ wrap = current ? current.wrap : null,
+ pos;
+
+ if (wrap) {
+ pos = F._getPosition(onlyAbsolute);
+
+ if (e && e.type === 'scroll') {
+ delete pos.position;
+
+ wrap.stop(true, true).animate(pos, 200);
+
+ } else {
+ wrap.css(pos);
+
+ current.pos = $.extend({}, current.dim, pos);
+ }
+ }
+ },
+
+ update: function (e) {
+ var type = (e && e.type),
+ anyway = !type || type === 'orientationchange';
+
+ if (anyway) {
+ clearTimeout(didUpdate);
+
+ didUpdate = null;
+ }
+
+ if (!F.isOpen || didUpdate) {
+ return;
+ }
+
+ didUpdate = setTimeout(function() {
+ var current = F.current;
+
+ if (!current || F.isClosing) {
+ return;
+ }
+
+ F.wrap.removeClass('fancybox-tmp');
+
+ if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) {
+ F._setDimension();
+ }
+
+ if (!(type === 'scroll' && current.canShrink)) {
+ F.reposition(e);
+ }
+
+ F.trigger('onUpdate');
+
+ didUpdate = null;
+
+ }, (anyway && !isTouch ? 0 : 300));
+ },
+
+ // Shrink content to fit inside viewport or restore if resized
+ toggle: function ( action ) {
+ if (F.isOpen) {
+ F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView;
+
+ // Help browser to restore document dimensions
+ if (isTouch) {
+ F.wrap.removeAttr('style').addClass('fancybox-tmp');
+
+ F.trigger('onUpdate');
+ }
+
+ F.update();
+ }
+ },
+
+ hideLoading: function () {
+ D.unbind('.loading');
+
+ $('#fancybox-loading').remove();
+ },
+
+ showLoading: function () {
+ var el, viewport;
+
+ F.hideLoading();
+
+ el = $('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body');
+
+ // If user will press the escape-button, the request will be canceled
+ D.bind('keydown.loading', function(e) {
+ if ((e.which || e.keyCode) === 27) {
+ e.preventDefault();
+
+ F.cancel();
+ }
+ });
+
+ if (!F.defaults.fixed) {
+ viewport = F.getViewport();
+
+ el.css({
+ position : 'absolute',
+ top : (viewport.h * 0.5) + viewport.y,
+ left : (viewport.w * 0.5) + viewport.x
+ });
+ }
+ },
+
+ getViewport: function () {
+ var locked = (F.current && F.current.locked) || false,
+ rez = {
+ x: W.scrollLeft(),
+ y: W.scrollTop()
+ };
+
+ if (locked) {
+ rez.w = locked[0].clientWidth;
+ rez.h = locked[0].clientHeight;
+
+ } else {
+ // See http://bugs.jquery.com/ticket/6724
+ rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width();
+ rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height();
+ }
+
+ return rez;
+ },
+
+ // Unbind the keyboard / clicking actions
+ unbindEvents: function () {
+ if (F.wrap && isQuery(F.wrap)) {
+ F.wrap.unbind('.fb');
+ }
+
+ D.unbind('.fb');
+ W.unbind('.fb');
+ },
+
+ bindEvents: function () {
+ var current = F.current,
+ keys;
+
+ if (!current) {
+ return;
+ }
+
+ // Changing document height on iOS devices triggers a 'resize' event,
+ // that can change document height... repeating infinitely
+ W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update);
+
+ keys = current.keys;
+
+ if (keys) {
+ D.bind('keydown.fb', function (e) {
+ var code = e.which || e.keyCode,
+ target = e.target || e.srcElement;
+
+ // Skip esc key if loading, because showLoading will cancel preloading
+ if (code === 27 && F.coming) {
+ return false;
+ }
+
+ // Ignore key combinations and key events within form elements
+ if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) {
+ $.each(keys, function(i, val) {
+ if (current.group.length > 1 && val[ code ] !== undefined) {
+ F[ i ]( val[ code ] );
+
+ e.preventDefault();
+ return false;
+ }
+
+ if ($.inArray(code, val) > -1) {
+ F[ i ] ();
+
+ e.preventDefault();
+ return false;
+ }
+ });
+ }
+ });
+ }
+
+ if ($.fn.mousewheel && current.mouseWheel) {
+ F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) {
+ var target = e.target || null,
+ parent = $(target),
+ canScroll = false;
+
+ while (parent.length) {
+ if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) {
+ break;
+ }
+
+ canScroll = isScrollable( parent[0] );
+ parent = $(parent).parent();
+ }
+
+ if (delta !== 0 && !canScroll) {
+ if (F.group.length > 1 && !current.canShrink) {
+ if (deltaY > 0 || deltaX > 0) {
+ F.prev( deltaY > 0 ? 'down' : 'left' );
+
+ } else if (deltaY < 0 || deltaX < 0) {
+ F.next( deltaY < 0 ? 'up' : 'right' );
+ }
+
+ e.preventDefault();
+ }
+ }
+ });
+ }
+ },
+
+ trigger: function (event, o) {
+ var ret, obj = o || F.coming || F.current;
+
+ if (!obj) {
+ return;
+ }
+
+ if ($.isFunction( obj[event] )) {
+ ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
+ }
+
+ if (ret === false) {
+ return false;
+ }
+
+ if (obj.helpers) {
+ $.each(obj.helpers, function (helper, opts) {
+ if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) {
+ opts = $.extend(true, {}, F.helpers[helper].defaults, opts);
+
+ F.helpers[helper][event](opts, obj);
+ }
+ });
+ }
+
+ $.event.trigger(event + '.fb');
+ },
+
+ isImage: function (str) {
+ return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp)((\?|#).*)?$)/i);
+ },
+
+ isSWF: function (str) {
+ return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i);
+ },
+
+ _start: function (index) {
+ var coming = {},
+ obj,
+ href,
+ type,
+ margin,
+ padding;
+
+ index = getScalar( index );
+ obj = F.group[ index ] || null;
+
+ if (!obj) {
+ return false;
+ }
+
+ coming = $.extend(true, {}, F.opts, obj);
+
+ // Convert margin and padding properties to array - top, right, bottom, left
+ margin = coming.margin;
+ padding = coming.padding;
+
+ if ($.type(margin) === 'number') {
+ coming.margin = [margin, margin, margin, margin];
+ }
+
+ if ($.type(padding) === 'number') {
+ coming.padding = [padding, padding, padding, padding];
+ }
+
+ // 'modal' propery is just a shortcut
+ if (coming.modal) {
+ $.extend(true, coming, {
+ closeBtn : false,
+ closeClick : false,
+ nextClick : false,
+ arrows : false,
+ mouseWheel : false,
+ keys : null,
+ helpers: {
+ overlay : {
+ closeClick : false
+ }
+ }
+ });
+ }
+
+ // 'autoSize' property is a shortcut, too
+ if (coming.autoSize) {
+ coming.autoWidth = coming.autoHeight = true;
+ }
+
+ if (coming.width === 'auto') {
+ coming.autoWidth = true;
+ }
+
+ if (coming.height === 'auto') {
+ coming.autoHeight = true;
+ }
+
+ /*
+ * Add reference to the group, so it`s possible to access from callbacks, example:
+ * afterLoad : function() {
+ * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+ * }
+ */
+
+ coming.group = F.group;
+ coming.index = index;
+
+ // Give a chance for callback or helpers to update coming item (type, title, etc)
+ F.coming = coming;
+
+ if (false === F.trigger('beforeLoad')) {
+ F.coming = null;
+
+ return;
+ }
+
+ type = coming.type;
+ href = coming.href;
+
+ if (!type) {
+ F.coming = null;
+
+ //If we can not determine content type then drop silently or display next/prev item if looping through gallery
+ if (F.current && F.router && F.router !== 'jumpto') {
+ F.current.index = index;
+
+ return F[ F.router ]( F.direction );
+ }
+
+ return false;
+ }
+
+ F.isActive = true;
+
+ if (type === 'image' || type === 'swf') {
+ coming.autoHeight = coming.autoWidth = false;
+ coming.scrolling = 'visible';
+ }
+
+ if (type === 'image') {
+ coming.aspectRatio = true;
+ }
+
+ if (type === 'iframe' && isTouch) {
+ coming.scrolling = 'scroll';
+ }
+
+ // Build the neccessary markup
+ coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' );
+
+ $.extend(coming, {
+ skin : $('.fancybox-skin', coming.wrap),
+ outer : $('.fancybox-outer', coming.wrap),
+ inner : $('.fancybox-inner', coming.wrap)
+ });
+
+ $.each(["Top", "Right", "Bottom", "Left"], function(i, v) {
+ coming.skin.css('padding' + v, getValue(coming.padding[ i ]));
+ });
+
+ F.trigger('onReady');
+
+ // Check before try to load; 'inline' and 'html' types need content, others - href
+ if (type === 'inline' || type === 'html') {
+ if (!coming.content || !coming.content.length) {
+ return F._error( 'content' );
+ }
+
+ } else if (!href) {
+ return F._error( 'href' );
+ }
+
+ if (type === 'image') {
+ F._loadImage();
+
+ } else if (type === 'ajax') {
+ F._loadAjax();
+
+ } else if (type === 'iframe') {
+ F._loadIframe();
+
+ } else {
+ F._afterLoad();
+ }
+ },
+
+ _error: function ( type ) {
+ $.extend(F.coming, {
+ type : 'html',
+ autoWidth : true,
+ autoHeight : true,
+ minWidth : 0,
+ minHeight : 0,
+ scrolling : 'no',
+ hasError : type,
+ content : F.coming.tpl.error
+ });
+
+ F._afterLoad();
+ },
+
+ _loadImage: function () {
+ // Reset preload image so it is later possible to check "complete" property
+ var img = F.imgPreload = new Image();
+
+ img.onload = function () {
+ this.onload = this.onerror = null;
+
+ F.coming.width = this.width;
+ F.coming.height = this.height;
+
+ F._afterLoad();
+ };
+
+ img.onerror = function () {
+ this.onload = this.onerror = null;
+
+ F._error( 'image' );
+ };
+
+ img.src = F.coming.href;
+
+ if (img.complete !== true) {
+ F.showLoading();
+ }
+ },
+
+ _loadAjax: function () {
+ var coming = F.coming;
+
+ F.showLoading();
+
+ F.ajaxLoad = $.ajax($.extend({}, coming.ajax, {
+ url: coming.href,
+ error: function (jqXHR, textStatus) {
+ if (F.coming && textStatus !== 'abort') {
+ F._error( 'ajax', jqXHR );
+
+ } else {
+ F.hideLoading();
+ }
+ },
+ success: function (data, textStatus) {
+ if (textStatus === 'success') {
+ coming.content = data;
+
+ F._afterLoad();
+ }
+ }
+ }));
+ },
+
+ _loadIframe: function() {
+ var coming = F.coming,
+ iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime()))
+ .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling)
+ .attr('src', coming.href);
+
+ // This helps IE
+ $(coming.wrap).bind('onReset', function () {
+ try {
+ $(this).find('iframe').hide().attr('src', '//about:blank').end().empty();
+ } catch (e) {}
+ });
+
+ if (coming.iframe.preload) {
+ F.showLoading();
+
+ iframe.one('load', function() {
+ $(this).data('ready', 1);
+
+ // iOS will lose scrolling if we resize
+ if (!isTouch) {
+ $(this).bind('load.fb', F.update);
+ }
+
+ // Without this trick:
+ // - iframe won't scroll on iOS devices
+ // - IE7 sometimes displays empty iframe
+ $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();
+
+ F._afterLoad();
+ });
+ }
+
+ coming.content = iframe.appendTo( coming.inner );
+
+ if (!coming.iframe.preload) {
+ F._afterLoad();
+ }
+ },
+
+ _preloadImages: function() {
+ var group = F.group,
+ current = F.current,
+ len = group.length,
+ cnt = current.preload ? Math.min(current.preload, len - 1) : 0,
+ item,
+ i;
+
+ for (i = 1; i <= cnt; i += 1) {
+ item = group[ (current.index + i ) % len ];
+
+ if (item.type === 'image' && item.href) {
+ new Image().src = item.href;
+ }
+ }
+ },
+
+ _afterLoad: function () {
+ var coming = F.coming,
+ previous = F.current,
+ placeholder = 'fancybox-placeholder',
+ current,
+ content,
+ type,
+ scrolling,
+ href,
+ embed;
+
+ F.hideLoading();
+
+ if (!coming || F.isActive === false) {
+ return;
+ }
+
+ if (false === F.trigger('afterLoad', coming, previous)) {
+ coming.wrap.stop(true).trigger('onReset').remove();
+
+ F.coming = null;
+
+ return;
+ }
+
+ if (previous) {
+ F.trigger('beforeChange', previous);
+
+ previous.wrap.stop(true).removeClass('fancybox-opened')
+ .find('.fancybox-item, .fancybox-nav')
+ .remove();
+ }
+
+ F.unbindEvents();
+
+ current = coming;
+ content = coming.content;
+ type = coming.type;
+ scrolling = coming.scrolling;
+
+ $.extend(F, {
+ wrap : current.wrap,
+ skin : current.skin,
+ outer : current.outer,
+ inner : current.inner,
+ current : current,
+ previous : previous
+ });
+
+ href = current.href;
+
+ switch (type) {
+ case 'inline':
+ case 'ajax':
+ case 'html':
+ if (current.selector) {
+ content = $('<div>').html(content).find(current.selector);
+
+ } else if (isQuery(content)) {
+ if (!content.data(placeholder)) {
+ content.data(placeholder, $('<div class="' + placeholder + '"></div>').insertAfter( content ).hide() );
+ }
+
+ content = content.show().detach();
+
+ current.wrap.bind('onReset', function () {
+ if ($(this).find(content).length) {
+ content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false);
+ }
+ });
+ }
+ break;
+
+ case 'image':
+ content = current.tpl.image.replace('{href}', href);
+ break;
+
+ case 'swf':
+ content = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + href + '"></param>';
+ embed = '';
+
+ $.each(current.swf, function(name, val) {
+ content += '<param name="' + name + '" value="' + val + '"></param>';
+ embed += ' ' + name + '="' + val + '"';
+ });
+
+ content += '<embed src="' + href + '" type="application/x-shockwave-flash" width="100%" height="100%"' + embed + '></embed></object>';
+ break;
+ }
+
+ if (!(isQuery(content) && content.parent().is(current.inner))) {
+ current.inner.append( content );
+ }
+
+ // Give a chance for helpers or callbacks to update elements
+ F.trigger('beforeShow');
+
+ // Set scrolling before calculating dimensions
+ current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling));
+
+ // Set initial dimensions and start position
+ F._setDimension();
+
+ F.reposition();
+
+ F.isOpen = false;
+ F.coming = null;
+
+ F.bindEvents();
+
+ if (!F.isOpened) {
+ $('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove();
+
+ } else if (previous.prevMethod) {
+ F.transitions[ previous.prevMethod ]();
+ }
+
+ F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ]();
+
+ F._preloadImages();
+ },
+
+ _setDimension: function () {
+ var viewport = F.getViewport(),
+ steps = 0,
+ canShrink = false,
+ canExpand = false,
+ wrap = F.wrap,
+ skin = F.skin,
+ inner = F.inner,
+ current = F.current,
+ width = current.width,
+ height = current.height,
+ minWidth = current.minWidth,
+ minHeight = current.minHeight,
+ maxWidth = current.maxWidth,
+ maxHeight = current.maxHeight,
+ scrolling = current.scrolling,
+ scrollOut = current.scrollOutside ? current.scrollbarWidth : 0,
+ margin = current.margin,
+ wMargin = getScalar(margin[1] + margin[3]),
+ hMargin = getScalar(margin[0] + margin[2]),
+ wPadding,
+ hPadding,
+ wSpace,
+ hSpace,
+ origWidth,
+ origHeight,
+ origMaxWidth,
+ origMaxHeight,
+ ratio,
+ width_,
+ height_,
+ maxWidth_,
+ maxHeight_,
+ iframe,
+ body;
+
+ // Reset dimensions so we could re-check actual size
+ wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp');
+
+ wPadding = getScalar(skin.outerWidth(true) - skin.width());
+ hPadding = getScalar(skin.outerHeight(true) - skin.height());
+
+ // Any space between content and viewport (margin, padding, border, title)
+ wSpace = wMargin + wPadding;
+ hSpace = hMargin + hPadding;
+
+ origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width;
+ origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height;
+
+ if (current.type === 'iframe') {
+ iframe = current.content;
+
+ if (current.autoHeight && iframe.data('ready') === 1) {
+ try {
+ if (iframe[0].contentWindow.document.location) {
+ inner.width( origWidth ).height(9999);
+
+ body = iframe.contents().find('body');
+
+ if (scrollOut) {
+ body.css('overflow-x', 'hidden');
+ }
+
+ origHeight = body.height();
+ }
+
+ } catch (e) {}
+ }
+
+ } else if (current.autoWidth || current.autoHeight) {
+ inner.addClass( 'fancybox-tmp' );
+
+ // Set width or height in case we need to calculate only one dimension
+ if (!current.autoWidth) {
+ inner.width( origWidth );
+ }
+
+ if (!current.autoHeight) {
+ inner.height( origHeight );
+ }
+
+ if (current.autoWidth) {
+ origWidth = inner.width();
+ }
+
+ if (current.autoHeight) {
+ origHeight = inner.height();
+ }
+
+ inner.removeClass( 'fancybox-tmp' );
+ }
+
+ width = getScalar( origWidth );
+ height = getScalar( origHeight );
+
+ ratio = origWidth / origHeight;
+
+ // Calculations for the content
+ minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth);
+ maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth);
+
+ minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight);
+ maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight);
+
+ // These will be used to determine if wrap can fit in the viewport
+ origMaxWidth = maxWidth;
+ origMaxHeight = maxHeight;
+
+ if (current.fitToView) {
+ maxWidth = Math.min(viewport.w - wSpace, maxWidth);
+ maxHeight = Math.min(viewport.h - hSpace, maxHeight);
+ }
+
+ maxWidth_ = viewport.w - wMargin;
+ maxHeight_ = viewport.h - hMargin;
+
+ if (current.aspectRatio) {
+ if (width > maxWidth) {
+ width = maxWidth;
+ height = getScalar(width / ratio);
+ }
+
+ if (height > maxHeight) {
+ height = maxHeight;
+ width = getScalar(height * ratio);
+ }
+
+ if (width < minWidth) {
+ width = minWidth;
+ height = getScalar(width / ratio);
+ }
+
+ if (height < minHeight) {
+ height = minHeight;
+ width = getScalar(height * ratio);
+ }
+
+ } else {
+ width = Math.max(minWidth, Math.min(width, maxWidth));
+
+ if (current.autoHeight && current.type !== 'iframe') {
+ inner.width( width );
+
+ height = inner.height();
+ }
+
+ height = Math.max(minHeight, Math.min(height, maxHeight));
+ }
+
+ // Try to fit inside viewport (including the title)
+ if (current.fitToView) {
+ inner.width( width ).height( height );
+
+ wrap.width( width + wPadding );
+
+ // Real wrap dimensions
+ width_ = wrap.width();
+ height_ = wrap.height();
+
+ if (current.aspectRatio) {
+ while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) {
+ if (steps++ > 19) {
+ break;
+ }
+
+ height = Math.max(minHeight, Math.min(maxHeight, height - 10));
+ width = getScalar(height * ratio);
+
+ if (width < minWidth) {
+ width = minWidth;
+ height = getScalar(width / ratio);
+ }
+
+ if (width > maxWidth) {
+ width = maxWidth;
+ height = getScalar(width / ratio);
+ }
+
+ inner.width( width ).height( height );
+
+ wrap.width( width + wPadding );
+
+ width_ = wrap.width();
+ height_ = wrap.height();
+ }
+
+ } else {
+ width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_)));
+ height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_)));
+ }
+ }
+
+ if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) {
+ width += scrollOut;
+ }
+
+ inner.width( width ).height( height );
+
+ wrap.width( width + wPadding );
+
+ width_ = wrap.width();
+ height_ = wrap.height();
+
+ canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight;
+ canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight));
+
+ $.extend(current, {
+ dim : {
+ width : getValue( width_ ),
+ height : getValue( height_ )
+ },
+ origWidth : origWidth,
+ origHeight : origHeight,
+ canShrink : canShrink,
+ canExpand : canExpand,
+ wPadding : wPadding,
+ hPadding : hPadding,
+ wrapSpace : height_ - skin.outerHeight(true),
+ skinSpace : skin.height() - height
+ });
+
+ if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) {
+ inner.height('auto');
+ }
+ },
+
+ _getPosition: function (onlyAbsolute) {
+ var current = F.current,
+ viewport = F.getViewport(),
+ margin = current.margin,
+ width = F.wrap.width() + margin[1] + margin[3],
+ height = F.wrap.height() + margin[0] + margin[2],
+ rez = {
+ position: 'absolute',
+ top : margin[0],
+ left : margin[3]
+ };
+
+ if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) {
+ rez.position = 'fixed';
+
+ } else if (!current.locked) {
+ rez.top += viewport.y;
+ rez.left += viewport.x;
+ }
+
+ rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio)));
+ rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio)));
+
+ return rez;
+ },
+
+ _afterZoomIn: function () {
+ var current = F.current;
+
+ if (!current) {
+ return;
+ }
+
+ F.isOpen = F.isOpened = true;
+
+ F.wrap.css('overflow', 'visible').addClass('fancybox-opened');
+
+ F.update();
+
+ // Assign a click event
+ if ( current.closeClick || (current.nextClick && F.group.length > 1) ) {
+ F.inner.css('cursor', 'pointer').bind('click.fb', function(e) {
+ if (!$(e.target).is('a') && !$(e.target).parent().is('a')) {
+ e.preventDefault();
+
+ F[ current.closeClick ? 'close' : 'next' ]();
+ }
+ });
+ }
+
+ // Create a close button
+ if (current.closeBtn) {
+ $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) {
+ e.preventDefault();
+
+ F.close();
+ });
+ }
+
+ // Create navigation arrows
+ if (current.arrows && F.group.length > 1) {
+ if (current.loop || current.index > 0) {
+ $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev);
+ }
+
+ if (current.loop || current.index < F.group.length - 1) {
+ $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next);
+ }
+ }
+
+ F.trigger('afterShow');
+
+ // Stop the slideshow if this is the last item
+ if (!current.loop && current.index === current.group.length - 1) {
+ F.play( false );
+
+ } else if (F.opts.autoPlay && !F.player.isActive) {
+ F.opts.autoPlay = false;
+
+ F.play();
+ }
+ },
+
+ _afterZoomOut: function ( obj ) {
+ obj = obj || F.current;
+
+ $('.fancybox-wrap').trigger('onReset').remove();
+
+ $.extend(F, {
+ group : {},
+ opts : {},
+ router : false,
+ current : null,
+ isActive : false,
+ isOpened : false,
+ isOpen : false,
+ isClosing : false,
+ wrap : null,
+ skin : null,
+ outer : null,
+ inner : null
+ });
+
+ F.trigger('afterClose', obj);
+ }
+ });
+
+ /*
+ * Default transitions
+ */
+
+ F.transitions = {
+ getOrigPosition: function () {
+ var current = F.current,
+ element = current.element,
+ orig = current.orig,
+ pos = {},
+ width = 50,
+ height = 50,
+ hPadding = current.hPadding,
+ wPadding = current.wPadding,
+ viewport = F.getViewport();
+
+ if (!orig && current.isDom && element.is(':visible')) {
+ orig = element.find('img:first');
+
+ if (!orig.length) {
+ orig = element;
+ }
+ }
+
+ if (isQuery(orig)) {
+ pos = orig.offset();
+
+ if (orig.is('img')) {
+ width = orig.outerWidth();
+ height = orig.outerHeight();
+ }
+
+ } else {
+ pos.top = viewport.y + (viewport.h - height) * current.topRatio;
+ pos.left = viewport.x + (viewport.w - width) * current.leftRatio;
+ }
+
+ if (F.wrap.css('position') === 'fixed' || current.locked) {
+ pos.top -= viewport.y;
+ pos.left -= viewport.x;
+ }
+
+ pos = {
+ top : getValue(pos.top - hPadding * current.topRatio),
+ left : getValue(pos.left - wPadding * current.leftRatio),
+ width : getValue(width + wPadding),
+ height : getValue(height + hPadding)
+ };
+
+ return pos;
+ },
+
+ step: function (now, fx) {
+ var ratio,
+ padding,
+ value,
+ prop = fx.prop,
+ current = F.current,
+ wrapSpace = current.wrapSpace,
+ skinSpace = current.skinSpace;
+
+ if (prop === 'width' || prop === 'height') {
+ ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start);
+
+ if (F.isClosing) {
+ ratio = 1 - ratio;
+ }
+
+ padding = prop === 'width' ? current.wPadding : current.hPadding;
+ value = now - padding;
+
+ F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) );
+ F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) );
+ }
+ },
+
+ zoomIn: function () {
+ var current = F.current,
+ startPos = current.pos,
+ effect = current.openEffect,
+ elastic = effect === 'elastic',
+ endPos = $.extend({opacity : 1}, startPos);
+
+ // Remove "position" property that breaks older IE
+ delete endPos.position;
+
+ if (elastic) {
+ startPos = this.getOrigPosition();
+
+ if (current.openOpacity) {
+ startPos.opacity = 0.1;
+ }
+
+ } else if (effect === 'fade') {
+ startPos.opacity = 0.1;
+ }
+
+ F.wrap.css(startPos).animate(endPos, {
+ duration : effect === 'none' ? 0 : current.openSpeed,
+ easing : current.openEasing,
+ step : elastic ? this.step : null,
+ complete : F._afterZoomIn
+ });
+ },
+
+ zoomOut: function () {
+ var current = F.current,
+ effect = current.closeEffect,
+ elastic = effect === 'elastic',
+ endPos = {opacity : 0.1};
+
+ if (elastic) {
+ endPos = this.getOrigPosition();
+
+ if (current.closeOpacity) {
+ endPos.opacity = 0.1;
+ }
+ }
+
+ F.wrap.animate(endPos, {
+ duration : effect === 'none' ? 0 : current.closeSpeed,
+ easing : current.closeEasing,
+ step : elastic ? this.step : null,
+ complete : F._afterZoomOut
+ });
+ },
+
+ changeIn: function () {
+ var current = F.current,
+ effect = current.nextEffect,
+ startPos = current.pos,
+ endPos = { opacity : 1 },
+ direction = F.direction,
+ distance = 200,
+ field;
+
+ startPos.opacity = 0.1;
+
+ if (effect === 'elastic') {
+ field = direction === 'down' || direction === 'up' ? 'top' : 'left';
+
+ if (direction === 'down' || direction === 'right') {
+ startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance);
+ endPos[ field ] = '+=' + distance + 'px';
+
+ } else {
+ startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance);
+ endPos[ field ] = '-=' + distance + 'px';
+ }
+ }
+
+ // Workaround for http://bugs.jquery.com/ticket/12273
+ if (effect === 'none') {
+ F._afterZoomIn();
+
+ } else {
+ F.wrap.css(startPos).animate(endPos, {
+ duration : current.nextSpeed,
+ easing : current.nextEasing,
+ complete : F._afterZoomIn
+ });
+ }
+ },
+
+ changeOut: function () {
+ var previous = F.previous,
+ effect = previous.prevEffect,
+ endPos = { opacity : 0.1 },
+ direction = F.direction,
+ distance = 200;
+
+ if (effect === 'elastic') {
+ endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px';
+ }
+
+ previous.wrap.animate(endPos, {
+ duration : effect === 'none' ? 0 : previous.prevSpeed,
+ easing : previous.prevEasing,
+ complete : function () {
+ $(this).trigger('onReset').remove();
+ }
+ });
+ }
+ };
+
+ /*
+ * Overlay helper
+ */
+
+ F.helpers.overlay = {
+ defaults : {
+ closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay
+ speedOut : 200, // duration of fadeOut animation
+ showEarly : true, // indicates if should be opened immediately or wait until the content is ready
+ css : {}, // custom CSS properties
+ locked : !isTouch, // if true, the content will be locked into overlay
+ fixed : true // if false, the overlay CSS position property will not be set to "fixed"
+ },
+
+ overlay : null, // current handle
+ fixed : false, // indicates if the overlay has position "fixed"
+
+ // Public methods
+ create : function(opts) {
+ opts = $.extend({}, this.defaults, opts);
+
+ if (this.overlay) {
+ this.close();
+ }
+
+ this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( 'body' );
+ this.fixed = false;
+
+ if (opts.fixed && F.defaults.fixed) {
+ this.overlay.addClass('fancybox-overlay-fixed');
+
+ this.fixed = true;
+ }
+ },
+
+ open : function(opts) {
+ var that = this;
+
+ opts = $.extend({}, this.defaults, opts);
+
+ if (this.overlay) {
+ this.overlay.unbind('.overlay').width('auto').height('auto');
+
+ } else {
+ this.create(opts);
+ }
+
+ if (!this.fixed) {
+ W.bind('resize.overlay', $.proxy( this.update, this) );
+
+ this.update();
+ }
+
+ if (opts.closeClick) {
+ this.overlay.bind('click.overlay', function(e) {
+ if ($(e.target).hasClass('fancybox-overlay')) {
+ if (F.isActive) {
+ F.close();
+ } else {
+ that.close();
+ }
+ }
+ });
+ }
+
+ this.overlay.css( opts.css ).show();
+ },
+
+ close : function() {
+ $('.fancybox-overlay').remove();
+
+ W.unbind('resize.overlay');
+
+ this.overlay = null;
+
+ if (this.margin !== false) {
+ $('body').css('margin-right', this.margin);
+
+ this.margin = false;
+ }
+
+ if (this.el) {
+ this.el.removeClass('fancybox-lock');
+ }
+ },
+
+ // Private, callbacks
+
+ update : function () {
+ var width = '100%', offsetWidth;
+
+ // Reset width/height so it will not mess
+ this.overlay.width(width).height('100%');
+
+ // jQuery does not return reliable result for IE
+ if (IE) {
+ offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
+
+ if (D.width() > offsetWidth) {
+ width = D.width();
+ }
+
+ } else if (D.width() > W.width()) {
+ width = D.width();
+ }
+
+ this.overlay.width(width).height(D.height());
+ },
+
+ // This is where we can manipulate DOM, because later it would cause iframes to reload
+ onReady : function (opts, obj) {
+ $('.fancybox-overlay').stop(true, true);
+
+ if (!this.overlay) {
+ this.margin = D.height() > W.height() || $('body').css('overflow-y') === 'scroll' ? $('body').css('margin-right') : false;
+ this.el = document.all && !document.querySelector ? $('html') : $('body');
+
+ this.create(opts);
+ }
+
+ if (opts.locked && this.fixed) {
+ obj.locked = this.overlay.append( obj.wrap );
+ obj.fixed = false;
+ }
+
+ if (opts.showEarly === true) {
+ this.beforeShow.apply(this, arguments);
+ }
+ },
+
+ beforeShow : function(opts, obj) {
+ if (obj.locked) {
+ this.el.addClass('fancybox-lock');
+
+ if (this.margin !== false) {
+ $('body').css('margin-right', getScalar( this.margin ) + obj.scrollbarWidth);
+ }
+ }
+
+ this.open(opts);
+ },
+
+ onUpdate : function() {
+ if (!this.fixed) {
+ this.update();
+ }
+ },
+
+ afterClose: function (opts) {
+ // Remove overlay if exists and fancyBox is not opening
+ // (e.g., it is not being open using afterClose callback)
+ if (this.overlay && !F.isActive) {
+ this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this ));
+ }
+ }
+ };
+
+ /*
+ * Title helper
+ */
+
+ F.helpers.title = {
+ defaults : {
+ type : 'float', // 'float', 'inside', 'outside' or 'over',
+ position : 'bottom' // 'top' or 'bottom'
+ },
+
+ beforeShow: function (opts) {
+ var current = F.current,
+ text = current.title,
+ type = opts.type,
+ title,
+ target;
+
+ if ($.isFunction(text)) {
+ text = text.call(current.element, current);
+ }
+
+ if (!isString(text) || $.trim(text) === '') {
+ return;
+ }
+
+ title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap">' + text + '</div>');
+
+ switch (type) {
+ case 'inside':
+ target = F.skin;
+ break;
+
+ case 'outside':
+ target = F.wrap;
+ break;
+
+ case 'over':
+ target = F.inner;
+ break;
+
+ default: // 'float'
+ target = F.skin;
+
+ title.appendTo('body');
+
+ if (IE) {
+ title.width( title.width() );
+ }
+
+ title.wrapInner('<span class="child"></span>');
+
+ //Increase bottom margin so this title will also fit into viewport
+ F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) );
+ break;
+ }
+
+ title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target);
+ }
+ };
+
+ // jQuery plugin initialization
+ $.fn.fancybox = function (options) {
+ var index,
+ that = $(this),
+ selector = this.selector || '',
+ run = function(e) {
+ var what = $(this).blur(), idx = index, relType, relVal;
+
+ if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) {
+ relType = options.groupAttr || 'data-fancybox-group';
+ relVal = what.attr(relType);
+
+ if (!relVal) {
+ relType = 'rel';
+ relVal = what.get(0)[ relType ];
+ }
+
+ if (relVal && relVal !== '' && relVal !== 'nofollow') {
+ what = selector.length ? $(selector) : that;
+ what = what.filter('[' + relType + '="' + relVal + '"]');
+ idx = what.index(this);
+ }
+
+ options.index = idx;
+
+ // Stop an event from bubbling if everything is fine
+ if (F.open(what, options) !== false) {
+ e.preventDefault();
+ }
+ }
+ };
+
+ options = options || {};
+ index = options.index || 0;
+
+ if (!selector || options.live === false) {
+ that.unbind('click.fb-start').bind('click.fb-start', run);
+
+ } else {
+ D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
+ }
+
+ this.filter('[data-fancybox-start=1]').trigger('click');
+
+ return this;
+ };
+
+ // Tests that need a body at doc ready
+ D.ready(function() {
+ if ( $.scrollbarWidth === undefined ) {
+ // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth
+ $.scrollbarWidth = function() {
+ var parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),
+ child = parent.children(),
+ width = child.innerWidth() - child.height( 99 ).innerWidth();
+
+ parent.remove();
+
+ return width;
+ };
+ }
+
+ if ( $.support.fixedPosition === undefined ) {
+ $.support.fixedPosition = (function() {
+ var elem = $('<div style="position:fixed;top:20px;"></div>').appendTo('body'),
+ fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 );
+
+ elem.remove();
+
+ return fixed;
+ }());
+ }
+
+ $.extend(F.defaults, {
+ scrollbarWidth : $.scrollbarWidth(),
+ fixed : $.support.fixedPosition,
+ parent : $('body')
+ });
+ });
+
+}(window, document, jQuery));
\ No newline at end of file
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.js
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_sprite.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_sprite.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_loading.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_loading.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/images/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/images/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_overlay.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/images/fancybox_overlay.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.css
===================================================================
--- branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.css (nonexistent)
+++ branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.css (revision 15893)
@@ -0,0 +1,249 @@
+/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
+.fancybox-wrap,
+.fancybox-skin,
+.fancybox-outer,
+.fancybox-inner,
+.fancybox-image,
+.fancybox-wrap iframe,
+.fancybox-wrap object,
+.fancybox-nav,
+.fancybox-nav span,
+.fancybox-tmp
+{
+ padding: 0;
+ margin: 0;
+ border: 0;
+ outline: none;
+ vertical-align: top;
+}
+
+.fancybox-wrap {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 8020;
+}
+
+.fancybox-skin {
+ position: relative;
+ background: #f9f9f9;
+ color: #444;
+ text-shadow: none;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.fancybox-opened {
+ z-index: 8030;
+}
+
+.fancybox-opened .fancybox-skin {
+ -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+}
+
+.fancybox-outer, .fancybox-inner {
+ position: relative;
+}
+
+.fancybox-inner {
+ overflow: hidden;
+}
+
+.fancybox-type-iframe .fancybox-inner {
+ -webkit-overflow-scrolling: touch;
+}
+
+.fancybox-error {
+ color: #444;
+ font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+ margin: 0;
+ padding: 15px;
+ white-space: nowrap;
+}
+
+.fancybox-image, .fancybox-iframe {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+.fancybox-image {
+ max-width: 100%;
+ max-height: 100%;
+}
+
+#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
+ background-image: url('@templates_base@/platform/inc/jquery/fancybox/images/fancybox_sprite.png');
+}
+
+#fancybox-loading {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-top: -22px;
+ margin-left: -22px;
+ background-position: 0 -108px;
+ opacity: 0.8;
+ cursor: pointer;
+ z-index: 8060;
+}
+
+#fancybox-loading div {
+ width: 44px;
+ height: 44px;
+ background: url('@templates_base@/platform/inc/jquery/fancybox/images/fancybox_loading.gif') center center no-repeat;
+}
+
+.fancybox-close {
+ position: absolute;
+ top: -18px;
+ right: -18px;
+ width: 36px;
+ height: 36px;
+ cursor: pointer;
+ z-index: 8040;
+}
+
+.fancybox-nav {
+ position: absolute;
+ top: 0;
+ width: 40%;
+ height: 100%;
+ cursor: pointer;
+ text-decoration: none;
+ background: transparent url('@templates_base@/platform/inc/jquery/fancybox/images/blank.gif'); /* helps IE */
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ z-index: 8040;
+}
+
+.fancybox-prev {
+ left: 0;
+}
+
+.fancybox-next {
+ right: 0;
+}
+
+.fancybox-nav span {
+ position: absolute;
+ top: 50%;
+ width: 36px;
+ height: 34px;
+ margin-top: -18px;
+ cursor: pointer;
+ z-index: 8040;
+ visibility: hidden;
+}
+
+.fancybox-prev span {
+ left: 10px;
+ background-position: 0 -36px;
+}
+
+.fancybox-next span {
+ right: 10px;
+ background-position: 0 -72px;
+}
+
+.fancybox-nav:hover span {
+ visibility: visible;
+}
+
+.fancybox-tmp {
+ position: absolute;
+ top: -99999px;
+ left: -99999px;
+ visibility: hidden;
+ max-width: 99999px;
+ max-height: 99999px;
+ overflow: visible !important;
+}
+
+/* Overlay helper */
+
+.fancybox-lock {
+ overflow: hidden;
+}
+
+.fancybox-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ overflow: hidden;
+ display: none;
+ z-index: 8010;
+ background: url('@templates_base@/platform/inc/jquery/fancybox/images/fancybox_overlay.png');
+}
+
+.fancybox-overlay-fixed {
+ position: fixed;
+ bottom: 0;
+ right: 0;
+}
+
+.fancybox-lock .fancybox-overlay {
+ overflow: auto;
+ overflow-y: scroll;
+}
+
+/* Title helper */
+
+.fancybox-title {
+ visibility: hidden;
+ font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+ position: relative;
+ text-shadow: none;
+ z-index: 8050;
+}
+
+.fancybox-opened .fancybox-title {
+ visibility: visible;
+}
+
+.fancybox-title-float-wrap {
+ position: absolute;
+ bottom: 0;
+ right: 50%;
+ margin-bottom: -35px;
+ z-index: 8050;
+ text-align: center;
+}
+
+.fancybox-title-float-wrap .child {
+ display: inline-block;
+ margin-right: -100%;
+ padding: 2px 20px;
+ background: transparent; /* Fallback for web browsers that doesn't support RGBa */
+ background: rgba(0, 0, 0, 0.8);
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+ text-shadow: 0 1px 2px #222;
+ color: #FFF;
+ font-weight: bold;
+ line-height: 24px;
+ white-space: nowrap;
+}
+
+.fancybox-title-outside-wrap {
+ position: relative;
+ margin-top: 10px;
+ color: #fff;
+}
+
+.fancybox-title-inside-wrap {
+ padding-top: 10px;
+}
+
+.fancybox-title-over-wrap {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ color: #fff;
+ padding: 10px;
+ background: #000;
+ background: rgba(0, 0, 0, .8);
+}
\ No newline at end of file
Property changes on: branches/1.3.x/platform/inc/jquery/fancybox/jquery.fancybox.css
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/thickbox/loadingAnimation.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/thickbox/loadingAnimation.gif
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.2.1
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/thickbox/images/loadingAnimation.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.3.x/platform/inc/jquery/thickbox/images/loadingAnimation.gif
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.1.2.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.3.x/platform/inc/jquery/thickbox/thickbox.js
===================================================================
--- branches/1.3.x/platform/inc/jquery/thickbox/thickbox.js (revision 15892)
+++ branches/1.3.x/platform/inc/jquery/thickbox/thickbox.js (revision 15893)
@@ -1,467 +1,436 @@
/*
* Thickbox 3.1 - One Box To Rule Them All.
* By Cody Lindley (http://www.codylindley.com)
* Copyright (c) 2007 cody lindley
* Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
// on page load call TB.init
$(document).ready(
function() {
// pass where to apply thickbox
TB.init('a.thickbox, area.thickbox, input.thickbox');
// preload image
TB.imgLoader = new Image();
- TB.imgLoader.src = inportalBase + 'inc/jquery/thickbox/loadingAnimation.gif';
+ TB.imgLoader.src = inportalBase + 'inc/jquery/thickbox/images/loadingAnimation.gif';
}
);
function TB () {
this.imgLoader = null;
- this.pathToImage = inportalBase + 'inc/jquery/thickbox/loadingAnimation.gif';
+ this.pathToImage = inportalBase + 'inc/jquery/thickbox/images/loadingAnimation.gif';
this.Width = null;
this.Height = null;
}
//add thickbox to href & area elements that have a class of .thickbox
TB.init = function (domChunk) {
$(domChunk).click(
function() {
var t = this.title || this.name || null;
var a = this.href || this.alt;
var g = this.rel || false;
TB.show( {caption: t, url: a, imageGroup: g} );
this.blur();
return false;
}
);
}
// function called when the user clicks on a thickbox link
TB.show = function (params) {
// caption, url, imageGroup, onDataReceived, onAfterShow, postParams
try {
if (typeof document.body.style.maxHeight === 'undefined') {
// if IE 6
$('body', 'html').css( {height: '100%', width: '100%'} );
$('html').css('overflow', 'hidden');
if (document.getElementById('TB_HideSelect') === null) {
// iframe to hide select elements in ie6
$('body').append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
$('#TB_overlay').click(TB.remove);
}
} else {
// all others
if (document.getElementById('TB_overlay') === null) {
$('body').append("<div id='TB_overlay'></div><div id='TB_window'></div>");
$('#TB_overlay').click(TB.remove);
}
}
- if (TB.detectMacXFF()) {
- $('#TB_overlay').addClass('TB_overlayMacFFBGHack'); // use png overlay so hide flash
- } else {
- $('#TB_overlay').addClass('TB_overlayBG'); // use background and opacity
- }
+ $('#TB_overlay').addClass('TB_overlayBG'); // use background and opacity
if (params.caption === null) {
params.caption = '';
}
$('body').append("<div id='TB_load'><img src='" + TB.imgLoader.src + "' /></div>"); // add loader to the page
$('#TB_load').show(); // show loader
var baseURL;
if (params.url.indexOf('?') !== -1) {
// ff there is a query string involved
baseURL = params.url.substr(0, params.url.indexOf('?'));
} else {
baseURL = params.url;
}
var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
var url_params = {};
if ( baseURL.toLowerCase().match(urlString) ) {
TB.processImages(params, urlString);
} else {
var queryString = params.url.replace(/^[^\?]+\??/,'');
url_params = TB.parseQuery(queryString);
TB.processDialog(params, url_params);
}
if (url_params['modal'] != 'true') {
$(document).bind(
'keyup',
function(e){
if (e.which == 27){
// close
TB.remove();
}
}
);
}
} catch(e) {
//nothing here
}
}
// helper functions below
TB.processImages = function (params, urlString) {
// code to show images
var TB_PrevCaption = '';
var TB_PrevURL = '';
var TB_PrevHTML = '';
var TB_NextCaption = '';
var TB_NextURL = '';
var TB_NextHTML = '';
var TB_imageCount = '';
var TB_FoundURL = false;
if (params.imageGroup) {
// scan images in group to create Prev/Next links
var TB_TempArray = $('a[rel=' + params.imageGroup + ']').get();
for (var TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === '')); TB_Counter++) {
var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
if (!(TB_TempArray[TB_Counter].href == params.url)) {
if (TB_FoundURL) {
TB_NextCaption = TB_TempArray[TB_Counter].title;
TB_NextURL = TB_TempArray[TB_Counter].href;
TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
} else {
TB_PrevCaption = TB_TempArray[TB_Counter].title;
TB_PrevURL = TB_TempArray[TB_Counter].href;
TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
}
} else {
TB_FoundURL = true;
TB_imageCount = 'Image ' + (TB_Counter + 1) + ' of ' + TB_TempArray.length;
}
}
}
var imgPreloader = new Image();
$(imgPreloader).bind(
'load',
function() {
$(this).unbind('load');
var $image_size = TB.scaleImage.call(TB, this);
TB.Width = $image_size.width + 30;
TB.Height = $image_size.height + 60;
$('#TB_window').append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='" + params.url + "' width='" + $image_size.width + "' height='" + $image_size.height + "' alt='" + params.caption + "'/></a>" + "<div id='TB_caption'>" + params.caption + "<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");
$('#TB_closeWindowButton').click(TB.remove);
if (TB_PrevHTML !== '') {
function goPrev() {
$('#TB_window').remove();
$('body').append("<div id='TB_window'></div>");
TB.show( {caption: TB_PrevCaption, url: TB_PrevURL, imageGroup: params.imageGroup} );
return false;
}
$('#TB_prev').click(goPrev);
}
if (TB_NextHTML !== '') {
function goNext() {
$('#TB_window').remove();
$('body').append("<div id='TB_window'></div>");
TB.show( {caption: TB_NextCaption, url: TB_NextURL, imageGroup: params.imageGroup} );
return false;
}
$('#TB_next').click(goNext);
}
$(document).bind(
'keydown',
function(e) {
var keycode = e.which;
if (keycode == 27) { // close
TB.remove();
} else if (keycode == 190) {
// display previous image
if (TB_NextHTML != '') {
$(this).unbind('keydown');
goNext();
}
} else if (keycode == 188) {
// display next image
if(TB_PrevHTML != ''){
$(this).unbind('keydown');
goPrev();
}
}
}
);
// show image after it's loaded
TB.position();
$('#TB_load').remove();
$('#TB_ImageOff').click(TB.remove);
$('#TB_window').css('display', 'block'); // for safari using css instead of show
}
);
imgPreloader.src = params.url;
}
TB.scaleImage = function ($image) {
// resizing large images - orginal by Christian Montoya edited by me
var pagesize = TB.getPageSize();
var x = pagesize[0] - 150;
var y = pagesize[1] - 150;
var imageWidth = $image.width;
var imageHeight = $image.height;
if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
}
} else if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
}
}
return {width: imageWidth, height: imageHeight};
}
TB.processDialog = function (params, url_params) {
// code to show html
// window size is global
TB.Width = (url_params['width'] * 1) + 30 || 630; // defaults to 630 if no paramaters were added to URL
TB.Height = (url_params['height'] * 1) + 40 || 440; // defaults to 440 if no paramaters were added to URL
var ajaxContentW = TB.Width - 30;
var ajaxContentH = TB.Height - 45;
if (params.url.indexOf('TB_iframe') != -1) {
// either iframe or ajax window
urlNoQuery = params.url.split('TB_');
$('#TB_iframeContent').remove();
if (url_params['modal'] != 'true') {
// iframe no modal
$('#TB_window').append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>" + params.caption + "</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='" + urlNoQuery[0] + "' id='TB_iframeContent' name='TB_iframeContent" + Math.round(Math.random() * 1000) + "' onload='TB.showIframe()' style='width:" + (ajaxContentW + 29) + "px;height:" + (ajaxContentH + 17) + "px;' > </iframe>");
}else{
// iframe modal
$('#TB_overlay').unbind();
$('#TB_window').append("<iframe frameborder='0' hspace='0' src='" + urlNoQuery[0] + "' id='TB_iframeContent' name='TB_iframeContent" + Math.round(Math.random() * 1000) + "' onload='TB.showIframe()' style='width:" + (ajaxContentW + 29) + "px;height:" + (ajaxContentH + 17) + "px;'> </iframe>");
}
} else {
// not an iframe, ajax
if ($('#TB_window').css('display') != 'block') {
if (url_params['modal'] != 'true') {
// ajax no modal
$('#TB_window').append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>" + params.caption + "</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:" + ajaxContentW + "px;height:" + ajaxContentH + "px'></div>");
} else {
// ajax modal
$('#TB_overlay').unbind();
$('#TB_window').append("<div id='TB_ajaxContent' class='TB_modal' style='width:" + ajaxContentW + "px;height:" + ajaxContentH + "px;'></div>");
}
} else {
// this means the window is already up, we are just loading new content via ajax
$('#TB_ajaxContent')[0].style.width = ajaxContentW + 'px';
$('#TB_ajaxContent')[0].style.height = ajaxContentH + 'px';
$('#TB_ajaxContent')[0].scrollTop = 0;
$('#TB_ajaxWindowTitle').html(params.caption);
}
}
$('#TB_closeWindowButton').click(TB.remove);
if (params.url.indexOf('TB_inline') != -1) {
$('#TB_ajaxContent').html( $('#' + url_params['inlineId']).html() );
$('#TB_window').unload(
function () {
// move elements back when you're finished
$('#' + url_params['inlineId']).html( $('#TB_ajaxContent').html() );
}
);
TB.position();
$('#TB_load').remove();
$('#TB_window').css('display', 'block');
} else if (params.url.indexOf('TB_iframe') != -1) {
TB.position();
- if ($.browser.safari) {
+ /*if ($.browser.safari) {
// safari needs help because it will not fire iframe onload
$('#TB_load').remove();
$('#TB_window').css('display', 'block');
- }
+ }*/
} else {
var $content_url = params.url + '&random=' + (new Date().getTime());
if (params.postParams === undefined) {
$.get(
$content_url,
function ($data) {
TB.onDataReceived($data, params);
}
);
}
else {
$.post(
$content_url,
params.postParams,
function ($data) {
TB.onDataReceived($data, params);
}
);
}
-
- /*$('#TB_ajaxContent').load(
- params.url += '&random=' + (new Date().getTime()),
- params.postParams,
- function() {
- //to do a post change this load method
- TB.position();
- $('#TB_load').remove();
- TB.init('#TB_ajaxContent a.thickbox');
- $('#TB_window').css('display', 'block');
-
- if ( $.isFunction(params.showCallback) ) {
- params.showCallback();
- }
- }
- );*/
}
}
TB.parseRedirect = function ($data) {
var $match_redirect = new RegExp('^#redirect#(.*?)($|\\s.*)').exec($data);
if ($match_redirect != null) {
// redirect to external template requested
return $match_redirect[1];
}
return false;
}
TB.onDataReceived = function ($data, $params) {
if ( $.isFunction($params.onDataReceived) ) {
$data = $params.onDataReceived($data);
if ($data === false) {
// this callback even could prevent redirect action
// callback requested to stop processing
return ;
}
}
var $redirect = TB.parseRedirect($data);
if ($redirect !== false) {
window.location.href = $redirect;
return ;
}
$('#TB_ajaxContent').html($data);
TB.position();
$('#TB_load').remove();
TB.init('#TB_ajaxContent a.thickbox');
$('#TB_window').css('display', 'block');
if ( $.isFunction($params.onAfterShow) ) {
$params.onAfterShow();
}
}
TB.showIframe = function () {
$('#TB_load').remove();
$('#TB_window').css('display', 'block');
}
TB.remove = function () {
$('#TB_imageOff').unbind('click');
$('#TB_closeWindowButton').unbind('click');
$('#TB_window').fadeOut(
'fast',
function(){
- $('#TB_window,#TB_overlay,#TB_HideSelect').trigger('unload').unbind().remove();
+ $('#TB_window,#TB_overlay,#TB_HideSelect')/*.trigger('unload')*/.unbind().remove();
}
);
$('#TB_load').remove();
if (typeof document.body.style.maxHeight == 'undefined') {
// if IE 6
$('body','html').css( {height: 'auto', width: 'auto'} );
$('html').css('overflow', '');
}
$(document).unbind('keydown').unbind('keyup');
return false;
}
TB.position = function () {
$('#TB_window').css( {marginLeft: '-' + parseInt((TB.Width / 2), 10) + 'px', width: TB.Width + 'px'} );
if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) {
// take away IE6
$('#TB_window').css( {marginTop: '-' + parseInt((TB.Height / 2), 10) + 'px'} );
}
}
TB.parseQuery = function (query) {
var Params = {};
if (!query) {
// return empty object
return Params;
}
var Pairs = query.split(/[;&]/);
for (var i = 0; i < Pairs.length; i++ ) {
var KeyVal = Pairs[i].split('=');
if (!KeyVal || KeyVal.length != 2) {
continue;
}
var key = unescape( KeyVal[0] );
var val = unescape( KeyVal[1] );
val = val.replace(/\+/g, ' ');
Params[key] = val;
}
return Params;
}
TB.getPageSize = function () {
var de = document.documentElement;
var w = window.innerWidth || self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
var h = window.innerHeight || self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
return [w, h];
}
-
-TB.detectMacXFF = function () {
- var userAgent = navigator.userAgent.toLowerCase();
- if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox') != -1) {
- return true;
- }
-
- return false;
-}
-
-
Index: branches/1.3.x/platform/inc/form_manager.js
===================================================================
--- branches/1.3.x/platform/inc/form_manager.js (revision 15892)
+++ branches/1.3.x/platform/inc/form_manager.js (revision 15893)
@@ -1,544 +1,866 @@
function FormManager() { }
FormManager.init = function ($settings) {
$.ajaxSetup( {cache: false} );
this.url = '';
this.fieldMask = '#PREFIX#[#ID#][#FIELD_NAME#]';
this.noErrorsHTML = '';
this.checkTimeout = 1000;
this.pendingChecks = {};
this.fields = {};
this.errors = {};
this.fieldTypes = {};
this.forms = {};
this.fieldWatermarks = {};
this.xhrRequests = [];
+ this.windowScope = 'a.form-manager-window, area.form-manager-window, input.form-manager-window';
+ this.windowManager = undefined;
$.extend(this, $settings);
-}
+
+ if ( this.windowManager === undefined ) {
+ this.windowManager = new FormManager_WindowManagerExample();
+ }
+
+ $(document).ready(function () {
+ FormManager.windowManager.init(FormManager.windowScope);
+
+ $(document).on('FormManager.WindowManager.Ready', function ($e) {
+ $(FormManager.windowManager.getContentSelector()).scrollTop(0);
+ });
+ });
+};
FormManager.resetFields = function ($prefix) {
this.fields[$prefix] = [];
-}
+};
FormManager.registerField = function ($prefix, $field, $watermark, $field_type) {
// fields are registered before form -> store them in separate array
if (!this.fields[$prefix]) {
this.fields[$prefix] = [];
}
if ($watermark === undefined) {
$watermark = '';
}
this.fieldWatermarks[$prefix + '_' + $field] = $watermark;
this.fields[$prefix].push($field);
if ($field_type !== undefined) {
this.fieldTypes[$prefix + '_' + $field] = $field_type;
}
-}
+};
FormManager.unregisterField = function ($prefix, $field) {
var $field_index = array_search($field, this.fields[$prefix]);
this.fields[$prefix].splice($field_index, 1);
delete this.fieldWatermarks[$prefix + '_' + $field];
delete this.fieldTypes[$prefix + '_' + $field];
-}
-
+};
FormManager.getFieldMask = function ($prefix) {
return this.fieldMask.replace('#PREFIX#', $prefix).replace('#ID#', this.form_param($prefix, 'id'));
-}
+};
FormManager.getField = function ($prefix, $field, $prepend, $append) {
if ($prepend === undefined) {
$prepend = '';
}
if ($append === undefined) {
$append = '';
}
var $control_id = this.getFieldMask($prefix).replace('#FIELD_NAME#', $field);
return document.getElementById($prepend + $control_id + $append);
-}
+};
FormManager.getBlurFields = function ($prefix, $field) {
var $field_mask = this.getFieldMask($prefix);
switch ( this.fieldTypes[$prefix + '_' + $field] ) {
case 'swf_upload':
return this.getField($prefix, $field, undefined, '[json]');
break;
case 'date':
$field += '_date';
break;
case 'radio':
return $("input[name='" + jq($field_mask.replace('#FIELD_NAME#', $field)) + "']");
break;
case 'checkbox':
return get_control($field_mask, $field, undefined, '_cb');
break;
case 'checkboxes':
return $("input[id^='" + jq($field_mask.replace('#FIELD_NAME#', $field)) + "_']");
break;
case 'cc_expiration':
return $('select', this.getCell($prefix, $field, 'field'));
break;
}
return this.getField($prefix, $field);
-}
+};
FormManager.registerForm = function ($settings) {
var $defaults = {
url: false, // url for form submission
template: '', // template to use instead of empty string
prefix: '', // unit prefix, used in the form
enabled: true, // form submit enabled
enabledTimer: null, // timer that performs form-resubmit countdown
save_event: '', // event to use for form data processing
id: 0, // id of item being add/edited on a form
form_id: '', // form id to work with
before_close: '', // before window close callback
validation_failure: '', // on validate failure callback
- immediate_validation: true // perfom validation on blur
- }
+ immediate_validation: true // perform validation on blur
+ };
this.forms[$settings.prefix] = {};
$.extend(this.forms[$settings.prefix], $defaults, $settings);
- // when form is registred, then all it's fields should also be registred
+ $(document).trigger('FormManager.Form.Ready', [$settings.prefix]);
+
+ // when form is registered, then all it's fields should also be registered
if ( !this.form_param($settings.prefix, 'immediate_validation') ) {
return ;
}
var $me = this;
$( this.fields[$settings.prefix] ).each(
function () {
var $blur_fields = $( $me.getBlurFields($settings.prefix, this) ),
$event_name = $blur_fields.length == 1 ? 'blur' : 'click';
$blur_fields[$event_name](
function ($e) {
$me.checkField(this);
}
);
}
);
for (var $error_field in this.errors[$settings.prefix]) {
this.setFieldStatus($settings.prefix, $error_field, this.errors[$settings.prefix][$error_field]);
}
-}
+};
FormManager.getURL = function ($prefix, $template, $event, $params) {
- var $url = this.form_param($prefix, 'url');
-
- if (!$url) {
- $url = this.url;
- }
+ var $url = this.getUrlMask($prefix);
if ($template === undefined) {
$template = this.form_param($prefix, 'template');
}
$url = $url.replace('#TEMPLATE#', $template);
if ($event !== undefined) {
$url += ($url.indexOf('?') == -1 ? '?' : '&') + 'events[' + $prefix + ']=' + $event;
}
if ( typeof($params) == 'object' ) {
for (key in $params) {
$url += ($url.indexOf('?') == -1 ? '?' : '&') + key + '=' + $params[key];
}
}
return $url;
-}
+};
+
+FormManager.getUrlMask = function ($prefix) {
+ // 1. look in form config
+ var $url = this.form_param($prefix, 'url');
+
+ if ( !$url ) {
+ // 2. look at 'action' attribute of a form
+ $url = this.getForm($prefix).attr('action');
+ }
+
+ if ( !$url ) {
+ // 3. use global fallback url
+ $url = this.url;
+ }
+
+ return $url;
+};
FormManager.processResponse = function ($prefix, $data, $add_params) {
// enable form back
// alert('enabling for for [' + $prefix + '] in processResponse');
if ( $add_params !== undefined ) {
$add_params.response = $data;
}
else {
$add_params = {response: $data};
}
this.clearErrors($prefix);
+ this.processUploadFields($prefix, $data);
if ($data.status == 'OK') {
var $next_template = this.getNextTemplate($prefix, $data);
if ( $next_template || $data.do_refresh || $data.redirect_to ) {
var $before_close = this.getFormParamOverride($prefix, 'before_close', $add_params);
if ( $.isFunction($before_close) ) {
$before_close.call(this, $data, $add_params);
}
if ( $next_template ) {
// load another template instead of current form
- $('#TB_ajaxContent').html('').load( this.getURL($prefix, $next_template, undefined, $data.params) );
+ $(this.windowManager.getContentSelector())
+ .html('')
+ .load(this.getURL($prefix, $next_template, undefined, $data.params), function () {
+ $(document).trigger('FormManager.WindowManager.Ready');
+ });
}
else if ( $data.do_refresh ) {
// refresh whole page
- window.location.href = window.location.href;
+ window.location.reload(true);
}
else if ( $data.redirect_to ) {
// redirect to given page
- window.location.href = $data.redirect_to;
+ window.location.assign($data.redirect_to);
}
}
else {
// close form without refreshing the page
this.closeForm($prefix, $data, $add_params);
}
}
else {
// set new errors
for ($field in $data.field_errors) {
this.setFieldStatus($prefix, $field, $data.field_errors[$field]);
}
var $validation_failure = this.form_param($prefix, 'validation_failure');
if ( $.isFunction($validation_failure) ) {
$validation_failure.call(this, $data, $add_params);
}
}
this.enableForm($prefix, true);
// var $me = this;
// setTimeout(function () { $me.enableForm($prefix, true); }, 1000);
-}
+};
/**
* Clear errors from all from fields
*
* @param $prefix
*/
FormManager.clearErrors = function ($prefix) {
var $fields = this.fields[$prefix];
if (typeof($fields) == 'undefined') {
$fields = [];
}
this.errors[$prefix] = {};
for (var $i = 0; $i < $fields.length; $i++) {
this.setFieldStatus($prefix, $fields[$i]);
}
-}
+};
FormManager.getNextTemplate = function ($prefix, $responce) {
if ( $responce.next_template && $responce.next_template != '' ) {
return $responce.next_template;
}
else if ( this.form_param($prefix, 'next_template') ) {
return this.form_param($prefix, 'next_template');
}
return false;
-}
+};
FormManager.getCell = function ($prefix, $field_name, $cell_type) {
$field_name = $field_name.replace(/_(date|time)$/, '');
return this.getField($prefix, $field_name, undefined, '_' + $cell_type + '_cell');
-}
+};
FormManager.setFieldStatus = function ($prefix, $field_name, $error_msg) {
- var field_cell = this.getCell($prefix, $field_name, 'field');
- var status_cell = this.getCell($prefix, $field_name, 'status');
+ var field_cell = $(this.getCell($prefix, $field_name, 'field'));
+ var status_cell = $(this.getCell($prefix, $field_name, 'status'));
if ( $error_msg === undefined || !$error_msg ) {
$error_msg = '';
}
- if ( !field_cell ) {
+ if ( field_cell.length == 0 ) {
if (!this.errors[$prefix]) {
this.errors[$prefix] = {};
}
this.errors[$prefix][$field_name] = $error_msg;
/*if(typeof console === 'object') {
console.log('FormManager: Error field "' + $field_name + '" missing.');
}*/
return ;
}
if ($error_msg === undefined || !$error_msg) {
// show OK
- $(field_cell).parents('tr:first').removeClass('error').addClass('ok');
- $(status_cell).removeClass('field-error').html(this.noErrorsHTML);
+ field_cell.parents('tr:first').removeClass('error').addClass('ok');
+ status_cell.removeClass('field-error').html(this.noErrorsHTML);
var $fields = this.fields[$prefix];
for (var $i = 0; $i < $fields.length; $i++) {
if ( this.fieldHasError($prefix, $fields[$i]) ) {
return ;
}
}
}
else {
// show error message
- $(field_cell).parents('tr:first').removeClass('ok').addClass('error');
- $(status_cell).addClass('field-error').html($error_msg);
+ field_cell.parents('tr:first').removeClass('ok').addClass('error');
+ status_cell.addClass('field-error').html($error_msg);
}
-}
+};
FormManager.fieldHasError = function ($prefix, $field) {
var status_cell = this.getField($prefix, $field, undefined, '_status_cell');
return $.trim( $(status_cell).html() ) != $.trim( this.noErrorsHTML );
-}
+};
FormManager.checkField = function ($input, $delayed) {
if ( !$input.id.match(/^(.*?)\[.*?\]\[(.*?)\].*?$/) ) {
return ;
}
var $prefix = RegExp.$1;
var $field = RegExp.$2.replace(/(_date|_time)$/, '');
if ( $field.match(/(.*)(Month|Year)$/) && this.fieldTypes[$prefix + '_' + RegExp.$1 + 'Date'] == 'cc_expiration' ) {
$field = RegExp.$1 + 'Date';
}
if ( this.pendingChecks[$field] ) {
clearTimeout( this.pendingChecks[$field] );
delete this.pendingChecks[$field];
}
var $me = this;
this.pendingChecks[$field] = setTimeout(
function () {
$me.validateField($prefix, $field, $input)
},
($delayed === true ? this.checkTimeout : 0)
);
-}
+};
FormManager.validateField = function ($prefix, $field, $input) {
var $me = this;
var $request = $.post(
this.getURL($prefix, undefined, 'OnValidateField') + '&field=' + encodeURIComponent($field) + '&' + $input.name + '=' + encodeURIComponent($input.value),
this._getFormFields($prefix),
function ($data) {
$data = eval('(' + $data + ')');
$me.setFieldStatus($prefix, $field, $data.status == 'OK' ? undefined : $data.status);
+ $me.processUploadFields($prefix, $data);
// show/hide general error notice
$('#' + $prefix + '_error_message').toggle(!$.isArray($data.other_errors));
}
);
this.xhrRequests.push($request);
};
+FormManager.processUploadFields = function ($prefix, $response) {
+ if ( $response['uploader_info'] === undefined || $.isArray($response['uploader_info']) ) {
+ // no data (event don't support that) OR empty array (no uploader fields on form)
+ return;
+ }
+
+ var $field_mask = this.getFieldMask($prefix);
+
+ $.each($response['uploader_info'], function ($field_name, $field_data) {
+ var $uploader_id = $field_mask.replace('#FIELD_NAME#', $field_name);
+
+ $(document).trigger('UploadsManager.Uploader.' + crc32($uploader_id), ['refreshQueue', $field_data]);
+ });
+};
+
FormManager.form_param = function ($prefix, $param, $value) {
if ( this.forms[$prefix] === undefined ) {
return '';
}
if ($value === undefined) {
return this.forms[$prefix][$param];
}
this.forms[$prefix][$param] = $value;
-}
+};
FormManager.getFormParamOverride = function ($prefix, $param, $overrides) {
if ( $overrides[$param] !== undefined ) {
return $overrides[$param];
}
return this.form_param($prefix, $param);
-}
+};
/* === related to form opening/closing/submitting === */
FormManager.openForm = function ($prefix, $template, $width, $height, $source_form, $params) {
var $url = this.getURL($prefix, $template, undefined, $params);
- $url += ($url.indexOf('?') == -1 ? '?' : '&') + 'width=' + $width + '&height=' + $height + '&modal=true';
-
- var $tb_settings = {url: $url};
-
- if ($source_form !== undefined) {
- $tb_settings.postParams = $($source_form).serialize();
- }
-
- TB.show($tb_settings);
-}
+ this.windowManager.open($url, $width, $height, $source_form);
+};
FormManager.validateAll = function ($prefix, $status) {
var $fields = this.fields[$prefix];
for (var $i = 0; $i < $fields.length; $i++) {
this.setFieldStatus($prefix, $fields[$i], $status);
}
-}
+};
FormManager.closeForm = function ($prefix, $data, $add_params) {
if ( $data === undefined ) {
$data = {};
}
if ( $add_params === undefined ) {
$add_params = {};
}
var $before_close = this.getFormParamOverride($prefix, 'before_close', $add_params);
this.cancelXHRRequests();
this.validateAll($prefix);
if ( $.isFunction($before_close) ) {
var $result = $before_close.call(this, $data, $add_params);
if ($result === false) {
return;
}
}
- TB.remove();
-}
+ this.windowManager.close();
+};
FormManager._getFormFields = function ($prefix) {
var $old_values = {},
$fields = this.fields[$prefix];
if (typeof($fields) == 'undefined') {
$fields = [];
}
// remove watermarks from input fields
for (var $i = 0; $i < $fields.length; $i++) {
var $control = this.getField($prefix, $fields[$i]),
$watermark = this.fieldWatermarks[ $prefix + '_' + $fields[$i] ];
if ( $control ) {
$old_values[$fields[$i]] = $control.value;
if ( $watermark !== undefined && $control.value == $watermark ) {
$control.value = '';
}
}
}
- var form = document.getElementById( this.form_param($prefix, 'form_id')),
- $form_fields = $(form).serialize();
+ var $form_fields = this.getForm($prefix).serialize();
// restore original values into input fields
for (var $i = 0; $i < $fields.length; $i++) {
var $control = this.getField($prefix, $fields[$i]);
if ( $control ) {
$control.value = $old_values[$fields[$i]];
}
}
return $form_fields;
-}
+};
+
+FormManager.getForm = function ($prefix) {
+ var $form_id = this.form_param($prefix, 'form_id');
+
+ return $('#' + jq($form_id));
+};
FormManager.enableForm = function ($prefix, $enabled) {
if ($enabled === undefined) {
$enabled = true;
}
if ($enabled) {
clearTimeout( this.form_param($prefix, 'enabledTimer') );
this.form_param($prefix, 'enabledTimer', null);
}
else {
var $me = this;
// set timer for 10 seconds to enable form back (just in case if ajax responce fails)
var $timer = setTimeout(
function () {
// alert('enabling for for [' + $prefix + '] in setTimeout');
$me.enableForm($prefix, true);
}
, 10000
);
this.form_param($prefix, 'enabledTimer', $timer);
}
this.form_param($prefix, 'enabled', $enabled);
-}
+};
FormManager.cancelXHRRequests = function () {
while ( this.xhrRequests.length > 0 ) {
this.xhrRequests.shift().abort();
}
-}
+};
FormManager.submitForm = function ($prefix, $add_params) {
if ( !this.form_param($prefix, 'enabled') ) {
return ;
}
// disable form
this.enableForm($prefix, false);
var $me = this;
this.cancelXHRRequests();
$.post(
this.getURL( $prefix, undefined, this.form_param($prefix, 'save_event') ),
this._getFormFields($prefix),
function ($data) {
- var $redirect = TB.parseRedirect($data);
+ var $redirect = FormManager.parseRedirect($data);
if ( $redirect !== false ) {
window.location.href = $redirect;
return ;
}
$me.processResponse($prefix, eval('(' + $data + ')'), $add_params);
}
)
-}
+};
FormManager.beforeClose = function () {
this.cancelXHRRequests();
for (var $prefix in this.forms) {
var $before_close = this.form_param($prefix, 'before_close');
this.clearErrors($prefix);
if ( $.isFunction($before_close) ) {
$before_close.call(this, {}, {});
}
}
+};
+
+FormManager.parseRedirect = function ($data) {
+ var $match_redirect = new RegExp('^#redirect#(.*?)($|\\s.*)').exec($data);
+
+ if ( $match_redirect != null ) {
+ // redirect to external template requested
+ return $match_redirect[1];
+ }
+
+ return false;
+};
+
+FormManager.parseQueryString = function ($url) {
+ var $query_string = {};
+
+ $url.replace(
+ new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
+ function($0, $1, $2, $3) {
+ $query_string[$1] = decodeURIComponent($3);
+ }
+ );
+
+ return $query_string;
+};
+
+/* ==================================================================== */
+
+function FormManager_WindowManagerExample() {
+
}
+
+FormManager_WindowManagerExample.prototype.init = function ($window_scope, $context) {
+ throw 'FormManager_WindowManagerExample: Please use other window manager.';
+};
+
+FormManager_WindowManagerExample.prototype.open = function ($url, $width, $height, $source_form) {
+
+};
+
+FormManager_WindowManagerExample.prototype.getDefaultOptions = function ($url, $width, $height) {
+
+};
+
+FormManager_WindowManagerExample.prototype.close = function () {
+
+};
+
+FormManager_WindowManagerExample.prototype.getContentSelector = function () {
+
+};
+
+/* ==================================================================== */
+
+function FormManager_WindowManagerThickBox() {
+ this.lastWindowScope = '';
+}
+
+FormManager_WindowManagerThickBox.prototype.init = function ($window_scope, $context) {
+ var $me = this;
+
+ $(this.getWindowScope($window_scope), $context).click(function ($e) {
+ var $options = $me.getDefaultOptions(this.href || this.alt);
+
+ $.extend($options, {
+ caption: this.title || this.name || null,
+ imageGroup: this.rel || false
+ });
+
+ TB.show($options);
+ this.blur();
+
+ $e.preventDefault();
+ });
+};
+
+FormManager_WindowManagerThickBox.prototype.getWindowScope = function ($window_scope) {
+ if ( $window_scope !== undefined ) {
+ this.lastWindowScope = $window_scope;
+
+ return $window_scope;
+ }
+
+ return this.lastWindowScope;
+};
+
+FormManager_WindowManagerThickBox.prototype.open = function ($url, $width, $height, $source_form) {
+ $url += ($url.indexOf('?') == -1 ? '?' : '&') + 'width=' + $width + '&height=' + $height + '&modal=true';
+
+ var $options = this.getDefaultOptions($url, $width, $height);
+
+ if ( $source_form !== undefined ) {
+ $options.postParams = $($source_form).serialize();
+ }
+
+ TB.show($options);
+};
+
+FormManager_WindowManagerThickBox.prototype.getDefaultOptions = function ($url, $width, $height) {
+ var $me = this;
+
+ return {
+ url: $url,
+ onAfterShow: function () {
+ $me.init(undefined, $me.getContentSelector());
+
+ // document.ready equivalent for ajax loaded windows
+ $(document).trigger('FormManager.WindowManager.Ready');
+ }
+ };
+};
+
+FormManager_WindowManagerThickBox.prototype.close = function () {
+ TB.remove();
+};
+
+FormManager_WindowManagerThickBox.prototype.getContentSelector = function () {
+ return '#TB_ajaxContent';
+};
+
+/* ==================================================================== */
+
+function FormManager_WindowManagerColorBox() {
+ this.lastWindowScope = '';
+}
+
+FormManager_WindowManagerColorBox.prototype.init = function ($window_scope, $context) {
+ var $me = this;
+
+ $(this.getWindowScope($window_scope), $context).each(function () {
+ var $url = this.href || this.alt,
+ $query_string = FormManager.parseQueryString($url),
+ $options = $me.getDefaultOptions(
+ this.href || this.alt,
+ $query_string['width'] !== undefined ? $query_string['width'] : false,
+ $query_string['height'] !== undefined ? $query_string['height'] : false
+ );
+
+ $.extend($options, {
+ title: this.title || this.name || false
+ });
+
+ $(this).colorbox($options);
+ });
+};
+
+FormManager_WindowManagerColorBox.prototype.getWindowScope = function ($window_scope) {
+ if ( $window_scope !== undefined ) {
+ this.lastWindowScope = $window_scope;
+
+ return $window_scope;
+ }
+
+ return this.lastWindowScope;
+};
+
+FormManager_WindowManagerColorBox.prototype.open = function ($url, $width, $height, $source_form) {
+ var $options = this.getDefaultOptions($url, $width, $height);
+
+ $.extend($options, {
+ // modal analog
+ escKey: false,
+ overlayClose: false
+ });
+
+ if ( $source_form !== undefined ) {
+ $options.data = $($source_form).serialize();
+ }
+
+ $.colorbox($options);
+};
+
+FormManager_WindowManagerColorBox.prototype.getDefaultOptions = function ($url, $width, $height) {
+ var $me = this;
+
+ return {
+ href: $url,
+
+ innerWidth: $width,
+ innerHeight: $height,
+
+ onComplete: function () {
+ $me.init(undefined, $me.getContentSelector());
+
+ // document.ready equivalent for ajax loaded windows
+ $(document).trigger('FormManager.WindowManager.Ready');
+ }
+ };
+};
+
+FormManager_WindowManagerColorBox.prototype.close = function () {
+ $.colorbox.close();
+};
+
+FormManager_WindowManagerColorBox.prototype.getContentSelector = function () {
+ return '#cboxLoadedContent';
+};
+
+/* ==================================================================== */
+
+function FormManager_WindowManagerFancyBox() {
+ this.lastWindowScope = '';
+}
+
+FormManager_WindowManagerFancyBox.prototype.init = function ($window_scope, $context) {
+ var $me = this;
+
+ $(this.getWindowScope($window_scope), $context).each(function () {
+ var $url = this.href || this.alt,
+ $query_string = FormManager.parseQueryString($url),
+ $options = $me.getDefaultOptions(
+ $url,
+ $query_string['width'] !== undefined ? $query_string['width'] : false,
+ $query_string['height'] !== undefined ? $query_string['height'] : false
+ );
+
+ $.extend($options, {
+ title: this.title || this.name || false
+ });
+
+ $(this).fancybox($options);
+ });
+};
+
+FormManager_WindowManagerFancyBox.prototype.getWindowScope = function ($window_scope) {
+ if ( $window_scope !== undefined ) {
+ this.lastWindowScope = $window_scope;
+
+ return $window_scope;
+ }
+
+ return this.lastWindowScope;
+};
+
+FormManager_WindowManagerFancyBox.prototype.open = function ($url, $width, $height, $source_form) {
+ var $options = this.getDefaultOptions($url, $width, $height);
+
+ $.extend($options, {
+ modal: true
+ });
+
+ if ($source_form !== undefined) {
+ $options['ajax'] = {
+ data: $($source_form).serialize()
+ };
+ }
+
+ $.fancybox.open($options);
+};
+
+FormManager_WindowManagerFancyBox.prototype.getDefaultOptions = function ($url, $width, $height) {
+ var $me = this;
+
+ return {
+ href: $url,
+ type : $.fancybox.isImage($url) ? 'image' : 'ajax',
+
+ width: $width,
+ height: $height,
+ autoSize: false,
+
+ afterShow: function () {
+ $me.init(undefined, $me.getContentSelector());
+
+ // document.ready equivalent for ajax loaded windows
+ $(document).trigger('FormManager.WindowManager.Ready');
+ }
+ };
+};
+
+FormManager_WindowManagerFancyBox.prototype.close = function () {
+ $.fancybox.close();
+};
+
+FormManager_WindowManagerFancyBox.prototype.getContentSelector = function () {
+ return '.fancybox-inner';
+};
Index: branches/1.3.x/platform/designs/default_design.des.tpl
===================================================================
--- branches/1.3.x/platform/designs/default_design.des.tpl (revision 15892)
+++ branches/1.3.x/platform/designs/default_design.des.tpl (revision 15893)
@@ -1,157 +1,159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<inp2:m_if check="st_Field" name="RequireLogin" db="db">
<inp2:m_RequireLogin login_template="platform/login/register" />
</inp2:m_if>
<inp2:m_if check="st_Field" name="RequireSSL" db="db">
<inp2:m_CheckSSL mode="required"/>
</inp2:m_if>
<inp2:m_DefaultParam item_prefix=""/>
<inp2:m_CheckSSL/>
<inp2:m_include template="platform/elements/side_boxes.elm" strip_nl="1"/>
<inp2:m_include template="platform/elements/content_boxes.elm" strip_nl="1"/>
<inp2:m_include template="platform/elements/forms.elm" strip_nl="1"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<inp2:m_DefineElement name="cms_page_title">
<inp2:st_PageInfo type="htmlhead_title" html_escape="1"/>
</inp2:m_DefineElement>
<title><inp2:m_GetConfig name="Site_Name"/> :: <inp2:m_RenderElement name="page_title" default_element="cms_page_title" no_editing="1"/></title>
<!--## Include module specific HEADER (META INFORMATION inside) template ##-->
<inp2:m_ModuleInclude template="elements/html_head.elm" in-portal_template="platform/elements/html_head.elm"/>
<link rel="stylesheet" rev="stylesheet" href="<inp2:m_Compress from='all_css'/>" type="text/css" />
<script type="text/javascript" src="<inp2:m_Compress from='all_js'/>"></script>
<script type="text/javascript">
FormManager.init(
{
url: '<inp2:m_Link template="#TEMPLATE#" js_escape="1" __NO_REWRITE__="1" no_amp="1"/>',
- noErrorsHTML: ''
+// windowManager: new FormManager_WindowManagerThickBox()
+ windowManager: new FormManager_WindowManagerColorBox()
+// windowManager: new FormManager_WindowManagerFancyBox()
}
);
var aRatingManager = new RatingManager('<inp2:m_Link template="index" events[#PREFIX#]="OnMakeVote" rating="#VOTE#" id="#ID#" no_amp="1" size="#SIZE#"/>');
<inp2:m_Cache key="prefix:lang;skip_var:t,page,per_page,sort_by">
<inp2:m_DefineElement name="ml_selector_language_element">
<inp2:Field name="LanguageId"/>: {'on': '<inp2:Field name="IconURL" js_ecape="1"/>', 'off': '<inp2:Field name="IconDisabledURL" js_ecape="1"/>'}
<inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot>
</inp2:m_DefineElement>
var aMultiLanguageSelector = new MultiLanguageSelector({<inp2:lang.enabled_PrintList render_as="ml_selector_language_element" per_page="-1" no_editing="1" strip_nl="2"/>}, <inp2:m_Get name="m_lang"/>);
</inp2:m_Cache>
</script>
<inp2:m_DefineElement name="default_add_to_head"></inp2:m_DefineElement>
<inp2:m_RenderElement name="add_to_head" default_element="default_add_to_head" no_editing="1"/>
<inp2:st_EditingScripts/>
<!--## /Include module specific HEADER template ##-->
</head>
<body>
<inp2:st_EditPage mode="start" item_prefix="$item_prefix"/>
<div align="left">
<div align="left" style="width:100%">
<table class="fullwidth">
<tr>
<td>
<inp2:m_include template="platform/elements/header.elm"/>
</td>
</tr>
<tr>
<td>
<inp2:m_include template="platform/elements/menu.elm"/>
</td>
</tr>
</table>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="1" alt=""/><br />
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" alt=""/><br />
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="1" alt=""/><br />
<table class="fullwidth">
<tr>
<!-- SIDEBAR -->
<td style="width: 200px;" valign="top">
<inp2:m_DefineElement name="cms_sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<inp2:m_RenderElement name="sidebar" default_element="cms_sidebar"/>
</td>
<!-- /SIDEBAR -->
<!-- SEPARATOR -->
<td width="3" class="vertical-separator" style="width: 3px;">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
<!-- /SEPARATOR -->
<!-- CONTENT -->
<td style="width: auto;" valign="top">
<inp2:m_DefineElement name="cms_content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:st_PageInfo type="title"/>
</inp2:m_Capture>
<inp2:st_ContentBlock num="1"/>
</inp2:m_RenderElement>
</div>
</div>
</inp2:m_DefineElement>
<inp2:m_RenderElement name="content" default_element="cms_content"/>
<br />
</td>
<!-- /CONTENT -->
<!--## REMOVE THIS LINE TO UNCOMMENT
<!-- SEPARATOR -->
<td width="3" class="vertical-separator">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br />
</td>
<!-- /SEPARATOR -->
<!-- RIGHT-SIDEBAR WITH BANNER -->
<td style="width: 200px;" valign="top">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/banners/banner_right.elm"/>
</div>
</div>
</td>
<!-- /RIGHT-SIDEBAR WITH BANNER -->
REMOVE THIS LINE TO UNCOMMENT ##-->
</tr>
</table>
<table class="fullwidth">
<tr>
<td >
<inp2:m_include template="platform/elements/footer.elm"/>
</td>
</tr>
</table>
</div>
</div>
<inp2:st_EditPage mode="end"/>
</body>
</html>
\ No newline at end of file
Index: branches/1.3.x/platform/designs/default_design_ajax.des.tpl
===================================================================
--- branches/1.3.x/platform/designs/default_design_ajax.des.tpl (revision 15892)
+++ branches/1.3.x/platform/designs/default_design_ajax.des.tpl (revision 15893)
@@ -1,4 +1,8 @@
+<inp2:m_if check="m_Get" name="ajax" equals_to="yes">
+ <inp2:m_NoDebug/>
+</inp2:m_if>
+
<inp2:m_include template="platform/elements/content_boxes.elm" strip_nl="1"/>
<inp2:m_include template="platform/elements/forms.elm" strip_nl="1"/>
<inp2:m_RenderElement name="content"/>
Index: branches/1.3.x/platform/elements/html_head.elm.tpl
===================================================================
--- branches/1.3.x/platform/elements/html_head.elm.tpl (revision 15892)
+++ branches/1.3.x/platform/elements/html_head.elm.tpl (revision 15893)
@@ -1,29 +1,33 @@
<!--## Meta Info (Keywords and Description) ##-->
<meta http-equiv="Content-Type" content="text/html; charset=<inp2:m_GetConst name='CHARSET'/>" />
<link rel="icon" href="<inp2:m_BaseURL/>favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="<inp2:m_BaseURL/>favicon.ico" type="image/x-icon" />
<meta name="Description" content="<inp2:st_PageInfo type='meta_description'/>" />
<meta name="Keywords" content="<inp2:st_PageInfo type='meta_keywords'/>" />
<!--## /Meta Keywords and Description ##-->
<inp2:m_ifnot check="m_GetConst" name="EDITING_MODE">
- <inp2:m_Compress files="platform/inc/jquery/thickbox/thickbox.css" to="all_css"/>
+ <!--<inp2:m_Compress files="platform/inc/jquery/thickbox/thickbox.css" to="all_css"/>-->
+ <inp2:m_Compress files="platform/inc/jquery/colorbox/jquery.colorbox.css" to="all_css"/>
+ <!--<inp2:m_Compress files="platform/inc/jquery/fancybox/jquery.fancybox.css" to="all_css"/>-->
</inp2:m_ifnot>
<inp2:m_Compress files="platform/inc/styles.css" to="all_css"/>
<inp2:m_Compress files="platform/inc/script.js|platform/inc/ajax.js|platform/inc/calendar.js|platform/inc/form_manager.js" to="all_js"/>
<inp2:m_if check="m_GetConfig" name="TypeKitId">
<script type="text/javascript" src="//use.typekit.com/<inp2:m_GetConfig name='TypeKitId'/>.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
</inp2:m_if>
<script type="text/javascript">var inportalBase = '<inp2:m_TemplatesBase module="In-Portal"/>';</script>
-<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/jquery.pack.js"></script>
+<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/jquery-1.9.1.min.js"></script>
<inp2:m_ifnot check="m_GetConst" name="EDITING_MODE">
- <inp2:m_Compress files="platform/inc/jquery/thickbox/thickbox.js" to="all_js"/>
+ <!--<inp2:m_Compress files="platform/inc/jquery/thickbox/thickbox.js" to="all_js"/>-->
+ <inp2:m_Compress files="platform/inc/jquery/colorbox/jquery.colorbox.js" to="all_js"/>
+ <!--<inp2:m_Compress files="platform/inc/jquery/fancybox/jquery.fancybox.js" to="all_js"/>-->
</inp2:m_ifnot>
Index: branches/1.3.x/in-commerce/products/product_detail.tpl
===================================================================
--- branches/1.3.x/in-commerce/products/product_detail.tpl (revision 15892)
+++ branches/1.3.x/in-commerce/products/product_detail.tpl (revision 15893)
@@ -1,308 +1,308 @@
<inp2:m_RequireLogin permissions="CATEGORY.VIEW,PRODUCT.VIEW" login_template="platform/login/register"/>
<!--##
<NAME>Products - Details Design</NAME>
<DESC>General design template for Product Details section</DESC>
<SECTION>Platform||Products</SECTION>
##-->
<inp2:p_AddToRecent /> <!--## ADD CURRENT PRODUCT TO RECENTLY VIEWED PRODUCTS ##-->
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:p_Field name="Name"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="in-commerce/elements/side_boxes/cart_indicator.elm" design="blue_box" data_exists="1"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-commerce/elements/side_boxes/categories.elm" data_exists="1" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-commerce/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## /SIDE-BAR ELEMENT ##-->
<!--## MAIN CONTENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__" templates="__default__" show_category="1"/>
</div>
<div class="movable-element">
<!-- Product Details -->
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ProductDetails"/>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr>
<td class="item-padding">
<!--##
<inp2:m_RenderElement name="prev_next_element" prefix="p" id_field="ProductId" title_field="Name" special="product-navigation" item_name="Product" main_list="1"/>
<br/>
##-->
<img src="<inp2:m_TemplatesBase module="In-Commerce"/>img/shopping_cart_item.gif" alt=""/> <span class="text-title"><inp2:p_Field name="Name"/></span>
<inp2:m_if check="p_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:p_VotesIndicator render_as="rating_element"/>
<br />
<br />
<table>
<tr>
<td style="text-align: center; padding-right: 10px;" valign="top">
<!--## Check if image exists ##-->
<inp2:m_if check="p_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:p_ImageSrc DefaultImage="platform/img/no_picture.gif" format="resize:450x450;wm:platform/img/logo_watermark.png|-1|-1"/>" class="thickbox" rel="product-images" title="<inp2:p_Field name='PrimaryImageAlt' html_escape='1'/>">
+ <a href="<inp2:p_ImageSrc DefaultImage='platform/img/no_picture.gif' format='resize:450x450;wm:platform/img/logo_watermark.png|-1|-1'/>" class="form-manager-window" rel="product-images" title="<inp2:p_Field name='PrimaryImageAlt' html_escape='1'/>">
<inp2:p_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif" align="center"/><br />
</a>
<!--## Check if image exists ##-->
<inp2:m_else/>
<inp2:p_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif" align="center"/><br />
</inp2:m_if>
<br />
<inp2:m_if check="p_HasAdditionalImages">
<a href="<inp2:p_ProductLink template="__default__" />#images"><inp2:m_Phrase label="lu_btn_MoreImages"/></a>
<br /><br />
</inp2:m_if>
<span class="product-price-large"><inp2:p_Field name="Price" currency="selected"/></span><br /><br />
<inp2:m_if check="p_Available">
<inp2:m_if check="p_ShouldListOptions" required_only="1"><inp2:m_else/>
<input class="button" onclick=" window.location.href='<inp2:p_AddToCartLink template="in-commerce/checkout/shop_cart" product_template="__default__"/>' " type="button" value="<inp2:m_Phrase label="lu_comm_BuyNow" no_editing="1"/>" />
</inp2:m_if>
<inp2:m_else />
<strong><inp2:m_phrase label="lu_comm_outofstock"/></strong>
</inp2:m_if>
</td>
<td valign="top">
<strong><inp2:m_phrase label="lu_Added"/>:</strong> <inp2:p_field field="CreatedOn_date" format="_regional_DateFormat"/><br />
<strong><inp2:m_phrase label="lu_Hits"/>:</strong> <inp2:p_field field="Hits"/><br />
<strong><inp2:m_phrase label="lu_Reviews"/>:</strong> <inp2:p_field field="CachedReviewsQty"/>
<a href="<inp2:p_ProductLink template="in-commerce/products/add_review"/>"><inp2:m_phrase name="lu_btn_AddReview"/></a><br />
<strong><inp2:m_phrase label="lu_Rating"/>:</strong> <inp2:p_field field="CachedRating"/> (<inp2:m_phrase label="lu_Votes"/>: <inp2:p_field field="CachedVotesQty"/>)
<a href="<inp2:p_ProductLink template="in-commerce/products/add_review"/>"><inp2:m_phrase name="lu_btn_RateThisProduct"/></a><br />
<br />
<inp2:m_if check="p_Field" name="SKU">
<strong><inp2:m_Phrase label="lu_fld_SKU"/>:</strong> <inp2:p_field name="SKU"/><br />
</inp2:m_if>
<inp2:m_if check="p_Field" name="ManufacturerId">
<strong><inp2:m_Phrase label="lu_fld_Manufacturer"/>:</strong> <inp2:p_field name="ManufacturerId"/> (<inp2:m_Phrase label="lu_comm_OtherProductsBy"/> <a href="<inp2:p_ManufacturerLink template="in-commerce/products/manufacturer_products" />"><inp2:p_Field name="ManufacturerId"/></a> <inp2:m_Phrase label="lu_comm_OtherProducts"/>) <br />
</inp2:m_if>
<inp2:m_if check="p_Field" name="MSRP">
<strong><inp2:m_Phrase label="lu_fld_MSRP"/>:</strong> <span class="product-price-msrp"><inp2:p_Field name="MSRP" currency="selected"/></span> <br />
</inp2:m_if>
<strong><inp2:m_Phrase label="lu_fld_OurPrice"/>: <span class="product-price"><inp2:p_Field name="Price" currency="selected"/></span></strong> <br />
<inp2:m_if check="p_Savings">
<strong><inp2:m_Phrase label="lu_fld_YouSave"/>: <span class="product-price"><inp2:p_Savings currency="selected" /> (<inp2:p_Savings type="percent"/>%)</span></strong><br/>
</inp2:m_if>
<br />
<inp2:m_if check="p_CustomField" name="Availability">
<strong><inp2:p_CustomFieldLabel field="Availability"/>:</strong>
<inp2:p_CustomField name="Availability"/>
<br />
<br />
</inp2:m_if>
<inp2:m_if check="p_HasQuantityPricing">
<inp2:m_if check="p_IsTangible">
<table>
<tr>
<td colspan="2" class="block-header">
<inp2:m_Phrase label="lu_comm_QuantityPricing"/>
</td>
</tr>
<tr class="cart-header">
<td>
<inp2:m_Phrase label="lu_comm_Quantity"/>
</td>
<td>
<inp2:m_Phrase label="lu_comm_Price"/>
</td>
</tr>
<inp2:m_DefineElement name="price_bracket">
<tr class="cart-item-small">
<td>
<inp2:Field name="MinQty"/> - <inp2:Field name="MaxQty"/>
</td>
<td>
<inp2:m_if check="Field" name="Negotiated">
<a href="mailto:<inp2:conf_ConfigValue name="Comm_Contacts_Email"/>"><inp2:conf_ConfigValue name="Comm_Contacts_Email"/></a>
<inp2:m_else/>
<inp2:Field name="Price" currency="selected"/>
</inp2:m_if>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:p_ListPriceBrackets render_as="price_bracket"/>
</table>
<br />
</inp2:m_if>
<inp2:m_if check="p_IsSubscription">
<table>
<tr>
<td colspan="3" class="block-header">
<inp2:m_Phrase label="lu_comm_Pricing"/>
</td>
</tr>
<tr class="cart-header">
<td>
<inp2:m_Phrase label="lu_comm_AccessDuration"/>
</td>
<td>
<inp2:m_Phrase label="lu_comm_Price"/>
</td>
<td>&nbsp;
</td>
</tr>
<inp2:m_DefineElement name="access_price_bracket">
<tr class="cart-item-small">
<td>
<inp2:Field name="AccessDuration"/> <inp2:Field name="AccessUnit"/>
<br />
<small><inp2:Field name="Description"/></small>
</td>
<td>
<inp2:Field name="Price" currency="selected"/>
</td>
<td>
<a href="<inp2:AddToCartLink template="in-commerce/checkout/shop_cart" product_template="__default__"/>"><img src="<inp2:m_TemplatesBase module="In-Commerce"/>img/buy2.gif" alt="<inp2:m_Phrase label="lu_comm_BuyNow" no_editing="1"/>" width="15" height="17" border="0" /></a>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:p_ListPriceBrackets render_as="access_price_bracket"/>
</table>
<br />
</inp2:m_if>
</inp2:m_if>
<inp2:m_include template="in-commerce/elements/form_options.elm"/>
<inp2:m_if check="p_Field" name="Description">
<strong><inp2:m_Phrase label="lu_fld_Description"/>:</strong> <inp2:p_Field name="Description"/> <br />
</inp2:m_if>
<br />
<inp2:m_if check="p_CustomField" name="Features">
<strong><inp2:p_CustomFieldLabel field="Features"/>:</strong>
<inp2:p_CustomField name="Features"/>
<br />
<br />
</inp2:m_if>
<inp2:m_if check="p_IsFavorite">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_removefromfav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:p_FavoriteToggleLink/>"><inp2:m_phrase name="lu_btn_RemoveFromWishList"/></a>
<inp2:m_else/>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/ic_addtofav.gif" width="11" height="10" alt="" /> <a class="item-action" href="<inp2:p_FavoriteToggleLink template="platform/my_account/my_favorites"/>"><inp2:m_phrase name="lu_btn_AddToWishList"/></a>
</inp2:m_if>
</td>
</tr>
</table>
<br />
<inp2:m_if check="p_HasAdditionalImages">
<!--## ADDITIONAL IMAGE ELEMENT ##-->
<inp2:m_DefineElement name="additional_image_element">
<td>
- <a href="<inp2:ImageSrc format="resize:450x450;wm:platform/img/logo_watermark.png|-1|-1"/>" class="thickbox" rel="product-images" title="<inp2:m_param name="alt"/>">
+ <a href="<inp2:ImageSrc format='resize:450x450;wm:platform/img/logo_watermark.png|-1|-1'/>" class="form-manager-window" rel="product-images" title="<inp2:m_param name="alt"/>">
<img src="<inp2:m_param name="img_path"/>" title="<inp2:m_param name="alt"/>" alt="<inp2:m_param name="alt"/>" <inp2:m_param name="img_size"/> border="0" /><br />
</a>
</td>
<inp2:m_if check="m_Param" name="not_last">
<td>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="8" height="1" alt="" />
</td>
</inp2:m_if>
</inp2:m_DefineElement>
<!--## /ADDITIONAL IMAGE ELEMENT ##-->
<a name="images"></a>
<inp2:m_RenderElement name="subsection" title="lu_section_AdditionalImages"/>
<table>
<tr>
<inp2:p_ListImages render_as="additional_image_element" types="additional" per_page="-1" no_table="1" MaxWidth="thumbnail" DefaultWidth="150" DefaultImage="platform/img/no_picture.gif"/>
</tr>
</table>
</inp2:m_if>
</td>
</tr>
</table>
</inp2:m_RenderElement>
<!-- // Product Details -->
</div>
<div class="movable-element">
<!-- Product Reviews -->
<inp2:m_DefineElement name="no_reviews">
<inp2:m_phrase name="lu_NoReviews"/>
</inp2:m_DefineElement>
<inp2:m_RenderElement design="content_box" data_exists="1" block_no_data="no_reviews">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_section_Reviews"/> (<inp2:p-rev_TotalRecords/>)
</inp2:m_Capture>
<table>
<inp2:p-rev_PrintList render_as="review_element"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="p-rev"/>
</inp2:m_RenderElement>
<!-- // Product Reviews -->
</div>
<div class="movable-element">
<a name="related"></a>
<inp2:m_include template="in-commerce/elements/content_boxes/related_products.elm"/>
<!--## RELATED TO PRODUCT ITEMS ##-->
<inp2:m_RenderElement design="content_box" related_to="Product" data_exists="1">
<inp2:m_Capture to_var="header">
<inp2:m_Phrase label="lu_title_RelatedItems"/>
</inp2:m_Capture>
<inp2:m_ModuleInclude template="elements/content_boxes/related_items.elm" related_to="$related_to" skip_prefixes="p" />
</inp2:m_RenderElement>
<!--## // RELATED TO PRODUCT ITEMS ##-->
</div>
</div>
</inp2:m_DefineElement>
<!--## /MAIN CONTENT ##-->
<!--## DESIGN TEMPLATE ##-->
<inp2:m_include template="platform/designs/default_design.des" pass_params="1"/>
<!--## /DESIGN TEMPLATE ##-->
\ No newline at end of file
Index: branches/1.3.x/in-commerce/products/add_review.tpl
===================================================================
--- branches/1.3.x/in-commerce/products/add_review.tpl (revision 15892)
+++ branches/1.3.x/in-commerce/products/add_review.tpl (revision 15893)
@@ -1,155 +1,155 @@
<!--##
<NAME>Product - Add Review</NAME>
<DESC>Add Product Review Form</DESC>
<SECTION>Platform||Products</SECTION>
##-->
<inp2:m_RequireLogin login_template="platform/login/register" permissions="PRODUCT.REVIEW|PRODUCT.REVIEW.PENDING"/>
<!--## PAGE TITLE ELEMENT ##-->
<inp2:m_DefineElement name="page_title">
<inp2:p_Field name="Name"/>
</inp2:m_DefineElement>
<!--## //PAGE TITLE ELEMENT ##-->
<!--## SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="sidebar">
<div class="movable-area">
<div class="movable-element">
<inp2:m_RenderElement name="in-commerce/elements/side_boxes/cart_indicator.elm" design="blue_box" data_exists="1"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/login.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="platform/elements/side_boxes/search.elm" design="blue_box"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement name="in-commerce/elements/side_boxes/action_box.elm" item_actions="1" design="blue_box"/>
</div>
</div>
</inp2:m_DefineElement>
<!--## //SIDE-BAR ELEMENT ##-->
<inp2:m_DefineElement name="content">
<div class="movable-area">
<div class="movable-element">
<inp2:m_include template="platform/elements/navigation_bar.elm" titles="__item__,lu_title_ReviewProduct" templates="__default__,in-commerce/products/add_review" show_category="1"/>
</div>
<div class="movable-element">
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ProductDetails"/>
</inp2:m_Capture>
<table class="fullwidth table-border">
<tr><td class="item-padding">
<img src="<inp2:m_TemplatesBase module="In-Commerce"/>img/shopping_cart_item.gif" alt=""/> <span class="text-title">
<a href="<inp2:p_ProductLink template="__default__"/>"><inp2:p_Field name="Name"/></a></span>
<inp2:m_if check="p_Field" name="IsHot"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_hot.gif" alt="<inp2:m_Phrase name="lu_Hot" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_Field" name="IsNew"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_new.gif" alt="<inp2:m_Phrase name="lu_New" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_Field" name="IsPop"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_popular.gif" alt="<inp2:m_Phrase name="lu_Pop" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_IsEditorsPick"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_pick.gif" alt="<inp2:m_Phrase name="lu_Pick" no_editing="1"/>"/></inp2:m_if>
<inp2:m_if check="p_IsFavorite"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/icon_favorite.gif" alt="<inp2:m_Phrase name="lu_Favorite" no_editing="1"/>"/></inp2:m_if>
<inp2:p_VotesIndicator render_as="rating_element"/>
<br />
<br />
<table>
<tr>
<td style="text-align: center; padding-right: 10px;" valign="top">
<!--## Check if image exists ##-->
<inp2:m_if check="p_ImageSrc" MaxWidth="fullsize">
- <a href="<inp2:p_ImageSrc MaxWidth="fullsize" DefaultImage="platform/img/no_picture.gif"/>" class="thickbox" rel="product-images" target="_blank" title="<inp2:p_Field name='Name' html_escape='1'/>">
+ <a href="<inp2:p_ImageSrc MaxWidth='fullsize' DefaultImage='platform/img/no_picture.gif'/>" class="form-manager-window" rel="product-images" target="_blank" title="<inp2:p_Field name='Name' html_escape='1'/>">
<inp2:p_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif"/><br />
</a>
<!--## Check if image exists ##-->
<inp2:m_else/>
<inp2:p_Image render_as="image_element" Primary="1" MaxWidth="thumbnail" DefaultImage="platform/img/no_picture.gif"/><br />
</inp2:m_if>
<br />
</td>
<td valign="top">
<strong><inp2:m_phrase label="lu_Added"/>:</strong> <inp2:p_field field="CreatedOn_date" format="_regional_DateFormat"/><br />
<strong><inp2:m_phrase label="lu_Hits"/>:</strong> <inp2:p_field field="Hits"/><br />
<strong><inp2:m_phrase label="lu_Reviews"/>:</strong> <inp2:p_field field="CachedReviewsQty"/>
<strong><inp2:m_phrase label="lu_Rating"/>:</strong> <inp2:p_field field="CachedRating"/> (<inp2:m_phrase label="lu_Votes"/>: <inp2:p_field field="CachedVotesQty"/>)
<br />
<inp2:m_if check="p_Field" name="ManufacturerId">
<strong><inp2:m_Phrase label="lu_fld_Manufacturer"/>:</strong> <inp2:p_field name="ManufacturerId"/> (<inp2:m_Phrase label="lu_comm_OtherProductsBy"/> <a href="<inp2:p_ManufacturerLink template="in-commerce/products/manufacturer_products" />"><inp2:p_Field name="ManufacturerId"/></a> <inp2:m_Phrase label="lu_comm_OtherProducts"/>) <br />
</inp2:m_if>
<inp2:m_if check="p_Field" name="MSRP">
<strong><inp2:m_Phrase label="lu_fld_MSRP"/>:</strong> <span class="product-price-msrp"><inp2:p_Field name="MSRP" currency="selected"/></span> <br />
</inp2:m_if>
<strong><inp2:m_Phrase label="lu_fld_OurPrice"/>: <span class="product-price"><inp2:p_Field name="Price" currency="selected"/></span></strong> <br />
<inp2:m_if check="p_Savings">
<strong><inp2:m_Phrase label="lu_fld_YouSave"/>: <span class="product-price"><inp2:p_Savings currency="selected" /> (<inp2:p_Savings type="percent"/>%)</span></strong><br/>
</inp2:m_if>
<br />
<inp2:m_if check="p_Field" name="DescriptionExcerpt">
<span class="listing-field-name"><inp2:m_Phrase label="lu_fld_Description"/>:</span> <inp2:p_Field name="DescriptionExcerpt" nl2br="1"/><br/>
</inp2:m_if>
</td>
</tr>
</table>
</td></tr></table>
</inp2:m_RenderElement>
</div>
<div class="movable-element">
<inp2:m_RenderElement design="content_box">
<inp2:m_Capture to_var="header">
<inp2:m_phrase name="lu_title_ReviewThisProduct"/>
</inp2:m_Capture>
<inp2:m_if check="p_HasPermission" permissions="PRODUCT.REVIEW|PRODUCT.REVIEW.PENDING">
<inp2:m_if check="p-rev_AlreadyReviewed">
<inp2:m_Phrase label="lu_ErrorAlreadyReviewed"/><br/><br/>
<table>
<inp2:p-rev_PrintList render_as="review_element" type="current_user"/>
</table>
<inp2:m_include template="platform/elements/pagination.elm" prefix="p-rev"/>
<inp2:m_else/>
<inp2:p-rev_PresetFormFields/>
<span class="field-required">*</span> <inp2:m_phrase name="lu_IndicatesRequired"/><br /><br />
<inp2:m_if check="p-rev_HasError" field="any">
<inp2:m_RenderElement name="error_message" />
</inp2:m_if>
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" /><br /><br />
<form method="post" action="<inp2:m_FormAction/>">
<table class="form-data fullwidth">
<inp2:m_RenderElement name="inp_edit_radio" prefix="p-rev" field="Rating" title="lu_fld_Rating"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="p-rev" field="ReviewText" rows="8" cols="40" title="lu_fld_ReviewText" is_last="1"/>
<inp2:m_RenderElement design="inp_edit_buttons">
<input type="hidden" name="success_template" value="in-commerce/products/add_review_confirm" />
<input type="hidden" name="success_pending_template" value="in-commerce/products/add_review_pending_confirm" />
<input class="button" type="submit" name="events[p-rev][OnCreate]" value="<inp2:m_Phrase label="lu_btn_Create" no_editing="1"/>" />
</inp2:m_RenderElement>
</table>
</form>
</inp2:m_if>
<inp2:m_else/>
<inp2:m_phrase name="lu_text_NoProductReviewPermission"/>
</inp2:m_if>
</inp2:m_RenderElement>
</div>
</div>
</inp2:m_DefineElement>
<inp2:m_include template="platform/designs/default_design.des" pass_params="1"/>
\ No newline at end of file
Index: branches/1.3.x
===================================================================
--- branches/1.3.x (revision 15892)
+++ branches/1.3.x (revision 15893)
Property changes on: branches/1.3.x
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /themes/advanced/branches/1.2.x:r15623-15892

Event Timeline