// var GLOBAL_FIELD_TO_PROCESS_EVENT  = null;
// window object from which we take the IE event for fieldchecks
var GLOBAL_FIELD_CHECK_WINDOW_EVENT= this;
var VALID_NUMBERS		 = "0123456789";

function getIEEvent() {
    return GLOBAL_FIELD_CHECK_WINDOW_EVENT.event;
}
// -------------------------------------------
// Ueberpruefen ob feldwert gueltig ist
// -------------------------------------------
function hasValidPattern(field, patterns) {
	var value = field.value;

	var i;
	for(i=0; i < patterns.length; i++) {
		if (patterns[i].test(value) == true) break;
	}
	if (i == patterns.length) return false;
	return true;
}

// -----------------------------------------------
// Browserabhaengiges ermitteln des keys vom event
// -----------------------------------------------
function getKey(keyEvent) {
	var keyCode = getKeyCode(keyEvent);

	return String.fromCharCode(keyCode);
}

// --------------------------------------------------
// Browserabhaengiges ermitteln des keycode vom event
// --------------------------------------------------
function getKeyCode(keyEvent) {
	if (isNavigator()) {
		return keyEvent.which;
	} else {
		return keyEvent.keyCode;
	}
}

function isValidSystemKey(keyEvent) {
	var keyCode = getKeyCode(keyEvent);
	// In safari the Arrow Left and Arrow Right key are called when keyPressed 
	if (keyCode == 63235 ||keyCode == 63234)
		return true;
	return (keyCode < 10);
}

function isEnterKey(keyEvent) {
	var keyCode = getKeyCode(keyEvent);
	return (keyCode == 10 || keyCode == 13);
}

function fillWithNull(value, fillLength) {
	while(value.length < fillLength) {
		value = "0" + value;
	}
	return value;
}

// --------------------------------------------------
// Ueberpruefen ob gueltiges zeichen im event
// --------------------------------------------------
function isValidKey(keyEvent, validChars) {
	var key = getKey(keyEvent);
	if (isValidSystemKey(keyEvent)) return true;
	if (validChars.indexOf(key) < 0) return false;
	return true;
}

function getEventField(anEvent) {	
	if (isNavigator()) 
		return anEvent.target;
	else
		return anEvent.srcElement;
	//return GLOBAL_FIELD_TO_PROCESS_EVENT;
}

