/**
 * @name FastForward DOM ajax classTag includer
 * @version 0.1
 * @author Jasper Smet
 * @link http://www.fastfwd.be
 * @needs prototype/scriptaculous
 * @help
 *        <tag ... class="ajaxLoad: myAjaxScript.php[:params]" />
 *        you can also include a css class first followed by the functions
 *        <tag ... class="myClassName ajaxLoad: myAjaxScript.php" />
 *        the params parameter can be used if you need to pass some POST (these get converted) 
 *        elements trough the file: ajaxLoad: myAjaxScript.php:var1=bla&var2=bla
 */
	
	function initMyAjaxStuff() { myAjaxStuff = new ajaxStuff(); }
	Event.observe(window, 'load', initMyAjaxStuff, false);

	var ajaxStuff = Class.create();
	ajaxStuff.prototype = {
		initialize: function() {
			//this.mainFunction("autoComplete");
			this.mainFunction("ajaxLoad");
		},
		mainFunction: function(match) {
			object = document.getElementsByClassName(match +":");
			if(!object || object == "undefined") return false;
			for(var i=0; i < object.length; i++)
			{
				var myclass = new String(Element.classNames(object[i]));
				var classArr = myclass.split(":");
				if( classArr[1].length <= 3 ) return false;
				if(match == "ajaxLoad") {
					var params = (classArr[2] != null ? classArr[2] : "");
					this.createAjaxLoader(object[i], this.LTrim(classArr[1]), params);
				}
			}
		},
		createAjaxLoader: function(element, url, params) {
			var loader = document.createElement("div");
			Element.addClassName(loader, "loader");
			element.appendChild(loader);
			new Ajax.Updater(element, url, {asynchronous:true, parameters: params, evalScripts:true});		
		},
		LTrim: function(value) {
			var re = /\s*((\S+\s*)*)/;
			return value.replace(re, "$1");
		}	
	}