﻿function BuildNetworkMenu()
{
  document.writeln("<form id='MHform' name='MHform' method='get' action='" + g_GameSearchURL + "' style='margin:0px;padding:0px;'>");
  document.writeln("<input type='hidden' name='cp' value='" + g_MHCpValue + "'/>");
  document.writeln("<div class='DvType3HdrLnk'>");
  document.writeln("<span id='MSNLeftMenu'>");
  
  var msnLinkObj;
  var commonStyleList = "NwType1Norm LnkType1Norm hdnvc";
  var finalLink = "";
  for(i = 0; i < g_MSNLnks_Left.length; i++)
  {
    msnLinkObj = g_MSNLnks_Left[i];
    msnLinkObj.addStyleToMsnLink(commonStyleList);
    finalLink = msnLinkObj.getMsnLink();
    document.writeln(finalLink);
  }
  
  if(displayMoreLink)
  {
    document.writeln("<a class='NwType1Norm LnkType1Norm hdnvc' href='" + "javascript:MoreButtonClick();" + "' id='more_link'>more<img id='moreButton_arrow' src='http://entimg.msn.com/i/je/arrow_down_white.gif' /></a>");
  }  
  document.writeln("</span>");
  
  document.writeln("<span id='MSNRightMenu'>");

  commonStyleList = "NwType1Norm LnkType1Norm";
  for(i = 0; i < g_MSNLnks_Right.length; i++)
  {
    msnLinkObj = g_MSNLnks_Right[i];
    msnLinkObj.addStyleToMsnLink(commonStyleList);
    finalLink = msnLinkObj.getMsnLink();
    document.writeln(finalLink);
    
    if (i < g_MSNLnks_Right.length - 1)
    {
        document.writeln("<font class='NwType1Norm'>|</font>");
    }
  }

  var oscarab = document.getElementById("thePassportScarab");
  if (oscarab != null)    
  {   
    document.writeln("<font class='NwType1Norm'>|</font>");
    document.writeln("<span id='MSNHdrSignInSpn'></span>");
    document.getElementById("MSNHdrSignInSpn").appendChild(oscarab);
  }

  document.writeln("</span>");
  document.writeln("</div>");
  document.writeln("<div id='moreButton_contentModule' style='visibility:hidden;'></div>");
  document.writeln("<div id='SubHeader'>");

  var ver = getInternetExplorerVersion();
  var MSNLogoImg;
  var GameImg;
  var spanClass = "";
  if (ver > 6.0) {
      MSNLogoImg = g_MsArcPt1PNG;
      GameImg = g_MsArcPt2PNG;
      spanClass = "SubHeaderLogo";
  }
  else // IE older than 7 does not get glow
  {
      MSNLogoImg = g_MsArcPt1;
      GameImg = g_MsArcPt2;
      spanClass = "SubHeaderLogoNoGlow"
  }
  // Firefox gets the glow
  if (ver == -1) {
      spanClass = "SubHeaderLogo";
  }
  
  document.writeln("<span id='" + spanClass + "'>");
  document.writeln("<span id='MSNLogoSpan'><a href='" + g_MsnBaseGLink + "'><span id='MSNLogo' style='" + g_MsnLogoMargin + ";margin-left:0px' class='" + MSNLogoImg + "'></span></a></span>");
  document.writeln("<span id='GamesLogoSpan'><a href='" + g_MsnGamesGLink + "'><span id='GamesLogo' class='" + GameImg + "'></span></a></span>");
  document.writeln("</span>");

  document.write("<span id='SubHeaderSearch'>");
  
  document.write("<div id='SearchLinks'>");
  document.write("<a class='SearchLinkActive' href='javascript:ProcessGameSearch();'>Games</a>");
    document.write("<span class='SearchLinkSeperator'><img src='/images/v12/en-us/Theme1/search/pipe_1x13.gif'/></span>");
    document.write("<a class='SearchLink' href='javascript:ProcessLiveSearch();'>Web</a>");
  document.write("</div>");
  document.write("<table id='SearchTable' cellpadding='0' cellspacing='0'>");
    document.write("<tr>");
      document.write("<td id='SearchTableLeftEdge'> </td>");
      document.write("<td id='SearchTableContent'>");
      document.write("<span id='SearchLogoBox'><a href='javascript:ProcessLiveSearch();' title='" + g_SearchLogoText + "' id='SearchLogo' tabindex='3'> </a></span>");
      document.write("<div id='SearchInputBox'>");
      document.write("<span id='SearchButtonBox'><a href='javascript:ProcessGameSearch();' title='" + g_SearchButtonText + "' id='SearchButton' tabindex='2'> </a></span>");
          document.write("<input name='q' id='q' title='" + g_SearchBoxText + "' type='text' maxlength='1024' tabindex='1'/>");
        document.write("</div>");
      document.write("</td>");
      document.write("<td id='SearchTableRightEdge'> </td>");
    document.write("</tr>");
   document.write("</table>");

   document.write("<input type='hidden' name='FORM' value='" + g_MHFormValue + "' />");
  
   document.writeln("</span>");
  document.writeln("<span id='SubHeaderSignIn'>");
  document.write("<span class='NwType2Bld' style='vertical-align: middle; float: right;'>");
  if(g_ZDispGreet)
  {
    if(g_ZHLogin != "")
      document.write(g_PlrGreet+g_ZHLogin+g_PlrGreetR);
    else
      document.write(g_PlrAnnonGreet);
  }
  document.write("</span>");
  document.writeln("<br />");
  document.write("<span class='NwType1Norm' style='vertical-align:middle;float:right;'>");
  var badgeCount = GetSubkey(g_MiscSessionData,g_UserBadgeCountSubkey);
  if(g_ZHLogin != "" && badgeCount != null && badgeCount != "")
  {
    document.write("You have ");
    document.write("<a class='LnkType1Norm' style='font-weight:bold;' href='");
    if(badgeCount == "0")
    {
      document.write(g_badgeScarabLinkSignedOut);
    }
    else
    {
      document.write(g_badgeScarabLinkSignedIn);
    }
    document.write("'>" + badgeCount + " badge");
    if(badgeCount != "1")
    {
      document.write("s");
    }
    document.write("</a>!");
  }
  else
  {
    document.write("Start ");
    document.write("<a class='LnkType1Norm' style='font-weight:bold;' href='" + g_badgeScarabLinkSignedOut + "'>");
    document.write("earning badges");
    document.write("</a> now!");
  }
  document.writeln("</span>");
  document.writeln("<span id='zBadgeIcon' class='badgeIcon'></span>");
  document.writeln("</span>");
  document.writeln("</div>"); 
  document.writeln("</form>");
}

