﻿/*
* jQuery jMaxLength Plugin
* author: Carlo Gherarducci
* version: 1.0.1 (11/01/2011)
* @requires jQuery v1.2.6 or later
*
* Examples and documentation (in italian) at: http://www.mynamespace.it/
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
* 
* Plugin pattern inspired by this blog post of Hector Virgen:
* http://www.virgentech.com/blog/2009/10/building-object-oriented-jquery-plugin.html
*/
(function($) { var MaxLength = function(element, options) { var el = $(element); var maxLength; var counter; var settings = $.extend({ maxLengthDataKey: "maxlength", showMaxLength: true, showCurrentLength: true, truncate: true, showRemaining: false, showTrunksCount: false, counterTag: "span", counterClass: "counter", counterSeparator: "/" }, options || {}); this.init = function() { maxLength = settings.maxLength || el.attr("maxlength") || el.data(settings.dataMaxLengthKey); if (!maxLength) { $.error("jMaxLength: E' obbligatorio specificare la lunghezza massima del campo."); } return el.each(function() { counter = $("<" + settings.counterTag + ' class="' + settings.counterClass + '"></' + settings.counterTag + ">").insertAfter(el).html(el.val().length + "/" + settings.maxLength); updateCounter(el.val().length); el.bind("keyup.maxLength change.maxLength", checkCount); }); }; var checkCount = function(evt) { var length = el.val().length; if (length > maxLength && !settings.showTrunksCount) { if (settings.truncate) { el.val(el.val().substring(0, maxLength)); length = maxLength; } } updateCounter(length); }; var updateCounter = function(length) { if (!counter) { return; } if (settings.showRemaining) { counter.html(maxLength - length); } else { counter.html((settings.showCurrentLength ? length : "") + (settings.showCurrentLength && settings.showMaxLength ? " " + settings.counterSeparator + " " : "") + (settings.showMaxLength ? maxLength : "")); } if (settings.showTrunksCount) { counter.html(counter.html() + " " + settings.counterSeparator + " " + Math.ceil(length / maxLength)); } }; }; $.fn.jMaxLength = function(options) { return this.each(function() { var element = $(this); if (!element.is("input[type=text]") && !element.is("input[type=password]") && !element.is("textarea")) { $.error("jMaxLength: Questo plugin Ã¨ applicabile soltanto a campi di testo."); } if (element.data("jMaxLength")) { return; } var maxLength = new MaxLength(this, options); maxLength.init(); element.data("jMaxLength", maxLength); }); }; })(jQuery);


