jQuery(document).ready(function($){
	// HOVER
	$("#nav a, #subnav a, #slides a, a.hover").hover( 
		// over
		function(){
			var theImg = $(this).find('img:first');
			// store the original image src
			theImg.data( "originalsrc" , theImg.attr("src") );
			
			// add -over to the image unless it is already -over
			if (!theImg.attr("src").match(/-over/) ) {
				theImg.attr( "src", theImg.attr("src").replace(/\./, "-over.") );
			}
			
		},
		
		// out
		function(){
			var theImg = $(this).find('img:first');
			// replace the original src
			theImg.attr("src", theImg.data("originalsrc")).data("originalsrc", null);
		}
	);
	
	$("#slideController").jFlow({
		slides: "#slides",
		controller: ".jFlowControl", // must be class, use . sign
		slideWrapper : "#jFlowSlide", // must be id, use # sign
		selectedWrapper: "jFlowSelected"  // just pure text, no sign
	});


	$("#homeSlideController").jFlow({
		slides: "#homeSlides",
		controller: ".jFlowControl", // must be class, use . sign
		slideWrapper : "#jFlowSlide", // must be id, use # sign
		selectedWrapper: "jFlowSelected"  // just pure text, no sign
	});
	
	
	
	$(".slideEnlarge a, #styles a.lightbox").lightBox({
		imageLoading: '/images/lightbox/ico-loading.gif',
		imageBtnClose: '/images/lightbox/btn-close.gif',
		imageBtnPrev: '/images/lightbox/btn-prev.gif',
		imageBtnNext: '/images/lightbox/btn-next.gif',
		imageBlank: '/images/lightbox/blank.gif'
  	});
	
	$("#sectionLinks a").click(function(e){
		e.preventDefault;
		var div = $(this).attr("href").substr(1);
		$(".section").hide();
		$("#" + div).show();
		return false;
	});
	
	
	// clear text fields
	$(".fancyField").each(function(){
		var field = $(this);
		field.data('originalValue', field.attr('value'));
		
		field.bind('focus', function(){
			if (field.attr('value') == field.data('originalValue')) {
				field.attr('value', '');
			}
		});
		
		field.bind('blur', function(){
			if (field.attr('value') == '' ) {
				field.attr('value', field.data('originalValue'));
			}
		});
		
	});
	
	
	
	$(".emailForm").submit(function(e){
		var $this = $(this);
	
		var $emailField = $this.find("input[name=email]");
		if (!$emailField.attr('value') || $emailField.attr('value') == $emailField.data('originalValue'))
			{
				alert('Please enter your Email.');
				$emailField.focus();
				return false;
			}						

		 var params = $this.serialize();
		$.post("/cgi-bin/email.cgi", params + '&random=' + Math.random(),
		   	function(data){
			$this.find(".button").fadeOut('slow', function(){
				$this.find(".fancyField").attr('value', '');
				$this.find(".button").after(data);
				$("#response").fadeIn('slow');
			});
			
			setTimeout(function(){
					$("#response").fadeOut('slow',function(){
						$("#response").remove();
						$this.find(".button").fadeIn('slow');
						
						$this.find(".fancyField").each(function(){
							var field = $(this);
							field.attr('value', field.data('originalValue'));
						});
	
					});
				}, 5000);
	
		});
		
		return false;
		
	});
	
	
	$("#contactForm").submit(function(e){
		var $this = $(this);

		var $nameField = $this.find("input[name=name]");
		if (!$nameField.attr('value') || $nameField.attr('value') == $nameField.data('originalValue'))
			{
				alert('Please enter your Name.');
				$nameField.focus();
				return false;
			}	
	
		var $emailField = $this.find("input[name=email]");
		if (!$emailField.attr('value') || $emailField.attr('value') == $emailField.data('originalValue'))
			{
				alert('Please enter your Email.');
				$emailField.focus();
				return false;
			}	
		

		 var params = $this.serialize();
		$.post("/cgi-bin/contact.cgi", params + '&random=' + Math.random(),
		   	function(data){
			$this.find(".button").fadeOut('slow', function(){
				$this.find(".fancyField").attr('value', '');
				$this.find(".button").after(data);
				$("#response").fadeIn('slow');
			});
			
			setTimeout(function(){
					$("#response").fadeOut('slow',function(){
						$("#response").remove();
						$this.find(".button").fadeIn('slow');
						
						$this.find(".fancyField").each(function(){
							var field = $(this);
							field.attr('value', field.data('originalValue'));
						});
	
					});
				}, 5000);
	
		});
		
		return false;
		
	});
	
	
	


	$(window).resize(function() {
		resizeBg();
	});
	
	$(".slide-wrapper").show();
	$("#homeSlideController").hide();
	$("#homeSlidesContainer .slide-wrapper").hide();
	
	function showHomeSlides() {
		$("#homeSlidesContainer .slide-wrapper").fadeIn(2000, function(){
			$("#homeSlideController").show();
		});
		
	}
	
	setTimeout(showHomeSlides, 5000);
	
	
});

window.onload = function() {
		// preload
		$("#nav a img, #subnav a img,  #slides a img, .hover img").each(
			function() {
				if (!$(this).attr("src").match(/-over/) && !$(this).attr("src").match(/-active/) ) {
					$("<img>").attr( "src", $(this).attr("src").replace(/\./, "-over.") );
				}
			}
		);

	resizeBg();

}


function resizeBg() {
	var container_width = $("#siteWrapper").width();
	var container_height = $("#siteWrapper").height() - $("#footer").height();
	var image_height = $("#bg").height();
	var image_width = $("#bg").width();
	
	var newHeight;
	var newWidth;
	if (image_height <= container_height) {
		ratio = container_height / image_height;
		newHeight = container_height;
		newWidth = parseInt(image_width * ratio, 10);
		
	} else {
		ratio = container_width / image_width;
		newWidth = container_width;
		newHeight = parseInt(image_height * ratio, 10);
	}
	$("#bg").css({
		"width": newWidth + "px",
		"height": newHeight + "px"
	});

	$("#bg:hidden").fadeIn();
	
}