/*****************************************************************************
  JavaScript-Code (Funktionen und Variablen)

  Kunde  : Bundesverband Deutscher Gartenfreunde
  Website: www.kleingarten-bund.de
  Autor  : Rene Oelke
  Datum  : 16.12.2002
  Sprache: JavaScript 1.5
 *****************************************************************************/

var menuButtons = new Array(); // globales Array mit den MouseOver-Bildern

/*****************************************************************************
  Name     : preloadImages
  Zweck    : Image-Preloader zum Vorladen von Bildern fuer einen spaeteren
             MouseOver-Effekt.
  Parameter: 
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.07.2002
  Aenderung:
 *****************************************************************************/
function preloadImages() {
  var arguments = preloadImages.arguments;
  
  if( !arguments || ( arguments.length == 0 ) ) {
    return false;
  } // end if()
  
  if( !menuButtons ) {
    menuButtons = new Array();
  } // end if()

  for( var i = 0; i < arguments.length; i++ ) {
    menuButtons[i] = new Image();
    menuButtons[i].src = arguments[i];
  } // end for( i )
} // end preloadImages()

/*****************************************************************************
  Name     : swapImage
  Zweck    : Funktion zum Austauschen eines Bildes mit einem anderen.
  Parameter: strImgName   -> Name des Bildes (name-parameter)
             strImgSource -> URL des neuen Bildes
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.07.2002
  Aenderung:
 *****************************************************************************/
function swapImage( strImgName, strImgSource ) {
  var showImage = null;
  
  if( !( showImage = document[strImgName] ) && document.all ) {
    showImage = document.all[strImgName];
  } // end if()
    
  if( document.images && ( showImage != null ) ) {
    showImage.src = strImgSource;
  } // end if()
} // end swapImage()

/*****************************************************************************
  Name     : swapButton
  Zweck    : Funktion zum Austauschen eines Button-Bildes mit einem anderen.
  Parameter: strBtnName   -> Name des Buttons (name-parameter)
             strBtnSource -> URL des neuen Button-Bildes
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.03.2003
  Aenderung:
 *****************************************************************************/
function swapButton( strBtnName, strBtnSource ) {
  var showImage = null;
  
  if( !( showImage = document[strBtnName] ) && document.all ) {
    showImage = document.all[strBtnName];
    //alert( showImage );
  } // end if()
    
  if( document.forms && ( showImage != null ) ) {
    showImage.src = strBtnSource;
    //alert( showImage.name );
  } // end if()
} // end swapButton()

/*****************************************************************************
  Name     : swapRouteImage
  Zweck    : Funktion zum Austauschen des Anfahrtskizzenbildes mit einem 
             detaillierteren Bild und umgekehrt.
  Parameter: strImgName -> Name des Bildes (name-parameter)
             strImgPath -> URL-Pfad der Bilder
             strImg1    -> Dateiname des eine Bildes
             strImg2    -> Dateiname des anderen Bildes
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.07.2002
  Aenderung:
 *****************************************************************************/
function swapRouteImage( strImgName, strImgPath, strImg1, strImg2 ) {
  var showImage = null;
  
  if( !( showImage = document[strImgName] ) && document.all ) {
    showImage = document.all[strImgName];
  } // end if()
    
  if( document.images && ( showImage != null ) ) {
    if( showImage.src.indexOf( strImg1 ) != -1 ) {
      showImage.src = strImgPath + strImg2;
    } else if( showImage.src.indexOf( strImg2 ) != -1 ) {
      showImage.src = strImgPath + strImg1;
    } // end if/else if()
  } // end if()
} // end swapRouteImage()

/*****************************************************************************
  Name     : openWindow
  Zweck    : Oeffnet ein weiteres Fenster.
  Parameter: source
             name
             width
             height
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.07.2002
  Aenderung:
 *****************************************************************************/
function openWindow( source, name, width, height, properties, center ) {
  var newWindow = null;
  var windowProps = "";
  
  windowProps = "width=" + width + ",height=" + height + "," + properties;
  
  newWindow = window.open( source, name, windowProps );
  
  if( center == true ) {
    newWindow.blur();
    newWindow.moveTo( ( screen.width / 2 ) - ( width / 2 ), ( screen.height / 2 ) - ( height / 2 ) );
  } // end if()
  
  newWindow.focus();
} // end openWindow()

/*****************************************************************************
  Name     : closeWindow
  Zweck    : Schliesst ein bestimmtes Fenster.
  Parameter: window
  Return   : -
  Autor    : Rene Oelke
  Datum    : 03.07.2002
  Aenderung:
 *****************************************************************************/
function closeWindow( windowName ) {
  windowName.close()
} // end closeWindow()

/*****************************************************************************
  Name     : insertTag
  Zweck    : Umschliesst einen Text mit einer Formatierungsmarkierung.
             Bsp. <a href="javascript:insertTag('[b]','[/b]')"><img src="http://homer/yabbse/YaBBImages/bold.gif" align="bottom" width="23" height="22" alt="Fett" border="0" /></a>
  Parameter: strTextfield
             beginTag
             endTag
  Return   : -
  Autor    : Rene Oelke
  Datum    : 01.04.2003
  Aenderung:
 *****************************************************************************/
function insertTag( strForm, strTextfield, beginTag, endTag ) {
  // Nur im IE moeglich
	if( document.forms[strForm].elements[strTextfield].createTextRange && document.forms[strForm].elements[strTextfield].caretPos ) {      
		var caretPos = document.forms[strForm].elements[strTextfield].caretPos;
    
		caretPos.text = ( caretPos.text.charAt( caretPos.text.length - 1 ) == ' ' ) ?	( beginTag + caretPos.text + endTag + ' ' ) : ( beginTag + caretPos.text + endTag );
	}	else {
    document.forms[strForm].elements[strTextfield].value += beginTag + endTag;
  } // end if()
  
	document.forms[strForm].elements[strTextfield].focus( caretPos );
} // end insertTag()

/*****************************************************************************
  Name     : storeCaret
  Zweck    : Umschliesst einen Text mit einer Formatierungsmarkierung.
             Bsp: <textarea class="editor" name="message" rows="12" cols="60" onselect="javascript:storeCaret(this);" onclick="javascript:storeCaret(this);" onkeyup="javascript:storeCaret(this);" onchange="javascript:storeCaret(this);"></textarea>
  Parameter: strText
             beginTag
             endTag
  Return   : -
  Autor    : Rene Oelke
  Datum    : 01.04.2003
  Aenderung:
 *****************************************************************************/
function storeCaret( strTextfield ) {
	if( strTextfield.createTextRange ) {
		strTextfield.caretPos = document.selection.createRange().duplicate();
	} // end if()
} // end storeCaret()