$(function()
{
    
    $('.lavaLampWithImage').lavaLamp({
        fx: 'backout',
        speed: 700
    });
    
    var borderColor = $('input.text').css('border');
    
    function loadContent(id)
    {
        if($('#' + id).is(':hidden'))
        {
            $('.contentLoaded:visible').animate({marginLeft: parseInt($('.contentLoaded:visible').width()) + 100, opacity: 0}, 400, 'backin', function()
            {
               $(this).hide();
                $('#' + id).css({opacity: 0, marginLeft: '-100px'}).show().animate({opacity: 1, marginLeft: '0px'}, 400, 'backout', function()
                {
                    if($.browser.msie)
                    {
                        $(this).get(0).style.removeAttribute('filter');
                    }
                });
            });

            $('input.text, textarea').val('').css('border', borderColor);
        }
    }
    
    function showDialog(contentText, callback)
    {
        $.dlg({
            content: contentText,
            onComplete: callback
        });
    }
    
    $('.contentLoaded').not(':first').hide();
    
   $('.lavaLampWithImage li a').click(function(e)
   {
       e.preventDefault();
       var index = $('.lavaLampWithImage li a').index(this);
       loadContent('content' + index);
   });
   
   $('#contactForm').live('submit', function()
   {
        var errorCount = 0;
        var localCount = 0;
        var missingFields = new Array();
        $('input.text, textarea', this).each(function()
        {
            if($.trim($(this).val()) == '' || $(this).val().toLowerCase() == $(this).attr('id').toLowerCase())
            {
                $(this).css('border', '1px solid red').val($(this).attr('id'));
                missingFields[missingFields.length] = $(this).prev().text();
                errorCount++;
                localCount++;
            }
            
            if($(this).attr('name').toLowerCase() == 'email')
            {
                var regex = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
                if(!regex.test($(this).val()))
                {
                    $(this).css('border', '1px solid red');
                    missingFields[missingFields.length] = 'invalidEmail';
                    errorCount++;
                    localCount++;
                }
            }
            
            if(localCount <= 0)
            {
                $(this).css('border', '1px solid #C3996B');
            }
            
            localCount = 0;
        });
        
        if(errorCount <= 0)
        {
            $('#contactForm').animate({marginLeft: parseInt($('#contactForm').width()) + 100, opacity: 0}, 400, 'backin', function()
            {
                $(this).hide();
                $('#loading').css({marginLeft: '-100px', opacity: 0}).show().animate({marginLeft: 0, opacity: 1}, 400, 'backout', function()
                {
                    if($.browser.msie)
                    {
                        $(this).get(0).style.removeAttribute('filter');
                    }
                });
            });
            
            $.post('modules/contact.form.php', $('#contactForm').serialize(), function(response)
            {
                $('#loading').fadeOut(200, function()
                {
                    showDialog(response, function()
                    {
                        if(response == 'Mensagem enviada com sucesso!')
                        {
                            $('input.text, textarea').val('');
                        }
                        
                        $('#contactForm').css({marginLeft: '-100px', opacity: 0}).show().animate({marginLeft: 0, opacity: 1}, 400, 'backout', function()
                        {
                            if($.browser.msie)
                            {
                                $(this).get(0).style.removeAttribute('filter');
                            }
                        });
                    });
                });
            },
            'html')
        }
        else
        {
            if(missingFields[0] == 'invalidEmail')
            {
                showDialog('O email digitado est&aacute; inv&aacute;lido.');
            }
            else
            {
                showDialog('Por favor, preencha o campo ' + missingFields[0] + '.')
            }
        }
        
        return false;
   });
   
});
