function ajaxobject() {
	if ( window.XMLHttpRequest ) {
		return new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		return new ActiveXObject( "Microsoft.XMLHTTP" );
	} else {
		return false;
	}
}

function plzStatus(ok) {
	if (ok) {
		document.getElementById( 'sms_submit' ).disabled = false;
		document.getElementById( 'plz_meldung' ).innerHTML = '';
	} else {
		document.getElementById( 'sms_submit' ).disabled = true;
		document.getElementById( 'plz_meldung' ).innerHTML = 'Diese PLZ ist leider ungültig';
	}
}

function plzProcessReqChange() {
	if ( plzReq.readyState == 4 ) {
		if ( plzReq.responseText > 0 ) {
			plzStatus(true);
		} else if ( document.getElementById('sms_plz').value != "" ) {
			plzStatus(false);
		}
	}
}

function plzCheck( sms_plz, blur ) {
	if( sms_plz.length == 5 || blur) {
               if (document.getElementById('sms_aid')){
                    getStandortList(sms_plz);
                } 
		plzReq = ajaxobject();
		plzReq.onreadystatechange = plzProcessReqChange;
		plzReq.open( "GET", "/wetter/sms/plz_check?sms_plz=" + encodeURIComponent( sms_plz ) );
		plzReq.send( null );
		return false;
	}
}

function initialize() {
	if(ajaxobject()) {
		document.getElementById( 'sms_submit' ).disabled = true;
		plzCheck( document.getElementById( 'sms_plz' ).value, ( document.getElementById( 'sms_plz' ).value!='' ? true : false ) );
	}

	if(document.getElementById( 'sms_mobil' ).value=='') {
		document.getElementById( 'sms_mobil' ).focus();
	}else{
                if(document.getElementById( 'sms_plz' ).value=='') {
		        document.getElementById( 'sms_plz' ).focus();
          	}else{
	        	document.getElementById( 'sms_email' ).focus();
                }
        }
}

function getStandortList(sms_plz){
  request = ajaxobject();
  request.open( "GET", "/wetter/sms/standortlist?sms_plz=" + encodeURIComponent( sms_plz ), true );
  request.onreadystatechange = function ()
                              {
                                if (request.readyState == 4 && request.status == 200)
                                {
                                  select = document.getElementById('sms_aid');
                                  select.innerHTML = request.responseText;
                                } 
                              }
  request.send(null);
}

initialize();