diff --git a/branches/NoDemoClient/cms/css/basic-style.css b/branches/NoDemoClient/cms/css/basic-style.css deleted file mode 100644 index a2c9e8b..0000000 --- a/branches/NoDemoClient/cms/css/basic-style.css +++ /dev/null @@ -1,523 +0,0 @@ -/* -Simple Responsive Template v 1.2 - - -primary styles - Author: www.prowebdesign.ro - Add your own styles to customize the project. - - - -BASE (MOBILE) SIZE - These are the mobile styles. It's what people see on their phones. - Remember, keep it light: Speed is Important. -*/ - -/* typography */ -body{ - color:#666; - font-family:'Ubuntu', Arial, Helvetica, sans-serif; - font-size:1em; - line-height:1.4em; - font-weight:normal; -} -h1, h2, h3, h4, h5, h6{ - font-weight:normal; - font-family:'Droid Serif', Arial, Helvetica, sans-serif; - line-height:1.5em; - margin:.45em 0; - padding:0; -} - - -/* links */ -a, -a:visited, -a:active, -a:hover{color:#0099ff;} -a:hover{ text-decoration:none;} - - -/* Box sizing. Awesome thing. Read about it here: http://www.w3schools.com/cssref/css3_pr_box-sizing.asp */ -*{ box-sizing:border-box; - -moz-box-sizing:border-box;} - - -/* structure */ -.wrapper{ - width: 92%; - margin: 0 auto; -} -header{ - padding:15px 0; -} -#banner{ - text-align:center; -} - -#hero, -#page-header{ - background:#f3f3f3; - border-top:1px solid #e2e2e2; - border-bottom:1px solid #e2e2e2; - padding:20px 0; -} -#hero h1{ - line-height:1.2em; - margin-top:0px; - margin-bottom:10px;} - -.flexslider{ - display:none; -} - -#content { - margin:40px 0; -} - -aside { - margin:40px 0; -} - -p{ margin:0 0 1.5em;} - - -/* RESPONSIVE IMAGES */ -img{ max-width:100%; height:auto;} - - -/*MAIN MENU*/ -.menu-toggle{ - display:block; - padding:10px; - margin:20px 0 0; - background:#666; - color:#fff; - cursor:pointer; - text-transform:uppercase; - font-size:20px; -} -.menu-toggle.toggled-on{ - background:#0099ff; -} -.srt-menu{ - display:none; -} -.srt-menu.toggled-on{ - display:block; - position:relative; - z-index:10; -} - -.srt-menu{ - clear:both; - margin-bottom:60px; - -} -.srt-menu li a { - background:#dadada; - display:block; - margin:1px 0; - padding:10px; - text-decoration:none; -} -.srt-menu li a:hover{ - background:#0099ff; - color:#fff; -} -.srt-menu li li a { - background:#e8e8e8; - padding-left:40px; -} -.srt-menu li li li a { - background:#efefef; - padding-left:80px; -} - -/*SECONDARY MENU*/ -#secondary-navigation{ - margin-bottom:60px; -} -#secondary-navigation ul{ - margin:0; - padding:0; -} -#secondary-navigation ul li a{ - background:#E6E6E6; - display:block; - margin:5px 0; - padding:10px; - text-decoration:none; -} -#secondary-navigation ul li a:hover, -#secondary-navigation ul li.active a{ - background:#0099ff; - color:#fff; -} - -/*SPACE GRID ELEMENTS VERTICALLY, SINCE THEY ARE ONE UNDER ANOTHER SO FAR*/ -.grid_1, -.grid_2, -.grid_3, -.grid_4, -.grid_5, -.grid_6, -.grid_7, -.grid_8, -.grid_9, -.grid_10, -.grid_11, -.grid_12 { - margin-bottom:40px; - /*positioning and padding*/ - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} - -/*FOOTER*/ -footer{ - clear:both; - font-size:80%; - padding:20px 0; -} -footer ul{ - margin:0; - padding:0; -} - -/*colors and backgrounds*/ -body{ - background:#fff; -} -h1, h2, h3, h4, h5, h6{ - color:#333; -} - -footer{ - background:#333; - color:#ccc; -} -footer h1, footer h2, footer h3, footer h4{ - color:#CCC; - margin-bottom:10px; -} -footer ul{ - margin:0 0 0 8%; -} - -a.buttonlink{ - background:#0099ff; - border-radius:7px; - color:#fff; - display:block; - float:left; - margin:10px 15px 10px 0; - padding:10px; - text-decoration:none; -} -a.buttonlink:hover{ - background:#8dbc01; -} -.greenelement{ - background:#5ec79e; - color:#fff; -} -.violetelement{ - background:#887dc2; - color:#fff; -} - - - -/* Contain floats*/ -.clearfix:before, -.clearfix:after, -.row:before, -.row:after { - content: " "; - display: table; -} -.clearfix:after, -.container:after, -.row:after{ - clear: both; -} - - -/* -LARGER MOBILE DEVICES -This is for mobile devices with a bit larger screens. -*/ -@media only screen and (min-width: 481px) { -#banner{ - float:left; - text-align:left; - margin-bottom:-20px;/*this depends on the height of the logo*/ -} -.menu-toggle{/*make menu float right, instead of sitting under the logo*/ - margin-top:10px; /*this depends on the height of the logo*/ - float:right; -} - -} - -/* -TABLET & SMALLER LAPTOPS -The average viewing window and preferred media query for those is 768px. -But I think that some more breathing space is good:) -*/ -@media only screen and (min-width: 920px) { - -.wrapper{ - max-width: 1200px; - margin: .75em auto; -} - -#banner{ - float:left; - text-align:left; - margin-bottom:0px; -} -header{ - padding:0; -} -#content { - float:left; - width:65%; -} -#content.wide-content{ - float:none; - width:100%; -} - -.flexslider{ -display:block; -/*demo 1 slider theme*/ -margin: 0 0 60px; -background: #fff; -border: 4px solid #fff; --webkit-border-radius: 4px; --moz-border-radius: 4px; --o-border-radius: 4px; -border-radius: 4px; -box-shadow: 0 1px 4px rgba(0,0,0,.2); --webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); --moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); --o-box-shadow: 0 1px 4px rgba(0,0,0,.2); -} - - -aside { - float:right; - width:30%; -} - -/*** MAIN MENU - ESSENTIAL STYLES ***/ -.menu-toggle{display:none;} -#menu-main-navigation{display:block;} - -.srt-menu, .srt-menu * { - margin: 0; - padding: 0; - list-style: none; -} -.srt-menu ul { - position: absolute; - display:none; - width: 12em; /* left offset of submenus need to match (see below) */ -} -.srt-menu ul li { - width: 100%; -} -.srt-menu li:hover { - visibility: inherit; /* fixes IE7 'sticky bug' */ -} -.srt-menu li { - float: left; - position: relative; - margin-left:1px; -} -.srt-menu li li { - margin-left:0px; -} -.srt-menu a { - display: block; - position: relative; -} -.srt-menu li:hover ul, -.srt-menu li.sfHover ul { - display:block; - left: 0; - top: 45px; /* match top ul list item height */ - z-index: 99; - -webkit-box-shadow: 2px 3px 2px 0px rgba(00, 00, 00, .3); - box-shadow: 2px 3px 2px 0px rgba(00, 00, 00, .3); -} -ul.srt-menu li:hover li ul, -ul.srt-menu li.sfHover li ul { - top: -999em; -} -ul.srt-menu li li:hover ul, -ul.srt-menu li li.sfHover ul { - left: 12em; /* match ul width */ - top: 0; -} -ul.srt-menu li li:hover li ul, -ul.srt-menu li li.sfHover li ul { - top: -999em; -} -ul.srt-menu li li li:hover ul, -ul.srt-menu li li li.sfHover ul { - left: 10em; /* match ul width */ - top: 0; -} - -/*** DEMO1 SKIN ***/ -#topnav, .srt-menu { - float:right; - margin: .35em 0 0 0; -} -.srt-menu a { - text-decoration:none; -} -.srt-menu li a { - background:#fff; - margin:0; - padding:10px 20px; - height:45px; -} -.srt-menu a, .srt-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/ - color: #0099ff; -} -.srt-menu li li a { - border-top: 1px solid rgba(255,255,255,.2); - background: #333; /*fallback for old IE*/ - background:rgba(0,0,0,.6); - color: #fff; - padding-left:20px; - height:auto; -} -.srt-menu li li a:visited{color:#fff;} -.srt-menu li li li a, -.srt-menu li.active * li a{ - padding-left:20px; - background:rgba(0,0,0,.6); -} - -.srt-menu li:hover > a, -.srt-menu li.active a{ - color:#fff; - background:#0099ff; -} -.srt-menu li li:hover > a{ - color:#fff; - background:#0099ff; -} - - - -/*GRID*/ -/* - & Columns : 12 - - */ - .row{ - margin-left: -15px; - margin-right: -15px; -} - -.grid_1 { width: 8.33333333%; } -.grid_2 { width: 16.66666667%; } -.grid_3 { width: 25%; } -.grid_4 { width: 33.33333333%; } -.grid_5 { width: 41.66666667%; } -.grid_6 { width: 50%; } -.grid_7 { width: 58.33333333%; } -.grid_8 { width: 66.66666667%; } -.grid_9 { width: 75%; } -.grid_10 { width: 83.33333333%; } -.grid_11 { width: 91.66666667%; } -.grid_12 { width: 100%; } - -.grid_1, -.grid_2, -.grid_3, -.grid_4, -.grid_5, -.grid_6, -.grid_7, -.grid_8, -.grid_9, -.grid_10, -.grid_11, -.grid_12 { - float: left; - display: block; -} - -.rightfloat{float:right;} -/* @notation inspired by tinyGrid, .row and percentage by Twitter Bootstrap - */ - -#hero [class*="grid_"] { margin-bottom:-20px;} - -} - -/* -DESKTOP -This is the average viewing window. So Desktops, Laptops, and -in general anyone not viewing on a mobile device. Here's where -you can add resource intensive styles. -*/ -@media only screen and (min-width: 1030px) { - -} - -/* -LARGE VIEWING SIZE -This is for the larger monitors and possibly full screen viewers. -*/ -@media only screen and (min-width: 1240px) { - -} - -/* -RETINA (2x RESOLUTION DEVICES) -This applies to the retina iPhone (4s) and iPad (2,3) along with -other displays with a 2x resolution. -*/ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), - only screen and (min--moz-device-pixel-ratio: 1.5), - only screen and (min-device-pixel-ratio: 1.5) { - - -} - -/* -iPHONE 5 MEDIA QUERY -iPhone 5 or iPod Touch 5th generation styles (you can include your own file if you want) -*/ -@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) { - - -} - -/* -PRINT STYLESHEET -*/ -@media print { - * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */ - a, a:visited { text-decoration: underline; } - a[href]:after { content: " (" attr(href) ")"; } - abbr[title]:after { content: " (" attr(title) ")"; } - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ - pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } - thead { display: table-header-group; } /* h5bp.com/t */ - tr, img { page-break-inside: avoid; } - img { max-width: 100% !important; } - @page { margin: 0.5cm; } - p, h2, h3 { orphans: 3; widows: 3; } - h2, h3 { page-break-after: avoid; } -} \ No newline at end of file diff --git a/branches/NoDemoClient/cms/css/conlite-demo.css b/branches/NoDemoClient/cms/css/conlite-demo.css deleted file mode 100644 index 6662565..0000000 --- a/branches/NoDemoClient/cms/css/conlite-demo.css +++ /dev/null @@ -1,136 +0,0 @@ -form#login_box { - width: 100%; -} - -form#login_box fieldset { - padding: 3px; - border-radius: 6px; -} - -input[type='submit'] { - background: #0099ff none repeat scroll 0 0; - border: 1px solid; - border-radius: 6px; - color: #fff; - margin: 5px 10px 5px 0; - padding: 5px; - text-decoration: none; -} - -footer #colophon { - position: relative; -} - -div#social-media-links { - position: absolute; - right: 0; - text-align: right; - width: 20%; - display: inline-block; -} - -a.social-media-icon { - width: 32px; - height: 32px; - background-image: url(../images/ico/social_icons_sprite.png); - display: inline-block; - color: rgba(0, 0, 0, 0); -} - -.facebook { - background-position: 0 0 !important; -} - -.facebook:hover { - background-position: 0 -32px !important; -} - -.pinterest { - background-position: -32px 0 !important; -} - -.pinterest:hover { - background-position: -32px -32px !important; -} - -.youtube { - background-position: -64px 0px !important; -} - -.youtube:hover { - background-position: -64px -32px !important; -} - -.flickr { - background-position: -96px 0px !important; -} - -.flickr:hover{ - background-position: -96px -32px !important; -} - -.google-plus { - background-position: -128px 0px !important; -} - -.google-plus:hover { - background-position: -128px -32px !important; -} - -.rss { - background-position: -160px 0 !important; -} - -.rss:hover { - background-position: -160px -32px !important; -} - - -.twitter { - background-position: -192px 0 !important; -} - -.twitter:hover { - background-position: -192px -32px !important; -} - - -.vimeo { - background-position: -224px 0 !important; -} - -.vimeo:hover { - background-position: -224px -32px !important; -} - -.dribble { - background-position: -256px 0 !important; -} - -.dribble:hover { - background-position: -256px -32px !important; -} - -.linkedin { - background-position: -288px 0 !important; -} - -.linkedin:hover { - background-position: -288px -32px !important; -} - -.xing { - background-position: -320px 0 !important; -} - -.xing:hover { - background-position: -320px -32px !important; -} - - - -@media only screen and (min-width: 920px) { - form#login_box input { - max-width: 100px; - } -} \ No newline at end of file diff --git a/branches/NoDemoClient/cms/css/normalize.css b/branches/NoDemoClient/cms/css/normalize.css deleted file mode 100644 index 68fcfea..0000000 --- a/branches/NoDemoClient/cms/css/normalize.css +++ /dev/null @@ -1,530 +0,0 @@ -/*! normalize.css v1.1.0 | MIT License | git.io/normalize */ - -/* ========================================================================== - HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -/** - * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - */ - -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. - * Known issue: no IE 6 support. - */ - -[hidden] { - display: none; -} - -/* ========================================================================== - Base - ========================================================================== */ - -/** - * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-size: 100%; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -ms-text-size-adjust: 100%; /* 2 */ -} - -/** - * Address `font-family` inconsistency between `textarea` and other form - * elements. - */ - -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/** - * Address margins handled incorrectly in IE 6/7. - */ - -body { - margin: 0; -} - -/* ========================================================================== - Links - ========================================================================== */ - -/** - * Address `outline` inconsistency between Chrome and other browsers. - */ - -a:focus { - outline: thin dotted; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* ========================================================================== - Typography - ========================================================================== */ - -/** - * Address font sizes and margins set differently in IE 6/7. - * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, - * and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.67em; - margin: 2.33em 0; -} - -/** - * Address styling not present in IE 7/8/9, Safari 5, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/** - * Address styling not present in Safari 5 and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address differences between Firefox and other browsers. - * Known issue: no IE 6/7 normalization. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Address styling not present in IE 6/7/8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address margins set differently in IE 6/7. - */ - -p, -pre { - margin: 1em 0; -} - -/** - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/** - * Improve readability of pre-formatted text in all browsers. - */ - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - -} - -/** - * Address CSS quotes not supported in IE 6/7. - */ - -q { - quotes: none; -} - -/** - * Address `quotes` property not supported in Safari 4. - */ - -q:before, -q:after { - content: ''; - content: none; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* ========================================================================== - Lists - ========================================================================== */ - -/** - * Address margins set differently in IE 6/7. - */ - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/** - * Address paddings set differently in IE 6/7. - */ - -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/** - * Correct list images handled incorrectly in IE 7. - */ - -nav ul, -nav ol { - list-style: none; - list-style-image: none; - padding:0; - margin:0; -} - -/* ========================================================================== - Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. - * 2. Improve image quality when scaled in IE 7. - */ - -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; /* 2 */ -} - -/** - * Correct overflow displayed oddly in IE 9. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* ========================================================================== - Figures - ========================================================================== */ - -/** - * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. - */ - -figure { - margin: 0; -} - -/* ========================================================================== - Forms - ========================================================================== */ - -/** - * Correct margin displayed oddly in IE 6/7. - */ - -form { - margin: 0; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct color not being inherited in IE 6/7/8/9. - * 2. Correct text not wrapping in Firefox 3. - * 3. Correct alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; /* 3 */ -} - -/** - * 1. Correct font size not being inherited in all browsers. - * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, - * and Chrome. - * 3. Improve appearance and consistency in all browsers. - */ - -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ -} - -/** - * Address Firefox 3+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -button, -input { - line-height: normal; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. - * Correct `select` style inheritance in Firefox 4+ and Opera. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - *overflow: visible; /* 4 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * 1. Address box sizing set to content-box in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Remove inner padding and border in Firefox 3+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * 1. Remove default vertical scrollbar in IE 6/7/8/9. - * 2. Improve readability and alignment in all browsers. - */ - -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ -} - -/* ========================================================================== - Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png b/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png deleted file mode 100644 index d3881e4..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/ClosePopup.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif b/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif deleted file mode 100644 index 9572958..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/Loading.gif and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png deleted file mode 100644 index a4591f6..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeft.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png deleted file mode 100644 index 2ffddf9..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviLeftDisabled.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png deleted file mode 100644 index 80c4d76..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRight.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png b/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png deleted file mode 100644 index daebe5f..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/NaviRightDisabled.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png b/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png deleted file mode 100644 index f45a0e2..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviLeft.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png b/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png deleted file mode 100644 index 9be9ee5..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/PopupImageNaviRight.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png b/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png deleted file mode 100644 index d3c2bdf..0000000 Binary files a/branches/NoDemoClient/cms/images/SimpleGallery/ZoomOverlay.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png b/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png deleted file mode 100644 index 3bf6484..0000000 Binary files a/branches/NoDemoClient/cms/images/glyphicons-halflings-white.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/glyphicons-halflings.png b/branches/NoDemoClient/cms/images/glyphicons-halflings.png deleted file mode 100644 index a996999..0000000 Binary files a/branches/NoDemoClient/cms/images/glyphicons-halflings.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png deleted file mode 100644 index dbd92fa..0000000 Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-114-precomposed.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png deleted file mode 100644 index b85ecd0..0000000 Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-144-precomposed.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png deleted file mode 100644 index 17a7748..0000000 Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-57-precomposed.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png b/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png deleted file mode 100644 index da2b86c..0000000 Binary files a/branches/NoDemoClient/cms/images/ico/apple-touch-icon-72-precomposed.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png b/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png deleted file mode 100644 index f79efb1..0000000 Binary files a/branches/NoDemoClient/cms/images/ico/social_icons_sprite.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/index.php b/branches/NoDemoClient/cms/images/index.php deleted file mode 100644 index ef8b776..0000000 --- a/branches/NoDemoClient/cms/images/index.php +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/branches/NoDemoClient/cms/images/logo-small.png b/branches/NoDemoClient/cms/images/logo-small.png deleted file mode 100644 index f9bc9dd..0000000 Binary files a/branches/NoDemoClient/cms/images/logo-small.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/images/logo.png b/branches/NoDemoClient/cms/images/logo.png deleted file mode 100644 index edcf5ec..0000000 Binary files a/branches/NoDemoClient/cms/images/logo.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php b/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php deleted file mode 100644 index bfe187d..0000000 --- a/branches/NoDemoClient/cms/includes/spider-it.functions.inc.php +++ /dev/null @@ -1,859 +0,0 @@ - - * @copyright Spider IT Deutschland - * @license MIT - * (see below) - * @link http://www.Spider-IT.de - * @link http://www.conlite.org - * @link http://www.contenido.org - * - * @file spider-it.functions.inc.php - * @version 1.2 - * @date 2012-11-21 - * - * {@internal - * created 2012-09-14 - * modified 2012-10-10 - * modified 2012-10-14 - * modified 2012-10-22 - * modified 2012-10-24 - * modified 2012-10-30 - * modified 2012-11-21 - * - * $Id: spider-it.functions.inc.php 450 2016-07-20 11:11:12Z oldperl $: - * } - * - */ - -/* - * Copyright (c) 2012 Spider IT Deutschland - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated - * documentation files (the "Software"), to deal in the Software without restriction, including without - * limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * - * Hiermit wird unentgeltlich, jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationen (die - * "Software") erhält, die Erlaubnis erteilt, sie uneingeschränkt zu benutzen, inklusive und ohne Ausnahme, dem - * Recht, sie zu verwenden, kopieren, ändern, fusionieren, verlegen, verbreiten, unterlizenzieren und/oder zu - * verkaufen, und Personen, die diese Software erhalten, diese Rechte zu geben, unter den folgenden Bedingungen: - * - * Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen Kopien oder Teilkopien der Software - * beizulegen. - * - * DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIESSLICH DER GARANTIE - * ZUR BENUTZUNG FÜR DEN VORGESEHENEN ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT - * DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE - * ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG - * MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN. - */ - -# Functions in this file: -# debug() -# sitCascadedArraySort() -# sitConvertCmykJpgToSrgbJpg() -# sitExplodeAssociative() -# sitExplodeCascading() -# sitExplodeLines() -# sitGetFilesInDirectory() -# sitGetImageDescription() -# sitGetRemoteContentToFile() -# sitGetSubdirs() -# sitImgScale() -# sitMoveAllUploadFiles() -# sitSafeStringEscape() -# sitSendHtmlMail() -# sitSetClientProperty() -# sitTeaserText() - -if (!defined('CON_FRAMEWORK')) { - die('Illegal call'); -} - -# debug() -# -# Zeigt Debugging-Informationen auf der Webseite -# -# Parameter: -# $value - Der anzuzeigende Wert -# $type - Der Typ des Wertes (optional) -# Möglichkeiten: -# '' - Text / Array / Object -# 'sql' - SQL-Anweisungen (Aufruf sollte nach $db->query() erfolgen) -# -# Der Wert wird aufbereitet per echo auf der Webseite -# ausgegeben, wobei die Funktion selbstständig zwischen -# einzelnen Werte, Arrays und Objekte unterscheidet. -# Der 2. Parameter $type dient besondere Fälle, wie z.B. -# 'sql' für SQL-Anweisungen, welche dann individuell -# aufbereitet werden. -function debug($value, $type = '') { - global $db, $debug; - - if ($debug) { - echo '
'; - switch (strtolower($type)) { - case 'sql': - echo '
' . str_replace(array(str_repeat(chr(32), 4), chr(9)), '', $value) . '
Records: ' . intval(@$db->num_rows()); - break; - default: - if (is_array($value)) { - echo '
'; var_dump($value); echo '
'; - } elseif (is_object($value)) { - echo 'Object:
'; var_dump($value); echo '
'; - } else { - echo $value; - } - break; - } - echo '
'; - } -} - -# sitCascadedArraySort() -# -# Sortiert ein kaskadiertes Array nach Spalten -# -# Parameter: -# Zu sortierendes Array -# Liste aus Feldnamen, Sortierarten und Sortierrichtungen (siehe -# array_multisort, de.php.net/manual/de/function.array-multisort.php) -# -# Sortiert ein mehrdimentionales Array nach den angegebenen Spalten -# nach den vorgegebenen Sortierarten und -richtungen (je Spalte anzugeben) -# Beispiel: -# $x = sitCascadedArraySort($x, 'Name', SORT_STRING, SORT_ASC, 'Vorname', SORT_STRING, SORT_ASC); -function sitCascadedArraySort() { - $args = func_get_args(); - $marray = array_shift($args); - if (count($marray)) { - $msortline = 'return(array_multisort('; - foreach ($args as $arg) { - $i ++; - if (is_string($arg)) { - foreach ($marray as $row) { - $sortarr[$i][] = $row[$arg]; - } - } else { - $sortarr[$i] = $arg; - } - $msortline .= '$sortarr['.$i.'],'; - } - $msortline .= '$marray));'; - eval($msortline); - } - return $marray; -} - -# sitConvertCmykJpgToSrgbJpg() -# -# Wandelt JPG-Bilder mit CMYK Farbprofil in sRGB Farbprofil um -# -# Parameter: -# $path - Kompletter Pfad zum Bild -# -# Da der Internet Explorer keine JPG-Bilder (.jpg / .jpeg) mit CMYK Farbprofil -# darstellen kann, müssen diese Bilder in das sRGB Farbprofil (für das Web) -# umgewandelt werden. Diese Funktion prüft das Bild und wandelt es ggf. um. -function sitConvertCmykJpgToSrgbJpg($path) { - if ((strtolower(substr($path, -4)) == '.jpg') || (strtolower(substr($path, -5)) == '.jpeg')) { - exec('identify -verbose ' . $path . ' >' . $path . '.txt'); - $tmp = file($path . '.txt'); - unlink($path . '.txt'); - for ($i = 0, $n = count($tmp); $i < $n; $i ++) { - $a = explode(':', $tmp[$i]); - if (trim($a[0]) == 'Colorspace') { - if (strpos($a[1], 'RGB') === false) { - # Bild ist in CMYK - exec('convert ' . $path . ' -profile sRGB.icc -colorspace sRGB ' . $path . '.jpg'); - unlink($path); - rename($path . '.jpg', $path); - } - break; - } - } - } -} - -# sitExplodeAssociative() -# -# Zerlegt eine Zeichenfolge in ein assoziatives Array. -# -# Parameter: -# $delimiter - Array mit Trennzeichen zum Zerlegen der Zeichenfolge -# $string - Zu zerlegende Zeichenfolge -# -# Das erste Trennzeichen bildet das Array, das zweite Trennzeichen -# splittet auf Key und Value. -function sitExplodeAssociative($delimiters = array(), $string = '') { - $tmp = explode($delimiters[0], $string); - $ret = array(); - for ($i = 0, $n = count($tmp); $i < $n; $i ++) { - $t = explode($delimiters[1], $tmp[$i]); - $ret[$t[0]] = $t[1]; - } - return $ret; -} - -# sitExplodeCascading() -# -# Zerlegt eine Zeichenfolge in ein kaskadiertes Array. -# -# Parameter: -# $delimiter - Array mit Trennzeichen zum Zerlegen der Zeichenfolge -# $string - Zu zerlegende Zeichenfolge -# -# Das erste Trennzeichen bildet das Hauptarray, jedes weitere -# Trennzeichen darin ein Unterarray (mehrere Ebenen). -function sitExplodeCascading($delimiters = array(), $string = '') { - $tmp = explode($delimiters[0], $string); - array_shift($delimiters); - for ($i = 0, $n = count($tmp); $i < $n; $i ++) { - $tmp[$i] = sitMultipleExplode($delimiters, $tmp[$i]); - } - return $tmp; -} - -# sitExplodeLines() -# -# Zerlegt einen Text in einzelnen Zeilen -# -# Parameter: -# $string - Zu zerlegende Zeichenfolge -# -# Zerlegt den Text unabhängig der Zeilenumbruchart in ein Array -# mit den einzelnen Zeilen. -function sitExplodeLines($string) { - return explode("\n", str_replace("\r\n", "\n", $string)); -} - -# sitGetFilesInDirectory() -# -# Liest Dateien in ein Verzeichnis -# -# Parameter: -# $path - Kompletter Pfad des zu lesenden Verzeichnisses -# $filter - Filter für gefundenen Dateien (optional) -# $sort - Sortierreihenfolge (optional) -# -# Liest die Dateien in ein Verzeichnis und filtert und sortiert diese bei Bedarf. -# $filter kann ein Array mit mehrere Filter sein, z.B. array('*.jp*g', '*.gif', '*.png'). -# $sort kann 'asc', 'desc', SORT_ASC oder SORT_DESC sein, oder weggelassen werden. -function sitGetFilesInDirectory($path, $filter = '*', $sort = '') { - define('FNM_CASEFOLD', 16); - $aFiles = array(); - if (is_dir($path)) { - if (!is_array($filter)) { - $filter = array($filter); - } - if ($oDir = opendir($path)) { - while (($sFile = readdir($oDir)) !== false) { - if (is_dir($path . $sFile)) { - continue; - } else { - for ($i = 0, $n = count($filter); $i < $n; $i ++) { - if (fnmatch($filter[$i], $sFile, FNM_CASEFOLD)) { - $aFiles[] = $sFile; - break; - } - } - } - } - closedir($oDir); - if (strlen($sort)) { - sort($aFiles, SORT_STRING); - if (($sort == 'desc') || ($sort == SORT_DESC)) { - $aFiles = array_reverse($aFiles); - } - } - } - } - return $aFiles; -} - -# sitGetImageDescription() -# -# Liest die Bildbeschreibung aus der Datenbank -# -# Parameter: -# $idupl - ID des Bildeintrags in der Datenbank -# -# Liest die zum Bild gehörenden Beschreibung entweder aus der Tabelle ..._upl_meta -# oder (falls leer) aus der Tabelle ..._upl und liefert diese zurück. -function sitGetImageDescription($idupl) { - global $db, $cfg; - - $sDesc = ''; - $sql = 'SELECT description - FROM ' . $cfg['tab']['upl_meta'] . ' - WHERE (idupl=' . $idupl . ')'; - $db->query($sql); - if ($db->next_record()) { - $sDesc = urldecode(str_replace(array('%0D%0A', '%0D', '%0A'), '
', $db->f('description'))); - } - if (strlen(trim($sDesc)) == 0) { - $sql = 'SELECT description - FROM ' . $cfg['tab']['upl'] . ' - WHERE (idupl=' . $idupl . ')'; - $db->query($sql); - if ($db->next_record()) { - $sDesc = $db->f('description'); - } - } - return $sDesc; -} - -# sitGetRemoteContentToFile() -# -# Holt entfernten Inhalt ab und speichert diesen lokal -# -# Parameter: -# $url - Die Adresse von wo der Inhalt geholt werden soll -# $file - Die Datei in der gespeichert werden soll (inkl. Pfad) -# $errno - Die Fehlernummer (Rückgabe) -# $errmsg - Die Fehlerbeschreibung (Rückgabe) -# -# Die Daten (Webseite, Bild, Feed usw) werden per cURL geholt, -# wobei Weiterleitungen gefolgt werden. -# Diese Methode ist unabhängig von allow_url_fopen und verarbeitet -# auch Anfragen per https (SSL). -function sitGetRemoteContentToFile($url, $file, $errno, $errmsg) { - $options = array( - CURLOPT_RETURNTRANSFER => true, // return web page - CURLOPT_HEADER => false, // don't return headers - CURLOPT_FOLLOWLOCATION => true, // follow redirects - CURLOPT_ENCODING => "", // handle compressed - CURLOPT_USERAGENT => "spider", // who am i - CURLOPT_AUTOREFERER => true, // set referer on redirect - CURLOPT_CONNECTTIMEOUT => 10, // timeout on connect - CURLOPT_TIMEOUT => 10, // timeout on response - CURLOPT_MAXREDIRS => 10, // stop after 10 redirects - ); - - $ch = curl_init($url); - curl_setopt_array($ch, $options); - $content = curl_exec($ch); - $errno = curl_errno($ch); - $errmsg = curl_error($ch); - $header = curl_getinfo($ch); - curl_close($ch); - - if (($errno == 0) && ($header['http_code'] == 200)) { - # Content in Datei speichern - if ($fp = fopen($file, 'w')) { - fputs($fp, $content); - fclose($fp); - return true; - } else { - $errno = -1; - $errmsg = 'Can\'t write to file ' . $file; - return false; - } - } else { - return false; - } -} - -# sitGetSubdirs() -# -# Listet Unterverzeichnisse eines Verzeichnisses -# -# Parameter: -# $dir - Übergeordnetes Verzeichnis -# $levels - Anzahl Ebenen an Unterverzeichnisse die mit aufgelistet werden sollen -# $__dirs - interner Parameter für Rekursion -# -# Listet die Unterverzeichnisse eines Verzeichnisses inkl. aller Unterverzeichnisse -# bis zu der angegebenen Anzahl an Ebenen (die Tiefe). -function sitGetSubdirs($dir, $levels = 1, $__dirs = array()) { - $a = array(); - $p = opendir($dir); - while (($s = readdir($p)) !== false) { - if (($s == '.') || ($s == '..')) { - continue; - } - if (is_dir($dir . ((substr($dir, -1) == '/') ? '' : '/') . $s)) { - $a[] = $dir . ((substr($dir, -1) == '/') ? '' : '/') . $s . '/'; - } - } - closedir($p); - sort($a, SORT_STRING); - for ($i = 0; $i < count($a); $i ++) { - $__dirs[] = $a[$i]; - if ($levels > 1) { - $__dirs = sitGetSubdirs($a[$i], ($levels - 1), $__dirs); - } - } - return $__dirs; -} - -# sitImgScale() -# -# Skaliert oder zoomt ein Bild auch mit Transparenz -# -# Parameter: -# $img - Pfad und Dateiname der Originaldatei relativ zum Mandantenverzeichnis -# $maxX - Maximale Breite des neuen Bildes -# $maxY - Maximale Höhe des neuen Bildes -# $crop - Bild darf beschnitten werden (optional) -# $expand - Bild darf vergrößert werden -# $cacheTime - Ältere Version nutzen oder überschreiben -# $wantHQ - Bild soll in hoher Qualität sein -# $quality - Qualität bei JPG und GIF -# $keepType - Dateityp beibehalten -# $fixedSize - Zielbild wird auf angegebene Größe erstellt und transparent (GIF und PNG) gefüllt -# $fixedBG - Bei $fixedSize und JPG wird dies die Hintergrundfarbe des umgebenden Bereichs -# -# Erstellt im cache Verzeichnis eine skalierte Version des Originalbildes -# wie auch die Con-Funktion capiImgScale(), aber behält Transparenz in GIF -# und PNG Bilder bei. Der zusätzliche Parameter $fixedSize ermöglicht es, -# das Zielbild mit fixe Abmessungen zu erstellen und das skalierte Bild -# darin zu zentrieren, wobei der umgebenden Bereich bei GIF und PNG Bilder -# transparent, bei JPG Bilder mit der in $fixedBG angegebenen Farbe gefüllt -# wird. Ist $fixedBG nicht angegeben, wird weiß (#FFF) angenommen. -function sitImgScale($img, $maxX = 0, $maxY = 0, $crop = false, $expand = false, $cacheTime = 10, $wantHQ = true, $quality = 75, $keepType = false, $fixedSize = false, $fixedBG = 'FFFFFF') { - global $cfgClient, $client, $lang; - - if (($maxX <= 0) && ($maxY <= 0)) { - return false; - } - - # Cache - $md5 = capiImgScaleGetMD5CacheFile($img, $maxX, $maxY, $crop, $expand); - list($oWidth, $oHeight, $oType) = @getimagesize($cfgClient[$client]['path']['frontend'] . $img); - switch ($oType) { - case IMAGETYPE_GIF: - $cfileName = $md5 . '.gif'; - break; - case IMAGETYPE_JPEG: - if ($keepType) { - $cfileName = $md5 . '.jpg'; - } else { - $cfileName = $md5 . '.png'; - } - break; - case IMAGETYPE_PNG: - $cfileName = $md5 . '.png'; - break; - default: - return false; - } - $cacheFile = $cfgClient[$client]['path']['frontend'] . 'cache/' . $cfileName; - $webFile = $cfgClient[$client]['path']['htmlpath'] . 'cache/' . $cfileName; - if (file_exists($cacheFile)) { - if ($cacheTime == 0) { - # Datei läuft nicht ab, also direkt ausgeben - return $webFile; - } elseif ((filemtime($cacheFile) + (60 * $cacheTime)) < time()) { - # Datei ist abgelaufen - unlink($cacheFile); - } else { - # Datei ist noch nicht abgelaufen - return $webFile; - } - } - - # Bild neu aufbauen - $nLeft = 0; - $nTop = 0; - $nWidth = 0; - $nHeight = 0; - if ($fixedSize) { - $iWidth = $maxX; - $iHeight = $maxY; - # Abmessung und Position in neues Bild berechnen - if (($oWidth > $maxX) || ($oHeight > $maxY) || ($expand)) { - # Bild ist größer oder soll vergrößert werden - if ($crop) { - $faktor = max($maxX / $oWidth, $maxY / $oHeight); - } else { - $faktor = min($maxX / $oWidth, $maxY / $oHeight); - } - if ($faktor == ($maxX / $oWidth)) { - $nLeft = 0; - $nWidth = $maxX; - $nHeight = floor($oHeight * $faktor); - $nTop = floor(($maxY - $nHeight) / 2); - } else { - $nTop = 0; - $nHeight = $maxY; - $nWidth = floor($oWidth * $faktor); - $nLeft = floor(($maxX - $nWidth) / 2); - } - } else { - $nLeft = floor(($maxX - $oWidth) / 2); - $nTop = floor(($maxY / $oHeight) / 2); - $nWidth = $oWidth; - $nHeight = $oHeight; - } - } else { - # Abmessung des neuen Bildes berechnen - if (($oWidth > $maxX) || ($oHeight > $maxY) || ($expand)) { - if ($crop) { - $faktor = max($maxX / $oWidth, $maxY / $oHeight); - } else { - $faktor = min($maxX / $oWidth, $maxY / $oHeight); - } - if ($faktor == ($maxX / $oWidth)) { - $nWidth = $maxX; - $nHeight = floor($oHeight * $faktor); - $iWidth = $maxX; - $iHeight = (($nHeight > $maxY) ? $maxY : $nHeight); - $nTop = (($nHeight > $maxY) ? floor(($maxY - $nHeight) / 2) : 0); - } else { - $nHeight = $maxY; - $nWidth = floor($oWidth * $faktor); - $iHeight = $maxY; - $iWidth = (($nWidth > $maxX) ? $maxX : $nWidth); - $nLeft = (($nWidth > $maxX) ? floor(($maxX - $nWidth) / 2) : 0); - } - } else { - # Bild ist kleiner und soll nicht vergrößert werden - $iWidth = $nWidth = $oWidth; - $iHeight = $nHeight = $oHeight; - } - } - # Bild einlesen - switch ($oType) { - case IMAGETYPE_GIF: - $image = imagecreatefromgif($img); - break; - case IMAGETYPE_JPEG: - $image = imagecreatefromjpeg($img); - break; - case IMAGETYPE_PNG: - $image = imagecreatefrompng($img); - break; - default: - return false; - } - # Neues Bild erzeugen und Hintergrundfarbe einstellen - $nImage = imagecreatetruecolor($iWidth, $iHeight); - if (($oType == IMAGETYPE_GIF) || ($oType == IMAGETYPE_PNG)) { - $transIdx = imagecolortransparent($image); - if ($transIdx >= 0) { - # Es gibt eine transparente Farbe (GIF oder PNG8) - $transColor = imagecolorsforindex($image, $transIdx); - $transIdx = imagecolorallocate($nImage, $transColor['red'], $transColor['green'], $transColor['blue']); - imagefill($nImage, 0, 0, $transIdx); - imagecolortransparent($nImage, $transIdx); - } elseif ($oType == IMAGETYPE_PNG) { - # Ein PNG24 kriegt ein transparenter Hintergrund per Alpha-Kanal - imagealphablending($nImage, false); - $oColor = imagecolorallocatealpha($nImage, 0, 0, 0, 127); - imagefill($nImage, 0, 0, $oColor); - imagesavealpha($nImage, true); - } - } else { -$debug = 1; - if ($keepType) { - # Andere Bilder (JPG) kriegen eine Hintergrundfarbe - $oColor = imagecolorallocate($nImage, hexdec(substr($fixedBG, 0, 2)), hexdec(substr($fixedBG, 2, 2)), hexdec(substr($fixedBG, 4, 2))); -#debug('imagecolorallocate($nImage, ' . hexdec(substr($fixedBG, 0, 2)) . ', ' . hexdec(substr($fixedBG, 2, 2)) . ', ' . hexdec(substr($fixedBG, 4, 2)) . ') = ' . $oColor); -# imagefill($nImage, 0, 0, $oColor); - imagefilledrectangle($nImage, 0, 0, $iWidth, $iHeight, $oColor); - } else { - # JPG-Bilder werden in PNG24 umgewandelt - $oType = IMAGETYPE_PNG; - imagealphablending($nImage, false); - $oColor = imagecolorallocatealpha($nImage, 0, 0, 0, 127); -# imagefill($nImage, 0, 0, $oColor); - imagefilledRectangle($nImage, 0, 0, $iWidth, $iHeight, $oColor); - imagesavealpha($nImage, true); - } - } - # Das Originalbild skaliert hinein kopieren - imagecopyresampled($nImage, $image, $nLeft, $nTop, 0, 0, $nWidth, $nHeight, $oWidth, $oHeight); - # Das neue Bild speichern - switch ($oType) { - case IMAGETYPE_GIF: - imagegif($nImage, $cacheFile); - break; - case IMAGETYPE_JPEG: - imagejpeg($nImage, $cacheFile); - break; - case IMAGETYPE_PNG: - imagepng($nImage, $cacheFile); - break; - } - # Aufräumen - imagedestroy($image); - imagedestroy($nImage); - # Pfad zurück liefern - return $webFile; -} - -# sitMoveAllUploadFiles() -# -# Verschiebt alle Dateien eines Verzeichnisses -# -# Parameter: -# $source - Quellverzeichnis -# $dest - Zielverzeichnis -# -# Verschiebt alle Dateien eines Verzeichnisses im Upload-Bereich (unter /upload/) -# und passt die Einträge in der Datenbank entsprechend an. -function sitMoveAllUploadFiles($source, $dest) { - global $cfgClient, $client, $db, $cfg; - - $source .= ((substr($source, -1) == '/') ? '' : '/'); - $dest .= ((substr($dest, -1) == '/') ? '' : '/'); - - $a = array(); - $p = opendir($cfgClient[$client]['upl']['path'] . $source); - while (($s = readdir($p)) !== false) { - if (is_dir($cfgClient[$client]['upl']['path'] . $source . $s)) { - continue; - } elseif (strlen($s) > 2) { - $a[] = $s; - } - } - for ($i = 0, $n = count($a); $i < $n; $i ++) { - rename($cfgClient[$client]['upl']['path'] . $source . $a[$i], $cfgClient[$client]['upl']['path'] . $dest . $a[$i]); - $sql = 'UPDATE ' . $cfg['tab']['upl'] . ' - SET dirname = "' . $dest . '" - WHERE ((dirname="' . $source . '") - AND (filename="' . $a[$i] . '"))'; - $db->query($sql); - } -} - -# sitSafeStringEscape() -# -# Escaped eine Zeichenfolge für SQL-Anweisungen -# -# Parameter: -# $string - Zu escapenden Zeichenfolge -# -# Escaped eine Zeichenfolge so, dass diese sicher in die Datenbank eingetragen -# werden kann. -function sitSafeStringEscape($string) { - $escapeCount = 0; - $targetString = ''; - for($offset = 0; $offset < strlen($string); $offset ++) { - switch ($c = $string{$offset}) { - case "'": - if ($escapeCount % 2 == 0) { - $targetString .= "\\"; - } - $escapeCount = 0; - $targetString .= $c; - break; - case '"': - if ($escapeCount % 2 == 0) { - $targetString .= "\\"; - } - $escapeCount = 0; - $targetString .= $c; - break; - case '\\': - $escapeCount ++ ; - $targetString .= $c; - break; - default: - $escapeCount = 0; - $targetString .= $c; - } - } - return $targetString; -} - -# sitSendHtmlMail() -# -# Sendet eine HTML-Mail mit HTML- und Textteil -# -# Parameter: -# $html - HTML-Teil der Mail -# $subject - Betreffzeile der Mail -# $receipients - Array von Empfänger ('name' und 'email', mehrere möglich) -# $attachments - Dateipfad oder Array von Dateipfade für Anhänge (optional) -# $sname - Absendername (optional) -# $smail - Absenderadresse (optional) -# $mailer - Versandmethode ('mail' / 'qmail' / 'sendmail' / 'smtp') (optional) -# $sserver - SMTP-Server Adresse (optional) -# $slogin - SMTP Login (optional) -# $spass - SMTP Passwort (optional) -# $sport - SMTP Port (optional) -# -# Sendet eine HTML-Mail mit HTML- und Textteil an einen oder mehrere Empfänger -# mit keinen oder mehrere Anhänge und liefert den Erfolgsstatus zurück. -# Die Angaben zum Absender und den Mailer werden, sofern sie nicht mit angegeben -# sind, aus den Mandanten- bzw. Systemeinstellungen ausgelesen. -# - email - absende-name -# - email - absender-email -# - email - mailer -# - email - smtp-server -# - email - smtp-login -# - email - smtp-passwort -# - email - smtp-port - 25 -# Die Empfänger werden als Array aus Name(n) und Email-Adresse(n) übergeben. -# Beispiel 1: array('name' => 'xyz', 'email' => 'xyz@abc.de'); -# Beispiel 2: array(array('name' => 'xyz', 'email' => 'xyz@abc.de'), array('name'... -function sitSendHtmlMail($html, $subject, $receipients, $attachments = '', $sname = '', $smail = '', $mailer = '', $sserver = '', $slogin = '', $spass = '', $sport = '') { - # Eingaben ergänzen - if (!is_array($attachments)) { - $attachments = array($attachments); - } - $sname = ((strlen($sname)) ? $sname : getEffectiveSetting('email', 'absender-name')); - $smail = ((strlen($smail)) ? $smail : getEffectiveSetting('email', 'absender-email')); - if (strlen($sname) == 0) { - $sname = $smail; - } - $mailer = strtolower(((strlen($mailer)) ? $mailer : getEffectiveSetting('email', 'mailer'))); - if (strlen($mailer) == 0) { - $mailer = 'mail'; - } - if ($mailer == 'smtp') { - $sserver = ((strlen($sserver)) ? $sserver : getEffectiveSetting('email', 'smtp-server')); - $slogin = ((strlen($slogin)) ? $slogin : getEffectiveSetting('email', 'smtp-login')); - $spass = ((strlen($spass)) ? $spass : getEffectiveSetting('email', 'smtp-passwort')); - $sport = intval(((strlen($sport)) ? $sport : getEffectiveSetting('email', 'smtp-port'))); - if ($sport == 0) { - $sport = 25; - } - } - # Prüfen, ob genügend Angaben vorliegen - if ((strlen($html) == 0) || (strlen($subject) == 0)) { - return false; - } - if ((!is_array($receipients)) || ((strlen($receipients['email']) == 0) && (strlen($receipients[0]['email']) == 0))) { - return false; - } - if (strlen($smail) == 0) { - return false; - } - if (($mailer == 'smtp') && ((strlen($sserver) == 0) || (strlen($slogin) == 0) || (strlen($spass) == 0))) { - return false; - } - # Mail aufbereiten und versenden - $oMail = new PHPMailer(); - $oMail->IsHTML(true); - $oMail->Mailer = $mailer; - if ($mailer == 'smtp') { - $oMail->SMTPAuth = true; - $oMail->Host = $sserver; - $oMail->Port = $sport; - $oMail->Username = $slogin; - $oMail->Password = $spass; - } - $oMail->Subject = $subject; - $oMail->From = $smail; - $oMail->FromName = $sname; - if (is_array($receipients[0])) { - for ($i = 0, $n = count($receipients); $i < $n; $i ++) { - if (strlen($receipients[$i]['email'])) { - $oMail->AddAddress($receipients[$i]['email'], ((strlen($receipients[$i]['name'])) ? $receipients[$i]['name'] : $receipients[$i]['email'])); - } - } - } else { - $oMail->AddAddress($receipients['email'], ((strlen($receipients['name'])) ? $receipients['name'] : $receipients['email'])); - } - $oMail->Body = $html; - # Nur-Text-Bereich --> - $sMsg = substr($html, strpos($html, '', '
', '
'), array('', "

\n\n", "\n", "\n"), $sMsg); - $sMsg = trim(strip_tags($sMsg)); - $sMsg = explode("\n", $sMsg); - for ($i = 0, $n = count($sMsg); $i < $n; $i ++) { - $sMsg[$i] = trim($sMsg[$i]); - } - $sMsg = implode("\n", $sMsg); - $sMsg = html_entity_decode($sMsg); - $sMsg = capiStrReplaceDiacritics($sMsg); - # <-- Nur-Text-Bereich - $oMail->AltBody = $sMsg; - for ($i = 0, $n = count($attachments); $i < $n; $i ++) { - if (is_file($attachments[$i])) { - $oMail->AddAttachment($attachments[$i]); - } - } - $oMail->WordWrap = 76; - return $oMail->Send(); -} - -# sitSetClientProperty() -# -# Speichert eine Mandanteneinstellung -# -# Parameter: -# $type - Typ des Entrags (Text) -# $name - Name des Eintrags -# $value - Wert des Eintrags (Text) -# -# Speichert ein Eintrag in den Mandanteneinstellungen, überschreibt dabei -# eine gleichnamige vorhandene Einstellung. -function sitSetClientProperty($type, $name, $value) { - global $client, $cfg; - - if ((strlen($type)) && (strlen($name))) { - $type = sitSafeStringEscape($type); - $name = sitSafeStringEscape($name); - $value = sitSafeStringEscape($value); - $db = new DB_Contenido(); - $sql = 'SELECT value - FROM ' . $cfg['tab']['properties'] . ' - WHERE ((idclient=' . $client . ') - AND (itemtype="clientsetting") - AND (type="' . $type . '") - AND (name="' . $name . '"))'; - $db->query($sql); - if ($db->next_record()) { - $sql = 'UPDATE ' . $cfg['tab']['properties'] . ' - SET value = "' . $value . '", - modified = "' . date('Y-m-d H:i:n') . '", - modifiedby = "' . $auth->auth['uid'] . '" - WHERE ((idclient=' . $client . ') - AND (itemtype="clientsetting") - AND (type="' . $type . '") - AND (name="' . $name . '"))'; - } else { - $sql = 'INSERT INTO ' . $cfg['tab']['properties'] . ' (idclient, itemtype, itemid, type, name, value, author, created, modified, modifiedby) - VALUES (' . $client . ', "clientsetting", 1, "' . $type . '", "' . $name . '", "' . $value . '", "' . $auth->auth['uid'] . '", "' . date('Y-m-d H:i:n') . '", "' . date('Y-m-d H:i:n') . '", "' . $auth->auth['uid'] . '")'; - } - $db->query($sql); - } -} - -# sitTeaserText() -# -# Teasert einen Text an -# -# Parameter: -# $text - Zu teasernden Text -# $maxlength - Maximale Länge des Textes -# -# Der Text wird auf die maximale Anzahl Zeichen gekürzt, wobei der Schnitt nicht -# mitten im Wort erfolgt, sondern davor. -# Zuvor werden aus dem Text noch alle HTML-Tags entfernt. -# Wenn der Text gekürzt wird (nur wenn der Text länger als der maximalen Anzahl -# Zeichen ist), wird ein HTML-Zeichen … (...) angehängt. -function sitTeaserText($text, $maxlength) { - $sText1 = strip_tags(str_replace(array("\r\n", "\n"), ' ', $text)); - $sText2 = capiStrTrimAfterWord($sText1, intval($maxlength)); - if (strlen($sText2) < strlen($sText1)) { - $sText2 .= '…'; - } - return $sText2; -} -?> \ No newline at end of file diff --git a/branches/NoDemoClient/cms/js/flexslider/flexslider.css b/branches/NoDemoClient/cms/js/flexslider/flexslider.css deleted file mode 100644 index 9549a39..0000000 --- a/branches/NoDemoClient/cms/js/flexslider/flexslider.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - * jQuery FlexSlider v2.0 - * http://www.woothemes.com/flexslider/ - * - * Copyright 2012 WooThemes - * Free to use under the GPLv2 license. - * http://www.gnu.org/licenses/gpl-2.0.html - * - * Contributing author: Tyler Smith (@mbmufffin) - */ - - -/* Browser Resets */ -.flex-container a:active, -.flexslider a:active, -.flex-container a:focus, -.flexslider a:focus {outline: none;} -.slides, -.flex-control-nav, -.flex-direction-nav {margin: 0; padding: 0; list-style: none;} - -/* FlexSlider Necessary Styles -*********************************/ -.flexslider {margin: 0; padding: 0; min-height:150px; background:url(images/loader.gif) no-repeat center center;} -.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */ -.flexslider .slides img {width: 100%; display: block;} -.flex-pauseplay span {text-transform: capitalize;} - -/* Clearfix for the .slides element */ -.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} -html[xmlns] .slides {display: block;} -* html .slides {height: 1%;} - -/* No JavaScript Fallback */ -/* If you are not using another script, such as Modernizr, make sure you - * include js that eliminates this class on page load */ -.no-js .slides > li:first-child {display: block;} - - -/* FlexSlider Default Theme -*********************************/ -.flexslider {position: relative; zoom: 1; } -.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;} -.loading .flex-viewport {max-height: 300px;} -.flexslider .slides {zoom: 1;} - -.flexslider .flex-caption{ margin:10px 7px;} - -.carousel li {margin-right: 5px} - - -/* Direction Nav */ -.flex-direction-nav {*height: 0;} -.flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(images/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;} -.flex-direction-nav .flex-next {background-position: 100% 0; opacity: 0.8; right: 5px;} -.flex-direction-nav .flex-prev {opacity: 0.8; left: 5px;} -.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;} -.flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;} - -/* Control Nav */ -.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;} -.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;} -.flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);} -.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); } -.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; } - -.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;} -.flex-control-thumbs li {width: 25%; float: left; margin: 0;} -.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;} -.flex-control-thumbs img:hover {opacity: 1;} -.flex-control-thumbs .flex-active {opacity: 1; cursor: default;} \ No newline at end of file diff --git a/branches/NoDemoClient/cms/js/flexslider/images/bg_direction_nav.png b/branches/NoDemoClient/cms/js/flexslider/images/bg_direction_nav.png deleted file mode 100644 index de3fe04..0000000 Binary files a/branches/NoDemoClient/cms/js/flexslider/images/bg_direction_nav.png and /dev/null differ diff --git a/branches/NoDemoClient/cms/js/flexslider/images/loader.gif b/branches/NoDemoClient/cms/js/flexslider/images/loader.gif deleted file mode 100644 index f2a1bc0..0000000 Binary files a/branches/NoDemoClient/cms/js/flexslider/images/loader.gif and /dev/null differ diff --git a/branches/NoDemoClient/cms/js/flexslider/jquery.flexslider-min.js b/branches/NoDemoClient/cms/js/flexslider/jquery.flexslider-min.js deleted file mode 100644 index 5412e2f..0000000 --- a/branches/NoDemoClient/cms/js/flexslider/jquery.flexslider-min.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * jQuery FlexSlider v2.1 - * Copyright 2012 WooThemes - * Contributing Author: Tyler Smith - */ - ;(function(d){d.flexslider=function(i,k){var a=d(i),c=d.extend({},d.flexslider.defaults,k),e=c.namespace,p="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,t=p?"touchend":"click",l="vertical"===c.direction,m=c.reverse,h=0g?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(d,c.pauseOnAction)});c.pausePlay&&f.pausePlay.setup();c.slideshow&&(c.pauseOnHover&&a.hover(function(){!a.manualPlay&&!a.manualPause&&a.pause()}, - function(){!a.manualPause&&!a.manualPlay&&a.play()}),0');if(1':""+b+"",a.controlNavScaffold.append("
  • "+g+"
  • "),b++;a.controlsContainer?d(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold);f.controlNav.set();f.controlNav.active();a.controlNavScaffold.delegate("a, img",t,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(a.direction=g>a.currentSlide?"next":"prev",a.flexAnimate(g,c.pauseOnAction))});p&&a.controlNavScaffold.delegate("a", - "click touchstart",function(a){a.preventDefault()})},setupManual:function(){a.controlNav=a.manualControls;f.controlNav.active();a.controlNav.live(t,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(g>a.currentSlide?a.direction="next":a.direction="prev",a.flexAnimate(g,c.pauseOnAction))});p&&a.controlNav.live("click touchstart",function(a){a.preventDefault()})},set:function(){a.controlNav=d("."+e+"control-nav li "+("thumbnails"===c.controlNav?"img":"a"), - a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(e+"active").eq(a.animatingTo).addClass(e+"active")},update:function(b,c){1"+a.count+"")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(c).closest("li").remove();f.controlNav.set();1
  • '+c.prevText+'
  • '+c.nextText+"
  • ");a.controlsContainer?(d(a.controlsContainer).append(b),a.directionNav=d("."+e+"direction-nav li a",a.controlsContainer)):(a.append(b),a.directionNav=d("."+e+"direction-nav li a",a));f.directionNav.update();a.directionNav.bind(t,function(b){b.preventDefault();b=d(this).hasClass(e+"next")?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(b,c.pauseOnAction)}); - p&&a.directionNav.bind("click touchstart",function(a){a.preventDefault()})},update:function(){var b=e+"disabled";1===a.pagingCount?a.directionNav.addClass(b):c.animationLoop?a.directionNav.removeClass(b):0===a.animatingTo?a.directionNav.removeClass(b).filter("."+e+"prev").addClass(b):a.animatingTo===a.last?a.directionNav.removeClass(b).filter("."+e+"next").addClass(b):a.directionNav.removeClass(b)}},pausePlay:{setup:function(){var b=d('
    ');a.controlsContainer? - (a.controlsContainer.append(b),a.pausePlay=d("."+e+"pauseplay a",a.controlsContainer)):(a.append(b),a.pausePlay=d("."+e+"pauseplay a",a));f.pausePlay.update(c.slideshow?e+"pause":e+"play");a.pausePlay.bind(t,function(b){b.preventDefault();d(this).hasClass(e+"pause")?(a.manualPause=!0,a.manualPlay=!1,a.pause()):(a.manualPause=!1,a.manualPlay=!0,a.play())});p&&a.pausePlay.bind("click touchstart",function(a){a.preventDefault()})},update:function(b){"play"===b?a.pausePlay.removeClass(e+"pause").addClass(e+ - "play").text(c.playText):a.pausePlay.removeClass(e+"play").addClass(e+"pause").text(c.pauseText)}},touch:function(){function b(b){j=l?d-b.touches[0].pageY:d-b.touches[0].pageX;p=l?Math.abs(j)j||a.currentSlide===a.last&&0Number(new Date)-k&&50q/2)?a.flexAnimate(l,c.pauseOnAction):r||a.flexAnimate(a.currentSlide,c.pauseOnAction,!0)}i.removeEventListener("touchend",g,!1);f=j=e=d=null}var d,e,f,q,j,k,p=!1;i.addEventListener("touchstart",function(j){a.animating?j.preventDefault():1===j.touches.length&&(a.pause(),q=l?a.h:a.w,k=Number(new Date),f=h&&m&&a.animatingTo=== - a.last?0:h&&m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:h&&a.currentSlide===a.last?a.limit:h?(a.itemW+c.itemMargin)*a.move*a.currentSlide:m?(a.last-a.currentSlide+a.cloneOffset)*q:(a.currentSlide+a.cloneOffset)*q,d=l?j.touches[0].pageY:j.touches[0].pageX,e=l?j.touches[0].pageX:j.touches[0].pageY,i.addEventListener("touchmove",b,!1),i.addEventListener("touchend",g,!1))},!1)},resize:function(){!a.animating&&a.is(":visible")&&(h||a.doMath(),r?f.smoothHeight():h?(a.slides.width(a.computedW), - a.update(a.pagingCount),a.setProps()):l?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(c.smoothHeight&&f.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,"setTotal")))},smoothHeight:function(b){if(!l||r){var c=r?a:a.viewport;b?c.animate({height:a.slides.eq(a.animatingTo).height()},b):c.height(a.slides.eq(a.animatingTo).height())}},sync:function(b){var g=d(c.sync).data("flexslider"),e=a.animatingTo;switch(b){case "animate":g.flexAnimate(e,c.pauseOnAction,!1,!0);break;case "play":!g.playing&& - !g.asNav&&g.play();break;case "pause":g.pause()}}};a.flexAnimate=function(b,g,n,i,k){s&&1===a.pagingCount&&(a.direction=a.currentItema.w?2*c.itemMargin:c.itemMargin,b=(a.itemW+b)*a.move*a.animatingTo, - b=b>a.limit&&1!==a.visible?a.limit:b):b=0===a.currentSlide&&b===a.count-1&&c.animationLoop&&"next"!==a.direction?m?(a.count+a.cloneOffset)*q:0:a.currentSlide===a.last&&0===b&&c.animationLoop&&"prev"!==a.direction?m?0:(a.count+1)*q:m?(a.count-1-b+a.cloneOffset)*q:(b+a.cloneOffset)*q;a.setProps(b,"",c.animationSpeed);if(a.transitions){if(!c.animationLoop||!a.atEnd)a.animating=!1,a.currentSlide=a.animatingTo;a.container.unbind("webkitTransitionEnd transitionend");a.container.bind("webkitTransitionEnd transitionend", - function(){a.wrapup(q)})}else a.container.animate(a.args,c.animationSpeed,c.easing,function(){a.wrapup(q)})}c.smoothHeight&&f.smoothHeight(c.animationSpeed)}};a.wrapup=function(b){!r&&!h&&(0===a.currentSlide&&a.animatingTo===a.last&&c.animationLoop?a.setProps(b,"jumpEnd"):a.currentSlide===a.last&&(0===a.animatingTo&&c.animationLoop)&&a.setProps(b,"jumpStart"));a.animating=!1;a.currentSlide=a.animatingTo;c.after(a)};a.animateSlides=function(){a.animating||a.flexAnimate(a.getTarget("next"))};a.pause= - function(){clearInterval(a.animatedSlides);a.playing=!1;c.pausePlay&&f.pausePlay.update("play");a.syncExists&&f.sync("pause")};a.play=function(){a.animatedSlides=setInterval(a.animateSlides,c.slideshowSpeed);a.playing=!0;c.pausePlay&&f.pausePlay.update("pause");a.syncExists&&f.sync("play")};a.canAdvance=function(b,g){var d=s?a.pagingCount-1:a.last;return g?!0:s&&a.currentItem===a.count-1&&0===b&&"prev"===a.direction?!0:s&&0===a.currentItem&&b===a.pagingCount-1&&"next"!==a.direction?!1:b===a.currentSlide&& - !s?!1:c.animationLoop?!0:a.atEnd&&0===a.currentSlide&&b===d&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===d&&0===b&&"next"===a.direction?!1:!0};a.getTarget=function(b){a.direction=b;return"next"===b?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1};a.setProps=function(b,g,d){var e,f=b?b:(a.itemW+c.itemMargin)*a.move*a.animatingTo;e=-1*function(){if(h)return"setTouch"===g?b:m&&a.animatingTo===a.last?0:m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:a.animatingTo=== - a.last?a.limit:f;switch(g){case "setTotal":return m?(a.count-1-a.currentSlide+a.cloneOffset)*b:(a.currentSlide+a.cloneOffset)*b;case "setTouch":return b;case "jumpEnd":return m?b:a.count*b;case "jumpStart":return m?a.count*b:b;default:return b}}()+"px";a.transitions&&(e=l?"translate3d(0,"+e+",0)":"translate3d("+e+",0,0)",d=void 0!==d?d/1E3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",d));a.args[a.prop]=e;(a.transitions||void 0===d)&&a.container.css(a.args)};a.setup=function(b){if(r)a.slides.css({width:"100%", - "float":"left",marginRight:"-100%",position:"relative"}),"init"===b&&(p?a.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+c.animationSpeed/1E3+"s ease",zIndex:1}).eq(a.currentSlide).css({opacity:1,zIndex:2}):a.slides.eq(a.currentSlide).fadeIn(c.animationSpeed,c.easing)),c.smoothHeight&&f.smoothHeight();else{var g,n;"init"===b&&(a.viewport=d('
    ').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset= - 0,m&&(n=d.makeArray(a.slides).reverse(),a.slides=d(n),a.container.empty().append(a.slides)));c.animationLoop&&!h&&(a.cloneCount=2,a.cloneOffset=1,"init"!==b&&a.container.find(".clone").remove(),a.container.append(a.slides.first().clone().addClass("clone")).prepend(a.slides.last().clone().addClass("clone")));a.newSlides=d(c.selector,a);g=m?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset;l&&!h?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"), - setTimeout(function(){a.newSlides.css({display:"block"});a.doMath();a.viewport.height(a.h);a.setProps(g*a.h,"init")},"init"===b?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(g*a.computedW,"init"),setTimeout(function(){a.doMath();a.newSlides.css({width:a.computedW,"float":"left",display:"block"});c.smoothHeight&&f.smoothHeight()},"init"===b?100:0))}h||a.slides.removeClass(e+"active-slide").eq(a.currentSlide).addClass(e+"active-slide")};a.doMath=function(){var b=a.slides.first(), - d=c.itemMargin,e=c.minItems,f=c.maxItems;a.w=a.width();a.h=b.height();a.boxPadding=b.outerWidth()-b.width();h?(a.itemT=c.itemWidth+d,a.minW=e?e*a.itemT:a.w,a.maxW=f?f*a.itemT:a.w,a.itemW=a.minW>a.w?(a.w-d*e)/e:a.maxWa.w?a.w:c.itemWidth,a.visible=Math.floor(a.w/(a.itemW+d)),a.move=0a.w?(a.itemW+2*d)*a.count-a.w- - d:(a.itemW+d)*a.count-a.w-d):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1);a.computedW=a.itemW-a.boxPadding};a.update=function(b,d){a.doMath();h||(ba.controlNav.length)f.controlNav.update("add");else if("remove"===d&&!h||a.pagingCounta.last&&(a.currentSlide-=1,a.animatingTo-=1), - f.controlNav.update("remove",a.last);c.directionNav&&f.directionNav.update()};a.addSlide=function(b,e){var f=d(b);a.count+=1;a.last=a.count-1;l&&m?void 0!==e?a.slides.eq(a.count-e).after(f):a.container.prepend(f):void 0!==e?a.slides.eq(e).before(f):a.container.append(f);a.update(e,"add");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.added(a)};a.removeSlide=function(b){var e=isNaN(b)?a.slides.index(d(b)):b;a.count-=1;a.last=a.count-1;isNaN(b)?d(b,a.slides).remove():l&&m?a.slides.eq(a.last).remove(): - a.slides.eq(b).remove();a.doMath();a.update(e,"remove");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.removed(a)};f.init()};d.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7E3,animationSpeed:600,initDelay:0,randomize:!1,pauseOnAction:!0,pauseOnHover:!1,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next", - keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:0,maxItems:0,move:0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){}};d.fn.flexslider=function(i){void 0===i&&(i={});if("object"===typeof i)return this.each(function(){var a=d(this),c=a.find(i.selector?i.selector:".slides > li");1===c.length?(c.fadeIn(400), - i.start&&i.start(a)):void 0==a.data("flexslider")&&new d.flexslider(this,i)});var k=d(this).data("flexslider");switch(i){case "play":k.play();break;case "pause":k.pause();break;case "next":k.flexAnimate(k.getTarget("next"),!0);break;case "prev":case "previous":k.flexAnimate(k.getTarget("prev"),!0);break;default:"number"===typeof i&&k.flexAnimate(i,!0)}}})(jQuery); \ No newline at end of file diff --git a/branches/NoDemoClient/cms/js/jquery.cookiesdirective.js b/branches/NoDemoClient/cms/js/jquery.cookiesdirective.js deleted file mode 100644 index 3798de2..0000000 --- a/branches/NoDemoClient/cms/js/jquery.cookiesdirective.js +++ /dev/null @@ -1,294 +0,0 @@ -/* Cookies Directive - The rewrite. Now a jQuery plugin - * Version: 2.0.1 - * Author: Ollie Phillips - * 24 October 2013 - */ - -;(function($) { - $.cookiesDirective = function(options) { - - // Default Cookies Directive Settings - var settings = $.extend({ - //Options - explicitConsent: true, - position: 'top', - duration: 10, - limit: 0, - message: null, - cookieScripts: null, - privacyPolicyUri: 'privacy.html', - inlineAction: false, - scriptWrapper: function(){}, - // Styling - fontFamily: 'helvetica', - fontColor: '#FFFFFF', - fontSize: '13px', - backgroundColor: '#000000', - backgroundOpacity: '80', - linkColor: '#CA0000', - // Messages - multipleCookieScriptBeginningLabel: ' We use ', - and: ' and ', - multipleCookieScriptEndLabel: ' scripts, which all set cookies. ', - singleCookieScriptBeginningLabel: ' We use a ', - singleCookieScriptEndLabel: ' script which sets cookies.', - explicitCookieDeletionWarning: 'You may delete and block all cookies from this site, but parts of the site will not work.', - explicitFindOutMore: 'To find out more about cookies on this website, see our', - privacyPolicyLinkText: ' privacy policy', - explicitCheckboxLabel: 'You must tick the "I accept cookies from this site" box to accept', - explicitCookieAcceptanceLabel: 'I accept cookies from this site', - explicitCookieAcceptButtonText: 'Continue', - impliedDisclosureText: ' More details can be found in our', - impliedSubmitText: 'Do not show this message again', - }, options); - - // Perform consent checks - if(!getCookie('cookiesDirective')) { - if(settings.limit > 0) { - // Display limit in force, record the view - if(!getCookie('cookiesDisclosureCount')) { - setCookie('cookiesDisclosureCount',1,1); - } else { - var disclosureCount = getCookie('cookiesDisclosureCount'); - disclosureCount ++; - setCookie('cookiesDisclosureCount',disclosureCount,1); - } - - // Have we reached the display limit, if not make disclosure - if(settings.limit >= getCookie('cookiesDisclosureCount')) { - disclosure(settings); - } - } else { - // No display limit - disclosure(settings); - } - - // If we don't require explicit consent, load up our script wrapping function - if(!settings.explicitConsent) { - settings.scriptWrapper.call(); - } - } else { - // Cookies accepted, load script wrapping function - settings.scriptWrapper.call(); - } - }; - - // Used to load external javascript files into the DOM - $.cookiesDirective.loadScript = function(options) { - var settings = $.extend({ - uri: '', - appendTo: 'body' - }, options); - - var elementId = String(settings.appendTo); - var sA = document.createElement("script"); - sA.src = settings.uri; - sA.type = "text/javascript"; - sA.onload = sA.onreadystatechange = function() { - if ((!sA.readyState || sA.readyState == "loaded" || sA.readyState == "complete")) { - return; - } - } - switch(settings.appendTo) { - case 'head': - $('head').append(sA); - break; - case 'body': - $('body').append(sA); - break; - default: - $('#' + elementId).append(sA); - } - } - - // Helper scripts - // Get cookie - var getCookie = function(name) { - var nameEQ = name + "="; - var ca = document.cookie.split(';'); - for(var i=0;i < ca.length;i++) { - var c = ca[i]; - while (c.charAt(0)==' ') c = c.substring(1,c.length); - if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); - } - return null; - } - - // Set cookie - var setCookie = function(name,value,days) { - if (days) { - var date = new Date(); - date.setTime(date.getTime()+(days*24*60*60*1000)); - var expires = "; expires="+date.toGMTString(); - } - else var expires = ""; - document.cookie = name+"="+value+expires+"; path=/"; - } - - // Detect IE < 9 - var checkIE = function(){ - var version; - if (navigator.appName == 'Microsoft Internet Explorer') { - var ua = navigator.userAgent; - var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); - if (re.exec(ua) != null) { - version = parseFloat(RegExp.$1); - } - if (version <= 8.0) { - return true; - } else { - if(version == 9.0) { - if(document.compatMode == "BackCompat") { - // IE9 in quirks mode won't run the script properly, set to emulate IE8 - var mA = document.createElement("meta"); - mA.content = "IE=EmulateIE8"; - document.getElementsByTagName('head')[0].appendChild(mA); - return true; - } else { - return false; - } - } - return false; - } - } else { - return false; - } - } - - // Disclosure routines - var disclosure = function(options) { - var settings = options; - settings.css = 'fixed'; - - // IE 9 and lower has issues with position:fixed, either out the box or in compatibility mode - fix that - if(checkIE()) { - settings.position = 'top'; - settings.css = 'absolute'; - } - - // Any cookie setting scripts to disclose - var scriptsDisclosure = ''; - if (settings.cookieScripts) { - var scripts = settings.cookieScripts.split(','); - var scriptsCount = scripts.length; - var scriptDisclosureTxt = ''; - if(scriptsCount>1) { - for(var t=0; t < scriptsCount - 1; t++) { - scriptDisclosureTxt += scripts[t] + ', '; - } - - scriptsDisclosure = settings.multipleCookieScriptBeginningLabel + scriptDisclosureTxt.substring(0, scriptDisclosureTxt.length - 2) + settings.and + scripts[scriptsCount - 1] + settings.multipleCookieScriptEndLabel; - } else { - scriptsDisclosure = setting.singleCookieScriptBeginningLabel + scripts[0] + settings.singleCookieScriptEndLabel; - } - } - - // Create overlay, vary the disclosure based on explicit/implied consent - // Set our disclosure/message if one not supplied - var html = ''; - html += '
    '; - html += '
    '; - html += '
    '; - - if(!settings.message) { - if(settings.explicitConsent) { - // Explicit consent message - settings.message = 'This site uses cookies. Some of the cookies we '; - settings.message += 'use are essential for parts of the site to operate and have already been set.'; - } else { - // Implied consent message - settings.message = 'We have placed cookies on your computer to help make this website better.'; - } - } - html += settings.message; - - // Build the rest of the disclosure for implied and explicit consent - if(settings.explicitConsent) { - // Explicit consent disclosure - html += scriptsDisclosure + settings.explicitCookieDeletionWarning; - html += settings.explicitFindOutMore + ''+ settings.privacyPolicyLinkText +'.'; - html += '' - html += '
    ' + settings.explicitCookieAcceptanceLabel + ' '; - html += '
    '; - - } else { - // Implied consent disclosure - html += scriptsDisclosure + settings.impliedDisclosureText + ' ' + settings.privacyPolicyLinkText + '.'; - html += '
    '; - } - html += '
    '; - $('body').append(html); - - // Serve the disclosure, and be smarter about branching - var dp = settings.position.toLowerCase(); - if(dp != 'top' && dp!= 'bottom') { - dp = 'top'; - } - var opts = new Array(); - if(dp == 'top') { - opts['in'] = {'top':'0'}; - opts['out'] = {'top':'-300'}; - } else { - opts['in'] = {'bottom':'0'}; - opts['out'] = {'bottom':'-300'}; - } - - // Start animation - $('#cookiesdirective').animate(opts['in'], 1000, function() { - // Set event handlers depending on type of disclosure - if(settings.explicitConsent) { - // Explicit, need to check a box and click a button - $('#explicitsubmit').click(function() { - if($('#epdagree').is(':checked')) { - // Set a cookie to prevent this being displayed again - setCookie('cookiesDirective',1,365); - // Close the overlay - $('#cookiesdirective').animate(opts['out'],1000,function() { - // Remove the elements from the DOM and reload page - $('#cookiesdirective').remove(); - location.reload(true); - }); - } else { - // We need the box checked we want "explicit consent", display message - $('#epdnotick').css('display', 'block'); - } - }); - } else { - // Implied consent, just a button to close it - $('#impliedsubmit').click(function() { - // Set a cookie to prevent this being displayed again - setCookie('cookiesDirective',1,365); - // Close the overlay - $('#cookiesdirective').animate(opts['out'],1000,function() { - // Remove the elements from the DOM and reload page - $('#cookiesdirective').remove(); - }); - }); - } - - // Set a timer to remove the warning after 'settings.duration' seconds - setTimeout(function(){ - $('#cookiesdirective').animate({ - opacity:'0' - },2000, function(){ - $('#cookiesdirective').css(dp,'-300px'); - }); - }, settings.duration * 1000); - }); - } -})(jQuery); diff --git a/branches/NoDemoClient/cms/js/libs/jquery-1.9.0.min.js b/branches/NoDemoClient/cms/js/libs/jquery-1.9.0.min.js deleted file mode 100644 index 50d1b22..0000000 --- a/branches/NoDemoClient/cms/js/libs/jquery-1.9.0.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.9.0 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */(function(e,t){"use strict";function n(e){var t=e.length,n=st.type(e);return st.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e){var t=Tt[e]={};return st.each(e.match(lt)||[],function(e,n){t[n]=!0}),t}function i(e,n,r,i){if(st.acceptData(e)){var o,a,s=st.expando,u="string"==typeof n,l=e.nodeType,c=l?st.cache:e,f=l?e[s]:e[s]&&s;if(f&&c[f]&&(i||c[f].data)||!u||r!==t)return f||(l?e[s]=f=K.pop()||st.guid++:f=s),c[f]||(c[f]={},l||(c[f].toJSON=st.noop)),("object"==typeof n||"function"==typeof n)&&(i?c[f]=st.extend(c[f],n):c[f].data=st.extend(c[f].data,n)),o=c[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[st.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[st.camelCase(n)])):a=o,a}}function o(e,t,n){if(st.acceptData(e)){var r,i,o,a=e.nodeType,u=a?st.cache:e,l=a?e[st.expando]:st.expando;if(u[l]){if(t&&(r=n?u[l]:u[l].data)){st.isArray(t)?t=t.concat(st.map(t,st.camelCase)):t in r?t=[t]:(t=st.camelCase(t),t=t in r?[t]:t.split(" "));for(i=0,o=t.length;o>i;i++)delete r[t[i]];if(!(n?s:st.isEmptyObject)(r))return}(n||(delete u[l].data,s(u[l])))&&(a?st.cleanData([e],!0):st.support.deleteExpando||u!=u.window?delete u[l]:u[l]=null)}}}function a(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(Nt,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:wt.test(r)?st.parseJSON(r):r}catch(o){}st.data(e,n,r)}else r=t}return r}function s(e){var t;for(t in e)if(("data"!==t||!st.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(){return!0}function l(){return!1}function c(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function f(e,t,n){if(t=t||0,st.isFunction(t))return st.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return st.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=st.grep(e,function(e){return 1===e.nodeType});if(Wt.test(t))return st.filter(t,r,!n);t=st.filter(t,r)}return st.grep(e,function(e){return st.inArray(e,t)>=0===n})}function p(e){var t=zt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function d(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function h(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function g(e){var t=nn.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var n,r=0;null!=(n=e[r]);r++)st._data(n,"globalEval",!t||st._data(t[r],"globalEval"))}function y(e,t){if(1===t.nodeType&&st.hasData(e)){var n,r,i,o=st._data(e),a=st._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)st.event.add(t,n,s[n][r])}a.data&&(a.data=st.extend({},a.data))}}function v(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!st.support.noCloneEvent&&t[st.expando]){r=st._data(t);for(i in r.events)st.removeEvent(t,i,r.handle);t.removeAttribute(st.expando)}"script"===n&&t.text!==e.text?(h(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),st.support.html5Clone&&e.innerHTML&&!st.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Zt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var r,i,o=0,a=e.getElementsByTagName!==t?e.getElementsByTagName(n||"*"):e.querySelectorAll!==t?e.querySelectorAll(n||"*"):t;if(!a)for(a=[],r=e.childNodes||e;null!=(i=r[o]);o++)!n||st.nodeName(i,n)?a.push(i):st.merge(a,b(i,n));return n===t||n&&st.nodeName(e,n)?st.merge([e],a):a}function x(e){Zt.test(e.type)&&(e.defaultChecked=e.checked)}function T(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Nn.length;i--;)if(t=Nn[i]+n,t in e)return t;return r}function w(e,t){return e=t||e,"none"===st.css(e,"display")||!st.contains(e.ownerDocument,e)}function N(e,t){for(var n,r=[],i=0,o=e.length;o>i;i++)n=e[i],n.style&&(r[i]=st._data(n,"olddisplay"),t?(r[i]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&w(n)&&(r[i]=st._data(n,"olddisplay",S(n.nodeName)))):r[i]||w(n)||st._data(n,"olddisplay",st.css(n,"display")));for(i=0;o>i;i++)n=e[i],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?r[i]||"":"none"));return e}function C(e,t,n){var r=mn.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function k(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=st.css(e,n+wn[o],!0,i)),r?("content"===n&&(a-=st.css(e,"padding"+wn[o],!0,i)),"margin"!==n&&(a-=st.css(e,"border"+wn[o]+"Width",!0,i))):(a+=st.css(e,"padding"+wn[o],!0,i),"padding"!==n&&(a+=st.css(e,"border"+wn[o]+"Width",!0,i)));return a}function E(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=ln(e),a=st.support.boxSizing&&"border-box"===st.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=un(e,t,o),(0>i||null==i)&&(i=e.style[t]),yn.test(i))return i;r=a&&(st.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+k(e,t,n||(a?"border":"content"),r,o)+"px"}function S(e){var t=V,n=bn[e];return n||(n=A(e,t),"none"!==n&&n||(cn=(cn||st("