function hideElement( elementId ) {
    var elem = $(elementId);
    if (elem) {
        elem.style.display = 'none';
        elem.style.visibility = 'hidden';
    } 
} 

function showElement( elementId ) {
    var elem = $(elementId);
    if (elem) {
        elem.style.display = '';
        elem.style.visibility = 'visible';
    }
}

/* mailing list */
var ml = {
    SUCCESS: 1,
    FAILURE: 0,
    init: function() {
        $j('div.errorMsg').hide();
        $j('div.successMsg').hide();
        $j('a.submit').click(ml.submit);
    },
    submit: function() {
        var email = $('email').value;
        if (email == "") {
            alert("Please enter an email address.");
            return false;
        }
        var params = "email="+email;

        $j.ajax({
            type:       "GET",
            url:        "/ajax/mailinglist.php",
            dataType:   "json",
            data:       params,
            beforeSend: ml.onLoadHandle,
            success:    ml.onSuccessHandle,
            error:      ml.onErrorHandle,
            timeout:    10000
        });
        return false;
    },
    onLoadHandle: function() {
    },
    onErrorHandle: function(request, errorMsg) {
        alert("failure " + request.responseText + " with " + errorMsg);
    },
    onSuccessHandle: function(json) {
        if (json.code == ml.SUCCESS) {
            $j('div.errorMsg').hide();
            $j('#signup h4').hide();
            $j('input#email').hide();
            $j('a.submit').hide();
            $j('#signup em').hide();
            $j('div.successMsg').fadeIn('fast');
        } else {
            $j('div.errorMsg').empty().append(json.msg);
            $j('div.successMsg').hide();
            $j('div.errorMsg').show();
        }
    }
}; /* end ml */

/*  Onload Functions    //---------------------------*/
$j(document).ready(function() {
    ml.init();
});

$j(document).ajaxError(function(){
    if (window.console && window.console.error) {
        console.error(arguments);
    }
});