OSDN Git Service

- スマートフォン対応レポジトリからマージ 2.1.4
authorTaro Matsuzawa aka. btm <btm@tech.email.ne.jp>
Tue, 11 Oct 2011 06:59:44 +0000 (15:59 +0900)
committerTaro Matsuzawa aka. btm <btm@tech.email.ne.jp>
Tue, 11 Oct 2011 06:59:44 +0000 (15:59 +0900)
- スマートフォンに対応していない決済モジュールへの対応コードを追加

70 files changed:
app/controllers/accounts_controller.rb
app/controllers/cart_controller.rb
app/controllers/image_resource_controller.rb
app/controllers/portal_controller.rb
app/controllers/products_controller.rb
app/helpers/base_helper.rb
app/helpers/cart_helper.rb
app/models/normal_payment_plugin.rb
app/views/accounts/_confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/_delivery_form_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/_form_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/delivery_confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/delivery_edit_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/delivery_list_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/delivery_new_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/edit_complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/edit_confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/edit_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/history_list_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/history_show_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/kiyaku_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/login_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/myindex_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/salvage_complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/salvage_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/signup_complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/signup_confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/signup_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/withdraw_complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/withdraw_confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/accounts/withdraw_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/base/_add_cart_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/base/_new_product_smartphone.html.erb [new file with mode: 0644]
app/views/cart/_address_list_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/_cart_items_smartphone.html.erb [new file with mode: 0644]
app/views/cart/_set_delivery_each_retailer_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/delivery_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/purchase_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/shipping_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/show_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/cart/temporary_shipping_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/inquiries/complete_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/inquiries/confirm_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/inquiries/new_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/inquiries/privacy_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/inquiries/show_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/layouts/base_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/portal/escape_clause_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/portal/privacy_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/portal/show_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/portal/show_tradelaw_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/products/_stock_table.html.erb [new file with mode: 0644]
app/views/products/index_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/products/show_mobile_smartphone.html.erb [new file with mode: 0644]
app/views/shop/about_mobile_smartphone.html.erb [new file with mode: 0644]
config/environment.rb
config/initializers/jpmobile_override_for_smartphone.rb [new file with mode: 0644]
lib/jpmobile/mobile/smartphone.rb [new file with mode: 0644]
lib/payment_plugin_base.rb
public/images/smartphone/hori_large.png [new file with mode: 0644]
public/javascripts/smartphone/jquery-1.6.2.min.js [new file with mode: 0644]
public/javascripts/smartphone/jquery.tools.min.js [new file with mode: 0644]
public/javascripts/smartphone/jscript.js [new file with mode: 0644]
public/javascripts/smartphone/scrollable.js [new file with mode: 0644]
public/stylesheets/smartphone/scrollable-buttons.css [new file with mode: 0644]
public/stylesheets/smartphone/scrollable-horizontal.css [new file with mode: 0644]
public/stylesheets/smartphone/scrollableMin.css [new file with mode: 0644]
public/stylesheets/smartphone/smartphone.css [new file with mode: 0644]

index a5b79ca..83e0e52 100644 (file)
@@ -80,7 +80,11 @@ class AccountsController < BaseController
         else
           # 普通に来た場合
           if request.mobile?
-            redirect_to :controller => "accounts", :action=>"myindex_mobile"# '/account/myindex_mobile'
+            if request.mobile.respond_to?('smartphone?')
+              redirect_to :controller => "accounts", :action=>"myindex"# '/account/myindex_mobile'
+            else
+              redirect_to :controller => "accounts", :action=>"myindex_mobile"
+            end
           else
             redirect_to :controller => "portal", :action => "show"
           end
@@ -108,11 +112,11 @@ class AccountsController < BaseController
 
   # モバイル専用規約入口
   def kiyaku_intro
-    redirect_to :action => :kiyaku unless request.mobile?
+    redirect_to :action => :kiyaku unless request.mobile? && !request.mobile.respond_to?('smartphone?')
   end
 
   def kiyaku
-    params[:position] ||= 1 if request.mobile?
+    params[:position] ||= 1 if request.mobile? && !request.mobile.respond_to?('smartphone?')
     # 章を指定されたらそこだけ出す。さもなくば全て。
     if params[:position]
       kiyaku = Kiyaku.find_by_position(params[:position])
@@ -141,7 +145,7 @@ class AccountsController < BaseController
   def signup_confirm
     @customer = Customer.new
     get_customer
-    @customer.editting = false if request.mobile?
+    @customer.editting = false if request.mobile? && !request.mobile.respond_to?('smartphone?')
     unless @customer.valid?
       render :action => :signup
       return
index 8cb554f..44cbe4b 100644 (file)
@@ -259,7 +259,7 @@ class CartController < BaseController
         flash.now[:error] = "配達時間が選択されていません"
       end
       if flash.now[:error]
-        if request.mobile?
+        if request.mobile? && !request.mobile.respond_to?('smartphone?')
           delivery2
         else
           params[:back] = "1"
@@ -321,7 +321,7 @@ class CartController < BaseController
   def select_delivery_time_with_delivery_trader_id_ajax
     delivery_trader_id = params[:delivery_trader_id]
     @options = select_delivery_time_with_delivery_trader_id(delivery_trader_id)
-    render :layout => false unless request.mobile?
+    render :layout => false unless request.mobile? && !request.mobile.respond_to?('smartphone?')
   end
 
 
index 61e520e..b143753 100644 (file)
@@ -10,7 +10,7 @@ class ImageResourceController < BaseController
       @res ||= ImageResource.find_by_id(params[:id].to_i)
     end
     raise ActiveRecord::RecordNotFound unless @res
-    if request.mobile?
+    if request.mobile? && !request.mobile.respond_to?('smartphone?')
       format = nil
       if request.mobile.instance_of?(Jpmobile::Mobile::Docomo)
         format = :gif
index 241db0d..be38af2 100644 (file)
@@ -5,9 +5,11 @@ class PortalController < BaseController
     load_new_information
     load_recommend_product
     load_seo
-    load_new_product unless request.mobile?
+    load_new_product unless request.mobile? && 
+               !request.mobile.respond_to?('smartphone?')
     @recommend_xmls = Recommend.ranking_get(3)
-               render :layout => false if request.mobile?
+               render :layout => false if request.mobile? && 
+               !request.mobile.respond_to?('smartphone?')
   end
 
   def show_tradelaw
index b3e5198..0de8b4a 100644 (file)
@@ -6,6 +6,7 @@ class ProductsController < BaseController
   before_filter :check_search, :only => %w(index search)
   
   def show
+    stock_table
     load_seo_products_detail
     @recommend_buys = Recommend.recommend_get(@product.id, Recommend::TYPE_BUY) || []
     @recommend_views = Recommend.recommend_get(@product.id, Recommend::TYPE_VIEW) || []
index 7cd63d8..bc6c3bb 100644 (file)
@@ -30,6 +30,12 @@ module BaseHelper
       else
         return_str = link_to h(category.name), :controller => "/products" ,:action => "index", :category_id => category.id
       end
+    elsif type == "SMARTPHONE"
+      if params[:category_id] && params[:category_id].to_s == category.id.to_s
+        return_str = ""
+      else
+        return_str = '<option value="/products/category/' + category.id.to_s + '">' + category.name + '</option>'
+      end
     else
       if params[:category_id] && params[:category_id].to_s == category.id.to_s
         return_str = image_flg ? category_image_tag(category) : h(category.name)
@@ -53,7 +59,7 @@ module BaseHelper
     id = params[:category_id] || 0
     return_array = []
     Category.find(:all, :conditions => ["parent_id is null"], :order => "position" ).each do |category|
-     unless type == "MOBILE" && !category.get_child_category_ids.include?(id.to_i) && id != 0
+     unless (type == "MOBILE") && !category.get_child_category_ids.include?(id.to_i) && id != 0
          return_str = category_list_view_child(category, id, image_flg, type)
      end
       return_array <<   return_str unless return_str.blank?
@@ -69,7 +75,7 @@ module BaseHelper
     return "" unless category.product_count > 0
     return_str =""
     return_array = []
-    if type == "MOBILE"
+    if type == "MOBILE" || type == "SMARTPHONE"
       return_str += link_to_category(category, type)
       return_str += ' '
     else
@@ -115,7 +121,7 @@ module BaseHelper
 
   def view_resource_id(resource_id, options = {})
     if resource_id && resource_id != 0
-      if request.mobile?
+      if request.mobile? && !request.mobile.respond_to?('smartphone?')
         format = nil
         if request.mobile.instance_of?(Jpmobile::Mobile::Docomo)
           format = :gif
@@ -187,9 +193,9 @@ EJS
   end
 
   #  * INFO 追加お届け先が20件未満の場合、お届け先追加アクション用のリンクを生成する
-  def link_to_create_address(str = '新規登録')
+  def link_to_create_address(str = '新規登録', custom_class = 'delivery_edit')
     @address_size < DeliveryAddress::MAXIMUM_POSITION or return nil
-    link_to(str, {:controller => :accounts, :action => :delivery_new_popup}, :class => 'delivery_edit')
+    link_to(str, {:controller => :accounts, :action => :delivery_new_popup}, :class => custom_class)
     #    link_to_function(str, "popdelivery('/account/delivery_new_popup', 'create_deliv', '600', '640')") if @address_size < DeliveryAddress::MAXIMUM_POSITION
   end
 
@@ -271,6 +277,9 @@ EJS
     when :small
       id = product.small_resource_id
       options = ({:width=>120}).merge(options)
+    when :smartphone
+      id = product.small_resource_id
+      options = ({:width=>50, :height=>50}).merge(options)
     end
     if id
       view_resource_id(id, options)
@@ -431,20 +440,6 @@ def link_to_mobile(name, options = {}, html_options = nil)
       9 => '&#xe6ea;',
       0 => '&#xe6eb;',
     }
-#    if request.mobile.is_a?(Jpmobile::Mobile::Softbank)
-#      h = {
-#        1 => '\e$F<\ f',
-#        2 => '\e$F=\ f',
-#        3 => '\e$F>\ f',
-#        4 => '\e$F?\ f',
-#        5 => '\e$F@\ f',
-#        6 => '\e$FA\ f',
-#        7 => '\e$FB\ f',
-#        8 => '\e$FC\ f',
-#        9 => '\e$FD\ f',
-#        0 => '\e$FE\ f',
-#      }
-#   end
     h[accesskey] + link_to(name, options, html_options)
   else
     link_to(name, options, html_options)
index 858c201..41f3c4e 100644 (file)
@@ -6,7 +6,11 @@ module CartHelper
            :action => 'inc',
            :id => cart.product_style_id}
     str = request.mobile? ? "増やす" : " + "
-    link_to str, url_for(uri), {:class => 'product_incriment'}
+    if request.mobile.respond_to?('smartphone?')
+       link_to str, url_for(uri), {:class => 'rosy small_button'}
+    else
+       link_to str, url_for(uri), {:class => 'product_incriment'}
+    end
   end
 
   # カートを渡すと、カート内の商品への減算用リンクを生成します。
@@ -15,7 +19,11 @@ module CartHelper
            :action => 'dec',
            :id => cart.product_style_id}
     str = request.mobile? ? "減らす" : " - "
-    link_to str, url_for(uri), {:class => 'product_decriment'}
+      if request.mobile.respond_to?('smartphone?')
+       link_to str, url_for(uri), {:class => 'rosy small_button'}
+    else
+       link_to str, url_for(uri), {:class => 'product_decriment'}
+    end
   end
 
   # 非会員用お届け先追加のJavaScript
@@ -144,9 +152,9 @@ EJS
       Customer#basic_address
 
 =end
-  def link_to_edit_address(address)
+  def link_to_edit_address(address, custom_class = 'delivery_edit')
     address.frozen? and return nil
-    link_to('変更', {:controller => :accounts, :action => :delivery_edit_popup, :id => address.id}, :class => 'delivery_edit')
+    link_to('変更', {:controller => :accounts, :action => :delivery_edit_popup, :id => address.id}, :class => custom_class)
   end
 
 =begin rdoc
@@ -163,7 +171,7 @@ EJS
       Customer#basic_address
 
 =end
-  def link_to_delete_address(address)
+  def link_to_delete_address(address, custom_class = nil)
     link_to('削除',
       {
         :controller => 'accounts',
@@ -171,7 +179,7 @@ EJS
         :id => address.id,
         :backurl => url_for({:controller => 'cart', :action => 'shipping'})
       },
-      {:confirm => "一度削除したデータは元には戻せません。\n削除してもよろしいですか?"}
+      {:confirm => "一度削除したデータは元には戻せません。\n削除してもよろしいですか?", :class => custom_class}
     ) unless address.frozen?
   end
 
index 05ac303..39bfd1d 100644 (file)
@@ -27,4 +27,8 @@ class NormalPaymentPlugin < ActiveForm
     return true, ""
   end
 
+  def use_smartphone?
+    return true
+  end
+
 end
