/*
 * 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;
}

