var fader, pager;
var _bti = 0;
var _ti = 0;

YUE.addListener(window, "load", function(){
  if (document.getElementById("showcase_layers")) {
    // Fader object inits
    fader = new Fader("showcase_layers", "showcase_layer");
    fader.init();		 	
    pager = new Pager("pager");
    pager.init();		 
    fader.AddPager(pager);
    
    // Start Fader autoplay
    var autoPlayDuration = 4; // in seconds
    fader.StartAutoPlay(autoPlayDuration);
    pager.SetSelected(0);
  }
});

var focusTabs;
YUE.onContentReady('focus_tabs',function(){
  focusTabs = new Tabs('focus_tabs');
});

var categoryTabs;
YUE.onContentReady('category_tabs',function(){
  categoryTabs = new Tabs('category_tabs','mouseover');
});

function initMainPage(ti) {
  _bti = ti;
  _ti = ti;
  initPageHistory();
  doLoad();
  if (!isFirstLoad())
    setPageTab();
}

function selectTabEx(tabID, fromHistory) {
  switch (tabID) {
    case 'focusTab1': showHideTop12Link(false); if (!fromHistory) setTabID(0);break;
    case 'focusTab2': showHideTop12Link(false); if (!fromHistory) setTabID(1);break;
    case 'focusTab3': showHideTop12Link(true); getTop5List();break;
    case 'focusTab4': showHideTop12Link(false); if (!fromHistory) setTabID(3);break;
  }
}

function showHideTop12Link(show) {
  document.getElementById("divTop12").style.display = (show ? '' : 'none');
}

function setTabID(tID) {
  if (_xmlHttpObj && _xmlHttpObj.readyState != 0 && _xmlHttpObj.readyState != 4)
    return;
  executeServerRequest('SetTabID', 'tID=' + tID);
}

function setPageTab() {
  if (_xmlHttpObj && _xmlHttpObj.readyState != 0 && _xmlHttpObj.readyState != 4)
    return;
  executeServerRequest('GetTabID');
}

function getTabIDResult() {
  if (_xmlHttpObj.readyState != 4)
    return;
  var responseXml = getResponseXml();
  if (responseXml) {
    var tID = strGetXmlString(responseXml);
    if (tID != _bti) {
      switch (tID) {
        case '0': focusTabs.selectTabByNumber(1, true); break;
        case '1': focusTabs.selectTabByNumber(2, true); break;
        case '2': focusTabs.selectTabByNumber(3, true); break;
        case '3':
          if (document.getElementById("focusTab4"))
            focusTabs.selectTabByNumber(4, true);
          else
            focusTabs.selectTabByNumber(1);
          break;
      }
    }
  } 
}

function getTop5List() {
  if (_xmlHttpObj && _xmlHttpObj.readyState != 0 && _xmlHttpObj.readyState != 4)
    return;
  executeServerRequest('GetTop5List');
}

function getTop5ListResult() {
  if (_xmlHttpObj.readyState != 4)
    return;
  var responseXml = getResponseXml();
  if (responseXml) {
    document.getElementById("tab3Content").innerHTML = strGetXmlString(responseXml.selectSingleNode('td1')) + 
    strGetXmlString(responseXml.selectSingleNode('td2')) +
    strGetXmlString(responseXml.selectSingleNode('td3')) +
    strGetXmlString(responseXml.selectSingleNode('td4'));
  }
}

function getResponseMethod(methodName) {
  switch (methodName) {
    case 'SetTabID': return doNothing;
    case 'GetTabID': return getTabIDResult;
    case 'GetTop5List': return getTop5ListResult;
  }
}