/************************************************ **** MIXED JAVASCRIPT FOR RUNNING EXERCISES **** **** Copyright (c) HL Web 2006-2008 **** ************************************************/ // Global javacript variables var help0 = '

Skapa ny övning


Exempel på bra namn på en övning är "Engelska glosor v.42".
Kommer glosorna från någon speciell bok? Skriv in bokens namn i nästa textruta. Välj sedan i vilken mapp du vill spara din övning. Om du vill skapa en ny mapp kan du göra det genom att klicka på länken "Ny mapp".

Därefter kan du skriva en kort, förkarande beskrivning av övningen.
Nästa steg är att välja om övningen är en "Gloslista" eller en "Annan övning" (t.ex. historia eller matte). Om det är en gloslista kan du fylla i vilka språk övningen är på. Glosboken.se klarar av alla språk, till och med kinesiska.

Klicka sedan på knappen "Fortsätt" och fyll övningen med frågor.
'; var help1 = '

Lösenordsskydd


Om du vill skydda din övning så att bara dina vänner/elever kan använda den så kan du göra det genom att sätta ett lösenord på den. På så sätt kan du låta dem du känner få reda på lösenordet så att de kan använda övningen. Ingen som inte har lösenordet kommer åt övningen.

Du behöver egentligen aldrig lösenordsskydda din övning - Ingen kan göra ändringar i den förutom du hur som helst. Den enda skillnaden är att andra användare inte kan hämta och öva på din övning om du låser den med ett lösenord.

Det är också möjligt att gömma din övning för alla sökningar. För att gömma övningen så kan du markera valet Privat ur listan med alternativ. Privata övningar kommer aldrig att synas för andra användare i några sökningar.'; var help2 = '

Lägg till frågor


'; var help3 = '

Övningen är skapad


Din övning har nu skapats och sparats. Kolla igenom alla uppgifter så att allt stämmer. Om du vill ändra något så kan du göra det genom att klicka på "Ändra". Om du vill ta bort en fråga ur övningen, så klickar du på "Ta bort". Om du vill lägga till fler frågor till övningen, så kan du göra det genom att klicka på länken "Lägg till ny fråga".

För att börja öva på din nya övning så klickar du på länken "Starta övning", eller så kan du surfa in på "Mina övningar".'; var help4 = 'Mina nyaste övningar
Här visas dina tre nyaste övningar så att du snabbt ska kunna öva på dem. Du markerar en övning genom att klicka på raden för övningen (eller så kan du klicka direkt i kryss-rutan).

Klicka sedan på "Starta övning" för att börja träna på de valda övningarna.

Du hittar alla dina andra övningar på sidan "Mina övningar".'; var help5 = 'Tipsa dina vänner
Här kan du enkelt tipsa dina lärare och vänner om Glosboken. Du kan tipsa flera personer samtidigt genom att lägga till ett komma-tecken (,) mellan varje persons e-post address.

Stort tack för att du vill tipsa dina vänner!
Lycka till!'; var help6 = 'Skriv ut övningen
Övningen kan skrivas ut som antingen flashcards, en gloslista eller som ett prov/test.
Du kan läsa mer om de olika typerna av utskrifter fungerar under respektive namn.'; var help7 = 'Hämta andra användares övningar.
Här kan du hämta andra användares övningar. Börja med att söka efter den övning du vill hämta. Du behöver inte fylla i all information, men risken finns att du får väldigt många träffar om du bara fyller i lite grann.
När du har hittat den övning som du letar efter så kan du antingen lägga till den direkt, eller välja att visa innehållet för att kontrollera att det verkligen är rätt övning. När du har lagt till en övning så sparas den bland dina övningar, men du kan inte göra några ändringar i den. Det är bara den som har skapat en övning som kan göra ändringar.
Lycka till!'; var help8 = 'Markera den övning / gloslista som du vill kopiera frågor / glosor ifrån.
Övningens innehåll kommer att visas i rutan nedanför. Där kan du sedan klicka på den fråga / glosa som du vill kopiera.

