/*
 * String manipulation
 */

function Trim( p_string ) {
  if (typeof p_string != "string") {
    return p_string;
  }

  var t_string = p_string;
  var t_ch = '';

  // Trim beginning spaces

  t_ch = t_string.substring( 0, 1 );
  while ( t_ch == " " ) {
    t_string = t_string.substring( 1, t_string.length );
    t_ch = t_string.substring( 0, 1 );
  }

  // Trim trailing spaces

  t_ch = t_string.substring( t_string.length-1, t_string.length );
  while ( t_ch == " " ) {
    t_string = t_string.substring( 0, t_string.length-1 );
    t_ch = t_string.substring( t_string.length-1, t_string.length );
  }

  return t_string;
}


/*
 * Cookie functions
 */

function GetCookie( p_cookie ) {
  var t_cookie_name = "HBS_" + p_cookie;
  var t_cookies = document.cookie;

  t_cookies = t_cookies.split( ";" );

  var i = 0;
  while( i < t_cookies.length ) {
    var t_cookie = t_cookies[ i ];
    t_cookie = t_cookie.split( "=" );
    if ( Trim( t_cookie[ 0 ] ) == t_cookie_name ) {
      return( t_cookie[ 1 ] );
    }
    i++;
  }
  return -1;
}

function SetCookie( p_cookie, p_value ) {
  var t_cookie_name = "HBS_" + p_cookie;
  var t_expires = new Date();
  // Cookie-Liftime = 20 Stunden * 60 Minuten * 60 Sekunden * 1000 Millisekunden
  t_expires.setTime( t_expires.getTime() + (15 * 60 * 60 * 1000));
  document.cookie = t_cookie_name + "=" + p_value + "; expires=" + t_expires.toUTCString() + ";";
}


/*
 * Collapsible element functions
 */
var g_div_menu_hwm        = 0x0001; // 0000 0000 0000 0001 = 1
var g_div_menu_tip        = 0x0002; // 0000 0000 0000 0010 = 2
var g_div_menu_uebersicht = 0x0004; // 0000 0000 0000 0100 = 4
var g_div_menu_spielplan  = 0x0008; // 0000 0000 0000 1000 = 8
var g_div_menu_tabellen   = 0x0010; // 0000 0000 0001 0000 = 16
var g_div_menu_vereine    = 0x0020; // 0000 0000 0010 0000 = 32
var g_div_menu_toplisten  = 0x0040; // 0000 0000 0100 0000 = 64
var g_div_menu_diagramme  = 0x0080; // 0000 0000 1000 0000 = 128
var g_div_menu_sonstiges  = 0x0100; // 0000 0001 0000 0000 = 256

function GetViewSettings() {
  var t_cookie = GetCookie( "VIEW_SETTINGS" );
  if ( -1 == t_cookie ) {
    t_cookie = 0xffff;
  } else {
    t_cookie = parseInt( t_cookie );
  }
  return t_cookie;
}

function SetDiv( p_div, p_cookie_bit ) {
  var t_view_settings = GetViewSettings();
//alert('SET: '+p_div+', '+p_cookie_bit+'\nView: '+t_view_settings+'\nERG: '+(!(t_view_settings & p_cookie_bit)));
  if (t_view_settings & p_cookie_bit) {
//alert(p_div + "_open");
    document.getElementById( p_div + "_open" ).style.display = "";
    document.getElementById( p_div + "_closed" ).style.display = "none";
  } else {
//alert(p_div + "_closed");
    document.getElementById( p_div + "_open" ).style.display = "none";
    document.getElementById( p_div + "_closed" ).style.display = "";
  }
}

function ToggleDiv( p_div, p_cookie_bit ) {
  var t_view_settings = GetViewSettings();
  t_view_settings ^= p_cookie_bit;
  SetCookie( "VIEW_SETTINGS", t_view_settings );
  SetDiv( p_div, p_cookie_bit );
}

