\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 - Roobarb & Custard Vol. 2 - Mischief & Mayhem
Roobarb & Custard Vol. 2 - Mischief & Mayhem
30 years after their first creation, the cult animation icons Roobarb & Custard returned to our screens in re-runs of the vintage episodes, followed by an ALL NEW digitally animated series from Autumn 2005. Each new show retains the characteristics everyone grew up loving; the ‘wobble’, the wit, the music, the simple colouring and of course the stories of Roobarb’s good intentions and wacky inventions never quite go to plan, much to the amusement of Custard and all their friends in the garden. All told, as in the 1970’s, by Mr. Richard Briers .
™ 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.