\n');
}
//-->
// JavaScript Document
var NS4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
function animation(id) {
this.element = (NS4) ? document[id] : document.all[id].style;
this.active = 0;
this.timer = null;
this.path = null;
this.num = null;
this.name = id + "Var";
eval(this.name + " = this");
this.animate = animate;
this.step = step;
this.show = show;
this.hide = hide;
this.left = left;
this.top = top;
this.moveTo = moveTo;
this.slideBy = slideBy;
this.slideTo = slideTo;
this.circle = circle;
}
function pos(x, y) {
this.x = Math.round(x);
this.y = Math.round(y);
}
function show() {
this.element.visibility = (NS4) ? "show" : "visible";
}
function hide() {
this.element.visibility = (NS4) ? "hide" : "hidden";
}
function left() {
return parseInt(this.element.left);
}
function top() {
return parseInt(this.element.top);
}
function moveTo(x, y) {
//alert('moveTo');
this.element.left = x;
this.element.top = y;
}
function step() {
this.moveTo(this.path[this.num].x, this.path[this.num].y);
if (this.num >= this.path.length - 1) {
clearInterval(this.timer);
this.active = 0;
if (this.statement)
eval(this.statement);
} else {
this.num++;
}
}
function animate(interval) {
if (this.active) return;
this.num = 0;
this.active = 1;
this.timer = setInterval(this.name + ".step()", interval);
}
function slideBy(dx, dy, steps, interval, statement) {
var fx = this.left();
var fy = this.top();
var tx = fx + dx;
var ty = fy + dy;
this.slideTo(tx, ty, steps, interval, statement);
}
function slideTo(tx, ty, steps, interval, statement) {
var fx = this.left();
var fy = this.top();
var dx = tx - fx;
var dy = ty - fy;
var sx = dx / steps;
var sy = dy / steps;
var ar = new Array();
for (var i = 0; i < steps; i++) {
fx += sx;
fy += sy;
ar[i] = new pos(fx, fy);
}
this.path = ar;
this.statement = (statement) ? statement : null;
this.animate(interval);
}
function circle(radius, angle0, angle1, steps, interval, statement) {
var dangle = angle1 - angle0;
var sangle = dangle / steps;
var x = this.left();
var y = this.top();
var cx = x - radius * Math.cos(angle0 * Math.PI / 180);
var cy = y + radius * Math.sin(angle0 * Math.PI / 180);
var ar = new Array();
for (var i = 0; i < steps; i++) {
angle0 += sangle;
x = cx + radius * Math.cos(angle0 * Math.PI / 180);
y = cy - radius * Math.sin(angle0 * Math.PI / 180);
ar[i] = new pos(x, y);
}
this.path = ar;
this.statement = (statement) ? statement : null;
this.animate(interval);
}
function resetAll() {
//alert('fffo');
anim1 = new animation("pusher");
if (!anim1.element) return;
// if (!anim2.element) return;
//alert(anim1);
anim1.moveTo(0, 10);
//anim2.slideBy(-20, 0, 10, 10, null);
}
function start() {
anim1 = new animation("pusher");
//anim2 = new animation("thing");
//alert(anim1.element)
if (!anim1.element) return;
// if (!anim2.element) return;
//alert(anim1);
anim1.slideBy(-20, 0, 10, 10, null);
//anim2.slideBy(-20, 0, 10, 10, null);
}
20th Century Fox - Shutter
Shutter
From the producers of The Grudge and The Ring comes a terrifying new
thriller guaranteed to send shivers down your spine... When New York
newly weds Ben and Jane Shaw (Joshua Jackson and Rachael Taylor ) travel
to Japan for a photographic work assignment they believe their life is
picture perfect, but a horrific car accident leaves a young girl dead
and the couple traumatised and terrified. Shortly after the incident
the Shaws start to see unexplained images and eerie shadows in their
photos followed by shocking and inexplicable deaths occurring to those
closest to them. Haunted by a vengeful ghost the Shaws begin to uncover
the reasons behind the sinister happenings and discover that the most
terrifying images are the ones which are real.
Starring:
Joshua Jackson
Rachael Taylor
Megumi Okina
David Denman
John Hensley Directed by
Masayuki Ochiai
Special Features:
A Ghost In The Lens
A Cultural Divide: Shooting in Japan
The
Director: Masayuki Ochiai
Deleted Scenes
Commentary
A History of
Spirit Photography
Create Your Own Phantom Photo
The Hunt For the
Haunt: Tools And Tips For Ghost Hunting
™ and © Twentieth Century Fox Film Corporation. All rights reserved. Property of Fox. Use of this website (including any and all parts and components) constitutes your acceptance of these
terms and conditions and
privacy policy . The materials on this website are not to be sold, traded or given away. Any copying, manipulation, publishing, or other transfer of these materials, except as specifically provided in the terms and conditions of use, is strictly prohibited.