dLength = window.location.hostname.length + 7;

function loadSection( section )
{
   timerTotal = 0;

   if( typeof( lastHref ) == 'undefined' )
   {
     lastHref = ''; 
   }
   else if( lastHref == "?" )
   {
     lastHref = '';

     lastHref = document.getElementById( 'lastHref' ).value;
   }
   else if( lastHref.search( "http" ) == 0 )
   { 
      var position = lastHref.indexOf( "?" );

      lastHref = lastHref.substr( position );
   }


   if( section.substr(0,8) == 'profile_' )
   {
      subSection = section.substr(8);

      getProfile( '/player/profile.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substr(0,12) == 'recentStats_' )
   {
      subSection = section.substr(12);

      getData( '/player/recentStats.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,7) == 'level2_' )
   {
      subSection = section.substring(7);

      if( subSection.search( "__" ) > 0 )
      {
         subSection = subSection.substring( 0, subSection.search( "__" ) );
      }

      if( subSection == 'offers' )
         getLevel2( '/player/level2.cgi' + lastHref, 'offers' );
      else
         getLevel2Main( '/player/level2.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,16) == 'historicalStats_' )
   {
      subSection = section.substring(16);

      getData( '/player/historicalStats.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,12) == 'detailStats_' )
   {
      subSection = section.substring(12);

      if( subSection.search( "__" ) > 0 )
      {            
         var season = "season=" + subSection.substring( subSection.search( "__" ) + 2 );

         if( lastHref.search( "season" ) >= 0 )
         {
            var oldSeason = "season=" + lastHref.substr( lastHref.search( "season" ) + 7, 4 );

            lastHref = lastHref.replace( oldSeason, season );
         }
         else
         {
            lastHref = lastHref + '&' + season;
         }

         

         subSection = subSection.substring( 0, subSection.search( "__" ) );

        
      }       

      getData( '/player/detailStats.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,17) == 'historicalPrices_' )
   {
      subSection = section.substring(17);

      if( subSection.search( "__" ) > 0 )
      {
         subSection = subSection.substring( 0, subSection.search( "__" ) );
      }

      getData( '/player/historicalPrices.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,8) == 'topFans_' )
   {
      subSection = section.substring(8);

      if( subSection.search( "__" ) > 0 )
      {
         subSection = subSection.substring( 0, subSection.search( "__" ) );
      }

      getData( '/player/topFan.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,7) == 'fanMap_' )
   {
      subSection = section.substring(7);
      loadFanMap( '/player/fanMap.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,10) == 'headlines_' )
   {
      subSection = section.substring(10);

      getData( '/player/headlines.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section == 'messageBoard_main' )
   {
      getData( '/player/messageBoard.cgi' + lastHref, 'parseMain', '0' );
   }
   else if( section.substring(0,13) == 'messageBoard_' )
   {
      subSection = section.substring(13);

      getData( '/player/messageBoard.cgi?section=' + lastHref, 'parseMB', subSection );
   }
   else if( section.substring(0,19) == 'messageBoardSubmit_' )
   {
      subSection = section.substring(19);

      if( subSection.search( "__" ) > 0 )
      {            
         subSection = subSection.substring( 0, subSection.search( "__" ) );
      }       

      submitForm( '/player/messageBoard.cgi?section=' + lastHref, 'submitMB', subSection );
   }
   else
   {
      getProfile( '/player/profile.cgi' + lastHref, 'parseMain', '0' );
   }
}

function fixLinks()
{
  modules = YAHOO.util.Dom.getElementsByClassName( 'historyModule', 'span' );

  for( j = 0, lenj = modules.length; j < lenj; j++ )
  {
    anchors = modules[j].getElementsByTagName('a');
    for (i = 0, len = anchors.length; i < len; i++) {
        anchor = anchors[i];

        YAHOO.util.Event.addListener(anchor, "click", function (evt) {
            href = this.getAttribute("href");
            lastHref = this.getAttribute("href");

            section = YAHOO.util.History.getQueryStringParameter("section", href) || "home";

            if( section == "home" && href.search( "/mb/" ) > 0 )
            {
               var partialHref; 

               partialHref = href.substr(dLength);

               section = "messageBoard_" + partialHref;
            }

               try {
                   YAHOO.util.History.navigate("profileModule", section);
               } catch (e) {
                   loadSection(section);
               }
               YAHOO.util.Event.preventDefault(evt);
        });
    }

    submits = modules[j].getElementsByTagName('input');
    for (i = 0, len = submits.length; i < len; i++ ) {
        submit = submits[i];
        YAHOO.util.Event.addListener(submit, "click", function (evt) {

            section = this.getAttribute("section");
            submitButtonValue   = this.getAttribute("value");

            parentRef = this.parentNode;

            var aa = 0;

            action = "";

            while( 1 )
            {
               if( parentRef.getAttribute( "action" ) )
               {
                  form = document.getElementById( parentRef.id );

                  action = parentRef.getAttribute( "action" );

                  break;
               }

               parentRef = parentRef.parentNode;

               ++aa;

               if( aa > 10 )
                 break;
            }

            if( action != "" && action.search( "/mb/" ) > 0 )
            {
               var partialHref;

               partialHref = action.substr(dLength);

               section = "messageBoardSubmit_" + partialHref + '__' + Math.floor( Math.random() * 11 );

            }

               try {
                   YAHOO.util.History.navigate("profileModule", section);
               } catch (e) {
                   loadSection(section);
               }
               YAHOO.util.Event.preventDefault(evt);
        });
    }
  }
}

function initializeAccount( lastLink )
{
      var anchors, i, len, anchor, href, section, currentSection;
      modules = YAHOO.util.Dom.getElementsByClassName( 'historyModule', 'span' );

      lastHref = lastLink;

      for( j = 0, lenj = modules.length; j < lenj; j++ )
      {
        anchors = modules[j].getElementsByTagName('a');
        for (i = 0, len = anchors.length; i < len; i++) {
            anchor = anchors[i];
            YAHOO.util.Event.addListener(anchor, "click", function (evt) {
                href = this.getAttribute("href");

                section = YAHOO.util.History.getQueryStringParameter("section", href) || "home";

                   try {
                       YAHOO.util.History.navigate("profileModule", section);
                   } catch (e) {
                       loadSection(section);
                   }
                   YAHOO.util.Event.preventDefault(evt);
            });
        }
      }

  currentSection = YAHOO.util.History.getCurrentState("profileModule");
  loadSection(currentSection);
}


function getData( url, action, params )
{
   bsId = document.getElementById( 'bottomSection' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
         bsId.innerHTML = o.responseText;

         fixLinks();
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

function absTop( elementId )
{
   var obj = document.getElementById( elementId );

   var offset = 0;

   while( obj.offsetParent )
   {
      offset += obj.offsetTop;
      obj = obj.offsetParent;
   }

  return offset;
}

function getLevel2Main( url, action, params )
{
   bsId = document.getElementById( 'bottomSection' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
         bsId.innerHTML = o.responseText;

         fixLinks();

         window.scrollTo( 0, absTop( 'mid-nav-row' ) );
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

function getProfile( url, action, params )
{
   bsId = document.getElementById( 'bottomSection' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
         bsId.innerHTML = o.responseText;

         fixLinks();

         setTimeout( "swapTabMenu( 'comparisonTable', 'playerAthleteValue' )", 250 );
         setTimeout( "swapTabMenu( 'fansTable', 'top' )", 250 );
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

function loadFanMap( url, action, params )
{
   bsId = document.getElementById( 'bottomSection' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){

         var response = YAHOO.lang.JSON.parse( o.responseText );

         //bsId.innerHTML = o.responseText;

         bsId.innerHTML = response['htmlData'];

         fixLinks();

         userArrayLat = response['lat'];
         userArrayLon = response['lon'];
         userArrayZip = response['zipcode'];

         initialize(userArrayLat, userArrayLon, userArrayZip);
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}


function getLevel2( url, action )
{
   bsId = document.getElementById( 'allOffers' );

   params = '';

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
         bsId.innerHTML = o.responseText;

         fixLinks();
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

function submitForm( url, method, params )
{
   var action = 'submitMB';
   var url = '/player/messageBoard.cgi';
   var params = escape( params );

   var postData = "data={\"function\":\"" + action + "\",\"params\":\"" + params + "\"}";

   for( ii = 0; ii < form.elements.length; ii++ )
   {
      if( ( form.elements[ii].type != 'submit' && form.elements[ii].type != 'checkbox' ) ||
          ( form.elements[ii].type == 'checkbox' && form.elements[ii].checked ) ||
          ( form.elements[ii].type == 'submit' && form.elements[ii].value == submitButtonValue ) )
      {
         postData += "&" + form.elements[ii].name + "=" + escape( form.elements[ii].value );
      }
   }

   submitBottomSection( url, postData );
}

function submitBottomSection( url, postData )
{
   bsId = document.getElementById( 'bottomSection' );
   
   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
         bsId.innerHTML = o.responseText;

         fixLinks();
     }
   };
   
   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure,
     argument:[]
   };

   var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
}

function fanMoguls( type, symbol, pageNum )
{
   span = document.getElementById( 'fanMoguls' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined ){
       span.innerHTML = o.responseText;
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.response){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure
   };

   var sUrl = "/player/profile.cgi";

   var postData = "data={\"function\":\"fanMoguls\",\"params\":\"" + type + "," + symbol + "," + pageNum + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);

}

function playerComparison( type, symbol )
{
   pcSpan = document.getElementById( 'playerComparisonDiv' );

   var handleSuccess = function(o){
     if(o.responseText !== undefined && o.responseText ){
       pcSpan.innerHTML = o.responseText;
     }
   };

   var handleFailure = function(o){
     if(o.responseText !== undefined && o.responseText ){
     }
   };

   var callback =
   {
     success:handleSuccess,
     failure:handleFailure
   };

   var sUrl = "/player/profile.cgi";

   var postData = "data={\"function\":\"playerComparison\",\"params\":\"" + type + "," + symbol + "\"}";

   var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);

}
