
/* jQuery custom extensions */
(function($) {
  /**
   * Applies IE png hack to selected DOM elements' backgrounds
   */
  $.fn.fixpng = function() {
    if ($.browser.msie && $.browser.version < 7) {
      return this.each(function(w) {
        var results = this.currentStyle.backgroundImage.match(/url\("(.+)"\)/);
        if (results != null) {
          var url = results[1];
          this.style.backgroundImage = 'none';
          this.style.filter = "progid:DXImageTransform.Microsoft." +
                   "AlphaImageLoader(src='" + url + "',sizingMethod='crop')";
        }
      });
    }
    return this;
  }
})(jQuery);

$(function() {
	
	//diable search form on less than 3 chr search
	$('#btn_search').click( function() {
		if($("#txt_search").val().length>=3) {
			$("#frm_search").submit();
		}
		return false;
	});
	
	
  /* routine for both home tabs and products tabs */
  var tabify = function(selector, contents) {
    $(selector).click(function() {
      var $this = $(this);

      /* reset the situation */
      $(contents).hide();
      $this.parent().siblings("li").removeClass("active");

      var obj;
      var $this = $(this);
      var objid = $this.attr("href").replace(/^[^#]*#?/, '');
      if ((objid == "") || !(obj = document.getElementById(objid))) {
        //console.log("Errore: tab id \"" + objid + "\" non trovato");
        return true;
      }

      /* now show our new tab */
      $(obj).show();
      $this.parent("li").addClass("active");

      return false;
    });
  };

  /* permanent navigation links */
  $("#g_header .g_navigation > li > a").click(function() {
    /* reset everything */
    $("#g_header .g_navigation ul").hide();
    $("#g_header .g_navigation > li").removeClass("active");

    /* activate this menu entry */
    var $li = $(this).parent("li").addClass("active");
    var $ul = $li.children("ul");
    /* if there is a submenu, show it, otherwise just quit */
    if ($ul.length > 0) {
      $ul.show();
      //return false;
    }
    return true;
  });

  /* homepage tabs (when available) */
  tabify("#homeTabsSelector a", "#homeTabs .homeTab");

  /* product tabs (when available) */
  tabify("#prodTabsSelector a", ".prodTab");

  /* language selection popup */
  var closeLanguageSelection = function() {
    $("#g_lang_selector").hide("slow", function() { $("#g_lang_overlay").hide(); });
  };
  $("#g_lang_overlay").click(closeLanguageSelection);
  $("#g_header .g_lang a").click(function() {
    $("#g_lang_overlay").show();
    $("#g_lang_selector").show("slow");
    $
  });

  /* apply fix for unsupported :first-child in IE6 */
  if ($.browser.msie && $.browser.version < 7) {
    $("ul.g_links li:first-child a").css("border-left", "0");
    // FIXME: qui interviene anche il double margin bug?
    $("#g_footer ul.g_contentlinks li:first-child").css("margin-left", "3px");
    $("#g_footer ul.g_contentlinks li:last-child").css("margin-right", "0");
    $("#g_footer ul.g_contentlinks li a").fixpng().css("cursor", "pointer");
    $("a.g_logo").css("filter", "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
                      $("a.g_logo img").attr("src") + "',sizingMethod='crop')")
                 .css("cursor", "pointer");
  }

  /* very dirty fix for a very dirty browser */
  if ($.browser.msie) {
    $("table.simple").attr("cellspacing", "0");
  }

  /* rounded buttons */
  $(".g_input.js_rounded").each(function () {
    $(this).wrap('<span class="' + $(this).attr("class") + '"><span class="left"><span class="right"></span></span></span>')
           .removeClass("js_rounded");
  });

  /* auto-shadows */
  $(".g_shadow").wrapInner('<div class="g_right"><div class="g_left"><div class="g_bottom"><div class="g_topright"><div class="g_bottomright"><div class="g_bottomleft"></div></div></div></div></div></div>');

  $("ul.prodTools a").fixpng().css("cursor", "pointer");

  /* per la pagina prodotti - attiva il rollin delle immagini */
  $("ul.prodImage a").click(function () {
    $("ul.prodImage li").removeClass("active");
    $("div.prodImage img").attr("src", $(this).attr("rel"));
		$("div.prodImage .didascalia").html($(this).attr("title"));
    $(this).parent("li").addClass("active");
    return false;
  });

  /* setta l'altezza minima del body in corrispondenza della navigazione locale */
  var localNavH = $("div.localNavigation").height();
	if (localNavH < 550) localNavH = 550;
	if ( $("#g_body div.g_layout").height() < (localNavH + 20)) {
		$("#g_body div.g_layout").css("min-height", (localNavH + 20) + "px");
		if ($.browser.msie && $.browser.version < 7)
		$("#g_body div.g_layout").css("height", (localNavH + 20) + "px");
		$("#g_body div.g_layout").addClass("armenia");
	}

  /* tooltip dei prodotti, ove applicabile */
  var tooltipOffsetX = -220;
  var tooltipOffsetY = 20;
  $(".tooltip a")
  .hover(function(e) {
    $("#g_tooltip").css("top", (e.pageY + tooltipOffsetY) + "px")
                   .css("left", (e.pageX + tooltipOffsetX) + "px")
                   .children("span").text($(this).children("img").attr("alt"));
    if ($.browser.msie)
      $("#g_tooltip").show();
    else
      $("#g_tooltip").fadeIn("fast");
  }, function() {
    $("#g_tooltip").hide();
  })
  .mousemove(function(e) {
    $("#g_tooltip").css("top", (e.pageY + tooltipOffsetY) + "px")
                   .css("left", (e.pageX + tooltipOffsetX) + "px");
  })
  .click(function() { return false; })
  .children("img").attr("title", "");
});

