var defaultEmptyOK = false
var decimalPointDelimiter = ","

function FormatCheckNumber(x)
{
	if(isNaN(x) == true)
	{
		return false;
	}
		else return true;
}
	
function FormatCheckY2k(number) { return (number < 1000) ? number + 1900 : number; }

function FormatCheckIsDate (day,month,year) {
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? FormatCheckY2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (FormatCheckY2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function LTrim(str)
	{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);

	if (whitespace.indexOf(s.charAt(0)) != -1) 
		{
		var j=0, i = s.length;

		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
			j++;
            s = s.substring(j, i);
		}
	return s;
}

function RTrim(str)
	{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);

	if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
		{
		var i = s.length - 1;       // Get length of string
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
			i--;
			s = s.substring(0, i+1);
		}
	return s;
}

function Trim(str)
	{
	return RTrim(LTrim(str));
	}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isInteger (s)

{   
	//alert("isInteger: " + s);

	var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}



function isSignedInteger (s)
{   

	//alert("isSignedInteger: " + s);

	if (isEmpty(s)) 
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];

        // skip leading + or -
        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}


function isFloat (s)

{   
	//alert ("isFloat" + s);

	var i;
    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

function isSignedFloat (s)

{   
	//alert ("isSignedFloat" + s);

	if (isEmpty(s)) 
       if (isSignedFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedFloat.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedFloat.arguments.length > 1)
            secondArg = isSignedFloat.arguments[1];

        // skip leading + or -
        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isFloat(s.substring(startPos, s.length), secondArg))
    }
}

function IsEmail(s) {
	var a = false;
 	var res = false;
 	if(typeof(RegExp) == 'function') {
 		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}
 	if(a == true) {
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
  		res = (reg.test(s));
	}
 	else {
 		res = (s.search('@') >= 1 &&
		s.lastIndexOf('.') > s.search('@') &&
		s.lastIndexOf('.') >= s.length-5)
	}
	return(res);
}


function OpenWin (url, name, params) {
    var PopUp = window.open(url,name,params);
    PopUp.focus();
}


function ImageOpenWin (ImageFile) {
	var ImageParam = "width=200,height=200,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0";
    var ImagePopUp = window.open(ImageFile, 'Picture', ImageParam);
    ImagePopUp.focus();
}
    
function textfeld(feld, text, action, colAct, colInact) {
    var target = document.getElementById(feld);
    if(action == 'clear') {
        if(target.value == text) {
            target.style.color = colAct;
            target.value = '';
        }
    } else {
        if((target.value == text) || (target.value === '')) {
            target.style.color = colInact;
            target.value = text;
        }
    }
}

function textfeldarea(feld, text, action, colAct, colInact) {
    var target = document.getElementById(feld);
    if(action == 'clear') {
        if(target.innerHTML == text) {
            target.style.color = colAct;
            target.innerHTML = '';
        }
    } else {
        if((target.innerHTML == text) || (target.innerHTML === '')) {
            target.style.color = colInact;
            target.innerHTML = text;
        }
    }
}

function XMLLinks()
	{
	if(document.getElementsByTagName)
		{
		var hL = document.getElementsByTagName('a');
		for(var current, ii = 0; ii < hL.length; ++ii)
			{
			current = hL[ii];
			if(current.rel == 'external')
				{
				current.onclick = function()
						{
						window.open(this.href);
						return false;
						};
				}
			}
		}
	}

XMLLinks();