var myGridUpdater;
var edit = false; 
var rules;




Event.observe(document,'keypress',function(event){if(event.keyCode == Event.KEY_ESC) abbruchEdit();});


abbruchEdit = function() {
	var div = $('editor').parentNode;
	var dims = Element.getDimensions(div);
	Element.hide('blende');
	div.style.padding='3px';  
	div.style.width = dims.width -6 + 'px';
	var text = div.firstChild.value;	
	div.innerHTML=text;
	setTimeout(function() {edit = false;},500);
}

Event.observe(window, 'load', function () {
 	rules = {
		'.cancel' : function(e){e.onclick=abbruchEdit},
		'.save' : function(e) {
			e.onclick = function() {	
				var name = $('editor').name;
				var content = $('editor').value;
				Effect.Pulsate($('editor'),{pulses: 1, duration: 0.5, afterFinish:function() {
						new Ajax.Request('./lib/updateDB.ajax.php', {
						method : 'post',
						parameters: 'name=' + name + '&content='+ encodeURIComponent(content),
						onSuccess: function(res) {
							edit = false;
							myGridUpdater.requestContentRefresh(null);
							Element.hide('blende');
				}
					});
				} });
			   }
		  },
		'.edit' : function(e) {
			e.onmouseover = function() {
				if (edit) return;
				e.title='Klick zum Bearbeiten';
				e.style.backgroundImage = 'url(./pencil.gif)';
				var a = Element.getDimensions(e);
				e.style.backgroundPosition = a.width-16 + 'px 2px';
			},
			e.onmouseout = function() {
				e.style.backgroundImage = null;
			},
			e.onclick = function() {
				if (edit) return;
				edit = true;
				e.style.backgroundImage = null;
				var id =   e.id;
				var text = e.innerHTML;
				var dims = Element.getDimensions(e);
				var width = dims.width-23;
				var height = dims.height+4;
				e.style.padding='0';
				var newwidth = dims.width -2;
				e.style.width= newwidth + 'px';
				$('blende').style.zIndex='9999';
				Element.show('blende');	 			
				e.innerHTML='<textarea name="'+id+'" style="width:'+width+'px;height:'+height+'px" id="editor" class="edit" >'+text+'</textarea>'
				 + '<img class="b cancel" src="cancel.png" title="Abbruch" /><br /><img class="b save" title="übernehmen"  src="save.png"/>';
				Behaviour.apply(rules);
			 }
		  }
	   };
 	   Behaviour.register(rules);
       var opts = { 
        			prefetchBuffer: true, 
        			onscroll: updateTopicsGridHeader,
        			onComplete: function(x) { 
        			  Element.removeClassName($('message'),'geduld');
            	      Behaviour.apply(rules);
        			},
        			onLoading: function() { 
        				Element.addClassName($('message'),'geduld'); 
      				},
        			onTimedOut: function() { 
        				Element.removeClassName($('message'),'geduld');
        				Behaviour.apply(rules);
      				},
        			onFirstContent: function(livegrid) {updateTopicsGridHeader(livegrid, 0);}
      		 };
        myGridUpdater = new LiveGrid ('mygrid',7, 612, './lib/getcontent.ajax.php', opts);
     	
     	}
    );

function updateTopicsGridHeader(livegrid, offset ) {
		edit = false;
		$('message').innerHTML = 'Zeilen %1 von %2'.replace('%1', (offset+1) + ' - ' + (offset + livegrid.metaData.pageSize)).replace('%2', livegrid.metaData.getTotalRows());
		Behaviour.apply(rules);
}


