function returnObjById( id )
{
   if (document.getElementById)
      var returnVar = document.getElementById(id);
   else if (document.all)
      var returnVar = document.all[id];
   else if (document.layers)
      var returnVar = document.layers[id];
   return returnVar;
}

function hideDiv(id) {
   var div = returnObjById(id);
   div.style.display = 'none';
}

function showDiv(id) {
   var div = returnObjById(id);
   div.style.display = 'block';
}

function addLoginLink() {
   // Insert the login link
   var header = returnObjById('header');
   var login_link = document.createElement('a');
   login_link.setAttribute('id', 'login_link');
   login_link.setAttribute('href', '#');
   login_link.setAttribute('onclick', 'return false;');
   login_link.innerHTML = 'Log in';
   header.appendChild(login_link);
}

function delLoginLink() {
   var header = returnObjById('header');
   var login_link = returnObjById('login_link');
   header.removeChild(login_link);
}

function toggleDisplayDiv(id) {
   var div = returnObjById(id);
   if ('block' == div.style.display)
      hideDiv(id);
   else if ('none' == div.style.display)
      showDiv(id);
}

//functions to control rollovers
function imageOn() {	
    this.src = this.src.replace('.gif', '_on.gif' );
}

function imageOff() {
    this.src = this.src.replace('_on.gif', '.gif' );
}


/********************************************
 * Window onload 
 ********************************************/

var containerHeight;
function initContainerHeight() {
   containerHeight = new fx.Height('container', {duration: 400});  
}

/********************************************
 * Event handling 
 ********************************************/

function attachEventHandlers()
{
    // Login link effect
    var login_link = returnObjById('login_link');
    addEvent( login_link, 'click', function(){ toggleDisplayDiv('login_area'); delLoginLink(); } );

    // Search form submit image roll over
    //var search_form_submit = returnObjById('search_form_submit');
    //addEvent( search_form_submit, 'mouseover', imageOn );
    //addEvent( search_form_submit, 'mouseout', imageOff );
        
    var submitbutton = document.getElementById( "submitbutton" );
    if ( submitbutton )
    {
		addEvent( submitbutton, "mouseover", imageOn );
		addEvent( submitbutton, "mouseout", imageOff );
    }
    
    var nextbutton = document.getElementById( "nextbutton" );
    if ( nextbutton )
    {
		addEvent( nextbutton, "mouseover", imageOn );
		addEvent( nextbutton, "mouseout", imageOff );
    }
    
    var backbutton = document.getElementById( "backbutton" );
    if ( backbutton )
    {
		addEvent( backbutton, "mouseover", imageOn );
		addEvent( backbutton, "mouseout", imageOff );
    }
    
    var confirmbutton = document.getElementById( "confirmbutton" );
    if ( confirmbutton )
    {
		addEvent( confirmbutton, "mouseover", imageOn );
		addEvent( confirmbutton, "mouseout", imageOff );
    }
    
    var cancelbutton = document.getElementById( "cancelbutton" );
    if ( cancelbutton )
    {
		addEvent( cancelbutton, "mouseover", imageOn );
		addEvent( cancelbutton, "mouseout", imageOff );
    }
    
    var searchformsubmit = document.getElementById( "search_form_submit" );
    if ( searchformsubmit )
    {
		addEvent( searchformsubmit, "mouseover", imageOn );
		addEvent( searchformsubmit, "mouseout", imageOff );
    }
    
    var updatecategory = document.getElementById( "update_categories" );
    if ( updatecategory )
    {
		addEvent( updatecategory, "mouseover", imageOn );
		addEvent( updatecategory, "mouseout", imageOff );
    }
    
    var rejectbutton = document.getElementById( "rejectbutton" );
    if ( rejectbutton )
    {
		addEvent( rejectbutton, "mouseover", imageOn );
		addEvent( rejectbutton, "mouseout", imageOff );		
    }
    
    var approvebutton = document.getElementById ( "approvebutton" );
    if ( approvebutton )
    {
		addEvent( approvebutton, "mouseover", imageOn );
		addEvent( approvebutton, "mouseout", imageOff );
    }
    
    var btnsuggestion = document.getElementById( "btnsuggestion" )
    if ( btnsuggestion )
    {
        addEvent( btnsuggestion, "mouseover", imageOn );
		addEvent( btnsuggestion, "mouseout", imageOff );
    }
    
}

function addEvent( obj, type, fn )
{
	if ( obj )
	{
		if (obj.addEventListener)
			obj.addEventListener( type, fn, false );
		else if (obj.attachEvent)
		{
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
			obj.attachEvent( "on"+type, obj[type+fn] );
		}
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

// Load in all the event on body load
addEvent(window, 'load', attachEventHandlers);

