var divHeight = 220;

var initFormStyle = function() {
        $('sender').removeClassName("redborder");
        $('recipient').removeClassName("redborder");
        $('comment').removeClassName("redborder");
        $('email_feedback').removeClassName("ok_message");
        $('email_feedback').removeClassName("error_message");

}

var clearFormContent = function() {
         $('sender').value = '';
         $('recipient').value = '';
         $('email_feedback').innerHTML = '';
         $('comment').value = '';
        var mailFormDiv = $('email_form_div').setStyle({
          height: divHeight +'px'
        });
}


var showErrors = function(transport){
      initFormStyle();
      var error = "Please correct the highlighted fields. </br>";
      if (transport != null) {
        var json = transport.responseText.evalJSON();
        if(json.fielderrors.sender) {
          //error = error + ", illegal From-address";
          $('sender').addClassName("redborder");
        }
        if(json.fielderrors.recipient) {
           $('recipient').addClassName("redborder");
           //error = error + ", illegal To-address";
         }
        if(json.fielderrors.comment) {
           $('comment').addClassName("redborder");
           //error = error + "please enter a comment";
         }
}
        var mailFormDiv = $('email_form_div');
        mailFormDiv.setStyle({
          height: divHeight + 20 + 'px'
        });
        $('email_feedback').toggle();
        $('email_feedback').show();

        $('email_feedback').removeClassName("hidden");
        $('email_feedback').addClassName("error_message");
        $('email_feedback').innerHTML = error;
};




var showOK = function(transport){
        if (transport != null) {
          var json = transport.responseText.evalJSON();
        }
        initFormStyle();
        var message = "Email sent";
        $('email_feedback').removeClassName("hidden");
        $('email_feedback').addClassName("ok_message");
        $('email_feedback').show();
        $('email_feedback').innerHTML = message;
        $('clear_data').hide();
        $('email_post_data').hide();

};

var emailArticleRules = {
        'button#clear_data' : function(element){
                element.onclick = function(){
                        clearFormContent();
                        initFormStyle();
        }
        },
        'button#email_post_data' : function(element) {
                element.onclick = function(){
                        new Ajax.Request(context + 'notify/email_ajax.htm', {
                                method:'post',
                                parameters: $('email_form').serialize(false),
                                onSuccess: function(transport){
                                  var json = transport.responseText.evalJSON();
                                  /*printResult(transport);*/
                                  showOK(transport);
                                 },
                                onFailure: function(transport){
                                 var json = transport.responseText.evalJSON();
                                 /*printResult(transport);*/
                                 showErrors(transport);
                                }
                        });
                }
        }
};

var emailArticleRules_test = {
        'button#test_fail' : function(element) {
                element.onclick = function(){
                        showErrors();
                        };
                },
        'button#test_success' : function(element) {
                element.onclick = function(){
                        showOK();
                        };
                }
        };

Behaviour.register(emailArticleRules);
/*Behaviour.register(emailArticleRules_test);*/

