mix-rails-core 0.23.1 → 0.24.0

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 (47) hide show
  1. checksums.yaml +7 -0
  2. data/app/assets/images/blank.gif +0 -0
  3. data/app/assets/images/jqzoom/advertise.jpg +0 -0
  4. data/app/assets/images/jqzoom/zoomloader.gif +0 -0
  5. data/app/assets/images/loadinfo.net.gif +0 -0
  6. data/app/assets/javascripts/angular-google-maps.js +531 -0
  7. data/app/assets/javascripts/angular-ui.min.js +7 -0
  8. data/app/assets/javascripts/angular.min.js +161 -0
  9. data/app/assets/javascripts/gmaps.js +1909 -0
  10. data/app/assets/javascripts/jquery-gmaps-latlon-picker.js +231 -0
  11. data/app/assets/javascripts/jquery.jqzoom.js +1 -0
  12. data/app/assets/javascripts/jquery.krioImageLoader.js +47 -0
  13. data/app/assets/javascripts/jquery.lazyload.js +227 -0
  14. data/app/assets/javascripts/jquery.maskedinput.js +290 -0
  15. data/app/assets/javascripts/jquery.meio.mask.min.js +1 -0
  16. data/app/assets/javascripts/jquery.ui.addresspicker.js +194 -0
  17. data/app/assets/javascripts/jquery/jquery.jqzoom-core.js +733 -0
  18. data/app/assets/javascripts/multizoom.js +388 -0
  19. data/app/assets/stylesheets/angular-ui.min.css +1 -0
  20. data/app/assets/stylesheets/jquery-gmaps-latlon-picker.css +2 -0
  21. data/app/assets/stylesheets/jquery.jqzoom.css +3 -0
  22. data/app/assets/stylesheets/jquery/jquery.jqzoom.css.erb +120 -0
  23. data/app/assets/stylesheets/multizoom.css +48 -0
  24. data/app/helpers/core_helper.rb +4 -0
  25. data/app/inputs/cell_input.rb +5 -0
  26. data/app/inputs/cep_input.rb +5 -0
  27. data/app/inputs/phone_input.rb +5 -0
  28. data/app/inputs/state_input.rb +5 -0
  29. data/app/models/attachment.rb +4 -1
  30. data/app/models/category.rb +4 -1
  31. data/app/models/ckeditor/asset.rb +7 -0
  32. data/app/models/ckeditor/attachment_file.rb +7 -0
  33. data/app/models/ckeditor/picture.rb +7 -0
  34. data/app/uploaders/ckeditor_attachment_file_uploader.rb +36 -0
  35. data/app/uploaders/ckeditor_picture_uploader.rb +47 -0
  36. data/app/views/admix/categories/_form_config.haml +3 -0
  37. data/config/initializers/ckeditor.rb +21 -0
  38. data/config/initializers/defaults_rails.rb +10 -1
  39. data/config/locales/core.pt-BR.yml +25 -2
  40. data/config/routes.rb +2 -0
  41. data/db/migrate/20130226152256_create_ckeditor_assets.rb +26 -0
  42. data/lib/mix-rails-core.rb +3 -0
  43. data/lib/mix-rails-core/version.rb +2 -2
  44. metadata +73 -120
  45. data/app/assets/javascripts/jquery/jquery.maskedinput-1.3.min.js +0 -7
  46. data/app/models/admix/categories_datagrid.rb +0 -14
  47. data/app/views/admix/categories/_form_fields.haml +0 -1
