// Sumo Website Core JavaScript File


	//CUFON FONT REPLACEMENT -
		Cufon.replace("h1.cufonTitle");


		$(document).ready(function() {
						
		    //FANCYBOX -
		    $("a.gallery-item").fancybox({
				'hideOnContentClick': false
			});
			
			$("a.whatsthis").fancybox({
				'hideOnContentClick': false,
				'frameWidth': 600,
				'frameHeight': 400
			});
			

		    //Strict Doctype target="_blank" Equivilant
		    $("a.new-window").attr("target", "_blank");


		    //Generic Content Check and Height Balance
		    var leftcolheight = $(".generic-left, .services-left").height();
		    var rightcolheight = $(".generic-right, .services-right").height();

		    if (rightcolheight > leftcolheight) {
		        $(".greybox-br").height(rightcolheight - 10);
		    }


		    //Contact Form Validation
		    $(".fullName").focus(function() {
		        if ($(".fullName").val() == "Please enter your full name.") {
		            $(this).val("").removeAttr("style");
		        }
		    });
		    $(".emailAddress").focus(function() {
		        if ($(".emailAddress").val() == "Please enter an email address.") {
		            $(this).val("").removeAttr("style");
		        }
		    });
		    $(".phoneNumber").focus(function() {
		        if ($(".phoneNumber").val() == "Please enter a phone number.") {
		            $(this).val("").removeAttr("style");
		        }
		    });
		    $(".streetAddress").focus(function() {
		        if ($(".streetAddress").val() == "Please enter a mailing address.") {
		            $(this).val("").removeAttr("style");
		        }
		    });
		    $("#aspnetForm").submit(function(event) {

		        var aErrors = new Array(0);

		        if ($(".fullName").val() == "" || $(".fullName").val() == "Please enter your full name.") {
		            $(".fullName").css("color", "#ed8400").val("Please enter your full name.");
		            aErrors.push("- Please enter your full name.");
		        }

		        if ($(".emailAddress").val() == "" || $(".emailAddress").val() == "Please enter an email address.") {
		            $(".emailAddress").css("color", "#ed8400").val("Please enter an email address.");
		            aErrors.push("- Please enter the primary contacts email address.");
		        } else {

		            if (!/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/i.test($(".emailAddress").val())) {
		                $(".emailAddress").css("color", "#ed8400");
		                aErrors.push("- The email address entered is invalid.");
		            } else {
		                $(".emailAddress").removeAttr("style");
		            }
		        }

		        if ($(".preferredContactMethod").val() == "phone") {

		            if ($(".phoneNumber").val() == "" || $(".phoneNumber").val() == "Please enter a phone number.") {
		                $(".phoneNumber").css("color", "#ed8400").val("Please enter a phone number.");
		                aErrors.push("- Please enter a phone number.");
		            }
		            if ($(".streetAddress").val() == "Please enter a mailing address.") { $(".streetAddress").val("").removeAttr("style"); }

		        } else if ($(".preferredContactMethod").val() == "mail") {

		            if ($(".streetAddress").val() == "" || $(".streetAddress").val() == "Please enter a mailing address.") {
		                $(".streetAddress").css("color", "#ed8400").val("Please enter a mailing address.");
		                aErrors.push("- Please enter a mailing address.");
		            }
		            if ($(".phoneNumber").val() == "Please enter a phone number.") { $(".phoneNumber").val("").removeAttr("style"); }

		        } else if ($(".preferredContactMethod").val() == "email") {
		            $(".emailAddress").val()
		            if ($(".streetAddress").val() == "Please enter a mailing address.") { $(".streetAddress").val("").removeAttr("style"); }
		            if ($(".phoneNumber").val() == "Please enter a phone number.") { $(".phoneNumber").val("").removeAttr("style"); }
		        }

		        if (aErrors.length) {
		            displayErrorsAlert(aErrors);
		            return false;
		        }
		        return true;

		    }); // End contact form validation
			
			if($.browser.msie && $.browser.version < 7.0) {
				DD_belatedPNG.fix('.png_bg');
			}

		});
	
	function displayErrorsAlert(aErrors) {

		if (aErrors.length) {
			if (aErrors.length > 1) {
				var prefix = 'Some errors occurred:\n\n';
				var suffix = '\nPlease correct these errors and try again.';
			}
			else {
				var prefix = 'An error has occurred:\n\n';
				var suffix = '\nPlease correct this error and try again.';
			}
	
			var errorMessage = prefix;
	
			for (var i = 0; i < aErrors.length; i++) {
				errorMessage += aErrors[i] + "\n";
			}
	
			errorMessage += suffix;
	
			alert(errorMessage);
		}
	
	}