/*	
	Javascript Code used by CFW CourseFactoryWeb (r)
	Version 4.0, April 2003

	code handcrafted by leitner.interactive (www.leitner-interactive.de) for ets GmbH (www.ets-online.de)

	copyright 2003, all rights reserved 

	DO NOT EDIT BELOW !

*/
var curPageNum;
function onloadActions(pageNum){
	curPageNum=pageNum;
	topMenuInit();
	window.sizeToFit();
	if(includeVG&&(bw.ie6||bw.ie5||bw.ns6))vgInit(pageNum);
	initTree();
	puzzleVisiState(pageNum);
	if(visited.substring(pageNum-1,pageNum)!=1)aiccIncrement();
	if(getCookie("cookies")=="save"){document.getElementById("storageButton").src=common+"/images/chk_enabled.gif"}
}

function onunloadActions(){
	return
}

function sizeToFit(){
	if(window.opener){
		window.resizeTo(wW,wH-100)
	}else{
		window.resizeTo(wW,wH)
	}
}

function changeSettings(setting){
	switch(setting){
		case("audio"):
			if(includeVG&&(bw.ie6||bw.ie5||bw.ns6)){changeAudioState()}
			break;
		case("vguide"):
			if(includeVG&&(bw.ie6||bw.ie5||bw.ns6)){changeState()}else{alert(vgNotAvailable)}
			break;
		case("storage"):
			if(getCookie("cookies")=="save"){
				setCookie("cookies","delete",expiry);
				document.getElementById("storageButton").src=common+"/images/chk_disabled.gif"
			}else{
				setCookie("cookies","save",expiry);
				document.getElementById("storageButton").src=common+"/images/chk_enabled.gif"
			}
			break;
		case("reset"):
			if(confirm(resetMsg)){
				initCfwprops();
				cfwprops=getPackedCookie("cfwprops");
				document.getElementById("storageButton").src=common+"/images/chk_enabled.gif";
				if(includeVG&&(bw.ie6||bw.ie5||bw.ns6))vgInit(curPageNum);
				initTree();
				var pageCount=db.length-1;
				setCookie("pageCount",pageCount,expiry);
				break;
			}
	}
}

function faq(){
	window.open(faqURL);
}

function writeShockwave(swfile,w,h){
	if(w==0)w=shockwaveDefaultWidth;
	if(h==0)h=shockwaveDefaultHeight;
	var sw2="sound_on";
	var soundEnabled=getCookie("vgSettings");
	if(soundEnabled!=null){
		pos=soundEnabled.indexOf("audioEnabled")
		soundEnabled=soundEnabled.substring(soundEnabled.indexOf("=",pos)+1,soundEnabled.indexOf(";",pos));
		if(soundEnabled=="false")sw2="sound_off";
	}
	var sw="<object classid='"+swClsid+"' codebase='"+swHomeIE+"' width='"+w+"' height='"+h+"'>";
	sw+="<param name='src' value='"+swfile+"'><param name='bgcolor' value='"+swbg+"'>";
	sw+="<param name='sw2' value='"+sw2+"'>";
	sw+="<embed src='"+swfile+"' width='"+w+"' height='"+h+"' sw2='"+sw2+"'";
	sw+=" type='application/x-director' pluginspage='"+swHomeNS+"'></embed></object>";
	document.getElementById("divcontent").innerHTML=sw;
}

function writeFlash(flfile,w,h){
	var fl="<object classid='"+flClsid+"' codebase='"+flHomeIE+"' width='"+w+"' height='"+h+"'>";
	fl+="<param name='movie' value='"+flfile+"'><param name='menu' value='false'>";
	fl+="<param name='quality' value='high'><param name='bgcolor' value='"+flbg+"'>";
	fl+="<embed src='"+flfile+"' quality='high' bgcolor='"+flbg+"' width='"+w+"' height='"+h+"'";
	fl+=" type='application/x-shockwave-flash' pluginspage='"+flHomeNS+"'>"
	fl+="</embed></object>";
	document.getElementById("divcontent").innerHTML=fl;
}

function exit(){
	window.location.href="exit.htm"
}

/*Browsercheck*/
function browserCheck(){ 
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera5=this.agent.indexOf("Opera 5")>-1;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;
}
var bw=new browserCheck()

