// ===========================================
// Master enthaelt die Funktionen
// Datestamp, FlashStarten, ParameterAbrufen, ErweiterungAbrufen & ObjektAufbauen
// ===========================================

	retInnPars = new Object();
	retPars = new Object();
	retObjPars = new Object();

  function datestamp()
	{
	document.write('Letztes Update dieser Site: 30. 03. 2008');
	}

function FlashStarten()
	{
	ParameterAbrufen(arguments, '.swf', 'movie', 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
							   'application/x-shockwave-flash');
	ObjektAufbauen(retObjPars, retPars, retInnPars);
	}

function ParameterAbrufen(Par, Erw, sParName, classid, mimeType)
	{

	for (var i = 0; i < Par.length; i = i + 2)
		{
		var kleinPar = Par[i].toLowerCase();

		switch (kleinPar)
			{

			// Die Uebergabe des Flash-Films wir speziell durchgefuehrt
			case 'src':
			case 'movie':
				Par[i + 1] = ErweiterungAbrufen(Par[i + 1], Erw);

				retInnPars['src'] = Par[i + 1];
				retPars[sParName] = Par[i + 1];

				break;

			// name und id muessen mit "-1" bzw. "-2" ergaenzt werden, damit
			// sie beim embed- und beim object-tag verschieden sind
			case 'name':
			case 'id':
				retInnPars[Par[i]] = Par[i + 1] + '-2';
				retObjPars[Par[i]] = Par[i + 1] + '-1';

				break;

			// classid, type und codetype werden speziell behandelt
			case 'classid': break;
			case 'type': break;
			case 'codetype': break;

			// Attribute, die nur im embed-tag vorkommen
			case 'pluginspage':
			case 'swliveconnect':
				retInnPars[Par[i]] = Par[i + 1];

				break;

			// Parameter, die nur als Parameter im object-tag vorkommen
			case 'salign':
			case 'devicefont':
			case 'seamlesstabbing':
				retPars[Par[i]] = Par[i + 1];

				break;

			// Parameter, die nur im object-tag vorkommen
			case 'onafterupdate':
			case 'onbeforeupdate':
			case 'onblur':
			case 'oncellchange':
			case 'onclick':
			case 'ondblclick':
			case 'ondrag':
			case 'ondragend':
			case 'ondragenter':
			case 'ondragleave':
			case 'ondragover':
			case 'ondrop':
			case 'onfinish':
			case 'onfocus':
			case 'onhelp':
			case 'onmousedown':
			case 'onmouseup':
			case 'onmouseover':
			case 'onmousemove':
			case 'onmouseout':
			case 'onkeypress':
			case 'onkeydown':
			case 'onkeyup':
			case 'onload':
			case 'onlosecapture':
			case 'onpropertychange':
			case 'onreadystatechange':
			case 'onrowsdelete':
			case 'onrowenter':
			case 'onrowexit':
			case 'onrowsinserted':
			case 'onstart':
			case 'onscroll':
			case 'onbeforeeditfocus':
			case 'onactivate':
			case 'onbefordeactivate':
			case 'ondeactivate':
			case 'codebase':
			case 'lang':
			case 'dir':
				retObjPars[Par[i]] = Par[i + 1];

				break;

			// Attribute und Parameter die im embed- und im
			// object-tag vorkommen
			case 'border':
			case 'width':
			case 'height':
			case 'align':
			case 'vspace':
			case 'hspace':
			case 'class':
			case 'title':
			case 'accesskey':
			case 'tabindex':
				retInnPars[Par[i]] = retObjPars[Par[i]] = Par[i + 1];

				break;

			// Atribute und Parameter die im embed-tag und als
			// Parameter im object-tag vorkommen
			default: retInnPars[Par[i]] = retPars[Par[i]] = Par[i + 1];
			}

	}

			// classid, type und codetype festlegen
	retObjPars['classid'] = classid;

	if (mimeType)
		{
		retInnPars['type'] = mimeType;
		retObjPars['codetype'] = mimeType;
		}

	}

function ErweiterungAbrufen(sc, Erw)
	{
	if (sc.indexOf('?') != -1)
		{
		return sc.replace(/\?/, Erw + '?');
		}

	else
		{
		return sc + Erw;
		}
	}

function ObjektAufbauen(objPars, Pars, innPars)
	{
	var str = '<object ';

	for (var i in objPars)
		{
		str += i + '="' + objPars[i] + '" ';
		}

	str = str.substr(0, (str.length-1));

	str += '>';

	for (i in Pars)
		{
		str += '<param name="' + i + '" value="' + Pars[i] + '">';
		}

	str += '<embed ';

	for (i in innPars)
		{
		str += i + '="' + innPars[i] + '" ';
		}

	str = str.substr(0, (str.length-1));

	str += '></embed></object>';
	document.write(str);
	}
