/* !!NOTOKENS!!
   $Id: filmOmniture.js,v 1.4 2009/06/19 21:26:07 mleite Exp $
   $Source: /home/np/shared/filmcom/static/js/filmOmniture.js,v $
*/
/*** For Omniture ***/

var pageName, pageNum, channel, loggedIn, userAccountType, singularOmniturePageType;


if (!authenticated)
{
    loggedIn = "0";
    userAccountType = "an"
}
else
{
    loggedIn = "1";
    userAccountType = "na"
}


var Filmcom = {

  okToDebug: false,
  debugElement: null,

    authenticated: function(){
        return loggedIn;
    },
    getAccountId: function(){
        return userGuid;
  },
    getUserAccountType: function(){
        return userAccountType;
    },
    getSearchResults: function(){
        return omnitureSearchResults;
    },
    getSearchTerm: function(){
        return searchTerm;
    },
    getSearchMethod: function(){
        return searchMethod;
    },
    getPageCategory: function(){
        return singularOmniturePageType;
    },
    getPageName: function(){
        return pageName;
    },
    getChannel: function(){
        return channel;
    },
    getPageErrors: function(){
        return allErrors;
    },
    getPageRegion: function(){
        return omniturePageRegion;
    },
    getCategories: function(){
      return omnitureCategories;
    },
    getOmnitureId: function(){
      if (pageContentId > 0)
      return omnitureContentId;
    },
    getPrimaryContentName: function(){
        return omniturePrimaryContentName;
    },
    getPrimaryContentId: function(){
        return omniturePrimaryContentId != "." ? omniturePrimaryContentId : null;
    },
    getContentName2: function(){
        return omnitureContentName2;
    },
    getContentId2: function(){
        return omnitureContentId2 != "." ? omnitureContentId2 : null;
    },
    getContentName3: function(){
        return omnitureContentName3;
    },
    getStoryAuthor: function(){
        return storyAuthor;
    },
    getReferringPage: function (){
        return document.referrer;
    },
    getHasPlayer: function(){
        if (has_player == "true")
            return 1;
        else
            return 0;
    },
    getPlayerVersion: function (){
     if (has_player == "true")
     {
         return playerVersion;
     }

   },
    getSeasonId: function (){
        return omnitureSeasonId;
    },
    getShowId: function (){
        return omnitureShowId;
    },
    getEpisodeId: function (){
        return omnitureEpisodeId;
    },
    getPageNumber: function (){
      return pageNum;
    },
    sendPageView: function( overridesObj, optionsObj ){
    var disableCall = false;
    var persistPreviousOverrides = ( optionsObj && optionsObj.persistPreviousOverrides )? ( optionsObj && optionsObj.persistPreviousOverrides ): false;
    try{
      s = s_gi( this.getAccountId() );
    } catch( e ){ disableCall = true }
    if( !persistPreviousOverrides ) this.setDefaultConfig();
    if( !disableCall ){
      this._setOverrides( overridesObj );
      void( s.t() );
      if( this.okToDebug ) this.debug();
    }
  },
  sendLinkEvent: function( overridesObj, optionsObj ){
    // if i want original data set s.linkTrackVars = ""; and s.linkTrackEvents = "";
    var disableCall = false;
    try{
      s = s_gi( this.getAccountId() );
    } catch( e ){ disableCall = true }
    var linkTypeHash = new Object();
    linkTypeHash[ 'exit' ] = 'e';
    linkTypeHash[ 'download' ] = 'd';
    linkTypeHash[ 'custom' ] = 'o';
    var linkTypeAbbrev = optionsObj.type?linkTypeHash[ optionsObj.type ]:null;
    var linkName =  optionsObj.linkName?optionsObj.linkName:null;
    var ltvString = "eVar18";
    var moreThanOne = false;
    if( !disableCall && optionsObj && overridesObj ){
      s.eVar18 = this.getPageName();
      for( var i in overridesObj ){
        s[ i ] = overridesObj[ i ];
        ltvString += "," + i;
        moreThanOne = true;
      }
      if( optionsObj.events ){
        s.linkTrackEvents = optionsObj.events;
        s.events = optionsObj.events;
        ltvString += ",events";
      }
      s.linkTrackVars = ltvString;
       if( linkTypeAbbrev && linkName ){
        void( s.tl( this, linkTypeAbbrev, linkName ) );
       }
    }
  },
  _setOverrides: function( or ){
    for( var i in or ){
      s[ i ] = or[ i ];
    }
  },
  debug: function( closeDebug ){
    var timeoutTilClose = 5000;
    var omnitureImgHolder =  document.getElementById( 'omnitureCodeToPaste' );
    var omnitureImg = null;
    var debugInfo = 'Tracking Info:<br\/>' +
      'Category: ' + this.getCategory()+ '<br\/>' + 'Page Name: ' + this.getPageName() + '<br\/>' +
      '<a href="#" onclick="Filmcom.debug( true ); return false;">close<\/a>';
    if( omnitureImgHolder && ( typeof omnitureImgHolder != 'undefined' ) ){
      var omnitureImgs = omnitureImgHolder.getElementsByTagName( 'IMG' );
      for( var i=0; i<omnitureImgs.length; i++ ){
        if( omnitureImgs[ i ].getAttribute( 'NAME' ) == 's_i_' + this.getAccountId() ) omnitureImg = omnitureImgs[ i ];
      }
    }
    if( omnitureImg && omnitureImg.src != '' ) debugInfo += "<p>sent a request to omniture<\/p>";
    else debugInfo += '<p style="color: red;">no request sent to omniture!<\/p>';
    if( !closeDebug ){
      this.debugElement = new DialogBox(
        {
          elementId: "FilmcomTrackingDebugBox",
          width: '230px',
          height: '120px',
          htmlContent: debugInfo
        }
      );
      this.debugElement.show();
      with( this.debugElement.getHoldingElement().style ){
        backgroundColor = "#CCC";
        padding = "10px";
        overflow = "auto";
      }

      if( !Filmcom.getPageName() || !Filmcom.getCategory() ){
        timeoutTilClose = 15000;
        with( this.debugElement ){
          hide();
          setMask( true );
          getHoldingElement().style.backgroundColor = "red";
          centerInPage();
          show();
          loadContent( { htmlContent: debugInfo + '<p><b>set a category and pagename in /conf/rotw.reporting-services.xml<\/b><\/p>' } );
        }
      }

      var omnitureDebugHolderElement = document.createElement( "DIV" );
      var omnitureDebugAnchor = document.createElement( "A" );
      var omnitureDebugAnchorText = document.createTextNode( "view omniture debugger" );
      omnitureDebugAnchor.appendChild( omnitureDebugAnchorText );
      omnitureDebugAnchor.setAttribute( "href", "javascript:Filmcom.launchOmnitureDebug();" );
      omnitureDebugHolderElement.appendChild( omnitureDebugAnchor );
      this.debugElement.getHoldingElement().appendChild( omnitureDebugHolderElement );

      setTimeout( "Filmcom.debug( true )", timeoutTilClose );
    } else {
      if( Filmcom.debugElement ){
        Filmcom.debugElement.removeHoldingElement();
        if( Filmcom.debugElement.getMask() ) Filmcom.debugElement.setMask( false );
        Filmcom.debugElement = null;
      }
    }
  },
  launchOmnitureDebug: function(){
    window.open("","stats_debugger","width=600,height=600,location=0,menubar=0,status=1,toolbar=0,resizable=1,scrollbars=1").document.write("<script language=\"JavaScript\" src=\"http://192.168.112.2O7.net/stats_debugger.php\"></"+"script>");
  }
}

