Changeset 20820


Ignore:
Timestamp:
02/18/13 21:33:45 (7 years ago)
Author:
rvelices
Message:

upgraded jquery jcrop from 0.9.10 to 0.9.12

Location:
trunk/themes/default/js/plugins
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/themes/default/js/plugins/jquery.Jcrop.css

    r19682 r20820  
    1 /* jquery.Jcrop.css v0.9.10 - MIT License */ 
    2  
     1/* jquery.Jcrop.css v0.9.12 - MIT License */ 
    32/* 
    43  The outer-most container in a typical Jcrop instance 
     
    1413  text-align: left; 
    1514} 
    16  
    17 /* These styles define the border lines */ 
    18 .jcrop-vline,.jcrop-hline{background:#FFF url(Jcrop.gif) top left repeat;font-size:0;position:absolute;} 
    19 .jcrop-vline{height:100%;width:1px!important;} 
    20 .jcrop-hline{height:1px!important;width:100%;} 
    21 .jcrop-vline.right{right:0;} 
    22 .jcrop-hline.bottom{bottom:0;} 
    23  
    24 /* Handle style - size is set by Jcrop handleSize option (currently) */ 
    25 .jcrop-handle{background-color:#333;border:1px #eee solid;font-size:1px;} 
    26  
    27 /* This style is used for invisible click targets */ 
    28 .jcrop-tracker 
    29 { 
    30   height: 100%;  
     15/* Selection Border */ 
     16.jcrop-vline, 
     17.jcrop-hline { 
     18  background: #ffffff url("Jcrop.gif"); 
     19  font-size: 0; 
     20  position: absolute; 
     21} 
     22.jcrop-vline { 
     23  height: 100%; 
     24  width: 1px !important; 
     25} 
     26.jcrop-vline.right { 
     27  right: 0; 
     28} 
     29.jcrop-hline { 
     30  height: 1px !important; 
    3131  width: 100%; 
    32   -webkit-tap-highlight-color: transparent; /* "turn off" link highlight */ 
    33   -webkit-touch-callout: none;              /* disable callout, image save panel */ 
    34   -webkit-user-select: none;                /* disable cut copy paste */ 
    3532} 
    36  
    37 /* Positioning of handles and drag bars */ 
    38 .jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0;} 
    39 .jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px;} 
    40 .jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%;} 
    41 .jcrop-handle.ord-w{left:0;margin-left:-4px;margin-top:-4px;top:50%;} 
    42 .jcrop-handle.ord-nw{left:0;margin-left:-4px;margin-top:-4px;top:0;} 
    43 .jcrop-handle.ord-ne{margin-right:-4px;margin-top:-4px;right:0;top:0;} 
    44 .jcrop-handle.ord-se{bottom:0;margin-bottom:-4px;margin-right:-4px;right:0;} 
    45 .jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-4px;margin-left:-4px;} 
    46 .jcrop-dragbar.ord-n,.jcrop-dragbar.ord-s{height:7px;width:100%;} 
    47 .jcrop-dragbar.ord-e,.jcrop-dragbar.ord-w{height:100%;width:7px;} 
    48 .jcrop-dragbar.ord-n{margin-top:-4px;} 
    49 .jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px;} 
    50 .jcrop-dragbar.ord-e{margin-right:-4px;right:0;} 
    51 .jcrop-dragbar.ord-w{margin-left:-4px;} 
    52  
     33.jcrop-hline.bottom { 
     34  bottom: 0; 
     35} 
     36/* Invisible click targets */ 
     37.jcrop-tracker { 
     38  height: 100%; 
     39  width: 100%; 
     40  /* "turn off" link highlight */ 
     41  -webkit-tap-highlight-color: transparent; 
     42  /* disable callout, image save panel */ 
     43  -webkit-touch-callout: none; 
     44  /* disable cut copy paste */ 
     45  -webkit-user-select: none; 
     46} 
     47/* Selection Handles */ 
     48.jcrop-handle { 
     49  background-color: #333333; 
     50  border: 1px #eeeeee solid; 
     51  width: 7px; 
     52  height: 7px; 
     53  font-size: 1px; 
     54} 
     55.jcrop-handle.ord-n { 
     56  left: 50%; 
     57  margin-left: -4px; 
     58  margin-top: -4px; 
     59  top: 0; 
     60} 
     61.jcrop-handle.ord-s { 
     62  bottom: 0; 
     63  left: 50%; 
     64  margin-bottom: -4px; 
     65  margin-left: -4px; 
     66} 
     67.jcrop-handle.ord-e { 
     68  margin-right: -4px; 
     69  margin-top: -4px; 
     70  right: 0; 
     71  top: 50%; 
     72} 
     73.jcrop-handle.ord-w { 
     74  left: 0; 
     75  margin-left: -4px; 
     76  margin-top: -4px; 
     77  top: 50%; 
     78} 
     79.jcrop-handle.ord-nw { 
     80  left: 0; 
     81  margin-left: -4px; 
     82  margin-top: -4px; 
     83  top: 0; 
     84} 
     85.jcrop-handle.ord-ne { 
     86  margin-right: -4px; 
     87  margin-top: -4px; 
     88  right: 0; 
     89  top: 0; 
     90} 
     91.jcrop-handle.ord-se { 
     92  bottom: 0; 
     93  margin-bottom: -4px; 
     94  margin-right: -4px; 
     95  right: 0; 
     96} 
     97.jcrop-handle.ord-sw { 
     98  bottom: 0; 
     99  left: 0; 
     100  margin-bottom: -4px; 
     101  margin-left: -4px; 
     102} 
     103/* Dragbars */ 
     104.jcrop-dragbar.ord-n, 
     105.jcrop-dragbar.ord-s { 
     106  height: 7px; 
     107  width: 100%; 
     108} 
     109.jcrop-dragbar.ord-e, 
     110.jcrop-dragbar.ord-w { 
     111  height: 100%; 
     112  width: 7px; 
     113} 
     114.jcrop-dragbar.ord-n { 
     115  margin-top: -4px; 
     116} 
     117.jcrop-dragbar.ord-s { 
     118  bottom: 0; 
     119  margin-bottom: -4px; 
     120} 
     121.jcrop-dragbar.ord-e { 
     122  margin-right: -4px; 
     123  right: 0; 
     124} 
     125.jcrop-dragbar.ord-w { 
     126  margin-left: -4px; 
     127} 
    53128/* The "jcrop-light" class/extension */ 
    54 .jcrop-light .jcrop-vline,.jcrop-light .jcrop-hline 
    55 { 
    56         background:#FFF; 
    57         filter:Alpha(opacity=70)!important; 
    58         opacity:.70!important; 
     129.jcrop-light .jcrop-vline, 
     130.jcrop-light .jcrop-hline { 
     131  background: #ffffff; 
     132  filter: alpha(opacity=70) !important; 
     133  opacity: .70!important; 
    59134} 
    60 .jcrop-light .jcrop-handle 
    61 { 
    62         -moz-border-radius:3px; 
    63         -webkit-border-radius:3px; 
    64         background-color:#000; 
    65         border-color:#FFF; 
    66         border-radius:3px; 
     135.jcrop-light .jcrop-handle { 
     136  -moz-border-radius: 3px; 
     137  -webkit-border-radius: 3px; 
     138  background-color: #000000; 
     139  border-color: #ffffff; 
     140  border-radius: 3px; 
    67141} 
    68  
    69142/* The "jcrop-dark" class/extension */ 
    70 .jcrop-dark .jcrop-vline,.jcrop-dark .jcrop-hline 
    71 { 
    72         background:#000; 
    73         filter:Alpha(opacity=70)!important; 
    74         opacity:.7!important; 
     143.jcrop-dark .jcrop-vline, 
     144.jcrop-dark .jcrop-hline { 
     145  background: #000000; 
     146  filter: alpha(opacity=70) !important; 
     147  opacity: 0.7 !important; 
    75148} 
    76 .jcrop-dark .jcrop-handle 
    77 { 
    78         -moz-border-radius:3px; 
    79         -webkit-border-radius:3px; 
    80         background-color:#FFF; 
    81         border-color:#000; 
    82         border-radius:3px; 
     149.jcrop-dark .jcrop-handle { 
     150  -moz-border-radius: 3px; 
     151  -webkit-border-radius: 3px; 
     152  background-color: #ffffff; 
     153  border-color: #000000; 
     154  border-radius: 3px; 
    83155} 
    84  
     156/* Simple macro to turn off the antlines */ 
     157.solid-line .jcrop-vline, 
     158.solid-line .jcrop-hline { 
     159  background: #ffffff; 
     160} 
    85161/* Fix for twitter bootstrap et al. */ 
    86 .jcrop-holder img,img.jcrop-preview{ max-width: none; } 
     162.jcrop-holder img, 
     163img.jcrop-preview { 
     164  max-width: none; 
     165} 
  • trunk/themes/default/js/plugins/jquery.Jcrop.js

    r19682 r20820  
    11/** 
    2  * jquery.Jcrop.js v0.9.10 
     2 * jquery.Jcrop.js v0.9.12 
    33 * jQuery Image Cropping Plugin - released under MIT License  
    44 * Author: Kelly Hallman <khallman@gmail.com> 
    55 * http://github.com/tapmodo/Jcrop 
    6  * Copyright (c) 2008-2012 Tapmodo Interactive LLC {{{ 
     6 * Copyright (c) 2008-2013 Tapmodo Interactive LLC {{{ 
    77 * 
    88 * Permission is hereby granted, free of charge, to any person 
     
    3434  $.Jcrop = function (obj, opt) { 
    3535    var options = $.extend({}, $.Jcrop.defaults), 
    36         docOffset, lastcurs, ie6mode = false; 
     36        docOffset, 
     37        _ua = navigator.userAgent.toLowerCase(), 
     38        is_msie = /msie/.test(_ua), 
     39        ie6mode = /msie [1-6]\./.test(_ua); 
    3740 
    3841    // Internal Methods {{{ 
    3942    function px(n) { 
    40       return n + 'px'; 
     43      return Math.round(n) + 'px'; 
    4144    } 
    4245    function cssClass(cl) { 
     
    6770    } 
    6871    //}}} 
    69     function startDragMode(mode, pos) //{{{ 
     72    function startDragMode(mode, pos, touch) //{{{ 
    7073    { 
    7174      docOffset = getPos($img); 
     
    7376 
    7477      if (mode === 'move') { 
    75         return Tracker.activateHandlers(createMover(pos), doneSelect); 
     78        return Tracker.activateHandlers(createMover(pos), doneSelect, touch); 
    7679      } 
    7780 
     
    8386      Coords.setCurrent(opc); 
    8487 
    85       Tracker.activateHandlers(dragmodeHandler(mode, fc), doneSelect); 
     88      Tracker.activateHandlers(dragmodeHandler(mode, fc), doneSelect, touch); 
    8689    } 
    8790    //}}} 
     
    238241      Coords.setPressed(pos); 
    239242      Selection.update(); 
    240       Tracker.activateHandlers(selectDrag, doneSelect); 
     243      Tracker.activateHandlers(selectDrag, doneSelect, e.type.substring(0,5)==='touch'); 
    241244      KeyManager.watchKeys(); 
    242245 
     
    255258    { 
    256259      var trk = $('<div></div>').addClass(cssClass('tracker')); 
    257       if ($.browser.msie) { 
     260      if (is_msie) { 
    258261        trk.css({ 
    259262          opacity: 0, 
     
    268271    // Initialization {{{ 
    269272    // Sanitize some options {{{ 
    270     if ($.browser.msie && ($.browser.version.split('.')[0] === '6')) { 
    271       ie6mode = true; 
    272     } 
    273273    if (typeof(obj) !== 'object') { 
    274274      obj = $(obj)[0]; 
     
    399399      // from code by Jeffrey Sambells - http://github.com/iamamused/ 
    400400      function hasTouchSupport() { 
    401         var support = {}, 
    402             events = ['touchstart', 'touchmove', 'touchend'], 
     401        var support = {}, events = ['touchstart', 'touchmove', 'touchend'], 
    403402            el = document.createElement('div'), i; 
    404403 
     
    428427        createDragger: function (ord) { 
    429428          return function (e) { 
    430             e.pageX = e.originalEvent.changedTouches[0].pageX; 
    431             e.pageY = e.originalEvent.changedTouches[0].pageY; 
    432429            if (options.disabled) { 
    433430              return false; 
     
    436433              return false; 
    437434            } 
     435            docOffset = getPos($img); 
    438436            btndown = true; 
    439             startDragMode(ord, mouseAbs(e)); 
     437            startDragMode(ord, mouseAbs(Touch.cfilter(e)), true); 
    440438            e.stopPropagation(); 
    441439            e.preventDefault(); 
     
    444442        }, 
    445443        newSelection: function (e) { 
     444          return newSelection(Touch.cfilter(e)); 
     445        }, 
     446        cfilter: function (e){ 
    446447          e.pageX = e.originalEvent.changedTouches[0].pageX; 
    447448          e.pageY = e.originalEvent.changedTouches[0].pageY; 
    448           return newSelection(e); 
     449          return e; 
    449450        }, 
    450451        isSupported: hasTouchSupport, 
     
    623624      function rebound(p) //{{{ 
    624625      { 
    625         if (p[0] < 0) { 
    626           p[0] = 0; 
    627         } 
    628         if (p[1] < 0) { 
    629           p[1] = 0; 
    630         } 
    631  
    632         if (p[0] > boundx) { 
    633           p[0] = boundx; 
    634         } 
    635         if (p[1] > boundy) { 
    636           p[1] = boundy; 
    637         } 
    638  
    639         return [p[0], p[1]]; 
     626        if (p[0] < 0) p[0] = 0; 
     627        if (p[1] < 0) p[1] = 0; 
     628 
     629        if (p[0] > boundx) p[0] = boundx; 
     630        if (p[1] > boundy) p[1] = boundy; 
     631 
     632        return [Math.round(p[0]), Math.round(p[1])]; 
    640633      } 
    641634      //}}} 
     
    897890      function insertHandle(ord) //{{{ 
    898891      { 
    899         var hs = options.handleSize; 
    900         return dragDiv(ord, hdep++).css({ 
    901           opacity: options.handleOpacity 
    902         }).width(hs).height(hs).addClass(cssClass('handle')); 
     892        var hs = options.handleSize, 
     893 
     894          div = dragDiv(ord, hdep++).css({ 
     895            opacity: options.handleOpacity 
     896          }).addClass(cssClass('handle')); 
     897 
     898        if (hs) { div.width(hs).height(hs); } 
     899 
     900        return div; 
    903901      } 
    904902      //}}} 
     
    954952      function resize(w, h) //{{{ 
    955953      { 
    956         $sel.width(w).height(h); 
     954        $sel.width(Math.round(w)).height(Math.round(h)); 
    957955      } 
    958956      //}}} 
     
    10541052      function animMode(v) //{{{ 
    10551053      { 
    1056         if (animating === v) { 
     1054        if (v) { 
     1055          animating = true; 
    10571056          disableHandles(); 
    10581057        } else { 
     1058          animating = false; 
    10591059          enableHandles(); 
    10601060        } 
     
    11291129          trackDoc = options.trackDocument; 
    11301130 
    1131       function toFront() //{{{ 
     1131      function toFront(touch) //{{{ 
    11321132      { 
    11331133        $trk.css({ 
    11341134          zIndex: 450 
    11351135        }); 
    1136         if (Touch.support) { 
     1136 
     1137        if (touch) 
    11371138          $(document) 
    11381139            .bind('touchmove.jcrop', trackTouchMove) 
    11391140            .bind('touchend.jcrop', trackTouchEnd); 
    1140         } 
    1141         if (trackDoc) { 
     1141 
     1142        else if (trackDoc) 
    11421143          $(document) 
    11431144            .bind('mousemove.jcrop',trackMove) 
    11441145            .bind('mouseup.jcrop',trackUp); 
    1145         } 
    11461146      }  
    11471147      //}}} 
     
    11821182      } 
    11831183      //}}} 
    1184       function activateHandlers(move, done) //{{{ 
     1184      function activateHandlers(move, done, touch) //{{{ 
    11851185      { 
    11861186        btndown = true; 
    11871187        onMove = move; 
    11881188        onDone = done; 
    1189         toFront(); 
     1189        toFront(touch); 
    11901190        return false; 
    11911191      } 
     
    11931193      function trackTouchMove(e) //{{{ 
    11941194      { 
    1195         e.pageX = e.originalEvent.changedTouches[0].pageX; 
    1196         e.pageY = e.originalEvent.changedTouches[0].pageY; 
    1197         return trackMove(e); 
     1195        onMove(mouseAbs(Touch.cfilter(e))); 
     1196        return false; 
    11981197      } 
    11991198      //}}} 
    12001199      function trackTouchEnd(e) //{{{ 
    12011200      { 
    1202         e.pageX = e.originalEvent.changedTouches[0].pageX; 
    1203         e.pageY = e.originalEvent.changedTouches[0].pageY; 
    1204         return trackUp(e); 
     1201        return trackUp(Touch.cfilter(e)); 
    12051202      } 
    12061203      //}}} 
     
    12281225        left: '-120px', 
    12291226        width: '12px' 
    1230       }), 
    1231           $keywrap = $('<div />').css({ 
     1227      }).addClass('jcrop-keymgr'), 
     1228 
     1229        $keywrap = $('<div />').css({ 
    12321230          position: 'absolute', 
    12331231          overflow: 'hidden' 
     
    13381336          velocity = options.swingSpeed; 
    13391337 
    1340       x = animat[0]; 
    1341       y = animat[1]; 
     1338      x1 = animat[0]; 
     1339      y1 = animat[1]; 
    13421340      x2 = animat[2]; 
    13431341      y2 = animat[3]; 
     
    13531351          pcent += (100 - pcent) / velocity; 
    13541352 
    1355           animat[0] = x + ((pcent / 100) * ix1); 
    1356           animat[1] = y + ((pcent / 100) * iy1); 
    1357           animat[2] = x2 + ((pcent / 100) * ix2); 
    1358           animat[3] = y2 + ((pcent / 100) * iy2); 
     1353          animat[0] = Math.round(x1 + ((pcent / 100) * ix1)); 
     1354          animat[1] = Math.round(y1 + ((pcent / 100) * iy1)); 
     1355          animat[2] = Math.round(x2 + ((pcent / 100) * ix2)); 
     1356          animat[3] = Math.round(y2 + ((pcent / 100) * iy2)); 
    13591357 
    13601358          if (pcent >= 99.8) { 
     
    13661364          } else { 
    13671365            Selection.done(); 
     1366            Selection.animMode(false); 
    13681367            if (typeof(callback) === 'function') { 
    13691368              callback.call(api); 
     
    14291428      $div.remove(); 
    14301429      $origimg.show(); 
     1430      $origimg.css('visibility','visible'); 
    14311431      $(obj).removeData('Jcrop'); 
    14321432    } 
     
    15771577    }; 
    15781578 
    1579     if ($.browser.msie) 
    1580       $div.bind('selectstart', function () { return false; }); 
     1579    if (is_msie) $div.bind('selectstart', function () { return false; }); 
    15811580 
    15821581    $origimg.data('Jcrop', api); 
     
    16601659    borderOpacity: 0.4, 
    16611660    handleOpacity: 0.5, 
    1662     handleSize: 7, 
     1661    handleSize: null, 
    16631662 
    16641663    aspectRatio: 0, 
  • trunk/themes/default/js/plugins/jquery.Jcrop.min.js

    r19682 r20820  
    11/** 
    2  * jquery.Jcrop.min.js v0.9.10 (build:20120429) 
     2 * jquery.Jcrop.min.js v0.9.12 (build:20130202) 
    33 * jQuery Image Cropping Plugin - released under MIT License 
    4  * Copyright (c) 2008-2012 Tapmodo Interactive LLC 
     4 * Copyright (c) 2008-2013 Tapmodo Interactive LLC 
    55 * https://github.com/tapmodo/Jcrop 
    66 */ 
    7 (function(a){a.Jcrop=function(b,c){function h(a){return a+"px"}function i(a){return d.baseClass+"-"+a}function j(){return a.fx.step.hasOwnProperty("backgroundColor")}function k(b){var c=a(b).offset();return[c.left,c.top]}function l(a){return[a.pageX-e[0],a.pageY-e[1]]}function m(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function n(a,b){e=k(E),bd.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bd.activateHandlers(p(b),u);var c=ba.getFixed(),d=q(a),f=ba.getCorner(q(d));ba.setPressed(ba.getCorner(d)),ba.setCurrent(f),bd.activateHandlers(o(a,c),u)}function o(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}ba.setCurrent(c),bc.update()}}function p(a){var b=a;return be.watchKeys(),function( 
    8 a){ba.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bc.update()}}function q(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function r(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=k(E),X=!0,n(a,l(b)),b.stopPropagation(),b.preventDefault(),!1)}}function s(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),U=a.width()/d,V=a.height()/e,a.width(d).height(e)}function t(a){return{x:a.x*U,y:a.y*V,x2:a.x2*U,y2:a.y2*V,w:a.w*U,h:a.h*V}}function u(a){var b=ba.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bc.enableHandles(),bc.done()):bc.release(),bd.setCursor(d.allowSelect?"crosshair":"default")}function v(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;X=!0,e=k(E),bc.disableHandles(),bd.setCursor("crosshair");var b=l(a);return ba.setPressed(b),bc.update(),bd.activateHandlers(w,u),be.watchKeys(),a.stopPropagation 
    9 (),a.preventDefault(),!1}function w(a){ba.setCurrent(a),bc.update()}function z(){var b=a("<div></div>").addClass(i("tracker"));return a.browser.msie&&b.css({opacity:0,backgroundColor:"white"}),b}function bf(a){H.removeClass().addClass(i("holder")).addClass(a)}function bg(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/U,e=a[1]/V,f=a[2]/U,g=a[3]/V;if(Y)return;var h=ba.flipCoords(c,e,f,g),i=ba.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;x=k[0],y=k[1],f=k[2],g=k[3],bc.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=x+q/100*m,k[1]=y+q/100*n,k[2]=f+q/100*o,k[3]=g+q/100*p,q>=99.8&&(q=100),q<100?(bi(k),t()):(bc.done(),typeof b=="function"&&b.call(bt))}}();t()}function bh(a){bi([a[0]/U,a[1]/V,a[2]/U,a[3]/V]),d.onSelect.call(bt,t(ba.getFixed())),bc.enableHandles()}function bi(a){ba.setPressed([a[0],a[1]]),ba.setCurrent([a[2],a[3]]),bc.update()}function bj(){return t(ba.getFixed())}function bk(){return ba.getFixed()}function bl 
    10 (a){m(a),bs()}function bm(){d.disabled=!0,bc.disableHandles(),bc.setCursor("default"),bd.setCursor("default")}function bn(){d.disabled=!1,bs()}function bo(){bc.done(),bd.activateHandlers(null,null)}function bp(){H.remove(),B.show(),a(b).removeData("Jcrop")}function bq(a,b){bc.release(),bm();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;E.width(e).height(f),E.attr("src",a),I.attr("src",a),s(E,g,h),F=E.width(),G=E.height(),I.width(F).height(G),N.width(F+M*2).height(G+M*2),H.width(F).height(G),bb.resize(F,G),bn(),typeof b=="function"&&b.call(bt)},c.src=a}function br(a,b,c){var e=b||d.bgColor;d.bgFade&&j()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function bs(a){d.allowResize?a?bc.enableOnly():bc.enableHandles():bc.disableHandles(),bd.setCursor(d.allowSelect?"crosshair":"default"),bc.setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(U=d.trueSize[0]/F,V=d.trueSize[1]/G),d.hasOwnProperty("setSelect" 
    11 )&&(bh(d.setSelect),bc.done(),delete d.setSelect),bb.refresh(),d.bgColor!=O&&(br(d.shade?bb.getShades():H,d.shade?d.shadeColor||d.bgColor:d.bgColor),O=d.bgColor),P!=d.bgOpacity&&(P=d.bgOpacity,d.shade?bb.refresh():bc.setBgOpacity(P)),Q=d.maxSize[0]||0,R=d.maxSize[1]||0,S=d.minSize[0]||0,T=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(E.attr("src",d.outerImage),delete d.outerImage),bc.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f,g=!1;a.browser.msie&&a.browser.version.split(".")[0]==="6"&&(g=!0),typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),m(c);var A={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},B=a(b),C=!0;if(b.tagName=="IMG"){if(B[0].width!=0&&B[0].height!=0)B.width(B[0].width),B.height(B[0].height);else{var D=new Image;D.src=B[0].src,B.width(D.width),B.height(D.height)}var E=B.clone().removeAttr("id").css(A).show();E.width(B.width()),E.height(B.height()),B.after(E).hide()}else E=B.css(A).show(),C=!1,d.shade===null&&(d.shade=!0);s(E,d.boxWidth,d. 
    12 boxHeight);var F=E.width(),G=E.height(),H=a("<div />").width(F).height(G).addClass(i("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(B).append(E);d.addClass&&H.addClass(d.addClass);var I=a("<div />"),J=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),K=a("<div />").width("100%").height("100%").css("zIndex",320),L=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=ba.getFixed();d.onDblClick.call(bt,a)}).insertBefore(E).append(J,K);C&&(I=a("<img />").attr("src",E.attr("src")).css(A).width(F).height(G),J.append(I)),g&&L.css({overflowY:"hidden"});var M=d.boundary,N=z().width(F+M*2).height(G+M*2).css({position:"absolute",top:h(-M),left:h(-M),zIndex:290}).mousedown(v),O=d.bgColor,P=d.bgOpacity,Q,R,S,T,U,V,W=!0,X,Y,Z;e=k(E);var _=function(){function a(){var a={},b=["touchstart","touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;" 
    13 ),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,d.disabled?!1:a==="move"&&!d.allowMove?!1:(X=!0,n(a,l(b)),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,v(a)},isSupported:a,support:b()}}(),ba=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),G<e+g&&(g+=G-(e+g)),F<c+f&&(f+=F-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio 
    14 )return p();var f=d.aspectRatio,g=d.minSize[0]/U,h=d.maxSize[0]/U,i=d.maxSize[1]/V,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=F*10),i===0&&(i=G*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>F&&(r=F,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>G&&(s=G,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>F&&(a-=r-F,r=F),s<0?(b-=s,s=0):s>G&&(b-=s-G,s=G),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>F&&(a[0]=F),a[1]>G&&(a[1]=G),[a[0],a[1]]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return Q&&Math.abs(d)>Q&&(c=d>0?a+Q:a-Q),R&&Math.abs(f)>R&&(e=f>0?b+R:b-R),T/V&&Math.abs(f)<T/V&&(e=f>0?b+T/V:b-T/V),S/U&&Math.abs(d)<S/U&&(c=d>0?a+S/U:a-S/U),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&& 
    15 (a-=c,c-=c),e<0&&(b-=e,e-=e),c>F&&(g=c-F,a-=g,c-=g),e>G&&(g=e-G,b-=g,e-=g),a>F&&(g=a-G,e-=g,b-=g),b>G&&(g=b-G,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),bb=function(){function f(a,b){e.left.css({height:h(b)}),e.right.css({height:h(b)})}function g(){return i(ba.getFixed())}function i(a){e.top.css({left:h(a.x),width:h(a.w),height:h(a.y)}),e.bottom.css({top:h(a.y2),left:h(a.x),width:h(a.w),height:h(G-a.y2)}),e.right.css({left:h(a.x2),width:h(F-a.x2)}),e.left.css({width:h(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(E),g(),bc.setBgOpacity(1,0,1),I.hide(),l(d.shadeColor||d.bgColor,1),bc.isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){br(p(),a,b)}function m(){b&&(c.remove(),I.show(),b=!1,bc.isAwake()?bc.setBgOpacity(d.bgOpacity 
    16 ,1,1):(bc.setBgOpacity(1,1,1),bc.disableHandles()),br(H,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bc.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(G),right:j().height(G),bottom:j()};return{update:g,updateRaw:i,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bc=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(i(b));return J.append(c),c}function l(b,c){var d=a("<div />").mousedown(r(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return _.support&&d.bind("touchstart.jcrop",_.createDragger(b)),K.append(d),d}function m(a){var b=d.handleSize;return l(a,c++).css({opacity:d.handleOpacity}).width(b).height(b).addClass(i("handle"))}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o 
    17 (a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function s(a,b){d.shade||I.css({top:h(-b),left:h(-a)}),L.css({top:h(b),left:h(a)})}function u(a,b){L.width(a).height(b)}function v(){var a=ba.getFixed();ba.setPressed([a.x,a.y]),ba.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=ba.getFixed();u(c.w,c.h),s(c.x,c.y),d.shade&&bb.updateRaw(c),b||A(),a?d.onSelect.call(bt,t(c)):d.onChange.call(bt,t(c))}function y(a,c,e){if(!b&&!c)return;d.bgFade&&!e?E.animate({opacity:a},{queue:!1,duration:d.fadeTime}):E.css("opacity",a)}function A(){L.show(),d.shade?bb.opacity(P):y(P,!0),b=!0}function B(){F(),L.hide(),d.shade?bb.opacity(1):y(1),b=!1,d.onRelease.call(bt)}function C(){j&&K.show()}function D(){j=!0;if(d.allowResize)return K.show(),!0}function F(){j=!1,K.hide( 
    18 )}function G(a){Y===a?F():D()}function H(){G(!1),v()}var b,c=370,e={},f={},g={},j=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=z().mousedown(r("move")).css({cursor:"move",position:"absolute",zIndex:360});return _.support&&M.bind("touchstart.jcrop",_.createDragger("move")),J.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:D,enableOnly:function(){j=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:y,done:H}}(),bd=function(){function f(){N.css({zIndex:450}),_.support&&a(document).bind("touchmove.jcrop",k).bind("touchend.jcrop",m),e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){N.css({zIndex:290}),a(document).unbind(".jcrop")}function h 
    19 (a){return b(l(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),X&&(X=!1,c(l(a)),bc.isAwake()&&d.onSelect.call(bt,t(ba.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d){return X=!0,b=a,c=d,f(),!1}function k(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,h(a)}function m(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,i(a)}function n(a){N.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||N.mousemove(h).mouseup(i).mouseout(i),E.before(N),{activateHandlers:j,setCursor:n}}(),be=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function h(a,b,c){d.allowMove&&(ba.moveOffset([b,c]),bc.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Z=a.shiftKey?!0:!1;var b=Z?10:1;switch(a.keyCode){case 37:h(a,-b,0);break;case 39:h(a,b,0);break;case 38:h(a,0,-b);break;case 40 
    20 :h(a,0,b);break;case 27:d.allowSelect&&bc.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),g||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(E)):b.insertBefore(E)),{watchKeys:e}}();_.support&&N.bind("touchstart.jcrop",_.newSelection),K.hide(),bs(!0);var bt={setImage:bq,animateTo:bg,setSelect:bh,setOptions:bl,tellSelect:bj,tellScaled:bk,setClass:bf,disable:bm,enable:bn,cancel:bo,release:bc.release,destroy:bp,focus:be.watchKeys,getBounds:function(){return[F*U,G*V]},getWidgetSize:function(){return[F,G]},getScaleFactor:function(){return[U,V]},getOptions:function(){return d},ui:{holder:H,selection:L}};return a.browser.msie&&H.bind("selectstart",function(){return!1}),B.data("Jcrop",bt),bt},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if(b==="api")return a 
    21 (this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:7,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges:!0,fixedSupport:!0, 
    22 touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery); 
     7(function(a){a.Jcrop=function(b,c){function i(a){return Math.round(a)+"px"}function j(a){return d.baseClass+"-"+a}function k(){return a.fx.step.hasOwnProperty("backgroundColor")}function l(b){var c=a(b).offset();return[c.left,c.top]}function m(a){return[a.pageX-e[0],a.pageY-e[1]]}function n(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function o(a,b,c){e=l(D),bc.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bc.activateHandlers(q(b),v,c);var d=_.getFixed(),f=r(a),g=_.getCorner(r(f));_.setPressed(_.getCorner(f)),_.setCurrent(g),bc.activateHandlers(p(a,d),v,c)}function p(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}_.setCurrent(c),bb.update()}}function q(a){var b=a;return bd.watchKeys 
     8(),function(a){_.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bb.update()}}function r(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function s(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(b)),b.stopPropagation(),b.preventDefault(),!1)}}function t(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),T=a.width()/d,U=a.height()/e,a.width(d).height(e)}function u(a){return{x:a.x*T,y:a.y*U,x2:a.x2*T,y2:a.y2*U,w:a.w*T,h:a.h*U}}function v(a){var b=_.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bb.enableHandles(),bb.done()):bb.release(),bc.setCursor(d.allowSelect?"crosshair":"default")}function w(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;W=!0,e=l(D),bb.disableHandles(),bc.setCursor("crosshair");var b=m(a);return _.setPressed(b),bb.update(),bc.activateHandlers(x,v,a.type.substring 
     9(0,5)==="touch"),bd.watchKeys(),a.stopPropagation(),a.preventDefault(),!1}function x(a){_.setCurrent(a),bb.update()}function y(){var b=a("<div></div>").addClass(j("tracker"));return g&&b.css({opacity:0,backgroundColor:"white"}),b}function be(a){G.removeClass().addClass(j("holder")).addClass(a)}function bf(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/T,e=a[1]/U,f=a[2]/T,g=a[3]/U;if(X)return;var h=_.flipCoords(c,e,f,g),i=_.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;c=k[0],e=k[1],f=k[2],g=k[3],bb.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=Math.round(c+q/100*m),k[1]=Math.round(e+q/100*n),k[2]=Math.round(f+q/100*o),k[3]=Math.round(g+q/100*p),q>=99.8&&(q=100),q<100?(bh(k),t()):(bb.done(),bb.animMode(!1),typeof b=="function"&&b.call(bs))}}();t()}function bg(a){bh([a[0]/T,a[1]/U,a[2]/T,a[3]/U]),d.onSelect.call(bs,u(_.getFixed())),bb.enableHandles()}function bh(a){_.setPressed([a[0],a[1]]),_.setCurrent([a[2], 
     10a[3]]),bb.update()}function bi(){return u(_.getFixed())}function bj(){return _.getFixed()}function bk(a){n(a),br()}function bl(){d.disabled=!0,bb.disableHandles(),bb.setCursor("default"),bc.setCursor("default")}function bm(){d.disabled=!1,br()}function bn(){bb.done(),bc.activateHandlers(null,null)}function bo(){G.remove(),A.show(),A.css("visibility","visible"),a(b).removeData("Jcrop")}function bp(a,b){bb.release(),bl();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;D.width(e).height(f),D.attr("src",a),H.attr("src",a),t(D,g,h),E=D.width(),F=D.height(),H.width(E).height(F),M.width(E+L*2).height(F+L*2),G.width(E).height(F),ba.resize(E,F),bm(),typeof b=="function"&&b.call(bs)},c.src=a}function bq(a,b,c){var e=b||d.bgColor;d.bgFade&&k()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function br(a){d.allowResize?a?bb.enableOnly():bb.enableHandles():bb.disableHandles(),bc.setCursor(d.allowSelect?"crosshair":"default"),bb 
     11.setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(T=d.trueSize[0]/E,U=d.trueSize[1]/F),d.hasOwnProperty("setSelect")&&(bg(d.setSelect),bb.done(),delete d.setSelect),ba.refresh(),d.bgColor!=N&&(bq(d.shade?ba.getShades():G,d.shade?d.shadeColor||d.bgColor:d.bgColor),N=d.bgColor),O!=d.bgOpacity&&(O=d.bgOpacity,d.shade?ba.refresh():bb.setBgOpacity(O)),P=d.maxSize[0]||0,Q=d.maxSize[1]||0,R=d.minSize[0]||0,S=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(D.attr("src",d.outerImage),delete d.outerImage),bb.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f=navigator.userAgent.toLowerCase(),g=/msie/.test(f),h=/msie [1-6]\./.test(f);typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),n(c);var z={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},A=a(b),B=!0;if(b.tagName=="IMG"){if(A[0].width!=0&&A[0].height!=0)A.width(A[0].width),A.height(A[0].height);else{var C=new Image;C.src=A[0].src,A.width(C.width),A.height(C.height)}var D=A.clone().removeAttr("id"). 
     12css(z).show();D.width(A.width()),D.height(A.height()),A.after(D).hide()}else D=A.css(z).show(),B=!1,d.shade===null&&(d.shade=!0);t(D,d.boxWidth,d.boxHeight);var E=D.width(),F=D.height(),G=a("<div />").width(E).height(F).addClass(j("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(A).append(D);d.addClass&&G.addClass(d.addClass);var H=a("<div />"),I=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),J=a("<div />").width("100%").height("100%").css("zIndex",320),K=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=_.getFixed();d.onDblClick.call(bs,a)}).insertBefore(D).append(I,J);B&&(H=a("<img />").attr("src",D.attr("src")).css(z).width(E).height(F),I.append(H)),h&&K.css({overflowY:"hidden"});var L=d.boundary,M=y().width(E+L*2).height(F+L*2).css({position:"absolute",top:i(-L),left:i(-L),zIndex:290}).mousedown(w),N=d.bgColor,O=d.bgOpacity,P,Q,R,S,T,U,V=!0,W,X,Y;e=l(D);var Z=function(){function a(){var a={},b=["touchstart" 
     13,"touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;"),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(Z.cfilter(b)),!0),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return w(Z.cfilter(a))},cfilter:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,a},isSupported:a,support:b()}}(),_=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),F<e+g&&(g+=F-(e+g)),E<c+f&&(f+=E-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[ 
     14b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio)return p();var f=d.aspectRatio,g=d.minSize[0]/T,h=d.maxSize[0]/T,i=d.maxSize[1]/U,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=E*10),i===0&&(i=F*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>E&&(r=E,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>F&&(s=F,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>E&&(a-=r-E,r=E),s<0?(b-=s,s=0):s>F&&(b-=s-F,s=F),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>E&&(a[0]=E),a[1]>F&&(a[1]=F),[Math.round(a[0]),Math.round(a[1])]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return P&&Math.abs(d)>P&&(c=d>0?a+P:a-P),Q&&Math.abs 
     15(f)>Q&&(e=f>0?b+Q:b-Q),S/U&&Math.abs(f)<S/U&&(e=f>0?b+S/U:b-S/U),R/T&&Math.abs(d)<R/T&&(c=d>0?a+R/T:a-R/T),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&&(a-=c,c-=c),e<0&&(b-=e,e-=e),c>E&&(g=c-E,a-=g,c-=g),e>F&&(g=e-F,b-=g,e-=g),a>E&&(g=a-F,e-=g,b-=g),b>F&&(g=b-F,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),ba=function(){function f(a,b){e.left.css({height:i(b)}),e.right.css({height:i(b)})}function g(){return h(_.getFixed())}function h(a){e.top.css({left:i(a.x),width:i(a.w),height:i(a.y)}),e.bottom.css({top:i(a.y2),left:i(a.x),width:i(a.w),height:i(F-a.y2)}),e.right.css({left:i(a.x2),width:i(E-a.x2)}),e.left.css({width:i(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(D),g(),bb.setBgOpacity(1,0,1),H.hide(),l(d.shadeColor||d.bgColor,1),bb. 
     16isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){bq(p(),a,b)}function m(){b&&(c.remove(),H.show(),b=!1,bb.isAwake()?bb.setBgOpacity(d.bgOpacity,1,1):(bb.setBgOpacity(1,1,1),bb.disableHandles()),bq(G,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bb.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(F),right:j().height(F),bottom:j()};return{update:g,updateRaw:h,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bb=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(j(b));return I.append(c),c}function l(b,c){var d=a("<div />").mousedown(s(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return Z.support&&d.bind("touchstart.jcrop",Z.createDragger(b)),J.append(d),d}function m(a){var b=d.handleSize,e=l(a,c++ 
     17).css({opacity:d.handleOpacity}).addClass(j("handle"));return b&&e.width(b).height(b),e}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o(a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function r(a,b){d.shade||H.css({top:i(-b),left:i(-a)}),K.css({top:i(b),left:i(a)})}function t(a,b){K.width(Math.round(a)).height(Math.round(b))}function v(){var a=_.getFixed();_.setPressed([a.x,a.y]),_.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=_.getFixed();t(c.w,c.h),r(c.x,c.y),d.shade&&ba.updateRaw(c),b||A(),a?d.onSelect.call(bs,u(c)):d.onChange.call(bs,u(c))}function z(a,c,e){if(!b&&!c)return;d.bgFade&&!e?D.animate({opacity:a},{queue:!1,duration:d.fadeTime}):D.css("opacity",a)}function A(){K.show(),d.shade?ba.opacity(O):z(O,!0),b=!0}function B 
     18(){F(),K.hide(),d.shade?ba.opacity(1):z(1),b=!1,d.onRelease.call(bs)}function C(){h&&J.show()}function E(){h=!0;if(d.allowResize)return J.show(),!0}function F(){h=!1,J.hide()}function G(a){a?(X=!0,F()):(X=!1,E())}function L(){G(!1),v()}var b,c=370,e={},f={},g={},h=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=y().mousedown(s("move")).css({cursor:"move",position:"absolute",zIndex:360});return Z.support&&M.bind("touchstart.jcrop",Z.createDragger("move")),I.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:E,enableOnly:function(){h=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:z,done:L}}(),bc=function(){function f(b){M.css({zIndex:450}),b?a(document).bind("touchmove.jcrop" 
     19,k).bind("touchend.jcrop",l):e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){M.css({zIndex:290}),a(document).unbind(".jcrop")}function h(a){return b(m(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),W&&(W=!1,c(m(a)),bb.isAwake()&&d.onSelect.call(bs,u(_.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d,e){return W=!0,b=a,c=d,f(e),!1}function k(a){return b(m(Z.cfilter(a))),!1}function l(a){return i(Z.cfilter(a))}function n(a){M.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||M.mousemove(h).mouseup(i).mouseout(i),D.before(M),{activateHandlers:j,setCursor:n}}(),bd=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function g(a,b,c){d.allowMove&&(_.moveOffset([b,c]),bb.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Y=a.shiftKey?!0:!1;var b=Y?10:1;switch(a.keyCode){case 37:g(a,-b,0);break;case 39:g(a,b,0);break;case 38:g(a,0,-b);break; 
     20case 40:g(a,0,b);break;case 27:d.allowSelect&&bb.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),h||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(D)):b.insertBefore(D)),{watchKeys:e}}();Z.support&&M.bind("touchstart.jcrop",Z.newSelection),J.hide(),br(!0);var bs={setImage:bp,animateTo:bf,setSelect:bg,setOptions:bk,tellSelect:bi,tellScaled:bj,setClass:be,disable:bl,enable:bm,cancel:bn,release:bb.release,destroy:bo,focus:bd.watchKeys,getBounds:function(){return[E*T,F*U]},getWidgetSize:function(){return[E,F]},getScaleFactor:function(){return[T,U]},getOptions:function(){return d},ui:{holder:G,selection:K}};return g&&G.bind("selectstart",function(){return!1}),A.data("Jcrop",bs),bs},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if( 
     21b==="api")return a(this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges 
     22:!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery); 
Note: See TracChangeset for help on using the changeset viewer.