home *** CD-ROM | disk | FTP | other *** search
- var speed = 10
- var pause = 4000
- var timerID = null
- var bannerRunning = false
- var ar = new Array()
-
- ar[0] = "Vφtejte na strßnkßch firmy Sky GUARD, spol. s r.o."
- ar[1] = "Tato strßnka je v∞novßna nejmodern∞jÜφmu bezpeΦnostnφmu za°φzenφ"
- ar[2] = "SkyGuard"
- ar[3] = "Vyu₧ijte naÜich akΦnφch slev"
-
- var message = 0
-
- var state = ""
-
- clearState()
-
- function stopBanner() {
- // if banner is currently running
- if (bannerRunning)
- // stop the banner
- clearTimeout(timerID)
- // timer is now stopped
- timerRunning = false
- }
-
- // start the banner
- function startBanner() {
- // make sure the banner is stopped
- stopBanner()
- // start the banner from the current position
- showBanner()
- }
-
- // assign state a string of "0" characters of the length of the current message
- function clearState() {
- // initialize to empty string
- state = ""
- // create string of same length containing 0 digits
- for (var i = 0; i < ar[message].length; ++i) {
- state += "0"
- }
- }
-
- // display the current message
- function showBanner() {
- // if the current message is done
- if (getString()) {
- // increment message
- message++
- // if new message is out of range wrap around to first message
- if (ar.length <= message)
- message = 0
- // new message is first displayed as empty string
- clearState()
- // display next character after pause milliseconds
- timerID = setTimeout("showBanner()", pause)
- }
- else {
- // initialize to empty string
- var str = ""
- // built string to be displayed (only character selected thus far are displayed)
- for (var j = 0; j < state.length; ++j) {
- str += (state.charAt(j) == "1") ? ar[message].charAt(j) : " "
- }
- document.title = str
- timerID = setTimeout("showBanner()", speed)
- }
- }
-
- function getString() {
- // set variable to true (it will stay true unless proven otherwise)
- var full = true
- // set variable to false if a free space is found in string (a not-displayed char)
- for (var j = 0; j < state.length; ++j) {
- // if character at index j of current message has not been placed in displayed string
- if (state.charAt(j) == 0)
- full = false
- }
- // return true immediately if no space found (avoid infinitive loop later)
- if (full) return true
- // search for random until free space found (braoken up via break statement)
- while (1) {
- // a random number (between 0 and state.length - 1 == message.length - 1)
- var num = getRandom(ar[message].length)
- // if free space found break infinitive loop
- if (state.charAt(num) == "0")
- break
- }
- // replace the 0 character with 1 character at place found
- state = state.substring(0, num) + "1" + state.substring(num + 1, state.length)
- // return false because the string was not full (free space was found)
- return false
- }
-
- function getRandom(max) {
- // create instance of current date
- var now = new Date()
- // create a random number (good generator)
- var num = now.getTime() * now.getSeconds() * Math.random()
- // cut random number to value between 0 and max - 1, inclusive
- return num % max
- }
- startBanner()
- // -->
-