
document.observe("dom:loaded", function () {
    if (! $("p3")) return;
    
    $("p3").observe("keypress", function (evt) {
       if (checkEnter(evt)) {
           sendSMSVerificationCode();
           Event.stop(evt);
       } 
       
       return false;
    });
});

function validateAndSubmitSMSForm() {
    var smsForm = $('smsform');
    if (! smsForm) {
        alert("Error processing your subscription");
        return;
    }
    
    var checkboxes = $$(".feed_subscribe_checkbox");
    var anythingSelected = false;
    for (var i = 0; i < checkboxes.length; i++) {
        var box = checkboxes[i];

        if (box.checked)
            anythingSelected = true;
    }
    
    if (checkboxes.length && ! anythingSelected) {
        alert("Please select at least one alert");
        return;
    }
    
    var regcode = $('regcode');
    if (regcode && ! $F(regcode)) {
        alert("Please enter your registration code before proceeding");
        return;
    }
    
    smsForm.submit();
}

function sendSMSVerificationCode() {
    var url = 'api/smspromo/send_verification_code';
    
    var p1 = $('p1').value + "";
    var p2 = $('p2').value + "";
    var p3 = $('p3').value + "";
    
    if (! p1 || ! p2 || ! p3) {
        alert("Please enter a valid phone number");
        return;
    }
    
    var phone = p1 + p2 + p3;
    if (phone.length != 10 || phone.match("\\D")) {
        alert("Please enter a valid ten-digit phone number");
        return;
    }
    
    var req_params = {
        "p1": p1,
        "p2": p2,
        "p3": p3
    };
    
    doAjax(url, sendSMSVerificationCodeCallback, req_params, {
		onException: function (req, exception) {
			alert(exception);
		}
	});
}

function sendSMSVerificationCodeCallback(transport) {
    var res = transport.responseJSON;
	if (! res) return;
	
	$("verify_status").innerHTML = "Registration code sent!";
	window.setTimeout(function () { $("verify_status").innerHTML = ""; }, 10000);
}