trusty-cms 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -14
  3. data/README.md +7 -8
  4. data/app/assets/images/rad_social/ajax-loader-small.gif +0 -0
  5. data/app/assets/images/rad_social/ajax-loader.gif +0 -0
  6. data/app/assets/images/rad_social/bg_primary-btn.png +0 -0
  7. data/app/assets/images/rad_social/email.png +0 -0
  8. data/app/assets/images/rad_social/facebook.png +0 -0
  9. data/app/assets/images/rad_social/flickr.png +0 -0
  10. data/app/assets/images/rad_social/foursquare.png +0 -0
  11. data/app/assets/images/rad_social/googleplus.png +0 -0
  12. data/app/assets/images/rad_social/twitter.png +0 -0
  13. data/app/assets/javascripts/rad_social/captcha.js +42 -0
  14. data/app/assets/javascripts/rad_social/jquery.validate.min.js +4 -0
  15. data/app/assets/javascripts/rad_social/rad_ajax_form.js +82 -0
  16. data/app/assets/javascripts/rad_social/rad_email.js +6 -0
  17. data/app/assets/javascripts/rad_social/rad_email_form.js +85 -0
  18. data/app/assets/javascripts/rad_social/rad_email_validator.js +47 -0
  19. data/app/assets/javascripts/rad_social/rad_widget.js +20 -0
  20. data/app/assets/stylesheets/rad_social/rad_screen.scss +148 -0
  21. data/app/controllers/social_mailer_controller.rb +34 -0
  22. data/app/helpers/rad_social_helper.rb +23 -0
  23. data/app/models/rad_social_mailer.rb +24 -0
  24. data/app/models/standard_tags.rb +17 -0
  25. data/app/views/rad_social_mailer/social_mail.html.haml +5 -0
  26. data/app/views/rad_social_mailer/social_mail_form.html.haml +42 -0
  27. data/app/views/widget/_email_form.html.haml +25 -0
  28. data/app/views/widget/_horizontal_widget.html.haml +18 -0
  29. data/config/routes.rb +3 -0
  30. data/coverage/index.html +267 -267
  31. data/lib/trusty_cms/engine.rb +13 -1
  32. data/lib/trusty_cms.rb +1 -1
  33. data/spec/dummy/log/test.log +4515 -0
  34. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  35. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  36. data/trusty_cms.gemspec +1 -0
  37. metadata +40 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f20f67036374cef3064eb22bacb17d08739cf2a7
4
- data.tar.gz: d4658bcafeb27b4068d654c90de3ef57afb84816
3
+ metadata.gz: 1089cf91a5d41f02d4a61d2b2b1223aa0eaaccc6
4
+ data.tar.gz: db7fda3f9d50a978d7a1a69bd92f8d5202a0ef10
5
5
  SHA512:
6
- metadata.gz: 6e169ac5cd20306ecf77b3d7164fec690a7706c4367765035abf458f0734bc600e7eed09155041a5219e251a55752a66300f15937b6356db51506495a5c4cd1f
7
- data.tar.gz: 8cc42d0af8bdd0c120e117cb55df2fdc7095758e51f8724795d2da6562c739ca955018ed2f7cd7a939e84f7782434c484685594d1394cd86e6a78a8b81e33976
6
+ metadata.gz: c979253e71d3bb17ac8addb5f74ca8d0ee1b2071c80366858ef043b2535931cc91eb9939bb6085045b51880530d8765862345e9deeb162ebbdce7f4f608d164a
7
+ data.tar.gz: 49cabbee0f1e608fdc4c11794439a7eda3ce3802da6ba07a2daefb335c87303dd7642aa2b71696f6f54a599006cf16965e4e7a9b46f1160ab27f24a6db055e08
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  GIT
2
2
  remote: https://github.com/rails/rails-observers
3
- revision: 206cb17bc14f4f5ac6f83da4204013a69549b9dc
3
+ revision: c569dc1525259f5ab82cddf90958777473499997
4
4
  specs:
5
- rails-observers (0.1.4)
6
- activemodel (>= 4.0)
5
+ rails-observers (0.2.0)
6
+ activemodel (>= 4.2)
7
7
 
8
8
  PATH
9
9
  remote: .
10
10
  specs:
11
- trusty-cms (3.0.6)
11
+ trusty-cms (3.0.7)
12
12
  RedCloth (~> 4.3.2)
