synergy_default_theme 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ \#*
2
+ *~
3
+ .#*
4
+ .DS_Store
5
+ .idea
6
+ .project
7
+ tmp
8
+ nbproject
9
+ *.swp
10
+ *.bak
11
+ spec/test_app
12
+ Gemfile
@@ -1,3 +1,3 @@
1
1
  ProductsController.class_eval do
2
- helper :reviews
2
+ helper :reviews if defined?(SpreeReviews)
3
3
  end
@@ -1,7 +1,6 @@
1
1
  Spree::BaseHelper.module_eval do
2
2
  def link_to_cart(text = t('cart'))
3
- #return "" if current_page?(cart_path)
4
- #css_class = nil
3
+ css_class = nil
5
4
  if current_order.nil? or current_order.line_items.empty?
6
5
  text = "#{text}"
7
6
  css_class = 'empty'
@@ -11,4 +10,13 @@ Spree::BaseHelper.module_eval do
11
10
  end
12
11
  link_to text, cart_path, :class => css_class
13
12
  end
13
+
14
+ # Outputs the corresponding flash message if any are set
15
+ def flash_messages
16
+ %w(notice warning error).map do |msg|
17
+ content_tag(:script,
18
+ "$.jGrowl(\"#{flash.delete(msg.to_sym)}\", { header: '#{t(msg, :default => msg).mb_chars.titleize}', sticky: true, theme: '#{msg}' });".html_safe
19
+ ) unless flash[msg.to_sym].blank?
20
+ end.join("\n").html_safe
21
+ end
14
22
  end
@@ -0,0 +1,12 @@
1
+ if defined?(ReviewSweeper)
2
+ ReviewSweeper.class_eval do
3
+ private
4
+
5
+ def expire_cache_for(review)
6
+ review.product.recalculate_rating
7
+ review.product.taxons.each do |taxon|
8
+ expire_fragment([taxon, 'preview'])
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,11 +1,7 @@
1
1
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
3
  <head>
4
- <%= hook :inside_head do %>
5
- <%= render 'shared/head' %>
6
- <% end %>
7
- <%= render 'shared/synergy_compare_products_js' if defined?(SpreeCompareProducts) %>
8
- <%= stylesheet_link_tag 'style' %>
4
+ <%= render 'shared/head' %>
9
5
  </head>
10
6
  <%
11
7
  if @body_class.nil?
@@ -30,8 +26,9 @@
30
26
  <div><%= link_to_cart %></div>
31
27
  </li>
32
28
  <li>
33
- <% if @comparable_products %>
34
- <div><%= link_to "Сравнение товаров (#{@comparable_products.count})", compare_products_path, {:id => "compare_products"} %></div>
29
+ <% if defined?(SpreeCompareProducts) %>
30
+ <div><%= link_to(t(:product_comparison, :scope => :compare_products) + (@comparable_products.size > 0 ? " (#{@comparable_products.count})" : ""),
31
+ compare_products_path, :id => "compare_products") %></div>
35
32
  <div id="tooltip" class="tooltip" style="display: none">
36
33
  <div class="tooltip_top"></div>
37
34
  <div class="tooltip_middle">
@@ -79,12 +76,15 @@
79
76
  </div>
80
77
  <% end %>
81
78
  <div id="content" class="content">
82
- <% if flash.notice %>
83
- <div class="flash notice"><%= flash.notice %></div>
84
- <% end %>
85
- <% if flash[:error] %>
86
- <div class="flash errors"><%= flash[:error] %></div>
87
- <% end %>
79
+ <%= flash_messages %>
80
+ <noscript>
81
+ <% if flash[:notice] %>
82
+ <div class="flash notice"><%= flash[:notice] %></div>
83
+ <% end %>
84
+ <% if flash[:error] %>
85
+ <div class="flash errors"><%= flash[:error] %></div>
86
+ <% end %>
87
+ </noscript>
88
88
  <%= yield %>
89
89
  </div>
90
90
  <div style="height: 10px;"></div>
@@ -19,10 +19,10 @@
19
19
 
20
20
  <div id="applying_coupon">
21
21
  <h3><%= t(:apply_coupon) %></h3>
22
- <label><%= t(:coupon_code) %></label>
22
+ <label><%= t(:coupon_code) %>:</label>
23
23
  <%= order_form.text_field :coupon_code, :size => 19 %>
24
24
  <span class="ajax_loader"><%= image_tag 'ajax_loader.gif', :alt => t('loading') %></span>
25
- <%= order_form.submit t("apply") %>
25
+ <%= order_form.submit t("apply"), :class => 'button' %>
26
26
  </div>
27
27
  <% end %>
28
28
 
@@ -0,0 +1,45 @@
1
+ <tr class="<%= cycle('', 'alt') %>">
2
+ <td>
3
+ <%- locals = {:item_form => item_form, :variant => variant, :line_item => line_item} %>
4
+ <%= hook :cart_item_image, locals do %>
5
+ <% if variant.images.length == 0 %>
6
+ <%= small_image(variant.product) %>
7
+ <% else %>
8
+ <%= image_tag variant.images.first.attachment.url(:small) %>
9
+ <% end %>
10
+ <% end %>
11
+ </td>
12
+ <td>
13
+ <%= hook :cart_item_description, locals do %>
14
+ <h4><%= link_to variant.product.name, product_path(variant.product) %></h4>
15
+ <% if variant %>
16
+ <p><%= variant_options variant %></p>
17
+ <% if variant.product.description %>
18
+ <p><%= truncate(variant.product.description, :length => 100, :omission => "...") %></p>
19
+ <% end %>
20
+ <% end %>
21
+ <% end %>
22
+ </td>
23
+ <td>
24
+ <%= hook :cart_item_price, locals do %>
25
+ <%= product_price(line_item) %>
26
+ <% end %>
27
+ </td>
28
+ <td>
29
+ <%= hook :cart_item_quantity, locals do %>
30
+ <%= item_form.text_field :quantity, :size => 3, :class => "line_item_quantity" %>
31
+ <% end %>
32
+ </td>
33
+
34
+ <td>
35
+ <%= hook :cart_item_total, locals do %>
36
+ <%= format_price(product_price(line_item, :format_as_currency => false) * line_item.quantity) unless line_item.quantity.nil? %>
37
+ <% end %>
38
+ </td>
39
+ <td>
40
+ <%= hook :cart_item_delete, locals do %>
41
+ <%= link_to(image_tag('/images/admin/icons/delete.png'), '#', :class => 'delete') %>
42
+ <% end %>
43
+ </td>
44
+
45
+ </tr>
@@ -1,5 +1,5 @@
1
1
  <% unless @product_properties.empty? %>
2
- <h3>Характеристики:</h3>
2
+ <h3><%= t(:product_properties) %>:</h3>
3
3
 
4
4
  <table id="product-properties" class="table-display">
5
5
  <% for product_property in @product_properties %>
@@ -9,12 +9,12 @@
9
9
 
10
10
  $('#description_add_review_link').click(function() {
11
11
  show_add_review_container();
12
- $('#add_review_link').slideUp();
12
+ $('#add_review_link').parent('div').slideUp();
13
13
  });
14
14
 
15
15
  $('#add_review_link').click(function(e) {
16
16
  show_add_review_container();
17
- $(this).slideUp();
17
+ $(this).parent('div').slideUp();
18
18
  e.preventDefault();
19
19
  });
20
20
  <% end %>
@@ -67,7 +67,7 @@
67
67
  <% if defined?(SpreeReviews) %>
68
68
  <tr>
69
69
  <td><%= render 'shared/rating', :product => @product %></td>
70
- <td><a href="#reviews_anc">Отзывы (<%= @product.reviews.approved.count %>)</a></td>
70
+ <td><a href="#reviews_anc"><%= t(:review_header) %> (<%= @product.reviews.approved.count %>)</a></td>
71
71
  </tr>
72
72
  <% end %>
73
73
  <tr>
@@ -75,7 +75,7 @@
75
75
  <td><%= render 'compare' if @comparable_products %></td>
76
76
  <% end %>
77
77
  <% if defined?(SpreeReviews) %>
78
- <td><a id="description_add_review_link" href="#reviews_anc">Добавить отзыв</a></td>
78
+ <td><a id="description_add_review_link" href="#reviews_anc"><%= t(:submit_your_review) %></a></td>
79
79
  <% end %>
80
80
  </tr>
81
81
  </table>
@@ -92,7 +92,7 @@
92
92
  <div style="clear: left"></div>
93
93
  <div id="product_description">
94
94
  <%= hook :product_description do %>
95
- <h3>Описание:</h3>
95
+ <h3><%= t(:description) %>:</h3>
96
96
 
97
97
  <div class="description-content">
98
98
  <% if @product.description %>
@@ -112,7 +112,7 @@
112
112
 
113
113
  <% if defined?(RecentlyViewedConfiguration) && get_recently_viewed_products.count > 1 %>
114
114
  <div id="recently_viewed">
115
- <h3>Вы недавно смотрели:</h3>
115
+ <h3><%= t(:recently_viewed_products) %>:</h3>
116
116
 
117
117
  <ul class="similar_product_list">
118
118
  <% get_recently_viewed_products.each do |p| %>
@@ -0,0 +1,17 @@
1
+ <title><%= title %></title>
2
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
3
+ <%== meta_data_tags %>
4
+ <%= csrf_meta_tag %>
5
+
6
+ <%= hook :inside_head do %>
7
+ <%== stylesheet_tags %>
8
+ <%= stylesheet_link_tag 'jquery.jgrowl' %>
9
+ <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', :cache => 'jquery-libs' %>
10
+ <% end %>
11
+ <%= stylesheet_link_tag 'style' %>
12
+ <% unless I18n.locale.to_s[0..1] == 'en' %>
13
+ <%= javascript_include_tag ['localization/messages_', I18n.locale.to_s[0..1], '.js'].join %>
14
+ <% end %>
15
+ <%= render 'shared/synergy_compare_products_js' if defined?(SpreeCompareProducts) %>
16
+ <%= render 'shared/jgrowl_startup' %>
17
+ <%= yield :head %>
@@ -0,0 +1,5 @@
1
+ <script type="text/javascript">
2
+ $.extend($.jGrowl.defaults, {
3
+ closerTemplate: '<div>[ <%= t(:jgrowl_closer_template) %> ]</div>'
4
+ });
5
+ </script>
@@ -1,8 +1,8 @@
1
1
  <% if current_user %>