@@ -0,0 +1,388 @@
1
+
2
+ // Multi-Zoom Script (c)2012 John Davenport Scheuer
3
+ // as first seen in http://www.dynamicdrive.com/forums/
4
+ // username: jscheuer1 - This Notice Must Remain for Legal Use
5
+ // requires: a modified version of Dynamic Drive's Featured Image Zoomer (w/ adjustable power) (included)
6
+
7
+ /*Featured Image Zoomer (May 8th, 2010)
8
+ * This notice must stay intact for usage
9
+ * Author: Dynamic Drive at http://www.dynamicdrive.com/
10
+ * Visit http://www.dynamicdrive.com/ for full source code
11
+ */
12
+
13
+ // Feb 21st, 2011: Script updated to v1.5, which now includes new feature by jscheuer1 (http://www.dynamicdrive.com/forums/member.php?u=2033) to show optional "magnifying lens" while over thumbnail image.
14
+ // March 1st, 2011: Script updated to v1.51. Minor improvements to inner workings of script.
15
+ // July 9th, 12': Script updated to v1.5.1, which fixes mouse wheel issue with script when used with a more recent version of jQuery.
16
+ // Nov 5th, 2012: Unofficial update to v1.5.1m for integration with multi-zoom (adds multiple images to be zoomed via thumbnail activated image swapping)
17
+ // Nov 28th, 2012: Version 2.1 w/Multi Zoom, updates - new features and bug fixes
18
+
19
+ var featuredimagezoomer = { // the two options for Featured Image Zoomer:
20
+ loadinggif: 'spinningred.gif', // full path or URL to "loading" gif
21
+ magnifycursor: 'crosshair' // value for CSS's 'cursor' property when over the zoomable image
22
+ };
23
+
24
+ //////////////// No Need To Edit Beyond Here ////////////////
25
+
26
+ (function($){
27
+
28
+ $('head').append('<style type="text/css">.featuredimagezoomerhidden {visibility: hidden!important;}</style>');
29
+
30
+ $.fn.multizoomhide = function(){
31
+ return $('<style type="text/css">' + this.selector + ' {visibility: hidden;}<\/style>').appendTo('head');
32
+ };
33
+
34
+ $.fn.addmultizoom = function(options){
35
+
36
+ var indoptions = {largeimage: options.largeimage}, $imgObj = $(options.imgObj + ':not(".thumbs")'),
37
+ $descArea = $(options.descArea), first = true, splitre = /, ?/;
38
+
39
+ options = $.extend({
40
+ speed: 'slow',
41
+ initzoomablefade: true,
42
+ zoomablefade: true
43
+ }, options);
44
+
45
+ function loadfunction(){
46
+ var lnk = this, styleobj1 = {}, styleobj2 = {}, $nim, lnkd, lnkt, lnko, w, h;
47
+ if((lnkd = lnk.getAttribute('data-dims'))){
48
+ lnkd = lnkd.split(splitre);
49
+ w = lnkd[0]; h = lnkd[1];
50
+ }
51
+ $(new Image()).error(function(){
52
+ if(lnk.tagName && !options.notmulti){
53
+ alert("Error: I couldn't find the image:\n\n" + lnk.href + ((lnkt = lnk.getAttribute('data-title'))? '\n\n"' + lnkt + '"' : ''));
54
+ if((lnko = $imgObj.data('last-trigger'))){
55
+ first = true;
56
+ $(lnko).trigger('click');
57
+ }
58
+ }
59
+ }).load(function(){
60
+ var opacity = $imgObj.css('opacity'), combinedoptions = {}, $parent;
61
+ if(isNaN(opacity)){opacity = 1;}
62
+ if(options.notmulti || !indoptions.largeimage){
63
+ w = options.width || $imgObj.width(); h = options.height || $imgObj.height();
64
+ }
65
+ $imgObj.attr('src', this.src).css({width: w || options.width || this.width, height: (h = +(h || options.height || this.height))});
66
+ if($imgObj.data('added')) {$imgObj.data('added').remove()};
67
+ $imgObj.data('last-trigger', lnk);
68
+ if(options.imagevertcenter){styleobj1 = {top: ($imgObj.parent().innerHeight() - h) / 2};}
69
+ $imgObj.css(styleobj1).addimagezoom($.extend(combinedoptions, options, indoptions))
70
+ .data('added', $('.magnifyarea:last' + (combinedoptions.cursorshade? ', .cursorshade:last' : '') + ', .zoomstatus:last, .zoomtracker:last'));
71
+ if(options.magvertcenter){
72
+ $('.magnifyarea:last').css({marginTop: (h - $('.magnifyarea:last').height()) / 2});
73
+ }
74
+ if(options.descpos){
75
+ $parent = $imgObj.parent();
76
+ styleobj2 = {left: $parent.offset().left + ($parent.outerWidth() - $parent.width()) / 2, top: h + $imgObj.offset().top};
77
+ }
78
+ if(options.notmulti){
79
+ $descArea.css(styleobj2);
80
+ } else {
81
+ $descArea.css(styleobj2).empty().append(lnk.getAttribute('data-title') || '');
82
+ }
83
+ if(+opacity < 1){$imgObj.add($descArea).animate({opacity: 1}, options.speed);}
84
+ }).attr('src', $imgObj.data('src'));
85
+ }
86
+
87
+ this.click(function(e){
88
+ e.preventDefault();
89
+ var src = $imgObj.attr('src'), ms, zr, cs, opacityObj = {opacity: 0};
90
+ if(!first && (src === this.href || src === this.getAttribute('href'))){return;}
91
+ if(first && !options.initzoomablefade || !options.zoomablefade){opacityObj = {};}
92
+ first = false;
93
+ indoptions.largeimage = this.getAttribute('data-large') || options.largeimage || '';
94
+ if(indoptions.largeimage === 'none'){indoptions.largeimage = '';}
95
+ if((ms = this.getAttribute('data-magsize')) || options.magnifiersize){
96
+ indoptions.magnifiersize = (ms? ms.split(splitre) : '') || options.magnifiersize;
97
+ } else {delete indoptions.magnifiersize;}
98
+ indoptions.zoomrange = ((zr = this.getAttribute('data-zoomrange'))? (zr = zr.split(splitre)) : '') || options.zoomrange || '';
99
+ if(zr){zr[0] = +zr[0]; zr[1] = +zr[1];}
100
+ indoptions.cursorshade = ((cs = this.getAttribute('data-lens'))? cs : '') || options.cursorshade || '';
101
+ if(cs){indoptions.cursorshade = eval(cs);}
102
+ $imgObj.data('added') &&
103
+ $imgObj.stop(true, true).data('added').not('.zoomtracker').remove().end()
104
+ .css({background: 'url(' + featuredimagezoomer.loadinggif + ') center no-repeat'});
105
+ $imgObj.css($.extend({visibility: 'visible'}, ($imgObj.data('added')? options.zoomablefade? {opacity: 0.25} : opacityObj : opacityObj))).data('src', this.href);
106
+ $descArea.css($.extend({visibility: 'visible'}, opacityObj));
107
+ loadfunction.call(this);
108
+ }).eq(0).trigger('click');
109
+
110
+ return this;
111
+ };
112
+
113
+ // Featured Image Zoomer main code:
114
+
115
+ $.extend(featuredimagezoomer, {
116
+
117
+ dsetting: { //default settings
118
+ magnifierpos: 'right',
119
+ magnifiersize:[200, 200],
120
+ cursorshadecolor: '#fff',
121
+ cursorshadeopacity: 0.3,
122
+ cursorshadeborder: '1px solid black',
123
+ cursorshade: false,
124
+ leftoffset: 15, //offsets here are used (added to) the width of the magnifyarea when
125
+ rightoffset: 10 //calculating space requirements and to position it visa vis any drop shadow
126
+ },
127
+
128
+ isie: (function(){/*@cc_on @*//*@if(@_jscript_version >= 5)return true;@end @*/return false;})(), //is this IE?
129
+
130
+ showimage: function($tracker, $mag, showstatus){
131
+ var specs=$tracker.data('specs'), d=specs.magpos, fiz=this;
132
+ var coords=$tracker.data('specs').coords //get coords of tracker (from upper corner of document)
133
+ specs.windimensions={w:$(window).width(), h:$(window).height()}; //remember window dimensions
134
+ var magcoords={} //object to store coords magnifier DIV should move to
135
+ magcoords.left = coords.left + (d === 'left'? -specs.magsize.w - specs.lo : $tracker.width() + specs.ro);
136
+ //switch sides for magnifiers that don't have enough room to display on the right if there's room on the left:
137
+ if(d!=='left' && magcoords.left + specs.magsize.w + specs.lo >= specs.windimensions.w && coords.left - specs.magsize.w >= specs.lo){
138
+ magcoords.left = coords.left - specs.magsize.w - specs.lo;
139
+ } else if(d==='left' && magcoords.left < specs.ro) { //if there's no room on the left, move to the right
140
+ magcoords.left = coords.left + $tracker.width() + specs.ro;
141
+ }
142
+ $mag.css({left: magcoords.left, top:coords.top}).show(); //position magnifier DIV on page
143
+ specs.$statusdiv.html('Current Zoom: '+specs.curpower+'<div style="font-size:80%">Use Mouse Wheel to Zoom In/Out</div>');
144
+ if (showstatus) //show status DIV? (only when a range of zoom is defined)
145
+ fiz.showstatusdiv(specs, 400, 2000);
146
+ },
147
+
148
+ hideimage: function($tracker, $mag, showstatus){
149
+ var specs=$tracker.data('specs');
150
+ $mag.hide();
151
+ if (showstatus)
152
+ this.hidestatusdiv(specs);
153
+ },
154
+
155
+ showstatusdiv: function(specs, fadedur, showdur){
156
+ clearTimeout(specs.statustimer)
157
+ specs.$statusdiv.css({visibility: 'visible'}).fadeIn(fadedur) //show status div
158
+ specs.statustimer=setTimeout(function(){featuredimagezoomer.hidestatusdiv(specs)}, showdur) //hide status div after delay
159
+ },
160
+
161
+ hidestatusdiv: function(specs){
162
+ specs.$statusdiv.stop(true, true).hide()
163
+ },
164
+
165
+ getboundary: function(b, val, specs){ //function to set x and y boundaries magnified image can move to (moved outside moveimage for efficiency)
166
+ if (b=="left"){
167
+ var rb=-specs.imagesize.w*specs.curpower+specs.magsize.w
168
+ return (val>0)? 0 : (val<rb)? rb : val
169
+ }
170
+ else{
171
+ var tb=-specs.imagesize.h*specs.curpower+specs.magsize.h
172
+ return (val>0)? 0 : (val<tb)? tb : val
173
+ }
174
+ },
175
+
176
+ moveimage: function($tracker, $maginner, $cursorshade, e){
177
+ var specs=$tracker.data('specs'), csw = Math.round(specs.magsize.w/specs.curpower), csh = Math.round(specs.magsize.h/specs.curpower),
178
+ csb = specs.csborder, fiz = this, imgcoords=specs.coords, pagex=(e.pageX || specs.lastpagex), pagey=(e.pageY || specs.lastpagey),
179
+ x=pagex-imgcoords.left, y=pagey-imgcoords.top;
180
+ $cursorshade.css({ // keep shaded area sized and positioned proportionately to area being magnified
181
+ visibility: '',
182
+ width: csw,
183
+ height: csh,
184
+ top: Math.min(specs.imagesize.h-csh-csb, Math.max(0, y-(csb+csh)/2)) + imgcoords.top,
185
+ left: Math.min(specs.imagesize.w-csw-csb, Math.max(0, x-(csb+csw)/2)) + imgcoords.left
186
+ });
187
+ var newx=-x*specs.curpower+specs.magsize.w/2 //calculate x coord to move enlarged image
188
+ var newy=-y*specs.curpower+specs.magsize.h/2
189
+ $maginner.css({left:fiz.getboundary('left', newx, specs), top:fiz.getboundary('top', newy, specs)})
190
+ specs.$statusdiv.css({left:pagex-10, top:pagey+20})
191
+ specs.lastpagex=pagex //cache last pagex value (either e.pageX or lastpagex), as FF1.5 returns undefined for e.pageX for "DOMMouseScroll" event
192
+ specs.lastpagey=pagey
193
+ },
194
+
195
+ magnifyimage: function($tracker, e, zoomrange){
196
+ if (!e.detail && !e.wheelDelta){e = e.originalEvent;}
197
+ var delta=e.detail? e.detail*(-120) : e.wheelDelta //delta returns +120 when wheel is scrolled up, -120 when scrolled down
198
+ var zoomdir=(delta<=-120)? "out" : "in"
199
+ var specs=$tracker.data('specs')
200
+ var magnifier=specs.magnifier, od=specs.imagesize, power=specs.curpower
201
+ var newpower=(zoomdir=="in")? Math.min(power+1, zoomrange[1]) : Math.max(power-1, zoomrange[0]) //get new power
202
+ var nd=[od.w*newpower, od.h*newpower] //calculate dimensions of new enlarged image within magnifier
203
+ magnifier.$image.css({width:nd[0], height:nd[1]})
204
+ specs.curpower=newpower //set current power to new power after magnification
205
+ specs.$statusdiv.html('Current Zoom: '+specs.curpower)
206
+ this.showstatusdiv(specs, 0, 500)
207
+ $tracker.trigger('mousemove')
208
+ },
209
+
210
+ highestzindex: function($img){
211
+ var z = 0, $els = $img.parents().add($img), elz;
212
+ $els.each(function(){
213
+ elz = $(this).css('zIndex');
214
+ elz = isNaN(elz)? 0 : +elz;
215
+ z = Math.max(z, elz);
216
+ });
217
+ return z;
218
+ },
219
+
220
+ init: function($img, options){
221
+ var setting=$.extend({}, this.dsetting, options), w = $img.width(), h = $img.height(), o = $img.offset(),
222
+ fiz = this, $tracker, $cursorshade, $statusdiv, $magnifier, lastpage = {pageX: 0, pageY: 0},
223
+ basezindex = setting.zIndex || this.highestzindex($img);
224
+ if(h === 0 || w === 0){
225
+ $(new Image()).load(function(){
226
+ featuredimagezoomer.init($img, options);
227
+ }).attr('src', $img.attr('src'));
228
+ return;
229
+ }
230
+ $img.css({visibility: 'visible'});
231
+ setting.largeimage = setting.largeimage || $img.get(0).src;
232
+ $magnifier=$('<div class="magnifyarea" style="position:absolute;z-index:'+basezindex+';width:'+setting.magnifiersize[0]+'px;height:'+setting.magnifiersize[1]+'px;left:-10000px;top:-10000px;visibility:hidden;overflow:hidden;border:1px solid black;" />')
233
+ .append('<div style="position:relative;left:0;top:0;z-index:'+basezindex+';" />')
234
+ .appendTo(document.body) //create magnifier container
235
+ //following lines - create featured image zoomer divs, and absolutely positioned them for placement over the thumbnail and each other:
236
+ if(setting.cursorshade){
237
+ $cursorshade = $('<div class="cursorshade" style="visibility:hidden;position:absolute;left:0;top:0;z-index:'+basezindex+';" />')
238
+ .css({border: setting.cursorshadeborder, opacity: setting.cursorshadeopacity, backgroundColor: setting.cursorshadecolor})
239
+ .appendTo(document.body);
240
+ } else {
241
+ $cursorshade = $('<div />'); //dummy shade div to satisfy $tracker.data('specs')
242
+ }
243
+ $statusdiv = $('<div class="zoomstatus preloadevt" style="position:absolute;visibility:hidden;left:0;top:0;z-index:'+basezindex+';" />')
244
+ .html('<img src="'+this.loadinggif+'" />')
245
+ .appendTo(document.body); //create DIV to show "loading" gif/ "Current Zoom" info
246
+ $tracker = $('<div class="zoomtracker" style="cursor:progress;position:absolute;z-index:'+basezindex+';left:'+o.left+'px;top:'+o.top+'px;height:'+h+'px;width:'+w+'px;" />')
247
+ .css({backgroundImage: (this.isie? 'url(cannotbe)' : 'none')})
248
+ .appendTo(document.body);
249
+ $(window).bind('load resize', function(){ //in case resizing the window repostions the image or description
250
+ var o = $img.offset(), $parent;
251
+ $tracker.css({left: o.left, top: o.top});
252
+ if(options.descpos && options.descArea){
253
+ $parent = $img.parent();
254
+ $(options.descArea).css({left: $parent.offset().left + ($parent.outerWidth() - $parent.width()) / 2, top: $img.height() + o.top});
255
+ }
256
+ });
257
+
258
+ function getspecs($maginner, $bigimage){ //get specs function
259
+ var magsize={w:$magnifier.width(), h:$magnifier.height()}
260
+ var imagesize={w:w, h:h}
261
+ var power=(setting.zoomrange)? setting.zoomrange[0] : ($bigimage.width()/w).toFixed(5)
262
+ $tracker.data('specs', {
263
+ $statusdiv: $statusdiv,
264
+ statustimer: null,
265
+ magnifier: {$outer:$magnifier, $inner:$maginner, $image:$bigimage},
266
+ magsize: magsize,
267
+ magpos: setting.magnifierpos,
268
+ imagesize: imagesize,
269
+ curpower: power,
270
+ coords: getcoords(),
271
+ csborder: $cursorshade.outerWidth(),
272
+ lo: setting.leftoffset,
273
+ ro: setting.rightoffset
274
+ })
275
+ }
276
+
277
+ function getcoords(){ //get coords of thumb image function
278
+ var offset=$tracker.offset() //get image's tracker div's offset from document
279
+ return {left:offset.left, top:offset.top}
280
+ }
281
+
282
+ $tracker.mouseover(function(e){
283
+ $cursorshade.add($magnifier).add($statusdiv).removeClass('featuredimagezoomerhidden');
284
+ $tracker.data('premouseout', false);
285
+ }).mouseout(function(e){
286
+ $cursorshade.add($magnifier).add($statusdiv.not('.preloadevt')).addClass('featuredimagezoomerhidden');
287
+ $tracker.data('premouseout', true);
288
+ }).mousemove(function(e){ //save tracker mouse position for initial magnifier appearance, if needed
289
+ lastpage.pageX = e.pageX;
290
+ lastpage.pageY = e.pageY;
291
+ });
292
+
293
+ $tracker.one('mouseover', function(e){
294
+ var $maginner=$magnifier.find('div:eq(0)')
295
+ var $bigimage=$('<img src="'+setting.largeimage+'"/>').appendTo($maginner)
296
+ var largeloaded = featuredimagezoomer.loaded[$('<a href="'+setting.largeimage+'"></a>').get(0).href];
297
+ var showstatus=setting.zoomrange && setting.zoomrange[1]>setting.zoomrange[0]
298
+ var imgcoords=getcoords()
299
+ if(!largeloaded){
300
+ $img.stop(true, true).css({opacity:0.1}) //"dim" image while large image is loading
301
+ $statusdiv.css({left:imgcoords.left+w/2-$statusdiv.width()/2, top:imgcoords.top+h/2-$statusdiv.height()/2, visibility:'visible'})
302
+ }
303
+ $bigimage.bind('loadevt', function(event, e){ //magnified image ONLOAD event function (to be triggered later)
304
+ if(e.type === 'error'){
305
+ $img.css({opacity: 1}).data('added').remove();
306
+ var src = $('<a href="' + $bigimage.attr('src') + '"></a>').get(0).href;
307
+ if(window.console && console.error){
308
+ console.error('Cannot find Featured Image Zoomer larger image: ' + src);
309
+ } else {
310
+ alert('Cannot find Featured Image Zoomer larger image:\n\n' + src);
311
+ }
312
+ return;
313
+ }
314
+ featuredimagezoomer.loaded[this.src] = true;
315
+ $img.css({opacity:1}) //restore thumb image opacity
316
+ $statusdiv.empty().css({border:'1px solid black', background:'#C0C0C0', padding:'4px', font:'bold 13px Arial', opacity:0.8}).hide().removeClass('preloadevt');
317
+ if($tracker.data('premouseout')){
318
+ $statusdiv.addClass('featuredimagezoomerhidden');
319
+ }
320
+ if (setting.zoomrange){ //if set large image to a specific power
321
+ var nd=[w*setting.zoomrange[0], h*setting.zoomrange[0]] //calculate dimensions of new enlarged image
322
+ $bigimage.css({width:nd[0], height:nd[1]})
323
+ }
324
+ getspecs($maginner, $bigimage) //remember various info about thumbnail and magnifier
325
+ $magnifier.css({display:'none', visibility:'visible'})
326
+ $tracker.mouseover(function(e){ //image onmouseover
327
+ $tracker.data('specs').coords=getcoords() //refresh image coords (from upper left edge of document)
328
+ fiz.showimage($tracker, $magnifier, showstatus)
329
+ })
330
+ $tracker.mousemove(function(e){ //image onmousemove
331
+ fiz.moveimage($tracker, $maginner, $cursorshade, e)
332
+ })
333
+ if (!$tracker.data('premouseout')){
334
+ fiz.showimage($tracker, $magnifier, showstatus);
335
+ fiz.moveimage($tracker, $maginner, $cursorshade, lastpage);
336
+ }
337
+ $tracker.mouseout(function(e){ //image onmouseout
338
+ fiz.hideimage($tracker, $magnifier, showstatus)
339
+ }).css({cursor: fiz.magnifycursor});
340
+ if (setting.zoomrange && setting.zoomrange[1]>setting.zoomrange[0]){ //if zoom range enabled
341
+ $tracker.bind('DOMMouseScroll mousewheel', function(e){
342
+ fiz.magnifyimage($tracker, e, setting.zoomrange);
343
+ e.preventDefault();
344
+ });
345
+ } else if(setting.disablewheel){
346
+ $tracker.bind('DOMMouseScroll mousewheel', function(e){e.preventDefault();});
347
+ }
348
+ }) //end $bigimage onload
349
+ if ($bigimage.get(0).complete){ //if image has already loaded (account for IE, Opera not firing onload event if so)
350
+ $bigimage.trigger('loadevt', {type: 'load'})
351
+ }
352
+ else{
353
+ $bigimage.bind('load error', function(e){$bigimage.trigger('loadevt', e)})
354
+ }
355
+ })
356
+ },
357
+
358
+ iname: (function(){var itag = $('<img />'), iname = itag.get(0).tagName; itag.remove(); return iname;})(),
359
+
360
+ loaded: {},
361
+
362
+ hashre: /^#/
363
+ });
364
+
365
+ $.fn.addimagezoom = function(options){
366
+ var sel = this.selector, $thumbs = $(sel.replace(featuredimagezoomer.hashre, '.') + '.thumbs a');
367
+ options = options || {};
368
+ if(options.multizoom !== null && ($thumbs).size()){
369
+ $thumbs.addmultizoom($.extend(options, {imgObj: sel, multizoom: null}));
370
+ return this;
371
+ } else if(options.multizoom){
372
+ $(options.multizoom).addmultizoom($.extend(options, {imgObj: sel, multizoom: null}));
373
+ return this;
374
+ } else if (options.multizoom !== null){
375
+ return this.each(function(){
376
+ if (this.tagName !== featuredimagezoomer.iname)
377
+ return true; //skip to next matched element
378
+ $('<a href="' + this.src + '"></a>').addmultizoom($.extend(options, {imgObj: sel, multizoom: null, notmulti: true}));
379
+ });
380
+ }
381
+ return this.each(function(){ //return jQuery obj
382
+ if (this.tagName !== featuredimagezoomer.iname)
383
+ return true; //skip to next matched element
384
+ featuredimagezoomer.init($(this), options);
385
+ });
386
+ };
387
+
388
+ })(jQuery);
@@ -0,0 +1 @@
1
+ .ui-resetwrap{position:relative;display:inline-block}.ui-reset{position:absolute;top:0;right:0;z-index:2;display:none;height:100%;cursor:pointer}.ui-resetwrap:hover .ui-reset{display:block}.ui-currency-pos{color:green}.ui-currency-neg{color:red}.ui-currency-zero{color:blue}.ui-currency-pos.ui-bignum,.ui-currency-neg.ui-smallnum{font-size:110%}.ui-match{background:yellow}
@@ -0,0 +1,2 @@
1
+ /* If the map DIV doesn't have a size set up, it won't appear on the page */
2
+ .gllpMap { width: 500px; height: 250px; }
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require ./jquery/jquery.jqzoom
3
+ */
@@ -0,0 +1,120 @@
1
+ .zoomPad{
2
+ position:relative;
3
+ float:left;
4
+ z-index:99;
5
+ cursor:crosshair;
6
+ }
7
+
8
+
9
+ .zoomPreload{
10
+ -moz-opacity:0.8;
11
+ opacity: 0.8;
12
+ filter: alpha(opacity = 80);
13
+ color: #333;
14
+ font-size: 12px;
15
+ font-family: Tahoma;
16
+ text-decoration: none;
17
+ border: 1px solid #CCC;
18
+ background-color: white;
19
+ padding: 8px;
20
+ text-align:center;
21
+ background-image: url(<%= asset_path('images/jqzoom/zoomloader.gif') %>);
22
+ background-repeat: no-repeat;
23
+ background-position: 43px 30px;
24
+ z-index:110;
25
+ width:90px;
26
+ height:43px;
27
+ position:absolute;
28
+ top:0px;
29
+ left:0px;
30
+ * width:100px;
31
+ * height:49px;
32
+ }
33
+
34
+
35
+ .zoomPup{
36
+ overflow:hidden;
37
+ background-color: #FFF;
38
+ -moz-opacity:0.6;
39
+ opacity: 0.6;
40
+ filter: alpha(opacity = 60);
41
+ z-index:120;
42
+ position:absolute;
43
+ border:1px solid #CCC;
44
+ z-index:101;
45
+ cursor:crosshair;
46
+ }
47
+
48
+ .zoomOverlay{
49
+ position:absolute;
50
+ left:0px;
51
+ top:0px;
52
+ background:#FFF;
53
+ /*opacity:0.5;*/
54
+ z-index:5000;
55
+ width:100%;
56
+ height:100%;
57
+ display:none;
58
+ z-index:101;
59
+ }
60
+
61
+ .zoomWindow{
62
+ position:absolute;
63
+ left:110%;
64
+ top:40px;
65
+ background:#FFF;
66
+ z-index:6000;
67
+ height:auto;
68
+ z-index:10000;
69
+ z-index:110;
70
+ }
71
+ .zoomWrapper{
72
+ position:relative;
73
+ border:1px solid #999;
74
+ z-index:110;
75
+ }
76
+ .zoomWrapperTitle{
77
+ display:block;
78
+ background:#999;
79
+ color:#FFF;
80
+ height:18px;
81
+ line-height:18px;
82
+ width:100%;
83
+ overflow:hidden;
84
+ text-align:center;
85
+ font-size:10px;
86
+ position:absolute;
87
+ top:0px;
88
+ left:0px;
89
+ z-index:120;
90
+ -moz-opacity:0.6;
91
+ opacity: 0.6;
92
+ filter: alpha(opacity = 60);
93
+ }
94
+ .zoomWrapperImage{
95
+ display:block;
96
+ position:relative;
97
+ overflow:hidden;
98
+ z-index:110;
99
+
100
+ }
101
+ .zoomWrapperImage img{
102
+ border:0px;
103
+ display:block;
104
+ position:absolute;
105
+ z-index:101;
106
+ }
107
+
108
+ .zoomIframe{
109
+ z-index: -1;
110
+ filter:alpha(opacity=0);
111
+ -moz-opacity: 0.80;
112
+ opacity: 0.80;
113
+ position:absolute;
114
+ display:block;
115
+ }
116
+
117
+ /*********************************************************
118
+ / When clicking on thumbs jqzoom will add the class
119
+ / "zoomThumbActive" on the anchor selected
120
+ /*********************************************************/