//Environmental variables...
var env_mac, env_win, env_old, env_lin, env_konq, env_saf, env_op, env_ie, env_ns4;

//initialization, browser, os detection
function determineEnvironment(){	
	var d, dom, nu='', brow='';
	var moz, moz_brow, moz_brow_nu='', moz_brow_nu_sub='', rv_full=''; 

	d=document;
	n=navigator;
	nav=n.appVersion;
	nan=n.appName;
	nua=n.userAgent;
	env_old=(nav.substring(0,1)<4);
	env_mac=(nav.indexOf('Mac')!=-1);
	env_win=( ( (nav.indexOf('Win')!=-1) || (nav.indexOf('NT')!=-1) ) && !env_mac)?true:false;
	env_lin=(nua.indexOf('Linux')!=-1);
	// begin primary dom/ns4 test
	// this is the most important test on the page
	if ( !document.layers )
	{
	   dom = ( d.getElementById ) ? d.getElementById : false;
	}
	else { 
	   dom = false; 
	   env_ns4 = true;// only netscape 4 supports document layers
	}
	// end main dom/ns4 test
	
	env_op=(nua.indexOf('Opera')!=-1);
	env_saf=(nua.indexOf('Safari')!=-1);
	env_konq=(!env_saf && (nua.indexOf('Konqueror')!=-1) ) ? true : false;
	moz=( (!env_saf && !env_konq ) && ( nua.indexOf('Gecko')!=-1 ) ) ? true : false;
	env_ie=((nua.indexOf('MSIE')!=-1)&&!env_op);
	if (env_op)
	{
	   str_pos=nua.indexOf('Opera');
	   nu=nua.substr((str_pos+6),4);
	   brow = 'Opera';
	}
	else if (env_saf)
	{
	   str_pos=nua.indexOf('Safari');
	   nu=nua.substr((str_pos+7),5);
	   brow = 'Safari';
	}
	else if (env_konq)
	{
	   str_pos=nua.indexOf('Konqueror');
	   nu=nua.substr((str_pos+10),3);
	   brow = 'Konqueror';
	}
	// this part is complicated a bit, don't mess with it unless you understand regular expressions
	// note, for most comparisons that are practical, compare the 3 digit rv nubmer, that is the output
	// placed into 'nu'.
	else if (moz)
	{
	   // regular expression pattern that will be used to extract main version/rv numbers
	   pattern = /[(); \n]/;
	   // moz type array, add to this if you need to
	   moz_types = new Array( 'Firebird', 'Phoenix', 'Firefox', 'Iceweasel', 'Galeon', 'K-Meleon', 'Camino', 'Epiphany', 'Netscape6', 'Netscape', 'MultiZilla', 'Gecko Debian', 'rv' );
	   rv_pos = nua.indexOf( 'rv' );// find 'rv' position in nua string
	   rv_full = nua.substr( rv_pos + 3, 6 );// cut out maximum size it can be, eg: 1.8a2, 1.0.0 etc
	   // search for occurance of any of characters in pattern, if found get position of that character
	   rv_slice = ( rv_full.search( pattern ) != -1 ) ? rv_full.search( pattern ) : '';
	   //check to make sure there was a result, if not do  nothing
	   // otherwise slice out the part that you want if there is a slice position
	   ( rv_slice ) ? rv_full = rv_full.substr( 0, rv_slice ) : '';
	   // this is the working id number, 3 digits, you'd use this for 
	   // number comparison, like if nu >= 1.3 do something
	   nu = rv_full.substr( 0, 3 );
	   for (i=0; i < moz_types.length; i++)
	   {
	      if ( nua.indexOf( moz_types[i]) !=-1 )
	      {
	         moz_brow = moz_types[i];
	         break;
	      }
	   }
	   if ( moz_brow )// if it was found in the array
	   {
	      str_pos=nua.indexOf(moz_brow);// extract string position
	      moz_brow_nu = nua.substr( (str_pos + moz_brow.length + 1 ) ,3);// slice out working number, 3 digit
	      // if you got it, use it, else use nu
	      moz_brow_nu = ( isNaN( moz_brow_nu ) ) ? moz_brow_nu = nu: moz_brow_nu;
	      moz_brow_nu_sub = nua.substr( (str_pos + moz_brow.length + 1 ), 8);
	      // this makes sure that it's only the id number
	      sub_nu_slice = ( moz_brow_nu_sub.search( pattern ) != -1 ) ? moz_brow_nu_sub.search( pattern ) : '';
	      //check to make sure there was a result, if not do  nothing
	      ( sub_nu_slice ) ? moz_brow_nu_sub = moz_brow_nu_sub.substr( 0, sub_nu_slice ) : '';
	   }
	   if ( moz_brow == 'Netscape6' )
	   {
	      moz_brow = 'Netscape';
	   }
	   else if ( moz_brow == 'rv' || moz_brow == '' )// default value if no other gecko name fit
	   {
	      moz_brow = 'Mozilla';
	   } 
	   if ( !moz_brow_nu )// use rv number if nothing else is available
	   {
	      moz_brow_nu = nu;
	      moz_brow_nu_sub = nu;
	   }
	}
	else if (env_ie)
	{
	   str_pos=nua.indexOf('MSIE');
	   nu=nua.substr((str_pos+5),3);
	   brow = 'Microsoft Internet Explorer';
	}
	// default to navigator app name
	else 
	{
	   brow = nan;
	}
	// default to get number from navigator app version.
	if(!nu) 
	{
	   nu = nav.substring(0,1);
	}
}