2
- Добро пожаловать, <%= link_to current_user.email, account_path %>!
2
+ <%= t(:hello_user) %>, <%= link_to current_user.email, account_path %>!
3
3
  <%= link_to t('logout'), destroy_user_session_path, {:id => 'log_out_link'} %>
4
4
  <% else %>
5
- Добро пожаловать, <%= link_to t('log_in'), login_path, {:id => 'log_in_link', :rel => '#login_overlay'} %>.
5
+ <%= t(:hello_user) %>, <%= link_to t('log_in'), login_path, {:id => 'log_in_link', :rel => '#login_overlay'} %>.
6
6
  <div class="simple_overlay" id="login_overlay" style="display: none">
7
7
  <% if defined?(SpreeSocial) %>
8
8
  <div class="login_social_bar">
@@ -1,8 +1,5 @@
1
- <% content_for :head do %>
2
- <%= stylesheet_link_tag 'reviews.css' %>
3
- <% end %>
4
1
  <% stars = product.get_stars %>
5
- <div title="<%# txt_stars(stars[0]) %>" class="rating-stars-container">
2
+ <div title="<%= txt_stars(stars[0]) %>" class="rating-stars-container">
6
3
  <%= render :partial => "reviews/stars", :locals => {:stars => stars[0]} %>
7
4
  </div>
8
5
 
@@ -0,0 +1,13 @@
1
+ <div class="review">
2
+ <span class="rating" title="<%= txt_stars(review.rating) %>">
3
+ <%= render :partial => "reviews/stars", :locals => {:stars => review.rating} %>
4
+ </span>
5
+ <span class="title"><%= review.title %></span>
6
+ <span class="attribution"><strong><%= l(review.created_at.to_date, :format => :long) %></strong></span>
7
+ <p>
8
+ <%= simple_format(review.review) %>
9
+ </p>
10
+ <div class="feedback_review" id="feedback_review_<%= review.id %>">
11
+ <%= render :partial => "feedback_reviews/form", :locals => {:review => review} %>
12
+ </div>
13
+ </div>
@@ -1,16 +1,16 @@
1
1
  <div id="reviews">
2
2
  <a name="reviews_anc"></a>
3
- <h3><%= t('review_header') %></h3>
3
+ <h3><%= t(:review_header) %></h3>
4
4
 
5
5
  <div style="margin-bottom: 2em">
6
- <a id="add_review_link" href="#">Добавить отзыв</a>
6
+ <a id="add_review_link" href="#"><%= t(:submit_your_review) %></a>
7
7
  </div>
8
8
 
9
9
  <div id="add_review_container" style="display: none">
10
10
  <%= render 'reviews/form', { :product => @product, :review => Review.new } %>
11
11
  </div>
12
12
 
13
- <hr class="review_hr" style="" />
13
+ <hr class="review_hr" />
14
14
 
15
15
  <a name="reviews_list"></a>
16
16
  <% for review in @product.reviews.approval_filter %>
@@ -27,11 +27,14 @@
27
27
  },
28
28
  'review[rating]': {
29
29
  required: true
30
+ },
31
+ 'review[title]': {
32
+ required: true
30
33
  }
31
34
  },
32
35
  messages: {
33
36
  'review[rating]': {
34
- required: 'Оцените товар'
37
+ required: '<%= t(:you_must_rate_the_product) %>'
35
38
  }
36
39
  }
37
40
  });
@@ -1,4 +1,4 @@
1
- <%= javascript_include_tag 'http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js' %>
1
+ <%= javascript_include_tag 'jquery.tools.min.js' %>
2
2
 
3
3
  <script type="text/javascript">
4
4
  $(function() {
@@ -7,8 +7,15 @@
7
7
 
8
8
  jtooltip = $('#compare_products').tooltip({
9
9
  position: 'bottom center',
10
- events: { def: 'none,none' },
11
- delay: 200000
10
+ events: { def: 'none,none', tooltip: "none,none" },
11
+ delay: 5000,
12
+ effect: 'fade',
13
+ onHide: function() {
14
+ $("#compare_products").removeClass('shown');
15
+ },
16
+ onBeforeShow: function() {
17
+ $("#compare_products").addClass('shown');
18
+ }
12
19
  }).data('tooltip');
13
20
 
14
21
  $('#compare_products').click(function(e) {
@@ -21,8 +28,6 @@
21
28
  e.preventDefault();
22
29
  });
23
30
 
24
- $("#compare_products").html("<%= t(:compare_products, :scope => :compare_products, :count => @comparable_products.count) %>");
25
-
26
31
  $("#compare_products_link a").addClass('button');
27
32
  $("#log_in_link").overlay({
28
33
  mask: {
@@ -30,22 +35,55 @@
30
35
  opacity: 0.3
31
36
  }
32
37
  });
38
+
39
+ updateCompareProductsCount();
33
40
  });
34
41
 
42
+ function updateCompareProductsCount() {
43
+ var items_count = $("#comparable_products").children().length;
44
+ if (items_count == 0) {
45
+ $("#comparable_products_wrapper .no_products_message").slideDown();
46
+ }
47
+ else {
48
+ $("#comparable_products_wrapper .no_products_message").slideUp();
49
+ }
50
+
51
+ $("#compare_products").html("<%= t(:product_comparison, :scope => :compare_products) %>" + ( items_count > 0 ? " ("+ items_count +")" : "" ));
52
+ }
53
+
54
+ var popupTimer;
55
+
35
56
  function showComparePopup() {
36
57
  jtooltip.show();
37
- $("#compare_products").addClass('shown');
58
+ clearTimeout(popupTimer);
59
+ popupTimer = setTimeout(hideComparePopup, 6000)
38
60
  }
39
61
 
40
62
  function hideComparePopup() {
41
63
  jtooltip.hide();
42
- $("#compare_products").removeClass('shown');
43
64
  }
44
65
 
