var options = {
    dataType: 'json',
    beforeSubmit: showRequest,
    success: showResponse
}; 



$(document).ready(function() {
    $('#feedback-button').fadeTo('fast',0.5);
    
    $('#feedback-button').hover(function(e) {
        $('#feedback-button').fadeTo('fast',1);
    });
    
    $('#feedback-button').mouseout(function(e) {
        $('#feedback-button').fadeTo('fast',0.5);
    });
    
    $('#feedback-button').animate({top:$(window).scrollTop()+200+"px" },{queue: false, duration: 350});
    $(window).scroll(function() {
        $('#feedback-button').animate({top:$(window).scrollTop()+200+"px" },{queue: false, duration: 350});
    });
    
    $('#feedback-widget').load('/feedback/widget/').dialog({ 
        autoOpen: false,
        modal: true,
        resizable: false,
        width: 600,
        height: 565
    });
    
    $('#feedback-button').click(function(e) {
        e.preventDefault();
        $('#feedback-widget').dialog("open");
        
        $('#feedback-widget-loading').hide();
        $('#feedback-widget-form').show();
        $('#feedback-widget-form').resetForm();
        $('#feedback-widget-response').text("");
        $('#feedback-widget .form-errors').remove();

        $('#feedback-widget-close').click(function(e) {
            e.preventDefault();
            
            $('#feedback-widget').dialog("close");
        });
        $('.ui-dialog').css('overflow', 'visible');
        
        $('#feedback-widget-form').ajaxForm(options); 
        $('#feedback-widget-loading').hide();
    });
});


function showRequest(formData, jqForm, options) {
    
    errors = false;
    $('#feedback-widget .form-errors').remove();
    
    if ($('#feedback-widget #id_title').val() == "") {
        errors = true;
        $('#feedback-widget #id_title').after('<div class="form-errors">This field is required.</div>');
    }
    if ($('#feedback-widget #id_feedback_type').val() == "") {
        errors = true;
        $('#feedback-widget #id_feedback_type').after('<div class="form-errors">This field is required.</div>');
    }
    if (errors == true) {
        return false;
    }
    else {
        $('#feedback-widget-loading').show();
        $('#feedback-widget-form').hide();
        return true; 
    }
} 

function showResponse(responseText, statusText)  {
    $('#feedback-widget-loading').hide();
    if (responseText.errors == true) {
        response = '<p>Sorry, there has been a problem. Please try again later</p>';
    }
    else {
        response = '<p>Thank you for your feedback. <a href="'+responseText.url+'">View your feedback</a></p>';
    }
    $('#feedback-widget-response').append(response);
} 
