Event.observe(window, 'load', myrtille_app, false);

var myrtille = Class.create();

myrtille.prototype = {

	initialize: function(ctrl) {
		this.content = ctrl.getAttribute('href');
		this.ajax = ctrl.getAttribute('page');
		if(ctrl.getAttribute('jscript')) {
      this.js_exec = ctrl.getAttribute('jscript');
		} else {
      this.js_exec = null;
    }
		Event.observe(ctrl, 'click', this.loadAjax.bindAsEventListener(this), false);
		//ctrl.onclick = this.loadAjax.bindAsEventListener(this);
		ctrl.onclick = function(){return false;};
	},
	
	// Turn everything on - mainly the IE fixes
	loadAjax: function(evt){
			//alert('content :' + evt.types);
      
      if(this.js_exec) {
        eval(this.js_exec);
      }
      var myAjax = new Ajax.Request(
        this.content,
        {method: 'get', parameters: "", onComplete: this.display.bindAsEventListener(this)}
		);
	},
  
  display: function(response){
		$(this.ajax).innerHTML = response.responseText;	
		this.actions();			
	},
  actions: function(){
		
		myrtille_elem($(this.ajax));
   /* ajaxlkunder = $(this.ajax).getElementsByClassName('mp-ajax');
		for(i = 0; i < ajaxlkunder.length; i++) {
      myrclick = new myrtille(ajaxlkunder[i]);
	  }*/
	}
}


var myrtille_blind = Class.create();

myrtille_blind.prototype = {

	initialize: function(ctrl) {
		this.page = ctrl.getAttribute('page');
    
		Event.observe(ctrl, 'click', this.blinddown.bindAsEventListener(this), false);
		//ctrl.onclick = this.loadAjax.bindAsEventListener(this);
		ctrl.onclick = function(){return false;};
	},
	
	// Turn everything on - mainly the IE fixes
	blinddown: function(evt){
  	var ajaxbd = document.getElementsByClassName('mp-blind');
  	for(var t = 0; t < ajaxbd.length; t++) {
  	   var bu = ajaxbd[t].getAttribute('page');
  	   if(this.page != bu) {
        Effect.BlindUp(bu);
       }
  	}
    Effect.BlindDown(this.page, {duration:0.5});
	},
  blindup: function(){
      Effect.BlindDown(this.page, {duration:1});
	}
	
}


var myrtille_autocompletion = Class.create();

myrtille_autocompletion.prototype = {

	initialize: function(ctrl) {
		this.content = ctrl.getAttribute('id');
		this.ajax = ctrl.getAttribute('page');		
		this.name = ctrl.getAttribute('name');		
		this.id = ctrl.getAttribute('id');
		if(ctrl.getAttribute('onchoice')) {
      onchoice = ctrl.getAttribute('onchoice');
    } else {
      onchoice = null;
    }
		id_autocomplete = 'autocomplete_' + this.id;
    new Insertion.After(this.id, '<div id="' + id_autocomplete+ '" class="myrtille-autocomplete"></div>');
    new Ajax.Autocompleter(this.id, id_autocomplete, this.content, {paramName: "value", minChars: 2,afterUpdateElement: 
      function(input_txt,input_dom) {
        if(onchoice) {
          $(onchoice).value = input_dom.getAttribute('id');
        }
      }
    });
	}
}




var myrtille_form = Class.create();

myrtille_form.prototype = {

	initialize: function(frm) {
		this.content = frm.getAttribute('action');
		this.ajax = frm.getAttribute('page');	
		this.method = frm.getAttribute('method');
		this.formid = frm.getAttribute('id');		
		this.loadimg = frm.getAttribute('loadimg');
		if(frm.getAttribute('jscript')) {
      this.js_exec = frm.getAttribute('jscript');
		} else {
      this.js_exec = null;
    }
    Event.observe(frm, 'submit', this.loadAjax.bindAsEventListener(this), false);
		//frm.submit = this.loadAjax.bindAsEventListener(this);
		frm.onsubmit = function(){return false;};
	},
	
	// Turn everything on - mainly the IE fixes
	loadAjax: function(evt){
			//alert('submit :' + evt.types);
			var tinymce = '';
      if($('mp-tiny-mce')) {
        $('mp-tiny-mce').value = tinyMCE.getContent().replace(/\+/g, "&#43");
      }
      var myAjax = new Ajax.Request(
        this.content,
        {method: this.method, parameters: $(this.formid).serialize(true), onLoading: this.loading.bindAsEventListener(this), onComplete: this.display.bindAsEventListener(this)}
		);
	},
  
  display: function(response){
		$(this.ajax).innerHTML = response.responseText;	
		if(this.js_exec) {
      eval(this.js_exec);
    }
  	this.actions();			
	},
  actions: function(){
		myrtille_elem($(this.ajax));
		
    /*ajaxlkunder = $(this.ajax).getElementsByClassName('mp-ajax-form');
		for(i = 0; i < ajaxlkunder.length; i++) {
      myrfrm = new myrtille_form(ajaxlkunder[i]);
	  }*/
	},
  loading: function(){
		$(this.ajax).innerHTML = '<img src="' + this.loadimg + '"/>';
	}
}

function myrtille_app(){
  var myrblind = new Array();
	ajaxlk = document.getElementsByClassName('mp-ajax');
	for(i = 0; i < ajaxlk.length; i++) {
    myrclick = new myrtille(ajaxlk[i]);
	}
	ajaxbd = document.getElementsByClassName('mp-blind');
	for(i = 0; i < ajaxbd.length; i++) {
    myrblind[i] = new myrtille_blind(ajaxbd[i]);
	}
	ajaxfrm = document.getElementsByClassName('mp-ajax-form');
	for(j = 0; j < ajaxfrm.length; j++) {
    myrfrm = new myrtille_form(ajaxfrm[j]);
	}
  ajaxac = document.getElementsByClassName('mp-autocompletion');
	for(j = 0; j < ajaxac.length; j++) {
    myrac = new myrtille_autocompletion(ajaxac[j]);
	}
}
var TinyInstance = 1;
function myrtille_elem(elem){
  
	ajaxfrm = elem.getElementsByClassName('mp-ajax-form');
	for(j = 0; j < ajaxfrm.length; j++) {
    myrfrm = new myrtille_form(ajaxfrm[j]);
	}
	//alert(elem.innerHTML);
	lbAuto = $('autoclose');
	if(lbAuto) {
	  //alert('ok');
    objtmp.timer(1000);
  } 
  initializeInAjax(elem);
  ajaxlk = elem.getElementsByClassName('mp-ajax');
	for(i = 0; i < ajaxlk.length; i++) {
    myrclick = new myrtille(ajaxlk[i]);
	}
	ajaxbd = document.getElementsByClassName('mp-blind');
	for(i = 0; i < ajaxbd.length; i++) {
    myrclick = new myrtille_blind(ajaxbd[i]);
	}
  ajaxac = document.getElementsByClassName('mp-autocompletion');
	for(j = 0; j < ajaxac.length; j++) {
    myrac = new myrtille_autocompletion(ajaxac[j]);
	}
}