/*!
* liScroll 1.0
* Examples and documentation at: 
* http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html
* 2007-2010 Gian Carlo Mingati
* Version: 1.0.2 (30-MARCH-2009)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* Requires:
* jQuery v1.2.x or later
* 
*/
jQuery.fn.liScroll = function(settings) { settings = jQuery.extend({ travelocity: 0.07 }, settings); return this.each(function() { var $strip = jQuery(this); if (!$strip.data("liscroll")) { $strip.data("liscroll", 1); $strip.addClass("newsticker"); var stripWidth = 0; var $mask = $strip.wrap("<div class='mask'></div>"); var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>"); var containerWidth = $strip.parent().parent().width(); $strip.find("li").each(function(i) { stripWidth += jQuery(this, i).outerWidth(true) + 10; }); $strip.width(stripWidth); var totalTravel = stripWidth + containerWidth; var defTiming = totalTravel / settings.travelocity; function scrollnews(spazio, tempo) { $strip.animate({ left: "-=" + spazio }, tempo, "linear", function() { $strip.css("left", containerWidth); scrollnews(totalTravel, defTiming); }); } scrollnews(totalTravel, defTiming); $strip.hover(function() { jQuery(this).stop(); }, function() { var offset = jQuery(this).offset(); var residualSpace = offset.left + stripWidth; var residualTime = residualSpace / settings.travelocity; scrollnews(residualSpace, residualTime); }); } }); };


/**
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(key, value, options) { if (arguments.length > 1 && String(value) !== "[object Object]") { options = jQuery.extend({}, options); if (value === null || value === undefined) { options.expires = -1; } if (typeof options.expires === "number") { var days = options.expires, t = options.expires = new Date(); t.setDate(t.getDate() + days); } value = String(value); return (document.cookie = [encodeURIComponent(key), "=", options.raw ? value : encodeURIComponent(value), options.expires ? "; expires=" + options.expires.toUTCString() : "", options.path ? "; path=" + options.path : "", options.domain ? "; domain=" + options.domain : "", options.secure ? "; secure" : ""].join("")); } options = value || {}; var result, decode = options.raw ? function(s) { return s; } : decodeURIComponent; return (result = new RegExp("(?:^|; )" + encodeURIComponent(key) + "=([^;]*)").exec(document.cookie)) ? decode(result[1]) : null; };

/**
* jQuery.ScrollTo - Easy element scrolling using jQuery.
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 5/25/2009
* @author Ariel Flesler
* @version 1.4.2
*
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
*/
; (function(d) { var k = d.scrollTo = function(a, i, e) { d(window).scrollTo(a, i, e) }; k.defaults = { axis: 'xy', duration: parseFloat(d.fn.jquery) >= 1.3 ? 0 : 1 }; k.window = function(a) { return d(window)._scrollable() }; d.fn._scrollable = function() { return this.map(function() { var a = this, i = !a.nodeName || d.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!i) return a; var e = (a.contentWindow || a).document || a.ownerDocument || a; return d.browser.safari || e.compatMode == 'BackCompat' ? e.body : e.documentElement }) }; d.fn.scrollTo = function(n, j, b) { if (typeof j == 'object') { b = j; j = 0 } if (typeof b == 'function') b = { onAfter: b }; if (n == 'max') n = 9e9; b = d.extend({}, k.defaults, b); j = j || b.speed || b.duration; b.queue = b.queue && b.axis.length > 1; if (b.queue) j /= 2; b.offset = p(b.offset); b.over = p(b.over); return this._scrollable().each(function() { var q = this, r = d(q), f = n, s, g = {}, u = r.is('html,body'); switch (typeof f) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)) { f = p(f); break } f = d(f, this); case 'object': if (f.is || f.style) s = (f = d(f)).offset() } d.each(b.axis.split(''), function(a, i) { var e = i == 'x' ? 'Left' : 'Top', h = e.toLowerCase(), c = 'scroll' + e, l = q[c], m = k.max(q, i); if (s) { g[c] = s[h] + (u ? 0 : l - r.offset()[h]); if (b.margin) { g[c] -= parseInt(f.css('margin' + e)) || 0; g[c] -= parseInt(f.css('border' + e + 'Width')) || 0 } g[c] += b.offset[h] || 0; if (b.over[h]) g[c] += f[i == 'x' ? 'width' : 'height']() * b.over[h] } else { var o = f[h]; g[c] = o.slice && o.slice(-1) == '%' ? parseFloat(o) / 100 * m : o } if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], m); if (!a && b.queue) { if (l != g[c]) t(b.onAfterFirst); delete g[c] } }); t(b.onAfter); function t(a) { r.animate(g, j, b.easing, a && function() { a.call(this, n, b) }) } }).end() }; k.max = function(a, i) { var e = i == 'x' ? 'Width' : 'Height', h = 'scroll' + e; if (!d(a).is('html,body')) return a[h] - d(a)[e.toLowerCase()](); var c = 'client' + e, l = a.ownerDocument.documentElement, m = a.ownerDocument.body; return Math.max(l[h], m[h]) - Math.min(l[c], m[c]) }; function p(a) { return typeof a == 'object' ? a : { top: a, left: a} } })(jQuery);


