mix-rails-core 0.23.1 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ /*********************************************************/