function BuildMainNavigation()
{
  var stripedPath = window.location.pathname;
  var qs = window.location.search;
 
  var dotLoc;
  if(stripedPath != null )
  {
    dotLoc = stripedPath.indexOf(".");
    if(dotLoc > 0)
    {
      stripedPath = stripedPath.substring(0, stripedPath.length - (stripedPath.length - dotLoc));
      // add the querystring back to the stripped path
      // replace the ? with empty for the ? messes up the RegEx
      stripedPath += qs.replace("?", "", "g");
    }
  }

  if (g_aryZHNav != null)
  {
    document.writeln("<table border='0' class='TblType2CntrMn'><tr><td class='TDType2CMnWt1'></td>");
    for(i = 0; i < g_aryZHNav.length; i++)
    {
      var isZHNavHot = GetRegExMatch(g_aryZHNav[i].HotUrl, stripedPath);//stripedPath == g_aryZHNav[i].HotUrl;;
      document.writeln("<td class='");
      if(isZHNavHot)
        document.writeln("TDType1BG2Mn")
      else
        document.writeln("TDType1CMnMid")
        document.writeln(" TDType2CMnWt3'><a class='NwType1Bld ");
      if(isZHNavHot)
        document.writeln("LnkType3MnBld1");
      else
        document.writeln("LnkType3MnBld2");
        document.writeln("' href='"+ g_aryZHNav[i].Lnk+ "' title=\""+ g_aryZHNav[i].Alt + "\">"+ g_aryZHNav[i].Txt+ "</a></td><td class='TDType2CMnWt2'></td>");
    }        

    document.writeln("<td class='TDType1CMnLast'><div style='width:100%;text-align:right;'><table style='float:right;'><tr>");
    document.writeln("<td class='TxtType0' style='color:#939393;text-align:right;'>"+g_ZonePlayerPop+g_UsrMsgR+"</td>");
    document.writeln("</tr></table></div></td><td class='TDType2CMnWt5'></td></tr></table>");
  }
}