45
- function onAddCompareProduct() {
46
- showComparePopup();
66
+ function onAddCompareProduct(line_item, product_id) {
67
+ $("#comparable_products").append(line_item);
68
+ $("#comp_item_" + product_id).hide().slideDown(function() {
69
+ showComparePopup();
70
+ updateCompareProductsCount();
71
+ });
72
+ }
73
+
74
+ function onRemoveCompareProduct(product_id) {
75
+ $("#comp_item_" + product_id).slideUp(function() {
76
+ $(this).remove();
77
+ showComparePopup();
78
+ updateCompareProductsCount();
79
+ });
47
80
  }
48
- function onRemoveCompareProduct() {
49
- showComparePopup();
81
+
82
+ function onCompareProductNotice(notice) {
83
+ $.jGrowl(notice, { sticky: true });
84
+ }
85
+
86
+ function onCompareProductError(error) {
87
+ $.jGrowl(error, { header: '<%= t('error') %>', sticky: true });
50
88
  }
51
89
  </script>
@@ -20,3 +20,11 @@ ru:
20
20
  save_and_continue: Продолжить
21
21
  email: "Электронная почта"
22
22
  email_address: "Адрес электронной почты"
23
+ back_to_store: "Назад в магазин"
24
+ review_title: "Ваше имя"
25
+ product_properties: "Характеристики"
26
+ recently_viewed_products: "Вы недавно смотрели"
27
+ submit_your_review: "Добавить отзыв"
28
+ jgrowl_closer_template: "Закрыть все"
29
+ you_must_rate_the_product: "Вы должны оценить товар"
30
+ notice: "Уведомление"
@@ -0,0 +1,13 @@
1
+ class RevertChangesColumnTitleInReviews < ActiveRecord::Migration
2
+ def self.up
3
+ if table_exists?(:reviews)
4
+ change_column(:reviews, :title, :string, :default => nil)
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ if table_exists?(:reviews)
10
+ change_column(:reviews, :title, :string, :default => '-')
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spree_core'
2
2
  require 'synergy_default_theme_hooks'
3
- require 'spree_reviews_hook' if defined?(SpreeReviews)
3
+ require 'spree_reviews_hooks' if defined?(SpreeReviews)
4
4
  require 'spree_compare_products_hooks' if defined?(SpreeCompareProducts)
5
5
 
6
6
  module SynergyDefaultTheme
@@ -0,0 +1,11 @@
1
+
2
+ (function($){$.jGrowl=function(m,o){if($('#jGrowl').size()==0)
3
+ $('<div id="jGrowl"></div>').addClass((o&&o.position)?o.position:$.jGrowl.defaults.position).appendTo('body');$('#jGrowl').jGrowl(m,o);};$.fn.jGrowl=function(m,o){if($.isFunction(this.each)){var args=arguments;return this.each(function(){var self=this;if($(this).data('jGrowl.instance')==undefined){$(this).data('jGrowl.instance',$.extend(new $.fn.jGrowl(),{notifications:[],element:null,interval:null}));$(this).data('jGrowl.instance').startup(this);}
4
+ if($.isFunction($(this).data('jGrowl.instance')[m])){$(this).data('jGrowl.instance')[m].apply($(this).data('jGrowl.instance'),$.makeArray(args).slice(1));}else{$(this).data('jGrowl.instance').create(m,o);}});};};$.extend($.fn.jGrowl.prototype,{defaults:{pool:0,header:'',group:'',sticky:false,position:'top-right',glue:'after',theme:'default',themeState:'highlight',corners:'10px',check:250,life:3000,closeDuration:'normal',openDuration:'normal',easing:'swing',closer:true,closeTemplate:'&times;',closerTemplate:'<div>[ close all ]</div>',log:function(e,m,o){},beforeOpen:function(e,m,o){},afterOpen:function(e,m,o){},open:function(e,m,o){},beforeClose:function(e,m,o){},close:function(e,m,o){},animateOpen:{opacity:'show'},animateClose:{opacity:'hide'}},notifications:[],element:null,interval:null,create:function(message,o){var o=$.extend({},this.defaults,o);if(typeof o.speed!=='undefined'){o.openDuration=o.speed;o.closeDuration=o.speed;}
5
+ this.notifications.push({message:message,options:o});o.log.apply(this.element,[this.element,message,o]);},render:function(notification){var self=this;var message=notification.message;var o=notification.options;var notification=$('<div class="jGrowl-notification '+o.themeState+' ui-corner-all'+
6
+ ((o.group!=undefined&&o.group!='')?' '+o.group:'')+'">'+'<div class="jGrowl-close">'+o.closeTemplate+'</div>'+'<div class="jGrowl-header">'+o.header+'</div>'+'<div class="jGrowl-message">'+message+'</div></div>').data("jGrowl",o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl",function(){$(this).parent().trigger('jGrowl.close');}).parent();$(notification).bind("mouseover.jGrowl",function(){$('div.jGrowl-notification',self.element).data("jGrowl.pause",true);}).bind("mouseout.jGrowl",function(){$('div.jGrowl-notification',self.element).data("jGrowl.pause",false);}).bind('jGrowl.beforeOpen',function(){if(o.beforeOpen.apply(notification,[notification,message,o,self.element])!=false){$(this).trigger('jGrowl.open');}}).bind('jGrowl.open',function(){if(o.open.apply(notification,[notification,message,o,self.element])!=false){if(o.glue=='after'){$('div.jGrowl-notification:last',self.element).after(notification);}else{$('div.jGrowl-notification:first',self.element).before(notification);}
7
+ $(this).animate(o.animateOpen,o.openDuration,o.easing,function(){if($.browser.msie&&(parseInt($(this).css('opacity'),10)===1||parseInt($(this).css('opacity'),10)===0))
8
+ this.style.removeAttribute('filter');$(this).data("jGrowl").created=new Date();$(this).trigger('jGrowl.afterOpen');});}}).bind('jGrowl.afterOpen',function(){o.afterOpen.apply(notification,[notification,message,o,self.element]);}).bind('jGrowl.beforeClose',function(){if(o.beforeClose.apply(notification,[notification,message,o,self.element])!=false)
9
+ $(this).trigger('jGrowl.close');}).bind('jGrowl.close',function(){$(this).data('jGrowl.pause',true);$(this).animate(o.animateClose,o.closeDuration,o.easing,function(){$(this).remove();var close=o.close.apply(notification,[notification,message,o,self.element]);if($.isFunction(close))
10
+ close.apply(notification,[notification,message,o,self.element]);});}).trigger('jGrowl.beforeOpen');if(o.corners!=''&&$.fn.corner!=undefined)$(notification).corner(o.corners);if($('div.jGrowl-notification:parent',self.element).size()>1&&$('div.jGrowl-closer',self.element).size()==0&&this.defaults.closer!=false){$(this.defaults.closerTemplate).addClass('jGrowl-closer ui-state-highlight ui-corner-all').addClass(this.defaults.theme).appendTo(self.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){$(this).siblings().trigger("jGrowl.beforeClose");if($.isFunction(self.defaults.closer)){self.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]]);}});};},update:function(){$(this.element).find('div.jGrowl-notification:parent').each(function(){if($(this).data("jGrowl")!=undefined&&$(this).data("jGrowl").created!=undefined&&($(this).data("jGrowl").created.getTime()+parseInt($(this).data("jGrowl").life))<(new Date()).getTime()&&$(this).data("jGrowl").sticky!=true&&($(this).data("jGrowl.pause")==undefined||$(this).data("jGrowl.pause")!=true)){$(this).trigger('jGrowl.beforeClose');}});if(this.notifications.length>0&&(this.defaults.pool==0||$(this.element).find('div.jGrowl-notification:parent').size()<this.defaults.pool))
11
+ this.render(this.notifications.shift());if($(this.element).find('div.jGrowl-notification:parent').size()<2){$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){$(this).remove();});}},startup:function(e){this.element=$(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');this.interval=setInterval(function(){$(e).data('jGrowl.instance').update();},parseInt(this.defaults.check));if($.browser.msie&&parseInt($.browser.version)<7&&!window["XMLHttpRequest"]){$(this.element).addClass('ie6');}},shutdown:function(){$(this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();clearInterval(this.interval);},close:function(){$(this.element).find('div.jGrowl-notification').each(function(){$(this).trigger('jGrowl.beforeClose');});}});$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults;})(jQuery);
@@ -1,14 +1,47 @@
1
1
  /*
2
2
  * jQuery Tools 1.2.5 - The missing UI library for the Web
3
3
  *
4
- * [tooltip, tooltip.slide, tooltip.dynamic]
4
+ * [toolbox.flashembed, toolbox.history, toolbox.expose, toolbox.mousewheel, tabs, tabs.slideshow, tooltip, tooltip.slide, tooltip.dynamic, scrollable, scrollable.autoscroll, scrollable.navigator, overlay, overlay.apple, dateinput, rangeinput, validator]
5
5
  *
6
6
  * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
7
7
  *
8
8
  * http://flowplayer.org/tools/
9
9
  *
10
- * File generated: Sat Mar 19 16:41:56 GMT 2011
10
+ * jquery.event.wheel.js - rev 1
11
+ * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
12
+ * Liscensed under the MIT License (MIT-LICENSE.txt)
13
+ * http://www.opensource.org/licenses/mit-license.php
14
+ * Created: 2008-07-01 | Updated: 2008-07-14
15
+ *
16
+ * -----
17
+ *
18
+ * File generated: Wed Sep 22 06:12:53 GMT 2010
11
19
  */
20
+ (function(){function f(a,b){if(b)for(var c in b)if(b.hasOwnProperty(c))a[c]=b[c];return a}function l(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d))c[d]=b(a[d]);return c}function m(a,b,c){if(e.isSupported(b.version))a.innerHTML=e.getHTML(b,c);else if(b.expressInstall&&e.isSupported([6,65]))a.innerHTML=e.getHTML(f(b,{src:b.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{if(!a.innerHTML.replace(/\s/g,"")){a.innerHTML="<h2>Flash version "+b.version+
21
+ " or greater is required</h2><h3>"+(g[0]>0?"Your version is "+g:"You have no flash plugin installed")+"</h3>"+(a.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+k+"'>here</a></p>");if(a.tagName=="A")a.onclick=function(){location.href=k}}if(b.onFail){var d=b.onFail.call(this);if(typeof d=="string")a.innerHTML=d}}if(i)window[b.id]=document.getElementById(b.id);f(this,{getRoot:function(){return a},getOptions:function(){return b},getConf:function(){return c},
22
+ getApi:function(){return a.firstChild}})}var i=document.all,k="http://www.adobe.com/go/getflashplayer",n=typeof jQuery=="function",o=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,j={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}});
23
+ window.flashembed=function(a,b,c){if(typeof a=="string")a=document.getElementById(a.replace("#",""));if(a){if(typeof b=="string")b={src:b};return new m(a,f(f({},j),b),c)}};var e=f(window.flashembed,{conf:j,getVersion:function(){var a,b;try{b=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(c){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"))&&a.GetVariable("$version")}catch(d){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"))&&a.GetVariable("$version")}catch(h){}}}return(b=
24
+ o.exec(b))?[b[1],b[3]]:[0,0]},asString:function(a){if(a===null||a===undefined)return null;var b=typeof a;if(b=="object"&&a.push)b="array";switch(b){case "string":a=a.replace(new RegExp('(["\\\\])',"g"),"\\$1");a=a.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+a+'"';case "array":return"["+l(a,function(d){return e.asString(d)}).join(",")+"]";case "function":return'"function()"';case "object":b=[];for(var c in a)a.hasOwnProperty(c)&&b.push('"'+c+'":'+e.asString(a[c]));return"{"+b.join(",")+"}"}return String(a).replace(/\s/g,
25
+ " ").replace(/\'/g,'"')},getHTML:function(a,b){a=f({},a);var c='<object width="'+a.width+'" height="'+a.height+'" id="'+a.id+'" name="'+a.id+'"';if(a.cachebusting)a.src+=(a.src.indexOf("?")!=-1?"&":"?")+Math.random();c+=a.w3c||!i?' data="'+a.src+'" type="application/x-shockwave-flash"':' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';c+=">";if(a.w3c||i)c+='<param name="movie" value="'+a.src+'" />';a.width=a.height=a.id=a.w3c=a.src=null;a.onFail=a.version=a.expressInstall=null;for(var d in a)if(a[d])c+=
26
+ '<param name="'+d+'" value="'+a[d]+'" />';a="";if(b){for(var h in b)if(b[h]){d=b[h];a+=h+"="+(/function|object/.test(typeof d)?e.asString(d):d)+"&"}a=a.slice(0,-1);c+='<param name="flashvars" value=\''+a+"' />"}c+="</object>";return c},isSupported:function(a){return g[0]>a[0]||g[0]==a[0]&&g[1]>=a[1]}}),g=e.getVersion();if(n){jQuery.tools=jQuery.tools||{version:"1.2.5"};jQuery.tools.flashembed={conf:j};jQuery.fn.flashembed=function(a,b){return this.each(function(){$(this).data("flashembed",flashembed(this,
27
+ a,b))})}}})();
28
+ (function(b){function h(c){if(c){var a=d.contentWindow.document;a.open().close();a.location.hash=c}}var g,d,f,i;b.tools=b.tools||{version:"1.2.5"};b.tools.history={init:function(c){if(!i){if(b.browser.msie&&b.browser.version<"8"){if(!d){d=b("<iframe/>").attr("src","javascript:false;").hide().get(0);b("body").append(d);setInterval(function(){var a=d.contentWindow.document;a=a.location.hash;g!==a&&b.event.trigger("hash",a)},100);h(location.hash||"#")}}else setInterval(function(){var a=location.hash;
29
+ a!==g&&b.event.trigger("hash",a)},100);f=!f?c:f.add(c);c.click(function(a){var e=b(this).attr("href");d&&h(e);if(e.slice(0,1)!="#"){location.href="#"+e;return a.preventDefault()}});i=true}}};b(window).bind("hash",function(c,a){a?f.filter(function(){var e=b(this).attr("href");return e==a||e==a.replace("#","")}).trigger("history",[a]):f.eq(0).trigger("history",[a]);g=a});b.fn.history=function(c){b.tools.history.init(this);return this.bind("history",c)}})(jQuery);
30
+ (function(b){function k(){if(b.browser.msie){var a=b(document).height(),d=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a-d<20?d:a]}return[b(document).width(),b(document).height()]}function h(a){if(a)return a.call(b.mask)}b.tools=b.tools||{version:"1.2.5"};var l;l=b.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,startOpacity:0,color:"#fff",onLoad:null,
31
+ onClose:null}};var c,i,e,g,j;b.mask={load:function(a,d){if(e)return this;if(typeof a=="string")a={color:a};a=a||g;g=a=b.extend(b.extend({},l.conf),a);c=b("#"+a.maskId);if(!c.length){c=b("<div/>").attr("id",a.maskId);b("body").append(c)}var m=k();c.css({position:"absolute",top:0,left:0,width:m[0],height:m[1],display:"none",opacity:a.startOpacity,zIndex:a.zIndex});a.color&&c.css("backgroundColor",a.color);if(h(a.onBeforeLoad)===false)return this;a.closeOnEsc&&b(document).bind("keydown.mask",function(f){f.keyCode==
32
+ 27&&b.mask.close(f)});a.closeOnClick&&c.bind("click.mask",function(f){b.mask.close(f)});b(window).bind("resize.mask",function(){b.mask.fit()});if(d&&d.length){j=d.eq(0).css("zIndex");b.each(d,function(){var f=b(this);/relative|absolute|fixed/i.test(f.css("position"))||f.css("position","relative")});i=d.css({zIndex:Math.max(a.zIndex+1,j=="auto"?0:j)})}c.css({display:"block"}).fadeTo(a.loadSpeed,a.opacity,function(){b.mask.fit();h(a.onLoad);e="full"});e=true;return this},close:function(){if(e){if(h(g.onBeforeClose)===
33
+ false)return this;c.fadeOut(g.closeSpeed,function(){h(g.onClose);i&&i.css({zIndex:j});e=false});b(document).unbind("keydown.mask");c.unbind("click.mask");b(window).unbind("resize.mask")}return this},fit:function(){if(e){var a=k();c.css({width:a[0],height:a[1]})}},getMask:function(){return c},isLoaded:function(a){return a?e=="full":e},getConf:function(){return g},getExposed:function(){return i}};b.fn.mask=function(a){b.mask.load(a);return this};b.fn.expose=function(a){b.mask.load(a,this);return this}})(jQuery);
34
+ (function(b){function c(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}b.fn.mousewheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,d,c,{})},teardown:function(){b.event.remove(this,
35
+ d,c)}};var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"")})(jQuery);
36
+ (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;
37
+ 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);
38
+ 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);
39
+ 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,
40
+ 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=
41
+ {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);
42
+ (function(c){function p(g,a){function m(f){var e=c(f);return e.length<2?e:g.parent().find(f)}var b=this,i=g.add(this),d=g.data("tabs"),h,j=true,n=m(a.next).click(function(){d.next()}),k=m(a.prev).click(function(){d.prev()});c.extend(b,{getTabs:function(){return d},getConf:function(){return a},play:function(){if(h)return b;var f=c.Event("onBeforePlay");i.trigger(f);if(f.isDefaultPrevented())return b;h=setInterval(d.next,a.interval);j=false;i.trigger("onPlay");return b},pause:function(){if(!h)return b;
43
+ var f=c.Event("onBeforePause");i.trigger(f);if(f.isDefaultPrevented())return b;h=clearInterval(h);i.trigger("onPause");return b},stop:function(){b.pause();j=true}});c.each("onBeforePlay,onPlay,onBeforePause,onPause".split(","),function(f,e){c.isFunction(a[e])&&c(b).bind(e,a[e]);b[e]=function(q){return c(b).bind(e,q)}});a.autopause&&d.getTabs().add(n).add(k).add(d.getPanes()).hover(b.pause,function(){j||b.play()});a.autoplay&&b.play();a.clickable&&d.getPanes().click(function(){d.next()});if(!d.getConf().rotate){var l=
44
+ a.disabledClass;d.getIndex()||k.addClass(l);d.onBeforeClick(function(f,e){k.toggleClass(l,!e);n.toggleClass(l,e==d.getTabs().length-1)})}}var o;o=c.tools.tabs.slideshow={conf:{next:".forward",prev:".backward",disabledClass:"disabled",autoplay:false,autopause:true,interval:3E3,clickable:true,api:false}};c.fn.slideshow=function(g){var a=this.data("slideshow");if(a)return a;g=c.extend({},o.conf,g);this.each(function(){a=new p(c(this),g);c(this).data("slideshow",a)});return g.api?a:this}})(jQuery);
12
45
  (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=
13
46
  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=
14
47
  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";
@@ -21,3 +54,62 @@ b=a.slideFade?{opacity:0}:{},c=e[a.direction]||e.up,h=""+c[0];if(a.bounce)h=h=="
21
54
  (function(g){function j(a){var c=g(window),d=c.width()+c.scrollLeft(),h=c.height()+c.scrollTop();return[a.offset().top<=c.scrollTop(),d<=a.offset().left+a.width(),h<=a.offset().top+a.height(),c.scrollLeft()>=a.offset().left]}function k(a){for(var c=a.length;c--;)if(a[c])return false;return true}var i=g.tools.tooltip;i.dynamic={conf:{classNames:"top right bottom left"}};g.fn.dynamic=function(a){if(typeof a=="number")a={speed:a};a=g.extend({},i.dynamic.conf,a);var c=a.classNames.split(/\s/),d;this.each(function(){var h=
22
55
  g(this).tooltip().onBeforeShow(function(e,f){e=this.getTip();var b=this.getConf();d||(d=[b.position[0],b.position[1],b.offset[0],b.offset[1],g.extend({},b)]);g.extend(b,d[4]);b.position=[d[0],d[1]];b.offset=[d[2],d[3]];e.css({visibility:"hidden",position:"absolute",top:f.top,left:f.left}).show();f=j(e);if(!k(f)){if(f[2]){g.extend(b,a.top);b.position[0]="top";e.addClass(c[0])}if(f[3]){g.extend(b,a.right);b.position[1]="right";e.addClass(c[1])}if(f[0]){g.extend(b,a.bottom);b.position[0]="bottom";e.addClass(c[2])}if(f[1]){g.extend(b,
23
56
  a.left);b.position[1]="left";e.addClass(c[3])}if(f[0]||f[2])b.offset[0]*=-1;if(f[1]||f[3])b.offset[1]*=-1}e.css({visibility:"visible"}).hide()});h.onBeforeShow(function(){var e=this.getConf();this.getTip();setTimeout(function(){e.position=[d[0],d[1]];e.offset=[d[2],d[3]]},0)});h.onHide(function(){var e=this.getTip();e.removeClass(a.classNames)});ret=h});return a.api?ret:this}})(jQuery);
57
+ (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+
58
+ 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!==
59
+ 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&&
60
+ 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,
61
+ 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=
62
+ 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=
63
+ {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);
64
+ (function(b){var f=b.tools.scrollable;f.autoscroll={conf:{autoplay:true,interval:3E3,autopause:true}};b.fn.autoscroll=function(c){if(typeof c=="number")c={interval:c};var d=b.extend({},f.autoscroll.conf,c),g;this.each(function(){var a=b(this).data("scrollable");if(a)g=a;var e,h=true;a.play=function(){if(!e){h=false;e=setInterval(function(){a.next()},d.interval)}};a.pause=function(){e=clearInterval(e)};a.stop=function(){a.pause();h=true};d.autopause&&a.getRoot().add(a.getNaviButtons()).hover(a.pause,
65
+ a.play);d.autoplay&&a.play()});return d.api?g:this}})(jQuery);
66
+ (function(d){function p(b,g){var h=d(g);return h.length<2?h:b.parent().find(g)}var m=d.tools.scrollable;m.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};d.fn.navigator=function(b){if(typeof b=="string")b={navi:b};b=d.extend({},m.navigator.conf,b);var g;this.each(function(){function h(a,c,i){e.seekTo(c);if(j){if(location.hash)location.hash=a.attr("href").replace("#","")}else return i.preventDefault()}function f(){return k.find(b.naviItem||
67
+ "> *")}function n(a){var c=d("<"+(b.naviItem||"a")+"/>").click(function(i){h(d(this),a,i)}).attr("href","#"+a);a===0&&c.addClass(l);b.indexed&&c.text(a+1);b.idPrefix&&c.attr("id",b.idPrefix+a);return c.appendTo(k)}function o(a,c){a=f().eq(c.replace("#",""));a.length||(a=f().filter("[href="+c+"]"));a.click()}var e=d(this).data("scrollable"),k=b.navi.jquery?b.navi:p(e.getRoot(),b.navi),q=e.getNaviButtons(),l=b.activeClass,j=b.history&&d.fn.history;if(e)g=e;e.getNaviButtons=function(){return q.add(k)};
68
+ f().length?f().each(function(a){d(this).click(function(c){h(d(this),a,c)})}):d.each(e.getItems(),function(a){n(a)});e.onBeforeSeek(function(a,c){setTimeout(function(){if(!a.isDefaultPrevented()){var i=f().eq(c);!a.isDefaultPrevented()&&i.length&&f().removeClass(l).eq(c).addClass(l)}},1)});e.onAddItem(function(a,c){c=n(e.getItems().index(c));j&&c.history(o)});j&&f().history(o)});return b.api?g:this}})(jQuery);
69
+ (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+
70
+ '"';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",
71
+ 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},
72
+ 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,
73
+ 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,
74
+ 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);
75
+ (function(h){function k(d){var e=d.offset();return{top:e.top+d.height()/2,left:e.left+d.width()/2}}var l=h.tools.overlay,f=h(window);h.extend(l.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function o(d,e){var a=this.getOverlay(),c=this.getConf(),g=this.getTrigger(),p=this,m=a.outerWidth({margin:true}),b=a.data("img"),n=c.fixed?"fixed":"absolute";if(!b){b=a.css("backgroundImage");if(!b)throw"background-image CSS property not set for overlay";b=b.slice(b.indexOf("(")+1,b.indexOf(")")).replace(/\"/g,
76
+ "");a.css("backgroundImage","none");b=h('<img src="'+b+'"/>');b.css({border:0,display:"none"}).width(m);h("body").append(b);a.data("img",b)}var i=c.start.top||Math.round(f.height()/2),j=c.start.left||Math.round(f.width()/2);if(g){g=k(g);i=g.top;j=g.left}if(c.fixed){i-=f.scrollTop();j-=f.scrollLeft()}else{d.top+=f.scrollTop();d.left+=f.scrollLeft()}b.css({position:"absolute",top:i,left:j,width:0,zIndex:c.zIndex}).show();d.position=n;a.css(d);b.animate({top:a.css("top"),left:a.css("left"),width:m},
77
+ c.speed,function(){a.css("zIndex",c.zIndex+1).fadeIn(c.fadeInSpeed,function(){p.isOpened()&&!h(this).index(a)?e.call():a.hide()})}).css("position",n)}function q(d){var e=this.getOverlay().hide(),a=this.getConf(),c=this.getTrigger();e=e.data("img");var g={top:a.start.top,left:a.start.left,width:0};c&&h.extend(g,k(c));a.fixed&&e.css({position:"absolute"}).animate({top:"+="+f.scrollTop(),left:"+="+f.scrollLeft()},0);e.animate(g,a.closeSpeed,d)}l.addEffect("apple",o,q)})(jQuery);
78
+ (function(d){function R(a,c){return 32-(new Date(a,c,32)).getDate()}function S(a,c){a=""+a;for(c=c||2;a.length<c;)a="0"+a;return a}function T(a,c,j){var q=a.getDate(),h=a.getDay(),r=a.getMonth();a=a.getFullYear();var f={d:q,dd:S(q),ddd:B[j].shortDays[h],dddd:B[j].days[h],m:r+1,mm:S(r+1),mmm:B[j].shortMonths[r],mmmm:B[j].months[r],yy:String(a).slice(2),yyyy:a};c=c.replace(X,function(s){return s in f?f[s]:s.slice(1,s.length-1)});return Y.html(c).html()}function v(a){return parseInt(a,10)}function U(a,
79
+ c){return a.getFullYear()===c.getFullYear()&&a.getMonth()==c.getMonth()&&a.getDate()==c.getDate()}function C(a){if(a){if(a.constructor==Date)return a;if(typeof a=="string"){var c=a.split("-");if(c.length==3)return new Date(v(c[0]),v(c[1])-1,v(c[2]));if(!/^-?\d+$/.test(a))return;a=v(a)}c=new Date;c.setDate(c.getDate()+a);return c}}function Z(a,c){function j(b,e,g){n=b;D=b.getFullYear();E=b.getMonth();G=b.getDate();g=g||d.Event("api");g.type="change";H.trigger(g,[b]);if(!g.isDefaultPrevented()){a.val(T(b,
80
+ e.format,e.lang));a.data("date",b);h.hide(g)}}function q(b){b.type="onShow";H.trigger(b);d(document).bind("keydown.d",function(e){if(e.ctrlKey)return true;var g=e.keyCode;if(g==8){a.val("");return h.hide(e)}if(g==27)return h.hide(e);if(d(V).index(g)>=0){if(!w){h.show(e);return e.preventDefault()}var i=d("#"+f.weeks+" a"),t=d("."+f.focus),o=i.index(t);t.removeClass(f.focus);if(g==74||g==40)o+=7;else if(g==75||g==38)o-=7;else if(g==76||g==39)o+=1;else if(g==72||g==37)o-=1;if(o>41){h.addMonth();t=d("#"+
81
+ f.weeks+" a:eq("+(o-42)+")")}else if(o<0){h.addMonth(-1);t=d("#"+f.weeks+" a:eq("+(o+42)+")")}else t=i.eq(o);t.addClass(f.focus);return e.preventDefault()}if(g==34)return h.addMonth();if(g==33)return h.addMonth(-1);if(g==36)return h.today();if(g==13)d(e.target).is("select")||d("."+f.focus).click();return d([16,17,18,9]).index(g)>=0});d(document).bind("click.d",function(e){var g=e.target;if(!d(g).parents("#"+f.root).length&&g!=a[0]&&(!L||g!=L[0]))h.hide(e)})}var h=this,r=new Date,f=c.css,s=B[c.lang],
82
+ k=d("#"+f.root),M=k.find("#"+f.title),L,I,J,D,E,G,n=a.attr("data-value")||c.value||a.val(),m=a.attr("min")||c.min,p=a.attr("max")||c.max,w;if(m===0)m="0";n=C(n)||r;m=C(m||c.yearRange[0]*365);p=C(p||c.yearRange[1]*365);if(!s)throw"Dateinput: invalid language: "+c.lang;if(a.attr("type")=="date"){var N=d("<input/>");d.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(b,e){N.attr(e,a.attr(e))});a.replaceWith(N);a=N}a.addClass(f.input);var H=
83
+ a.add(h);if(!k.length){k=d("<div><div><a/><div/><a/></div><div><div/><div/></div></div>").hide().css({position:"absolute"}).attr("id",f.root);k.children().eq(0).attr("id",f.head).end().eq(1).attr("id",f.body).children().eq(0).attr("id",f.days).end().eq(1).attr("id",f.weeks).end().end().end().find("a").eq(0).attr("id",f.prev).end().eq(1).attr("id",f.next);M=k.find("#"+f.head).find("div").attr("id",f.title);if(c.selectors){var z=d("<select/>").attr("id",f.month),A=d("<select/>").attr("id",f.year);M.html(z.add(A))}for(var $=
84
+ k.find("#"+f.days),O=0;O<7;O++)$.append(d("<span/>").text(s.shortDays[(O+c.firstDay)%7]));d("body").append(k)}if(c.trigger)L=d("<a/>").attr("href","#").addClass(f.trigger).click(function(b){h.show();return b.preventDefault()}).insertAfter(a);var K=k.find("#"+f.weeks);A=k.find("#"+f.year);z=k.find("#"+f.month);d.extend(h,{show:function(b){if(!(a.attr("readonly")||a.attr("disabled")||w)){b=b||d.Event();b.type="onBeforeShow";H.trigger(b);if(!b.isDefaultPrevented()){d.each(W,function(){this.hide()});
85
+ w=true;z.unbind("change").change(function(){h.setValue(A.val(),d(this).val())});A.unbind("change").change(function(){h.setValue(d(this).val(),z.val())});I=k.find("#"+f.prev).unbind("click").click(function(){I.hasClass(f.disabled)||h.addMonth(-1);return false});J=k.find("#"+f.next).unbind("click").click(function(){J.hasClass(f.disabled)||h.addMonth();return false});h.setValue(n);var e=a.offset();if(/iPad/i.test(navigator.userAgent))e.top-=d(window).scrollTop();k.css({top:e.top+a.outerHeight({margins:true})+
86
+ c.offset[0],left:e.left+c.offset[1]});if(c.speed)k.show(c.speed,function(){q(b)});else{k.show();q(b)}return h}}},setValue:function(b,e,g){var i=v(e)>=-1?new Date(v(b),v(e),v(g||1)):b||n;if(i<m)i=m;else if(i>p)i=p;b=i.getFullYear();e=i.getMonth();g=i.getDate();if(e==-1){e=11;b--}else if(e==12){e=0;b++}if(!w){j(i,c);return h}E=e;D=b;g=new Date(b,e,1-c.firstDay);g=g.getDay();var t=R(b,e),o=R(b,e-1),P;if(c.selectors){z.empty();d.each(s.months,function(x,F){m<new Date(b,x+1,-1)&&p>new Date(b,x,0)&&z.append(d("<option/>").html(F).attr("value",
87
+ x))});A.empty();i=r.getFullYear();for(var l=i+c.yearRange[0];l<i+c.yearRange[1];l++)m<=new Date(l+1,-1,1)&&p>new Date(l,0,0)&&A.append(d("<option/>").text(l));z.val(e);A.val(b)}else M.html(s.months[e]+" "+b);K.empty();I.add(J).removeClass(f.disabled);l=!g?-7:0;for(var u,y;l<(!g?35:42);l++){u=d("<a/>");if(l%7===0){P=d("<div/>").addClass(f.week);K.append(P)}if(l<g){u.addClass(f.off);y=o-g+l+1;i=new Date(b,e-1,y)}else if(l>=g+t){u.addClass(f.off);y=l-t-g+1;i=new Date(b,e+1,y)}else{y=l-g+1;i=new Date(b,
88
+ e,y);if(U(n,i))u.attr("id",f.current).addClass(f.focus);else U(r,i)&&u.attr("id",f.today)}m&&i<m&&u.add(I).addClass(f.disabled);p&&i>p&&u.add(J).addClass(f.disabled);u.attr("href","#"+y).text(y).data("date",i);P.append(u)}K.find("a").click(function(x){var F=d(this);if(!F.hasClass(f.disabled)){d("#"+f.current).removeAttr("id");F.attr("id",f.current);j(F.data("date"),c,x)}return false});f.sunday&&K.find(f.week).each(function(){var x=c.firstDay?7-c.firstDay:0;d(this).children().slice(x,x+1).addClass(f.sunday)});
89
+ return h},setMin:function(b,e){m=C(b);e&&n<m&&h.setValue(m);return h},setMax:function(b,e){p=C(b);e&&n>p&&h.setValue(p);return h},today:function(){return h.setValue(r)},addDay:function(b){return this.setValue(D,E,G+(b||1))},addMonth:function(b){return this.setValue(D,E+(b||1),G)},addYear:function(b){return this.setValue(D+(b||1),E,G)},hide:function(b){if(w){b=d.Event();b.type="onHide";H.trigger(b);d(document).unbind("click.d").unbind("keydown.d");if(b.isDefaultPrevented())return;k.hide();w=false}return h},
90
+ getConf:function(){return c},getInput:function(){return a},getCalendar:function(){return k},getValue:function(b){return b?T(n,b,c.lang):n},isOpen:function(){return w}});d.each(["onBeforeShow","onShow","change","onHide"],function(b,e){d.isFunction(c[e])&&d(h).bind(e,c[e]);h[e]=function(g){g&&d(h).bind(e,g);return h}});a.bind("focus click",h.show).keydown(function(b){var e=b.keyCode;if(!w&&d(V).index(e)>=0){h.show(b);return b.preventDefault()}return b.shiftKey||b.ctrlKey||b.altKey||e==9?true:b.preventDefault()});
91
+ C(a.val())&&j(n,c)}d.tools=d.tools||{version:"1.2.5"};var W=[],Q,V=[75,76,38,39,74,72,40,37],B={};Q=d.tools.dateinput={conf:{format:"mm/dd/yy",selectors:false,yearRange:[-5,5],lang:"en",offset:[0,0],speed:0,firstDay:0,min:undefined,max:undefined,trigger:false,css:{prefix:"cal",input:"date",root:0,head:0,title:0,prev:0,next:0,month:0,year:0,days:0,body:0,weeks:0,today:0,current:0,week:0,off:0,sunday:0,focus:0,disabled:0,trigger:0}},localize:function(a,c){d.each(c,function(j,q){c[j]=q.split(",")});
92
+ B[a]=c}};Q.localize("en",{months:"January,February,March,April,May,June,July,August,September,October,November,December",shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",days:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",shortDays:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"});var X=/d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*'/g,Y=d("<a/>");d.expr[":"].date=function(a){var c=a.getAttribute("type");return c&&c=="date"||!!d(a).data("dateinput")};d.fn.dateinput=function(a){if(this.data("dateinput"))return this;
93
+ a=d.extend(true,{},Q.conf,a);d.each(a.css,function(j,q){if(!q&&j!="prefix")a.css[j]=(a.css.prefix||"")+(q||j)});var c;this.each(function(){var j=new Z(d(this),a);W.push(j);j=j.getInput().data("dateinput",j);c=c?c.add(j):j});return c?c:this}})(jQuery);
94
+ (function(e){function F(d,a){a=Math.pow(10,a);return Math.round(d*a)/a}function q(d,a){if(a=parseInt(d.css(a),10))return a;return(d=d[0].currentStyle)&&d.width&&parseInt(d.width,10)}function C(d){return(d=d.data("events"))&&d.onSlide}function G(d,a){function h(c,b,f,j){if(f===undefined)f=b/k*z;else if(j)f-=a.min;if(s)f=Math.round(f/s)*s;if(b===undefined||s)b=f*k/z;if(isNaN(f))return g;b=Math.max(0,Math.min(b,k));f=b/k*z;if(j||!n)f+=a.min;if(n)if(j)b=k-b;else f=a.max-f;f=F(f,t);var r=c.type=="click";
95
+ if(D&&l!==undefined&&!r){c.type="onSlide";A.trigger(c,[f,b]);if(c.isDefaultPrevented())return g}j=r?a.speed:0;r=r?function(){c.type="change";A.trigger(c,[f])}:null;if(n){m.animate({top:b},j,r);a.progress&&B.animate({height:k-b+m.width()/2},j)}else{m.animate({left:b},j,r);a.progress&&B.animate({width:b+m.width()/2},j)}l=f;H=b;d.val(f);return g}function o(){if(n=a.vertical||q(i,"height")>q(i,"width")){k=q(i,"height")-q(m,"height");u=i.offset().top+k}else{k=q(i,"width")-q(m,"width");u=i.offset().left}}
96
+ function v(){o();g.setValue(a.value!==undefined?a.value:a.min)}var g=this,p=a.css,i=e("<div><div/><a href='#'/></div>").data("rangeinput",g),n,l,u,k,H;d.before(i);var m=i.addClass(p.slider).find("a").addClass(p.handle),B=i.find("div").addClass(p.progress);e.each("min,max,step,value".split(","),function(c,b){c=d.attr(b);if(parseFloat(c))a[b]=parseFloat(c,10)});var z=a.max-a.min,s=a.step=="any"?0:a.step,t=a.precision;if(t===undefined)try{t=s.toString().split(".")[1].length}catch(I){t=0}if(d.attr("type")==
97
+ "range"){var w=e("<input/>");e.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(c,b){w.attr(b,d.attr(b))});w.val(a.value);d.replaceWith(w);d=w}d.addClass(p.input);var A=e(g).add(d),D=true;e.extend(g,{getValue:function(){return l},setValue:function(c,b){o();return h(b||e.Event("api"),undefined,c,true)},getConf:function(){return a},getProgress:function(){return B},getHandle:function(){return m},getInput:function(){return d},step:function(c,
98
+ b){b=b||e.Event();var f=a.step=="any"?1:a.step;g.setValue(l+f*(c||1),b)},stepUp:function(c){return g.step(c||1)},stepDown:function(c){return g.step(-c||-1)}});e.each("onSlide,change".split(","),function(c,b){e.isFunction(a[b])&&e(g).bind(b,a[b]);g[b]=function(f){f&&e(g).bind(b,f);return g}});m.drag({drag:false}).bind("dragStart",function(){o();D=C(e(g))||C(d)}).bind("drag",function(c,b,f){if(d.is(":disabled"))return false;h(c,n?b:f)}).bind("dragEnd",function(c){if(!c.isDefaultPrevented()){c.type=
99
+ "change";A.trigger(c,[l])}}).click(function(c){return c.preventDefault()});i.click(function(c){if(d.is(":disabled")||c.target==m[0])return c.preventDefault();o();var b=m.width()/2;h(c,n?k-u-b+c.pageY:c.pageX-u-b)});a.keyboard&&d.keydown(function(c){if(!d.attr("readonly")){var b=c.keyCode,f=e([75,76,38,33,39]).index(b)!=-1,j=e([74,72,40,34,37]).index(b)!=-1;if((f||j)&&!(c.shiftKey||c.altKey||c.ctrlKey)){if(f)g.step(b==33?10:1,c);else if(j)g.step(b==34?-10:-1,c);return c.preventDefault()}}});d.blur(function(c){var b=
100
+ e(this).val();b!==l&&g.setValue(b,c)});e.extend(d[0],{stepUp:g.stepUp,stepDown:g.stepDown});v();k||e(window).load(v)}e.tools=e.tools||{version:"1.2.5"};var E;E=e.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:true,progress:false,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var x,y;e.fn.drag=function(d){document.ondragstart=function(){return false};d=e.extend({x:true,y:true,drag:true},d);x=x||e(document).bind("mousedown mouseup",
101
+ function(a){var h=e(a.target);if(a.type=="mousedown"&&h.data("drag")){var o=h.position(),v=a.pageX-o.left,g=a.pageY-o.top,p=true;x.bind("mousemove.drag",function(i){var n=i.pageX-v;i=i.pageY-g;var l={};if(d.x)l.left=n;if(d.y)l.top=i;if(p){h.trigger("dragStart");p=false}d.drag&&h.css(l);h.trigger("drag",[i,n]);y=h});a.preventDefault()}else try{y&&y.trigger("dragEnd")}finally{x.unbind("mousemove.drag");y=null}});return this.data("drag",true)};e.expr[":"].range=function(d){var a=d.getAttribute("type");
102
+ return a&&a=="range"||!!e(d).filter("input").data("rangeinput")};e.fn.rangeinput=function(d){if(this.data("rangeinput"))return this;d=e.extend(true,{},E.conf,d);var a;this.each(function(){var h=new G(e(this),e.extend(true,{},d));h=h.getInput().data("rangeinput",h);a=a?a.add(h):h});return a?a:this}})(jQuery);
103
+ (function(e){function t(a,b,c){var k=a.offset().top,f=a.offset().left,l=c.position.split(/,?\s+/),p=l[0];l=l[1];k-=b.outerHeight()-c.offset[0];f+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))k-=e(window).scrollTop();c=b.outerHeight()+a.outerHeight();if(p=="center")k+=c/2;if(p=="bottom")k+=c;a=a.outerWidth();if(l=="center")f-=(a+b.outerWidth())/2;if(l=="left")f-=a;return{top:k,left:f}}function y(a){function b(){return this.getAttribute("type")==a}b.key="[type="+a+"]";return b}function u(a,
104
+ b,c){function k(g,d,i){if(!(!c.grouped&&g.length)){var j;if(i===false||e.isArray(i)){j=h.messages[d.key||d]||h.messages["*"];j=j[c.lang]||h.messages["*"].en;(d=j.match(/\$\d/g))&&e.isArray(i)&&e.each(d,function(m){j=j.replace(this,i[m])})}else j=i[c.lang]||i;g.push(j)}}var f=this,l=b.add(f);a=a.not(":button, :image, :reset, :submit");e.extend(f,{getConf:function(){return c},getForm:function(){return b},getInputs:function(){return a},reflow:function(){a.each(function(){var g=e(this),d=g.data("msg.el");
105
+ if(d){g=t(g,d,c);d.css({top:g.top,left:g.left})}});return f},invalidate:function(g,d){if(!d){var i=[];e.each(g,function(j,m){j=a.filter("[name='"+j+"']");if(j.length){j.trigger("OI",[m]);i.push({input:j,messages:[m]})}});g=i;d=e.Event()}d.type="onFail";l.trigger(d,[g]);d.isDefaultPrevented()||q[c.effect][0].call(f,g,d);return f},reset:function(g){g=g||a;g.removeClass(c.errorClass).each(function(){var d=e(this).data("msg.el");if(d){d.remove();e(this).data("msg.el",null)}}).unbind(c.errorInputEvent||
106
+ "");return f},destroy:function(){b.unbind(c.formEvent+".V").unbind("reset.V");a.unbind(c.inputEvent+".V").unbind("change.V");return f.reset()},checkValidity:function(g,d){g=g||a;g=g.not(":disabled");if(!g.length)return true;d=d||e.Event();d.type="onBeforeValidate";l.trigger(d,[g]);if(d.isDefaultPrevented())return d.result;var i=[];g.not(":radio:not(:checked)").each(function(){var m=[],n=e(this).data("messages",m),v=r&&n.is(":date")?"onHide.v":c.errorInputEvent+".v";n.unbind(v);e.each(w,function(){var o=
107
+ this,s=o[0];if(n.filter(s).length){o=o[1].call(f,n,n.val());if(o!==true){d.type="onBeforeFail";l.trigger(d,[n,s]);if(d.isDefaultPrevented())return false;var x=n.attr(c.messageAttr);if(x){m=[x];return false}else k(m,s,o)}}});if(m.length){i.push({input:n,messages:m});n.trigger("OI",[m]);c.errorInputEvent&&n.bind(v,function(o){f.checkValidity(n,o)})}if(c.singleError&&i.length)return false});var j=q[c.effect];if(!j)throw'Validator: cannot find effect "'+c.effect+'"';if(i.length){f.invalidate(i,d);return false}else{j[1].call(f,
108
+ g,d);d.type="onSuccess";l.trigger(d,[g]);g.unbind(c.errorInputEvent+".v")}return true}});e.each("onBeforeValidate,onBeforeFail,onFail,onSuccess".split(","),function(g,d){e.isFunction(c[d])&&e(f).bind(d,c[d]);f[d]=function(i){i&&e(f).bind(d,i);return f}});c.formEvent&&b.bind(c.formEvent+".V",function(g){if(!f.checkValidity(null,g))return g.preventDefault()});b.bind("reset.V",function(){f.reset()});a[0]&&a[0].validity&&a.each(function(){this.oninvalid=function(){return false}});if(b[0])b[0].checkValidity=
109
+ f.checkValidity;c.inputEvent&&a.bind(c.inputEvent+".V",function(g){f.checkValidity(e(this),g)});a.filter(":checkbox, select").filter("[required]").bind("change.V",function(g){var d=e(this);if(this.checked||d.is("select")&&e(this).val())q[c.effect][1].call(f,d,g)});var p=a.filter(":radio").change(function(g){f.checkValidity(p,g)});e(window).resize(function(){f.reflow()})}e.tools=e.tools||{version:"1.2.5"};var z=/\[type=([a-z]+)\]/,A=/^-?[0-9]*(\.[0-9]+)?$/,r=e.tools.dateinput,B=/^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i,
110
+ C=/^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#&+_\?\/\w \.\-=]*$/i,h;h=e.tools.validator={conf:{grouped:false,effect:"default",errorClass:"invalid",inputEvent:null,errorInputEvent:"keyup",formEvent:"submit",lang:"en",message:"<div/>",messageAttr:"data-message",messageClass:"error",offset:[0,0],position:"center right",singleError:false,speed:"normal"},messages:{"*":{en:"Please correct this value"}},localize:function(a,b){e.each(b,function(c,k){h.messages[c]=h.messages[c]||{};h.messages[c][a]=k})},
111
+ localizeFn:function(a,b){h.messages[a]=h.messages[a]||{};e.extend(h.messages[a],b)},fn:function(a,b,c){if(e.isFunction(b))c=b;else{if(typeof b=="string")b={en:b};this.messages[a.key||a]=b}if(b=z.exec(a))a=y(b[1]);w.push([a,c])},addEffect:function(a,b,c){q[a]=[b,c]}};var w=[],q={"default":[function(a){var b=this.getConf();e.each(a,function(c,k){c=k.input;c.addClass(b.errorClass);var f=c.data("msg.el");if(!f){f=e(b.message).addClass(b.messageClass).appendTo(document.body);c.data("msg.el",f)}f.css({visibility:"hidden"}).find("p").remove();
112
+ e.each(k.messages,function(l,p){e("<p/>").html(p).appendTo(f)});f.outerWidth()==f.parent().width()&&f.add(f.find("p")).css({display:"inline"});k=t(c,f,b);f.css({visibility:"visible",position:"absolute",top:k.top,left:k.left}).fadeIn(b.speed)})},function(a){var b=this.getConf();a.removeClass(b.errorClass).each(function(){var c=e(this).data("msg.el");c&&c.css({visibility:"hidden"})})}]};e.each("email,url,number".split(","),function(a,b){e.expr[":"][b]=function(c){return c.getAttribute("type")===b}});
113
+ e.fn.oninvalid=function(a){return this[a?"bind":"trigger"]("OI",a)};h.fn(":email","Please enter a valid email address",function(a,b){return!b||B.test(b)});h.fn(":url","Please enter a valid URL",function(a,b){return!b||C.test(b)});h.fn(":number","Please enter a numeric value.",function(a,b){return A.test(b)});h.fn("[max]","Please enter a value smaller than $1",function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("max");return parseFloat(b)<=parseFloat(a)?true:[a]});h.fn("[min]","Please enter a value larger than $1",
114
+ function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("min");return parseFloat(b)>=parseFloat(a)?true:[a]});h.fn("[required]","Please complete this mandatory field.",function(a,b){if(a.is(":checkbox"))return a.is(":checked");return!!b});h.fn("[pattern]",function(a){var b=new RegExp("^"+a.attr("pattern")+"$");return b.test(a.val())});e.fn.validator=function(a){var b=this.data("validator");if(b){b.destroy();this.removeData("validator")}a=e.extend(true,{},h.conf,a);if(this.is("form"))return this.each(function(){var c=
115
+ e(this);b=new u(c.find(":input"),c,a);c.data("validator",b)});else{b=new u(this,this.eq(0).closest("form"),a);return this.data("validator",b)}}})(jQuery);
@@ -0,0 +1,132 @@
1
+
2
+ div.jGrowl {
3
+ padding: 10px;
4
+ z-index: 9999;
5
+ color: #fff;
6
+ font-size: 12px;
7
+ }
8
+
9
+ /** Special IE6 Style Positioning **/
10
+ div.ie6 {
11
+ position: absolute;
12
+ }
13
+
14
+ div.ie6.top-right {
15
+ right: auto;
16
+ bottom: auto;
17
+ left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
18
+ top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
19
+ }
20
+
21
+ div.ie6.top-left {
22
+ left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
23
+ top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
24
+ }
25
+
26
+ div.ie6.bottom-right {
27
+ left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
28
+ top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
29
+ }
30
+
31
+ div.ie6.bottom-left {
32
+ left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
33
+ top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
34
+ }
35
+
36
+ div.ie6.center {
37
+ left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
38
+ top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
39
+ width: 100%;
40
+ }
41
+
42
+ /** Normal Style Positions **/
43
+ div.jGrowl {
44
+ position: absolute;
45
+ }
46
+
47
+ body > div.jGrowl {
48
+ position: fixed;
49
+ }
50
+
51
+ div.jGrowl.top-left {
52
+ left: 0px;
53
+ top: 0px;
54
+ }
55
+
56
+ div.jGrowl.top-right {
57
+ right: 0px;
58
+ top: 0px;
59
+ }
60
+
61
+ div.jGrowl.bottom-left {
62
+ left: 0px;
63
+ bottom: 0px;
64
+ }
65
+
66
+ div.jGrowl.bottom-right {
67
+ right: 0px;
68
+ bottom: 0px;
69
+ }
70
+
71
+ div.jGrowl.center {
72
+ top: 0px;
73
+ width: 50%;
74
+ left: 25%;
75
+ }
76
+
77
+ /** Cross Browser Styling **/
78
+ div.center div.jGrowl-notification, div.center div.jGrowl-closer {
79
+ margin-left: auto;
80
+ margin-right: auto;
81
+ }
82
+
83
+ div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
84
+ background-color: #000;
85
+ opacity: .85;
86
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
87
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
88
+ zoom: 1;
89
+ width: 235px;
90
+ padding: 10px;
91
+ margin-top: 5px;
92
+ margin-bottom: 5px;
93
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
94
+ font-size: 1em;
95
+ text-align: left;
96
+ display: none;
97
+ -moz-border-radius: 5px;
98
+ -webkit-border-radius: 5px;
99
+ }
100
+
101
+ div.jGrowl div.jGrowl-notification {
102
+ min-height: 40px;
103
+ }
104
+
105
+ div.jGrowl div.jGrowl-notification div.jGrowl-header {
106
+ font-weight: bold;
107
+ font-size: .85em;
108
+ }
109
+
110
+ div.jGrowl div.jGrowl-notification div.jGrowl-close {
111
+ z-index: 99;
112
+ float: right;
113
+ font-weight: bold;
114
+ font-size: 1em;
115
+ cursor: pointer;
116
+ }
117
+
118
+ div.jGrowl div.jGrowl-closer {
119
+ padding-top: 4px;
120
+ padding-bottom: 4px;
121
+ cursor: pointer;
122
+ font-size: .9em;
123
+ font-weight: bold;
124
+ text-align: center;
125
+ }
126
+
127
+ /** Hide jGrowl when printing **/
128
+ @media print {
129
+ div.jGrowl {
130
+ display: none;
131
+ }
132
+ }
@@ -83,6 +83,10 @@ h1, h2, h3, h4, h5, h6 {
83
83
  font-weight: bold;
84
84
  }
