﻿/// <reference path="jquery-1.3.2-vsdoc2.js" />

var jsBaseUrl = "http://www.satziacrara.it/";
var jsPageTitle = "Sa Tzia Crara Bed and Breakfast";
var jsNewWinMessage = " (apre collegamento in una nuova finestra)";
var jsLoadPrettyPhoto = false;
var jsPageType = "ContenutoHtml";
var jsMenuSel = 1;

$(document).ready(
   function() {
      setMenuSel(); //selettore per menu
      if (jsLoadPrettyPhoto == true) { $("a[rel^='showimage']").prettyPhoto({ theme: 'dark_rounded' }) }; //inizializza prettyPhoto
      jqTooltip(); //inizializza ToolTip
      SetTargetBlankJQ(); //inizializza class=targetBlank
      popupExternal(); //inizializza rel=external
      startSlider("#imagesSlide200");
   } //function
); //document.ready

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 startSlider(divID) {
   $(divID).crossSlide({ fade: 1 }, [
     { src: '/public/img/presentazione/tonara-200-01.jpg', href: '/', from: '100% 0% 1.7x', to: '100% 80% 1x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-02.jpg', href: '/', from: 'top left', to: 'bottom right 1.5x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-05.jpg', href: '/', from: '100% 80% 1x', to: '100% 0% 1.7x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-10.jpg', href: '/', from: '100% 0% 1.7x', to: '100% 80% 1x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-11.jpg', href: '/', from: 'top left', to: 'bottom right 1.5x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-12.jpg', href: '/', from: '100% 80% 1x', to: '100% 0% 1.7x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-13.jpg', href: '/', from: 'top left', to: 'bottom right 1.5x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-14.jpg', href: '/', from: 'top right 1.5x', to: 'bottom left', time: 4 },
     { src: '/public/img/presentazione/tonara-200-15.jpg', href: '/', from: '100% 0% 1.7x', to: '100% 80% 1x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-16.jpg', href: '/', from: '100% 0% 1.7x', to: '100% 80% 1x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-17.jpg', href: '/', from: '100% 80% 1x', to: '100% 0% 1.7x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-18.jpg', href: '/', from: '100% 0% 1.7x', to: '100% 80% 1x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-19.jpg', href: '/', from: 'top left', to: 'bottom right 1.5x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-20.jpg', href: '/', from: '100% 80% 1x', to: '100% 0% 1.7x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-06.jpg', href: '/', from: 'top left', to: 'bottom right 1.5x', time: 4 },
     { src: '/public/img/presentazione/tonara-200-07.jpg', href: '/', from: 'top right 1.5x', to: 'bottom left', time: 4 },
     { src: '/public/img/presentazione/tonara-200-08.jpg', href: '/', from: '100% 80% 1x', to: '100% 0% 1.7x', time: 4 }
   ]);
};
 
function setMenuSel() {
   menusel = "menuLink-" + jsMenuSel;
   $("#" + menusel).addClass("current_page_item");
};

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; })
   });
};

//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 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 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);