function BuildMainFooter()
{
  document.writeln("<script src='http://hp.msn.com/scr/op/ol-fdbkv3_r1.js'></script>");
  document.writeln("<div id='MainFooterTopRow'>");
  document.writeln("<a class='TxtType3 LnkType4FtrBold' href='"+g_ZFPhotoURL+"'>"+g_ZFPhotoTxt+"</a>");
  document.writeln("</div>");
  document.writeln("<div id='MainFooterRightLinks'>");
  
  var msnLinkObj;
  var commonStyleList = "NwType1Norm LnkType4FtrNorm";
  var finalLink = "";
  
  for(i = 0; i < g_FtrLnks_Right.length; i++)
  {
    msnLinkObj = g_FtrLnks_Right[i];
    msnLinkObj.addStyleToMsnLink(commonStyleList);
    finalLink = msnLinkObj.getMsnLink();
    
    document.writeln("<div class='MainFooterRightLinkItem'>" + finalLink + "</div>");
  }
  document.writeln("</div>");

  document.writeln("<div id='MainFooterLeftLinks'>");
  
  finalLink = "";
  commonStyleList = "NwType1Norm LnkType4FtrNorm";
  for(i = 0; i < g_FtrLnks_Left.length; i++)
  {
    msnLinkObj = g_FtrLnks_Left[i];
    msnLinkObj.addStyleToMsnLink(commonStyleList);
    finalLink = msnLinkObj.getMsnLink();
    
    document.writeln("<div class='MainFooterLeftLinkItem'>" + finalLink + "</div>");
  }

  document.writeln("</div>");
  
  txtDisplay = "";
  if (g_MsLogoClass == "DvType3MSLogoCa")
    txtDisplay = "style='display:none;'";
  
  document.writeln("<div id='MainFooterLogo' "+txtDisplay+">");
  document.writeln("<img src='"+g_MsLogoPt+"' />");
  document.writeln("</div>");
  

}

function ProcessGameSearch()
{
    document.MHform.submit();              
}

function ProcessLiveSearch()
{
    var searchText = "";
    var inputbox = document.getElementById("q");
    if (inputbox)
    {
        searchText = inputbox.value;
    }
    var queryString = "cp=" + g_MHCpValue + "&FORM=" + g_MHFormValue + "&q=" + searchText;
    
    if(g_SearchMkt != "")
    {
        queryString = queryString + "&mkt=" + g_SearchMkt;
    }
    
    window.open(g_MHFormURL + "?" + queryString);
}

function GetRegExMatch(str1, str2)
{
  str1 = str1.toLowerCase();
  str2 = str2.toLowerCase();
  var pos = str1.lastIndexOf("/");
  var part1 = str1.slice(0, pos+1);
  var part2 = str1.slice(pos+1, str1.length);
  var regexString = part1 + ".*" + part2;

  var matchStr = str2.match(regexString);

  if (matchStr == null)
  {
    return false;
  }
  else
  {
    return true;
  }
}
function MoreButtonClick()
{        
  var e = document.getElementById('moreButton_contentModule');
	var i = document.getElementById('moreButton_arrow');
	var m = document.getElementById('more_link');
	var z = document.getElementById('MainHeader');
	
  if ( e.style.visibility == 'visible') 
  {	    
    while (e.hasChildNodes())
    {
      e.removeChild(e.firstChild);
    }
    i.style.visibility = 'visible';
    i.src='http://entimg.msn.com/i/je/arrow_down_white.gif';
    m.className='NwType1Norm LnkType1Norm hdnvc';		
    e.style.visibility = 'hidden';
    e.className = '';
    z.className = 'MainHeader';
    z.focus();

  }
  else 
  {
    BuildMoreButtonContent();//loadXMLDoc(g_RSSFeedURL); 
    e.style.visibility = 'visible';
    i.style.visibility = 'hidden';
    m.className = 'NwType1Norm LnkType1Norm hdnvc hdnvc_o';
    z.className = 'MainHeaderExpanded';
    z.focus();
  }	
}
					