85
85
 
86
+ #comparable_products_wrapper .no_products_message {
87
+ margin-bottom: 1em;
88
+ }
89
+
86
90
  #comparable_products {
87
91
  margin: 0 0 1.5em 0;
88
92
  list-style: none;
@@ -233,7 +237,7 @@ ul.sidebar_menu li a:hover {
233
237
  padding: 2px 16px;
234
238
  border-radius: 3px;
235
239
  -moz-border-radius: 3px;
236
- webkit-border-radius: 3px;
240
+ -webkit-border-radius: 3px;
237
241
  background: #eeeeee;
238
242
  }
239
243
 
@@ -449,7 +453,7 @@ button, a.button, input.button {
449
453
  border-color: gray !important;
450
454
  border-radius: 5px;
451
455
  -moz-border-radius: 5px;
452
- webkit-border-radius: 5px;
456
+ -webkit-border-radius: 5px;
453
457
  padding: 4px 17px;
454
458
  }
455
459
 
@@ -627,7 +631,7 @@ ul.thumbnails li a img {
627
631
  font-size: 10pt !important;
628
632
  border-radius: 5px;
629
633
  -moz-border-radius: 5px;
630
- webkit-border-radius: 5px;
634
+ -webkit-border-radius: 5px;
631
635
  box-shadow: inset 0 -5px 5px #e9ebee;
632
636
  text-transform: none;
633
637
  margin-top: .4em;
@@ -718,46 +722,86 @@ hr.space {
718
722
  border-bottom: 1px solid #ddd;
719
723
  }
720
724
 
721
- #new_review .review_title_field {
722
- display: none;
725
+ #new_review #review_title {
726
+ width: 200px;
723
727
  }
