home *** CD-ROM | disk | FTP | other *** search
/ Ice Age Fan CD 1 / CD1_Scrat.iso / flash / data / game.swf / scripts / com / google / analytics / v4 / Bridge.as next >
Encoding:
Text File  |  2012-07-04  |  15.4 KB  |  499 lines

  1. package com.google.analytics.v4
  2. {
  3.    import com.google.analytics.core.EventTracker;
  4.    import com.google.analytics.core.ServerOperationMode;
  5.    import com.google.analytics.core.Utils;
  6.    import com.google.analytics.debug.DebugConfiguration;
  7.    import com.google.analytics.debug.VisualDebugMode;
  8.    import com.google.analytics.external.JavascriptProxy;
  9.    
  10.    public class Bridge implements GoogleAnalyticsAPI
  11.    {
  12.       private static var _checkGAJS_js:XML = <script>
  13.             <![CDATA[
  14.                 function()
  15.                 {
  16.                     if( _gat && _gat._getTracker )
  17.                     {
  18.                         return true;
  19.                     }
  20.                     return false;
  21.                 }
  22.             ]]>
  23.         </script>;
  24.       
  25.       private static var _checkValidTrackingObject_js:XML = <script>
  26.             <![CDATA[
  27.                 function(acct)
  28.                 {
  29.                     if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
  30.                     {
  31.                         return true ;
  32.                     }
  33.                     else
  34.                     {
  35.                         return false;
  36.                     }
  37.                 }
  38.             ]]>
  39.         </script>;
  40.       
  41.       private static var _createTrackingObject_js:XML = <script>
  42.             <![CDATA[
  43.                 function( acct )
  44.                 {
  45.                     _GATracker[acct] = _gat._getTracker(acct);
  46.                 }
  47.             ]]>
  48.         </script>;
  49.       
  50.       private static var _injectTrackingObject_js:XML = <script>
  51.             <![CDATA[
  52.                 function()
  53.                 {
  54.                     try 
  55.                     {
  56.                         _GATracker
  57.                     }
  58.                     catch(e) 
  59.                     {
  60.                         _GATracker = {};
  61.                     }
  62.                 }
  63.             ]]>
  64.         </script>;
  65.       
  66.       private static var _linkTrackingObject_js:XML = <script>
  67.             <![CDATA[
  68.                 function( container , target )
  69.                 {
  70.                     var targets ;
  71.                     var name ;
  72.                     if( target.indexOf(".") > 0 )
  73.                     {
  74.                         targets = target.split(".");
  75.                         name    = targets.pop();
  76.                     }
  77.                     else
  78.                     {
  79.                         targets = [];
  80.                         name    = target;
  81.                     }
  82.                     var ref   = window;
  83.                     var depth = targets.length;
  84.                     for( var j = 0 ; j < depth ; j++ )
  85.                     {
  86.                         ref = ref[ targets[j] ] ;
  87.                     }
  88.                     window[container][target] = ref[name] ;
  89.                 }
  90.             ]]>
  91.         </script>;
  92.       
  93.       private var _debug:DebugConfiguration;
  94.       
  95.       private var _proxy:JavascriptProxy;
  96.       
  97.       private var _jsContainer:String = "_GATracker";
  98.       
  99.       private var _hasGATracker:Boolean = false;
  100.       
  101.       private var _account:String;
  102.       
  103.       public function Bridge(param1:String, param2:DebugConfiguration, param3:JavascriptProxy)
  104.       {
  105.          var _loc4_:* = null;
  106.          var _loc5_:* = null;
  107.          var _loc6_:* = null;
  108.          super();
  109.          _account = param1;
  110.          _debug = param2;
  111.          _proxy = param3;
  112.          if(!_checkGAJS())
  113.          {
  114.             _loc4_ = "";
  115.             _loc4_ = _loc4_ + "ga.js not found, be sure to check if\n";
  116.             _loc4_ = _loc4_ + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n";
  117.             _loc4_ = _loc4_ + "is included in the HTML.";
  118.             _debug.warning(_loc4_);
  119.             throw new Error(_loc4_);
  120.          }
  121.          if(!_hasGATracker)
  122.          {
  123.             if(_debug.javascript && _debug.verbose)
  124.             {
  125.                _loc5_ = "";
  126.                _loc5_ = _loc5_ + "The Google Analytics tracking code was not found on the container page\n";
  127.                _loc5_ = _loc5_ + "we create it";
  128.                _debug.info(_loc5_,VisualDebugMode.advanced);
  129.             }
  130.             _injectTrackingObject();
  131.          }
  132.          if(Utils.validateAccount(param1))
  133.          {
  134.             _createTrackingObject(param1);
  135.          }
  136.          else
  137.          {
  138.             if(!_checkTrackingObject(param1))
  139.             {
  140.                _loc6_ = "";
  141.                _loc6_ = _loc6_ + ("JS Object \"" + param1 + "\" doesn\'t exist in DOM\n");
  142.                _loc6_ = _loc6_ + "Bridge object not created.";
  143.                _debug.warning(_loc6_);
  144.                throw new Error(_loc6_);
  145.             }
  146.             _linkTrackingObject(param1);
  147.          }
  148.       }
  149.       
  150.       public function link(param1:String, param2:Boolean = false) : void
  151.       {
  152.          _debug.info("link( " + param1 + ", " + param2 + " )");
  153.          _call("_link",param1,param2);
  154.       }
  155.       
  156.       public function addOrganic(param1:String, param2:String) : void
  157.       {
  158.          _debug.info("addOrganic( " + [param1,param2].join(", ") + " )");
  159.          _call("_addOrganic",param1);
  160.       }
  161.       
  162.       public function setAllowLinker(param1:Boolean) : void
  163.       {
  164.          _debug.info("setAllowLinker( " + param1 + " )");
  165.          _call("_setAllowLinker",param1);
  166.       }
  167.       
  168.       private function _linkTrackingObject(param1:String) : void
  169.       {
  170.          _proxy.call(_linkTrackingObject_js,_jsContainer,param1);
  171.       }
  172.       
  173.       public function trackEvent(param1:String, param2:String, param3:String = null, param4:Number = NaN) : Boolean
  174.       {
  175.          var _loc5_:int = 2;
  176.          if(Boolean(param3) && param3 != "")
  177.          {
  178.             _loc5_ = 3;
  179.          }
  180.          if(_loc5_ == 3 && !isNaN(param4))
  181.          {
  182.             _loc5_ = 4;
  183.          }
  184.          switch(_loc5_)
  185.          {
  186.             case 4:
  187.                _debug.info("trackEvent( " + [param1,param2,param3,param4].join(", ") + " )");
  188.                return _call("_trackEvent",param1,param2,param3,param4);
  189.             case 3:
  190.                _debug.info("trackEvent( " + [param1,param2,param3].join(", ") + " )");
  191.                return _call("_trackEvent",param1,param2,param3);
  192.             case 2:
  193.          }
  194.          _debug.info("trackEvent( " + [param1,param2].join(", ") + " )");
  195.          return _call("_trackEvent",param1,param2);
  196.       }
  197.       
  198.       public function setClientInfo(param1:Boolean) : void
  199.       {
  200.          _debug.info("setClientInfo( " + param1 + " )");
  201.          _call("_setClientInfo",param1);
  202.       }
  203.       
  204.       public function trackTrans() : void
  205.       {
  206.          _debug.info("trackTrans()");
  207.          _call("_trackTrans");
  208.       }
  209.       
  210.       public function setCookieTimeout(param1:int) : void
  211.       {
  212.          _debug.info("setCookieTimeout( " + param1 + " )");
  213.          _call("_setCookieTimeout",param1);
  214.       }
  215.       
  216.       public function trackPageview(param1:String = "") : void
  217.       {
  218.          _debug.info("trackPageview( " + param1 + " )");
  219.          _call("_trackPageview",param1);
  220.       }
  221.       
  222.       public function getClientInfo() : Boolean
  223.       {
  224.          _debug.info("getClientInfo()");
  225.          return _call("_getClientInfo");
  226.       }
  227.       
  228.       private function _checkValidTrackingObject(param1:String) : Boolean
  229.       {
  230.          return _proxy.call(_checkValidTrackingObject_js,param1);
  231.       }
  232.       
  233.       private function _checkGAJS() : Boolean
  234.       {
  235.          return _proxy.call(_checkGAJS_js);
  236.       }
  237.       
  238.       public function linkByPost(param1:Object, param2:Boolean = false) : void
  239.       {
  240.          _debug.warning("linkByPost( " + param1 + ", " + param2 + " ) not implemented");
  241.       }
  242.       
  243.       private function _call(param1:String, ... rest) : *
  244.       {
  245.          rest.unshift("window." + _jsContainer + "[\"" + _account + "\"]." + param1);
  246.          return _proxy.call.apply(_proxy,rest);
  247.       }
  248.       
  249.       public function hasGAJS() : Boolean
  250.       {
  251.          return _checkGAJS();
  252.       }
  253.       
  254.       private function _checkTrackingObject(param1:String) : Boolean
  255.       {
  256.          var _loc2_:Boolean = _proxy.hasProperty(param1);
  257.          var _loc3_:Boolean = _proxy.hasProperty(param1 + "._getAccount");
  258.          return _loc2_ && _loc3_;
  259.       }
  260.       
  261.       public function resetSession() : void
  262.       {
  263.          _debug.warning("resetSession() not implemented");
  264.       }
  265.       
  266.       public function getDetectTitle() : Boolean
  267.       {
  268.          _debug.info("getDetectTitle()");
  269.          return _call("_getDetectTitle");
  270.       }
  271.       
  272.       public function setCampNameKey(param1:String) : void
  273.       {
  274.          _debug.info("setCampNameKey( " + param1 + " )");
  275.          _call("_setCampNameKey",param1);
  276.       }
  277.       
  278.       public function setDetectFlash(param1:Boolean) : void
  279.       {
  280.          _debug.info("setDetectFlash( " + param1 + " )");
  281.          _call("_setDetectFlash",param1);
  282.       }
  283.       
  284.       public function createEventTracker(param1:String) : EventTracker
  285.       {
  286.          _debug.info("createEventTracker( " + param1 + " )");
  287.          return new EventTracker(param1,this);
  288.       }
  289.       
  290.       public function addItem(param1:String, param2:String, param3:String, param4:String, param5:Number, param6:int) : void
  291.       {
  292.          _debug.info("addItem( " + [param1,param2,param3,param4,param5,param6].join(", ") + " )");
  293.          _call("_addItem",param1,param2,param3,param4,param5,param6);
  294.       }
  295.       
  296.       public function clearIgnoredOrganic() : void
  297.       {
  298.          _debug.info("clearIgnoredOrganic()");
  299.          _call("_clearIgnoreOrganic");
  300.       }
  301.       
  302.       public function setVar(param1:String) : void
  303.       {
  304.          _debug.info("setVar( " + param1 + " )");
  305.          _call("_setVar",param1);
  306.       }
  307.       
  308.       public function setDomainName(param1:String) : void
  309.       {
  310.          _debug.info("setDomainName( " + param1 + " )");
  311.          _call("_setDomainName",param1);
  312.       }
  313.       
  314.       public function hasTrackingAccount(param1:String) : Boolean
  315.       {
  316.          if(Utils.validateAccount(param1))
  317.          {
  318.             return _checkValidTrackingObject(param1);
  319.          }
  320.          return _checkTrackingObject(param1);
  321.       }
  322.       
  323.       public function setCampSourceKey(param1:String) : void
  324.       {
  325.          _debug.info("setCampSourceKey( " + param1 + " )");
  326.          _call("_setCampSourceKey",param1);
  327.       }
  328.       
  329.       public function addTrans(param1:String, param2:String, param3:Number, param4:Number, param5:Number, param6:String, param7:String, param8:String) : Object
  330.       {
  331.          _debug.info("addTrans( " + [param1,param2,param3,param4,param5,param6,param7,param8].join(", ") + " )");
  332.          _call("_addTrans",param1,param2,param3,param4,param5,param6,param7,param8);
  333.          return null;
  334.       }
  335.       
  336.       public function setCampContentKey(param1:String) : void
  337.       {
  338.          _debug.info("setCampContentKey( " + param1 + " )");
  339.          _call("_setCampContentKey",param1);
  340.       }
  341.       
  342.       public function setLocalServerMode() : void
  343.       {
  344.          _debug.info("setLocalServerMode()");
  345.          _call("_setLocalServerMode");
  346.       }
  347.       
  348.       public function getLocalGifPath() : String
  349.       {
  350.          _debug.info("getLocalGifPath()");
  351.          return _call("_getLocalGifPath");
  352.       }
  353.       
  354.       public function clearIgnoredRef() : void
  355.       {
  356.          _debug.info("clearIgnoredRef()");
  357.          _call("_clearIgnoreRef");
  358.       }
  359.       
  360.       public function setAllowAnchor(param1:Boolean) : void
  361.       {
  362.          _debug.info("setAllowAnchor( " + param1 + " )");
  363.          _call("_setAllowAnchor",param1);
  364.       }
  365.       
  366.       public function setLocalGifPath(param1:String) : void
  367.       {
  368.          _debug.info("setLocalGifPath( " + param1 + " )");
  369.          _call("_setLocalGifPath",param1);
  370.       }
  371.       
  372.       public function getVersion() : String
  373.       {
  374.          _debug.info("getVersion()");
  375.          return _call("_getVersion");
  376.       }
  377.       
  378.       private function _injectTrackingObject() : void
  379.       {
  380.          _proxy.executeBlock(_injectTrackingObject_js);
  381.          _hasGATracker = true;
  382.       }
  383.       
  384.       public function setCookiePath(param1:String) : void
  385.       {
  386.          _debug.info("setCookiePath( " + param1 + " )");
  387.          _call("_setCookiePath",param1);
  388.       }
  389.       
  390.       public function setSampleRate(param1:Number) : void
  391.       {
  392.          _debug.info("setSampleRate( " + param1 + " )");
  393.          _call("_setSampleRate",param1);
  394.       }
  395.       
  396.       public function setAllowHash(param1:Boolean) : void
  397.       {
  398.          _debug.info("setAllowHash( " + param1 + " )");
  399.          _call("_setAllowHash",param1);
  400.       }
  401.       
  402.       public function addIgnoredOrganic(param1:String) : void
  403.       {
  404.          _debug.info("addIgnoredOrganic( " + param1 + " )");
  405.          _call("_addIgnoredOrganic",param1);
  406.       }
  407.       
  408.       public function setCampNOKey(param1:String) : void
  409.       {
  410.          _debug.info("setCampNOKey( " + param1 + " )");
  411.          _call("_setCampNOKey",param1);
  412.       }
  413.       
  414.       public function cookiePathCopy(param1:String) : void
  415.       {
  416.          _debug.info("cookiePathCopy( " + param1 + " )");
  417.          _call("_cookiePathCopy",param1);
  418.       }
  419.       
  420.       public function setLocalRemoteServerMode() : void
  421.       {
  422.          _debug.info("setLocalRemoteServerMode()");
  423.          _call("_setLocalRemoteServerMode");
  424.       }
  425.       
  426.       public function getServiceMode() : ServerOperationMode
  427.       {
  428.          _debug.info("getServiceMode()");
  429.          return _call("_getServiceMode");
  430.       }
  431.       
  432.       public function setDetectTitle(param1:Boolean) : void
  433.       {
  434.          _debug.info("setDetectTitle( " + param1 + " )");
  435.          _call("_setDetectTitle",param1);
  436.       }
  437.       
  438.       private function _createTrackingObject(param1:String) : void
  439.       {
  440.          _proxy.call(_createTrackingObject_js,param1);
  441.       }
  442.       
  443.       public function setCampaignTrack(param1:Boolean) : void
  444.       {
  445.          _debug.info("setCampaignTrack( " + param1 + " )");
  446.          _call("_setCampaignTrack",param1);
  447.       }
  448.       
  449.       public function clearOrganic() : void
  450.       {
  451.          _debug.info("clearOrganic()");
  452.          _call("_clearOrganic");
  453.       }
  454.       
  455.       public function setCampTermKey(param1:String) : void
  456.       {
  457.          _debug.info("setCampTermKey( " + param1 + " )");
  458.          _call("_setCampTermKey",param1);
  459.       }
  460.       
  461.       public function getDetectFlash() : Boolean
  462.       {
  463.          _debug.info("getDetectFlash()");
  464.          return _call("_getDetectFlash");
  465.       }
  466.       
  467.       public function setCampMediumKey(param1:String) : void
  468.       {
  469.          _debug.info("setCampMediumKey( " + param1 + " )");
  470.          _call("_setCampMediumKey",param1);
  471.       }
  472.       
  473.       public function addIgnoredRef(param1:String) : void
  474.       {
  475.          _debug.info("addIgnoredRef( " + param1 + " )");
  476.          _call("_addIgnoredRef",param1);
  477.       }
  478.       
  479.       public function setSessionTimeout(param1:int) : void
  480.       {
  481.          _debug.info("setSessionTimeout( " + param1 + " )");
  482.          _call("_setSessionTimeout",param1);
  483.       }
  484.       
  485.       public function setRemoteServerMode() : void
  486.       {
  487.          _debug.info("setRemoteServerMode()");
  488.          _call("_setRemoteServerMode");
  489.       }
  490.       
  491.       public function getAccount() : String
  492.       {
  493.          _debug.info("getAccount()");
  494.          return _call("_getAccount");
  495.       }
  496.    }
  497. }
  498.  
  499.