diff --git a/sites/all/themes/figureslibres/clameurs/apple-touch-icon-precomposed.png b/sites/all/themes/figureslibres/clameurs/apple-touch-icon-precomposed.png
new file mode 100755
index 00000000..b91580f9
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/apple-touch-icon-precomposed.png differ
diff --git a/sites/all/themes/figureslibres/clameurs/apple-touch-icon.png b/sites/all/themes/figureslibres/clameurs/apple-touch-icon.png
new file mode 100755
index 00000000..b91580f9
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/apple-touch-icon.png differ
diff --git a/sites/all/themes/figureslibres/clameurs/clameurs.info b/sites/all/themes/figureslibres/clameurs/clameurs.info
new file mode 100755
index 00000000..70faa7df
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/clameurs.info
@@ -0,0 +1,72 @@
+;----------// Theme informations
+
+name = "Clameurs"
+description = "html5 theme by figureslibres.graphics for clameurs.org"
+version = "7.x-0.1"
+core = "7.x"
+engine = "phptemplate"
+
+
+
+;----------// Styles
+stylesheets[all][] = "css/normalize.css"
+stylesheets[all][] = "css/styles.css"
+; non-semantic helper classes
+; Please define your styles before this section.
+stylesheets[all][] = "css/nonsemantic.css"
+
+
+
+
+;----------// Scripts
+
+scripts[] = "js/script.js"
+
+;----------// Regions
+
+regions[header] = Header
+regions[headerblock_left] = Headerblock left
+regions[headerblock_middle] = Headerblock middle
+regions[headerblock_right] = Headerblock right
+
+regions[help] = Help
+regions[highlighted] = Highlighted
+
+regions[sidebar_first] = First sidebar
+regions[content_top] = Top content
+regions[content] = Content
+regions[content_bottom] = Bottom content
+regions[sidebar_second] = Second sidebar
+
+regions[footer_top] = Footer top
+regions[footer_left] = Footer left
+regions[footer_middle_left] = Footer middle left
+regions[footer_middle_right] = Footer middle right
+regions[footer_right] = Footer right
+regions[footer_bottom] = Footer bottom
+
+
+
+;----------// Features
+
+features[] = logo
+features[] = favicon
+features[] = name
+features[] = slogan
+features[] = search
+features[] = comment_user_picture
+features[] = main_menu
+features[] = secondary_menu
+
+
+;----------// Panels
+; Panels layouts. You can place multiple layouts under the "layouts" folder.
+
+plugins[panels][layouts] = layouts
+
+
+;----------// Theme Setting Defaults
+
+settings[layout_method] = '0'
+settings[layout_enable_settings] = 'on'
+settings[layout_enable_method] = 'on'
diff --git a/sites/all/themes/figureslibres/clameurs/css/maintenance.css b/sites/all/themes/figureslibres/clameurs/css/maintenance.css
new file mode 100755
index 00000000..3ac4d57d
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/css/maintenance.css
@@ -0,0 +1,23 @@
+/* $Id: maintenance.css,v 1.1 2007/11/30 12:19:10 goba Exp $ */
+
+/* Update styles */
+#update-results {
+ margin-top: 3em;
+ padding: 0.25em;
+ border: 1px solid #ccc;
+ background: #eee;
+ font-size: smaller;
+}
+#update-results h2 {
+ margin-top: 0.25em;
+}
+#update-results h4 {
+ margin-bottom: 0.25em;
+}
+#update-results li.none {
+ color: #888;
+ font-style: italic;
+}
+#update-results li.failure strong {
+ color: #b63300;
+}
diff --git a/sites/all/themes/figureslibres/clameurs/css/nonsemantic.css b/sites/all/themes/figureslibres/clameurs/css/nonsemantic.css
new file mode 100755
index 00000000..c5035b69
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/css/nonsemantic.css
@@ -0,0 +1,64 @@
+/* ==|== non-semantic helper classes ========================================
+ Please define your styles before this section.
+ ========================================================================== */
+
+/* For image replacement */
+.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
+.ir br { display: none; }
+
+/* Hide from both screenreaders and browsers: h5bp.com/u */
+.hidden { display: none !important; visibility: hidden; }
+
+/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
+.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
+
+/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
+.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
+
+/* Hide visually and from screenreaders, but maintain layout */
+.invisible { visibility: hidden; }
+
+/* Contain floats: h5bp.com/q */
+.clearfix:before, .clearfix:after { content: ""; display: table; }
+.clearfix:after { clear: both; }
+.clearfix { zoom: 1; }
+
+
+
+/* ==|== media queries ======================================================
+ PLACEHOLDER Media Queries for Responsive Design.
+ These override the primary ('mobile first') styles
+ Modify as content requires.
+ ========================================================================== */
+
+@media only screen and (min-width: 480px) {
+ /* Style adjustments for viewports 480px and over go here */
+
+}
+
+@media only screen and (min-width: 768px) {
+ /* Style adjustments for viewports 768px and over go here */
+
+}
+
+
+
+/* ==|== print styles =======================================================
+ Print styles.
+ Inlined to avoid required HTTP connection: h5bp.com/r
+ ========================================================================== */
+
+@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; }
+}
diff --git a/sites/all/themes/figureslibres/clameurs/css/normalize.css b/sites/all/themes/figureslibres/clameurs/css/normalize.css
new file mode 100755
index 00000000..c2de8df9
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/css/normalize.css
@@ -0,0 +1,406 @@
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 8/9.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 8/9.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9.
+ * Hide the `template` element in IE, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background: transparent;
+}
+
+/**
+ * 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 variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari 5, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Correct font family set oddly in Safari 5 and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre-wrap;
+}
+
+/**
+ * Set consistent quote types.
+ */
+
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+
+/**
+ * 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;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari 5.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/**
+ * 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 8/9.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * 1. Correct font family not being inherited in all browsers.
+ * 2. Correct font size not being inherited in all browsers.
+ * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address Firefox 4+ 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 8+.
+ * 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.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * 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/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * 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 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 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/sites/all/themes/figureslibres/clameurs/css/styles.css b/sites/all/themes/figureslibres/clameurs/css/styles.css
new file mode 100755
index 00000000..a33a9ed8
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/css/styles.css
@@ -0,0 +1 @@
+.inline-block{display:moz-inline-stack;display:inline-block;vertical-align:top;zoom:1;*display:inline}.ie7 .inline-block,.ie8 .inline-block{display:inline}.OpenSans{font-family:"OpenSans",Arial,sans-serif}.metafont{font-family:"mtdbt2fF",Arial,sans-serif}a,a:visited{color:#000}a.active,li a.active{color:#00b4ff}body{font-family:"OpenSans",Arial,sans-serif;font-size:16px}.8{font-size:8px}.9{font-size:9px}.10{font-size:10px}.11{font-size:10px}.12{font-size:12px}.14{font-size:14px}.16{font-size:16px}.18{font-size:18px}.24{font-size:24px}.regular{font-weight:normal}.bold{font-weight:bold}.upper{text-transform:uppercase}.ital{font-style:italic}.normal{font-style:normal}h1,.h1{font-family:"OpenSans",Arial,sans-serif;font-size:14px;text-transform:uppercase;font-weight:bold}h2,.h2{font-family:"OpenSans",Arial,sans-serif;text-transform:uppercase;font-weight:normal;color:#000}h3,.h3{font-family:"OpenSans",Arial,sans-serif;font-size:12px;text-transform:uppercase;font-weight:bold}h4,.h4{font-family:"OpenSans",Arial,sans-serif;font-size:12px;font-weight:bold}h5,.h5{font-family:"OpenSans",Arial,sans-serif;font-size:12px;font-weight:bold;font-style:italic}h6,.h6{font-family:"OpenSans",Arial,sans-serif}.menu-item-1{font-family:"OpenSans",Arial,sans-serif;font-size:12px;font-weight:normal;text-transform:uppercase}.menu-item-2{font-family:"OpenSans",Arial,sans-serif;font-size:10px;font-weight:normal;text-transform:uppercase;font-style:italic}.nav-item{font-family:"OpenSans",Arial,sans-serif;font-size:10px;font-weight:normal}.legende{font-family:"OpenSans",Arial,sans-serif;font-size:10px;font-weight:normal;font-style:italic}.p{font-family:"OpenSans",Arial,sans-serif}.footer{font-size:10px}body{font-size:16px;font-family:Arial,"MS Trebuchet",sans-serif}a{color:#007bc2;text-decoration:none}h1{font-size:1.6em}h2{font-size:1.5em}h3{font-size:1.4em}h4{font-size:1.3em}h5{font-size:1.2em}h6{font-size:1.1em}input{font-family:Arial,"MS Trebuchet",sans-serif;font-size:.8em}#center,#sidebar-first,#sidebar-second,.footer-block .region,.header-block{display:inline-block;vertical-align:top}body.two-sidebars #center{width:54%}body.sidebar-first #center{width:73%}body.sidebar-second #center{width:80%}body.no-sidebars #center{width:100%}#sidebar-first{width:24%}#sidebar-second{width:18%}#header,#main,#footer{padding:1em}body{background-color:#dfdfdf}#container{width:1024px;margin:0 auto;background-color:#FFF}#header,#footer{background-color:#535353;color:#fff}.block,.panel-pane{border:1px solid #d1d1d1;padding:.5em;margin:.5em;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:#eaeaea}.footer-block .block{background-color:#353535;border:1px solid #1a1a1a}#footer-bottom{text-align:center}#footer-bottom .block{background-color:transparent;border:0 solid #999;font-size:.7em}#content{padding:1em}.logo h1,h1.page-title{font-size:2em}#header ul.menu li,#content-top ul.menu li,#content-bottom ul.menu li,#footer ul.menu li{display:inline-block;vertical-align:top}.views-row{margin-bottom:1em}.views-field-title{font-size:1.1em;font-weight:bold}.views-field-title a{color:#444;text-decoration:none}li,.item-list ul li{list-style:none inside url();margin-left:0}div.messages{padding:9px;margin:.5em 0 0;color:#036;background:#bdf;border:1px solid #ace;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div.warning{color:#840;background:#fe6;border-color:#ed5}div.error{color:#fff;background:#e63;border-color:#d52}div.error p.error{color:#333}div.status{color:#360;background:#cf8;border-color:#be7}ul.primary,.views-admin-links ul{font:13px/1.231 sans-serif;*font-size:small;border-collapse:collapse;padding:0 0 0 1em;white-space:nowrap;list-style:none;margin:5px;height:auto;line-height:normal;border-bottom:1px solid #bbb}ul.primary li,.views-admin-links li{display:inline}ul.primary li a,.views-admin-links li a{background-color:#ddd;border-color:#bbb;border-width:1px;border-style:solid solid none solid;height:auto;margin-right:.5em;padding:0 1em;text-decoration:none;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px}ul.primary li.active a{background-color:#fff;border:1px solid #bbb;border-bottom:#fff 1px solid}ul.primary li a:hover,.views-admin-links li a:hover{background-color:#eee;border-color:#ccc;border-bottom-color:#eee}ul.secondary{border-bottom:1px solid #bbb;padding:.5em 1em;margin:5px}ul.secondary li{display:inline;padding:0 1em;border-right:1px solid #ccc}ul.secondary a{padding:0;text-decoration:none}ul.secondary a.active{border-bottom:4px solid #999}#node-form .form-region-main{border-right:1px solid #bfbfbf;padding-right:10px;width:68%}#node-form .form-region-main label{float:left;min-width:25%}#node-form .form-region-main input.form-text{width:40%}#node-form .form-region-right{padding-left:5px}#node-form .form-region-right label{float:left;min-width:35%}#node-form .form-region-right input.form-text{width:60%}#node-form .form-region-main label.option,#node-form .form-region-right label.option{float:none}form:not(#views-ui-config-item-form) .form-item{position:relative}form:not(#views-ui-config-item-form) .form-item .description{position:absolute;bottom:140%;z-index:5;left:50%;color:#1a1a1a;line-height:1.1;background:url(../images/popup.png) 50% 100% no-repeat;width:240px;margin:0 0 -15px;padding:9px 10px 20px;display:none;border-top:1px solid #9f9f9f}form:not(#views-ui-config-item-form) .form-item:hover{z-index:1;height:auto}form:not(#views-ui-config-item-form) .form-item:hover>.description{display:block}fieldset{border:1px solid #d4d4d4;padding:10px;margin-bottom:1em;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}fieldset legend{font-size:1.6em}input.form-text{max-width:95%}table{width:100%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}table thead th{background-color:#CCC;padding:.5em 1em;text-align:left}table tbody tr.even,table tbody tr.odd{border-bottom:0 solid #ccc;padding:.1em .6em}table tbody tr.even{background-color:#EEE}table tbody tr.odd{background-color:#e5e5e5}table tbody td{padding:.5em 1em;text-align:left}td.active{background-color:transparent}
\ No newline at end of file
diff --git a/sites/all/themes/figureslibres/clameurs/icon.png b/sites/all/themes/figureslibres/clameurs/icon.png
new file mode 100755
index 00000000..ea1a1090
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/icon.png differ
diff --git a/sites/all/themes/gui/jee/inc/template.custom-functions.inc b/sites/all/themes/figureslibres/clameurs/inc/template.custom-functions.inc
similarity index 100%
rename from sites/all/themes/gui/jee/inc/template.custom-functions.inc
rename to sites/all/themes/figureslibres/clameurs/inc/template.custom-functions.inc
diff --git a/sites/all/themes/figureslibres/clameurs/inc/template.theme-overrides.inc b/sites/all/themes/figureslibres/clameurs/inc/template.theme-overrides.inc
new file mode 100755
index 00000000..909d2747
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/inc/template.theme-overrides.inc
@@ -0,0 +1,215 @@
+type == 'forum') {
+ return '
';
+ }
+ else {
+ return '';
+ }
+}
+
+/**
+ * Theme output of user signature.
+ *
+ * @ingroup themeable
+ */
+function clameurs_user_signature($signature) {
+ return ''.$signature.'
';
+}
+
+/**
+ * Returns a formatted list of recent comments to be displayed in the comment block.
+ *
+ * @return
+ * The comment list HTML.
+ * @ingroup themeable
+ */
+function clameurs_comment_block() {
+ $items = array();
+ foreach (comment_get_recent() as $comment) {
+ $items[] = l($comment->subject, 'node/'. $comment->nid, array('fragment' => 'comment-'. $comment->cid)) .'
'. t('@time ago', array('@time' => format_interval(time() - $comment->timestamp)));
+ }
+ if ($items) {
+ return theme('item_list', $items);
+ }
+}
+
+/**
+ * Themes a single comment and related items.
+ *
+ * @param $comment
+ * The comment object.
+ * @param $node
+ * The comment node.
+ * @param $links
+ * An associative array containing control links suitable for passing into
+ * theme_links(). These are generated by modules implementing hook_link() with
+ * $type='comment'. Typical examples are links for editing and deleting
+ * comments.
+ * @param $visible
+ * Switches between folded/unfolded view. If TRUE the comments are visible, if
+ * FALSE the comments are folded.
+ * @ingroup themeable
+ */
+function clameurs_comment_view($comment, $node, $links = array(), $visible = TRUE) {
+ static $first_new = TRUE;
+
+ $output = '';
+ $comment->new = node_mark($comment->nid, $comment->timestamp);
+ if ($first_new && $comment->new != MARK_READ) {
+ // Assign the anchor only for the first new comment. This avoids duplicate
+ // id attributes on a page.
+ $first_new = FALSE;
+ $output .= "\n";
+ }
+
+ $output .= "\n";
+
+ // Switch to folded/unfolded view of the comment
+ if ($visible) {
+ $comment->comment = check_markup($comment->comment, $comment->format, FALSE);
+
+ // Comment API hook
+ comment_invoke_comment($comment, 'view');
+
+ $output .= theme('comment', $comment, $node, $links);
+ }
+ else {
+ $output .= theme('comment_folded', $comment);
+ }
+
+ return $output;
+}
+
+
+/**
+ * Theme comment controls box where the user can change the default display mode and display order of comments.
+ *
+ * @param $form
+ * The form structure.
+ * @ingroup themeable
+ */
+function clameurs_comment_controls($form) {
+ $output = '';
+ $output .= drupal_render($form);
+ $output .= '
';
+ $output .= ''. t('Select your preferred way to display the comments and click "Save settings" to activate your changes.') .'
';
+ return theme('box', t('Comment viewing options'), $output);
+}
+
+/**
+ * Theme comment flat collapsed view.
+ *
+ * @param $comment
+ * The comment to be themed.
+ * @param $node
+ * The comment node.
+ * @ingroup themeable
+ */
+function clameurs_comment_flat_collapsed($comment, $node) {
+ return theme('comment_view', $comment, $node, '', 0);
+}
+
+/**
+ * Theme comment flat expanded view.
+ *
+ * @param $comment
+ * The comment to be themed.
+ * @param $node
+ * The comment node.
+ * @ingroup themeable
+ */
+function clameurs_comment_flat_expanded($comment, $node) {
+ $links = module_invoke_all('link', 'comment', $comment, 0);
+ drupal_alter('link', $links, $node, $comment);
+ return theme('comment_view', $comment, $node, $links);
+}
+
+/**
+ * Theme comment thread collapsed view.
+ *
+ * @param $comment
+ * The comment to be themed.
+ * @param $node
+ * The comment node.
+ * @ingroup themeable
+ */
+function clameurs_comment_thread_collapsed($comment, $node) {
+ return theme('comment_view', $comment, $node, '', 0);
+}
+
+/**
+ * Theme comment thread expanded view.
+ *
+ * @param $comment
+ * The comment to be themed.
+ * @param $node
+ * The comment node.
+ * @ingroup themeable
+ */
+function clameurs_comment_thread_expanded($comment, $node) {
+ $links = module_invoke_all('link', 'comment', $comment, 0);
+ drupal_alter('link', $links, $node, $comment);
+ return theme('comment_view', $comment, $node, $links);
+}
+
+/**
+ * Theme a "you can't post comments" notice.
+ *
+ * @param $node
+ * The comment node.
+ * @ingroup themeable
+ */
+function clameurs_comment_post_forbidden($node) {
+ global $user;
+ static $authenticated_post_comments;
+
+ if (!$user->uid) {
+ if (!isset($authenticated_post_comments)) {
+ // We only output any link if we are certain, that users get permission
+ // to post comments by logging in. We also locally cache this information.
+ $authenticated_post_comments = array_key_exists(DRUPAL_AUTHENTICATED_RID, user_roles(TRUE, 'post comments') + user_roles(TRUE, 'post comments without approval'));
+ }
+
+ if ($authenticated_post_comments) {
+ // We cannot use drupal_get_destination() because these links
+ // sometimes appear on /node and taxonomy listing pages.
+ if (variable_get('comment_form_location_'. $node->type, COMMENT_FORM_SEPARATE_PAGE) == COMMENT_FORM_SEPARATE_PAGE) {
+ $destination = 'destination='. rawurlencode("comment/reply/$node->nid#comment-form");
+ }
+ else {
+ $destination = 'destination='. rawurlencode("node/$node->nid#comment-form");
+ }
+
+ if (variable_get('user_register', 1)) {
+ // Users can register themselves.
+ return t('Login or register to post comments', array('@login' => url('user/login', array('query' => $destination)), '@register' => url('user/register', array('query' => $destination))));
+ }
+ else {
+ // Only admins can add new users, no public registration.
+ return t('Login to post comments', array('@login' => url('user/login', array('query' => $destination))));
+ }
+ }
+ }
+}
+
+
+/**
+ * Theme a "Submitted by ..." notice.
+ *
+ * @param $comment
+ * The comment.
+ * @ingroup themeable
+ */
+function clameurs_comment_submitted($comment) {
+ return t('Submitted by !username on @datetime.',
+ array(
+ '!username' => theme('username', $comment),
+ '@datetime' => format_date($comment->timestamp)
+ ));
+}
diff --git a/sites/all/themes/figureslibres/clameurs/js/libs/iscroll.js b/sites/all/themes/figureslibres/clameurs/js/libs/iscroll.js
new file mode 100755
index 00000000..f8576f00
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/js/libs/iscroll.js
@@ -0,0 +1,1104 @@
+/*!
+ * iScroll v4.2.5 ~ Copyright (c) 2012 Matteo Spinelli, http://cubiq.org
+ * Released under MIT license, http://cubiq.org/license
+ */
+(function(window, doc){
+var m = Math,
+ dummyStyle = doc.createElement('div').style,
+ vendor = (function () {
+ var vendors = 't,webkitT,MozT,msT,OT'.split(','),
+ t,
+ i = 0,
+ l = vendors.length;
+
+ for ( ; i < l; i++ ) {
+ t = vendors[i] + 'ransform';
+ if ( t in dummyStyle ) {
+ return vendors[i].substr(0, vendors[i].length - 1);
+ }
+ }
+
+ return false;
+ })(),
+ cssVendor = vendor ? '-' + vendor.toLowerCase() + '-' : '',
+
+ // Style properties
+ transform = prefixStyle('transform'),
+ transitionProperty = prefixStyle('transitionProperty'),
+ transitionDuration = prefixStyle('transitionDuration'),
+ transformOrigin = prefixStyle('transformOrigin'),
+ transitionTimingFunction = prefixStyle('transitionTimingFunction'),
+ transitionDelay = prefixStyle('transitionDelay'),
+
+ // Browser capabilities
+ isAndroid = (/android/gi).test(navigator.appVersion),
+ isIDevice = (/iphone|ipad/gi).test(navigator.appVersion),
+ isTouchPad = (/hp-tablet/gi).test(navigator.appVersion),
+
+ has3d = prefixStyle('perspective') in dummyStyle,
+ hasTouch = 'ontouchstart' in window && !isTouchPad,
+ hasTransform = vendor !== false,
+ hasTransitionEnd = prefixStyle('transition') in dummyStyle,
+
+ RESIZE_EV = 'onorientationchange' in window ? 'orientationchange' : 'resize',
+ START_EV = hasTouch ? 'touchstart' : 'mousedown',
+ MOVE_EV = hasTouch ? 'touchmove' : 'mousemove',
+ END_EV = hasTouch ? 'touchend' : 'mouseup',
+ CANCEL_EV = hasTouch ? 'touchcancel' : 'mouseup',
+ TRNEND_EV = (function () {
+ if ( vendor === false ) return false;
+
+ var transitionEnd = {
+ '' : 'transitionend',
+ 'webkit' : 'webkitTransitionEnd',
+ 'Moz' : 'transitionend',
+ 'O' : 'otransitionend',
+ 'ms' : 'MSTransitionEnd'
+ };
+
+ return transitionEnd[vendor];
+ })(),
+
+ nextFrame = (function() {
+ return window.requestAnimationFrame ||
+ window.webkitRequestAnimationFrame ||
+ window.mozRequestAnimationFrame ||
+ window.oRequestAnimationFrame ||
+ window.msRequestAnimationFrame ||
+ function(callback) { return setTimeout(callback, 1); };
+ })(),
+ cancelFrame = (function () {
+ return window.cancelRequestAnimationFrame ||
+ window.webkitCancelAnimationFrame ||
+ window.webkitCancelRequestAnimationFrame ||
+ window.mozCancelRequestAnimationFrame ||
+ window.oCancelRequestAnimationFrame ||
+ window.msCancelRequestAnimationFrame ||
+ clearTimeout;
+ })(),
+
+ // Helpers
+ translateZ = has3d ? ' translateZ(0)' : '',
+
+ // Constructor
+ iScroll = function (el, options) {
+ var that = this,
+ i;
+
+ that.wrapper = typeof el == 'object' ? el : doc.getElementById(el);
+ that.wrapper.style.overflow = 'hidden';
+ that.scroller = that.wrapper.children[0];
+
+ // Default options
+ that.options = {
+ hScroll: true,
+ vScroll: true,
+ x: 0,
+ y: 0,
+ bounce: true,
+ bounceLock: false,
+ momentum: true,
+ lockDirection: true,
+ useTransform: true,
+ useTransition: false,
+ topOffset: 0,
+ checkDOMChanges: false, // Experimental
+ handleClick: true,
+
+ // Scrollbar
+ hScrollbar: true,
+ vScrollbar: true,
+ fixedScrollbar: isAndroid,
+ hideScrollbar: isIDevice,
+ fadeScrollbar: isIDevice && has3d,
+ scrollbarClass: '',
+
+ // Zoom
+ zoom: false,
+ zoomMin: 1,
+ zoomMax: 4,
+ doubleTapZoom: 2,
+ wheelAction: 'scroll',
+
+ // Snap
+ snap: false,
+ snapThreshold: 1,
+
+ // Events
+ onRefresh: null,
+ onBeforeScrollStart: function (e) { e.preventDefault(); },
+ onScrollStart: null,
+ onBeforeScrollMove: null,
+ onScrollMove: null,
+ onBeforeScrollEnd: null,
+ onScrollEnd: null,
+ onTouchEnd: null,
+ onDestroy: null,
+ onZoomStart: null,
+ onZoom: null,
+ onZoomEnd: null
+ };
+
+ // User defined options
+ for (i in options) that.options[i] = options[i];
+
+ // Set starting position
+ that.x = that.options.x;
+ that.y = that.options.y;
+
+ // Normalize options
+ that.options.useTransform = hasTransform && that.options.useTransform;
+ that.options.hScrollbar = that.options.hScroll && that.options.hScrollbar;
+ that.options.vScrollbar = that.options.vScroll && that.options.vScrollbar;
+ that.options.zoom = that.options.useTransform && that.options.zoom;
+ that.options.useTransition = hasTransitionEnd && that.options.useTransition;
+
+ // Helpers FIX ANDROID BUG!
+ // translate3d and scale doesn't work together!
+ // Ignoring 3d ONLY WHEN YOU SET that.options.zoom
+ if ( that.options.zoom && isAndroid ){
+ translateZ = '';
+ }
+
+ // Set some default styles
+ that.scroller.style[transitionProperty] = that.options.useTransform ? cssVendor + 'transform' : 'top left';
+ that.scroller.style[transitionDuration] = '0';
+ that.scroller.style[transformOrigin] = '0 0';
+ if (that.options.useTransition) that.scroller.style[transitionTimingFunction] = 'cubic-bezier(0.33,0.66,0.66,1)';
+
+ if (that.options.useTransform) that.scroller.style[transform] = 'translate(' + that.x + 'px,' + that.y + 'px)' + translateZ;
+ else that.scroller.style.cssText += ';position:absolute;top:' + that.y + 'px;left:' + that.x + 'px';
+
+ if (that.options.useTransition) that.options.fixedScrollbar = true;
+
+ that.refresh();
+
+ that._bind(RESIZE_EV, window);
+ that._bind(START_EV);
+ if (!hasTouch) {
+ if (that.options.wheelAction != 'none') {
+ that._bind('DOMMouseScroll');
+ that._bind('mousewheel');
+ }
+ }
+
+ if (that.options.checkDOMChanges) that.checkDOMTime = setInterval(function () {
+ that._checkDOMChanges();
+ }, 500);
+ };
+
+// Prototype
+iScroll.prototype = {
+ enabled: true,
+ x: 0,
+ y: 0,
+ steps: [],
+ scale: 1,
+ currPageX: 0, currPageY: 0,
+ pagesX: [], pagesY: [],
+ aniTime: null,
+ wheelZoomCount: 0,
+
+ handleEvent: function (e) {
+ var that = this;
+ switch(e.type) {
+ case START_EV:
+ if (!hasTouch && e.button !== 0) return;
+ that._start(e);
+ break;
+ case MOVE_EV: that._move(e); break;
+ case END_EV:
+ case CANCEL_EV: that._end(e); break;
+ case RESIZE_EV: that._resize(); break;
+ case 'DOMMouseScroll': case 'mousewheel': that._wheel(e); break;
+ case TRNEND_EV: that._transitionEnd(e); break;
+ }
+ },
+
+ _checkDOMChanges: function () {
+ if (this.moved || this.zoomed || this.animating ||
+ (this.scrollerW == this.scroller.offsetWidth * this.scale && this.scrollerH == this.scroller.offsetHeight * this.scale)) return;
+
+ this.refresh();
+ },
+
+ _scrollbar: function (dir) {
+ var that = this,
+ bar;
+
+ if (!that[dir + 'Scrollbar']) {
+ if (that[dir + 'ScrollbarWrapper']) {
+ if (hasTransform) that[dir + 'ScrollbarIndicator'].style[transform] = '';
+ that[dir + 'ScrollbarWrapper'].parentNode.removeChild(that[dir + 'ScrollbarWrapper']);
+ that[dir + 'ScrollbarWrapper'] = null;
+ that[dir + 'ScrollbarIndicator'] = null;
+ }
+
+ return;
+ }
+
+ if (!that[dir + 'ScrollbarWrapper']) {
+ // Create the scrollbar wrapper
+ bar = doc.createElement('div');
+
+ if (that.options.scrollbarClass) bar.className = that.options.scrollbarClass + dir.toUpperCase();
+ else bar.style.cssText = 'position:absolute;z-index:100;' + (dir == 'h' ? 'height:7px;bottom:1px;left:2px;right:' + (that.vScrollbar ? '7' : '2') + 'px' : 'width:7px;bottom:' + (that.hScrollbar ? '7' : '2') + 'px;top:2px;right:1px');
+
+ bar.style.cssText += ';pointer-events:none;' + cssVendor + 'transition-property:opacity;' + cssVendor + 'transition-duration:' + (that.options.fadeScrollbar ? '350ms' : '0') + ';overflow:hidden;opacity:' + (that.options.hideScrollbar ? '0' : '1');
+
+ that.wrapper.appendChild(bar);
+ that[dir + 'ScrollbarWrapper'] = bar;
+
+ // Create the scrollbar indicator
+ bar = doc.createElement('div');
+ if (!that.options.scrollbarClass) {
+ bar.style.cssText = 'position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);' + cssVendor + 'background-clip:padding-box;' + cssVendor + 'box-sizing:border-box;' + (dir == 'h' ? 'height:100%' : 'width:100%') + ';' + cssVendor + 'border-radius:3px;border-radius:3px';
+ }
+ bar.style.cssText += ';pointer-events:none;' + cssVendor + 'transition-property:' + cssVendor + 'transform;' + cssVendor + 'transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);' + cssVendor + 'transition-duration:0;' + cssVendor + 'transform: translate(0,0)' + translateZ;
+ if (that.options.useTransition) bar.style.cssText += ';' + cssVendor + 'transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)';
+
+ that[dir + 'ScrollbarWrapper'].appendChild(bar);
+ that[dir + 'ScrollbarIndicator'] = bar;
+ }
+
+ if (dir == 'h') {
+ that.hScrollbarSize = that.hScrollbarWrapper.clientWidth;
+ that.hScrollbarIndicatorSize = m.max(m.round(that.hScrollbarSize * that.hScrollbarSize / that.scrollerW), 8);
+ that.hScrollbarIndicator.style.width = that.hScrollbarIndicatorSize + 'px';
+ that.hScrollbarMaxScroll = that.hScrollbarSize - that.hScrollbarIndicatorSize;
+ that.hScrollbarProp = that.hScrollbarMaxScroll / that.maxScrollX;
+ } else {
+ that.vScrollbarSize = that.vScrollbarWrapper.clientHeight;
+ that.vScrollbarIndicatorSize = m.max(m.round(that.vScrollbarSize * that.vScrollbarSize / that.scrollerH), 8);
+ that.vScrollbarIndicator.style.height = that.vScrollbarIndicatorSize + 'px';
+ that.vScrollbarMaxScroll = that.vScrollbarSize - that.vScrollbarIndicatorSize;
+ that.vScrollbarProp = that.vScrollbarMaxScroll / that.maxScrollY;
+ }
+
+ // Reset position
+ that._scrollbarPos(dir, true);
+ },
+
+ _resize: function () {
+ var that = this;
+ setTimeout(function () { that.refresh(); }, isAndroid ? 200 : 0);
+ },
+
+ _pos: function (x, y) {
+ if (this.zoomed) return;
+
+ x = this.hScroll ? x : 0;
+ y = this.vScroll ? y : 0;
+
+ if (this.options.useTransform) {
+ this.scroller.style[transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + this.scale + ')' + translateZ;
+ } else {
+ x = m.round(x);
+ y = m.round(y);
+ this.scroller.style.left = x + 'px';
+ this.scroller.style.top = y + 'px';
+ }
+
+ this.x = x;
+ this.y = y;
+
+ this._scrollbarPos('h');
+ this._scrollbarPos('v');
+ },
+
+ _scrollbarPos: function (dir, hidden) {
+ var that = this,
+ pos = dir == 'h' ? that.x : that.y,
+ size;
+
+ if (!that[dir + 'Scrollbar']) return;
+
+ pos = that[dir + 'ScrollbarProp'] * pos;
+
+ if (pos < 0) {
+ if (!that.options.fixedScrollbar) {
+ size = that[dir + 'ScrollbarIndicatorSize'] + m.round(pos * 3);
+ if (size < 8) size = 8;
+ that[dir + 'ScrollbarIndicator'].style[dir == 'h' ? 'width' : 'height'] = size + 'px';
+ }
+ pos = 0;
+ } else if (pos > that[dir + 'ScrollbarMaxScroll']) {
+ if (!that.options.fixedScrollbar) {
+ size = that[dir + 'ScrollbarIndicatorSize'] - m.round((pos - that[dir + 'ScrollbarMaxScroll']) * 3);
+ if (size < 8) size = 8;
+ that[dir + 'ScrollbarIndicator'].style[dir == 'h' ? 'width' : 'height'] = size + 'px';
+ pos = that[dir + 'ScrollbarMaxScroll'] + (that[dir + 'ScrollbarIndicatorSize'] - size);
+ } else {
+ pos = that[dir + 'ScrollbarMaxScroll'];
+ }
+ }
+
+ that[dir + 'ScrollbarWrapper'].style[transitionDelay] = '0';
+ that[dir + 'ScrollbarWrapper'].style.opacity = hidden && that.options.hideScrollbar ? '0' : '1';
+ that[dir + 'ScrollbarIndicator'].style[transform] = 'translate(' + (dir == 'h' ? pos + 'px,0)' : '0,' + pos + 'px)') + translateZ;
+ },
+
+ _start: function (e) {
+ var that = this,
+ point = hasTouch ? e.touches[0] : e,
+ matrix, x, y,
+ c1, c2;
+
+ if (!that.enabled) return;
+
+ if (that.options.onBeforeScrollStart) that.options.onBeforeScrollStart.call(that, e);
+
+ if (that.options.useTransition || that.options.zoom) that._transitionTime(0);
+
+ that.moved = false;
+ that.animating = false;
+ that.zoomed = false;
+ that.distX = 0;
+ that.distY = 0;
+ that.absDistX = 0;
+ that.absDistY = 0;
+ that.dirX = 0;
+ that.dirY = 0;
+
+ // Gesture start
+ if (that.options.zoom && hasTouch && e.touches.length > 1) {
+ c1 = m.abs(e.touches[0].pageX-e.touches[1].pageX);
+ c2 = m.abs(e.touches[0].pageY-e.touches[1].pageY);
+ that.touchesDistStart = m.sqrt(c1 * c1 + c2 * c2);
+
+ that.originX = m.abs(e.touches[0].pageX + e.touches[1].pageX - that.wrapperOffsetLeft * 2) / 2 - that.x;
+ that.originY = m.abs(e.touches[0].pageY + e.touches[1].pageY - that.wrapperOffsetTop * 2) / 2 - that.y;
+
+ if (that.options.onZoomStart) that.options.onZoomStart.call(that, e);
+ }
+
+ if (that.options.momentum) {
+ if (that.options.useTransform) {
+ // Very lame general purpose alternative to CSSMatrix
+ matrix = getComputedStyle(that.scroller, null)[transform].replace(/[^0-9\-.,]/g, '').split(',');
+ x = +(matrix[12] || matrix[4]);
+ y = +(matrix[13] || matrix[5]);
+ } else {
+ x = +getComputedStyle(that.scroller, null).left.replace(/[^0-9-]/g, '');
+ y = +getComputedStyle(that.scroller, null).top.replace(/[^0-9-]/g, '');
+ }
+
+ if (x != that.x || y != that.y) {
+ if (that.options.useTransition) that._unbind(TRNEND_EV);
+ else cancelFrame(that.aniTime);
+ that.steps = [];
+ that._pos(x, y);
+ if (that.options.onScrollEnd) that.options.onScrollEnd.call(that);
+ }
+ }
+
+ that.absStartX = that.x; // Needed by snap threshold
+ that.absStartY = that.y;
+
+ that.startX = that.x;
+ that.startY = that.y;
+ that.pointX = point.pageX;
+ that.pointY = point.pageY;
+
+ that.startTime = e.timeStamp || Date.now();
+
+ if (that.options.onScrollStart) that.options.onScrollStart.call(that, e);
+
+ that._bind(MOVE_EV, window);
+ that._bind(END_EV, window);
+ that._bind(CANCEL_EV, window);
+ },
+
+ _move: function (e) {
+ var that = this,
+ point = hasTouch ? e.touches[0] : e,
+ deltaX = point.pageX - that.pointX,
+ deltaY = point.pageY - that.pointY,
+ newX = that.x + deltaX,
+ newY = that.y + deltaY,
+ c1, c2, scale,
+ timestamp = e.timeStamp || Date.now();
+
+ if (that.options.onBeforeScrollMove) that.options.onBeforeScrollMove.call(that, e);
+
+ // Zoom
+ if (that.options.zoom && hasTouch && e.touches.length > 1) {
+ c1 = m.abs(e.touches[0].pageX - e.touches[1].pageX);
+ c2 = m.abs(e.touches[0].pageY - e.touches[1].pageY);
+ that.touchesDist = m.sqrt(c1*c1+c2*c2);
+
+ that.zoomed = true;
+
+ scale = 1 / that.touchesDistStart * that.touchesDist * this.scale;
+
+ if (scale < that.options.zoomMin) scale = 0.5 * that.options.zoomMin * Math.pow(2.0, scale / that.options.zoomMin);
+ else if (scale > that.options.zoomMax) scale = 2.0 * that.options.zoomMax * Math.pow(0.5, that.options.zoomMax / scale);
+
+ that.lastScale = scale / this.scale;
+
+ newX = this.originX - this.originX * that.lastScale + this.x,
+ newY = this.originY - this.originY * that.lastScale + this.y;
+
+ this.scroller.style[transform] = 'translate(' + newX + 'px,' + newY + 'px) scale(' + scale + ')' + translateZ;
+
+ if (that.options.onZoom) that.options.onZoom.call(that, e);
+ return;
+ }
+
+ that.pointX = point.pageX;
+ that.pointY = point.pageY;
+
+ // Slow down if outside of the boundaries
+ if (newX > 0 || newX < that.maxScrollX) {
+ newX = that.options.bounce ? that.x + (deltaX / 2) : newX >= 0 || that.maxScrollX >= 0 ? 0 : that.maxScrollX;
+ }
+ if (newY > that.minScrollY || newY < that.maxScrollY) {
+ newY = that.options.bounce ? that.y + (deltaY / 2) : newY >= that.minScrollY || that.maxScrollY >= 0 ? that.minScrollY : that.maxScrollY;
+ }
+
+ that.distX += deltaX;
+ that.distY += deltaY;
+ that.absDistX = m.abs(that.distX);
+ that.absDistY = m.abs(that.distY);
+
+ if (that.absDistX < 6 && that.absDistY < 6) {
+ return;
+ }
+
+ // Lock direction
+ if (that.options.lockDirection) {
+ if (that.absDistX > that.absDistY + 5) {
+ newY = that.y;
+ deltaY = 0;
+ } else if (that.absDistY > that.absDistX + 5) {
+ newX = that.x;
+ deltaX = 0;
+ }
+ }
+
+ that.moved = true;
+ that._pos(newX, newY);
+ that.dirX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0;
+ that.dirY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0;
+
+ if (timestamp - that.startTime > 300) {
+ that.startTime = timestamp;
+ that.startX = that.x;
+ that.startY = that.y;
+ }
+
+ if (that.options.onScrollMove) that.options.onScrollMove.call(that, e);
+ },
+
+ _end: function (e) {
+ if (hasTouch && e.touches.length !== 0) return;
+
+ var that = this,
+ point = hasTouch ? e.changedTouches[0] : e,
+ target, ev,
+ momentumX = { dist:0, time:0 },
+ momentumY = { dist:0, time:0 },
+ duration = (e.timeStamp || Date.now()) - that.startTime,
+ newPosX = that.x,
+ newPosY = that.y,
+ distX, distY,
+ newDuration,
+ snap,
+ scale;
+
+ that._unbind(MOVE_EV, window);
+ that._unbind(END_EV, window);
+ that._unbind(CANCEL_EV, window);
+
+ if (that.options.onBeforeScrollEnd) that.options.onBeforeScrollEnd.call(that, e);
+
+ if (that.zoomed) {
+ scale = that.scale * that.lastScale;
+ scale = Math.max(that.options.zoomMin, scale);
+ scale = Math.min(that.options.zoomMax, scale);
+ that.lastScale = scale / that.scale;
+ that.scale = scale;
+
+ that.x = that.originX - that.originX * that.lastScale + that.x;
+ that.y = that.originY - that.originY * that.lastScale + that.y;
+
+ that.scroller.style[transitionDuration] = '200ms';
+ that.scroller.style[transform] = 'translate(' + that.x + 'px,' + that.y + 'px) scale(' + that.scale + ')' + translateZ;
+
+ that.zoomed = false;
+ that.refresh();
+
+ if (that.options.onZoomEnd) that.options.onZoomEnd.call(that, e);
+ return;
+ }
+
+ if (!that.moved) {
+ if (hasTouch) {
+ if (that.doubleTapTimer && that.options.zoom) {
+ // Double tapped
+ clearTimeout(that.doubleTapTimer);
+ that.doubleTapTimer = null;
+ if (that.options.onZoomStart) that.options.onZoomStart.call(that, e);
+ that.zoom(that.pointX, that.pointY, that.scale == 1 ? that.options.doubleTapZoom : 1);
+ if (that.options.onZoomEnd) {
+ setTimeout(function() {
+ that.options.onZoomEnd.call(that, e);
+ }, 200); // 200 is default zoom duration
+ }
+ } else if (this.options.handleClick) {
+ that.doubleTapTimer = setTimeout(function () {
+ that.doubleTapTimer = null;
+
+ // Find the last touched element
+ target = point.target;
+ while (target.nodeType != 1) target = target.parentNode;
+
+ if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA') {
+ ev = doc.createEvent('MouseEvents');
+ ev.initMouseEvent('click', true, true, e.view, 1,
+ point.screenX, point.screenY, point.clientX, point.clientY,
+ e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
+ 0, null);
+ ev._fake = true;
+ target.dispatchEvent(ev);
+ }
+ }, that.options.zoom ? 250 : 0);
+ }
+ }
+
+ that._resetPos(400);
+
+ if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
+ return;
+ }
+
+ if (duration < 300 && that.options.momentum) {
+ momentumX = newPosX ? that._momentum(newPosX - that.startX, duration, -that.x, that.scrollerW - that.wrapperW + that.x, that.options.bounce ? that.wrapperW : 0) : momentumX;
+ momentumY = newPosY ? that._momentum(newPosY - that.startY, duration, -that.y, (that.maxScrollY < 0 ? that.scrollerH - that.wrapperH + that.y - that.minScrollY : 0), that.options.bounce ? that.wrapperH : 0) : momentumY;
+
+ newPosX = that.x + momentumX.dist;
+ newPosY = that.y + momentumY.dist;
+
+ if ((that.x > 0 && newPosX > 0) || (that.x < that.maxScrollX && newPosX < that.maxScrollX)) momentumX = { dist:0, time:0 };
+ if ((that.y > that.minScrollY && newPosY > that.minScrollY) || (that.y < that.maxScrollY && newPosY < that.maxScrollY)) momentumY = { dist:0, time:0 };
+ }
+
+ if (momentumX.dist || momentumY.dist) {
+ newDuration = m.max(m.max(momentumX.time, momentumY.time), 10);
+
+ // Do we need to snap?
+ if (that.options.snap) {
+ distX = newPosX - that.absStartX;
+ distY = newPosY - that.absStartY;
+ if (m.abs(distX) < that.options.snapThreshold && m.abs(distY) < that.options.snapThreshold) { that.scrollTo(that.absStartX, that.absStartY, 200); }
+ else {
+ snap = that._snap(newPosX, newPosY);
+ newPosX = snap.x;
+ newPosY = snap.y;
+ newDuration = m.max(snap.time, newDuration);
+ }
+ }
+
+ that.scrollTo(m.round(newPosX), m.round(newPosY), newDuration);
+
+ if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
+ return;
+ }
+
+ // Do we need to snap?
+ if (that.options.snap) {
+ distX = newPosX - that.absStartX;
+ distY = newPosY - that.absStartY;
+ if (m.abs(distX) < that.options.snapThreshold && m.abs(distY) < that.options.snapThreshold) that.scrollTo(that.absStartX, that.absStartY, 200);
+ else {
+ snap = that._snap(that.x, that.y);
+ if (snap.x != that.x || snap.y != that.y) that.scrollTo(snap.x, snap.y, snap.time);
+ }
+
+ if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
+ return;
+ }
+
+ that._resetPos(200);
+ if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
+ },
+
+ _resetPos: function (time) {
+ var that = this,
+ resetX = that.x >= 0 ? 0 : that.x < that.maxScrollX ? that.maxScrollX : that.x,
+ resetY = that.y >= that.minScrollY || that.maxScrollY > 0 ? that.minScrollY : that.y < that.maxScrollY ? that.maxScrollY : that.y;
+
+ if (resetX == that.x && resetY == that.y) {
+ if (that.moved) {
+ that.moved = false;
+ if (that.options.onScrollEnd) that.options.onScrollEnd.call(that); // Execute custom code on scroll end
+ }
+
+ if (that.hScrollbar && that.options.hideScrollbar) {
+ if (vendor == 'webkit') that.hScrollbarWrapper.style[transitionDelay] = '300ms';
+ that.hScrollbarWrapper.style.opacity = '0';
+ }
+ if (that.vScrollbar && that.options.hideScrollbar) {
+ if (vendor == 'webkit') that.vScrollbarWrapper.style[transitionDelay] = '300ms';
+ that.vScrollbarWrapper.style.opacity = '0';
+ }
+
+ return;
+ }
+
+ that.scrollTo(resetX, resetY, time || 0);
+ },
+
+ _wheel: function (e) {
+ var that = this,
+ wheelDeltaX, wheelDeltaY,
+ deltaX, deltaY,
+ deltaScale;
+
+ if ('wheelDeltaX' in e) {
+ wheelDeltaX = e.wheelDeltaX / 12;
+ wheelDeltaY = e.wheelDeltaY / 12;
+ } else if('wheelDelta' in e) {
+ wheelDeltaX = wheelDeltaY = e.wheelDelta / 12;
+ } else if ('detail' in e) {
+ wheelDeltaX = wheelDeltaY = -e.detail * 3;
+ } else {
+ return;
+ }
+
+ if (that.options.wheelAction == 'zoom') {
+ deltaScale = that.scale * Math.pow(2, 1/3 * (wheelDeltaY ? wheelDeltaY / Math.abs(wheelDeltaY) : 0));
+ if (deltaScale < that.options.zoomMin) deltaScale = that.options.zoomMin;
+ if (deltaScale > that.options.zoomMax) deltaScale = that.options.zoomMax;
+
+ if (deltaScale != that.scale) {
+ if (!that.wheelZoomCount && that.options.onZoomStart) that.options.onZoomStart.call(that, e);
+ that.wheelZoomCount++;
+
+ that.zoom(e.pageX, e.pageY, deltaScale, 400);
+
+ setTimeout(function() {
+ that.wheelZoomCount--;
+ if (!that.wheelZoomCount && that.options.onZoomEnd) that.options.onZoomEnd.call(that, e);
+ }, 400);
+ }
+
+ return;
+ }
+
+ deltaX = that.x + wheelDeltaX;
+ deltaY = that.y + wheelDeltaY;
+
+ if (deltaX > 0) deltaX = 0;
+ else if (deltaX < that.maxScrollX) deltaX = that.maxScrollX;
+
+ if (deltaY > that.minScrollY) deltaY = that.minScrollY;
+ else if (deltaY < that.maxScrollY) deltaY = that.maxScrollY;
+
+ if (that.maxScrollY < 0) {
+ that.scrollTo(deltaX, deltaY, 0);
+ }
+ },
+
+ _transitionEnd: function (e) {
+ var that = this;
+
+ if (e.target != that.scroller) return;
+
+ that._unbind(TRNEND_EV);
+
+ that._startAni();
+ },
+
+
+ /**
+ *
+ * Utilities
+ *
+ */
+ _startAni: function () {
+ var that = this,
+ startX = that.x, startY = that.y,
+ startTime = Date.now(),
+ step, easeOut,
+ animate;
+
+ if (that.animating) return;
+
+ if (!that.steps.length) {
+ that._resetPos(400);
+ return;
+ }
+
+ step = that.steps.shift();
+
+ if (step.x == startX && step.y == startY) step.time = 0;
+
+ that.animating = true;
+ that.moved = true;
+
+ if (that.options.useTransition) {
+ that._transitionTime(step.time);
+ that._pos(step.x, step.y);
+ that.animating = false;
+ if (step.time) that._bind(TRNEND_EV);
+ else that._resetPos(0);
+ return;
+ }
+
+ animate = function () {
+ var now = Date.now(),
+ newX, newY;
+
+ if (now >= startTime + step.time) {
+ that._pos(step.x, step.y);
+ that.animating = false;
+ if (that.options.onAnimationEnd) that.options.onAnimationEnd.call(that); // Execute custom code on animation end
+ that._startAni();
+ return;
+ }
+
+ now = (now - startTime) / step.time - 1;
+ easeOut = m.sqrt(1 - now * now);
+ newX = (step.x - startX) * easeOut + startX;
+ newY = (step.y - startY) * easeOut + startY;
+ that._pos(newX, newY);
+ if (that.animating) that.aniTime = nextFrame(animate);
+ };
+
+ animate();
+ },
+
+ _transitionTime: function (time) {
+ time += 'ms';
+ this.scroller.style[transitionDuration] = time;
+ if (this.hScrollbar) this.hScrollbarIndicator.style[transitionDuration] = time;
+ if (this.vScrollbar) this.vScrollbarIndicator.style[transitionDuration] = time;
+ },
+
+ _momentum: function (dist, time, maxDistUpper, maxDistLower, size) {
+ var deceleration = 0.0006,
+ speed = m.abs(dist) / time,
+ newDist = (speed * speed) / (2 * deceleration),
+ newTime = 0, outsideDist = 0;
+
+ // Proportinally reduce speed if we are outside of the boundaries
+ if (dist > 0 && newDist > maxDistUpper) {
+ outsideDist = size / (6 / (newDist / speed * deceleration));
+ maxDistUpper = maxDistUpper + outsideDist;
+ speed = speed * maxDistUpper / newDist;
+ newDist = maxDistUpper;
+ } else if (dist < 0 && newDist > maxDistLower) {
+ outsideDist = size / (6 / (newDist / speed * deceleration));
+ maxDistLower = maxDistLower + outsideDist;
+ speed = speed * maxDistLower / newDist;
+ newDist = maxDistLower;
+ }
+
+ newDist = newDist * (dist < 0 ? -1 : 1);
+ newTime = speed / deceleration;
+
+ return { dist: newDist, time: m.round(newTime) };
+ },
+
+ _offset: function (el) {
+ var left = -el.offsetLeft,
+ top = -el.offsetTop;
+
+ while (el = el.offsetParent) {
+ left -= el.offsetLeft;
+ top -= el.offsetTop;
+ }
+
+ if (el != this.wrapper) {
+ left *= this.scale;
+ top *= this.scale;
+ }
+
+ return { left: left, top: top };
+ },
+
+ _snap: function (x, y) {
+ var that = this,
+ i, l,
+ page, time,
+ sizeX, sizeY;
+
+ // Check page X
+ page = that.pagesX.length - 1;
+ for (i=0, l=that.pagesX.length; i= that.pagesX[i]) {
+ page = i;
+ break;
+ }
+ }
+ if (page == that.currPageX && page > 0 && that.dirX < 0) page--;
+ x = that.pagesX[page];
+ sizeX = m.abs(x - that.pagesX[that.currPageX]);
+ sizeX = sizeX ? m.abs(that.x - x) / sizeX * 500 : 0;
+ that.currPageX = page;
+
+ // Check page Y
+ page = that.pagesY.length-1;
+ for (i=0; i= that.pagesY[i]) {
+ page = i;
+ break;
+ }
+ }
+ if (page == that.currPageY && page > 0 && that.dirY < 0) page--;
+ y = that.pagesY[page];
+ sizeY = m.abs(y - that.pagesY[that.currPageY]);
+ sizeY = sizeY ? m.abs(that.y - y) / sizeY * 500 : 0;
+ that.currPageY = page;
+
+ // Snap with constant speed (proportional duration)
+ time = m.round(m.max(sizeX, sizeY)) || 200;
+
+ return { x: x, y: y, time: time };
+ },
+
+ _bind: function (type, el, bubble) {
+ (el || this.scroller).addEventListener(type, this, !!bubble);
+ },
+
+ _unbind: function (type, el, bubble) {
+ (el || this.scroller).removeEventListener(type, this, !!bubble);
+ },
+
+
+ /**
+ *
+ * Public methods
+ *
+ */
+ destroy: function () {
+ var that = this;
+
+ that.scroller.style[transform] = '';
+
+ // Remove the scrollbars
+ that.hScrollbar = false;
+ that.vScrollbar = false;
+ that._scrollbar('h');
+ that._scrollbar('v');
+
+ // Remove the event listeners
+ that._unbind(RESIZE_EV, window);
+ that._unbind(START_EV);
+ that._unbind(MOVE_EV, window);
+ that._unbind(END_EV, window);
+ that._unbind(CANCEL_EV, window);
+
+ if (!that.options.hasTouch) {
+ that._unbind('DOMMouseScroll');
+ that._unbind('mousewheel');
+ }
+
+ if (that.options.useTransition) that._unbind(TRNEND_EV);
+
+ if (that.options.checkDOMChanges) clearInterval(that.checkDOMTime);
+
+ if (that.options.onDestroy) that.options.onDestroy.call(that);
+ },
+
+ refresh: function () {
+ var that = this,
+ offset,
+ i, l,
+ els,
+ pos = 0,
+ page = 0;
+
+ if (that.scale < that.options.zoomMin) that.scale = that.options.zoomMin;
+ that.wrapperW = that.wrapper.clientWidth || 1;
+ that.wrapperH = that.wrapper.clientHeight || 1;
+
+ that.minScrollY = -that.options.topOffset || 0;
+ that.scrollerW = m.round(that.scroller.offsetWidth * that.scale);
+ that.scrollerH = m.round((that.scroller.offsetHeight + that.minScrollY) * that.scale);
+ that.maxScrollX = that.wrapperW - that.scrollerW;
+ that.maxScrollY = that.wrapperH - that.scrollerH + that.minScrollY;
+ that.dirX = 0;
+ that.dirY = 0;
+
+ if (that.options.onRefresh) that.options.onRefresh.call(that);
+
+ that.hScroll = that.options.hScroll && that.maxScrollX < 0;
+ that.vScroll = that.options.vScroll && (!that.options.bounceLock && !that.hScroll || that.scrollerH > that.wrapperH);
+
+ that.hScrollbar = that.hScroll && that.options.hScrollbar;
+ that.vScrollbar = that.vScroll && that.options.vScrollbar && that.scrollerH > that.wrapperH;
+
+ offset = that._offset(that.wrapper);
+ that.wrapperOffsetLeft = -offset.left;
+ that.wrapperOffsetTop = -offset.top;
+
+ // Prepare snap
+ if (typeof that.options.snap == 'string') {
+ that.pagesX = [];
+ that.pagesY = [];
+ els = that.scroller.querySelectorAll(that.options.snap);
+ for (i=0, l=els.length; i= that.maxScrollX) {
+ that.pagesX[page] = pos;
+ pos = pos - that.wrapperW;
+ page++;
+ }
+ if (that.maxScrollX%that.wrapperW) that.pagesX[that.pagesX.length] = that.maxScrollX - that.pagesX[that.pagesX.length-1] + that.pagesX[that.pagesX.length-1];
+
+ pos = 0;
+ page = 0;
+ that.pagesY = [];
+ while (pos >= that.maxScrollY) {
+ that.pagesY[page] = pos;
+ pos = pos - that.wrapperH;
+ page++;
+ }
+ if (that.maxScrollY%that.wrapperH) that.pagesY[that.pagesY.length] = that.maxScrollY - that.pagesY[that.pagesY.length-1] + that.pagesY[that.pagesY.length-1];
+ }
+
+ // Prepare the scrollbars
+ that._scrollbar('h');
+ that._scrollbar('v');
+
+ if (!that.zoomed) {
+ that.scroller.style[transitionDuration] = '0';
+ that._resetPos(400);
+ }
+ },
+
+ scrollTo: function (x, y, time, relative) {
+ var that = this,
+ step = x,
+ i, l;
+
+ that.stop();
+
+ if (!step.length) step = [{ x: x, y: y, time: time, relative: relative }];
+
+ for (i=0, l=step.length; i 0 ? 0 : pos.left < that.maxScrollX ? that.maxScrollX : pos.left;
+ pos.top = pos.top > that.minScrollY ? that.minScrollY : pos.top < that.maxScrollY ? that.maxScrollY : pos.top;
+ time = time === undefined ? m.max(m.abs(pos.left)*2, m.abs(pos.top)*2) : time;
+
+ that.scrollTo(pos.left, pos.top, time);
+ },
+
+ scrollToPage: function (pageX, pageY, time) {
+ var that = this, x, y;
+
+ time = time === undefined ? 400 : time;
+
+ if (that.options.onScrollStart) that.options.onScrollStart.call(that);
+
+ if (that.options.snap) {
+ pageX = pageX == 'next' ? that.currPageX+1 : pageX == 'prev' ? that.currPageX-1 : pageX;
+ pageY = pageY == 'next' ? that.currPageY+1 : pageY == 'prev' ? that.currPageY-1 : pageY;
+
+ pageX = pageX < 0 ? 0 : pageX > that.pagesX.length-1 ? that.pagesX.length-1 : pageX;
+ pageY = pageY < 0 ? 0 : pageY > that.pagesY.length-1 ? that.pagesY.length-1 : pageY;
+
+ that.currPageX = pageX;
+ that.currPageY = pageY;
+ x = that.pagesX[pageX];
+ y = that.pagesY[pageY];
+ } else {
+ x = -that.wrapperW * pageX;
+ y = -that.wrapperH * pageY;
+ if (x < that.maxScrollX) x = that.maxScrollX;
+ if (y < that.maxScrollY) y = that.maxScrollY;
+ }
+
+ that.scrollTo(x, y, time);
+ },
+
+ disable: function () {
+ this.stop();
+ this._resetPos(0);
+ this.enabled = false;
+
+ // If disabled after touchstart we make sure that there are no left over events
+ this._unbind(MOVE_EV, window);
+ this._unbind(END_EV, window);
+ this._unbind(CANCEL_EV, window);
+ },
+
+ enable: function () {
+ this.enabled = true;
+ },
+
+ stop: function () {
+ if (this.options.useTransition) this._unbind(TRNEND_EV);
+ else cancelFrame(this.aniTime);
+ this.steps = [];
+ this.moved = false;
+ this.animating = false;
+ },
+
+ zoom: function (x, y, scale, time) {
+ var that = this,
+ relScale = scale / that.scale;
+
+ if (!that.options.useTransform) return;
+
+ that.zoomed = true;
+ time = time === undefined ? 200 : time;
+ x = x - that.wrapperOffsetLeft - that.x;
+ y = y - that.wrapperOffsetTop - that.y;
+ that.x = x - x * relScale + that.x;
+ that.y = y - y * relScale + that.y;
+
+ that.scale = scale;
+ that.refresh();
+
+ that.x = that.x > 0 ? 0 : that.x < that.maxScrollX ? that.maxScrollX : that.x;
+ that.y = that.y > that.minScrollY ? that.minScrollY : that.y < that.maxScrollY ? that.maxScrollY : that.y;
+
+ that.scroller.style[transitionDuration] = time + 'ms';
+ that.scroller.style[transform] = 'translate(' + that.x + 'px,' + that.y + 'px) scale(' + scale + ')' + translateZ;
+ that.zoomed = false;
+ },
+
+ isReady: function () {
+ return !this.moved && !this.zoomed && !this.animating;
+ }
+};
+
+function prefixStyle (style) {
+ if ( vendor === '' ) return style;
+
+ style = style.charAt(0).toUpperCase() + style.substr(1);
+ return vendor + style;
+}
+
+dummyStyle = null; // for the sake of it
+
+if (typeof exports !== 'undefined') exports.iScroll = iScroll;
+else window.iScroll = iScroll;
+
+})(window, document);
diff --git a/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.css b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.css
new file mode 100755
index 00000000..a051caed
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.css
@@ -0,0 +1,120 @@
+/*
+ * CSS Styles that are needed by jScrollPane for it to operate correctly.
+ *
+ * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane
+ * may not operate correctly without them.
+ */
+
+.jspContainer
+{
+ overflow: hidden;
+ position: relative;
+}
+
+.jspPane
+{
+ position: absolute;
+}
+
+.jspVerticalBar
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 16px;
+ height: 100%;
+ background: red;
+}
+
+.jspHorizontalBar
+{
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 16px;
+ background: red;
+}
+
+.jspVerticalBar *,
+.jspHorizontalBar *
+{
+ margin: 0;
+ padding: 0;
+}
+
+.jspCap
+{
+ display: none;
+}
+
+.jspHorizontalBar .jspCap
+{
+ float: left;
+}
+
+.jspTrack
+{
+ background: #dde;
+ position: relative;
+}
+
+.jspDrag
+{
+ background: #bbd;
+ position: relative;
+ top: 0;
+ left: 0;
+ cursor: pointer;
+}
+
+.jspHorizontalBar .jspTrack,
+.jspHorizontalBar .jspDrag
+{
+ float: left;
+ height: 100%;
+}
+
+.jspArrow
+{
+ background: #50506d;
+ text-indent: -20000px;
+ display: block;
+ cursor: pointer;
+}
+
+.jspArrow.jspDisabled
+{
+ cursor: default;
+ background: #80808d;
+}
+
+.jspVerticalBar .jspArrow
+{
+ height: 16px;
+}
+
+.jspHorizontalBar .jspArrow
+{
+ width: 16px;
+ float: left;
+ height: 100%;
+}
+
+.jspVerticalBar .jspArrow:focus
+{
+ outline: none;
+}
+
+.jspCorner
+{
+ background: #eeeef4;
+ float: left;
+ height: 100%;
+}
+
+/* Yuk! CSS Hack for IE6 3 pixel bug :( */
+* html .jspCorner
+{
+ margin: 0 -3px 0 0;
+}
\ No newline at end of file
diff --git a/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.min.js b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.min.js
new file mode 100755
index 00000000..f0142f42
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.jscrollpane.min.js
@@ -0,0 +1,11 @@
+/*
+ * jScrollPane - v2.0.0beta12 - 2012-05-14
+ * http://jscrollpane.kelvinluck.com/
+ *
+ * Copyright (c) 2010 Kelvin Luck
+ * Dual licensed under the MIT and GPL licenses.
+ */
+(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var ay,Q=this,Y,aj,v,al,T,Z,y,q,az,aE,au,i,I,h,j,aa,U,ap,X,t,A,aq,af,am,G,l,at,ax,x,av,aH,f,L,ai=true,P=true,aG=false,k=false,ao=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aH=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function ar(aQ){var aL,aN,aM,aJ,aI,aP,aO=false,aK=false;ay=aQ;if(Y===c){aI=D.scrollTop();aP=D.scrollLeft();D.css({overflow:"hidden",padding:0});aj=D.innerWidth()+f;v=D.innerHeight();D.width(aj);Y=b('').css("padding",aH).append(D.children());al=b('').css({width:aj+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aO=ay.stickToBottom&&K();aK=ay.stickToRight&&B();aJ=D.innerWidth()+f!=aj||D.outerHeight()!=v;if(aJ){aj=D.innerWidth()+f;v=D.innerHeight();al.css({width:aj+"px",height:v+"px"})}if(!aJ&&L==T&&Y.outerHeight()==Z){D.width(aj);return}L=T;Y.css("width","");D.width(aj);al.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aQ.contentWidth){T=aQ.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/aj;q=Z/v;az=q>1;aE=y>1;if(!(aE||az)){D.removeClass("jspScrollable");Y.css({top:0,width:al.width()-f});n();E();R();w()}else{D.addClass("jspScrollable");aL=ay.maintainPosition&&(I||aa);if(aL){aN=aC();aM=aA()}aF();z();F();if(aL){N(aK?(T-aj):aN,false);M(aO?(Z-v):aM,false)}J();ag();an();if(ay.enableKeyboardNavigation){S()}if(ay.clickOnTrack){p()}C();if(ay.hijackInternalLinks){m()}}if(ay.autoReinitialise&&!av){av=setInterval(function(){ar(ay)},ay.autoReinitialiseDelay)}else{if(!ay.autoReinitialise&&av){clearInterval(av)}}aI&&D.scrollTop(0)&&M(aI,false);aP&&D.scrollLeft(0)&&N(aP,false);D.trigger("jsp-initialised",[aE||az])}function aF(){if(az){al.append(b('').append(b(''),b('').append(b('').append(b(''),b(''))),b('')));U=al.find(">.jspVerticalBar");ap=U.find(">.jspTrack");au=ap.find(">.jspDrag");if(ay.showArrows){aq=b('').bind("mousedown.jsp",aD(0,-1)).bind("click.jsp",aB);af=b('').bind("mousedown.jsp",aD(0,1)).bind("click.jsp",aB);if(ay.arrowScrollOnHover){aq.bind("mouseover.jsp",aD(0,-1,aq));af.bind("mouseover.jsp",aD(0,1,af))}ak(ap,ay.verticalArrowPositions,aq,af)}t=v;al.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});au.hover(function(){au.addClass("jspHover")},function(){au.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);au.addClass("jspActive");var s=aI.pageY-au.position().top;b("html").bind("mousemove.jsp",function(aJ){V(aJ.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});o()}}function o(){ap.height(t+"px");I=0;X=ay.verticalGutter+ap.outerWidth();Y.width(aj-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aE){al.append(b('').append(b(''),b('').append(b('').append(b(''),b(''))),b('')));am=al.find(">.jspHorizontalBar");G=am.find(">.jspTrack");h=G.find(">.jspDrag");if(ay.showArrows){ax=b('').bind("mousedown.jsp",aD(-1,0)).bind("click.jsp",aB);x=b('').bind("mousedown.jsp",aD(1,0)).bind("click.jsp",aB);
+if(ay.arrowScrollOnHover){ax.bind("mouseover.jsp",aD(-1,0,ax));x.bind("mouseover.jsp",aD(1,0,x))}ak(G,ay.horizontalArrowPositions,ax,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);h.addClass("jspActive");var s=aI.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aJ){W(aJ.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});l=al.innerWidth();ah()}}function ah(){al.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aE&&az){var aI=G.outerHeight(),s=ap.outerWidth();t-=aI;b(am).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;aj-=aI;G.parent().append(b('').css("width",aI+"px"));o();ah()}if(aE){Y.width((al.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aE){at=Math.ceil(1/y*l);if(at>ay.horizontalDragMaxWidth){at=ay.horizontalDragMaxWidth}else{if(atay.verticalDragMaxHeight){A=ay.verticalDragMaxHeight}else{if(AaS){Q.scrollByY(-aP)}else{V(aS)}}else{if(aM>0){if(I+aQaS){Q.scrollByX(-aP)}else{W(aS)}}else{if(aM>0){if(aa+aQi){s=i}}if(aI===c){aI=ay.animateScroll}if(aI){Q.animate(au,"top",s,ad)}else{au.css("top",s);ad(s)}}function ad(aI){if(aI===c){aI=au.position().top}al.scrollTop(0);I=aI;var aL=I===0,aJ=I==i,aK=aI/i,s=-aK*(Z-v);if(ai!=aL||aG!=aJ){ai=aL;aG=aJ;D.trigger("jsp-arrow-change",[ai,aG,P,k])}u(aL,aJ);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aL,aJ]).trigger("scroll")}function W(aI,s){if(!aE){return}if(aI<0){aI=0}else{if(aI>j){aI=j}}if(s===c){s=ay.animateScroll}if(s){Q.animate(h,"left",aI,ae)
+}else{h.css("left",aI);ae(aI)}}function ae(aI){if(aI===c){aI=h.position().left}al.scrollTop(0);aa=aI;var aL=aa===0,aK=aa==j,aJ=aI/j,s=-aJ*(T-aj);if(P!=aL||k!=aK){P=aL;k=aK;D.trigger("jsp-arrow-change",[ai,aG,P,k])}r(aL,aK);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aL,aK]).trigger("scroll")}function u(aI,s){if(ay.showArrows){aq[aI?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aI,s){if(ay.showArrows){ax[aI?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aI){var aJ=s/(Z-v);V(aJ*i,aI)}function N(aI,s){var aJ=aI/(T-aj);W(aJ*j,s)}function ab(aV,aQ,aJ){var aN,aK,aL,s=0,aU=0,aI,aP,aO,aS,aR,aT;try{aN=b(aV)}catch(aM){return}aK=aN.outerHeight();aL=aN.outerWidth();al.scrollTop(0);al.scrollLeft(0);while(!aN.is(".jspPane")){s+=aN.position().top;aU+=aN.position().left;aN=aN.offsetParent();if(/^body|html$/i.test(aN[0].nodeName)){return}}aI=aA();aO=aI+v;if(saO){aR=s-v+aK+ay.verticalGutter}}if(aR){M(aR,aJ)}aP=aC();aS=aP+aj;if(aUaS){aT=aU-aj+aL+ay.horizontalGutter}}if(aT){N(aT,aJ)}}function aC(){return -Y.position().left}function aA(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aA()<10)}function B(){var s=T-aj;return(s>20)&&(s-aC()<10)}function ag(){al.unbind(ac).bind(ac,function(aL,aM,aK,aI){var aJ=aa,s=I;Q.scrollBy(aK*ay.mouseWheelSpeed,-aI*ay.mouseWheelSpeed,false);return aJ==aa&&s==I})}function n(){al.unbind(ac)}function aB(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aI,aK=[];aE&&aK.push(am[0]);az&&aK.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aN){if(aN.target!==this&&!(aK.length&&b(aN.target).closest(aK).length)){return}var aM=aa,aL=I;switch(aN.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aN.keyCode;aJ();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aI=aN.keyCode==s&&aM!=aa||aL!=I;return !aI}).bind("keypress.jsp",function(aL){if(aL.keyCode==s){aJ()}return !aI});if(ay.hideFocus){D.css("outline","none");if("hideFocus" in al[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in al[0]){D.attr("hideFocus",false)}}function aJ(){var aM=aa,aL=I;switch(s){case 40:Q.scrollByY(ay.keyboardSpeed,false);break;case 38:Q.scrollByY(-ay.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*ay.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*ay.scrollPagePercent,false);break;case 39:Q.scrollByX(ay.keyboardSpeed,false);break;case 37:Q.scrollByX(-ay.keyboardSpeed,false);break}aI=aM!=aa||aL!=I;return aI}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aK,aI,aJ=escape(location.hash.substr(1));try{aK=b("#"+aJ+', a[name="'+aJ+'"]')}catch(s){return}if(aK.length&&Y.find(aJ)){if(al.scrollTop()===0){aI=setInterval(function(){if(al.scrollTop()>0){ab(aK,true);b(document).scrollTop(al.position().top);clearInterval(aI)}},50)}else{ab(aK,true);b(document).scrollTop(al.position().top)}}}}function m(){if(b(document.body).data("jspHijack")){return}b(document.body).data("jspHijack",true);b(document.body).delegate("a[href*=#]","click",function(s){var aI=this.href.substr(0,this.href.indexOf("#")),aK=location.href,aO,aP,aJ,aM,aL,aN;if(location.href.indexOf("#")!==-1){aK=location.href.substr(0,location.href.indexOf("#"))}if(aI!==aK){return}aO=escape(this.href.substr(this.href.indexOf("#")+1));aP;try{aP=b("#"+aO+', a[name="'+aO+'"]')}catch(aQ){return}if(!aP.length){return}aJ=aP.closest(".jspScrollable");aM=aJ.data("jsp");aM.scrollToElement(aP,true);if(aJ[0].scrollIntoView){aL=b(a).scrollTop();aN=aP.offset().top;if(aNaL+b(a).height()){aJ[0].scrollIntoView()}}s.preventDefault()
+})}function an(){var aJ,aI,aL,aK,aM,s=false;al.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aN){var aO=aN.originalEvent.touches[0];aJ=aC();aI=aA();aL=aO.pageX;aK=aO.pageY;aM=false;s=true}).bind("touchmove.jsp",function(aQ){if(!s){return}var aP=aQ.originalEvent.touches[0],aO=aa,aN=I;Q.scrollTo(aJ+aL-aP.pageX,aI+aK-aP.pageY);aM=aM||Math.abs(aL-aP.pageX)>5||Math.abs(aK-aP.pageY)>5;return aO==aa&&aN==I}).bind("touchend.jsp",function(aN){s=false}).bind("click.jsp-touchclick",function(aN){if(aM){aM=false;return false}})}function g(){var s=aA(),aI=aC();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ao.append(Y.children()));ao.scrollTop(s);ao.scrollLeft(aI);if(av){clearInterval(av)}}b.extend(Q,{reinitialise:function(aI){aI=b.extend({},ay,aI);ar(aI)},scrollToElement:function(aJ,aI,s){ab(aJ,aI,s)},scrollTo:function(aJ,s,aI){N(aJ,aI);M(s,aI)},scrollToX:function(aI,s){N(aI,s)},scrollToY:function(s,aI){M(s,aI)},scrollToPercentX:function(aI,s){N(aI*(T-aj),s)},scrollToPercentY:function(aI,s){M(aI*(Z-v),s)},scrollBy:function(aI,s,aJ){Q.scrollByX(aI,aJ);Q.scrollByY(s,aJ)},scrollByX:function(s,aJ){var aI=aC()+Math[s<0?"floor":"ceil"](s),aK=aI/(T-aj);W(aK*j,aJ)},scrollByY:function(s,aJ){var aI=aA()+Math[s<0?"floor":"ceil"](s),aK=aI/(Z-v);V(aK*i,aJ)},positionDragX:function(s,aI){W(s,aI)},positionDragY:function(aI,s){V(aI,s)},animate:function(aI,aL,s,aK){var aJ={};aJ[aL]=s;aI.animate(aJ,{duration:ay.animateDuration,easing:ay.animateEase,queue:false,step:aK})},getContentPositionX:function(){return aC()},getContentPositionY:function(){return aA()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aC()/(T-aj)},getPercentScrolledY:function(){return aA()/(Z-v)},getIsScrollableH:function(){return aE},getIsScrollableV:function(){return az},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:b.noop,destroy:function(){g()}});ar(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);
\ No newline at end of file
diff --git a/sites/all/themes/figureslibres/clameurs/js/libs/jquery.mousewheel.js b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.mousewheel.js
new file mode 100755
index 00000000..38b60951
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/js/libs/jquery.mousewheel.js
@@ -0,0 +1,84 @@
+/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
+ * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
+ * Thanks to: Seamus Leahy for adding deltaX and deltaY
+ *
+ * Version: 3.0.6
+ *
+ * Requires: 1.2.2+
+ */
+
+(function($) {
+
+var types = ['DOMMouseScroll', 'mousewheel'];
+
+if ($.event.fixHooks) {
+ for ( var i=types.length; i; ) {
+ $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
+ }
+}
+
+$.event.special.mousewheel = {
+ setup: function() {
+ if ( this.addEventListener ) {
+ for ( var i=types.length; i; ) {
+ this.addEventListener( types[--i], handler, false );
+ }
+ } else {
+ this.onmousewheel = handler;
+ }
+ },
+
+ teardown: function() {
+ if ( this.removeEventListener ) {
+ for ( var i=types.length; i; ) {
+ this.removeEventListener( types[--i], handler, false );
+ }
+ } else {
+ this.onmousewheel = null;
+ }
+ }
+};
+
+$.fn.extend({
+ mousewheel: function(fn) {
+ return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
+ },
+
+ unmousewheel: function(fn) {
+ return this.unbind("mousewheel", fn);
+ }
+});
+
+
+function handler(event) {
+ var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
+ event = $.event.fix(orgEvent);
+ event.type = "mousewheel";
+
+ // Old school scrollwheel delta
+ if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
+ if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
+
+ // New school multidimensional scroll (touchpads) deltas
+ deltaY = delta;
+
+ // Gecko
+ if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
+ deltaY = 0;
+ deltaX = -1*delta;
+ }
+
+ // Webkit
+ if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
+ if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
+
+ // Add event and delta to the front of the arguments
+ args.unshift(event, delta, deltaX, deltaY);
+
+ return ($.event.dispatch || $.event.handle).apply(this, args);
+}
+
+})(jQuery);
diff --git a/sites/all/themes/figureslibres/clameurs/js/libs/modernizr-2.6.1.min.js b/sites/all/themes/figureslibres/clameurs/js/libs/modernizr-2.6.1.min.js
new file mode 100755
index 00000000..52b523fa
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/js/libs/modernizr-2.6.1.min.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.6.1 (Custom Build) | MIT & BSD
+ * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
+ */
+;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(['#modernizr:after{content:"',l,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f minDif || Math.abs(mwheelI.pos[1] - pos[1]) > minDif ){
+ mwheelI.elem = this;
+ mwheelI.pos = pos;
+ minDif = 250;
+
+ clearTimeout(shortDelay);
+ shortDelay = setTimeout(function(){
+ minDif = 10;
+ }, 200);
+ clearTimeout(longDelay);
+ longDelay = setTimeout(function(){
+ minDif = 3;
+ }, 1500);
+ e = $.extend({}, e, {type: 'mwheelIntent'});
+ return $.event.handle.apply(this, arguments);
+ }
+ }
+};
+$.fn.extend({
+ mwheelIntent: function(fn) {
+ return fn ? this.bind("mwheelIntent", fn) : this.trigger("mwheelIntent");
+ },
+
+ unmwheelIntent: function(fn) {
+ return this.unbind("mwheelIntent", fn);
+ }
+});
+
+$(function(){
+ body = doc.body;
+ //assume that document is always scrollable, doesn't hurt if not
+ $(doc).bind('mwheelIntent.mwheelIntentDefault', $.noop);
+});
+})(jQuery);
\ No newline at end of file
diff --git a/sites/all/themes/gui/jee/js/jee.js b/sites/all/themes/figureslibres/clameurs/js/script.js
similarity index 92%
rename from sites/all/themes/gui/jee/js/jee.js
rename to sites/all/themes/figureslibres/clameurs/js/script.js
index 892a8978..89b612c4 100755
--- a/sites/all/themes/gui/jee/js/jee.js
+++ b/sites/all/themes/figureslibres/clameurs/js/script.js
@@ -1,4 +1,7 @@
+// @codekit-prepend "gui.js"
+
+
Drupal.behaviors.init_theme = function (context) {
// Growl-style system messages
$('#messages-and-help > div.messages:not(.processed)')
@@ -22,9 +25,3 @@ Drupal.behaviors.init_theme = function (context) {
}
});
};
-
-
-jQuery(document).ready(function($) {
- console.log('Hello Jee');
-
-});
\ No newline at end of file
diff --git a/sites/all/themes/figureslibres/clameurs/less/styles.less b/sites/all/themes/figureslibres/clameurs/less/styles.less
new file mode 100755
index 00000000..78d2c4e3
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/less/styles.less
@@ -0,0 +1,254 @@
+/**
+ * Primary Drupal Styles
+ * Author: g-u-i.net
+ */
+
+@import "gui.less";
+
+
+body{font-size:16px; font-family: Arial, "MS Trebuchet", sans-serif;}
+
+
+a{color: #007BC2; text-decoration: none;}
+
+
+h1{font-size:1.6em;}
+h2{font-size:1.5em;}
+h3{font-size:1.4em;}
+h4{font-size:1.3em;}
+h5{font-size:1.2em;}
+h6{font-size:1.1em;}
+
+input{font-family: Arial, "MS Trebuchet", sans-serif; font-size:0.8em;}
+
+
+
+/** layout */
+#center, #sidebar-first, #sidebar-second, .footer-block .region, .header-block{ display:inline-block; vertical-align: top;}
+
+body.two-sidebars #center { width: 54%; }
+body.sidebar-first #center { width: 73%; }
+body.sidebar-second #center { width: 80%; }
+body.no-sidebars #center { width: 100%; }
+
+#sidebar-first { width: 24%; }
+#sidebar-second { width: 18%; }
+
+#header, #main, #footer{ padding:1em; }
+
+body{background-color: #DFDFDF;}
+
+#container{width:1024px; margin:0 auto; background-color: #FFF;}
+
+#header, #footer{background-color: #535353; color:#fff;}
+
+.block, .panel-pane{
+ border: 1px solid #D1D1D1; padding:0.5em; margin:0.5em;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ background-color: #EAEAEA;
+}
+
+.footer-block .block{
+ background-color: #353535; border: 1px solid #1a1a1a;
+}
+#footer-bottom{ text-align: center;}
+#footer-bottom .block{ background-color: transparent; border: 0 solid #999; font-size:0.7em;}
+
+#content{padding:1em;}
+
+.logo h1, h1.page-title{font-size:2em;}
+
+#header ul.menu li,
+#content-top ul.menu li,
+#content-bottom ul.menu li,
+#footer ul.menu li{display:inline-block; vertical-align:top; }
+
+.views-row{margin-bottom:1em;}
+
+.views-field-title{font-size:1.1em; font-weight:bold;}
+.views-field-title a{color: #444444; text-decoration:none;}
+
+li, .item-list ul li{list-style: none inside url(); margin-left:0;}
+
+/** Messages. */
+
+div.messages {
+ padding: 9px;
+ margin: 0.5em 0 0;
+ color: #036;
+ background: #bdf;
+ border: 1px solid #ace;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+
+}
+
+div.warning {
+ color: #840;
+ background: #fe6;
+ border-color: #ed5;
+}
+
+div.error {
+ color: #fff;
+ background: #e63;
+ border-color: #d52;
+}
+
+div.error p.error {
+ color: #333;
+}
+
+div.status {
+ color: #360;
+ background: #cf8;
+ border-color: #be7;
+}
+
+
+
+/** Tab navigation */
+
+ul.primary, .views-admin-links ul {
+ font:13px/1.231 sans-serif; *font-size:small;
+ border-collapse: collapse;
+ padding: 0 0 0 1em; /* LTR */
+ white-space: nowrap;
+ list-style: none;
+ margin: 5px;
+ height: auto;
+ line-height: normal;
+ border-bottom: 1px solid #bbb;
+}
+ul.primary li, .views-admin-links li{
+ display: inline;
+
+}
+ul.primary li a, .views-admin-links li a {
+ background-color: #ddd;
+ border-color: #bbb;
+ border-width: 1px;
+ border-style: solid solid none solid;
+ height: auto;
+ margin-right: 0.5em; /* LTR */
+ padding: 0 1em;
+ text-decoration: none;
+ -moz-border-radius-topleft: 5px;
+ -webkit-border-top-left-radius: 5px;
+ border-top-left-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ -webkit-border-top-right-radius: 5px;
+ border-top-right-radius: 5px;
+}
+ul.primary li.active a {
+ background-color: #fff;
+ border: 1px solid #bbb;
+ border-bottom: #fff 1px solid;
+}
+ul.primary li a:hover, .views-admin-links li a:hover{
+ background-color: #eee;
+ border-color: #ccc;
+ border-bottom-color: #eee;
+}
+
+ul.secondary {
+ border-bottom: 1px solid #bbb;
+ padding: 0.5em 1em;
+ margin: 5px;
+}
+ul.secondary li {
+ display: inline;
+ padding: 0 1em;
+ border-right: 1px solid #ccc; /* LTR */
+}
+ul.secondary a {
+ padding: 0;
+ text-decoration: none;
+}
+ul.secondary a.active {
+ border-bottom: 4px solid #999;
+}
+
+
+/** Form */
+
+#node-form .form-region-main{border-right: 1px solid #BFBFBF; padding-right:10px; width:68%;}
+#node-form .form-region-main label{float:left; min-width:25%;}
+#node-form .form-region-main input.form-text{width:40%;}
+
+#node-form .form-region-right{padding-left:5px;}
+#node-form .form-region-right label{float:left; min-width:35%;}
+#node-form .form-region-right input.form-text{width:60%;}
+
+#node-form .form-region-main label.option, #node-form .form-region-right label.option{float: none;}
+
+
+form:not( #views-ui-config-item-form ) .form-item {
+ position:relative;
+/* padding:9px;*/
+ }
+
+ form:not( #views-ui-config-item-form ) .form-item .description{
+ position:absolute;
+ bottom:140%;
+/* right:-15px;*/
+ z-index:5;
+ left:50%;
+ color:#1A1A1A;
+ line-height:1.1;
+ background:url(../images/popup.png) 50% 100% no-repeat;
+ width:240px;
+ margin:0px 0px -15px;
+ padding:9px 10px 20px;
+ display:none;
+ border-top: 1px solid #9F9F9F;
+ }
+ form:not( #views-ui-config-item-form ) .form-item:hover {
+ z-index:1;
+ height:auto; /* Fix for flicker in IE7 */
+ }
+ form:not( #views-ui-config-item-form ) .form-item:hover > .description { display:block; }
+
+
+fieldset{
+ border: 1px solid #D4D4D4;
+ padding:10px;
+ margin-bottom:1em;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+fieldset legend{
+ font-size:1.6em;
+}
+
+input.form-text{max-width:95%;}
+
+/** TABLE */
+
+table{width:100%;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+table thead th{
+ background-color: #CCC;
+ padding:0.5em 1em;
+ text-align: left;
+}
+table tbody tr.even, table tbody tr.odd{
+ border-bottom: 0 solid #CCCCCC;
+ padding: 0.1em 0.6em;
+}
+table tbody tr.even{background-color: #EEE;}
+table tbody tr.odd{background-color: #E5E5E5;}
+
+table tbody td{
+ padding:0.5em 1em;
+ text-align: left;
+}
+td.active {background-color: transparent;}
diff --git a/sites/all/themes/gui/jee/css/wysiwyg.scss b/sites/all/themes/figureslibres/clameurs/less/wysiwyg.less
similarity index 78%
rename from sites/all/themes/gui/jee/css/wysiwyg.scss
rename to sites/all/themes/figureslibres/clameurs/less/wysiwyg.less
index ffb565d9..95f8448f 100755
--- a/sites/all/themes/gui/jee/css/wysiwyg.scss
+++ b/sites/all/themes/figureslibres/clameurs/less/wysiwyg.less
@@ -1,7 +1,5 @@
/* LISIBILITY */
-@import "communs.scss";
-@import "fonts.scss";
-
+@import "fonts.less";
*{font-size:14px;}
div{border: 1px dashed #D4D4D4;}
@@ -11,36 +9,27 @@ h1:before, h2:before, h3:before, h4:before, h5:before, h6:before{
color:blue; font-weight: normal; font-size:10px; vertical-align: super;
}
-h2{
- // font-size:24px;
- &:before{content:"h2 ";}
-}
-h3{
- // font-size:18px;
- &:before{content:"h3 ";}
-}
-h4{
- // font-size:16px;
- &:before{content:"h4 ";}
-}
-h5{
- // font-size:14px;
- &:before{content:"h5 ";}
-}
-h6{
- // font-size:12px;
- &:before{content:"h6 ";}
-}
+h1:before{content:"h1 ";}
+h2:before{content:"h2 ";}
+h3:before{content:"h3 ";}
+h4:before{content:"h4 ";}
+h5:before{content:"h5 ";}
+h6:before{content:"h6 ";}
+
+
+h2{font-size:24px; .h2;}
+h3{font-size:18px; .h3;}
+h4{font-size:16px; .h4;}
+h5{font-size:14px; .h5;}
+h6{font-size:12px; .h6;}
+
+
+.side-note-4{.h4;}
+.side-note-5{.h5;}
br:after{content:"·"; color:red; border: 1px solid #999;}
-img{height:auto; margin:0.5em 0; max-width:99%;}
-p{ border: 1px dashed #848484; }
-div{border: 1px solid #1A1A1A;}
-
-
/* LAYOUT AND GRAPHICS */
-/*
#full{ width:99%; }
#demi{ width:47%; }
#tiers{ width:29%; }
@@ -51,13 +40,12 @@ div{border: 1px solid #1A1A1A;}
img{height:auto; margin:0.5em 0;}
-p{ border: 1px dashed #848484; }
+p{ .p; border: 1px dashed #848484; }
div{border: 1px solid #1A1A1A;}
-
img,p,div{ position:relative;
&:before{font-size:10px; color:red; background-color: #1A1A1A; position:absolute; top:0; z-index:3000;}
-
+
&.full{#full; &:before{content:" full ";}}
&.demi{ #demi; margin-right:2%; &:before{content:" demi "; right:0;}}
&.tiers{ #tiers; margin-right:2%; &:before{content:" tiers "; right:0;}}
@@ -74,6 +62,7 @@ img,p,div{ position:relative;
&.quart-left{ #quart; #left; &:before{content:" quart-left "; left:0;}}
&.quart-right{ #quart; #right; &:before{content:" quart-right "; right:0;}}
&.quart-center{ #quart; #center; &:before{content:" quart-center "; right:0;}}
+
+
}
-*/
\ No newline at end of file
diff --git a/sites/all/themes/figureslibres/clameurs/logo-lite-alpha.png b/sites/all/themes/figureslibres/clameurs/logo-lite-alpha.png
new file mode 100755
index 00000000..512fba02
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/logo-lite-alpha.png differ
diff --git a/sites/all/themes/figureslibres/clameurs/logo-lite.png b/sites/all/themes/figureslibres/clameurs/logo-lite.png
new file mode 100755
index 00000000..1a095b2a
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/logo-lite.png differ
diff --git a/sites/all/themes/figureslibres/clameurs/logo.png b/sites/all/themes/figureslibres/clameurs/logo.png
new file mode 100755
index 00000000..053a2584
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/logo.png differ
diff --git a/sites/all/themes/gui/jee/maintenance-page.tpl.php b/sites/all/themes/figureslibres/clameurs/maintenance-page.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/maintenance-page.tpl.php
rename to sites/all/themes/figureslibres/clameurs/maintenance-page.tpl.php
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.css b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.css
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.css
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.css
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.inc b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.inc
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.inc
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.inc
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.png b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.png
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-2-col/html5-2-col.png
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/html5-2-col.png
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-2-col/panels-html5-2-col.tpl.php b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/panels-html5-2-col.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-2-col/panels-html5-2-col.tpl.php
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-2-col/panels-html5-2-col.tpl.php
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.css b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.css
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.css
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.css
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.inc b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.inc
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.inc
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.inc
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.png b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.png
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-basic/html5-basic.png
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/html5-basic.png
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-basic/panels-html5-basic.tpl.php b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/panels-html5-basic.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-basic/panels-html5-basic.tpl.php
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-basic/panels-html5-basic.tpl.php
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.css b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.css
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.css
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.css
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.inc b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.inc
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.inc
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.inc
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.png b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.png
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/html5-custom-2.png
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/html5-custom-2.png
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/panels-html5-custom-2.tpl.php b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/panels-html5-custom-2.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom-2/panels-html5-custom-2.tpl.php
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom-2/panels-html5-custom-2.tpl.php
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.css b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.css
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.css
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.css
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.inc b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.inc
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.inc
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.inc
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.png b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.png
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom/html5-custom.png
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/html5-custom.png
diff --git a/sites/all/themes/gui/jee/plugins/layouts/html5-custom/panels-html5-custom.tpl.php b/sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/panels-html5-custom.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/layouts/html5-custom/panels-html5-custom.tpl.php
rename to sites/all/themes/figureslibres/clameurs/plugins/layouts/html5-custom/panels-html5-custom.tpl.php
diff --git a/sites/all/themes/gui/jee/plugins/styles/minimum.inc b/sites/all/themes/figureslibres/clameurs/plugins/styles/minimum.inc
similarity index 100%
rename from sites/all/themes/gui/jee/plugins/styles/minimum.inc
rename to sites/all/themes/figureslibres/clameurs/plugins/styles/minimum.inc
diff --git a/sites/all/themes/gui/jee/preprocess/block.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/block.pre.php
similarity index 100%
rename from sites/all/themes/gui/jee/preprocess/block.pre.php
rename to sites/all/themes/figureslibres/clameurs/preprocess/block.pre.php
diff --git a/sites/all/themes/gui/jee/preprocess/comment-wrapper.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/comment-wrapper.pre.php
similarity index 100%
rename from sites/all/themes/gui/jee/preprocess/comment-wrapper.pre.php
rename to sites/all/themes/figureslibres/clameurs/preprocess/comment-wrapper.pre.php
diff --git a/sites/all/themes/gui/jee/preprocess/field.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/field.pre.php
similarity index 100%
rename from sites/all/themes/gui/jee/preprocess/field.pre.php
rename to sites/all/themes/figureslibres/clameurs/preprocess/field.pre.php
diff --git a/sites/all/themes/gui/jee/preprocess/html.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/html.pre.php
similarity index 65%
rename from sites/all/themes/gui/jee/preprocess/html.pre.php
rename to sites/all/themes/figureslibres/clameurs/preprocess/html.pre.php
index 44a54462..4405ff63 100755
--- a/sites/all/themes/gui/jee/preprocess/html.pre.php
+++ b/sites/all/themes/figureslibres/clameurs/preprocess/html.pre.php
@@ -1,4 +1,4 @@
-' . "\n";
@@ -16,7 +16,7 @@ $heads = array();
$heads['HandheldFriendly'] = array(
'#tag' => 'meta',
'#attributes' => array(
- 'name' => 'HandheldFriendly',
+ 'name' => 'HandheldFriendly',
'content' => 'true',
),
);
@@ -24,7 +24,7 @@ $heads['HandheldFriendly'] = array(
# Mobile Viewport Fix
-# j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
+# j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
# device-width : Occupy full width of the screen in its current orientation
# initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
# maximum-scale = 1.0 retains dimensions instead of zooming in if page width < device width
@@ -32,7 +32,7 @@ $heads['HandheldFriendly'] = array(
$heads['viewport'] = array(
'#tag' => 'meta',
'#attributes' => array(
- 'name' => 'viewport',
+ 'name' => 'viewport',
'content' => 'width=device-width,initial-scale=1',
),
);
@@ -48,7 +48,7 @@ $heads['viewport'] = array(
$heads['icon'] = array(
'#tag' => 'link',
'#attributes' => array(
- 'href' => base_path() . path_to_theme() .'/icon.png',
+ 'href' => base_path() . path_to_theme() .'/icon.png',
'rel' => 'shortcut icon',
'type' => 'image/png',
),
@@ -57,7 +57,7 @@ $heads['icon'] = array(
$heads['apple-touch-icon'] = array(
'#tag' => 'link',
'#attributes' => array(
- 'href' => base_path() . path_to_theme() .'/apple-touch-icon.png',
+ 'href' => base_path() . path_to_theme() .'/apple-touch-icon.png',
'rel' => 'apple-touch-icon',
),
);
@@ -72,39 +72,37 @@ foreach ($heads as $type=>$head)
# add body classes
if(isset($vars['node'])){
-
+
# from taxonomy
foreach ($vars['node']->taxonomy as $tid => $term) {
$vars['classes_array'][] = 'term-vid-'. $term->vid .' term-tid-'. $tid;
}
-
+
# from menu
$mlid = db_result(db_query("SELECT mlid FROM {menu_links} WHERE link_path = '%s'", 'node/'. $vars['node']->nid));
- // Now get the menu related information.
- if (!empty($mlid) || !empty($node->menu['mlid']) || !empty($node->menu['plid'])) {
- $menu_link = menu_link_load($mlid);
- // krumo($menu_link);
- $vars['classes_array'][] = ' mlid-'. $menu_link['mlid'] .' plid-'. $menu_link['plid'];
+ // Now get the menu related information.
+ if (!empty($mlid) || !empty($node->menu['mlid']) || !empty($node->menu['plid'])) {
+ $menu_link = menu_link_load($mlid);
+ // krumo($menu_link);
+ $vars['classes_array'][] = ' mlid-'. $menu_link['mlid'] .' plid-'. $menu_link['plid'];
}
}
# theme layout settings
-// if(isset($vars['page']['sidebar_first']) && isset($vars['page']['sidebar_second'])){
-// $layout = 'two-sidebars';
-// }else if(isset($vars['page']['sidebar_first']) || isset($vars['page']['sidebar_second'])){
-// $layout = isset($vars['page']['sidebar_first']) ? 'sidebar-first' : 'sidebar-second';
-// }else{
-// $layout = 'no-sidebar';
-// }
-// $vars['classes_array'][] = $layout;
+if(isset($vars['page']['sidebar_first']) && isset($vars['page']['sidebar_second'])){
+ $layout = 'two-sidebars';
+}else if(isset($vars['page']['sidebar_first']) || isset($vars['page']['sidebar_second'])){
+ $layout = isset($vars['page']['sidebar_first']) ? 'sidebar-first' : 'sidebar-second';
+}else{
+ $layout = 'no-sidebar';
+}
+$vars['classes_array'][] = $layout;
-// if (theme_get_setting('layout_enable_settings') == 'on') {
-// $method = theme_get_setting('layout_method');
-// $vars['method'] = $method;
-// $vars['classes_array'][] .= ' layout-method-'.$method;
-
-// }
-
-// $vars['off_canvas_menu'] = block_get_blocks_by_region('off_canvas_menu');
\ No newline at end of file
+if (theme_get_setting('layout_enable_settings') == 'on') {
+ $method = theme_get_setting('layout_method');
+ $vars['method'] = $method;
+ $vars['classes_array'][] .= ' layout-method-'.$method;
+
+}
diff --git a/sites/all/themes/figureslibres/clameurs/preprocess/node.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/node.pre.php
new file mode 100755
index 00000000..0124e3f6
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/preprocess/node.pre.php
@@ -0,0 +1,7 @@
+'. implode(' ', $site_fields) .'';
+$vars['site_title'] = ''. implode(' ', $site_fields) .'
';
@@ -35,7 +35,3 @@ if (theme_get_setting('layout_enable_settings') == 'on')
$vars['primary_local_tasks'] = menu_primary_local_tasks();
$vars['secondary_local_tasks'] = menu_secondary_local_tasks();
-
-
-if($vars['is_front'])
- $vars['title'] = false;
\ No newline at end of file
diff --git a/sites/all/themes/gui/jee/preprocess/region.pre.php b/sites/all/themes/figureslibres/clameurs/preprocess/region.pre.php
similarity index 100%
rename from sites/all/themes/gui/jee/preprocess/region.pre.php
rename to sites/all/themes/figureslibres/clameurs/preprocess/region.pre.php
diff --git a/sites/all/themes/gui/jee/readme.txt b/sites/all/themes/figureslibres/clameurs/readme.txt
similarity index 100%
rename from sites/all/themes/gui/jee/readme.txt
rename to sites/all/themes/figureslibres/clameurs/readme.txt
diff --git a/sites/all/themes/figureslibres/clameurs/screenshot.png b/sites/all/themes/figureslibres/clameurs/screenshot.png
new file mode 100755
index 00000000..e8fb4aed
Binary files /dev/null and b/sites/all/themes/figureslibres/clameurs/screenshot.png differ
diff --git a/sites/all/themes/figureslibres/clameurs/template.php b/sites/all/themes/figureslibres/clameurs/template.php
new file mode 100755
index 00000000..e353c894
--- /dev/null
+++ b/sites/all/themes/figureslibres/clameurs/template.php
@@ -0,0 +1,61 @@
+ array(
+ 'arguments' => array('form' => NULL, 'key' => 'clameurs'),
+ ),
+ );
+
+ # Include the theme settings.
+ include($path .'/inc/template.theme-settings.inc');
+}
+
+/**
+ * Implementation of hook_preprocess()
+ *
+ * This function checks to see if a hook has a preprocess file associated with
+ * it, and if so, loads it.
+ *
+ * @param $vars
+ * An array of variables to pass to the theme template.
+ * @param $hook
+ * The name of the template being rendered.
+ */
+function clameurs_preprocess(&$vars, $hook) {
+ global $theme, $theme_info, $user, $language;
+
+ $vars['is_admin'] = in_array('admin', $user->roles);
+ $vars['logged_in'] = ($user->uid > 0) ? TRUE : FALSE;
+ $vars['theme_path'] = base_path() . path_to_theme() .'/';
+
+ // $vars['classes_array'][] = $hook.' '.$hook.'-'.$vars['zebra'];
+
+ # Include preprocess functions if and when required.
+ $path = drupal_get_path('theme', 'clameurs');
+ $file = $path .'/preprocess/'. str_replace('_', '-', $hook) .'.pre.php';
+ if (is_file($file)) {
+ include($file);
+ }
+}
+
+$path = drupal_get_path('theme', 'clameurs');
+
+# Include custom functions.
+include_once($path .'/inc/template.custom-functions.inc');
+
+# Include theme overrides.
+include_once($path .'/inc/template.theme-overrides.inc');
+
+# Include some jQuery.
+// include_once(drupal_get_path('theme', 'clameurs') .'/inc/template.theme-js.inc');
diff --git a/sites/all/themes/gui/jee/templates/field.tpl.php b/sites/all/themes/figureslibres/clameurs/templates/field.tpl.php
similarity index 100%
rename from sites/all/themes/gui/jee/templates/field.tpl.php
rename to sites/all/themes/figureslibres/clameurs/templates/field.tpl.php
diff --git a/sites/all/themes/gui/jee/templates/html.tpl.php b/sites/all/themes/figureslibres/clameurs/templates/html.tpl.php
similarity index 87%
rename from sites/all/themes/gui/jee/templates/html.tpl.php
rename to sites/all/themes/figureslibres/clameurs/templates/html.tpl.php
index ec50013b..029b8926 100755
--- a/sites/all/themes/gui/jee/templates/html.tpl.php
+++ b/sites/all/themes/figureslibres/clameurs/templates/html.tpl.php
@@ -1,4 +1,4 @@
-
-
-
+
-
+
-
+
-
+
>
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -102,5 +100,5 @@
-
+