/* MENU */
function makeMenu(obj,nest,show,move,speed,overflow){
	nest=(!nest) ? "":'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;		
	this.x=this.css.left||this.css.pixelLeft||this.el.offsetLeft||0
	this.y=this.css.top||this.css.pixelTop||this.el.offsetTop||0
	this.state=1; this.go=0; this.mup=b_mup; this.show=show; this.mdown=b_mdown; 
	this.height=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.moveIt=b_moveIt; this.move=move; this.speed=speed;
	this.obj = obj + "Object";
	eval(this.obj + "=this")	
}
var px = bw.ns4||window.opera?"":"px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}
function b_mup(){//Menu in
	if(this.y>-this.height+this.show){
		this.go=1; this.moveIt(this.x,this.y-this.move)
		setTimeout(this.obj+".mup()",this.speed)
	}else{this.go=0; this.state=1}	
}

function b_mdown(){//Menu out
	if(this.y<eval(scrolled)){
		this.go=1; this.moveIt(this.x,this.y+this.move)
		setTimeout(this.obj+".mdown()",this.speed)
	}else{this.go=0; this.state=0}	
}

function moveTopMenu(num){
	if(!oMenu[num].go){
		if(!oMenu[num].state)oMenu[num].mup()	
		else oMenu[num].mdown()
	}
	for(i=0;i<oMenu.length;i++){
		if(i!=num && !oMenu[i].state){ oMenu[i].mup()}
	}
}

function topMenuInit(){
	oMenu=new Array()
	oMenu[0]=new makeMenu('divMenu0',"",tShow,tMove,tSpeed) 
	oMenu[1]=new makeMenu('divMenu1',"",tShow,tMove,tSpeed) 
	oMenu[2]=new makeMenu('divMenu2',"",tShow,tMove,tSpeed) 
	scrolled=bw.ns4||bw.ns6?"window.pageYOffset":"document.body.scrollTop"
	for(i=0;i<oMenu.length;i++){
		oMenu[i].moveIt(oMenu[i].x,-oMenu[i].height+oMenu[i].show)
		oMenu[i].css.visibility='visible'
	}
	divColl=document.body.getElementsByTagName("div");
	for(j=0;j<divColl.length;j++){
		if(divColl[j].id.indexOf("_ui")>0)divColl[j].innerHTML=getJsText(language,divColl[j].id)
	}
	aColl=document.body.getElementsByTagName("a");
	for(k=0;k<aColl.length;k++){
		if(aColl[k].id.indexOf("_ui")>0)aColl[k].innerHTML=getJsText(language,aColl[k].id)
	}
}

/*Language dependend text elements*/
function initText( languageCode ){
	totalText=1;
	dbText = new Array();
	fillText(language);
}

function dbTextAdd( code, text ) {
	dbText[totalText] = new Object;
	dbText[totalText].code = code;
	dbText[totalText].text = text;
	totalText++;
}

function getJsText(languageCode,textCode) {
	var langstring="(no text)"
	if(typeof dbText=="undefined")initText(languageCode);
	for(i=1;i<totalText;i++){
		if(dbText[i].code==textCode){
			langstring=dbText[i].text;
			break;
		}
	}
  	return langstring;
}

//Navigation
function jump(url){
	if(url.length>0){
		window.location.href=url;
	}else{
		alert("Seite nicht verfügbar.");
	}
}

//Popups
var maxW,maxH,fromX,fromY,toX,toY,adjX,adjY,zBox,zStep=0,zLink,zNew;
function zoomBox(evt,zlink,maxw,maxh,tox,toy) {
	if (arguments.length > 2) zNew=1;
	scrollH=(window.pageYOffset!=null)?window.pageYOffset:document.body.scrollTop;
	maxW=maxw?maxw:window.innerWidth?innerWidth:document.body.clientWidth;
	maxH=maxh?maxh:window.innerHeight?innerHeight:document.body.clientHeight;
	toX=tox?tox:0;
	toY=(toy?toy:0)+scrollH;
	fromX=evt.pageX?evt.pageX:evt.clientX;
	fromY=(evt.pageY?evt.pageY:evt.clientY)+(document.all?scrollH:0);
	adjX=toX+evt.screenX-fromX;
	adjY=toY+evt.screenY-fromY;
	if (document.createElement && document.body.appendChild && !zBox) {
		zBox=document.createElement("div");
		zBox.style.position="absolute";
		document.body.appendChild(zBox);
	} else if (document.all && !zBox) {
		document.all[document.all.length-1].outerHTML+='<div id="zBoxDiv" style="position:absolute"></div>';
		zBox=document.all.zBoxDiv;
	} else if (document.layers && !zBox) {
		zBox=new Layer(maxW);
		zBox.style=zBox;
	}
	zLink=zlink;
	doZoom();
}

