function displayTab(tabName) {
   document.getElementById("home").className = "";
   document.getElementById("ordersubscription").className = "";
   document.getElementById("featurestour").className = "";
   document.getElementById("orderrecipes").className = "";
   document.getElementById("about").className = "";
   document.getElementById("legal").className = "";
   document.getElementById(tabName).className = "active";
   requestAHAH('tabContent', tabName, 'Loading Page...', 'Error');
}



function displayTabN(tabNameN) {
   document.getElementById("quickstart").className = "";
   document.getElementById("capabilities").className = "";
   document.getElementById("introduction").className = "";
   document.getElementById("mainscreen").className = "";
   document.getElementById("assetclasses").className = "";
   document.getElementById("strategies").className = "";
   document.getElementById("oscillators").className = "";
   document.getElementById("parameters").className = "";
   document.getElementById("analysisoptions").className = "";
   document.getElementById("plots").className = "";
   document.getElementById("calculations").className = "";
   document.getElementById("versions").className = "";
   document.getElementById("emailreport").className = "";
   document.getElementById(tabNameN).className = "active";
   requestAHAH('tabContentN', tabNameN, 'Loading Page...', 'Error');
}



function requestAHAH(pageElement, tabName, callMessage, errorMessage) {
//   document.getElementById(pageElement).innerHTML = callMessage;
   try {
      req = new XMLHttpRequest(); /* e.g. Firefox */
   } catch(e) {
     try {
        req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
     } catch (e) {
        try {
           req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
        } catch (E) {
           req = false;
        }
     }
   }
   req.onreadystatechange = function() {outputAHAH(pageElement, tabName, errorMessage);};
   var url='get_tab_content.php?content='+tabName;
   req.open("GET",url,true);
   req.send(null);
}



function outputAHAH(pageElement, tabName, errorMessage) {
   var output = '';
   if(req.readyState == 4) {
      if(req.status == 200) {
         output = req.responseText;
         document.getElementById(pageElement).innerHTML = output;

//          execute any javascript in script tags
         var div = document.getElementById(pageElement);   
         var x = div.getElementsByTagName("script");    
         for(var i=0;i<x.length;i++) {   
            eval(x[i].text);   
         }   

         setCookie(pageElement, tabName);

      } else {
         document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
      }
   }
}



function setCookie (name, value, exp_y, exp_m, exp_d, path, domain, secure) {
  var cookie_string = name + "=" + escape (value);
  if ( exp_y ) {
     var expires = new Date ( exp_y, exp_m, exp_d );
     cookie_string += "; expires=" + expires.toGMTString();
  }
  if ( path ) cookie_string += "; path=" + escape ( path );
  if ( domain ) cookie_string += "; domain=" + escape ( domain );
  if ( secure ) cookie_string += "; secure";
  document.cookie = cookie_string;
}



function getCookie (cookie_name) {
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results ) return ( unescape ( results[2] ) );
  else return null;
}



function init() {
  selectedTabName=getCookie("tabContent");
  if(selectedTabName != null) displayTab(selectedTabName);
  else displayTab('home');
}



function initN() {
  selectedTabNameN=getCookie("tabContentN");
  if(selectedTabNameN != null) displayTabN(selectedTabNameN);
  else displayTabN('quickstart');
}



function displayTabs(tabName, tabNameN) {
   setCookie("tabContentN", tabNameN);
   displayTab(tabName);
   toTop(); 
}



function toTop() {
   scroll(0,0);
}   