/*
		File: init-page-home.js
		Description: Performs initialization for the main site Home page.
*/

window.onload= function(){
  initOnClicksHome();

  fetch_ch1_item();   // lock preview selector to this item
//  initSelector();   // randomizer


//  adjustLayout_Home();

  // add more calls here
//	activateBookListMgr();
  
}

var screenHeight = 0;
var adjustmentCounter = 0;


//var sectionImageMgr = new sectionImageManager();


function initOnClicksHome()
{
	// For each subnav button, assign event handler callback
	var btn = null;

	btn = $('ch_selector_body_ch1');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch1_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch1_item);
	}
	btn = $('ch_selector_body_ch2');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch2_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch2_item);
	}
	btn = $('ch_selector_body_ch3');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch3_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch3_item);
	}
	btn = $('ch_selector_body_ch4');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch4_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch4_item);
	}
	btn = $('ch_selector_body_ch5');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch5_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch5_item);
	}
	btn = $('ch_selector_body_ch6');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch6_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch6_item);
	}
	btn = $('ch_selector_body_ch7');
	if (btn)
	{
		if(btn.addEventListener)
			btn.addEventListener('click', fetch_ch7_item, false);
		else if(btn.attachEvent)
			btn.attachEvent('onclick', fetch_ch7_item);
	}

	
//	Event.observe('ch_selector_body_ch1', 'mouseover', item_mouseover, false);
//	Event.observe('ch_selector_body_ch1', 'mouseout', item_mouseout, false);

// We don't need this mouseover behaviour. It works fine without it. This just kept in here for reference.
	//	Event.observe(item, 'click', this.showTagName.bindAsEventListener(this));
//	Event.observe('ch_selector_frame_ch1', 'mouseover', this.item_mouseover.bindAsEventListener(this));
//	Event.observe('ch_selector_frame_ch1', 'mouseout', this.item_mouseout.bindAsEventListener(this));

//	Event.observe('ch_selector_frame_ch2', 'mouseover', this.item_mouseover.bindAsEventListener(this));
//	Event.observe('ch_selector_frame_ch2', 'mouseout', this.item_mouseout.bindAsEventListener(this));
}

function initSelector()
{
	var activeChannel = $F('selected_channel');

	switch (activeChannel)
	{
		case "ch1":
			fetch_ch1_item();
			break;
			
		case "ch2":
			fetch_ch2_item();
			break;

		case "ch3":
			fetch_ch3_item();
			break;
			
		case "ch4":
			fetch_ch4_item();
			break;

		case "ch5":
			fetch_ch5_item();
			break;

		case "ch6":
			fetch_ch6_item();
			break;
			
		default:
			alert("Design error: incorrect active channel");
			fetch_ch1_item();
			break;
		
	}				
	
}


function item_mouseover(evt)
{
	var node = Event.element(evt);
	var s = node.className;
	var newClassName = s.gsub("ch_selector_normal", "ch_selector_highlight");
	node.className = newClassName;
}

function item_mouseout(evt)
{
	var node = Event.element(evt);
	var s = node.className;
	var newClassName = s.gsub("ch_selector_highlight", "ch_selector_normal");
	node.className = newClassName;
}

  
function clearChannelSelectors()
{
	var selectedBtns = $$('div#bl_main_channels .ch_selector_title_selected ');
	for (var i=0; i<selectedBtns.length; i++)
	{
		selectedBtns[i].className = "ch_selector_title_pos ch_selector_title";
	}
	selectedBtns = $$('div#bl_main_channels .ch_frame_selected ');
	for (var i=0; i<selectedBtns.length; i++)
	{
		selectedBtns[i].className = "ch_frame";
	}

	selectedBtns = $$('div#bl_main_channels .ch_body_selected ');
	for (var i=0; i<selectedBtns.length; i++)
	{
		selectedBtns[i].className = "ch_selector_body ch_body";
	}
}

