﻿var jsBaseUrl = "http://www.rent.it/";
var jsPageTitle = "Rent.it";
var jsNewWinMessage = " (apre collegamento in una nuova finestra)";
var jsLoadPrettyPhoto = false;
var jsPageType = "ContenutoHtml";

var addthis_config = { username: "rentit", data_ga_tracker: "pageTracker", ui_click: true, data_track_clickback: true, data_track_linkback: true };

$(document).ready(
   function () {
      $(".glossy h1").prepend("<span></span>"); //appende span per effetto glossy su h1
      $("input:password").bind("cut copy paste", function (e) { e.preventDefault(); alert("Non è consentito il copia e incolla in un campo password."); });
      $(".photo a").prepend("<span></span>"); //appende span per cornici css thumbnail
      if (jsLoadPrettyPhoto == true) { $("a[rel^='lightbox']").prettyPhoto({ theme: 'facebook', social_tools: '' }); }; //inizializza prettyPhoto
      if (jsPageType == "HomePage") {
         setTimeout('location.href = "/?refresh=true"', 600000);
         if (jsBaseUrl.indexOf("noleggiolungotermine") > 0) {  }
         else { $('#new-slider').bxSlider({ auto: true, controls: false, pager: true, speed: 1000, pause: 3000, autoHover: true }); };
      }
      if (jsPageType == "OfferteNLT") {
         $("#tabsOfferte").tabs({ spinner: 'Loading...' });
      }
      jqTooltip(); //inizializza ToolTip
      SetTargetBlankJQ(); //inizializza class=targetBlank
      popupExternal(); //inizializza rel=external
      SetTextResizing(); //inizializza pulsanti ridimensionamento testo - DA VERIFICARE
   } //function
);          //document.ready

$(window).load(function () {
   equalHeight($(".PBColsHeight"));
});

this.jqTooltip = function() {
   xOffset = 10; yOffset = 20; /* CONFIG */
   $("a.tooltip").hover(function(e) {
      this.t = this.title; this.title = ""; $("body").append("<p id='jqTooltip'>" + this.t + "</p>");
      $("#jqTooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px").fadeIn("fast");
   },
	function() { this.title = this.t; $("#jqTooltip").remove(); }
	);
   $("a.tooltip").mousemove(function(e) { $("#jqTooltip").css("top", (e.pageY - xOffset) + "px").css("left", (e.pageX + yOffset) + "px"); });
};

function equalHeight(group) {
   tallest = 0;
   group.each(function() {
      thisHeight = $(this).height();
      if (thisHeight > tallest) {
         tallest = thisHeight;
      }
   });
   group.height(tallest);
}

function switchViews(obj) { $('#' + obj).slideToggle(); }

function SetTargetBlankJQ() { $("a.targetBlank").each(function(e) { var newTitle = $(this).attr("title") + jsNewWinMessage; $(this).removeAttr("title"); $(this).attr("title", newTitle); $(this).click(function() { window.open(this.href); return false; }) }); };

function SetTextResizing() {
   var FontSizeMin = 10; var FontSizeMax = 22;
   $("#NewsCharDn").click(function() {
      //testo articolo
      size = parseInt($("#testoArticolo").css("font-size")) - 1 + "px";
      if (parseInt(size) >= FontSizeMin) { $("#testoArticolo").css("font-size", size); }
      sizeP = parseInt($("#testoArticolo p").css("font-size")) - 1 + "px";
      if (parseInt(sizeP) >= FontSizeMin) { $("#testoArticolo p").css("font-size", size); }
      sizeD = parseInt($("#testoArticolo div").css("font-size")) - 1 + "px";
      if (parseInt(sizeD) >= FontSizeMin) { $("#testoArticolo div").css("font-size", size); }
      return false;
   });
   $("#NewsCharUp").click(function() {
      //testo articolo
      size = parseInt($("#testoArticolo").css("font-size")) + 1 + "px";
      if (parseInt(size) < FontSizeMax) { $("#testoArticolo").css("font-size", size); }
      sizeP = parseInt($("#testoArticolo p").css("font-size")) + 1 + "px";
      if (parseInt(sizeP) < FontSizeMax) { $("#testoArticolo p").css("font-size", size); }
      sizeD = parseInt($("#testoArticolo div").css("font-size")) + 1 + "px";
      if (parseInt(sizeD) < FontSizeMax) { $("#testoArticolo div").css("font-size", size); }
      return false;
   });
}

