$(document).ready(function() {
	
	$("input.required, textarea.required, select.required").blur(function() {
		if (contact_validate($(this))) {
			$(this).parent("p").addClass("form_error").removeClass("form_okay");
		} else {
			$(this).parent("p").addClass("form_okay").removeClass("form_error");
		}
	});

	$("#contact #toggleRequired").click(function() {
		toggleRequired();
		return false;
	});
	
	if ($("#contact #subject").val() == "Other") {
		$("#subject_other").show().addClass("required");
	} else {
		$("#subject_other").hide().removeClass("required");
	}
	
	$("#contact #subject").change(function() {
		if ($(this).val() == "Other") {
			$("#subject_other").show().addClass("required");
			$("#subject_other").focus();
		} else {
			$("#subject_other").hide().removeClass("required");
		}
		
		contact_validate($(this));
	});
	
	$("#contact a[href^='mailto']").addClass("email");
	



	$("#contact form[action*='contact']").submit(function() {
		var okay = true;
		$("#contact input.required, #contact textarea.required, #contact select.required").each(function(i) {
			if (contact_validate($(this))) { 
				$(this).parent("p").addClass("form_error").removeClass("form_okay");
				okay = false; 
			}
		});

		// if (contact_validate($(this))) {
		// 	$(this).parent("p").addClass("form_error").removeClass("form_okay");
		// } else {
		// 	$(this).parent("p").addClass("form_okay").removeClass("form_error");
		// }


		return okay;
	});
	
	if (document.getElementById("contact")) {
		mapsInit();
	}
	
	
	if (document.getElementById("work")) {

		/* set up portfolio cycling */
		$('#portfolio_wrapper').cycle({ 
		    fx:     'fade', 
		    speed:  100, 
		    timeout: 0, 
		    next:   '.next',
			prev: 	'.back'
		});
		/* end portfolio cycling */

		/* set up portfolio modals */
		$(function() {
			$('.portfolio_container li a.lightbox').lightBox({
				imageBtnClose: 'http://rhminteractive.com/images/lightbox/lightbox-btn-close.gif',
				imageLoading : 'http://rhminteractive.com/images/lightbox/ajax-loader.gif',
				imageBtnPrev : 'http://rhminteractive.com/images/lightbox/lightbox-btn-prev.gif',
				imageBtnNext : 'http://rhminteractive.com/images/lightbox/lightbox-btn-next.gif'
			});
		});

		/* end portfolio modals */

		
	}

});


function contact_validate(e) {
	// returns TRUE if errors in the field
	var errors = false;
	switch ($(e).attr("id")) {
		case "email" :
			if (($(e).val() == "") || ($(e).val().indexOf("@") < 0) || ($(e).val().indexOf(".") < 0)) errors = true;
			break;
		case "subject_other" :
			if (($(e).val() == "") && ($("#subject").val() == "Other")) errors = true;
			break;
		default :
			if ($(e).val() == "") errors = true;
			break;
	}
	return errors;
}


function toggleRequired() {
	
	var p = $("label:not('.required')").parent("p");
	$(p).slideToggle(200);
	
}


function mapsInit() {
  if (GBrowserIsCompatible()) {
    var address = "41 Watchung Plaza, Montclair, NJ 07042";
	var geocoder = new GClientGeocoder();
    var map = new GMap2(document.getElementById("map_container"));


	geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				alert ("Address not found");
			} else {
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
			    map.setUIToDefault();
				
			}
		}
	);

  }
}
