$(document).ready(function() {
	
	Cufon.replace("h1, h2, h3");

	
	$.ajax({
	    url: "/gtalk-status.php",
		processData: true,
		dataType: "text",
	    complete: function(data) {
			var status = data.responseText;
			var statusImage = "offline";
			statusImage = (status == "AVAILABLE") ? "online" : statusImage;
			statusImage = (status == "AWAY") ? "idle" : statusImage; 
			if (status == "AVAILABLE" || status == "AWAY") {
				
				$('.status').html('<a target="_blank" href="http://widget.meebo.com/mm.swf?AuPFJHQOOs"><img src="/wp-content/themes/FloorShop/images/status-'+statusImage+'.gif" alt="" /></a> <span id="status-message"> Alex is online</span>');
				$('#status-link').html('Click here to ask a question');
				
				$("#chat-box a").fancybox({
			        'padding'           : 0,
			        'autoScale'         : false,
			        'transitionIn'      : 'none',
			        'transitionOut'     : 'none',
					'width'				: 300,
					'height'			: 400,
					'type'				: 'swf'
			    });
			} else {
				$('.status').html('<img src="/wp-content/themes/FloorShop/images/status-'+statusImage+'.gif" alt="" /> <span id="status-message">Alex is offline</span>');
				$('#userpic-link').attr("href", "mailto:info@floorshop.ca");
				$('#status-link').html('But you can send him an email');
				$('#status-link').attr('href', 'mailto:info@floorshop.ca');
			};
	    }
	});
	
	//F.A.Q. accourdion
	if ($('.questions').length) {

		$('.questions h3 a').click(function(e){
			e.preventDefault();
			if (!$(this).parent().next('.answer').hasClass('selected')) {
				$('.answer.selected').removeClass('selected');
				$(this).parent().next('.answer').addClass("selected").delay(200).slideDown(200);

				$('.questions .answer').not('.selected').each(function(){
						$(this).slideUp(200);
				});
			};
			
			

		});
		
		$('.questions .answer').hide();
		$('.questions h3:eq(0)').click();
	}

	
		//$("input#name").select().focus();

	  //// Conatact Form ////
	  $("#submit").click(function() {
		_gaq.push(['_trackEvent', 'quote', 'submit-clicked']);
			// validate and process form
			// first hide any error messages
	    $('label').removeClass('error');

		  var name = $("input#name").val();
			if (name == "") {
	      $("#nameLabel").addClass('error');
	      //$("input#name").focus();
	      return false;
	    }
			var email = $("input#email").val();
			if (email == "") {
	      $("#emailLabel").addClass('error');
	      //$("input#email").focus();
	      return false;
	    }
			var message = $("#message").val();
			if (message == "") {
	      $("#messageLabel").addClass('error');
	      //$("#message").focus();
	      return false;
	    }

		var subject = $("#subject").val();
		var phone = $("#phone").val();
		var quote = $("#quote").val();

		var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone + '&subject=' + subject + '&message=' + message + '&quote=' + quote;
		//alert (dataString);return false;

		$.ajax({
	      type: "POST",
	      url: "/wp-content/themes/FloorShop/email.php",
	      data: dataString,
	      success: function() {
			_gaq.push(['_trackEvent', 'quote', 'success']);
			
	        $('#contact_form').html("<div id=\"submitted\"></div>");
	        $('#submitted').html("<h3>Success</h3>")
	        .append("<p>You have successfully submitted the contact form. We will be in touch with you soon.</p>")
	        .hide()
	        .fadeIn(500, function() {
	          $('#submitted');
	        });
	      }
	     });
	    return false;
		});
	

	
		
		//Expandable quote
		
		if(!$('#contact_form').hasClass('expanded')) {
			$('#contact').hide();
			$('#contact_form').addClass('closed');
			$('#expand-quote').css('cursor', 'pointer');
			$('#expand-quote').click(function(e){
				e.preventDefault();
				if ($('#contact_form').hasClass('closed')) {
					$('#contact_form').removeClass('closed').addClass('open');
					$('#contact').slideDown(500);
					_gaq.push(['_trackEvent', 'quote', 'expand']);
				} else {
					$('#contact_form').removeClass('open').addClass('closed');
					$('#contact').slideUp(500);
				};
			});
		}
		
		
		$('#name').focus(function(){
			_gaq.push(['_trackEvent', 'quote', 'started-to-fill']);
		});
		//Gallery
		if ($(".ngg-gallery").length) {
			//Initializing
			var data = {
				curIndex: -1
			}
			$('.ngg-gallery').data(data);
			
			//Calculating bottom padding based on the longest description
			$('.ngg-gallery').each(function() {
				var longest = 0;
				var longestHTML = "";
				$(this).find('.image-data .description').each(function() {
					if ($(this).text().length > longest) {
						longest = $(this).text().length;
						longestHTML = $(this).html();
					};
				}); 
				
				
				$(this).find('.info .image-title').html(longestHTML);
				var targetHeight = 46 + $(this).find('.image-title').height()
				$(this).find('.gallery-shadow').css('height', targetHeight);
				$(this).find('.info .image-title').html("");
			});
			
			$('.gallery-thumb a').click(function(e) {
				e.preventDefault();
				var ind = $(this).parent().index();
				showImage($(this).closest('.ngg-gallery'), ind);
			});
			
			

			
			$('.ngg-gallery').each(function() {
				isAnimating = false;
				$(this).find('.gallery-thumb:eq(0) a').click();				
			});
			
			$('.gallery-image a.next').click(function(e){
				e.preventDefault();
				nextImage($(this).closest('.ngg-gallery'));
			});
			
			$('.gallery-image a.prev').click(function(e) {
				e.preventDefault();
				prevImage($(this).closest('.ngg-gallery'));
			});	
			
			
		}
		
		
	    var totalPages = $('.ngg-gallery.home .gallery-thumb').length;
	    var intervalID;
	    var timerRunning = false;
		
		if ($(".home.ngg-gallery").length) {
			startTimer();
		};
		
		
		$(".ngg-gallery.home").hover(function(){stopTimer();}, function(){startTimer();});
		

	    function startTimer() {
	        if (!timerRunning) {
	            intervalID = window.setInterval(homeNext, 10000);
	            timerRunning = true;
	        }
	    };

	    function stopTimer(){
	        clearInterval(intervalID);
	        timerRunning = false;
	    };


		function homeNext() {
			nextImage($('.ngg-gallery.home'));
		}
		
		function nextImage(gallery){
			data = gallery.data();
			var newIndex = data.curIndex + 1;
			if (newIndex == gallery.find(".gallery-nav>div").length) {
				newIndex = 0;
			}
			showImage(gallery, newIndex);
		}
		
		function prevImage(gallery) {
			data = gallery.data();
			var newIndex = data.curIndex - 1;
			if (newIndex < 0 ) {
				newIndex = gallery.find(".gallery-nav>div").length - 1;
			}
			showImage(gallery, newIndex);
		}
		
		var isAnimating = false;
		
		function showImage(gallery, newIndex) {
			data = gallery.data();		//Getting information about current image
			var onHome = (gallery.hasClass("home")) ? true : false;	//Detecting if it's a homepage carousel
			var width = (onHome) ? 940 : 640;
			var curIndex = data.curIndex;
			
			if (curIndex != newIndex && !isAnimating) {
				if (newIndex == 0) {
					gallery.find('.gallery-image a.prev').hide();
				} else {
					gallery.find('.gallery-image a.prev').show();
				}
				
				if (newIndex == gallery.find('.gallery-nav>div').length - 1) {
					gallery.find('.gallery-image a.next').hide();
				} else {
					gallery.find('.gallery-image a.next').show();
				}
				
				gallery.find(".gallery-nav>div").each(function(){	//Fading thumbnails in and out
					if ($(this).index() == newIndex) {
						$(this).addClass("selected");
						if (onHome) {
							$(this).addClass("active");
						} else {
							//$(this).stop().fadeTo(100, 1);
							$(this).css({opacity: 1});	
						}
						
						//Take all data from image-data and start animation
						var imageData = $(this).find(".image-data");
						
						var additions = "";
						additions += "<div class='slide-info'>";
						additions += "<div class='info-type'>"+imageData.find('.more-text').text()+"</div>";
						additions += "<h2>"+imageData.find('.title').text()+"</h2>";
						additions += "<div class='description'>"+imageData.find('.description').text()+"</div>";
						additions += "</div><a href='"+imageData.find('.more-link').text()+"'></a>"
						
						var carouselAdditions = (onHome) ? additions : "";
						
						
						gallery.find(".gallery-image").append('<div class="new-image">'+carouselAdditions+$(this).find(".big-image").html()+'</div>');
						
						if (newIndex < curIndex) {
							gallery.find(".gallery-image .new-image").css("left", "-"+width+"px");
						}
						
						isAnimating = true;	//Fix issue with blocking
						
						gallery.find(".gallery-image .new-image").stop().animate({"left": 0, avoidTransforms: true}, function(){
							var newImage = gallery.find(".gallery-image .new-image");
							var curImage = gallery.find(".gallery-image .cur-image");
							if (newImage.length) {
								curImage.remove();
								newImage.addClass("cur-image").removeClass("new-image");
							};
							if (onHome) {
								Cufon.replace('.slide-info h2');
								newImage.find('.slide-info').animate({"width" : "445px", avoidTransforms: true}, 500, function(){
									isAnimating = false;
								});
							}
						});
						
						gallery.stop().delay(800).queue(function(){
							isAnimating = false;
						});
						
						var info = gallery.find(".info");
						if (!$.browser.msie) {
							
						};
						var top = ($.browser.msie) ? "30px" : "-30px";
						info.stop().animate({"top": top, "opacity": 0}, 300, function(){	//Showing title and link for new Images
							info.find(".image-title").html(imageData.find(".description").html());
							info.find('.image-link').html(imageData.find('.more-link').html());
							info.stop().animate({"top": "30px", "opacity": 1}, 500, function(){
								isAnimating = false;
								
							});
						});
						
					} else {
						if (onHome) {
							$(this).removeClass('active');
						} else {
							if ($.browser.msie || $.browser.webkit) {
								$(this).css({opacity: 0.5});	
							} else {
								$(this).stop().fadeTo(500, 0.5);
							}
							
							
						};
						
					}
				});

				data.curIndex = newIndex;
				gallery.data(data);			//Updating information about current item
			}
		}// shomImage
		
});



