$(document).ready(function(){
	$(".tabs a").click(function(e){
		e.preventDefault;
		var $selectedTab = $(this); 
		var div = $selectedTab.attr('href');
		$selectedTab.closest(".tabContainerInnerBorder").find(".tabPanel").hide();
		$(div).show();
		$(".tabs a").removeClass('selected leftOfTab');
		$selectedTab.addClass('selected').prev().addClass('leftOfTab');
		return false;
	})
	
	
	$(".sliderTrigger").click(function(e){
		e.preventDefault;
		$this = $(this);
		var isVisible = $this.next().is(":visible");
		
		$(".slideContent").stop().slideUp('fast');
		$(".sliderArrow").attr('src', '/images/arrow_down.png');
		
		
		if (!isVisible) {
			$this.find(".sliderArrow").attr('src', '/images/arrow_up.png');
			$this.next().slideDown('fast');
		}
						
		return false;
	});
	
	
	// turn off caching
	$.ajaxSetup( {cache : false} );
		
	// SAVE TO FAVORITES
	$(".addFavorite").click(function(e){
		e.preventDefault;
		
		$this = $(this);
		var listingId = $this.attr('href').substring(1);
		
		$.post(
			"/cgi-bin/listings/favorites.cgi", 
			'todo=add&listing_id=' + listingId,
		   	function(data){
				if (data < 0) {
					alert("There was an error saving to your favorite");
				} else {
					$favoriteButtonContainer = $this.parents('.favoriteButtons');
					$favoriteButtonContainer.find('.addFavorite').hide();
					$favoriteButtonContainer.find('.removeFavorite').show();

					$('#favoritesCount').html(data);
					
					_gaq.push(['_trackPageview','/action/add_portfolio/' + listingId ]);
				}
			});
		return false;
	});
	
	// REMOVE FROM FAVORITES
    $(".removeFavorite").click(function(e){
		e.preventDefault();
		$this = $(this);
		var listingId = $this.attr('href').substring(1);
		
		$.post(
			"/cgi-bin/listings/favorites.cgi",
			'todo=delete&listing_id=' + listingId,
		   	function(data){
				if (data < 0) {
					alert("There was an error deleting from your favorites");
				} else {
					// swap button
					$favoriteButtonContainer = $this.parents('.favoriteButtons');
					$favoriteButtonContainer.find('.removeFavorite').hide();
					$favoriteButtonContainer.find('.addFavorite').show();
									
					// if in suitcase view
					if ($("#favorites").length) {
						// remove listing from page
						var $listing = $this.parents('.listing');
						$listing.slideUp('fast', function(){
							$listing.remove();
						});
				}
					
					$('#favoritesCount').html(data);
				}
							
			});
	});	
	
	// show rep contact form
	$("#showContactRep").click(function(e){
		e.preventDefault;
		$("#contactRep").slideDown('slow');
		$(this).fadeOut();
		return false;
	});
	
});




function submitContact() {
		var $this = $("#contactForm");

	
		var $firstNameField = $this.find("input[name=first_name]");
		if (!$firstNameField.attr('value'))
			{
				alert('Please enter your First Name.');
				$firstNameField.focus();
				return false;
			}
			
		var $lastNameField = $this.find("input[name=first_name]");
		if (!$lastNameField.attr('value'))
			{
				alert('Please enter your First Name.');
				$lastNameField.focus();
				return false;
			}
	
		var $emailField = $this.find("input[name=real_email]");
		if (!$emailField.attr('value'))
			{
				alert('Please enter your Email.');
				$emailField.focus();
				return false;
			}	
		
		
		var $phoneField = $this.find("input[name=home_phone]");
		if (!$emailField.attr('value'))
			{
				alert('Please enter your Phone.');
				$phoneField.focus();
				return false;
			}
			
			
			
		var $addressField = $this.find("input[name=address]");
		if (!$addressField.attr('value'))
			{
				alert('Please enter your Address.');
				$addressField.focus();
				return false;
			}	
			
		var $cityField = $this.find("input[name=city]");
		if (!$cityField.attr('value'))
			{
				alert('Please enter your city.');
				$cityField.focus();
				return false;
			}	
			
		var $stateField = $this.find("select[name=state]");
		if (!$stateField.val())
			{
				alert('Please enter your State.');
				$stateField.focus();
				return false;
			}	
			
		var $zipField = $this.find("input[name=zip]");
		if (!$zipField.attr('value'))
			{
				alert('Please enter your Zip.');
				$zipField.focus();
				return false;
			}	
			
			
		var $howHearField = $this.find("select[name=how_hear]");
		if (!$howHearField.val())
			{
				alert('Please enter How Your Heard.');
				$howHearField.focus();
				return false;
			}					

		 var params = $this.serialize();
		$.post("/cgi-bin/contact.cgi", params,
		   	function(data){
			$this.find(".btnSubmit").fadeOut('slow', function(){
				$this.find("input[type=text], textarea").attr('value', '');
				$this.find("select").find(":first-child").attr('selected', 'selected');
				$this.find(".btnSubmit").after(data);
				$("#response").fadeIn('slow');
			});
			
			setTimeout(function(){
					$("#response").fadeOut('slow',function(){
						$("#response").remove();
						$this.find(".btnSubmit").fadeIn('slow');
					});
					}, 5000);
	
		});
		
		return false;
		
	}
	
	
function submitContactRep() {
		var $this = $("#contactRepForm");

	
		var $firstNameField = $this.find("input[name=first_name]");
		if (!$firstNameField.attr('value'))
			{
				alert('Please enter your First Name.');
				$firstNameField.focus();
				return false;
			}
			
		var $lastNameField = $this.find("input[name=first_name]");
		if (!$lastNameField.attr('value'))
			{
				alert('Please enter your First Name.');
				$lastNameField.focus();
				return false;
			}
	
		var $emailField = $this.find("input[name=real_email]");
		if (!$emailField.attr('value'))
			{
				alert('Please enter your Email.');
				$emailField.focus();
				return false;
			}	
		
		 var params = $this.serialize();
		$.post("/cgi-bin/listings/contact_rep.cgi", params,
		   	function(data){
			$this.find(".btnSubmit").fadeOut('slow', function(){
				$this.find("input[type=text], textarea").attr('value', '');
				$this.find(".btnSubmit").after(data);
				$("#response").fadeIn('slow');
			});
			
			setTimeout(function(){
					$("#response").fadeOut('slow',function(){
						$("#response").remove();
						$("#contactRep").slideUp('slow');
						$("#showContactRep").fadeIn();
						$this.find(".btnSubmit").show();
						
					});
					}, 5000);
	
		});
		
		return false;
		
	}
