/*global window, $, setTimeout, Ajax */

var fdbk_inOperation = 1;

function fdbk_showResponse(transport, url, f) {
    $('fdbk_loadershift').style.display = 'none';
    var msg = transport.responseText;
    if (msg.search(/form has been submitted/) != -1) {
        $('fdbk_msg0').style.display = 'block';
    }
}

function fdbk_requestInfo(thisForm, url) {
    var myAjax = new Ajax.Updater('shownull', url, {
        method: 'post',
        parameters: $(thisForm).serialize(),
        onComplete: function(transport) {
            fdbk_showResponse(transport, url, thisForm);
        }
    });
}

function fdbk_ajaxRequest(thisForm, url) {
    if (fdbk_inOperation == 1) {
        fdbk_inOperation = 0;
        $('fdbk_formcontent').style.display = 'none';
        $('fdbk_loadershift').style.display = 'block';
        setTimeout(function() {
            fdbk_requestInfo(thisForm, url);
        },
        500);
    }
}

function fdbk_validate_form(f) {
    $('fdbk_error0').style.display = 'none';
    $('fdbk_error1').style.display = 'none';
    $('fdbk_error2').style.display = 'none';
    $('fdbk_error3').style.display = 'none';
    $('fdbk_error4').style.display = 'none';
    $('fdbk_error5').style.display = 'none';

    var name1 = ($('fdbk_name').value).strip();
    var email = ($('fdbk_from').value).strip();
    var subject = ($('fdbk_subject').value).strip();
    var feedback = ($('fdbk_content').value).strip();

    // Check Name
    if (name1 === '') {
        $('fdbk_error0').style.display = 'block';
        $('fdbk_name').focus();
        return;
    }

    // check Email
    if (email === '') {
        $('fdbk_error2').style.display = 'block';
        $('fdbk_from').focus();
        return;
    }
    else if (! (/^.+\@.+\..+$/.test(email))) {
        $('fdbk_error3').style.display = 'block';
        $('fdbk_from').focus();
        return;
    }

    // Check Subject
    if (subject === '') {
        $('fdbk_error4').style.display = 'block';
        $('fdbk_subject').focus();
        return;
    }
    // Check Feedback
    if (feedback === '') {
        $('fdbk_error5').style.display = 'block';
        $('fdbk_content').focus();
        return;
    }

    //form.submit();
    return true;
}

function fdbk_keyboardSubmit(thisForm, url, e) {
    var kc = 0;
    if (window.event) {
        kc = window.event.keyCode;
    } else if (e) {
        kc = e.which;
    }

    if (kc == 13) {
        if (fdbk_validate_form(thisForm)) {
            fdbk_ajaxRequest(thisForm, url);
        }
        return false;
    }
    return true;
}

function fdbk_buttonSubmit(thisForm, url) {
    if (fdbk_validate_form(thisForm)) {
        fdbk_ajaxRequest(thisForm, url);
    }
    return false;
}

