

/* Support for browser focus features */


var focusSet = 0;
var defaultFocus = "term1";
var defaultFocusForm = "search";



/* This function allows cross-platform form-field coloring for the field in 
	focus */

function enableFocusFeatures () {

	/* Handle highlighting the focused field */

	var elements;
	var tags = new Array("input", "textarea");

	for (var i=0; i < tags.length; i++) {
		elements = document.getElementsByTagName(tags[i]);
		for (var j=0; j < elements.length; j++) {

			if (elements[j].type == "text" || elements[j].type == "textarea" || elements[j].type == "password" || elements[j].type == "select") {

				//alert(elements[j].type);

				elements[j].onfocus = function() {
					this.className+= " focus";
				}
				elements[j].onblur = function() {
					this.className = this.className.replace(new RegExp(" focus\\b"), "");
				}
			}
		}
	}

}


/* Set the default focus where appropriate */

function placeFocus () {

	if (defaultFocusForm == undefined) {
		if (document.all){
			document.all['content'].focus();
			focusSet = 1;
		} 
		else if (getElement('content').focus) {
			getElement('content').focus();
			focusSet = 1;
		} 
	}
	else {
		if (eval ("document." + defaultFocusForm) && eval("document." + defaultFocusForm + "." + defaultFocus) && eval("document." + defaultFocusForm + "." + defaultFocus + ".focus")) {
			eval("document." + defaultFocusForm + "." + defaultFocus + ".focus()");
			focusSet = 1;
			if (eval("document." + defaultFocusForm + "." + defaultFocus + ".type") == "text" || eval("document." + defaultFocusForm + "." + defaultFocus + ".type") == "textarea") {
				eval("document." + defaultFocusForm + "." + defaultFocus + ".select()");
			}
		}
		else {
			focusOnChannelsArea();
		}
	}
}


function attemptFocus (formName, fieldName) {
	if (eval ("document." + formName) && eval("document." + formName + "." + fieldName)) {
		eval("document." + formName + "." + fieldName + ".focus()");
	}
}


function focusOnChannelsArea () {
	if (getElement("channels") && getElement("channels").focus) {
		getElement("channels").focus();
		focusSet = 1;
	}
	else if (document.focusHandle.elements[0]) {
		document.focusHandle.elements[0].focus();
	}
}


function requestFocus(field, form) {
	defaultFocus = field;
	defaultFocusForm = form;
}


function setFocus() {
	enableFocusFeatures();
	placeFocus();
}

