

;

jQuery.fn.fadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle'}, speed, easing, callback); 
};

/* 1. TOGGLE GALLERY */
/* 2. ADD TO CART */
/* 3. EXTERNAL */
/* 4. TOOLTIP */

$(document).ready(function() {

  /* 1. TOGGLE GALLERY */
   $('#toggle_gallery').click(function() {
  
    var link = $(this);
		link.toggleClass('swap');
		
		$("#products").fadeOut("fast", function() {
	  	$(this).fadeIn("fast").toggleClass("gallery"); 
		 });
		
		$.ajax({
			type: "GET",
			url: link.attr('href')
		});
		
		return false;
	});


  /* 2. ADD TO CART */
  $('form.cart').submit(function(){
  
    var form =  $(this);
    
    $.ajax({
			type: "POST",
			url: form.attr("action"),
			data: form.serialize(),
			dataType: "json",
			success: function(response){
			
			   $.each(response, function(index, value) {
         
              if (index == 'cart_link') {
                  
                  $('#cart_link').html(value);
              }
              if (index == 'in_cart') {
              
                  form.next().find('a.in_cart').remove();
                  form.next().append(value);
              }
              if (index == 'message') {
              
                  $('div.alert').remove();
                  form.next().after(value);
                  $("div.alert").hide().fadeToggle('slow').fadeToggle('fast').fadeToggle('slow');
              } 
			   });
			   
			   form.parent().find('a[title]').tooltip({ delay: 100, showURL: false, opacity: 0.65, track: true });
      }
		});
    
    return false;
  });

  /* 3. EXTERNAL */
  $('a[rel*=external]').click(function(){
    this.target = "_blank";
  });
  
  /* *********** */
  
  $(".hide_me").hide();
  
  /* *********** */
  
  $('#gbook_add').click(function() {
    $(this).hide();
		$("#guest_book").show('fast');
		return false;
	});
	
	$('#hide_guest_book').click(function() {
    $('#gbook_add').show();
		$("#guest_book").hide('fast');
		return false;
	});
	 
   /* SPINBUTTON */
   $("input.spin-button").addClass('spin').SpinButton({min:1});

  /* *********** */
	$("div.alert").hide().fadeToggle('slow').fadeToggle('fast').fadeToggle('slow');


  /* *********** */
	$("#menu3 ul ").css({display: "none"}); // Opera Fix

	$("#menu3 li").hover(function(){

		$(this).addClass('hover').find('ul').css({visibility: "visible",display: "none"}).show(400);

	},function(){

		$(this).removeClass('hover').find('ul').css({visibility: "hidden"});

	});

  /* *********** */
	$('div.packages input:checked').parent().parent().addClass("checked");

  /* *********** */
	$('div.packages input').click(function() {

		$(this).parent().parent().parent().find("li").removeClass("checked");
		$(this).parent().parent().addClass("checked");
	});

  /* *********** */
	$("div.packages li, tr.item, #variants ul li, div.d-item_box").mouseover(function(e){

		$(this).addClass("hover");

	}).mouseout(function(){

		$(this).removeClass("hover");
	});
	
	
	 /* *********** */
	$('#variants ul li label').click(function() {

		$('#variants ul li').removeClass('selected');
    $(this).parent().addClass('selected');
    var radio =  $(this).find('input');
    if (radio.attr('checked') != 'checked') {
      radio.attr('checked', 'checked');      
    }
	});

  /* *********** */
  $('a.close').live('click', function() {
		$(this).parent().hide('fast');
		return false;
	});

  /* *********** */
  $('div.toggle a').click(function() {
		$(this).parent().next().next().toggle('fast');
		return false;
	});

   /* *********** */
	$('input[type="text"], input[type="password"], select, textarea').focus(function() {
		$(this).addClass("focus");
	}).blur(function() {
		$(this).removeClass("focus");
	});
	
	/* 4. TOOLTIP */
	$('*').tooltip({ delay: 100, showURL: false, opacity: 0.65, track: true });

});
