
var URL_BETA_REQUEST = '/account/beta_request';
var STATUS_BETA_REQUEST = 'requestBetaStatus';
var FORM_BETA_REQUEST = 'beta_request';

function formReset() {
	var formObj = document.getElementById(FORM_BETA_REQUEST);
	if ( formObj ) { formObj.style.display = 'block' }
	var textObj = document.getElementById("addr_field");
	if ( textObj && textObj.type == 'text' ) { textObj.value = ''; }
	var statusObj = document.getElementById(STATUS_BETA_REQUEST);
	if ( statusObj ) { statusObj.innerHTML = ''; }
	var submitObj = document.getElementById('submit_btn');
	if ( submitObj ) { submitObj.className = 'submit_btn'; }
}


function submitBetaRequest(obj) {
	//var statusObj = document.getElementById(STATUS_BETA_REQUEST);
	//if ( statusObj ) { statusObj.className = 'success'; statusObj.innerHTML = 'Processing...'; }
	var submitObj = document.getElementById('submit_btn');
	if ( submitObj ) { submitObj.className = 'submit_btn loading'; }
	var getstr = formatGet(obj);
	makeRequest( URL_BETA_REQUEST, getstr, obj );
	// EMULATE AJAX FOR TESTING
	//var f = function() { updateBetaForm('Error: Address fails validation.',obj); };
	//setTimeout(f,2000);
}

function makeRequest( url, parameters, formObj ) {
	var xhr = createXHR();
	if ( !xhr ) { return false; }
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4) {
			if (xhr.status == 200) {
				updateBetaForm( xhr.responseText, formObj );
			} else {
				alert("Could not submit beta request");
			}
		}
	}
    xhr.open("GET", url+parameters, true);
    xhr.send(null);      
}

function updateBetaForm( s, formObj ) {
	var obj = document.getElementById(STATUS_BETA_REQUEST);
	if ( s.indexOf('Error') >= 0 ) {
		obj.className = 'failure';
		var submitObj = document.getElementById('submit_btn');
		if ( submitObj ) { submitObj.className = 'submit_btn subscribe'; }
	} else {
		obj.className = 'success';
		formObj.style.display = 'none';
		//s = s + '&nbsp;&ndash;&nbsp;<a href="javascript:formReset();">reset form</a>'
	}
    obj.innerHTML = s;            
}