//<!--
/* You may give each page an identifying name, and site section on
the next lines. */

Filmcom.setDefaultConfig = function(){

    s.server = "film";
    s.prop1 = "rn";

    if (rsrc == "realdvd")
    {
        cpath = "dvdclient"
        s.prop3 = rsrc;
        s.prop2 = cpath;
        s.prop1 = rsrc;

    }

    if (has_player == "true" && mediaPlayback)
    {
        s.prop10 = "rp";
        s.prop12 = Filmcom.getPlayerVersion();
        s.prop16 = "1";
    }
    else if (has_player == "false" && mediaPlayback)
    {
        s.prop16 = "0";
    }
    s.prop8  = Filmcom.getCategories();
    s.prop17 = Filmcom.getPageErrors();
    s.prop19 = Filmcom.authenticated();
    s.prop21 = Filmcom.getUserAccountType();
    s.prop22 = Filmcom.getSearchMethod();
    s.prop23 = Filmcom.getSearchTerm();
    s.prop24 = Filmcom.getSearchResults();
    s.prop29 = rsrc != "realdvd" ? Filmcom.getPageRegion(): rsrc;
    s.prop31 = Filmcom.getPrimaryContentId();
    s.prop32 = Filmcom.getPrimaryContentName();
    s.prop33 = Filmcom.getContentId2();
    s.prop34 = Filmcom.getContentName2();
    s.prop36 = Filmcom.getContentName3();
    s.prop41 = "www.film.com";
    s.prop42 = document.location;
    s.prop43 = Filmcom.getReferringPage();
    s.prop48 = Filmcom.getPageNumber();


    s.eVar1=s.prop1;
    s.eVar2=s.prop2;
    s.eVar3=s.prop3;
    s.eVar7 = Filmcom.getAccountId();
    s.eVar8 =s.prop8;
    s.eVar10=s.prop10;
    s.eVar11=s.prop11;
    s.eVar12=s.prop12;
    s.eVar19=s.prop19;
    s.eVar21=s.prop21;
    s.eVar23=s.prop23;
    s.eVar29=s.prop29;
    s.eVar31=s.prop31;
    s.eVar32=s.prop32;
    s.eVar33=s.prop33;
    s.eVar34=s.prop34;
    s.eVar36=s.prop36;
    s.eVar37=s.server;
    s.eVar41=s.prop41;
    s.eVar42=s.prop42;
    s.eVar43=s.prop43;
    s.eVar48=s.prop48;

}