/**
 * Maintains a default value for any number of input elements in a form.
 * 
 * More details at http://www.finefrog.com/2007/10/07/default-value-for-input-text/
 * 
 * @author Jordon Mears <jordoncm at gmail dot com>
 *
 * @param object element Reference to the input element.
 * @param string status Whether it was called onfocus or onblur.
 * @param string text The default text.
 */
function default_text(element, status, text) {
    switch(status) {
        case 'focus':
            if(element.value == text) {
                element.value = '';
            }
            break;
        case 'blur':
            if(element.value == '') {
                element.value = text;
            }
            break;
    }
}

function validate(the_form) {
    var error = false;
    var error_text = 'Please correct the following:';
    
    the_form.elements[1].value = the_form.elements[1].value.replace(/[^0-9]*/gi, '');
    the_form.elements[1].value = the_form.elements[1].value.substr(0, 5);
    
    if(the_form.elements[1].value.length != 5) {
        error = true;
        error_text += '\n - Please enter a valid 5 digit zip code';
        
        if(the_form.elements[1].value.length == 0) {
            the_form.elements[1].value = 'zip code...';
        }
    }
    
    if(the_form.elements[2].selectedIndex == 0) {
        error = true;
        error_text += '\n - Please select a time zone';
    }
    
    the_form.elements[3].value = the_form.elements[3].value.replace(/[^0-9]*/gi, '');
    the_form.elements[3].value = the_form.elements[3].value.substr(0, 10);
    
    if(the_form.elements[3].value.length != 10) {
        error = true;
        error_text += '\n - Please enter a valid 10 digit cellphone number';
        
        if(the_form.elements[3].value.length == 0) {
            the_form.elements[3].value = 'cellphone number...';
        }
    }
    
    if(the_form.elements[4].selectedIndex == 0) {
        error = true;
        error_text += '\n - Please select a cellphone carrier';
    }
    
    if(!the_form.elements[the_form.elements.length - 3].checked) {
        error = true;
        error_text += '\n - You must agree to the terms of service';
    }
    
    if(error) {
        alert(error_text);
        return false;
    } else {
        return true;
    } 
}
