
  if( typeof( AC ) == "undefined" ) { AC = {}; }

  AC.Detector = {

    getAgent:function() { return navigator.userAgent.toLowerCase(); },

    isMac:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /mac/i );
    },

    isWin:function( userAgent )
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /win/i );
    },

    isWin2k:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return this.isWin( agent ) && ( agent.match( /nt\s*5/i ));
    },

    isWinVista:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return this.isWin( agent ) && ( agent.match( /nt\s*6/i ));
    },

    isWebKit:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /AppleWebKit/i );
    },

    isOpera:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /opera/i );
    },

    isIE:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /msie/i );
    },

    isIEStrict:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /msie/i )&&!this.isOpera(agent);
    },

    isFirefox:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return agent.match( /firefox/i );
    },

    isiTunesOK:function( userAgent ) 
    {
      var agent = userAgent || this.getAgent();
      return this.isMac(agent)||this.isWin2k(agent);
    },

    isQTInstalled:function() 
    {
      var qtInstalled=false;

      if(navigator.plugins&&navigator.plugins.length)
      {
        for(var i=0;i<navigator.plugins.length;i++)
        {
          var plugin=navigator.plugins[i];

          if( plugin.name.indexOf( "QuickTime" ) > -1 ) { qtInstalled = true; }
        }
      }
      else
      {
        qtObj=false;
        execScript('on error resume next: qtObj = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))','VBScript');
        qtInstalled=qtObj;
      }
      
      return qtInstalled;
    }
  };