724
728
 
725
729
  #new_review .review_rating_field {
726
730
  float: right;
727
- width: 180px;
731
+ width: 480px;
728
732
  }
729
733
 
730
734
  #new_review .review_review_field {
731
- margin-right: 200px;
732
735
  }
733
736
 
734
737
  #new_review .review_review_field textarea {
735
- margin-top: 1em;
736
- width: 100%;
738
+ width: 745px;
737
739
  }
738
740
 
739
741
  #new_review .review_submit {
740
- clear: right;
741
- float: right;
742
- width: 190px;
742
+ text-align: right;
743
+ }
744
+
745
+ #new_review label {
746
+ color: #502559;
743
747
  }
744
748
 
745
749
  #new_review .star-rating-control {
746
- margin-top: 1em;
750
+ margin-top: 0.4em;
751
+ }
752
+
753
+ #new_review .review_title_field {
754
+ margin: 0 0 0.5em
755
+ }
756
+
757
+ #new_review input[type=text], #new_review textarea {
758
+ border-radius: 4px;
759
+ -moz-border-radius: 4px;
760
+ -webkit-border-radius: 4px;
761
+ border: 1px solid silver;
762
+ }
763
+
764
+ #new_review label.error {
765
+ display: block;
766
+ color: red;
747
767
  }
