summaryrefslogtreecommitdiff
path: root/template/rooms/vortex.st
diff options
context:
space:
mode:
Diffstat (limited to 'template/rooms/vortex.st')
-rw-r--r--template/rooms/vortex.st291
1 files changed, 291 insertions, 0 deletions
diff --git a/template/rooms/vortex.st b/template/rooms/vortex.st
new file mode 100644
index 0000000..c15c890
--- /dev/null
+++ b/template/rooms/vortex.st
@@ -0,0 +1,291 @@
+
+<html>
+<head>
+<title>dump.fm image vortex</title>
+
+
+
+
+ <script>
+ jQuery(document).ready(initChat);
+ var Nick = $json_user_nick$;
+ var Room = $json_room_key$;
+ var Timestamp = $timestamp$;
+
+
+ </script>
+
+<style type="text/css">
+
+
+
+ html {
+ overflow: hidden;
+ }
+ body {
+ margin: 0px;
+ padding: 0px;
+ background: #111;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ background:#f0f9ff url(/static/img/fade-blue.png) top left repeat-x fixed;
+ cursor: crosshair;
+ }
+ #canvas {
+ position:absolute;
+ left: 0%;
+ top: 0%;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ }
+ #canvas img {
+ position: absolute;
+ background: #666;
+ overflow: hidden;
+ cursor: pointer;
+ left: 100%;
+ border-color: #000;
+ border-style: solid;
+ border-width: 1px;
+ -ms-interpolation-mode:nearest-neighbor;
+ }
+ #canvas span {
+ position: absolute;
+ color: #9C9;
+ font-family: 'courier new', typewriter, matrix, monospace;
+ font-size: 0px;
+ white-space: nowrap;
+ left: -1000px;
+ background: #010;
+ filter: alpha(opacity=90);
+ opacity: 0.9;
+ }
+#infotxt{
+font-family: 'courier new', typewriter, matrix, monospace;
+line-height:16px;
+background-image:url(/static/img/bg.dither.gif);
+width:230px;
+
+padding:10px;
+padding-bottom:14px;
+font-size:12px;
+ border-bottom-right-radius:100px;
+ -webkit-border-bottom-right-radius:100px;
+ -moz-border-radius-bottomright:100px;
+}
+.returnlink{
+text-decoration:none;
+ font-family: Arial, Helvetica, sans-serif;
+ color:#f0e;
+}
+.returnlink a:hover{
+text-decoration:none;
+ font-family: Arial, Helvetica, sans-serif;
+ color:blue;
+}
+
+</style>
+<script type="text/javascript">
+id = function(o) { return document.getElementById(o); }
+px = function (x) { return ''.concat(Math.round(x), 'px'); }
+
+//////////////////////////////////////////////////////////////////////////////
+function resize() { gf.resize(); }
+onresize = resize;
+
+document.onmousemove = function(e)
+{
+ if(window.event) e=window.event;
+ gf.xm = (e.x || e.clientX) - gf.nx - gf.nw * .5;
+ gf.ym = (e.y || e.clientY) - gf.ny - gf.nh * .5;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+var gf = {
+ O : [],
+ cont : 0,
+ N : 0,
+ S : 0,
+ img : 0,
+ spa : 0,
+ xm : 0,
+ ym : 0,
+ nx : 0,
+ ny : 0,
+ nw : 0,
+ nh : 0,
+ cx : 0,
+ cy : 0,
+ zoom : 1,
+ x : 0,
+ y : 0,
+ z : -40000,
+ xt : 0,
+ yt : 0,
+ zt : 0,
+//////////////////////////////////////////////////////////////////////////////
+ resize : function ()
+ {
+ var o = id('canvas');
+ gf.nx = o.offsetLeft;
+ gf.ny = o.offsetTop;
+ gf.nw = o.offsetWidth;
+ gf.nh = o.offsetHeight;
+ gf.zoom = gf.nh / 700;
+ },
+
+ CObj : function (n)
+ {
+ this.n = n;
+ this.x = gf.zoom * Math.random() * gf.nw * 2 - gf.nw;
+ this.y = gf.zoom * Math.random() * gf.nh * 2 - gf.nh;
+ this.z = Math.round(n * (10000 / gf.N));
+ this.w = gf.img[n].width;
+ this.h = gf.img[n].height;
+ this.oxt = gf.spa[n];
+ this.oxs = this.oxt.style;
+ this.txt = gf.spa[n].innerHTML;
+ this.oxt.innerHTML = "";
+ this.obj = gf.img[n];
+ this.obs = this.obj.style;
+ this.obj.parent = this;
+ this.obj.onclick = function() { this.parent.click(); }
+ this.obj.ondrag = function() { return false; }
+ this.oxt.style.zIndex = this.obj.style.zIndex = Math.round(1000000 - this.z);
+ this.F = false;
+ this.CF = 100;
+ this.sto = [];
+
+ this.anim = function()
+ {
+ var f = 700 + this.z - gf.z;
+ if (f > 0)
+ {
+ var d = 1000 / f;
+ var X = gf.nw * .5 + ((this.x - gf.x - gf.cx) * d);
+ var Y = gf.nh * .5 + ((this.y - gf.y - gf.cy) * d);
+ var W = d * this.w * gf.zoom;
+ var H = d * this.h * gf.zoom;
+ this.obs.left = px(X - W * .5);
+ this.obs.top = px(Y - H * .5);
+ this.obs.width = px(W);
+ this.obs.height = px(H);
+ this.oxs.visibility = (this.CF-- > 0 && Math.random() > .9) ? "hidden" : "visible";
+ this.oxs.left = px(X - W * .5);
+ this.oxs.top = px(Y + H * .5);
+ if((gf.zt - gf.z) < 20)
+ {
+ if(!this.F)
+ {
+ this.F = true;
+ this.CF = Math.random() * 200;
+ this.oxs.fontSize = px(1 + d * 20 * gf.zoom);
+ var T = "";
+ var tn = this.txt.length;
+ for(var i = 0; i < tn; i++)
+ {
+ T = T.concat(this.txt.charAt(i));
+ this.sto[i] = setTimeout('gf.O['.concat(n, '].oxt.innerHTML = "', T.concat("_"), '";'), Math.round(f / 4) + 32 * i);
+ }
+ }
+ }
+ else
+ {
+ this.F = false;
+ this.oxt.innerHTML = "";
+ }
+ }
+ else
+ {
+ this.x = gf.zoom * Math.random() * gf.nw * 2 - gf.nw;
+ this.y = gf.zoom * Math.random() * gf.nh * 2 - gf.nh;
+ this.z += 10000;
+ this.oxs.zIndex = this.obs.zIndex = Math.round(1000000 - this.z);
+ }
+ }
+
+ this.cto = function()
+ {
+ var i = this.txt.length;
+ while (i--) clearTimeout(this.sto[i]);
+ }
+
+ this.click = function()
+ {
+ var i = gf.N;
+ while (i--) gf.O[i].cto();
+ if(gf.S != this)
+ {
+ gf.xt = this.x;
+ gf.yt = this.y;
+ gf.zt = this.z;
+ gf.S = this;
+ }
+ else
+ {
+ gf.S = 0;
+ gf.zt += 1600;
+ }
+ }
+ },
+
+ init : function ()
+ {
+ gf.cx = gf.nw / 2;
+ gf.cy = gf.nh / 2;
+ gf.cont = id("canvas");
+ gf.img = id("canvas").getElementsByTagName("img");
+ gf.spa = id("canvas").getElementsByTagName("span");
+ gf.N = gf.img.length;
+ for (var i = 0; i < gf.N; i++) gf.O[i] = new gf.CObj(i);
+ gf.run();
+ gf.O[0].click();
+ },
+
+ run : function ()
+ {
+ gf.cx += (gf.xm - gf.cx) * .1;
+ gf.cy += (gf.ym - gf.cy) * .1;
+ gf.x += (gf.xt - gf.x) * .05;
+ gf.y += (gf.yt - gf.y) * .05;
+ gf.z += (gf.zt - gf.z) * .05;
+ var i = gf.N;
+ while (i--) gf.O[i].anim();
+ setTimeout(gf.run, 16);
+ }
+}
+
+onload = function() {
+ resize();
+ gf.init();
+}
+
+</script>
+</head>
+
+<body>
+
+<div id="canvas">
+$messages: { m |
+<img src="$m.content$"><span>$m.nick$</span>
+ }$
+
+<div id="infotxt">dump.fm image vortex<br><br>Real-Time Visualization of whats being dumped now.<br><br><a href="http://dump.fm" class="returnlink"> Return Home</a><br><br>
+ <div id="likebutton">
+ <iframe src="http://www.facebook.com/widgets/like.php?href=http://dump.fm/chat/vortex"
+ scrolling="no" frameborder="0"
+ style="border:none; width:170px; height:80px"></iframe>
+ </div>
+</div>
+
+
+</div>
+
+<span id="LB0" style="position:absolute;left:50%;top:50%;"><span style="position:absolute;font-family:arial;font-size:10px;color:#ccc;background:#000;left:-50px;top:-18px">Loading...</span><span style="position:absolute;left:-50px;top:-5px;font-size:1px;width:100px;height:10px;background:#333"><span id="LB1" style="position:absolute;font-size:1px;width:0px;height:10px;background:#ccc"></span></span></span>
+<script type="text/javascript">m00=document.getElementById("canvas").getElementsByTagName("img");m01=m00.length;function images_loading_bar(){m02=0;for(i=0;i<m01;i++)m02+=(m00[i].complete)?1:0;document.getElementById("LB1").style.width=Math.round(m02/m01*100)+'px';if(m02==m01)setTimeout("document.getElementById('LB0').style.display='none'",128); else setTimeout("images_loading_bar()", 64);};images_loading_bar();</script>
+
+
+</body>
+</html>