
function mesaj_editor()
{
 	this.editorName = {};
	this.editorDisabled = {};
		
	this.editorOnLoad = function()
	{
		this.editor = document.getElementById(this.editorName);

		if(typeof(this.editorDisabled) != 'undefined' && this.editorDisabled)
		this.editor.disabled = true;
	}

	this.editorMozWrap = function(lft, rgt)
	{
		var selLength = this.editor.textLength;
		var selStart = this.editor.selectionStart;
		var selEnd = this.editor.selectionEnd;
		if (selEnd==1 || selEnd==2) selEnd=selLength;
		var s1 = (this.editor.value).substring(0,selStart);
		var s2 = (this.editor.value).substring(selStart, selEnd)
		var s3 = (this.editor.value).substring(selEnd, selLength);
		this.editor.value = s1 + lft + s2 + rgt + s3;
	}

	this.editorAddValue = function(deger){

		obje = this.editor;
		if (document.selection)
		{
			var t;
			obje.focus();
			sel=document.selection.createRange();
			t=sel.text.lenght;
			sel.text=deger;
			sel.moveStart('character',-deger.length+t);
			sel.select();
		}
		else if (obje.selectionStart || obje.selectionStart=='0') {
			var sP=obje.selectionStart;
			var eP=obje.selectionEnd;
			obje.value=obje.value.substring(0,sP)+deger+obje.value.substring(eP,obje.value.length); obje.selectionStart=sP+deger.length; obje.selectionEnd=sP+deger.length; obje.focus();
		}
		else{
			Obje.value+=deger;
		}
	}

	this.editorIEWrap = function(lft, rgt)
	{
		strSelection = document.selection.createRange().text;
		if (strSelection != "" && document.selection.createRange().parentElement() == this.editor)
		{
			document.selection.caretPos = document.selection.createRange().duplicate()
			var caretPos = document.selection.caretPos;
			selectedtext = caretPos.text;
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == '' ? ' '+lft + '' : ''+lft+'';
			caretPos.text = caretPos.text + selectedtext + rgt;
		}else{
			this.editorAddValue(lft+rgt);
		}
	}

	this.editorAddTag = function(lft, rgt)
	{
		if(typeof(this.editor) != 'undefined')
		{
			if (document.all)
				this.editorIEWrap(lft, rgt);
			else if(document.getElementById)
				this.editorMozWrap(lft, rgt);
		}
	}

	this.editorAddYoutube = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var Video = prompt('URL','http://');
			if (Video != null)
			{
				Adres = '[youtube]'+ Video + '[/youtube]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}

	this.editorAddMetaCafe = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var Video = prompt('URL','http://');
			if (Video != null)
			{
				Adres = '[metacafe]'+ Video + '[/metacafe]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}
	this.editorAddLink = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var Link = prompt('URL','http://');
			if (Link != null)
			{
				Adres = '[link]'+ Link + '[/link]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}
	this.editorAddKalin = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var kalinsozcuk = prompt('Kalın yazacağınız sözcüğü yazın:','sözcük');
			if (kalinsozcuk != null)
			{
				Adres = '[b]'+ kalinsozcuk + '[/b]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}

	this.editorAddACizili = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var acsozcuk = prompt('Altılı çizili yazacağınız sözcüğü yazın:','sözcük');
			if (acsozcuk != null)
			{
				Adres = '[u]'+ acsozcuk + '[/u]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}

	this.editorAddItalik = function()
	{

		if(typeof(this.editor) != 'undefined')
		{
			var italiksozcuk = prompt('İtalik yazacağınız sözcüğü yazın:','sözcük');
			if (italiksozcuk != null)
			{
				Adres = '[i]'+ italiksozcuk + '[/i]';
				this.editorAddValue(Adres);			
			}
		}
		return;
	}
	this.editorAddImage = function()
	{

		var Image = prompt('URL','http://');
		if (Image != null)
		{
			resim = '[img]'+ Image+'[/img]';
			this.editorAddValue(resim);
		}
		return;
	}
}
