addEvent(window, 'load', focus_init);

function focus_init() {
    if (!document.getElementsByTagName) return;
	
	var aFocusTags = new Array('input', 'select', 'a');
	for (var i = 0; i < aFocusTags.length; i++) {
		var oFields = document.getElementsByTagName(aFocusTags[i]);
		if (_assignFocus(oFields)) {
			break;
		}
	}
}

function _assignFocus(oFields) {
	for (var i = 0; i < oFields.length; i++) {
        var oField = oFields[i];
        if (((' '+ oField.className + ' ').indexOf('focus') != -1) && (oField.id)) {
			try {
	            oField.focus();
			} catch (e) {
				// IE won't allow focus to hidden elements and will throw an 
				// exception. Swallow it and proceed.
			}
			return true;
        }
    }
	return false;
}
