function checkText(name) {
    var pattern = /^[a-zA-ZδόφΔάΦί\.\-\s]{3,}$/i;
    if (!pattern.test(name)) return false;
    else return true;
}

function checkString(name) {
    var pattern = /^[\s+a-zA-ZδόφΔάΦί0-9\@\€\~\°\^\<\>\|\"\*\#\'\,\.\;\:\!\§\$\%\\&\/\(\)\=\?\`\΄\_\-\s/]{3,}$/i;
    if (!pattern.test(name)) return false;
    else return true;
}

function checkShortString(name) {
    //var pattern = /^[a-zA-ZδόφΔάΦί0-9\,\.\;\:\!\§\$\%\\&\/\(\)\=\?\`\΄\_\-\s]{1,}$/i;
    var pattern = /^[\s+a-zA-ZδόφΔάΦί0-9\@\€\~\°\^\<\>\|\"\*\#\'\,\.\;\:\!\§\$\%\\&\/\(\)\=\?\`\΄\_\-\s/]{1,}$/i;
    if (!pattern.test(name)) return false;
    else return true;
}

function checkUsername(name) {
    var pattern = /^[a-zA-Z0-9\_\-\.]{4,}$/i;
    if (!pattern.test(name)) return false;
    else return true;
}

function checkNum(name) {
    if(name != ""){
	    var jetzt = name.replace(/,/g, ".");
	    if (isNaN(jetzt)) return false;
	    else return true;
    }else{
    	return false;
    }
}

function checkZip(name) {
    var pattern = /^[0-9\s]{5}$/i;
    if (!pattern.test(name)) return false;
    else return true;
}

function checkPhoneNumber(phone) {
    var patternInt = /^[0-9]{3,}$/i;
    var patternFull = /^[+]?[\-\(\)0-9\s]{5,}$/i;
    if (!patternInt.test(phone) && !patternFull.test(phone)){
    	return false;
    } else {
    	return true;
    }
}

function checkNumber(num) {
    var patternInt = /^[0-9]{1,}$/i;
    //var patternFull = /^[+]?[\-\(\)0-9\s]{5,}$/i;
    if (!patternInt.test(num)){
    	return false;
    } else {
    	return true;
    }
}

function checkEmail(theinput){
	s=theinput
	if(s.search){
		return (s.search(new RegExp("^([-!#$%&'*+./0-9=?A-Z^_`a-z{|}~ ])+@([-!#$%&'*+/0-9=?A-Z^_`a-z{|}~ ]+\\.)+[a-zA-Z]{2,4}$","gi"))>=0)
	}
	if(s.indexOf){
		at_character=s.indexOf('@')
		if(at_character<=0 || at_character+4>s.length)
			return false
	}
	if(s.length<6)
		return false
	else
		return true
}

function validateEmail(val){
	if (!checkEmail(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateString(val){
	if (!checkText(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateUsername(val){
	if (!checkUsername(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateAlphanumericString(val){
	if (!checkString(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateShortAlphanumericString(val){
	if (!checkShortString(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateDateString(val){
	if (!checkShortString(trim(val.value)) || val.value == "--") {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateSubjectString(val){
	if (!checkString(trim(val.value)) || val.value == "no_val_selected") {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateNumber(val){
	if (!checkNum(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateZip(val){
	if (!checkZip(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validatePhoneNumber(val){
	if (!checkPhoneNumber(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function validateNumber(val){
	if (!checkNumber(trim(val.value))) {
		val.className='dialogErr';
    }else{
    	val.className='dialog';
    }
}

function trim(str) {
   var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}