var has_flash = 0;

function checkEnviroment(){
	determineEnvironment();	
	if (!env_mac && !env_saf && !env_op && !deployJava.versionCheck("1.4.2+")){
		// no java or not the right version
		zeige('pano',0,1);
		zeige('map',0,1);

		var body = document.getElementById('player');
		var ev_java = document.createElement('div');
		ev_java.id = 'ev_java';
		ev_java.style.left = '12px'; 
		ev_java.style.top  = '104px'; 
		ev_java.style.width  = '539px'; 
		ev_java.style.height  = '284px'; 
		ev_java.style.zIndex  = '2'; 
		ev_java.style.position = 'absolute';
		ev_java.innerHTML = '' +
 		'<iframe src="java.htm" style="width:100%;height:100%;background-color:transparent;" scrolling="no" frameborder="0" allowtransparency="true" width="100%" height="100%"></iframe>';
		body.appendChild(ev_java);				
  }
  // prepare flash div popup...
	window.setTimeout("popupFlashDiv();", 5000);
}

function closeJavaDiv(){
	document.getElementById('ev_java').style.visibility = 'hidden';
  zeige('pano',1,1);
	zeige('map',1,1);	
}

function popupFlashDiv(){
		if (has_flash == 1){
			return;
		}		
	if (document.getElementById('content_menu'))
		document.getElementById('content_menu').style.visibility = 'hidden';
		var body = document.getElementById('player');
		var ev_flash = document.createElement('div');
		ev_flash.id = 'ev_flash';
		ev_flash.style.left = '13px'; 
		ev_flash.style.top  = '418px'; 
		ev_flash.style.width  = '898px'; 
		ev_flash.style.height  = '160px'; 
		ev_flash.style.zIndex  = '2'; 
		ev_flash.style.position = 'absolute';
		ev_flash.innerHTML = '' +
  	'<iframe src="flash.htm" style="width:100%;height:100%;background-color:transparent;" scrolling="no" frameborder="0" allowtransparency="true" width="100%" height="100%"></iframe>';
		body.appendChild(ev_flash);	
}

function closeFlashDiv(){
	has_flash = 1;
	if (document.getElementById('ev_flash'))
		document.getElementById('ev_flash').style.visibility = 'hidden';
	if (document.getElementById('content_menu'))
		document.getElementById('content_menu').style.visibility = 'visible';
}
