/* Copyright 2008-2010, Hochachtung Verlag GmbH. All rights reserverd! */ 

var Helpers={"loaderHtml":"<center><img src='images/loader.gif' /></center>","space":"&nbsp;","getLoader":function(message)
{return"<center><img src='images/loader.gif' /><br/><br/>"+message+"</center>";},"showSiteError":function(message)
{$get('DivSiteError').style.display="block";$get('DivSiteError').innerHTML=message;},"hideSiteError":function()
{$get('DivSiteError').style.display="none";$get('DivSiteError').innerHTML="";},"isMailValid":function(mail)
{var emailPat=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;var matchArray=mail.match(emailPat);if(matchArray===null)
{return false;}else{return true;}},"noenter":function()
{return!(window.event&&window.event.keyCode==13);},"enter":function(nextfield)
{if(window.event&&window.event.keyCode==13)
{nextfield.focus();return false;}
else{return true;}},"l2d":function(list)
{var dict=new Object();var i=0;var listLength=list.length;while(i<listLength)
{dict[list[i]]=list[i+1];i=i+2;}
return dict;},"scrollToTop":function()
{scroll(0,0);},"int2str3dig":function(curPage)
{if(curPage<100)
{if(curPage<10)
{return("00"+curPage);}else{return("0"+curPage);}}else{return curPage;}}};var MembershipManager={"name":"MembershipManager","isLoggedIn":false,"showBoxIfSuccess":false,"showLogin":function(showBoxAfterLogin)
{this.showBoxIfSuccess=showBoxAfterLogin;$get('DivLoginStatus').innerHTML="";$find("ModalPopupExtenderLogin").show();$get('txtUsername').focus();},"loginEnter":function()
{if(window.event&&window.event.keyCode==13)
{MembershipManager.login();return false;}
else{return true;}},"login":function()
{DataManager.userName=$get("txtUsername").value;var pwd=$get("txtPassword").value;$get('DivLoginStatus').innerHTML=Helpers.loaderHtml;Sys.Services.AuthenticationService.login(DataManager.userName,pwd,false,null,null,this.loginComplete,this.loginError,"login");},"loginComplete":function(isValid,userContext)
{if(isValid)
{$get('DivLoginStatus').innerHTML="";MembershipManager.isLoggedIn=true;DataManager.loadAndShowData();}
else
{$get("DivLoginStatus").innerHTML="Wrong username or password!";$get("txtPassword").value="";MembershipManager.isLoggedIn=false;}},"loginError":function(result,context)
{MembershipManager.isLoggedIn=false;$get("DivLoginStatus").innerHTML="Could not "+context+" ("+result.get_message()+").";},"hideLogin":function()
{$find("ModalPopupExtenderLogin").hide();$get('txtUsername').value="";$get('txtPassword').value="";},"logout":function()
{PageMethods.LogOut(this.OnLogoutComplete,this.AuthenticationFailedCallback);},"OnLogoutComplete":function()
{Helpers.hideSiteError();BoxUserView.clear();window.location.reload(true);}," AuthenticationFailedCallback":function()
{Helpers.showSiteError("Logout failed. Please try again.");},"validateRegistration":function()
{retVal=true;uName=$get('RegisterUserName').value;pwd1=$get('RegisterPassword1').value;pwd2=$get('RegisterPassword2').value;mail=$get('RegisterMail').value;if(uName.length<4)
{$get('validationUserName').innerHTML="The user name has to be at least four characters long.";retVal=false;}else{if(uName.length>20)
{$get('validationUserName').innerHTML="The maximum length of usernames is 20 characters.";retVal=false;}else{$get('validationUserName').innerHTML="";}}
if(pwd1.length<3)
{$get('ValidationPassword1').innerHTML="The password has to be at least three characters long.";retVal=false;}else{$get('ValidationPassword1').innerHTML="";}
if(!(pwd1==pwd2))
{$get('ValidationPassword2').innerHTML="The passwords do not match.";retVal=false;}else{$get('ValidationPassword2').innerHTML="";}
if(Helpers.isMailValid(mail))
{$get('ValidationMail').innerHTML="";}else{$get('ValidationMail').innerHTML="The format of the e-mail address is incorrect.";retVal=false;}
return retVal;},"registerUser":function()
{var val=MembershipManager.validateRegistration();if(val===true)
{DataManager.userName=$get('RegisterUserName').value;var s=$("#tableSelectAvatar #ImgPreAvatar").attr("src");var indString=s.substring(s.length-7,s.length-4);fields=[DataManager.userName,$get('RegisterPassword1').value,$get('RegisterMail').value,indString];$get('DivRegisterStatus').innerHTML="<center><img src='images/loader.gif' /></center>";PageMethods.RegisterUser(fields,this.RegisterOnComplete,this.RegisterOnFailed);}},"RegisterOnComplete":function(result)
{if(result===0)
{$get('DivRegisterStatus').style.color="green";$get('DivRegisterStatus').innerHTML="Registration successful!";Sys.Services.AuthenticationService.login(DataManager.userName,$get('RegisterPassword1').value,false,null,null,MembershipManager.loginComplete,MembershipManager.loginError,"login");}
if(result==1)
{$get('DivRegisterStatus').innerHTML="";$get('validationUserName').innerHTML="This user name is already taken. Please choose another one.";}
if(result==2)
{$get('DivRegisterStatus').style.color="red";$get('DivRegisterStatus').innerHTML="Registration failed! <br/> Please try again.";}
if(result==3)
{$get('DivRegisterStatus').innerHTML="";$get('ValidationMail').innerHTML="This e-mail address is already taken. Please choose another one or <span class='SpanLinkButton' onclick='MembershipManager.showRecovery()'>recover your password</span>.";}
if(result==4)
{$get('DivRegisterStatus').innerHTML="";$get('validationUserName').innerHTML="The username contains an invalid character combination.";}
if(result==5)
{$get('DivRegisterStatus').innerHTML="";$get('validationUserName').innerHTML="Usernames must have a length between 4 and 20 characters.";}},"RegisterOnFailed":function()
{$get('DivRegisterStatus').style.color="red";$get('DivRegisterStatus').innerHTML="Registration failed! <br/> Please try again.";},"addPreAvatarHandler":function()
{var PreAvatarCount=86;var numRand=Math.floor(Math.random()*(PreAvatarCount+1));$("#spanPreAvatarNum").html(numRand+"/"+PreAvatarCount);var s=$("#tableSelectAvatar #ImgPreAvatar").attr("src");var indString=s.substring(s.length-7,s.length-4);var newSrc=s.replace(indString,Helpers.int2str3dig(numRand));$("#tableSelectAvatar #ImgPreAvatar").attr("src",newSrc);$("#tableSelectAvatar #ImgPrev").click(function(){var s=$("#tableSelectAvatar #ImgPreAvatar").attr("src");var indString=s.substring(s.length-7,s.length-4);var ind=Number(indString);if(ind>1)
{ind-=1;var newSrc=s.replace(indString,Helpers.int2str3dig(ind));$("#spanPreAvatarNum").html(ind+"/"+PreAvatarCount);$("#tableSelectAvatar #ImgPreAvatar").attr("src",newSrc);}});$("#tableSelectAvatar #ImgNext").click(function(){var s=$("#tableSelectAvatar #ImgPreAvatar").attr("src");var indString=s.substring(s.length-7,s.length-4);var ind=Number(indString);if(ind<PreAvatarCount)
{ind+=1;var newSrc=s.replace(indString,Helpers.int2str3dig(ind));$("#spanPreAvatarNum").html(ind+"/"+PreAvatarCount);$("#tableSelectAvatar #ImgPreAvatar").attr("src",newSrc);}});},"recoverPassword":function()
{var mail=$get('RecoveryMail').value;if(Helpers.isMailValid(mail))
{$get('DivRecoveryStatus').innerHTML=Helpers.loaderHtml;PageMethods.SendRecoveryPassword(mail,RecoverySuccess,RecoveryError);}
else
{$get('DivRecoveryStatus').style.color="Red";$get('DivRecoveryStatus').innerHTML="The format of the e-mail address is incorrect.";}},"RecoverySuccess":function(res)
{if(res)
{$get('DivRecoveryStatus').style.color="Green";$get('DivRecoveryStatus').innerHTML="An e-mail was send to you with your new password.<br/>Please use it to log in and you can then change it again.";}
else
{$get('DivRecoveryStatus').style.color="Red";$get('DivRecoveryStatus').innerHTML="There is no user with this e-mail adress. Please check it again.";}},"RecoveryError":function(res)
{$get('DivRecoveryStatus').style.color="Red";$get('DivRecoveryStatus').innerHTML="Your request could not be processed.";},"showRecovery":function()
{$find("ModalPopupExtenderLogin").hide();$find("ModalPopupExtenderRegister").hide();$get('DivRecoveryStatus').innerHTML="";$get('RecoveryMail').value="";$find("ModalPopupExtenderRecovery").show();$get('RecoveryMail').focus();},"hideRecovery":function()
{$find("ModalPopupExtenderRecovery").hide();$get('DivRecoveryStatus').innerHTML="";$get('RecoveryMail').value="";}};var DataManager={"name":"DataManager","statsToRefresh":false,"isLoaded":false,"userName":"Anonymous","points":{},"pointsCleaned":{},"personal":{},"themeThresholds":[0,40,100,400,50000],"loadAndShowData":function()
{if(!this.isLoaded)
{PageMethods.GetUserData(DataManager.GetUserDataSucceeded,DataManager.GetUserDataFailed);}},"GetUserDataSucceeded":function(res)
{DataManager.copyPoints(res[0]);DataManager.personal=Helpers.l2d(res[1]);DataManager.isLoaded=true;BoxUserView.showDetails();if(MembershipManager.showBoxIfSuccess)
{BoxManager.changeState(BoxManager.desiredBox.name);}},"GetUserDataFailed":function(res)
{Helpers.showSiteError("Could not load UserData. Please try again.");DataManager.isLoaded=false;},"setAndGetProfileData":function(data)
{PageMethods.SetAndGetProfileData(data,SetAndGetProfileDataSucceeded,SetAndGetProfileDataFailed);function SetAndGetProfileDataSucceeded(res)
{DataManager.personal=Helpers.l2d(res);BoxUserProfile.fillFromDM();}
function SetAndGetProfileDataFailed(res)
{Helpers.showSiteError("Could not load profile data. Please try again.");}},"initAnonymous":function()
{this.points.A=0;this.points.B=0;this.points.C=0;this.points.CP=0;},"copyPoints":function(res)
{var i=0;while(i<res.length)
{this.points[res[i]]=parseInt(res[i+1],10);this.pointsCleaned[res[i]]=0;i=i+2;}},"calcLevel":function(points)
{if(points===0)
{return 0;}else{return Math.floor(Math.pow(Math.log(points),4)/200);}},"calcPoints":function(level)
{if(level===0)
{return 0;}else{return Math.round(Math.exp(Math.pow((level*200),1/4)));}},"calcThemeLevel":function(points)
{if(points>this.themeThresholds[3]){return 3;}
if(points>this.themeThresholds[2]){return 2;}
if(points>this.themeThresholds[1]){return 1;}
return 0;},"clear":function()
{this.userName="Anonymous";this.points=this.pointsCleaned;this.personal={};this.personal.AvatarFile="anonymous.jpg";this.isLoaded=false;this.statsToRefresh=false;}};var BoxHome={"name":"Home","title":"Willkommen","location":"left","inHistory":true,"forcelogin":false,"isLoaded":true,"statsToRefresh":false,"show":function()
{$get('DivHome').style.display="block";},"hide":function()
{$get('DivHome').style.display="none";}};var BoxUserView={"name":"UserView","forcelogin":false,"location":"right","isLoaded":false,"statsToRefresh":true,"show":function()
{$get('DivUserView').style.display="block";},"calcBarPosition":function(points,barLength)
{var start=DataManager.calcPoints(DataManager.calcLevel(points));var end=DataManager.calcPoints(DataManager.calcLevel(points)+1);var span=end-start;var position=points-start;return((barLength/span)*position);},"showDetails":function()
{if(DataManager.userName!="Anonymous")
{$get('DivUserViewName').innerHTML=DataManager.userName;$get('ImgAvatar').src="images/userAvatars/150/"+DataManager.personal.AvatarFile;$get('DivMenuRightLoggedIn').style.display="block";$get('DivMenuRightLoggedOut').style.display="none";}
var barwidth=120;$get('barA').style.width=this.calcBarPosition(DataManager.points.A,barwidth)+"px";$get('barB').style.width=this.calcBarPosition(DataManager.points.B,barwidth)+"px";$get('barC').style.width=this.calcBarPosition(DataManager.points.C,barwidth)+"px";$get('TdLevelA').innerHTML=DataManager.calcLevel(DataManager.points.A);$get('TdLevelB').innerHTML=DataManager.calcLevel(DataManager.points.B);$get('TdLevelC').innerHTML=DataManager.calcLevel(DataManager.points.C);for(var i=1;i<16;i++)
{var level=DataManager.calcThemeLevel(DataManager.points["T"+i]);var imgFolder="";switch(level)
{case 0:imgFolder="gray";break;case 1:imgFolder="bronze";break;case 2:imgFolder="silver";break;case 3:imgFolder="gold";break;}
$get('ImgTheme'+i).src="images/themes/small/"+imgFolder+"/"+i+".gif";}},"clear":function()
{DataManager.clear();this.showDetails();$get('DivMenuRightLoggedIn').style.display="none";$get('DivMenuRightLoggedOut').style.display="block";$get('DivUserViewMsg').innerHTML="";},"clearAllMessages":function()
{$("#DivUVanno").html("");$("#DivUVanno2").html("");$("#DivUserViewMsg").html("");$("#TableUVBars .TdInfoL, #TableUVBars .TdInfoR").each(function(){$(this).html("");});},"refreshStats":function()
{this.showDetails();},"addAnnotationHandlers":function()
{$("#DivThemes img").each(function(){$(this).mouseover(function(){$("#DivUVanno").html($(this).attr("alt")+" (Medaille)");$("#DivUVanno2").html("Für viele Punte gibt es Gold-, Silber- und Bronzemedaillen.");}).mouseout(function(){$("#DivUVanno").html("");$("#DivUVanno2").html("");});});$("#TableUVBars tr").each(function(){$(this).mouseover(function(){$("#DivUVanno").html("Niveau "+$(this).attr("id")+" (Punkte)");$("#DivUVanno2").html("Mache &Uuml;bungen um noch mehr Punkte zu gewinnen.");}).mouseout(function(){$("#DivUVanno").html("");$("#DivUVanno2").html("");});});$("#ImgAvatar").mouseover(function(){$("#DivUVanno").html($(this).attr("alt"));$("#DivUVanno2").html('W&auml;hle "Mein Profil" um das Bild zu &auml;ndern.');}).mouseout(function(){$("#DivUVanno").html("");$("#DivUVanno2").html("");});$("#DivUserViewName").mouseover(function(){$("#DivUVanno").html($(this).attr("alt"));$("#DivUVanno2").html('W&auml;hle "Mein Profil" um deine pers&ouml;nliche Seite zu &auml;ndern.');}).mouseout(function(){$("#DivUVanno").html("");$("#DivUVanno2").html("");});}};var BoxUserStats={"name":"UserStats","title":"Meine Statistiken","location":"left","forcelogin":true,"inHistory":true,"isLoaded":false,"statsToRefresh":true,"show":function()
{$get('DivUserStats').style.display="block";if(!this.isLoaded)
{$get('DivUserStats').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading User Statistics ...");PageMethods.GetUserStatsBox(GetUserStatsBoxSuccess,GetUserStatsBoxError);}
function GetUserStatsBoxSuccess(res)
{$get('DivUserStats').innerHTML=res;BoxUserStats.isLoaded=true;BoxUserStats.fillThemes();}
function GetUserStatsBoxError(res)
{Helpers.showSiteError("Could not load UserStats. Please try again.");BoxUserStats.isLoaded=false;}},"fillThemes":function()
{for(var i=1;i<16;i++)
{$get('DivDetailPointsTheme'+i).innerHTML=DataManager.points["T"+i];var level=DataManager.calcThemeLevel(DataManager.points["T"+i]);$get('DivDetailLevelTheme'+i).innerHTML=level;var imgFolder="";switch(level)
{case 0:imgFolder="gray";break;case 1:imgFolder="bronze";break;case 2:imgFolder="silver";break;case 3:imgFolder="gold";break;}
$get('ImgProfileTheme'+i).src="images/themes/medium/"+imgFolder+"/"+i+".gif";$get('barTheme'+i).style.width=this.calcProgressBar(DataManager.points["T"+i],level)+"px";}},"calcProgressBar":function(points,level)
{var barlength=120;var span=DataManager.themeThresholds[level+1]-DataManager.themeThresholds[level];var offset=points-DataManager.themeThresholds[level];return(barlength/span)*offset;},"hide":function()
{$get('DivUserStats').style.display="none";},"refreshStats":function()
{if(this.isLoaded)
{this.fillThemes();}}};var BoxUserProfile={"name":"UserProfile","title":"Mein Profil","location":"left","inHistory":true,"forcelogin":true,"isEditProfileShown":false,"isLoaded":false,"statsToRefresh":true,"show":function()
{$get('DivProfile').style.display="block";if(!this.isLoaded)
{$get('DivProfile').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Exercises ...");PageMethods.GetProfileBox(showProfileBoxSuccess,showProfileBoxError);}
function showProfileBoxSuccess(res)
{$get('DivProfile').innerHTML=res;BoxUserProfile.isLoaded=true;BoxUserProfile.fillFromDM();BoxUserProfile.bindUploadScript();}
function showProfileBoxError(res)
{BoxUserProfile.isLoaded=false;Helpers.showSiteError("Could not load Profile. Please try again.");}},"bindUploadScript":function()
{new Ajax_upload('#upload_button',{action:'UploadHandler.ashx',name:'userfile',data:{},onSubmit:function(file,ext){if(MembershipManager.isLoggedIn===false)
{alert("Please login first to upload an avatar.");return false;}
if(ext!="jpg"&ext!="jpeg"&ext!="png"&ext!="gif")
{alert("This file type is not supported. Please use either 'jpg', 'jpeg', 'png' or 'gif'.");return false;}},onComplete:function(file,response){var cells=response.split('#');if(cells[0]=="<PRE>success")
{var fileName=cells[1];DataManager.personal.AvatarFile=fileName;$get('ImgAvatar').src="images/userAvatars/150/"+fileName+"?"+Date.parse(new Date().toString());}else{alert(cells[1]);}}});},"fillFromDM":function()
{$get('DivProfileUserName').innerHTML=DataManager.userName;$get('divProfileFirstName').innerHTML=DataManager.personal.FirstName;$get('divProfileLastName').innerHTML=DataManager.personal.LastName;$get('txtProfileFirstName').value=DataManager.personal.FirstName;$get('txtProfileLastName').value=DataManager.personal.LastName;},"hide":function()
{$get('DivProfile').style.display="none";},"showEditProfile":function()
{$get('divProfileShow').style.display="none";$get('divProfileEdit').style.display="block";},"hideEditProfile":function()
{this.fillFromDM();this.hideEditInputs();},"hideEditInputs":function()
{$get('divProfileShow').style.display="block";$get('divProfileEdit').style.display="none";},"updateProfile":function()
{DataManager.setAndGetProfileData(["FirstName",$get('txtProfileFirstName').value,"LastName",$get('txtProfileLastName').value]);this.hideEditInputs();},"refreshStats":function()
{}};var BoxUserPage={"name":"UserPage","title":"Meine Seite","forcelogin":true,"inHistory":true,"location":"left","isLoaded":false,"statsToRefresh":true,"content":{},"show":function(userName)
{$get('DivUserPage').style.display="block";if(BoxManager.stateParameters=="me"||userName===undefined)
{userName=DataManager.userName;}
PageMethods.GetUserPageContent([userName,this.isLoaded],GetUserPageContentSuccess,GetUserPageContentError);function GetUserPageContentSuccess(res)
{if(BoxUserPage.isLoaded===false)
{$get('DivUserPage').innerHTML=res[1][0];BoxUserPage.isLoaded=true;}
BoxUserPage.content=Helpers.l2d(res[0]);BoxUserPage.updateContent();}
function GetUserPageContentError(res)
{Helpers.showSiteError("Could not load UserPage. Please try again.");BoxUserPage.isLoaded=false;}},"updateContent":function()
{$get("DivUPName").innerHTML=this.content.UserName;$get("ImgUPAvatar").src="images/userAvatars/150/"+this.content.AvatarFile;},"hide":function()
{$get('DivUserPage').style.display="none";},"refreshStats":function()
{}};var BoxExCards={"name":"ExCards","title":"Übungen","inHistory":true,"forcelogin":false,"location":"left","statsToRefresh":false,"currentPointsType":'G',"currentNiveau":'A',"currentCashKey":null,"cash":{},"show":function(pointsType)
{$get('DivExerciseCardsBox').style.display="block";this.showFiltered();},"setFilterNiveau":function(niveau)
{this.currentNiveau=niveau;this.showFiltered();},"setFilterType":function(type)
{this.currentPointsType=type;this.showFiltered();},"showFiltered":function()
{this.setMenuItems();this.currentCashKey=this.currentPointsType+this.currentNiveau;if(this.cash[this.currentCashKey]===undefined)
{$get('DivExerciseCardsContent').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Exercises ...");PageMethods.GetExerciseCardsBox(this.currentCashKey,ShowExerciseCardsBoxSuccess,ShowExerciseCardsBoxError);}
else
{$get('DivExerciseCardsContent').innerHTML=BoxExCards.cash[BoxExCards.currentCashKey];}
function ShowExerciseCardsBoxSuccess(res)
{BoxExCards.cash[BoxExCards.currentCashKey]=BoxExCards.generateHTML(res);$get('DivExerciseCardsContent').innerHTML=BoxExCards.cash[BoxExCards.currentCashKey];}
function ShowExerciseCardsBoxError(res)
{Helpers.showSiteError("Could not load Profile. Please try again.");}},"generateHTML":function(arr)
{var s="";for(i=0;i<arr.length;i++)
{s+="<div class='DivExCard'";s+="onmouseover=\"this.className='DivExCardMouseOver'\"";s+="onmouseout=\"this.className='DivExCard'\"";s+="onclick=\"BoxManager.changeState('Exercise',"+arr[i][0]+")\">";s+="<div class='DivExCardInnerBorder'>";s+="<div class='DivExCardImage'><img class='ImgExCard' src='images/70/"+arr[i][2]+"' /></div>";s+="<div class='DivExCardTitle'>"+arr[i][1]+"</div>";s+="<div class='DivExCardSubTitle'>"+arr[i][5]+"</div>";s+="<div class='DivExCardPoints'>"+arr[i][3]+" Punkte</div>";s+="<div class='DivExCardTheme'>"+arr[i][4]+"</div>";s+="</div>";s+="</div>";}
return s;},"hide":function()
{$get('DivExerciseCardsBox').style.display="none";},"setMenuItems":function()
{this.activateMenu(this.currentPointsType);this.activateMenu("Niveau"+this.currentNiveau);if(this.currentPointsType=="G")
{this.deactivateMenu("S");this.deactivateMenu("L");}
if(this.currentPointsType=="S")
{this.deactivateMenu("G");this.deactivateMenu("L");}
if(this.currentPointsType=="L")
{this.deactivateMenu("S");this.deactivateMenu("G");}
if(this.currentNiveau=="A")
{this.deactivateMenu("NiveauB");this.deactivateMenu("NiveauC");}
if(this.currentNiveau=="B")
{this.deactivateMenu("NiveauA");this.deactivateMenu("NiveauC");}
if(this.currentNiveau=="C")
{this.deactivateMenu("NiveauA");this.deactivateMenu("NiveauB");}},"activateMenu":function(pointsType)
{$get("A"+pointsType).style.backgroundColor="#DDDD00";$get("A"+pointsType).style.color="Black";$get("A"+pointsType).style.borderLeftColor="FF7700";},"deactivateMenu":function(pointsType)
{$get("A"+pointsType).style.backgroundColor="#AAAAAA";$get("A"+pointsType).style.color="White";$get("A"+pointsType).style.borderLeftColor="#eeeeee";}};var BoxExercise={"name":"Exercise","title":"&Uuml;bung","inHistory":false,"forcelogin":false,"location":"left","isLoaded":false,"statsToRefresh":false,"currentExId":-1,"currentExercise":null,"userAnswers":null,"status":null,"type":-1,"percentage":null,"pointsWon":null,"pointsToWin":null,"level1":null,"show":function(exerciseIdOLD)
{var exerciseId=BoxManager.stateParameters;if(this.currentExId!=exerciseId)
{this.clear();}
$get('DivExerciseBox').style.display="block";BoxUserView.clearAllMessages();Helpers.scrollToTop();$('#DivExEvaluation table').hide();$get('BtnExReset').value="Nochmals versuchen";if(!this.isLoaded||(this.currentExId!=exerciseId))
{$get('DivExerciseContent').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Exercise ...");PageMethods.GetExercise(exerciseId,GetExerciseSucceeded,GetExerciseFailed);}
function GetExerciseSucceeded(result,userContext,methodName)
{BoxExercise.currentExId=exerciseId;$("#DivExIdNum").html("#"+BoxExercise.currentExId);BoxExercise.currentExercise=result;BoxExercise.isLoaded=true;BoxExercise.status=result[2];BoxExercise.type=parseInt(result[3],10);$get('DivExerciseContent').innerHTML=BoxExercise.currentExercise[1];$get('DivExGrammar').innerHTML=BoxExercise.getGrammarCode();BoxExercise.showStatus();$('#BtnExEvaluate').show();$get('DivExButtons').style.display="block";BoxExercise.initExercise();}
function GetExerciseFailed(error,userContext,methodName)
{BoxExercise.isLoaded=false;BoxExercise.currentExercise=null;$get('DivExerciseContent').innerHTML="Could not load the exercise.<br/>Please try again.";$get('DivExButtons').style.display="none";}},"clear":function()
{$get('DivExerciseContent').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Exercise ...");$get('DivExGrammar').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Grammar ...");},"getGrammarCode":function()
{var s="";s+=this.getGrammarImageCode(BoxExercise.currentExercise[4]);s+=this.getGrammarImageCode(BoxExercise.currentExercise[5]);s+=this.getGrammarImageCode(BoxExercise.currentExercise[6]);s+=this.getGrammarImageCode(BoxExercise.currentExercise[7]);if(s!="")
{s="<div id='title'>Grammatik zur &Uuml;bung:</div>"+s}
return("<center>"+s+"</center>");},"getGrammarImageCode":function(txt)
{if(txt==="")
{return("");}else{return("<img class='ImgGrammar' src='images/grammar/"+txt+".jpg' /><br />");}},"initExercise":function()
{$('#BtnExEvaluate').val("Übung auswerten");$('#BtnExReset').val("neu beginnen");BoxUserView.clearAllMessages();if(BoxExercise.type==2)
{initDragDropScript();var h=$("#answerDiv").height();$("#answerDiv").height(h+"px");var maxWidth=0;$("#answerDiv div").each(function(){var w=$(this).width();if(w>maxWidth){maxWidth=w;}});$('#questionDiv .destinationBox').each(function(){$(this).width(maxWidth);});var maxBottom=0;$("#questionDiv div").each(function(){var t=$(this).offset().top+$(this).height();if(t>maxBottom){maxBottom=t;}});$("#questionDiv").height((maxBottom-$("#questionDiv").offset().top+20)+"px");}},"hide":function()
{$get('DivExerciseBox').style.display="none";},"checkResults":function()
{switch(this.type)
{case 1:this.userAnswers=this.getClozeAnswers();break;case 2:break;case 3:this.userAnswers=this.getComboAnswers();break;case 4:this.userAnswers=this.getChoiceAnswers();break;case 5:this.userAnswers=this.getChoiceAnswers();break;case 6:alert("Type 6 not implemented yet.");break;case 7:alert("Type 7 not implemented yet.");break;case 8:alert("Type 8 not implemented yet.");break;default:alert("Wrong Exercise Type!");break;}
$('#BtnExReset').val("Nochmal versuchen");PageMethods.CheckExerciseResults(this.userAnswers,OnSucceeded,OnFailed);function OnSucceeded(result,userContext,methodName)
{if(result!==null)
{BoxExercise.copyExDescription(result[1]);$('#BtnExEvaluate').hide();BoxExercise.showEvaluation(result[2]);DataManager.copyPoints(result[0]);BoxUserView.showDetails();BoxManager.refreshStatsBoxes();}
else
{$get('DivExerciseContent').innerHTML="ERROR: Result is null!";$get('DivExButtons').style.display="none";}}
function OnFailed(error,userContext,methodName)
{$get('DivExerciseContent').innerHTML="ERROR: Checking Resutls Failed!";$get('DivExButtons').style.display="none";}},"copyExDescription":function(res)
{BoxExercise.status=res[0];BoxExercise.percentage=res[1];BoxExercise.pointsWon=res[2];BoxExercise.pointsToWin=res[3];BoxExercise.level1=res[4];$("#DivExEvalMsg1").text("Sie haben");var p=this.pointsWon+" Punkt";if(this.pointsWon!=1){p+="e"}
$("#DivExEvalMsg2").text(p);$("#DivExEvalMsg3").text("gewonnen!");$get('SpanExEvalPercentage').innerHTML=this.percentage;$get('SpanExEvalTry').innerHTML=this.status;$('#DivExEvaluation table').show();var goldStars=this.pointsWon;var whiteStars=this.pointsToWin-this.pointsWon;var s="";for(var i=0;i<goldStars;i++)
{s=s+"<img src='images/stars/star-gold24.png'/>";}
for(var i=0;i<whiteStars;i++)
{s=s+"<img src='images/stars/star-white24.png'/>";}
$('#DivExEvalStars').html(s);var t=this.pointsWon+"/"+this.pointsToWin+" Punkte";$('#DivExEvalStarsTitle').text(t);if(this.pointsWon>0)
{$("#TableUVBars #"+this.level1+" .TdInfoL").html("+"+this.pointsWon);if(DataManager.userName=="Anonymous")
{var s="<a href='' onclick=\"BoxManager.changeState('UserProfile'); return false;\">Melden Sie sich an</a>, damit Sie Ihre Punkte behalten k&ouml;nnen.<br/>Sie h&auml;tten gerade ";if(this.pointsWon=="1")
{s+="einen Punkt verdient.";}else{s+=this.pointsWon+" Punkte verdient.";}
$get('DivUserViewMsg').innerHTML=s;}else{if(this.pointsWon=="1")
{$('#DivUVanno').html("Gratulation zu einem weiteren Punkt!");}else{$('#DivUVanno').html("Gratulation zu "+this.pointsWon+" weiteren Punkten!");}}}else{BoxUserView.clearAllMessages();}},"getClozeAnswers":function(fieldName)
{var answers="";for(var i=1;i<100;i++)
{var entry=$get("InputCloze"+i);if(entry===null)
{break;}else{answers=answers+entry.value+"$";}}
answers=answers.substr(0,answers.length-1);return(answers.split("$"));},"getComboAnswers":function(fieldName)
{var answers="";for(var i=1;i<100;i++)
{var entry=$get("ComboCloze"+i);if(entry===null)
{break;}else{answers=answers+entry.options[entry.selectedIndex].text+"$";}}
answers=answers.substr(0,answers.length-1);return(answers.split("$"));},"getChoiceAnswers":function()
{var answers="";for(var i=1;i<100;i++)
{var radio=$get('exCheck'+i);if(radio===null)
{break;}else{if((i>1)&&(radio.value=="0"))
{answers=answers+"$";}
if(radio.checked===true)
{answers=answers+"1";}else{answers=answers+"0";}}}
return(answers.split("$"));},"showEvaluation":function(results)
{switch(this.type)
{case 1:this.showClozeEvaluation(results);break;case 2:this.showBackgroundEvaluation(results,"ddDest");break;case 3:this.showComboEvaluation(results);break;default:this.showDivEvaluation(results);break;}},"showClozeEvaluation":function(results)
{for(var i=0;i<this.userAnswers.length;i++)
{answer=this.userAnswers[i];if(answer.length===0)
{answer="---";}
var cloze=$get('SpanInputCloze'+(i+1));if(results[i]==1)
{cloze.innerHTML="<span class='SpanClozeCorrect'>"+answer+"</span>";}else{if(Number(results[i])==2)
{cloze.innerHTML="<span class='SpanClozeWrong'>"+answer+" (Case Error)</span>";}else{cloze.innerHTML="<span class='SpanClozeWrong'>"+answer+"</span>";}}}},"showBackgroundEvaluation":function(results,fieldName)
{for(var i=0;i<this.userAnswers.length;i++)
{if(results[i]==1)
{$get(fieldName+(i+1)).style.backgroundColor="Green";}else{$get(fieldName+(i+1)).style.backgroundColor="Red";}}},"showComboEvaluation":function(results)
{for(var i=0;i<this.userAnswers.length;i++)
{var comboName="ComboCloze"+(i+1);var combo=$get(comboName);if(results[i]==1)
{combo.options[combo.selectedIndex].style.backgroundColor="Green";}else{combo.options[combo.selectedIndex].style.backgroundColor="Red";}}},"showDivEvaluation":function(results)
{for(var i=0;i<this.userAnswers.length;i++)
{if(results[i]==1)
{$get('DivExGroup'+(i+1)).className="DivExGroupCorrect";}else{$get('DivExGroup'+(i+1)).className="DivExGroupWrong";}}},"reset":function()
{$get('DivExerciseContent').innerHTML=BoxExercise.currentExercise[1];$('#BtnExEvaluate').show();$('#DivExEvaluation table').hide();$get('BtnExReset').value="Nochmals versuchen";this.showStatus();this.userAnswers=null;this.initExercise();},"next":function()
{alert("Not yet implemented.");},"showStatus":function()
{$get('SpanPointsTry').innerHTML=this.status;var pointNumber=Number(this.status)+1;if(pointNumber>5)
{pointNumber=5;}
$get('SpanExPoints'+pointNumber).style.fontSize="40px";$get('SpanExPoints'+pointNumber).style.fontWeight="bold";}};var BoxFriends={"name":"Friends","title":"Freunde","inHistory":true,"location":"left","forcelogin":true,"isLoaded":true,"statsToRefresh":false,"show":function()
{$get('DivFriends').style.display="block";},"hide":function()
{$get('DivFriends').style.display="none";}};var BoxLeaderboard={"name":"Leaderboard","title":"Ranglisten","location":"left","inHistory":true,"isLoaded":false,"forcelogin":false,"statsToRefresh":false,"show":function()
{$get('DivLeaderboard').style.display="block";$get('DivLeaderboardContent').innerHTML="<br/><br/><br/><br/>"+Helpers.getLoader("Loading Leaderboard ...");PageMethods.GetLeaderboard(GetLeaderboardSuccess,GetLeaderboardError);function GetLeaderboardSuccess(res)
{var s="";var l="<ul>";for(var i=0;i<res[0].length;i++)
{s+=BoxLeaderboard.renderResultList(res[i+1]);l+="<li>"+res[0][i]+"</li>"}
l+="</ul>";$("#DivLeaderboard #TdLi").html(l)
$('#DivLeaderboardContent').html(s);BoxLeaderboard.addEventHandler();$("#DivLeaderboard #TdLi li:first").addClass("liSelected");$("#DivLeaderboardContent table:first").show();BoxLeaderboard.isLoaded=true;}
function GetLeaderboardError(res)
{BoxLeaderboard.isLoaded=false;Helpers.showSiteError("Could not load leaderboard. Please try again.");}},"addEventHandler":function()
{$("#DivLeaderboard #TdLi li").click(function(){var index=$("#DivLeaderboard #TdLi li").index(this);var col=$("#DivLeaderboardContent table");col.hide();col.get(index).style.display="block";$("#DivLeaderboard #TdLi li").removeClass("liSelected");$(this).addClass("liSelected");});},"renderResultList":function(names)
{var s="<table class='TableLeaderboard'>";s+="<tr class='TrLeaderboardTitle'><td>Rang</td><td colspan='2'>Name</td><td>Punkte</td><td>Pokale</td></tr>";for(var i=0;i<names.length;i++)
{if(names[i]===null){break;}
var cells=names[i].split('$');var trophy="";if(i<4)
{trophy="<img src='images/trophy/trophy_0"+(i+1)+".gif' />";}
s+="<tr><td>"+cells[0]+".</td><td><img class='imgLeaderAvatar' src='images/userAvatars/40/"+cells[3]+"?"+Date.parse(new Date().toString())+"' /></td><td class='tdLeaderName'>"+cells[1]+"</td><td>"+cells[2]+"</td><td>"+trophy+"</td></tr>";}
s+="</table>";return s;},"hide":function()
{$get('DivLeaderboard').style.display="none";}};var BoxForceLogin={"name":"ForceLogin","forcelogin":false,"inHistory":false,"location":"left","isLoaded":true,"statsToRefresh":false,"show":function()
{$get('DivForceLogin').style.display="block";},"hide":function()
{$get('DivForceLogin').style.display="none";}};var BoxIdiom={"name":"Idiom","forcelogin":false,"location":"right","show":function()
{$get('DivIdiom').style.display="block";this.isLoaded=true;},"hide":function()
{$get('DivIdiom').style.display="none";},"nextIdiom":function()
{PageMethods.GetIdiom(GetIdiomSuccess,GetIdiomError);function GetIdiomSuccess(res)
{BoxIdiom.displayIdiom(res);}
function GetIdiomError(res)
{$get('DivIdiomContent').innerHTML="Could not load Idiom. Please Try again.";}},"displayIdiom":function(arr)
{var s="<div id='DivIdiomCetegory'>"+arr[3]+"</div>";s=s+"<div id='DivIdiomText'>"+arr[0]+"</div>";s=s+"<div id='DivIdiomExplanation'>"+arr[1]+"</div>";s=s+"<div id='DivIdiomExample'>"+arr[2]+"</div>";$get('DivIdiomContent').innerHTML=s;}};var BoxAudio={"name":"Audio","title":"H&ouml;rtexte zum Lehrbuch &quot;Achtung Deutsch A1&quot;","inHistory":true,"location":"left","forcelogin":true,"isLoaded":false,"statsToRefresh":false,"show":function()
{$get('DivAudio').style.display="block";if(DataManager.personal.AudioAccess=="T")
{$get('DivAudioPartner').style.display="block";}else{$get('DivAudioPartner').style.display="none";}},"hide":function()
{$get('DivAudio').style.display="none";},"showVideo":function(videoId)
{if(videoId=="NoMapping")
{$get("DivVideoContainer").innerHTML="<div style='text-align:left'> Die angegebene Hörtext-Adresse wurde leider nicht gefunden. <br/> &larr; Wählen Sie bitte den Hörtext direkt aus der Liste links aus.</div>";}else{var part1="<iframe src='http://player.vimeo.com/video/";var part2="?title=0&amp;byline=0&amp;portrait=0&amp;color=669933' width='400' height='300' frameborder='0'></iframe>";$get("DivVideoContainer").innerHTML=part1+videoId+part2;}},"downloadZIP":function()
{res=confirm(this.rechte);if(res)
{alert("ok");}},"rechte":"Nutzungsbedingungen\n\nDer Download der H&ouml;rtexte sowie das Brennen der H&ouml;rtexte auf CD ist ausschlie&szlig;lich Sprachschulen, Universit&auml;ten, Volkshochschulen und anderen Bildungseinrichtungen, in denen Deutsch als Fremdsprache unterrichtet wird, f&uuml;r den Einsatz im Unterricht erlaubt. Es ist nicht gestattet, die H&ouml;rtexte bzw. die CD mit den H&ouml;rtexten an Drittpersonen (insbesondere Sch&uuml;lerinnen und Sch&uuml;ler) weiterzugeben.\nUm Missbrauch zu vermeiden, sind die H&ouml;rtexte mit unsichtbaren Wasserzeichen versehen und die Downloads werden mitprotokolliert.\n\nDie H&ouml;rtexte zu „Achtung Deutsch“ sind urheberrechtlich gesch&uuml;tzt.\n&copy; 2009 Achtung Verlag GmbH, Z&uuml;rich\n\nMit dem Download der Dateien werden diese Nutzungsbedingungen akzeptiert."};var BoxTagesBild={"name":"TagesBild","forcelogin":false,"location":"right","show":function()
{$get('DivTagesBild').style.display="block";this.isLoaded=true;},"hide":function()
{$get('DivTagesBild').style.display="none";},"nextBild":function()
{PageMethods.GetTagesBild(GetTagesBildSuccess,GetTagesBildError);function GetTagesBildSuccess(res)
{BoxTagesBild.displayBild(res);}
function GetTagesBildError(res)
{$get('DivTagesBildContent').innerHTML="Could not load Bild des Tages. Please Try again.";}},"displayBild":function(arr)
{var s="<img id='ImgTagesBild' src='images/tagesBild/220/"+arr[0]+".jpg' />";s=s+"<div id='DivTagesBildAnnotation'>"+arr[1]+"</div>";s=s+"<div id='DivTagesBildCopyright'>"+arr[2]+"</div>";$get('DivTagesBildContent').innerHTML=s;}};var BoxMaterial={"name":"Material","title":"Zusatzmaterial","location":"left","inHistory":true,"forcelogin":true,"isLoaded":true,"statsToRefresh":false,"content":null,"show":function()
{$get('DivMaterial').style.display="block";if(this.content===null)
{this.generateContent();$get('DivMaterial').innerHTML=this.content;}},"hide":function()
{$get('DivMaterial').style.display="none";},"generateContent":function()
{var s="<center>";s+=this.genSubset(this.zusatzlektion,"Achtung Deutsch A1: Zusatzlektion");s+=this.genSubset(this.domino,"Spiele: Domino");s+=this.genSubset(this.memory,"Spiele: Memory");s+=this.genSubset(this.kreuzwortraetsel,"R&auml;tsel: Kreuzwortr&auml;tsel");s+=this.genSubset(this.mandalas,"R&auml;tsel: Mandalas");s+=this.genSubset(this.suchraetsel,"R&auml;tsel: Suchr&auml;tsel");s+=this.genSubset(this.wohnen,"Wohnen");s+=this.genSubset(this.wortlisten,"Wortlisten");s+=this.genSubset(this.uebersichten,"&Uuml;bersichten");s+=this.genSubset(this.wortschatz,"Achtung Wortschatz: Probelektionen");s+=this.genSubset(this.grammatik,"Achtung Grammatik: Probelektionen");s+=this.genSubset(this.transkriptionen,"Achtung Deutsch A1: Transkriptionen");s+="</center>";this.content=s;},"genSubset":function(list,title)
{var s="<div class='DivMaterialTitle'>"+title+"</div><table>";for(file in list)
{s+="<tr><td><a href='material/"+list[file]+"' target='_blank'><img src='images/icons/filepdf32.gif'/></a></td><td class='tdMaterialText'><a href='material/"+list[file]+"' target='_blank'>"+list[file]+"</a></td></tr>";}
s+="</table>";return s;},"zusatzlektion":["11_Im Straßenverkehr.pdf"],"domino":["Domino_Essen und Trinken.pdf","Domino_Feste.pdf","Domino_Hobbys.pdf","Domino_Imperativ_du.pdf"],"memory":["Memory_Moebel.pdf","Memory_Obst_Gemuese.pdf","Memory_Sport.pdf"],"kreuzwortraetsel":["Raetsel_Berufe.pdf","Raetsel_Berufe_Loesung.pdf","Raetsel_Farben.pdf","Raetsel_Farben_Loesung.pdf","Raetsel_Feste.pdf","Raetsel_Feste_Loesung.pdf"],"mandalas":["Mandala_Adjektiv.pdf","Mandala_Adjektiv_Loesung.pdf","Mandala_Perfekt.pdf","Mandala_Perfekt_Loesung.pdf"],"suchraetsel":["Suchraetsel_Begruessung.pdf","Suchraetsel_Begruessung_Loesung.pdf","Suchraetsel_Geschaefte.pdf","Suchraetsel_Geschaefte_Loesung.pdf"],"wohnen":["Wohnen_aussen.pdf","Wohnen_innen.pdf"],"wortlisten":["Wortliste Achtung Deutsch A1.pdf","Wortliste_Verkehrsmittel.pdf"],"uebersichten":["Grammatikübersicht_A1.pdf"],"transkriptionen":["Hörtexte Achtung Deutsch_A1_L1.pdf","Hörtexte Achtung Deutsch_A1_L2.pdf","Hörtexte Achtung Deutsch_A1_L3.pdf","Hörtexte Achtung Deutsch_A1_L4.pdf","Hörtexte Achtung Deutsch_A1_L5.pdf","Hörtexte Achtung Deutsch_A1_L6.pdf","Hörtexte Achtung Deutsch_A1_L7.pdf","Hörtexte Achtung Deutsch_A1_L9.pdf","Hörtexte Achtung Deutsch_A1_L10.pdf","Hörtexte Achtung Deutsch_A1_L11.pdf",],"wortschatz":["Achtung Wortschatz_Feste und Feiertage.pdf","Achtung Wortschatz_Inhaltsverzeichnis.pdf","Achtung Wortschatz_Tiere.pdf","Achtung Wortschatz_Urlaub und Reise.pdf"],"grammatik":["Achtung Grammatik_Artikel.pdf","Achtung Grammatik_Inhaltsverzeichnis.pdf","Achtung Grammatik_Konjunktiv.pdf","Achtung Grammatik_Modalverben.pdf","Achtung Grammatik_Plural.pdf"]};var BoxManager={"name":"BoxManager","boxes":[],"stateParameters":null,"desiredBox":null,"init":function()
{this.boxes[0]=BoxUserView;this.boxes[1]=BoxUserProfile;this.boxes[2]=BoxExCards;this.boxes[3]=BoxExercise;this.boxes[4]=BoxUserStats;this.boxes[5]=BoxHome;this.boxes[6]=BoxForceLogin;this.boxes[7]=BoxFriends;this.boxes[8]=BoxLeaderboard;this.boxes[9]=BoxUserPage;this.boxes[10]=BoxIdiom;this.boxes[11]=BoxAudio;this.boxes[12]=BoxTagesBild;this.boxes[13]=BoxMaterial;},"changeState":function(stateName,params)
{this.stateParameters=params;var mainTitle="Achtung Deutsch!";var box=this.getBox(stateName);if((box.location=="left")&&(box.inHistory===true))
{Sys.Application.addHistoryPoint({page:stateName},mainTitle+" - "+stateName);}
this.loadState(box.name);},"loadState":function(boxName)
{var box=this.getBox(boxName);if((box.name!="ForceLogin")&&(box.name!="Exercise"))
{this.setMenuItem(box);$get("divTitleLeft").innerHTML=box.title;}
if(MembershipManager.isLoggedIn===false&&box.forcelogin===true)
{this.desiredBox=box;MembershipManager.showBoxIfSuccess=true;this.changeState("ForceLogin");}
else
{if(box.location=="left")
{this.showOnlyLeftBox(boxName);}else{box.show(this.stateParameters);}}},"getBox":function(boxName)
{for(var i=0;i<this.boxes.length;i++)
{if(this.boxes[i].name==boxName)
{return(this.boxes[i]);}}},"showOnlyLeftBox":function(boxName)
{var boxToShow=-1;for(var i=0;i<this.boxes.length;i++)
{if(this.boxes[i].name==boxName)
{boxToShow=i;}
else
{if(this.boxes[i].location=="left")
{this.boxes[i].hide();}}}
if(boxToShow>-1)
{this.boxes[boxToShow].show(this.stateParameters);}},"refreshStatsBoxes":function()
{for(var i=0;i<this.boxes.length;i++)
{if(this.boxes[i].statsToRefresh===true)
{this.boxes[i].refreshStats();}}},"setMenuHovers":function()
{$("#DivBtnPanel img").each(function(){$(this).hover(function(){if(("#"+this.id)!=BoxManager.curMenuItem)
{this.src=this.src.replace("_i","_a");}},function(){if(("#"+this.id)!=BoxManager.curMenuItem)
{this.src=this.src.replace("_a","_i");}});});},"curMenuItem":"none","setMenuItem":function(box)
{if(("#Btn"+box.name)!=BoxManager.curMenuItem)
{if(BoxManager.curMenuItem!="none")
{var obj=$("#DivBtnPanel img"+BoxManager.curMenuItem);obj.attr('src',obj.attr('src').replace("_a","_i"));}
BoxManager.curMenuItem="#Btn"+box.name;var obj=$("#DivBtnPanel img"+BoxManager.curMenuItem);obj.attr('src',obj.attr('src').replace("_i","_a"));}}};