748
768
 
749
769
  .review_fine_print {
750
770
  clear: both;
751
771
  }
752
772
 
753
- .review .title, .review .feedback_review {
773
+ .review .feedback_review {
754
774
  display: none;
755
775
  }
756
776
 
777
+ #reviews .review .title {
778
+ font-size: 12px !important;
779
+ font-weight: normal;
780
+ }
781
+
782
+ .review .star-rating-control {
783
+ vertical-align: middle;
784
+ }
785
+
786
+ .review .title {
787
+ margin: 0 2em;
788
+ color: #3d5a75;
789
+ }
790
+
791
+ .review .attribution {
792
+ color: #3d5a75;
793
+ font-weight: normal;
794
+ font-size: 12px !important;
795
+ }
796
+
757
797
  .rating-stars-container {
758
798
  display: inline-block;
759
799
  }
760
800
 
801
+ .rating-stars-container .star-rating-control {
802
+ margin: 5px 0 0;
803
+ }
804
+
761
805
  div.star-rating, div.star-rating a {
762
806
  background: url('/images/star.png') no-repeat;
763
807
  }
@@ -771,7 +815,7 @@ div.star-rating-hover a {
771
815
  border: 1px solid silver;
772
816
  border-radius: 5px;
773
817
  -moz-border-radius: 5px;
774
- webkit-border-radius: 5px;
818
+ -webkit-border-radius: 5px;
775
819
  box-shadow: rgba(0, 0, 0, .5) 0 10px 10px;
776
820
  z-index: 100;
777
821
  }
