Ext.namespace('PBS.browsercheck');

Ext.onReady(function() {
    PBS.browsercheck.setup();
});

PBS.browsercheck.setup = function() {
    var javascript = true;
    PBS.browsercheck.status('javascript', 'javascript', javascript);
    
    var cookies = Ext.state.Manager.get('browser_cookie_test') ? true : false;
    Ext.state.Manager.clear('browser_cookie_test');
    PBS.browsercheck.status('cookies', 'cookies', cookies);
    
    var quicktime = PBS.utils.PluginDetect.detect('quicktime');
    PBS.browsercheck.status('quicktime', 'quicktime', quicktime);
    
    var realplayer = !Ext.isIE ? PBS.utils.PluginDetect.detect('realplayer') : null;
    PBS.browsercheck.status('realplayer', 'realplayer', realplayer);
    
    var adobe_flash = PBS.utils.PluginDetect.detect('flash');
    PBS.browsercheck.status('adobe_flash', 'flash', adobe_flash);
    
    var adobe_shockwave = PBS.utils.PluginDetect.detect('shockwave');
    PBS.browsercheck.status('adobe_shockwave', 'shockwave', adobe_shockwave);
    
    var adobe_acrobat = PBS.utils.PluginDetect.detect('acrobat');
    PBS.browsercheck.status('adobe_acrobat', 'acrobat', adobe_acrobat);
    
    var java = PBS.utils.PluginDetect.detect('java');
    PBS.browsercheck.status('java', 'java', java);
};

PBS.browsercheck.status = function(element_id, plugin, status) {
    var el = Ext.get(element_id);
    if(status === true) {
        el.select('.status').addClass('installed');
        el.select('.status').update('installed');
        el.select('.description').update(PBS.utils.PluginDetect.get_message(plugin, 'installed'))
    }
    else if(status === false) {
        el.select('.status').addClass('failed');
        el.select('.status').update('failed');
        el.select('.description').update(PBS.utils.PluginDetect.get_message(plugin, 'failed'))
    }
    else {
        el.select('.status').update('unknown');
        el.select('.description').update(PBS.utils.PluginDetect.get_message(plugin, 'unknown'))
    }
};
