/*
 * JavaScript-Functions for the Client 
 */


/*
 *
 */
function check_char(obj) 
//checks and corrects character-only input fields  
{    
	var Ok = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZäöüÄÖÜß-";
	var Comp;
	for (var i = 0; i < obj.value.length; i++)
	{
		Comp = obj.value.substring(i, i + 1);
		if ((Ok.indexOf(Comp) == "-1")) 
		{
			t = obj.value;
			obj.value = t.substr(0,i) + t.substr(i + 1, t.length);
			check_char(obj);
		}
	}
}


//*********************************************************************************************
/*
 *
 */
function check_integer(obj) 
//checks and corrects number-only input fields  
{    
	var Ok = "0123456789";
	var Comp;
	var Punkt = 0;
	var Point = ".";
	for (var i = 0; i < obj.value.length; i++)
	{
		Comp = obj.value.substring(i, i + 1);
		if (Point.indexOf(Comp) != "-1")
		{
			Punkt++;
		}
		if ((Ok.indexOf(Comp) == "-1") || (Punkt > 1)) 
		{
			t = obj.value;
			obj.value = t.substr(0,i) + t.substr(i + 1, t.length);
			check_integer(obj);
		}
	}
}

//*********************************************************************************************
/*
 *
 */
function check_num(obj) 
//checks and corrects number-only input fields  
{    
	var Ok = "0123456789.";
	var Comp;
	var Punkt = 0;
	var Point = ".";
	for (var i = 0; i < obj.value.length; i++)
	{
		Comp = obj.value.substring(i, i + 1);
		if (Point.indexOf(Comp) != "-1")
		{
			Punkt++;
		}
		if ((Ok.indexOf(Comp) == "-1") || (Punkt > 1)) 
		{
			t = obj.value;
			obj.value = t.substr(0,i) + t.substr(i + 1, t.length);
			check_num(obj);
		}
	}
}

//*********************************************************************************************
/*
 *
 */
function check_sql(obj)
//checks and corrects string-only input fields (for SQL-Queries)
{
	for (var i = 0; i < obj.value.length; i++)
	{
		Comp = obj.value.substring(i, i + 1);
		if ((Comp == "\'") || (Comp == "\""))
		{
			t = obj.value
			obj.value = t.substr(0, i)+t.substr(i + 1, t.length);
			check_sql(obj)
		}
	}
}

//*********************************************************************************************
/*
 *
 */
function check_date(obj) 
//checks and corrects date-only input fields 
{    
	var Ok = "0123456789";
	var Comp;
	for (var i = 0; i < obj.value.length; i++)
	{
		Comp = obj.value.substring(i, i + 1);
		if ((Ok.indexOf(Comp) == "-1")) 
		{
			t = obj.value;
			obj.value = t.substr(0,i) + t.substr(i + 1, t.length);
			check_date(obj);
		}
	}
}

//*********************************************************************************************
/*
 * for the esn selection-list: takes 3 keys and
 * finds the element starting with these keys
 */
function setList3Keys(select) {
	// check if the select item was blurred
	if (event.type == "blur") {
		keys = "";
		return;
	}
	
	event.returnValue = false;
	// if key was not a letter return
	if ( event.keyCode < 65 || event.keyCode > 122 || (event.keyCode < 97 && event.keyCode > 90) )
		return;
	// add current pressed key
	keys += String.fromCharCode(event.keyCode).toLowerCase();
	

	// find the item starting with the current pressed keys:
	for (var i = 1; i < select.length; i++) {
		if (select[i].value.substr(0, keys.length).toLowerCase() == keys) {
			select.selectedIndex = select[i].index;
			select.options[i].selected = true;
			select.options[i].defaultSelected = select[i].index;
			break;
		}
	}

	// check if its the third key that was pressed:	
	if (keys.length == 3) {
		keys = "";
	}
}





//*********************************************************************************************
<!--
function Fensterauf(url,breite,hoehe,top,left) {
w = "width=" + breite + ",height=" + hoehe + ",top=" + top + ",left=" + left + ", scrollbars=yes"
window.open(url,"Fenster",w);
}




//-->
