$(document).ready(function() {

	var current;
	var filter;
	var tipContent;
	
	//item mouse over
  $("div.item > div.title").mouseover(function() {
    $(this).addClass("current_item");
    if ($(this).parent().find("div.keywords").html() != null) {
  	  var keywords = $(this).parent().find("div.keywords").html().split(", ");
  	  
  	  /*
      $("a.keyword").addClass("keyword_out");
      $("a.keyword").each(function() {
        if (inArray($(this).html(), keywords)) {
          $(this).removeClass("keyword_out");
          if ($(this).hasClass("keyword_click") == false) {
            $(this).addClass("keyword_match");
          }
        }
      })
      */
    } 	
  }).mouseout(function() {
  	if (current != $(this).html()) {
	  	$(this).removeClass("current_item");
	  }
    $("a.keyword").removeClass("keyword_out");
    $("a.keyword").removeClass("keyword_match");
  }).click(function() {
  	//hide work
  	if ($(this).html() == 'Colleagues and Friends' || $(this).html() == 'About' || $(this).html() == 'Contact') {
  		hideWork();
  		hideFilters();
  	}
  	$("div.item > div.payload").slideUp(250);
  	$("div.item > div.title").removeClass("current_item");
  	if ($(this).parent().find("div.payload").is(":hidden") == true) {
	  	$(this).addClass("current_item");
	  	current = $(this).html();
	  	$(this).parent().find("div.payload").slideDown(250, function() {
		  	_gaq.push(['_trackEvent', 'Section', 'Click', current]);
	  	});
	  }
	  else {
	  	$(this).parent().find("div.payload").slideUp(250);
	  	current = undefined;
	  }
	  
	  
	  
  });
  
  //filters
  $("div.filters > div.title").click(function() {
  	if ($(this).parent().find("div.payload").is(":hidden") == true) {
	  	$(this).parent().find("div.payload").slideDown(250);
	  	$(this).addClass("current_item");
	  	hideNonWork();
	  	_gaq.push(['_trackEvent', 'Section', 'Click', 'My Services and Industries Served']);
		}
		else {
      $("div.item > div.title").removeClass("match");		
	  	$(this).parent().find("div.payload").slideUp(250);
	  	$(this).removeClass("current_item");
	  	$("span.match").hide();
	  	$("a.keyword").removeClass("current_item");
	  	$("a.keyword").removeClass("keyword_click");
	  	filter = "";
		}
	});  
  
  //keywords
  $("div.payload > div.keywords").find("a.keyword").click(function() {
    $("div.payload > div.keywords").find("a.keyword").removeClass("keyword_over");
    $("div.payload > div.keywords").find("a.keyword").removeClass("keyword_click");
    if ($(this).html() == filter) {
      filter = "";
    }
    else {
      $(this).addClass("keyword_click");
      filter = $(this).html();
      $('div#work > div.item > div.title').removeClass('current_item');
      $('div#work > div.item > div.payload').slideUp(250);
	  	showWork();
      current_item = '';
      _gaq.push(['_trackEvent', 'Filter', 'Click', filter]);
    }
    findMatches();
  })
  
  $("div.payload > div.keywords").find("a.keyword").mouseover(function() {
    $(this).addClass("keyword_over");
    tipContent = getTipContent($(this).html());
  }).mouseout(function() {
    $("div.payload > div.keywords").find("a.keyword").each(function() {
      if ($(this).html() == filter) {
//        $(this).addClass("current_item");
      }
      else {
        $(this).removeClass("keyword_over");
      }
    })
  })
  
  //reset filters
  $("span.reset").click(function() {
    $("span.match").hide();
    $("a.keyword").removeClass("current_item");
    filter = ""
  })

  findMatches = function() {
    $("div.item > div.keywords").each(function() {
      if ($(this).html().indexOf(filter) == -1 || filter == "") {
        $(this).parent().find("div.title").removeClass("match");
      }
      else {
        $(this).parent().find("div.title").addClass("match");
      }
    })
  }
  
  //work
  $('div.work').click(function() {
    if ($('div#work').is(":hidden") == true) {  
    	showWork();
    	hideNonWork();
      _gaq.push(['_trackEvent', 'Section', 'Click', 'My Work']);
    }
    else {
    	hideWork();
    }
  });
  
  getTipContent = function(service) {
  	return service;
  }
	
	showWork = function() {
		$('div#work').slideDown(250);
	}
	
	hideWork = function() {
    $('div#work').slideUp(250);
    $("div.item > div.title").removeClass("match");		
  	$("span.match").hide();
  	$("a.keyword").removeClass("current_item");
  	filter = "";      
		$('div#work').slideUp(250);
	}
	
	hideFilters = function() {
		$('div.filters').find("div.payload").slideUp(250);
	}
	
	hideNonWork = function() {
		$('div.colleagues > div.payload').slideUp(250);
		$('div.about > div.payload').slideUp(250);
		$('div.contact > div.payload').slideUp(250);
	}
	
  inArray = function(val, arr) {
    for(var i in arr) {
      if (arr[i] == val) {
        return true;
      }
    }
    return false;
  }
    
  
  //fancybox
    $("a.fancyimages").click(function() {
    	var images = new Array();
    	switch($(this).attr("id")) {
    		case "cu":
    			images = [
	    			"images/portfolio/cu1.jpg", 
	    			"images/portfolio/cu2.jpg", 
	    			"images/portfolio/cu3.jpg", 
	    			"images/portfolio/cu4.jpg",
	    			"images/portfolio/cu5.jpg",
	    			"images/portfolio/cu6.jpg",
	    			"images/portfolio/cu7.jpg",
	    			"images/portfolio/cu8.jpg"
    			]
    		break;
    		case "jj":
    			images = [
    				"images/portfolio/jj1.jpg", 
    				"images/portfolio/jj2.jpg", 
    				"images/portfolio/jj3.jpg"
    			]
    		break;
    		case "julie":
    			images = [
    				"images/portfolio/julie1.jpg", 
    				"images/portfolio/julie2.jpg", 
    				"images/portfolio/julie3.jpg", 
    				"images/portfolio/julie4.jpg", 
    				"images/portfolio/julie5.jpg",
    			]
    		break;
    		case "favorite":
    			images = [
    				"images/portfolio/favorite1.jpg", 
    				"images/portfolio/favorite2.jpg"
    			]
    		break;
    		case "vfc":
    			images = [
    				"images/portfolio/vfc1.jpg", 
    				"images/portfolio/vfc2.jpg"
    			]
    		break;
    		case "sotheby":
    			images = [
    				"images/portfolio/sotheby1.jpg", 
    				"images/portfolio/sotheby2.jpg",
    				"images/portfolio/sotheby3.jpg"
    			]
    		break;
    		case "kluge":
    			images = [
    				"images/portfolio/kluge1.jpg", 
    				"images/portfolio/kluge2.jpg",
    				"images/portfolio/kluge3.jpg",
    				"images/portfolio/kluge4.jpg"
    			]
    		break;
    		case "wea":
    			images = [
    				"images/portfolio/wea1.jpg", 
    				"images/portfolio/wea2.jpg",
    				"images/portfolio/wea3.jpg",
    				"images/portfolio/wea4.jpg"
    			]
    		break;
    	}
    	
			$.fancybox(images, {
				"padding"					: 0,
				"transitionIn"		: "elastic",
				"transitionOut"		: "elastic",
				"type"						: "image",
				"changeFade"        : 0,
				"overlayOpacity"	: .6,
				"overlayColor"		: "#000",
				"cyclic"					: true,
      });
				
	  	_gaq.push(['_trackEvent', 'Section Images', 'Click', current]);				
  });

  /* emal form */
  $('input[name=name]').focus(function() {
  	if ($(this).val() == 'your name') {
  		$(this).val('');
  	}
  }).blur(function() { 
  	if ($(this).val() == '') {
  		$(this).val('your name');
  	}
  })
  
  $('input[name=email]').focus(function() {
  	if ($(this).val() == 'your email') {
  		$(this).val('');
  	}
  }).blur(function() { 
  	if ($(this).val() == '') {
  		$(this).val('your email');
  	}
  })
  
  $('textarea[name=message]').focus(function() {
  	if ($(this).val() == 'your message') {
  		$(this).val('');
  	}
  }).blur(function() { 
  	if ($(this).val() == '') {
  		$(this).val('your message');
  	}
  })
  
  
  $('input[name=send]').click(function() {
    $(this).attr('disabled', 'disabled');
    $(this).css('opacity', 0.25);
		$.ajax({
		  async: false,
			type: "POST",
			url: "ajax.php",
			data: $('div.contact').find('form').serialize(),
			success: function(msg){
				$('span.submitted').fadeIn().animate({opacity: 1}, 3000).fadeOut();
		  	_gaq.push(['_trackEvent', 'Contact', 'Submitted']);
        $('input[name=send]').attr('disabled', '');
        $('input[name=send]').css('opacity', 1);
			}
		});
   	return false;
  })
  
  //tooltips
  $("a.keyword").tipTip({defaultPosition: 'right', delay: 600, maxWidth: '440px'});

});