function doZoom() {
	zStep+=1;
	zPct=(10-zStep)/10
	if (document.layers) {
		zBox.moveTo(toX+zPct*(fromX-toX),toY+zPct*(fromY-toY));
		zBox.document.open();
		zBox.document.write("<table width='"+maxW*(1-zPct)+"' height="+maxH*(1-zPct)+" border=2 cellspacing=0><tr><td></td></tr></table>");
		zBox.document.close();
	} else {
		zBox.style.border="2px solid #999999";
		zBox.style.left=toX+zPct*(fromX-toX);
		zBox.style.top=toY+zPct*(fromY-toY);
		zBox.style.width=maxW*(1-zPct);
		zBox.style.height=maxH*(1-zPct);
	}
	zBox.style.visibility="visible";
	if (zStep < 10) setTimeout("doZoom("+fromX+","+fromY+","+toX+","+toY+")",30);
	else {
		zBox.style.visibility='hidden';
		zStep=0;
		if (zLink && !zNew) location.href=zLink.href;
		else if (zLink && zNew) {
			var w=window.open(zLink.href,'','width='+(maxW+40)+',height='+(maxH+40)+',left='+adjX+',top='+adjY+',scrollbars=no,resizable');
			zNew=null;
		}
	}
}

function gotClick(arg) {
	evt=arg?arg:event;
	evtFrom=evt.target?evt.target:evt.srcElement;
	if (evtFrom.parentNode) evtFrom=evtFrom.parentNode.href?evtFrom.parentNode:evtFrom;
	if (evtFrom.href && !evtFrom.onclick) {
		zoomBox(evt,evtFrom);
		return false;
	} else {
		if (document.routeEvent) document.routeEvent(evt);
		if (evtFrom.href) return false;
	}
}

