$(document).ready(function() {

    //////////////////////////////Setup////////////////////////////////

    $('#placeAnOrderForm input:button').each(function() {
        $(this).attr('id', 'paoSubmit');

    });

    $('#rbGWUsedYes').wrap('<span id=\'rbGWUsedYesContainer\' />');
    $('#rbGWUsedNo').wrap('<span id=\'rbGWUsedNoContainer\' />');

    $('#rbGWUsedYesContainer').css('padding', '3px');
    $('#rbGWUsedNoContainer').css('padding', '3px');

    ///////////////////////////////////////////////////////////////////

    $('#contactMe').click(function(event) {
        event.preventDefault();
        fadeInForm('#cus-formContainer');
    });

    $('#closeCusForm').click(function() {
        $('#cus-formContainer').fadeOut('slow', function() {
            fadeOutContainer();
            clearForm('#contactMeForm');
        });
    });

    $('#placeAnOrder').click(function(event) {
        event.preventDefault();
        fadeInForm('#pao-formContainer');
    });

    $('#closePaoForm').click(function() {
        $('#pao-formContainer').fadeOut('slow', function() {
            fadeOutContainer();
            clearForm('#placeAnOrderForm');
            $('#trLevelExp').hide();
        });
    });

    fadeInForm = function(formContainerId) {
        $('#forms-shell').show().css('visibility', 'visible');
        $('#form-overlay').css('opacity', '0.01').show().animate({ opacity: 0.5 }, 500, 'swing', function() {
            $(formContainerId).fadeIn('slow');
        });
    };

    fadeOutContainer = function() {
        $('#form-overlay').fadeOut('slow', function() {
            $('#forms-shell').hide().css('visibility', 'hidden');
        });
    };

    clearForm = function(formId) {
        $(formId).find(':input,:radio,:checkbox');
    };

    $('#rbGWUsedYes').click(function() {
        $('#trLevelExp').show();
    });

    $('#rbGWUsedNo').click(function() {
        $('#selLevelExp').val("-1");
        $('#trLevelExp').hide();
    });

    clearForm = function(formId) {
        $(formId).find('input:text').val("").removeClass('validateError');
        $(formId).find('textarea').val("");

        $(formId).find('input:radio:checked').removeAttr('checked');
        $('#rbGWUsedYesContainer').removeClass('rbGWYes');
        $('#rbGWUsedNoContainer').removeClass('rbGWNo');

        $(formId).find('select').val("-1").removeClass('validateError');
    };
   
    validateForm = function(formId) {
        var isValid = true;

        $(formId + ' :input:text').each(function() {
            if ($(this).val() == "") {
                $(this).addClass('validateError')
                isValid = false;
            }
            else {
                $(this).removeClass('validateError');
            }
        });

        if ($(formId + ' :input:radio').length > 0) {
            var isGWRadioButtonSelected = false;

            $(formId + ' :input:radio').each(function() {
                isGWRadioButtonSelected = isGWRadioButtonSelected || $(this).is(':checked');
            });

            isValid = isValid && isGWRadioButtonSelected;
        }

        if (!isGWRadioButtonSelected) {
            $('#rbGWUsedYesContainer').addClass('rbGWYes');
            $('#rbGWUsedNoContainer').addClass('rbGWNo');
        }
        else {
            $('#rbGWUsedYesContainer').removeClass('rbGWYes');
            $('#rbGWUsedNoContainer').removeClass('rbGWNo');

            if (('#rbGWUsedYes:checked')) {
                var selected = $('#selLevelExp option:selected');
                (selected.val() == -1) ? $('#selLevelExp').addClass('validateError') : $('#selLevelExp').removeClass('validateError');
            }
        }

        return isValid;
    };

    toggleFormElements = function(formId, toDisable) {
        $(formId + ' :input').each(function() {
            $(this).attr("disabled", toDisable);
        });
    };
});