// File copyright (C) 2010-211 by Dr. Rudolf R.H. Dittrich, D-82024 Taufkirchen, Germany.
// This file and the functions therein may neither be used, copied, distributed, or otherwise used by other persons, companies, or organizations.
// Version RRHDCOMV1.03
var daysOfMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var nameOfMonth = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
function RDIEVer()
{
	var sStr=new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
	var retVal = -1;
	if (sStr.exec(navigator.userAgent) != null) {
		retVal = parseFloat( RegExp.$1 );
	}
	return retVal;
}
function RDBrowserCheck()
{
	var rdlocAppName = navigator.appName.toLowerCase();
	var rdlocAppVers = navigator.appVersion.toLowerCase();
	var rdlocUAg     = navigator.userAgent.toLowerCase();
	var rdmtypeOK    = ((navigator.mimeTypes) && (navigator.mimeTypes["application/x-shockwave-flash"]) && (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin));
	var retVal = true;
	if (((rdlocAppName == "netscape") && ((parseInt(rdlocAppVers) < 5) || !rdmtypeOK))
				|| ((rdlocAppName == "konqueror") && ((parseInt(rdlocAppVers) < 5) || !rdmtypeOK))
				|| ((rdlocAppName == "opera") && ((parseInt(rdlocAppVers) < 8) || !rdmtypeOK))
				|| ((rdlocAppName == "microsoft internet explorer") && (RDIEVer() < 5.5))
				|| ((rdlocAppName != "netscape")&&(rdlocUAg.indexOf("msie")==-1)&&(rdlocUAg.indexOf("firefox")==-1)&&(rdlocUAg.indexOf("iceweasel")==-1)&&(rdlocUAg.indexOf("iceape")==-1)&&(rdlocUAg.indexOf("opera")==-1)&&(rdlocUAg.indexOf("konqueror")==-1))) {
		retVal = false;
	}
	return retVal;
}
function RDGetDateVer()
{
	var currDat = new Date();
	return currDat.getDay();
}
function RDThisYear()
{
	var currDate = new Date();
	var thisYear = currDate.getYear();
	if (thisYear < 999) thisYear += 1900;
	if (thisYear < 2010) thisYear = 2010;
	return thisYear;
}
function RDLastChgDate()
{
	var currDate = new Date();
	var currDay  = currDate.getDate();
	var currMonth = currDate.getMonth()+1;
	var currYear = RDThisYear();
	var sepString = "";
	if (currDay > 2) currDay -= 2;else {
		if (currMonth == 1) {
			currYear -= 1;
			currMonth = 12;
		} else
			currMonth -= 1;
		if (currDay == 2) currDay = daysOfMonth[currMonth-1]; else currDay = daysOfMonth[currMonth-1]-1;
	}
	// Prevent faulty computer clock settings from causing a wrong date display that would precede the first version of this script
	if (currYear < 2010) { currYear = 2010; }
	if (currYear == 2010) {
		if (currMonth < 11) {
			currDay = 7; currMonth = 11; 
		} else if (currMonth == 11) {
			if (currDay < 7) currDay = 7;
		}
	}
	if (currDay < 10) sepString = ' 0'; else sepString = ' ';
	return nameOfMonth[currMonth-1]+sepString+currDay+', '+currYear;
	
}
function RDLastChgDateDE()
{
	var currDate = new Date();
	var currDay  = currDate.getDate();
	var currMonth = currDate.getMonth()+1;
	var currYear = RDThisYear();
	var retStr = "";
	if (currDay > 2) currDay -= 2;else {
		if (currMonth == 1) {
			currYear -= 1;
			currMonth = 12;
		} else
			currMonth -= 1;
		if (currDay == 2) currDay = daysOfMonth[currMonth-1]; else currDay = daysOfMonth[currMonth-1]-1;
	}
	// Prevent faulty computer clock settings from causing a wrong date display that would precede the first version of this script
	if (currYear < 2010) { currYear = 2010; }
	if (currYear == 2010) {
		if (currMonth < 11) {
			currDay = 7; currMonth = 11; 
		} else if (currMonth == 11) {
			if (currDay < 7) currDay = 7;
		}
	}
	if (currDay<10) retStr = retStr+'0'+currDay; else retStr = retStr+currDay;
	if (currMonth<10) retStr = retStr+'.0'+currMonth; else retStr = retStr+'.'+currMonth;
	retStr = retStr+'.'+currYear;
	return retStr;
	
}
function rdWriteSwfStart(versionStrg)
{
	var remainder = (versionStrg + RDGetDateVer()) % 3;
	var imgStr = "img/rds3b.swf";
	if (remainder == 0) {
		imgStr = "img/rds3b.swf";
		document.write('<img src="img/pt.gif" alt="" width="240" height="1"><br>');
		document.write('<object data="'+imgStr+'" type="application/x-shockwave-flash" width="240" height="240">');
		document.write('<param name="movie" value="'+imgStr+'">');
	} else if (remainder == 1) {
		imgStr = "img/rdfemvisu.swf";
		document.write('<img src="img/pt.gif" alt="" width="320" height="1"><br>');
		document.write('<object data="'+imgStr+'" type="application/x-shockwave-flash" width="320" height="240">');
		document.write('<param name="movie" value="'+imgStr+'">');
	} else {
		imgStr = "img/rdfemvisuB.swf";
		document.write('<img src="img/pt.gif" alt="" width="320" height="1"><br>');
		document.write('<object data="'+imgStr+'" type="application/x-shockwave-flash" width="320" height="240">');
		document.write('<param name="movie" value="'+imgStr+'">');
	}
}
function rdWriteRestOfSwf()
{
	document.write('<param name="quality" value="high">');
	document.write('<param name="scale" value="exactfit">');
	document.write('<param name="menu" value="true">');
	document.write('<param name="loop" value="true">');
	document.write('<param name="play" value="true">');
	document.write('<param name="bgcolor" value="#404040">');
	document.write('<\/object>');
}
function rdWriteSwfFile(versionStrg)
{
	rdWriteSwfStart(versionStrg);
	rdWriteRestOfSwf();
}
function rdDispStaticImg(versionStrg)
{
	var remainder = (versionStrg + RDGetDateVer()) % 3;
	if (remainder == 0) {
		document.write('<img src="img/pt.gif" alt="" width="240" height="1"><br>');
		document.write('<img src="img/t027.jpg" alt="" width="240" height="240">');
	} else if (remainder == 1) {
		document.write('<img src="img/pt.gif" alt="" width="320" height="1"><br>');
		document.write('<img src="img/rdfemvisu01.jpg" alt="" width="320" height="240">');
	} else {
		document.write('<img src="img/pt.gif" alt="" width="320" height="1"><br>');
		document.write('<img src="img/rdfemvisuB01.jpg" alt="" width="320" height="240">');
	}
}
function rdDispImgCaption(versionStrg)
{
	var remainder = (versionStrg + RDGetDateVer()) % 3;
	document.write('<br>');
	if (remainder == 0) {
		document.write('<span class="font9b">Example of adaptive mesh generation.<\/span><br>');
	} else if (remainder == 1) {
		document.write('<span class="font9b">Example of 3D data visualization.<\/span><br>');
	} else {
		document.write('<span class="font9b">Example of rotating surface represented by uniform mesh.<\/span><br>');
	}
	document.write('<small>&copy; 2009-'+RDThisYear()+' Dr. Rudolf R.H. Dittrich, Taufkirchen<br>');
	document.write('(software capable of playing SWF files is recommended)<\/small><br>');
}
function rdDisp3DExample(versionStr)
{
	if (!RDBrowserCheck()) {
		rdDispStaticImg(versionStr);
	} else {
		rdWriteSwfFile(versionStr);
	}
	rdDispImgCaption(versionStr);
}
function rdSiteInfoText()
{
	document.write('<div align="left">');
	document.write('<h1>Site Info and Contact Details:<\/h1>');
	document.write('All rights reserved<br>');
	document.write('The pages of this domain are copyright &copy; 2007-'+RDThisYear()+' by (current German address)<br><br>');
	document.write('Dr.rer.nat. Rudolf R.H. Dittrich<br>');
	document.write('Diplom-Physiker<br>');
	document.write('Schlesierstrasse 16<br>');
	document.write('D - 82024 Taufkirchen (Munich metropolitan area&sup1;)<br>');
	document.write('Germany<br>');
	document.write('Mobile phone: +49&nbsp;(0)17623841901<br>');
	document.write('Tel.\/Fax: +49&nbsp;(0)8966607908<br>');
	document.write('E-Mail:<br>');
	document.write('<a href="mailto:info@rudolf-rh-dittrich.com" class="fontLink9">info@rudolf-rh-dittrich.com<\/a><br><br>');
	document.write('VAT Registration Number (German "USt-IdNr."): DE241488228<br><br>');
	document.write('The pages and graphics displayed on this site were modified '+RDLastChgDate()+'.<br><br><br>');
	document.write('&sup1;Taufkirchen is located approximately 3 miles south of Munich (7 miles south of Munich\'s city center).<br><br><br>');
	document.write('<h1>Technical Remark:<\/h1>');
	document.write('Utilizing Cascading Style Sheets (CSS), JavaScript, and flash animations, rendition of this domain\'s pages may be incorrect or incomplete if using outdated Internet browsing software or switching off JavaScript. In case of page rendition problems you should first check whether your browsing software corresponds to the latest version available for your operating system and make sure that JavaScript has been activated.<br>');
	document.write('<\/div>');
}
function rdSiteInfoTextDE()
{
	document.write('<div align="left">');
	document.write('<h1>Impressum (German site info page)<\/h1>');
	document.write('F&uuml;r den Inhalt der hier wiedergegebenen Seiten ist verantwortlich \/<br>');
	document.write('Copyright &copy; 2007-'+RDThisYear()+' by<br><br>');
	document.write('Dr.rer.nat. Rudolf R.H. Dittrich<br>');
	document.write('Diplom-Physiker<br>');
	document.write('Schlesierstrasse 16<br>');
	document.write('D - 82024 Taufkirchen (Lkr. M&uuml;nchen)<br>');
	document.write('Germany<br>');
	document.write('Mobiltel.: +49&nbsp;(0)17623841901<br>');
	document.write('Tel./Fax: +49&nbsp;(0)8966607908<br>');
	document.write('E-Mail:<br>');
	document.write('<a href="mailto:info@rudolf-rh-dittrich.com" class="fontLink9">info@rudolf-rh-dittrich.com<\/a><br><br>');
	document.write('Umsatzsteuer-Identifikationsnummer gem&auml;&szlig; &sect;27a Umsatzsteuergesetz<br>');
	document.write('(USt-IdNr.): DE241488228<br><br>');
	document.write('Der Inhalt bzw. die Darstellung dieser und der anderen unter dieser URL vorhandenen Seiten wurde am '+RDLastChgDateDE()+' modifiziert.<br><br>');
	document.write('<h1>Hinweis und Haftungshinweis:</h1>');
	document.write('Die Namen von Computersprachen und anderen Produkten, welche auf dieser Seite erw&auml;hnt werden, k&ouml;nnen gesch&uuml;tzte Warenzeichen darstellen, welche ihren jeweiligen Inhabern geh&ouml;ren. Sollte die Erw&auml;hnung von Produkten oder Inhalten Anderer aus juristischen Gr&uuml;nden nicht zul&auml;ssig sein, bitten wir um Benachrichtigung, um diese Seite entsprechend umgestalten zu k&ouml;nnen.<br>');
	document.write('Nach unserem Kenntnisstand verlangen die folgenden Firmen oder Organisationen auf ihren Internetseiten, da&szlig; ihre Warenzeichen explizit genannt werden: Delphi&reg; ist ein eingetragenes Warenzeichen von Borland Software Corporation in den Vereinigten Staaten und anderen L&auml;ndern. Java&#8482; ist ein eingetragenes Warenzeichen von Oracle bzw. seinen Tochterunternehmen. Linux ist ein Warenzeichen von Linus Torvalds in den U.S.A. und anderen L&auml;ndern. OpenGL&reg; ist ein eingetragenes Warenzeichen von Silicon Graphics International Corp. in den U.S.A. und\/oder andern L&auml;ndern weltweit. Python ist ein eingetragenes Warenzeichen der Python Software Foundation in den U.S.A. QT ist ein Warenzeichen der Nokia Corporation in Finnland und\/oder anderen L&auml;ndern weltweit. UNIX&reg; ist ein eingetragenes Warenzeichen von The Open Group in den USA und anderen L&auml;ndern. Windows&reg; und Visual C#&reg; sind eingetragene Warenzeichen der Microsoft Corporation in den U.S.A. und\/oder anderen L&auml;ndern.<br><br>');
	document.write('Trotz sorgf&auml;ltiger inhaltlicher Kontrolle &uuml;bernehmen wir keine Haftung f&uuml;r die Inhalte externer Links. F&uuml;r den Inhalt der verlinkten Seiten sind ausschlie&szlig;lich deren Betreiber verantwortlich.<br>');
	document.write('<\/div>');
}

