function select_tab(tab, tab_prefix, div_prefix) {
	var old				= document.getElementById(tab_prefix + '-current');
	var old_tab 		= document.getElementById(tab_prefix + '-' + old.name);
	var old_step 		= document.getElementById(div_prefix + '-' + old.name);
	
	var new_step 		= document.getElementById(div_prefix + '-' + tab);
	var new_tab			= document.getElementById(tab_prefix + '-' + tab);
	
	var show_tab		= document.getElementById(tab_prefix + '-show_tab');					
	
    if (!(old.name == '1' && tab_prefix == 'tab') || validate_address_information()) {
    	show_tab.value = tab;
    	old.name = tab;
    	old_tab.className = tab_prefix + '-off';
    	old_step.style.display = 'none';
    	
    	new_tab.className = tab_prefix + '-on';
    	new_step.style.display = '';
    }
}

function tab_over(tab_prefix, tab_no) {
    var tab = document.getElementById(tab_prefix + '-' + tab_no);
    if (tab.className != tab_prefix + '-on')
        tab.className = tab_prefix + '-over';
}

function tab_out(tab_prefix, tab_no) {
    var tab = document.getElementById(tab_prefix + '-' + tab_no);
    if (tab.className != tab_prefix + '-on')
        tab.className = tab_prefix + '-off';
}

function validate_address_information() {
    var form = document.getElementById("speakout_form");
    
    var value = '';
    var errFlag = new Array();
    var _qfGroups = {};
    _qfMsg = '';
    
    value = form.elements['firstname'].value;
    if (value == '' && !errFlag['firstname']) {
        errFlag['firstname'] = true;
        _qfMsg = _qfMsg + '\n - First name is required';
    }
    
    value = form.elements['lastname'].value;
    if (value == '' && !errFlag['lastname']) {
        errFlag['lastname'] = true;
        _qfMsg = _qfMsg + '\n - Last name is required';
    }
    
    value = form.elements['email'].value;
    if (value == '' && !errFlag['email']) {
        errFlag['email'] = true;
        _qfMsg = _qfMsg + '\n - Email is required';
    }
    
    value = form.elements['email'].value;
    var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
    if (value != '' && !regex.test(value) && !errFlag['email']) {
        errFlag['email'] = true;
        _qfMsg = _qfMsg + '\n - Please enter a valid email address';
    }
    
    if (form.elements['phone']) {
        value = form.elements['phone'].value;
        if (value == '' && !errFlag['phone']) {
            errFlag['phone'] = true;
            _qfMsg = _qfMsg + '\n - Phone is required';
        }
        
        value = form.elements['phone'].value;
        var regex = /^\s*(\+?1)?[- \.]*(\(\d{3}\)|\d{3})[- \.]*\d{3}[- \.]*\d{4}\s*$/;
        if (value != '' && !regex.test(value) && !errFlag['phone']) {
            errFlag['phone'] = true;
            _qfMsg = _qfMsg + '\n - The phone number you entered is invalid';
        }
    }
    
    if(form.elements['city']) {
    
        value = form.elements['addr1'].value;
        if (value == '' && !errFlag['addr1']) {
            errFlag['addr1'] = true;
            _qfMsg = _qfMsg + '\n - Address is required';
        }

        value = form.elements['city'].value;
        if (value == '' && !errFlag['city']) {
            errFlag['city'] = true;
            _qfMsg = _qfMsg + '\n - City is required';
        }
        
        if (form.elements['state_cd']) {
            value = form.elements['state_cd'].value;
            if (value == '' && !errFlag['state_cd']) {
                errFlag['state_cd'] = true;
                _qfMsg = _qfMsg + '\n - State is required';
            }
        }
        
        if(form.elements['zip']) {
            value = form.elements['zip'].value;
            if (value == '' && !errFlag['zip']) {
                errFlag['zip'] = true;
                _qfMsg = _qfMsg + '\n - ' + (form.elements['zip'].className == 'us'?'Zip':'Postal') + ' code is required';
            }
        
            if (form.elements['zip'].className == 'us') {
                value = form.elements['zip'].value;
                var regex = /^[0-9]{5,5}$/;
                if (value != '' && !regex.test(value) && !errFlag['zip']) {
                    errFlag['zip'] = true;
                    _qfMsg = _qfMsg + '\n - Zip code must be valid 5 digit number';
                }
            }
        }
        
    }
    
    if (none_is_checked(getElementsByClass('recipient_check',document.getElementById('recipient_table'),'input'))) {
        errFlag['recipient'] = true;
        _qfMsg = _qfMsg + '\n - Please select at least one recipient.';
    }
    
    if (_qfMsg != '') {
        _qfMsg = 'Invalid information entered.' + _qfMsg;
        _qfMsg = _qfMsg + '\nPlease correct these fields.';
        alert(_qfMsg);
        return false;
    }
    return true;
}

function preview_letter() {
    
    uncheck_hidden_checkboxes();
	if (none_is_checked(getElementsByClass('recipient_check',document.getElementById('recipient_table'),'input'))) {
        alert('Please select at least one recipient.');
    } else {
        var speakout_form = document.getElementById('speakout_form');
    	
    	if (speakout_form.onsubmit()) {
    		speakout_form.submit();
    	}
    }
}

function send_letter() {
	var speakout_form = document.getElementById('speakout_form');
	var send = document.getElementById('send');
	
	send.value = 1;
	speakout_form.submit();
}

function focusOnField(field) {
	var thefield = document.getElementById(field);
	if (thefield) {
		thefield.focus();
	}
}


// uncheck all the hidden checkboxes so they dont get post'd
function uncheck_hidden_checkboxes(){
    
    var extra_rows = YAHOO.util.Dom.getElementsByClassName("extra","tr","recipient_table");
    
    for(i=0;i<extra_rows.length;i++){
        
        var el_id = extra_rows[i].id.split("_");
        el_id = el_id[1];
        
        if(extra_rows[i].style.display == 'none'){
            var checkbox_el = YAHOO.util.Dom.getElementsByClassName("recipient_check","input",extra_rows[i]);
            checkbox_el[0].checked = false;
        }

    }
    
}
