/*
 * This function takes a single argument: the name of the function
 * that you want to execute when the page loads
 *
 * Written by Simon Willison (http://simon.incutio.com)
 */
 
function addLoadEvent(func) 
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function') 
    {
		window.onload = func;
	} 
    else 
    {
		window.onload = function() 
        {
			oldonload();
			func();
		}
	}
}

function show_feedback_form()
{
    var button = document.getElementById( 'feedback-button' );
    var form = document.getElementById( 'feedback-form' );

    if ( button && form )
    {
        button.style.display = 'none';
        form.style.display = 'block';
    }
}

function verify_input()
{
    var result = true;
    var name = document.getElementById('feedback-name' );
    var name_required = document.getElementById( 'name-required' );
    var email = document.getElementById('feedback-email' );
    var email_required = document.getElementById('email-required' );
    var loc = document.getElementById('feedback-location' );
    var loc_required = document.getElementById('location-required' );
    var message = document.getElementById('feedback-message' );
    var message_required = document.getElementById('message-required' );

    if ( !name || !name_required || !email || !email_required || !loc || !loc_required || 
            !message || !message_required )
    {
        return false;
    }


    if ( message.value == '' )
    {
        message_required.style.visibility = "visible";
        result &= false;
        message.focus();
    }
    else
    {
        message_required.style.visibility = "hidden";
    }
    if ( loc.value == '' )
    {
        loc_required.style.visibility = "visible";
        result &= false;
        loc.focus();
    }
    else
    {
        loc_required.style.visibility = "hidden";
    }

    if ( !email.value.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i ) )
    {
        email_required.style.visibility = "visible";
        result &= false;
        email.focus();
    }
    else
    {
        email_required.style.visibility = "hidden";
    }

    if ( name.value == '' )
    {
        name_required.style.visibility = "visible";
        result &= false;
        name.focus();
    }
    else
    {
        name_required.style.visibility = "hidden";
    }

    return result;
}

function submit_feedback_success( xmlHttp )
{
    document.getElementById( 'feedback-form' ).innerHTML = xmlHttp.responseText;
}

function submit_feedback_fail()
{
    document.getElementById( 'feedback-form' ).innerHTML = xmlHttp.responseText;
}

function submit_article_feedback( action_id, token )
{
    var remember = document.getElementById( 'feedback-remember' );
    var article = document.getElementById( 'feedback-article' );
    if ( verify_input() && remember && article ) //other fields are verified in verify_input
    {
        var majax = new Majax();
        var params = 'name=' + encodeURIComponent( document.getElementById( 'feedback-name' ).value )
                   + '&email=' + encodeURIComponent( document.getElementById( 'feedback-email' ).value )
                   + '&location=' + encodeURIComponent( document.getElementById( 'feedback-location' ).value )
                   + '&message=' + encodeURIComponent( document.getElementById( 'feedback-message' ).value )
                   + '&article=' + encodeURIComponent( article.value )
                   + (remember.checked ? '&remember=' + encodeURIComponent( remember.value ) : '')
                   + '&token=' + token
                   + '&ACT=' + action_id
        majax.post( '/', params, submit_feedback_success, submit_feedback_fail );

        var form = document.getElementById( 'feedback-form' );
        if ( form )
        {
            form.innerHTML = '<img src="/images/main/loading.gif" alt="Sending">Sending';
        }
    }

}

