//****************************************************************************************
//
//	Überprüfen der Bildschirmauflösung und anschließende Positionierung des div-Elements
//****************************************************************************************
document.write(' ');
var nosubmit = false;
var defaultButton = "";
var my_version = '0.1.0';
var dump =  'Performing browser test. Please wait.';
var prop = '';
var i;

// Java VM version number
var version = null;
var required_version = '1.3';


//This script detects the following:
//Flash
//Windows Media Player
//Java
//Shockwave
//RealPlayer
//QuickTime
//Acrobat Reader
//SVG Viewer

 var vbs = false;
// alert('vbs' + vbs + nosubmit);

setvb(vbs);

var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win") != -1) || (agt.indexOf("32bit") != -1));
var mac = (agt.indexOf("mac") != -1);
var pluginlist = "";

if (ie && win) {
    pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") +
        detectIE("Adobe.SVGCtl.1","Adobe SVG Viewer 1") +
        detectIE("Adobe.SVGCtl.2","Adobe SVG Viewer 2") +
        detectIE("Adobe.SVGCtl.3","Adobe SVG Viewer 3") +
        detectIE("Adobe.SVGCtl.4","Adobe SVG Viewer 4") +
       	detectIE("SWCtl.SWCtl.1","Shockwave Director") +
        detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") +
        detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") +
        detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") +
        detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") +
        detectIE("PDF.PdfCtrl.5","Acrobat Reader");
}

if (ns || !win) {
    nse = "";
    for (var i=0; i < navigator.mimeTypes.length; i++) {
        nse += navigator.mimeTypes[i].type.toLowerCase();
    }
    pluginlist = detectNS("image/svg-xml","SVG Viewer") +
        detectNS("application/x-director","Shockwave Director") +
        detectNS("application/x-shockwave-flash","Shockwave Flash") +
        detectNS("audio/x-pn-realaudio-plugin","RealPlayer") +
        detectNS("video/quicktime","QuickTime") +
        detectNS("application/x-mplayer2","Windows Media Player") +
        detectNS("application/pdf","Acrobat Reader");
}

function detectVersion() {
    alert("Try to detect SVG Version");
    document.write('<SCRIPT LANGUAGE=VBScript>\n' +
                   ' Set svgObj = CreateObject("Adobe.SVGCtl") \n' +
                   ' version = svgObj.getSVGViewerVersion \n' +
                   '</SCRIPT>\n');
    alert("Version: [" + version + "]");
}


function detectIE(ClassID,name) {
    result = false;
    document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n');
    if (result) {
        return name+',';
    } else {
        return '';
    }
}
function detectNS(ClassID,name) {
    n = "";
    if (nse.indexOf(ClassID) != -1) {
        if (navigator.mimeTypes[ClassID].enabledPlugin != null) {
            n = name+",";
        }
    }
    return n;
}

pluginlist += navigator.javaEnabled() ? "Java," : "";
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);

    function canDetectPlugins() {
        if( vbs || (navigator.plugins && navigator.plugins.length > 0) ) {
            return true;
        } else {
            return false;
        }
    }

//Flash
    flash = (pluginlist.indexOf("Flash") != -1) ? true : false;
//Windows Media Player
    wmp = (pluginlist.indexOf("Windows Media Player") != -1) ? true : false;
//Java
    java = (pluginlist.indexOf("Java") != -1) ? true : false;
//Shockwave
    shockwave = (pluginlist.indexOf("Shockwave") != -1) ? true : false;
//RealPlayer
    realplayer = (pluginlist.indexOf("RealPlayer") != -1) ? true : false;
//QuickTime
    quicktime = (pluginlist.indexOf("QuickTime") != -1) ? true : false;
//Acrobat Reader
    acrobat = (pluginlist.indexOf("Acrobat Reader") != -1) ? true : false;
//SVG Viewer
    svg  = (pluginlist.indexOf("Adobe SVG Viewer") != -1) ? true : false;
    svg1 = (pluginlist.indexOf("Adobe SVG Viewer 1") != -1) ? true : false;
    svg2 = (pluginlist.indexOf("Adobe SVG Viewer 2") != -1) ? true : false;
    svg3 = (pluginlist.indexOf("Adobe SVG Viewer 3") != -1) ? true : false;
    svg4 = (pluginlist.indexOf("Adobe SVG Viewer 4") != -1) ? true : false;

//  document.write('<br><b>Can Detect Plugins:</b> ' + canDetectPlugins() + '<br><br>');
//        alert("Can Detect Plugins: " + canDetectPlugins() ); 
        
//    if(canDetectPlugins()) {
//        alert("Supports Shockwave for Director: " + shockwave + "\n" + 
//              "Supports SVG: " + svg + "\n" +
//              "Supports Shockwave Flash: " + flash + "\n" + 
//              "Supports QuickTime: " + quicktime + "\n" +
//              "Supports RealPlayer: " + realplayer + "\n" +
//              "Supports SVG: " + svg + "\n" +
//              "Supports Windows Media Player: " + wmp);

