window.addEvent('domready', _init);

function _init(){
	// Nachricht über verschickte Mail
	if ($defined($('contactMailSent'))) {
		$('sent').removeClass('hide');
	}
	//////////////
	//          //
	//	Events  //
	//          //
	//////////////
	$('contact-form').addEvents({
		keydown: function (event){
            var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
            if (key == 13){
				if (validate()){
					//this.submit();
				}
			}
		}
	})

    $('submit-btn').addEvents({
        mouseenter: function(){
            validate();
        },
		mouseup: function (){
            if (validate()){
				$('contact-form').submit();
			}
		},
        // falls jemand mit der Tab-Taste zum Button navigiert
        focus: function(){
            validate();
        }
    })

    // Entfernt die Markierung, wenn in ein mit 'required' markiertes Feld geschrieben wird
    $$('.required').each(function(el){
        var name = el.getProperty('for');
        $(name).addEvents({
            keyup: function(){
                clear(this);
            }
        })
    })
};

/**
 * überpüft jedes Feld, welches mit 'class="required"' markiert wurde
 * und kennzeichnet es ggf. mit 'class="unvalid-input"'
 */
function validate(){
    // Der Submit-Button wird vorsichtshalber deaktiviert
    //$('submit-btn').setProperty('disabled', 'disabled');
    var valid = true;
    $$('.required').each(function(el){
        var name = el.getProperty('for');
        if ($(name).value == '' || $(name).value == null) {
            valid = false;
            //$(name).addClass('unvalid-input');
        }
    })
    if (valid) {
        // Der Submit-Button wird reaktiviert
		$('unvalid').addClass('hide');
        $('submit-btn').removeProperty('disabled');
		return true;
    } else {
		$('unvalid').removeClass('hide');
        return false;
    }
}

/**
 * setzt die Formatierung der input-Felder zurück
 * und reaktiviert den Submit-Button
 *
 * @param object el das Input-Element
 */
function clear(el){
    //el.removeClass('unvalid-input');
    $('submit-btn').removeProperty('disabled');
}