//utilizzo: <a href='url' rel='external' /> oppure <a href='url' rel='external[640,480]' />
function popupExternal() {
   var popupRE = /external\[(\d+),(\d+)\]/gi; var links = $('a[rel^="external"]'); var rel, width, height;
   links.click(function() {
      rel = $(this).attr('rel');
      if (rel == "external") { window.open($(this).attr('href')); return false; } 
      else if (rel.match(popupRE)) {
         width = RegExp.$1; height = RegExp.$2;
         window.open($(this).attr('href'), '', 'width=' + width + ',height=' + height + ',scrollbars=yes'); return false;
      }
   });
   links.each(function(e) {
      rel = $(this).attr('rel');
      if (rel == "external" || rel.match(popupRE)) {
         var newTitle = $(this).attr("title") + jsNewWinMessage; $(this).removeAttr("title"); $(this).attr("title", newTitle);
      }
   });
}

function centreWinPopUp(pageFile, popUpName, w, h, scroll, resize) {
   var winLeft = (screen.width - w) / 2;
   var winTop = (screen.height - h) / 2;
   winProperties = 'height=' + h + ',width=' + w + ',top=' + winTop + ',left=' + winLeft + ',scrollbars=' + scroll + ',toolbar=no,resizable=' + resize + ',status=no'
   if (!window.winPopUp)
   { winPopUp = window.open(pageFile, popUpName, winProperties) }
   else {
      if (!winPopUp.closed)
      { winPopUp.focus(); }
      else
      { winPopUp = window.open(pageFile, popUpName, winProperties) }
   }
}

