\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 - Olive, The Other Reindeer
Olive, The Other Reindeer
In this delightfully animated adventure , Olive, The Other Reindeer is really a kind-hearted dog who sets out to save Christmas with the help of a smooth-talking penguin named Martini! This stylised 3D cartoon is a fun-filled family treat from the team that brought us The Simpsons, this contemporary classic is sure to be a Christmas tradition for young and old alike!
Featuring the voice talent of:- Drew Barrymore - Michael Stipe - Joe Pantoliano - Edward Asner - Dan Castellanata - Jay Mohr - Peter MacNichol Directed by Steve Moore
™ 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.