$(document).ready(function() {
    $('.contact-us').click(showContactForm);
    $('#contact-overlay img.close').click(closeContactForm);
    $('#message-overlay img.close').click(function() {
        $('#message-overlay, #overlayBackground').fadeOut();
    });
    $('#contact-overlay a.submit').click(submitContactForm);
    $(document).ajaxStart($.blockUI);
    $(document).ajaxStop($.unblockUI); 
});

function showContactForm(e) {
    e.preventDefault();
    $('#contact-overlay div.error').hide();
    $('#input-name').css('border', 'none');
    $('#input-company').css('border', 'none');
    $('#input-message').css('border', 'none');
    $('#contact-overlay').css({top:'50px',left:'50%',margin:'0px 0 0 -'+($('#contact-overlay').outerWidth() / 2)+'px'});
    $('#popup-overlay').fadeOut();
    $('#contact-overlay, #overlayBackground').fadeIn();
}

function closeContactForm(e) {
    e.preventDefault();
    $('#contact-overlay, #overlayBackground').fadeOut();
}

function submitContactForm(e) {
    e.preventDefault();
    
    $('#input-name').css('border', 'none');
    $('#input-email').css('border', 'none');
    $('#input-company').css('border', 'none');
    $('#input-message').css('border', 'none');
    var error = false;
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test($('#input-email').val()) == false) {
        $('#input-email').css('border', '1px solid red');
        error = true;
    }
    if ($('#input-name').val() == '') {
        $('#input-name').css('border', '1px solid red');
        error = true;
    }
    if ($('#input-company').val() == '') {
        $('#input-company').css('border', '1px solid red');
        error = true;
    }
    if ($('#input-message').val() == '') {
        $('#input-message').css('border', '1px solid red');
        error = true;
    }
    if (error)
        return false;
    
    $.ajax({
        url : 'contact.php',
        cache: false,
        dataType: 'json',
        type: 'POST',
        success: contactFormCallback,
        error: contactFormCallback,
        data: {name: $('#input-name').val(), email: $('#input-email').val(), company: $('#input-company').val(), message: $('#input-message').val()}
    });
//    $('#contact-overlay').hide();
}

function contactFormCallback(data, textStatus) {
    if (textStatus == 'success' && data.status == 'ok') {
        $('#contact-overlay').hide();
        $('#message-overlay').css({top:'50px',left:'50%',margin:'0px 0 0 -'+($('#message-overlay').outerWidth() / 2)+'px'});
        $('#message-overlay').show();
    } else {
        $('#contact-overlay div.error').show();
    }
}