diff --git a/app/views/accounts/_confirm_mobile_smartphone.html.erb b/app/views/accounts/_confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..20327ae
--- /dev/null
@@ -0,0 +1,75 @@
+<table class="tb2">
+  
+    <tr><td>お名前</td></tr>
+    <tr>
+    <td>
+      <%=h customer.family_name %>
+      <%=h customer.first_name %>
+    </td>
+  </tr>
+  
+    <tr><td>お名前フリガナ</td></tr>
+    <tr>
+    <td>
+      <%=h customer.family_name_kana %>
+      <%=h customer.first_name_kana %>
+    </td>
+  </tr>
+  
+    <tr><td>郵便番号</td></tr>
+    <tr>
+    <td>〒<%=h customer.zipcode01 -%>-<%=h customer.zipcode02 %></td>
+  </tr>
+  
+    <tr><td>住所</td></tr>
+    <tr>
+    <td>
+      <%=h customer.prefecture && customer.prefecture.name %>
+      <%=h customer.address_city %>
+      <%=h customer.address_detail %>
+    </td>
+  </tr>
+  
+    <tr><td>電話番号</td></tr>
+    <tr>
+    <td><%=h customer.tel01 %>-<%=h customer.tel02 %>-<%=h customer.tel03 %></td>
+  </tr>
+  
+    <tr><td>FAX番号</td></tr>
+    <tr>
+    <td><%=h customer.fax01 %>-<%=h customer.fax02 %>-<%=h customer.fax03 %></td>
+  </tr>
+  
+    <tr><td>メールアドレス</td></tr>
+    <tr>
+    <td><%=h customer.email %></td>
+  </tr>
+  
+    <tr><td>性別</td></tr>
+    <tr>
+    <td><%= customer.instance_of?(OrderDelivery) ? customer.sex_name : customer.sex_view %></td>
+  </tr>
+  
+    <tr><td>職業</td></tr>
+    <tr>
+    <td><%=h customer.occupation && customer.occupation.name %></td>
+  </tr>
+  
+    <tr><td>生年月日</td></tr>
+    <tr>
+    <td><%= customer.birthday %></td>
+  </tr>
+  
+  <%- unless customer.instance_of? OrderDelivery -%>
+    <tr><td>ご希望のパスワード</td></tr>
+    <tr>
+    <td><%= customer.raw_password && ('*' * customer.raw_password.size) %></td>
+  </tr>
+  
+    <tr><td>メールマガジン送付について</td></tr>
+    <tr>
+    <td><%= h customer.receive_mailmagazine_view %></td>
+  </tr>
+  <%- end -%>
+</table>
diff --git a/app/views/accounts/_delivery_form_mobile_smartphone.html.erb b/app/views/accounts/_delivery_form_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..927524e
--- /dev/null
@@ -0,0 +1,65 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag 'application.js' %>
+  <%= javascript_include_tag js_url(:action => "application") %>
+<% end %>
+
+<table class="tb2">
+  <tr>
+       <td>お名前<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      姓<%= f.text_field :family_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+      <br />
+      名<%= f.text_field :first_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+    </td>
+  </tr>
+  <tr>
+       <td>お名前:フリガナ<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      セイ<%= f.text_field :family_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+      <br />
+      メイ<%= f.text_field :first_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+    </td>
+  </tr>
+  <tr>
+       <td> 郵便番号<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      〒<%= f.text_field :zipcode01, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} -%>-<%= f.text_field :zipcode02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>
+      <%= link_to "郵便番号を調べる", "http://search.post.japanpost.jp/zipcode/", :target => "_blank" %><br />
+      <input id="postCodeButton" class="rounded rosy" name="zipcode_input" value="住所自動入力" onclick="address_by_zip('delivery_address_zipcode01','delivery_address_zipcode02', null, 'delivery_address_address_city', 'delivery_address_address_detail', 'delivery_address_prefecture_id', 'accounts', '<%=h ActionController::Base.relative_url_root %>');" type="button" />
+      <div>※郵便番号を入力後、クリックしてください。</div>
+    </td>
+  </tr>
+  <tr>
+       <td> 住所:都道府県<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.collection_select :prefecture_id, Prefecture.find(:all, :order=>:position), :id, :name, :class=>"form_s" %></td>
+  </tr>
+  <tr>
+       <td> 住所:市区町村<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :address_city, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:千代田区神田神保町)</p></td>
+  </tr>
+  <tr>
+       <td> 住所:番地・ビル名<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :address_detail, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:1-2-3○○○ビル)</p></td>
+  </tr>
+  <tr>
+       <td> 電話番号<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :tel01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+  </tr>
+</table>
+
+  <div class="my_btn4"><%= submit_tag "確認", :class=>"rosy button" %></div>
diff --git a/app/views/accounts/_form_mobile_smartphone.html.erb b/app/views/accounts/_form_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..605fc7a
--- /dev/null
@@ -0,0 +1,136 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag 'application.js' %>
+  <%= javascript_include_tag js_url(:action => "application") %>
+<% end %>
+
+<table class="tb2">
+  <tr>
+       <td>お名前<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      姓<%= f.text_field :family_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+      <br />
+      名<%= f.text_field :first_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+    </td>
+  </tr>
+  <tr>
+       <td>お名前:フリガナ<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      セイ<%= f.text_field :family_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+      <br />
+      メイ<%= f.text_field :first_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+    </td>
+  </tr>
+  <tr>
+       <td> 郵便番号<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      〒<%= f.text_field :zipcode01, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} -%>-<%= f.text_field :zipcode02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>
+      <%= link_to "郵便番号を調べる", "http://search.post.japanpost.jp/zipcode/", :target => "_blank" %><br />
+      <input id="postCodeButton" class="rounded rosy" name="zipcode_input" value="住所自動入力" onclick="address_by_zip('customer_zipcode01','customer_zipcode02', null, 'customer_address_city', 'customer_address_detail', 'customer_prefecture_id', 'accounts', '<%=h ActionController::Base.relative_url_root %>');" type="button" />
+      <div>※郵便番号を入力後、クリックしてください。</div>
+    </td>
+  </tr>
+  <tr>
+       <td> 住所:都道府県<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.collection_select :prefecture_id, Prefecture.find(:all, :order=>:position), :id, :name, :class=>"form_s" %></td>
+  </tr>
+  <tr>
+       <td> 住所:市区町村<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :address_city, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:千代田区神田神保町)</p></td>
+  </tr>
+  <tr>
+       <td> 住所:番地・ビル名<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :address_detail, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:1-2-3○○○ビル)</p></td>
+  </tr>
+  <tr>
+       <td> 電話番号<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :tel01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+  </tr>
+  <tr>
+       <td> FAX番号</td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :fax01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :fax02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :fax03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+  </tr>
+  <tr>
+       <td> メールアドレス<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :email, {:class=>"form_m",:style=>"ime-mode:inactive"} %></td>
+  </tr>
+  <tr>
+       <td> メールアドレス(確認)<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td><%= f.text_field :email_confirm, {:class=>"form_m",:style=>"ime-mode:inactive"} %></td>
+  </tr>
+  <tr>
+       <td> 性別<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      <% [System::MALE, System::FEMALE].each do | value | %>
+        <%= f.radio_button :sex, value, {:class=>"radio_btn"} %>
+        <%= content_tag :label, System::SEX_NAMES[value], :for => "customer_sex_%d" % value %>
+      <% end %>
+    </td>
+  </tr>
+  <tr>
+       <td> 職業</td>
+  </tr>
+  <tr>
+    <td><%= f.collection_select :occupation_id, Occupation.find(:all, :order=>:position), :id, :name, :class=>"form_m" %></td>
+  </tr>
+  <tr>
+       <td> 生年月日</td>
+  </tr>
+  <tr>
+    <td><%= f.birthday_select :birthday, :use_month_numbers => true,:start_year =>Time.now.year-70,:end_year=>Time.now.year-10,:default=>{:year=>1980,:month=>1,:day=>1} %></td>
+  </tr>
+  <tr>
+       <td> ご希望のパスワード<span class="must">※</span></td>
+       <% unless @customer.nil? || @customer.new_record? %>
+        <br />パスワード変更時のみ入力してください
+      <% end %>
+  </tr>
+  <tr>
+    <td><%= f.password_field :raw_password, :class=>"form_m" %><br /><span class="m_left">半角英数字4~10文字</span></td>
+  </tr>
+  <tr>
+       <td> ご希望のパスワード(確認)<span class="must">※</span></td>
+       <% unless @customer.nil? || @customer.new_record? %>
+        <br />パスワード変更時のみ入力してください
+      <% end %>
+  </tr>
+  <tr>
+    <td><%= f.password_field :password_confirm, :class=>"form_m" %><br /><span class="m_left">半角英数字4~10文字</span></td>
+  </tr>
+  <tr>
+       <td> メールマガジン送付について<span class="must">※</span></td>
+  </tr>
+  <tr>
+    <td>
+      <% [Customer::HTML_MAIL, Customer::TEXT_MAIL, Customer::NO_MAIL].each do | value | %>
+        <% label = Customer::MAILMAGAZINE_NAMES[value] %>
+        <%= f.radio_button :receive_mailmagazine, value, {:class=>"radio_btn"} %>
+        <%= content_tag :label, label, :for => "customer_receive_mailmagazine_%d" % value %>
+      <% end %>
+    </td>
+  </tr>
+</table>
+
+<div class="my_btn"><%= submit_tag(value="送信", :class=>"rosy button", :id=>"submitForm") %></div>
diff --git a/app/views/accounts/delivery_confirm_mobile_smartphone.html.erb b/app/views/accounts/delivery_confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..be57586
--- /dev/null
@@ -0,0 +1,55 @@
+<div class="sectionHeader">お届け先の確認</div>
+
+
+<table class="tb2">
+  
+    <tr><td>お名前</td></tr>
+    <tr>
+    <td>
+      <%=h @delivery_address.family_name %>
+      <%=h @delivery_address.first_name %>
+    </td>
+  </tr>
+  
+    <tr><td>お名前フリガナ</td></tr>
+    <tr>
+    <td>
+      <%=h @delivery_address.family_name_kana %>
+      <%=h @delivery_address.first_name_kana %>
+    </td>
+  </tr>
+  
+    <tr><td>郵便番号</td></tr>
+    <tr>
+    <td>〒<%=h @delivery_address.zipcode01 -%>-<%=h @delivery_address.zipcode02 %></td>
+  </tr>
+  
+    <tr><td>住所</td></tr>
+    <tr>
+    <td>
+      <%=h @delivery_address.prefecture && @delivery_address.prefecture.name %>
+      <%=h @delivery_address.address_city %>
+      <%=h @delivery_address.address_detail %>
+    </td>
+  </tr>
+  
+    <tr><td>電話番号</td></tr>
+    <tr>
+    <td><%=h @delivery_address.tel01 %>-<%=h @delivery_address.tel02 %>-<%=h @delivery_address.tel03 %></td>
+  </tr>
+</table>
+  
+   <% form_for :delivery_address, :url => {:action => 'delivery_complete', :id=>@id} do | f |%>
+        <div id="submit">
+          <% [:family_name, :first_name, :family_name_kana, :first_name_kana,
+             :zipcode01, :zipcode02, :prefecture_id, :address_city,
+             :address_detail, :tel01, :tel02, :tel03].each do | column | %>
+            <%= f.hidden_field column %>
+          <% end %>
+          <%= hidden_field_tag 'popup', @popup %>
+          <div class="my_btn4">
+            <%= link_to_function "戻る", 'history.back()', :class => 'rosy button submitInputSize' %>
+            <%= submit_tag('送信', :class=>"rosy button") %>
+          </div>
+        </div>
+      <% end %>
\ No newline at end of file
diff --git a/app/views/accounts/delivery_edit_mobile_smartphone.html.erb b/app/views/accounts/delivery_edit_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..ab47ee5
--- /dev/null
@@ -0,0 +1,12 @@
+<div class="sectionHeader">お届け先の編集</div>
+
+<div class="addressMessage">
+       <span style="color:#ff0000;">※</span>は必須項目です。
+</div>
+
+<%= error_messages_for :delivery_address %>
+
+<% form_for :delivery_address, :url => {:action => 'delivery_update', :id=> @id} do |f| %>
+        <%= render :partial => 'delivery_form', :locals => {:f => f} %>
+        <%= hidden_field_tag 'popup', @popup %>
+      <% end %>
\ No newline at end of file
diff --git a/app/views/accounts/delivery_list_mobile_smartphone.html.erb b/app/views/accounts/delivery_list_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..96cc823
--- /dev/null
@@ -0,0 +1,27 @@
+<div class="sectionHeader">お届け先の追加・変更</div>
+
+   <div><%= flash[:notice] %></div>
+   <div><%= flash[:error] %></div>
+   <%= error_messages_for :delivery_address if @delivery_address %>
+   <% if @delivery_addresses.count < 20 %>
+   <p>
+   <%= link_to @delivery_addresses.count == 0 ? '新しいお届け先の追加・変更' : '新しいお届け先を追加する', {:action => :delivery_new}, :class => 'rosy small_button delivery_edit text' %>
+
+   </p>
+   <% end %>
+   <% if @delivery_addresses.count == 0 %>
+   <div class="text">新しいお届け先はありません</div>
+   <% else %>
+       <% @delivery_addresses.each_with_index do | address, i | %>
+               <div class="sectionSubheader">お届け先住所 <%= i+1 %></div>
+               <div class="addressEntry">
+                       〒<%= address.zipcode01 %>-<%= address.zipcode02 %><br />
+                       <%=h address.prefecture.name %><%=h address.address_city %><br /><%=h address.address_detail %><br />
+                       <%=h address.family_name %> <%=h address.first_name %>
+                       <div>
+                             <%= link_to '変更', {:action => :delivery_edit, :id => address.id}, :class => "rosy small_button" %>
+                             <%= link_to '削除', {:action => :delivery_destroy, :id => address.id}, :class => "rosy small_button", :confirm => '本当に削除しますか?' %>
+                       </div>
+               </div>
+       <% end %>
+   <% end %>
diff --git a/app/views/accounts/delivery_new_mobile_smartphone.html.erb b/app/views/accounts/delivery_new_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..1fb92e9
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="sectionHeader">お届け先の追加</div>
+
+<div>
+       <div class="text">
+               <p>下記項目にご入力ください。「<font color="red">※</font>」印は入力必須項目です。</p>
+               <p>入力後、一番下の「確認」ボタンをクリックしてください。</p><br />
+       </div>
+        <%= error_messages_for :delivery_address %>
+        <% form_for :delivery_address, :url => {:action => 'delivery_create'} do |f| %>
+          <%= render :partial => 'delivery_form_mobile_smartphone', :locals => {:f => f} %>
+          <%= hidden_field_tag 'popup', @popup %>
+        <% end %>
+</div>
\ No newline at end of file
diff --git a/app/views/accounts/edit_complete_mobile_smartphone.html.erb b/app/views/accounts/edit_complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..49cfeca
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="sectionHeader">会員登録内容変更完了</div>
+
+<div style="text-align:center;">ご登録内容の変更が完了いたしました。</div>
+
+<div class="my_btn4"><%= link_to('TOPページに戻る', {:controller=>'portal', :action=>'show'}, :class => 'rosy button') %></div>
diff --git a/app/views/accounts/edit_confirm_mobile_smartphone.html.erb b/app/views/accounts/edit_confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..ebba13f
--- /dev/null
@@ -0,0 +1,22 @@
+<div class="sectionHeader">会員登録内容変更確認</div>
+
+<%= error_messages_for :customer %>
+<%= render :partial => 'confirm', :locals => {:customer => @customer} %>
+
+<% form_for :customer, :url => {:action => 'edit_complete'} do |f| %>
+
+  <% [:zipcode01, :zipcode02, :tel01, :tel02, :tel03,
+      :fax01, :fax02, :fax03, :sex, :occupation_id,
+      :family_name, :first_name, :family_name_kana, :first_name_kana,
+      :email, :address_city, :address_detail,
+      :birthday, :raw_password, :receive_mailmagazine, :prefecture_id
+      ].each do | column | %>
+    <%= f.hidden_field column -%>
+  <% end %>
+  <div class="my_btn4">
+    <%= hidden_field_tag 'password', @customer.raw_password -%>
+    <%= hidden_field_tag 'stage', 3 %>
+    <%= submit_tag '戻る', :name => 'back', :class => 'rosy button' %>
+    <%= submit_tag '更新', :class => 'rosy button'  %>
+  </div>
+<% end %>
diff --git a/app/views/accounts/edit_mobile_smartphone.html.erb b/app/views/accounts/edit_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..cd59ed8
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="sectionHeader">会員登録内容変更</div>
+
+<div class="highlightError">
+       <%= @customer && error_messages_for(:customer) %>
+</div>
+
+<div class="editMessage">
+       <span class="important">※</span>は必須項目です。
+</div>
+
+<% form_for :customer, :url => {:action => 'edit_confirm'} do |f| %>
+      <%= render :partial => "form", :locals => {:f => f} %>
+<% end %>
diff --git a/app/views/accounts/history_list_mobile_smartphone.html.erb b/app/views/accounts/history_list_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..12bde69
--- /dev/null
@@ -0,0 +1,28 @@
+<div class="sectionHeader">購入履歴一覧</div>
+
+<% if @orders && !@orders.empty? %>
+       <% @orders.each do | order | %>
+               <%- order_delivery = order.order_deliveries[0] -%>
+
+               <div class="sectionSubheader">
+                       <%= date_time(order.received_at) %>
+               </div>
+               
+               <div class="historyEntry">
+                       注文番号:<%=h order.code %>
+                       <br/>
+                       合計金額:<%=number_with_delimiter order.total %>円
+               </div>
+               <div class="showHistoryButton">
+                           <%= button_to '詳細', {:action => 'history_show', :id => order.id}, :class => 'rosy small_button' %>
+                       </div>
+               <br clear="all" />
+       <% end %>
+       <%= will_paginate @orders %>
+       
+<% else %>
+       <div style="text-align:center;">
+           購入履歴はありません。
+       </div>
+<% end %>
+
diff --git a/app/views/accounts/history_show_mobile_smartphone.html.erb b/app/views/accounts/history_show_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..7b493d4
--- /dev/null
@@ -0,0 +1,58 @@
+<div class="sectionHeader">購入履歴詳細</div>
+       <div class="historyDetail">
+             <%= date_time(@order.received_at) %><br />
+             注文番号: <%=h @order.code %>
+      </div>
+      
+      <div class="sectionSubheader">配送先</div>
+      <div class="historyDetail">
+             <%=h @order_delivery.deliv_family_name %> <%=h @order_delivery.deliv_first_name %><br />
+             〒<%=h @order_delivery.deliv_zipcode01 %>-<%=h @order_delivery.deliv_zipcode02 %><br />
+             <%=h @order_delivery.prefecture.name %><%=h @order_delivery.address_city %><%=h @order_delivery.address_detail %><br />
+             <%=h @order_delivery.deliv_tel01 %>-<%=h @order_delivery.deliv_tel02 %>-<%=h @order_delivery.deliv_tel03 %>
+      </div>
+      
+      <div class="sectionSubheader">お届け時間指定</div>
+      <div class="historyDetail">
+      <%=h @order_delivery.delivery_time_name %>
+       </div>
+
+      <div class="sectionSubheader">お支払い方法</div>
+      <div class="historyDetail">
+             <%=h @order_delivery.payment && @order_delivery.payment.name %>
+      </div>
+      
+      <div class="sectionSubheader">ご注文内容</div>
+      <div class="historyDetail">
+             <% @order_delivery.order_details.each do | detail | %>
+            <%= link_to_product detail.product_style.product, detail.product_style_name %><br />
+            単価: <%= number_with_delimiter(detail.price) %>円<br />
+            個数: <%= number_with_delimiter(detail.quantity) %><br />
+            小計: <%= number_with_delimiter(detail.subtotal) %>円<br />
+                <br />
+             <% end %>
+      </div>
+      
+      <div class="sectionSubheader">購入金額</div>
+      <div class="historyDetail">
+             小計:<%= number_with_delimiter(@order_delivery.subtotal) %>円<br />
+             送料:<%= number_with_delimiter((@order_delivery.deliv_fee.blank? ? 0 :@order_delivery.deliv_fee)) %>円<br />
+             手数料:<%= number_with_delimiter(@order_delivery.charge.blank? ? 0 :@order_delivery.charge) %>円<br />
+             合計:<%= number_with_delimiter(@order_delivery.total) %>円<br />
+             使用ポイント:-<%= number_with_delimiter(@order_delivery.use_point) %>Pt<br />
+             加算されるポイント:+<%= number_with_delimiter(@order_delivery.add_point) %>Pt<br />
+             支払金額:<%= number_with_delimiter(@order_delivery.payment_total) %>円<br />
+      </div>
+      
+      <div class="sectionSubheader">注文状況</div>
+      <div class="historyDetail">
+         ステータス:<%= h @order_delivery.front_status_view %><br />
+        発送日:<%= @order_delivery.shipped_at ? date(@order_delivery.shipped_at) : '未発送' %><br />
+        発送伝票番号:<% if @order_delivery.delivery_tickets.empty? %>
+                               未発送
+                       <% else %>
+                            <% @order_delivery.delivery_tickets.each do |ticket| %>
+                             <%=h ticket.code %><br/>
+                            <% end %>
+                           <% end %>
+       </div>
\ No newline at end of file
diff --git a/app/views/accounts/kiyaku_mobile_smartphone.html.erb b/app/views/accounts/kiyaku_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..8abfd5e
--- /dev/null
@@ -0,0 +1,20 @@
+<div class="sectionHeader">利用規約</div>
+<div id="entry">
+<div class="text">
+  <!-- 会員規約 -->
+  <p class="agreement_t">ご利用規約および個人情報の取り扱いに関する同意書</p>
+
+  <div class="agreement_box">
+  <% @kiyakus.each do |kiyaku| -%>
+    <p><%=h kiyaku.name %></p>
+    <p><%=h_br kiyaku.content %></p>
+  <% end %>
+  </div>
+
+  <div id="termsButtons">
+       <div class="floatLeft"><%= link_to "同意しない", {:controller=>'portal', :action=>'show'}, :class=>"rosy button" %></div>
+       <div class="floatLeft"><%= link_to "同意する", {:controller=>'accounts', :action=>'signup'}, :class=>"rosy button" %></div>
+       <br clear="all" />
+  </div>
+</div><!-- /entry -->
+</div>
\ No newline at end of file
diff --git a/app/views/accounts/login_mobile_smartphone.html.erb b/app/views/accounts/login_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..df38ddf
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="sectionHeader">ログイン</div>
+
+<div class="text"><span style="color:#ff0000;"><%= flash[:notice] %></span></div>
+<% form_for(:customer, :url => { :action => "login" } ) do |f| -%>
+ <div id="loginForm">
+       <span style="color:#FF9775;">●</span> メールアドレス<br /><%= f.text_field("email",{:size => "30", :style => "height : 14px;", :class => "rounded"}.merge(mobile_input_mode(:alphabet))) %><br />
+       <span style="color:#FF9775;">●</span> パスワード<br /><%= f.password_field("password",:size => "30", :style => "height : 14px;", :class => "rounded") %><br />
+ </div>
+<%= f.submit 'ログイン', :class=>'rosy button text' %>
+<% end %>
+<div id="loginLinks">
+<div><span style="color:#FF9775;">⇒</span> <%= link_to 'パスワードをお忘れの方はこちら', {:controller => 'accounts', :action => 'salvage'} %></div>
+<div><span style="color:#FF9775;">⇒</span> <%= link_to("新規会員登録はコチラ", { :controller => "accounts", :action => "kiyaku_intro" } ) %></div>
+<div><span style="color:#FF9775;">⇒</span> <%= link_to("購入を引き続き", { :controller => "cart", :action => "temporary_shipping" } ) %></div>
+</div>
\ No newline at end of file
diff --git a/app/views/accounts/myindex_mobile_smartphone.html.erb b/app/views/accounts/myindex_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..8ca596a
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="sectionHeader">MYページTOP</div>
+
+<div class="topMessage">
+<%= h([@login_customer.family_name, @login_customer.first_name].join(' '))%>様<br />
+いつもご利用いただきありがとうございます。<br/>
+現在のポイント<%= @login_customer.point.to_i %>pt
+</div>
+
+<div class="rosy banner">購入履歴一覧<%= link_to "<span class='link'></span>", {:controller => 'accounts', :action => 'history_list'} %></div>
+<div class="rosy banner">登録内容変更<%= link_to "<span class='link'></span>", {:controller => 'accounts', :action => 'edit'} %></div>
+<div class="rosy banner">お届け先追加・変更<%= link_to "<span class='link'></span>", :controller=>'accounts', :action=>'delivery' %></div>
+<div class="rosy banner">退会<%= link_to "<span class='link'></span>", {:controller => 'accounts', :action => 'withdraw'} %></div>
+<% @user_navigation_list.each do |navi| %>
+  <%= render :partial => navi %>
+<% end %>
\ No newline at end of file
diff --git a/app/views/accounts/salvage_complete_mobile_smartphone.html.erb b/app/views/accounts/salvage_complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..bc5cccd
--- /dev/null
@@ -0,0 +1,12 @@
+<div class="sectionHeader">パスワードを忘れた方</div>
+
+<div id="complete_area">
+<p class="text">
+ 新しいパスワードをメール送信いたしましたので、ご利用ください。<br />
+ 又、パスワードの変更は会員登録の変更で行えますので、MYページの会員登録変更にて行ってください。</p>
+
+<p class="text">「暗号化(SSL)」を使用しています。お客様情報やパスワードは安全に送受信されます。</p>
+<div class="my_btn4">
+    <%= link_to "TOPへ戻る", {:controller => :portal, :action => :show}, :class => "rosy button" %>
+</div>
+</div>
\ No newline at end of file
diff --git a/app/views/accounts/salvage_mobile_smartphone.html.erb b/app/views/accounts/salvage_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..6e7d8e0
--- /dev/null
@@ -0,0 +1,32 @@
+<div class="sectionHeader">パスワードを忘れた方</div>
+
+<p class="text">
+  ウェブショップ用パスワードを忘れた方は、当ページより再度パスワードを設定いただけます。<br />
+  ご登録頂いている内容を入力して下さい。
+</p>
+<p class="highlightError text"><%= flash[:notice] %></p>
+<%= error_messages_for(:input) if @input %>
+<% form_for :input, :url => {:action => 'salvage_complete'} do |f| %>
+  <table class="tb2">
+  <tr><td>メールアドレス</td></tr>
+    <tr>
+      <td><%= f.text_field :email, {:class=>"form_m",:style=>"ime-mode:inactive"} %></td>
+    </tr>
+     <tr><td>お名前(漢字)</td></tr>
+    <tr>
+      <td>
+        姓<%= f.text_field :family_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %><br />
+        名<%= f.text_field :first_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+      </td>
+    </tr>
+     <tr><td>生年月日</td></tr>
+    <tr>
+      <td><%= f.birthday_select :birthday , :use_month_numbers => true,:start_year =>Time.now.year-70,:end_year=>Time.now.year-10,:default=>{:year=>1980,:month=>1,:day=>1}%></td>
+    </tr>
+    <tr><td>電話番号</td></tr>
+    <tr>
+      <td><%= f.text_field :tel01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+    </tr>
+  </table>
+  <div class="my_btn4"><%= submit_tag "送信", :class=>"rosy button" %></div>
+<% end %>
diff --git a/app/views/accounts/signup_complete_mobile_smartphone.html.erb b/app/views/accounts/signup_complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..c68d8d8
--- /dev/null
@@ -0,0 +1,10 @@
+<div class="sectionHeader">会員登録</div>
+<div id="entry">
+
+<!-- 会員登録 -->
+<p class="text">会員登録が完了しました。</p>
+<p class="text">登録していただいたメールアドレス宛に、会員登録確認のメールを送信しました。<br />
+メール記載のアドレスにアクセスし、登録を完了させてください。</p>
+<div class="my_btn4"><%= link_to('TOPページへ', {:controller=>'/'}, :class => 'rosy button') %></div>
+
+</div><!-- /entry -->
diff --git a/app/views/accounts/signup_confirm_mobile_smartphone.html.erb b/app/views/accounts/signup_confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..7c958a5
--- /dev/null
@@ -0,0 +1,24 @@
+<div class="sectionHeader">会員登録</div>
+<div id="confirmEntry">
+<%= @customer && error_messages_for(:customer) %>
+<%= render :partial => 'confirm', :locals  => { :customer => @customer } %>
+<% form_for :customer, :url => {:action => 'signup_complete'} do |f| %>
+  <div>
+    <% [ :zipcode01, :zipcode02, :tel01, :tel02, :tel03,
+        :fax01, :fax02, :fax03, :sex, :occupation_id,
+        :family_name, :first_name, :family_name_kana, :first_name_kana,
+        :email, :address_city, :address_detail,
+        :birthday, :raw_password, :receive_mailmagazine, :prefecture_id,
+        :password_confirm, :email_confirm
+       ].each do | column | %>
+      <%= f.hidden_field column -%>
+    <% end %>
+
+    <%= hidden_field_tag 'password', @customer.raw_password -%>
+    <div class="my_btn4">
+       <%= submit_tag '戻る', :name=>'back', :class=>'rosy button'%>
+    <%= submit_tag '登録', :class=>'rosy button'%>
+    </div>
+  </div>
+<% end %>
+</div>
diff --git a/app/views/accounts/signup_mobile_smartphone.html.erb b/app/views/accounts/signup_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..6c17a15
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="sectionHeader">会員登録</div>
+<div id="entry">
+  <p class="tb_desc">
+    会員情報をご送信いただくと、お客さまにメールが届きます。<br />
+    メールに記載のURLにアクセスしていただき会員登録の手続きが完了となります。
+  </p>
+  <p class="require">※は必ずご入力ください。パスワードは商品購入時に必要となります。</p>
+  <%= @customer && error_messages_for(:customer) %>
+
+  <div id="input_area">
+    <% form_for :customer, :url => {:action => 'signup_confirm'} do |f| %>
+      <%= render :partial => "form", :locals => {:f => f} %>
+    <% end %>
+  </div>
+</div>
diff --git a/app/views/accounts/withdraw_complete_mobile_smartphone.html.erb b/app/views/accounts/withdraw_complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..c57e3c9
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="sectionHeader">退会手続き</div>
+
+<div class="text">
+退会手続きが完了いたしました。<br />
+ご利用いただき、誠にありがとうございました。<br />
+またのご利用を心よりお待ち申し上げます。
+</div>
+<br />
+<div style="text-align:center;"><%= link_to('TOPページへ', { :controller=>'portal', :action=>'show' }, :class => "rosy button") %></div>
\ No newline at end of file
diff --git a/app/views/accounts/withdraw_confirm_mobile_smartphone.html.erb b/app/views/accounts/withdraw_confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..28af361
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="sectionHeader">退会手続き</div>
+
+
+<div class="text">退会手続きを実行してもよろしいでしょうか?</div>
+
+<div class="withdrawButtons">
+<% form_tag :action => 'withdraw_complete' do %>
+<%= submit_tag 'はい', :class => 'rosy button withdrawYes' %>
+<% end %>
+<%= button_to "いいえ", {:controller => :accounts, :action => :myindex}, :class => 'rosy button withdrawNo' %>
+</div>
+
+<div class="text highlightError">※退会手続きが完了した時点で、現在保存されている購入履歴や、お届け先等の情報はすべてなくなりますのでご注意ください。</div>
\ No newline at end of file
diff --git a/app/views/accounts/withdraw_mobile_smartphone.html.erb b/app/views/accounts/withdraw_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..80776f8
--- /dev/null
@@ -0,0 +1,9 @@
+<div class="sectionHeader">退会手続き</div>
+
+<div class ="text">会員を退会された場合には、現在保存されている購入履歴や、お届け先などの情報は、すべて削除されますがよろしいでしょうか?</div>
+
+<div style="text-align:center;">
+<% form_tag :action => 'withdraw_confirm' do %>
+ <%= submit_tag '会員退会手続きへ', :class => 'rosy button' %>
+<% end %>
+</div>
\ No newline at end of file
diff --git a/app/views/base/_add_cart_mobile_smartphone.html.erb b/app/views/base/_add_cart_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..01e64d2
--- /dev/null
@@ -0,0 +1,46 @@
+<%# render :partial => 'add_cart', :locals => {:product => product} 等と書く -%>
+<% form_tag :controller => :cart, :action => :add_product do %>
+
+<div>
+<div class="centerCart">
+<div id="cart_in">
+ <% if product.in_sale_term? && !(@login_customer && @login_customer.black) %>
+  <%= flash['error_%d' % product.id] %>
+  <%= @add_product && error_messages_for(:add_product) %>
+  <table id="style_set">
+   <% each_product_styles(product) do |style,style_categories,index| %>
+     <tr>
+      <th><%= style.name %></th>
+      <td>
+       <%= select_tag 'style_category_id%d'%index,
+           options_for_select(style_categories.map{|sc|[sc.name, sc.id]}) %>
+      </td>
+     </tr>
+   <% end %>
+   <tr>
+    <th>個数</th>
+    <td><%= text_field_tag 'size', 1 , :size => "3"%></td>
+   </tr>
+   <tr>
+    <td colspan="2">
+     <%= hidden_field_tag 'campaign_id', campaign_id if local_variables.include?('campaign_id') %>
+     <%= hidden_field_tag 'product_id', product.id %>
+    </td>
+   </tr>
+  </table>
+ <% elsif product.sale_start_at > Time.now # 販売終了商品 %>
+  <p><%= product.sale_start_at.strftime("%Y年%m月%d日") %>発売予定</p>
+ <% else # 販売終了商品 %>
+  <p>この商品は販売を終了しております。</p>
+ <% end %>
+</div>
+<div id="addToCart">
+       <% if @admin_preview %>
+               <input type="button" value="カートに入れる" />
+       <% else %>
+               <%= submit_tag 'カートに入れる', :class=>'rosy button' %>
+       <% end %>
+   </div>
+   </div>
+</div>
+<% end %>
diff --git a/app/views/base/_new_product_smartphone.html.erb b/app/views/base/_new_product_smartphone.html.erb
new file mode 100644 (file)
index 0000000..04daace
--- /dev/null
@@ -0,0 +1,48 @@
+<!-- version 3: second attempt at buttons-->
+<% content_for :head do %>
+       <%= javascript_include_tag "smartphone/jquery.tools.min.js" %>
+       <%= javascript_include_tag "smartphone/scrollable.js" %>
+       <%= stylesheet_link_tag "smartphone/scrollableMin.css" %>
+       <%= stylesheet_link_tag "smartphone/scrollable-buttons.css" %>
+       <script type="text/javascript">
+               $.noConflict();
+       </script>
+<% end -%>
+
+<p class="sectionHeader">新着アイテム</p>
+
+<!-- "previous page" action -->
+<a class="prev browse left"></a>
+
+<!-- root element for scrollable -->
+<div class="scrollable">   
+   
+   <!-- root element for the items -->
+   <div id="scrollableContents" class="items">
+               
+    <%- unless @new_products.blank? -%>
+                       <div>
+               <%- @new_products.each_with_index do | new_product, index | -%>
+                       <%- if index == 3 || index == 6 -%>
+                       <div>
+                       <%- end -%>
+                               <div class="img item">
+                                       <%= link_to( "<span class='link'></span>", {:controller => "/products", :action => "show", :id => (new_product.id),:category_id => new_product.category_id}) %>
+                                       <%= product_image_tag(new_product, :smartphone) %>
+                                       <div class="desc"><%= new_product.name %></div>
+                               </div>
+                       <%- if index == 2 || index == 5 -%>
+                       </div>
+                       <%- end -%>
+               <%- end -%>
+                       </div>
+   <%- end -%>   
+      
+   </div>
+   
+</div>
+
+<!-- "next page" action -->
+<a class="next browse right"></a>
+
+<br clear="all" /> 
\ No newline at end of file
diff --git a/app/views/cart/_address_list_mobile_smartphone.html.erb b/app/views/cart/_address_list_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..5ac9d56
--- /dev/null
@@ -0,0 +1,10 @@
+ <%- @addresses.each do |address| %>
+       <div class="sectionSubheader">選択<%= address_button(address) %></div>
+       <div class="addressEntry">
+               住所種類<%= address_type_to_s(address) %><br />
+               お届け先<%= address_detail(address) %><br />
+               <%= link_to_edit_address(address, 'rosy small_button delivery_edit') %>
+               <%= link_to_delete_address(address, 'rosy small_button') %>
+       </div>
+ <%- end -%>
+ <div class="addressEndList"></div>
diff --git a/app/views/cart/_cart_items_smartphone.html.erb b/app/views/cart/_cart_items_smartphone.html.erb
new file mode 100644 (file)
index 0000000..64b4873
--- /dev/null
@@ -0,0 +1,42 @@
+<% @carts.each_with_index do |cart, i| %>
+       <div class="cartItem">
+               <div class="productImage">
+                       <%= link_to( "<span class='link'></span>", {:controller => "/products", :action => "show", :id => (cart.product_style.product.id),:category_id => cart.product_style.product.category_id}) %>
+                       <%= product_image_tag(cart.product_style.product, :small ,{:width=>"70",:height=>"70",:align=>"left",:style=>"vertical-align:middle; float:left; margin:4px;"}) %>
+               </div>
+               <div class="productDetails">
+                       <%= h(cart.product_name) %> <br />
+                       <%= h(cart.classcategory_name1) %> <br />
+                       <%= h(cart.classcategory_name2) %>
+               
+                       <%- unless cart.product_style.product.master_shop? %>
+                       <br />販売元: <%= show_retailer_shop(cart.product_style.product) %>
+                       <% end %>
+               </div>
+               
+               <div class="productQuantity">
+                       単価: &yen;<%= h(number_with_delimiter(cart.price)) %> <br />
+                       数量: <%= h(cart.quantity) %>個<br />
+               </div>
+               
+               
+               <% if details %>
+                       <div class="productSubtotal">
+                               小計 <span class="highlightYen"><%= number_with_delimiter cart.subtotal %></span>円
+                       </div>
+               <% end %>
+               
+               <% if buttons %>
+                       <div class="productButtons">
+                               <%= incriment_tag(cart) %>
+                               <%= decriment_tag(cart) %>
+                               <%= link_to '削除',
+                                 {:controller => 'cart', :action => 'delete', :id => cart.product_style_id},
+                                 {:class => 'rosy small_button', :confirm=>'本当に削除しますか?'}
+                                %>
+                       </div>
+               <% else %>
+                       <br clear="all" />
+               <% end %>
+       </div>
+   <% end %>
\ No newline at end of file
diff --git a/app/views/cart/_set_delivery_each_retailer_mobile_smartphone.html.erb b/app/views/cart/_set_delivery_each_retailer_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..619ee03
--- /dev/null
@@ -0,0 +1,27 @@
+<div class="text">
+  <h3 class="tb_t">配送情報: <%= Retailer.find(retailer_id).name %></h3>
+  <div class="delivery_trader_select">
+    <p>発送方法をお選びください</p>
+    <ul>
+      <% @delivery_traders[retailer_id].each do |delivery_trader| %>
+        <li>
+        <%= radio_button "order_deliveries[#{retailer_id}]", "delivery_trader_id", delivery_trader.id, :class => 'radio_trader' %>
+        <%= label "order_deliveries[#{retailer_id}]", "delivery_trader_id", delivery_trader.name %>
+        </li>
+      <% end %>
+    </ul>
+  </div>
+
+  <div class="delivery_time_select">
+    <p>配達時間をお選びください</p>
+    <select id="delivery_time_<%= retailer_id %>" name="order_deliveries[<%= retailer_id %>][delivery_time_id]">
+      <option value="">指定なし</option>
+      <%= render :action => 'select_delivery_time_with_delivery_trader_id_ajax', :params => {:record => @order_deliveries[retailer_id]}, :method => 'get' %>
+    </select>
+  </div>
+
+</div>
+
+  <div class="delivery_cart">
+       <%= render :partial  => 'cart_items_smartphone', :locals  => { :details => false, :buttons => false} %>
+  </div>
diff --git a/app/views/cart/complete_mobile_smartphone.html.erb b/app/views/cart/complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..ced4758
--- /dev/null
@@ -0,0 +1,16 @@
+<div class="sectionHeader">ご注文の完了</div>
+
+<div class="purchaseComplete">ご注文ありがとうございました。</div>
+
+<div class="completeMessage">
+       只今、ご注文の確認メールをお送りさせていただきました。<br />
+       万一、ご確認メールが届かない場合は、トラブルの可能性もありますので大変お手数ではありますが
+       もう一度お問い合わせ頂くか、お電話にてお問い合わせくださいませ。<br />
+       今後ともご愛願賜りますようよろしくお願い申し上げます。
+</div>
+
+<div class="historyButton">
+<% if @login_customer%>
+       <%= link_to '今回の購入履歴を確認', {:controller => 'accounts', :action => 'history_list'}, :id => flash[:order_id], :class => "rosy button" %>
+<%end%>
+</div>
diff --git a/app/views/cart/confirm_mobile_smartphone.html.erb b/app/views/cart/confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..4349129
--- /dev/null
@@ -0,0 +1,299 @@
+<div class="sectionHeader">ご注文の確定</div>
+
+<% @order_deliveries.each do |retailer_id, order_delivery| %>
+
+<%= render :partial  => 'cart_items_smartphone', :locals  => { :details => true, :buttons => false} %>
+<!-- 合計 -->
+<div class="subtotals">
+       小計(税込み価格):<%= number_with_delimiter order_delivery.subtotal %>円
+       <br/>
+       送料:<%= number_with_delimiter order_delivery.deliv_fee %>円
+       <br/>
+       手数料:<%= number_with_delimiter order_delivery.charge %>円
+       <br/>
+</div>
+
+<div class="total">
+       【 合計 <span class="highlightYen"><%= number_with_delimiter order_delivery.total %></span>円 】
+</div>
+
+<!-- ポイント -->
+<div class="usedPoints">
+       <% if @login_customer %>
+               ご使用ポイント
+               <div class="confirmDetail">
+               -<%= number_with_delimiter(order_delivery.use_point.to_i) %>Pt
+               </div>
+
+
+               ご注文前のポイント
+               <div class="confirmDetail">
+               <%= number_with_delimiter(@login_customer.point.to_i) %>Pt
+               </div>
+       <% end %>
+</div>
+<% end %>
+
+<div class="gainedPoints">
+       <% unless @not_login_customer %>
+               今回加算されるポイント
+               <div class="confirmDetail">
+               +<%= number_with_delimiter(@cart_point.to_i) %>Pt
+               </div>
+               ご注文完了後のポイント
+               <div class="confirmDetail">
+               <%= number_with_delimiter(@point_after_operation.to_i) %>Pt
+               </div>
+
+       <% end %>       
+</div>
+
+<div class="payAmount">
+       【 支払金額  <span class="highlightYen"><%= number_with_delimiter @payment_total %></span>円 】
+</div>
+
+
+<% od = @order_deliveries.values.first %>
+
+<!-- お届け先 -->
+<div class="confirmAddress">
+       <span style="color:#FF9775;">●</span> お届け先
+       <div class="confirmDetail">
+               〒<%=h od.deliv_zipcode01 %>-<%=h od.deliv_zipcode02 %>
+               <br/>
+               <%=h od.deliv_pref.name %><%=h od.deliv_address_city %><%=h od.deliv_address_detail %>
+               <br/>
+               <%=h od.deliv_family_name %>&nbsp;<%=h od.deliv_first_name %>
+               <br/>
+               Tel. <%=h od.deliv_tel01 %>-<%=h od.deliv_tel02 %>-<%=h od.deliv_tel03 %>
+       </div>
+</div>
+
+<!-- お支払方法・お届け時間 -->
+<div class="confirmPayment">
+       <span style="color:#FF9775;">●</span> お支払方法・お届け時間<br />
+       <div class="confirmDetail">
+               <%=h od.payment.name %>
+               <br/>
+               <%=h od.delivery_time_name %>
+       </div>
+</div>
+
+<!-- お客様情報 -->
+<% if @not_login_customer %>
+       <%- @order_deliveries.each do |key, order_delivery| -%>
+       <div class="confirmAccount">
+               <span style="color:#FF9775;">●</span> お客様情報<br />
+       </div>
+       <%= render :partial => "/accounts/confirm", :locals  => { :customer => order_delivery } %>
+       <% end %>
+<% end %>
+
+
+<% form_tag :action => @next do %>
+<div class="addressButton1" style="text-align:center;">
+    <%= render :partial=>'order_deliveries' %>
+    <%- @order_deliveries.each do |key, order_delivery| -%>
+      <%- order_delivery.attribute_names.each do |column| %>
+        <%= hidden_field_tag "order_deliveries[#{key}][#{column}]", order_delivery[column] %>
+      <%- end %>
+    <%- end -%>
+    <% if @not_login_customer%>
+    <%=hidden_field_tag "temporary_customer_flag","1"%>
+      <% if !params[:address_enable].nil?%>
+        <%=hidden_field_tag "address_enable","1"%>
+      <% end%>  
+    <% end%>
+
+    <%= submit_tag '注文', :class => "rosy button rightButtonPlacement"  %>
+</div>
+<% end %>
+<% form_tag :action => 'purchase' do %>
+<div style="text-align:center;">
+    <%= render :partial=>'order_deliveries' %>
+    <%- @order_deliveries.each do |key, order_delivery| -%>
+      <%- order_delivery.attribute_names.each do |column| %>
+        <%= hidden_field_tag "order_deliveries[#{key}][#{column}]", order_delivery[column] %>
+      <%- end %>
+    <%- end -%>
+    <% if @not_login_customer%>
+    <%=hidden_field_tag "temporary_customer_flag","1"%>
+      <% if !params[:address_enable].nil?%>
+        <%=hidden_field_tag "address_enable","1"%>
+      <% end%>  
+    <% end%>
+    <%=hidden_field_tag "back","1" %>
+    <%= submit_tag '戻る', :class => "rosy button leftButtonPlacement2" %>
+    <br/>
+</div>
+<% end %>
+<% if false %>
+
+
+<% @order_details.each_with_index do | detail, i | %>
+       商品名<%= link_to_product(detail.product, detail.product_style_name) %>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       <div style="text-align:right;">単価:&yen;<%= number_with_delimiter detail.price %>
+        / 数量:<%= number_with_delimiter detail.quantity %>個<br />
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       計:&yen;<%= number_with_delimiter detail.subtotal %>(税込み価格)</div>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "5" %><br /></div>
+<% end %>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+
+<!-- 合計 -->
+小計(税込み価格):<%= number_with_delimiter @order_delivery.subtotal %>円
+<br/>
+送料:<%= number_with_delimiter @order_delivery.deliv_fee %>円
+<br/>
+手数料:<%= number_with_delimiter @order_delivery.charge %>円
+<br/>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+<div style="text-align:center;">【 合計 <%= number_with_delimiter @order_delivery.total %>円 】</div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+
+<!-- ポイント -->
+<% if @login_customer %>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       <div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       ご注文前のポイント
+       <br/>
+       <%= number_with_delimiter(@login_customer.point.to_i) %>Pt
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       ご使用ポイント
+       <br/>
+       -<%= number_with_delimiter(@order_delivery.use_point.to_i) %>Pt
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       今回加算されるポイント
+       <br/>
+       +<%= number_with_delimiter(@cart_point.to_i) %>Pt
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       ご注文完了後のポイント
+       <br/>
+       <%= number_with_delimiter(@point_after_operation.to_i) %>Pt
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+       <div style="text-align:center;">【 支払金額  <%= number_with_delimiter @order_delivery.payment_total %>円 】</div>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+<% end %>
+
+<!-- お客様情報 -->
+<% if @not_login_customer %>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       <div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       <span style="color:#FF9775;">■</span> お客様情報<br />
+       お名前
+       <br/>
+       <%=h @order_delivery.family_name %>&nbsp;<%=h @order_delivery.first_name %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       お名前(フリガナ)
+       <br/>
+       <%=h @order_delivery.family_name_kana %>&nbsp;<%=h @order_delivery.first_name_kana %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       郵便番号
+       <br/>
+       〒<%=h @order_delivery.deliv_zipcode01 %>-<%=h @order_delivery.deliv_zipcode02 %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       住所
+       <br/>
+       <%=h @order_delivery.prefecture.name %><%=h @order_delivery.address_city %><%=h @order_delivery.address_detail %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       電話番号
+       <br/>
+       <%=h @order_delivery.tel01 %>-<%=h @order_delivery.tel02 %>-<%=h @order_delivery.tel03 %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       ファックス番号
+       <br/>
+       <%=h @order_delivery.fax01 %>-<%=h @order_delivery.fax02 %>-<%=h @order_delivery.fax03 %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       メールアドレス
+       <br/>
+       <%=h @order_delivery.email %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       性別
+       <br/>
+       <%=h @order_delivery.sex_name %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       生年月日
+       <br/>
+       <%=h @order_delivery.birthday %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+       職業
+       <br/>
+       <%=h @order_delivery.occupation && @order_delivery.occupation.name %>
+       <br/>
+       <div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<% end %>
+
+<!-- お届け先 -->
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<span style="color:#FF9775;">■</span> お届け先<br />
+〒<%=h @order_delivery.deliv_zipcode01 %>-<%=h @order_delivery.deliv_zipcode02 %>
+<br/>
+<%=h @order_delivery.deliv_pref.name %><%=h @order_delivery.deliv_address_city %><%=h @order_delivery.deliv_address_detail %>
+<br/>
+<%=h @order_delivery.deliv_family_name %>&nbsp;<%=h @order_delivery.deliv_first_name %>
+<br/>
+Tel. <%=h @order_delivery.deliv_tel01 %>-<%=h @order_delivery.deliv_tel02 %>-<%=h @order_delivery.deliv_tel03 %>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+
+<!-- お支払方法・お届け時間 -->
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+
+<span style="color:#FF9775;">■</span> お支払方法・お届け時間<br />
+<%=h @order_delivery.payment.name %>
+<br/>
+<%=h @order_delivery.delivery_time_name %>
+<br/>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "4" %><br /></div>
+
+<% form_tag :action => @next do %>
+<div style="text-align:center;">
+    <%= render :partial=>'order_delivery_hiddens' %>
+    <%=hidden_field :order_delivery,:use_point %>
+    <%=hidden_field :order_delivery,:payment_id%>
+    <%=hidden_field :order_delivery,:delivery_time_id%>
+    <%= hidden_field_tag "point_after_operation", @point_after_operation %>
+    <%= submit_tag '注文' %>
+</div>
+<% end %>
+<% form_tag :action => 'purchase2' do %>
+<div style="text-align:center;">
+    <%= render :partial=>'order_delivery_hiddens' %>
+    <%=hidden_field :order_delivery,:use_point %>
+    <%=hidden_field :order_delivery,:payment_id%>
+    <%=hidden_field :order_delivery,:delivery_time_id%>        
+       <% if @login_customer && @order_delivery.use_point && @order_delivery.use_point > 0%>
+       <%=hidden_field_tag "point_check","true"%>
+       <% end %>
+    <%=hidden_field_tag "back","1" %>
+    <%= submit_tag '戻る' %>
+    <br/>
+</div>
+<% end %>
+
+<% end %>
diff --git a/app/views/cart/delivery_mobile_smartphone.html.erb b/app/views/cart/delivery_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..0d97bd7
--- /dev/null
@@ -0,0 +1,32 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag 'cart_delivery' %>
+<% end %>
+
+<div class="sectionHeader">発送方法選択</div>
+
+<div id="cart">
+  <%- if flash.now[:error] %>
+    <div class="errorExplanation" id="errorExplanation">
+      <p><%=h flash[:error] %></p>
+    </div>
+  <% end %>
+  <% form_for :order_delivery, :url => {:action => :purchase} do |f| %>
+    <% @carts_map.each do |retailer_id, cart_array| %>
+      <%= render :partial => "set_delivery_each_retailer", :locals => {:carts => cart_array, :retailer_id => retailer_id, :f => f} %>
+    <% end %>
+    <%= render :partial => "order_deliveries" %>
+
+    <div class="my_btn4">
+      <%=hidden_field_tag "back"%>
+      <% if @not_login_customer%>
+        <%= submit_tag '戻る', {:onclick => "this.form.action='/cart/temporary_shipping'; this.form.submit();document.getElementById('back').value=1", :class=>'rosy button'} %>
+      <% elsif @login_customer%>
+        <%= submit_tag '戻る', {:onclick => "this.form.action='/cart/shipping'; this.form.submit();document.getElementById('back').value=1", :class=>'rosy button'} %>
+      <% end %>
+      <%= submit_tag '次へ', :class=>'rosy button' %>
+    </div>
+
+
+  <% end %>
+</div>
diff --git a/app/views/cart/purchase_mobile_smartphone.html.erb b/app/views/cart/purchase_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..3549278
--- /dev/null
@@ -0,0 +1,153 @@
+<div class="sectionHeader">お支払い方法の指定</div>
+
+<div class="text">
+       <span class="important"><%= flash[:notice] %></span>
+       <span class="important"><%= flash[:error] %></span>
+       <%= @order_delivery && error_messages_for(:order_delivery) %>
+       <% form_for :order_delivery, :url => {:action => :confirm}, :html => {:name => 'form1'} do | f | %>
+</div>
+         <div class="sectionSubheader"> お支払い方法</div>
+<div class="text">       
+         <% Payment::find_for_price(@cart_price).each do |payment| %>
+           <% if payment.get_plugin_instance.use_smartphone? %>
+             <%= f.radio_button :payment_id, payment.id %>
+             <%= payment.name unless logo_without_text(payment) %>
+             <br />
+             <% options = {:width => 200, :height => 120} %>
+             <%#= view_resource_mobile(payment.resource, options) %>
+             <%= payment_image_tag(payment, options) %>
+             <br />
+           <% end %>
+         <% end %>
+</div>
+  <% if @login_customer %>
+    <div class="sectionSubheader"> ポイント使用の指定</div>
+<div class="text">
+    <p>
+      1ポイントを1円として使用する事ができます。ポイントは販売店ごとに設定できます。
+    </p>
+    <p>
+      使用する場合は、「ポイントを使用する」にチェックを入れた後、使用するポイントをご記入ください。
+    </p>
+    <p>
+      <%=h @login_customer.family_name %><%=h @login_customer.first_name %>様の、
+      現在の所持ポイントは「
+      <%= @login_customer.point.to_i %>Pt」です。
+    </p>
+    </div>
+  <div class="delivery_cart">
+       <%= render :partial  => 'cart_items_smartphone', :locals  => { :details => false, :buttons => false} %>
+  </div>
+  <% end %>
+
+
+  <div class="addressButton1" style="text-align:center;">
+    <%- @order_deliveries.each do |key, order_delivery| -%>
+      <%- order_delivery.attribute_names.each do |column| %>
+        <%- unless order_delivery[column].blank? or column == "use_point" or column == "payment_id" %>
+          <%= hidden_field_tag "order_deliveries[#{key}][#{column}]", order_delivery[column] %>
+        <%- end %>
+      <%- end %>
+    <%- end -%>
+    <% if @not_login_customer%>
+    <%=hidden_field_tag "temporary_customer_flag","1" %>
+      <% if !params[:address_enable].nil?%>
+        <%=hidden_field_tag "address_enable","1" %>
+      <% end%>  
+    <% end%>
+    <%= submit_tag '次へ', :class => "rosy button rightButtonPlacement" -%>
+  </div>
+<% end %>
+
+<% form_tag :action => :delivery do %>
+    <%- @order_deliveries.each do |key, order_delivery| -%>
+      <%- order_delivery.attribute_names.each do |column| %>
+        <%- unless order_delivery[column].blank? or column == "use_point" or column == "payment_id" %>
+          <%= hidden_field_tag "order_deliveries[#{key}][#{column}]", order_delivery[column] %>
+        <%- end %>
+      <%- end %>
+    <%- end -%>
+  <%=hidden_field_tag "back","1" %>
+  <% if @not_login_customer%>
+  <%=hidden_field_tag "temporary_customer_flag","1"%>
+    <% if !params[:address_enable].nil?%>
+      <%=hidden_field_tag "address_enable","1"%>
+    <% end%>  
+  <% end%>
+  <div style="text-align:center;">
+  <!-- button placement - 1 is correct when not logged in, 2 is when you are-->
+    <%- if @not_login_customer -%>
+       <%- classChoice = "rosy button leftButtonPlacement" -%>
+    <%- else -%>
+       <%- classChoice = "rosy button leftButtonPlacement2" -%>
+    <%- end -%>
+    <%= submit_tag '戻る', :class => classChoice%>
+  </div>
+<% end %>
+
+<% if false %>
+<% form_for :order_delivery, :url =>{:action => 'purchase2'}, :html => {:name=>'form1'} do | f | %>
+<span style="color:#FF9775;">■</span> お支払い方法<br />
+<% @order_delivery.payment_candidates(@cart_price).each do | payment | %>
+<% if payment.get_plugin_instance.use_mobile? %>
+<%= f.radio_button :payment_id, payment.id %>
+<%= payment.name %>
+<br/>
+<%= view_resource(payment.resource) %>
+<% end %>
+<% end %>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<% if @login_customer %>
+<span style="color:#FF9775;">■</span> ポイント使用の指定<br /><p>
+<p>
+    1ポイントを1円として使用する事ができます。
+</p>
+<p>
+    使用する場合は、「ポイントを使用する」にチェックを入れた後、使用するポイントをご記入ください。
+</p>
+<p>
+    <%=h @login_customer.family_name %><%=h @login_customer.first_name %>様の、
+    現在の所持ポイントは「
+    <%= @login_customer.point.to_i %>Pt」です。
+</p>
+<p>
+    今回ご購入合計金額:<%= number_with_delimiter(@cart_price) %>円(送料、手数料を含みません。)
+</p>
+<p>
+    <%= radio_button_tag 'point_check', 'true', @point_check %>
+    <label for="point_check_true">
+        ポイントを使用する
+    </label>
+    <br/>
+    今回のお買い物で、<%= f.text_field :use_point, :size => 10,:style=>"height:14px;" %>ポイントを使用する。
+</p>
+<p>
+    <%= radio_button_tag 'point_check', 'false', !@point_check %>
+    <label for="point_check_false">
+        ポイントを使用しない
+    </label>
+</p>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<div style="clear:both; background-color:#F3F3EC; text-align:center;"><%= image_tag_mobile "border", :width => "226", :height => "2" %><br /></div>
+<div style="background-color:#F3F3EC;"><%= image_tag_mobile "spacer", :width => "1", :height => "2" %><br /></div>
+<% end %>
+<div style="text-align:center;">
+    <%= render :partial=>'order_delivery_hiddens' %>
+    <%= submit_tag '次へ'  -%>
+</div>
+<% end %>
+<% if @not_login_customer %>
+<% go_back = "temporary_shipping" %>
+<% elsif @login_customer %>
+<% go_back = "shipping" %>
+<% end %>
+<% form_tag :action => go_back do %>
+<%= render :partial=>'order_delivery_hiddens' %>
+<%=hidden_field_tag "back","1" %>
+<div style="text-align:center;">
+    <%= submit_tag '戻る' %>
+</div>
+<% end %>
+<% end %>
diff --git a/app/views/cart/shipping_mobile_smartphone.html.erb b/app/views/cart/shipping_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..82a0c13
--- /dev/null
@@ -0,0 +1,22 @@
+<div class="sectionHeader">お届け先の指定</div>
+
+<div class="addressMessage">
+       下記一覧よりお届け先住所を選択して、「選択したお届け先に送る」ボタンをクリックしてください。<br />
+       一覧にご希望の住所が無い場合は、「新しいお届け先を追加する」より追加登録してください。<br /><br />
+       <span class="important">※</span>最大20件まで登録できます。
+</div>
+
+<div><%= flash[:notice] %></div>
+
+<div class="createAddress"> <%= link_to_create_address '新規登録', 'rosy small_button delivery_edit' %></div>
+
+<% form_tag({:action => 'delivery'}, {:name=>'form1'}) do %>
+       <%= render :partial => 'address_list' %>
+       <div class="addressButton1">
+               <br /><%= submit_tag '次へ', :class => 'rosy button rightButtonPlacement' %>
+       </div>
+<% end %>
+
+<div class="addressButton2">
+<%= button_to '戻る', {:controller => "cart", :action => 'show'}, :class => 'rosy button leftButtonPlacement' %>
+</div>
diff --git a/app/views/cart/show_mobile_smartphone.html.erb b/app/views/cart/show_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..4cb5e1f
--- /dev/null
@@ -0,0 +1,25 @@
+<div class="sectionHeader">現在のカゴの中</div>
+
+<p><span class="highlightError"><%= flash[:notice] %><%= h_br(flash[:error]) %><%= flash[:cart_add_product] %></span></p>
+
+<div id="cartSummary">
+  <%- if @carts.blank? then -%>
+    <span style="color:#ff0000;">※</span> 現在カート内に商品はございません。
+  <%- else -%>
+        お買い上げ商品の合計金額は<br />
+               <span class="highlightYen"><%= h(number_with_delimiter(@cart_price)) %></span>円です。
+  <%- end -%>
+</div>
+
+<%- unless @carts.blank? -%>
+       <%= render :partial  => 'cart_items_smartphone', :locals  => { :details => true, :buttons => true} %>
+   
+       <div id="cartTotal">
+               合計 <span class="highlightYen"><%= h(number_with_delimiter(@cart_price)) %></span>円
+       </div>
+         <div id="cartMoreOptions">
+             <%= link_to '注文する', {:controller => 'cart', :action => 'shipping'}, {:class => 'submit_shipping rosy button'} %>
+             <%= link_to 'お買い物を続ける', {:controller => :portal, :action => :show}, {:class => 'rosy button'} %>
+         </div>
+
+<%- end -%>
diff --git a/app/views/cart/temporary_shipping_mobile_smartphone.html.erb b/app/views/cart/temporary_shipping_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..6a87257
--- /dev/null
@@ -0,0 +1,186 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag js_url(:action => "application") %>
+<% end %>
+
+<div class="sectionHeader">お客様情報入力</div>
+<p><span class="must">※</span>は必ずご入力ください。</p>
+
+<noscript>
+  <p>JavaScriptが利用できない状態です。<br />一部のコンテンツが正常に動作しない可能性があります</p>
+</noscript>
+
+<%= flash[:notice] %>
+<%= @temporary_customer && error_messages_for(:temporary_customer) %>
+<%= @optional_address && error_messages_for(:optional_address) %>
+
+<% form_tag({:action => 'delivery'}, {:name=>'form1'}) do %>
+  <% fields_for :temporary_customer do |f| %>
+    <table class="tb2">
+      <tr>
+        <td>お名前<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          姓<%= f.text_field :family_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %><br />
+          名<%= f.text_field :first_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+        </td>
+      </tr>
+      <tr>
+        <td>お名前(フリガナ)<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          セイ<%= f.text_field :family_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %><br />
+          メイ<%= f.text_field :first_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+        </td>
+      </tr>
+      <tr>
+        <td>郵便番号<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          〒<%= f.text_field :zipcode01, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} -%>-<%= f.text_field :zipcode02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>
+          <%= link_to "郵便番号を調べる", "http://search.post.japanpost.jp/zipcode/", :target => "_blank" %><br />
+          <input name="zipcode_input" value="住所自動入力" onclick="address_by_zip('temporary_customer_zipcode01','temporary_customer_zipcode02', null, 'temporary_customer_address_city', 'temporary_customer_address_detail', 'temporary_customer_prefecture_id', 'cart', '<%=h ActionController::Base.relative_url_root %>');" type="button" class="btn_s rounded rosy postCodeButton" />
+          <div>※郵便番号を入力後、クリックしてください。</div>
+        </td>
+      </tr>
+      <tr>
+        <td>住所:都道府県<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.collection_select :prefecture_id, Prefecture.find(:all, :order=>:position), :id, :name, :class=>"form_s" %></td>
+      </tr>
+      <tr>
+        <td>住所:市区町村<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :address_city, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:千代田区神田神保町)</p></td>
+      </tr>
+      <tr>
+        <td>住所:番地・ビル名<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :address_detail, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:1-2-3○○○ビル)</p></td>
+      </tr>
+      <tr>
+        <td>電話番号<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :tel01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+      </tr>
+      <tr>
+        <td>FAX番号</td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :fax01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :fax02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>-<%= f.text_field :fax03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+      </tr>
+      <tr>
+        <td>メールアドレス<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :email, {:class=>"form_m",:style=>"ime-mode:inactive"} %></td>
+      </tr>
+      <tr>
+        <td>メールアドレス(確認)<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :email_confirm, {:class=>"form_m",:style=>"ime-mode:inactive"} %></td>
+      </tr>
+      <tr>
+        <td>性別<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          <% [System::MALE, System::FEMALE].each do | value | %>
+            <%- if @temporary_customer.sex == value %>
+            <%= f.radio_button :sex, value, :checked => "checked" %>
+            <%- else %>
+            <%= f.radio_button :sex, value %>
+            <%- end %>
+            <%= content_tag :label, System::SEX_NAMES[value], :for => "customer_sex_%d" % value %>
+          <% end %>
+        </td>
+      </tr>
+      <tr>
+        <td>職業</td>
+       </tr>
+       <tr>
+        <td><%= f.collection_select :occupation_id, Occupation.find(:all, :order=>:position), :id, :name, :class=>"form_m" ,:prompt => "-"%></td>
+      </tr>
+      <tr>
+        <td>生年月日</td>
+       </tr>
+       <tr>
+        <td><%= f.birthday_select :birthday, :use_month_numbers => true,:start_year =>Time.now.year-70,:end_year=>Time.now.year-10,:default=>{:year=>1980,:montd=>1,:day=>1} %></td>
+      </tr>
+    </table>
+      <%= hidden_field_tag "temporary_customer_flag","1"%>
+  <% end %>
+
+  <div id="delivery"><span id="bold" class="tb_t">配送先を指定 </span><br/>
+  <div id="deliveryOption" class="m_top m_btm"><%= check_box_tag 'address_enable', "1", ((params[:back] == "1" or @error_back)&& !params[:address_enable].nil?)?true:false %>
+  <em class="required"> ※</em>上記に入力されたご住所と同一の場合はチェックをいれると省略可能です。</div></div>
+  <% fields_for :optional_address do |f| %>
+    <table class="tb2">
+      <tr>
+        <td>お名前<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          姓<%= f.text_field :family_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %><br />
+          名<%= f.text_field :first_name, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+        </td>
+      </tr>
+      <tr>
+        <td>お名前(フリガナ)<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          セイ<%= f.text_field :family_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %><br />
+          メイ<%= f.text_field :first_name_kana, {:class=>"form_m m_left",:style=>"ime-mode:active"} %>
+        </td>
+      </tr>
+      <tr>
+        <td>郵便番号<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td>
+          〒<%= f.text_field :zipcode01, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} -%>-<%= f.text_field :zipcode02, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %>
+          <%= link_to "郵便番号を調べる", "http://search.post.japanpost.jp/zipcode/", :target => "_blank" %><br />
+          <input name="zipcode_input" value="住所自動入力" onclick="address_by_zip('optional_address_zipcode01','optional_address_zipcode02', null, 'optional_address_address_city', 'optional_address_address_detail', 'optional_address_prefecture_id', 'cart', '<%=h ActionController::Base.relative_url_root %>');" type="button" class="btn_s rounded rosy postCodeButton" />
+         <div>※郵便番号を入力後、クリックしてください。</div>
+        </td>
+      </tr>
+      <tr>
+        <td>住所:都道府県<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.collection_select :prefecture_id, Prefecture.find(:all, :order=>:position), :id, :name, :class=>"form_s" %></td>
+      </tr>
+      <tr>
+        <td>住所:市区町村<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :address_city, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:千代田区神田神保町)</p></td>
+      </tr>
+      <tr>
+        <td>住所:番地・ビル名<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :address_detail, {:class=>"form_l",:style=>"ime-mode:active"} %><p>(例:1-2-3○○○ビル)</p></td>
+      </tr>
+      <tr>
+        <td>電話番号<span class="must">※</span></td>
+       </tr>
+       <tr>
+        <td><%= f.text_field :tel01, {:class=>"form_s",:style=>"ime-mode:inactive"} %>-<%= f.text_field :tel02, {:class=>"form_s m_left" ,:style=>"ime-mode:inactive"}%>-<%= f.text_field :tel03, {:class=>"form_s m_left",:style=>"ime-mode:inactive"} %></td>
+      </tr>
+    </table>
+  <% end %>
+    <div class="my_btn4">
+      <%= link_to '戻る', {:action => 'show'}, :class=>'rosy button' %>
+      <%= submit_tag '次へ', :action => 'purchase', :class=>'rosy button' %>
+    </div>
+<% end %>
diff --git a/app/views/inquiries/complete_mobile_smartphone.html.erb b/app/views/inquiries/complete_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..cab5c1d
--- /dev/null
@@ -0,0 +1,4 @@
+<div class="sectionHeader">お問い合わせ</div>
+  
+  <p class="center text"><%= flash[:notice] %></p>
+</div>
\ No newline at end of file
diff --git a/app/views/inquiries/confirm_mobile_smartphone.html.erb b/app/views/inquiries/confirm_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..a51046b
--- /dev/null
@@ -0,0 +1,47 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag js_url(:action => "application") %>
+<% end %>
+
+
+<div class="sectionHeader">お問い合わせ</div>
+
+<table class="tb2"> 
+    <tr><td>お名前<span class="must">※</span></td></tr>
+    <tr>
+      <td><%=h @inquiry.name %></td>
+    </tr>
+    <tr><td>メールアドレス<span class="must">※</span></td></tr>
+    <tr>
+      <td><%=h @inquiry.email %></td>
+    </tr>
+    <tr><td>電話番号</td></tr>
+    <tr>
+      <td><%=h @inquiry.tel %></td>
+    </tr> 
+    <tr><td>受注番号</td></tr>
+    <tr>
+      <td><%=h @inquiry.order_number %></td>
+    </tr>
+    <tr><td>お問合わせ種別<span class="must">※</span></td></tr>
+    <tr>
+      <td><%=h Inquiry::KIND_NAMES[@inquiry.kind] %></td>
+    </tr>
+    <tr><td>お問い合わせ内容<span class="must">※</span></td></tr>
+    <tr>
+      <td><%=h_br @inquiry.body %></td>
+    </tr>
+  </table>
+  <% form_for :inquiry, :url => {:action => "complete"} do |f| %>
+    <%= f.hidden_field :name %>
+    <%= f.hidden_field :tel %>
+    <%= f.hidden_field :email %>
+    <%= f.hidden_field :body %>
+    <%= f.hidden_field :order_number %>
+    <%= f.hidden_field :kind %>
+    <div class="my_btn4">
+    <%= submit_tag '戻る', :onclick => "this.form.action='/inquiries/new'; this.form.submit();",  :class=>'rosy button' %>
+       <%= submit_tag "送信", :class=>"rosy button" %>
+       </div>
+  <% end %>
+
diff --git a/app/views/inquiries/new_mobile_smartphone.html.erb b/app/views/inquiries/new_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..ea38fa2
--- /dev/null
@@ -0,0 +1,56 @@
+<% content_for :head do %>
+  <%= javascript_include_tag :defaults %>
+  <%= javascript_include_tag js_url(:action => "application") %>
+<% end %>
+
+
+<div class="sectionHeader">お問い合わせ</div>
+
+ <p><span class="must">※</span>は必ずご入力ください。</p>
+
+  <%= @inquiry && error_messages_for(:inquiry) %>
+  <%= flash[:notice] %>
+  <%= flash[:error] %>
+  <% form_for :inquiry, :url => {:action => "confirm"} do |f| %>
+    <table class="tb2">
+      <tr><td>お名前<span class="must">※</span></td></tr>
+      <tr>
+        <td><%= f.text_field :name, :size => 30 %></td>
+      </tr>
+      <tr><td>メールアドレス <span class="must">※</span></td></tr>
+      <tr>
+        <td><%= f.text_field :email, :size => 40 %></td>
+      </tr>
+      <tr><td>電話番号</td></tr>
+      <tr>
+        <td><%= f.text_field :tel, :size => 20 %></td>
+      </tr>
+      <tr><td>注文番号</td></tr>
+      <tr>
+        <td><%= f.text_field :order_number, :size => 30 %></td>
+      </tr>
+      <tr><td>お問合わせ種別 <span class="must">※</span></td></tr>
+      <tr>
+        <td><%= f.select :kind, Inquiry.pc_kind_list %></td>
+      </tr>
+      <tr><td>お問い合わせ内容 <span class="must">※</span></td></tr>
+      <tr>
+        <td><%= f.text_area :body, :rows => 15 %></td>
+        </tr>
+      </table>
+      <div class="confirmInquiry text">
+               内容をご確認の上、送信ボタンを押してください。<br />
+               ページが表示されるまでにお時間がかかる場合がございます。<br />
+               処理をしている間に「送信」を再度クリックすると二重送信になりますので、<br />
+               送信ボタンは1度だけ押してください。<br />
+          <br />
+               お問合せ内容により回答までにお時間がかかる場合がございます。予めご了承ください。<br />
+               受付対応時間は平日(年末年始をのぞく)の10:00~18:00までとさせていただきます。
+          <br />
+      </div>
+         <br />
+         <div class="my_btn4">
+               <%= submit_tag "確認", :class=>"rosy button" %>
+         </div>
+  <% end -%>
+  <!-- /container -->
\ No newline at end of file
diff --git a/app/views/inquiries/privacy_mobile_smartphone.html.erb b/app/views/inquiries/privacy_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..fb54a07
--- /dev/null
@@ -0,0 +1,15 @@
+<div class="sectionHeader">問合せ個人情報の取扱いについて</div>
+
+<div class="text">
+  <div class="agreement_box">
+       <%if (!@privacy.blank? && !@privacy.content_collect.blank?)%>
+       <%= @privacy.content_collect %>
+       <%end%>
+  </div>
+  <div class="my_btn4">
+    <%= link_to "戻る", {:controller=>'inquiries', :action=>'show'}, :class => 'rosy button' %>
+    </div>
+    <div class="my_btn4">
+    <%= link_to "個人情報の取り扱いについて同意した上でお問い合わせ", {:controller=>'inquiries', :action=>'new'}, :class => 'rosy button' %>
+  </div>
+</div>
\ No newline at end of file
diff --git a/app/views/inquiries/show_mobile_smartphone.html.erb b/app/views/inquiries/show_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..055b809
--- /dev/null
@@ -0,0 +1,24 @@
+<div class="sectionHeader">お問い合わせ</div>
+
+<div class="text">
+  <p class="center">ご意見やご感想、ご質問はこちらで受けております。</p>
+  <hr noshade="noshade" style="color: pink"/>
+  <div class="agreement_box">
+       <%= link_to '問合せ個人情報の取扱いについて', :action=>:privacy %><br /><br />
+       
+       <span style="color:#FF9775;">●</span> <%=h @shop.corp_name %><br /><br />
+       <span style="color:#FF9775;">●</span>【電話でのお問い合わせ】<br />
+       <div class="contactDetail">
+               営業時間:<%=h @shop.businesstime %><br />
+               電話番号:<%= link_to h(@shop.tel), 'tel:'+@shop.tel.gsub(/\D/,'') %>
+       </div>
+       <br />
+       <span style="color:#FF9775;">●</span>【E-mailでのお問い合わせ】<br />
+       <div class="contactDetail">
+               <%= link_to h(@shop.mail_faq), 'mailto:'+@shop.mail_faq %>
+       </div>
+       <br />
+       
+       お問い合わせは<%= link_to 'こちらへ', :controller => "inquiries", :action => "new" %>
+  </div>
+</div><!-- /entry -->
\ No newline at end of file
diff --git a/app/views/layouts/base_mobile_smartphone.html.erb b/app/views/layouts/base_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..a38b1c8
--- /dev/null
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+  <head>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <meta http-equiv="Content-Script-Type" content="text/javascript" /> 
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta name="viewport" content="width=device-width" />
+    <%= compound_title_tag(['K&B style', @product_name, @category_name, @campaign_name]) %>
+    <%= stylesheet_link_tag "smartphone/smartphone" %>
+    <%= javascript_include_tag 'smartphone/jscript.js' %>
+    <%= yield :head -%>
+  </head>
+  <body>
+       <div id="header">
+               <div id="title"><%= link_to h('K&B style'), :controller => :portal, :action => :show %></div>
+               <div>
+               <%- if @login_customer.nil? -%>
+                       <a href="/accounts/login"  class="button rosy" id="login" >ログイン</a>
+               <%- else -%>
+                       <a href="/accounts/myindex"  class="button rosy" id="login" >マイページ</a>
+               <%- end -%>
+               </div> 
+       </div>
+       <div id="searchAndCart">
+               <% form_tag({:controller=>:products, :action=>:search, :only_path=>false}, {:method=>"get", :id=>'searchform'}) do %>
+                       <%= text_field_tag "search", params[:search], :id=>'searchbox', :class=>"rounded" %>
+                       <%= submit_tag "検索", :id=> "search", :class=>"button rosy" %>
+               <% end %>
+               <div><a href="/cart" class="button rosy" id="mycart">カート</a></div>
+               <br clear="all" /> 
+       </div>
+       <%= yield %>
+       
+       <select id="categories" class="button rosy" 
+               onchange="LinkTo(this.selectedIndex, this.options[selectedIndex].value)">
+               <option value="/">アイテムから探す</option><!-- sagasu -->
+               <%= category_list_view("SMARTPHONE") -%>
+       </select>
+       
+       
+       
+       <select id="info" class="button rosy"
+               onchange="LinkTo(this.selectedIndex, this.options[selectedIndex].value)">
+               <option value="/">インフォメーション</option>
+               <option value ="/shop/about">当サイトについて</option>
+               <option value="/inquiries/show">お問合わせ</option>
+               <option value="/portal/show_tradelaw">特定商取引に関する法律</option>
+               <option value="/portal/privacy">個人情報保護方針・個人情報の取扱いについて</option>
+               <option value="/portal/escape_clause">免責事項について</option>
+       </select>
+       
+       <%- if @login_customer -%>
+               <div id="logout">
+                       <%= link_to 'ログアウト', {:controller => :accounts, :action => :logout}, :class => "rosy small_button" %>
+               </div>
+       <%- end -%>
+       <address>Copyright (c) 2000-2009 K&amp;Bstyle CO.LTD. All Rights Reserved.</address>
+  </body>
+</html>
\ No newline at end of file
diff --git a/app/views/portal/escape_clause_mobile_smartphone.html.erb b/app/views/portal/escape_clause_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..a3beb12
--- /dev/null
@@ -0,0 +1,21 @@
+<div class="sectionHeader">免責事項</div>
+
+<%- if false %>
+<%# FIXME 当サイトについてみたいなロゴがあると幸せです %>
+<%= image_tag '/images/shop/about.gif', :size => "583x31", :alt => "免責事項", :class => "route" %> 
+<%- end %>
+<div class="text">
+<dl>
+<dt>1.</dt>
+<dd>当社の都合により、予告なしに本サイトの運用を停止または中止することがあります。</dd>
+<dt>2.</dt>
+<dd>当社は、会員の承認なしに、本規約を変更できるものとします。</dd>
+
+<dt>3.</dt>
+
+<dd>当会員によるID及びパスワードの管理不十分、又は使用上の過誤等による損害の責任は、当会員本人が負うこととし、当社は一切の責任を負わないこととします。</dd>
+
+<dt>4.</dt>
+<dd>お客様と当社との間で本規約に関連して訴訟の必要が生じた場合、訴額に応じ、東京簡易裁判所又は東京地方裁判所を第一審の専属的合意管轄裁判所とします。</dd>
+</dl>
+</div>
\ No newline at end of file
diff --git a/app/views/portal/privacy_mobile_smartphone.html.erb b/app/views/portal/privacy_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..8f0b8b4
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="sectionHeader">個人情報保護方針<br />個人情報の取り扱いについて</div>
+
+       <%if (!@privacy.blank? && !@privacy.content_privacy.blank?)%>
+       <%= @privacy.content_privacy %>
+       <%end%>
diff --git a/app/views/portal/show_mobile_smartphone.html.erb b/app/views/portal/show_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..54b0b46
--- /dev/null
@@ -0,0 +1 @@
+<%= render :partial => '/base/new_product_smartphone' %>
\ No newline at end of file
diff --git a/app/views/portal/show_tradelaw_mobile_smartphone.html.erb b/app/views/portal/show_tradelaw_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..8244a16
--- /dev/null
@@ -0,0 +1,93 @@
+<div class="sectionHeader">特定商取引に関する法律に基づく表記</div>
+
+<%- if false %>
+<%# FIXME 当サイトについてみたいなロゴがあると幸せです %>
+<%= image_tag '/images/shop/about.gif', :size => "583x31", :alt => "当サイトについて", :class => "route" %> 
+<%- end %>
+<%unless @law.blank?%>  
+  <table class="tb2">
+    <tr><td>販売業者</td></tr>
+    <tr>
+      <td><%=h @law.try(:company) %></td>
+    </tr>
+    <tr><td>運営責任者</td></tr>
+    <tr>
+      <td><%=h @law.try(:manager) %></td>
+    </tr>
+    <tr><td>住所</td></tr>
+    <tr>
+      <td>
+        〒<%=h @law.try(:zipcode) %><br/>
+        <%=h @law.try(:address) %>
+      </td>
+    </tr>
+    <tr><td>電話番号</td></tr>
+    <tr>    
+      <td><%=h @law.tel %></td>
+    </tr>
+    <tr><td>FAX番号</td></tr>
+    <tr>
+      <td><%=h @law.fax %></td>
+    </tr>
+    <tr><td>メールアドレス</td></tr>
+    <tr>
+      <td><%=h @law.email %></td>
+    </tr>
+    <tr><td>URL</td></tr>
+    <tr>
+      <td><%=h @law.url %></td>
+    </tr>
+    <%- unless @law.html? %>
+      <tr><td>商品以外の必要代金</td></tr>
+      <tr>
+        <td><%=h_br @law.necessary_charge %></td>
+      </tr>
+      <tr><td>注文方法</td></tr>
+      <tr>
+        <td><%=h_br @law.order_method %></td>
+      </tr>
+      <tr><td>支払方法</td></tr>
+      <tr>
+        <td><%=h_br @law.payment_method %></td>
+      </tr>
+      <tr><td>支払期限</td></tr>
+      <tr>
+        <td><%=h_br @law.payment_time_limit %></td>
+      </tr>
+      <tr><td>引渡し時期</td></tr>
+      <tr>
+        <td><%=h_br @law.delivery_time %></td>
+      </tr>
+      <tr><td>返品・交換について</td></tr>
+      <tr>
+        <td><%=h_br @law.return_exchange %></td>
+      </tr>
+    <% end %>
+  </table>
+  <%- if @law.html? %>
+    <h3 class="tb_t">商品以外の必要代金</h3>
+    <div class="law_info">
+      <%= render :inline => @law.necessary_charge %>
+    </div>
+    <h3 class="tb_t">注文方法</h3>
+    <div class="law_info">
+      <%= render :inline => @law.order_method %>
+    </div>
+    <h3 class="tb_t">支払方法</h3>
+    <div class="law_info">
+      <%= render :inline => @law.payment_method %>
+    </div>
+    <h3 class="tb_t">支払期限</h3>
+    <div class="law_info">
+      <%= render :inline => @law.payment_time_limit %>
+    </div>
+    <h3 class="tb_t">引渡し時期</h3>
+    <div class="law_info">
+      <%= render :inline => @law.delivery_time %>
+    </div>
+    <h3 class="tb_t">返品・交換について</h3>
+    <div class="law_info">
+      <%= render :inline => @law.return_exchange %>
+    </div>
+  <% end %>
+<%end%>
diff --git a/app/views/products/_stock_table.html.erb b/app/views/products/_stock_table.html.erb
new file mode 100644 (file)
index 0000000..f890c92
--- /dev/null
@@ -0,0 +1,22 @@
+<% if @have_style %>
+<table>
+ <tr>
+  <th><%=h @style_name1 %></th>
+  <%- if @have_style2 -%>
+  <th><%=h @style_name2 %></th>
+  <%- end -%>
+  <th>単価(税込)</th>
+  <th>在庫</th>
+ </tr>
+<%- @product_styles.each do |ps| -%>
+ <tr>
+  <td><%=h ps.style_category_name1 %></td>
+  <%- if @have_style2 -%>
+  <td><%=h ps.style_category_name2 %></td>
+  <%- end -%>
+  <td><%= number_with_delimiter ps.sell_price.to_i %></td>
+  <td><%=h stock_mark(ps.orderable_count.to_i) %></td>
+ </tr>
+<%- end -%>
+</table>  
+<% end %>
diff --git a/app/views/products/index_mobile_smartphone.html.erb b/app/views/products/index_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..44baa14
--- /dev/null
@@ -0,0 +1,47 @@
+<!--件数・ソート-->
+<div id="numEntries">
+<% if @products.total_entries > 0%>
+  <%=h ((@products.current_page-1)*@products.per_page)+1 %>~<%=h paginate_item_count(@products.current_page, @products.per_page, @products.total_entries) %>&nbsp;(<%=h @products.total_entries %>件中)
+<% end %>
+</div>
+<div class="listOrder"><%= link_order "price" %>│<%= link_order "update" %></div>
+
+<%- unless @category.blank? %>
+       <div class="sectionHeader"><%= @category.name %></div>
+<% else %>
+       <div class="sectionHeader">商品一覧</div>
+<% end -%>
+
+<%- unless @products.blank? %>
+  <% @products.each do | product | %>
+    <div class="productListing">
+    <%= link_to( "<span class='link'></span>", {:controller => "/products", :action => "show", :id => (product.id),:category_id => product.category_id}) %>
+    <%= product_image_tag(product, :small ,{:width=>"70",:height=>"70",:align=>"left",:style=>"vertical-align:middle; float:left; margin:4px;"}) %>
+    <div><%= product.name %></div>
+       <div>&yen;<%= product.price_label %></div>
+       <div><%=h_br product.introduction %></div>
+       <br clear="all" />
+       </div>
+  <% end %>
+
+  <!-- ページング -->
+  <%param_datas = {}%>
+  <%params.each{ |key, value| param_datas[key.to_sym] = ((request.mobile? && !request.mobile.is_a?(Jpmobile::Mobile::Softbank)) ? value.tosjis : value) }%>
+<!--  page numbers -->
+  <div id="pages">  <%= will_paginate(@products,:params=>param_datas) %></div>
+  <div class="listOrder"><%= link_order "price" %>│<%= link_order "update" %></div>
+
+<% else %>
+<div>該当商品が見つかりませんでした</div>
+<% end %>
+
+<!-- 検索 -->
+<div id="searchFooter">
+       <% form_tag({:controller=>:products, :action=>:search, :only_path=>false}, {:method=>"get", :id=>'bottomsearchform'}) do %>
+               <%= text_field_tag "search", params[:search], :id=>'bottomsearchbox', :class=>"rounded" %>
+               <%= submit_tag "検索", :id=> "bottomsearch", :class=>"button rosy" %>
+       <% end %>
+       <br clear="all" />
+</div>
+
+
diff --git a/app/views/products/show_mobile_smartphone.html.erb b/app/views/products/show_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..e09ef6c
--- /dev/null
@@ -0,0 +1,104 @@
+<% content_for :head do %>
+       <%= javascript_include_tag "smartphone/jquery.tools.min.js" %>
+       <%= javascript_include_tag "smartphone/scrollable.js" %>
+       <%= stylesheet_link_tag "smartphone/scrollableMin.css" %>
+       <%= stylesheet_link_tag "smartphone/scrollable-buttons.css" %>
+       <script type="text/javascript">
+               $.noConflict();
+       </script>
+<% end -%>
+
+<div class="sectionHeader"> <%= @product.name %> </div>
+
+<%- if @product.sub_products.empty? -%>
+       <div><%= product_image_tag(@product, :medium, {:width=>"220",:height=>"220",:style=>"margin:2px;"}) %></div>
+<%- else -%>
+       <div class="scrollableOuter">
+               <div class="centerScrollable">
+               
+                       <!-- "previous page" action -->
+                       <a class="prev browse left big"></a>
+
+                       <!-- root element for scrollable -->
+                       <div class="scrollable big">   
+                          
+                          <!-- root element for the items -->
+                          <div id="scrollableContents" class="items">
+                               <div><%= product_image_tag(@product, :medium, {:width=>"220",:height=>"220",:style=>"margin:2px;"}) %></div>
+                               <%- @product.sub_products.each do | sub_product | -%>
+                                       <%- if sub_product.medium_resource_id -%>
+                                               <div>
+                                                       <%= sub_product_image_tag(sub_product, :width=>220)  %>
+                                               </div>
+                                       <%- end -%>
+                               <%- end -%>
+                          </div>
+                          
+                       </div>
+
+                       <!-- "next page" action -->
+                       <a class="next browse right big"></a>
+
+                       <br clear="all" /> 
+                       
+               </div>
+       </div>
+<%- end -%>
+
+<div class="details">
+       <div class="statuses">
+  <%- @product.product_statuses.each do | product_status | -%>
+      <div class="rounded rosy2 floatLeft"><%= h_br product_status.status && product_status.status.name %></div>
+  <%- end -%>
+       </div>
+  
+  <dl id="itemDetails">
+      <dd>価格:<%=h @product.price_label %>円</dd>
+      <dd>販売期間:<%=h print_date(@product.sale_start_at) %> ~ <%=h print_date(@product.sale_end_at) %></dd>
+            <% if @product.product_styles && @product.product_styles.detect(nil){ |p_s| p_s.orderable_count.to_i > 0} -%>
+              <%- unless @product.delivery_dates_label.blank? %>
+              <dd>お届け:<%= @product.delivery_dates_label %></dd>
+              <%- end %>
+            <%- else -%>
+              <%- if @product.arrival_expected_date && @product.arrival_expected_date < Date.today -%>
+                <dd>入荷未定</dd>
+            <%- else -%>
+                <dd>入荷予定日:<%= date_jp(@product.arrival_expected_date) %></dd>
+              <%- end -%>
+          <%- end -%>
+          <dd>販売元: <%= show_retailer_shop(@product) %></dd>
+    </dl>
+  
+  <hr />
+  
+  <%- if @product.have_zaiko? -%>
+    <%= render :partial => "base/add_cart", :locals => {:product => @product} %>
+        <%- have_style = @product.product_styles.any?(&:style_category1) -%>
+     <%- if have_style -%>
+       <div>
+       <div class="centerCart">
+     <div id="stock_table" >
+          <%= render :partial => 'stock_table' %>
+        </div>
+        </div>
+        </div>
+        <%- end -%>                                            
+    <%- else -%>
+    <div class="leftMargin">品切れ中</div>
+    <%- end -%>
+    
+<hr />
+  
+  <div id='comment'>
+       <%=h_br @product.description %>
+  </div>
+  <br />
+  <%= ("<div class='sectionSubheader'>サイズ</div><div id='comment'>" + h_br(@product.size_txt) + "</div>" ) unless @product.size_txt.blank? %>
+  <%= ("<div class='sectionSubheader'>素材</div><div id='comment'>" + h_br(@product.material) + "</div>" ) unless @product.material.blank? %>
+  <%= ("<div class='sectionSubheader'>原産国</div><div id='comment'>" + h_br(@product.origin_country) + "</div>" ) unless @product.origin_country.blank? %>
+  <%= ("<div class='sectionSubheader'>重さ</div><div id='comment'>" + h_br(@product.weight) + "</div>" ) unless @product.weight.blank? %>
+  <%= ("<div class='sectionSubheader'>その他、仕様</div><div id='comment'>" + h_br(@product.other) + "</div>" ) unless @product.other.blank? %>
+  <%= ("<div class='sectionSubheader'>入荷日</div><div id='comment'>" + h_br(@product.arrival_date) + "</div>" ) unless @product.arrival_date.blank? %>
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/app/views/shop/about_mobile_smartphone.html.erb b/app/views/shop/about_mobile_smartphone.html.erb
new file mode 100644 (file)
index 0000000..808a377
--- /dev/null
@@ -0,0 +1,53 @@
+<div class="sectionHeader">当サイトについて</div>
+
+<table class="tb2">
+      <tr><td>店名</td></tr>
+    <tr>
+      <td><%=h @shop.try(:name) %></td>
+    </tr>
+       <tr><td>運用会社</td></tr>
+    <tr>
+      <td><%=h @shop.try(:corp_name) %></td>
+    </tr>
+    <tr><td>住所</td></tr>
+    <tr>
+      <td>
+        〒<%=h @shop.try(:zipcode) %><br />
+        <%=h @shop.try(:address) %>
+      </td>
+    </tr>
+    <% if @shop.tel.blank? %>
+    <tr><td>電話番号</td></tr>
+    <tr>
+      <td><%=h @shop.try(:tel) %></td>
+    </tr>
+    <% end %>
+    <% if @shop.fax.blank? %>
+    <tr><td>FAX番号</td></tr>
+    <tr>
+      <td><%=h @shop.try(:fax) %></td>
+    </tr>
+    <% end %>
+    <tr><td>お問い合わせメールアドレス</td></tr>
+    <tr>
+      <td><%=h @shop.try(:mail_faq) %></td>
+    </tr>
+    <% unless @shop.trade_item.blank? %>
+    <tr><td>取り扱い商品</td></tr>
+    <tr>
+      <td><%=h @shop.try(:trade_item) %></td>
+    </tr>
+    <% end %>
+    <% unless @shop.businesstime.blank? %>
+    <tr><td>営業時間</td></tr>
+    <tr>
+      <td><%=h @shop.try(:businesstime) %></td>
+    </tr>
+    <% end %>
+    <% unless @shop.introduction.blank? %>
+     <tr><td>メッセージ</td></tr>
+    <tr>
+      <td class="no_bg"><%=h @shop.try(:introduction) %></td>
+    </tr>
+    <% end %>
+  </table>
index 9d9a6f3..c604e7e 100644 (file)
@@ -81,3 +81,7 @@ class UnsupportedDeviceLinkRenderer < WillPaginate::LinkRenderer
 #    @template.content_tag :span, text, {}
   end  
 end