// ColorBox v1.3.16 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2011 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a, b, c) { function ba(b) { if (!T) { O = b, Z(a.extend(J, a.data(O, e))), x = a(O), P = 0, J.rel !== "nofollow" && (x = a("." + V).filter(function() { var b = a.data(this, e).rel || this.rel; return b === J.rel }), P = x.index(O), P === -1 && (x = x.add(O), P = x.length - 1)); if (!R) { R = S = !0, q.show(); if (J.returnFocus) try { O.blur(), a(O).one(k, function() { try { this.focus() } catch (a) { } }) } catch (c) { } p.css({ opacity: +J.opacity, cursor: J.overlayClose ? "pointer" : "auto" }).show(), J.w = X(J.initialWidth, "x"), J.h = X(J.initialHeight, "y"), U.position(0), n && y.bind("resize." + o + " scroll." + o, function() { p.css({ width: y.width(), height: y.height(), top: y.scrollTop(), left: y.scrollLeft() }) }).trigger("resize." + o), $(g, J.onOpen), I.add(C).hide(), H.html(J.close).show() } U.load(!0) } } function _() { var a, b = f + "Slideshow_", c = "click." + f, d, e, g; J.slideshow && x[1] && (d = function() { E.text(J.slideshowStop).unbind(c).bind(i, function() { if (P < x.length - 1 || J.loop) a = setTimeout(U.next, J.slideshowSpeed) }).bind(h, function() { clearTimeout(a) }).one(c + " " + j, e), q.removeClass(b + "off").addClass(b + "on"), a = setTimeout(U.next, J.slideshowSpeed) }, e = function() { clearTimeout(a), E.text(J.slideshowStart).unbind([i, h, j, c].join(" ")).one(c, d), q.removeClass(b + "on").addClass(b + "off") }, J.slideshowAuto ? d() : e()) } function $(b, c) { c && c.call(O), a.event.trigger(b) } function Z(b) { for (var c in b) a.isFunction(b[c]) && c.substring(0, 2) !== "on" && (b[c] = b[c].call(O)); b.rel = b.rel || O.rel || "nofollow", b.href = a.trim(b.href || a(O).attr("href")), b.title = b.title || O.title } function Y(a) { return J.photo || /\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(a) } function X(a, b) { b = b === "x" ? y.width() : y.height(); return typeof a == "string" ? Math.round(/%/.test(a) ? b / 100 * parseInt(a, 10) : parseInt(a, 10)) : a } function W(c, d) { var e = b.createElement("div"); e.id = c ? f + c : !1, e.style.cssText = d || !1; return a(e) } var d = { transition: "elastic", speed: 300, width: !1, initialWidth: "600", innerWidth: !1, maxWidth: !1, height: !1, initialHeight: "450", innerHeight: !1, maxHeight: !1, scalePhotos: !0, scrolling: !0, inline: !1, html: !1, iframe: !1, fastIframe: !0, photo: !1, href: !1, title: !1, rel: !1, opacity: .9, preloading: !0, current: "{current}/{total}", previous: "Precedente", next: "Prossima", close: "Chiudi", open: !1, returnFocus: !0, loop: !0, slideshow: !1, slideshowAuto: !0, slideshowSpeed: 2500, slideshowStart: "start slideshow", slideshowStop: "stop slideshow", onOpen: !1, onLoad: !1, onComplete: !1, onCleanup: !1, onClosed: !1, overlayClose: !0, escKey: !0, arrowKey: !0 }, e = "colorbox", f = "cbox", g = f + "_open", h = f + "_load", i = f + "_complete", j = f + "_cleanup", k = f + "_closed", l = f + "_purge", m = a.browser.msie && !a.support.opacity, n = m && a.browser.version < 7, o = f + "_IE6", p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J = {}, K, L, M, N, O, P, Q, R, S, T = !1, U, V = f + "Element"; U = a.fn[e] = a[e] = function(b, c) { var f = this, g; if (!f[0] && f.selector) return f; b = b || {}, c && (b.onComplete = c); if (!f[0] || f.selector === undefined) f = a("<a/>"), b.open = !0; f.each(function() { a.data(this, e, a.extend({}, a.data(this, e) || d, b)), a(this).addClass(V) }), g = b.open, a.isFunction(g) && (g = g.call(f)), g && ba(f[0]); return f }, U.init = function() { y = a(c), q = W().attr({ id: e, "class": m ? f + (n ? "IE6" : "IE") : "" }), p = W("Overlay", n ? "position:absolute" : "").hide(), r = W("Wrapper"), s = W("Content").append(z = W("LoadedContent", "width:0; height:0; overflow:hidden"), B = W("LoadingOverlay").add(W("LoadingGraphic")), C = W("Title"), D = W("Current"), F = W("Next"), G = W("Previous"), E = W("Slideshow").bind(g, _), H = W("Close")), r.append(W().append(W("TopLeft"), t = W("TopCenter"), W("TopRight")), W(!1, "clear:left").append(u = W("MiddleLeft"), s, v = W("MiddleRight")), W(!1, "clear:left").append(W("BottomLeft"), w = W("BottomCenter"), W("BottomRight"))).children().children().css({ "float": "left" }), A = W(!1, "position:absolute; width:9999px; visibility:hidden; display:none"), a("body").prepend(p, q.append(r, A)), s.children().hover(function() { a(this).addClass("hover") }, function() { a(this).removeClass("hover") }).addClass("hover"), K = t.height() + w.height() + s.outerHeight(!0) - s.height(), L = u.width() + v.width() + s.outerWidth(!0) - s.width(), M = z.outerHeight(!0), N = z.outerWidth(!0), q.css({ "padding-bottom": K, "padding-right": L }).hide(), F.click(function() { U.next() }), G.click(function() { U.prev() }), H.click(function() { U.close() }), I = F.add(G).add(D).add(E), s.children().removeClass("hover"), a("." + V).live("click", function(a) { a.button !== 0 && typeof a.button != "undefined" || a.ctrlKey || a.shiftKey || a.altKey || (a.preventDefault(), ba(this)) }), p.click(function() { J.overlayClose && U.close() }), a(b).bind("keydown", function(a) { R && J.escKey && a.keyCode === 27 && (a.preventDefault(), U.close()), R && J.arrowKey && !S && x[1] && (a.keyCode === 37 && (P || J.loop) ? (a.preventDefault(), G.click()) : a.keyCode === 39 && (P < x.length - 1 || J.loop) && (a.preventDefault(), F.click())) }) }, U.remove = function() { q.add(p).remove(), a("." + V).die("click").removeData(e).removeClass(V) }, U.position = function(a, c) { function g(a) { t[0].style.width = w[0].style.width = s[0].style.width = a.style.width, B[0].style.height = B[1].style.height = s[0].style.height = u[0].style.height = v[0].style.height = a.style.height } var d, e = Math.max(b.documentElement.clientHeight - J.h - M - K, 0) / 2 + y.scrollTop(), f = Math.max(y.width() - J.w - N - L, 0) / 2 + y.scrollLeft(); d = q.width() === J.w + N && q.height() === J.h + M ? 0 : a, r[0].style.width = r[0].style.height = "9999px", q.dequeue().animate({ width: J.w + N, height: J.h + M, top: e, left: f }, { duration: d, complete: function() { g(this), S = !1, r[0].style.width = J.w + N + L + "px", r[0].style.height = J.h + M + K + "px", c && c() }, step: function() { g(this) } }) }, U.resize = function(a) { if (R) { a = a || {}, a.width && (J.w = X(a.width, "x") - N - L), a.innerWidth && (J.w = X(a.innerWidth, "x")), z.css({ width: J.w }), a.height && (J.h = X(a.height, "y") - M - K), a.innerHeight && (J.h = X(a.innerHeight, "y")); if (!a.innerHeight && !a.height) { var b = z.wrapInner("<div style='overflow:auto'></div>").children(); J.h = b.height(), b.replaceWith(b.children()) } z.css({ height: J.h }), U.position(J.transition === "none" ? 0 : J.speed) } }, U.prep = function(b) { function h(b) { U.position(b, function() { var b, d, g, h, j = x.length, k, n; !R || (n = function() { B.hide(), $(i, J.onComplete) }, m && Q && z.fadeIn(100), C.html(J.title).add(z).show(), j > 1 ? (typeof J.current == "string" && D.html(J.current.replace(/\{current\}/, P + 1).replace(/\{total\}/, j)).show(), F[J.loop || P < j - 1 ? "show" : "hide"]().html(J.next), G[J.loop || P ? "show" : "hide"]().html(J.previous), b = P ? x[P - 1] : x[j - 1], g = P < j - 1 ? x[P + 1] : x[0], J.slideshow && E.show(), J.preloading && (h = a.data(g, e).href || g.href, d = a.data(b, e).href || b.href, h = a.isFunction(h) ? h.call(g) : h, d = a.isFunction(d) ? d.call(b) : d, Y(h) && (a("<img/>")[0].src = h), Y(d) && (a("<img/>")[0].src = d))) : I.hide(), J.iframe ? (k = a("<iframe frameborder=0/>").addClass(f + "Iframe")[0], J.fastIframe ? n() : a(k).load(n), k.name = f + +(new Date), k.src = J.href, J.scrolling || (k.scrolling = "no"), m && (k.allowTransparency = "true"), a(k).appendTo(z).one(l, function() { k.src = "//about:blank" })) : n(), J.transition === "fade" ? q.fadeTo(c, 1, function() { q[0].style.filter = "" }) : q[0].style.filter = "", y.bind("resize." + f, function() { U.position(0) })) }) } function g() { J.h = J.h || z.height(), J.h = J.mh && J.mh < J.h ? J.mh : J.h; return J.h } function d() { J.w = J.w || z.width(), J.w = J.mw && J.mw < J.w ? J.mw : J.w; return J.w } if (!!R) { var c = J.transition === "none" ? 0 : J.speed; y.unbind("resize." + f), z.remove(), z = W("LoadedContent").html(b), z.hide().appendTo(A.show()).css({ width: d(), overflow: J.scrolling ? "auto" : "hidden" }).css({ height: g() }).prependTo(s), A.hide(), a(Q).css({ "float": "none" }), n && a("select").not(q.find("select")).filter(function() { return this.style.visibility !== "hidden" }).css({ visibility: "hidden" }).one(j, function() { this.style.visibility = "inherit" }), J.transition === "fade" ? q.fadeTo(c, 0, function() { h(0) }) : h(c) } }, U.load = function(b) { var c, d, g = U.prep; S = !0, Q = !1, O = x[P], b || Z(a.extend(J, a.data(O, e))), $(l), $(h, J.onLoad), J.h = J.height ? X(J.height, "y") - M - K : J.innerHeight && X(J.innerHeight, "y"), J.w = J.width ? X(J.width, "x") - N - L : J.innerWidth && X(J.innerWidth, "x"), J.mw = J.w, J.mh = J.h, J.maxWidth && (J.mw = X(J.maxWidth, "x") - N - L, J.mw = J.w && J.w < J.mw ? J.w : J.mw), J.maxHeight && (J.mh = X(J.maxHeight, "y") - M - K, J.mh = J.h && J.h < J.mh ? J.h : J.mh), c = J.href, B.show(), J.inline ? (W().hide().insertBefore(a(c)[0]).one(l, function() { a(this).replaceWith(z.children()) }), g(a(c))) : J.iframe ? g(" ") : J.html ? g(J.html) : Y(c) ? (a(Q = new Image).addClass(f + "Photo").error(function() { J.title = !1, g(W("Error").text("This image could not be loaded")) }).load(function() { var a; Q.onload = null, J.scalePhotos && (d = function() { Q.height -= Q.height * a, Q.width -= Q.width * a }, J.mw && Q.width > J.mw && (a = (Q.width - J.mw) / Q.width, d()), J.mh && Q.height > J.mh && (a = (Q.height - J.mh) / Q.height, d())), J.h && (Q.style.marginTop = Math.max(J.h - Q.height, 0) / 2 + "px"), x[1] && (P < x.length - 1 || J.loop) && (Q.style.cursor = "pointer", Q.onclick = function() { U.next() }), m && (Q.style.msInterpolationMode = "bicubic"), setTimeout(function() { g(Q) }, 1) }), setTimeout(function() { Q.src = c }, 1)) : c && A.load(c, function(b, c, d) { g(c === "error" ? W("Error").text("Request unsuccessful: " + d.statusText) : a(this).contents()) }) }, U.next = function() { S || (P = P < x.length - 1 ? P + 1 : 0, U.load()) }, U.prev = function() { S || (P = P ? P - 1 : x.length - 1, U.load()) }, U.close = function() { R && !T && (T = !0, R = !1, $(j, J.onCleanup), y.unbind("." + f + " ." + o), p.fadeTo(200, 0), q.stop().fadeTo(300, 0, function() { q.add(p).css({ opacity: 1, cursor: "auto" }).hide(), $(l), z.remove(), setTimeout(function() { T = !1, $(k, J.onClosed) }, 1) })) }, U.element = function() { return a(O) }, U.settings = d, a(U.init) })(jQuery, document, this);
