	$(document).ready(
		function()
		{
			$('#dock').Fisheye(
				{
					maxWidth: 50,
					items: 'a',
					itemsText: 'span',
					container: '.dock-container',
					itemWidth: 45,
					proximity: 90,
					halign : 'center'
				}
			)
		}
	);

    $(document).ready(function () {
    $('#newsletter').click(function () {
    document.getElementById("dialog-form").style.visibility = "visible";
    $("#dialog-form").dialog("open");
    });
    });

    $(function () {

    var name = $("#name"),
    email = $("#email"),
    allFields = $([]).add(name).add(email),
    tips = $(".validateTips");

    function updateTips(t) {
    tips
    .text(t)
    .addClass("ui-state-highlight");
    setTimeout(function () {
    tips.removeClass("ui-state-highlight", 1500);
    }, 500);
    }

    function checkLength(o, n, min, max) {
    if (o.val().length > max || o.val().length < min) {
                o.addClass("ui-state-error");
                updateTips("Length of " + n + " must be between " +	min + " and " + max + ".");
                return false;
            } else {
                return true;
            }
        }

        function checkRegexp(o, regexp, n) {
            if (!(regexp.test(o.val()))) {
                o.addClass("ui-state-error");
                updateTips(n);
                return false;
            } else {
                return true;
            }
        }

        $("#dialog-form").dialog({
            autoOpen: false,
            height: 540,
            width: 465,
            modal: true,
            resizable: false,
            buttons: {
                "Sign Up": function () {
                    var bValid = true;
                    allFields.removeClass("ui-state-error");

                    bValid = bValid && checkLength(name, "full name", 5, 30);
                    bValid = bValid && checkLength(email, "email", 6, 80);

                    bValid = bValid && checkRegexp(name, /^[a-z]([a-z\s])+[a-z]([\s])+[a-z]([a-z])+$/i, "Fullname may only consist of a-z and must be in the format of [firstname] [lastname].");
                    bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. mailname@domain.com");

    if (bValid) {
    $.ajax({
    type: "POST",
    url: "/newsletter.php",
    data: "fullname="+ name.val() +"&email="+ email.val(),
    success: function(){
    alert("You are now on our newsletter mailing list.  Thank you.");
    }
    })
    $(this).dialog("close");
    }
    },
    Cancel: function () {
    $(this).dialog("close");
    }
    },
    close: function () {
    allFields.val("").removeClass("ui-state-error");
    }
    });
    });