function newwin(url, nome, larghezza, altezza) {
   finestra = window.open(url, nome, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=" + larghezza + ",height=" + altezza);
   return false;
}

function getFrameBookingHome() {
    document.write("<iframe src='/utils/BookingFormHome.aspx' id='BookingFormHome' frameborder='0' border='0'></iframe>");
}

function getFrameBookingHomeCamper() {
   /* document.write("<iframe src='http://rentIT.speedrent.com/" + Lingua + "/external~search' id='BookingFormHomeCamper' frameborder='0' border='0'></iframe>"); */
   document.write("<iframe src='/utils/BookingFormHomeCamper.aspx' id='BookingFormHome' frameborder='0' border='0'></iframe>");
}

function AddToFavorites() {
   if (window.sidebar) // firefox
      window.sidebar.addPanel(jsPageTitle, jsBaseUrl, "");
   else if (window.opera && window.print) { // opera
      var elem = document.createElement('a');
      elem.setAttribute('href', jsBaseUrl);
      elem.setAttribute('title', jsPageTitle);
      elem.setAttribute('rel', 'sidebar');
      elem.click();
   }
   else if (document.all) // ie
      window.external.AddFavorite(jsBaseUrl, jsPageTitle);
}

function SendEncodedEmail(encodedEmail) {
   var email = "";
   for (i = 0; i < encodedEmail.length; ) {
      var letter = "";
      letter = encodedEmail.charAt(i) + encodedEmail.charAt(i + 1)
      email += String.fromCharCode(parseInt(letter, 16));
      i += 2;
   }
   location.href = email;
}

function getCookie(Name) {
   var re = new RegExp(Name + "=[^;]+", "i"); //construct RE to search for target name/value pair
   if (document.cookie.match(re)) //if cookie found
      return document.cookie.match(re)[0].split("=")[1] //return its value
   return ""
}

function setCookie(name, value) {
   var today = new Date();
   var expiry = new Date(today.getTime() + 60 * 24 * 60 * 60 * 1000);
   document.cookie = name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
}

/*
* jQuery Tooltip plugin 1.3
* http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ http://docs.jquery.com/Plugins/Tooltip
* Copyright (c) 2006 - 2008 JÃ¶rn Zaefferer $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
* Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html
*/
; (function($) {
   var helper = {}, current, title, tID, IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent), track = false;
   $.tooltip = { blocked: false, defaults: { delay: 200, fade: false, showURL: false, extraClass: "", top: 15, left: 15, id: "tooltip" }, block: function() { $.tooltip.blocked = !$.tooltip.blocked; } };
   $.fn.extend({
      tooltip: function(settings) {
         settings = $.extend({}, $.tooltip.defaults, settings);
         createHelper(settings);
         return this.each(function() { $.data(this, "tooltip", settings); this.tOpacity = helper.parent.css("opacity"); this.tooltipText = this.title; $(this).removeAttr("title"); this.alt = ""; })
			.mouseover(save)
			.mouseout(hide)
			.click(hide);
      },
      fixPNG: IE ? function() {
         return this.each(function() {
            var image = $(this).css('backgroundImage');
            if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
               image = RegExp.$1;
               $(this).css({
                  'backgroundImage': 'none',
                  'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
               }).each(function() {
                  var position = $(this).css('position');
                  if (position != 'absolute' && position != 'relative')
                     $(this).css('position', 'relative');
               });
            }
         });
      } : function() { return this; },
      unfixPNG: IE ? function() { return this.each(function() { $(this).css({ 'filter': '', backgroundImage: '' }); }); } : function() { return this; },
      hideWhenEmpty: function() { return this.each(function() { $(this)[$(this).html() ? "show" : "hide"](); }); },
      url: function() { return this.attr('href') || this.attr('src'); }
   });
   function createHelper(settings) {
      if (helper.parent)
         return;
      helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>')
			.appendTo(document.body)
			.hide();
      if ($.fn.bgiframe)
         helper.parent.bgiframe();
      helper.title = $('h3', helper.parent);
      helper.body = $('div.body', helper.parent);
      helper.url = $('div.url', helper.parent);
   }
   function settings(element) { return $.data(element, "tooltip"); }
   function handle(event) {
      if (settings(this).delay)
         tID = setTimeout(show, settings(this).delay);
      else
         show();
      track = !!settings(this).track;
      $(document.body).bind('mousemove', update);
      update(event);
   }
   function save() {
      if ($.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler))
         return;
      current = this;
      title = this.tooltipText;
      if (settings(this).bodyHandler) {
         helper.title.hide();
         var bodyContent = settings(this).bodyHandler.call(this);
         if (bodyContent.nodeType || bodyContent.jquery) {
            helper.body.empty().append(bodyContent)
         } else {
            helper.body.html(bodyContent);
         }
         helper.body.show();
      } else if (settings(this).showBody) {
         var parts = title.split(settings(this).showBody);
         helper.title.html(parts.shift()).show();
         helper.body.empty();
         for (var i = 0, part; (part = parts[i]); i++) {
            if (i > 0)
               helper.body.append("<br/>");
            helper.body.append(part);
         }
         helper.body.hideWhenEmpty();
      } else {
         helper.title.html(title).show();
         helper.body.hide();
      }
      if (settings(this).showURL && $(this).url())
         helper.url.html($(this).url().replace('http://', '')).show();
      else
         helper.url.hide();
      helper.parent.addClass(settings(this).extraClass);
      if (settings(this).fixPNG)
         helper.parent.fixPNG();
      handle.apply(this, arguments);
   }
   function show() {
      tID = null;
      if ((!IE || !$.fn.bgiframe) && settings(current).fade) {
         if (helper.parent.is(":animated"))
            helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity);
         else
            helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade);
      } else {
         helper.parent.show();
      }
      update();
   }
   function update(event) {
      if ($.tooltip.blocked)
         return;
      if (event && event.target.tagName == "OPTION") { return; }
      if (!track && helper.parent.is(":visible")) { $(document.body).unbind('mousemove', update) }
      if (current == null) { $(document.body).unbind('mousemove', update); return; }
      helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
      var left = helper.parent[0].offsetLeft;
      var top = helper.parent[0].offsetTop;
      if (event) {
         left = event.pageX + settings(current).left;
         top = event.pageY + settings(current).top;
         var right = 'auto';
         if (settings(current).positionLeft) { right = $(window).width() - left; left = 'auto'; }
         helper.parent.css({ left: left, right: right, top: top });
      }
      var v = viewport(), h = helper.parent[0];
      if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
         left -= h.offsetWidth + 20 + settings(current).left;
         helper.parent.css({ left: left + 'px' }).addClass("viewport-right");
      }
      if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
         top -= h.offsetHeight + 20 + settings(current).top;
         helper.parent.css({ top: top + 'px' }).addClass("viewport-bottom");
      }
   }
   function viewport() { return { x: $(window).scrollLeft(), y: $(window).scrollTop(), cx: $(window).width(), cy: $(window).height() }; }
   function hide(event) {
      if ($.tooltip.blocked) return;
      if (tID) clearTimeout(tID);
      current = null;
      var tsettings = settings(this);
      function complete() { helper.parent.removeClass(tsettings.extraClass).hide().css("opacity", ""); }
      if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
         if (helper.parent.is(':animated'))
            helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
         else
            helper.parent.stop().fadeOut(tsettings.fade, complete);
      } else
         complete();
      if (settings(this).fixPNG) helper.parent.unfixPNG();
   }
})(jQuery);