OBS!
Kom ihåg att välja vilken övning / gloslista du ska kopiera frågan / glosan till innan du klickar på den. Detta väljer du lite längre ned på sidan.'; var help9 = 'Markera den övning / gloslista som du vill kopiera frågor till.'; var help10 = 'För att ändra ditt lösenord måste du först ange ditt nuvarande lösenord. Därefter ska du skriva in det nya lösenordet som du vill ändra till. För att vara säker på att det nya lösenordet stämmer, så måste du skriva in det två gånger.'; var help11 = 'För att avsluta ditt medlemskap på Glosboken så måste du bekräfta med ditt lösenord.

Fyll i lösenordet och klicka på knappen "Avsluta medlemskap" för att avsluta ditt konto.'; var help12 = '
Ändra textstorlek:
Liten
'; var help13 = '
Ändra textstorlek:
Mellan
'; var help14 = '
Ändra textstorlek:
Stor
'; var help15 = '
Change language into:
English
'; var help16 = '
Byt språk till:
Svenska
'; var help17 = 'Här kan du söka efter övningar

'; var helpText = new Array(help0,help1,help2,help3,help4,help5,help6,help7,help8,help9,help10,help11,help12,help13,help14,help15,help16,help17); var helpBoxWidth = 500; var cursorPosX = 0; var cursorPosY = 0; var showHelpLinkList = false; var hideDropDown = false; var helpBoxTimer = false; var tmpTimer = new Array(); // Set Modal Loader properties window.onbeforeunload = modalLoader_startTimer; var modalLoaderTimer = false; /** * Compricer ads variables */ var compricerSectionNames = new Array(); var compricerSectionValues = new Array(); compricerSectionNames[0] = 'Alla kategorier'; compricerSectionValues[0] = "combo"; compricerSectionNames[1] = 'Böcker'; compricerSectionValues[1] = "books"; compricerSectionNames[2] = 'DVD'; compricerSectionValues[2] = "dvd"; compricerSectionNames[3] = 'Spel'; compricerSectionValues[3] = "games"; compricerSectionNames[4] = 'Hemelektronik'; compricerSectionValues[4] = "electronics"; compricerSectionNames[5] = 'Mobiltelefoner'; compricerSectionValues[5] = "phones"; compricerSectionNames[6] = 'Foto'; compricerSectionValues[6] = "photo"; compricerSectionNames[7] = 'Lån'; compricerSectionValues[7] = "loan"; compricerSectionNames[8] = 'Linser'; compricerSectionValues[8] = "lens"; /** * Hide Compricer drop-down list * @param string id is the id of the object to hide */ function hideTimedObject(objName) { if (hideDropDown == true) { DHTMLObj(objName).style.display = "none"; } } /** * Start timer for hiding Compricer drop-down list * @param string id is the id of the object to hide */ function startHideTimer(objName) { hideDropDown = true; setTimeout("hideTimedObject('" + objName + "')", 500); } /** * Set the hideDropDown value to false to avoid the dropdown from turning invisible * @param string objName is the dhtml id of the object to keep visible */ function keepVisible(objName) { if (hideDropDown == true) { hideDropDown = false; } if (DHTMLObj(objName).style.display != "block") { DHTMLObj(objName).style.display = "block"; } } /** * Set the section / category to run a given search query in. * This function will set the section value in the form and print the section name for the user. * @param int index for the array in the compricerSectionValue and compricerSectionName arrays */ function compricerSetSection(index) { DHTMLObj('compricerSectionValue').value = compricerSectionValues[index]; DHTMLObj('compricerSectionName').innerHTML = compricerSectionNames[index]; DHTMLObj('compricerDropDown').style.display = "none"; DHTMLObj('compricerSearch').focus(); compricerHideValue = true; } /** * Skapar en dhtml-referens till ett givet objekt */ function DHTMLObj(object) { if (document.all) { // Explorer 4,5 return document.all[object]; } else if (document.getElementById) { // Netscape 6 return document.getElementById(object); } else if (document.layers) { // Övriga läsare document[object].open(); return document[object]; } } /** * Displays or hides a div with a description of a selected area * @param int showText is an int representation the index deciding what description to display * @param string setDisplay is a string representation of the css display state */ function displayHelpBox(showText, setDisplay, width) { // Stop the timer if (helpBoxTimer) { clearTimeout(helpBoxTimer); } // The css "visibility" state was used earlier, so we have to modify the state to valid display format if (setDisplay == "visible") { setDisplay = "block"; } else if (setDisplay == "hidden") { setDisplay = "none"; } // Hack för att gömma select-box i Explorer if (showText == 0) { if (setDisplay == "block") { DHTMLObj("selectBox").style.visibility = "hidden"; } else { DHTMLObj("selectBox").style.visibility = "visible"; } } helpBoxWidth = width; DHTMLObj('helpBoxContent').innerHTML = helpText[showText]; var obj = DHTMLObj("helpBox"); obj.style.width = width + "px"; obj.style.display = setDisplay; } /** * En tom funktion som gör att inget händer när man klickar på vissa länkar */ function doNothing() { return; } /** * Get vertical scroll position * @return int value of the vertical scrolled offset */ function getScrollOffset() { var b = document.body; var d = document.documentElement; if (b && b.scrollTop) return body.scrollTop; if (d && d.scrollTop) return d.scrollTop; if (window.pageYOffset) return window.pageYOffset; return 0; } /** * Öppnar ett nytt fönster med given hjälptext */ function help(medVad) { egenskaper="toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"; egenskaper+=",width=450"; egenskaper+=",height=220,top=150,left=150"; unik=new Date(); unik=unik.getSeconds()+"_"+unik.getMinutes()+"_"+unik.getHours(); window.open("http://www.glosboken.se/pages/help.php?vad="+medVad,unik,egenskaper); } /** * Öppnar ett nytt fönster med given bredd och höjd */ function newWin (openPage, w, h, scroll) { var centerScreen = Math.floor((screen.width / 2) - (w/2)); var properties="toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=" +scroll+ ",resizable=no"; properties+=",width=" + w + ",height=" + h + ",top=15,left=" +centerScreen; unik=new Date(); unik=unik.getSeconds()+"_"+unik.getMinutes()+"_"+unik.getHours(); window.open("http://www.glosboken.se/" + openPage, unik, properties); } /** * Open a modal box to indicate that the new page is loading. */ function modalLoader_startTimer() { modalLoaderTimer = setTimeout("modalLoader_display()",500); } /** * Stop the modal loader timer */ function modalLoader_stopTimer() { if (modalLoaderTimer) { modalLoaderTimer=false; } } /** * Close a modal box to indicate that the new page is loading. */ function modalLoader_display() { if (modalLoaderTimer) { if (DHTMLObj('frm_modal_loader')) { var topPosition = 200 + getScrollOffset(); DHTMLObj('img_loader').style.top = topPosition + 'px'; DHTMLObj('img_loader').style.display = 'block'; DHTMLObj('frm_modal_loader').style.display='block'; } modalLoaderTimer = false; } } /** * sendForm() * Änvänds för att enkelt skicka en form via tex onclick eller en href * @author: Fredrik Lundmark, 2005-12-14 * @param: formID Den aktuella formens id * @retun: */ function script_sendForm(formID){ DHTMLObj(formID).submit(); } /** * Set the position of a given object. The position is given as a number of pixles from the left and top margins * @param string obj is the DHTML id of the object to update the position for * @param int posX is the number of pixles from the left margin to position the given object * @param int posY is the number of pixles from the top margin to position the given object */ function setObjectPosition(obj, posX, posY) { var object = DHTMLObj(obj); object.style.left = posX + "px"; object.style.top = posY + "px"; } /** * Start trace of cursor position (X and Y coordinates). */ function startCursorTracer() { if (document.all || document.getElementById) { document.body.onmousemove = traceCursor; //document.onmousemove = traceCursor; } else if (document.layers) { window.captureEvents(Event.MOUSEMOVE); window.onMouseMove = traceCursor; } } /** * Switch a relation block in the buddyList to visible/hidden and update the corresponding image * @param string objName is the id of the DHTML object id to switch position for * @param string pos1 is the x and y coordinates to compare the real world against * @param string pos2 is the x and y coordinates to set if the coordinates given in pos1 does not match the real world */ function switchBgPosition(objName, pos1, pos2) { var obj = DHTMLObj(objName); if (obj.style.backgroundPosition == pos1) { obj.style.backgroundPosition = pos2; } else { obj.style.backgroundPosition = pos1; } } /** * Switch a given checkbox from unchecked to checked or from checked to unchecked * @param string object is the DHTML object id of the checkbox to switch checked state for */ function switchCheckbox (object) { object.checked ? object.checked = false : object.checked = true; } /** * Swtich a given dhtml object into a new css class * @param string objName is the DHTML id of the object to set a new class for * @param string cssClassName is the css id of the class to set the object to */ function switchClass(objName, cssClassName) { var obj; if (typeof objName == 'string') { obj = DHTMLObj(objName); } else if (typeof objName == 'object') { obj = objName; } if (obj.className != cssClassName) { obj.className = cssClassName; } } /** * Switch the css dislay property for a given object [block -> none, none -> block] * @param string objName is the DHTML id of the object to switch display for */ function switchDisplay(objName) { var obj = DHTMLObj(objName); if (obj.style.display != 'block') { obj.style.display = 'block'; } else { obj.style.display = 'none'; } } /** * Switch to a new tab. * This will change the appearance of the tabs and switch to a new set of subTabs * @param string tabId is the post-part of the tab DHTML id of the tab to switch to */ function switchTab(tabId) { for (i=0; i<5; i++) { if (DHTMLObj("subTab_" + (i+1))) { DHTMLObj("subTab_" + (i+1)).style.display = 'none'; } if (DHTMLObj("topTab_" + i)) { DHTMLObj("topTab_" + i).className = ""; DHTMLObj("topTab_" + i + "_image").style.display = 'none'; DHTMLObj("topTab_" + i + "_text").style.display = 'block'; DHTMLObj("topTab_div_" + i).style.backgroundPosition = '0px 44px'; } } if (DHTMLObj("subTab_" + (tabId+1))) { DHTMLObj("subTab_" + (tabId+1)).style.display = 'inline'; } if (DHTMLObj("topTab_" + tabId)) { DHTMLObj("topTab_" + tabId).className = 'active'; DHTMLObj("topTab_div_" + tabId).style.backgroundPosition = '0px 0px'; DHTMLObj("topTab_" + tabId + "_text").style.display = 'none'; DHTMLObj("topTab_" + tabId + "_image").style.display = 'block'; } if (tabId > 0) { DHTMLObj("topTab_div_" + (tabId-1)).style.backgroundPosition = '0px 22px'; } } /** * Trace cursor position for nice display of e.g. help boxes * @param event event is the cursor object to use when checking for its position */ function traceCursor(myEvent) { myEvent = myEvent || window.event; if(myEvent.pageX || myEvent.pageY){ cursorPosX = myEvent.pageX; cursorPosY = myEvent.pageY; } else { cursorPosX = myEvent.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; cursorPosY = myEvent.clientY + document.body.scrollTop + document.documentElement.scrollTop //cursorPosX = myEvent.clientX; //cursorPosY = myEvent.clientY; } //cursorPosY += getScrollOffset(); posX = cursorPosX - (helpBoxWidth - 50); posY = cursorPosY + 25; if (posX < 1) { posX = cursorPosX - 50; } setObjectPosition('helpBox',posX, posY); } function GetXmlHttpObject(handler) { var objXmlHttp = null; if (navigator.userAgent.indexOf("Opera") >= 0) { alert("Den här funktionen fungerar tyvärr inte i Opera. Använd Internet Explorer eller Mozilla Firefox istället."); return; } if (navigator.userAgent.indexOf("MSIE") >= 0) { var strName = "Msxml2.XMLHTTP" if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) { strName = "Microsoft.XMLHTTP"; } try { objXmlHttp = new ActiveXObject(strName); objXmlHttp.onreadystatechange = handler; return objXmlHttp; } catch(e) { alert("Kopieringsscriptet kan inte köras. Script för ActiveX kan vara avstängt."); return; } } if (navigator.userAgent.indexOf("Mozilla") >= 0) { objXmlHttp = new XMLHttpRequest(); objXmlHttp.onload = handler; objXmlHttp.onerror = handler; return objXmlHttp; } }