oubo 6 anni fa
parent
commit
6a07030f7b

+ 310 - 301
common/actions/soft/affair/AffairAddAction.php

@@ -6,304 +6,313 @@
 //  */
 
 ?>
-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
+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

+ 320 - 311
common/actions/soft/affair/AffairUpdateAction.php

@@ -6,314 +6,323 @@
 //  */
 
 ?>
-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
+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
+d65bsl9pI+tj0VDMHHQJNeRTXIAbD878j0==

+ 108 - 108
common/actions/v2/shop/ShopProductBatchShareAction.php

@@ -6,111 +6,111 @@
 //  */
 
 ?>
-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
+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

+ 663 - 666
common/utils/ImageTemplateUtils.php

@@ -6,669 +6,666 @@
 //  */
 
 ?>
-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
+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
+in5Ut562k4C1jKy1DMC=

+ 146 - 141
sapi/modules/v3/views/product-template/product_share.php

@@ -6,144 +6,149 @@
 //  */
 
 ?>
-HR+cP+6TR7PLKbLwEK7vLTVPuQnqKZKEjHUbhF9CtMH6Wu2c6987phPP+7n9cX+jFXmUTpLmvZxZ
-NxvAbxw9925kgg/x2nkgHvy8RDFxkb0e0T+D1GcJVGZbrgYI1xJFr59ZRK5ucP68tE1ij9ymzzXB
-iLFaT/Ge2Di0PiXdhLooC8p77oRNnE+KO7Y4NEGhmMgKtxAAYGAt2KqZGOLDM9b0YGK1hYvBgCq1
-JdF36RyMTzTbbMJCbPdGRk4mbThlg44GccaWBBFDWvUqjUZJYRbIRkLVHPTcr6DyglpQ0DvdWUYo
-86E1yaVMOP00Ww9R0uIg1R0w3bNlTmVzPX8csQMlxWditw9dNRbqvGJTLUyHgfg/7Kd4QHgIQSyS
-l+SIkKTPjqjz3No1vbr1fXYi3ny6TJvN2LQMmTmAUlNF5C+P4KYGj5b5e8OcVySpud+Gp5uWbcx/
-BPzUJvcz41+UldI26m7ydRtWHLLODEINydDtz+qGDLEb5903Aen+/qY3lGc8n7iQoDDY4lOgsn7f
-OHCkzu6D+EY8GzaaXvAxJLO5rszMxfeGt1m8grKBBOknA7/Ut8GpNIVPdg8Zuk1vq02A1jBQdB/H
-lWRt2fpakR3Qwe4t/oMnuhgJKinTuTl63NUcjShumtjWLZSc528ByEgSpgTIo2yJmlyJCRRe8nxw
-IKqRLXCBvetSwHkOHjPGmezqxIpeHqFhUgRpadoFIAVnkEnqYSGYZJQ1ceoxJziuo7fF4oLuYGPj
-Kab1OkrgWMPwV7/FTjxp63q0VoLnIyCkqduERmiwygrgpzNt5IvIgL5rhOyXIU5FgP07imnneUkX
-zanXaSsp87cC3WR4cCbfs+AV0Dv19caNMEnByJO8ej3OSdb6Iubg8hIzjJ7DLJccDFAPZu34YDTd
-ZmHHzUy38yvqmgYILjlRNPKSm7Cd76v4onNsBPYPm7C5VnDYQkFVssV/rg42q4HR3rc0SiBnj8wU
-0Wpw2UeWrK0rqfZB0T+W+dzy1wQXuIFCZqDLmtFpIy8u4hFDgcC0yCSjAvndd2y+QJ68pG+PPfkP
-05T6QpPs1PAmjioVul6f/yjPmck2OVvdr9+G4FeDwTqZD72LH2UC8TzJWBN8CMIRB7AIoNQhtQux
-hI6/ZmEqmFVG2d9x5o0t2nbEIkts3x2btP6T+fI5xn3vk69/pbOa6dk3fclW6xrNjZE6QCpPSEe8
-4vjky9hCxO+xgnvQbzIf2UZTW0DkHjAvcNq+Dy6WoTvL3bNYrMEBn0OMeGD30sLGjx1PEyNOUn9S
-eSSUqBp03rf+yspxH2RB/hPu++Z9j9EL4BZ0P6+tmjzMyA0q8iH3mW+NGQgRiL6u0md9luHT4DY1
-7nyn4lDeULihLffq3Lp9PZbkZOjixFWSp/kCBwxxz7pfICRgUyK5zTjCdx4TgeVOHAHnhrYAfwge
-HvBjIzZXX98oZlBdIz3rgu4rQGfuyMXyHhMBV5ygMgy1Rsoj2JbGv3/OhPwAAkRwtVT0OrivJQvE
-vJSNy9GpM9td8pf7KVTCU3106fZSz5RJoWIYouamKiH7p/pZOD8szs8GQuK3ML/ss/Y1/nOrFfvX
-ziuA8WkhXqezzdz2lbbpsVbmuPfV0xbK631mBsOuD/0a+xvaCg2TBENhnqnxK9Gpwvwg/xSoa/1t
-R5wOmFrCwhqnwpxLeE0mbSsG2uD8wULjeGOhl0kEhio4MiyxbinAFvGYgeWtfkZVKuabmsG7Ppcy
-Y2izMu3mCHHyvhnlcwyoJQjhXISjiHdQHpF/Byrx4dIDsRJigQxSKa0E20HHarcq5PsgVgFSjMYx
-3REy3S3D3I3xzgXRnq3MqjbndnjDU3dROoyhNlJysEg7eagpaaGa5xPQDHLb79F0mmvVUK81nis2
-O8NotlfDX19bI53J2DW6LfdG8D4BKi4fSGlmSrajfsxZ855fQ1ctSQeMNIlPJJz++NNuKkmEPwAI
-tt0VrfxN2HlF5LnZWuY04t6iku1RmrfJIInET7Y8+aaMLmfgAUIGYZY5ZDhS0W+w3er45AAbHgbc
-yn5myikgu28UDWON5iBGDyDzC3zlBSj1r9x+a3hH+Xwqrq1o23XXkDgAPw/wS/IuZ6LHiDHMNdpF
-FuxhyunR9Ih40BOqA5w0CMEzxb9LoyymeQcDc6vQZBVpuA80MHHdflwWTxgK7Eu/hgD6cnW5+hs8
-AometIgXDAxvGUxToe6rc4rYWzLCIIBCQ8kA41csQhYx7uBY/1ecMBYM7IugjKi+3Y6arpzx2FI+
-OOPgcVyab0FtoOqNeOFebNscim7241cFfin9QcuE1pIl3vwXR0JiDTnqpK6tIxlg1Zdj4+SYzjjS
-Kl+zfqTlRGfozu8IW5+DAh3Jw4usm29Igga01xU4YapovAKh4BABdGM9wTT7YcTLRhJNHqBmtk8g
-iJjRh0pmKKevPP9KgtHrgrFul2gYBd8nxnRj6lOCeXf647FC3F8Dm4InPr0FfMLsBF+CPMaqrR2J
-l5Kw72EcPT3GTeTmeRc4kEqmUw4sT8LDH28YiNPuTY12/NL9je/l+uZwg2p/H3ssBjkR9M7Odtuk
-uVQPJpqcPbTa28Pk9nIhlx3znN+5oL8wLkKdRHgdHWseGQh6y2iPKUiarvM56XZ7oHXCMetZ3M0/
-mnxu9R/a1xW3VstjjfVC4QVEwK0TrPY2nqEFErXuEFi2y4aGDZFuWSrKJnSx4kkieOi49rup9s6z
-vYlg8ceLSfL/fhTOxjenJQ2SNW5dYxIghc4j5wmKc8XROr1pu3GW0uzsp2k0J41Y7hAQGEago/QY
-XEWUPul/vZSOzlMP7HZ/7XTF08VKh4j6I8QYAFZTftr4k546inDq6BC4q5/9/vmsPfkKv+BVHLYg
-AgE/LAqK+CZNYZUQ13N74LZku9iMLM9nY5c5NKioQuX8cYw4wDYG8//o3BbCgfNiqqsxdozazQjE
-67xTvk+6SjKtPWJx6TN8+stU5PB5DDtQCYqcc/CSA0lOHT3tP0EJUbkvQvZUcFrDkmsO2pzRTKT8
-hd60lM3ynt5Lwb2SDyBzkqntmzm/+bM0bxVO7z1ca0OVNAXoMPpQw0woJJHwDprnNSeDbttSCfDM
-HIpKH1ndtpTlAJaOsHqXQLs5jkgffG7MmIhLgHm2ORgxzSp9gD5x6LTf7h/CZHkW2VJyN7IbuH26
-mtsOVwpHwyL0p8VjG3L6mO718H5GFHr9I4tg0Y2PU6tvOUxLW79eCJ4367UQxRIX4VrbiPlTpvFp
-yiV4+Dvj83WJE5mIWNsPZanHiL2yrm/Y/tidfhLIeKCvRyHGjjfKGbuhbRFCm3tP6PqoLBOb+vRw
-9UBb0xgHU04XmYtrJNi2fBxp1lsRsLAqquOhzlTWsLzem0hAskiaenJpP8XvVpHWTHJS3K2Zrt/A
-gcdCO3ZYPDm1t+jqee5JMYL7WruxPhWxlGaVzpB9AsJvmE2icry32s3wk00wL0oQSbzkw19tncjD
-oBzmJ70LZSzeuJcqGGlbcCkIHz4uglso9SnpzBGPtK5YuhleYGRXPU+nBjD/c5TreWsYgX6JX+T2
-GbJvcj7zfMoGX1HoTcwgwJY7m50JdwoaJPJNfZYpJKhxk4Hrjg+zgLDo/9sCjUObKUBHWKyCUtq2
-sIcRJfADETKh8N9EiATqZTacecRVCYJUaGXOFWVVK5LyuuJiIj3C+7YNhugKAqndvKwokX7rJIR6
-PYFrjuFJ5aLH1XlF8m85OPql/+wrMqVfZ2DgYbmPJkvgYKk8EnrNKDUhOi+WY5QAo/72KHxPfgzm
-DyDC98RHMxzrVg8NQSg5NwFgvLP7KWVUVXXg43wskM1Kp999RLFPvBYSEOIbC+iVrZISQU7pKOBN
-EUfIy9SgaHPqxCYsOrQi7LPuhwJoSSfMXDQrKDttJwPmyaP8yvZ/OaXbCHJUkIXQDOv2O6eDX7Ce
-s6aimtaa+V3xOu3Rxug21wWpiISMXAfno3d61VkqpwNJRrfh8qI0uuCCmKRO9nset1D5SkOaDmDV
-eHcIxfY6cGih+c3hPo9gdtyAIPVteJv3055uom83mirC1mYhP7BoHGt820+SroV/oWjjHsJZz0Qy
-EQK6HxL14Ny0QnBAnLlgtVojFlqLqBQ+mBWCcDUfNo+jwHf5I7/kINPAXkjGnDglxIW0THjROCtT
-IUh26m4LS5iBQONSWyJ1h1N9t63KMZaS7oRKbIYxRDQGuzAChUoix0N1ROYOQlaQ8g1/gZQm5WP+
-Wmisg1JsKrtNkHxdvHIOEB41BxnevxtbkOcCz7TgdRktdaxqUPe5CkRz9vtDV5eAPJ/Fmt3d9drh
-g+zZOCckPQ5ih98V0U8nznkVmnLl9JtZThvouldRHvI7j1IZm7O5ZO6TWVMzvFCL8U3VwFviZw+r
-4W5dGsTd2clBNQBMk6aBzB1mSMliy4MEEuOxYm3j1yJa0XoE8nTejeLek/cMdeCd2as0RI4699E6
-R3bHAP2rwsJob7j3Jg99l1kmF/QJ/Fd1Crkharp1SPJLrhr1OUqBQZum39z7PtZRkB8BG66v+r+0
-kd+7teWskAho5PexRP5iGvCUq/lnzHTDcb1KYCPVredPLdTi3/7zA4Z8WVvzH5HQBYHi3EeX1+cr
-C4IS1TF7M3S2kTMrCSeDmlai4j/ICtBxyHFSi3+UpXKhbLDVDF3KoOuiVNJrhSNd+unJdLGFA3Fn
-j0iqoJK01F14EWev0kiWqsfn3wlFtNoETWw9nHd8Q6Zv3N1PwXDrsBbsrSv9Xza97nK3FTt/gkAP
-3cWUfqRKryIkHNxNTgBx+NkBschf0DQ5UDQIRtaxv9uXzqhT326irQD8Rl4KJwfB2JfiSbWmTa+3
-CIEzsA0DyDVDuLOltV1oPtafmBpB+/tM01toVzZ0VOrM6L3bxQUsCKhmNWznLA8nDruhpkrKdptP
-UbkxM705EYkEUnuq5VTrz/hJdmVGsEOahJSeUwGZgcEKC0Lta1DCJ6POD4rEbOYoumZdxOg+2j1M
-jImndR+gSnDgnCal+I+tcpboBHZ3vPx9YVe4JUf7qySfy440tl1LzO+aGUgKQk5aClQTZFu6m4e9
-2FiNbBomBQrz/IDXRHf67AeAGEzuW/rP0/iCC2HBY15BjlWN1UgwtlwXUVYxCNzac5pdfP+JgWfQ
-rw09PPHqMWpCScvaMcWKnCYb97waXDamiIsheQkPFkfAsGC1o8QD4HPicagC/tcBXC4/imWSJylR
-b5D6PofNLkNoRvp3LFAmTr4YIVDcz9uQC5ILNlPBjBgVNccWXFBS9CvTxNFjniJECahCXkaieuGS
-mOASsjaOWPT50nuRsOl6UiErJ8gmR+t9lx/MQ031cXszD7dR5E189YpsdCHd1y3OlFPvNYziJSmR
-Lhbkws5DM3LUtBoz7Uex9eSpGZhyYPc/ERvzY/lA5J1v8JdZqI2YKX5i+oHDqsaj+lLIKfBffl8d
-NMepBF/7hIEHt5NmX/o/kQ6W1ChI7Vh0+DB1qN/F6OK493ZvQKcfc+PAYNIePtNkKepCMossNrPl
-XGIc6tAcIuNfY8keY99lPXtQa4+TcTXiVrHkMiIS973KhSrO+a7tSkEVDtve2J33CiOTlDafE4Og
-ar/AhiE5kEimj79MS/6pBKq1n+bx6QzVPrVN7UKHJY+I/P1wnHo+kXjgObfBpsmjHA8rkiwS+CQv
-3zlxoNOns3CmseSXyqPxeNCXpuWQ1HkDTcrbrotX7I7TWMGj2AMZvn9y3svVUKS8fDNShSaJFLmx
-2T6gIFsDRUhyqDukQGRG0/H8CYs4W4IXFryHmB8uJeKL/yjXqmCL6C/bEeh/egPPhw74gABaHGzA
-dAjIDPfI/9FD6PpzwxWFjwAO4SgLDDcqP/BmxeByWW4XGxZKdp0aKGk7ep5nxznkx5dU4T0Dt6q5
-8hPqWCshQeq8G2of96k1y6edG0YDm1+4Xo4KGxJTzhBRgdeZgMQ+cwnLAhMJYFk13BxxkVd2umCm
-kYxnh3eaaCo0CiX5m2D8T0RIJ3SGeRRZkp/+Q52DHhDFQ7Rg0Gh4u1tl18IgUss3PsCWOAtZQYAv
-e9c8lBCQ6JYa91hh5R2bUc2dnLGqfH7oH6QBuRR94IrQVoSWhFKbYN0znks4sI4/G//MM6uCiSoA
-5MuqXmmheqHUbzDDjOPTZmhffFaAdOrFUFxH5CNgOxGjDvBaGfhyHVvh5eOkgBN7XupWV3zqcChD
-0FUuOPus78wBErFYQOY4KNn0SKZHE3CL7xjd4X5EcglLTfKN1fhuC2OR+Je+3FfFHssJ8A33teq0
-Oo2Sd6EJ/KVHSTtUJWjyABEAejb0jWfP1f9Nl7EAq1PKOw1VzTXL9ugZSaC8QT+ZKQmZ8rZb7K6d
-boEjJzLwE1Mii03q+VMbEc21RREhEUZDSr5P/+ehblQl03bo4XO0cmHWVG+Q2J5KuyLRZD+1OPh4
-/YBtXaEvOg/sUy66E4o+ZyetceGJa+lJ/U0bpeVaQJv2PILnsZ6qBOVYu/VjAwCLNff+94W5+BqD
-qaK3jsS3v//EkndaB9nCI6ybs8QjxiLL0LLatiFngxLmdIZBQB52K+xKuB5M4j9YG1VCFwxidXMN
-Do06ymdeamf63YMOh4aUZw7L40qxudzvV2v+EuoubY53U3KghFxDwFHwNcEM9leTpB+OVcKCkizY
-DJLJztsDy4mwqsCTbNsZyR87g70bm2vXTbGzIC1QgxbbCgzzFfBSh+/RuX+S+KRZcvMJaKHl5CMm
-UekIOG3g7JxRBuoMUpkFla+JuXIALeXffM+bxBtWZAev9YmKm4KxjTr2H1FCnEy18SBRv0pF7RD2
-9YTeJQfm9frR0oeeGMgcNrG1EaZ/eosQQiYorgQ4RJ0gQR2Q3zgMTVw1uzdEcP2cxjrApj+dPtoK
-4XFGCrV0g0pQsXbyyMTf1m9gSdTim++LXy60RtbIb1MFEzzvaYPd4tUtmJSaqlqrfYK8RgE7w0gF
-fF43eUjdaHm9nuqG4imEGgoBmTPDBLenfpGWsJcTo6tA05F4OrjEqat81vkUlSEppJwB4qV9fZHD
-9xBNgBCN8m/cJxWoSIdCJO5TO7kD4Ht0xtikKujTHWBrsDyfTpLTCHtiAt70SB8l9hNy/TzL/lQl
-IGsGFjxUxYV7VZH2WOSwqPFwAOVKhV1xviqp3LvbkqHlQWoqo7yUZJ3XwEKDr27FCnnvMp3yG6ur
-kF52GoEGJ92FE631nx5/ZTFeRKM+aqv7uifzxSaAZYKRKA7xJ+r50yPM6kxDotollJRdUzzu4hAU
-6e7TTcIsEsU5WOOd+ZBj0gD/pZvhZJDR+2bpJGqkNHEaH+NnXQUIxPALO4sOtCP5ytSDm4tDUG2z
-kRfFzwWjGs8lIruV5noFfRNYofVjARJdRLaK2ZNwY9jQcQ78reUH1ykN7YYq8ZUBHCohThkxJ4II
-QyziEJuJj+RUNfflEYrN6SxQMYAP5g7Z39fATdrG2XPDo4u14fycIzOipyAx5uCNJIfzHB8tvWNM
-7WQxfJSF73+B0BK933ugKqudSuuB/Wi6TT5C5/tGxc4fbFDDe5/bOxcWDksJdHvtyTTh7Pw+tcsU
-PVSWDME7pqpP8Z7ZYFMxIVZTXB+mLIWuaHRnxaQQJ+pcr3+EkSWd1826qaKH+Q+RE8vmZLFmuCug
-/hsEpbiVAlf7wZCUdgFjSriATqr5y9MHok6vbeO6J1RvHGSNUbO2VSjqgU+SdK6fQHa4sx7ZZEHo
-SbkhJfVKTXV2DsCgmtOCoMaxz/E5K7ObR4ZTfYSujM4ZuRu9ecZMg3ViBxFJUqej20ez48aEuW4o
-pYJiObNoJYD1Owf0ON8vAYN/JxXrZlmRs3kKeQ38+9ywrjdnpyKw1b4VyaKkW3XDYqI5GYKBs0ED
-brt/abcpevIL3miqqQPnwvhegDYOuqp3TP4WUeqn+tvbIgVlr1FEVKuqyI43r6rh1RtjdhC4ZS2d
-oQ1u7fsJ/LvzmNlCv88/xrVhwDScDZ1c/xJCYrH3HbcCJpq2bdMQ6S81uOAW/oiE8t7CPrJuFsNs
-IuqL6pM11vsGdCBZHVLiypi5iS0XYuKBjiKIauuiHnfrglIV+4H9DKqOKFncm+bhlnok2bdT/Poe
-A1PJ+C8Lv4pgjXH3qwfWNl1MC28nr3UN/lTwJSoi9vMlGs9KROmjM0RRVZZ/O0f6vU1haUhFfq+Q
-iiXJ350A7PZytySqagp+WBE6gxbJH3EPqwxRg4VL4/4WXZwMlD/uhu2LG5VucS8x31IzPNFtMwj2
-1ERaCzKQS79MbIidqK6yv864xFzi9ms3ZK4KZslbSuE135AZJFkV5N5OVl4ImvrveIT5bJ2Nq1Jd
-8WfHSmXw4kfk4o3mHM/5aU3A5+4ZAPnbSzwDoLMMkV2jiQCEooaPevhhrPmFmg06gP5ktuo5jOoO
-KnPF8C/z46e2272rcJW793stNk65BsKgUmE2sV/tJfaW7tfebO2K1lvazHtOwVpduVKs69YksvFv
-T7lDrQ4OCM6uY/10S3XVew07L7FG5VcJ1g7sn/iUzPapeUzyATAyrFZlnH6Pazy/3Ih+Nrds95Mq
-383VESXe/xYJd9S/2JD3HF1yw3YPVAoCrfJr5JCwvcdjSGPlCLT/xQ1jjrySk7g/MWpJzdlzKP59
-GnDLihSm/tgjxWuPLbItqh1mkJQ4mB1LUHuea2ki9hqnx8PtK8uZs8Rqzj5MIRQ5XP+B72BGRL5u
-5b43HHgP7gyTkg+ZwoOpgzD9MteoTd8m+f7XQ8oREy2+z1FayIvFBFiJya1a1/mFbL0RAjwQPW/v
-uqtN77Tgvrtdlt+EfhLubBJSahMfpbmAMOSKuz6xbW1W1xW22sLsTCz9H0WV+KMKxDYpzd2kAyzl
-uUT0pTmoq42HmvNzXTajQ6ntQcifW+VzmeSZf6TD9xpGXKJF+gbDYhMkfE8oi8YdU2YPzphqxON3
-RbE/PnM6K9gtDp1lD4TRtjxon+tToiFpaBJd39/JxTlWZ1SqUaEtPfE5OHf804et4rVYRGdu3dEA
-een5Mbp3Hk0Ws5QP2g2ovHW3yKVR/+4o3qp+TfhF7ilY6U0lIR926z4UhBFKGeuq75ye31tTdLI9
-kBhsJ+1PDfYx81ZpfRLy8ivow2LriFLu+4359HHg7aY8NmV8PVosHVZvgBZ7SRzbLGiaPsf3mfID
-v99lViuR3g7aBX+fDDlXXBTmBrmIRYdu9hQktiTj4fAbWd4hAEhco2o1+fFwp78f3zijgS4M9Im8
-K8dmBYePQ18oDVyrD3CXlGl+cy/CbPrtm+KLsJGJ53ttOULXmgN7/KXNU2Ga47VLpNr828WrlTF4
-v/4mc4cVpNFOmAB++9vU4ofTJ2X8dRxNy1aai/ZSOe532Gy1DbHUWNVjr26iKdc82uI0ESerA8wd
-ePH6woZ4ZKl0lwxE3wZA6leYwzNhqXjYxjX8WBcgHxOCEveDjCzIs2ynzza5RdTnjJHhXIVMPD+i
-YRz0RF+IXwQ6qcKnYGCY9bjokQBgfQf/hxMCuDjoy7vBX06V64ePQnN/gKRYgKJj/6powe8Gekn9
-p+kSZVBvGJPRTdpGWdT2NauGQz7BmcB5XcGGtb+Dk2bLpRvV/A8Dl0o6KSBteTWg16i551f53Rk9
-+m1YxIjh++YsahkfHz8w19j3g1gKyuSZ6ibyJEOmQPG9BdhnsHoyPyvGpGTCXAs5Wgd9Zy7q6qHD
-dGmUdTnNm/iE4Hf+NqoaQV2QgNGZDQx7ieWInQrRQJaRaMqIVcbMzItfHVvZpmzOWYopyuHdDgBx
-Dqmh4X2v3ctO1fM3b/b0rFr9lenA3Hbdca2dAjPiK+J5vvk7TTb4UQlPhI9AYPITRN+izNpxjQu+
-ZMezDj++1TTK727i3VW93vRrNCxHYQuWaZglWRJLVgSuUSG6WcW6p62KR8bCPhiVkX46JolHpnZe
-M9tv8Wja6BkDFSLaxXVhT0h/9CTYkMQbSEkklyQCMdThnmRthKuGzcmwVhDr8stK9FEzES2QY8en
-0DYQSS9ewqVY8YiES+HJQawB6md/kYf2dyT5D0J+gMxJtl2aYdtr6bTJUPD97RGfoK1sR8BGT/Wl
-Fr6xTz6ySFx+LKrs+8sxN3XkXF4YrHsn68IZYQoNReMlquQnIvXv351nHlZqZWibsR3obLrPGT55
-UWrr84gPNU2DqXcwzU6pZJ4jabxEqdsD7yf6SEaTP0JNkWZQHapM9AJh2gbkBOxlFzokcXeWFPAX
-gWWcPDtZ2hreHi0DBgX772iJ5iieDe2OzW7rGHcRnJt3/1zTGPdDR0PKLxrN0/QwYzbNQV5F5Dkq
-iJK1w8HPK39OpHsezAs/8eHjWGj6uyA5uKhdBC9UAgAzrm+sDPVwKvVqKEJBAayg3DEjtGcpKbmW
-9VTDdB9XMB0Z2sfOWPQyLLdXyrB0+u1bPblf5QLCDzxgneuMrRbe9e1APlE9XswJCdEjf9XS3kRe
-C89HWLzVaFbxC6Iph90rmmvaFdbDPqoCMWNR/9f8c/nikLWZkyS8zY78HDgNEdHWHlULzYUnV5Bj
-B/8PJEpJJnKBUQWP4ARmEcV4j990exVL6GTDiGGp81bfUzNmZeNocXlOxXXXgyWQALCnq/E2Wvd1
-OezdUhIPW5E30si4FzBIZxRAgXfa
+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
+wEmt31TglTxl11eJTpkZ3g6zHqLsJG==