13
13
  acts_as_tree (~> 2.6.1)
14
14
  bundler (~> 1.7)
@@ -27,6 +27,7 @@ PATH
27
27
  rails (~> 5.0.2)
28
28
  rake (< 11.0)
29
29
  rdoc (~> 5.1)
30
+ roadie-rails (~> 1.2.1)
30
31
  sass-rails (~> 5.0.6)
31
32
  stringex (~> 2.7.1)
32
33
  therubyracer (~> 0.12.3)
@@ -90,7 +91,7 @@ GEM
90
91
  rack-test (>= 0.5.4)
91
92
  xpath (~> 2.0)
92
93
  chunky_png (1.3.8)
93
- ckeditor (4.2.3)
94
+ ckeditor (4.2.4)
94
95
  cocaine
95
96
  orm_adapter (~> 0.5.0)
96
97
  climate_control (0.2.0)
@@ -117,6 +118,8 @@ GEM
117
118
  sass-rails (< 5.1)
118
119
  sprockets (< 4.0)
119
120
  concurrent-ruby (1.0.5)
121
+ css_parser (1.5.0)
122
+ addressable
120
123
  database_cleaner (1.5.3)
121
124
  delocalize (0.4.0)
122
125
  rails (>= 3.0)
@@ -147,7 +150,7 @@ GEM
147
150
  haml (>= 4.0, < 6)
148
151
  nokogiri (>= 1.6.0)
149
152
  ruby_parser (~> 3.5)
150
- i18n (0.8.4)
153
+ i18n (0.8.6)
151
154
  jquery-rails (4.3.1)
152
155
  rails-dom-testing (>= 1, < 3)
153
156
  railties (>= 4.2.0)
@@ -155,7 +158,7 @@ GEM
155
158
  json (2.1.0)
156
159
  launchy (2.4.3)
157
160
  addressable (~> 2.3)
158
- libv8 (3.16.14.19-x86_64-darwin-16)
161
+ libv8 (3.16.14.19)
159
162
  loofah (2.0.3)
160
163
  nokogiri (>= 1.5.9)
161
164
  mail (2.6.6)
@@ -167,7 +170,7 @@ GEM
167
170
  mini_portile2 (2.2.0)
168
171
  minitest (5.10.2)
169
172
  multi_json (1.12.1)
170
- mysql2 (0.4.6)
173
+ mysql2 (0.4.8)
171
174
  nio4r (2.1.0)
172
175
  nokogiri (1.8.0)
173
176
  mini_portile2 (~> 2.2.0)
@@ -216,11 +219,17 @@ GEM
216
219
  rake (>= 0.8.7)
217
220
  thor (>= 0.18.1, < 2.0)
218
221
  rake (10.5.0)
219
- rb-fsevent (0.9.8)
222
+ rb-fsevent (0.10.2)
220
223
  rb-inotify (0.9.10)
221
224
  ffi (>= 0.5.0, < 2)
222
225
  rdoc (5.1.0)
223
226
  ref (2.0.0)
227
+ roadie (3.2.2)
228
+ css_parser (~> 1.4)
229
+ nokogiri (~> 1.5)
230
+ roadie-rails (1.2.1)
231
+ railties (>= 3.0, < 5.2)
232
+ roadie (~> 3.1)
224
233
  rspec-core (3.6.0)
225
234
  rspec-support (~> 3.6.0)
226
235
  rspec-expectations (3.6.0)
@@ -238,16 +247,16 @@ GEM
238
247
  rspec-mocks (~> 3.6.0)
239
248
  rspec-support (~> 3.6.0)
240
249
  rspec-support (3.6.0)
241
- ruby_parser (3.9.0)
242
- sexp_processor (~> 4.1)
243
- sass (3.4.24)
250
+ ruby_parser (3.10.1)
251
+ sexp_processor (~> 4.9)
252
+ sass (3.4.25)
244
253
  sass-rails (5.0.6)
245
254
  railties (>= 4.0.0, < 6)
246
255
  sass (~> 3.1)
247
256
  sprockets (>= 2.8, < 4.0)
248
257
  sprockets-rails (>= 2.0, < 4.0)
249
258
  tilt (>= 1.1, < 3)
250
- sexp_processor (4.9.0)
259
+ sexp_processor (4.10.0)
251
260
  simplecov (0.13.0)
252
261
  docile (~> 1.1.0)
253
262
  json (>= 1.8, < 3)
