//
// Allgemeine Javascript-Utilities
//

// Position + Größe des aktuellen Browserfensters ermitteln

function get_window_dimensions()
{
	var pos = new Object();
	
	moz = document.getElementById && !document.all;

	pos.left = !moz
		? window.screenLeft
		: window.screenX;

	pos.top = !moz
		? window.screenTop
		: window.screenY;

	pos.width = window.outerWidth != null
		? window.outerWidth 
		: document.documentElement && document.documentElement.clientWidth 
			? document.documentElement.clientWidth 
			: document.body != null
				? document.body.clientWidth
				: null;
	
	pos.height = window.outerHeight != null
		? window.outerHeight
		: document.documentElement && document.documentElement.clientHeight 
			? document.documentElement.clientHeight
			: document.body != null
				? document.body.clientHeight 
				: null;
	
	pos.right = pos.width != null
		? pos.left + pos.width
		: null;
	
	pos.bottom = pos.height != null
		? pos.top + pos.height
		: null;
	
	return pos;
}

// Checkbox-Toggler
function cbtoggle( id )
{
	el = document.getElementById( id );
	el.checked = !el.checked;
}

// Nichtziffern aus Textwert entfernen
function justnum( id )
{
	el = document.getElementById( id );
	el.value = el.value.replace( /[^0-9]/g, "" );
}

// xdiv-Textanzeige: Haupttext-Sichtbarkeit umschalten
function toggle_xdiv( id )
{
	xdiv_more = document.getElementById( "xdiv_more_" + id );
	xdiv_text = document.getElementById( "xdiv_text_" + id );
	if( xdiv_text.style.display != "block" )
	{
		xdiv_more.style.display = "none";
		xdiv_text.style.display = "block";
	}
	else
	{
		xdiv_more.style.display = "block";
		xdiv_text.style.display = "none";
	}
}

// Radio-Wert ermitteln
function get_radio_value( elem )
{
	for( i = 0; i < elem.length; i++ )
	{
		if( elem[i].checked )
			return elem[i].value;
	}
	return "";
}

// Select-Wert ermitteln
function get_select_value( elem )
{
	if( elem.selectedIndex >= 0 )
		return elem.options[elem.selectedIndex].value;
	
	return "";
}


// Suchformular: ClearOnClick
function queryform_clear( fields ) {
	
	if( fields.indexOf("(Stichwort)") >= 0 ) {
		if( e = document.query.elements['query.stichwort'] ) {
			e.value = "";
			e.focus();
		} }
	
	if( fields.indexOf("(StichwortModus)") >= 0 ) {
		if( e = document.query.elements['query.stichwort.mode'] ) {
			e[0].checked = true; for( i=1; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(LogikModus)") >= 0 ) {
		if( e = document.query.elements['query.mode'] ) {
			e[0].checked = true; for( i=1; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(Preisbereich)") >= 0 ) {
		if( e = document.query.elements['query.preis.von'] ) e.value = "";
		if( e = document.query.elements['query.preis.bis'] ) e.value = "";
		}
	
	if( fields.indexOf("(Warengruppe)") >= 0 ) {
		if( e = document.query.elements['query.wgruppe'] ) e.selectedIndex = 0;
		}
	
	if( fields.indexOf("(Hersteller)") >= 0 ) {
		if( e = document.query.elements['query.hersteller'] ) e.selectedIndex = 0;
		}
	
	if( fields.indexOf("(Katalog)") >= 0 ) {
		if( e = document.query.elements['query.katalog.key'] ) e.selectedIndex = 0;
		}
	
	if( fields.indexOf("(Slot)") >= 0 ) {
		if( e = document.query.elements['query.slot'] ) e.selectedIndex = 0;
		}
	
	if( fields.indexOf("(Flags)") >= 0 ) {
		if( e = document.query.elements['query.flags.'] ) {
			for( i=0; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(Medium)") >= 0 ) {
		if( e = document.query.elements['query.medium.'] ) {
			for( i=0; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(Farbe)") >= 0 ) {
		if( e = document.query.elements['query.farbe.'] ) {
			for( i=0; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(Material)") >= 0 ) {
		if( e = document.query.elements['query.material.'] ) {
			for( i=0; i<e.length; i++ ) e[i].checked = false;
		} }
	
	if( fields.indexOf("(Lieferzeit)") >= 0 ) {
		if( e = document.query.elements['query.lieferzeit.'] ) {
			for( i=0; i<e.length; i++ ) e[i].checked = false;
		} }
	
}

// Suchformular: Reset
function queryform_reset() {
	queryform_clear( "(Stichwort)(StichwortModus)(LogikModus)(Preisbereich)(Warengruppe)(Hersteller)(Katalog)(Slot)(Flags)(Medium)(Farbe)(Material)(Lieferzeit)" );
}

// Suchformular: Platzhalter anzeigen
function queryform_set_placeholder( phtext ) {
	if( phtext == "" ) return;
	if( e = document.query.elements['query.stichwort'] ) {
		if( e.value == "" || e.value == phtext ) {
			e.className = "textbox placeholder";
			e.value = phtext;
		}
		else {
			e.className = "textbox";
		}
	}
}

// Suchformular: Platzhalter löschen
function queryform_clear_placeholder( phtext ) {
	if( phtext == "" ) return;
	if( e = document.query.elements['query.stichwort'] ) {
		if( e.value == phtext ) {
			e.className = "textbox";
			e.value = "";
		}
	}
}