@@ -816,7 +860,7 @@ ul.header_menu li a:hover {
816
860
  border: 1px solid silver;
817
861
  border-radius: 5px;
818
862
  -moz-border-radius: 5px;
819
- webkit-border-radius: 5px;
863
+ -webkit-border-radius: 5px;
820
864
  padding: 2px 6px;
821
865
  }
822
866
 
@@ -872,6 +916,11 @@ ul.header_menu li a:hover {
872
916
  padding-bottom: 0;
873
917
  }
874
918
 
919
+ #order_details th, order_details td {
920
+ padding-top: 0;
921
+ padding-bottom: 0;
922
+ }
923
+
875
924
  div#checkout #checkout_form_address #shipping .select_address input {
876
925
  width: auto;
877
926
  }
@@ -896,7 +945,7 @@ div#checkout #checkout-summary {
896
945
  padding: 10px 0 0 10px;
897
946
  border-radius: 5px;
898
947
  -moz-border-radius: 5px;
899
- webkit-border-radius: 5px;
948
+ -webkit-border-radius: 5px;
900
949
  }
901
950
 
902
951
  div#checkout h3 {
@@ -955,11 +1004,37 @@ h4#variant-images {
955
1004
  border-bottom: 1px solid silver;
956
1005
  }
957
1006
 
