function getLabelForId(id) {
    var label, labels = document.getElementsByTagName('label');
    for (var i = 0; (label = labels[i]); i++) {
        if (label.htmlFor == id) {
            return label;
        }
    }
    return false;
}
function checkEmail() {
    var email = document.getElementById('email');
    var label = getLabelForId('email');
    if (email.value.indexOf('@') == -1 || email == '') {
        label.className = 'problem';
    } else {
        label.className = 'completed';
        return true;
    }
}
function checkPNR() {
    var pnr = document.getElementById('pnr');
    var label = getLabelForId('pnr');
    var digits = pnr.value.replace(/[^0-9]/ig, '');
    if (!digits) {
        label.className = 'problem';
        pnr.value = '';
        return;
    }
    if (digits.length == 5) {
        pnr.value = digits;
        label.className = 'completed';
    } else {
        label.className = 'problem';
        pnr.value = digits;
    }
}
function checkRequired(id) {
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
    if (formfield.value.length == 0) {
    	  if (id=='text') {
    	  	label.className = 'problemw';
    	  } else {
        	label.className = 'problem';
        }
    } else {
    	  if (id=='text') {
    	  	label.className = 'completedw';
    	  } else {
        	label.className = 'completed';
        }
    }
}

addEvent(window, 'load', function() {
    var input;
    var inputs = document.getElementsByTagName('input');
    for (var i = 0; (input = inputs[i]); i++) {
        addEvent(input, 'focus', oninputfocus);
        addEvent(input, 'blur', oninputblur);
    }
    var textareas = document.getElementsByTagName('textarea');
    for (var i = 0; (textarea = textareas[i]); i++) {
        addEvent(textarea, 'focus', oninputfocus);
        addEvent(textarea, 'blur', oninputblur);
    }
});
function oninputfocus(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
    source.style.border='1px solid #000';
}
function oninputblur(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
    source.style.border='1px solid #DADBDC';
}
function addEvent(obj, evType, fn){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
        return false;
    }
}
function validate() {
    var label, labels = document.getElementsByTagName('label');
    var okay = true;
    for (var i = 0; (label = labels[i]); i++) {
        if (label.className == 'required' || label.className == 'problem') {
            okay = false;
        }
    }
    if (okay == false) {
        alert('Bitte füllen Sie alle Pflichtfelder vollständig und korrekt aus!');
        return false;
    }
    return true;
}