function delete_tags($formular,$eingabefeld, VA, TAG_tab)
{

//	alert ('*** function delete_tags *** ');
//  alert($formular);
//  alert($eingabefeld);


    var input = document.forms[$formular].elements[$eingabefeld];
    input.focus();

	var output_selection = '';

	var browser = navigator.userAgent.toLowerCase();
//		alert(browser);

// ************************************************
// für Internet Explorer aber nicht Opera!
// ************************************************
    if (typeof document.selection != 'undefined' &&
	    browser.substr(0,5) 	  != 'opera')
    {

//    	alert('MSIE');



        var range   = document.selection.createRange();
        var insText = range.text;

// ***************************************
// Löschen aller TAGS
// ***************************************
        if (VA == 'del_all')
        {

//        	alert('del_all');

//			alert ('der zu bearbeitende Text >' +insText +'<');

	        if (insText.length > 0)
	        {

	        	output_selection = del_TAGS(insText,TAG_tab);
	        	range.text 		 = output_selection;


	        }
            else
            {
                alert('Bei Löschen von Formatierungen muss ein Text markiert sein!');
                return;
            }


		}

// Anpassen der Cursorposition
        range = document.selection.createRange();

        range.select();
		$eingabefeld.focus();

    }


// ************************************************
// für neuere auf Gecko basierende Browser
// ************************************************

    else if(typeof input.selectionStart != 'undefined')
    {
    /* Einfügen des Formatierungscodes */
        var start   = input.selectionStart;
        var end     = input.selectionEnd;

        var insText = input.value.substr(start, end-start);

		

// ***************************************
// Löschen aller TAGS
// ***************************************
        if (VA == 'del_all')
        {

//        	alert('del_all');


	        if (insText.length > 0)
	        {

	        	output_selection = del_TAGS(insText,TAG_tab);
	        	input.value = input.value.substr(0, start) + output_selection + input.value.substr(end);

                input.selectionStart = start;
                input.selectionEnd   = start + output_selection.length;

	        }
            else
            {
                alert('Bei Löschen von Formatierungen muss ein Text markiert sein!');
				
                input.selectionStart = start;
                input.selectionEnd   = end;				
            }


		}

		$eingabefeld.focus();

    }

// ***********************************************
// für die übrigen Browser
// ***********************************************
    else
    {

		alert('Die Verarbeitung wird bei diesem Browser nicht unterstützt!');
	}

}

function del_TAGS(Text,TAG_tab)
{
	var VA_Text			= '';
	var ZW_Text			= '';

	VA_Text = Text;

	var TAG_start_pos = -1;
	var TAG_end_pos   = 0;
	var search_min_pos = 0;

// suchen ab Position 0
	TAG_start_pos = get_TAG_pos(VA_Text,'[',TAG_start_pos)
	TAG_end_pos   = get_TAG_pos(VA_Text,']',TAG_start_pos)




//	alert('start-start >' +TAG_start_pos +'<');
//	alert('start-end >' +TAG_end_pos +'<');




	var $x = 0;


	while (TAG_start_pos > -1 &&
	       TAG_end_pos 	 > 0  &&
	       TAG_end_pos	 > TAG_start_pos)

	{

		$x++;

//		alert('der VA-Text >' +VA_Text +'<');



		if (TAG_tab.indexOf(VA_Text.substr(TAG_start_pos,(TAG_end_pos-TAG_start_pos+1))) > 0)
		{

			ZW_Text  = '';

// der Teil vor dem TAG
			if (TAG_start_pos > 0)
	            ZW_Text  = VA_Text.substr(0,TAG_start_pos);
// der Teil nach dem Tag
            ZW_Text += VA_Text.substr(TAG_end_pos+1);

            VA_Text = ZW_Text;

// Wurden die Tags entfernt, so wird im String wieder bei 0 begonnen
			TAG_end_pos = search_min_pos;

		} 
// wenn ein [] gefunden wurde aber keine TAG ist
// dann wird ab hier immer erst nach diesen []
// nach weiteren TAGS gesucht.
		else
			search_min_pos = TAG_end_pos;

          
//        alert('Text nach entfernen des Tags>' +VA_Text +'<');



// suchen ab Position end-Tag-end-pos!
        TAG_start_pos = get_TAG_pos(VA_Text,'[',TAG_end_pos)
        TAG_end_pos   = get_TAG_pos(VA_Text,']',TAG_start_pos)

//        alert('start-start >' +TAG_start_pos +'<');
//        alert('start-end >'   +TAG_end_pos +'<');


	}

//	alert('Text am Ende >' + VA_Text +'<');


	return VA_Text;

}

// ********************************************
// suchen eines Strings ab einer Stelle
// ********************************************
function get_TAG_pos(Text,search,from_pos)
{

	return Text.indexOf(search,from_pos)
}