//Picture Popup
function popupPic(imageURL){
	if (bw.ie6||bw.ie5){
		var ppicOptIE="scrollbars=no,width=150,height=100,left="+ppicPosX+",top="+ppicPosY;
		imgWin=window.open("about:blank","",ppicOptIE)
	}else{
		var ppicOptNonIE="scrollbars=no,width="+ppicDefaultW+",height="+ppicDefaultH+",left="+ppicPosX+",top="+ppicPosY;
		imgWin=window.open("about:blank","",ppicOptNonIE);
	}

	with (imgWin.document){
		writeln('<html><head><title>'+ppicWaitMsg+'</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
		writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
		writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
		writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
		writeln('width=100-(document.body.clientWidth-document.images[0].width);');
		writeln('height=100-(document.body.clientHeight-document.images[0].height);');
		writeln('window.resizeTo(width,height);}');writeln('if (isNN){');       
		writeln('window.innerWidth=document.getElementById("pic").width;');writeln('window.innerHeight=document.getElementById("pic").height;}}');
		writeln('function doTitle(){document.title="'+ppicImageTitle+'";}');writeln('</sc'+'ript>');
		if (!ppicAutoClose){
			writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
		}else{
			writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
			writeln('<img id="pic" src='+imageURL+' style="display:block"></body></html>');
		}
		close();		
	}
}


//Popup-Fenster (wegen Abwärts-Kompatibilität)
var myWin=null;
function popup(filename,dimX,dimY,attrScroll,attrCenter,attrResize,param,attrTool){
	var topPos=0;
	var leftPos=0;
	if(attrCenter=="yes")leftPos=(screen.availWidth) ? (screen.availWidth-dimX-10) : 0;
	if(attrCenter=="offset"){
		leftPos=(screen.availWidth) ? (screen.availWidth-dimX-10) : 0;
		topPos=(screen.width) ? (screen.width-dimX)/2 : 0;
	}
	var openArgs="width="+dimX+",height="+dimY+",top="+topPos+",left="+leftPos+",resizable="+attrResize+",scrollbars="+attrScroll+",toolbar="+attrTool;
	myWin=window.open(filename+"?"+param,"myWindow",openArgs);
	myWin.window.focus();
}

function showImageWithSizeNoMargin(filename,dimX,dimY){
	popupPic(filename);
}



//Bookmarks
function setBookmark(titel,url,target) {
   	if(!target)target=0;
	start=new String(getBmCookie(bmCookie));
	window.status=start;
	if(start=="null"){
		setBmCookie(bmCookie,titel+'#'+url+'#'+target,expiry);
	}else{
		if(start.indexOf(titel)==-1)setBmCookie(bmCookie,start+"#"+titel+'#'+url+'#'+target,expiry);
	}
}

function delSelectedBookmark() { //called by bookmarks.htm
	var newData,was;
	var allBookmarks=new String(getBmCookie(window.opener.bmCookie));
	var data=allBookmarks.split("#");
	var del=document.myForm.count.value;
	if(document.myForm.del.checked) {
		was="none";
   	}else if(document.myForm.del.checked!=false){
		for(i=0;i<del;i++){if(document.myForm.del[i].checked)was+=document.myForm.del[i].value+'|'}
      }
	if(was) {
		if(was=="none"){
			setBmCookie(window.opener.bmCookie,"none",expiry);
			location.reload();	
		}else{
			if(document.myForm.del.checked)was_neu=was;
			else was_neu=was.substring(9,was.length-1);
			var was_del=was_neu.split("|");
			for(i=0;i<was_del.length;i++){data[was_del[i]]=-1}
			for(i=0; i<data.length; i++){if(data[i]==-1)continue;newData+=data[i]+'#'}
			newData_real=newData.substring(9,newData.length-1);
			setBmCookie(window.opener.bmCookie,newData_real);
			location.reload();
		}
   	}else{
		alert(window.opener.bmNoBookmarkSelected);
	}
}

function delAllBookmarks() { //called by bookmarks.htm
	setBmCookie(window.opener.bmCookie,"none",expiry);
	location.reload();
}

function jumpTo(linkUrl){
	if(window.opener&&!window.opener.closed){	
		window.opener.location.href=linkUrl;
		self.close();}
	else{
		window.open(linkUrl)
		self.close();
	}
}

function processBookmarks() { //called by bookmarks.htm
	var htmlOut="";
	var count=0,nr=0;
	var allBookmarks=new String(getBmCookie(window.opener.bmCookie));
	if (allBookmarks.indexOf("none")!=-1)allBookmarks=allBookmarks.substring(5,allBookmarks.length);
	if (allBookmarks.charAt(0)==0)allBookmarks=allBookmarks.substring(2,allBookmarks.length);
	var data=allBookmarks.split("#");
	if(allBookmarks=="null"){
		htmlOut=window.opener.bmNotYetBookmarked;
		htmlOut+='<br/><br/><form>';
		htmlOut+='<input type="Button" value=" '+window.opener.bmClose+' " onClick="self.close()"/>';
		htmlOut+='</form>';
		document.write(htmlOut);
	}else if(allBookmarks == "none" || allBookmarks == 0){
		htmlOut=window.opener.bmNoLongerBookmarked;
		htmlOut+='<br/><br/><form>';
		htmlOut+='<input type="Button" value=" '+window.opener.bmClose+' " onClick="self.close()"/>';
		htmlOut+='</form>';
		document.write(htmlOut);
	}else{
		htmlOut='<form name="myForm">';
		for(i=0;i<=data.length-1;i+=3){
			htmlOut+='<input class="chkBox" type="Checkbox" name="del" value="' +count+'|'+(count+1)+'|'+(count+2)+ '"/>';
			if(data[i+2]==0){
				htmlOut+='<a class="jumpLink" href="javascript:jumpTo(\'' +data[i+1]+ '\');">' +data[i]+ '</a><br/>';
			}else{
				htmlOut+='<a class="jumpLink" href="javascript:jumpTo(\'' +data[i+1]+ '\'); TARGET="' +data[i+2]+ '">' +data[i]+ '</a><br/>';}
				count=count+2;
				count++;nr++;
			}
		htmlOut+='<br/><hr/><input type="Hidden" name="count" value="'+nr+'">&nbsp;</input>';
		htmlOut+='<input type="Button" value=" '+window.opener.bmDelSelectedBookmarks+' " onClick="delSelectedBookmark(window.opener.bmCookie)"/>&nbsp;';
		if(data.length>3){htmlOut+='<input type="Button" value=" '+window.opener.bmDelAllBookmarks+' " onClick="delAllBookmarks(window.opener.bmCookie)"/>&nbsp;'}	
		htmlOut+='<input type="Button" value=" '+window.opener.bmClose+' " onClick="self.close()"/>';
		htmlOut+='</form>';
		document.write(htmlOut);
	}
}

var today=new Date();
var expiry=new Date(today.getTime()+365*24*60*60*1000);

function getBmCookieVal(offset){
	var endstr=document.cookie.indexOf(";",offset);
	if (endstr==-1){endstr=document.cookie.length; }
	return unescape(document.cookie.substring(offset,endstr));
}

function getBmCookie(name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while(i<clen) {
		var j=i+alen;
		if(document.cookie.substring(i,j)==arg){return getBmCookieVal(j)}
		i=document.cookie.indexOf(" ",i)+1;
		if(i==0)break; 
		}
	return null;
	}

function deleteBmCookie(name,path,domain) {
	if (getCookie(name)) {
		document.cookie=name+"="+((path)?"; path="+path : "")+
		((domain)?"; domain="+domain:"")+
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
		}
	}

function setBmCookie(name,value,expires,path,domain,secure) {
  document.cookie=name+"="+escape(value)+
    ((expires)?"; expires="+expires.toGMTString():"")+
    ((path)?"; path="+path:"")+
    ((domain)?"; domain="+domain:"")+
    ((secure)?"; secure":"");
}


//CFW Property Cookie handlers
var cfwprops=null;

function getCookie(name){
  cfwprops=getPackedCookie("cfwprops");
  if(!cfwprops){initCfwprops();cfwprops=getPackedCookie("cfwprops")}
  return getValue(cfwprops,name)
}

function getPackedCookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}