+ 170 - 89
sapi/web/croppic/css/viewer.css

@@ -8,99 +8,156 @@
  * Date: 2018-04-01T06:09:55.194Z
  */
 
-.viewer-zoom-in::before,
-.viewer-zoom-out::before,
-.viewer-one-to-one::before,
-.viewer-reset::before,
-.viewer-prev::before,
-.viewer-play::before,
-.viewer-next::before,
-.viewer-rotate-left::before,
-.viewer-rotate-right::before,
-.viewer-flip-horizontal::before,
-.viewer-flip-vertical::before,
-.viewer-fullscreen::before,
-.viewer-fullscreen-exit::before,
-.viewer-close::before {
-  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC');
-  background-repeat: no-repeat;
-  color: transparent;
-  display: block;
-  font-size: 0;
-  height: 20px;
-  line-height: 0;
-  width: 20px;
-}
-
-.viewer-zoom-in::before {
-  background-position: 0 0;
-  content: 'Zoom In';
-}
-
-.viewer-zoom-out::before {
-  background-position: -20px 0;
-  content: 'Zoom Out';
-}
-
-.viewer-one-to-one::before {
-  background-position: -40px 0;
-  content: 'One to One';
-}
-
-.viewer-reset::before {
-  background-position: -60px 0;
-  content: 'Reset';
-}
-
-.viewer-prev::before {
-  background-position: -80px 0;
-  content: 'Previous';
+/*.viewer-zoom-in::before,*/
+/*.viewer-zoom-out::before,*/
+/*.viewer-one-to-one::before,*/
+/*.viewer-reset::before,*/
+/*.viewer-prev::before,*/
+/*.viewer-play::before,*/
+/*.viewer-next::before,*/
+/*.viewer-rotate-left::before,*/
+/*.viewer-rotate-right::before,*/
+/*.viewer-flip-horizontal::before,*/
+/*.viewer-flip-vertical::before,*/
+/*.viewer-fullscreen::before,*/
+/*.viewer-fullscreen-exit::before,*/
+/*.viewer-close::before {*/
+/*background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC');*/
+/*background-repeat: no-repeat;*/
+/*color: transparent;*/
+/*display: block;*/
+/*font-size: 0;*/
+/*height: 20px;*/
+/*line-height: 0;*/
+/*width: 20px;*/
+/*}*/
+
+/*.viewer-zoom-in::before {*/
+/*background-position: 0 0;*/
+/*content: 'Zoom In';*/
+/*}*/
+
+/*.viewer-zoom-out::before {*/
+/*background-position: -20px 0;*/
+/*content: 'Zoom Out';*/
+/*}*/
+
+/*.viewer-one-to-one::before {*/
+/*background-position: -40px 0;*/
+/*content: 'One to One';*/
+/*}*/
+
+/*.viewer-reset::before {*/
+/*background-position: -60px 0;*/
+/*content: 'Reset';*/
+/*}*/
+
+/*.viewer-prev::before {*/
+/*background-position: -80px 0;*/
+/*content: 'Previous';*/
+/*}*/
+
+/*.viewer-play::before {*/
+/*background-position: -100px 0;*/
+/*content: 'Play';*/
+/*}*/
+
+/*.viewer-next::before {*/
+/*background-position: -120px 0;*/
+/*content: 'Next';*/
+/*}*/
+
+/*.viewer-rotate-left::before {*/
+/*background-position: -140px 0;*/
+/*content: 'Rotate Left';*/
+/*}*/
+
+/*.viewer-rotate-right::before {*/
+/*background-position: -160px 0;*/
+/*content: 'Rotate Right';*/
+/*}*/
+
+/*.viewer-flip-horizontal::before {*/
+/*background-position: -180px 0;*/
+/*content: 'Flip Horizontal';*/
+/*}*/
+
+/*.viewer-flip-vertical::before {*/
+/*background-position: -200px 0;*/
+/*content: 'Flip Vertical';*/
+/*}*/
+
+/*.viewer-fullscreen::before {*/
+/*background-position: -220px 0;*/
+/*content: 'Enter Full Screen';*/
+/*}*/
+
+/*.viewer-fullscreen-exit::before {*/
+/*background-position: -240px 0;*/
+/*content: 'Exit Full Screen';*/
+/*}*/
+
+/*.viewer-close::before {*/
+/*background-position: -260px 0;*/
+/*content: 'Close';*/
+/*}*/
+
+
+/*小鸣*/
+.docs-pictures{
+  display: flex;
+  justify-content: space-between;
+  flex-wrap: wrap;
+}
+
+.docs-galley .docs-pictures>li{
+  margin-bottom: 1%;
+}
+
+/*小鸣*/
+
+
+.viewer-close
+{
+  display: none;
 }
-
-.viewer-play::before {
-  background-position: -100px 0;
-  content: 'Play';
+.viewer-zoom-ins{
+  background:url("../image/icon1.png") -3px -35px;
+  background-size: cover;
 }
 
-.viewer-next::before {
-  background-position: -120px 0;
-  content: 'Next';
+.viewer-zoom-outs{
+  background: url("../image/icon1.png") -38px -35px;
+  background-size: cover;
 }
 
-.viewer-rotate-left::before {
-  background-position: -140px 0;
-  content: 'Rotate Left';
+.viewer-prevs{
+  background: url("../image/icon1.png") -72px -35px;
+  background-size: cover;
 }
 
-.viewer-rotate-right::before {
-  background-position: -160px 0;
-  content: 'Rotate Right';
+.viewer-plays{
+  background: url("../image/icon1.png") -98px -35px;
+  background-size: cover;
 }
 
-.viewer-flip-horizontal::before {
-  background-position: -180px 0;
-  content: 'Flip Horizontal';
+.viewer-nexts{
+  background: url("../image/icon1.png") -129px -35px;
+  background-size: cover;
 }
 
-.viewer-flip-vertical::before {
-  background-position: -200px 0;
-  content: 'Flip Vertical';
-}
 
-.viewer-fullscreen::before {
-  background-position: -220px 0;
-  content: 'Enter Full Screen';
+.viewer-enlarge{
+  /*background: url("../image/icon1.png") -163px -35px;*/
+  background: url("../image/icon1.png") -198px -35px;
+  background-size: cover;
 }
 
-.viewer-fullscreen-exit::before {
-  background-position: -240px 0;
-  content: 'Exit Full Screen';
+.viewer-one-to-ones{
+  background: url("../image/icon1.png") -232px -35px;
+  background-size: cover;
 }
 
-.viewer-close::before {
-  background-position: -260px 0;
-  content: 'Close';
-}
 
 .viewer-container {
   bottom: 0;
@@ -153,9 +210,16 @@
 
 .viewer-canvas > img {
   height: auto;
-  margin: 15px auto;
-  max-width: 90% !important;
+  margin: 0 ;
   width: auto;
+  padding: 0;
+
+
+  /*max-width: 90% !important;*/
+
+  /*width: 100% !important;*/
+
+  /*margin-left: 0!important;*/
 }
 
 .viewer-footer {
@@ -164,7 +228,8 @@
   overflow: hidden;
   position: absolute;
   right: 0;
-  text-align: center;
+  /*text-align: center;*/
+  text-align: right;
 }
 
 .viewer-navbar {
@@ -239,9 +304,13 @@
 
 .viewer-toolbar ul {
   display: inline-block;
-  margin: 0 auto 5px;
+  /*margin: 0 auto 5px;*/
   overflow: hidden;
-  padding: 3px 0;
+  /*padding: 3px 0;*/
+}
+
+#d1 ul li{
+  display: block;
 }
 
 .viewer-toolbar li {
@@ -249,11 +318,17 @@
   border-radius: 50%;
   cursor: pointer;
   float: left;
-  height: 24px;
   overflow: hidden;
   -webkit-transition: background-color .15s;
   transition: background-color .15s;
-  width: 24px;
+  /*width: 25px;*/
+  /*height: 24px;*/
+  width: 35px;
+  height: 35px;
+  /*background: red;*/
+  /*transform: scale(1.4);*/
+  /*background: red;*/
+  /*opacity: .2;*/
 }
 
 .viewer-toolbar li:hover {
@@ -308,11 +383,13 @@
 }
 
 .viewer-title {
-  color: #ccc;
+  /*color: #ccc;*/
+  color: #fff;
   display: inline-block;
-  font-size: 12px;
-  line-height: 1;
-  margin: 0 5% 5px;
+  font-size: 15px;
+  /*line-height: 1;*/
+  margin: 0 5px 5px;
+  /*margin: 3px 5px;*/
   max-width: 90%;
   opacity: .8;
   overflow: hidden;
@@ -320,6 +397,8 @@
   -webkit-transition: opacity .15s;
   transition: opacity .15s;
   white-space: nowrap;
+  line-height: 30px;
+  float: left;
 }
 
 .viewer-title:hover {
@@ -368,7 +447,8 @@
 }
 
 .viewer-backdrop {
-  background-color: rgba(0, 0, 0, .5);
+  /*background-color: rgba(0, 0, 0, .5);*/
+  background-color: rgba(0, 0, 0, 1);
 }
 
 .viewer-invisible {
@@ -387,6 +467,7 @@
 
 .viewer-in {
   opacity: 1;
+  /*opacity: 0.7;*/
 }
 
 .viewer-transition {

BIN
sapi/web/croppic/image/icon1.png


+ 2602 - 2537
sapi/web/croppic/js/viewer.js

@@ -9,3024 +9,3089 @@
  */
 
 (function (global, factory) {
-  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-  typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-  (factory(global.jQuery));
+    typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
+        typeof define === 'function' && define.amd ? define(['jquery'], factory) :
+            (factory(global.jQuery));
 }(this, (function ($) { 'use strict';
 
-  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+    $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
 
-  var DEFAULTS = {
-    // Enable inline mode
-    inline: false,
+    var DEFAULTS = {
+        // Enable inline mode
+        inline: false,
 
-    // Show the button on the top-right of the viewer
-    button: true,
+        // Show the button on the top-right of the viewer
+        button: true,
 
-    // Show the navbar
-    navbar: true,
+        // Show the navbar
+        navbar: true,
 
-    // Show the title
-    title: true,
+        // Show the title
+        title: true,
 
-    // Show the toolbar
-    toolbar: true,
+        // Show the toolbar
+        toolbar: true,
 
-    // Show the tooltip with image ratio (percentage) when zoom in or zoom out
-    tooltip: true,
+        // Show the tooltip with image ratio (percentage) when zoom in or zoom out
+        tooltip: true,
 
-    // Enable to move the image
-    movable: true,
+        // Enable to move the image
+        movable: true,
 
-    // Enable to zoom the image
-    zoomable: true,
+        // Enable to zoom the image
+        zoomable: true,
 
-    // Enable to rotate the image
-    rotatable: true,
+        // Enable to rotate the image
+        rotatable: true,
 
-    // Enable to scale the image
-    scalable: true,
+        // Enable to scale the image
+        scalable: true,
 
-    // Enable CSS3 Transition for some special elements
-    transition: true,
+        // Enable CSS3 Transition for some special elements
+        transition: true,
 
-    // Enable to request fullscreen when play
-    fullscreen: true,
-
-    // The amount of time to delay between automatically cycling an image when playing.
-    interval: 5000,
-
-    // Enable keyboard support
-    keyboard: true,
-
-    // Enable a modal backdrop, specify `static` for a backdrop which doesn't close the modal on click
-    backdrop: true,
-
-    // Indicate if show a loading spinner when load image or not.
-    loading: true,
-
-    // Indicate if enable loop viewing or not.
-    loop: true,
-
-    // Min width of the viewer in inline mode
-    minWidth: 200,
-
-    // Min height of the viewer in inline mode
-    minHeight: 100,
-
-    // Define the ratio when zoom the image by wheeling mouse
-    zoomRatio: 0.1,
-
-    // Define the min ratio of the image when zoom out
-    minZoomRatio: 0.01,
-
-    // Define the max ratio of the image when zoom in
-    maxZoomRatio: 100,
-
-    // Define the CSS `z-index` value of viewer in modal mode.
-    zIndex: 2015,
-
-    // Define the CSS `z-index` value of viewer in inline mode.
-    zIndexInline: 0,
-
-    // Define where to get the original image URL for viewing
-    // Type: String (an image attribute) or Function (should return an image URL)
-    url: 'src',
-
-    // Define where to put the viewer in modal mode.
-    // Type: String | Element
-    container: 'body',
-
-    // Filter the images for viewing.
-    // Type: Function (return true if the image is viewable)
-    filter: null,
-
-    // Event shortcuts
-    ready: null,
-    show: null,
-    shown: null,
-    hide: null,
-    hidden: null,
-    view: null,
-    viewed: null
-  };
-
-  var TEMPLATE = '<div class="viewer-container" touch-action="none">' + '<div class="viewer-canvas"></div>' + '<div class="viewer-footer">' + '<div class="viewer-title"></div>' + '<div class="viewer-toolbar"></div>' + '<div class="viewer-navbar">' + '<ul class="viewer-list"></ul>' + '</div>' + '</div>' + '<div class="viewer-tooltip"></div>' + '<div role="button" class="viewer-button" data-action="mix"></div>' + '<div class="viewer-player"></div>' + '</div>';
-
-  var IN_BROWSER = typeof window !== 'undefined';
-  var WINDOW = IN_BROWSER ? window : {};
-  var NAMESPACE = 'viewer';
-
-  // Actions
-  var ACTION_MOVE = 'move';
-  var ACTION_SWITCH = 'switch';
-  var ACTION_ZOOM = 'zoom';
-
-  // Classes
-  var CLASS_ACTIVE = NAMESPACE + '-active';
-  var CLASS_CLOSE = NAMESPACE + '-close';
-  var CLASS_FADE = NAMESPACE + '-fade';
-  var CLASS_FIXED = NAMESPACE + '-fixed';
-  var CLASS_FULLSCREEN = NAMESPACE + '-fullscreen';
-  var CLASS_FULLSCREEN_EXIT = NAMESPACE + '-fullscreen-exit';
-  var CLASS_HIDE = NAMESPACE + '-hide';
-  var CLASS_HIDE_MD_DOWN = NAMESPACE + '-hide-md-down';
-  var CLASS_HIDE_SM_DOWN = NAMESPACE + '-hide-sm-down';
-  var CLASS_HIDE_XS_DOWN = NAMESPACE + '-hide-xs-down';
-  var CLASS_IN = NAMESPACE + '-in';
-  var CLASS_INVISIBLE = NAMESPACE + '-invisible';
-  var CLASS_LOADING = NAMESPACE + '-loading';
-  var CLASS_MOVE = NAMESPACE + '-move';
-  var CLASS_OPEN = NAMESPACE + '-open';
-  var CLASS_SHOW = NAMESPACE + '-show';
-  var CLASS_TRANSITION = NAMESPACE + '-transition';
-
-  // Events
-  var EVENT_READY = 'ready';
-  var EVENT_SHOW = 'show';
-  var EVENT_SHOWN = 'shown';
-  var EVENT_HIDE = 'hide';
-  var EVENT_HIDDEN = 'hidden';
-  var EVENT_VIEW = 'view';
-  var EVENT_VIEWED = 'viewed';
-  var EVENT_CLICK = 'click';
-  var EVENT_DRAG_START = 'dragstart';
-  var EVENT_KEY_DOWN = 'keydown';
-  var EVENT_LOAD = 'load';
-  var EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';
-  var EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';
-  var EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';
-  var EVENT_RESIZE = 'resize';
-  var EVENT_TRANSITION_END = 'transitionend';
-  var EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';
-
-  var BUTTONS = ['zoom-in', 'zoom-out', 'one-to-one', 'reset', 'prev', 'play', 'next', 'rotate-left', 'rotate-right', 'flip-horizontal', 'flip-vertical'];
-
-  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
-    return typeof obj;
-  } : function (obj) {
-    return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-  };
-
-  var classCallCheck = function (instance, Constructor) {
-    if (!(instance instanceof Constructor)) {
-      throw new TypeError("Cannot call a class as a function");
-    }
-  };
-
-  var createClass = function () {
-    function defineProperties(target, props) {
-      for (var i = 0; i < props.length; i++) {
-        var descriptor = props[i];
-        descriptor.enumerable = descriptor.enumerable || false;
-        descriptor.configurable = true;
-        if ("value" in descriptor) descriptor.writable = true;
-        Object.defineProperty(target, descriptor.key, descriptor);
-      }
-    }
+        // Enable to request fullscreen when play
+        fullscreen: true,
 
-    return function (Constructor, protoProps, staticProps) {
-      if (protoProps) defineProperties(Constructor.prototype, protoProps);
-      if (staticProps) defineProperties(Constructor, staticProps);
-      return Constructor;
-    };
-  }();
-
-  /**
-   * Check if the given value is a string.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is a string, else `false`.
-   */
-  function isString(value) {
-    return typeof value === 'string';
-  }
-
-  /**
-   * Check if the given value is not a number.
-   */
-  var isNaN = Number.isNaN || WINDOW.isNaN;
-
-  /**
-   * Check if the given value is a number.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is a number, else `false`.
-   */
-  function isNumber(value) {
-    return typeof value === 'number' && !isNaN(value);
-  }
-
-  /**
-   * Check if the given value is undefined.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is undefined, else `false`.
-   */
-  function isUndefined(value) {
-    return typeof value === 'undefined';
-  }
-
-  /**
-   * Check if the given value is an object.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is an object, else `false`.
-   */
-  function isObject(value) {
-    return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value !== null;
-  }
-
-  var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-  /**
-   * Check if the given value is a plain object.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.
-   */
-
-  function isPlainObject(value) {
-    if (!isObject(value)) {
-      return false;
-    }
+        // The amount of time to delay between automatically cycling an image when playing.
+        interval: 2000,
 
-    try {
-      var _constructor = value.constructor;
-      var prototype = _constructor.prototype;
+        // Enable keyboard support
+        keyboard: true,
 
+        // Enable a modal backdrop, specify `static` for a backdrop which doesn't close the modal on click
+        backdrop: true,
 
-      return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');
-    } catch (e) {
-      return false;
-    }
-  }
-
-  /**
-   * Check if the given value is a function.
-   * @param {*} value - The value to check.
-   * @returns {boolean} Returns `true` if the given value is a function, else `false`.
-   */
-  function isFunction(value) {
-    return typeof value === 'function';
-  }
-
-  /**
-   * Iterate the given data.
-   * @param {*} data - The data to iterate.
-   * @param {Function} callback - The process function for each element.
-   * @returns {*} The original data.
-   */
-  function forEach(data, callback) {
-    if (data && isFunction(callback)) {
-      if (Array.isArray(data) || isNumber(data.length) /* array-like */) {
-          var length = data.length;
-
-          var i = void 0;
-
-          for (i = 0; i < length; i += 1) {
-            if (callback.call(data, data[i], i, data) === false) {
-              break;
-            }
-          }
-        } else if (isObject(data)) {
-        Object.keys(data).forEach(function (key) {
-          callback.call(data, data[key], key, data);
-        });
-      }
-    }
+        // Indicate if show a loading spinner when load image or not.
+        loading: true,
 
-    return data;
-  }
-
-  /**
-   * Extend the given object.
-   * @param {*} obj - The object to be extended.
-   * @param {*} args - The rest objects which will be merged to the first object.
-   * @returns {Object} The extended object.
-   */
-  var assign = Object.assign || function assign(obj) {
-    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-      args[_key - 1] = arguments[_key];
-    }
+        // Indicate if enable loop viewing or not.
+        loop: true,
+
+        // Min width of the viewer in inline mode
+        minWidth: 200,
+
+        // Min height of the viewer in inline mode
+        minHeight: 100,
+
+        // Define the ratio when zoom the image by wheeling mouse
+        zoomRatio: 0.1,
+
+        // Define the min ratio of the image when zoom out
+        minZoomRatio: 0.01,
+
+        // Define the max ratio of the image when zoom in
+        maxZoomRatio: 100,
 
-    if (isObject(obj) && args.length > 0) {
-      args.forEach(function (arg) {
-        if (isObject(arg)) {
-          Object.keys(arg).forEach(function (key) {
-            obj[key] = arg[key];
-          });
+        // Define the CSS `z-index` value of viewer in modal mode.
+        zIndex: 2015,
+
+        // Define the CSS `z-index` value of viewer in inline mode.
+        zIndexInline: 0,
+
+        // Define where to get the original image URL for viewing
+        // Type: String (an image attribute) or Function (should return an image URL)
+        url: 'src',
+
+        url_original:'src',
+
+        // Define where to put the viewer in modal mode.
+        // Type: String | Element
+        container: 'body',
+
+        // Filter the images for viewing.
+        // Type: Function (return true if the image is viewable)
+        filter: null,
+
+        // Event shortcuts
+        ready: null,
+        show: null,
+        shown: null,
+        hide: null,
+        hidden: null,
+        view: null,
+        viewed: null
+    };
+
+    var TEMPLATE = '<div class="viewer-container" touch-action="none">' +
+        '<div class="viewer-canvas"></div>' +
+
+        '<div class="viewer-footer">' +
+
+        '<div class="viewer-toolbar">'+
+        '<div class="viewer-title"></div>'+'</div>' +
+        '<div class="viewer-navbar" style="display: none">' + '<ul class="viewer-list"></ul>' + '</div>' + '</div>' +
+
+        '<div class="viewer-tooltip"></div>' +
+        '<div role="button" class="viewer-button" data-action="mix"></div>' +
+        '<div class="viewer-player"></div>' + '</div>';
+
+    var IN_BROWSER = typeof window !== 'undefined';
+    var WINDOW = IN_BROWSER ? window : {};
+    var NAMESPACE = 'viewer';
+
+    // Actions
+    var ACTION_MOVE = 'move';
+    var ACTION_SWITCH = 'switch';
+    var ACTION_ZOOM = 'zoom';
+
+    // Classes
+    var CLASS_ACTIVE = NAMESPACE + '-active';
+    var CLASS_CLOSE = NAMESPACE + '-close';
+    var CLASS_FADE = NAMESPACE + '-fade';
+    var CLASS_FIXED = NAMESPACE + '-fixed';
+    var CLASS_FULLSCREEN = NAMESPACE + '-fullscreen';
+    var CLASS_FULLSCREEN_EXIT = NAMESPACE + '-fullscreen-exit';
+    var CLASS_HIDE = NAMESPACE + '-hide';
+    var CLASS_HIDE_MD_DOWN = NAMESPACE + '-hide-md-down';
+    var CLASS_HIDE_SM_DOWN = NAMESPACE + '-hide-sm-down';
+    var CLASS_HIDE_XS_DOWN = NAMESPACE + '-hide-xs-down';
+    var CLASS_IN = NAMESPACE + '-in';
+    var CLASS_INVISIBLE = NAMESPACE + '-invisible';
+    var CLASS_LOADING = NAMESPACE + '-loading';
+    var CLASS_MOVE = NAMESPACE + '-move';
+    var CLASS_OPEN = NAMESPACE + '-open';
+    var CLASS_SHOW = NAMESPACE + '-show';
+    var CLASS_TRANSITION = NAMESPACE + '-transition';
+
+    // Events
+    var EVENT_READY = 'ready';
+    var EVENT_SHOW = 'show';
+    var EVENT_SHOWN = 'shown';
+    var EVENT_HIDE = 'hide';
+    var EVENT_HIDDEN = 'hidden';
+    var EVENT_VIEW = 'view';
+    var EVENT_VIEWED = 'viewed';
+    var EVENT_CLICK = 'click';
+    var EVENT_DRAG_START = 'dragstart';
+    var EVENT_KEY_DOWN = 'keydown';
+    var EVENT_LOAD = 'load';
+    var EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';
+    var EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';
+    var EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';
+    var EVENT_RESIZE = 'resize';
+    var EVENT_TRANSITION_END = 'transitionend';
+    var EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';
+
+    //var BUTTONS = ['zoom-in', 'zoom-out', 'one-to-one', 'reset', 'prev', 'play', 'next', 'rotate-left', 'rotate-right', 'flip-horizontal', 'flip-vertical'];
+    var BUTTONS = [ 'one-to-ones','enlarge','zoom-ins', 'zoom-outs', 'prevs',  'plays', 'nexts',];
+
+    var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
+        return typeof obj;
+    } : function (obj) {
+        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+    };
+
+    var classCallCheck = function (instance, Constructor) {
+        if (!(instance instanceof Constructor)) {
+            throw new TypeError("Cannot call a class as a function");
         }
-      });
-    }
+    };
 
-    return obj;
-  };
-
-  var REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;
-
-  /**
-   * Apply styles to the given element.
-   * @param {Element} element - The target element.
-   * @param {Object} styles - The styles for applying.
-   */
-  function setStyle(element, styles) {
-    var style = element.style;
-
-
-    forEach(styles, function (value, property) {
-      if (REGEXP_SUFFIX.test(property) && isNumber(value)) {
-        value += 'px';
-      }
-
-      style[property] = value;
-    });
-  }
-
-  /**
-   * Check if the given element has a special class.
-   * @param {Element} element - The element to check.
-   * @param {string} value - The class to search.
-   * @returns {boolean} Returns `true` if the special class was found.
-   */
-  function hasClass(element, value) {
-    return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;
-  }
-
-  /**
-   * Add classes to the given element.
-   * @param {Element} element - The target element.
-   * @param {string} value - The classes to be added.
-   */
-  function addClass(element, value) {
-    if (!value) {
-      return;
-    }
+    var createClass = function () {
+        function defineProperties(target, props) {
+            for (var i = 0; i < props.length; i++) {
+                var descriptor = props[i];
+                descriptor.enumerable = descriptor.enumerable || false;
+                descriptor.configurable = true;
+                if ("value" in descriptor) descriptor.writable = true;
+                Object.defineProperty(target, descriptor.key, descriptor);
+            }
+        }
 
-    if (isNumber(element.length)) {
-      forEach(element, function (elem) {
-        addClass(elem, value);
-      });
-      return;
-    }
+        return function (Constructor, protoProps, staticProps) {
+            if (protoProps) defineProperties(Constructor.prototype, protoProps);
+            if (staticProps) defineProperties(Constructor, staticProps);
+            return Constructor;
+        };
+    }();
 
-    if (element.classList) {
-      element.classList.add(value);
-      return;
+    /**
+     * Check if the given value is a string.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is a string, else `false`.
+     */
+    function isString(value) {
+        return typeof value === 'string';
     }
 
-    var className = element.className.trim();
+    /**
+     * Check if the given value is not a number.
+     */
+    var isNaN = Number.isNaN || WINDOW.isNaN;
 
-    if (!className) {
-      element.className = value;
-    } else if (className.indexOf(value) < 0) {
-      element.className = className + ' ' + value;
-    }
-  }
-
-  /**
-   * Remove classes from the given element.
-   * @param {Element} element - The target element.
-   * @param {string} value - The classes to be removed.
-   */
-  function removeClass(element, value) {
-    if (!value) {
-      return;
+    /**
+     * Check if the given value is a number.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is a number, else `false`.
+     */
+    function isNumber(value) {
+        return typeof value === 'number' && !isNaN(value);
     }
 
-    if (isNumber(element.length)) {
-      forEach(element, function (elem) {
-        removeClass(elem, value);
-      });
-      return;
+    /**
+     * Check if the given value is undefined.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is undefined, else `false`.
+     */
+    function isUndefined(value) {
+        return typeof value === 'undefined';
     }
 
-    if (element.classList) {
-      element.classList.remove(value);
-      return;
+    /**
+     * Check if the given value is an object.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is an object, else `false`.
+     */
+    function isObject(value) {
+        return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value !== null;
     }
 
-    if (element.className.indexOf(value) >= 0) {
-      element.className = element.className.replace(value, '');
-    }
-  }
-
-  /**
-   * Add or remove classes from the given element.
-   * @param {Element} element - The target element.
-   * @param {string} value - The classes to be toggled.
-   * @param {boolean} added - Add only.
-   */
-  function toggleClass(element, value, added) {
-    if (!value) {
-      return;
-    }
+    var hasOwnProperty = Object.prototype.hasOwnProperty;
 
-    if (isNumber(element.length)) {
-      forEach(element, function (elem) {
-        toggleClass(elem, value, added);
-      });
-      return;
-    }
+    /**
+     * Check if the given value is a plain object.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.
+     */
 
-    // IE10-11 doesn't support the second parameter of `classList.toggle`
-    if (added) {
-      addClass(element, value);
-    } else {
-      removeClass(element, value);
-    }
-  }
-
-  var REGEXP_HYPHENATE = /([a-z\d])([A-Z])/g;
-
-  /**
-   * Transform the given string from camelCase to kebab-case
-   * @param {string} value - The value to transform.
-   * @returns {string} The transformed value.
-   */
-  function hyphenate(value) {
-    return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();
-  }
-
-  /**
-   * Get data from the given element.
-   * @param {Element} element - The target element.
-   * @param {string} name - The data key to get.
-   * @returns {string} The data value.
-   */
-  function getData(element, name) {
-    if (isObject(element[name])) {
-      return element[name];
-    } else if (element.dataset) {
-      return element.dataset[name];
-    }
+    function isPlainObject(value) {
+        if (!isObject(value)) {
+            return false;
+        }
+
+        try {
+            var _constructor = value.constructor;
+            var prototype = _constructor.prototype;
 
-    return element.getAttribute('data-' + hyphenate(name));
-  }
-
-  /**
-   * Set data to the given element.
-   * @param {Element} element - The target element.
-   * @param {string} name - The data key to set.
-   * @param {string} data - The data value.
-   */
-  function setData(element, name, data) {
-    if (isObject(data)) {
-      element[name] = data;
-    } else if (element.dataset) {
-      element.dataset[name] = data;
-    } else {
-      element.setAttribute('data-' + hyphenate(name), data);
+
+            return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');
+        } catch (e) {
+            return false;
+        }
     }
-  }
-
-  /**
-   * Remove data from the given element.
-   * @param {Element} element - The target element.
-   * @param {string} name - The data key to remove.
-   */
-  function removeData(element, name) {
-    if (isObject(element[name])) {
-      try {
-        delete element[name];
-      } catch (e) {
-        element[name] = undefined;
-      }
-    } else if (element.dataset) {
-      // #128 Safari not allows to delete dataset property
-      try {
-        delete element.dataset[name];
-      } catch (e) {
-        element.dataset[name] = undefined;
-      }
-    } else {
-      element.removeAttribute('data-' + hyphenate(name));
+
+    /**
+     * Check if the given value is a function.
+     * @param {*} value - The value to check.
+     * @returns {boolean} Returns `true` if the given value is a function, else `false`.
+     */
+    function isFunction(value) {
+        return typeof value === 'function';
     }
-  }
-
-  var REGEXP_SPACES = /\s\s*/;
-  var onceSupported = function () {
-    var supported = false;
-
-    if (IN_BROWSER) {
-      var once = false;
-      var listener = function listener() {};
-      var options = Object.defineProperty({}, 'once', {
-        get: function get$$1() {
-          supported = true;
-          return once;
-        },
 
+    /**
+     * Iterate the given data.
+     * @param {*} data - The data to iterate.
+     * @param {Function} callback - The process function for each element.
+     * @returns {*} The original data.
+     */
+    function forEach(data, callback) {
+        if (data && isFunction(callback)) {
+            if (Array.isArray(data) || isNumber(data.length) /* array-like */) {
+                var length = data.length;
 
-        /**
-         * This setter can fix a `TypeError` in strict mode
-         * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}
-         * @param {boolean} value - The value to set
-         */
-        set: function set$$1(value) {
-          once = value;
+                var i = void 0;
+
+                for (i = 0; i < length; i += 1) {
+                    if (callback.call(data, data[i], i, data) === false) {
+                        break;
+                    }
+                }
+            } else if (isObject(data)) {
+                Object.keys(data).forEach(function (key) {
+                    callback.call(data, data[key], key, data);
+                });
+            }
         }
-      });
 
-      WINDOW.addEventListener('test', listener, options);
-      WINDOW.removeEventListener('test', listener, options);
+        return data;
     }
 
-    return supported;
-  }();
+    /**
+     * Extend the given object.
+     * @param {*} obj - The object to be extended.
+     * @param {*} args - The rest objects which will be merged to the first object.
+     * @returns {Object} The extended object.
+     */
+    var assign = Object.assign || function assign(obj) {
+        for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+            args[_key - 1] = arguments[_key];
+        }
+
+        if (isObject(obj) && args.length > 0) {
+            args.forEach(function (arg) {
+                if (isObject(arg)) {
+                    Object.keys(arg).forEach(function (key) {
+                        obj[key] = arg[key];
+                    });
+                }
+            });
+        }
+
+        return obj;
+    };
 
-  /**
-   * Remove event listener from the target element.
-   * @param {Element} element - The event target.
-   * @param {string} type - The event type(s).
-   * @param {Function} listener - The event listener.
-   * @param {Object} options - The event options.
-   */
-  function removeListener(element, type, listener) {
-    var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
+    var REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;
 
-    var handler = listener;
+    /**
+     * Apply styles to the given element.
+     * @param {Element} element - The target element.
+     * @param {Object} styles - The styles for applying.
+     */
+    function setStyle(element, styles) {
+        var style = element.style;
 
-    type.trim().split(REGEXP_SPACES).forEach(function (event) {
-      if (!onceSupported) {
-        var listeners = element.listeners;
 
+        forEach(styles, function (value, property) {
+            if (REGEXP_SUFFIX.test(property) && isNumber(value)) {
+                value += 'px';
+            }
 
-        if (listeners && listeners[event] && listeners[event][listener]) {
-          handler = listeners[event][listener];
-          delete listeners[event][listener];
+            style[property] = value;
+        });
+    }
 
-          if (Object.keys(listeners[event]).length === 0) {
-            delete listeners[event];
-          }
+    /**
+     * Check if the given element has a special class.
+     * @param {Element} element - The element to check.
+     * @param {string} value - The class to search.
+     * @returns {boolean} Returns `true` if the special class was found.
+     */
+    function hasClass(element, value) {
+        return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;
+    }
 
-          if (Object.keys(listeners).length === 0) {
-            delete element.listeners;
-          }
+    /**
+     * Add classes to the given element.
+     * @param {Element} element - The target element.
+     * @param {string} value - The classes to be added.
+     */
+    function addClass(element, value) {
+        if (!value) {
+            return;
         }
-      }
-
-      element.removeEventListener(event, handler, options);
-    });
-  }
-
-  /**
-   * Add event listener to the target element.
-   * @param {Element} element - The event target.
-   * @param {string} type - The event type(s).
-   * @param {Function} listener - The event listener.
-   * @param {Object} options - The event options.
-   */
-  function addListener(element, type, listener) {
-    var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
-
-    var _handler = listener;
-
-    type.trim().split(REGEXP_SPACES).forEach(function (event) {
-      if (options.once && !onceSupported) {
-        var _element$listeners = element.listeners,
-            listeners = _element$listeners === undefined ? {} : _element$listeners;
-
-
-        _handler = function handler() {
-          for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-            args[_key2] = arguments[_key2];
-          }
-
-          delete listeners[event][listener];
-          element.removeEventListener(event, _handler, options);
-          listener.apply(element, args);
-        };
 
-        if (!listeners[event]) {
-          listeners[event] = {};
+        if (isNumber(element.length)) {
+            forEach(element, function (elem) {
+                addClass(elem, value);
+            });
+            return;
         }
 
-        if (listeners[event][listener]) {
-          element.removeEventListener(event, listeners[event][listener], options);
+        if (element.classList) {
+            element.classList.add(value);
+            return;
         }
 
-        listeners[event][listener] = _handler;
-        element.listeners = listeners;
-      }
-
-      element.addEventListener(event, _handler, options);
-    });
-  }
-
-  /**
-   * Dispatch event on the target element.
-   * @param {Element} element - The event target.
-   * @param {string} type - The event type(s).
-   * @param {Object} data - The additional event data.
-   * @returns {boolean} Indicate if the event is default prevented or not.
-   */
-  function dispatchEvent(element, type, data) {
-    var event = void 0;
-
-    // Event and CustomEvent on IE9-11 are global objects, not constructors
-    if (isFunction(Event) && isFunction(CustomEvent)) {
-      event = new CustomEvent(type, {
-        detail: data,
-        bubbles: true,
-        cancelable: true
-      });
-    } else {
-      event = document.createEvent('CustomEvent');
-      event.initCustomEvent(type, true, true, data);
+        var className = element.className.trim();
+
+        if (!className) {
+            element.className = value;
+        } else if (className.indexOf(value) < 0) {
+            element.className = className + ' ' + value;
+        }
     }
 
-    return element.dispatchEvent(event);
-  }
+    /**
+     * Remove classes from the given element.
+     * @param {Element} element - The target element.
+     * @param {string} value - The classes to be removed.
+     */
+    function removeClass(element, value) {
+        if (!value) {
+            return;
+        }
 
-  /**
-   * Get the offset base on the document.
-   * @param {Element} element - The target element.
-   * @returns {Object} The offset data.
-   */
-  function getOffset(element) {
-    var box = element.getBoundingClientRect();
+        if (isNumber(element.length)) {
+            forEach(element, function (elem) {
+                removeClass(elem, value);
+            });
+            return;
+        }
 
-    return {
-      left: box.left + (window.pageXOffset - document.documentElement.clientLeft),
-      top: box.top + (window.pageYOffset - document.documentElement.clientTop)
-    };
-  }
-
-  /**
-   * Get transforms base on the given object.
-   * @param {Object} obj - The target object.
-   * @returns {string} A string contains transform values.
-   */
-  function getTransforms(_ref) {
-    var rotate = _ref.rotate,
-        scaleX = _ref.scaleX,
-        scaleY = _ref.scaleY,
-        translateX = _ref.translateX,
-        translateY = _ref.translateY;
-
-    var values = [];
-
-    if (isNumber(translateX) && translateX !== 0) {
-      values.push('translateX(' + translateX + 'px)');
-    }
+        if (element.classList) {
+            element.classList.remove(value);
+            return;
+        }
 
-    if (isNumber(translateY) && translateY !== 0) {
-      values.push('translateY(' + translateY + 'px)');
+        if (element.className.indexOf(value) >= 0) {
+            element.className = element.className.replace(value, '');
+        }
     }
 
-    // Rotate should come first before scale to match orientation transform
-    if (isNumber(rotate) && rotate !== 0) {
-      values.push('rotate(' + rotate + 'deg)');
+    /**
+     * Add or remove classes from the given element.
+     * @param {Element} element - The target element.
+     * @param {string} value - The classes to be toggled.
+     * @param {boolean} added - Add only.
+     */
+    function toggleClass(element, value, added) {
+        if (!value) {
+            return;
+        }
+
+        if (isNumber(element.length)) {
+            forEach(element, function (elem) {
+                toggleClass(elem, value, added);
+            });
+            return;
+        }
+
+        // IE10-11 doesn't support the second parameter of `classList.toggle`
+        if (added) {
+            addClass(element, value);
+        } else {
+            removeClass(element, value);
+        }
     }
 
-    if (isNumber(scaleX) && scaleX !== 1) {
-      values.push('scaleX(' + scaleX + ')');
+    var REGEXP_HYPHENATE = /([a-z\d])([A-Z])/g;
+
+    /**
+     * Transform the given string from camelCase to kebab-case
+     * @param {string} value - The value to transform.
+     * @returns {string} The transformed value.
+     */
+    function hyphenate(value) {
+        return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();
     }
 
-    if (isNumber(scaleY) && scaleY !== 1) {
-      values.push('scaleY(' + scaleY + ')');
+    /**
+     * Get data from the given element.
+     * @param {Element} element - The target element.
+     * @param {string} name - The data key to get.
+     * @returns {string} The data value.
+     */
+    function getData(element, name) {
+        if (isObject(element[name])) {
+            return element[name];
+        } else if (element.dataset) {
+            return element.dataset[name];
+        }
+
+        return element.getAttribute('data-' + hyphenate(name));
     }
 
-    var transform = values.length ? values.join(' ') : 'none';
+    /**
+     * Set data to the given element.
+     * @param {Element} element - The target element.
+     * @param {string} name - The data key to set.
+     * @param {string} data - The data value.
+     */
+    function setData(element, name, data) {
+        if (isObject(data)) {
+            element[name] = data;
+        } else if (element.dataset) {
+            element.dataset[name] = data;
+        } else {
+            element.setAttribute('data-' + hyphenate(name), data);
+        }
+    }
 
-    return {
-      WebkitTransform: transform,
-      msTransform: transform,
-      transform: transform
-    };
-  }
-
-  /**
-   * Get an image name from an image url.
-   * @param {string} url - The target url.
-   * @example
-   * // picture.jpg
-   * getImageNameFromURL('http://domain.com/path/to/picture.jpg?size=1280×960')
-   * @returns {string} A string contains the image name.
-   */
-  function getImageNameFromURL(url) {
-    return isString(url) ? url.replace(/^.*\//, '').replace(/[?&#].*$/, '') : '';
-  }
-
-  var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);
-
-  /**
-   * Get an image's natural sizes.
-   * @param {string} image - The target image.
-   * @param {Function} callback - The callback function.
-   * @returns {HTMLImageElement} The new image.
-   */
-  function getImageNaturalSizes(image, callback) {
-    var newImage = document.createElement('img');
-
-    // Modern browsers (except Safari)
-    if (image.naturalWidth && !IS_SAFARI) {
-      callback(image.naturalWidth, image.naturalHeight);
-      return newImage;
+    /**
+     * Remove data from the given element.
+     * @param {Element} element - The target element.
+     * @param {string} name - The data key to remove.
+     */
+    function removeData(element, name) {
+        if (isObject(element[name])) {
+            try {
+                delete element[name];
+            } catch (e) {
+                element[name] = undefined;
+            }
+        } else if (element.dataset) {
+            // #128 Safari not allows to delete dataset property
+            try {
+                delete element.dataset[name];
+            } catch (e) {
+                element.dataset[name] = undefined;
+            }
+        } else {
+            element.removeAttribute('data-' + hyphenate(name));
+        }
     }
 
-    var body = document.body || document.documentElement;
+    var REGEXP_SPACES = /\s\s*/;
+    var onceSupported = function () {
+        var supported = false;
+
+        if (IN_BROWSER) {
+            var once = false;
+            var listener = function listener() {};
+            var options = Object.defineProperty({}, 'once', {
+                get: function get$$1() {
+                    supported = true;
+                    return once;
+                },
+
+
+                /**
+                 * This setter can fix a `TypeError` in strict mode
+                 * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}
+                 * @param {boolean} value - The value to set
+                 */
+                set: function set$$1(value) {
+                    once = value;
+                }
+            });
 
-    newImage.onload = function () {
-      callback(newImage.width, newImage.height);
+            WINDOW.addEventListener('test', listener, options);
+            WINDOW.removeEventListener('test', listener, options);
+        }
 
-      if (!IS_SAFARI) {
-        body.removeChild(newImage);
-      }
-    };
+        return supported;
+    }();
 
-    newImage.src = image.src;
+    /**
+     * Remove event listener from the target element.
+     * @param {Element} element - The event target.
+     * @param {string} type - The event type(s).
+     * @param {Function} listener - The event listener.
+     * @param {Object} options - The event options.
+     */
+    function removeListener(element, type, listener) {
+        var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
 
-    // iOS Safari will convert the image automatically
-    // with its orientation once append it into DOM
-    if (!IS_SAFARI) {
-      newImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';
-      body.appendChild(newImage);
-    }
+        var handler = listener;
 
-    return newImage;
-  }
+        type.trim().split(REGEXP_SPACES).forEach(function (event) {
+            if (!onceSupported) {
+                var listeners = element.listeners;
 
-  /**
-   * Get the related class name of a responsive type number.
-   * @param {string} type - The responsive type.
-   * @returns {string} The related class name.
-   */
-  function getResponsiveClass(type) {
-    switch (type) {
-      case 2:
-        return CLASS_HIDE_XS_DOWN;
 
-      case 3:
-        return CLASS_HIDE_SM_DOWN;
+                if (listeners && listeners[event] && listeners[event][listener]) {
+                    handler = listeners[event][listener];
+                    delete listeners[event][listener];
 
-      case 4:
-        return CLASS_HIDE_MD_DOWN;
+                    if (Object.keys(listeners[event]).length === 0) {
+                        delete listeners[event];
+                    }
 
-      default:
-        return '';
+                    if (Object.keys(listeners).length === 0) {
+                        delete element.listeners;
+                    }
+                }
+            }
+
+            element.removeEventListener(event, handler, options);
+        });
     }
-  }
-
-  /**
-   * Get the max ratio of a group of pointers.
-   * @param {string} pointers - The target pointers.
-   * @returns {number} The result ratio.
-   */
-  function getMaxZoomRatio(pointers) {
-    var pointers2 = assign({}, pointers);
-    var ratios = [];
-
-    forEach(pointers, function (pointer, pointerId) {
-      delete pointers2[pointerId];
-
-      forEach(pointers2, function (pointer2) {
-        var x1 = Math.abs(pointer.startX - pointer2.startX);
-        var y1 = Math.abs(pointer.startY - pointer2.startY);
-        var x2 = Math.abs(pointer.endX - pointer2.endX);
-        var y2 = Math.abs(pointer.endY - pointer2.endY);
-        var z1 = Math.sqrt(x1 * x1 + y1 * y1);
-        var z2 = Math.sqrt(x2 * x2 + y2 * y2);
-        var ratio = (z2 - z1) / z1;
-
-        ratios.push(ratio);
-      });
-    });
-
-    ratios.sort(function (a, b) {
-      return Math.abs(a) < Math.abs(b);
-    });
-
-    return ratios[0];
-  }
-
-  /**
-   * Get a pointer from an event object.
-   * @param {Object} event - The target event object.
-   * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.
-   * @returns {Object} The result pointer contains start and/or end point coordinates.
-   */
-  function getPointer(_ref2, endOnly) {
-    var pageX = _ref2.pageX,
-        pageY = _ref2.pageY;
-
-    var end = {
-      endX: pageX,
-      endY: pageY
-    };
 
-    return endOnly ? end : assign({
-      startX: pageX,
-      startY: pageY
-    }, end);
-  }
-
-  /**
-   * Get the center point coordinate of a group of pointers.
-   * @param {Object} pointers - The target pointers.
-   * @returns {Object} The center point coordinate.
-   */
-  function getPointersCenter(pointers) {
-    var pageX = 0;
-    var pageY = 0;
-    var count = 0;
-
-    forEach(pointers, function (_ref3) {
-      var startX = _ref3.startX,
-          startY = _ref3.startY;
-
-      pageX += startX;
-      pageY += startY;
-      count += 1;
-    });
-
-    pageX /= count;
-    pageY /= count;
-
-    return {
-      pageX: pageX,
-      pageY: pageY
-    };
-  }
-
-  var render = {
-    render: function render() {
-      this.initContainer();
-      this.initViewer();
-      this.initList();
-      this.renderViewer();
-    },
-    initContainer: function initContainer() {
-      this.containerData = {
-        width: window.innerWidth,
-        height: window.innerHeight
-      };
-    },
-    initViewer: function initViewer() {
-      var options = this.options,
-          parent = this.parent;
-
-      var viewerData = void 0;
-
-      if (options.inline) {
-        viewerData = {
-          width: Math.max(parent.offsetWidth, options.minWidth),
-          height: Math.max(parent.offsetHeight, options.minHeight)
-        };
+    /**
+     * Add event listener to the target element.
+     * @param {Element} element - The event target.
+     * @param {string} type - The event type(s).
+     * @param {Function} listener - The event listener.
+     * @param {Object} options - The event options.
+     */
+    function addListener(element, type, listener) {
+        var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
 
-        this.parentData = viewerData;
-      }
+        var _handler = listener;
 
-      if (this.fulled || !viewerData) {
-        viewerData = this.containerData;
-      }
+        type.trim().split(REGEXP_SPACES).forEach(function (event) {
+            if (options.once && !onceSupported) {
+                var _element$listeners = element.listeners,
+                    listeners = _element$listeners === undefined ? {} : _element$listeners;
 
-      this.viewerData = assign({}, viewerData);
-    },
-    renderViewer: function renderViewer() {
-      if (this.options.inline && !this.fulled) {
-        setStyle(this.viewer, this.viewerData);
-      }
-    },
-    initList: function initList() {
-      var _this = this;
 
-      var element = this.element,
-          options = this.options,
-          list = this.list;
+                _handler = function handler() {
+                    for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+                        args[_key2] = arguments[_key2];
+                    }
 
-      var items = [];
+                    delete listeners[event][listener];
+                    element.removeEventListener(event, _handler, options);
+                    listener.apply(element, args);
+                };
 
-      forEach(this.images, function (image, i) {
-        var src = image.src;
+                if (!listeners[event]) {
+                    listeners[event] = {};
+                }
 
-        var alt = image.alt || getImageNameFromURL(src);
-        var url = options.url;
+                if (listeners[event][listener]) {
+                    element.removeEventListener(event, listeners[event][listener], options);
+                }
 
+                listeners[event][listener] = _handler;
+                element.listeners = listeners;
+            }
 
-        if (isString(url)) {
-          url = image.getAttribute(url);
-        } else if (isFunction(url)) {
-          url = url.call(_this, image);
-        }
+            element.addEventListener(event, _handler, options);
+        });
+    }
 
-        if (src || url) {
-          items.push('<li>' + '<img' + (' src="' + (src || url) + '"') + ' role="button"' + ' data-action="view"' + (' data-index="' + i + '"') + (' data-original-url="' + (url || src) + '"') + (' alt="' + alt + '"') + '>' + '</li>');
+    /**
+     * Dispatch event on the target element.
+     * @param {Element} element - The event target.
+     * @param {string} type - The event type(s).
+     * @param {Object} data - The additional event data.
+     * @returns {boolean} Indicate if the event is default prevented or not.
+     */
+    function dispatchEvent(element, type, data) {
+        var event = void 0;
+
+        // Event and CustomEvent on IE9-11 are global objects, not constructors
+        if (isFunction(Event) && isFunction(CustomEvent)) {
+            event = new CustomEvent(type, {
+                detail: data,
+                bubbles: true,
+                cancelable: true
+            });
+        } else {
+            event = document.createEvent('CustomEvent');
+            event.initCustomEvent(type, true, true, data);
         }
-      });
 
-      list.innerHTML = items.join('');
-      this.items = list.getElementsByTagName('li');
-      forEach(this.items, function (item) {
-        var image = item.firstElementChild;
+        return element.dispatchEvent(event);
+    }
 
-        setData(image, 'filled', true);
+    /**
+     * Get the offset base on the document.
+     * @param {Element} element - The target element.
+     * @returns {Object} The offset data.
+     */
+    function getOffset(element) {
+        var box = element.getBoundingClientRect();
 
-        if (options.loading) {
-          addClass(item, CLASS_LOADING);
-        }
+        return {
+            left: box.left + (window.pageXOffset - document.documentElement.clientLeft),
+            top: box.top + (window.pageYOffset - document.documentElement.clientTop)
+        };
+    }
 
-        addListener(image, EVENT_LOAD, function (event) {
-          if (options.loading) {
-            removeClass(item, CLASS_LOADING);
-          }
+    /**
+     * Get transforms base on the given object.
+     * @param {Object} obj - The target object.
+     * @returns {string} A string contains transform values.
+     */
+    function getTransforms(_ref) {
+        var rotate = _ref.rotate,
+            scaleX = _ref.scaleX,
+            scaleY = _ref.scaleY,
+            translateX = _ref.translateX,
+            translateY = _ref.translateY;
 
-          _this.loadImage(event);
-        }, {
-          once: true
-        });
-      });
+        var values = [];
 
-      if (options.transition) {
-        addListener(element, EVENT_VIEWED, function () {
-          addClass(list, CLASS_TRANSITION);
-        }, {
-          once: true
-        });
-      }
-    },
-    renderList: function renderList(index) {
-      var i = index || this.index;
-      var width = this.items[i].offsetWidth || 30;
-      var outerWidth = width + 1; // 1 pixel of `margin-left` width
-
-      // Place the active item in the center of the screen
-      setStyle(this.list, assign({
-        width: outerWidth * this.length
-      }, getTransforms({
-        translateX: (this.viewerData.width - width) / 2 - outerWidth * i
-      })));
-    },
-    resetList: function resetList() {
-      var list = this.list;
-
-
-      list.innerHTML = '';
-      removeClass(list, CLASS_TRANSITION);
-      setStyle(list, getTransforms({
-        translateX: 0
-      }));
-    },
-    initImage: function initImage(done) {
-      var _this2 = this;
-
-      var options = this.options,
-          image = this.image,
-          viewerData = this.viewerData;
-
-      var footerHeight = this.footer.offsetHeight;
-      var viewerWidth = viewerData.width;
-      var viewerHeight = Math.max(viewerData.height - footerHeight, footerHeight);
-      var oldImageData = this.imageData || {};
-      var sizingImage = void 0;
-
-      this.imageInitializing = {
-        abort: function abort() {
-          sizingImage.onload = null;
+        if (isNumber(translateX) && translateX !== 0) {
+            values.push('translateX(' + translateX + 'px)');
         }
-      };
 
-      sizingImage = getImageNaturalSizes(image, function (naturalWidth, naturalHeight) {
-        var aspectRatio = naturalWidth / naturalHeight;
-        var width = viewerWidth;
-        var height = viewerHeight;
+        if (isNumber(translateY) && translateY !== 0) {
+            values.push('translateY(' + translateY + 'px)');
+        }
 
-        _this2.imageInitializing = false;
+        // Rotate should come first before scale to match orientation transform
+        if (isNumber(rotate) && rotate !== 0) {
+            values.push('rotate(' + rotate + 'deg)');
+        }
 
-        if (viewerHeight * aspectRatio > viewerWidth) {
-          height = viewerWidth / aspectRatio;
-        } else {
-          width = viewerHeight * aspectRatio;
+        if (isNumber(scaleX) && scaleX !== 1) {
+            values.push('scaleX(' + scaleX + ')');
         }
 
-        width = Math.min(width * 0.9, naturalWidth);
-        height = Math.min(height * 0.9, naturalHeight);
-
-        var imageData = {
-          naturalWidth: naturalWidth,
-          naturalHeight: naturalHeight,
-          aspectRatio: aspectRatio,
-          ratio: width / naturalWidth,
-          width: width,
-          height: height,
-          left: (viewerWidth - width) / 2,
-          top: (viewerHeight - height) / 2
+        if (isNumber(scaleY) && scaleY !== 1) {
+            values.push('scaleY(' + scaleY + ')');
+        }
+
+        var transform = values.length ? values.join(' ') : 'none';
+
+        return {
+            WebkitTransform: transform,
+            msTransform: transform,
+            transform: transform
         };
-        var initialImageData = assign({}, imageData);
+    }
 
-        if (options.rotatable) {
-          imageData.rotate = oldImageData.rotate || 0;
-          initialImageData.rotate = 0;
-        }
+    /**
+     * Get an image name from an image url.
+     * @param {string} url - The target url.
+     * @example
+     * // picture.jpg
+     * getImageNameFromURL('http://domain.com/path/to/picture.jpg?size=1280×960')
+     * @returns {string} A string contains the image name.
+     */
+    function getImageNameFromURL(url) {
+        return isString(url) ? url.replace(/^.*\//, '').replace(/[?&#].*$/, '') : '';
+    }
 
-        if (options.scalable) {
-          imageData.scaleX = oldImageData.scaleX || 1;
-          imageData.scaleY = oldImageData.scaleY || 1;
-          initialImageData.scaleX = 1;
-          initialImageData.scaleY = 1;
-        }
+    var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);
 
-        _this2.imageData = imageData;
-        _this2.initialImageData = initialImageData;
+    /**
+     * Get an image's natural sizes.
+     * @param {string} image - The target image.
+     * @param {Function} callback - The callback function.
+     * @returns {HTMLImageElement} The new image.
+     */
+    function getImageNaturalSizes(image, callback) {
+        var newImage = document.createElement('img');
 
-        if (done) {
-          done();
+        // Modern browsers (except Safari)
+        if (image.naturalWidth && !IS_SAFARI) {
+            callback(image.naturalWidth, image.naturalHeight);
+            return newImage;
         }
-      });
-    },
-    renderImage: function renderImage(done) {
-      var _this3 = this;
-
-      var image = this.image,
-          imageData = this.imageData;
-
-
-      setStyle(image, assign({
-        width: imageData.width,
-        height: imageData.height,
-        marginLeft: imageData.left,
-        marginTop: imageData.top
-      }, getTransforms(imageData)));
-
-      if (done) {
-        if (this.viewing && this.options.transition) {
-          var onTransitionEnd = function onTransitionEnd() {
-            _this3.imageRendering = false;
-            done();
-          };
-
-          this.imageRendering = {
-            abort: function abort() {
-              removeListener(image, EVENT_TRANSITION_END, onTransitionEnd);
-            }
-          };
-
-          addListener(image, EVENT_TRANSITION_END, onTransitionEnd, {
-            once: true
-          });
-        } else {
-          done();
+
+        var body = document.body || document.documentElement;
+
+        newImage.onload = function () {
+            callback(newImage.width, newImage.height);
+
+            if (!IS_SAFARI) {
+                body.removeChild(newImage);
+            }
+        };
+
+        newImage.src = image.src;
+
+        // iOS Safari will convert the image automatically
+        // with its orientation once append it into DOM
+        if (!IS_SAFARI) {
+            newImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';
+            body.appendChild(newImage);
         }
-      }
-    },
-    resetImage: function resetImage() {
-      // this.image only defined after viewed
-      if (this.viewing || this.viewed) {
-        var image = this.image;
 
+        return newImage;
+    }
+
+    /**
+     * Get the related class name of a responsive type number.
+     * @param {string} type - The responsive type.
+     * @returns {string} The related class name.
+     */
+    function getResponsiveClass(type) {
+        switch (type) {
+            case 2:
+                return CLASS_HIDE_XS_DOWN;
+
+            case 3:
+                return CLASS_HIDE_SM_DOWN;
 
-        if (this.viewing) {
-          this.viewing.abort();
+            case 4:
+                return CLASS_HIDE_MD_DOWN;
+
+            default:
+                return '';
         }
+    }
 
-        image.parentNode.removeChild(image);
-        this.image = null;
-      }
+    /**
+     * Get the max ratio of a group of pointers.
+     * @param {string} pointers - The target pointers.
+     * @returns {number} The result ratio.
+     */
+    function getMaxZoomRatio(pointers) {
+        var pointers2 = assign({}, pointers);
+        var ratios = [];
+
+        forEach(pointers, function (pointer, pointerId) {
+            delete pointers2[pointerId];
+
+            forEach(pointers2, function (pointer2) {
+                var x1 = Math.abs(pointer.startX - pointer2.startX);
+                var y1 = Math.abs(pointer.startY - pointer2.startY);
+                var x2 = Math.abs(pointer.endX - pointer2.endX);
+                var y2 = Math.abs(pointer.endY - pointer2.endY);
+                var z1 = Math.sqrt(x1 * x1 + y1 * y1);
+                var z2 = Math.sqrt(x2 * x2 + y2 * y2);
+                var ratio = (z2 - z1) / z1;
+
+                ratios.push(ratio);
+            });
+        });
+
+        ratios.sort(function (a, b) {
+            return Math.abs(a) < Math.abs(b);
+        });
+
+        return ratios[0];
     }
-  };
-
-  var events = {
-    bind: function bind() {
-      var element = this.element,
-          viewer = this.viewer;
-
-
-      addListener(viewer, EVENT_CLICK, this.onClick = this.click.bind(this));
-      addListener(viewer, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));
-      addListener(viewer, EVENT_DRAG_START, this.onDragStart = this.dragstart.bind(this));
-      addListener(this.canvas, EVENT_POINTER_DOWN, this.onPointerDown = this.pointerdown.bind(this));
-      addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onPointerMove = this.pointermove.bind(this));
-      addListener(element.ownerDocument, EVENT_POINTER_UP, this.onPointerUp = this.pointerup.bind(this));
-      addListener(element.ownerDocument, EVENT_KEY_DOWN, this.onKeyDown = this.keydown.bind(this));
-      addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));
-    },
-    unbind: function unbind() {
-      var element = this.element,
-          viewer = this.viewer;
-
-
-      removeListener(viewer, EVENT_CLICK, this.onClick);
-      removeListener(viewer, EVENT_WHEEL, this.onWheel);
-      removeListener(viewer, EVENT_DRAG_START, this.onDragStart);
-      removeListener(this.canvas, EVENT_POINTER_DOWN, this.onPointerDown);
-      removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onPointerMove);
-      removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onPointerUp);
-      removeListener(element.ownerDocument, EVENT_KEY_DOWN, this.onKeyDown);
-      removeListener(window, EVENT_RESIZE, this.onResize);
+
+    /**
+     * Get a pointer from an event object.
+     * @param {Object} event - The target event object.
+     * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.
+     * @returns {Object} The result pointer contains start and/or end point coordinates.
+     */
+    function getPointer(_ref2, endOnly) {
+        var pageX = _ref2.pageX,
+            pageY = _ref2.pageY;
+
+        var end = {
+            endX: pageX,
+            endY: pageY
+        };
+
+        return endOnly ? end : assign({
+            startX: pageX,
+            startY: pageY
+        }, end);
     }
-  };
 
-  var handlers = {
-    click: function click(_ref) {
-      var target = _ref.target;
-      var options = this.options,
-          imageData = this.imageData;
+    /**
+     * Get the center point coordinate of a group of pointers.
+     * @param {Object} pointers - The target pointers.
+     * @returns {Object} The center point coordinate.
+     */
+    function getPointersCenter(pointers) {
+        var pageX = 0;
+        var pageY = 0;
+        var count = 0;
 
-      var action = getData(target, 'action');
+        forEach(pointers, function (_ref3) {
+            var startX = _ref3.startX,
+                startY = _ref3.startY;
 
-      switch (action) {
-        case 'mix':
-          if (this.played) {
-            this.stop();
-          } else if (options.inline) {
-            if (this.fulled) {
-              this.exit();
-            } else {
-              this.full();
+            pageX += startX;
+            pageY += startY;
+            count += 1;
+        });
+
+        pageX /= count;
+        pageY /= count;
+
+        return {
+            pageX: pageX,
+            pageY: pageY
+        };
+    }
+
+    var render = {
+        render: function render() {
+            this.initContainer();
+            this.initViewer();
+            this.initList();
+            this.renderViewer();
+        },
+        initContainer: function initContainer() {
+            this.containerData = {
+                width: window.innerWidth,
+                height: window.innerHeight
+            };
+        },
+        initViewer: function initViewer() {
+            var options = this.options,
+                parent = this.parent;
+
+            var viewerData = void 0;
+
+            if (options.inline) {
+                viewerData = {
+                    width: Math.max(parent.offsetWidth, options.minWidth),
+                    height: Math.max(parent.offsetHeight, options.minHeight)
+                };
+
+                this.parentData = viewerData;
             }
-          } else {
-            this.hide();
-          }
 
-          break;
+            if (this.fulled || !viewerData) {
+                viewerData = this.containerData;
+            }
 
-        case 'hide':
-          this.hide();
-          break;
+            this.viewerData = assign({}, viewerData);
+        },
+        renderViewer: function renderViewer() {
+            if (this.options.inline && !this.fulled) {
+                setStyle(this.viewer, this.viewerData);
+            }
+        },
+        initList: function initList() {
+            var _this = this;
 
-        case 'view':
-          this.view(getData(target, 'index'));
-          break;
+            var element = this.element,
+                options = this.options,
+                list = this.list;
 
-        case 'zoom-in':
-          this.zoom(0.1, true);
-          break;
+            var items = [];
 
-        case 'zoom-out':
-          this.zoom(-0.1, true);
-          break;
+            var dealOriginal= this.dealOriginal;
 
-        case 'one-to-one':
-          this.toggle();
-          break;
+            forEach(this.images, function (image, i) {
+                var src = image.src;
 
-        case 'reset':
-          this.reset();
-          break;
+                var alt = image.alt;// || getImageNameFromURL(src);
+                var url = options.url;
 
-        case 'prev':
-          this.prev(options.loop);
-          break;
 
-        case 'play':
-          this.play(options.fullscreen);
-          break;
+                var url_original = options.url_original;
 
-        case 'next':
-          this.next(options.loop);
-          break;
+                if (isString(url_original)) {
+                    url_original = image.getAttribute(url_original);
+                } else if (isFunction(url_original)) {
+                    url_original = url_original.call(_this, image);
+                }
+                if (dealOriginal.includes(url_original))
+                {
+                    url=url_original;
+                }else {
+                    if (isString(url)) {
+                        url = image.getAttribute(url);
+                    } else if (isFunction(url)) {
+                        url = url.call(_this, image);
+                    }
+                }
 
-        case 'rotate-left':
-          this.rotate(-90);
-          break;
+                if (src || url) {
+                    items.push('<li>' + '<img' + (' src="' + (src || url) + '"') + ' role="button"' + ' data-action="view"' + (' data-index="' + i + '"') + (' data-original-url="' + (url || src) + '"') + (' data-deal-url="' + (url_original || src) + '"') + (' alt="' + alt + '"') + '>' + '</li>');
+                }
+            });
 
-        case 'rotate-right':
-          this.rotate(90);
-          break;
+            list.innerHTML = items.join('');
+            this.items = list.getElementsByTagName('li');
+            forEach(this.items, function (item) {
+                var image = item.firstElementChild;
 
-        case 'flip-horizontal':
-          this.scaleX(-imageData.scaleX || -1);
-          break;
+                setData(image, 'filled', true);
 
-        case 'flip-vertical':
-          this.scaleY(-imageData.scaleY || -1);
-          break;
+                if (options.loading) {
+                    addClass(item, CLASS_LOADING);
+                }
 
-        default:
-          if (this.played) {
-            this.stop();
-          }
-      }
-    },
-    load: function load() {
-      var _this = this;
+                addListener(image, EVENT_LOAD, function (event) {
+                    if (options.loading) {
+                        removeClass(item, CLASS_LOADING);
+                    }
 
-      if (this.timeout) {
-        clearTimeout(this.timeout);
-        this.timeout = false;
-      }
+                    _this.loadImage(event);
+                }, {
+                    once: true
+                });
+            });
 
-      var element = this.element,
-          options = this.options,
-          image = this.image,
-          index = this.index,
-          viewerData = this.viewerData;
+            if (options.transition) {
+                addListener(element, EVENT_VIEWED, function () {
+                    addClass(list, CLASS_TRANSITION);
+                }, {
+                    once: true
+                });
+            }
+        },
+        renderList: function renderList(index) {
+            var i = index || this.index;
+            var width = this.items[i].offsetWidth || 30;
+            var outerWidth = width + 1; // 1 pixel of `margin-left` width
+
+            // Place the active item in the center of the screen
+            setStyle(this.list, assign({
+                width: outerWidth * this.length
+            }, getTransforms({
+                translateX: (this.viewerData.width - width) / 2 - outerWidth * i
+            })));
+        },
+        resetList: function resetList() {
+            var list = this.list;
+
+
+            list.innerHTML = '';
+            removeClass(list, CLASS_TRANSITION);
+            setStyle(list, getTransforms({
+                translateX: 0
+            }));
+        },
+        initImage: function initImage(done) {
+            var _this2 = this;
+            var options = this.options,
+                image = this.image,
+                viewerData = this.viewerData;
+            var footerHeight = this.footer.offsetHeight;
+            var viewerWidth = viewerData.width;
+            var viewerHeight = Math.max(viewerData.height - footerHeight, footerHeight);
+            var oldImageData = this.imageData || {};
+            var sizingImage = void 0;
+
+            this.imageInitializing = {
+                abort: function abort() {
+                    sizingImage.onload = null;
+                }
+            };
 
+            sizingImage = getImageNaturalSizes(image, function (naturalWidth, naturalHeight) {
+                var aspectRatio = naturalWidth / naturalHeight;
+                var width = viewerWidth;
+                var height = viewerHeight;
 
-      removeClass(image, CLASS_INVISIBLE);
+                _this2.imageInitializing = false;
 
-      if (options.loading) {
-        removeClass(this.canvas, CLASS_LOADING);
-      }
+                if (viewerHeight * aspectRatio > viewerWidth) {
+                    height = viewerWidth / aspectRatio;
+                } else {
+                    width = viewerHeight * aspectRatio;
+                }
 
-      image.style.cssText = 'height:0;' + ('margin-left:' + viewerData.width / 2 + 'px;') + ('margin-top:' + viewerData.height / 2 + 'px;') + 'max-width:none!important;' + 'position:absolute;' + 'width:0;';
+                // width = Math.min(width * 0.9, naturalWidth);
+                // height = Math.min(height * 0.9, naturalHeight);
+
+                width = Math.min(width , naturalWidth);
+                height = Math.min(height, naturalHeight);
+
+                var imageData = {
+                    naturalWidth: naturalWidth,
+                    naturalHeight: naturalHeight,
+                    aspectRatio: aspectRatio,
+                    ratio: width / naturalWidth,
+                    width: width,
+                    height: height,
+                    left: (viewerWidth - width) / 2,
+                    top: (viewerHeight - height) / 2
+                };
+                var initialImageData = assign({}, imageData);
+
+                if (options.rotatable) {
+                    imageData.rotate = oldImageData.rotate || 0;
+                    initialImageData.rotate = 0;
+                }
 
-      this.initImage(function () {
-        toggleClass(image, CLASS_MOVE, options.movable);
-        toggleClass(image, CLASS_TRANSITION, options.transition);
+                if (options.scalable) {
+                    imageData.scaleX = oldImageData.scaleX || 1;
+                    imageData.scaleY = oldImageData.scaleY || 1;
+                    initialImageData.scaleX = 1;
+                    initialImageData.scaleY = 1;
+                }
 
-        _this.renderImage(function () {
-          _this.viewed = true;
-          _this.viewing = false;
+                _this2.imageData = imageData;
+                _this2.initialImageData = initialImageData;
 
-          if (isFunction(options.viewed)) {
-            addListener(element, EVENT_VIEWED, options.viewed, {
-              once: true
+                if (done) {
+                    done();
+                }
             });
-          }
+        },
+        renderImage: function renderImage(done) {
+            var _this3 = this;
+
+            var image = this.image,
+                imageData = this.imageData;
+
+
+            setStyle(image, assign({
+                width: imageData.width,
+                height: imageData.height,
+                marginLeft: imageData.left,
+                marginTop: imageData.top
+            }, getTransforms(imageData)));
+
+            if (done) {
+                if (this.viewing && this.options.transition) {
+                    var onTransitionEnd = function onTransitionEnd() {
+                        _this3.imageRendering = false;
+                        done();
+                    };
+
+                    this.imageRendering = {
+                        abort: function abort() {
+                            removeListener(image, EVENT_TRANSITION_END, onTransitionEnd);
+                        }
+                    };
+
+                    addListener(image, EVENT_TRANSITION_END, onTransitionEnd, {
+                        once: true
+                    });
+                } else {
+                    done();
+                }
+            }
+        },
+        resetImage: function resetImage() {
+            // this.image only defined after viewed
+            if (this.viewing || this.viewed) {
+                var image = this.image;
 
-          dispatchEvent(element, EVENT_VIEWED, {
-            originalImage: _this.images[index],
-            index: index,
-            image: image
-          });
-        });
-      });
-    },
-    loadImage: function loadImage(e) {
-      var image = e.target;
-      var parent = image.parentNode;
-      var parentWidth = parent.offsetWidth || 30;
-      var parentHeight = parent.offsetHeight || 50;
-      var filled = !!getData(image, 'filled');
-
-      getImageNaturalSizes(image, function (naturalWidth, naturalHeight) {
-        var aspectRatio = naturalWidth / naturalHeight;
-        var width = parentWidth;
-        var height = parentHeight;
-
-        if (parentHeight * aspectRatio > parentWidth) {
-          if (filled) {
-            width = parentHeight * aspectRatio;
-          } else {
-            height = parentWidth / aspectRatio;
-          }
-        } else if (filled) {
-          height = parentWidth / aspectRatio;
-        } else {
-          width = parentHeight * aspectRatio;
+
+                if (this.viewing) {
+                    this.viewing.abort();
+                }
+
+                image.parentNode.removeChild(image);
+                this.image = null;
+            }
         }
+    };
 
-        setStyle(image, assign({
-          width: width,
-          height: height
-        }, getTransforms({
-          translateX: (parentWidth - width) / 2,
-          translateY: (parentHeight - height) / 2
-        })));
-      });
-    },
-    keydown: function keydown(e) {
-      var options = this.options;
-
-
-      if (!this.fulled || !options.keyboard) {
-        return;
-      }
-
-      switch (e.keyCode || e.which || e.charCode) {
-        // Escape
-        case 27:
-          if (this.played) {
-            this.stop();
-          } else if (options.inline) {
-            if (this.fulled) {
-              this.exit();
-            }
-          } else {
-            this.hide();
-          }
-
-          break;
-
-        // Space
-        case 32:
-          if (this.played) {
-            this.stop();
-          }
-
-          break;
-
-        // ArrowLeft
-        case 37:
-          this.prev(options.loop);
-          break;
-
-        // ArrowUp
-        case 38:
-          // Prevent scroll on Firefox
-          e.preventDefault();
-
-          // Zoom in
-          this.zoom(options.zoomRatio, true);
-          break;
-
-        // ArrowRight
-        case 39:
-          this.next(options.loop);
-          break;
-
-        // ArrowDown
-        case 40:
-          // Prevent scroll on Firefox
-          e.preventDefault();
-
-          // Zoom out
-          this.zoom(-options.zoomRatio, true);
-          break;
-
-        // Ctrl + 0
-        case 48:
-        // Fall through
-
-        // Ctrl + 1
-        // eslint-disable-next-line no-fallthrough
-        case 49:
-          if (e.ctrlKey) {
-            e.preventDefault();
-            this.toggle();
-          }
-
-          break;
-
-        default:
-      }
-    },
-    dragstart: function dragstart(e) {
-      if (e.target.tagName.toLowerCase() === 'img') {
-        e.preventDefault();
-      }
-    },
-    pointerdown: function pointerdown(e) {
-      var options = this.options,
-          pointers = this.pointers;
-
-
-      if (!this.viewed || this.showing || this.viewing || this.hiding) {
-        return;
-      }
-
-      if (e.changedTouches) {
-        forEach(e.changedTouches, function (touch) {
-          pointers[touch.identifier] = getPointer(touch);
-        });
-      } else {
-        pointers[e.pointerId || 0] = getPointer(e);
-      }
+    var events = {
+        bind: function bind() {
+            var element = this.element,
+                viewer = this.viewer;
 
-      var action = options.movable ? ACTION_MOVE : false;
 
-      if (Object.keys(pointers).length > 1) {
-        action = ACTION_ZOOM;
-      } else if ((e.pointerType === 'touch' || e.type === 'touchstart') && this.isSwitchable()) {
-        action = ACTION_SWITCH;
-      }
+            addListener(viewer, EVENT_CLICK, this.onClick = this.click.bind(this));
+            addListener(viewer, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));
+            addListener(viewer, EVENT_DRAG_START, this.onDragStart = this.dragstart.bind(this));
+            addListener(this.canvas, EVENT_POINTER_DOWN, this.onPointerDown = this.pointerdown.bind(this));
+            addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onPointerMove = this.pointermove.bind(this));
+            addListener(element.ownerDocument, EVENT_POINTER_UP, this.onPointerUp = this.pointerup.bind(this));
+            addListener(element.ownerDocument, EVENT_KEY_DOWN, this.onKeyDown = this.keydown.bind(this));
+            addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));
+        },
+        unbind: function unbind() {
+            var element = this.element,
+                viewer = this.viewer;
+
+
+            removeListener(viewer, EVENT_CLICK, this.onClick);
+            removeListener(viewer, EVENT_WHEEL, this.onWheel);
+            removeListener(viewer, EVENT_DRAG_START, this.onDragStart);
+            removeListener(this.canvas, EVENT_POINTER_DOWN, this.onPointerDown);
+            removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onPointerMove);
+            removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onPointerUp);
+            removeListener(element.ownerDocument, EVENT_KEY_DOWN, this.onKeyDown);
+            removeListener(window, EVENT_RESIZE, this.onResize);
+        }
+    };
 
-      this.action = action;
-    },
-    pointermove: function pointermove(e) {
-      var options = this.options,
-          pointers = this.pointers,
-          action = this.action,
-          image = this.image;
+    var handlers = {
+        click: function click(_ref) {
+            var target = _ref.target;
+            var options = this.options,
+                imageData = this.imageData;
+
+            var action = getData(target, 'action');
+            switch (action) {
+                case 'mix':
+                    if (this.played) {
+                        this.stop();
+                    } else if (options.inline) {
+                        if (this.fulled) {
+                            this.exit();
+                        } else {
+                            this.full();
+                        }
+                    } else {
+                        this.hide();
+                    }
+                    break;
+                case 'hide':
+                    this.hide();
+                    break;
+                case 'view':
+                    this.view(getData(target, 'index'));
+                    break;
+                case 'zoom-ins':
+                    this.zoom(0.1, true);
+                    break;
+                case 'zoom-outs':
+                    this.zoom(-0.1, true);
+                    break;
+                case 'reset':
+                    this.reset();
+                    break;
+                case 'prevs':
+                    this.prev(options.loop);
+                    break;
+
+                case 'plays':
+                    this.play(options.fullscreen);
+                    break;
+
+                case 'nexts':
+                    this.next(options.loop);
+                    break;
+
+                case 'one-to-ones':
+                    this.normal();
+                    break;
+
+                //放大
+                case 'enlarge':
+                    this.toggle();
+                    break;
+
+                //case 'rotate-left':
+                //  this.rotate(-90);
+                //  break;
+                //
+                //case 'rotate-right':
+                //  this.rotate(90);
+                //  break;
+                //
+                //case 'flip-horizontal':
+                //  this.scaleX(-imageData.scaleX || -1);
+                //  break;
+                //
+                //case 'flip-vertical':
+                //  this.scaleY(-imageData.scaleY || -1);
+                //  break;
+
+                default:
+                    if (this.played) {
+                        this.stop();
+                        return;
+                    }
+                    this.hide();
+            }
+        },
+        load: function load() {
+            var _this = this;
 
+            if (this.timeout) {
+                clearTimeout(this.timeout);
+                this.timeout = false;
+            }
 
-      if (!this.viewed || !action) {
-        return;
-      }
+            var element = this.element,
+                options = this.options,
+                image = this.image,
+                index = this.index,
+                viewerData = this.viewerData;
 
-      e.preventDefault();
 
-      if (e.changedTouches) {
-        forEach(e.changedTouches, function (touch) {
-          assign(pointers[touch.identifier], getPointer(touch, true));
-        });
-      } else {
-        assign(pointers[e.pointerId || 0], getPointer(e, true));
-      }
+            removeClass(image, CLASS_INVISIBLE);
 
-      if (action === ACTION_MOVE && options.transition && hasClass(image, CLASS_TRANSITION)) {
-        removeClass(image, CLASS_TRANSITION);
-      }
+            if (options.loading) {
+                removeClass(this.canvas, CLASS_LOADING);
+            }
 
-      this.change(e);
-    },
-    pointerup: function pointerup(e) {
-      var action = this.action,
-          pointers = this.pointers;
+            image.style.cssText = 'height:0;' + ('margin-left:' + viewerData.width / 2 + 'px;') + ('margin-top:' + viewerData.height / 2 + 'px;') + 'max-width:none!important;' + 'position:absolute;' + 'width:0;';
 
+            this.initImage(function () {
+                toggleClass(image, CLASS_MOVE, options.movable);
+                toggleClass(image, CLASS_TRANSITION, options.transition);
 
-      if (e.changedTouches) {
-        forEach(e.changedTouches, function (touch) {
-          delete pointers[touch.identifier];
-        });
-      } else {
-        delete pointers[e.pointerId || 0];
-      }
-
-      if (!action) {
-        return;
-      }
-
-      if (action === ACTION_MOVE && this.options.transition) {
-        addClass(this.image, CLASS_TRANSITION);
-      }
-
-      this.action = false;
-    },
-    resize: function resize() {
-      var _this2 = this;
-
-      if (!this.isShown || this.hiding) {
-        return;
-      }
-
-      this.initContainer();
-      this.initViewer();
-      this.renderViewer();
-      this.renderList();
-
-      if (this.viewed) {
-        this.initImage(function () {
-          _this2.renderImage();
-        });
-      }
+                _this.renderImage(function () {
+                    _this.viewed = true;
+                    _this.viewing = false;
 
-      if (this.played) {
-        if (this.options.fullscreen && this.fulled && !document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
-          this.stop();
-          return;
-        }
+                    if (isFunction(options.viewed)) {
+                        addListener(element, EVENT_VIEWED, options.viewed, {
+                            once: true
+                        });
+                    }
 
-        forEach(this.player.getElementsByTagName('img'), function (image) {
-          addListener(image, EVENT_LOAD, _this2.loadImage.bind(_this2), {
-            once: true
-          });
-          dispatchEvent(image, EVENT_LOAD);
-        });
-      }
-    },
-    wheel: function wheel(e) {
-      var _this3 = this;
+                    dispatchEvent(element, EVENT_VIEWED, {
+                        originalImage: _this.images[index],
+                        index: index,
+                        image: image
+                    });
+                });
+            });
+        },
+        loadImage: function loadImage(e) {
+            var image = e.target;
+            var parent = image.parentNode;
+            var parentWidth = parent.offsetWidth || 30;
+            var parentHeight = parent.offsetHeight || 50;
+            var filled = !!getData(image, 'filled');
+
+            getImageNaturalSizes(image, function (naturalWidth, naturalHeight) {
+                var aspectRatio = naturalWidth / naturalHeight;
+                var width = parentWidth;
+                var height = parentHeight;
+
+                if (parentHeight * aspectRatio > parentWidth) {
+                    if (filled) {
+                        width = parentHeight * aspectRatio;
+                    } else {
+                        height = parentWidth / aspectRatio;
+                    }
+                } else if (filled) {
+                    height = parentWidth / aspectRatio;
+                } else {
+                    width = parentHeight * aspectRatio;
+                }
 
-      if (!this.viewed) {
-        return;
-      }
+                setStyle(image, assign({
+                    width: width,
+                    height: height
+                }, getTransforms({
+                    translateX: (parentWidth - width) / 2,
+                    translateY: (parentHeight - height) / 2
+                })));
+            });
+        },
+        keydown: function keydown(e) {
+            var options = this.options;
 
-      e.preventDefault();
 
-      // Limit wheel speed to prevent zoom too fast
-      if (this.wheeling) {
-        return;
-      }
+            if (!this.fulled || !options.keyboard) {
+                return;
+            }
 
-      this.wheeling = true;
+            switch (e.keyCode || e.which || e.charCode) {
+                // Escape
+                case 27:
+                    if (this.played) {
+                        this.stop();
+                    } else if (options.inline) {
+                        if (this.fulled) {
+                            this.exit();
+                        }
+                    } else {
+                        this.hide();
+                    }
+
+                    break;
+
+                // Space
+                case 32:
+                    if (this.played) {
+                        this.stop();
+                    }
+
+                    break;
+
+                // ArrowLeft
+                case 37:
+                    this.prev(options.loop);
+                    break;
+
+                // ArrowUp
+                case 38:
+                    // Prevent scroll on Firefox
+                    e.preventDefault();
+
+                    // Zoom in
+                    this.zoom(options.zoomRatio, true);
+                    break;
+
+                // ArrowRight
+                case 39:
+                    this.next(options.loop);
+                    break;
+
+                // ArrowDown
+                case 40:
+                    // Prevent scroll on Firefox
+                    e.preventDefault();
+
+                    // Zoom out
+                    this.zoom(-options.zoomRatio, true);
+                    break;
+
+                // Ctrl + 0
+                case 48:
+                // Fall through
+
+                // Ctrl + 1
+                // eslint-disable-next-line no-fallthrough
+                case 49:
+                    if (e.ctrlKey) {
+                        e.preventDefault();
+                        this.toggle();
+                    }
+
+                    break;
+
+                default:
+            }
+        },
+        dragstart: function dragstart(e) {
+            if (e.target.tagName.toLowerCase() === 'img') {
+                e.preventDefault();
+            }
+        },
+        pointerdown: function pointerdown(e) {
+            var options = this.options,
+                pointers = this.pointers;
 
-      setTimeout(function () {
-        _this3.wheeling = false;
-      }, 50);
 
-      var ratio = Number(this.options.zoomRatio) || 0.1;
-      var delta = 1;
+            if (!this.viewed || this.showing || this.viewing || this.hiding) {
+                return;
+            }
 
-      if (e.deltaY) {
-        delta = e.deltaY > 0 ? 1 : -1;
-      } else if (e.wheelDelta) {
-        delta = -e.wheelDelta / 120;
-      } else if (e.detail) {
-        delta = e.detail > 0 ? 1 : -1;
-      }
+            if (e.changedTouches) {
+                forEach(e.changedTouches, function (touch) {
+                    pointers[touch.identifier] = getPointer(touch);
+                });
+            } else {
+                pointers[e.pointerId || 0] = getPointer(e);
+            }
 
-      this.zoom(-delta * ratio, true, e);
-    }
-  };
+            var action = options.movable ? ACTION_MOVE : false;
 
-  var methods = {
-    /** Show the viewer (only available in modal mode)
-     * @param {boolean} [immediate=false] - Indicates if show the viewer immediately or not.
-     * @returns {Viewer} this
-     */
-    show: function show() {
-      var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var element = this.element,
-          options = this.options;
+            if (Object.keys(pointers).length > 1) {
+                action = ACTION_ZOOM;
+            } else if ((e.pointerType === 'touch' || e.type === 'touchstart') && this.isSwitchable()) {
+                action = ACTION_SWITCH;
+            }
 
+            this.action = action;
+        },
+        pointermove: function pointermove(e) {
+            var options = this.options,
+                pointers = this.pointers,
+                action = this.action,
+                image = this.image;
 
-      if (options.inline || this.showing || this.isShown || this.showing) {
-        return this;
-      }
 
-      if (!this.ready) {
-        this.build();
+            if (!this.viewed || !action) {
+                return;
+            }
 
-        if (this.ready) {
-          this.show(immediate);
-        }
+            e.preventDefault();
 
-        return this;
-      }
+            if (e.changedTouches) {
+                forEach(e.changedTouches, function (touch) {
+                    assign(pointers[touch.identifier], getPointer(touch, true));
+                });
+            } else {
+                var pointerTmep=pointers[e.pointerId || 0];
+                if (pointerTmep==null||pointerTmep==undefined)
+                {
+                    return;
+                }
+                assign(pointerTmep, getPointer(e, true));
+            }
 
-      if (isFunction(options.show)) {
-        addListener(element, EVENT_SHOW, options.show, {
-          once: true
-        });
-      }
+            if (action === ACTION_MOVE && options.transition && hasClass(image, CLASS_TRANSITION)) {
+                removeClass(image, CLASS_TRANSITION);
+            }
 
-      if (dispatchEvent(element, EVENT_SHOW) === false || !this.ready) {
-        return this;
-      }
+            this.change(e);
+        },
+        pointerup: function pointerup(e) {
+            var action = this.action,
+                pointers = this.pointers;
 
-      if (this.hiding) {
-        this.transitioning.abort();
-      }
 
-      this.showing = true;
-      this.open();
+            if (e.changedTouches) {
+                forEach(e.changedTouches, function (touch) {
+                    delete pointers[touch.identifier];
+                });
+            } else {
+                delete pointers[e.pointerId || 0];
+            }
 
-      var viewer = this.viewer;
+            if (!action) {
+                return;
+            }
 
+            if (action === ACTION_MOVE && this.options.transition) {
+                addClass(this.image, CLASS_TRANSITION);
+            }
 
-      removeClass(viewer, CLASS_HIDE);
+            this.action = false;
+        },
+        resize: function resize() {
+            var _this2 = this;
 
-      if (options.transition && !immediate) {
-        var shown = this.shown.bind(this);
+            if (!this.isShown || this.hiding) {
+                return;
+            }
 
-        this.transitioning = {
-          abort: function abort() {
-            removeListener(viewer, EVENT_TRANSITION_END, shown);
-            removeClass(viewer, CLASS_IN);
-          }
-        };
+            this.initContainer();
+            this.initViewer();
+            this.renderViewer();
+            this.renderList();
 
-        addClass(viewer, CLASS_TRANSITION);
+            if (this.viewed) {
+                this.initImage(function () {
+                    _this2.renderImage();
+                });
+            }
 
-        // Force reflow to enable CSS3 transition
-        // eslint-disable-next-line
-        viewer.offsetWidth;
-        addListener(viewer, EVENT_TRANSITION_END, shown, {
-          once: true
-        });
-        addClass(viewer, CLASS_IN);
-      } else {
-        addClass(viewer, CLASS_IN);
-        this.shown();
-      }
+            if (this.played) {
+                if (this.options.fullscreen && this.fulled && !document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
+                    this.stop();
+                    return;
+                }
 
-      return this;
-    },
+                forEach(this.player.getElementsByTagName('img'), function (image) {
+                    addListener(image, EVENT_LOAD, _this2.loadImage.bind(_this2), {
+                        once: true
+                    });
+                    dispatchEvent(image, EVENT_LOAD);
+                });
+            }
+        },
+        wheel: function wheel(e) {
+            var _this3 = this;
 
+            if (!this.viewed) {
+                return;
+            }
 
-    /**
-     * Hide the viewer (only available in modal mode)
-     * @param {boolean} [immediate=false] - Indicates if hide the viewer immediately or not.
-     * @returns {Viewer} this
-     */
-    hide: function hide() {
-      var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var element = this.element,
-          options = this.options;
+            e.preventDefault();
 
+            // Limit wheel speed to prevent zoom too fast
+            if (this.wheeling) {
+                return;
+            }
 
-      if (options.inline || this.hiding || !(this.isShown || this.showing)) {
-        return this;
-      }
+            this.wheeling = true;
 
-      if (isFunction(options.hide)) {
-        addListener(element, EVENT_HIDE, options.hide, {
-          once: true
-        });
-      }
+            setTimeout(function () {
+                _this3.wheeling = false;
+            }, 50);
 
-      if (dispatchEvent(element, EVENT_HIDE) === false) {
-        return this;
-      }
+            var ratio = Number(this.options.zoomRatio) || 0.1;
+            var delta = 1;
 
-      if (this.showing) {
-        this.transitioning.abort();
-      }
+            if (e.deltaY) {
+                delta = e.deltaY > 0 ? 1 : -1;
+            } else if (e.wheelDelta) {
+                delta = -e.wheelDelta / 120;
+            } else if (e.detail) {
+                delta = e.detail > 0 ? 1 : -1;
+            }
 
-      this.hiding = true;
+            this.zoom(-delta * ratio, true, e);
+        }
+    };
 
-      if (this.played) {
-        this.stop();
-      } else if (this.viewing) {
-        this.viewing.abort();
-      }
+    var methods = {
+        /** Show the viewer (only available in modal mode)
+         * @param {boolean} [immediate=false] - Indicates if show the viewer immediately or not.
+         * @returns {Viewer} this
+         */
+        show: function show() {
+            var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+            var element = this.element,
+                options = this.options;
 
-      var viewer = this.viewer;
 
+            if (options.inline || this.showing || this.isShown || this.showing) {
+                return this;
+            }
 
-      if (options.transition && !immediate) {
-        var hidden = this.hidden.bind(this);
-        var hide = function hide() {
-          addListener(viewer, EVENT_TRANSITION_END, hidden, {
-            once: true
-          });
-          removeClass(viewer, CLASS_IN);
-        };
+            if (!this.ready) {
+                this.build();
 
-        this.transitioning = {
-          abort: function abort() {
-            if (this.viewed) {
-              removeListener(this.image, EVENT_TRANSITION_END, hide);
-            } else {
-              removeListener(viewer, EVENT_TRANSITION_END, hidden);
+                if (this.ready) {
+                    this.show(immediate);
+                }
+
+                return this;
             }
-          }
-        };
 
-        if (this.viewed) {
-          addListener(this.image, EVENT_TRANSITION_END, hide, {
-            once: true
-          });
-          this.zoomTo(0, false, false, true);
-        } else {
-          hide();
-        }
-      } else {
-        removeClass(viewer, CLASS_IN);
-        this.hidden();
-      }
+            if (isFunction(options.show)) {
+                addListener(element, EVENT_SHOW, options.show, {
+                    once: true
+                });
+            }
 
-      return this;
-    },
+            if (dispatchEvent(element, EVENT_SHOW) === false || !this.ready) {
+                return this;
+            }
 
+            if (this.hiding) {
+                this.transitioning.abort();
+            }
 
-    /**
-     * View one of the images with image's index
-     * @param {number} index - The index of the image to view.
-     * @returns {Viewer} this
-     */
-    view: function view() {
-      var _this = this;
+            this.showing = true;
+            this.open();
 
-      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
+            var viewer = this.viewer;
 
-      index = Number(index) || 0;
 
-      if (!this.isShown) {
-        this.index = index;
-        return this.show();
-      }
+            removeClass(viewer, CLASS_HIDE);
 
-      if (this.hiding || this.played || index < 0 || index >= this.length || this.viewed && index === this.index) {
-        return this;
-      }
+            if (options.transition && !immediate) {
+                var shown = this.shown.bind(this);
 
-      if (this.viewing) {
-        this.viewing.abort();
-      }
+                this.transitioning = {
+                    abort: function abort() {
+                        removeListener(viewer, EVENT_TRANSITION_END, shown);
+                        removeClass(viewer, CLASS_IN);
+                    }
+                };
 
-      var element = this.element,
-          options = this.options,
-          title = this.title,
-          canvas = this.canvas;
+                addClass(viewer, CLASS_TRANSITION);
 
-      var item = this.items[index];
-      var img = item.querySelector('img');
-      var url = getData(img, 'originalUrl');
-      var alt = img.getAttribute('alt');
-      var image = document.createElement('img');
+                // Force reflow to enable CSS3 transition
+                // eslint-disable-next-line
+                viewer.offsetWidth;
+                addListener(viewer, EVENT_TRANSITION_END, shown, {
+                    once: true
+                });
+                addClass(viewer, CLASS_IN);
+            } else {
+                addClass(viewer, CLASS_IN);
+                this.shown();
+            }
 
-      image.src = url;
-      image.alt = alt;
+            return this;
+        },
 
-      if (isFunction(options.view)) {
-        addListener(element, EVENT_VIEW, options.view, {
-          once: true
-        });
-      }
 
-      if (dispatchEvent(element, EVENT_VIEW, {
-        originalImage: this.images[index],
-        index: index,
-        image: image
-      }) === false || !this.isShown || this.hiding || this.played) {
-        return this;
-      }
+        /**
+         * Hide the viewer (only available in modal mode)
+         * @param {boolean} [immediate=false] - Indicates if hide the viewer immediately or not.
+         * @returns {Viewer} this
+         */
+        hide: function hide() {
+            var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+            var element = this.element,
+                options = this.options;
 
-      this.image = image;
-      removeClass(this.items[this.index], CLASS_ACTIVE);
-      addClass(item, CLASS_ACTIVE);
-      this.viewed = false;
-      this.index = index;
-      this.imageData = {};
-      addClass(image, CLASS_INVISIBLE);
 
-      if (options.loading) {
-        addClass(canvas, CLASS_LOADING);
-      }
+            if (options.inline || this.hiding || !(this.isShown || this.showing)) {
+                return this;
+            }
 
-      canvas.innerHTML = '';
-      canvas.appendChild(image);
+            if (isFunction(options.hide)) {
+                addListener(element, EVENT_HIDE, options.hide, {
+                    once: true
+                });
+            }
 
-      // Center current item
-      this.renderList();
+            if (dispatchEvent(element, EVENT_HIDE) === false) {
+                return this;
+            }
 
-      // Clear title
-      title.innerHTML = '';
+            if (this.showing) {
+                this.transitioning.abort();
+            }
 
-      // Generate title after viewed
-      var onViewed = function onViewed() {
-        var imageData = _this.imageData;
+            this.hiding = true;
 
+            if (this.played) {
+                this.stop();
+            } else if (this.viewing) {
+                this.viewing.abort();
+            }
 
-        title.textContent = alt + ' (' + imageData.naturalWidth + ' \xD7 ' + imageData.naturalHeight + ')';
-      };
-      var onLoad = void 0;
+            var viewer = this.viewer;
+
+
+            if (options.transition && !immediate) {
+                var hidden = this.hidden.bind(this);
+                var hide = function hide() {
+                    addListener(viewer, EVENT_TRANSITION_END, hidden, {
+                        once: true
+                    });
+                    removeClass(viewer, CLASS_IN);
+                };
+
+                this.transitioning = {
+                    abort: function abort() {
+                        if (this.viewed) {
+                            removeListener(this.image, EVENT_TRANSITION_END, hide);
+                        } else {
+                            removeListener(viewer, EVENT_TRANSITION_END, hidden);
+                        }
+                    }
+                };
+
+                if (this.viewed) {
+                    addListener(this.image, EVENT_TRANSITION_END, hide, {
+                        once: true
+                    });
+                    this.zoomTo(0, false, false, true);
+                } else {
+                    hide();
+                }
+            } else {
+                removeClass(viewer, CLASS_IN);
+                this.hidden();
+            }
+
+            return this;
+        },
+
+
+        /**
+         * View one of the images with image's index
+         * @param {number} index - The index of the image to view.
+         * @returns {Viewer} this
+         */
+        view: function view() {
+            var _this = this;
 
-      addListener(element, EVENT_VIEWED, onViewed, {
-        once: true
-      });
+            var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
 
-      this.viewing = {
-        abort: function abort() {
-          removeListener(element, EVENT_VIEWED, onViewed);
+            var mandatory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-          if (image.complete) {
-            if (this.imageRendering) {
-              this.imageRendering.abort();
-            } else if (this.imageInitializing) {
-              this.imageInitializing.abort();
+            index = Number(index) || 0;
+
+            if (!this.isShown) {
+                this.index = index;
+                return this.show();
             }
-          } else {
-            removeListener(image, EVENT_LOAD, onLoad);
 
-            if (this.timeout) {
-              clearTimeout(this.timeout);
+            if (!mandatory)
+            {
+                if (this.hiding || this.played || index < 0 || index >= this.length || this.viewed && index === this.index) {
+                    return this;
+                }
             }
-          }
-        }
-      };
 
-      if (image.complete) {
-        this.load();
-      } else {
-        addListener(image, EVENT_LOAD, onLoad = this.load.bind(this), {
-          once: true
-        });
 
-        if (this.timeout) {
-          clearTimeout(this.timeout);
-        }
+            if (this.viewing) {
+                this.viewing.abort();
+            }
+            var element = this.element,
+                options = this.options,
+                title = this.title,
+                canvas = this.canvas;
 
-        // Make the image visible if it fails to load within 1s
-        this.timeout = setTimeout(function () {
-          removeClass(image, CLASS_INVISIBLE);
-          _this.timeout = false;
-        }, 1000);
-      }
+            var item = this.items[index];
+            var img = item.querySelector('img');
+            var url = getData(img, 'originalUrl');
 
-      return this;
-    },
+            var alt = img.getAttribute('alt');
+            var image = document.createElement('img');
 
+            image.src = url;
+            image.alt = alt;
 
-    /**
-     * View the previous image
-     * @param {boolean} [loop=false] - Indicate if view the last one
-     * when it is the first one at present.
-     * @returns {Viewer} this
-     */
-    prev: function prev() {
-      var loop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+            if (isFunction(options.view)) {
+                addListener(element, EVENT_VIEW, options.view, {
+                    once: true
+                });
+            }
 
-      var index = this.index - 1;
+            if (dispatchEvent(element, EVENT_VIEW, {
+                originalImage: this.images[index],
+                index: index,
+                image: image
+            }) === false || !this.isShown || this.hiding || this.played) {
+                return this;
+            }
 
-      if (index < 0) {
-        index = loop ? this.length - 1 : 0;
-      }
+            this.image = image;
+            removeClass(this.items[this.index], CLASS_ACTIVE);
+            addClass(item, CLASS_ACTIVE);
+            this.viewed = false;
+            this.index = index;
+            this.imageData = {};
+            addClass(image, CLASS_INVISIBLE);
 
-      this.view(index);
-      return this;
-    },
+            if (options.loading) {
+                addClass(canvas, CLASS_LOADING);
+            }
 
+            canvas.innerHTML = '';
+            canvas.appendChild(image);
 
-    /**
-     * View the next image
-     * @param {boolean} [loop=false] - Indicate if view the first one
-     * when it is the last one at present.
-     * @returns {Viewer} this
-     */
-    next: function next() {
-      var loop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+            // Center current item
+            this.renderList();
 
-      var maxIndex = this.length - 1;
-      var index = this.index + 1;
+            // Clear title
+            // title.innerHTML = '';
+            title.textContent = (_this.index+1)+'/'+_this.images.length;
+            // Generate title after viewed
+            var onViewed = function onViewed() {
+                // var imageData = _this.imageData;
+                // title.textContent = alt + ' (' + imageData.naturalWidth + ' \xD7 ' + imageData.naturalHeight + ')';
 
-      if (index > maxIndex) {
-        index = loop ? 0 : maxIndex;
-      }
+            };
 
-      this.view(index);
-      return this;
-    },
+            if (this.dealOriginal.includes(url))
+            {
+                $('.viewer-one-to-ones').css('display','none');
+            }else {
+                $('.viewer-one-to-ones').css('display','block');
+            }
+            var onLoad = void 0;
+            addListener(element, EVENT_VIEWED, onViewed, {
+                once: true
+            });
 
+            this.viewing = {
+                abort: function abort() {
+                    removeListener(element, EVENT_VIEWED, onViewed);
+
+                    if (image.complete) {
+                        if (this.imageRendering) {
+                            this.imageRendering.abort();
+                        } else if (this.imageInitializing) {
+                            this.imageInitializing.abort();
+                        }
+                    } else {
+                        removeListener(image, EVENT_LOAD, onLoad);
+
+                        if (this.timeout) {
+                            clearTimeout(this.timeout);
+                        }
+                    }
+                }
+            };
 
-    /**
-     * Move the image with relative offsets.
-     * @param {number} offsetX - The relative offset distance on the x-axis.
-     * @param {number} offsetY - The relative offset distance on the y-axis.
-     * @returns {Viewer} this
-     */
-    move: function move(offsetX, offsetY) {
-      var imageData = this.imageData;
+            if (image.complete) {
+                this.load();
+            } else {
+                addListener(image, EVENT_LOAD, onLoad = this.load.bind(this), {
+                    once: true
+                });
 
+                if (this.timeout) {
+                    clearTimeout(this.timeout);
+                }
+
+                // Make the image visible if it fails to load within 1s
+                this.timeout = setTimeout(function () {
+                    removeClass(image, CLASS_INVISIBLE);
+                    _this.timeout = false;
+                }, 1000);
+            }
+
+            return this;
+        },
+
+
+        /**
+         * View the previous image
+         * @param {boolean} [loop=false] - Indicate if view the last one
+         * when it is the first one at present.
+         * @returns {Viewer} this
+         */
+        prev: function prev() {
+            var loop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+
+            var index = this.index - 1;
+
+            if (index < 0) {
+                index = loop ? this.length - 1 : 0;
+            }
 
-      this.moveTo(isUndefined(offsetX) ? offsetX : imageData.left + Number(offsetX), isUndefined(offsetY) ? offsetY : imageData.top + Number(offsetY));
+            this.view(index);
+            return this;
+        },
 
-      return this;
-    },
 
+        /**
+         * View the next image
+         * @param {boolean} [loop=false] - Indicate if view the first one
+         * when it is the last one at present.
+         * @returns {Viewer} this
+         */
+        next: function next() {
+            var loop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 
-    /**
-     * Move the image to an absolute point.
-     * @param {number} x - The x-axis coordinate.
-     * @param {number} [y=x] - The y-axis coordinate.
-     * @returns {Viewer} this
-     */
-    moveTo: function moveTo(x) {
-      var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;
-      var imageData = this.imageData;
+            var maxIndex = this.length - 1;
+            var index = this.index + 1;
 
+            if (index > maxIndex) {
+                index = loop ? 0 : maxIndex;
+            }
 
-      x = Number(x);
-      y = Number(y);
+            this.view(index);
+            return this;
+        },
+        normal: function normal() {
+            var index = this.index;
+            var item = this.items[index];
+            var img = item.querySelector('img');
+            var dealUrl = getData(img, 'dealUrl');
+            if (this.dealOriginal.includes(dealUrl))
+            {
+                return this;
+            }
+            this.dealOriginal.push(dealUrl);
+            setData(img,'originalUrl',dealUrl);
+            this.view(index,true);
+            return this;
+        },
 
-      if (this.viewed && !this.played && this.options.movable) {
-        var changed = false;
 
-        if (isNumber(x)) {
-          imageData.left = x;
-          changed = true;
-        }
+        /**
+         * Move the image with relative offsets.
+         * @param {number} offsetX - The relative offset distance on the x-axis.
+         * @param {number} offsetY - The relative offset distance on the y-axis.
+         * @returns {Viewer} this
+         */
+        move: function move(offsetX, offsetY) {
+            var imageData = this.imageData;
 
-        if (isNumber(y)) {
-          imageData.top = y;
-          changed = true;
-        }
 
-        if (changed) {
-          this.renderImage();
-        }
-      }
+            this.moveTo(isUndefined(offsetX) ? offsetX : imageData.left + Number(offsetX), isUndefined(offsetY) ? offsetY : imageData.top + Number(offsetY));
 
-      return this;
-    },
+            return this;
+        },
 
 
-    /**
-     * Zoom the image with a relative ratio.
-     * @param {number} ratio - The target ratio.
-     * @param {boolean} [hasTooltip=false] - Indicates if it has a tooltip or not.
-     * @param {Event} [_originalEvent=null] - The original event if any.
-     * @returns {Viewer} this
-     */
-    zoom: function zoom(ratio) {
-      var hasTooltip = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+        /**
+         * Move the image to an absolute point.
+         * @param {number} x - The x-axis coordinate.
+         * @param {number} [y=x] - The y-axis coordinate.
+         * @returns {Viewer} this
+         */
+        moveTo: function moveTo(x) {
+            var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;
+            var imageData = this.imageData;
 
-      var _originalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
 
-      var imageData = this.imageData;
+            x = Number(x);
+            y = Number(y);
 
+            if (this.viewed && !this.played && this.options.movable) {
+                var changed = false;
 
-      ratio = Number(ratio);
+                if (isNumber(x)) {
+                    imageData.left = x;
+                    changed = true;
+                }
 
-      if (ratio < 0) {
-        ratio = 1 / (1 - ratio);
-      } else {
-        ratio = 1 + ratio;
-      }
+                if (isNumber(y)) {
+                    imageData.top = y;
+                    changed = true;
+                }
 
-      this.zoomTo(imageData.width * ratio / imageData.naturalWidth, hasTooltip, _originalEvent);
+                if (changed) {
+                    this.renderImage();
+                }
+            }
 
-      return this;
-    },
+            return this;
+        },
 
 
-    /**
-     * Zoom the image to an absolute ratio.
-     * @param {number} ratio - The target ratio.
-     * @param {boolean} [hasTooltip=false] - Indicates if it has a tooltip or not.
-     * @param {Event} [_originalEvent=null] - The original event if any.
-     * @param {Event} [_zoomable=false] - Indicates if the current zoom is available or not.
-     * @returns {Viewer} this
-     */
-    zoomTo: function zoomTo(ratio) {
-      var hasTooltip = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+        /**
+         * Zoom the image with a relative ratio.
+         * @param {number} ratio - The target ratio.
+         * @param {boolean} [hasTooltip=false] - Indicates if it has a tooltip or not.
+         * @param {Event} [_originalEvent=null] - The original event if any.
+         * @returns {Viewer} this
+         */
+        zoom: function zoom(ratio) {
+            var hasTooltip = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-      var _originalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
+            var _originalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
 
-      var _zoomable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+            var imageData = this.imageData;
 
-      var options = this.options,
-          pointers = this.pointers,
-          imageData = this.imageData;
 
+            ratio = Number(ratio);
 
-      ratio = Math.max(0, ratio);
+            if (ratio < 0) {
+                ratio = 1 / (1 - ratio);
+            } else {
+                ratio = 1 + ratio;
+            }
 
-      if (isNumber(ratio) && this.viewed && !this.played && (_zoomable || options.zoomable)) {
-        if (!_zoomable) {
-          var minZoomRatio = Math.max(0.01, options.minZoomRatio);
-          var maxZoomRatio = Math.min(100, options.maxZoomRatio);
+            this.zoomTo(imageData.width * ratio / imageData.naturalWidth, hasTooltip, _originalEvent);
 
-          ratio = Math.min(Math.max(ratio, minZoomRatio), maxZoomRatio);
-        }
+            return this;
+        },
 
-        if (_originalEvent && ratio > 0.95 && ratio < 1.05) {
-          ratio = 1;
-        }
 
-        var newWidth = imageData.naturalWidth * ratio;
-        var newHeight = imageData.naturalHeight * ratio;
+        /**
+         * Zoom the image to an absolute ratio.
+         * @param {number} ratio - The target ratio.
+         * @param {boolean} [hasTooltip=false] - Indicates if it has a tooltip or not.
+         * @param {Event} [_originalEvent=null] - The original event if any.
+         * @param {Event} [_zoomable=false] - Indicates if the current zoom is available or not.
+         * @returns {Viewer} this
+         */
+        zoomTo: function zoomTo(ratio) {
+            var hasTooltip = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-        if (_originalEvent) {
-          var offset = getOffset(this.viewer);
-          var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {
-            pageX: _originalEvent.pageX,
-            pageY: _originalEvent.pageY
-          };
+            var _originalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
 
-          // Zoom from the triggering point of the event
-          imageData.left -= (newWidth - imageData.width) * ((center.pageX - offset.left - imageData.left) / imageData.width);
-          imageData.top -= (newHeight - imageData.height) * ((center.pageY - offset.top - imageData.top) / imageData.height);
-        } else {
-          // Zoom from the center of the image
-          imageData.left -= (newWidth - imageData.width) / 2;
-          imageData.top -= (newHeight - imageData.height) / 2;
-        }
+            var _zoomable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
 
-        imageData.width = newWidth;
-        imageData.height = newHeight;
-        imageData.ratio = ratio;
-        this.renderImage();
+            var options = this.options,
+                pointers = this.pointers,
+                imageData = this.imageData;
 
-        if (hasTooltip) {
-          this.tooltip();
-        }
-      }
+            ratio = Math.max(0, ratio);
 
-      return this;
-    },
+            if (isNumber(ratio) && this.viewed && !this.played && (_zoomable || options.zoomable)) {
+                if (!_zoomable) {
+                    var minZoomRatio = Math.max(0.01, options.minZoomRatio);
+                    var maxZoomRatio = Math.min(100, options.maxZoomRatio);
 
+                    ratio = Math.min(Math.max(ratio, minZoomRatio), maxZoomRatio);
+                }
 
-    /**
-     * Rotate the image with a relative degree.
-     * @param {number} degree - The rotate degree.
-     * @returns {Viewer} this
-     */
-    rotate: function rotate(degree) {
-      this.rotateTo((this.imageData.rotate || 0) + Number(degree));
+                if (_originalEvent && ratio > 0.95 && ratio < 1.05) {
+                    ratio = 1;
+                }
 
-      return this;
-    },
+                var newWidth = imageData.naturalWidth * ratio;
+                var newHeight = imageData.naturalHeight * ratio;
+
+                if (_originalEvent) {
+                    var offset = getOffset(this.viewer);
+                    var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {
+                        pageX: _originalEvent.pageX,
+                        pageY: _originalEvent.pageY
+                    };
+
+                    // Zoom from the triggering point of the event
+                    imageData.left -= (newWidth - imageData.width) * ((center.pageX - offset.left - imageData.left) / imageData.width);
+                    imageData.top -= (newHeight - imageData.height) * ((center.pageY - offset.top - imageData.top) / imageData.height);
+                } else {
+                    // Zoom from the center of the image
+                    imageData.left -= (newWidth - imageData.width) / 2;
+                    imageData.top -= (newHeight - imageData.height) / 2;
+                }
 
+                imageData.width = newWidth;
+                imageData.height = newHeight;
+                imageData.ratio = ratio;
+                this.renderImage();
 
-    /**
-     * Rotate the image to an absolute degree.
-     * @param {number} degree - The rotate degree.
-     * @returns {Viewer} this
-     */
-    rotateTo: function rotateTo(degree) {
-      var imageData = this.imageData;
+                if (hasTooltip) {
+                    this.tooltip();
+                }
+            }
 
+            return this;
+        },
 
-      degree = Number(degree);
 
-      if (isNumber(degree) && this.viewed && !this.played && this.options.rotatable) {
-        imageData.rotate = degree;
-        this.renderImage();
-      }
+        /**
+         * Rotate the image with a relative degree.
+         * @param {number} degree - The rotate degree.
+         * @returns {Viewer} this
+         */
+        rotate: function rotate(degree) {
+            this.rotateTo((this.imageData.rotate || 0) + Number(degree));
 
-      return this;
-    },
+            return this;
+        },
 
 
-    /**
-     * Scale the image on the x-axis.
-     * @param {number} scaleX - The scale ratio on the x-axis.
-     * @returns {Viewer} this
-     */
-    scaleX: function scaleX(_scaleX) {
-      this.scale(_scaleX, this.imageData.scaleY);
+        /**
+         * Rotate the image to an absolute degree.
+         * @param {number} degree - The rotate degree.
+         * @returns {Viewer} this
+         */
+        rotateTo: function rotateTo(degree) {
+            var imageData = this.imageData;
 
-      return this;
-    },
 
+            degree = Number(degree);
 
-    /**
-     * Scale the image on the y-axis.
-     * @param {number} scaleY - The scale ratio on the y-axis.
-     * @returns {Viewer} this
-     */
-    scaleY: function scaleY(_scaleY) {
-      this.scale(this.imageData.scaleX, _scaleY);
+            if (isNumber(degree) && this.viewed && !this.played && this.options.rotatable) {
+                imageData.rotate = degree;
+                this.renderImage();
+            }
 
-      return this;
-    },
+            return this;
+        },
 
 
-    /**
-     * Scale the image.
-     * @param {number} scaleX - The scale ratio on the x-axis.
-     * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.
-     * @returns {Viewer} this
-     */
-    scale: function scale(scaleX) {
-      var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;
-      var imageData = this.imageData;
+        /**
+         * Scale the image on the x-axis.
+         * @param {number} scaleX - The scale ratio on the x-axis.
+         * @returns {Viewer} this
+         */
+        scaleX: function scaleX(_scaleX) {
+            this.scale(_scaleX, this.imageData.scaleY);
 
+            return this;
+        },
 
-      scaleX = Number(scaleX);
-      scaleY = Number(scaleY);
 
-      if (this.viewed && !this.played && this.options.scalable) {
-        var changed = false;
+        /**
+         * Scale the image on the y-axis.
+         * @param {number} scaleY - The scale ratio on the y-axis.
+         * @returns {Viewer} this
+         */
+        scaleY: function scaleY(_scaleY) {
+            this.scale(this.imageData.scaleX, _scaleY);
 
-        if (isNumber(scaleX)) {
-          imageData.scaleX = scaleX;
-          changed = true;
-        }
+            return this;
+        },
 
-        if (isNumber(scaleY)) {
-          imageData.scaleY = scaleY;
-          changed = true;
-        }
 
-        if (changed) {
-          this.renderImage();
-        }
-      }
+        /**
+         * Scale the image.
+         * @param {number} scaleX - The scale ratio on the x-axis.
+         * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.
+         * @returns {Viewer} this
+         */
+        scale: function scale(scaleX) {
+            var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;
+            var imageData = this.imageData;
 
-      return this;
-    },
 
+            scaleX = Number(scaleX);
+            scaleY = Number(scaleY);
 
-    /**
-     * Play the images
-     * @param {boolean} [fullscreen=false] - Indicate if request fullscreen or not.
-     * @returns {Viewer} this
-     */
-    play: function play() {
-      var _this2 = this;
+            if (this.viewed && !this.played && this.options.scalable) {
+                var changed = false;
 
-      var fullscreen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+                if (isNumber(scaleX)) {
+                    imageData.scaleX = scaleX;
+                    changed = true;
+                }
 
-      if (!this.isShown || this.played) {
-        return this;
-      }
+                if (isNumber(scaleY)) {
+                    imageData.scaleY = scaleY;
+                    changed = true;
+                }
 
-      var options = this.options,
-          player = this.player;
+                if (changed) {
+                    this.renderImage();
+                }
+            }
 
-      var onLoad = this.loadImage.bind(this);
-      var list = [];
-      var total = 0;
-      var index = 0;
+            return this;
+        },
 
-      this.played = true;
-      this.onLoadWhenPlay = onLoad;
 
-      if (fullscreen) {
-        this.requestFullscreen();
-      }
+        /**
+         * Play the images
+         * @param {boolean} [fullscreen=false] - Indicate if request fullscreen or not.
+         * @returns {Viewer} this
+         */
+        play: function play() {
+            var _this2 = this;
 
-      addClass(player, CLASS_SHOW);
-      forEach(this.items, function (item, i) {
-        var img = item.querySelector('img');
-        var image = document.createElement('img');
+            var fullscreen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 
-        image.src = getData(img, 'originalUrl');
-        image.alt = img.getAttribute('alt');
-        total += 1;
-        addClass(image, CLASS_FADE);
-        toggleClass(image, CLASS_TRANSITION, options.transition);
+            if (!this.isShown || this.played) {
+                return this;
+            }
 
-        if (hasClass(item, CLASS_ACTIVE)) {
-          addClass(image, CLASS_IN);
-          index = i;
-        }
+            var options = this.options,
+                player = this.player;
 
-        list.push(image);
-        addListener(image, EVENT_LOAD, onLoad, {
-          once: true
-        });
-        player.appendChild(image);
-      });
-
-      if (isNumber(options.interval) && options.interval > 0) {
-        var play = function play() {
-          _this2.playing = setTimeout(function () {
-            removeClass(list[index], CLASS_IN);
-            index += 1;
-            index = index < total ? index : 0;
-            addClass(list[index], CLASS_IN);
-            play();
-          }, options.interval);
-        };
+            var onLoad = this.loadImage.bind(this);
+            var list = [];
+            var total = 0;
+            var index = 0;
 
-        if (total > 1) {
-          play();
-        }
-      }
+            this.played = true;
+            this.onLoadWhenPlay = onLoad;
 
-      return this;
-    },
+            if (fullscreen) {
+                this.requestFullscreen();
+            }
 
+            addClass(player, CLASS_SHOW);
+            forEach(this.items, function (item, i) {
+                var img = item.querySelector('img');
+                var image = document.createElement('img');
 
-    // Stop play
-    stop: function stop() {
-      var _this3 = this;
+                image.src = getData(img, 'originalUrl');
+                image.alt = img.getAttribute('alt');
+                total += 1;
+                addClass(image, CLASS_FADE);
+                toggleClass(image, CLASS_TRANSITION, options.transition);
 
-      if (!this.played) {
-        return this;
-      }
+                if (hasClass(item, CLASS_ACTIVE)) {
+                    addClass(image, CLASS_IN);
+                    index = i;
+                }
 
-      var player = this.player;
+                list.push(image);
+                addListener(image, EVENT_LOAD, onLoad, {
+                    once: true
+                });
+                player.appendChild(image);
+            });
 
+            if (isNumber(options.interval) && options.interval > 0) {
+                var play = function play() {
+                    _this2.playing = setTimeout(function () {
+                        removeClass(list[index], CLASS_IN);
+                        index += 1;
+                        index = index < total ? index : 0;
+                        addClass(list[index], CLASS_IN);
+                        play();
+                    }, options.interval);
+                };
+
+                if (total > 1) {
+                    play();
+                }
+            }
 
-      this.played = false;
-      clearTimeout(this.playing);
-      forEach(player.getElementsByTagName('img'), function (image) {
-        removeListener(image, EVENT_LOAD, _this3.onLoadWhenPlay);
-      });
-      removeClass(player, CLASS_SHOW);
-      player.innerHTML = '';
-      this.exitFullscreen();
+            return this;
+        },
 
-      return this;
-    },
 
+        // Stop play
+        stop: function stop() {
+            var _this3 = this;
 
-    // Enter modal mode (only available in inline mode)
-    full: function full() {
-      var _this4 = this;
+            if (!this.played) {
+                return this;
+            }
 
-      var options = this.options,
-          viewer = this.viewer,
-          image = this.image,
-          list = this.list;
+            var player = this.player;
 
 
-      if (!this.isShown || this.played || this.fulled || !options.inline) {
-        return this;
-      }
+            this.played = false;
+            clearTimeout(this.playing);
+            forEach(player.getElementsByTagName('img'), function (image) {
+                removeListener(image, EVENT_LOAD, _this3.onLoadWhenPlay);
+            });
+            removeClass(player, CLASS_SHOW);
+            player.innerHTML = '';
+            this.exitFullscreen();
 
-      this.fulled = true;
-      this.open();
-      addClass(this.button, CLASS_FULLSCREEN_EXIT);
+            return this;
+        },
 
-      if (options.transition) {
-        removeClass(list, CLASS_TRANSITION);
 
-        if (this.viewed) {
-          removeClass(image, CLASS_TRANSITION);
-        }
-      }
+        // Enter modal mode (only available in inline mode)
+        full: function full() {
+            var _this4 = this;
 
-      addClass(viewer, CLASS_FIXED);
-      viewer.setAttribute('style', '');
-      setStyle(viewer, {
-        zIndex: options.zIndex
-      });
+            var options = this.options,
+                viewer = this.viewer,
+                image = this.image,
+                list = this.list;
 
-      this.initContainer();
-      this.viewerData = assign({}, this.containerData);
-      this.renderList();
 
-      if (this.viewed) {
-        this.initImage(function () {
-          _this4.renderImage(function () {
-            if (options.transition) {
-              setTimeout(function () {
-                addClass(image, CLASS_TRANSITION);
-                addClass(list, CLASS_TRANSITION);
-              }, 0);
+            if (!this.isShown || this.played || this.fulled || !options.inline) {
+                return this;
             }
-          });
-        });
-      }
 
-      return this;
-    },
+            this.fulled = true;
+            this.open();
+            addClass(this.button, CLASS_FULLSCREEN_EXIT);
 
+            if (options.transition) {
+                removeClass(list, CLASS_TRANSITION);
 
-    // Exit modal mode (only available in inline mode)
-    exit: function exit() {
-      var _this5 = this;
+                if (this.viewed) {
+                    removeClass(image, CLASS_TRANSITION);
+                }
+            }
 
-      var options = this.options,
-          viewer = this.viewer,
-          image = this.image,
-          list = this.list;
+            addClass(viewer, CLASS_FIXED);
+            viewer.setAttribute('style', '');
+            setStyle(viewer, {
+                zIndex: options.zIndex
+            });
 
+            this.initContainer();
+            this.viewerData = assign({}, this.containerData);
+            this.renderList();
 
-      if (!this.isShown || this.played || !this.fulled || !options.inline) {
-        return this;
-      }
+            if (this.viewed) {
+                this.initImage(function () {
+                    _this4.renderImage(function () {
+                        if (options.transition) {
+                            setTimeout(function () {
+                                addClass(image, CLASS_TRANSITION);
+                                addClass(list, CLASS_TRANSITION);
+                            }, 0);
+                        }
+                    });
+                });
+            }
 
-      this.fulled = false;
-      this.close();
-      removeClass(this.button, CLASS_FULLSCREEN_EXIT);
+            return this;
+        },
 
-      if (options.transition) {
-        removeClass(list, CLASS_TRANSITION);
 
-        if (this.viewed) {
-          removeClass(image, CLASS_TRANSITION);
-        }
-      }
+        // Exit modal mode (only available in inline mode)
+        exit: function exit() {
+            var _this5 = this;
 
-      removeClass(viewer, CLASS_FIXED);
-      setStyle(viewer, {
-        zIndex: options.zIndexInline
-      });
+            var options = this.options,
+                viewer = this.viewer,
+                image = this.image,
+                list = this.list;
 
-      this.viewerData = assign({}, this.parentData);
-      this.renderViewer();
-      this.renderList();
 
-      if (this.viewed) {
-        this.initImage(function () {
-          _this5.renderImage(function () {
-            if (options.transition) {
-              setTimeout(function () {
-                addClass(image, CLASS_TRANSITION);
-                addClass(list, CLASS_TRANSITION);
-              }, 0);
+            if (!this.isShown || this.played || !this.fulled || !options.inline) {
+                return this;
             }
-          });
-        });
-      }
 
-      return this;
-    },
+            this.fulled = false;
+            this.close();
+            removeClass(this.button, CLASS_FULLSCREEN_EXIT);
 
+            if (options.transition) {
+                removeClass(list, CLASS_TRANSITION);
 
-    // Show the current ratio of the image with percentage
-    tooltip: function tooltip() {
-      var _this6 = this;
+                if (this.viewed) {
+                    removeClass(image, CLASS_TRANSITION);
+                }
+            }
 
-      var options = this.options,
-          tooltipBox = this.tooltipBox,
-          imageData = this.imageData;
+            removeClass(viewer, CLASS_FIXED);
+            setStyle(viewer, {
+                zIndex: options.zIndexInline
+            });
 
+            this.viewerData = assign({}, this.parentData);
+            this.renderViewer();
+            this.renderList();
 
-      if (!this.viewed || this.played || !options.tooltip) {
-        return this;
-      }
+            if (this.viewed) {
+                this.initImage(function () {
+                    _this5.renderImage(function () {
+                        if (options.transition) {
+                            setTimeout(function () {
+                                addClass(image, CLASS_TRANSITION);
+                                addClass(list, CLASS_TRANSITION);
+                            }, 0);
+                        }
+                    });
+                });
+            }
 
-      tooltipBox.textContent = Math.round(imageData.ratio * 100) + '%';
+            return this;
+        },
 
-      if (!this.tooltipping) {
-        if (options.transition) {
-          if (this.fading) {
-            dispatchEvent(tooltipBox, EVENT_TRANSITION_END);
-          }
 
-          addClass(tooltipBox, CLASS_SHOW);
-          addClass(tooltipBox, CLASS_FADE);
-          addClass(tooltipBox, CLASS_TRANSITION);
+        // Show the current ratio of the image with percentage
+        tooltip: function tooltip() {
+            var _this6 = this;
 
-          // Force reflow to enable CSS3 transition
-          // eslint-disable-next-line
-          tooltipBox.offsetWidth;
-          addClass(tooltipBox, CLASS_IN);
-        } else {
-          addClass(tooltipBox, CLASS_SHOW);
-        }
-      } else {
-        clearTimeout(this.tooltipping);
-      }
-
-      this.tooltipping = setTimeout(function () {
-        if (options.transition) {
-          addListener(tooltipBox, EVENT_TRANSITION_END, function () {
-            removeClass(tooltipBox, CLASS_SHOW);
-            removeClass(tooltipBox, CLASS_FADE);
-            removeClass(tooltipBox, CLASS_TRANSITION);
-            _this6.fading = false;
-          }, {
-            once: true
-          });
-
-          removeClass(tooltipBox, CLASS_IN);
-          _this6.fading = true;
-        } else {
-          removeClass(tooltipBox, CLASS_SHOW);
-        }
+            var options = this.options,
+                tooltipBox = this.tooltipBox,
+                imageData = this.imageData;
 
-        _this6.tooltipping = false;
-      }, 1000);
 
-      return this;
-    },
+            if (!this.viewed || this.played || !options.tooltip) {
+                return this;
+            }
 
+            tooltipBox.textContent = Math.round(imageData.ratio * 100) + '%';
 
-    // Toggle the image size between its natural size and initial size
-    toggle: function toggle() {
-      if (this.imageData.ratio === 1) {
-        this.zoomTo(this.initialImageData.ratio, true);
-      } else {
-        this.zoomTo(1, true);
-      }
+            if (!this.tooltipping) {
+                if (options.transition) {
+                    if (this.fading) {
+                        dispatchEvent(tooltipBox, EVENT_TRANSITION_END);
+                    }
 
-      return this;
-    },
+                    addClass(tooltipBox, CLASS_SHOW);
+                    addClass(tooltipBox, CLASS_FADE);
+                    addClass(tooltipBox, CLASS_TRANSITION);
 
+                    // Force reflow to enable CSS3 transition
+                    // eslint-disable-next-line
+                    tooltipBox.offsetWidth;
+                    addClass(tooltipBox, CLASS_IN);
+                } else {
+                    addClass(tooltipBox, CLASS_SHOW);
+                }
+            } else {
+                clearTimeout(this.tooltipping);
+            }
 
-    // Reset the image to its initial state
-    reset: function reset() {
-      if (this.viewed && !this.played) {
-        this.imageData = assign({}, this.initialImageData);
-        this.renderImage();
-      }
+            this.tooltipping = setTimeout(function () {
+                if (options.transition) {
+                    addListener(tooltipBox, EVENT_TRANSITION_END, function () {
+                        removeClass(tooltipBox, CLASS_SHOW);
+                        removeClass(tooltipBox, CLASS_FADE);
+                        removeClass(tooltipBox, CLASS_TRANSITION);
+                        _this6.fading = false;
+                    }, {
+                        once: true
+                    });
+
+                    removeClass(tooltipBox, CLASS_IN);
+                    _this6.fading = true;
+                } else {
+                    removeClass(tooltipBox, CLASS_SHOW);
+                }
 
-      return this;
-    },
+                _this6.tooltipping = false;
+            }, 1000);
 
+            return this;
+        },
 
-    // Update viewer when images changed
-    update: function update() {
-      var element = this.element,
-          options = this.options,
-          isImg = this.isImg;
 
-      // Destroy viewer if the target image was deleted
+        // Toggle the image size between its natural size and initial size
+        toggle: function toggle() {
+            if (this.imageData.ratio === 1) {
+                this.zoomTo(this.initialImageData.ratio, true);
+            } else {
+                this.zoomTo(1, true);
+            }
 
-      if (isImg && !element.parentNode) {
-        return this.destroy();
-      }
+            return this;
+        },
 
-      var images = [];
 
-      forEach(isImg ? [element] : element.querySelectorAll('img'), function (image) {
-        if (options.filter) {
-          if (options.filter(image)) {
-            images.push(image);
-          }
-        } else {
-          images.push(image);
-        }
-      });
+        // Reset the image to its initial state
+        reset: function reset() {
+            if (this.viewed && !this.played) {
+                this.imageData = assign({}, this.initialImageData);
+                this.renderImage();
+            }
 
-      if (!images.length) {
-        return this;
-      }
+            return this;
+        },
 
-      this.images = images;
-      this.length = images.length;
 
-      if (this.ready) {
-        var indexes = [];
+        // Update viewer when images changed
+        update: function update() {
+            var element = this.element,
+                options = this.options,
+                isImg = this.isImg;
 
-        forEach(this.items, function (item, i) {
-          var img = item.querySelector('img');
-          var image = images[i];
+            // Destroy viewer if the target image was deleted
 
-          if (image) {
-            if (image.src !== img.src) {
-              indexes.push(i);
+            if (isImg && !element.parentNode) {
+                return this.destroy();
             }
-          } else {
-            indexes.push(i);
-          }
-        });
 
-        setStyle(this.list, {
-          width: 'auto'
-        });
+            var images = [];
 
-        this.initList();
+            forEach(isImg ? [element] : element.querySelectorAll('img'), function (image) {
+                if (options.filter) {
+                    if (options.filter(image)) {
+                        images.push(image);
+                    }
+                } else {
+                    images.push(image);
+                }
+            });
 
-        if (this.isShown) {
-          if (this.length) {
-            if (this.viewed) {
-              var index = indexes.indexOf(this.index);
+            if (!images.length) {
+                return this;
+            }
 
-              if (index >= 0) {
-                this.viewed = false;
-                this.view(Math.max(this.index - (index + 1), 0));
-              } else {
-                addClass(this.items[this.index], CLASS_ACTIVE);
-              }
+            this.images = images;
+            this.length = images.length;
+
+            if (this.ready) {
+                var indexes = [];
+
+                forEach(this.items, function (item, i) {
+                    var img = item.querySelector('img');
+                    var image = images[i];
+
+                    if (image) {
+                        if (image.src !== img.src) {
+                            indexes.push(i);
+                        }
+                    } else {
+                        indexes.push(i);
+                    }
+                });
+
+                setStyle(this.list, {
+                    width: 'auto'
+                });
+
+                this.initList();
+
+                if (this.isShown) {
+                    if (this.length) {
+                        if (this.viewed) {
+                            var index = indexes.indexOf(this.index);
+
+                            if (index >= 0) {
+                                this.viewed = false;
+                                this.view(Math.max(this.index - (index + 1), 0));
+                            } else {
+                                addClass(this.items[this.index], CLASS_ACTIVE);
+                            }
+                        }
+                    } else {
+                        this.image = null;
+                        this.viewed = false;
+                        this.index = 0;
+                        this.imageData = null;
+                        this.canvas.innerHTML = '';
+                        this.title.innerHTML = '';
+                    }
+                }
+            } else {
+                this.build();
             }
-          } else {
-            this.image = null;
-            this.viewed = false;
-            this.index = 0;
-            this.imageData = null;
-            this.canvas.innerHTML = '';
-            this.title.innerHTML = '';
-          }
-        }
-      } else {
-        this.build();
-      }
 
-      return this;
-    },
+            return this;
+        },
 
 
-    // Destroy the viewer
-    destroy: function destroy() {
-      var element = this.element,
-          options = this.options;
+        // Destroy the viewer
+        destroy: function destroy() {
+            var element = this.element,
+                options = this.options;
 
 
-      if (!getData(element, NAMESPACE)) {
-        return this;
-      }
+            if (!getData(element, NAMESPACE)) {
+                return this;
+            }
 
-      this.destroyed = true;
+            this.destroyed = true;
 
-      if (this.ready) {
-        if (this.played) {
-          this.stop();
-        }
+            if (this.ready) {
+                if (this.played) {
+                    this.stop();
+                }
 
-        if (options.inline) {
-          if (this.fulled) {
-            this.exit();
-          }
-
-          this.unbind();
-        } else if (this.isShown) {
-          if (this.viewing) {
-            if (this.imageRendering) {
-              this.imageRendering.abort();
-            } else if (this.imageInitializing) {
-              this.imageInitializing.abort();
-            }
-          }
-
-          if (this.hiding) {
-            this.transitioning.abort();
-          }
-
-          this.hidden();
-        } else if (this.showing) {
-          this.transitioning.abort();
-          this.hidden();
-        }
+                if (options.inline) {
+                    if (this.fulled) {
+                        this.exit();
+                    }
+
+                    this.unbind();
+                } else if (this.isShown) {
+                    if (this.viewing) {
+                        if (this.imageRendering) {
+                            this.imageRendering.abort();
+                        } else if (this.imageInitializing) {
+                            this.imageInitializing.abort();
+                        }
+                    }
+
+                    if (this.hiding) {
+                        this.transitioning.abort();
+                    }
+
+                    this.hidden();
+                } else if (this.showing) {
+                    this.transitioning.abort();
+                    this.hidden();
+                }
 
-        this.ready = false;
-        this.viewer.parentNode.removeChild(this.viewer);
-      } else if (options.inline) {
-        if (this.delaying) {
-          this.delaying.abort();
-        } else if (this.initializing) {
-          this.initializing.abort();
-        }
-      }
+                this.ready = false;
+                this.viewer.parentNode.removeChild(this.viewer);
+            } else if (options.inline) {
+                if (this.delaying) {
+                    this.delaying.abort();
+                } else if (this.initializing) {
+                    this.initializing.abort();
+                }
+            }
 
-      if (!options.inline) {
-        removeListener(element, EVENT_CLICK, this.onStart);
-      }
+            if (!options.inline) {
+                removeListener(element, EVENT_CLICK, this.onStart);
+            }
 
-      removeData(element, NAMESPACE);
-      return this;
-    }
-  };
+            removeData(element, NAMESPACE);
+            return this;
+        }
+    };
 
-  var others = {
-    open: function open() {
-      var body = this.body;
+    var others = {
+        open: function open() {
+            var body = this.body;
 
 
-      addClass(body, CLASS_OPEN);
+            addClass(body, CLASS_OPEN);
 
-      body.style.paddingRight = this.scrollbarWidth + (parseFloat(this.initialBodyPaddingRight) || 0) + 'px';
-    },
-    close: function close() {
-      var body = this.body;
+            body.style.paddingRight = this.scrollbarWidth + (parseFloat(this.initialBodyPaddingRight) || 0) + 'px';
+        },
+        close: function close() {
+            var body = this.body;
 
 
-      removeClass(body, CLASS_OPEN);
-      body.style.paddingRight = this.initialBodyPaddingRight;
-    },
-    shown: function shown() {
-      var element = this.element,
-          options = this.options;
+            removeClass(body, CLASS_OPEN);
+            body.style.paddingRight = this.initialBodyPaddingRight;
+        },
+        shown: function shown() {
+            var element = this.element,
+                options = this.options;
 
 
-      this.fulled = true;
-      this.isShown = true;
-      this.render();
-      this.bind();
-      this.showing = false;
+            this.fulled = true;
+            this.isShown = true;
+            this.render();
+            this.bind();
+            this.showing = false;
 
-      if (isFunction(options.shown)) {
-        addListener(element, EVENT_SHOWN, options.shown, {
-          once: true
-        });
-      }
-
-      if (dispatchEvent(element, EVENT_SHOWN) === false) {
-        return;
-      }
-
-      if (this.ready && this.isShown && !this.hiding) {
-        this.view(this.index);
-      }
-    },
-    hidden: function hidden() {
-      var element = this.element,
-          options = this.options;
-
-
-      this.fulled = false;
-      this.viewed = false;
-      this.isShown = false;
-      this.close();
-      this.unbind();
-      addClass(this.viewer, CLASS_HIDE);
-      this.resetList();
-      this.resetImage();
-      this.hiding = false;
-
-      if (!this.destroyed) {
-        if (isFunction(options.hidden)) {
-          addListener(element, EVENT_HIDDEN, options.hidden, {
-            once: true
-          });
-        }
+            if (isFunction(options.shown)) {
+                addListener(element, EVENT_SHOWN, options.shown, {
+                    once: true
+                });
+            }
 
-        dispatchEvent(element, EVENT_HIDDEN);
-      }
-    },
-    requestFullscreen: function requestFullscreen() {
-      var document = this.element.ownerDocument;
+            if (dispatchEvent(element, EVENT_SHOWN) === false) {
+                return;
+            }
 
-      if (this.fulled && !document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
-        var documentElement = document.documentElement;
+            if (this.ready && this.isShown && !this.hiding) {
+                this.view(this.index);
+            }
+        },
+        hidden: function hidden() {
+            var element = this.element,
+                options = this.options;
 
 
-        if (documentElement.requestFullscreen) {
-          documentElement.requestFullscreen();
-        } else if (documentElement.msRequestFullscreen) {
-          documentElement.msRequestFullscreen();
-        } else if (documentElement.mozRequestFullScreen) {
-          documentElement.mozRequestFullScreen();
-        } else if (documentElement.webkitRequestFullscreen) {
-          documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
-        }
-      }
-    },
-    exitFullscreen: function exitFullscreen() {
-      if (this.fulled) {
-        var document = this.element.ownerDocument;
-
-        if (document.exitFullscreen) {
-          document.exitFullscreen();
-        } else if (document.msExitFullscreen) {
-          document.msExitFullscreen();
-        } else if (document.mozCancelFullScreen) {
-          document.mozCancelFullScreen();
-        } else if (document.webkitExitFullscreen) {
-          document.webkitExitFullscreen();
-        }
-      }
-    },
-    change: function change(e) {
-      var options = this.options,
-          pointers = this.pointers;
-
-      var pointer = pointers[Object.keys(pointers)[0]];
-      var offsetX = pointer.endX - pointer.startX;
-      var offsetY = pointer.endY - pointer.startY;
-
-      switch (this.action) {
-        // Move the current image
-        case ACTION_MOVE:
-          this.move(offsetX, offsetY);
-          break;
-
-        // Zoom the current image
-        case ACTION_ZOOM:
-          this.zoom(getMaxZoomRatio(pointers), false, e);
-          break;
-
-        case ACTION_SWITCH:
-          this.action = 'switched';
-
-          // Empty `pointers` as `touchend` event will not be fired after swiped in iOS browsers.
-          this.pointers = {};
-
-          if (Math.abs(offsetX) > Math.abs(offsetY)) {
-            if (offsetX > 1) {
-              this.prev(options.loop);
-            } else if (offsetX < -1) {
-              this.next(options.loop);
-            }
-          }
-
-          break;
-
-        default:
-      }
-
-      // Override
-      forEach(pointers, function (p) {
-        p.startX = p.endX;
-        p.startY = p.endY;
-      });
-    },
-    isSwitchable: function isSwitchable() {
-      var imageData = this.imageData,
-          viewerData = this.viewerData;
-
-
-      return this.length > 1 && imageData.left >= 0 && imageData.top >= 0 && imageData.width <= viewerData.width && imageData.height <= viewerData.height;
-    }
-  };
+            this.fulled = false;
+            this.viewed = false;
+            this.isShown = false;
+            this.close();
+            this.unbind();
+            addClass(this.viewer, CLASS_HIDE);
+            this.resetList();
+            this.resetImage();
+            this.hiding = false;
+
+            if (!this.destroyed) {
+                if (isFunction(options.hidden)) {
+                    addListener(element, EVENT_HIDDEN, options.hidden, {
+                        once: true
+                    });
+                }
 
-  var AnotherViewer = WINDOW.Viewer;
+                dispatchEvent(element, EVENT_HIDDEN);
+            }
+        },
+        requestFullscreen: function requestFullscreen() {
+            var document = this.element.ownerDocument;
 
-  var Viewer = function () {
-    /**
-     * Create a new Viewer.
-     * @param {Element} element - The target element for viewing.
-     * @param {Object} [options={}] - The configuration options.
-     */
-    function Viewer(element) {
-      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-      classCallCheck(this, Viewer);
-
-      if (!element || element.nodeType !== 1) {
-        throw new Error('The first argument is required and must be an element.');
-      }
-
-      this.element = element;
-      this.options = assign({}, DEFAULTS, isPlainObject(options) && options);
-      this.action = false;
-      this.fading = false;
-      this.fulled = false;
-      this.hiding = false;
-      this.index = 0;
-      this.isImg = false;
-      this.length = 0;
-      this.played = false;
-      this.playing = false;
-      this.pointers = {};
-      this.ready = false;
-      this.showing = false;
-      this.timeout = false;
-      this.tooltipping = false;
-      this.viewed = false;
-      this.viewing = false;
-      this.isShown = false;
-      this.wheeling = false;
-      this.init();
-    }
+            if (this.fulled && !document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {
+                var documentElement = document.documentElement;
 
-    createClass(Viewer, [{
-      key: 'init',
-      value: function init() {
-        var _this = this;
 
-        var element = this.element,
-            options = this.options;
+                if (documentElement.requestFullscreen) {
+                    documentElement.requestFullscreen();
+                } else if (documentElement.msRequestFullscreen) {
+                    documentElement.msRequestFullscreen();
+                } else if (documentElement.mozRequestFullScreen) {
+                    documentElement.mozRequestFullScreen();
+                } else if (documentElement.webkitRequestFullscreen) {
+                    documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
+                }
+            }
+        },
+        exitFullscreen: function exitFullscreen() {
+            if (this.fulled) {
+                var document = this.element.ownerDocument;
+
+                if (document.exitFullscreen) {
+                    document.exitFullscreen();
+                } else if (document.msExitFullscreen) {
+                    document.msExitFullscreen();
+                } else if (document.mozCancelFullScreen) {
+                    document.mozCancelFullScreen();
+                } else if (document.webkitExitFullscreen) {
+                    document.webkitExitFullscreen();
+                }
+            }
+        },
+        change: function change(e) {
+            var options = this.options,
+                pointers = this.pointers;
+
+            var pointer = pointers[Object.keys(pointers)[0]];
+            var offsetX = pointer.endX - pointer.startX;
+            var offsetY = pointer.endY - pointer.startY;
+
+            switch (this.action) {
+                // Move the current image
+                case ACTION_MOVE:
+                    this.move(offsetX, offsetY);
+                    break;
+
+                // Zoom the current image
+                case ACTION_ZOOM:
+                    this.zoom(getMaxZoomRatio(pointers), false, e);
+                    break;
+
+                case ACTION_SWITCH:
+                    this.action = 'switched';
+
+                    // Empty `pointers` as `touchend` event will not be fired after swiped in iOS browsers.
+                    this.pointers = {};
+
+                    if (Math.abs(offsetX) > Math.abs(offsetY)) {
+                        if (offsetX > 1) {
+                            this.prev(options.loop);
+                        } else if (offsetX < -1) {
+                            this.next(options.loop);
+                        }
+                    }
+
+                    break;
+
+                default:
+            }
+
+            // Override
+            forEach(pointers, function (p) {
+                p.startX = p.endX;
+                p.startY = p.endY;
+            });
+        },
+        isSwitchable: function isSwitchable() {
+            var imageData = this.imageData,
+                viewerData = this.viewerData;
 
 
-        if (getData(element, NAMESPACE)) {
-          return;
+            return this.length > 1 && imageData.left >= 0 && imageData.top >= 0 && imageData.width <= viewerData.width && imageData.height <= viewerData.height;
         }
+    };
 
-        setData(element, NAMESPACE, this);
+    var AnotherViewer = WINDOW.Viewer;
 
-        var isImg = element.tagName.toLowerCase() === 'img';
-        var images = [];
+    var Viewer = function () {
+        /**
+         * Create a new Viewer.
+         * @param {Element} element - The target element for viewing.
+         * @param {Object} [options={}] - The configuration options.
+         */
+        function Viewer(element) {
+            var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+            classCallCheck(this, Viewer);
 
-        forEach(isImg ? [element] : element.querySelectorAll('img'), function (image) {
-          if (isFunction(options.filter)) {
-            if (options.filter.call(_this, image)) {
-              images.push(image);
+            if (!element || element.nodeType !== 1) {
+                throw new Error('The first argument is required and must be an element.');
             }
-          } else {
-            images.push(image);
-          }
-        });
 
-        if (!images.length) {
-          return;
+            this.element = element;
+            this.options = assign({}, DEFAULTS, isPlainObject(options) && options);
+            this.action = false;
+            this.fading = false;
+            this.fulled = false;
+            this.hiding = false;
+            this.index = 0;
+            this.isImg = false;
+            this.length = 0;
+            this.played = false;
+            this.playing = false;
+            this.pointers = {};
+            this.ready = false;
+            this.showing = false;
+            this.timeout = false;
+            this.tooltipping = false;
+            this.viewed = false;
+            this.viewing = false;
+            this.isShown = false;
+            this.wheeling = false;
+            this.init();
         }
 
-        this.isImg = isImg;
-        this.length = images.length;
-        this.images = images;
+        createClass(Viewer, [{
+            key: 'init',
+            value: function init() {
+                var _this = this;
 
-        var ownerDocument = element.ownerDocument;
+                var element = this.element,
+                    options = this.options;
 
-        var body = ownerDocument.body || ownerDocument.documentElement;
 
-        this.body = body;
-        this.scrollbarWidth = window.innerWidth - ownerDocument.documentElement.clientWidth;
-        this.initialBodyPaddingRight = window.getComputedStyle(body).paddingRight;
+                if (getData(element, NAMESPACE)) {
+                    return;
+                }
 
-        // Override `transition` option if it is not supported
-        if (isUndefined(document.createElement(NAMESPACE).style.transition)) {
-          options.transition = false;
-        }
+                setData(element, NAMESPACE, this);
 
-        if (options.inline) {
-          var count = 0;
-          var progress = function progress() {
-            count += 1;
+                var isImg = element.tagName.toLowerCase() === 'img';
+                var images = [];
 
-            if (count === _this.length) {
-              var timeout = void 0;
+                forEach(isImg ? [element] : element.querySelectorAll('img'), function (image) {
+                    if (isFunction(options.filter)) {
+                        if (options.filter.call(_this, image)) {
+                            images.push(image);
+                        }
+                    } else {
+                        images.push(image);
+                    }
+                });
 
-              _this.initializing = false;
-              _this.delaying = {
-                abort: function abort() {
-                  clearTimeout(timeout);
+                if (!images.length) {
+                    return;
                 }
-              };
 
-              // build asynchronously to keep `this.viewer` is accessible in `ready` event handler.
-              timeout = setTimeout(function () {
-                _this.delaying = false;
-                _this.build();
-              }, 0);
-            }
-          };
+                this.isImg = isImg;
+                this.length = images.length;
+                this.images = images;
+                this.dealOriginal=[];
+                var ownerDocument = element.ownerDocument;
 
-          this.initializing = {
-            abort: function abort() {
-              forEach(images, function (image) {
-                if (!image.complete) {
-                  removeListener(image, EVENT_LOAD, progress);
+                var body = ownerDocument.body || ownerDocument.documentElement;
+
+                this.body = body;
+                this.scrollbarWidth = window.innerWidth - ownerDocument.documentElement.clientWidth;
+                this.initialBodyPaddingRight = window.getComputedStyle(body).paddingRight;
+
+                // Override `transition` option if it is not supported
+                if (isUndefined(document.createElement(NAMESPACE).style.transition)) {
+                    options.transition = false;
                 }
-              });
-            }
-          };
 
-          forEach(images, function (image) {
-            if (image.complete) {
-              progress();
-            } else {
-              addListener(image, EVENT_LOAD, progress, {
-                once: true
-              });
+                if (options.inline) {
+                    var count = 0;
+                    var progress = function progress() {
+                        count += 1;
+
+                        if (count === _this.length) {
+                            var timeout = void 0;
+
+                            _this.initializing = false;
+                            _this.delaying = {
+                                abort: function abort() {
+                                    clearTimeout(timeout);
+                                }
+                            };
+
+                            // build asynchronously to keep `this.viewer` is accessible in `ready` event handler.
+                            timeout = setTimeout(function () {
+                                _this.delaying = false;
+                                _this.build();
+                            }, 0);
+                        }
+                    };
+
+                    this.initializing = {
+                        abort: function abort() {
+                            forEach(images, function (image) {
+                                if (!image.complete) {
+                                    removeListener(image, EVENT_LOAD, progress);
+                                }
+                            });
+                        }
+                    };
+
+                    forEach(images, function (image) {
+                        if (image.complete) {
+                            progress();
+                        } else {
+                            addListener(image, EVENT_LOAD, progress, {
+                                once: true
+                            });
+                        }
+                    });
+                } else {
+                    addListener(element, EVENT_CLICK, this.onStart = function (_ref) {
+                        var target = _ref.target;
+
+                        if (target.tagName.toLowerCase() === 'img') {
+                            _this.view(_this.images.indexOf(target));
+                        }
+                    });
+                }
             }
-          });
-        } else {
-          addListener(element, EVENT_CLICK, this.onStart = function (_ref) {
-            var target = _ref.target;
+        }, {
+            key: 'build',
+            value: function build() {
+                if (this.ready) {
+                    return;
+                }
 
-            if (target.tagName.toLowerCase() === 'img') {
-              _this.view(_this.images.indexOf(target));
-            }
-          });
-        }
-      }
-    }, {
-      key: 'build',
-      value: function build() {
-        if (this.ready) {
-          return;
-        }
+                var element = this.element,
+                    options = this.options;
 
-        var element = this.element,
-            options = this.options;
-
-        var parent = element.parentNode;
-        var template = document.createElement('div');
-
-        template.innerHTML = TEMPLATE;
-
-        var viewer = template.querySelector('.' + NAMESPACE + '-container');
-        var title = viewer.querySelector('.' + NAMESPACE + '-title');
-        var toolbar = viewer.querySelector('.' + NAMESPACE + '-toolbar');
-        var navbar = viewer.querySelector('.' + NAMESPACE + '-navbar');
-        var button = viewer.querySelector('.' + NAMESPACE + '-button');
-        var canvas = viewer.querySelector('.' + NAMESPACE + '-canvas');
-
-        this.parent = parent;
-        this.viewer = viewer;
-        this.title = title;
-        this.toolbar = toolbar;
-        this.navbar = navbar;
-        this.button = button;
-        this.canvas = canvas;
-        this.footer = viewer.querySelector('.' + NAMESPACE + '-footer');
-        this.tooltipBox = viewer.querySelector('.' + NAMESPACE + '-tooltip');
-        this.player = viewer.querySelector('.' + NAMESPACE + '-player');
-        this.list = viewer.querySelector('.' + NAMESPACE + '-list');
-
-        addClass(title, !options.title ? CLASS_HIDE : getResponsiveClass(options.title));
-        addClass(navbar, !options.navbar ? CLASS_HIDE : getResponsiveClass(options.navbar));
-        toggleClass(button, CLASS_HIDE, !options.button);
-
-        if (options.backdrop) {
-          addClass(viewer, NAMESPACE + '-backdrop');
-
-          if (!options.inline && options.backdrop === true) {
-            setData(canvas, 'action', 'hide');
-          }
-        }
+                var parent = element.parentNode;
+                var template = document.createElement('div');
+
+                template.innerHTML = TEMPLATE;
 
-        if (options.toolbar) {
-          var list = document.createElement('ul');
-          var custom = isPlainObject(options.toolbar);
-          var zoomButtons = BUTTONS.slice(0, 3);
-          var rotateButtons = BUTTONS.slice(7, 9);
-          var scaleButtons = BUTTONS.slice(9);
+                var viewer = template.querySelector('.' + NAMESPACE + '-container');
+                var title = viewer.querySelector('.' + NAMESPACE + '-title');
+                var toolbar = viewer.querySelector('.' + NAMESPACE + '-toolbar');
+                var navbar = viewer.querySelector('.' + NAMESPACE + '-navbar');
+                var button = viewer.querySelector('.' + NAMESPACE + '-button');
+                var canvas = viewer.querySelector('.' + NAMESPACE + '-canvas');
 
-          if (!custom) {
-            addClass(toolbar, getResponsiveClass(options.toolbar));
-          }
+                if ($(window).width()>700)
+                {
+                    toolbar.style.display = "flex";
+                    toolbar.style.justifyContent= "center";
+                }
+                
+                this.parent = parent;
+                this.viewer = viewer;
+                this.title = title;
+                this.toolbar = toolbar;
+                this.navbar = navbar;
+                this.button = button;
+                this.canvas = canvas;
+                this.footer = viewer.querySelector('.' + NAMESPACE + '-footer');
+                this.tooltipBox = viewer.querySelector('.' + NAMESPACE + '-tooltip');
+                this.player = viewer.querySelector('.' + NAMESPACE + '-player');
+                this.list = viewer.querySelector('.' + NAMESPACE + '-list');
+
+
+                addClass(title, !options.title ? CLASS_HIDE : getResponsiveClass(options.title));
+                addClass(navbar, !options.navbar ? CLASS_HIDE : getResponsiveClass(options.navbar));
+                toggleClass(button, CLASS_HIDE, !options.button);
+
+                if (options.backdrop) {
+                    addClass(viewer, NAMESPACE + '-backdrop');
+
+                    if (!options.inline && options.backdrop === true) {
+                        setData(canvas, 'action', 'hide');
+                    }
+                }
 
-          forEach(custom ? options.toolbar : BUTTONS, function (value, index) {
-            var deep = custom && isPlainObject(value);
-            var name = custom ? hyphenate(index) : value;
-            var show = deep && !isUndefined(value.show) ? value.show : value;
+                if (options.toolbar) {
+                    var list = document.createElement('ul');
+                    var custom = isPlainObject(options.toolbar);
+                    var zoomButtons = BUTTONS.slice(0, 3);
+                    var rotateButtons = BUTTONS.slice(7, 9);
+                    var scaleButtons = BUTTONS.slice(9);
+
+                    if (!custom) {
+                        addClass(toolbar, getResponsiveClass(options.toolbar));
+                    }
+
+                    forEach(custom ? options.toolbar : BUTTONS, function (value, index) {
+                        var deep = custom && isPlainObject(value);
+                        var name = custom ? hyphenate(index) : value;
+                        var show = deep && !isUndefined(value.show) ? value.show : value;
+
+                        if (!show || !options.zoomable && zoomButtons.indexOf(name) !== -1 || !options.rotatable && rotateButtons.indexOf(name) !== -1 || !options.scalable && scaleButtons.indexOf(name) !== -1) {
+                            return;
+                        }
+
+                        var size = deep && !isUndefined(value.size) ? value.size : value;
+                        var click = deep && !isUndefined(value.click) ? value.click : value;
+                        var item = document.createElement('li');
+
+                        item.setAttribute('role', 'button');
+                        addClass(item, NAMESPACE + '-' + name);
+
+                        if (!isFunction(click)) {
+                            setData(item, 'action', name);
+                        }
+
+                        if (isNumber(show)) {
+                            addClass(item, getResponsiveClass(show));
+                        }
+
+                        if (['small', 'large'].indexOf(size) !== -1) {
+                            addClass(item, NAMESPACE + '-' + size);
+                        } else if (name === 'play') {
+                            addClass(item, NAMESPACE + '-large');
+                        }
+
+                        if (isFunction(click)) {
+                            addListener(item, EVENT_CLICK, click);
+                        }
+
+                        list.appendChild(item);
+                    });
+
+                    toolbar.appendChild(list);
+                } else {
+                    addClass(toolbar, CLASS_HIDE);
+                }
 
-            if (!show || !options.zoomable && zoomButtons.indexOf(name) !== -1 || !options.rotatable && rotateButtons.indexOf(name) !== -1 || !options.scalable && scaleButtons.indexOf(name) !== -1) {
-              return;
-            }
+                if (!options.rotatable) {
+                    var rotates = toolbar.querySelectorAll('li[class*="rotate"]');
 
-            var size = deep && !isUndefined(value.size) ? value.size : value;
-            var click = deep && !isUndefined(value.click) ? value.click : value;
-            var item = document.createElement('li');
+                    addClass(rotates, CLASS_INVISIBLE);
+                    forEach(rotates, function (rotate) {
+                        toolbar.appendChild(rotate);
+                    });
+                }
 
-            item.setAttribute('role', 'button');
-            addClass(item, NAMESPACE + '-' + name);
+                if (options.inline) {
+                    addClass(button, CLASS_FULLSCREEN);
+                    setStyle(viewer, {
+                        zIndex: options.zIndexInline
+                    });
 
-            if (!isFunction(click)) {
-              setData(item, 'action', name);
-            }
+                    if (window.getComputedStyle(parent).position === 'static') {
+                        setStyle(parent, {
+                            position: 'relative'
+                        });
+                    }
 
-            if (isNumber(show)) {
-              addClass(item, getResponsiveClass(show));
-            }
+                    parent.insertBefore(viewer, element.nextSibling);
+                } else {
+                    addClass(button, CLASS_CLOSE);
+                    addClass(viewer, CLASS_FIXED);
+                    addClass(viewer, CLASS_FADE);
+                    addClass(viewer, CLASS_HIDE);
 
-            if (['small', 'large'].indexOf(size) !== -1) {
-              addClass(item, NAMESPACE + '-' + size);
-            } else if (name === 'play') {
-              addClass(item, NAMESPACE + '-large');
-            }
+                    setStyle(viewer, {
+                        zIndex: options.zIndex
+                    });
 
-            if (isFunction(click)) {
-              addListener(item, EVENT_CLICK, click);
-            }
+                    var container = options.container;
 
-            list.appendChild(item);
-          });
 
-          toolbar.appendChild(list);
-        } else {
-          addClass(toolbar, CLASS_HIDE);
-        }
+                    if (isString(container)) {
+                        container = element.ownerDocument.querySelector(container);
+                    }
 
-        if (!options.rotatable) {
-          var rotates = toolbar.querySelectorAll('li[class*="rotate"]');
+                    if (!container) {
+                        container = this.body;
+                    }
 
-          addClass(rotates, CLASS_INVISIBLE);
-          forEach(rotates, function (rotate) {
-            toolbar.appendChild(rotate);
-          });
-        }
+                    container.appendChild(viewer);
+                }
 
-        if (options.inline) {
-          addClass(button, CLASS_FULLSCREEN);
-          setStyle(viewer, {
-            zIndex: options.zIndexInline
-          });
+                if (options.inline) {
+                    this.render();
+                    this.bind();
+                    this.isShown = true;
+                }
 
-          if (window.getComputedStyle(parent).position === 'static') {
-            setStyle(parent, {
-              position: 'relative'
-            });
-          }
+                this.ready = true;
 
-          parent.insertBefore(viewer, element.nextSibling);
-        } else {
-          addClass(button, CLASS_CLOSE);
-          addClass(viewer, CLASS_FIXED);
-          addClass(viewer, CLASS_FADE);
-          addClass(viewer, CLASS_HIDE);
+                if (isFunction(options.ready)) {
+                    addListener(element, EVENT_READY, options.ready, {
+                        once: true
+                    });
+                }
 
-          setStyle(viewer, {
-            zIndex: options.zIndex
-          });
+                if (dispatchEvent(element, EVENT_READY) === false) {
+                    this.ready = false;
+                    return;
+                }
 
-          var container = options.container;
+                if (this.ready && options.inline) {
+                    this.view();
+                }
+            }
 
+            /**
+             * Get the no conflict viewer class.
+             * @returns {Viewer} The viewer class.
+             */
 
-          if (isString(container)) {
-            container = element.ownerDocument.querySelector(container);
-          }
+        }], [{
+            key: 'noConflict',
+            value: function noConflict() {
+                window.Viewer = AnotherViewer;
+                return Viewer;
+            }
 
-          if (!container) {
-            container = this.body;
-          }
+            /**
+             * Change the default options.
+             * @param {Object} options - The new default options.
+             */
 
-          container.appendChild(viewer);
-        }
+        }, {
+            key: 'setDefaults',
+            value: function setDefaults(options) {
+                assign(DEFAULTS, isPlainObject(options) && options);
+            }
+        }]);
+        return Viewer;
+    }();
 
-        if (options.inline) {
-          this.render();
-          this.bind();
-          this.isShown = true;
-        }
+    assign(Viewer.prototype, render, events, handlers, methods, others);
 
-        this.ready = true;
+    if ($.fn) {
+        var AnotherViewer$1 = $.fn.viewer;
+        var NAMESPACE$1 = 'viewer';
 
-        if (isFunction(options.ready)) {
-          addListener(element, EVENT_READY, options.ready, {
-            once: true
-          });
-        }
+        $.fn.viewer = function jQueryViewer(option) {
+            for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+                args[_key - 1] = arguments[_key];
+            }
 
-        if (dispatchEvent(element, EVENT_READY) === false) {
-          this.ready = false;
-          return;
-        }
+            var result = void 0;
 
-        if (this.ready && options.inline) {
-          this.view();
-        }
-      }
+            this.each(function (i, element) {
+                var $element = $(element);
+                var isDestroy = option === 'destroy';
+                var viewer = $element.data(NAMESPACE$1);
 
-      /**
-       * Get the no conflict viewer class.
-       * @returns {Viewer} The viewer class.
-       */
+                if (!viewer) {
+                    if (isDestroy) {
+                        return;
+                    }
 
-    }], [{
-      key: 'noConflict',
-      value: function noConflict() {
-        window.Viewer = AnotherViewer;
-        return Viewer;
-      }
-
-      /**
-       * Change the default options.
-       * @param {Object} options - The new default options.
-       */
-
-    }, {
-      key: 'setDefaults',
-      value: function setDefaults(options) {
-        assign(DEFAULTS, isPlainObject(options) && options);
-      }
-    }]);
-    return Viewer;
-  }();
-
-  assign(Viewer.prototype, render, events, handlers, methods, others);
-
-  if ($.fn) {
-    var AnotherViewer$1 = $.fn.viewer;
-    var NAMESPACE$1 = 'viewer';
-
-    $.fn.viewer = function jQueryViewer(option) {
-      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-        args[_key - 1] = arguments[_key];
-      }
-
-      var result = void 0;
-
-      this.each(function (i, element) {
-        var $element = $(element);
-        var isDestroy = option === 'destroy';
-        var viewer = $element.data(NAMESPACE$1);
-
-        if (!viewer) {
-          if (isDestroy) {
-            return;
-          }
+                    var options = $.extend({}, $element.data(), $.isPlainObject(option) && option);
 
-          var options = $.extend({}, $element.data(), $.isPlainObject(option) && option);
+                    viewer = new Viewer(element, options);
+                    $element.data(NAMESPACE$1, viewer);
+                }
 
-          viewer = new Viewer(element, options);
-          $element.data(NAMESPACE$1, viewer);
-        }
+                if (typeof option === 'string') {
+                    var fn = viewer[option];
 
-        if (typeof option === 'string') {
-          var fn = viewer[option];
+                    if ($.isFunction(fn)) {
+                        result = fn.apply(viewer, args);
 
-          if ($.isFunction(fn)) {
-            result = fn.apply(viewer, args);
+                        if (result === viewer) {
+                            result = undefined;
+                        }
 
-            if (result === viewer) {
-              result = undefined;
-            }
+                        if (isDestroy) {
+                            $element.removeData(NAMESPACE$1);
+                        }
+                    }
+                }
+            });
 
-            if (isDestroy) {
-              $element.removeData(NAMESPACE$1);
-            }
-          }
-        }
-      });
+            return result !== undefined ? result : this;
+        };
 
-      return result !== undefined ? result : this;
-    };
+        $.fn.viewer.Constructor = Viewer;
+        $.fn.viewer.setDefaults = Viewer.setDefaults;
+        $.fn.viewer.noConflict = function noConflict() {
+            $.fn.viewer = AnotherViewer$1;
+            return this;
+        };
+    }
 
-    $.fn.viewer.Constructor = Viewer;
-    $.fn.viewer.setDefaults = Viewer.setDefaults;
-    $.fn.viewer.noConflict = function noConflict() {
-      $.fn.viewer = AnotherViewer$1;
-      return this;
-    };
-  }
 
 })));