/**
 * Js class articles
 *
 * @category Public
 * @package  N24
 * @author   rs <rico.sonntag@netresearch.de>
 * @version  $Id: articles.js 2015 2009-04-15 14:37:18Z jw $
 */
var ArticleClass = new Class({

    formSuffix   : 'Form',
    resultSuffix : 'Result',

    /**
     * shows a layer
     *
     * @return void
     */
    show: function(layerId)
    {
        $(layerId).style.display = 'block';
        $(layerId + Articles.formSuffix).style.display   = 'block';
        $(layerId + Articles.resultSuffix).style.display = 'none';
    },

    /**
     * hides a layer
     *
     * @return void
     */
    hide: function(layerId)
    {
        $(layerId).style.display = 'none';

        $(layerId + Articles.formSuffix).style.display   = 'block';
        $(layerId + Articles.resultSuffix).style.display = 'none';
    },

    /**
     * checks the form input and starts sending the request
     *
     * @return boolean always false
     */
    check: function(layerId)
    {
        var formElement = $(layerId + Articles.formSuffix);
        this.send(layerId, formElement.action);

        return false;
    },

    /**
     * sends the form data via xml request (ajax)
     *
     * @param formId value from id-attribute
     * @param string targetUrl
     *
     * @return void
     */
    send: function(layerId, targetUrl)
    {
        var formLayer = $(layerId + Articles.formSuffix);
        var resLayer  = $(layerId + Articles.resultSuffix);

        new Ajax(targetUrl, {
            method: 'post',
            postBody: {
                name:$('s2fUser').value,
                email:$('s2fMail').value,
                msg:$('s2fText').value
            },
            encoding: 'utf-8',
            onComplete: function(response) {
                eval('var jsonResponse = ' + response);
                if (jsonResponse.error) {
                    alert(jsonResponse.error.msg);
                }
                else {
                    if (jsonResponse.failed) {
                        formLayer.style.display = 'none';
                        resLayer.innerHTML      = '<span style="color: #f00;">' + jsonResponse.failed.msg + '</span>';
                        resLayer.style.display  = 'block';
                    }
                    else {
                        formLayer.style.display = 'none';
                        resLayer.innerHTML      = jsonResponse.success.msg;
                        resLayer.style.display  = 'block';
                    }
                }
            },
        }).request();
    }
});
var Articles = new ArticleClass();