/* Gästebuch */

function addSmile( code ) {
  var input = document.forms['gbform'].elements['nachricht'];
  input.focus();

  /* Internet Explorer selectionStart und selectionEnd beibringen */
  if( typeof document.selection != 'undefined' ) {
    // Die akteulle Selection...
    var range = document.selection.createRange();
    // ... benutzen wir als einen 'dummy'
    var stored_range = range.duplicate();
    // Gesamten Text selektieren
    stored_range.moveToElementText( input );
    // Endpunkt des 'dummy' zum Endpunkt der eigentlichen Selektierung versetzen
    stored_range.setEndPoint( 'EndToEnd', range );
    // Nun können wir Start- und Endpunkt besetzen
    input.selectionStart = stored_range.text.length - range.text.length;
    input.selectionEnd = input.selectionStart + range.text.length;
    // Warum einfach wenn es auch kompliziert geht.... DANKE Microsoft! (VORSICHT! Ironie!)
  }

  /* für lernfähige IE's und auf Gecko basierende Browser */
  if( typeof input.selectionStart != 'undefined' ) {
    var start = input.selectionStart;
    var end   = input.selectionEnd;

    /* Leerzeilen um Code bauen bei Bedarf */
    if( start-1 > 0 ) {
      if( input.value.charAt(start-1) != ' ' ) {
        code = " " + code;
      }
    }
    if( end < input.value.length ) {
      if( input.value.charAt(end) != ' ' ) {
        code = code + " ";
      }
    }

    /* Einfügen des Formatierungscodes */
    input.value = input.value.substr(0, start) + code + input.value.substr(end);

    /* Anpassen der Cursorposition */
    var pos = start + code.length;
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }

  /* für andere bzw. ältere Browser */
  else {
    input.value += code;
  }
}

function toggleGbForm() {
  new Effect.toggle( 'gb_form', 'Slide', {duration:2} );
}


/* LogIn-Box */

function nameFocus() {
  field = document.member_log_in.name;
  if( field.style.fontStyle == "italic" ) {
    field.value           = "";
    field.style.color     = "black";
    field.style.fontStyle = "normal";
  }
}

function nameBlur() {
  field = document.member_log_in.name;
  if( field.value == "" ) {
    field.value           = "Name";
    field.style.color     = "#999999";
    field.style.fontStyle = "italic";
  }
}

function swapFields( dummy, passwort ) {
  if( passwort.style.display == "none" ) {
    dummy.style.display    = "none";
    passwort.style.display = "";
    passwort.focus();
  } else {
    if( passwort.value == "" ) {
      passwort.style.display = "none";
      dummy.style.display    = "";
    }
  }
}

function toggleLoginForm() {
  Effect.toggle( 'wappen_div', 'Slide' , { duration:2 } );
  Effect.toggle( 'log_in_div', 'Appear', { duration:2 } );
}


/* TableView */

function setRowStyle( row, style ) {
  if( row.className != "marked" ) {
    row.className = style;
  }
}