function deleteCookie (name,path,domain) {
	if (getPackedCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Wed, 01-May-02 00:00:01 GMT";
		}
}

function setCookie (name,value,expires) {
      if (name=="pageCount"&&(!cfwprops)){initCfwprops();cfwprops=getPackedCookie("cfwprops")} //erforderlich für default.html
      if (!cfwprops)cfwprops=getPackedCookie("cfwprops"); //erforderlich für springen.html
	SetValue(cfwprops,name,value);
	cfwprops=getPackedCookie("cfwprops");
}

function setPackedCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function initCfwprops() {
    var defaults = 	"aiccStatus=on§" +
    			"completeURL=§" +
			"currentPage=§" +
			"currState=§" +
			"lastStep=§" +
                    "cookies=save§" +
			"lessonStatus=Not attempted,a§" +
			"logonTimeHours=11§" +
			"logonTimeMinutes=11§" +
			"logonTimeSeconds=11§" +
			"pageCount=0§" +
			"pagesVisited=0§" +
			"score=0§" +
			"time=0§" +
			"totaltime=0§" +
			"vgSettings=enabled=true;audioEnabled=true;§" +
			"visiState=§";
    setPackedCookie("cfwprops",defaults,expiry)
}

function getValue(string,elementName) {
    var startPos = string.indexOf(elementName + "=")
    if (startPos > -1) {
        startPos = startPos + elementName.length + 1;
        var endPos = string.indexOf("§",startPos);
        if (endPos == -1) endPos = string.length;
        var elementValue = unescape(string.substring(startPos,endPos));
	  return elementValue;
    }
}

function SetValue(string,elementName,newValue) {
	var stringToBeReplaced=getValue(string,elementName,"dummy");
	var stringReplacement=unescape(newValue);
	var newString = replaceString(string,elementName+"="+stringToBeReplaced,elementName+"="+stringReplacement)
	setPackedCookie("cfwprops",newString,expiry);
}



//Rollover
function findObj(n, d) {
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 && document.getElementById) x=document.getElementById(n); return x;}

