Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/com_slideshowck.zip
Назад
PK na!]w,3O� � assets/jquery-ui.min.cssnu &1i� /*! jQuery UI - v1.11.4 - 2016-04-25 * http://jqueryui.com * Includes: core.css, datepicker.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px * Copyright jQuery Foundation and other contributors; Licensed MIT */ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} /* for uick */ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widgetck-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widgetck{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widgetck .ui-widgetck{font-size:1em}.ui-widgetck input,.ui-widgetck select,.ui-widgetck textarea,.ui-widgetck button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widgetck-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widgetck-content a{color:#333}.ui-widgetck-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widgetck-header a{color:#333}.ui-state-default,.ui-widgetck-content .ui-state-default,.ui-widgetck-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widgetck-content .ui-state-hover,.ui-widgetck-header .ui-state-hover,.ui-state-focus,.ui-widgetck-content .ui-state-focus,.ui-widgetck-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widgetck-content .ui-state-active,.ui-widgetck-header .ui-state-active{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widgetck-content .ui-state-highlight,.ui-widgetck-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widgetck-content .ui-state-highlight a,.ui-widgetck-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widgetck-content .ui-state-error,.ui-widgetck-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widgetck-content .ui-state-error a,.ui-widgetck-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widgetck-content .ui-state-error-text,.ui-widgetck-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widgetck-content .ui-priority-primary,.ui-widgetck-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widgetck-content .ui-priority-secondary,.ui-widgetck-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widgetck-content .ui-state-disabled,.ui-widgetck-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widgetck-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widgetck-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widgetck-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widgetck-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} PK na!]5�� assets/ckbox.cssnu &1i� /** * @copyright Copyright (C) 2015 Cedric KEIFLIN alias ced1870 * http://www.joomlack.fr * @license GNU/GPL * */ .ckboxmodal { border: #666 1px solid; box-shadow: #000 0px 0px 5px; -moz-box-shadow: #000 0px 0px 5px; background: #fff; padding: 0; left: 50%; top: 10px; padding-bottom: 50px; z-index: 100000; height: 500px; margin-left: -400px; width: 800px; position: absolute; } .ckboxmodal.fullscreen { position: fixed; left: 10px; right: 10px; top: 10px; bottom: 10px; margin: 0; padding: 0; width: auto; height: auto; } .ckboxmodal iframe, .ckboxmodal .ckboxmodal-body { width: 100%; height: 100%; border: none; box-sizing: border-box; } .ckboxmodal iframe { overflow-y: auto; } .ckboxmodal-back { position: fixed; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 99999; margin: 0; padding: 0; width: auto; height: auto; background: #000; opacity: 0.6; } .ckboxmodal-header:empty, .ckboxmodal-footer:empty, .ckboxmodal-button:empty { display: none !important; } .ckboxmodal-footer { height: 50px; position: absolute; left: 0; right: 0; bottom: 0; background: #e1e1e1; color: #aaa; border-top: 1px solid #ccc; /*box-shadow: #ccc 0px 0px 5px; -moz-box-shadow: #ccc 0px 0px 5px;*/ } .ckboxmodal-footer .ckboxmodal-button { display: inline-block !important; float: right !important; height: 50px !important; min-width: 50px !important; box-sizing: border-box !important; line-height: 50px !important; padding: 0 14px !important; background: #cfcfcf !important; color: #555 !important; font-size: 1.3em !important; border: none; border-left: 1px solid #aaa !important; box-shadow: 0 0 15px #b5b5b5 inset !important; text-align: center !important; cursor: pointer !important; font-weight: normal !important; border-radius: 0; } .ckboxmodal-footer .ckboxmodal-button:hover { text-decoration: underline; background: #bbb; } .ckwait { background: url(ajax-loader.gif) center center no-repeat; min-height: 16px; } .ckboxmodal .btn { display: inline-block; cursor: pointer; }PK na!]&k43�O �O assets/ckframework.cssnu &1i� /** CSS CK Framework **/ /* * Februar 2016 * Cédric KEIFLIN * http://www.joomlack.fr - http://www.template-creator.com * @version 1.0.0 */ .ckclr { clear : both; } /* =========================================================== * CK Button * ========================================================== */ .ckbutton { display: inline-block; background: #f9f9f9; border: #bbb 1px solid; border-color: #bbb #bbb #a2a2a2; border-radius: 2px; color: #333; font-size: 13px; cursor: pointer; text-align: center; line-height: 18px; margin: 0px 5px 3px 5px; vertical-align: top; padding: 4px 12px; text-decoration: none; } .ckbutton:hover { background: #f1f1f1; text-decoration: none; color: #333; } /*.ckbutton:empty { display: none !important; } */ .ckbutton [class^="icon-"], .ckbutton [class*=" icon-"] { margin: 0; } .ckbutton-small { padding: 2px 4px; } .ckbutton:active, .ckinterface :checked + label.ckbutton, .ckbutton.active { color: #333; background: #e6e6e6; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); } .ckbutton-group { display: inline-block; font-size: 0; position: relative; vertical-align: middle; white-space: nowrap; } .ckbutton-group { display: inline-block; font-size: 0; position: relative; vertical-align: middle; white-space: nowrap; } .ckbutton-group > .ckbutton { margin-left: 2px; margin-right: 0px; border-radius: 0; /*min-width: 30px;*/ } .ckbutton-group.small > .ckbutton { padding: 4px 8px; } .ckbutton-group > label.ckbutton { width: auto; } .ckbutton-group > input[type="radio"] { display: none !important; } .ckbutton-group > .ckbutton + .ckbutton, .ckbutton-group > input:not(:first-child) + .ckbutton { margin-left: -1px; } .ckbutton-primary.active, .ckbutton-warning.active, .ckbutton-danger.active, .ckbutton-success.active, .ckbutton-info.active, .ckbutton-inverse.active { color: rgba(255,255,255,0.75); } .ckbutton-primary { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #1d6cb0; border-color: #15497c #15497c #0a223b; } .ckbutton-primary:hover, .ckbutton-primary:focus, .ckbutton-primary:active, .ckbutton-primary.active, .ckbutton-primary.disabled, .ckbutton-primary[disabled] { color: #fff; background-color: #15497c; } .ckbutton-warning { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #faa732; border-color: #f89406 #f89406 #ad6704; } .ckbutton-warning:hover, .ckbutton-warning:focus, .ckbutton-warning:active, .ckbutton-warning.active, .ckbutton-warning.disabled, .ckbutton-warning[disabled] { color: #fff; background-color: #f89406; } .ckbutton-danger { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #da4f49; border-color: #bd362f #bd362f #802420; } .ckbutton-danger:hover, .ckbutton-danger:focus, .ckbutton-danger:active, .ckbutton-danger.active, .ckbutton-danger.disabled, .ckbutton-danger[disabled] { color: #fff; background-color: #bd362f; } .ckbutton-success { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #5bb75b; border-color: #51a351 #51a351 #387038; } .ckbutton-success:hover, .ckbutton-success:focus, .ckbutton-success:active, .ckbutton-success.active, .ckbutton-success.disabled, .ckbutton-success[disabled] { color: #fff; background-color: #51a351; } .ckbutton-success:active, .ckbutton-success.active { background-color: #408140 \9; } .ckbutton-info { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #49afcd; border-color: #2f96b4 #2f96b4 #1f6377; } .ckbutton-info:hover, .ckbutton-info:focus, .ckbutton-info:active, .ckbutton-info.active, .ckbutton-info.disabled, .ckbutton-info[disabled] { color: #fff; background-color: #2f96b4; } .ckbutton-inverse { color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #363636; border-color: #222 #222 #000000; } .ckbutton-inverse:hover, .ckbutton-inverse:focus, .ckbutton-inverse:active, .ckbutton-inverse.active, .ckbutton-inverse.disabled, .ckbutton-inverse[disabled] { color: #fff; background-color: #222; } /* =========================================================== * CK Forms * ========================================================== */ .ckinterface { font-family: Segoe UI, "Helvetica Neue",Helvetica,Arial,sans-serif; background: #fff; line-height: 22px; font-size: 13px; } .ckinterface label { width: 150px; } .ckinterface textarea, .ckinterface select, .ckinterface input[type="text"], .ckinterface input[type="password"], .ckinterface input[type="datetime"], .ckinterface input[type="datetime-local"], .ckinterface input[type="date"], .ckinterface input[type="month"], .ckinterface input[type="time"], .ckinterface input[type="week"], .ckinterface input[type="number"], .ckinterface input[type="email"], .ckinterface input[type="url"], .ckinterface input[type="search"], .ckinterface input[type="tel"], .ckinterface input[type="color"], .ckinterface .uneditable-input { border-radius: 0; margin: 0px 0px 3px 0px; padding: 4px 6px; /*vertical-align: middle;*/ display: inline-block; font-size: 13px; min-height: 28px; line-height: 18px; vertical-align: top; color: #555; background-color: #fff; border: 1px solid #ccc; background-color: #ffffff; border: 1px solid #cccccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; } /*textarea,select { height: auto; border-radius: 0; }*/ .ckinterface textarea:focus, .ckinterface input[type="text"]:focus, .ckinterface input[type="password"]:focus, .ckinterface input[type="datetime"]:focus, .ckinterface input[type="datetime-local"]:focus, .ckinterface input[type="date"]:focus, .ckinterface input[type="month"]:focus, .ckinterface input[type="time"]:focus, .ckinterface input[type="week"]:focus, .ckinterface input[type="number"]:focus, .ckinterface input[type="email"]:focus, .ckinterface input[type="url"]:focus, .ckinterface input[type="search"]:focus, .ckinterface input[type="tel"]:focus, .ckinterface input[type="color"]:focus, .ckinterface .uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(82, 168, 236, 0.6); } /* =========================================================== * CK Tooltip * ========================================================== */ .cktooltip { position: absolute; z-index: 10030; display: block; visibility: visible; font-size: 11px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .cktooltip.in { opacity: 0.8; filter: alpha(opacity=80); } .cktooltip.top { margin-top: -3px; padding: 5px 0; } .cktooltip.right { margin-left: 3px; padding: 0 5px; } .cktooltip.bottom { margin-top: 3px; padding: 5px 0; } .cktooltip.left { margin-left: -3px; padding: 0 5px; } .cktooltip-inner { max-width: 200px; padding: 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .cktooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .cktooltip.top .cktooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .cktooltip.right .cktooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .cktooltip.left .cktooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .cktooltip.bottom .cktooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } /* =========================================================== * CK General settings * ========================================================== */ .ckrow { margin-top: 0; margin-bottom: 5px; } .ckinterface .ckicon { vertical-align: -3px; } /* =========================================================== * Table * ========================================================== */ .cktable { width: 100%; margin-bottom: 18px; max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; } .cktable th, .cktable td { padding: 8px; line-height: 18px; text-align: left; vertical-align: top; /*border-top: 1px solid #ddd;*/ } .cktable th { font-weight: bold; } .cktable thead th { vertical-align: bottom; } .cktable caption + thead tr:first-child th, .cktable caption + thead tr:first-child td, .cktable colgroup + thead tr:first-child th, .cktable colgroup + thead tr:first-child td, .cktable thead:first-child tr:first-child th, .cktable thead:first-child tr:first-child td { border-top: 0; } .cktable tbody + tbody { border-top: 2px solid #ddd; } .cktable .cktable { /*background-color: #fff;*/ } .cktable-condensed th, .cktable-condensed td { padding: 4px 5px; } .cktable-bordered { border: 1px solid #ddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; /*-webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;*/ } .cktable-bordered th, .cktable-bordered td { border-left: 1px solid #ddd; } .cktable-bordered caption + thead tr:first-child th, .cktable-bordered caption + tbody tr:first-child th, .cktable-bordered caption + tbody tr:first-child td, .cktable-bordered colgroup + thead tr:first-child th, .cktable-bordered colgroup + tbody tr:first-child th, .cktable-bordered colgroup + tbody tr:first-child td, .cktable-bordered thead:first-child tr:first-child th, .cktable-bordered tbody:first-child tr:first-child th, .cktable-bordered tbody:first-child tr:first-child td { border-top: 0; } .cktable-striped tbody > tr:nth-child(odd) > td, .cktable-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } .cktable-hover tbody tr:hover > td, .cktable-hover tbody tr:hover > th { background-color: #f5f5f5; } /* =========================================================== * Messages * ========================================================== */ [class^="ckalert"] { padding: 8px 35px 8px 14px; margin-bottom: 18px; text-shadow: 0 1px 0 rgba(255,255,255,0.5); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .ckalert { background-color: #fcf8e3; border: 1px solid #faebcc; } .ckalert, .ckalert h4 { color: #8a6d3b; } .ckalert h4 { margin: 0 0 .5em; } .ckalert .ckclose { position: relative; top: -2px; right: -21px; line-height: 18px; float: right; font-size: 20px; line-height: 20px; padding: 5px; cursor: pointer; } .ckalert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; } .ckalert-success h4 { color: #3c763d; } .ckalert-danger, .ckalert-error { background-color: #f2dede; border-color: #ebccd1; color: #a94442; } .ckalert-danger h4, .ckalert-error h4 { color: #a94442; } .ckalert-info { background-color: #d9edf7; border-color: #bce8f1; color: #31708f; } .ckalert-info h4 { color: #31708f; } /* =========================================================== * Interface with tabs * ========================================================== */ .ckinterfacetab { /*min-height: 500px; overflow-y: auto;*/ position: relative; /*padding: 10px;*/ } .ckinterfacetab:not(.current) { display: none; } .ckinterfacetablink { float: left; padding: 7px 14px; margin: 5px 3px 0 5px; cursor: pointer; color: #a6a6a6; background: #eee; border-radius: 2px 2px 0 0; border: 1px solid #ddd; position: relative; z-index: 1; } .ckinterfacetablinkdesc { text-align: center; font-size: 10px; color: #a6a6a6; line-height: 10px; } .ckinterfacetablink:hover, .ckinterfacetablink.current { color: #000; background: #fff; border-bottom: 1px solid #fff; } .ckinterfacetablink + .ckclr { clear: both; border-top: 1px solid #ddd; margin-bottom: 5px; position: relative; z-index: 0; top: -1px; visibility: visible; } .ckinterfacetab input[type="radio"], input[type="checkbox"] { border: none; } .ckinterfacetab .ckinterfacetablink { cursor: pointer; position: relative; z-index: 1; /*height: 20px;*/ margin: 5px 0 3px 3px; padding: 15px; color: #a6a6a6; background: #eee; border-radius: 5px 0 0 5px; border: 1px solid #ddd; float: none; } .ckinterfacetab .ckinterfacetablink:hover, .ckinterfacetab .ckinterfacetablink.current { background: #fff; border-right: 1px solid #fff; color: #21759b; } .ckinterfacetab .ckinterfacetab { padding: 0 0 0 10px; } .ckinterfacetab.hascol:after { border-right: 1px solid #ddd; content: ""; display: block; float: left; height: 100%; left: 169px; margin: 0; position: absolute; top: 0; width: 0; } .ckcol_left { float: left; width: 170px; height: 250px; } .ckcol_right { float: left; width: 610px; } .ckdisabled { cursor: default; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } /* =========================================================== * Options field * ========================================================== */ .ckoption { margin-bottom: 3px; padding: 2px 5px; clear: both; } .ckoption > span { display: inline-block; vertical-align: middle; box-sizing: border-box; padding: 0 3px; } .ckoption > span:first-child { width: 170px; } .ckoption .ckoption-desc { font-style: italic; display: inline; } .ckoption-label, .ckoption > span.ckoption-label:first-child { width: 115px; float: left; margin-top: 5px; } .ckinterface-labels-big .ckoption-label, .ckinterface-labels-big .ckoption > span.ckoption-label:first-child { width: 200px; line-height: 16px; float: none; display: inline-block; } .ckoption-field { width: calc(100% - 115px); } #ckelementscontainer .ckoption-field > input[type="text"], .ckoption-field > input[type="text"], .ckelementscontainer .ckoption-field > input[type="text"], .ckoption-field > input[type="text"]{ width: auto; } .ckoption-suffix { display: inline-block; margin-top: 4px; } img.ckoption-icon { float: right; } /*-------------------------------------------- --- Page header menu -- ----------------------------------------------*/ #ckheader *:not([class*="fa-"]) { box-sizing: border-box; font-family: Open Sans, Verdana, Arial, Sans Serif; } #ckheader { background: #333; height: 65px; box-sizing: border-box; position: fixed; top: 0; left: 0; right: 0; z-index: 1000; min-width: 800px; } #ckheader .ckheaderlogo { float: left; padding: 15px 15px; margin: 0 10px 0 0; background: #222; border-right: 1px solid #000; height: 65px; overflow: hidden; } #ckheader .ckheaderlogo a:before{ display: none; } #ckheader .ckheadertitle { float: left; margin: 20px 5px; font-size: 14px; color: #777777; } #ckheader .ckheadermenu { text-align: left; min-width: 800px; } #ckheader .ckheadermenu .ckheadermenuitem { display: inline-block; color: #d1d1c6; border: 1px solid transparent; padding: 8px 12px; margin: 12px 5px; font-size: 13px; text-align: center; background: none; border-radius: 3px; font-weight: bold; text-decoration: none; transition: all 0.1s ease; } #ckheader .ckheadermenu .ckheadermenuitem:not(.cksave):not(.ckcancel):hover { background: #000; color: #fff; border: 1px solid rgba(255,255,255, 0.4); } #ckheader .ckheadermenu .ckheadermenuitem:hover { border: 1px solid rgba(255,255,255, 0.4); } #ckheader .ckheadermenu .cksave { background: #007feb; color: #fff; text-transform: uppercase; float: right; } #ckheader .ckheadermenu .ckcancel { background: #000; color: #fff; text-transform: uppercase; float: right; margin-right: 10px; } .ckheadermenuitem:not(.ckundo):not(.ckredo):not(.ckcancel):not(.cksave) .fa { display: none; } @media screen and (max-width: 1300px) { #ckheader .ckheadermenu .ckheadermenuitem { padding: 8px 8px; margin: 12px 2px; } } @media screen and (max-width: 1155px) { .ckheadermenuitem .fa, .ckheadermenuitem .fas { display: block !important; font-size: 30px; } .ckheadermenuitemtext { display: none; } #ckheader .ckheadermenu .ckheadermenuitem { min-width: 50px; min-height: 50px; margin: 8px 2px; } #ckheader .ckheadermenu .ckheadertitle { font-size: 12px; } } #ckheader .ckhassubmenu { display: inline-block; } #ckheader .cksubmenu > a { display: block; color: #d1d1c6; border: none; padding: 8px 12px; margin: 5px 10px; font-size: 14px; text-align: left; background: none; border-radius: 0px; font-weight: normal; text-decoration: none; transition: all 0.1s ease; } #ckheader .cksubmenu > a:hover { color: #fff; background: #000; } #ckbody { margin-top: 65px; } /*-------------------------------------------- --- Left panel -- ----------------------------------------------*/ .ckleftpanel { background-color: #f5f5f5; border: 1px solid #e3e3e3; display: block; left: 0; padding: 0 0 10px 0px; width: 310px; box-sizing: border-box; z-index: 999; position: fixed; top: 66px; bottom: 0; overflow-y: scroll; overflow-x: hidden; margin: 0; font-family: Segoe UI, arial; } .ckleftpanel > .inner { padding: 0 20px 0 2px; } .ckleftpanelheader { cursor: pointer; padding: 0 0 0 5px; background: #ececec; border-bottom: 1px solid #ddd; font-size: 18px; min-height: 40px; } .ckleftpaneltitle { display: inline-block; width: 120px; line-height: 32px; vertical-align: top; padding-left: 5px; height: 40px; } .ckleftpanelsubtitle { margin: 5px 0; padding: 5px; font-size: 12px; line-height: 12px; } .ckleftpanelsubtitleunder { display: block; line-height: 0; margin: 0; padding: 0; white-space: nowrap; } .ckleftpanelheadericon { width: 40px; height: 40px; float: right; display: inline-block; box-sizing: border-box; line-height: 35px; padding: 0; background: #cfcfcf; color: #555; font-size: 13px; border: none; border-left: 1px solid #aaa; box-shadow: 0 0 15px #b5b5b5 inset; text-align: center; cursor: pointer; font-weight: normal; border-radius: 0; } .ckleftpanelheadericon.ckclose { font-size: 1.3em; line-height: 32px; } .cksticked .ckleftpanelheadericon.ckstick .fa { transform: rotate(45 deg); color: cornflowerblue; } /*-------------------------------------------- --- Label and Badge -- ----------------------------------------------*/ .cklabel, .ckbadge { display: inline-block; padding: 2px 4px; font-size: 10.998px; font-weight: bold; line-height: 14px; color: #fff; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background-color: #999; } .cklabel { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } .ckbadge { padding-left: 9px; padding-right: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; } .cklabel:empty, .ckbadge:empty { display: none; } a.cklabel:hover, a.cklabel:focus, a.ckbadge:hover, a.ckbadge:focus { color: #fff; text-decoration: none; cursor: pointer; } .cklabel-important, .ckbadge-important { background-color: #b94a48; } .cklabel-important[href], .ckbadge-important[href] { background-color: #953b39; } .cklabel-warning, .ckbadge-warning { background-color: #f89406; } .cklabel-warning[href], .ckbadge-warning[href] { background-color: #c67605; } .cklabel-success, .ckbadge-success { background-color: #468847; } .cklabel-success[href], .ckbadge-success[href] { background-color: #356635; } .cklabel-info, .ckbadge-info { background-color: #3a87ad; } .cklabel-info[href], .ckbadge-info[href] { background-color: #2d6987; } .cklabel-inverse, .ckbadge-inverse { background-color: #333; } .cklabel-inverse[href], .ckbadge-inverse[href] { background-color: #1a1a1a; } #cktoolbar-fixed { position: absolute; margin: 0; top: 65px; left: 0; background: #f0f0f0; border-bottom: 1px solid #dedede; right: 0; padding: 0 10px; }PK na!]m�T3�c �c assets/camera.jsnu &1i� // Camera slideshow - a jQuery slideshow with many effects, transitions, easy to customize, using canvas and mobile ready, based on jQuery 1.4+ // Copyright (c) 2012 by Manuel Masia - www.pixedelic.com // Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php // Updated by Cédric KEIFLIN - https://www.joomlack.fr - https://www.ceikay.com // v1.4.23 - 16/10/23 : fix issue with responsive caption and multiple slideshows // v1.4.22 - 15/10/22 : fix issue with alt tags on images // v1.4.21 - 22/04/22 : add option for title in thumbs // v1.4.20 - 09/01/22 : fix issue with joomla 4 when user is logged on // v1.4.19 - 13/12/21 : fix issue when there is only 1 image and a video // v1.4.18 - 18/11/21 : fix issue when there is only 1 image // v1.4.17 - 07/12/20 : add compatibility with VH unit // v1.4.16 - 12/10/20 : add aria-current attribute for accessibility // v1.4.15 - 23/04/20 : add video tag html5 and autoplay feature compatibility // v1.4.14 - 11/02/20 : add compat with Page Builder CK animations // v1.4.13 - 13/11/19 : fix issue with fade from bottom and middle layout // v1.4.12 - 13/06/19 : fix issue on thumbs container width // v1.4.11 - 12/06/19 : add aria-label on anchor links // v1.4.10 - 11/06/19 : update for the V2 of slideshow CK, modify the margin bottom on thumbs // , remove the effect on the caption is no effect is selected // v1.4.9 - 04/11/18 : check if the html code exists in the page // v1.4.8 - 02/05/18 : fix issue with fullpage background and image dimensions // v1.4.7 - 12/03/18 : add option for keyboard controls, arrows left - right and P // v1.4.6 - 09/01/18 : fix issue with image alignment option when using fullpage option // v1.4.5 - 08/01/18 : add accessibility with tabuliation and enter keypress : Thanks to Adam ! // v1.4.4 - 14/09/17 : fix issue when the instance is called multiple times on the same slideshow // v1.4.3 - 23/06/17 : remove the time stamp in image url (again) // v1.4.2 - 03/05/17 : add the alt tag on images // v1.4.1 - 22/02/17 : improve the load as container background feature to work in the same way as full page background // v1.4.0 - 16/02/17 : separate the slideshow instance from the jQuery instance. Load it as object and not as jquery plugin // v1.3.18 - 22/11/16 : add the event cameraupdate // v1.3.17 - 08/11/16 : improve the transition in full page background mode // v1.3.16 - 06/10/16 : remove the time stamp in image url // v1.3.15 - 03/10/16 : improve the full background ratios and display again // v1.3.14 - 28/03/16 : improve the full background ratios and display // v1.3.13 - 04/03/16 : remove dependency to jquery mobile, add custom touch event handler // v1.3.12 - 28/09/15 : added KenBurns effect // v1.3.11 - 18/06/15 : fix an issue with the squeezebox if not loaded // v1.3.10 - 10/02/15 : fix an issue with the thumb container width // v1.3.9 - 22/12/14 : added option to load the slideshow as background of any container // v1.3.8 - 03/07/13 : added option to load specific images depending on the resolution of the screen // v1.3.7 : improved the loading time of the first image and the slideshow height at start, fix an issue with the lightbox // v1.3.6 : added lightbox support // v1.3.5 : update for jQuery1.9 // from cedric keiflin alias ced1870 ;(function($){ var Slideshowck = function (container, opts, callback) { // $.fn.camera = function(opts, callback) { var defaults = { alignment : 'center', //topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight autoAdvance : true, //true, false mobileAutoAdvance : true, //true, false. Auto-advancing for mobile devices barDirection : 'leftToRight', //'leftToRight', 'rightToLeft', 'topToBottom', 'bottomToTop' barPosition : 'bottom', //'bottom', 'left', 'top', 'right' cols : 6, easing : 'easeInOutExpo', //for the complete list http://jqueryui.com/demos/effect/easing.html mobileEasing : '', //leave empty if you want to display the same easing on mobile devices and on desktop etc. fx : 'random', //'random','simpleFade', 'curtainTopLeft', 'curtainTopRight', 'curtainBottomLeft', 'curtainBottomRight', 'curtainSliceLeft', 'curtainSliceRight', 'blindCurtainTopLeft', 'blindCurtainTopRight', 'blindCurtainBottomLeft', 'blindCurtainBottomRight', 'blindCurtainSliceBottom', 'blindCurtainSliceTop', 'stampede', 'mosaic', 'mosaicReverse', 'mosaicRandom', 'mosaicSpiral', 'mosaicSpiralReverse', 'topLeftBottomRight', 'bottomRightTopLeft', 'bottomLeftTopRight', 'bottomLeftTopRight', 'kenburns' //you can also use more than one effect, just separate them with commas: 'simpleFade, scrollRight, scrollBottom' mobileFx : '', //leave empty if you want to display the same effect on mobile devices and on desktop etc. gridDifference : 250, //to make the grid blocks slower than the slices, this value must be smaller than transPeriod height : '50%', //here you can type pixels (for instance '300px'), a percentage (relative to the width of the slideshow, for instance '50%') or 'auto' imagePath : 'images/', //he path to the image folder (it serves for the blank.gif, when you want to display videos) hover : true, //true, false. Puase on state hover. Not available for mobile devices loader : 'pie', //pie, bar, none (even if you choose "pie", old browsers like IE8- can't display it... they will display always a loading bar) loaderColor : '#eeeeee', loaderBgColor : '#222222', loaderOpacity : .8, //0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1 loaderPadding : 2, //how many empty pixels you want to display between the loader and its background loaderStroke : 7, //the thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter minHeight : '200px', //you can also leave it blank navigation : true, //true or false, to display or not the navigation buttons navigationHover : true, //if true the navigation button (prev, next and play/stop buttons) will be visible on hover state only, if false they will be visible always mobileNavHover : true, //same as above, but only for mobile devices opacityOnGrid : false, //true, false. Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, I recommend to set it false to have a smoother effect overlayer : true, //a layer on the images to prevent the users grab them simply by clicking the right button of their mouse (.camera_overlayer) pagination : true, playPause : false, //true or false, to display or not the play/pause buttons pauseOnClick : true, //true, false. It stops the slideshow when you click the sliders. pieDiameter : 38, piePosition : 'rightTop', //'rightTop', 'leftTop', 'leftBottom', 'rightBottom' portrait : false, //true, false. Select true if you don't want that your images are cropped rows : 4, slicedCols : 12, //if 0 the same value of cols slicedRows : 8, //if 0 the same value of rows slideOn : 'random', //next, prev, random: decide if the transition effect will be applied to the current (prev) or the next slide thumbnails : false, thumbheight : '100', thumbwidth : '75', time : 7000, //milliseconds between the end of the sliding effect and the start of the nex one transPeriod : 1500, //lenght of the sliding effect in milliseconds fullpage : false, lightbox : 'none', mobileimageresolution: 0, container: '', responsiveCaption: false, keyboardNavigation: false, titleInThumbs: false, // videoAutoplay: '0', ////////callbacks onEndTransition : function() { }, //this callback is invoked when the transition effect ends onLoaded : function() { }, //this callback is invoked when the image on a slide has completely loaded onStartLoading : function() { }, //this callback is invoked when the image on a slide start loading onStartTransition : function() { } //this callback is invoked when the transition effect starts }; // check if the slideshow does not exists in the page if (! $(container).length) return; if (!(this instanceof Slideshowck)) return new Slideshowck(container, opts, callback); var slideshowcks = window.slideshowcks || []; if (slideshowcks.indexOf(container) > -1) return; slideshowcks.push(container); window.slideshowcks = slideshowcks; function isMobile() { if( navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) ){ return true; } } var opts = $.extend({}, defaults, opts); var wrap = $(container).addClass('camera_wrap'); if (opts.fullpage == true) { $(document.body).css('background','none').prepend(wrap); wrap.css({ 'height' : '100%', 'margin-left' : 0, 'margin-right' : 0, 'margin-top' : 0, 'position' : 'fixed', 'visibility' : 'visible', 'left' : 0, 'right' : 0, 'top' : 0, 'min-width': '100%', 'min-height' : '100%', 'width' : '100%', 'z-index' : '-1' }); } else if (opts.container != false) { $(opts.container).css('background','none').prepend('<div class="slideshowck_container_wrap"></div>'); //v1.3.9 $('.slideshowck_container_wrap', opts.container).prepend(wrap); if ($(opts.container).css('position') != 'relative' && $(opts.container).css('position') != 'absolute') { $(opts.container).css('position', 'relative').css('z-index', '0'); } wrap.parent('.slideshowck_container_wrap').css({ 'height' : '100%', 'margin-left' : 0, 'margin-right' : 0, 'margin-top' : 0, 'position' : 'absolute', 'visibility' : 'visible', 'left' : 0, 'right' : 0, 'min-width': '100%', 'min-height' : '100%', 'width' : '100%', 'overflow' : 'hidden', 'z-index' : '-1' }); } wrap.wrapInner( '<div class="camera_src" />' ).wrapInner( '<div class="camera_fakehover" />' ); var fakeHover = $('.camera_fakehover',wrap); fakeHover.append( '<div class="camera_target"></div>' ); if(opts.overlayer == true){ fakeHover.append( '<div class="camera_overlayer"></div>' ) } fakeHover.append( '<div class="camera_target_content"></div>' ); var loader; if ((navigator.userAgent.match(/MSIE 8.0/i) || navigator.userAgent.match(/MSIE 7.0/i) || navigator.userAgent.match(/MSIE 6.0/i)) && opts.loader != 'none'){ // if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){ loader = 'bar'; } else { loader = opts.loader; } if(loader == 'pie'){ fakeHover.append( '<div class="camera_pie"></div>' ) } else if (loader == 'bar') { fakeHover.append( '<div class="camera_bar"></div>' ) } else { fakeHover.append( '<div class="camera_bar" style="display:none"></div>' ) } if(opts.playPause==true){ fakeHover.append( '<div class="camera_commands"></div>' ) } if(opts.navigation==true){ fakeHover.append( '<div class="camera_prev" tabindex="0"><span></span></div>' ).append( '<div class="camera_next" tabindex="0"><span></span></div>' ); } if(opts.thumbnails==true){ wrap.append( '<div class="camera_thumbs_cont" />' ); } if(opts.thumbnails==true && opts.pagination!=true){ $('.camera_thumbs_cont',wrap).wrap( '<div />' ).wrap( '<div class="camera_thumbs" />' ).wrap( '<div />' ).wrap( '<div class="camera_command_wrap" />' ); } if(opts.pagination==true){ wrap.append( '<div class="camera_pag"></div>' ); } wrap.append( '<div class="camera_loader"></div>' ); $('.camera_caption',wrap).each(function(){ $(this).wrapInner('<div />'); }); var pieID = 'pie_'+wrap.attr('id'), // modif ced1870 version e elem = $('.camera_src',wrap), target = $('.camera_target',wrap), content = $('.camera_target_content',wrap), pieContainer = $('.camera_pie',wrap), barContainer = $('.camera_bar',wrap), prevNav = $('.camera_prev',wrap), nextNav = $('.camera_next',wrap), commands = $('.camera_commands',wrap), pagination = $('.camera_pag',wrap), thumbs = $('.camera_thumbs_cont',wrap); var w, h; var screenwidth = parseInt($(document.body).width()); // var imageprefix = ''; // if (opts.mobileimageresolution && screenwidth <= opts.mobileimageresolution) imageprefix = opts.mobileimageresolution + '_'; imgresolution = 0; if (opts.mobileimageresolution) { var resolutions = opts.mobileimageresolution.split(','); for (i=0; i < resolutions.length ; i++) { if (screenwidth <= resolutions[i] && ( (imgresolution != 0 && resolutions[i] <= imgresolution) || (imgresolution == 0 && screenwidth < Math.max.apply( Math, resolutions )) ) ) { imgresolution = resolutions[i]; } } } var allImg = new Array(); var allImgName = new Array(); var imgsrc; $('> div[data-src]', elem).each( function() { imgsrc = $(this).attr('data-src'); imgsrctmp = imgsrc.split('\/'); imgnametmp = imgsrctmp[imgsrctmp.length - 1]; if (imgresolution) { imgsrctmp[imgsrctmp.length - 1] = imgresolution + '/' + imgnametmp; imgsrc = imgsrctmp.join('\/'); } allImg.push(imgsrc); allImgName.push(imgnametmp); }); // newImg = new Image(); // test pour afficher image directement au chargement de la page, mais manque dimensions // newImg.src = allImg[0]; // wrap.append(newImg); var allLinks = new Array(); var allRels = new Array(); var allTitles = new Array(); var allAlts = new Array(); $('> div[data-src]', elem).each( function(i) { if($(this).attr('data-link')){ allLinks.push($(this).attr('data-link')); } else { allLinks.push(''); } if($(this).attr('data-rel')){ allRels.push('rel="'+$(this).attr('data-rel')+'" '); } else { allRels.push(''); } if($(this).attr('data-title')){ allTitles.push('title="'+$(this).attr('data-title')+'" '); } else { allTitles.push(''); } if($(this).attr('data-alt')){ allAlts.push($(this).attr('data-alt')); } else { allAlts.push(allImgName[i]); } }); var allTargets = new Array(); $('> div[data-src]', elem).each( function() { if($(this).attr('data-target')){ allTargets.push($(this).attr('data-target')); } else { allTargets.push(''); } }); var allPor = new Array(); $('> div[data-src]', elem).each( function() { if($(this).attr('data-portrait')){ allPor.push($(this).attr('data-portrait')); } else { allPor.push(''); } }); var allAlign= new Array(); $('> div[data-src]', elem).each( function() { if($(this).attr('data-alignment')){ allAlign.push($(this).attr('data-alignment')); } else { allAlign.push(''); } }); var allThumbs = new Array(); $('> div[data-src]', elem).each( function() { if($(this).attr('data-thumb')){ allThumbs.push($(this).attr('data-thumb')); } else { allThumbs.push(''); } }); var amountSlide = allImg.length; $(content).append('<div class="cameraContents" />'); var loopMove; for (loopMove=0;loopMove<amountSlide;loopMove++) { $('.cameraContents',content).append('<div class="cameraContent" />'); if(allLinks[loopMove]!=''){ //only for Wordpress plugin var dataBox = $('> div ',elem).eq(loopMove).attr('data-box'); if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') { dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"'; } else { dataBox = ''; } $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append('<a class="camera_link" aria-label="Link for : ' + allAlts[loopMove] + '" '+allRels[loopMove]+allTitles[loopMove]+'href="'+allLinks[loopMove]+'" '+dataBox+' target="'+allTargets[loopMove]+'"></a>'); } } var allAltText = new Array(); var allCaptions = new Array(); $('.camera_caption',wrap).each(function(){ var ind = $(this).parent().index(), cont = wrap.find('.cameraContent').eq(ind); var title = $(this).find('.camera_caption_title').text().trim(); var desc = $(this).find('.camera_caption_desc').text().trim(); var altText = title.length ? title : (desc ? desc : allImg[ind]); allAltText.push(altText); allCaptions.push(cont); $(this).find('.animateck').removeClass('animateck'); $(this).appendTo(cont); }); target.append('<div class="cameraCont" />'); var cameraCont = $('.cameraCont',wrap); var loop; for (loop=0;loop<amountSlide;loop++) { cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />'); var div = $('> div:eq('+loop+')',elem); target.find('.cameraSlide_'+loop).clone(div); } function thumbnailVisible() { calculateThumbsWidth(); var wTh = $(thumbs).width(); $('li', thumbs).removeClass('camera_visThumb'); $('li', thumbs).each(function(){ var pos = $(this).position(), ulW = $('ul', thumbs).outerWidth(), offUl = $('ul', thumbs).offset().left, offDiv = $('> div',thumbs).offset().left, ulLeft = offDiv-offUl; // if(ulLeft>0){ $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav').css('visibility','visible'); // } else { // $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav'); // } // if((ulW-ulLeft)>wTh){ $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav').css('visibility','visible'); // } else { // $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav'); // } var left = pos.left, right = pos.left+($(this).width()); if(right-ulLeft<=wTh && left-ulLeft>=0){ $(this).addClass('camera_visThumb'); } }); } $(window).bind('load resize pageshow',function(){ thumbnailPos(); thumbnailVisible(); if (opts.responsiveCaption) resizeFont(); }); // trigger to update the slideshow width $(window).bind('cameraupdate',function(){ calculateThumbsWidth(); $(window).trigger('resize'); }); function calculateThumbsWidth() { ulthumbwidth = 0; $.each(allThumbs, function(i, val) { ulthumbwidth += parseFloat($('li.pix_thumb_'+i,thumbs).outerWidth()) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginLeft')) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginRight')); }); $('ul', thumbs).width(ulthumbwidth + 2); } cameraCont.append('<div class="cameraSlide cameraSlide_'+loop+'" />'); var started; wrap.show(); var w = target.width(); var h = target.height(); var setPause; $(window).bind('resize pageshow',function(){ if(started == true) { resizeImage(); // addLightbox(); } $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos); if(!elem.hasClass('paused')){ elem.addClass('paused'); if($('.camera_stop',camera_thumbs_wrap).length){ $('.camera_stop',camera_thumbs_wrap).hide() $('.camera_play',camera_thumbs_wrap).show(); if(loader!='none'){ $('#'+pieID).hide(); } } else { if(loader!='none'){ $('#'+pieID).hide(); } } clearTimeout(setPause); setPause = setTimeout(function(){ elem.removeClass('paused'); if($('.camera_play',camera_thumbs_wrap).length){ $('.camera_play',camera_thumbs_wrap).hide(); $('.camera_stop',camera_thumbs_wrap).show(); if(loader!='none'){ $('#'+pieID).fadeIn(); } } else { if(loader!='none'){ $('#'+pieID).fadeIn(); } } },1500); } }); function resizeFont() { var fontRatio = wrap.width() / 700; $('.camera_caption > div', wrap).css('font-size', fontRatio + 'em'); } function addLightbox() { if (opts.lightbox == 'mediaboxck' && typeof(Mediabox) != "undefined") { Mediabox.scanPage(); } else if (opts.lightbox == 'squeezebox' && typeof(SqueezeBox) != "undefined") { SqueezeBox.initialize({}); SqueezeBox.assign($$('a.camera_link[rel=lightbox]'), { /*parse: 'rel'*/ }); } } setWrappersize(); function setWrappersize() { w = wrap.width(); if(opts.height.indexOf('%')!=-1) { var startH = Math.round(w / (100/parseFloat(opts.height))); if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ h = parseFloat(opts.minHeight); } else { h = startH; } wrap.css({height:h}); } else if (opts.height.indexOf('vh')!=-1) { var startH = ($(window).height()/100) * parseFloat(opts.height); if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ h = parseFloat(opts.minHeight); } else { h = startH; } wrap.css({height:h}); }else if (opts.height=='auto') { h = wrap.height(); } else { h = parseFloat(opts.height); wrap.css({height:h}); } if (opts.fullpage == true) { h = $(window).height(); wrap.css({height:h}); } else if (opts.container != false) { h = $(opts.container).height(); } wrap.css({height:h}); } function resizeImage(){ var res; function resizeImageWork(){ w = wrap.width(); setWrappersize(); $('.camerarelative',target).css({'width':w,'height':h}); $('.imgLoaded',target).each(function(){ var t = $(this), wT = t.attr('width'), hT = t.attr('height'), imgLoadIn = t.index(), mTop, mLeft, alignment = t.attr('data-alignment'), portrait = t.attr('data-portrait'); if (opts.fx == 'kenburns') { t.css({ 'position' : 'absolute', 'visibility' : 'visible', }); } else { if(typeof alignment === 'undefined' || alignment === false || alignment === ''){ alignment = opts.alignment; } if(typeof portrait === 'undefined' || portrait === false || portrait === ''){ portrait = opts.portrait; } if (opts.fullpage == true) { // modif ced1870 rev c // var imgRatio = h/w; var imgRatio = hT/wT; var winH = $(window).height(); var winW = $(window).width(); var windowRatio = winH/winW; // mTop = 0; // calculate mTop to position the image var r = w / wT; var d = (Math.abs(h - (hT*r)))*0.5; switch(alignment){ case 'topLeft': mTop = 0; break; case 'topCenter': mTop = 0; break; case 'topRight': mTop = 0; break; case 'centerLeft': mTop = '-'+d+'px'; break; case 'center': mTop = '-'+d+'px'; break; case 'centerRight': mTop = '-'+d+'px'; break; case 'bottomLeft': mTop = '-'+d*2+'px'; break; case 'bottomCenter': mTop = '-'+d*2+'px'; break; case 'bottomRight': mTop = '-'+d*2+'px'; break; } if (windowRatio > imgRatio) { imgH = winH - (2*parseInt(mTop)); imgW = imgH / imgRatio; mLeft = Math.abs((winW - imgW) / 2); // mTop = 0; } else { imgW = winW; imgH = imgW * imgRatio; mLeft = 0; // mTop = 0; } t.css({ 'height' : imgH, 'margin-left' : -mLeft, 'margin-right' : -mLeft, 'margin-top' : mTop, 'position' : 'absolute', 'visibility' : 'visible', 'left' : 0, 'top' : 0, 'width' : imgW }); } else if (opts.container != false) { var imgRatio = hT/wT; var winH = $(opts.container).height(); var winW = $(opts.container).width(); var windowRatio = winH/winW; mTop = 0; if (windowRatio > imgRatio) { imgH = winH; imgW = imgH / imgRatio; mLeft = Math.abs((winW - imgW) / 2); mTop = 0; } else { imgW = winW; imgH = imgW * imgRatio; mLeft = 0; mTop = 0; } t.css({ 'height' : imgH, 'margin-left' : -mLeft, 'margin-right' : -mLeft, 'margin-top' : mTop, 'position' : 'absolute', 'visibility' : 'visible', 'left' : 0, 'top' : 0, 'width' : imgW }); } else if(portrait==false||portrait=='false'){ if((wT/hT)<(w/h)) { var r = w / wT; var d = (Math.abs(h - (hT*r)))*0.5; switch(alignment){ case 'topLeft': mTop = 0; break; case 'topCenter': mTop = 0; break; case 'topRight': mTop = 0; break; case 'centerLeft': mTop = '-'+d+'px'; break; case 'center': mTop = '-'+d+'px'; break; case 'centerRight': mTop = '-'+d+'px'; break; case 'bottomLeft': mTop = '-'+d*2+'px'; break; case 'bottomCenter': mTop = '-'+d*2+'px'; break; case 'bottomRight': mTop = '-'+d*2+'px'; break; } // if (opts.fullpage == true) { // modif ced1870 rev c // t.css({ //// 'height' : hT*r, // 'height' : $(window).height(), // 'margin-left' : mLeft, // 'margin-right' : mLeft, // 'margin-top' : mTop, // 'position' : 'absolute', // 'visibility' : 'visible', // 'left' : 0, // ced1870 // 'width' : wT*r2 // }); // } else { t.css({ 'height' : hT*r, 'margin-left' : 0, 'margin-right' : 0, 'margin-top' : mTop, 'position' : 'absolute', 'visibility' : 'visible', 'width' : w }); // } } else { var r = h / hT; var d = (Math.abs(w - (wT*r)))*0.5; switch(alignment){ case 'topLeft': mLeft = 0; break; case 'topCenter': mLeft = '-'+d+'px'; break; case 'topRight': mLeft = '-'+d*2+'px'; break; case 'centerLeft': mLeft = 0; break; case 'center': mLeft = '-'+d+'px'; break; case 'centerRight': mLeft = '-'+d*2+'px'; break; case 'bottomLeft': mLeft = 0; break; case 'bottomCenter': mLeft = '-'+d+'px'; break; case 'bottomRight': mLeft = '-'+d*2+'px'; break; } t.css({ 'height' : h, 'margin-left' : mLeft, 'margin-right' : mLeft, 'margin-top' : 0, 'position' : 'absolute', 'visibility' : 'visible', 'width' : wT*r }); } } else { if((wT/hT)<(w/h)) { var r = h / hT; var d = (Math.abs(w - (wT*r)))*0.5; switch(alignment){ case 'topLeft': mLeft = 0; break; case 'topCenter': mLeft = d+'px'; break; case 'topRight': mLeft = d*2+'px'; break; case 'centerLeft': mLeft = 0; break; case 'center': mLeft = d+'px'; break; case 'centerRight': mLeft = d*2+'px'; break; case 'bottomLeft': mLeft = 0; break; case 'bottomCenter': mLeft = d+'px'; break; case 'bottomRight': mLeft = d*2+'px'; break; } t.css({ 'height' : h, 'margin-left' : mLeft, 'margin-right' : mLeft, 'margin-top' : 0, 'position' : 'absolute', 'visibility' : 'visible', 'width' : wT*r }); } else { var r = w / wT; var d = (Math.abs(h - (hT*r)))*0.5; switch(alignment){ case 'topLeft': mTop = 0; break; case 'topCenter': mTop = 0; break; case 'topRight': mTop = 0; break; case 'centerLeft': mTop = d+'px'; break; case 'center': mTop = d+'px'; break; case 'centerRight': mTop = d+'px'; break; case 'bottomLeft': mTop = d*2+'px'; break; case 'bottomCenter': mTop = d*2+'px'; break; case 'bottomRight': mTop = d*2+'px'; break; } t.css({ 'height' : hT*r, 'margin-left' : 0, 'margin-right' : 0, 'margin-top' : mTop, 'position' : 'absolute', 'visibility' : 'visible', 'width' : w }); } } } }); } if (started == true) { clearTimeout(res); res = setTimeout(resizeImageWork,200); } else { resizeImageWork(); } started = true; } var u, setT; var clickEv, autoAdv, navHover, commands, pagination; var videoHover, videoPresent; if(isMobile() && opts.mobileAutoAdvance!=''){ autoAdv = opts.mobileAutoAdvance; } else { autoAdv = opts.autoAdvance; } if(autoAdv==false){ elem.addClass('paused'); } if(isMobile() && opts.mobileNavHover!=''){ navHover = opts.mobileNavHover; } else { navHover = opts.navigationHover; } if(elem.length!=0){ var selector = $('.cameraSlide',target); selector.wrapInner('<div class="camerarelative" />'); var navSlide; var barDirection = opts.barDirection; var camera_thumbs_wrap = wrap; $('iframe, video',fakeHover).each(function(){ var t = $(this); var src = t.attr('src'); t.attr('data-src',src); var divInd = t.parent().index('#'+wrap.attr('id')+' .camera_src > div'); // ced1870 modif in subversion a $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t); }); function imgFake() { $('iframe, video',fakeHover).each(function(){ $('.camera_caption',fakeHover).show(); var t = $(this); var cloneSrc = t.attr('data-src'); t.attr('src',cloneSrc); var imgFakeUrl = opts.imagePath+'blank.gif'; var imgFake = new Image(); imgFake.src = imgFakeUrl; setWrappersize(); // if(opts.height.indexOf('%')!=-1) { // var startH = Math.round(w / (100/parseFloat(opts.height))); // if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ // h = parseFloat(opts.minHeight); // } else { // h = startH; // } // } else if (opts.height=='auto') { // h = wrap.height(); // } else { // h = parseFloat(opts.height); // } t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h})); var clone = t.clone(); t.remove(); // if (this.tagName.toLowerCase() == 'video') { $(imgFake).css('pointer-events','none'); } $(imgFake).bind('click',function(){ if($(this).css('position')=='absolute') { $(this).remove(); autoplay = ''; if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) { if(cloneSrc.indexOf('?') != -1){ autoplay = '&autoplay=1'; } else { autoplay = '?autoplay=1'; } } else if(cloneSrc.indexOf('dailymotion') != -1) { if(cloneSrc.indexOf('?') != -1){ autoplay = '&autoPlay=1'; } else { autoplay = '?autoPlay=1'; } } clone.attr('src',cloneSrc+autoplay); videoPresent = true; } else { $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone); clone.css({position:'absolute',top:0,left:0,zIndex:9}); } }); }); } imgFake(); if(opts.hover==true){ if(!isMobile() && opts.fx != 'kenburns'){ fakeHover.hover(function(){ elem.addClass('hovered'); },function(){ elem.removeClass('hovered'); }); } } if(navHover==true){ $(prevNav,wrap).animate({opacity:0},0); $(nextNav,wrap).animate({opacity:0},0); $(commands,wrap).animate({opacity:0},0); if(isMobile()){ fakeHover.on('vmouseover',function(){ $(prevNav,wrap).animate({opacity:1},200); $(nextNav,wrap).animate({opacity:1},200); $(commands,wrap).animate({opacity:1},200); }); fakeHover.on('vmouseout',function(){ $(prevNav,wrap).delay(500).animate({opacity:0},200); $(nextNav,wrap).delay(500).animate({opacity:0},200); $(commands,wrap).delay(500).animate({opacity:0},200); }); } else { fakeHover.hover(function(){ $(prevNav,wrap).animate({opacity:1},200); $(nextNav,wrap).animate({opacity:1},200); $(commands,wrap).animate({opacity:1},200); },function(){ $(prevNav,wrap).animate({opacity:0},200); $(nextNav,wrap).animate({opacity:0},200); $(commands,wrap).animate({opacity:0},200); }); } } camera_thumbs_wrap.on('click keypress','.camera_stop',function(e){ if ((e.type == 'keypress' && e.which == 13) || e.type == 'click') { stop(); } }); camera_thumbs_wrap.on('click keypress','.camera_play',function(e){ if ((e.type == 'keypress' && e.which == 13) || e.type == 'click') { play(); } }); function play() { autoAdv = true; elem.removeClass('paused'); if($('.camera_play',camera_thumbs_wrap).length){ $('.camera_play',camera_thumbs_wrap).hide(); $('.camera_stop',camera_thumbs_wrap).show(); if(loader!='none'){ $('#'+pieID).show(); } } else { if(loader!='none'){ $('#'+pieID).show(); } } } function stop() { autoAdv = false; elem.addClass('paused'); if($('.camera_stop',camera_thumbs_wrap).length){ $('.camera_stop',camera_thumbs_wrap).hide() $('.camera_play',camera_thumbs_wrap).show(); if(loader!='none'){ $('#'+pieID).hide(); } } else { if(loader!='none'){ $('#'+pieID).hide(); } } } // add keyboard navigation left/right if (opts.keyboardNavigation == true) { $(document).keydown(function(e){ if ( (e.which == 37 || e.which == 39 || e.which == 80) && checkIsVisible()) { // 37 = left, 39 = right, 80 = P if ((e.type == 'keydown' && e.which == 37)) { prev(); } if ((e.type == 'keydown' && e.which == 39)) { next(); } if ((e.type == 'keydown' && e.which == 80)) { if (elem.hasClass('paused')) { play(); } else { stop(); } } } }); } function checkIsVisible() { var $window = $(window); var winY = $window.scrollTop(); var slideshowPosTop = wrap.offset().top; var isNotUpper = slideshowPosTop + (wrap.height() /2) > winY; var isNotLower = slideshowPosTop + (wrap.height() /2) < winY + $window.height(); return (isNotUpper && isNotLower); } if(opts.pauseOnClick==true){ $('.camera_target_content',fakeHover).mouseup(function(){ autoAdv = false; elem.addClass('paused'); $('.camera_stop',camera_thumbs_wrap).hide() $('.camera_play',camera_thumbs_wrap).show(); $('#'+pieID).hide(); }); } $('.cameraContent, .imgFake',fakeHover).hover(function(){ videoHover = true; },function(){ videoHover = false; }); $('.cameraContent, .imgFake',fakeHover).bind('click',function(){ if(videoPresent == true && videoHover == true) { autoAdv = false; $('.camera_caption',fakeHover).hide(); elem.addClass('paused'); $('.camera_stop',camera_thumbs_wrap).hide() $('.camera_play',camera_thumbs_wrap).show(); $('#'+pieID).hide(); } }); } function shuffle(arr) { for( var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x ); return arr; } function isInteger(s) { return Math.ceil(s) == Math.floor(s); } if (loader != 'pie') { barContainer.append('<span class="camera_bar_cont" />'); $('.camera_bar_cont',barContainer) .animate({opacity:opts.loaderOpacity},0) .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor}) .append('<span id="'+pieID+'" />'); $('#'+pieID).animate({opacity:0},0); var canvas = $('#'+pieID); canvas.css({'position':'absolute', 'background-color':opts.loaderColor}); switch(opts.barPosition){ case 'left': barContainer.css({right:'auto',width:opts.loaderStroke}); break; case 'right': barContainer.css({left:'auto',width:opts.loaderStroke}); break; case 'top': barContainer.css({bottom:'auto',height:opts.loaderStroke}); break; case 'bottom': barContainer.css({top:'auto',height:opts.loaderStroke}); break; } switch(barDirection){ case 'leftToRight': canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); break; case 'rightToLeft': canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); break; case 'topToBottom': canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); break; case 'bottomToTop': canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); break; } } else { pieContainer.append('<canvas id="'+pieID+'"></canvas>'); var G_vmlCanvasManager; var canvas = document.getElementById(pieID); canvas.setAttribute("width", opts.pieDiameter); canvas.setAttribute("height", opts.pieDiameter); var piePosition; switch(opts.piePosition){ case 'leftTop' : piePosition = 'left:0; top:0;'; break; case 'rightTop' : piePosition = 'right:0; top:0;'; break; case 'leftBottom' : piePosition = 'left:0; bottom:0;'; break; case 'rightBottom' : piePosition = 'right:0; bottom:0;'; break; } canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition); var rad; var radNew; if (canvas && canvas.getContext) { var ctx = canvas.getContext("2d"); ctx.rotate(Math.PI*(3/2)); ctx.translate(-opts.pieDiameter,0); } } if(loader=='none' || autoAdv==false) { $('#'+pieID).hide(); $('.camera_canvas_wrap',camera_thumbs_wrap).hide(); } if($(pagination).length) { $(pagination).append('<ul class="camera_pag_ul" />'); var li; for (li = 0; li < amountSlide; li++){ $('.camera_pag_ul',wrap).append('<li class="pag_nav_'+li+'" style="position:relative; z-index:1002" tabindex="0" aria-label="Show slide '+(li+1)+'"><span><span>'+li+'</span></span></li>'); } $('.camera_pag_ul li',wrap).hover(function(){ $(this).addClass('camera_hover'); if($('.camera_thumb',this).length){ var wTh = $('.camera_thumb',this).outerWidth(), hTh = $('.camera_thumb',this).outerHeight(), wTt = $(this).outerWidth(); $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200); $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200); } },function(){ $(this).removeClass('camera_hover'); $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){ $(this).css({marginTop:'5px'}).hide(); }); $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){ $(this).css({marginTop:'5px'}).hide(); }); }); } opts.onStartLoading.call(this); nextSlide(); loadThumbs(); function loadThumbs() { if($(thumbs).length) { var thumbUrl; if(!$(pagination).length) { $(thumbs).append('<div />'); $(thumbs).before('<div class="camera_prevThumbs hideNav"><div></div></div>').before('<div class="camera_nextThumbs hideNav"><div></div></div>'); $('> div',thumbs).append('<ul />'); $('ul', thumbs).width(allThumbs.length * (parseInt(opts.thumbwidth)+2)); // added by ced1870 v1.3.5 $('ul', thumbs).height(parseInt(opts.thumbheight)); // added by ced1870 v1.3.5 ulthumbwidth = 0; // added by ced1870 v1.3.10 $.each(allThumbs, function(i, val) { if($('> div[data-src]', elem).eq(i).attr('data-thumb')!='') { var thumbUrl = $('> div[data-src]', elem).eq(i).attr('data-thumb'), newImg = new Image(); newImg.src = thumbUrl; $('ul',thumbs).append('<li class="pix_thumb pix_thumb_'+i+'" />'); $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb')); if (opts.titleInThumbs && allCaptions[i]) { var title = allCaptions[i].clone(); title.find('.camera_caption_desc').remove(); title.css('display', ''); if (title) $('li.pix_thumb_'+i,thumbs).append(title); } ulthumbwidth += parseFloat($('li.pix_thumb_'+i,thumbs).outerWidth()) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginLeft')) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginRight')); // added by ced1870 v1.3.10 } }); $('ul', thumbs).width(ulthumbwidth); // added by ced1870 v1.3.10 } else { $.each(allThumbs, function(i, val) { if($('> div[data-src]', elem).eq(i).attr('data-thumb')!='') { var thumbUrl = $('> div[data-src]', elem).eq(i).attr('data-thumb'), newImg = new Image(); newImg.src = thumbUrl; $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0)); $('li.pag_nav_'+i+' > img',pagination).after('<div class="thumb_arrow" />'); $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0); } }); wrap.css({marginBottom:$(pagination).outerHeight()}); } } else if(!$(thumbs).length && $(pagination).length) { wrap.css({marginBottom:$(pagination).outerHeight()}); } } var firstPos = true; function thumbnailPos() { if($(thumbs).length && !$(pagination).length) { var wTh = $(thumbs).outerWidth(), owTh = $('ul > li',thumbs).outerWidth(), pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '', ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()), offUl = $('ul', thumbs).offset().left, offDiv = $('> div', thumbs).offset().left, ulLeft; if(offUl<0){ ulLeft = '-'+ (offDiv-offUl); } else { ulLeft = offDiv-offUl; } if(firstPos == true) { // $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); ulthumbwidth = 0; // added by ced1870 v1.3.10 $.each(allThumbs, function(i, val) { // added by ced1870 v1.3.10 ulthumbwidth += parseFloat($('li.pix_thumb_'+i,thumbs).outerWidth()) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginLeft')) + parseFloat($('li.pix_thumb_'+i,thumbs).css('marginRight')); }); $('ul', thumbs).width(ulthumbwidth + 2); // added by ced1870 v1.3.10 if($(thumbs).length && !$(pagination).length) { wrap.css({paddingBottom:$(thumbs).outerHeight()}); } thumbnailVisible(); /*I repeat this two lines because of a problem with iPhones*/ // $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); // removed by ced1870 v1.3.5 if($(thumbs).length && !$(pagination).length) { wrap.css({paddingBottom:$(thumbs).outerHeight()}); } /*...*/ } firstPos = false; var left = $('li.cameracurrent', thumbs).length ? pos.left : '', right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : ''; if(left<$('li.cameracurrent', thumbs).outerWidth()) { left = 0; } // ced1870 dev //$(document.body).click(function(){$('ul', thumbs).animate({'margin-left':'-'+($('ul', thumbs).outerWidth())+'px'},500,thumbnailVisible);}); if(right-ulLeft>wTh){ if((left+wTh)<ulW){ $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible); } else { $('ul', thumbs).animate({'margin-left':'-'+($('ul', thumbs).outerWidth()-wTh)+'px'},500,thumbnailVisible); } } else if(left-ulLeft<0) { $('ul', thumbs).animate({'margin-left':'-'+(left)+'px'},500,thumbnailVisible); } else { $('ul', thumbs).css({'margin-left':'auto', 'margin-right':'auto'}); setTimeout(thumbnailVisible,100); } } } if($(commands).length) { $(commands).append('<div class="camera_play" tabindex="0" aria-label="Start the slideshow"></div>').append('<div class="camera_stop" tabindex="0" aria-label="Pause the slideshow"></div>'); if(autoAdv==true){ $('.camera_play',camera_thumbs_wrap).hide(); $('.camera_stop',camera_thumbs_wrap).show(); } else { $('.camera_stop',camera_thumbs_wrap).hide(); $('.camera_play',camera_thumbs_wrap).show(); } } function canvasLoader() { rad = 0; var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(); if (loader != 'pie') { switch(barDirection){ case 'leftToRight': $('#'+pieID).css({'right':barWidth}); break; case 'rightToLeft': $('#'+pieID).css({'left':barWidth}); break; case 'topToBottom': $('#'+pieID).css({'bottom':barHeight}); break; case 'bottomToTop': $('#'+pieID).css({'top':barHeight}); break; } } else { ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); } } canvasLoader(); $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ $(this).css('visibility','hidden'); }); // opts.onStartLoading.call(this); // nextSlide(); addLightbox(); /*************************** FUNCTION nextSlide() ***************************/ function nextSlide(navSlide){ elem.addClass('camerasliding'); videoPresent = false; var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index()); if(navSlide>0){ var slideI = navSlide-1; } else if (vis == amountSlide-1) { var slideI = 0; } else { var slideI = vis+1; } // stop if there is only 1 image if (allImg.length === 1 && navSlide === 1 && opts.autoAdvance == true) return; var slide = $('.cameraSlide:eq('+slideI+')',target); var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext'); if( vis != slideI+1 ) { slideNext.hide(); } // $('.cameraContent',fakeHover).fadeOut(600); $('.cameraContent',fakeHover).removeClass('cameravisible').hide(); $('.camera_caption',fakeHover).show(); $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected')); $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div')); if(!$('.imgLoaded',slide).length){ var imgUrl = allImg[slideI]; var imgLoaded = new Image(); // imgLoaded.src = imgUrl +"?"+ new Date().getTime(); imgLoaded.src = imgUrl; slide.css('visibility','hidden'); slide.prepend($(imgLoaded).attr('class','imgLoaded').css('visibility','hidden')); var wT, hT; if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) { $('.camera_loader',wrap).delay(500).fadeIn(400); imgLoaded.onload = function() { wT = imgLoaded.naturalWidth; hT = imgLoaded.naturalHeight; $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]); $(imgLoaded).attr('width',wT); $(imgLoaded).attr('height',hT); $(imgLoaded).attr('alt', (allAltText[slideI] ? allAltText[slideI] : allAlts[slideI]) ); target.find('.cameraSlide_'+slideI).css('visibility','visible'); resizeImage(); nextSlide(slideI+1); if($('.camera_loader',wrap).is(':visible')){ $('.camera_loader',wrap).fadeOut(400); } else { $('.camera_loader',wrap).css({'visibility':'hidden'}); $('.camera_loader',wrap).fadeOut(400,function(){ $('.camera_loader',wrap).css({'visibility':'visible'}); }); } }; } } else { if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){ var imgUrl2 = allImg[(slideI+1)]; var imgLoaded2 = new Image(); imgLoaded2.src = imgUrl2; slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').css('visibility','hidden')); imgLoaded2.onload = function() { wT = imgLoaded2.naturalWidth; hT = imgLoaded2.naturalHeight; $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]); $(imgLoaded2).attr('width',wT); $(imgLoaded2).attr('height',hT); $(imgLoaded2).attr('alt', (allAltText[slideI+1] ? allAltText[slideI+1] : allAlts[slideI+1]) ); resizeImage(); }; } opts.onLoaded.call(this); var rows = opts.rows, cols = opts.cols, couples = 1, difference = 0, dataSlideOn, time, transPeriod, fx, easing, randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz'); marginLeft = 0, marginTop = 0, opacityOnGrid = 0; if(opts.opacityOnGrid==true){ opacityOnGrid = 0; } else { opacityOnGrid = 1; } var dataFx = $(' > div',elem).eq(slideI).attr('data-fx'); if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){ fx = opts.mobileFx; } else { if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){ fx = dataFx; } else { fx = opts.fx; } } if(fx=='random') { fx = shuffle(randomFx); fx = fx[0]; } else { fx = fx; if(fx.indexOf(',')>0){ fx = fx.replace(/ /g,''); fx = fx.split(','); fx = shuffle(fx); fx = fx[0]; } } dataEasing = $(' > div',elem).eq(slideI).attr('data-easing'); mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing'); if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){ if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') { easing = mobileEasing; } else { easing = opts.mobileEasing; } } else { if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') { easing = dataEasing; } else { easing = opts.easing; } } dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn'); if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){ slideOn = dataSlideOn; } else { if(opts.slideOn=='random'){ var slideOn = new Array('next','prev'); slideOn = shuffle(slideOn); slideOn = slideOn[0]; } else { slideOn = opts.slideOn; } } var dataTime = $(' > div',elem).eq(slideI).attr('data-time'); if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){ time = parseFloat(dataTime); } else { time = opts.time; } var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod'); if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){ transPeriod = parseFloat(dataTransPeriod); } else { transPeriod = opts.transPeriod; } if(!$(elem).hasClass('camerastarted')){ if (fx != 'kenburns') fx = 'simpleFade'; slideOn = 'next'; easing = ''; transPeriod = 400; $(elem).addClass('camerastarted') } switch(fx){ case 'simpleFade': cols = 1; rows = 1; break; case 'kenburns': cols = 1; rows = 1; break; case 'curtainTopLeft': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'curtainTopRight': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'curtainBottomLeft': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'curtainBottomRight': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'curtainSliceLeft': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'curtainSliceRight': if(opts.slicedCols == 0) { cols = opts.cols; } else { cols = opts.slicedCols; } rows = 1; break; case 'blindCurtainTopLeft': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'blindCurtainTopRight': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'blindCurtainBottomLeft': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'blindCurtainBottomRight': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'blindCurtainSliceTop': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'blindCurtainSliceBottom': if(opts.slicedRows == 0) { rows = opts.rows; } else { rows = opts.slicedRows; } cols = 1; break; case 'stampede': difference = '-'+transPeriod; break; case 'mosaic': difference = opts.gridDifference; break; case 'mosaicReverse': difference = opts.gridDifference; break; case 'mosaicRandom': break; case 'mosaicSpiral': difference = opts.gridDifference; couples = 1.7; break; case 'mosaicSpiralReverse': difference = opts.gridDifference; couples = 1.7; break; case 'topLeftBottomRight': difference = opts.gridDifference; couples = 6; break; case 'bottomRightTopLeft': difference = opts.gridDifference; couples = 6; break; case 'bottomLeftTopRight': difference = opts.gridDifference; couples = 6; break; case 'topRightBottomLeft': difference = opts.gridDifference; couples = 6; break; case 'scrollLeft': cols = 1; rows = 1; break; case 'scrollRight': cols = 1; rows = 1; break; case 'scrollTop': cols = 1; rows = 1; break; case 'scrollBottom': cols = 1; rows = 1; break; case 'scrollHorz': cols = 1; rows = 1; break; } var cycle = 0; var blocks = rows*cols; var leftScrap = w-(Math.floor(w/cols)*cols); var topScrap = h-(Math.floor(h/rows)*rows); var addLeft; var addTop; var tAppW = 0; var tAppH = 0; var arr = new Array(); var delay = new Array(); var order = new Array(); while(cycle < blocks){ arr.push(cycle); delay.push(cycle); cameraCont.append('<div class="cameraappended" style="display:none; overflow:hidden; position:absolute; z-index:1000" />'); var tApp = $('.cameraappended:eq('+cycle+')',target); if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){ selector.eq(slideI).clone().show().appendTo(tApp); } else if(fx != 'kenburns') { if(slideOn=='next'){ selector.eq(slideI).clone().show().appendTo(tApp); } else { selector.eq(vis).clone().show().appendTo(tApp); } } if(cycle%cols<leftScrap){ addLeft = 1; } else { addLeft = 0; } if(cycle%cols==0){ tAppW = 0; } if(Math.floor(cycle/cols)<topScrap){ addTop = 1; } else { addTop = 0; } tApp.css({ 'height': Math.floor((h/rows)+addTop+1), 'left': tAppW, 'top': tAppH, 'width': Math.floor((w/cols)+addLeft+1) }); $('> .cameraSlide', tApp).css({ 'height': h, 'margin-left': '-'+tAppW+'px', 'margin-top': '-'+tAppH+'px', 'width': w }); tAppW = tAppW+tApp.width()-1; if(cycle%cols==cols-1){ tAppH = tAppH + tApp.height() - 1; } cycle++; } switch(fx){ case 'curtainTopLeft': break; case 'curtainBottomLeft': break; case 'curtainSliceLeft': break; case 'curtainTopRight': arr = arr.reverse(); break; case 'curtainBottomRight': arr = arr.reverse(); break; case 'curtainSliceRight': arr = arr.reverse(); break; case 'blindCurtainTopLeft': break; case 'blindCurtainBottomLeft': arr = arr.reverse(); break; case 'blindCurtainSliceTop': break; case 'blindCurtainTopRight': break; case 'blindCurtainBottomRight': arr = arr.reverse(); break; case 'blindCurtainSliceBottom': arr = arr.reverse(); break; case 'stampede': arr = shuffle(arr); break; case 'mosaic': break; case 'mosaicReverse': arr = arr.reverse(); break; case 'mosaicRandom': arr = shuffle(arr); break; case 'mosaicSpiral': var rows2 = rows/2, x, y, z, n=0; for (z = 0; z < rows2; z++){ y = z; for (x = z; x < cols - z - 1; x++) { order[n++] = y * cols + x; } x = cols - z - 1; for (y = z; y < rows - z - 1; y++) { order[n++] = y * cols + x; } y = rows - z - 1; for (x = cols - z - 1; x > z; x--) { order[n++] = y * cols + x; } x = z; for (y = rows - z - 1; y > z; y--) { order[n++] = y * cols + x; } } arr = order; break; case 'mosaicSpiralReverse': var rows2 = rows/2, x, y, z, n=blocks-1; for (z = 0; z < rows2; z++){ y = z; for (x = z; x < cols - z - 1; x++) { order[n--] = y * cols + x; } x = cols - z - 1; for (y = z; y < rows - z - 1; y++) { order[n--] = y * cols + x; } y = rows - z - 1; for (x = cols - z - 1; x > z; x--) { order[n--] = y * cols + x; } x = z; for (y = rows - z - 1; y > z; y--) { order[n--] = y * cols + x; } } arr = order; break; case 'topLeftBottomRight': for (var y = 0; y < rows; y++) for (var x = 0; x < cols; x++) { order.push(x + y); } delay = order; break; case 'bottomRightTopLeft': for (var y = 0; y < rows; y++) for (var x = 0; x < cols; x++) { order.push(x + y); } delay = order.reverse(); break; case 'bottomLeftTopRight': for (var y = rows; y > 0; y--) for (var x = 0; x < cols; x++) { order.push(x + y); } delay = order; break; case 'topRightBottomLeft': for (var y = 0; y < rows; y++) for (var x = cols; x > 0; x--) { order.push(x + y); } delay = order; break; } $.each(arr, function(index, value) { if(value%cols<leftScrap){ addLeft = 1; } else { addLeft = 0; } if(value%cols==0){ tAppW = 0; } if(Math.floor(value/cols)<topScrap){ addTop = 1; } else { addTop = 0; } switch(fx){ case 'simpleFade': height = h; width = w; opacityOnGrid = 0; break; case 'kenburns': height = h; width = w; opacityOnGrid = 0; break; case 'curtainTopLeft': height = 0, width = Math.floor((w/cols)+addLeft+1), marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; break; case 'curtainTopRight': height = 0, width = Math.floor((w/cols)+addLeft+1), marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; break; case 'curtainBottomLeft': height = 0, width = Math.floor((w/cols)+addLeft+1), marginTop = Math.floor((h/rows)+addTop+1)+'px'; break; case 'curtainBottomRight': height = 0, width = Math.floor((w/cols)+addLeft+1), marginTop = Math.floor((h/rows)+addTop+1)+'px'; break; case 'curtainSliceLeft': height = 0, width = Math.floor((w/cols)+addLeft+1); if(value%2==0){ marginTop = Math.floor((h/rows)+addTop+1)+'px'; } else { marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; } break; case 'curtainSliceRight': height = 0, width = Math.floor((w/cols)+addLeft+1); if(value%2==0){ marginTop = Math.floor((h/rows)+addTop+1)+'px'; } else { marginTop = '-'+Math.floor((h/rows)+addTop+1)+'px'; } break; case 'blindCurtainTopLeft': height = Math.floor((h/rows)+addTop+1), width = 0, marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; break; case 'blindCurtainTopRight': height = Math.floor((h/rows)+addTop+1), width = 0, marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; break; case 'blindCurtainBottomLeft': height = Math.floor((h/rows)+addTop+1), width = 0, marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; break; case 'blindCurtainBottomRight': height = Math.floor((h/rows)+addTop+1), width = 0, marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; break; case 'blindCurtainSliceBottom': height = Math.floor((h/rows)+addTop+1), width = 0; if(value%2==0){ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; } else { marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; } break; case 'blindCurtainSliceTop': height = Math.floor((h/rows)+addTop+1), width = 0; if(value%2==0){ marginLeft = '-'+Math.floor((w/cols)+addLeft+1)+'px'; } else { marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; } break; case 'stampede': height = 0; width = 0; marginLeft = (w*0.2)*(((index)%cols)-(cols-(Math.floor(cols/2))))+'px'; marginTop = (h*0.2)*((Math.floor(index/cols)+1)-(rows-(Math.floor(rows/2))))+'px'; break; case 'mosaic': height = 0; width = 0; break; case 'mosaicReverse': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; marginTop = Math.floor((h/rows)+addTop+1)+'px'; break; case 'mosaicRandom': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; break; case 'mosaicSpiral': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; break; case 'mosaicSpiralReverse': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)*0.5+'px'; marginTop = Math.floor((h/rows)+addTop+1)*0.5+'px'; break; case 'topLeftBottomRight': height = 0; width = 0; break; case 'bottomRightTopLeft': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; marginTop = Math.floor((h/rows)+addTop+1)+'px'; break; case 'bottomLeftTopRight': height = 0; width = 0; marginLeft = 0; marginTop = Math.floor((h/rows)+addTop+1)+'px'; break; case 'topRightBottomLeft': height = 0; width = 0; marginLeft = Math.floor((w/cols)+addLeft+1)+'px'; marginTop = 0; break; case 'scrollRight': height = h; width = w; marginLeft = -w; break; case 'scrollLeft': height = h; width = w; marginLeft = w; break; case 'scrollTop': height = h; width = w; marginTop = h; break; case 'scrollBottom': height = h; width = w; marginTop = -h; break; case 'scrollHorz': height = h; width = w; if(vis==0 && slideI==amountSlide-1) { marginLeft = -w; } else if(vis<slideI || (vis==amountSlide-1 && slideI==0)) { marginLeft = w; } else { marginLeft = -w; } break; } var tApp = $('.cameraappended:eq('+value+')',target); if(typeof u !== 'undefined'){ clearInterval(u); clearTimeout(setT); setT = setTimeout(canvasLoader,transPeriod+difference); } if($(pagination).length){ $('.camera_pag li',wrap).removeClass('cameracurrent').removeAttr('aria-current'); $('.camera_pag li',wrap).eq(slideI).addClass('cameracurrent').attr('aria-current', 'true'); } if($(thumbs).length){ $('li', thumbs).removeClass('cameracurrent').removeAttr('aria-current'); $('li', thumbs).eq(slideI).addClass('cameracurrent').attr('aria-current', 'true'); $('li', thumbs).not('.cameracurrent').find('img').animate({opacity:.5},0); $('li.cameracurrent img', thumbs).animate({opacity:1},0); $('li', thumbs).hover(function(){ $('img',this).stop(true,false).animate({opacity:1},150); },function(){ if(!$(this).hasClass('cameracurrent')){ $('img',this).stop(true,false).animate({opacity:.5},150); } }); } var easedTime = parseFloat(transPeriod)+parseFloat(difference); function cameraeased() { $('.cameravisible').removeClass('cameravisible'); $(this).addClass('cameraeased'); if($('.cameraeased',target).length>=0){ $(thumbs).css({visibility:'visible'}); } if($('.cameraeased',target).length==blocks){ thumbnailPos(); $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ $(this).css('visibility','hidden'); }); selector.eq(slideI).show().css('z-index','999').removeClass('cameranext').addClass('cameracurrent').attr('aria-current', 'true'); selector.eq(vis).css('z-index','1').removeClass('cameracurrent').removeAttr('aria-current'); $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent').attr('aria-current', 'true'); if (vis >= 0) { $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent').removeAttr('aria-current'); $('.cameraContent',fakeHover).eq(vis).find('.rowck, .blockck').removeClass('animateck'); } opts.onEndTransition.call(this); if($('> div[data-src]', elem).eq(slideI).attr('data-video')!='hide' && $('.cameraContent.cameracurrent .imgFake',fakeHover).length ){ $('.cameraContent.cameracurrent .imgFake',fakeHover).click(); var slideVideo = $('.cameraContent.cameracurrent video',fakeHover); if (slideVideo.length && slideVideo.attr('data-autoplay') && slideVideo.attr('data-autoplay') == '1') { $('.cameraContent.cameracurrent .imgFake',fakeHover).css('pointer-events','none'); slideVideo[0].play(); // slideVideo.removeAttr('muted'); } } var lMoveIn = selector.eq(slideI).find('.fadeIn').length; var lMoveInContent = $('.cameraContent',fakeHover).eq(slideI).find('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom').length; if (lMoveIn!=0){ $('.cameraSlide.cameracurrent .fadeIn',fakeHover).each(function(){ if($(this).attr('data-easing')!=''){ var easeMove = $(this).attr('data-easing'); } else { var easeMove = easing; } var t = $(this); if(typeof t.attr('data-outerWidth') === 'undefined' || t.attr('data-outerWidth') === false || t.attr('data-outerWidth') === '') { var wMoveIn = t.outerWidth(); t.attr('data-outerWidth',wMoveIn); } else { var wMoveIn = t.attr('data-outerWidth'); } if(typeof t.attr('data-outerHeight') === 'undefined' || t.attr('data-outerHeight') === false || t.attr('data-outerHeight') === '') { var hMoveIn = t.outerHeight(); t.attr('data-outerHeight',hMoveIn); } else { var hMoveIn = t.attr('data-outerHeight'); } //t.css('width',wMoveIn); var pos = t.position(); var left = pos.left; var top = pos.top; var tClass = t.attr('class'); var ind = t.index(); var hRel = t.parents('.camerarelative').outerHeight(); var wRel = t.parents('.camerarelative').outerWidth(); if(tClass.indexOf("fadeIn") != -1) { t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveIn)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveIn)*0.15,easeMove); } else { t.css('visibility','visible'); } }); } // compatibility with Page Builder CK animations $('.cameraContent.cameracurrent',fakeHover).show(0, function() {$(this).find('.rowck,.blockck').addClass('animateck');}).addClass('cameravisible'); if (lMoveInContent!=0){ $('.cameraContent.cameracurrent .moveFromLeft, .cameraContent.cameracurrent .moveFromRight, .cameraContent.cameracurrent .moveFromTop, .cameraContent.cameracurrent .moveFromBottom, .cameraContent.cameracurrent .fadeIn, .cameraContent.cameracurrent .fadeFromLeft, .cameraContent.cameracurrent .fadeFromRight, .cameraContent.cameracurrent .fadeFromTop, .cameraContent.cameracurrent .fadeFromBottom',fakeHover).each(function(){ if($(this).attr('data-easing')!=''){ var easeMove = $(this).attr('data-easing'); } else { var easeMove = easing; } var t = $(this); var pos = t.position(); var left = pos.left; var top = pos.top; var tClass = t.attr('class'); var ind = t.index(); var thisH = t.outerHeight(); var transfY = 0; if (t.css('transform') && t.css('transform').split(',').length == 6) { transfY = parseFloat(t.css('transform').split(',')[5]); } if(tClass.indexOf("moveFromLeft") != -1) { t.css({'left':'-'+(w)+'px','right':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("moveFromRight") != -1) { t.css({'left':w+'px','right':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("moveFromTop") != -1) { t.css({'top':'-'+h+'px','bottom':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top - transfY},(time/lMoveInContent)*0.15,easeMove,function(){ t.css({top:'auto',bottom:0}); }); } else if(tClass.indexOf("moveFromBottom") != -1) { t.css({'top':h+'px','bottom':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top - transfY},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("fadeFromLeft") != -1) { t.animate({opacity:0},0).css({'left':'-'+(w)+'px','right':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("fadeFromRight") != -1) { t.animate({opacity:0},0).css({'left':(w)+'px','right':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'left':pos.left,opacity:1},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("fadeFromTop") != -1) { t.animate({opacity:0},0).css({'top':'-'+(h)+'px','bottom':'auto'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'top':pos.top - transfY,opacity:1},(time/lMoveInContent)*0.15,easeMove,function(){ t.css({top:'auto',bottom:0}); }); } else if(tClass.indexOf("fadeFromBottom") != -1) { t.animate({opacity:0},0).css({'bottom':'-'+thisH+'px'}); t.css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({'bottom':'0',opacity:1},(time/lMoveInContent)*0.15,easeMove); } else if(tClass.indexOf("fadeIn") != -1) { t.animate({opacity:0},0).css('visibility','visible').delay((time/lMoveInContent)*(0.1*(ind-1))).animate({opacity:1},(time/lMoveInContent)*0.15,easeMove); } else { t.css('visibility','visible'); } }); } $('.cameraappended',target).remove(); elem.removeClass('camerasliding'); selector.eq(vis).hide(); var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(), radSum; if (loader != 'pie') { radSum = 0.05; } else { radSum = 0.005; } $('#'+pieID).animate({opacity:opts.loaderOpacity},200); u = setInterval( function(){ if(elem.hasClass('stopped')){ clearInterval(u); } if (loader != 'pie') { if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){ rad = (rad+radSum); } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('stopped') || elem.hasClass('hovered'))){ rad = rad; } else { if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) { clearInterval(u); imgFake(); $('#'+pieID).animate({opacity:0},200,function(){ clearTimeout(setT); setT = setTimeout(canvasLoader,easedTime); nextSlide(); opts.onStartLoading.call(this); }); } } switch(barDirection){ case 'leftToRight': $('#'+pieID).animate({'right':barWidth-(barWidth*rad)},(time*radSum),'linear'); break; case 'rightToLeft': $('#'+pieID).animate({'left':barWidth-(barWidth*rad)},(time*radSum),'linear'); break; case 'topToBottom': $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear'); break; case 'bottomToTop': $('#'+pieID).animate({'bottom':barHeight-(barHeight*rad)},(time*radSum),'linear'); break; } } else { radNew = rad; ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); ctx.globalCompositeOperation = 'destination-over'; ctx.beginPath(); ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2,false); ctx.lineWidth = opts.loaderStroke; ctx.strokeStyle = opts.loaderBgColor; ctx.stroke(); ctx.closePath(); ctx.globalCompositeOperation = 'source-over'; ctx.beginPath(); ctx.arc((opts.pieDiameter)/2, (opts.pieDiameter)/2, (opts.pieDiameter)/2-opts.loaderStroke,0,Math.PI*2*radNew,false); ctx.lineWidth = opts.loaderStroke-(opts.loaderPadding*2); ctx.strokeStyle = opts.loaderColor; ctx.stroke(); ctx.closePath(); if(rad<=1.002 && !elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')){ rad = (rad+radSum); } else if (rad<=1 && (elem.hasClass('stopped') || elem.hasClass('paused') || elem.hasClass('hovered'))){ rad = rad; } else { if(!elem.hasClass('stopped') && !elem.hasClass('paused') && !elem.hasClass('hovered')) { clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},200,function(){ clearTimeout(setT); setT = setTimeout(canvasLoader,easedTime); nextSlide(); opts.onStartLoading.call(this); }); } } } },time*radSum ); } } if (fx != 'kenburns') { if(fx=='scrollLeft' || fx=='scrollRight' || fx=='scrollTop' || fx=='scrollBottom' || fx=='scrollHorz'){ opts.onStartTransition.call(this); easedTime = 0; tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ 'display' : 'block', 'height': height, 'margin-left': marginLeft, 'margin-top': marginTop, 'width': width }).animate({ 'height': Math.floor((h/rows)+addTop+1), 'margin-top' : 0, 'margin-left' : 0, 'width' : Math.floor((w/cols)+addLeft+1) },(transPeriod-difference),easing,cameraeased); selector.eq(vis).delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).animate({ 'margin-left': marginLeft*(-1), 'margin-top': marginTop*(-1) },(transPeriod-difference),easing,function(){ $(this).css({'margin-top' : 0,'margin-left' : 0}); }); } else { opts.onStartTransition.call(this); easedTime = parseFloat(transPeriod)+parseFloat(difference); if(slideOn=='next'){ tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ 'display' : 'block', 'height': height, 'margin-left': marginLeft, 'margin-top': marginTop, 'width': width, 'opacity' : opacityOnGrid }).animate({ 'height': Math.floor((h/rows)+addTop+1), 'margin-top' : 0, 'margin-left' : 0, 'opacity' : 1, 'width' : Math.floor((w/cols)+addLeft+1) },(transPeriod-difference),easing,cameraeased); } else { selector.eq(slideI).show().css('z-index','999').addClass('cameracurrent').attr('aria-current', 'true'); selector.eq(vis).css('z-index','1').removeClass('cameracurrent').removeAttr('aria-current'); $('.cameraContent',fakeHover).eq(slideI).addClass('cameracurrent').attr('aria-current', 'true'); $('.cameraContent',fakeHover).eq(vis).removeClass('cameracurrent').removeAttr('aria-current'); tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ 'display' : 'block', 'height': Math.floor((h/rows)+addTop+1), 'margin-top' : 0, 'margin-left' : 0, 'opacity' : 1, 'width' : Math.floor((w/cols)+addLeft+1) }).animate({ 'height': height, 'margin-left': marginLeft, 'margin-top': marginTop, 'width': width, 'opacity' : opacityOnGrid },(transPeriod-difference),easing,cameraeased); } } } else { opts.onStartTransition.call(this); easedTime = 0; tApp.delay((((transPeriod+difference)/blocks)*delay[index]*couples)*0.5).css({ 'display' : 'block', 'margin-left': marginLeft, 'margin-top': marginTop, }).animate({ 'margin-top' : 0, 'margin-left' : 0, },(transPeriod-difference),easing,cameraeased); // selector.eq(vis).animate({ // 'margin-left': '-50px', // 'margin-top': '-50px' // },(transPeriod-difference),easing,function(){ // $(this).css({'margin-top' : 0,'margin-left' : 0}); // }); var dirh = Math.random()<.5; if (dirh) { var left = '0'; var right = 'auto'; } else { var left = 'auto'; var right = '0'; } var dirv = Math.random()<.5; if (dirv) { var top = '0'; var bottom = 'auto'; } else { var top = 'auto'; var bottom = '0'; } selector.eq(slideI).css({ 'opacity': '0', 'display' : 'block', 'z-index': selector.eq(vis).css('z-index')+1, // 'margin-top' : '0', // 'margin-left' : '0', }).animate({ 'opacity': '1', }, { duration: (transPeriod-difference), easing : 'linear', complete: function() { cameraeased(); // $( this ).after( "<div>Animation complete.</div>" ); }, start: function( now, fx ) { $(this).find('img').stop(true,true).css({ 'width': '100%', 'height': '100%', 'margin-top' : '0', 'margin-left' : '0', 'left' : left, 'right' : right, 'top' : top, 'bottom' : bottom, }).animate({ 'width': '130%', 'height': '130%', // 'margin-top' : '0', // 'margin-left' : '0', }, time*2); } }); } }); } } if ($(prevNav).length){ $(prevNav).on('click keypress', function(e){ if ((e.type == 'keypress' && e.which == 13) || e.type == 'click') { prev(); } }); } if($(nextNav).length){ $(nextNav).on('click keypress', function(e){ if ((e.type == 'keypress' && e.which == 13) || e.type == 'click') { next(); } }); } function prev() { if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',wrap).animate({opacity:0},0); canvasLoader(); if(idNum!=0){ nextSlide(idNum); } else { nextSlide(amountSlide); } opts.onStartLoading.call(this); } } function next() { if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); canvasLoader(); if(idNum==amountSlide-1){ nextSlide(1); } else { nextSlide(idNum+2); } opts.onStartLoading.call(this); } } /*==================== Touch swipe functions =================*/ // method to get the touch device interaction // TOUCH-EVENTS SINGLE-FINGER SWIPE-SENSING JAVASCRIPT // Courtesy of PADILICIOUS.COM and MACOSXAUTOMATION.COM // win8 : MSPointerDown // TODO : check if it works var triggerElementID = null; // this variable is used to identity the triggering element var fingerCount = 0; var startX = 0; var startY = 0; var curX = 0; var curY = 0; var deltaX = 0; var deltaY = 0; var horzDiff = 0; var vertDiff = 0; var minLength = 72; // the shortest distance the user may swipe var swipeLength = 0; var swipeAngle = null; var swipeDirection = null; var initialPosX = null; var initialPosY = null; var imageMarginLeft = 0; var imageMarginTop = 0; // The 4 Touch Event Handlers // NOTE: the touchStart handler should also receive the ID of the triggering element // make sure its ID is passed in the event call placed in the element declaration, like: function touchStart(event) { // disable the standard ability to select the touched object // event.preventDefault(); // get the total number of fingers touching the screen fingerCount = event.touches.length; // since we're looking for a swipe (single finger) and not a gesture (multiple fingers), // check that only one finger was used if ( fingerCount == 1 ) { // get the coordinates of the touch startX = event.touches[0].pageX; startY = event.touches[0].pageY; // store the triggering element ID triggerElementID = ''; } else { // more than one finger touched so cancel touchCancel(event); } } function touchMove(event) { // event.preventDefault(); if ( event.touches.length == 1 ) { curX = event.touches[0].pageX; curY = event.touches[0].pageY; } else { touchCancel(event); } } function touchEnd(event) { // event.preventDefault(); // check to see if more than one finger was used and that there is an ending coordinate if ( fingerCount == 1 && curX != 0 ) { // use the Distance Formula to determine the length of the swipe swipeLength = Math.round(Math.sqrt(Math.pow(curX - startX,2) + Math.pow(curY - startY,2))); // if the user swiped more than the minimum length, perform the appropriate action if ( swipeLength >= minLength) { caluculateAngle(); determineSwipeDirection(); processingRoutine(); touchCancel(event); // reset the variables } else { touchCancel(event); } } else { touchCancel(event); } } function touchCancel(event) { // reset the variables back to default values fingerCount = 0; startX = 0; startY = 0; curX = 0; curY = 0; deltaX = 0; deltaY = 0; horzDiff = 0; vertDiff = 0; swipeLength = 0; swipeAngle = null; swipeDirection = null; triggerElementID = null; initialPosX = null; initialPosY = null; } function caluculateAngle() { var X = startX-curX; var Y = curY-startY; var Z = Math.round(Math.sqrt(Math.pow(X,2)+Math.pow(Y,2))); //the distance - rounded - in pixels var r = Math.atan2(Y,X); //angle in radians (Cartesian system) swipeAngle = Math.round(r*180/Math.PI); //angle in degrees if ( swipeAngle < 0 ) { swipeAngle = 360 - Math.abs(swipeAngle); } } function determineSwipeDirection() { if ( (swipeAngle <= 45) && (swipeAngle >= 0) ) { swipeDirection = 'left'; } else if ( (swipeAngle <= 360) && (swipeAngle >= 315) ) { swipeDirection = 'left'; } else if ( (swipeAngle >= 135) && (swipeAngle <= 225) ) { swipeDirection = 'right'; } else if ( (swipeAngle > 45) && (swipeAngle < 135) ) { swipeDirection = 'down'; } else { swipeDirection = 'up'; } } function processingRoutine() { if ( swipeDirection == 'left' ) { if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); canvasLoader(); if(idNum==amountSlide-1){ nextSlide(1); } else { nextSlide(idNum+2); } opts.onStartLoading.call(this); } } else if ( swipeDirection == 'right' ) { if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); canvasLoader(); if(idNum!=0){ nextSlide(idNum); } else { nextSlide(amountSlide); } opts.onStartLoading.call(this); } } } /*===================== End touch swipe =======================*/ if(isMobile()){ fakeHover[0].addEventListener("touchstart", touchStart, false); fakeHover[0].addEventListener("touchmove", touchMove, false); fakeHover[0].addEventListener("touchend", touchEnd, false); fakeHover[0].addEventListener("touchcancel", touchCancel, false); } if($(pagination).length){ $('.camera_pag li',wrap).on('click keypress', function(e){ if ((e.type == 'keypress' && e.which == 13) || e.type == 'click') { if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($(this).index()); var curNum = parseFloat($('.cameraSlide.cameracurrent',target).index()); if(idNum!=curNum) { clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); canvasLoader(); nextSlide(idNum+1); opts.onStartLoading.call(this); } } } }); } if($(thumbs).length) { $('.pix_thumb img',thumbs).click(function(){ if(!elem.hasClass('camerasliding')){ var idNum = parseFloat($(this).parents('li').index()); var curNum = parseFloat($('.cameracurrent',target).index()); if(idNum!=curNum) { clearInterval(u); imgFake(); $('#'+pieID+', .camera_canvas_wrap',camera_thumbs_wrap).animate({opacity:0},0); $('.pix_thumb',thumbs).removeClass('cameracurrent').removeAttr('aria-current'); $(this).parents('li').addClass('cameracurrent').attr('aria-current', 'true'); canvasLoader(); nextSlide(idNum+1); thumbnailPos(); opts.onStartLoading.call(this); } } }); $('.camera_thumbs_cont .camera_prevThumbs',camera_thumbs_wrap).hover(function(){ $(this).stop(true,false).animate({opacity:1},250); },function(){ $(this).stop(true,false).animate({opacity:.7},250); }); $('.camera_prevThumbs',camera_thumbs_wrap).click(function(){ var sum = 0, wTh = $(thumbs).outerWidth(), offUl = $('ul', thumbs).offset().left, offDiv = $('> div', thumbs).offset().left, ulLeft = offDiv-offUl; $('.camera_visThumb',thumbs).each(function(){ var tW = $(this).outerWidth(); sum = sum+tW; }); if(ulLeft-sum>0){ $('ul', thumbs).animate({'margin-left':'-'+(ulLeft-sum)+'px'},500,thumbnailVisible); } else { $('ul', thumbs).animate({'margin-left':0},500,thumbnailVisible); } }); $('.camera_thumbs_cont .camera_nextThumbs',camera_thumbs_wrap).hover(function(){ $(this).stop(true,false).animate({opacity:1},250); },function(){ $(this).stop(true,false).animate({opacity:.7},250); }); $('.camera_nextThumbs',camera_thumbs_wrap).click(function(){ var sum = 0, wTh = $(thumbs).outerWidth(), ulW = $('ul', thumbs).outerWidth(), offUl = $('ul', thumbs).offset().left, offDiv = $('> div', thumbs).offset().left, ulLeft = offDiv-offUl; $('.camera_visThumb',thumbs).each(function(){ var tW = $(this).outerWidth(); sum = sum+tW; }); if(ulLeft+sum+sum<ulW){ $('ul', thumbs).animate({'margin-left':'-'+(ulLeft+sum)+'px'},500,thumbnailVisible); } else { $('ul', thumbs).animate({'margin-left':'-'+(ulW-wTh)+'px'},500,thumbnailVisible); } }); } } window.Slideshowck = Slideshowck; })(jQuery); ;(function($){$.fn.cameraStop = function() { var wrap = $(this), elem = $('.camera_src',wrap), pieID = 'pie_'+wrap.index(); elem.addClass('stopped'); if($('.camera_showcommands').length) { var camera_thumbs_wrap = $('.camera_thumbs_wrap',wrap); } else { var camera_thumbs_wrap = wrap; } } })(jQuery); ;(function($){$.fn.cameraPause = function() { var wrap = $(this); var elem = $('.camera_src',wrap); elem.addClass('paused'); } })(jQuery); ;(function($){$.fn.cameraResume = function() { var wrap = $(this); var elem = $('.camera_src',wrap); if(typeof autoAdv === 'undefined' || autoAdv!==true){ elem.removeClass('paused'); } } })(jQuery);PK na!]l��� � assets/front-edition.cssnu &1i� /** * @copyright Copyright (C) 2019 Cedric KEIFLIN alias ced1870 * http://www.joomlack.fr * @license GNU/GPL * */ #modules-form { position: absolute; left: 0; right: 0; background: #fff; padding: 20px; z-index: 100; } PK na!]��D�� � assets/ckbrowse.jsnu &1i� /** * @copyright Copyright (C) 2015. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr */ var $ck = window.$ck || jQuery.noConflict(); $ck(document).ready(function(){ if ($ck('#ckfolderupload').length) ckAddDndForImageUpload(document.getElementById('ckfolderupload')); }); if (typeof(ckInitTooltips) != 'function') { function ckInitTooltips() { // $ck('.hasTip').tooltip({"html": true,"container": "body"}); } } if (typeof(ckAddWaitIcon) != 'function') { /** * Add the spinner icon */ function ckAddWaitIcon(button) { $ck(button).addClass('ckwait'); } } if (typeof(ckRemoveWaitIcon) != 'function') { /** * Remove the spinner icon */ function ckRemoveWaitIcon(button) { $ck(button).removeClass('ckwait'); } } /*------------------------------------------------------ * Functions for the image drag and drop upload *-----------------------------------------------------*/ function ckReadDndImages(holder, files) { // empty the place if there is already an image -> no !! // if ($ck(holder).find('img').length) $ck(holder).find('img').remove(); var formData = !!window.FormData ? new FormData() : null; for (var i = 0; i < files.length; i++) { if (!files[i].type.match(/^image\//) && !files[i].type.match(/^video\//) && !files[i].type.match(/^audio\//)) { alert('The file must be an image : ' + files[i].name) ; continue ; } if (!!window.FormData) formData.append('file', files[i]); if ($ck('.ckfoldertree.ckcurrent').length) formData.append('path', $ck('.ckfoldertree.ckcurrent').attr('data-path')); if (!!window.FormData) { $ck(holder).append('<progress max="100" value="0" class="progress"></progress>'); var holderProgress = $ck(holder).find('.progress'); var myurl = 'index.php?option=com_slideshowck&task=ajaxAddPicture&' + cktoken + '=1'; $ck.ajax({ type: "POST", url: myurl, // async: false, data: formData, dataType: 'json', processData: false, // indique � jQuery de ne pas traiter les donn�es contentType: false, // indique � jQuery de ne pas configurer le contentType xhr: function () { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; holderProgress.val( percentComplete * 100 ); if (percentComplete === 1) { holderProgress.addClass('hide'); } } }, false); xhr.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; holderProgress.val( percentComplete * 100 ); } }, false); return xhr; } }).done(function(response) { if(typeof response.error === 'undefined') { // Success if(typeof response.img !== 'undefined') { holderProgress.remove(); if ($ck('.ckfoldertree').length) { // if the image already exists, return if ($ck('.ckfoldertree.ckcurrent').find('> .ckfoldertreefiles').find('[data-filename="' + response.filename + '"]').length) return; $ck('.ckfoldertree.ckcurrent').find('> .ckfoldertreename > .ckfoldertreecount').text(parseInt($ck('.ckfoldertree.ckcurrent').find('> .ckfoldertreename > .ckfoldertreecount').text())+1); $ck('.ckfoldertree.ckcurrent').find('> .ckfoldertreefiles') .append('<div class="ckfoldertreefile" data-filename="' + response.filename + '" data-path="'+ $ck('.ckfoldertree.ckcurrent').attr('data-path') +'" onclick="ckSelectFile(this)" data-type="image">' + '<img title="' + response.filename + '" data-src="' + response.img + '" src="' + URIROOT + response.img+'" />' + '</div>'); $ck('#ckfileupload').val(''); } else { holderProgress.remove(); if ($ck(holder).find('img').length) { $ck(holder).find('img').attr('src', URIROOT + response.img).attr('data-src', response.img); } else { $ck(holder).find('.imageck').append('<img data-src="'+response.img+'" src="'+URIROOT + response.img+'" />'); } } } } else { alert('ERROR: ' + response.error); } }).fail(function() { // alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } } } function ckAddDndForImageUpload(holder) { if (typeof FileReader == 'undefined') return; if ('draggable' in document.createElement('span')) { holder.ondragover = function () { $ck(holder).addClass('ckdndhover'); return false; }; holder.ondragleave = function () { $ck(holder).removeClass('ckdndhover'); return false; }; holder.ondragend = function () { $ck(holder).removeClass('ckdndhover'); return false; }; holder.ondrop = function (e) { $ck(holder).removeClass('ckdndhover'); e.preventDefault(); ckReadDndImages(holder, e.dataTransfer.files); } } else { alert('Message : Drag and drop for images not supported'); // fileupload.className = 'hidden'; } $ck('#ckfileupload').on('change', function () { ckReadDndImages(holder, this.files); }); } /*------------------------------------------------------ * END of image drag and drop *-----------------------------------------------------*/ function ckAddFolder() { $ck('.ckcurrent .ckfoldertreepathwayaddfolder').hide(); $ck('.ckcurrent .ckfoldertreepathwayfoldername, .ckcurrent .ckfoldertreepathwaycreatefolder').addClass('ckshow'); } function ckCreateFolder(btn, path) { var folderName = $ck(btn).parent().find('input').val(); var myurl = SLIDESHOWCK_URL + "&task=ajaxCreateFolder&" + CKTOKEN; $ck.ajax({ type: "POST", url: myurl, data: { path: path, name: folderName } }).done(function(code) { var result = JSON.parse(code); if (result.status == '1') { alert(result.message); var currentpath = $ck('.ckcurrent'); var code = ''; if (! currentpath.find('.cksubfolder').length) code += '<div class="cksubfolder">'; code += '<div class="ckfoldertree" data-level="' + (parseInt(currentpath.attr('data-level'))+1) + '" data-path="' + path + '/' + folderName + '">' +'<div class="ckfoldertreetoggler" onclick="ckToggleTreeSub(this)"></div>' +'<div class="ckfoldertreename" onclick="ckShowFiles(this)"><span class="icon-folder"></span>' + folderName + '<div class="ckfoldertreecount">0</div>' +'</div>' +'<div class="ckfoldertreefiles">' +'<div class="ckfoldertreepathway ckinterface">' +'<span>images</span><span class="ckfoldertreepath">'+path+'</span><span class="ckfoldertreepath">' + folderName + '</span>' +'<span class="ckfoldertreepathwayactions">' +'<span class="ckfoldertreepathwayaddfolder ckbutton" onclick="ckAddFolder()" style="display: none;">Add a subfolder</span>' +'<span class="ckfoldertreepathwayfoldername ckshow"><input type="text" class="ckfoldertreepathwayaddfoldername"></span>' +'<span class="ckfoldertreepathwaycreatefolder ckbutton ckshow" onclick="ckCreateFolder(this, \'' + path + '/' + folderName + '\')">Create folder</span>' +'</span>' +'</div>' +'</div>' +'</div>'; if (! currentpath.find('.cksubfolder').length) code += '</div>'; if (! currentpath.find('.cksubfolder').length) { $ck('.ckcurrent').append(code); } else { $ck('.ckcurrent > .cksubfolder').append(code); } } else if (result.status == '2') { alert(result.message); } else { alert(CKApi.Text._('CK_FAILED', 'Failed')); } }).fail(function() { alert(CKApi.Text._('CK_FAILED', 'Failed')); }); } function ckLoadFiles(btn, type, folder) { if ($ck(btn).hasClass('ckdone')) { ckFocusFolder(btn); return; } var myurl = SLIDESHOWCK.BASE_URL + '&task=browse.getFiles&' + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, data: { folder: folder, type: type } }).done(function(result) { if (result) { $ck(btn).find('+ .ckfoldertreefiles').empty().append(result); $ck(btn).addClass('ckdone'); } ckFocusFolder(btn); }).fail(function() { alert('A problem occured when trying to create the module. Please retry.'); }); } function ckFocusFolder(btn) { // set the current state on the folder var item = $ck(btn).parent(); $ck('.ckcurrent').not(btn).removeClass('ckcurrent'); if (item.hasClass('ckcurrent')) { item.removeClass('ckcurrent'); } else { item.addClass('ckcurrent') } }PK na!]M%� assets/jquery.easing.1.3.jsnu &1i� (function($, undefined) { $.easing.jswing=$.easing.swing,$.extend($.easing,{def:"easeOutQuad",swing:function(n,e,t,u,a){return $.easing[$.easing.def](n,e,t,u,a)},easeInQuad:function(n,e,t,u,a){return u*(e/=a)*e+t},easeOutQuad:function(n,e,t,u,a){return-u*(e/=a)*(e-2)+t},easeInOutQuad:function(n,e,t,u,a){return(e/=a/2)<1?u/2*e*e+t:-u/2*(--e*(e-2)-1)+t},easeInCubic:function(n,e,t,u,a){return u*(e/=a)*e*e+t},easeOutCubic:function(n,e,t,u,a){return u*((e=e/a-1)*e*e+1)+t},easeInOutCubic:function(n,e,t,u,a){return(e/=a/2)<1?u/2*e*e*e+t:u/2*((e-=2)*e*e+2)+t},easeInQuart:function(n,e,t,u,a){return u*(e/=a)*e*e*e+t},easeOutQuart:function(n,e,t,u,a){return-u*((e=e/a-1)*e*e*e-1)+t},easeInOutQuart:function(n,e,t,u,a){return(e/=a/2)<1?u/2*e*e*e*e+t:-u/2*((e-=2)*e*e*e-2)+t},easeInQuint:function(n,e,t,u,a){return u*(e/=a)*e*e*e*e+t},easeOutQuint:function(n,e,t,u,a){return u*((e=e/a-1)*e*e*e*e+1)+t},easeInOutQuint:function(n,e,t,u,a){return(e/=a/2)<1?u/2*e*e*e*e*e+t:u/2*((e-=2)*e*e*e*e+2)+t},easeInSine:function(n,e,t,u,a){return-u*Math.cos(e/a*(Math.PI/2))+u+t},easeOutSine:function(n,e,t,u,a){return u*Math.sin(e/a*(Math.PI/2))+t},easeInOutSine:function(n,e,t,u,a){return-u/2*(Math.cos(Math.PI*e/a)-1)+t},easeInExpo:function(n,e,t,u,a){return 0==e?t:u*Math.pow(2,10*(e/a-1))+t},easeOutExpo:function(n,e,t,u,a){return e==a?t+u:u*(-Math.pow(2,-10*e/a)+1)+t},easeInOutExpo:function(n,e,t,u,a){return 0==e?t:e==a?t+u:(e/=a/2)<1?u/2*Math.pow(2,10*(e-1))+t:u/2*(-Math.pow(2,-10*--e)+2)+t},easeInCirc:function(n,e,t,u,a){return-u*(Math.sqrt(1-(e/=a)*e)-1)+t},easeOutCirc:function(n,e,t,u,a){return u*Math.sqrt(1-(e=e/a-1)*e)+t},easeInOutCirc:function(n,e,t,u,a){return(e/=a/2)<1?-u/2*(Math.sqrt(1-e*e)-1)+t:u/2*(Math.sqrt(1-(e-=2)*e)+1)+t},easeInElastic:function(n,e,t,u,a){var r=1.70158,i=0,s=u;if(0==e)return t;if(1==(e/=a))return t+u;if(i||(i=.3*a),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return-(s*Math.pow(2,10*(e-=1))*Math.sin((e*a-r)*(2*Math.PI)/i))+t},easeOutElastic:function(n,e,t,u,a){var r=1.70158,i=0,s=u;if(0==e)return t;if(1==(e/=a))return t+u;if(i||(i=.3*a),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return s*Math.pow(2,-10*e)*Math.sin((e*a-r)*(2*Math.PI)/i)+u+t},easeInOutElastic:function(n,e,t,u,a){var r=1.70158,i=0,s=u;if(0==e)return t;if(2==(e/=a/2))return t+u;if(i||(i=a*(.3*1.5)),s<Math.abs(u)){s=u;var r=i/4}else var r=i/(2*Math.PI)*Math.asin(u/s);return 1>e?-.5*(s*Math.pow(2,10*(e-=1))*Math.sin((e*a-r)*(2*Math.PI)/i))+t:s*Math.pow(2,-10*(e-=1))*Math.sin((e*a-r)*(2*Math.PI)/i)*.5+u+t},easeInBack:function(n,e,t,u,a,r){return void 0==r&&(r=1.70158),u*(e/=a)*e*((r+1)*e-r)+t},easeOutBack:function(n,e,t,u,a,r){return void 0==r&&(r=1.70158),u*((e=e/a-1)*e*((r+1)*e+r)+1)+t},easeInOutBack:function(n,e,t,u,a,r){return void 0==r&&(r=1.70158),(e/=a/2)<1?u/2*(e*e*(((r*=1.525)+1)*e-r))+t:u/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+t},easeInBounce:function(n,e,t,u,a){return u-$.easing.easeOutBounce(n,a-e,0,u,a)+t},easeOutBounce:function(n,e,t,u,a){return(e/=a)<1/2.75?u*(7.5625*e*e)+t:2/2.75>e?u*(7.5625*(e-=1.5/2.75)*e+.75)+t:2.5/2.75>e?u*(7.5625*(e-=2.25/2.75)*e+.9375)+t:u*(7.5625*(e-=2.625/2.75)*e+.984375)+t},easeInOutBounce:function(n,e,t,u,a){return a/2>e?.5*$.easing.easeInBounce(n,2*e,0,u,a)+t:.5*$.easing.easeOutBounce(n,2*e-a,0,u,a)+.5*u+t}}); }) (jQuery);PK na!]ŐKB B assets/jscolor/arrow.gifnu &1i� GIF89a � ����<x�<x!� , L�p��lo�:��*�4I ;PK na!]���,r ,r assets/jscolor/jscolor.jsnu &1i� /** * jscolor, JavaScript Color Picker * * @version 1.4.4 * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html * @author Jan Odvarko, http://odvarko.cz * @created 2008-06-15 * @updated 2014-12-09 * @link http://jscolor.com */ var jscolor = { dir : '', // location of jscolor directory (leave empty to autodetect) bindClass : 'color', // class name binding : true, // automatic binding via <input class="..."> preloading : true, // use image preloading? install : function() { jscolor.addEvent(window, 'load', jscolor.init); }, init : function() { if(jscolor.binding) { jscolor.bind(); } if(jscolor.preloading) { jscolor.preload(); } }, getDir : function() { if(!jscolor.dir) { var detected = jscolor.detectDir(); jscolor.dir = detected!==false ? detected : 'jscolor/'; } return jscolor.dir; }, detectDir : function() { var base = location.href; var e = document.getElementsByTagName('base'); for(var i=0; i<e.length; i+=1) { if(e[i].href) { base = e[i].href; } } var e = document.getElementsByTagName('script'); for(var i=0; i<e.length; i+=1) { if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) { var src = new jscolor.URI(e[i].src); var srcAbs = src.toAbsolute(base); srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename srcAbs.query = null; srcAbs.fragment = null; return srcAbs.toString(); } } return false; }, bind : function() { var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')(\\s*(\\{[^}]*\\})|\\s|$)', 'i'); var e = document.getElementsByTagName('input'); for(var i=0; i<e.length; i+=1) { if(jscolor.isColorAttrSupported && e[i].type.toLowerCase() == 'color') { // skip inputs of type 'color' if the browser supports this feature continue; } var m; if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) { var prop = {}; if(m[4]) { try { prop = (new Function ('return (' + m[4] + ')'))(); } catch(eInvalidProp) {} } e[i].color = new jscolor.color(e[i], prop); } } }, preload : function() { for(var fn in jscolor.imgRequire) { if(jscolor.imgRequire.hasOwnProperty(fn)) { jscolor.loadImage(fn); } } }, images : { pad : [ 181, 101 ], sld : [ 16, 101 ], cross : [ 15, 15 ], arrow : [ 7, 11 ] }, imgRequire : {}, imgLoaded : {}, requireImage : function(filename) { jscolor.imgRequire[filename] = true; }, loadImage : function(filename) { if(!jscolor.imgLoaded[filename]) { jscolor.imgLoaded[filename] = new Image(); jscolor.imgLoaded[filename].src = jscolor.getDir()+filename; } }, fetchElement : function(mixed) { return typeof mixed === 'string' ? document.getElementById(mixed) : mixed; }, addEvent : function(el, evnt, func) { if(el.addEventListener) { el.addEventListener(evnt, func, false); } else if(el.attachEvent) { el.attachEvent('on'+evnt, func); } }, fireEvent : function(el, evnt) { if(!el) { return; } if(document.createEvent) { var ev = document.createEvent('HTMLEvents'); ev.initEvent(evnt, true, true); el.dispatchEvent(ev); } else if(document.createEventObject) { var ev = document.createEventObject(); el.fireEvent('on'+evnt, ev); } else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5) el['on'+evnt](); } }, getElementPos : function(e) { var e1=e, e2=e; var x=0, y=0; if(e1.offsetParent) { do { x += e1.offsetLeft; y += e1.offsetTop; } while(e1 = e1.offsetParent); } while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') { x -= e2.scrollLeft; y -= e2.scrollTop; } return [x, y]; }, getElementSize : function(e) { return [e.offsetWidth, e.offsetHeight]; }, getRelMousePos : function(e) { var x = 0, y = 0; if (!e) { e = window.event; } if (typeof e.offsetX === 'number') { x = e.offsetX; y = e.offsetY; } else if (typeof e.layerX === 'number') { x = e.layerX; y = e.layerY; } return { x: x, y: y }; }, getViewPos : function() { if(typeof window.pageYOffset === 'number') { return [window.pageXOffset, window.pageYOffset]; } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) { return [document.body.scrollLeft, document.body.scrollTop]; } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) { return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; } else { return [0, 0]; } }, getViewSize : function() { if(typeof window.innerWidth === 'number') { return [window.innerWidth, window.innerHeight]; } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) { return [document.body.clientWidth, document.body.clientHeight]; } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { return [document.documentElement.clientWidth, document.documentElement.clientHeight]; } else { return [0, 0]; } }, URI : function(uri) { // See RFC3986 this.scheme = null; this.authority = null; this.path = ''; this.query = null; this.fragment = null; this.parse = function(uri) { var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/); this.scheme = m[3] ? m[2] : null; this.authority = m[5] ? m[6] : null; this.path = m[7]; this.query = m[9] ? m[10] : null; this.fragment = m[12] ? m[13] : null; return this; }; this.toString = function() { var result = ''; if(this.scheme !== null) { result = result + this.scheme + ':'; } if(this.authority !== null) { result = result + '//' + this.authority; } if(this.path !== null) { result = result + this.path; } if(this.query !== null) { result = result + '?' + this.query; } if(this.fragment !== null) { result = result + '#' + this.fragment; } return result; }; this.toAbsolute = function(base) { var base = new jscolor.URI(base); var r = this; var t = new jscolor.URI; if(base.scheme === null) { return false; } if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) { r.scheme = null; } if(r.scheme !== null) { t.scheme = r.scheme; t.authority = r.authority; t.path = removeDotSegments(r.path); t.query = r.query; } else { if(r.authority !== null) { t.authority = r.authority; t.path = removeDotSegments(r.path); t.query = r.query; } else { if(r.path === '') { t.path = base.path; if(r.query !== null) { t.query = r.query; } else { t.query = base.query; } } else { if(r.path.substr(0,1) === '/') { t.path = removeDotSegments(r.path); } else { if(base.authority !== null && base.path === '') { t.path = '/'+r.path; } else { t.path = base.path.replace(/[^\/]+$/,'')+r.path; } t.path = removeDotSegments(t.path); } t.query = r.query; } t.authority = base.authority; } t.scheme = base.scheme; } t.fragment = r.fragment; return t; }; function removeDotSegments(path) { var out = ''; while(path) { if(path.substr(0,3)==='../' || path.substr(0,2)==='./') { path = path.replace(/^\.+/,'').substr(1); } else if(path.substr(0,3)==='/./' || path==='/.') { path = '/'+path.substr(3); } else if(path.substr(0,4)==='/../' || path==='/..') { path = '/'+path.substr(4); out = out.replace(/\/?[^\/]*$/, ''); } else if(path==='.' || path==='..') { path = ''; } else { var rm = path.match(/^\/?[^\/]*/)[0]; path = path.substr(rm.length); out = out + rm; } } return out; } if(uri) { this.parse(uri); } }, // // Usage example: // var myColor = new jscolor.color(myInputElement) // color : function(target, prop) { this.required = true; // refuse empty values? this.adjust = true; // adjust value to uniform notation? this.hash = false; // prefix color with # symbol? this.caps = true; // uppercase? this.slider = true; // show the value/saturation slider? this.valueElement = target; // value holder this.styleElement = target; // where to reflect current color this.onImmediateChange = null; // onchange callback (can be either string or function) this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1 this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1 this.minH = 0; // read-only 0-6 this.maxH = 6; // read-only 0-6 this.minS = 0; // read-only 0-1 this.maxS = 1; // read-only 0-1 this.minV = 0; // read-only 0-1 this.maxV = 1; // read-only 0-1 this.pickerOnfocus = true; // display picker on focus? this.pickerMode = 'HSV'; // HSV | HVS this.pickerPosition = 'bottom'; // left | right | top | bottom this.pickerSmartPosition = true; // automatically adjust picker position when necessary this.pickerButtonHeight = 20; // px this.pickerClosable = false; this.pickerCloseText = 'Close'; this.pickerButtonColor = 'ButtonText'; // px this.pickerFace = 10; // px this.pickerFaceColor = 'ThreeDFace'; // CSS color this.pickerBorder = 1; // px this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'; // CSS color this.pickerInset = 1; // px this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'; // CSS color this.pickerZIndex = 10000; for(var p in prop) { if(prop.hasOwnProperty(p)) { this[p] = prop[p]; } } this.hidePicker = function() { if(isPickerOwner()) { removePicker(); } }; this.showPicker = function() { if(!isPickerOwner()) { var tp = jscolor.getElementPos(target); // target pos var ts = jscolor.getElementSize(target); // target size var vp = jscolor.getViewPos(); // view pos var vs = jscolor.getViewSize(); // view size var ps = getPickerDims(this); // picker size var a, b, c; switch(this.pickerPosition.toLowerCase()) { case 'left': a=1; b=0; c=-1; break; case 'right':a=1; b=0; c=1; break; case 'top': a=0; b=1; c=-1; break; default: a=0; b=1; c=1; break; } var l = (ts[b]+ps[b])/2; // picker pos if (!this.pickerSmartPosition) { var pp = [ tp[a], tp[b]+ts[b]-l+l*c ]; } else { var pp = [ -vp[a]+tp[a]+ps[a] > vs[a] ? (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) : tp[a], -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ? (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) : (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c) ]; } drawPicker(pp[a], pp[b]); } }; this.importColor = function() { if(!valueElement) { this.exportColor(); } else { if(!this.adjust) { if(!this.fromString(valueElement.value, leaveValue)) { styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage; styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor; styleElement.style.color = styleElement.jscStyle.color; this.exportColor(leaveValue | leaveStyle); } } else if(!this.required && /^\s*$/.test(valueElement.value)) { valueElement.value = ''; styleElement.style.backgroundImage = styleElement.jscStyle.backgroundImage; styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor; styleElement.style.color = styleElement.jscStyle.color; this.exportColor(leaveValue | leaveStyle); } else if(this.fromString(valueElement.value)) { // OK } else { this.exportColor(); } } }; this.exportColor = function(flags) { if(!(flags & leaveValue) && valueElement) { var value = this.toString(); if(this.caps) { value = value.toUpperCase(); } if(this.hash) { value = '#'+value; } valueElement.value = value; } if(!(flags & leaveStyle) && styleElement) { styleElement.style.backgroundImage = "none"; styleElement.style.backgroundColor = '#'+this.toString(); styleElement.style.color = 0.213 * this.rgb[0] + 0.715 * this.rgb[1] + 0.072 * this.rgb[2] < 0.5 ? '#FFF' : '#000'; } if(!(flags & leavePad) && isPickerOwner()) { redrawPad(); } if(!(flags & leaveSld) && isPickerOwner()) { redrawSld(); } }; this.fromHSV = function(h, s, v, flags) { // null = don't change if(h !== null) { h = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, h)); } if(s !== null) { s = Math.max(0.0, this.minS, Math.min(1.0, this.maxS, s)); } if(v !== null) { v = Math.max(0.0, this.minV, Math.min(1.0, this.maxV, v)); } this.rgb = HSV_RGB( h===null ? this.hsv[0] : (this.hsv[0]=h), s===null ? this.hsv[1] : (this.hsv[1]=s), v===null ? this.hsv[2] : (this.hsv[2]=v) ); this.exportColor(flags); }; this.fromRGB = function(r, g, b, flags) { // null = don't change if(r !== null) { r = Math.max(0.0, Math.min(1.0, r)); } if(g !== null) { g = Math.max(0.0, Math.min(1.0, g)); } if(b !== null) { b = Math.max(0.0, Math.min(1.0, b)); } var hsv = RGB_HSV( r===null ? this.rgb[0] : r, g===null ? this.rgb[1] : g, b===null ? this.rgb[2] : b ); if(hsv[0] !== null) { this.hsv[0] = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, hsv[0])); } if(hsv[2] !== 0) { this.hsv[1] = hsv[1]===null ? null : Math.max(0.0, this.minS, Math.min(1.0, this.maxS, hsv[1])); } this.hsv[2] = hsv[2]===null ? null : Math.max(0.0, this.minV, Math.min(1.0, this.maxV, hsv[2])); // update RGB according to final HSV, as some values might be trimmed var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]); this.rgb[0] = rgb[0]; this.rgb[1] = rgb[1]; this.rgb[2] = rgb[2]; this.exportColor(flags); }; this.fromString = function(hex, flags) { var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i); if(!m) { return false; } else { if(m[1].length === 6) { // 6-char notation this.fromRGB( parseInt(m[1].substr(0,2),16) / 255, parseInt(m[1].substr(2,2),16) / 255, parseInt(m[1].substr(4,2),16) / 255, flags ); } else { // 3-char notation this.fromRGB( parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255, parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255, parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255, flags ); } return true; } }; this.toString = function() { return ( (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) + (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) + (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1) ); }; function RGB_HSV(r, g, b) { var n = Math.min(Math.min(r,g),b); var v = Math.max(Math.max(r,g),b); var m = v - n; if(m === 0) { return [ null, 0, v ]; } var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m); return [ h===6?0:h, m/v, v ]; } function HSV_RGB(h, s, v) { if(h === null) { return [ v, v, v ]; } var i = Math.floor(h); var f = i%2 ? h-i : 1-(h-i); var m = v * (1 - s); var n = v * (1 - s*f); switch(i) { case 6: case 0: return [v,n,m]; case 1: return [n,v,m]; case 2: return [m,v,n]; case 3: return [m,n,v]; case 4: return [n,m,v]; case 5: return [v,m,n]; } } function removePicker() { delete jscolor.picker.owner; document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB); } function drawPicker(x, y) { if(!jscolor.picker) { jscolor.picker = { box : document.createElement('div'), boxB : document.createElement('div'), pad : document.createElement('div'), padB : document.createElement('div'), padM : document.createElement('div'), sld : document.createElement('div'), sldB : document.createElement('div'), sldM : document.createElement('div'), btn : document.createElement('div'), btnS : document.createElement('span'), btnT : document.createTextNode(THIS.pickerCloseText) }; for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) { var seg = document.createElement('div'); seg.style.height = segSize+'px'; seg.style.fontSize = '1px'; seg.style.lineHeight = '0'; jscolor.picker.sld.appendChild(seg); } jscolor.picker.sldB.appendChild(jscolor.picker.sld); jscolor.picker.box.appendChild(jscolor.picker.sldB); jscolor.picker.box.appendChild(jscolor.picker.sldM); jscolor.picker.padB.appendChild(jscolor.picker.pad); jscolor.picker.box.appendChild(jscolor.picker.padB); jscolor.picker.box.appendChild(jscolor.picker.padM); jscolor.picker.btnS.appendChild(jscolor.picker.btnT); jscolor.picker.btn.appendChild(jscolor.picker.btnS); jscolor.picker.box.appendChild(jscolor.picker.btn); jscolor.picker.boxB.appendChild(jscolor.picker.box); } var p = jscolor.picker; // controls interaction p.box.onmouseup = p.box.onmouseout = function() { target.focus(); }; p.box.onmousedown = function() { abortBlur=true; }; p.box.onmousemove = function(e) { if (holdPad || holdSld) { holdPad && setPad(e); holdSld && setSld(e); if (document.selection) { document.selection.empty(); } else if (window.getSelection) { window.getSelection().removeAllRanges(); } dispatchImmediateChange(); } }; if('ontouchstart' in window) { // if touch device var handle_touchmove = function(e) { var event={ 'offsetX': e.touches[0].pageX-touchOffset.X, 'offsetY': e.touches[0].pageY-touchOffset.Y }; if (holdPad || holdSld) { holdPad && setPad(event); holdSld && setSld(event); dispatchImmediateChange(); } e.stopPropagation(); // prevent move "view" on broswer e.preventDefault(); // prevent Default - Android Fix (else android generated only 1-2 touchmove events) }; p.box.removeEventListener('touchmove', handle_touchmove, false) p.box.addEventListener('touchmove', handle_touchmove, false) } p.padM.onmouseup = p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } }; p.padM.onmousedown = function(e) { // if the slider is at the bottom, move it up switch(modeID) { case 0: if (THIS.hsv[2] === 0) { THIS.fromHSV(null, null, 1.0); }; break; case 1: if (THIS.hsv[1] === 0) { THIS.fromHSV(null, 1.0, null); }; break; } holdSld=false; holdPad=true; setPad(e); dispatchImmediateChange(); }; if('ontouchstart' in window) { p.padM.addEventListener('touchstart', function(e) { touchOffset={ 'X': e.target.offsetParent.offsetLeft, 'Y': e.target.offsetParent.offsetTop }; this.onmousedown({ 'offsetX':e.touches[0].pageX-touchOffset.X, 'offsetY':e.touches[0].pageY-touchOffset.Y }); }); } p.sldM.onmouseup = p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } }; p.sldM.onmousedown = function(e) { holdPad=false; holdSld=true; setSld(e); dispatchImmediateChange(); }; if('ontouchstart' in window) { p.sldM.addEventListener('touchstart', function(e) { touchOffset={ 'X': e.target.offsetParent.offsetLeft, 'Y': e.target.offsetParent.offsetTop }; this.onmousedown({ 'offsetX':e.touches[0].pageX-touchOffset.X, 'offsetY':e.touches[0].pageY-touchOffset.Y }); }); } // picker var dims = getPickerDims(THIS); p.box.style.width = dims[0] + 'px'; p.box.style.height = dims[1] + 'px'; // picker border p.boxB.style.position = 'absolute'; p.boxB.style.clear = 'both'; p.boxB.style.left = x+'px'; p.boxB.style.top = y+'px'; p.boxB.style.zIndex = THIS.pickerZIndex; p.boxB.style.border = THIS.pickerBorder+'px solid'; p.boxB.style.borderColor = THIS.pickerBorderColor; p.boxB.style.background = THIS.pickerFaceColor; // pad image p.pad.style.width = jscolor.images.pad[0]+'px'; p.pad.style.height = jscolor.images.pad[1]+'px'; // pad border p.padB.style.position = 'absolute'; p.padB.style.left = THIS.pickerFace+'px'; p.padB.style.top = THIS.pickerFace+'px'; p.padB.style.border = THIS.pickerInset+'px solid'; p.padB.style.borderColor = THIS.pickerInsetColor; // pad mouse area p.padM.style.position = 'absolute'; p.padM.style.left = '0'; p.padM.style.top = '0'; p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px'; p.padM.style.height = p.box.style.height; p.padM.style.cursor = 'crosshair'; // slider image p.sld.style.overflow = 'hidden'; p.sld.style.width = jscolor.images.sld[0]+'px'; p.sld.style.height = jscolor.images.sld[1]+'px'; // slider border p.sldB.style.display = THIS.slider ? 'block' : 'none'; p.sldB.style.position = 'absolute'; p.sldB.style.right = THIS.pickerFace+'px'; p.sldB.style.top = THIS.pickerFace+'px'; p.sldB.style.border = THIS.pickerInset+'px solid'; p.sldB.style.borderColor = THIS.pickerInsetColor; // slider mouse area p.sldM.style.display = THIS.slider ? 'block' : 'none'; p.sldM.style.position = 'absolute'; p.sldM.style.right = '0'; p.sldM.style.top = '0'; p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px'; p.sldM.style.height = p.box.style.height; try { p.sldM.style.cursor = 'pointer'; } catch(eOldIE) { p.sldM.style.cursor = 'hand'; } // "close" button function setBtnBorder() { var insetColors = THIS.pickerInsetColor.split(/\s+/); var pickerOutsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1]; p.btn.style.borderColor = pickerOutsetColor; } p.btn.style.display = THIS.pickerClosable ? 'block' : 'none'; p.btn.style.position = 'absolute'; p.btn.style.left = THIS.pickerFace + 'px'; p.btn.style.bottom = THIS.pickerFace + 'px'; p.btn.style.padding = '0 15px'; p.btn.style.height = '18px'; p.btn.style.border = THIS.pickerInset + 'px solid'; setBtnBorder(); p.btn.style.color = THIS.pickerButtonColor; p.btn.style.font = '12px sans-serif'; p.btn.style.textAlign = 'center'; try { p.btn.style.cursor = 'pointer'; } catch(eOldIE) { p.btn.style.cursor = 'hand'; } p.btn.onmousedown = function () { THIS.hidePicker(); }; p.btnS.style.lineHeight = p.btn.style.height; // load images in optimal order switch(modeID) { case 0: var padImg = 'hs.png'; break; case 1: var padImg = 'hv.png'; break; } p.padM.style.backgroundImage = "url('"+jscolor.getDir()+"cross.gif')"; p.padM.style.backgroundRepeat = "no-repeat"; p.sldM.style.backgroundImage = "url('"+jscolor.getDir()+"arrow.gif')"; p.sldM.style.backgroundRepeat = "no-repeat"; p.pad.style.backgroundImage = "url('"+jscolor.getDir()+padImg+"')"; p.pad.style.backgroundRepeat = "no-repeat"; p.pad.style.backgroundPosition = "0 0"; // place pointers redrawPad(); redrawSld(); jscolor.picker.owner = THIS; document.getElementsByTagName('body')[0].appendChild(p.boxB); } function getPickerDims(o) { var dims = [ 2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[0] + (o.slider ? 2*o.pickerInset + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] : 0), o.pickerClosable ? 4*o.pickerInset + 3*o.pickerFace + jscolor.images.pad[1] + o.pickerButtonHeight : 2*o.pickerInset + 2*o.pickerFace + jscolor.images.pad[1] ]; return dims; } function redrawPad() { // redraw the pad pointer switch(modeID) { case 0: var yComponent = 1; break; case 1: var yComponent = 2; break; } var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1)); var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1)); jscolor.picker.padM.style.backgroundPosition = (THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px'; // redraw the slider image var seg = jscolor.picker.sld.childNodes; switch(modeID) { case 0: var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1); for(var i=0; i<seg.length; i+=1) { seg[i].style.backgroundColor = 'rgb('+ (rgb[0]*(1-i/seg.length)*100)+'%,'+ (rgb[1]*(1-i/seg.length)*100)+'%,'+ (rgb[2]*(1-i/seg.length)*100)+'%)'; } break; case 1: var rgb, s, c = [ THIS.hsv[2], 0, 0 ]; var i = Math.floor(THIS.hsv[0]); var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i); switch(i) { case 6: case 0: rgb=[0,1,2]; break; case 1: rgb=[1,0,2]; break; case 2: rgb=[2,0,1]; break; case 3: rgb=[2,1,0]; break; case 4: rgb=[1,2,0]; break; case 5: rgb=[0,2,1]; break; } for(var i=0; i<seg.length; i+=1) { s = 1 - 1/(seg.length-1)*i; c[1] = c[0] * (1 - s*f); c[2] = c[0] * (1 - s); seg[i].style.backgroundColor = 'rgb('+ (c[rgb[0]]*100)+'%,'+ (c[rgb[1]]*100)+'%,'+ (c[rgb[2]]*100)+'%)'; } break; } } function redrawSld() { // redraw the slider pointer switch(modeID) { case 0: var yComponent = 2; break; case 1: var yComponent = 1; break; } var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1)); jscolor.picker.sldM.style.backgroundPosition = '0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px'; } function isPickerOwner() { return jscolor.picker && jscolor.picker.owner === THIS; } function blurTarget() { if(valueElement === target) { THIS.importColor(); } if(THIS.pickerOnfocus) { THIS.hidePicker(); } } function blurValue() { if(valueElement !== target) { THIS.importColor(); } } function setPad(e) { var mpos = jscolor.getRelMousePos(e); var x = mpos.x - THIS.pickerFace - THIS.pickerInset; var y = mpos.y - THIS.pickerFace - THIS.pickerInset; switch(modeID) { case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break; case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break; } } function setSld(e) { var mpos = jscolor.getRelMousePos(e); var y = mpos.y - THIS.pickerFace - THIS.pickerInset; switch(modeID) { case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break; case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break; } } function dispatchImmediateChange() { if (THIS.onImmediateChange) { var callback; if (typeof THIS.onImmediateChange === 'string') { callback = new Function (THIS.onImmediateChange); } else { callback = THIS.onImmediateChange; } callback.call(THIS); } } var THIS = this; var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0; var abortBlur = false; var valueElement = jscolor.fetchElement(this.valueElement), styleElement = jscolor.fetchElement(this.styleElement); var holdPad = false, holdSld = false, touchOffset = {}; var leaveValue = 1<<0, leaveStyle = 1<<1, leavePad = 1<<2, leaveSld = 1<<3; jscolor.isColorAttrSupported = false; var el = document.createElement('input'); if(el.setAttribute) { el.setAttribute('type', 'color'); if(el.type.toLowerCase() == 'color') { jscolor.isColorAttrSupported = true; } } // target jscolor.addEvent(target, 'focus', function() { if(THIS.pickerOnfocus) { THIS.showPicker(); } }); jscolor.addEvent(target, 'blur', function() { if(!abortBlur) { window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0); } else { abortBlur = false; } }); // valueElement if(valueElement) { var updateField = function() { THIS.fromString(valueElement.value, leaveValue); dispatchImmediateChange(); }; jscolor.addEvent(valueElement, 'keyup', updateField); jscolor.addEvent(valueElement, 'input', updateField); jscolor.addEvent(valueElement, 'blur', blurValue); valueElement.setAttribute('autocomplete', 'off'); } // styleElement if(styleElement) { styleElement.jscStyle = { backgroundImage : styleElement.style.backgroundImage, backgroundColor : styleElement.style.backgroundColor, color : styleElement.style.color }; } // require images switch(modeID) { case 0: jscolor.requireImage('hs.png'); break; case 1: jscolor.requireImage('hv.png'); break; } jscolor.requireImage('cross.gif'); jscolor.requireImage('arrow.gif'); this.importColor(); } }; jscolor.install(); PK na!]���I| | assets/jscolor/hs.pngnu &1i� �PNG IHDR � e �5� CIDATx���r#+E�a�?��%�yH��.����q��z<��Z�wm.!��? ��_� ��?�O;j� �o���yh���#�az8hW��#D��|� �Q�h�?#zv�$܆;������A�~2�8̱8"r�����8D���)�ԑ��n��&�f�Ĺi( �v&v�����F �����_#��@��C��H�x��jMKП���t���-t"�<��Ƒ����}��Hナ����*G�φN��#��5b�H����2]E��|��kS��݈�k�\{�\ �&�%�B?������D�'A�"��.�C����NʔIL�~��Ol]�_��<��r�Ԅ�/L�q/t�����HIh�|��U=�v#�n����R�iK��#�1v {�>j �,����=�;<��*숽"}�Gԩu�wax�kձҏgC�����2�q�o��s�����E�K4 �8ڙ��֏�˪���u�u"��hb{�Kl�Xc�U�\c�wRǟ; z�14��Q�V�x�=��sυ�Kl���G��Y+c�$��݈����=0�<��=z;�4�E��K�7FF����C@"]�V�ݿ�����Oai��F�G"���(��!�G�48�F �t@��$ �Ca�_�"�\_��2����v&v�&��^��2�TaO��?z�1t�J7#�f��ʠ��|�F?���$��.�#�6l��S��`��U?zt[�����:����1neh���$�N�W�Y��н���.�#�� Z�1`��=ڟ�Z����8[J`z�A��A]�|t�}�0G����j{vU=MI�sI1��Јn{� "-͟�v� >�p��������[�c�� #`�+N �Sj�ʕ�Y�~�(_B~�P�-��н���[k�_RV��ܿ}.�?�=t]�*�7`1�3�]��k_��/O�v&v�f���Ρ�n�I��dz��C#.����T�X|5��V?�� }4B��W�%��(�0-�D���? ��#n �q���8�km*�&k����hgb��� W`d*<H#���_���'������!�Ki�c�M����� �а�����V��<�4��}K�,�op[�gm����������ce�?���a�nĎ� ����-�T�x�O�ߞ������c���v���π�aGli�ϥ�/E��O � �"?}����ҟ;�2K6ט?�,hgbh�>,-�9o 秏��HlM������2�g6|7����$��f��z��y�������[�����,(:�D�fJ�'�ҏx4CFF ��K��4uY_?j��,�y"tR�Y�Q���"������ÜQ}=��*���z� Oh���f�H����=a��D.����D�8���1Ҵ?��Ċ�B��xZ��Yh�D#�\�qt�wS4�&�? �ٞ>ϻ�/�z�G��thb{hE�e�PZW͎v���C���]�{�#�c��8a�Ej��$�-��Ь��}��_Թ�8ړ����2J؆4�G��Di��4�@�� �K7��iiv�l��k1U�gD��g��l#5t�~��'Q��҄y���#������tbm�U�U��6���>ڟ��ݿR9����f�܀g�t���Bl������FVFI�_l��W?��Hl���cn������ B�;BK��6wg�T��P�w�B�G��g:U�����?���El =��G�2b6����x�?�=�T���le4ȯ��������]�Q���%�\��z � ���@h�rjA< �{� E���_��{�`�y]^�~���0�h���V��A�6��R�H�xE�0�-����ʠ˚�����}�y���.�j.�n�Q�� �8ڟ�����l���EY@σ�Bl����q��c�Z��9�-a6��b��wl�ѽ���O��_w#v�4��Ƕ=Ԥ/�������Џ�X$Rܭ\�{/(,�H�4ҏ���C@J¬n��22�U=����6p�?�=�} �z��V�8 �I3�A[R���яà��]������s����WoxuS����@�-��Ѕ~L 묌L�`�]�Z?N��$����#(dny��L�d����.��1W��Z���%z���0G�֏@���}�R��2:���A��+�_D�O�.�s��Ç�%҅~���P,�ٛ+|�"�u�s[�:ڟ��bDM�e�z(gٗ �|���F��#W��1л�-�k�������B ����0�w�B����2��#�9ڍ������T4���跏c�7�A@Jr5��Ț�ĩ̹��q � �Ol}�_@���x��2�)S�z��|8ڟ������I�k2+|M��F��p&�'�t��Guj؆o�x�Fb3�Z?(����s �̗��{��t�݂�܉Nה��[F�d�������ꚜ�L�db�ӡ�n�.е~0_>����Ҽ��Ȗ���������d'Jv��}?���>Ė�!�����-H�:� K IEND�B`�PK na!]g�Y}4 4 # assets/jscolor/Demos of JSColor.URLnu &1i� [InternetShortcut] URL=http://jscolor.com/try.php PK na!]�#o, , assets/jscolor/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK na!]��mR1 1 assets/jscolor/hv.pngnu &1i� �PNG IHDR � e �5� �IDATx���� ��M�ݪ��f� ��n�b@_ ��$]].�w�� �������IJ�@� ����_�6W�Χ@��8��̦��G����1{��̎�;O���ݻ��:�qݫ���ϧ�v�ඟ1~|���%a���G�K6.3����OLތ��ڹ��J�YF.�Q�֮�@>:���Q0�~��Ɔ���~��r��0hob z�~����H�y��μ�>zk�U{C�(���a����ȅ���^���[hvu� �c�G{"��?23��:R �z3��� v��F�A����Z��~��3n=��R�EZɱ��I"uX��y�~�@�0�DMb�w5�F�w�71=�?�ʦ��S�,����:tq�03f���b�<�n�21�Rfl��CW7hW3a�~}��ّ��Q6oRycV�� &�G��σv!%��5h�@A���3��E��8z�x�݄v��O�N!Pj�GqM��<)�8:����&v*��:�Ŭ�����Phob zȏU�T>��2����jS �@�a�D�9<Q!Ȳ ��<����� �0`� �d� ��A�a�@4�?�Jm������� 40s/���*&`Q� -eT�W�6C�4�f��-M�_4��B$��AU`�_�osf�X��N�PW����lYڢ�|6�<:�x3���/��Rn�MU�SzuQ9ڕXY����U:��A� �&�jƣ�c���h����>��&��e�,�1�C4����$ON��t��tB��_��lAEQ4Gi�lt��1���ڀ���Hv�� hob�>g�&�_��Hen/kSz��HK�� ��,����_�f�r�Ǜ]3$�\�υ�I���Z ��_�ڀ����tق��R~l����B[�?���AWh�h�%\�Y��� ۓ'��/��+����2v% ������_�TQ3�ݘ�<ڛX�Y�VןvV^g�_���(8՟>:��ޮ_���ΪU)��~���]����ԯ�3�B8��=�y#����h↵���X+��9F~�^�'��Ia�s���!���]h"���č[��9��k���Y��@�0����L��1Q0��?ڛ����M�<*p��TB����*�f���$l�z3W��4[�����I]OZ�'o%�c���o7��m�h�v���0��)�a�@�e�B�j���]UQ���/|4���߮Co�Zv]�Ruv]��)�;�5,t�[Ю�'��_�;��'��� Ў�'_�_��O�/.fm.��%�9���� b�>�M�zy��B�ꩼ� �D�A�/k-;o��Q�ubmm,�y�C�A�/�q����<hWb �(�v4Q��U^7�町ȗX�����*�K�J3]8M����5�j����ok�>��N��b�oZI"��(F}�ef(j�*C��P��^�'�f���\?(�����eZ�_W&{��c6�� <t����ܣ�F���{l^ߴ�ǩ�ˣ'NNT��!M�W����y�~�J}nzi�\w�k��J�J���& �{\w�ql'գ�f�@�A��À��X�|{ׄ���'B�k�{dk����A�݄2���=C�A�C��!7cۺ��}e)��)\t�H]�m2s�l�˖��D���v1O�tyU���zjm�~�S)��f�b}�EK[���<����Φ���Dho�@hb}MIu�;�$����<�gA�k֧[�&�D��b�yմ�k��^j��Nā�K�{Lago�z�����:��������:�E�<�=�@h��,�~ݿʳ��[���~�@��?{��x�����=\�� ��I��8�Җ�:� �iK���=6��?��eiv}*w��G�Z�U�H.Ͼ>�ӡM�iv�B�h����_6�l���P�ebp���\V�����uw rH��bU,̹�>�s�]��%����0��m��uB/��/ς ��O���{��-��(Zg����q��ā��=:���y��{��.�Gi�����a! �{� �'Q�Bz�5Iq'�s�7� Kx��V��������۠��G> ���Q}ͯ�� z?��A{B��G�ͽШ΅��G�*�,>�{�J�A�K�kw0�O��%P�VtMK�z����@iy7���d�:��4�@���KjN:SwU�m�l�R_�T���#t�������1Ewb �ҳ�tGm���i��� �Ů]��0hWb ���#G��0�<��j��0�b ���T0��S�����G��]B��5��c�w��n��!JV���� ~�#c������<�isa/�V�q�>q;PR�?��g�/�����`���ͣX��à���0h���� �!�� |���Q���ٯ�Rz�1��_�Tmu�m�$��s�1��1�JҾM�v��0�0b��_*���&����s�Ц;�#�Bc>>�-M�'��F���7i�)d�LW�� m%Nq�P?6�{MGr����������3����0�{�ib���=L�A��w~��Lg@�GA��'w�_>�M���h �N�v"v��C�uZw���|�Ho^���c���g�/i�9kU���"9ڕؑ�I�����·���h�����JU��@'�+Q����Q��wt���j��A����Ͼ�`�x+�q�t IEND�B`�PK na!]2w�JS S assets/jscolor/cross.gifnu &1i� GIF89a � ���������!� , $�ǝ��RQg/�,���@��)�)�qڤp<��U ;PK na!]�#o, , assets/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK na!]�}�� � assets/front-edition.jsnu &1i� /** * @copyright Copyright (C) 2018 Cedric KEIFLIN alias ced1870 * https://www.joomlack.fr * Module Slideshow CK * @license GNU/GPL * */ jQuery(document).ready(function() { ckFrontEdition(); }); var $ck = $ck || jQuery.noConflict(); // tool to improve the edition when viewing in front end function ckFrontEdition() { // $ck('#options .accordion-heading .accordion-toggle > img, .ckslideaccordeonbutton img').each(function() { // var newsrc = $ck(this).attr('src').replace('../', \Joomla\CMS\Uri\Uri); // $ck(this).attr('src', newsrc); // }); $ck('.form-horizontal .control-label').css('margin-right', '10px'); $ck('.form-horizontal .controls').css('margin-left', '0'); }PK na!]6a|��0 �0 assets/ckframework.jsnu &1i� /** JS CK Framework **/ /* * March 2019 * Cédric KEIFLIN * https://www.joomlack.fr - https://www.template-creator.com * @version 1.0.0 */ $ck = window.$ck || jQuery.noConflict(); CKApi = window.CKApi || {}; /** * * Text */ (function () { 'use strict'; //BC compatibility with CKApi.Text var strings = strings || {} if (typeof CKApi.Text == 'undefined') { // CKApi.Text = {}; CKApi.Text = { strings: {}, /** * Translates a string into the current language. * * @param {String} key The string to translate * @param {String} def Default string * * @returns {String} */ '_': function( key, def ) { // Check for new strings in the optionsStorage, and load them var newStrings = CKApi.Text.getOptions('ckapi.text'); if ( newStrings ) { this.load(newStrings); // Clean up the optionsStorage from useless data CKApi.Text.loadOptions({'ckapi.text': null}); } def = def === undefined ? '' : def; key = key.toUpperCase(); return this.strings[ key ] !== undefined ? this.strings[ key ] : def; }, /** * Load new strings in to CKApi.Text.JText * * @param {Object} object Object with new strings * @returns {CKApi.Text.JText} */ load: function( object ) { for ( var key in object ) { if (!object.hasOwnProperty(key)) continue; this.strings[ key.toUpperCase() ] = object[ key ]; } return this; } }; // CKApi.Text.JText = CKApi.Text.Text; CKApi.Text.optionsStorage = CKApi.Text.optionsStorage || null; CKApi.Text.getOptions = function( key, def ) { // Load options if they not exists if (!CKApi.Text.optionsStorage) { CKApi.Text.loadOptions(); } return CKApi.Text.optionsStorage[key] !== undefined ? CKApi.Text.optionsStorage[key] : def; }; CKApi.Text.loadOptions = function( options ) { // Load form the script container if (!options) { var elements = document.querySelectorAll('.joomla-script-options.new'), str, element, option, counter = 0; for (var i = 0, l = elements.length; i < l; i++) { element = elements[i]; str = element.text || element.textContent; option = JSON.parse(str); if (option) { CKApi.Text.loadOptions(option); counter++; } element.className = element.className.replace(' new', ' loaded'); } if (counter) { return; } } // Initial loading if (!CKApi.Text.optionsStorage) { CKApi.Text.optionsStorage = options || {}; } // Merge with existing else if ( options ) { for (var p in options) { if (options.hasOwnProperty(p)) { CKApi.Text.optionsStorage[p] = options[p]; } } } }; } else { CKApi.Text.load(strings); } })(); /* =========================================================== * bootstrap-tooltip.js v2.3.2 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * ===========================================================*/ /** * * Tooltip */ !function ($) { "use strict"; // jshint ;_; /* TOOLTIP PUBLIC CLASS DEFINITION * =============================== */ var Tooltipck = function (element, options) { this.init('cktooltip', element, options) } Tooltipck.prototype = { constructor: Tooltipck , init: function (type, element, options) { var eventIn , eventOut , triggers , trigger , i this.type = type this.$element = $(element) this.options = this.getOptions(options) this.enabled = true triggers = this.options.trigger.split(' ') for (i = triggers.length; i--;) { trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { eventIn = trigger == 'hover' ? 'mouseenter' : 'focus' eventOut = trigger == 'hover' ? 'mouseleave' : 'blur' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } , getOptions: function (options) { options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay , hide: options.delay } } return options } , enter: function (e) { var defaults = $.fn[this.type].defaults , options = {} , self this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }, this) self = $(e.currentTarget)[this.type](options).data(this.type) if (!self.options.delay || !self.options.delay.show) return self.show() clearTimeout(this.timeout) self.hoverState = 'in' this.timeout = setTimeout(function() { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } , leave: function (e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type) if (this.timeout) clearTimeout(this.timeout) if (!self.options.delay || !self.options.delay.hide) return self.hide() self.hoverState = 'out' this.timeout = setTimeout(function() { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } , show: function () { var $tip , pos , actualWidth , actualHeight , placement , tp , e = $.Event('show') if (this.hasContent() && this.enabled) { this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip = this.tip() this.setContent() if (this.options.animation) { $tip.addClass('fade') } placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement $tip .detach() .css({ top: 0, left: 0, display: 'block' }) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) pos = this.getPosition() actualWidth = $tip[0].offsetWidth actualHeight = $tip[0].offsetHeight switch (placement) { case 'bottom': tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} break case 'top': tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} break case 'left': tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} break case 'right': tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} break } this.applyPlacement(tp, placement) this.$element.trigger('shown') } } , applyPlacement: function(offset, placement){ var $tip = this.tip() , width = $tip[0].offsetWidth , height = $tip[0].offsetHeight , actualWidth , actualHeight , delta , replace $tip .offset(offset) .addClass(placement) .addClass('in') actualWidth = $tip[0].offsetWidth actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight replace = true } if (placement == 'bottom' || placement == 'top') { delta = 0 if (offset.left < 0){ delta = offset.left * -2 offset.left = 0 $tip.offset(offset) actualWidth = $tip[0].offsetWidth actualHeight = $tip[0].offsetHeight } this.replaceArrow(delta - width + actualWidth, actualWidth, 'left') } else { this.replaceArrow(actualHeight - height, actualHeight, 'top') } if (replace) $tip.offset(offset) } , replaceArrow: function(delta, dimension, position){ this .arrow() .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '') } , setContent: function () { var $tip = this.tip() , title = this.getTitle() $tip.css('z-index', this.options.zindex); $tip.find('.cktooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } , hide: function () { // JOOMLA JUI >>> /* ORIGINAL: var that = this , $tip = this.tip() , e = $.Event('hide') */ var that = this , $tip = this.tip() , e = $.Event('hideme') // < CKApi.Text JUI this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') function removeWithAnimation() { var timeout = setTimeout(function () { $tip.off($.support.transition.end).detach() }, 500) $tip.one($.support.transition.end, function () { clearTimeout(timeout) $tip.detach() }) } $.support.transition && this.$tip.hasClass('fade') ? removeWithAnimation() : $tip.detach() this.$element.trigger('hidden') return this } , fixTitle: function () { var $e = this.$element if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } , hasContent: function () { return this.getTitle() } , getPosition: function () { var el = this.$element[0] return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : { width: el.offsetWidth , height: el.offsetHeight }, this.$element.offset()) } , getTitle: function () { var title , $e = this.$element , o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } , tip: function () { return this.$tip = this.$tip || $(this.options.template) } , arrow: function(){ return this.$arrow = this.$arrow || this.tip().find(".cktooltip-arrow") } , validate: function () { if (!this.$element[0].parentNode) { this.hide() this.$element = null this.options = null } } , enable: function () { this.enabled = true } , disable: function () { this.enabled = false } , toggleEnabled: function () { this.enabled = !this.enabled } , toggle: function (e) { var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this self.tip().hasClass('in') ? self.hide() : self.show() } , destroy: function () { this.hide().$element.off('.' + this.type).removeData(this.type) } } /* TOOLTIP PLUGIN DEFINITION * ========================= */ var old = $.fn.cktooltip $.fn.cktooltip = function ( option ) { return this.each(function () { var $this = $(this) , data = $this.data('cktooltip') , options = typeof option == 'object' && option if (!data) $this.data('cktooltip', (data = new Tooltipck(this, options))) if (typeof option == 'string') data[option]() }) } $.fn.cktooltip.Constructor = Tooltipck $.fn.cktooltip.defaults = { animation: true , placement: 'top' , selector: false , template: '<div class="cktooltip"><div class="cktooltip-arrow"></div><div class="cktooltip-inner"></div></div>' , trigger: 'hover focus' , title: '' , delay: 100 // JOOMLA JUI >>> /* ORIGINAL: , html: false */ , html: true // < CKApi.Text JUI , container: "body" , zindex: "10030" } /* CK API CALL * =================== */ CKApi.Tooltip = function(el, options) { $(el).cktooltip(options); }; /* TOOLTIP NO CONFLICT * =================== */ $.fn.cktooltip.noConflict = function () { $.fn.cktooltip = old return this } }(window.jQuery);PK na!]�݀x�I �I assets/admin.jsnu &1i� /** * @copyright Copyright (C) 2019. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr */ var $ck = jQuery.noConflict(); // manage the tabs function ckInitTabs(wrap, allowClose) { if (! allowClose) allowClose = false; if (! wrap) wrap = $ck('#styleswizard_options'); $ck('div.ckinterfacetab:not(.current)', wrap).hide(); $ck('.ckinterfacetablink', wrap).each(function(i, tab) { $ck(tab).click(function() { if ($ck(this).hasClass('current')) { var taballowClose = $ck(this).attr('data-allowclose') ? $ck(this).attr('data-allowclose') : allowClose; if (taballowClose == true) { $ck('div.ckinterfacetab[data-group="'+$ck(tab).attr('data-group')+'"]', wrap).hide(); $ck('.ckinterfacetablink[data-group="'+$ck(tab).attr('data-group')+'"]', wrap).removeClass('open current active'); } } else { $ck('div.ckinterfacetab[data-group="'+$ck(tab).attr('data-group')+'"]', wrap).hide(); $ck('.ckinterfacetablink[data-group="'+$ck(tab).attr('data-group')+'"]', wrap).removeClass('open current active'); if ($ck('#' + $ck(tab).attr('data-tab'), wrap).length) $ck('#' + $ck(tab).attr('data-tab'), wrap).show(); $ck(this).addClass('open current active'); } }); }); } function ckCallImageManagerPopup(id, type) { if (SLIDESHOWCK.ISJ4 == '1') { $boxfooterhtml = '<a class="ckboxmodal-button" href="javascript:void(0);" onclick="ckGetJ4Image(\'' + id + '\');CKBox.close(this);">' + Joomla.Text._('CK_SAVE_CLOSE') + '</a>'; CKBox.open({id: 'ckmediamanager', handler: 'iframe', url: SLIDESHOWCK.URIROOT + '/administrator/index.php?option=com_media&view=media&e_name='+id+'&tmpl=component' , footerHtml: $boxfooterhtml}); } else { if (! type) type = 'image'; CKBox.open({id: 'ckmediamanager', handler: 'iframe', url: SLIDESHOWCK.ADMIN_URL + '&view=browse&type=' + type + '&func=ckSelectFile&field='+id+'&tmpl=component'}); } } // automatically catch the event for the J4 media manager window.document.addEventListener('onMediaFileSelected', e => { SLIDESHOWCK.selectedImage = e.detail; }); function ckGetJ4Image(field_id) { var data = SLIDESHOWCK.selectedImage; if (!data || typeof data === 'object' && (!data.path || data.path === '')) { Joomla.selectedFile = {}; // resolve({ // resp: { // success: false // } // }); return; } const execTransform = (resp) => { if (resp.success === true) { if (resp.data[0].url) { if (/local-/.test(resp.data[0].adapter)) { // const { // rootFull // } = Joomla.getOptions('system.paths'); // eslint-disable-next-line prefer-destructuring // Joomla.selectedFile.url = resp.data[0].url.split(rootFull)[1]; // } var imageurl = resp.data[0].url.split(SLIDESHOWCK.URIROOTABS)[1]; ckSelectFile(imageurl, field_id); } else if (resp.data[0].thumb_path) { Joomla.selectedFile.thumb = resp.data[0].thumb_path; } } else { Joomla.selectedFile.url = false; } } } $ck.ajax({ url: SLIDESHOWCK.URIROOT + '/administrator/index.php?option=com_media&format=json&task=api.files&url=true&path=' + data.path + '&format=json&' + SLIDESHOWCK.TOKEN, }) .done(function( response ) { const resp = JSON.parse(response); execTransform(resp); SLIDESHOWCK.selectedImage = {}; // empty the image selection }) .fail(function() { alert('FAILED'); }); } function ckCallVideoManagerPopup(id) { CKBox.open({handler: 'iframe', url: 'index.php?option=com_slideshowck&view=browse&type=video&func=ckSelectVideo&field='+id+'&tmpl=component'}); } function ckSelectFile(file, field) { if (! field) { alert('ERROR : no field given in the function ckSelectFile'); return; } $ck('#'+field).val(file).trigger('change'); } function ckSelectFolder(path, field) { if (! field) { alert('ERROR : no field given in the function ckSelectFolder'); return; } $ck('#'+field).val(path).trigger('change'); } function ckSelectVideo(file, field) { if (! field) { alert('ERROR : no field given in the function ckSelectFile'); return; } $ck('#'+field).val(file).trigger('change'); } function ckCallMenusSelectionPopup(id) { CKBox.open({handler: 'iframe', url: 'index.php?option=com_slideshowck&view=menus&fieldid='+id+'&tmpl=component', id:'ckmenusmodal', size: {x: 800, y: 450}}); } function ckCallArticleEditionPopup(id) { // CKBox.open({handler: 'iframe', url: 'index.php?option=com_content&layout=modal&tmpl=component&task=article.edit&id='+id}); ckLoadIframeEdition('index.php?option=com_content&layout=modal&tmpl=component&task=article.edit&id='+id, 'slideshowckarticleedition', 'article.apply', 'article.cancel', false) } function ckCallPagebuilderckEditionPopup(id) { // CKBox.open({handler: 'iframe', url: 'index.php?option=com_content&layout=modal&tmpl=component&task=article.edit&id='+id}); ckLoadIframeEdition('index.php?option=com_pagebuilderck&layout=modal&tmpl=component&view=page&id='+id, 'slideshowckpageedition', 'page.apply', 'page.cancel', false, '0') } function ckLoadIframeEdition(url, htmlId, taskApply, taskCancel, close, padding) { if (! padding) padding = '10px'; CKBox.open({id: htmlId, url: url, style: {padding: padding}, onCKBoxLoaded : function(){ckLoadedIframeEdition(htmlId, taskApply, taskCancel);}, footerHtml: '<a class="ckboxmodal-button" href="javascript:void(0)" onclick="ckSaveIframe(\''+htmlId+'\', ' + close + ')">'+Joomla.JText._('SLIDESHOWCK_SAVE')+'</a>' }); } function ckLoadedIframeEdition(boxid, taskApply, taskCancel) { var frame = $ck('#'+boxid).find('iframe'); frame.load(function() { var framehtml = frame.contents(); framehtml.find('button[onclick^="Joomla.submitbutton"]').remove(); framehtml.find('form[action]').prepend('<button style="display:none;" id="applyBtn" onclick="Joomla.submitbutton(\''+taskApply+'\');" ></button>') framehtml.find('form[action]').prepend('<button style="display:none;" id="cancelBtn" onclick="Joomla.submitbutton(\''+taskCancel+'\');" ></button>') }); } function ckSaveIframe(boxid, close) { var frame = $ck('#'+boxid).find('iframe'); frame.contents().find('#applyBtn').click(); if (close) CKBox.close($ck('#'+boxid).find('.ckboxmodal-button'), true); } /*----------------------------- * Edition interface ------------------------------*/ /** * Encode the fields id and value in json */ function ckMakeJsonFields() { var fields = new Object(); $ck('#styleswizard_options input, #styleswizard_options select, #styleswizard_options textarea').each(function(i, el) { el = $ck(el); if (el.attr('type') == 'radio') { if (el.prop('checked')) { fields[el.attr('name')] = el.val(); } else { // fields[el.attr('id')] = ''; } } else if (el.attr('type') == 'checkbox') { if (el.prop('checked')) { fields[el.attr('name')] = '1'; } else { fields[el.attr('name')] = '0'; } } else { fields[el.attr('name')] = el.val() .replace(/"/g, '|quot|') .replace(/{/g, '|ob|') .replace(/}/g, '|cb|') .replace(/\t/g, '|tt|') .replace(/\n/g, '|rr|'); } }); fields = JSON.stringify(fields); return fields; // return fields.replace(/"/g, "|qq|"); } /** * Render the styles from the module helper */ function ckPreviewStylesparams() { var button = '#ckpopupstyleswizard_makepreview'; ckAddWaitIcon(button); var fields = ckMakeJsonFields(); customstyles = new Object(); $ck('.menustylescustom').each(function() { $this = $ck(this); customstyles[$this.attr('data-prefix')] = $this.attr('data-rule'); }); customstyles = JSON.stringify(customstyles); var myurl = SLIDESHOWCK.BASE_URL + "&task=style.ajaxRenderCss&" + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, data: { customstyles: customstyles, customcss: $ck('#customcss').val(), fields: fields } }).done(function(code) { $ck('#layoutcss').val(code); code = ckMakeCssReplacement(code); var csscode = '<style>' + code.replace(/\|ID\|/g, '#slideshowckdemo1') + '</style>'; $ck('#previewarea > .ckstyle').empty().append(csscode); ckRemoveWaitIcon(button); }).fail(function() { alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } /** * Render the styles from the module helper */ function ckSaveStylesparams(button) { if (! $ck('#name').val()) { $ck('#name').addClass('invalid').focus(); alert('Please give a name'); return; } $ck('#name').removeClass('invalid'); if (!button) button = '#ckpopupstyleswizard_save'; ckAddSpinnerIcon(button); var fields = ckMakeJsonFields(); customstyles = new Object(); $ck('.menustylescustom').each(function() { $this = $ck(this); customstyles[$this.attr('data-prefix')] = $this.attr('data-rule'); }); customstyles = JSON.stringify(customstyles); var myurl = SLIDESHOWCK.BASE_URL + "&task=style.save&" + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, data: { id: $ck('#id').val(), name: $ck('#name').val(), layoutcss: $ck('#layoutcss').val(), customstyles: customstyles, customcss: $ck('#customcss').val(), fields: fields } }).done(function(code) { try { var response = JSON.parse(code); if (response.result == '1') { $ck('#id').val(response.id); } else { alert(response.message); } if ($ck('#returnFunc').val() == 'ckSelectStyle') { window.parent.ckSelectStyle($ck('#id').val(), $ck('#name').val(), false) } } catch (e) { alert(e); } ckRemoveSpinnerIcon(button); }).fail(function() { alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } /** * Set the stored value for each field */ function ckApplyStylesparams() { if ($ck('#params').val()) { var fields = JSON.parse($ck('#params').val().replace(/\|qq\|/g, "\"")); for (var field in fields) { ckSetValueToField(field, fields[field]) } } // launch the preview to update the interface ckPreviewStylesparams(); } /** * Set the value in the specified field */ function ckSetValueToField(id, value) { var field = $ck('#' + id); if (!field.length) { if ($ck('#styleswizard_options input[name=' + id + ']').length) { $ck('#styleswizard_options input[name=' + id + ']').each(function(i, radio) { radio = $ck(radio); if (radio.val() == value) { radio.attr('checked', 'checked'); } else { radio.removeAttr('checked'); } }); } } else if (field.attr('type') == 'checkbox') { if (value == '1') field.attr('checked', 'checked'); } else { if (field.hasClass('color')) field.css('background',value); value = value.replace(/\|rr\|/g, "\n"); value = value.replace(/\|tt\|/g, "\t"); value = value.replace(/\|ob\|/g, "{"); value = value.replace(/\|cb\|/g, "}"); value = value.replace(/\|quot\|/g, '"'); $ck('#' + id).val(value); } } function ckMakeCssReplacement(code) { for (var tag in SLIDESHOWCK.CKCSSREPLACEMENT) { var i = 0; while (code.indexOf(tag) != -1 && i < 100) { code = code.replace(tag, SLIDESHOWCK.CKCSSREPLACEMENT[tag]); i++; } } return code; } /** * Clear all fields */ function ckClearFields() { var confirm_clear = confirm('This will delete all your settings and reset the styles. Do you want to continue ?'); if (confirm_clear == false) return; $ck('#styleswizard_options input').each(function(i, field) { field = $ck(field); if (field.attr('type') == 'radio') { field.removeAttr('checked'); } else { field.val(''); if (field.hasClass('color')) field.css('background',''); } }); // launch the preview ckPreviewStylesparams(); } /** * Export all settings in a json encoded file and send it to the user for download */ function ckExportParams() { var jsonfields = ckMakeJsonFields(); jsonfields = jsonfields.replace(/"/g, "|qq|"); var styleid = $ck('#id').val(); var myurl = SLIDESHOWCK.BASE_URL + '&task=style.exportParams&' + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, async: false, data: { jsonfields: jsonfields, styleid: styleid } }).done(function(response) { if (response == '1') { if ($ck('#ckexportfile').length) $ck('#ckexportfile').remove(); $ck('#ckexportpagedownload').append('<div id="ckexportfile"><a class="btn btn-primary" target="_blank" href="'+SLIDESHOWCK.URIROOT+'/administrator/components/com_slideshowck/export/exportParamsSlideshowckStyle'+styleid+'.mmck" download="exportParamsSlideshowckStyle'+styleid+'.mmck">'+Joomla.JText._('CK_DOWNLOAD', 'Download')+'</a></div>'); CKBox.open({handler:'inline', content: 'ckexportpopup', fullscreen: false, size: {x: '400px', y: '100px'}}); } else { alert('test') } }).fail(function() { // alert(Joomla.JText._('CK_FAILED', 'Failed')); }); return; } /** * Ask the user to select the file to import */ function ckImportParams() { CKBox.open({id:'ckimportbox', handler:'inline', content: 'ckimportpopup', fullscreen: false, size: {x: '700px', y: '200px'}}); } /** * Upload the json encoded settings and apply them in the interface */ function ckUploadParamsFile(formData) { var myurl = SLIDESHOWCK.BASE_URL + '&task=style.uploadParamsFile&' + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, async: false, data: formData, dataType: 'json', processData: false, // indique a jQuery de ne pas traiter les donn�es contentType: false // indique a jQuery de ne pas configurer le contentType }).done(function(response) { if(typeof response.error === 'undefined') { // Success ckImportParamsFile(response.data); } else { console.log('ERROR: ' + response.error); } }).fail(function() { // alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } /** * Apply the json settings in the interface * TODO : can be replaced by the existing function ckApplyStylesparams */ function ckImportParamsFile(data) { var fields = jQuery.parseJSON(data.replace(/\|qq\|/g, "\"")); for (var field in fields) { ckSetValueToField(field, fields[field]) } // launch the preview ckPreviewStylesparams(); CKBox.close('#importpage'); } /** * Alerts the user about the conflict between gradient and image background */ function ckCheckGradientImageConflict(from, field) { if ($ck(from).val()) { if ($ck('#'+field).val()) { alert('Warning : you can not have a gradient and a background image at the same time. You must choose which one you want to use'); } } } function ckSetFloatingOnPreview() { var el = $ck('#previewarea'); el.data('top', el.offset().top); el.data('istopfixed', false); $ck(window).bind('scroll load', function() { ckFloatElement(el); }); ckFloatElement(el); } function ckFloatElement(el) { var $window = $ck(window); var winY = $window.scrollTop(); if (winY > (el.data('top')-70) && !el.data('istopfixed')) { el.after('<div id="' + el.attr('id') + 'tmp"></div>'); $ck('#'+el.attr('id')+'tmp').css('visibility', 'hidden').height(el.height()); el.css({position: 'fixed', zIndex: '1000', marginTop: '0px', top: '70px'}) .data('istopfixed', true) .addClass('istopfixed'); } else if ((el.data('top')-70) >= winY && el.data('istopfixed')) { var modtmp = $ck('#'+el.attr('id')+'tmp'); el.css({position: '', marginTop: ''}).data('istopfixed', false).removeClass('istopfixed'); modtmp.remove(); } } /** * Play the animation in the Preview area */ function ckPlayAnimationPreview(prefix) { $ck('#stylescontainer .cameraSlide,#stylescontainer .cameraContent').removeClass('cameracurrent'); var t = setTimeout( function() { $ck('#stylescontainer .cameraSlide,#stylescontainer .cameraContent').addClass('cameracurrent'); }, ( parseFloat($ck('#' + prefix + 'animdur').val()) + parseFloat($ck('#' + prefix + 'animdelay').val()) ) * 1000); } /** * Add the spinner icon */ function ckAddWaitIcon(button) { $ck(button).addClass('ckwait'); } /** * Remove the spinner icon */ function ckRemoveWaitIcon(button) { $ck(button).removeClass('ckwait'); } function ckAddSpinnerIcon(btn) { btn = $ck(btn); if (! btn.attr('data-class')) var icon = btn.find('.fa').attr('class'); btn.attr('data-class', icon).find('.fa').attr('class', 'fa fa-spinner fa-pulse'); } function ckRemoveSpinnerIcon(btn) { btn = $ck(btn); btn.find('.fa').attr('class', btn.attr('data-class')); } /** * Loads the file from the preset and apply it to all fields */ function ckLoadPreset(name) { var confirm_clear = ckClearFields(); if (confirm_clear == false) return; var button = '#ckpopupstyleswizard_makepreview .ckwaiticon'; ckAddWaitIcon(button); // ajax call to get the fields var myurl = SLIDESHOWCK.BASE_URL + '&task=style.loadPresetFields&' + SLIDESHOWCK.TOKEN; $ck.ajax({ type: "POST", url: myurl, // dataType: 'json', data: { preset: name } }).done(function(r) { r = JSON.parse(r); if (r.result == 1) { var fields = r.fields; fields = fields.replace(/\|qq\|/g, '"'); // fields = fields.replace(/\|ob\|/g, '{'); // fields = fields.replace(/\|cb\|/g, '}'); ckSetFieldsValue(fields); ckPreviewStylesparams(); } else { alert('Message : ' + r.message); ckRemoveWaitIcon(button); } }).fail(function() { //alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } function ckSetFieldsValue(fields) { fields = JSON.parse(fields); for (field in fields) { ckSetValueToField(field, fields[field]); } } /** Google font management **/ function ckCleanGfontName(field) { var myurl = 'index.php?option=com_slideshowck&task=cleanGfontName'; $ck.ajax({ type: "POST", url: myurl, async: false, data: { gfont: $ck(field).val().replace("<", "").replace(">", "") } }).done(function(response) { response = response.trim(); if ( response.substring(0,5).toLowerCase() == 'error' ) { // show_ckmodal(response); error.log(response); } else { $ck(field).val(response); } ckCheckFontExists(field); }).fail(function() { alert(Joomla.JText._('CK_FAILED', 'Failed')); }); } function ckCheckFontExists(field) { if (!field.value) return; var myurl = '//fonts.googleapis.com/css?family=' + field.value; $ck.ajax({ url: myurl, data: { }, statusCode: { 200: function() { $ck(field).next('.isgfont').val('1'); ckLoadGfontStylesheets(); } } }).done(function(response) { $ck(field).next('.isgfont').val('0'); }).fail(function() { alert(Joomla.JText._('CK_IS_NOT_GOOGLE_FONT', 'This is not a google font, check that it is loaded in your website')); $ck(field).next('.isgfont').val('0'); }); } function ckLoadGfontStylesheets() { var gfonturls = ''; $ck('.isgfont').each(function() { console.log($ck(this).val()); if ($ck(this).val() == '1') { var gfonturl = ckGetFontStylesheet($ck(this).prev('.gfonturl').val()); console.log(gfonturl); gfonturls += gfonturl; } }); $ck('#ckpopupstyleswizardgfont').html(gfonturls); } function ckGetFontStylesheet(family) { if (! family) return ''; return ("<link href='https://fonts.googleapis.com/css?family="+family+"' rel='stylesheet' type='text/css'>"); }PK na!]�EoL L . assets/elements/ckslidesmanager/rightarrow.gifnu &1i� GIF89a � ���������!� , @�o�ˋ�މR4U�e�JWmC'��y�cȱ�� ;PK na!]�v} } '