/** * jQuery Maxlength plugin * @version		$Id: jquery.maxlength.js 18 2009-05-16 15:37:08Z emil@anon-design.se $ * @package		jQuery maxlength 1.0.5 * @copyright	Copyright (C) 2009 Emil Stjerneman / http://www.anon-design.se * @license		GNU/GPL, see LICENSE.txt */
(function($) {
	$.fn.maxlength = function(options) {
		var settings = jQuery.extend(
		{
			events: [], // Array of events to be triggerd
			maxCharacters: 10, // Characters limit
			status: true, // True to show status indicator bewlow the element
			statusClass: "status", // The class on the status div
			statusText: "caratteri rimanenti", // The status text
			notificationClass: "notification", // Will be added to the emement when maxlength is reached
			showAlert: false, // True to show a regular alert message
			alertText: "Hai digitato troppi caratteri.", // Text in the alert message
			slider: false // Use counter slider
		}, options);
		$.merge(settings.events, ['keyup']); // Add the default event
		return this.each(function() {
			var item = $(this);
			var charactersLength = $(this).val().length;
			function updateStatus() { var charactersLeft = settings.maxCharacters - charactersLength; if (charactersLeft < 0) { charactersLeft = 0; }; item.next("div").html(charactersLeft + " " + settings.statusText); }
			function checkChars() {
				var valid = true;
				if (charactersLength >= settings.maxCharacters) { valid = false; item.addClass(settings.notificationClass); item.val(item.val().substr(0, settings.maxCharacters)); showAlert(); }
				else { if (item.hasClass(settings.notificationClass)) { item.removeClass(settings.notificationClass); } }
				if (settings.status) { updateStatus(); }
			}
			function showAlert() { if (settings.showAlert) { alert(settings.alertText); } }
			function validateElement() { var ret = false; if (item.is('textarea')) { ret = true; } else if (item.filter("input[type=text]")) { ret = true; } else if (item.filter("input[type=password]")) { ret = true; }; return ret; }
			if (!validateElement()) { return false; }
			$.each(settings.events, function(i, n) { item.bind(n, function(e) { charactersLength = item.val().length; checkChars(); }); });
			if (settings.status) { item.after($("<div/>").addClass(settings.statusClass).html('-')); updateStatus(); }
			if (!settings.status) { var removeThisDiv = item.next("div." + settings.statusClass); if (removeThisDiv) { removeThisDiv.remove(); } }
			if (settings.slider) { item.next().hide(); item.focus(function() { item.next().slideDown('fast'); }); item.blur(function() { item.next().slideUp('fast'); }); }
		});
	};
})(jQuery);

