/************************************
     Edit in Place for Mootools
      Programmed by Renzoster
     http://www.etececlub.com	  
*************************************
  Please do not remove this credits
*************************************/

window.addEvent('domready', function() {
	init();
});

var ajax_url  = "index.php?module=ajax&action=videocomment";
var txt_empty = "";

function init(){
	var tags = ['p', 'div', 'span'];
	tags.forEach(function(eli){
		$$(eli).each(function(el){
			if (el.innerHTML == ''){
				el.setHTML(txt_empty);
			}
			if (el.getProperty('rel') == 'editin'){
				makeEditable(el.getProperty('id'));
			}
		});
	});
}

			
function makeEditable(id){
	$(id).addEvent('click', function(e){
		edit(id);
	});
	$(id).addEvent('mouseover', function(e){
		showAsEditable(id);
	});
	$(id).addEvent('mouseout', function(e){
		showAsEditable(id, true);
	});
}

function selectall(obj){
	$(obj).focus();
	$(obj).select();
} 

function edit(obj){
	$(obj).setOpacity(0);
	$(obj).setStyle('visibility','hidden');
	$(obj).setStyle('display','none');
	
	var valor = $(obj).getText();
	if(valor == txt_empty){
	var textarea = '<textarea id="'+obj+'_edit" name="'+obj+'" rows="4" cols="60"></textarea>';
	} else {
	var textarea = '<textarea id="'+obj+'_edit" name="'+obj+'" rows="4" cols="60">'+valor+'</textarea>';
	}
	var button	 = '<div><input id="'+obj+'_save" type="button" value="SAVE" /> OR <input id="'+obj+'_cancel" type="button" value="CANCEL" /></div>';
	
	ndiv = new Element('div',{id: obj+'_editor'}).setHTML(textarea+button);
	
	ndiv.injectAfter(obj);	
	selectall(obj+'_edit');
	$(obj+'_save').addEvent('click', function(){saveChanges(obj)});
	$(obj+'_cancel').addEvent('click', function(){cleanUp(obj)});
	
}

function showAsEditable(obj, clear){
	if (!clear){
		$(obj).addClass('editable');
	}else{
		$(obj).removeClass('editable');
	}
}

function saveChanges(obj){
	
	var new_content	=  escape($(obj+'_edit').getValue());
	$(obj).innerHTML	= "Saving...";
	cleanUp(obj, true);

	var success	= function(t){editComplete(t, obj);}
	var failure	= function(t){editFailed(t, obj);}

	var pars = 'id='+obj+'&content='+new_content;
	var myAjax = new Ajax(ajax_url, {method: 'post', postBody:pars, onComplete:success, update: $(obj)});
	myAjax.request();
}

function cleanUp(obj, keepEditable){
	$(obj+'_editor').remove();
	$(obj).setOpacity(1);
	$(obj).setStyle('visibility','');
	$(obj).setStyle('display','');
	if (!keepEditable) showAsEditable(obj, true);
}

function editComplete(t, obj){
	$(obj).innerHTML	= t.responseText;
	showAsEditable(obj, true);
}

function editFailed(t, obj){
	$(obj).innerHTML	= 'Sorry, the update failed.';
	cleanUp(obj);
}

