/**
 * @author phil
 */
$().ready(function(){
	if ($("#editMode").length > 0) {
		$(".cms_autohide").css("display","block");
		$(".cms_autohide").children().find(".cms_content").append("<p> </p>");
		
		$("#editMode").hover(function(){
			$(this).html("Editmodus verlassen");
			$(this).css('cursor', 'pointer');
			$(this).css('border', '2px outset');
		});
		$("#editMode").mouseout(function(){
			$(this).html("Editmodus");
			$(this).css('border', '0px outset');
		});
		$("#editMode").click(function(){
			  window.location=window.location.pathname;
		});
	
	
		addEditListener();
		
	}
	
	
});

function removeListener(){
	$("*").unbind();
}
function addEditListener(){
	//changeButtonListener
	$(".cms_object").click(function(){
		
		var obj=$(this);
		var replace = obj.find(".cms_content");
		var id = obj.find(".identificator").html();
		$.post("ajax_content.php",{id:id,table:"cms_global",GETENTRY:true},function(data){
					data = surroundTextWithEditor(data,id);
					replace.after(data);	
					obj.unbind();
					$("input[name=cms_ok]").unbind();
					addOKListener();
					removeChangeListener();
					addChangeListener();
					$("textarea").autogrow();
				});
	});
	
	$(".cms_object").children(".cms_editor").parents(".cms_object").unbind();

	
}

function addOKListener(){
	//uploadButtonListener
	$("input[name=cms_ok]").click(function(){
		var replace = $(this).parent();
		var content=replace.find("textarea").val();
		var id = replace.parents().find(".identificator").html();
		var obj = $(this);
		$.post("ajax_content.php",{id:id,table:"cms_global",SETENTRY:content},function(data){
					
					data=surroundTextWithCMS_content(data);
					replace.remove();
					obj.unbind();
					$(".cms_object").unbind();
					addEditListener();
				});
	});
}
function addChangeListener(){
	
	$(".cms_editor textarea").keyup(function(ev){
		changeFkt($(ev.target));
		
	});
	

}
function changeFkt(obj){
	
	var content=obj.parents(".cms_object").find("textarea").val();
		var id = obj.parents(".cms_object").find(".identificator").html();
		var repl=obj.parents(".cms_object").find(".cms_content");
		$.post("ajax_content.php",{PARSEENTRY:content},function(data){
			repl.replaceWith(surroundTextWithCMS_content(data));
		});
}
function removeChangeListener(){

	$(".cms_editor textarea").unbind();
}


function surroundTextWithEditor(text,id){
	var edit="<div class='cms_format'>";
	edit+="<a href=\"javascript:wrapText('[',']',"+id+");\">[ ] </a>";
	edit+="<a href=\"javascript:wrapText('<b>','</b>',"+id+");\"><b>b</b> </a>";
	edit+="<a href=\"javascript:wrapText('<i>','</i>',"+id+");\"><i>i</i> </a>";
	edit+="<a href=\"javascript:wrapText('<u>','</u>',"+id+");\"><u>u </u></a>";
	edit+="<a class='red' href=\"javascript:wrapText('<red>','</red>',"+id+");\">r </a>";
	edit+="<a class='green' href=\"javascript:wrapText('<green>','</green>',"+id+");\">g </a>";
	edit+="<a class='blue' href=\"javascript:wrapText('<blue>','</blue>',"+id+");\">b </a>";
	edit+="</div>";
	return text="<div class='cms_editor' name='"+id+"_cms_edit'><textarea>"+text+"</textarea>"+edit+"<input type='button' name='cms_ok' value='absenden' /></div> ";
}
function surroundTextWithCMS_content(text){
	return text="<div class='cms_content'>"+text+"</div> ";
}




function wrapText(aTag, eTag,id) {
    var obj=$(".cms_editor[name="+id+"_cms_edit]");
	var textaObj=obj.find("textarea");
	
	var txtarea=textaObj.get(0);
	
	var text=textaObj.val();
	
	
    var len = text.length;
    var start = txtarea.selectionStart;
	
    var end = txtarea.selectionEnd;
	var selectedText = text.substring(start, end);
    var replacement = aTag + selectedText + eTag;
    textaObj.val(text.substring(0, start) + replacement + text.substring(end, len));
	changeFkt(textaObj);
}