@@ -304,4 +313,4 @@ DEPENDENCIES
304
313
  trustygems (~> 0.2.0)
305
314
 
306
315
  BUNDLED WITH
307
- 1.15.1
316
+ 1.15.2
data/README.md CHANGED
@@ -48,7 +48,7 @@ See the INSTALL file for more details.
48
48
 
49
49
  Prerequisites:
50
50
 
51
- * A github account and Git ([Github has some really good instructons](https://help.github.com/articles/set-up-git))
51
+ * A Github account and Git ([Github has some really good instructons](https://help.github.com/articles/set-up-git))
52
52
 
53
53
  Steps:
54
54
 
@@ -79,7 +79,7 @@ just start from the `vagrant up` step again!
79
79
 
80
80
  Prerequisites:
81
81
 
82
- * Ruby 1.9.3
82
+ * Ruby 2.2.0
83
83
  * The bundler gem
84
84
  * Mysql
85
85
  * [PhantomJS >= 1.8.1](https://github.com/teampoltergeist/poltergeist/tree/v1.5.0#installing-phantomjs)
@@ -116,17 +116,16 @@ When you're ready to make a change:
116
116
 
117
117
  ## Support
118
118
 
119
- The best place to get support is on the Pittsburgh Ruby mailing list:
120
-
121
- https://groups.google.com/forum/#!forum/rubypgh
122
-
123
119
  Most of the development for TrustyCms happens on Github:
124
120
 
125
121
  https://github.com/pgharts/trusty-cms
126
122
 
127
- TrustyCMS is supported in part by https://www.browserstack.com/
123
+ TrustyCMS is supported in part by:
124
+
125
+ * [The Allegheny Regional Asset District (RAD)](https://www.radworkshere.org/)
126
+ * [Browserstack](https://www.browserstack.com/)
128
127
 
129
128
  Enjoy!
130
129
 
131
130
  --
132
- The TrustyCms Dev Team
131
+ The TrustyCMS Dev Team
@@ -0,0 +1,42 @@
1
+ function Captcha(element) {
2
+ var self = this;
3
+ var challengeFieldSelector = "#recaptcha_challenge_field";
4
+ var responseFieldSelector = "#recaptcha_response_field";
5
+
6
+ self.challengeValue = function() {
7
+ return $(element).find(challengeFieldSelector).val();
8
+ };
9
+
10
+ self.responseValue = function() {
11
+ return $(element).find(responseFieldSelector).val();
12
+ };
13
+
14
+ self.visible = function() {
15
+ return ($(element).find("#recaptcha_area").length > 0);
16
+ };
17
+
18
+ self.requestData = function() {
19
+ requestHash = {};
20
+ if(this.visible()) {
21
+ $.extend(requestHash, {
22
+ 'recaptcha_challenge_field': this.challengeValue(),
23
+ 'recaptcha_response_field': this.responseValue()
24
+ });
25
+ }
26
+ return requestHash;
27
+ };
28
+
29
+ self.isValid = function() {
30
+ if(this.visible()) {
31
+ return this.responseValue().length > 0;
32
+ }
33
+ return true;
34
+ };
35
+
36
+ self.reload = function() {
37
+ if(Recaptcha) {
38
+ Recaptcha.reload();
39
+ }
40
+ };
41
+
42
+ }
@@ -0,0 +1,4 @@
1
+ /*! jQuery Validation Plugin - v1.13.0 - 7/1/2014
2
+ * http://jqueryvalidation.org/
3
+ * Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */
4
+ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.validateDelegate(":submit","click",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(b.target).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(b.target).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.submit(function(b){function d(){var d;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c;return a(this[0]).is("form")?b=this.validate().form():(b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b})),b},removeAttrs:function(b){var c={},d=this;return a.each(b.split(/\s/),function(a,b){c[b]=d.attr(b),d.removeAttr(b)}),c},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(a,b){(9!==b.which||""!==this.elementValue(a))&&(a.name in this.submitted||a===this.lastElement)&&this.element(a)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this[0].form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!this.is(e.ignore)&&e[d].call(c,this[0],b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",b).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",b),this.settings.invalidHandler&&a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?a("input[name='"+b.name+"']:checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a];return void 0},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id"),i?i.match(new RegExp("\b"+f+"\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){return this.checkable(a)&&(a=this.findByName(a.name).not(this.settings.ignore)[0]),a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),/min|max/.test(c)&&(null===g||/number|range|text/.test(g))&&(d=Number(d)),d||0===d?e[c]=d:g===c&&"range"!==g&&(e[c]=!0);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b);for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),void 0!==d&&(e[c]=d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(b.min&&b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),b.minlength&&b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:a.trim(b).length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{url:d,mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}}),a.format=function(){throw"$.format has been deprecated. Please use $.validator.format instead."};var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a.extend(a.fn,{validateDelegate:function(b,c,d){return this.bind(c,function(c){var e=a(c.target);return e.is(b)?d.apply(e,arguments):void 0})}})});
@@ -0,0 +1,82 @@
1
+ function RadAjaxForm(form) {
2
+ var self = this;
3
+ this.submitWithoutValidation = function(onSuccess, onError, onComplete) {
4
+ if (onError === undefined) {
5
+ onError = function() {
6
+ };
7
+ }
8
+ if (onComplete === undefined) {
9
+ onComplete = function() {
10
+ };
11
+ }
12
+
13
+ form.find(".loader").addClass('ajax-loader');
14
+ form.find(".loader-small").addClass('ajax-loader-small');
15
+ $.ajax({
16
+ type: "POST",
17
+ url: form.find('input[name=submit_url]').attr('value'),
18
+ data: form.serialize(),
19
+ beforeSend: function ( xhr ) {
20
+ xhr.setRequestHeader("X-CSRF-Token", $("#auth_token").attr('value'));
21
+ },
22
+ success: function(data, status, xhr) {
23
+ form.find(".loader").removeClass('ajax-loader');
24
+ form.find(".loader-small").removeClass('ajax-loader-small');
25
+ onSuccess(data, status, xhr);
26
+ },
27
+ error: function(data) {
28
+ form.find(".loader").removeClass('ajax-loader');
29
+ form.find(".loader-small").removeClass('ajax-loader-small');
30
+ form.find('.continue').attr('disabled', false);
31
+ onError(data);
32
+ },
33
+ complete: onComplete
34
+ });
35
+ form.find('.continue').attr('disabled', 'disabled');
36
+ return true;
37
+ };
38
+
39
+ this.defaultSubmitWithoutValidation = function() {
40
+ this.submitWithoutValidation(handleSuccess, handleFailure);
41
+ };
42
+
43
+ this.submit = function(onSuccess, onError, onComplete) {
44
+ if (onComplete === undefined) {
45
+ onComplete = function() {
46
+ };
47
+ }
48
+
49
+ if (onError === undefined) {
50
+ onError = handleFailure;
51
+ }
52
+
53
+ if (!form.valid()) {
54
+ onComplete();
55
+ return true;
56
+ }
57
+ return self.submitWithoutValidation(onSuccess, onError, onComplete);
58
+ };
59
+
60
+
61
+ function handleSuccess(data, status, xhr)
62
+ {
63
+ var url = xhr.getResponseHeader("BrowserRedirectTo");
64
+ if (!!url) {
65
+ location.href = url
66
+ }
67
+ }
68
+
69
+ function handleFailure(xhr) {
70
+ var errorMessage = xhr.getResponseHeader("ErrorMsg");
71
+ var errorMessageDialog = new ModalDialog('', function(element) {
72
+ return {
73
+ autoOpen: false,
74
+ minHeight: 20,
75
+ title: "We're Sorry!",
76
+ dialogClass: 'seat-error-dialog'
77
+ };
78
+ });
79
+ errorMessageDialog.show(errorMessage);
80
+ }
81
+
82
+ }
@@ -0,0 +1,6 @@
1
+ //= require jquery
2
+ //= require 'rad_social/jquery.validate.min'
3
+ //= require 'rad_social/rad_ajax_form'
4
+ //= require 'rad_social/captcha'
5
+ //= require 'rad_social/rad_email_validator'
6
+ //= require 'rad_social/rad_email_form'
@@ -0,0 +1,85 @@
1
+ $(document).ready(function() {
2
+
3
+ var radModal;
4
+
5
+ function centeredPopup(url,w,h){
6
+ var popupWindow = null;
7
+ LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
8
+ TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
9
+ settings =
10
+ 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition;
11
+ popupWindow = window.open(url,"Share",settings);
12
+ }
13
+
14
+ $(".rad-window-close").click(function(event) {
15
+ event.preventDefault();
16
+ $("#rad-social-email-form").fadeToggle('slow');
17
+ });
18
+
19
+ $(".rad-popup-window").click(function(event){
20
+ event.preventDefault();
21
+ var url = $(this).attr("href");
22
+ centeredPopup(url, 625, 430)
23
+
24
+ });
25
+
26
+ var form = $("#rad-social-email-form");
27
+
28
+ validator = form.validate({
29
+ submitHandler: function(form) {
30
+ var button = $('#rad_email_submit');
31
+ button.attr('disabled', true);
32
+ button.removeClass('primary-button').addClass('disabled-button');
33
+ form.submit();
34
+ clear_form();
35
+ }
36
+ });
37
+
38
+
39
+ var radEmailValidator = new RadEmailValidator(form);
40
+ radEmailValidator.addRules();
41
+
42
+ form.find('#rad_email_submit').click(function(e) {
43
+ return new RadAjaxForm(form).submit(OnSuccess, OnError, OnComplete);
44
+ });
45
+
46
+ function OnSuccess(data) {
47
+ $("#rad-social-email-form").addClass('hidden');
48
+ $("#rad-confirmation").removeClass('hidden');
49
+
50
+ }
51
+
52
+ function OnError(xhr) {
53
+ processFailure(xhr);
54
+ }
55
+
56
+ function OnComplete() {
57
+ //$('#express_contact_form').find('.continue').attr('disabled', false);
58
+ //$('#express_contact_form').find(".loader").removeClass('ajax-loader');
59
+ }
60
+
61
+ function clear_form(){
62
+ $('#rs-from').val('');
63
+ $('#rs-from_name').val('');
64
+ $('#rs-to').val('');
65
+ $('#rs-message').val($('#rs-base-message').val());
66
+ var captcha = new Captcha("#recaptcha-container");
67
+ captcha.reload();
68
+ }
69
+
70
+ function processFailure(xhr)
71
+ {
72
+ var captcha = new Captcha("#recaptcha-container");
73
+ var error_msg = xhr.getResponseHeader("ErrorMsg");
74
+ displayErrorMessage(error_msg);
75
+ captcha.reload();
76
+ }
77
+
78
+ function displayErrorMessage(msg) {
79
+ var error_msg_div = $('.rad-email-error');
80
+ error_msg_div.text(msg);
81
+ error_msg_div.show();
82
+ }
83
+
84
+
85
+ });
@@ -0,0 +1,47 @@
1
+ function RadEmailValidator(parentElement) {
2
+ var rules = {
3
+ "rs-from": {
4
+ required: true,
5
+ email: true,
6
+ messages: {
7
+ required: "From email is required."
8
+ }
9
+ },
10
+ "rs-from_name": {
11
+ required: true,
12
+ messages: {
13
+ required: "From name is required."
14
+ }
15
+ },
16
+ "rs-to": {
17
+ required: true,
18
+ email: true,
19
+ messages: {
20
+ required: "To email is required"
21
+ }
22
+ },
23
+ "rs-message": {
24
+ required: true,
25
+ messages: {
26
+ required: "Email message is required."
27
+ }
28
+ }
29
+ };
30
+
31
+ this.addRules = function() {
32
+ for (var key in rules) {
33
+ $(parentElement).find("[id$=" + key + "]").rules("add", rules[key]);
34
+ }
35
+ };
36
+
37
+ this.removeRules = function() {
38
+ for (var key in rules) {
39
+ $(parentElement).find("[id$=" + key + "]").rules("remove");
40
+ }
41
+ };
42
+
43
+ function elementKeyFor(key) {
44
+ return "[id$=" + parentElement.attr('id') + '_' + key + ']';
45
+ }
46
+
47
+ }
@@ -0,0 +1,20 @@
1
+ $(document).ready(function() {
2
+
3
+ function centeredPopup(url,w,h){
4
+ var popupWindow = null;
5
+ LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
6
+ TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
7
+ settings =
8
+ 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition;
9
+ popupWindow = window.open(url,"Share",settings);
10
+ }
11
+
12
+ $(".rad-popup-window").click(function(event){
13
+ event.preventDefault();
14
+ var url = $(this).attr("href");
15
+ centeredPopup(url, 625, 430)
16
+
17
+ });
18
+
19
+
20
+ });
@@ -0,0 +1,148 @@
1
+ .rad-icon {
2
+ float: left;
3
+ padding-right: 3px;
4
+ .rad-facebook {
5
+ background-image: url('rad_social/facebook.png');
6
+ }
7
+ .rad-twitter {
8
+ background-image: url('rad_social/twitter.png');
9
+ }
10
+ .rad-email {
11
+ background-image: url('rad_social/email.png');
12
+ }
13
+ .rad-gplus {
14
+ background-image: url('rad_social/gplus.png');
15
+ }
16
+ }
17
+ .rad-email-form {
18
+ position: relative;
19
+ padding: 15px;
20
+ }
21
+
22
+ .hidden {
23
+ display: none;
24
+ }
25
+
26
+ .rad-dialog-titlebar {
27
+ background: #EDEDED;
28
+ padding: .5em .3em .3em 1em;
29
+ height: 2em;
30
+ }
31
+
32
+ .rad-dialog-title {
33
+ float: left;
34
+ font-weight: bold;
35
+ margin: .3em 0 .2em;
36
+ }
37
+
38
+ #rad-social-email-form .form-row .form-fields {
39
+ width: 60%;
40
+ float: left;
41
+ }
42
+
43
+ #rad-social-email-form .form-row .input-textbox {
44
+ display: block;
45
+ font-size: 12px;
46
+ }
47
+
48
+
49
+ .rad-email-form #rad_email_submit {
50
+ float: right;
51
+ }
52
+
53
+ .rad-email-form .captcha-container {
54
+ padding: 10px 0px;
55
+ }
56
+
57
+ .rad-email-form input.std_input {
58
+ margin-bottom: 10px;
59
+ }
60
+
61
+ .rad-email-form select {
62
+ margin-bottom: 10px;
63
+ background-color: #fff;
64
+ border: 1px solid #ccc;
65
+ font: 14px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
66
+ color: #6e6e6e;
67
+ }
68
+
69
+ #rad-social-email-form .form-label {
70
+ width: 15%;
71
+ float: left;
72
+ display: block;
73
+ text-align: left;
74
+ padding: 5px 10px 0 0;
75
+ }
76
+
77
+ #rad-social-email-form .form-row {
78
+ padding: 5px;
79
+ clear: both;
80
+ overflow: auto;
81
+ }
82
+
83
+
84
+ .rad-email-form input.std_input,
85
+ .rad-email-form textarea {
86
+ border: 1px solid #ccc;
87
+ width: 97%;
88
+ font: 15px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
89
+ padding: 5px;
90
+ color: #6e6e6e;
91
+ }
92
+
93
+ .rad-email-form table {
94
+ width: 100%;
95
+ }
96
+
97
+ .rad-email-form table input.std_input {
98
+ width: 93%;
99
+ }
100
+
101
+ .rad-email-form table.three-col input.std_input {
102
+ width: 90%;
103
+ }
104
+
105
+ .rad-email-form input.form_but {
106
+ margin-top: 10px;
107
+ background-color: #93ba31;
108
+ border: 3px solid #afdd39;
109
+ color: #fff;
110
+ font: bold 15px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
111
+ -webkit-border-radius: 5px;
112
+ -moz-border-radius: 5px;
113
+ padding: 5px 10px;
114
+ }
115
+
116
+ input.error {
117
+ border: 1px solid #CD0A0A !important;
118
+ color: #CD0A0A !important;
119
+ font-family: Arial, Helvetica, sans-serif !important;
120
+ }
121
+
122
+ .rad-email-error, label.error{
123
+ padding: 5px 0px !important;
124
+ color: #CD0A0A !important;
125
+ font-family: Arial, Helvetica, sans-serif !important;
126
+ display: block;
127
+ }
128
+
129
+ #rad-confirmation {
130
+ font-weight: bold;
131
+ text-align: center;
132
+ padding-top: 25px;
133
+ }
134
+
135
+ body .ajax-loader {
136
+ background: transparent none no-repeat 50% 50%;
137
+ background-image: url('ajax-loader.gif');
138
+ height: 35px;
139
+ }
140
+
141
+ body #rad-social-email-form .primary-button {
142
+ background: transparent none repeat-x scroll 0 0;
143
+ background-image: url('bg_primary-btn.png'); /* sprite-ref: cd-backgrounds-sprite; sprite-alignment: repeat; */;
144
+ color: white !important;
145
+ border: 1px solid #924900;
146
+ }
147
+
148
+ /* @end */