/*--  CONTACT ME  --*/
function initialize_contact () {
	$("body").append('<div id="contact_me_popup"><form id="contact_form"><div id="contact_me_spacer"></div><div id="contact_me_body"><div class="input_holder"><label>Name:</label><input type="text" id="contact_name" value="" /></div><div class="input_holder"><label>Email:</label><input type="text" id="contact_email" value="" /></div><div class="input_holder text_box"><label>Message:</label><textarea id="contact_message" rows="7"></textarea></div><div class="input_holder submit">Submit</div></div></form></div>');
	$("#contact_me_body input, #contact_me_body textarea").css({'color': '#FFF'});
	//Contact Me Functionality
	$("#contact_me_popup:not(.active)").hover(function () { $(this).addClass("hover").css('cursor', 'pointer'); }, function () { $(this).removeClass("hover").css('cursor', 'default'); });
	$("#contact_me_spacer").toggle(function () {
		$("#contact_me_popup").stop().addClass("active").animate({ "bottom" : "0px" });
	}, function () {
		$("#contact_me_popup").stop().removeClass("active").animate({ "bottom" : "-432px" });
	});
	$(".submit").click(function() {
		var name = $('#contact_name').val();
		var email = $('#contact_email').val();
		var message = $('#contact_message').val();
		
		if ( name.length == 0 || email.length == 0 || message.length == 0 ) {
			alert('Please fill in all fields before sending your message.');
			return false;
		}
		
		$("#contact_me_body").wrapInner("<div id='fade_inner_contact'></div>");
		$("#contact_me_body").append('<div id="loading_spinner"><img src="/img/ajax-loader.gif" height="32px" width="32px" /></div>');
		$("#loading_spinner").height(32).width(32).css({'margin' : '150px 185px'}).hide();
		$("#fade_inner_contact").fadeOut(300, function() {
			$("#loading_spinner").fadeIn(300);
		});
		
		$.post(
			'/contacts/email',
			{
				name:		name,
				email: 		email,
				phone:		phone,
				message:	message
			},
			function() {
				$("#contact_me_body").append('<div><p id="success_message">Your message has been received, thank you for contacting me!</p></div>');
				$('#success_message').width(400).css({'margin': '0 auto'}).hide();
				$("#loading_spinner").fadeOut(300, function() {
					$('#success_message').fadeIn(300);
					setTimeout(function(){
							$("#contact_me_popup").stop().removeClass("active").animate({ "bottom" : "-432px" }, function(){
								$('#loading_spinner').remove();
								$('#success_message').remove();
								$('#fade_inner_contact').show();
								$('#contact_message').val('');
							});
						},
							3000
					);
				});
			}
		);
		
	});
}
/*--  LIGHTBOX  --*/
$(document).ready(function (){
	$("img.expandable").closest("div").append('<div>+</div>');
	$("img.expandable").click(function () { lightbox_expand($(this).attr("src")); });
	$("img.expandable").siblings("div").click(function () { lightbox_expand($(this).siblings("img").attr("src")); });
	
	
	$(document).bind("contextmenu",function(e){
		return false;
	});
});
function lightbox_expand (src) {
	$("body").append('<div id="btw_lightbox"><img src="'+src+'" /></div>');
	var win_height = .9 * $(window).height();
	$("#btw_lightbox img").css("maxHeight", win_height+"px");
	$("#btw_lightbox").append('<div>-</div>');
	$("#btw_lightbox, #btw_lightbox div").fadeIn("slow");
	var img_offset = $("#btw_lightbox img").position();
	img_offset.top = 13 + img_offset.top;
	img_offset.left = 13 + img_offset.left;
	$("#btw_lightbox div").css("top", img_offset.top + "px").css("left", img_offset.left + "px");
	$("#btw_lightbox").click(function () { $(this).remove(); });
}
/*--  GALLERY  --*/
function initialize_gallery () {
	$("#gallery_content_text div").hide().eq(0).show();
	var global_text_height = 0;
	$("#gallery_content_text div").each(function () {
		var temp_height = $(this).height();
		if (temp_height > global_text_height) {
			global_text_height = temp_height;
		}
		if ( global_text_height < 300 ) {
			global_text_height = 300;
		}		
		$("#gallery_content_text").height(global_text_height);
	});
	var slider_width = 120 * $("#slider_thumbs li").length;
	$("#slider_thumbs").width(slider_width);
	check_scroll();
	//Gallery Functionality
	$("#slider_cats h5, #slider_thumbs li, #l_button, #r_button").hover(function () {
		if (!($(this).is(".unavailable"))) {
			$(this).addClass("hover");
		}
	}, function () {
		$(this).removeClass("hover");
	});
	
	$("#slider_cats h5").click(function () {
		$("#slider_cats h5.active").removeClass("active");
		$(this).addClass("active");
		var actID = "." + $(this).attr("id");
		if (actID === ".show_all") {
			var actID = "*";
		}
		$("#slider_thumbs li").hide().filter(actID).show();
		$("#slider_thumbs").css("marginLeft", "0px");
		check_scroll();
	});
	$("#slider_thumbs li").click(function () {
		$("#slider_thumbs li.active").removeClass("active");
		$(this).addClass("active");
		var img_src = $(this).children("img").attr("src").replace('/thumbs', '');
		var img_index = $("#slider_thumbs li").index(this);
		
		$("#gallery_content_text div").hide().eq(img_index).show();
		$("#gallery_art_holder img").attr("src", img_src);
	}).hover(function() {
			$(this).css('cursor', 'pointer');
		}, function() {
			$(this).css('cursor', 'default');
	});;
	$("#l_button").click(function () {
		if (global_left_available) {
			$(this).addClass("active");
			$("#slider_thumbs").animate({ marginLeft : "+=120px"}, "fast", "linear", function () {
				check_margins();
				$("#l_button").removeClass("active");
			});
		}
	});
	$("#r_button").click(function () {
		if (global_right_available) {
			$(this).addClass("active");
			$("#slider_thumbs").animate({ marginLeft : "-=120px"}, "fast", "linear", function () {
				check_margins();
				$("#r_button").removeClass("active");
			});
		}
	});
	function check_scroll () {
		var extra_thumbs = ($("#slider_thumbs li:visible").length)-6;
		if (0 < extra_thumbs) {
			global_max_margin = extra_thumbs * -120;
			global_left_available = false;
			force_unavailable($("#l_button"));
			global_right_available = true;
			force_available($("#r_button"));
		} else {
			delete global_max_margin;
			global_left_available = false;
			force_unavailable($("#l_button"));
			global_right_available = false;
			force_unavailable($("#r_button"));
		}
	}
	function check_margins () {
		var marg_left = parseInt($("#slider_thumbs").css("marginLeft"));
		if (marg_left === 0) {
			global_left_available = false;
			force_unavailable($("#l_button"));
			global_right_available = true;
			force_available($("#r_button"));
		} else if (marg_left === global_max_margin) {
			global_left_available = true;
			force_available($("#l_button"));
			global_right_available = false;
			force_unavailable($("#r_button"));
		} else {
			global_left_available = true;
			force_available($("#l_button"));
			global_right_available = true;
			force_available($("#r_button"));
		}
	}
	function force_unavailable (target) {
		if (!($(target).is(".unavailable"))) {
			$(target).addClass("unavailable").removeClass("active").removeClass("hover");
		}
	}
	function force_available (target) {
		if ($(target).is(".unavailable")) {
			$(target).removeClass("unavailable");
		}
	}
}