+
+require 'lib/jpmobile/mobile/smartphone.rb'
+carriers = Jpmobile::Mobile.carriers
+Jpmobile::Mobile.carriers = carriers.push("Smartphone")
diff --git a/config/initializers/jpmobile_override_for_smartphone.rb b/config/initializers/jpmobile_override_for_smartphone.rb
new file mode 100644 (file)
index 0000000..b31db5f
--- /dev/null
@@ -0,0 +1,15 @@
+# -*- coding: utf-8 -*-
+module Jpmobile
+  module Filter
+    class Sjis < Base
+      # to_internalを適用するべきかどうかを返す。
+      def apply_incoming?(controller)
+        # Vodafone 3G/Softbank(Shift-JISにすると絵文字で不具合が生じる)以外の
+        # 携帯電話の場合に適用する。
+        # iPhoneも適応する
+        mobile = controller.request.mobile
+        mobile && !(mobile.instance_of?(Jpmobile::Mobile::Vodafone)||mobile.instance_of?(Jpmobile::Mobile::Softbank)||mobile.instance_of?(Jpmobile::Mobile::Smartphone))
+      end
+    end
+  end
+end
diff --git a/lib/jpmobile/mobile/smartphone.rb b/lib/jpmobile/mobile/smartphone.rb
new file mode 100644 (file)
index 0000000..74e324d
--- /dev/null
@@ -0,0 +1,18 @@
+module Jpmobile::Mobile
+  class Smartphone < AbstractMobile
+#    autoload :IP_ADDRESSES, 'jpmobile/mobile/z_ip_addresses_softbank'
+
+    #USER_AGENT_REGEXP = /^Mozilla\/5.0 \(iP(hone|od).*AppleWebKit\/.*Mobile\//
+    USER_AGENT_REGEXP = /^Mozilla\/5.0 \((iP(hone|od)|.*Android).*AppleWebKit\/.*Mobile.*/
+     #USER_AGENT_REGEXP = /(iPhone)/
+
+
+    def supports_cookie? 
+      true
+    end 
+
+    def smartphone?
+      true
+    end
+  end
+end
\ No newline at end of file
index 4fe2fac..efb7962 100644 (file)
@@ -94,4 +94,8 @@ module PaymentPluginBase
     return true
   end
 
+  def use_smartphone?
+    return false
+  end
+
 end
diff --git a/public/images/smartphone/hori_large.png b/public/images/smartphone/hori_large.png
new file mode 100644 (file)
index 0000000..4983a99
Binary files /dev/null and b/public/images/smartphone/hori_large.png differ
diff --git a/public/javascripts/smartphone/jquery-1.6.2.min.js b/public/javascripts/smartphone/jquery-1.6.2.min.js
new file mode 100644 (file)
index 0000000..48590ec
--- /dev/null
@@ -0,0 +1,18 @@
+/*!
+ * jQuery JavaScript Library v1.6.2
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Jun 30 14:16:56 2011 -0400
+ */
+(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(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(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
+shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=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|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={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,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(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,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
+)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<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>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
diff --git a/public/javascripts/smartphone/jquery.tools.min.js b/public/javascripts/smartphone/jquery.tools.min.js
new file mode 100644 (file)
index 0000000..c39a15d
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+ * jQuery Tools 1.2.5 - The missing UI library for the Web
+ * 
+ * [jquery, tabs, tooltip, overlay, scrollable]
+ * 
+ * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
+ * 
+ * http://flowplayer.org/tools/
+ * 
+ * jQuery JavaScript Library v1.4.2
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://docs.jquery.com/License
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * 
+ * -----
+ * 
+
+ * File generated: Wed Sep 22 06:12:53 GMT 2010
+ */
+(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);
+(function(c){function p(d,b,a){var e=this,l=d.add(this),h=d.find(a.tabs),i=b.jquery?b:d.children(b),j;h.length||(h=d.children());i.length||(i=d.parent().find(b));i.length||(i=c(b));c.extend(this,{click:function(f,g){var k=h.eq(f);if(typeof f=="string"&&f.replace("#","")){k=h.filter("[href*="+f.replace("#","")+"]");f=Math.max(h.index(k),0)}if(a.rotate){var n=h.length-1;if(f<0)return e.click(n,g);if(f>n)return e.click(0,g)}if(!k.length){if(j>=0)return e;f=a.initialIndex;k=h.eq(f)}if(f===j)return e;
+g=g||c.Event();g.type="onBeforeClick";l.trigger(g,[f]);if(!g.isDefaultPrevented()){o[a.effect].call(e,f,function(){g.type="onClick";l.trigger(g,[f])});j=f;h.removeClass(a.current);k.addClass(a.current);return e}},getConf:function(){return a},getTabs:function(){return h},getPanes:function(){return i},getCurrentPane:function(){return i.eq(j)},getCurrentTab:function(){return h.eq(j)},getIndex:function(){return j},next:function(){return e.click(j+1)},prev:function(){return e.click(j-1)},destroy:function(){h.unbind(a.event).removeClass(a.current);
+i.find("a[href^=#]").unbind("click.T");return e}});c.each("onBeforeClick,onClick".split(","),function(f,g){c.isFunction(a[g])&&c(e).bind(g,a[g]);e[g]=function(k){k&&c(e).bind(g,k);return e}});if(a.history&&c.fn.history){c.tools.history.init(h);a.event="history"}h.each(function(f){c(this).bind(a.event,function(g){e.click(f,g);return g.preventDefault()})});i.find("a[href^=#]").bind("click.T",function(f){e.click(c(this).attr("href"),f)});if(location.hash&&a.tabs=="a"&&d.find("[href="+location.hash+"]").length)e.click(location.hash);
+else if(a.initialIndex===0||a.initialIndex>0)e.click(a.initialIndex)}c.tools=c.tools||{version:"1.2.5"};c.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",rotate:false,history:false},addEffect:function(d,b){o[d]=b}};var o={"default":function(d,b){this.getPanes().hide().eq(d).show();b.call()},fade:function(d,b){var a=this.getConf(),e=a.fadeOutSpeed,l=this.getPanes();e?l.fadeOut(e):l.hide();l.eq(d).fadeIn(a.fadeInSpeed,b)},slide:function(d,
+b){this.getPanes().slideUp(200);this.getPanes().eq(d).slideDown(400,b)},ajax:function(d,b){this.getPanes().eq(0).load(this.getTabs().eq(d).attr("href"),b)}},m;c.tools.tabs.addEffect("horizontal",function(d,b){m||(m=this.getPanes().eq(0).width());this.getCurrentPane().animate({width:0},function(){c(this).hide()});this.getPanes().eq(d).animate({width:m},function(){c(this).show();b.call()})});c.fn.tabs=function(d,b){var a=this.data("tabs");if(a){a.destroy();this.removeData("tabs")}if(c.isFunction(b))b=
+{onBeforeClick:b};b=c.extend({},c.tools.tabs.conf,b);this.each(function(){a=new p(c(this),d,b);c(this).data("tabs",a)});return b.api?a:this}})(jQuery);
+(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
+0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
+setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
+h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
+e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
+{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
+a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);
+(function(a){function t(d,b){var c=this,j=d.add(c),o=a(window),k,f,m,g=a.tools.expose&&(b.mask||b.expose),n=Math.random().toString().slice(10);if(g){if(typeof g=="string")g={color:g};g.closeOnClick=g.closeOnEsc=false}var p=b.target||d.attr("rel");f=p?a(p):d;if(!f.length)throw"Could not find Overlay: "+p;d&&d.index(f)==-1&&d.click(function(e){c.load(e);return e.preventDefault()});a.extend(c,{load:function(e){if(c.isOpened())return c;var h=q[b.effect];if(!h)throw'Overlay: cannot find effect : "'+b.effect+
+'"';b.oneInstance&&a.each(s,function(){this.close(e)});e=e||a.Event();e.type="onBeforeLoad";j.trigger(e);if(e.isDefaultPrevented())return c;m=true;g&&a(f).expose(g);var i=b.top,r=b.left,u=f.outerWidth({margin:true}),v=f.outerHeight({margin:true});if(typeof i=="string")i=i=="center"?Math.max((o.height()-v)/2,0):parseInt(i,10)/100*o.height();if(r=="center")r=Math.max((o.width()-u)/2,0);h[0].call(c,{top:i,left:r},function(){if(m){e.type="onLoad";j.trigger(e)}});g&&b.closeOnClick&&a.mask.getMask().one("click",
+c.close);b.closeOnClick&&a(document).bind("click."+n,function(l){a(l.target).parents(f).length||c.close(l)});b.closeOnEsc&&a(document).bind("keydown."+n,function(l){l.keyCode==27&&c.close(l)});return c},close:function(e){if(!c.isOpened())return c;e=e||a.Event();e.type="onBeforeClose";j.trigger(e);if(!e.isDefaultPrevented()){m=false;q[b.effect][1].call(c,function(){e.type="onClose";j.trigger(e)});a(document).unbind("click."+n).unbind("keydown."+n);g&&a.mask.close();return c}},getOverlay:function(){return f},
+getTrigger:function(){return d},getClosers:function(){return k},isOpened:function(){return m},getConf:function(){return b}});a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(e,h){a.isFunction(b[h])&&a(c).bind(h,b[h]);c[h]=function(i){i&&a(c).bind(h,i);return c}});k=f.find(b.close||".close");if(!k.length&&!b.close){k=a('<a class="close"></a>');f.prepend(k)}k.click(function(e){c.close(e)});b.load&&c.load()}a.tools=a.tools||{version:"1.2.5"};a.tools.overlay={addEffect:function(d,
+b,c){q[d]=[b,c]},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:false,mask:null,oneInstance:true,speed:"normal",target:null,top:"10%"}};var s=[],q={};a.tools.overlay.addEffect("default",function(d,b){var c=this.getConf(),j=a(window);if(!c.fixed){d.top+=j.scrollTop();d.left+=j.scrollLeft()}d.position=c.fixed?"fixed":"absolute";this.getOverlay().css(d).fadeIn(c.speed,b)},function(d){this.getOverlay().fadeOut(this.getConf().closeSpeed,
+d)});a.fn.overlay=function(d){var b=this.data("overlay");if(b)return b;if(a.isFunction(d))d={onBeforeLoad:d};d=a.extend(true,{},a.tools.overlay.conf,d);this.each(function(){b=new t(a(this),d);s.push(b);a(this).data("overlay",b)});return d.api?b:this}})(jQuery);
+(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
+a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
+0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
+e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
+d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
+m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
+{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
diff --git a/public/javascripts/smartphone/jscript.js b/public/javascripts/smartphone/jscript.js
new file mode 100644 (file)
index 0000000..984bfe2
--- /dev/null
@@ -0,0 +1,5 @@
+function LinkTo(index, value) {\r
+       if (index != 0) {\r
+               window.location = value;\r
+       }\r
+}
\ No newline at end of file
diff --git a/public/javascripts/smartphone/scrollable.js b/public/javascripts/smartphone/scrollable.js
new file mode 100644 (file)
index 0000000..8b864e1
--- /dev/null
@@ -0,0 +1,15 @@
+// execute your scripts when the DOM is ready. this is mostly a good habit\r
+$(function() {\r
+\r
+       // initialize scrollable\r
+       //~ jQuery(".scrollable").scrollable();\r
+       jQuery(".scrollable").scrollable({ touch: false });\r
+       \r
+       var items = document.getElementById("scrollableContents");\r
+       var images = items.getElementsByTagName("img");\r
+       if (images.length == 1) {\r
+               jQuery('.browse').css("visibility", "hidden");\r
+       }\r
+       \r
+       \r
+});
\ No newline at end of file
diff --git a/public/stylesheets/smartphone/scrollable-buttons.css b/public/stylesheets/smartphone/scrollable-buttons.css
new file mode 100644 (file)
index 0000000..b196581
--- /dev/null
@@ -0,0 +1,55 @@
+
+/* this makes it possible to add next button beside scrollable */
+.scrollable {
+       float:left;     
+}
+
+/* prev, next, prevPage and nextPage buttons */
+a.browse {
+       background:url(/images/smartphone/hori_large.png) no-repeat;
+       display:block;
+       width:30px;
+       height:30px;
+       float:left;
+       margin:30px 0px 30px 0px;
+       cursor:pointer;
+       font-size:1px;
+}
+
+a.big {
+       margin:96px 0px 96px 0px !important;
+}
+
+/* right */
+a.right                                { background-position: 0 -30px; clear:right; margin-right: 0px;}
+a.right:hover          { background-position:-30px -30px; }
+a.right:active         { background-position:-60px -30px; } 
+
+
+/* left */
+a.left                         { margin-left: 0px; } 
+a.left:hover           { background-position:-30px 0; }
+a.left:active          { background-position:-60px 0; }
+
+/* up and down */
+a.up, a.down           { 
+       background:url(../img/scrollable/arrow/vert_large.png) no-repeat; 
+       float: none;
+       margin: 10px 50px;
+}
+
+/* up */
+a.up:hover             { background-position:-30px 0; }
+a.up:active            { background-position:-60px 0; }
+
+/* down */
+a.down                                 { background-position: 0 -30px; }
+a.down:hover           { background-position:-30px -30px; }
+a.down:active          { background-position:-60px -30px; } 
+
+
+/* disabled navigational button */
+a.disabled {
+       visibility:hidden !important;           
+}      
+
diff --git a/public/stylesheets/smartphone/scrollable-horizontal.css b/public/stylesheets/smartphone/scrollable-horizontal.css
new file mode 100644 (file)
index 0000000..b2a60af
--- /dev/null
@@ -0,0 +1,58 @@
+
+/*
+       root element for the scrollable.
+       when scrolling occurs this element stays still.
+*/
+.scrollable {
+
+       /* required settings */
+       position:relative;
+       overflow:hidden;
+       width: 6800px;
+       height:120px;
+
+       /* custom decorations */
+       border:1px solid #ccc;
+       background:url(/img/global/gradient/h300.png) repeat-x;
+}
+
+/*
+       root element for scrollable items. Must be absolutely positioned
+       and it should have a extremely large width to accomodate scrollable items.
+       it's enough that you set the width and height for the root element and
+       not for this element.
+*/
+.scrollable .items {
+       /* this cannot be too large */
+       width:20000em;
+       position:absolute;
+       clear:both;
+}
+
+.items div {
+       float:left;
+       width:100px;
+}
+
+/* single scrollable item */
+.scrollable img {
+       float:left;
+       margin:20px 5px 20px 21px;
+       background-color:#fff;
+       padding:2px;
+       border:1px solid #ccc;
+       width:100px;
+       height:75px;
+       
+       -moz-border-radius:4px;
+       -webkit-border-radius:4px;
+}
+
+/* active item */
+.scrollable .active {
+       border:2px solid #000;
+       position:relative;
+       cursor:default;
+}
+
+
diff --git a/public/stylesheets/smartphone/scrollableMin.css b/public/stylesheets/smartphone/scrollableMin.css
new file mode 100644 (file)
index 0000000..dc5c1f5
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+       root element for the scrollable.\r
+       when scrolling occurs this element stays still.\r
+*/\r
+.scrollable {\r
+\r
+       /* required settings */\r
+       position:relative;\r
+       overflow:hidden;\r
+       width: 80%;\r
+       height:90px;\r
+}\r
+\r
+div.big{\r
+       /* required settings */\r
+       width: 224px !important;\r
+       height:224px !important;\r
+}\r
+\r
+.scrollableOuter {\r
+       width:100%;\r
+       margin-bottom: 10px;\r
+}\r
+\r
+.centerScrollable {\r
+       width:285px;\r
+       margin:0px auto;\r
+}\r
+\r
+/*\r
+       root element for scrollable items. Must be absolutely positioned\r
+       and it should have a extremely large width to accommodate scrollable items.\r
+       it's enough that you set width and height for the root element and\r
+       not for this element.\r
+*/\r
+.scrollable .items {\r
+       /* this cannot be too large */\r
+       width:2000px;\r
+       position:absolute;\r
+}\r
+\r
+/*\r
+       a single item. must be floated in horizontal scrolling.\r
+       typically, this element is the one that *you* will style\r
+       the most.\r
+*/\r
+.items div {\r
+       float:left;\r
+}
\ No newline at end of file
diff --git a/public/stylesheets/smartphone/smartphone.css b/public/stylesheets/smartphone/smartphone.css
new file mode 100644 (file)
index 0000000..ca5485a
--- /dev/null
@@ -0,0 +1,795 @@
+a {\r
+       color:#e86474;\r
+}\r
+\r
+body {\r
+       font-size:12px;\r
+       margin:0;\r
+       padding:0;\r
+}\r
+\r
+hr {\r
+       width:70%;\r
+       color:#facfd2;\r
+       margin-top:15px;\r
+       margin-bottom:15px;\r
+}\r
+\r
+dl {\r
+\r
+}\r
+\r
+input.rounded {\r
+       width:75vw;\r
+}\r
+\r
+.highlightError {\r
+       color:red;\r
+}\r
+\r
+.bulletpoint {\r
+       color:#FF9775;\r
+}\r
+\r
+.floatLeft{\r
+       float:left;\r
+       margin:0px 5px 5px 0px;\r
+}\r
+\r
+.pagination {\r
+       text-align:center;\r
+       margin-top:15px;\r
+}\r
+\r
+.searchform {\r
+       float:left;\r
+}\r
+\r
+.rounded {\r
+       border-radius: 5px;\r
+}\r
+\r
+.center {\r
+       text-align:center;\r
+}\r
+\r
+.important {\r
+       color:#ff0000;\r
+}\r
+\r
+.sectionHeader {\r
+       background-color:#facfd2;\r
+       border-top:3px solid #ff90a0;\r
+       font-weight:bold;\r
+       font-size:16px;\r
+       margin:10px 0px 10px 0px;\r
+       padding:1px 0px 1px 40px;\r
+}\r
+\r
+.sectionSubheader {\r
+       background-color:#facfd2;\r
+       border-top:1px solid #ff90a0;\r
+       font-weight:bold;\r
+       font-size:14px;\r
+       margin:10px 0px 3px 0px;\r
+       padding:1px 0px 1px 5px;\r
+}\r
+\r
+.statuses {\r
+       margin-left:40px;\r
+       margin-bottom:10px;\r
+       font-weight:bold;\r
+       font-size:13px;\r
+}\r
+\r
+li.clearfix {\r
+       list-style:none;\r
+}\r
+\r
+address {\r
+       font-size: 12px;\r
+       text-align:center;\r
+       color:#666666;\r
+}\r
+\r
+div.img\r
+{\r
+       border-radius: .5em;\r
+  position:relative;\r
+  margin: 2px 5px;\r
+  float: left;\r
+  text-align: center;\r
+  width:74px;\r
+  height:80px;\r
+}      \r
+\r
+.item {\r
+       border: solid 1px #d27a84;\r
+       border-bottom: solid 1px #c34554;\r
+       background: white; /* fallback for older/unsupporting browsers */\r
+       background: -moz-linear-gradient(bottom, #d27a84, white 30%);\r
+       background: -webkit-gradient(linear, left bottom, left top, from(#d27a84), to(#fff), color-stop(.3, #fff));\r
+}\r
+\r
+div.img img\r
+{\r
+  display: inline;\r
+  margin: 0px;\r
+\r
+}\r
+\r
+div.img a:hover {color:#ffffff;} \r
+\r
+div.desc\r
+{\r
+  font-size: 10px;\r
+  text-align: center;\r
+  font-weight: normal;\r
+  width:70px;\r
+  margin: 2px 2px 0px 2px;\r
+}\r
+\r
+span.link {\r
+       position:absolute;\r
+       width:100%;\r
+       height:100%;\r
+       top:0;\r
+       left: 0;\r
+       z-index: 1;\r
+}\r
+\r
+span.rounded {\r
+       margin-bottom:50px;\r
+}\r
+\r
+#logout {\r
+       text-align:center;\r
+       margin-bottom:15px;\r
+}\r
+\r
+.notice {\r
+       clear:both;\r
+       margin-left:10px;\r
+       margin-bottom:20px;\r
+       font-weight:bold;\r
+       font-size:16px;\r
+}\r
+\r
+.productListing {\r
+       position:relative;\r
+       margin-bottom:4px;\r
+}\r
+\r
+.productListing:nth-child(even) {\r
+       background-color: #ffeeee;\r
+}\r
+\r
+/* site information style */\r
+.confirmInquiry {\r
+       margin-top:10px;\r
+}\r
+\r
+#inquiry_body {\r
+       width:100%;\r
+}\r
+\r
+.contactDetail {\r
+       margin-left:20px;\r
+}\r
+/* end site information style */\r
+\r
+/* user information style */\r
+.topMessage {\r
+       margin: 0px 5px 20px 5px;\r
+}\r
+\r
+.editMessage {\r
+       margin: 0px 5px 0px 5px;\r
+}\r
+\r
+.historyEntry {\r
+       float:left;\r
+       margin-left:5px;\r
+}\r
+\r
+.showHistoryButton{\r
+       float:right;\r
+       margin-right:5px;\r
+}\r
+\r
+.historyDetail {\r
+       margin-left:5px;\r
+}\r
+\r
+.withdrawButtons {\r
+       margin-top:10px;\r
+       text-align:center;\r
+}\r
+\r
+.withdrawYes {\r
+       margin-bottom:5px;\r
+}\r
+\r
+.withdrawNo {\r
+       margin-bottom:10px;\r
+}\r
+/* end user information style */\r
+\r
+\r
+/* cart/checkout style */\r
+#cartSummary {\r
+       text-align:center;\r
+       margin-bottom:10px;\r
+}\r
+\r
+.productImage {\r
+       position:relative;\r
+       float:left;\r
+}\r
+\r
+.productDetails {\r
+       float:left;\r
+}\r
+\r
+.productQuantity{\r
+       text-align:right;\r
+       margin-right:5px;\r
+}\r
+\r
+.productSubtotal{\r
+       position:relative;\r
+       top:30px;\r
+       text-align:right;\r
+       margin-right:5px;\r
+}\r
+\r
+.productButtons {\r
+       clear:both;\r
+       width:153px;\r
+       margin:auto;\r
+}\r
+\r
+.cartItem:nth-child(even) {\r
+       background-color: #ffeeee;\r
+}\r
+\r
+.cartItem {\r
+       margin-bottom:2px;\r
+}\r
+\r
+#cartMoreOptions{\r
+       text-align:center;\r
+}\r
+\r
+#cartTotal {\r
+       margin-top:10px;\r
+       margin-bottom:10px;\r
+       text-align:center;\r
+       font-size:14px;\r
+}\r
+\r
+.highlightYen {\r
+       color:#cc0033;\r
+}\r
+\r
+.addressMessage {\r
+       margin-bottom:10px;\r
+       margin-left:5px;\r
+}\r
+\r
+.createAddress {\r
+       margin-bottom:10px;\r
+       margin-left:5px;\r
+}\r
+\r
+.addressEntry:nth-child(even) {\r
+       /* background-color: #ffeeee; */\r
+}\r
+\r
+.addressTitle {\r
+       background-color:#facfd2;\r
+       border-top:1px solid #ff90a0;\r
+       font-weight:bold;\r
+       font-size:14px;\r
+       margin:10px 0px 10px 0px;\r
+       padding:1px 0px 1px 5px;\r
+}\r
+\r
+.addressEntry {\r
+       padding-left:5px;\r
+}\r
+\r
+.addressEndList {\r
+       margin-bottom:5px;\r
+}\r
+\r
+.addressButton1 {\r
+       position:relative;\r
+       text-align:center;\r
+       margin-bottom:5px;\r
+}\r
+\r
+.addressButton2 {\r
+       text-align:center;\r
+}\r
+\r
+.delivery_trader_select ul {\r
+       list-style-type: none;\r
+}\r
+\r
+.delivery_time_select select {\r
+       margin-left:40px;\r
+}\r
+\r
+.delivery_cart {\r
+       margin:20px 0px;;\r
+}\r
+\r
+.rightButtonPlacement {\r
+       position:absolute;\r
+       right:70px;\r
+}\r
+\r
+.leftButtonPlacement {\r
+       position:relative;\r
+       right:50px;\r
+       bottom:5px;\r
+}\r
+\r
+.leftButtonPlacement2 {\r
+       position:relative;\r
+       right:50px;\r
+}\r
+\r
+.subtotals {\r
+       margin:15px 5px 0px 5px;\r
+}\r
+\r
+.total {\r
+       text-align:center;\r
+       margin:0px 0px 5px 0px;\r
+       background-color: #ffeeee;\r
+}\r
+\r
+.usedPoints {\r
+       margin:10px 5px 0px 5px;\r
+}\r
+\r
+.gainedPoints {\r
+       margin:5px 5px 0px 5px;\r
+}\r
+\r
+.payAmount {\r
+       text-align:center;\r
+       background-color: #ffeeee;\r
+}\r
+\r
+.confirmAddress {\r
+       margin:10px 5px 0px 5px;\r
+}\r
+\r
+.confirmPayment {\r
+       margin:5px 5px 0px 5px;\r
+}\r
+\r
+.confirmAccount {\r
+       margin:5px 5px 0px 5px;\r
+}\r
+\r
+.confirmDetail {\r
+       margin-left:15px;\r
+}\r
+\r
+.purchaseComplete {\r
+       text-align:center;\r
+}\r
+\r
+.completeMessage {\r
+       margin:10px 5px 20px 5px; \r
+}\r
+\r
+.historyButton {\r
+       text-align:center;\r
+}\r
+\r
+#delivery {\r
+       margin-left:5px;\r
+       margin-top:20px;\r
+       font-weight:bold;\r
+}\r
+\r
+#deliveryOption {\r
+       margin-left:5px;\r
+}\r
+/* end cart/checkout style */\r
+\r
+/* login signup style */\r
+.text {\r
+       margin-left:5px;\r
+       margin-right:5px;\r
+}\r
+\r
+#termsButtons {\r
+       width:255px;\r
+       margin:auto;\r
+}\r
+\r
+.tb2 {\r
+       border:1px solid #999;\r
+       border-collapse: collapse;\r
+       margin:auto;\r
+       width:100%;\r
+}\r
+\r
+.tb2 tr:nth-child(odd) {\r
+       background-color: #facfd2;\r
+}\r
+\r
+.tb2 input {\r
+       border-radius: 5px;\r
+}\r
+\r
+.tb2 select {\r
+       border-top-left-radius: 5px;\r
+       border-top-right-radius: 5px;\r
+       border-bottom-left-radius: 5px;\r
+}\r
+\r
+ .tb2 td {\r
+       border: 1px solid #999;\r
+       padding:10px;\r
+}\r
+\r
+.tb2 p {\r
+       margin-top:0px;\r
+}\r
+\r
+.must {\r
+    color: #FF0000;\r
+}\r
+\r
+.tb_desc{\r
+       margin:5px;\r
+}\r
+\r
+.require {\r
+    color: #FF0000;\r
+       margin:5px;\r
+}\r
+\r
+.form_s {\r
+       width:30px;\r
+       margin:3px;\r
+}\r
+\r
+#postCodeButton{\r
+       margin:5px;\r
+       padding:2px 2px;\r
+}\r
+\r
+.postCodeButton{\r
+       margin:5px;\r
+       padding:2px 2px;\r
+}\r
+\r
+.small{\r
+       font-size:11px;\r
+}\r
+\r
+.my_btn {\r
+    margin: 0 auto;\r
+    width: 92px;\r
+}\r
+\r
+#submitForm {\r
+       margin-top:10px;\r
+}\r
+\r
+.my_btn2 {\r
+    margin:10px auto 0px auto;\r
+       width: 186px;\r
+}\r
+\r
+.my_btn3 {\r
+    margin: 0 auto;\r
+       width: 140px;\r
+}\r
+\r
+.my_btn4 {\r
+       text-align:center;\r
+       margin-top:10px;\r
+}\r
+\r
+#errorExplanation{\r
+       border:1px solid red;\r
+       color:red;\r
+       margin-bottom:5px;\r
+}\r
+\r
+#customer_family_name {\r
+       margin-bottom:5px;\r
+}\r
+\r
+#customer_family_name_kana {\r
+       margin-bottom:5px;\r
+}\r
+\r
+#customer_first_name_kana {\r
+       margin-left:2px;\r
+}\r
+\r
+#confirmEntry span {\r
+       color:#FF9775;\r
+}\r
+\r
+#confirmList {\r
+       border-bottom:2px solid #F3F3EC;\r
+       margin-bottom:10px;\r
+}\r
+\r
+#confirmEntry #confirmList div {\r
+       border-top:2px solid #F3F3EC;\r
+}\r
+\r
+#loginForm {\r
+       margin:20px 5px 11px;\r
+}\r
+\r
+#loginForm input {\r
+       margin-bottom:7px;\r
+}\r
+\r
+#loginLinks {\r
+       margin-top:20px;\r
+}\r
+\r
+#loginLinks div {\r
+       margin-top:11px;\r
+}\r
+\r
+/* end login signup style */\r
+\r
+#comment {\r
+       font-family:meiryoKe_Gothic;\r
+       margin:0px 10px 0px 10px;\r
+}\r
+\r
+#cart_in {\r
+       float:left;\r
+}\r
+\r
+#header {\r
+       position: relative;\r
+       background-color: #facfd2;\r
+       border-color: #facfd2;\r
+       height: 50px;\r
+}\r
+\r
+#title {\r
+       position:relative;\r
+       font-size: 32px;\r
+       padding: 5px;\r
+       padding-top:10px;\r
+       font-family:Arial;\r
+}\r
+\r
+#title a {\r
+       text-decoration: none;\r
+       color:black;\r
+       font-weight: bold;\r
+} \r
+\r
+#login {\r
+       position: absolute;\r
+       bottom: 2px;\r
+       right: 5px;\r
+       padding: 5px;\r
+       margin-left:2px;\r
+       margin-right:2px;\r
+}\r
+\r
+#searchAndCart {\r
+       margin-bottom:20px;\r
+}\r
+\r
+#searchbox {\r
+       float:left;\r
+       margin-left:3px;\r
+       margin-top:4px;\r
+       height: 17px;\r
+       width:50%;\r
+}\r
+\r
+#searchform{\r
+       float:left;\r
+       width:80%;\r
+}\r
+\r
+#search{\r
+       float:left;\r
+       padding:3px 5px 3px 5px;\r
+       margin:4px 2px 0px 2px;\r
+}\r
+\r
+/* bottom search bar */\r
+#searchFooter {\r
+       margin-top:10px;\r
+       margin-left:3px;\r
+}\r
+\r
+#bottomsearchform{\r
+       float:left;\r
+       width:100%;\r
+}\r
+\r
+#bottomsearchbox {\r
+       float:left;\r
+       margin-left:3px;\r
+       margin-top:4px;\r
+       height: 17px;\r
+       width:81%;\r
+}\r
+\r
+#bottomsearch{\r
+       float:left;\r
+       padding:3px 5px 3px 5px;\r
+       margin:4px 2px 0px 2px;\r
+}\r
+/* end bottom search bar */\r
+\r
+#mycart {\r
+       float:right;\r
+       padding: 5px;\r
+       margin-top:3px;\r
+       margin-right:7px;\r
+\r
+}\r
+\r
+#categories {\r
+       margin-top:20px;\r
+       margin-bottom:15px;\r
+       width:100%;\r
+       color:black;\r
+}\r
+\r
+#info {\r
+       margin-bottom:15px;\r
+       width:100%;\r
+       color:black;\r
+}\r
+\r
+/* quantity field on product page */\r
+#size {\r
+       margin-left:6px;\r
+}\r
+\r
+#addToCart {\r
+       float:left;\r
+       margin-left:20px;\r
+}\r
+\r
+#itemDetails {\r
+       clear:both;\r
+       margin-top:5px;\r
+}\r
+\r
+.centerCart {\r
+       width:300px;\r
+       margin:auto;\r
+}\r
+\r
+#stock_table {\r
+       clear:both;\r
+       margin-top:10px;\r
+}\r
+\r
+.leftMargin {\r
+       margin-left:40px;\r
+}\r
+\r
+/* index view */\r
+.listOrder {\r
+       text-align:center;\r
+}\r
+\r
+.pagination {\r
+       margin-bottom:5px;\r
+}\r
+\r
+#numEntries {\r
+       text-align:right;\r
+}\r
+\r
+#pages {\r
+       text-align:center;\r
+}\r
+/* end index view */\r
+\r
+.banner {\r
+       position:relative;\r
+       text-align:center;\r
+       font-size:14px;\r
+       padding:12px 0px !important;\r
+}\r
+\r
+.button {\r
+       display: inline-block;\r
+       zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */\r
+       *display: inline;\r
+       vertical-algin: baseline;\r
+\r
+       outline: none;\r
+       cursor: pointer;\r
+       text-align: center;\r
+       text-decoration: none;\r
+       font: 14px/100% Arial, Helvetica, sans-serif;\r
+       padding: .5em 2em .55em;\r
+       text-shadow: 0 1px 1px rgba(0,0,0,.3);\r
+       -webkit-border-radius: .5em; \r
+       -moz-border-radius: .5em;\r
+       border-radius: .5em;\r
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+       -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+       box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+}\r
+\r
+.small_button {\r
+       display: inline-block;\r
+       zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */\r
+       *display: inline;\r
+       vertical-algin: baseline;\r
+\r
+       outline: none;\r
+       cursor: pointer;\r
+       text-align: center;\r
+       text-decoration: none;\r
+       font: 12px/100% Arial, Helvetica, sans-serif;\r
+       padding: .5em;\r
+       text-shadow: 0 1px 1px rgba(0,0,0,.3);\r
+       -webkit-border-radius: .5em; \r
+       -moz-border-radius: .5em;\r
+       border-radius: .5em;\r
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+       -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+       box-shadow: 0 1px 2px rgba(0,0,0,.2);\r
+}\r
+\r
+.golden {\r
+       color: #d27302;\r
+       /* color:#e69d03; */\r
+       padding:2px;\r
+       background: -webkit-gradient(linear, left top, left bottom, from(#feff8a), to(#d1a635));\r
+       background: -moz-linear-gradient(top,  #feff8a,  #d1a635);\r
+ }\r
\r
+ .rosy2 {\r
+       color: #fae7e9;\r
+       padding:2px;\r
+       background: #da5867;\r
+       background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));\r
+       background: -moz-linear-gradient(top,  #f16c7c,  #bf404f);\r
+       filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');\r
+}\r
\r
+/* rosy */\r
+.rosy {\r
+       color: #fae7e9;\r
+       border: solid 1px #b73948;\r
+       background: #da5867;\r
+       background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));\r
+       background: -moz-linear-gradient(top,  #f16c7c,  #bf404f);\r
+       filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');\r
+}\r
+\r
+.rosy:hover {\r
+       background: #ba4b58;\r
+       background: -webkit-gradient(linear, left top, left bottom, from(#cf5d6a), to(#a53845));\r
+       background: -moz-linear-gradient(top,  #cf5d6a,  #a53845);\r
+       filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cf5d6a', endColorstr='#a53845');\r
+}\r
+.rosy:active {\r
+       color: #dca4ab;\r
+       background: -webkit-gradient(linear, left top, left bottom, from(#bf404f), to(#f16c7c));\r
+       background: -moz-linear-gradient(top,  #bf404f,  #f16c7c);\r
+       filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf404f', endColorstr='#f16c7c');\r
+}\r