contextpath = '';
speaklayer = 'LayerPlayer'

// mtype= 0 swf 1 flv 2 mp3
function insertFlashPlayer(nelement, swf, mediaurl, autostart, width, height,
		mtype, forceload) {
	if (forceload) {
		mediaurl = mediaurl + '#dummy=' + Math.random();
	}
	mediaurl = mediaurl + '&mtype=' + mtype;
	if (autostart) {
		mediaurl = mediaurl + '&autostart=1';
	}
	var id = "id_" + Math.random();
	var s = "";
	s = s
			+ '<embed src="'
			+ swf
			+ '" id='
			+ id
			+ ' name='
			+ id
			+ ' quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'
			+ width + '" height="' + height;
	s = s + '" scale=noscale salign=lt ';
	s = s + ' FlashVars="' + mediaurl + '"';
	s = s + '</embed>';

	// dd.elements[nelement].write(s);
	document.getElementById(nelement).innerHTML = s;

	// alert(s);

	/*
	 * var
	 * doc=document.getElementsByName('frameplayer')[0].contentWindow.document;
	 * alert(doc); doc.open("text/html"); s="<html><body>"+s+"</body></html>";
	 * doc.write(s); doc.close();
	 */
	// alert(s);
}

function insertPlayer(nelement, swfurl) {

	var s = "";
	s = s
			+ '<embed src="'
			+ swfurl
			+ '" id=mediaplayer quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="1" height="1';
	s = s + '" scale=noscale salign=lt ';
	s = s + '</embed>';

	// dd.elements[nelement].write(s);
	document.getElementById(nelement).innerHTML = s;

}