function BuildMoreButtonContent()
{    
    var rssFeed = g_RSSFeed;
    var xmlDoc = null;
       
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.loadXML(rssFeed);
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
            var parser=new DOMParser();
            xmlDoc=parser.parseFromString(rssFeed,"text/xml");
        }
        catch(e) 
        {
            // alert(e.message);
        }
    }

    try
    {
        var root = xmlDoc.getElementsByTagName("rss")[0];
        
        //Number of columns required to be built.
        var toolColumns = root.selectSingleNode("/rss/channel/msncp:gtl/msncp:networklists/msncp:toollist/msncp:columns").firstChild.nodeValue;
        var siteColumns = root.selectSingleNode("/rss/channel/msncp:gtl/msncp:networklists/msncp:sitelist/msncp:columns").firstChild.nodeValue;    
	    var totalColumns = toolColumns*1 + siteColumns*1;
    	
        var toolList = root.selectSingleNode("/rss/channel/msncp:gtl/msncp:networklists/msncp:toollist");
        var toolListTools = toolList.childNodes;
        var tLlength = toolList.childNodes.length;    
        
        var moreButtonContent = document.createElement("DIV");
        moreButtonContent.className = "moreButton_content";
        moreButtonContent.id = "moreButton_content";
  	    var moreColumn = document.createElement("DIV"); 
  	    moreColumn.className = "more_contentColumn0"; 
      	
  	    var toolLink;
	    var objLink;
	    var objImg;
	    var paragraphObj;
        for (index = 1; index <tLlength; index++) //index 0 is column size. So ignore it.
        {		
            if (toolListTools[index].nodeType == 1 && toolListTools[index].nodeName == 'msncp:tool')
            {
                var toolURL = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:link/msncp:url").firstChild.nodeValue + "";
                var imgSrc = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:image/msncp:src").firstChild.nodeValue + "";
                var width = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:image/msncp:width").firstChild.nodeValue;        
                var height = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:image/msncp:height").firstChild.nodeValue;        
                var title = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:image/msncp:alternatetext").firstChild.nodeValue + "";
                var visibleText = toolListTools[index].selectSingleNode("./msncp:imagelink/msncp:link/msncp:text").firstChild.nodeValue + "";        
        	    
	            toolLink = document.createElement("DIV");
	            toolLink.className = "more_contentToolLink";
	            toolLink.innerHTML = "<a href='" + toolURL + "'><img src='" +imgSrc + "' width='"+ width + "' height='"+ height + "' title='" + title + "' border='none'/>" +" "+ visibleText + "</a>";
        	    
	            moreColumn.appendChild(toolLink);
            }
        }    
        
        var objMore = document.getElementById("moreButton_contentModule");
        moreButtonContent.appendChild(moreColumn);
        //Site links.
        var siteList = root.selectSingleNode("/rss/channel/msncp:gtl/msncp:networklists/msncp:sitelist");
        var siteListTools = siteList.childNodes;
        var sLength = siteList.childNodes.length;         
        
        var moreSiteColumn = document.createElement("DIV");
        
        var realIndex = 1;
        for (index = 1;index < sLength; index++)
        {        
            if (siteListTools[index].nodeType == 1 && siteListTools[index].nodeName == 'msncp:site')
            {
                toolLink = document.createElement("DIV");
                toolLink.className = "more_contentSiteLink";
                objLink = document.createElement("a");
                objLink.href = siteListTools[index].selectSingleNode("./msncp:linkicon/msncp:link/msncp:url").firstChild.nodeValue;
                objLink.innerHTML = siteListTools[index].selectSingleNode("./msncp:linkicon/msncp:link/msncp:text").firstChild.nodeValue;
                
                toolLink.appendChild(objLink);
                moreSiteColumn.appendChild(toolLink);        
                if ((realIndex % siteColumns) == 0)
                {                   
                    moreSiteColumn.className = "more_contentColumn" + (realIndex / siteColumns);
                    moreButtonContent.appendChild(moreSiteColumn);
                    moreSiteColumn = document.createElement("DIV");
                }
                realIndex++;
            }
        }
        //moreButtonContent.appendChild(moreSiteColumn);   
        var objMore = document.getElementById("moreButton_contentModule");
        objMore.className = "moreButton_contentModule";
        objMore.appendChild(moreButtonContent);
                

    }
    catch(e)
    {
        alert(e.message);
    }
}

function bookmarkSite(fromGame) {
    var url = "";
    if (fromGame) {
        url = g_GameUrl;
    }
    else {
        url = location.href;
    }
    if (document.all)
        window.external.AddFavorite(url, document.title);
    else if (window.sidebar)
        window.sidebar.addPanel(document.title, url, "")

    if (fromGame) {
        OmnitureTrackBookMark();
    }
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}

function BuildMargins(){
    document.writeln("<div id='marginElementLeft' class='marginElement'></div>");
    document.writeln("<div id='marginElementRight' class='marginElement'></div>");

    document.body.onresize = resizeMarginLeftRight;
    window.onresize = resizeMarginLeftRight;    
    resizeMarginLeftRight();
}

function resizeMarginLeftRight(){
    var totalWidth= document.body.clientWidth;  
    var contentWidth= document.getElementById("MainContent").clientWidth;

    marginWidthRight = (totalWidth - contentWidth) / 2;
    marginWidthLeft = marginWidthRight;

    if (contentWidth % 2 == 1) {
        marginWidthLeft = marginWidthRight + 1;
    }
    
    if(marginWidthRight <= 0){
        document.getElementById("marginElementLeft").style.width = "0px";
        document.getElementById("marginElementRight").style.width = "0px";
        document.getElementById("marginElementLeft").style.display = "none";
        document.getElementById("marginElementRight").style.display = "none";
    }   
    else{
        document.getElementById("marginElementLeft").style.width = marginWidthLeft+"px";
        document.getElementById("marginElementRight").style.width = marginWidthRight + "px";
        document.getElementById("marginElementLeft").style.display = "inline";
        document.getElementById("marginElementRight").style.display = "inline";
    }
}
