--[[ /* * Baltisot * Copyright (C) 1999-2008 Nicolas "Pixel" Noble * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ ]]-- local common_javascript function urlEncode(str) if str then str = string.gsub(str, "\n", "\r\n") str = string.gsub(str, "([^%w ])", function (c) return string.format("%%%02X", string.byte(c)) end) str = string.gsub(str, " ", "+") end return str end function write_common_javascript(out) out:write(common_javascript) end common_javascript = [=[ function getObjById(id) { var returnVar = null; if (document.getElementById) returnVar = document.getElementById(id); else if (document.all) returnVar = document.all[id]; else if (document.layers) returnVar = document.layers[id]; return returnVar; } function removeAllOptions(selectbox) { var i; selectbox = getObjById(selectbox); for (i = selectbox.options.length - 1; i >= 0; i--) { //selectbox.options.remove(i); selectbox.remove(i); } } function addOption(selectbox, value, text ) { selectbox = getObjById(selectbox); var optn = document.createElement("OPTION"); optn.text = text; optn.value = value; selectbox.options.add(optn); } //============================================================================= // Image Preloader function ImagePreloader(images, callback) { // store the callback this.callback = callback; // initialize internal state. this.nLoaded = 0; this.nProcessed = 0; this.aImages = new Array; // record the number of images. this.nImages = images.length; // for each image, call preload() for (var i = 0; i < images.length; i++) this.preload(images[i]); } ImagePreloader.prototype.preload = function(image) { // create new Image object and add to array var oImage = new Image; this.aImages.push(oImage); // set up event handlers for the Image object oImage.onload = ImagePreloader.prototype.onload; oImage.onerror = ImagePreloader.prototype.onerror; oImage.onabort = ImagePreloader.prototype.onabort; // assign pointer back to this. oImage.oImagePreloader = this; oImage.bLoaded = false; oImage.source = image; // assign the .src property of the Image object oImage.src = image; } ImagePreloader.prototype.onComplete = function() { this.nProcessed++; if (this.nProcessed == this.nImages) this.callback(this.aImages); } ImagePreloader.prototype.onload = function() { this.bLoaded = true; this.oImagePreloader.nLoaded++; this.oImagePreloader.onComplete(); } ImagePreloader.prototype.onerror = function() { this.bError = true; this.oImagePreloader.onComplete(); } ImagePreloader.prototype.onabort = function() { this.bAbort = true; this.oImagePreloader.onComplete(); } //============================================================================= ///////////////////////////////////////////////////////////////////// /*------------------------------------------------------------------- AKX GetVariables ------------------------------------------------------------------- Class to get HTTP GET-style variables from the document URL. Usage: 1) declare a variable as GetVariables ex. vars=new GetVariables(); 2) call the variable's Init function ex. vars.Init(); 3) call IsVar to check whether the named variable is found ex. vars.IsVar("username"); IsVar returns either true or false. 4) call GetVar to retrieve a variable. alert(vars.GetVar("username")); GetVar returns "" if the variable is not found. You can also iterate through the variables using for(i=0;i= n) return this.Values[this.Varslist[n]]; } function GV_GetVarNN(n) { if (this.Vars >= n) return this.Varslist[n]; } function GV_ListVars() { s = ""; for (i = 0; i < this.VarCount(); i++) { s += this.GetVarNN(i) + "=" + this.GetVarNV(i) + "\n"; } alert(s); } function GetVariables() { this.Values = new Array(); this.Varslist = new Array(); this.Vars = 0; this.Init = GV_Init; this.VarCount = GV_Vc; this.GetVar = GV_GetVar; this.GetVarNV = GV_GetVarNV; this.GetVarNN = GV_GetVarNN; this.IsVar = GV_IsVar; this.AddVar = GV_AddVar; this.GetVarPlace = GV_GetVarPlace; this.ListVars = GV_ListVars; } ///////////////////////////////////////////////////////////////////// ]=]