function speakText(atext) {
	atext = atext.replace(/#3F/gi, '~3F');
	atext = atext.replace(/&/gi, '~26');
	atext = atext.replace(/\"/gi, ' ');

	// var
	// doc=document.getElementsByName('frameplayer')[0].src=contextpath+'mediaplayer.jsp?media='+contextpath+'/speaktext.do?text='+atext;
	// escape für text verliert Umlaute!!

	insertFlashPlayer(speaklayer, contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/speaktext.do,text=' + atext, true,
			1, 1, 2, true);
}

function speakTextSpeaker(atext, speaker) {
	atext = atext.replace(/#3F/gi, '~3F');
	atext = atext.replace(/&/gi, '~26');
	atext = atext.replace(/\"/gi, ' ');

	// var
	// doc=document.getElementsByName('frameplayer')[0].src=contextpath+'mediaplayer.jsp?media='+contextpath+'/speaktext.do?text='+atext;
	// escape für text verliert Umlaute!!
	// alert(speaker);
	speaker = escape(speaker);
	insertFlashPlayer(speaklayer, contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/speaktext.do,speaker=' + speaker
					+ '%26text=' + atext, true, 1, 1, 2, true);
}

function speakTextLang(atext, lang) {
	atext = atext.replace(/#3F/gi, '~3F');
	atext = atext.replace(/&/gi, '~26');
	atext = atext.replace(/\"/gi, ' ');

	// var
	// doc=document.getElementsByName('frameplayer')[0].src=contextpath+'mediaplayer.jsp?media='+contextpath+'/speaktext.do?text='+atext;
	// escape für text verliert Umlaute!!
	insertFlashPlayer(speaklayer, contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/speaktext.do,lang=' + lang
					+ '%26text=' + atext, true, 1, 1, 2, false);
}

function speakTextFlash(atext) {
	atext = atext.replace(/#3F/gi, '~3F');
	atext = unescape(atext.replace(/#/gi, "%"));
	atext = atext.replace(/&/gi, '~26');
	atext = atext.replace(/\"/gi, ' ');
	// alert("speakTextFlash");
	insertFlashPlayer(speaklayer, contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/speaktext.do,text=' + atext, true,
			1, 1, 2, true);
}

function speakTextLangFlash(atext, lang) {
	atext = atext.replace(/#3F/gi, '~3F');
	atext = unescape(atext.replace(/#/gi, "%"));
	atext = atext.replace(/&/gi, '~26');
	atext = atext.replace(/\"/gi, ' ');
	insertFlashPlayer(speaklayer, contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/speaktext.do,lang=' + lang
					+ '%26text=' + atext, true, 1, 1, 2, false);
}

function speakDIV(selement) {
	var s = getDivText(selement);

	// s=s.replace(/<BR>/gi,' ');
	// s=s.replace(/<strong>/gi,' ');
	// s=s.replace(/<\/strong>/gi,' ');

	speakText(s);
}

function speakDIVSpeaker(selement, speaker) {
	var s = getDivText(selement);

	// s=s.replace(/<BR>/gi,' ');
	// s=s.replace(/<strong>/gi,' ');
	// s=s.replace(/<\/strong>/gi,' ');

	speakTextSpeaker(s, speaker);
}

function getDivText(divname) {
	var s = document.getElementById(divname).innerHTML;
	var re = /<\S[^>]*>/g;
	s = s.replace(re, "");
	s = s.replace("  ", "");
	s = s.replace("&nbsp;", " ");
	return s;
}

function playSysAudio(keyword) {
	insertFlashPlayer('LayerPlayer', contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/getmedia.do,keyword=' + keyword,
			true, 3, 3, 0, false);

}

function playAudio(id) {
	insertFlashPlayer('LayerPlayer', contextpath + '/flash/mediaPlayer.swf',
			'mediafile=' + contextpath + '/getmedia.do,id=' + id, true, 3, 3,
			0, false);
}

function MM_showHideLayers() { // v6.0
	var i, p, v, obj, args = MM_showHideLayers.arguments;
	for (i = 0; i < (args.length - 2); i += 3)
		if ((obj = MM_findObj(args[i])) != null) {
			v = args[i + 2];
			if (obj.style) {
				obj = obj.style;
				v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden' : v;
			}
			obj.visibility = v;
		}
}
function MM_findObj(n, d) { // v4.01
	var p, i, x;
	if (!d)
		d = document;
	if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
		d = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0, p);
	}
	if (!(x = d[n]) && d.all)
		x = d.all[n];
	for (i = 0; !x && i < d.forms.length; i++)
		x = d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++)
		x = MM_findObj(n, d.layers[i].document);
	if (!x && d.getElementById)
		x = d.getElementById(n);
	return x;
}

function getDatum(sdate) {
	var dateObject = null;

	var re = /^([0-9]{2})(\.([0-9]{2}))*(.([0-9]{4}))?$/;
	var match = re.exec(sdate);
	if (match) {
		var day = Number(match[1]);
		var month = Number(match[3]);
		var year = Number(match[5])
		dateObject = new Date(year, month - 1, day);
	}
	return dateObject
}

function ML_listSelect(prefix, index, style_inaktiv, style_selected) {

	if (typeof (style_selected) == 'undefined')
		style_selected = 'tab_row_1';
	if (typeof (style_inaktiv) == 'undefined')
		style_inaktiv = 'tab_row_0';

	// Exchange classes
	var obj = MM_findObj(prefix + index);
	if (!obj)
		return;
	obj.className = style_selected;
	var found = true;
	var i = 0;
	while (found) {
		var cobj = MM_findObj(prefix + i);
		i++;
		if (cobj != null) {
			if (obj == cobj)
				continue;
			cobj.className = style_inaktiv;
		} else
			found = false;

	}
}

function ML_toggleVisibility(prefix, index) {
	var obj = MM_findObj(prefix + index);
	if (obj == null)
		return;
	obj.style.visibility = 'visible';
	var found = true;
	var i = 0;
	while (found) {
		var cobj = MM_findObj(prefix + i);
		i++;
		if (cobj != null) {
			if (obj == cobj)
				continue;
			cobj.style.visibility = 'hidden';
		} else
			found = false;

	}

}

function RemoveLinkOutline() {
	var a = document.getElementsByTagName('a');

	for ( var i = 0; i < a.length; i++) {
		a[i].onmousedown = function() {
			this.onfocus = function() {
				this.blur();
			}
		}
		a[i].onmouseup = function() {
			this.onfocus = function() {
			}
		}
		a[i].onmouseout = a[i].onmouseup;
	}
}

function imageRollOver(image) {
	var src = image.src;
	if (image.realSrc) {
		src = image.realSrc;
	} else {
		image.realSrc = src;

	}
	var dotPos = src.lastIndexOf(".");
	var s = src.substring(0, dotPos - 1);
	var ext = src.substring(dotPos);
	var newsrc = s + "1" + ext;
	image.src = newsrc;
}

function imageRollOut(image) {
	var src = image.src;
	if (image.orgSrc) {
		src = image.orgSrc;
	} else {
		if (image.realSrc) {
			src = image.realSrc;
		}
	}
	var newsrc = src;
	image.src = newsrc;
}

function playJSAudio(audiofile, baseurl) {
	if (baseurl == undefined)
		baseurl = "../lernen/audio/";
	audiofile = baseurl + audiofile;
	var movie = window.parent.head.document.htmlaudioplayer;
	movie.SetVariable("audiofile", audiofile);
}

function playJSAudioPopup(audiofile, baseurl) {
	if (baseurl == undefined)
		baseurl = "../lernen/audio/";
	audiofile = baseurl + audiofile;
	var movie = window.opener.parent.head.document.htmlaudioplayer;
	movie.SetVariable("audiofile", audiofile);
}

function playJSSpeakText(text) {
	var movie = window.parent.head.document.htmlaudioplayer;
	movie.SetVariable("speaktext", text);
}

function playJSSpeakDIV(id) {
	text = getDivText(id);
	playJSSpeakText(text);
}

if (window.ajaxAnywhere) {
	ajaxAnywhere.handlePrevousRequestAborted = function() {
		// do nothing apoll.js must be loaded after aa.js!! alert("Custom
		// message : previous AJAX request dropped")
	}
}
