diff --git a/export/exporthtml_snakes.php b/export/exporthtml_snakes.php
index 5e27f06..12bea6f 100644
--- a/export/exporthtml_snakes.php
+++ b/export/exporthtml_snakes.php
@@ -67,7 +67,6 @@ body
// Snakes for Moodle by Maria Rigkou.
var boards = 1;
-var board_images = new Array( boards);
var board_names = new Array( boards);
var pawn_width = new Array(boards);
var pawn_height = new Array(boards);
@@ -96,7 +95,6 @@ var quest_feedb = ""; // feedback
var quest_total = 25; // Count of questions
board_names[ 0] = "name; ?>";
-board_images[ 0] = 'fileboard; ?>';
board_cols [0] = cols; ?>;
board_rows [0] = rows; ?>;
board_contents [0] = 'data; ?>';
@@ -163,8 +161,6 @@ function ShowMainForm()
var col_width = (board_width[current_board]-board_headerx[current_board]-board_footerx[current_board])/cols;
var col_height = (board_height[current_board]-board_headery[current_board]-board_footery[current_board])/rows;
- document.write('');
- document.getElementById("boardimage").src = "images/" + board_images[ current_board];
document.write('
');
if( current_position >= 0) {
@@ -184,11 +180,6 @@ function ShowMainForm()
}
}
-function selectBoard() {
- current_board = document.getElementById("boardtype").value;
- document.getElementById("boardimage").src = "images/" + board_images[ current_board];
-}
-
function select_quest() {
var quest_total = countofquestionsM + countofquestionsS;
var quest_candidates= new Array();
diff --git a/export/html/snakes/css/game.css b/export/html/snakes/css/game.css
index a76885a..05d698c 100644
--- a/export/html/snakes/css/game.css
+++ b/export/html/snakes/css/game.css
@@ -13,7 +13,6 @@
}
#dicecont {
- float: right;
width: 250px;
background-image: url(../images/meter.png);
background-repeat: repeat;
diff --git a/export/html/snakes/js/subModal.js b/export/html/snakes/js/subModal.js
new file mode 100644
index 0000000..ad2bbd9
--- /dev/null
+++ b/export/html/snakes/js/subModal.js
@@ -0,0 +1,280 @@
+var gPopupMask = null;
+var gPopupContainer = null;
+var gPopFrame = null;
+var gReturnFunc;
+var gPopupIsShown = false;
+var gDefaultPage = "/loading.html";
+var gHideSelects = false;
+var gReturnVal = null;
+
+var gTabIndexes = new Array();
+// Pre-defined list of tags we want to disable/enable tabbing into
+var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME");
+
+// If using Mozilla or Firefox, use Tab-key trap.
+if (!document.all) {
+ document.onkeypress = keyDownHandler;
+}
+
+/**
+ * Initializes popup code on load.
+ */
+function initPopUp() {
+ // Add the HTML to the body
+ theBody = document.getElementsByTagName('BODY')[0];
+ popmask = document.createElement('div');
+ popmask.id = 'popupMask';
+ popcont = document.createElement('div');
+ popcont.id = 'popupContainer';
+ popcont.innerHTML = '' +
+ '';
+ theBody.appendChild(popmask);
+ theBody.appendChild(popcont);
+
+ gPopupMask = document.getElementById("popupMask");
+ gPopupContainer = document.getElementById("popupContainer");
+ gPopFrame = document.getElementById("popupFrame");
+
+ // check to see if this is IE version 6 or lower. hide select boxes if so
+ // maybe they'll fix this in version 7?
+ var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
+ if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) {
+ gHideSelects = true;
+ }
+
+ // Add onclick handlers to 'a' elements of class submodal or submodal-width-height
+ var elms = document.getElementsByTagName('a');
+ for (i = 0; i < elms.length; i++) {
+ if (elms[i].className.indexOf("submodal") == 0) {
+ // var onclick = 'function (){showPopWin(\''+elms[i].href+'\','+width+', '+height+', null);return false;};';
+ // elms[i].onclick = eval(onclick);
+ elms[i].onclick = function(){
+ // default width and height
+ var width = 400;
+ var height = 200;
+ // Parse out optional width and height from className
+ params = this.className.split('-');
+ if (params.length == 3) {
+ width = parseInt(params[1]);
+ height = parseInt(params[2]);
+ }
+ showPopWin(this.href,width,height,null); return false;
+ }
+ }
+ }
+}
+addEvent(window, "load", initPopUp);
+
+ /**
+ * @argument width - int in pixels
+ * @argument height - int in pixels
+ * @argument url - url to display
+ * @argument returnFunc - function to call when returning true from the window.
+ * @argument showCloseBox - show the close box - default true
+ */
+function showPopWin(url, width, height, returnFunc, showCloseBox) {
+ // show or hide the window close widget
+ if (showCloseBox == null || showCloseBox == true) {
+ document.getElementById("popCloseBox").style.display = "block";
+ } else {
+ document.getElementById("popCloseBox").style.display = "none";
+ }
+ gPopupIsShown = true;
+ disableTabIndexes();
+ gPopupMask.style.display = "block";
+ gPopupContainer.style.display = "block";
+ // calculate where to place the window on screen
+ centerPopWin(width, height);
+
+ var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);
+
+
+ gPopupContainer.style.width = width + "px";
+ gPopupContainer.style.height = (height+titleBarHeight) + "px";
+
+ setMaskSize();
+
+ // need to set the width of the iframe to the title bar width because of the dropshadow
+ // some oddness was occuring and causing the frame to poke outside the border in IE6
+ gPopFrame.style.width = parseInt(document.getElementById("popupTitleBar").offsetWidth, 10) + "px";
+ gPopFrame.style.height = (height) + "px";
+
+ // set the url
+ gPopFrame.src = url;
+
+ gReturnFunc = returnFunc;
+ // for IE
+ if (gHideSelects == true) {
+ hideSelectBoxes();
+ }
+}
+
+//
+var gi = 0;
+function centerPopWin(width, height) {
+ if (gPopupIsShown == true) {
+ if (width == null || isNaN(width)) {
+ width = gPopupContainer.offsetWidth;
+ }
+ if (height == null) {
+ height = gPopupContainer.offsetHeight;
+ }
+
+ //var theBody = document.documentElement;
+ var theBody = document.getElementsByTagName("BODY")[0];
+ //theBody.style.overflow = "hidden";
+ var scTop = parseInt(getScrollTop(),10);
+ var scLeft = parseInt(theBody.scrollLeft,10);
+
+ setMaskSize();
+
+ //window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
+
+ var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);
+
+ var fullHeight = getViewportHeight();
+ var fullWidth = getViewportWidth();
+
+ gPopupContainer.style.top = (scTop + ((fullHeight - (height+titleBarHeight)) / 2)) + "px";
+ gPopupContainer.style.left = (scLeft + ((fullWidth - width) / 2)) + "px";
+ //alert(fullWidth + " " + width + " " + gPopupContainer.style.left);
+ }
+}
+addEvent(window, "resize", centerPopWin);
+addEvent(window, "scroll", centerPopWin);
+window.onscroll = centerPopWin;
+
+
+/**
+ * Sets the size of the popup mask.
+ *
+ */
+function setMaskSize() {
+ var theBody = document.getElementsByTagName("BODY")[0];
+
+ var fullHeight = getViewportHeight();
+ var fullWidth = getViewportWidth();
+
+ // Determine what's bigger, scrollHeight or fullHeight / width
+ if (fullHeight > theBody.scrollHeight) {
+ popHeight = fullHeight;
+ } else {
+ popHeight = theBody.scrollHeight;
+ }
+
+ if (fullWidth > theBody.scrollWidth) {
+ popWidth = fullWidth;
+ } else {
+ popWidth = theBody.scrollWidth;
+ }
+
+ gPopupMask.style.height = popHeight + "px";
+ gPopupMask.style.width = popWidth + "px";
+}
+
+/**
+ * @argument callReturnFunc - bool - determines if we call the return function specified
+ * @argument returnVal - anything - return value
+ */
+function hidePopWin(callReturnFunc) {
+ gPopupIsShown = false;
+ var theBody = document.getElementsByTagName("BODY")[0];
+ theBody.style.overflow = "";
+ restoreTabIndexes();
+ if (gPopupMask == null) {
+ return;
+ }
+ gPopupMask.style.display = "none";
+ gPopupContainer.style.display = "none";
+ if (callReturnFunc == true && gReturnFunc != null) {
+ // Set the return code to run in a timeout.
+ // Was having issues using with an Ajax.Request();
+ gReturnVal = window.frames["popupFrame"].returnVal;
+ window.setTimeout('gReturnFunc(gReturnVal);', 1);
+ }
+ gPopFrame.src = gDefaultPage;
+ // display all select boxes
+ if (gHideSelects == true) {
+ displaySelectBoxes();
+ }
+}
+
+// Tab key trap. iff popup is shown and key was [TAB], suppress it.
+// @argument e - event - keyboard event that caused this function to be called.
+function keyDownHandler(e) {
+ if (gPopupIsShown && e.keyCode == 9) return false;
+}
+
+// For IE. Go through predefined tags and disable tabbing into them.
+function disableTabIndexes() {
+ if (document.all) {
+ var i = 0;
+ for (var j = 0; j < gTabbableTags.length; j++) {
+ var tagElements = document.getElementsByTagName(gTabbableTags[j]);
+ for (var k = 0 ; k < tagElements.length; k++) {
+ gTabIndexes[i] = tagElements[k].tabIndex;
+ tagElements[k].tabIndex="-1";
+ i++;
+ }
+ }
+ }
+}
+
+function returnRefresh()
+{
+ //alert("I am active!");
+ window.location.reload();
+}
+
+// For IE. Restore tab-indexes.
+function restoreTabIndexes() {
+ if (document.all) {
+ var i = 0;
+ for (var j = 0; j < gTabbableTags.length; j++) {
+ var tagElements = document.getElementsByTagName(gTabbableTags[j]);
+ for (var k = 0 ; k < tagElements.length; k++) {
+ tagElements[k].tabIndex = gTabIndexes[i];
+ tagElements[k].tabEnabled = true;
+ i++;
+ }
+ }
+ }
+}
+
+
+/**
+ * Hides all drop down form select boxes on the screen so they do not appear above the mask layer.
+ * IE has a problem with wanted select form tags to always be the topmost z-index or layer
+ *
+ * Thanks for the code Scott!
+ */
+function hideSelectBoxes() {
+ var x = document.getElementsByTagName("SELECT");
+
+ for (i=0;x && i < x.length; i++) {
+ x[i].style.visibility = "hidden";
+ }
+}
+
+/**
+ * Makes all drop down form select boxes on the screen visible so they do not
+ * reappear after the dialog is closed.
+ *
+ * IE has a problem with wanting select form tags to always be the
+ * topmost z-index or layer.
+ */
+function displaySelectBoxes() {
+ var x = document.getElementsByTagName("SELECT");
+
+ for (i=0;x && i < x.length; i++){
+ x[i].style.visibility = "visible";
+ }
+}