$(document).ready(function(){
		
	$(".toggler").click(function(){
		var ref_id = "#" + $(this).attr("rel");
		$(ref_id).toggle();
		return false;
	});
		
	// accordian for services showcase
	$("dl.showcase dd").hide();
	showcase_toggle($(".showcase dt:first a"));
	$("dl.showcase dd:first").show();
	
	// generic classes for list items
	$("ul li:first-child").addClass("first");
	$("ul li:last-child").addClass("last");
	
	// draw attention to contact box in header
	$("img.consult").hide().slideDown("slow");
	
	// leave comment (blog) form functions
	$("input, textarea").focus(function(){
		if($(this).val() == this.defaultValue){
			$(this).val("");
		}
	}).blur(function(){
		if($(this).val() == ""){
			$(this).val(this.defaultValue);
		}
	});
	
	$("form#contact_us").submit(function(){
		formObj = "#"+$(this).attr("id");
		
		//error check
		$(formObj+' input, '+formObj+' textarea, '+formObj+' select').removeClass("err");
		($(formObj+' input[@name=first_name]').val() == "First Name") 		? $(formObj+' input[@name=first_name]').addClass("err") : false;
		($(formObj+' input[@name=last_name]').val() == "Last Name") 		? $(formObj+' input[@name=last_name]').addClass("err") 	: false;
		($(formObj+' input[@name=email]').val() == "Email")  				? $(formObj+' input[@name=email]').addClass("err") 		: false;
		($(formObj+' input[@name=phone]').val() == "Phone")  				? $(formObj+' input[@name=phone]').addClass("err") 		: false;
		($(formObj+' select[@name=referral]').val() == "")  				? $(formObj+' select[@name=referral]').addClass("err") 	: false;
		($(formObj+' textarea[@name=message]').val() == "How may we help you?") ? $(formObj+' textarea[@name=message]').addClass("err") : false;
		
		//prompt if errors found
		if($(formObj+' .err').length > 0){
			alert("Please fill in any fields marked in red.");
			return false;
		} else {
			return true;
		}
	});
	
	// submit a blog comment
	$("a#submit_comment").click(function(){
		var blog_post = $("input#blog_post").val();
		var author = escape($("input#name").val());
		var email = escape($("input#email").val());
		var website = escape($("input#website").val());
		var comment = escape($("textarea#comment").val());
		
		data = "b="+blog_post+"&a="+author+"&e="+email+"&w="+website+"&c="+comment;
		
		$.ajax({type:"POST",url:"/includes/helpers/jquery_comment_add.php",data:data,
			success:function(data,textstatus){
				if(textstatus == "success"){
					$("#comments h3").after(data).hide().fadeIn("fast");
					var new_comment_count = parseInt($("#comments h3 span").html()) + 1;
					$("#comments h3 span").html(new_comment_count).hide().fadeIn();
				}
			}
		});
		return false;
	});
	
	$("#get_directions").click(function(){
		get_directions();
	});
	
	$("a.modal").fancybox({
		'zoomSpeedIn': 0, 
		'zoomSpeedOut':	0,
		'frameWidth': 362,
		'frameHeight': 274,
		'overlay': true
	});
	
	$("a.gallery_link").fancybox({
		'hideOnContentClick': true,
		'zoomSpeedIn': 0,
		'zoomSpeedOut': 0,
		'overlayShow': true,
		'overlayOpacity': .9,
		'padding': 4
	});
	
});


function validate_contact_us(){

	formObj = "#contact_us2";
	
	//error check
	$(formObj+' input, '+formObj+' textarea, '+formObj+' select').removeClass("err");
	($(formObj+' input[@name=first_name]').val() == "First Name") 		? $(formObj+' input[@name=first_name]').addClass("err") : false;
	($(formObj+' input[@name=last_name]').val() == "Last Name") 		? $(formObj+' input[@name=last_name]').addClass("err") 	: false;
	($(formObj+' input[@name=email]').val() == "Email")  				? $(formObj+' input[@name=email]').addClass("err") 		: false;
	($(formObj+' input[@name=phone]').val() == "Phone")  				? $(formObj+' input[@name=phone]').addClass("err") 		: false;
	($(formObj+' select[@name=referral]').val() == "")  				? $(formObj+' select[@name=referral]').addClass("err") 	: false;
	($(formObj+' textarea[@name=message]').val() == "How may we help you?") ? $(formObj+' textarea[@name=message]').addClass("err") : false;
	
	//prompt if errors found
	if($(formObj+' .err').length > 0){
		alert("Please fill in any fields marked in red.");
		return false;
	} else {
		return true;
	}
}



function get_directions(from_addr){
	from_addr = $("input#from").val();
	if(from_addr == "From address" || from_addr == ""){
		$("input#from").val("Please enter an address first...");
	} else {
		from_addr = from_addr.replace(" ","+");
		window.open("http://maps.google.com/maps?f=d&saddr=" + from_addr + "&daddr=7820+Ballantyne+Commons+%23+102+Charlotte,+NC+28277&hl=en&geocode=%3BFRnzFgIdn-ou-w&mra=ls&sll=35.058457,-80.811361&sspn=0.015281,0.027702&ie=UTF8&z=12");
	}
}


function loadMap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"),{ 
			backgroundColor : "e8ded1", 
			size: new GSize(450,350) 
			});
		map.setCenter(new GLatLng(35.058457, -80.811361), 16);
		map.addControl(new GSmallMapControl());
		
		var marker = new GIcon(G_DEFAULT_ICON);
		marker.image ="/assets/images/map_marker.png";

		var markerOptions = { icon : marker };
		var latlng = new GLatLng(35.058457, -80.811361);
		map.addOverlay(new GMarker(latlng,markerOptions));
	}
}


function updateCopy(text){
	if($("#gallery p.photos").length > 0){
		// updating photo gallery
		desc = text.split("*");
		data = "client_id="+desc[0]+"&type="+desc[1];
		$.ajax({type:"GET",url:"/includes/helpers/jquery_gallery.php",data:data,
			success:function(data,textstatus){
				if(textstatus == "success"){
					$("#gallery p").hide().html(data).fadeIn("10");
					$("a.gallery_link").fancybox({
	        			'hideOnContentClick': true,
	        			'zoomSpeedIn': 0,
	        			'zoomSpeedOut': 0,
	        			'overlayShow': true,
	        			'overlayOpacity': .9
	        		});
	        	}v
			}
		});
	} else {
		// updating sub services description
		$("#gallery p").hide().html(text).fadeIn("10");
	}
}

function showcase_toggle(obj){
	var ref_id = "#" + $(obj).attr("rel");
	if($(ref_id).css("display") == "none"){
		$("dl.showcase dt a img").attr("src","/assets/images/arrow_collapsed.png").parent().addClass("collapsed").parent().next("dd").hide();
		$(obj).find("img").attr("src","/assets/images/arrow_expanded.png");
		$(obj).removeClass("collapsed");
	} else {
		$(obj).find("img").attr("src","/assets/images/arrow_collapsed.png");
		$(obj).addClass("collapsed");
	}
	return false;
}