	function isEmpty( s ) {
		var re = new RegExp("[^\\s]|[ ]")
		return !re.test( s )
	}

	function isAlphaNumeric( s ){
		var re = new RegExp("[^a-zA-Z0-9_-]|\\s")
		return !re.test( s )
	}

	function hasUppercase( s ){
		var re = new RegExp("[A-ZÆØÅ]")
		return re.test( s )
	}

	function hasSpaceAtStart( s ){
		var re = new RegExp("^\\s")
		return re.test( s )
	}

	function hasSpaceAtEnd( s ){
		var re = new RegExp("\\s$")
		return re.test( s )
	}

	function isNumeric( s ){
		if ( isEmpty(s) ) return false
		var regExp = new RegExp("[^0-9]")
		return !regExp.test( s )
	}

	function isPercentage( s ){
		if ( isEmpty(s) ) return false
		var regExp = new RegExp("[^0-9,]")
		return !regExp.test( s )
	}

	function isTelephoneNumber( s ) {
		var re = new RegExp("^\\s*\\d{8}\\s*$")
		return re.test( s )
	}

	function isZip( s ) {
		var re = new RegExp("^\\s*\\d{4}\\s*$")
		return re.test( s )
	}

	function isNumber( i, numberOfDigits ) {
		var re = new RegExp("^\\s*\\d{"+numberOfDigits+"}\\s*$")
		return re.test( i )
	}

	function isEmail( s ) {
		var reg1 = /(@.*@)|(\.\.)|(,)|(@\.)|(\.@)|(^\.)|( )|([æøåÆØÅüöäÜÖÄ])/;	// definitions for nonvalid email
		var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2}|com|net|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum|mobi)(\]?)$/; 	// definitions for valid email
		if (!reg1.test( s ) && reg2.test( s ) ) {
			return true
		} else {
			return false
		}
	}

	function isYear( i ){
		return isNumber( i, 4 )
	}

	function isMonth( i ){
		return (isNaN( i ) || i > 12 || i < 1) ? false : true;
	}

	function isDay( i ){
		return (isNaN( i ) || i > 31 || i < 1) ? false : true;
	}

	// the oDateError object is optional - if sent errormsg will be added
	function isDate( iYear, iMonth, iDay ){
		if ( !isYear(iYear)  || !isMonth(iMonth)  || !isDay(iDay) ) {
			return false;
		}

		var year	= parseInt(iYear, 10)
		var month	= parseInt(iMonth, 10)
		var day		= parseInt(iDay, 10)
		// check months with only 30 days
		if ( (month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
			return false
		}

		// check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
		var leapyear = ( (Math.floor(year/4) == (year/4)) && ((Math.floor(year/100) != (year/100)) || (Math.floor(year/400) == (year/400))) ) ? true : false;
		if ( leapyear && month == 2 && day > 29 ){
			return false
		}
		// check February for all other years (only 28 days)
		if ( !leapyear && month == 2 && day > 28 ) {
			return false
		}
		return true
	}

	function getMonthNiceName( iMonth )	{
		var monthNumber = parseInt( iMonth , 10) - 1
		var monthNiceName = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December")
		if ( monthNiceName[ monthNumber ] ) {
			return monthNiceName[ monthNumber ]
		} else {
			 return false;
		}
	}

	function getRadioValue( objName ){
		var a = document.getElementsByName(objName)
		for ( var i = 0; i < a.length; i++ ){
			if ( a[i].checked ) return a[i].value
		}
		return ''
	}

	function getSelectValue( id ){
		return  getEle(id)[getEle(id).selectedIndex].value
	}