/*
--- 
description: SmartAjaxForm
authors: 
- Benedikt Morschheuser (http://software.bmo-design.de)
license:
- MIT-style license
requires: 
- core/1.2.4: '*'
provides: [SmartAjaxForm]
...
*/
var SmartAjaxForm = new Class(
{
  Implements: [Events, Options],
  options:
  {
    regExpClassname: /^ajaxForm/i  //class='ajaxForm'	
  },
  initialize: function(options)
  {
    this.setOptions(options);
    
    $$('form').each(function(form_tag){
		if (form_tag.getProperty('class') && form_tag.getProperty('class').test(this.options.regExpClassname)){ //if form has class='ajaxForm'										
			var url = form_tag.getProperty('action');
			form_tag.addEvent('submit', function(e) {
				e.stop();
				var responseLayer = new Element('div', {
					'class': 'response ajax-loading',
					'html': '<br/><br/><br/>',
					'events': {
						'click': function(){
							 form_tag.replaces(responseLayer);
						}.pass(form_tag,responseLayer)
					}
				});
		 		responseLayer.replaces(form_tag);

				this.set('send',{
					onComplete: function(response) {
						responseLayer.set('html',response)
						responseLayer.removeClass('ajax-loading');
					},
					onFailure: function(){
						responseLayer.removeClass('ajax-loading');
						alert("Fehler, versuchen Sie es erneut!");
					}
				});
                this.send(url+"?ajax=true");
			});
		}
	}.bind(this));
   }
});