//         document.write('<b>Supports Shockwave for Director:</b> ' + shockwave + '<br>' + 
//                        '<b>Supports SVG:</b><br>' +
//                        '<b>Supports SVG:</b> ' + svg + '<br>' +
//                        '<b>Supports Shockwave Flash:</b> ' + flash + '<br>' + 
//                        '<b>Supports QuickTime:</b> ' + quicktime + '<br>' +
//                        '<b>Supports RealPlayer:</b> ' + realplayer + '<br>' +
//                        '<b>Supports SVG:</b> ' + svg + '<br>' +
//                        '<b>Supports Windows Media Player:</b> ' + wmp);
//    }

function setvb(vbs) {
    document.write('<SCRIPT LANGUAGE=VBScript>\n If ScriptEngineMajorVersion >= 2 then \n vbs = true \n End If </SCRIPT>\n');
        return vbs;
    }

function detectIE(ClassID,name) {
    result = false;
    document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n');
    if (result) {
        return name+',';
    } else {
        return '';
    }
}
function detectNS(ClassID,name) {
    n = "";
    if (nse.indexOf(ClassID) != -1) {
        if (navigator.mimeTypes[ClassID].enabledPlugin != null) {
            n = name+",";
        }
    }
    return n;
}


function Init() {
	
	
    var svg=new Object();

// Set some base values
    svg.installed = false;
    svg.version='0.0';

    if (window.ActiveXObject) {
	for (x=2; x<10; x++) {
            try {
                oSVG = new ActiveXObject("Adobe.SVGCtl." + x);
                if (typeof(oSVG) == 'object') {
                    svg.installed = true;
                    svg.version   = oSVG.getSVGViewerVersion();
                }
//            }
            } catch(e) {
//                  alert("init Error\n" +
//                        "name:\t[" + e.name + "]\n" +
//                        "message:\t[" + e.message + "]\n" +
//                        "number:\t[" + e.number + "]\n" +
//                        "description:\t[" + e.description + "]");
//                 return;
    		}        
    	}        
    }
//    } else {
//        alert("window.ActiveXObject fails");
//        return;
//    }

//    document.write('<b>SVG Version:</b> ' + svg.version + '<br>');

    svgversion = 0;
   	if ( svg.version.substring(0,5) == "Adobe") {
//   		alert(parseFloat(svg.version.substring(7,11)));
   		svgversion = parseFloat(svg.version.substring(7,11))
   	}	
	if (svgversion > 2) {
//  		document.getElementById('svg_installed').innerHTML = 'true';      
		document.Login.svg.value = 'true';
	}	
    else if (svgversion > 0 ) {
//  		document.getElementById('svg_installed').innerHTML = 'You need a higher Version of a SVG-Plugin';      
 		 document.getElementById("svg_higherVersion").style.display = "inline";
		document.Login.svg.value = 'false';
   	}
	else {
//  		document.getElementById('svg_installed').innerHTML = 'You need a SVG-Plugin for interactive graphics';      
 		 document.getElementById("svg_installed").style.display = "inline";
		document.Login.svg.value = 'false';
	}


	if (screen.height > 1000) {
		document.Login.resolution.value = "1200";
		}
	else if (screen.height < 610) {
		document.Login.resolution.value = "800";
		}
	else {
		document.Login.resolution.value = "1000";
		}

  // timeout necessary to ensure that the applet has loaded
//  window.setTimeout('javaVersion()' , 2000);


//   	if (javaVersion()) {
// 		 document.getElementById("errorline").style.display = "none";
//    }
//    else {
// 		 document.getElementById("errorline").style.display = "inline";
//    }
    
	
}

function startsubmit()
{
	nosubmit = false;

}

function CheckEnter(e) {
	var browser = BrowserTest();
	
	if(!e) {var e = window.event;
		e.cancelBubble = true;
		if(e.stopPropagation) e.stopPropagation();
	}
	var key = e.which ? e.which : e.keyCode;

/* alert('[' + typeof(key) + ']' + '[' + (key) + ']'); */
	if (key == 13) {
    	if (document.Login.simpleSearch.value == ''){
			alert('Please enter searchstring !');
			nosubmit = true;			
			document.Login.simpleSearch.focus();
		}
		else {
			document.Login.submitSimpleSearch.focus();	
			nosubmit = true;			
            if(browser == "ie") nosubmit = false;
		}
	}
}

function checkSubmit() {
	if(nosubmit){
		nosubmit = false;
		return false;
	}
	else {
		return true;
	}
}

//****************************************************************************************
//
//	Überprüfen von Browser (Internet Explorer oder Netscape?)
//
//****************************************************************************************

function BrowserTest() {
	var browser = new String(navigator.userAgent);
	
	if (document.all) {
		if (browser.match("Mac_PowerPC"))
			return "ie-mac";
		else
			return "ie";
	}
	else
		return "ns";	
}

function javaVersion() {
  props = new Array();
  i = 0;

  var now = new Date();
  now = now.toGMTString();
  dump += now + '\n\n';

  /*
    this indicates if the browser supports direct java method access
    shortcuts like:
      version = new java.lang.System.getProperty('java.version');
    result a javascript error
  */

  try {
    var obj = document["vmVersion"];
    if (typeof(obj) == 'object') {
      version = obj.vmVersion();
    } else {
      dump += '\nTestapplet not available.\nCheck the HTML code.\n\n';
    }
  } catch(e) {
    dump += 'number:\t\t' + e.number + '\n';
  }

  // important step that converts the version object into a string
  version = String(version);
  var available = ((version != null) ? ((parseFloat(version) >= parseFloat(required_version)) ? true : false) : false);

  return available;
}