function showHideLayers() {
var i,p,v,obj,args=showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=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 swapImage() {
var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function swapImgRestore() {
var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


//Preload Images
function preloadImages() {
 var d=document; if(d.images){ if(!d.p) d.p=new Array();
   var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

//Helper Functions
function replaceString(str,searchFor,replaceWith) {
  var i = str.indexOf(searchFor);
  while ( i!=-1 ) {
    var j = i+searchFor.length;
    str = str.substring(0,i)+replaceWith+str.substring(j,str.length);
    i = str.indexOf(searchFor,i+replaceWith.length);
  }
  return str;
}

function getProtocol(url){
	return url.substring(0,url.indexOf(":"));
}

//AICC Communication
function aiccIncrement(){
  var getHits = getCookie("pagesVisited");
  if(getHits=="null"||getHits=="NaN")getHits=0;
  getHits=parseInt(getHits)+1;
  setCookie("pagesVisited",""+getHits+"",expiry);
  setCookie("currentPage",top.location.href,expiry);
  setCookie("score",getScore(getHits),expiry);
}

function getScore(countCurrent){
	if(countCurrent==0)return 0;
  var countTotal=getCookie("pageCount");
  var score=countCurrent/countTotal;
  score=parseInt(round(score)*100);
	if(score>100)score=100;
  score+="%";
  return score;
}

function round(number,decPlace){
  decPlace = (!decPlace ? 2 : decPlace);
  return Math.round(number * Math.pow(10,decPlace)) / Math.pow(10,decPlace);
}

function getSessionTime() { 

	var now=new Date();
	var offSeconds=now.getSeconds();
	var offMinutes=now.getMinutes();
	var offHours=now.getHours();
	var onHours = parseInt(getCookie("logonTimeHours"));
	var onMinutes = parseInt(getCookie("logonTimeMinutes"));
	var onSeconds = parseInt(getCookie("logonTimeSeconds"));

	if(onHours==11&&onMinutes==11&&onSeconds==11)return("00:00:00")

  if (offSeconds >= onSeconds) { 
     logSeconds = offSeconds - onSeconds; }
  else {
     offMinutes -= 1;
     logSeconds = (offSeconds + 60) - onSeconds;      
  }

  if (offMinutes >= onMinutes) { 
     logMinutes = offMinutes - onMinutes; }
  else {
     offHours -= 1;
     logMinutes = (offMinutes + 60) - onMinutes;
  }
  
  logHours = offHours - onHours;
  logHours =  ((logHours < 10) ? "0" : ":") + logHours;
  logMinutes = ((logMinutes < 10) ? ":0" : ":") + logMinutes;
  logSeconds = ((logSeconds < 10) ? ":0" : ":") +logSeconds;
  //alert("on: "+onHours+":"+onMinutes+":"+onSeconds+"\n"+"off: "+offHours+":"+offMinutes+":"+offSeconds)

  return(logHours+logMinutes+logSeconds);
}

function testResult(result){  
	switch(result){
	case "started":
		testStatus="started";
		window.status="Testsitzung gestartet";
		//setCookie("lessonStatus","Not attempted,a",expiry);
		break;
	case "passed":
		testStatus="passed";
		setCookie("lessonStatus","passed",expiry);
		window.status="Test erfolgreich absolviert";
		break;
	case "failed":
		testStatus="failed";
		setCookie("lessonStatus","failed",expiry);
		window.status="Test nicht erfolgreich absolviert";
		break;
	}
}

/*SESSION INFO*/
function doSessionInfo(){
	var out="";

	var completeURL=getCookie("completeURL");
	//TESTONLY
	//completeURL="http://www.dummy.de/dummy.htm?AICC_SID=1&AICC_URL=http://devel.ets-online.de/dls/dls/aicc_listener.phtml&"

	var onlineMode=getProtocol(completeURL)=="http"?true:false;
	var ionlineMode=onlineMode?ionlineModeTrue:ionlineModeFalse;

	var aiccPresent=false;
	if(completeURL.indexOf("?")>0)aiccPresent=true;
	var iaiccPresent=aiccPresent?iaiccPresentTrue:iaiccPresentFalse;

	var pageCount=getCookie("pageCount");
	var pagesVisited=getCookie("pagesVisited");
	var pageScore=getScore(pagesVisited);
	setCount(parseInt(pageScore))

	var lessonStatus=getCookie("lessonStatus");
	switch(true){
		case(lessonStatus=="failed"):lessonStatus=ilessonStatusB;break;
		case(lessonStatus=="passed"):lessonStatus=ilessonStatusC;break;
		default:lessonStatus=ilessonStatusA;break;
	}
	var logonTimeHours=getCookie("logonTimeHours");
	var logonTimeMinutes=getCookie("logonTimeMinutes");
	var logonTimeSeconds=getCookie("logonTimeSeconds");
	if(logonTimeHours==11&&logonTimeMinutes==11&&logonTimeSeconds==11){logonTimeHours="00";logonTimeMinutes="00";logonTimeSeconds="00"}
	var sessionTime=getSessionTime();
	var totalTime=getCookie("totaltime");

	out="<table width='300' border='0' cellspacing='0' cellpadding='4'>";
	out+="<tr class='odd'><td>"+ionlineMode+iaiccPresent+"</td></tr>";
	out+="<tr class='even'><td>"+ipageCount+pageCount+ipagesVisited+pagesVisited+"</td></tr>";
	out+="<tr class='odd'><td>"+ipageScore+pageScore+"</td></tr>";
	out+="</table>";
	document.getElementById("divInfo1").innerHTML=out;

	out="<table width='300' border='0' cellspacing='0' cellpadding='4'>";
	out+="<tr class='even'><td>"+ilessonStatus+lessonStatus+"</td></tr>";
	out+="<tr class='odd'><td>"+ilogonTime+logonTimeHours+":"+logonTimeMinutes+":"+logonTimeSeconds+"</td></tr>";
	out+="<tr class='even'><td><b>"+isessionTime+sessionTime+"</b></td></tr>";
	if(parseInt(totalTime)>0)out+="<tr class='odd'><td>"+itotalTime+totalTime+"</td></tr>";
	out+="</table><hr/><form><input type='button' value='"+iClose+"' onclick='window.close()'/></form>";

	document.getElementById("divInfo2").innerHTML=out;
}

function setCount(prcnt){
	if (prcnt>0){
		if(prcnt>100)prcnt=100;
		loaded=prcnt;
		if(loaded<0)loaded=0;
		perdone.style.width=blocksize*loaded;
	}
}

function progressBarInit(){
	perouter=document.getElementById("perouter");
	perdone=document.getElementById("perdone");
	perdone.style.width=0;
	perouter.style.visibility="visible";
}

/* Files */
/*-------*/
function doFilesOnload(){
	document.title=fiTitle;
	if(!window.opener){alert(fiOpenFailure);return}
	aColl=document.getElementsByTagName("a");
	for(i=0;i<aColl.length;i++){
		if(aColl[i].id.substring(1,aColl[i].id.indexOf("_"))==window.opener.curPageNum){
			aColl[i].className="jumpLinkHilite";
			document.getElementById("fiHiliteInfo").innerHTML=fiHiliteInfo;
		}
	}
}

/* Help */
/*------*/
var ids=new Array();

function helpInit(){
	var tids=document.getElementsByTagName("div");
	for(i=0;i<tids.length;i++)if(tids[i].className=="helptopic")ids[ids.length]=tids[i];
	for(i=0;i<ids.length;i++)ids[i].onmouseup=setstate;
}

function setstate(){
	collapseAllHelptopics();
	for(i=0;i<ids.length;i++){
		if(ids[i]==this){
			var d=this.parentNode.getElementsByTagName("div")[1];
			if(d.style.display=="block")d.style.display="none";
			else d.style.display="block";
		}
	}
}

function expandAllHelptopics(){
	for(i=0;i<ids.length;i++)ids[i].parentNode.getElementsByTagName("div")[1].style.display="block";
}

function collapseAllHelptopics(){
	for(i=0;i<ids.length;i++)ids[i].parentNode.getElementsByTagName("div")[1].style.display="none";
}

/* Margins */
/*---------*/

function margChange(num){
	var divObj;
	for(var i=1;i<=5;++i){		
		margHeadObj=document.getElementById("divmarginhead"+i);
		margContentObj=document.getElementById("divmargincontent"+i);
		if(i==num){
			margHeadObj.className="divmarginhead_active";
			margContentObj.style.display="block";
			if(includeVG&&(bw.ie6||bw.ie5||bw.ns6))vgStart(i+2) //Marg.1 = Event 3, 2=4, 3=5, 4=6, 5=7
		}else{
			margHeadObj.className="divmarginhead_passive";
			margContentObj.style.display="none";
		}
	}
}