function trim (zeichenkette) {
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}

var engines = new Array( 3 );
engines['google'] = 'http://www.google.de/search?meta=lr%3Dlang_de&q=';
engines['phpbb2'] = 'search.php?mode=results&search_keywords=';
engines['wikipedia'] = 'http://de.wikipedia.org/wiki/';

	
function search2go( link, mode )
{
  var searchurl = engines[ mode ];
  if (searchurl == undefined || searchurl == '')
    return false;

  var selectedtext = '';
	if (window.getSelection) {
		selectedtext = new String( window.getSelection() );
	} else
	if (document.getSelection) {
		selectedtext = new String( document.getSelection() );
	} else
	if (document.selection) {
		selectedtext = new String( document.selection.createRange().text );
	} else {
		selectedtext = prompt("Kann Auswahl nicht finden, bitte geben Sie das Wort hier ein:");
	}
	
	selectedtext = trim( selectedtext );
  if (selectedtext.length == 0) selectedtext = prompt("Sie haben nichts selektiert, bitte geben Sie das Wort hier ein:");
	//alert("'" + selectedtext + "'");
  if (selectedtext == null || selectedtext.length == 0) return false;
	if (selectedtext.length > 100)
  {
    alert( 'Es ist ist zuviel Text markiert.' );
    return false;
  }
  else
  {
    link.href = searchurl + selectedtext;
    return true; 
  }
  
  return false;
}

function quoteSelection(link) {
	var selectedtext = '';
	if (window.getSelection) {
		selectedtext = new String( window.getSelection() );
	} else
	if (document.getSelection) {
		selectedtext = new String( document.getSelection() );
	} else
	if (document.selection) {
		selectedtext = new String( document.selection.createRange().text );
	} else {
		selectedtext = "";
	}
	
	selectedtext = trim( selectedtext );
  if (selectedtext.length == 0)
  {
    
    return true;
  }
  else
  if (selectedtext.length > 100)
  {
    return true;
  }
  else
  {
    link.href += "&q=" + selectedtext;
    return true; 
  }
}
