function KwText() { };
KwText.cn = 'kw_text';
KwText.loc = Array();

KwText.addBold = function(num) {
	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();
	KwText.addTag(obj,'[b]','[/b]');
	return true;
	
};
KwText.addUnderlined = function(num) {
	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();
	KwText.addTag(obj,'[u]','[/u]');
	return true;

};
KwText.addItalic = function(num) {
	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();
	KwText.addTag(obj,'[i]','[/i]');
	return true;

};

KwText.addLink = function(num) {

	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();
	
	var href = prompt(KwText.loc['input_link_href'],'http://');
	if ((href == null) || (href == 'http://')) return;
	var txt = KwText.getTextareaSelection(obj);
	txt = prompt(KwText.loc['input_link_text'],txt);
	if (txt == null) return;
	KwText.addTag(obj,'[url="'+href+'"]','[/url]',txt);
};

KwText.addEmail = function(num) {

	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();

	var txt = KwText.getTextareaSelection(obj);
	var href = prompt(KwText.loc['input_email'],txt);
	if ((href == null) || (href == '')) return;
	KwText.addTag(obj,'[mailto]', '[/mailto]', href);
};

KwText.addImage = function(num) {

	var obj = Kw.getObj('kw_text_textarea_'+num);
	obj.focus();

	var href = prompt(KwText.loc['input_image_src'],'http://');
	if ((href == null) || (href == 'http://')) return;
	KwText.addTag(obj,'[img]'+href+'[/img]','');
};

KwText.getTextareaSelection = function(obj) {
	if (typeof(document.selection) != 'undefined') {
		var s = document.selection.createRange();
		if (s.text)
		{
			s.text = tag1+s.text+tag2;
			s.select();
			obj.caretPos += tag1.length;
			return true;
		}
	}
	else if (typeof(obj.selectionStart) != 'undefined') {
		return obj.value.substr(obj.selectionStart,obj.selectionEnd-obj.selectionStart);
	}
};

KwText.addTag = function(obj,tag1,tag2,txt) {
	if (typeof(document.selection) != 'undefined') {
//		alert(1);
		var s = document.selection.createRange();
//		alert(s);
//		alert(s.text);
		if (s.text)
		{
			s.text = tag1+s.text+tag2;
			s.select();
			obj.caretPos += tag1.length;
			return true;
		}
	}
	else if (typeof(obj.selectionStart) != 'undefined') {
//		alert(2);]
		
		var start = obj.selectionStart;
		var end = obj.selectionEnd;
		if (txt == null) {
			txt = obj.value.substr(start,end-start);
		}
		var ttt = tag1+txt+tag2;
		obj.value = obj.value.substr(0,start)+ttt+obj.value.substr(end);
		obj.setSelectionRange(start+txt.length+tag1.length,start+txt.length+tag1.length);
		return true;
	}
};

