var Message = Class.create({
		initialize: function(xml) {
		  this.xml=xml;
		},
		param: function(type) {
			if(this.xml.getElementsByTagName(type).length>0){
				var str = this.xml.getElementsByTagName(type)[0].childNodes[0].nodeValue;
				str=str.replace(/{/g,"<");
				str=str.replace(/}/g,">")
				str=str.replace(/%26/g,"&")
				return str;
			}
			return null;
		},
		getHtml: function() {
			var html=this.xml.getElementsByTagName("html");
			return html;
		},
		getJavascript: function() {
			return this.xml.getElementsByTagName("javascript");
		},
		getAllParams: function(type) {
			if(this.xml.getElementsByTagName(type).length>0)return this.xml.getElementsByTagName(type)
			return null;
		}
	});
	var Engine = Class.create({
		initialize: function() {
		},
		organize: function(message) {
			if(message.param("type")=="saveArticleTree"){
				//Inga åtgärder javascript sköter
			}
			this.parseHtml(message.getHtml());
			this.evalJavascript(message.getJavascript());
			
		},
		evalJavascript: function(script){
			for(var i=0;i<script.length;i++){
				var chunks="";
				//Some browser choppes the returning content
				for(var j=0;j<script[i].childNodes.length;j++){
					var js = script[i].childNodes[j].nodeValue;
					js=js.replace(/%26/g,"&");
					chunks+=js;
				}
				//alert(chunks);
				eval(chunks);				
			}
		},
		parseHtml: function(html){
			for(var i=0;i<html.length;i++){
				var chunks="";
				for(var j=0;j<html[i].childNodes.length;j++){
					var h = html[i].childNodes[j].nodeValue;
					h=h.replace(/{/g,"<");
					h=h.replace(/}/g,">");
					h=h.replace(/%26/g,"&");
					chunks+=h;
				}
				$(html[i].getAttribute("id")).innerHTML=chunks;				
			}
		}
	});
	/*Ajax.Responders.register({
		onCreate: function() {
			$("ajaxLoaderDiv").show();
		},
		onComplete: function() {
			 $("ajaxLoaderDiv").hide();
		}
	});*/
	
	/*
	*	type	identifier ie saveArticleTree
	*	params	parameter ie param1=hello&param2=world
	*
	*/
	function ajaxRequest(type,params){
		var url="http://www.ringarguld.se/js/ajax/server/serverengine.php";
		var ok=true;
		params="type="+type+"&"+params;
		//alert(params);
		if(ok){
			new Ajax.Request(url, {
				method: "post",
				onSuccess: function(transport) {
					var engine = new Engine();
					//alert(transport.responseText);
					//alert(transport.getAllHeaders());
					engine.organize(new Message(transport.responseXML));
				},
				onFailure: function (request) {
					alert("Error");
				},
				parameters:params
			});
		}
	}