$(function() {
    // Adding an vertical scroll (firefox fix).
    $('html').css({ 'overflow-y': 'scroll' });

    // Runing png fix.
    $(document).pngFix();

    /* watermark support for all input elements on the page */
    $('input').each(function() {
        if ($(this).attr('watermark') && $(this).attr('watermark') != '') {
            $(this).watermark($(this).attr('watermark'));
        }
    });

    /* watermark support for all textarea elements on the page */
    $('textarea').each(function() {
        if ($(this).attr('watermark') && $(this).attr('watermark') != '') {
            $(this).watermark($(this).attr('watermark'));
        }
    });

    /* Find ALL <form> tags on your page */
    $('form').submit(function() {
        /* On submit disable its submit button */
        $('input[type=submit]', this).attr('disabled', 'disabled');
    });

    // Appending an background for a modal window.
    $('body').prepend('<div class="background"></div>');
    $('#body').prepend('<div class="background"></div>');

    // Login - modal box.
    $('.modal_link').click(function() {
        var modal = $(this).attr('href');
        $('.modal').hide();
        $('.background').show();
        $(modal).show();

        return false;
    });

    // Modal window closing button.
    $('.modal .close').click(function() {
        // Calling background hiding after fadeOut complete.
        $('.modal').fadeOut(function() {
            $('.background').hide();
        });

        return false;
    });

    // Menu.
    $('.menu > ul > li').hover(function() {
        $(this).children('ul').show();
    }, function() {
        $(this).children('ul').hide();
    });

    //Menu additional list hover.
    $('.menu > ul > li > ul').hover(function() {
        $(this).parent('li').children('a').addClass('active');
    }, function() {
        $(this).parent('li').children('a').removeClass('active');
    });

    // Scrollpane.
    $(function() {
        if ($('#scroll').length) {
            $('#scroll').jScrollPane({ showArrows: true, scrollbarWidth: 9, dragMaxHeight: 43 });
        }
    });

    // Activity.
    $('input[name="type_of_event"]').change(function() {
        if ($(this).attr('id') == 'public') {
            $('.invite_theme').hide();
        } else if ($(this).attr('id') == 'private') {
            $('.invite_theme').show();
        }
    });
});

$(document).ready(function () {
    if (!$.validator) {
        return;
    }

    $.validator.addMethod(
        "emailFormat",
        function (value, element) {
            return isValidEmail(value);
        },
        "You must specify a valid email address."
    );

    $.validator.addMethod(
        "emailListFormat",
        function (value, element) {
            return isValidEmailList(value);
        },
        "You must specify valid email addresses."
    );

    $.validator.addMethod(
		"zipFormat",
		function (value, element) {
		    return isValidZip(value);
		},
		"Please enter a valid zip code"
    );

    $.validator.addMethod(
		"meettype",
		function (value, element) {
		    if (value != 0) { /* 0 = '-select-' */
		        return true;
		    }
		},
		"Please enter a valid meeting type."
    );

    $.validator.addMethod(
    	"startDate",
    	function (value, element) {
    	    // check blank start date and repeat type 4 and 5
            if (value == "") {
    	        if ($('#repeats').val() == 4 || $('#repeats').val() == 5) {
    	            return true;
    	        }
    	    }
    	    else {
                // check meet types 1, 2 and 3 with valid start date
    	        if ($('#repeats').val() == 1 || $('#repeats').val() == 2 || $('#repeats').val() == 3) {
    	            return true;
    	        }
    	    }
    	},
    	"Please enter a valid start date."
    );
});

$(function() {
    if ($('.datepicker') && $('.datepicker').datepicker) {
        $('.datepicker').datepicker({ minDate: 0 });
    }

    if ($('.timepicker') && $('.timepicker').clockpick) {
        $('.timepicker').clockpick();
    }
});
