/*
* $Header: $
* $Revision: $
* $Date: $
*
* ====================================================================
*
* Copyright (c) 2000 - 2004 SCC Informationssysteme GmbH. All rights
* reserved.
* Vendor URL : http://www.scc-gmbh.com
* Product URL: http://www.common-controls.com
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL SCC INFORMATIONSSYSTEME GMBH OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* Note: This file belongs to the Common Controls Presentation
* Framework. Permission is given to use this script only
* together with the Common Controls Presentation Framework
*
* ====================================================================
*/
/*
+ ---------------------------------------------------------------------------------+
| Object...: Browser()
| Function.: Utility to test for browser and browser versions
|
| Date Author Description
| ---------- ---------------- ----------------------------------------------------
| 23.12.2002 G.Schulz (SCC) Inital version
| 31.12.2003 G.Schulz (SCC) support for opera browser added
| 28.03.2004 G.Schulz (SCC) support for safari (mac) browser added
| 22.12.2004 G.Schulz (SCC) support for mozilla and firefox added
|
+ ---------------------------------------------------------------------------------+
*/
function Browser() {
}
function Browser_getAppName() {
return navigator.appName;
}
function Browser_getAppVersion() {
return navigator.appVersion;
}
function Browser_getUserAgent() {
return navigator.userAgent;
}
function Browser_isNS() {
var ns = this.getUserAgent().indexOf('Netscape') != -1;
if (ns && this.isFirefox()) {
return false;
} else if (ns && this.isSafari()) {
return false;
} else {
return ns;
}
}
function Browser_isSafari() {
return this.getUserAgent().indexOf('Safari') != -1;
}
function Browser_isIE() {
if (this.isOpera()) {
return false;
} else {
return this.getAppName().indexOf('Microsoft') != -1;
}
}
function Browser_isOpera() {
return this.getUserAgent().indexOf('Opera') != -1;
}
function Browser_isMozilla() {
if (this.isNS()) {
return false;
} else if (this.isOpera()) {
return false;
} else if (this.isFirefox()) {
return false;
} else {
return this.getUserAgent().indexOf('Mozilla') != -1;
}
}
function Browser_isFirefox() {
return this.getUserAgent().indexOf('Firefox') != -1;
}
function Browser_extractVersion() {
var out = '';
var ua = this.getUserAgent();
// Dont change the order !
if (this.isSafari()) {
var arr = ua.split('Safari');
return arr[1].split('/')[1];
}
if (this.isNS()) {
var arr = ua.split(' ');
for (var i=0; i < arr.length; i++) {
if ( arr[i].indexOf('Netscape') != -1) {
return arr[i].split('/')[1];
}
}
}
if (this.isIE()) {
var arr = ua.split(';');
for (var i=0; i < arr.length; i++) {
if ( arr[i].indexOf('MSIE') != -1) {
return arr[i].split(' ')[2];
}
}
}
if (this.isOpera()) {
// Opera.([\d]+\.[\d]+)
var arr = ua.split('Opera');
return arr[1].split('[')[0];
}
if (this.isMozilla()) {
var arr = ua.split(' ');
return arr[0].split('/')[1];
}
if (this.isFirefox()) {
var arr = ua.split('Firefox');
return arr[1].split('/')[1];
}
// Default
return out;
}
function Browser_getPlatform() {
return navigator.platform;
}
function Browser_isSupported() {
// Check if the Browser is supported by the application
var version = this.extractVersion();
if (this.isIE() && parseFloat(version) > 5) {
return true;
}
if (this.isNS() && parseFloat(version) > 7) {
return true;
}
/*
if (this.isOpera() && parseFloat(version) >= 7) {
return true;
}
*/
if (this.isSafari() && parseFloat(version) >= 7) {
return true;
}
if (this.isFirefox() && parseFloat(version) >= 1) {
return true;
}
if (this.isMozilla() && parseFloat(version) >= 5) {
return true;
}
return false;
}
function Browser_getPlugInList() {
var out = '';
var _plugin;
navigator.plugins.refresh();
if (navigator.plugins.length == 0) {
if (this.isIE) {
out = 'Information not available';
} else {
out = 'none';
}
} else {
for(var i=0; i < navigator.plugins.length; i++) {
_plugin = navigator.plugins[i];
out += _plugin.name + ' (' + _plugin.description + ')' + '
';
}
}
return out;
}
function Browser_getMimeTypeList() {
var out = '';
if (navigator.mimeTypes.length == 0) {
out = 'none';
} else {
for(var i=0; i < navigator.mimeTypes.length; i++) {
var _mimeTypes = navigator.mimeTypes[i];
out += _mimeTypes.name + ' (' + _mimeTypes.description + ')' + '
';
}
}
return out;
}
function Browser_isCookieEnabled() {
return navigator.cookieEnabled;
}
function Browser_toString() {
var out = '';
out += '****** Browser *******' + LF;
out += 'AppName.......: ' + this.getAppName() + LF;
out += 'AppVersion....: ' + this.getAppVersion() + LF;
out += 'Platform......: ' + this.getPlatform() + LF;
out += 'userAgent.....: ' + this.getUserAgent() + LF;
out += 'IE............: ' + this.isIE() + LF;
out += 'NS............: ' + this.isNS() + LF;
out += 'Opera.........: ' + this.isOpera() + LF;
out += 'Safari........: ' + this.isSafari() + LF;
out += 'Mozilla.......: ' + this.isMozilla() + LF;
out += 'Firefox.......: ' + this.isFirefox() + LF;
out += 'Version.......: ' + this.extractVersion() + LF;
out += 'Is Supported..: ' + this.isSupported();
return out;
}
function Browser_javaEnabled() {
return navigator.javaEnabled();
}
function Browser_getJavaEnabledMessage() {
if (this.javaEnabled()) {
return 'Yes';
} else {
var info = "Warning!
";
var txt = "No JavaScript enabled. JavaScript is required to run the Application.";
txt += "
Please turn on JavaScript in your Browser. [Help...]";
return info.fontcolor('red').bold() + txt;
}
}
new Browser();
Browser.getAppName = Browser_getAppName;
Browser.getAppVersion = Browser_getAppVersion;
Browser.getUserAgent = Browser_getUserAgent;
Browser.extractVersion = Browser_extractVersion;
Browser.getPlatform = Browser_getPlatform;
Browser.javaEnabled = Browser_javaEnabled;
Browser.getJavaEnabledMessage = Browser_getJavaEnabledMessage;
Browser.isNS = Browser_isNS;
Browser.isIE = Browser_isIE;
Browser.isSafari = Browser_isSafari;
Browser.isOpera = Browser_isOpera;
Browser.isMozilla = Browser_isMozilla;
Browser.isFirefox = Browser_isFirefox;
Browser.isSupported = Browser_isSupported;
Browser.getPlugInList = Browser_getPlugInList;
Browser.getMimeTypeList = Browser_getMimeTypeList;
Browser.isCookieEnabled = Browser_isCookieEnabled;
Browser.toString = Browser_toString;
var ie = Browser.isIE();
var ns = Browser.isNS();
var opera = Browser.isOpera();
var safari = Browser.isSafari();
var mozilla = Browser.isMozilla();
var firefox = Browser.isFirefox();
/*
+ ---------------------------------------------------------------------------------+
| Object...: Environment
| Function.: Checks the User-Environment
|
| Date Author Description
| ---------- ---------------- ----------------------------------------------------
| 23.12.2002 G.Schulz (SCC) Inital Version
|
+ ---------------------------------------------------------------------------------+
*/
function Environment() {
}
function Environment_getWidth() {
return screen.width;
}
function Environment_getHeight() {
return screen.height;
}
function Environment_screenAttributes() {
var out = '';
out += 'Width: ' + this.getWidth() + '; ';
out += 'Height: ' + this.getHeight();
return out;
}
function Environment_toString() {
}
new Environment();
Environment.getWidth = Environment_getWidth;
Environment.getHeight = Environment_getHeight;
Environment.screenAttributes = Environment_screenAttributes;
Environment.toString = Environment_toString;