/*
 * jQuery cursorHover
 * Copyright 2010 Jake Lauer with Clarity Design (isthatclear.com)
 * Released under the MIT and GPL licenses.
 */
		(function ($) {
		    $.fn.cursorHover = function (options) {

		        var defaults = {
		            outerImage: "",
		            innerImage: "",
		            fadeSpeed: 300,
		            innerBorder: 0,
		            align: "bottom",
		            zalign: "bottom"
		        };

		        var larghezze = new Array();
		        larghezze[0] = 109;
		        larghezze[1] = 115;
		        larghezze[2] = 108;
		        larghezze[3] = 111;
		        larghezze[4] = 84;
		        larghezze[5] = 97;
		        var pulsanteCorrente = 0;

		        var options = $.extend(defaults, options);
		        var customImage;

		        return this.each(function () {

		            $(this).css({ width: larghezze[pulsanteCorrente] + "px" });

		            //Set background image to specified image
		            $(this).wrap('<div class="innerImage">');
		            var innerDiv = $('.innerImage');

		            customImage = undefined;

		            //var wfBorder = innerDiv.width() - (options.innerBorder * 2);
		            var hfBorder = innerDiv.height() - (options.innerBorder * 2);

		            //Check if it's linked
		            var link = $(this).find('a')[0];
		            linkExists = link != undefined;
		            if (linkExists) {
		                var linkExists = true;
		                var linkText = link.text; //Keep SEO linking

		                // Menion's IMG
		                var newBtnImg = $(link).find("img")[0];
		                if ((newBtnImg != undefined) && (newBtnImg.src != undefined))
		                    customImage = newBtnImg.src;

		                $(link).find("img").remove();

		                if ((linkText != undefined) && (linkText != ""))
		                    linkText = linkText.replace(linkText, '<div class="TestoNavigation">' + linkText + '</div>');

		                var linkHTML = $(this).find('a').append($(this).find('a').clone()).remove().html();
		                linkHTML = linkHTML.replace('</a>', '').replace('>', '/>');
		            }

		            //Set inner image to specified image
		            if (customImage == undefined)
		                customImage = options.outerImage;

		            $(this).html('<img class="aInner" src="' + options.innerImage + '"/>');
		            $(this)/*.css("background-image", "url('" + customImage + "')"); */.append('<img class="aTop" src="' + customImage + '"/>');
		            if (linkExists == true) {
		                $(this).find('.aTop').wrap(linkHTML); // '.aTop'
		                $(this).find('a').append(linkText);
		            }
		            $(this).css({ position: "relative" });
		            var aInner = $(this).find('.aInner');
		            var aTop = $(this).find('.aTop');

		            switch (options.zalign) {
		                case "bottom":
		                    var innerImageZ = 0;
		                    var outerImageZ = 0;
		                    break;
		                case "top":
		                    var innerImageZ = 1;
		                    var outerImageZ = 2;
		                    break;
		            }

		            aInner.wrap('<div class="border">');
		            $(this).find('.border:first').css({ position: "absolute", top: options.innerBorder, left: options.innerBorder, width: larghezze[pulsanteCorrente]/*wfBorder*/, height: hfBorder, overflow: "hidden", zIndex: innerImageZ });
		            aInner.css({ opacity: 0, zIndex: outerImageZ });
		            aTop.css({ position: "absolute", top: 0, left: 0 });

		            switch (options.align) {
		                case "bottom":
		                    alignment = (innerDiv.height() - aInner.height());
		                    break;
		                case "center":
		                    alignment = (innerDiv.height() - aInner.height()) / 2;
		                    break;
		                case "top":
		                    alignment = 0;
		                    break;
		            }
		            aInner.css({ marginTop: alignment });

		            //Center inner image inside outer image
		            if (aInner.width() > $(this).width()) {
		                aInner.css({
		                    marginLeft: (aInner.width() - $(this).width()) / -2
		                });
		            } else {
		                aInner.css({
		                    marginLeft: ($(this).width() - aInner.width()) / 2
		                });
		            }


		            pulsanteCorrente++;

		            //Fade on mouse over
		            $(this).mouseenter(function () {
		                aInner.stop().animate({
		                    opacity: 1
		                }, options.fadeSpeed);

		                //aTop.src.replaceText(".png", "_h.png");
		            });

		            $(this).mousemove(function (e) {
		                var left = (e.pageX - $(this).offset().left - (aInner.width() / 2));
		                if (left >= 0) {
		                    left = 0;
		                }
		                if ((left * -1) >= (aInner.width() - innerDiv.width())) {
		                    left = ((aInner.width() - innerDiv.width()) * -1);
		                }
		                aInner.css({ marginLeft: left })
		            });

		            //Fade out on mouse leave
		            $(this).mouseleave(function () {
		                aInner.stop().animate({
		                    opacity: 0
		                }, options.fadeSpeed);

		                //aTop.src.replaceText("_h.png", ".png");
		            });
		        });

		        function extractUrl(input) {
		            return input.replace(/"/g, "").replace(/url\(|\)$/ig, "");
		        }
		    };

		})(jQuery);
