/* 
	These functions handle the compact search form in the title bar
	Adapted from http://www.alistapart.com/articles/makingcompactformsmoreaccessible
*/
function initOverLabels () {
  if (!document.getElementById) return;      

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // labels with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {

    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute ('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      } 

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to label elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i]. getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-2000px' : '0px';
      return true;
    }
  }
}

ksa09={
	// CSS class to be added
	jsClass:'menuheight',
	// initialization function
	init:function() {

		//this block of code adds the 'menuheight' class to all menu list items, which restricts the 
		//height of the main menu items to 26 pixels - otherwise the flyout menus push the rest of 
		//the menu down
		if(!document.getElementById || !document.createTextNode){return;} //check that js is possible
		var target=document.getElementById('menu'); //define target within which to look
		if(target){ //add the class only if the menu is present (not always true)
			var ps=target.getElementsByTagName('li'); //get all paragraphs in the target
			for(i=0;i<ps.length;i++){ //loop through all the paragraphs
				DOMhelp.cssjs('add',ps[i],ksa09.jsClass); //add the class to this target
			}
		} 
		
		//this line initializes the search form in the title block, sliding the form label over the input field
		//after a 50-millisecond delay to allow for auto-complete
		setTimeout(initOverLabels,50);			
	
	},
	GetXmlHttpObject:function() {
		var xmlHttp=null;
		try {
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		} 
		catch (e) {
			// Internet Explorer
			try { 
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return xmlHttp;
	},
	XmlStateChanged:function() {
		if (xmlHttp.readyState==4) {
			document.getElementById("picsinslideshow").innerHTML=xmlHttp.responseText;
		}
		
	}
	
}