function initDivs() {
  var t_view_settings = GetViewSettings();

//alert('SET: '+'menu_uebersicht'+', '+g_div_menu_uebersicht+'\nView: '+t_view_settings+'\nERG: '+(!(g_div_menu_uebersicht & t_view_settings)));
  if (!(g_div_menu_hwm & t_view_settings))
    SetDiv( 'menu_hwm', g_div_menu_hwm );
  if (!(g_div_menu_tip & t_view_settings))
    SetDiv( 'menu_tip', g_div_menu_tip );
  if (!(g_div_menu_uebersicht & t_view_settings))
    SetDiv( 'menu_uebersicht', g_div_menu_uebersicht );
  if (!(g_div_menu_spielplan & t_view_settings))
    SetDiv( 'menu_spielplan', g_div_menu_spielplan );
  if (!(g_div_menu_tabellen & t_view_settings))
    SetDiv( 'menu_tabellen', g_div_menu_tabellen );
  if (!(g_div_menu_vereine & t_view_settings))
    SetDiv( 'menu_vereine', g_div_menu_vereine );
  if (!(g_div_menu_toplisten & t_view_settings))
    SetDiv( 'menu_toplisten', g_div_menu_toplisten );
  if (!(g_div_menu_diagramme & t_view_settings))
    SetDiv( 'menu_diagramme', g_div_menu_diagramme );
  if (!(g_div_menu_sonstiges & t_view_settings))
    SetDiv( 'menu_sonstiges', g_div_menu_sonstiges );
}

function openDiv(p_div) {
  document.getElementById( p_div ).style.display = "";
}

function closeDiv(p_div) {
  document.getElementById( p_div ).style.display = "none";
}

function setActive(p_div) {
  document.getElementById( p_div ).className = "activereiter";
  switch (p_div) {
    case "reiter_sb_details":
      document.getElementById( 'reiter_sb_verlauf' ).className = "reiter";
      document.getElementById( 'reiter_sb_7m' ).className = "reiter";
      document.getElementById( 'reiter_sb_zss' ).className = "reiter";
      openDiv( 'spielbericht_details' );
      closeDiv( 'spielbericht_verlauf' );
      closeDiv( 'spielbericht_7m' );
      closeDiv( 'spielbericht_zss' );
      break;
    case "reiter_sb_verlauf":
      document.getElementById( 'reiter_sb_details' ).className = "reiter";
      document.getElementById( 'reiter_sb_7m' ).className = "reiter";
      document.getElementById( 'reiter_sb_zss' ).className = "reiter";
      openDiv( 'spielbericht_verlauf' );
      closeDiv( 'spielbericht_details' );
      closeDiv( 'spielbericht_7m' );
      closeDiv( 'spielbericht_zss' );
      break;
    case "reiter_sb_7m":
      document.getElementById( 'reiter_sb_details' ).className = "reiter";
      document.getElementById( 'reiter_sb_verlauf' ).className = "reiter";
      document.getElementById( 'reiter_sb_zss' ).className = "reiter";
      openDiv( 'spielbericht_7m' );
      closeDiv( 'spielbericht_details' );
      closeDiv( 'spielbericht_verlauf' );
      closeDiv( 'spielbericht_zss' );
      break;
    case "reiter_sb_zss":
      document.getElementById( 'reiter_sb_details' ).className = "reiter";
      document.getElementById( 'reiter_sb_verlauf' ).className = "reiter";
      document.getElementById( 'reiter_sb_7m' ).className = "reiter";
      openDiv( 'spielbericht_zss' );
      closeDiv( 'spielbericht_details' );
      closeDiv( 'spielbericht_verlauf' );
      closeDiv( 'spielbericht_7m' );
      break;
  }
}

/* Check checkboxes */
function checkall( p_formname, p_state) {
  var t_elements = (eval("document." + p_formname + ".elements"));
  for (var i = 0; i < t_elements.length; i++) {
    if(t_elements[i].type == 'checkbox') {
      t_elements[i].checked = p_state;
     }
  }
}

/* Open Popup-Window */
function openStats() {
  window.open("","Statistik","width=550,height=600,left=0,top=0,location=no,scrollbars=yes");
  return true;
}