958
- #new_review label.error {
959
- display: block;
960
- color: red;
961
- }
962
-
963
1007
  div.rating-cancel {
964
1008
  display: none !important;
965
- }
1009
+ }
1010
+
1011
+ #page_content {
1012
+ padding-left: 5px;
1013
+ }
1014
+
1015
+ /* jGrowl */
1016
+
1017
+ div#jGrowl.top-right {
1018
+ top: 120px;
1019
+ }
1020
+
1021
+ div#jGrowl {
1022
+ padding-right: 0;
1023
+ }
1024
+
1025
+ div#jGrowl div.jGrowl-header {
1026
+ font-size: 10pt;
1027
+ }
1028
+
1029
+ div#jGrowl div.jGrowl-notification, div#jGrowl div.jGrowl-closer {
1030
+ border-radius: 5px 0 0 5px;
1031
+ -moz-border-radius: 5px 0 0 5px;
1032
+ -webkit-border-radius: 5px 0 0 5px;
1033
+
1034
+ opacity: 0.7;
1035
+ background: #502559;
1036
+ }
1037
+
1038
+ div#jGrowl div.jGrowl-notification.error {
1039
+ background: #a50000;
1040
+ }
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.platform = Gem::Platform::RUBY
3
3
  s.name = 'synergy_default_theme'
4
- s.version = '1.0.0'
4
+ s.version = '1.0.1'
5
5
  s.summary = 'Default theme for Synergy'
6
6
  s.description = 'Тема по умолчанию для платформы электронной коммерции Synergy, основанной на Spree'
7
7
  s.required_ruby_version = '>= 1.8.7'
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 0
9
- version: 1.0.0
8
+ - 1
9
+ version: 1.0.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Service & Consulting
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-05-06 00:00:00 +04:00
17
+ date: 2011-05-12 00:00:00 +04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -57,6 +57,7 @@ extensions: []
57
57
  extra_rdoc_files: []
58
58
 
59
59
  files:
60
+ - .gitignore
60
61
  - LICENSE
61
62
  - README.md
62
63
  - Rakefile
@@ -67,6 +68,7 @@ files:
67
68
  - app/helpers/product_helper_decorator.rb
68
69
  - app/helpers/taxons_helper_decorator.rb
69
70
  - app/models/page_sweeper.rb
71
+ - app/models/review_sweeper_decorator.rb
70
72
  - app/models/tracker_sweeper.rb
71
73
  - app/views/admin/reviews/index.html.erb
72
74
  - app/views/admin/taxonomies/_list.html.erb
@@ -77,17 +79,21 @@ files:
77
79
  - app/views/home/index.html.erb
78
80
  - app/views/layouts/spree_application.html.erb
79
81
  - app/views/orders/_advanced_cart.html.erb
82
+ - app/views/orders/_line_item.html.erb
80
83
  - app/views/products/_cart_form.html.erb
81
84
  - app/views/products/_eot_includes.html.erb
82
85
  - app/views/products/_image.html.erb
83
86
  - app/views/products/_properties.html.erb
84
87
  - app/views/products/_thumbnails.html.erb
85
88
  - app/views/products/show.html.erb
89
+ - app/views/shared/_head.html.erb
90
+ - app/views/shared/_jgrowl_startup.html.erb
86
91
  - app/views/shared/_like_buttons.html.erb
87
92
  - app/views/shared/_login_bar.html.erb
88
93
  - app/views/shared/_order_details.html.erb
89
94
  - app/views/shared/_products.html.erb
90
95
  - app/views/shared/_rating.html.erb
96
+ - app/views/shared/_review.html.erb
91
97
  - app/views/shared/_reviews.html.erb
92
98
  - app/views/shared/_search.html.erb
93
99
  - app/views/shared/_synergy_compare_products_js.html.erb
@@ -99,8 +105,9 @@ files:
99
105
  - config/routes.rb
100
106
  - db/migrate/20110330125354_add_show_on_main_page_flag_to_taxonomies.rb
101
107
  - db/migrate/20110404120925_change_column_title_in_reviews.rb
108
+ - db/migrate/20110510080413_revert_changes_column_title_in_reviews.rb
102
109
  - lib/spree_compare_products_hooks.rb
103
- - lib/spree_reviews_hook.rb
110
+ - lib/spree_reviews_hooks.rb
104
111
  - lib/synergy_default_theme.rb
105
112
  - lib/synergy_default_theme_hooks.rb
106
113
  - lib/tasks/install.rake
@@ -135,9 +142,11 @@ files:
135
142
  - public/images/twitter_32.png
136
143
  - public/images/vkontakte_32.png
137
144
  - public/images/zoom.png
145
+ - public/javascripts/jquery.jgrowl.min.js
138
146
  - public/javascripts/jquery.tools.min.js
139
147
  - public/javascripts/product.js
140
148
  - public/javascripts/product_simple.js
149
+ - public/stylesheets/jquery.jgrowl.css
141
150
  - public/stylesheets/style.css
142
151
  - spec/spec_helper.rb
143
152
  - synergy_default_theme.gemspec