function selectChannel(ch)
{
		clearChannelSelectors();
		var contentItemId = null;

		var elem = $('ch_selector_frame_' + ch);
		if (elem)
		{
			elem.className = "ch_frame_selected";
		}
		elem = $('ch_selector_title_' + ch);
		if (elem)
		{
			elem.className = "ch_selector_title_pos ch_selector_title_selected";
		}
		elem = $('ch_selector_body_' + ch);
		if (elem)
		{
			elem.className = "ch_selector_body ch_body_selected";
		}

}



function fetch_ch1_item()
{
	selectChannel("ch1");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=1';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}

function fetch_ch2_item()
{
	selectChannel("ch2");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=2';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}

function fetch_ch3_item()
{
	selectChannel("ch3");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=3';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}


function fetch_ch4_item()
{
	selectChannel("ch4");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=4';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}

function fetch_ch5_item()
{
	selectChannel("ch5");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=5';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}


function fetch_ch6_item()
{
	selectChannel("ch6");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=6';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}

function fetch_ch7_item()
{
	selectChannel("ch7");

	var url = 'db_scripts/db_get_content_by_type_AJAX.php';
	var pars = 'contentType=ct_prevsel&id=7';
	var ajaxRequest = new Ajax.Request(
	url,
	{
			method: 'get',
			parameters: pars,
			onComplete: showData_PreviewBox
	});

}

function showData_PreviewBox(ajaxRequest)
{
  try{
      var response = eval("(" + ajaxRequest.responseText + ")");
      if(response.error)
        alert("Eval Error:" + response.error);
      else
      {
//        if(response.contentData.booklistImages != null)
//        {
//          var preloadImageNames = decodeAJAX(response.contentData.booklistImages);
////          debugAlert("showData_PreviewBox - preloadImageNames is " + preloadImageNames);
//          var booklistMgr = new booklistManager();
//          booklistMgr.init(preloadImageNames, "userfiles/image/", "AJAX");
//        }
              
        var target = $('bl_preview_box_pos');
        target.innerHTML = decodeAJAX(response.contentData.mainHTML);

				if(response.contentData.booklistHTML != null)
				{
					target = $('bl_book_list_container');
        	if (target != null)					
						target.innerHTML = decodeAJAX(response.contentData.booklistHTML);

					setTimeout('init_ibox()', 0);
				}
	      else
	      {
	        target = $('bl_book_list_container');
        	if (target != null)	        
	        	target.innerHTML = "&nbsp;";
	      }
      }
      showHeaderTitle(decodeAJAX(response.contentData.headerTitle));  
//      setTimeout('adjustLayout_Home()', 0);
      doLayoutAdjustment();        
  }
  catch(e)
  {
    if (e instanceof Error) 
      alert('showData_PreviewBox:\n' + e.name + ': ' + e.message + '\n' + ajaxRequest.responseText);
  }

}


function doLayoutAdjustment()
{
  // reset the global var 
  screenHeight = 0;
  adjustmentCounter = 0;  
  setTimeout('dynamicAdjustLayout_Home()', 0);

//  if (booklistMgr != null)
//    doAppearSequence(0);

}

function dynamicAdjustLayout_Home()
{
  var newHeight = adjustLayout_Home();
  if (newHeight != screenHeight || adjustmentCounter < 50)    // iteration count of 100 allows for up 10 secs of image load time before we abandon adjustments
  {
    adjustmentCounter++;
    setTimeout('dynamicAdjustLayout_Home()', 100);
  }
  
  screenHeight = newHeight;  
}


function adjustLayout_Home()
{
  // get natural heights from elements that can be read.
  var booklist_table_1 = xHeight("booklist_table_1");  
  var booklist_table_2 = xHeight("booklist_table_2");  
  
  var maxHeight = Math.max(booklist_table_1, booklist_table_2 ) + 70; // get heights of booklist plus the vertical offset

  
  var minHeight = 380; // minimum acceptable height for bl_frame
  maxHeight = Math.max(maxHeight, minHeight );
  
  maxHeight += 250; // add the fixed height of "bl_header" + "bl_tabbar" plus a little extra margin.  
  
  xHeight("bl_frame", maxHeight);
  
}

