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_autocompletion = Class.create();

myrtille_autocompletion.prototype = {

	initialize: function(ctrl) {
		this.content = ctrl.getAttribute('href');
		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(){
    /*if(this.loadig != '')
		  $(this.ajax).innerHTML = '<img src="' + this.loadimg + '"/>';
	   else*/
      $(this.ajax).update('<img src="http://static.easypige.com/img/ajax-loader.gif"/>');
  }
}

function myrtille_app(){
	ajaxlk = document.getElementsByClassName('mp-ajax');
	for(i = 0; i < ajaxlk.length; i++) {
    myrclick = new myrtille(ajaxlk[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]);
	}
  ajaxhlp = document.getElementsByClassName('mp-help');
	for(j = 0; j < ajaxhlp.length; j++) {
    myrhtlp = new myrtille_help(ajaxhlp[j]);
	}
}
var TinyInstance = 1;
function myrtille_elem(elem){
  //alert(elem.innerHTML);
	lbAuto = $('autoclose');
	if(lbAuto) {
	  //alert('ok');
    objtmp.timer(1000);
  } 
  
	lbAuto = $('autoclose-reload');
	if(lbAuto) {
	  //alert('ok');
      location.reload();
  } 
  ajaxlk = elem.getElementsByClassName('mp-ajax');
	for(i = 0; i < ajaxlk.length; i++) {
    myrclick = new myrtille(ajaxlk[i]);
	}
	ajaxfrm = elem.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]);
	}
	
	lbox = document.getElementsByClassName('lbOn');
	for(i = 0; i < lbox.length; i++) {
    valid = new lightbox(lbox[i]);
	}
	
  tmce = $('mp-tiny-mce');
  if(tmce) {
    elements = tinyMCE.getParam('elements', '', true, ',');
    //alert(elements);
		for (i=0; i<elements.length; i++) {
			element = tinyMCE._getElementById(elements[i]);
			//alert(element);
			trigger = element ? element.getAttribute(tinyMCE.settings.textarea_trigger) : "";
      
			var selector = tinyMCE.getParam("editor_selector");
			var deselector = tinyMCE.getParam("editor_deselector");
			if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(element, "class"))) {
        //alert('reg ok');
        continue;
      }

			if (trigger == "false") {
				
        //alert('trigger ok');
        continue;
      }
      
			if ((tinyMCE.settings.ask || tinyMCE.settings.convert_on_click) && element) {
				elementRefAr[elementRefAr.length] = element;
				
        //alert('settings ok');
				continue;
			}

			if (element) {
			 //alert('add ok');
				tinyMCE.addMCEControl(element, elements[i]);
			}
		}
    // Global instances
    //eval('var TinyMCE' + TinyInstance + ' = TinyMCE_Engine;');
    //eval('var tinyMCE' + TinyInstance + ' = new TinyMCE_Engine();');
    //eval('var tinyMCELang' + TinyInstance + ' = {};');
    //eval('tinyMCE' + TinyInstance + '.init({theme : "advanced",mode: "exact",elements : "mp-tiny-mce",theme_advanced_toolbar_location : "top",theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator," + "justifyleft,justifycenter,justifyright,justifyfull,formatselect," + "bullist,numlist,outdent,indent", theme_advanced_buttons2 : "link,unlink,anchor,image,separator," +"undo,redo,cleanup,code,separator,sub,sup,charmap", theme_advanced_buttons3 : "", height:"350px", width:"600px" });');
  }
}

/*tinyMCE.init({
    theme : "advanced",
    mode: "exact",
    elements : "mp-tiny-mce",
    plugins : "contextmenu,paste,autosave,inlinepopups,media,emotions,spellchecker",    
    spellchecker_languages : 'Français=fr,English=en,German=de,Italiano=it,Polish=pl,Finnish=fi,Swedish=sw,Danish=da,Portuguese=pt,Español=es',
    theme_advanced_toolbar_location : "top",
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,"
    + "justifyleft,justifycenter,justifyright,justifyfull,formatselect,"
    + "fontselect,fontsizeselect",
    theme_advanced_buttons2 : "bullist,numlist,outdent,indent,link,unlink,anchor,image,separator,"
    +"undo,redo,cleanup,code,separator,sub,sup,charmap,separator,emotions,image,media,separator,code,spellchecker,separator,forecolor,backcolor",
    theme_advanced_buttons3 : "",
		theme_advanced_toolbar_align : "left",
    height:"250px",
    width:"500px"
  });*/
