textArray = new Array("C", "O", "N", "N", "E", "C", "T", "I", "N", "G", " ", "T" , "O", " ", "A", "L", "T", "I", "M", "I", "T", "-", "O", "S", ".", "N", "E", "T", "
", "I", "P", " ", "R", "E", "S", "O", "L", "V", "E", "D", "
", "B", "O", "O", "T", "I", "N", "G", " ", "P", "R", "O", "J", "E", "C", "T", ":", " ", "A", "L", "T", "I", "M", "I", "T"); gaprow = document.getElementById("gap"); hr1 = document.getElementById("rh1"); hr2 = document.getElementById("rh2"); load = document.getElementById("loading"); logoimg = document.getElementById("logo"); gaptbl = document.getElementById("gaptable"); logotbl = document.getElementById("logotable"); skippydiv = document.getElementById("skipdiv"); // This timeout should help us avoid most of that annoying clipping while loading images... initTimer = setTimeout("text(0);", 3000); agent = navigator.userAgent.toLowerCase(); mozilla = (navigator.product == 'Gecko'); msie = ((agent.indexOf("msie") != -1) && !mozilla); var xterm = document.getElementById("xterminal"); xterm.titlerow = document.getElementById("xterm-title"); xterm.menu = document.getElementById("xterm-menu"); xterm.min = document.getElementById("xterm-min"); xterm.max = document.getElementById("xterm-max"); xterm.close = document.getElementById("xterm-close"); xterm.rest = document.getElementById("xterm-rest"); xterm.hr1 = document.getElementById("xterm-hr1"); xterm.hr2 = document.getElementById("xterm-hr2"); xterm.cont = document.getElementById("xterm-contents"); xterm.table = xterm.parentNode.parentNode.parentNode; if(xterm.table.nodeName == "TBODY") xterm.table = xterm.table.parentNode; xterm.style.width = "0px"; xterm.style.height = "0px"; xterm.opened = 0; xterm.windowshade = 0; xterm.titlerowtext = "xterm"; xterm.varname = "xterm"; xterm.closed = 0; var dragwindow = 0; start = document.getElementById("startbutton"); taskbarinuse = new Array(0, 0, 0, 0, 0, 0); taskbarspots = new Array(document.getElementById("task1"), document.getElementById("task2"), document.getElementById("task3"), document.getElementById("task4"), document.getElementById("task5"), document.getElementById("task6")); startdiv = document.getElementById("starttbl"); startentry = new Array(document.getElementById("startentry1"), document.getElementById("startentry2"), document.getElementById("startentry3"), document.getElementById("startentry4"), document.getElementById("startentry5"), document.getElementById("startentry6")); var stopboot = 0; if(mozilla) xterm.style.display = "table"; else { // IE doesn't like making SPAN tags with paddibuttonng if nothing's in them... for(i=0;i<6;i++) taskbarspots[i].innerHTML = " "; xterm.style.display = "block"; } document.onmousemove = dragging; // This first part handles the initial boot process (the part that can be skipped) // Handles the text additions. function text(start) { if(initTimer) { clearTimeout("initTimer"); initTimer = 0; } i = start; if(i < textArray.length) { hr1.innerHTML += textArray[i]; i++; textTimer = setTimeout("text(i);",20); } else wide(); } // Starts the timer for widening the gap function wide() { gapTimer = setTimeout("gap(0);",100); } // The actual gap widening (buggy in IE, as it works from top down.) function gap(start) { i = start; if(i < 100) { i += 10; hr1.style.height = "0%"; if(mozilla) { gaprow.parentNode.style.display = "table-row"; } else { gaprow.parentNode.style.display = "block"; } gaprow.style.height = i + "%"; gapTimer = setTimeout("gap(i);",100); } else { // And at the end of course, you queue the logo. clearTimeout("gapTimer"); gaptbl.style.display = "none"; loadtop = logoimg.offsetTop + 28; loadleft = logoimg.offsetLeft + 164; load.style.top = loadtop + "px"; load.style.left = loadleft + "px"; load.src = "images/loading.gif"; load.style.display = "inline"; if(!stopboot) bootTimer = setTimeout("openwindow(xterm);",9000); } } // Let's the skip button work. function skip() { clearTimeout("textTimer"); clearTimeout("gapTimer"); clearTimeout("bootTimer"); gaptbl.style.display = "none"; stopboot = 1; openwindow(xterm); } // This next part works the actual xterm window. Probably have to recode it some to work with the right window. // The initial opening height part. function height(windowname, start) { i = start; if(i < 400) { i += 50; windowname.style.height = i + "px"; widthTimer = setTimeout("height(" + windowname.varname + ",i);",10); } else { clearTimeout(heightTimer); widthTimer = setTimeout("width(" + windowname.varname + ",0);",10); } } // And then the width part. function width(windowname, start) { i = start; if(i < 600) { i += 50; windowname.style.width = i + "px"; widthTimer = setTimeout("width(" + windowname.varname + ",i);",10); if(i == 100) { windowname.titlerow.innerHTML = windowname.titlerowtext; } if(i == 200) { windowname.menu.style.display = "inline"; windowname.min.style.display = "inline"; windowname.max.style.display = "inline"; windowname.close.style.display = "inline"; } } else { windowname.titlerow.style.width = "528px"; windowname.cont.style.display = "block"; clearTimeout(widthTimer); } } // The initial open function. This will need to be edited for sure. I kludge the skipping part by setting the opened variable. function openwindow(windowname) { if(windowname.opened != 1) { if(windowname.table.style.display = "none") { if(mozilla) windowname.table.style.display = "table"; else windowname.table.style.display = "block"; } skippydiv.style.display = "none"; logotbl.style.display = "none"; heightTimer = setTimeout("height(" + windowname.varname + ", 0);",10); windowname.opened = 1; } } // This just closes the window. function close(windowname) { windowname.opened = 0; windowname.titlerow.innerHTML = ""; windowname.menu.style.display = "none"; windowname.min.style.display = "none"; windowname.max.style.display = "none"; windowname.close.style.display = "none"; windowname.style.top = ""; windowname.style.left = ""; windowname.style.height = "0px"; windowname.style.width = "0px"; windowname.table.style.display = "none"; windowname.cont.style.display = "none"; windowname.style.position = "relative"; windowname.parentNode.setAttribute("valign", "center"); windowname.parentNode.setAttribute("align", "center"); windowname.closed = 1; } // Resizing (the initial setup)button function resizeon(windowname, dir) { dragwindow = windowname; if(dir == "n") { windowname.resize = "n"; windowname.xdiff = windowname.offsetLeft; windowname.ydiff = locY - windowname.offsetTop; windowname.heightdiff = parseInt(windowname.style.height) + windowname.offsetTop; } else if(dir == "s") { windowname.resize = "s"; windowname.xdiff = windowname.offsetLeft; windowname.ydiff = parseInt(windowname.style.height) - locY; windowname.heightdiff = windowname.offsetTop; } else if(dir == "e") { windowname.resize = "e"; windowname.xdiff = parseInt(windowname.style.width) - locX; windowname.ydiff = windowname.offsetTop; windowname.widthdiff = windowname.offsetLeft; } else if(dir == "w") { windowname.resize = "w"; windowname.xdiff = locX - windowname.offsetLeft; windowname.ydiff = windowname.offsetTop; windowname.widthdiff = parseInt(windowname.style.width) + windowname.offsetLeft; } else if(dir == "ne") { windowname.resize = "ne"; windowname.xdiff = parseInt(windowname.style.width) - locX; windowname.ydiff = locY - windowname.offsetTop; windowname.widthdiff = windowname.offsetLeft; windowname.heightdiff = parseInt(windowname.style.height) + windowname.offsetTop; } else if(dir == "nw") { windowname.resize = "nw"; windowname.xdiff = locX - windowname.offsetLeft; windowname.ydiff = locY - windowname.offsetTop; windowname.widthdiff = parseInt(windowname.style.width) + windowname.offsetLeft; windowname.heightdiff = parseInt(windowname.style.height) + windowname.offsetTop; } else if(dir == "se") { windowname.resize = "se"; windowname.xdiff = parseInt(windowname.style.width) - locX; windowname.ydiff = parseInt(windowname.style.height) - locY; windowname.widthdiff = windowname.offsetLeft; windowname.heightdiff = windowname.offsetTop; } else if(dir == "sw") { windowname.resize = "sw"; windowname.xdiff = locX - windowname.offsetLeft; windowname.ydiff = parseInt(windowname.style.height) - locY; windowname.widthdiff = parseInt(windowname.style.width) + windowname.offsetLeft; windowname.heightdiff = windowname.offsetTop; } } // On mouse out function resizeoff(windowname) { windowname.resize = 0; dragwindow = 0; } // The maximize button function maximize(windowname) { if(windowname.windowshade) menudown(windowname); windowname.oldwidth = windowname.style.width; windowname.oldheight = windowname.style.height; windowname.oldx = windowname.offsetLeft; windowname.oldy = windowname.offsetTop; windowname.titlerow.oldwidth = windowname.titlerow.style.width; if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.style.top = "0px"; windowname.style.left = "0px"; windowname.style.width = "100%"; windowname.style.height = "100%"; windowname.titlerow.style.width = windowname.offsetWidth - 72 + "px"; windowname.max.style.display = "none"; windowname.rest.style.display = "inline"; } // The minimize button function minimize(windowname) { if(windowname.style.position != "absolute") { windowname.style.left = windowname.offsetLeft + "px"; windowname.style.top = windowname.offsetTop + "px"; windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.table.style.display = "none"; for(i=0;i<6;i++) { if(taskbarinuse[i] == 0) { taskbarinuse[i] = 1; taskbarspots[i].style.paddingLeft = "3px"; taskbarspots[i].style.paddingRight = "3px"; taskbarspots[i].innerHTML = "" + windowname.titlerowtext + ""; windowname.taskbar = i; break; } } } // The minimize restoration function function minrestore(windowname) { if(mozilla) { windowname.table.style.display = "table"; taskbarspots[windowname.taskbar].innerHTML = ""; } else { windowname.table.style.display = "block"; taskbarspots[windowname.taskbar].innerHTML = " "; } taskbarspots[windowname.taskbar].style.paddingLeft = "8px"; taskbarspots[windowname.taskbar].style.paddingRight = "8px"; taskup(windowname.taskbar); } function taskdown(buttonid) { if(buttonid == "start") { startcancel = 1; taskitem = start; } else taskitem = taskbarspots[buttonid]; taskitem.style.borderTop = "2px solid black"; taskitem.style.borderLeft = "2px solid black"; taskitem.style.borderRight = "2px solid white"; taskitem.style.borderBottom = "2px solid white"; } function taskup(buttonid) { if(buttonid == "start") { taskitem = start; if(startdiv.style.display == "block") { startcancel = 0; menuTimer = setTimeout("startmenuclose();",500); return; } } else taskitem = taskbarspots[buttonid]; taskitem.style.borderTop = "2px solid white"; taskitem.style.borderLeft = "2px solid white"; taskitem.style.borderRight = "2px solid black"; taskitem.style.borderBottom = "2px solid black"; } function startmenu(startspot) { start.style.borderTop = "2px solid black"; start.style.borderLeft = "2px solid black"; start.style.borderRight = "2px solid white"; start.style.borderBottom = "2px solid white"; if(startdiv.style.display != "block") startdiv.style.display = "block"; i = startspot; if(i < 300) { i += 50; startdiv.style.height = i + "px"; startentry[Math.floor((i - 50) / 50)].style.display = "block"; widthTimer = setTimeout("startmenu(i);",20); } else { clearTimeout(widthTimer); } } function startmenuclose() { if(!startcancel) { startdiv.style.height = "0px"; startdiv.style.display = "none"; start.style.borderTop = "2px solid white"; start.style.borderLeft = "2px solid white"; start.style.borderRight = "2px solid black"; start.style.borderBottom = "2px solid black"; for(i=0;i<6;i++) startentry[i].style.display = "none"; } } function hilight(entryid) { startentry[entryid].style.color = "black"; startentry[entryid].style.background = "white"; } function unhilight(entryid) { startentry[entryid].style.color = "white"; startentry[entryid].style.background = "black"; } // The restore button function restore(windowname) { windowname.style.width = windowname.oldwidth; windowname.style.height = windowname.oldheight; if(windowname.style.position != "absolute") windowname.style.position = "absolute"; windowname.style.left = windowname.oldx + "px"; windowname.style.top = windowname.oldy + "px"; windowname.titlerow.style.width = windowname.titlerow.oldwidth; windowname.rest.style.display = "none"; windowname.max.style.display = "inline"; } // The menuup button (or double clicking (buggy in IE)) function menuup(windowname) { windowname.oldheight2 = windowname.style.height; windowname.style.top = windowname.offsetTop + "px"; windowname.style.left = windowname.offsetLeft + "px"; if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.style.height = "22px"; windowname.hr1.style.display = "none"; windowname.hr2.style.display = "none"; windowname.menu.parentNode.href = "javascript:menudown(" + windowname.varname + ")"; windowname.titlerow.setAttribute("ondblclick", "menudown(" + windowname.varname + ");"); windowname.windowshade = 1; } // And going back down. function menudown(windowname) { windowname.style.height = windowname.oldheight2; if(mozilla) { windowname.hr1.style.display = "table-row"; windowname.hr2.style.display = "table-row"; } else { windowname.hr1.style.display = "block"; windowname.hr2.style.display = "block"; } windowname.menu.parentNode.href = "javascript:menuup(" + windowname.varname + ")"; windowname.titlerow.setAttribute("ondblclick", "menuup(" + windowname.varname + ");"); windowname.windowshade = 0; } // The actual dragging/resizing function. Could be optimized? function dragging(e) { if(msie) { locX = event.clientX; locY = event.clientY; } else { locX = e.pageX; locY = e.pageY; } if(!dragwindow) return; windowname = dragwindow; if(windowname.titlerow.drag == 1) { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newleft = locX - windowname.xdiff; windowname.newtop = locY - windowname.ydiff; windowname.style.left = windowname.newleft + "px"; windowname.style.top = windowname.newtop + "px"; } else if(windowname.resize == "n") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newtop = locY - windowname.ydiff; windowname.newheight = windowname.heightdiff - locY + windowname.ydiff; windowname.style.left = windowname.xdiff + "px"; windowname.style.top = windowname.newtop + "px"; windowname.style.height = windowname.newheight + "px"; } else if(windowname.resize == "s") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newheight = locY + windowname.ydiff; windowname.style.left = windowname.xdiff + "px"; windowname.style.top = windowname.heightdiff + "px"; windowname.style.height = windowname.newheight + "px"; } else if(windowname.resize == "e") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newwidth = locX + windowname.xdiff; windowname.style.left = windowname.widthdiff + "px"; windowname.style.top = windowname.ydiff + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } else if(windowname.resize == "w") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newleft = locX - windowname.xdiff; windowname.newwidth = windowname.widthdiff - locX + windowname.xdiff; windowname.style.left = windowname.newleft + "px"; windowname.style.top = windowname.ydiff + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } else if(windowname.resize == "ne") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newtop = locY - windowname.ydiff; windowname.newwidth = locX + windowname.xdiff; windowname.newheight = windowname.heightdiff - locY + windowname.ydiff; windowname.style.left = windowname.widthdiff + "px"; windowname.style.top = windowname.newtop + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.style.height = windowname.newheight + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } else if(windowname.resize == "nw") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newleft = locX - windowname.xdiff; windowname.newtop = locY - windowname.ydiff; windowname.newwidth = windowname.widthdiff - locX + windowname.xdiff; windowname.newheight = windowname.heightdiff - locY + windowname.ydiff; windowname.style.left = windowname.newleft + "px"; windowname.style.top = windowname.newtop + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.style.height = windowname.newheight + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } else if(windowname.resize == "se") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newwidth = locX + windowname.xdiff; windowname.newheight = locY + windowname.ydiff; windowname.style.left = windowname.widthdiff + "px"; windowname.style.top = windowname.heightdiff + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.style.height = windowname.newheight + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } else if(windowname.resize == "sw") { if(windowname.style.position != "absolute") { windowname.parentNode.removeAttribute("align"); windowname.parentNode.removeAttribute("valign"); windowname.style.position = "absolute"; } windowname.newleft = locX - windowname.xdiff; windowname.newwidth = windowname.widthdiff - locX + windowname.xdiff; windowname.newheight = locY + windowname.ydiff; windowname.style.left = windowname.newleft + "px"; windowname.style.top = windowname.heightdiff + "px"; windowname.style.width = windowname.newwidth + "px"; windowname.style.height = windowname.newheight + "px"; windowname.titlerow.style.width = windowname.newwidth - 72 + "px"; } } // Turning dragging on function dragon(windowname) { windowname.titlerow.drag = 1; windowname.xdiff = locX - windowname.offsetLeft; windowname.ydiff = locY - windowname.offsetTop; if(windowname.ydiff < 0 && msie) windowname.ydiff = Math.floor(locY - windowname.offsetTop / 2); /*if(windowname.closed == 1 && msie) { windowname.ydiff = windowname.ydiff + windowname.offsetParent.offsetTop; }*/ dragwindow = windowname; } // And off. function dragoff(windowname) { dragwindow = 0; windowname.titlerow.drag = 0; }
Make your own free website on Tripod.com