function getApp(appName) {
	if (navigator.appName.indexOf ("Microsoft") !=-1) {
		return window[appName];
	} else {
		return document[appName];
	}
}
Effect.Shake = function(element) {
element = $(element);
var options = Object.extend({
distance: 1,
duration: 0.5
}, arguments[1] || {});
var distance = parseFloat(options.distance);
var split = parseFloat(options.duration) / 10.0;
var oldStyle = {
top: element.getStyle('top'),
left: element.getStyle('left') };
return new Effect.Move(element,
{ y:  distance, x: 0, duration: split, afterFinishInternal: function(effect) {
new Effect.Move(effect.element,
{ y: -distance*2, x: 0, duration: split*2,  afterFinishInternal: function(effect) {
new Effect.Move(effect.element,
{ y:  distance*2, x: 0, duration: split*2,  afterFinishInternal: function(effect) {
new Effect.Move(effect.element,
{ y: -distance*2, x: 0, duration: split*2,  afterFinishInternal: function(effect) {
new Effect.Move(effect.element,
{ y:  distance*2, x: 0, duration: split*2,  afterFinishInternal: function(effect) {
new Effect.Move(effect.element,
{ y: -distance, x: 0, duration: split, afterFinishInternal: function(effect) {
effect.element.undoPositioned().setStyle(oldStyle);
}}) }}) }}) }}) }}) }});
};

function callApp(code, id) {
	new Effect.Shake(id,{from:0.0,
	to:0.1,
	delay:0,
	fps:10,
	duration: 0.5});
	getApp("codeSwf").codePlaySound(code);
}
