MyEffect = Class.create();

MyEffect.extend({
	shock:function(id,rate,speed){
		var obj = $(id);
		var oL=0;
		var oT=0;
		var oTime=null;
		var cycleNum = 20;
		
		var start = function(){
			if(parseInt(obj.getStyle('left'))==oL-2){
				obj.setStyle('top',oT+2);
				var sL = function(){obj.setStyle('left',oL+2)};
				sL.delay(rate);
			}
			else{
				obj.setStyle('top',oT-2);
				var sR = function(){obj.setStyle('left',oL-2)}
				sR.delay(rate);
			}
			var cycle=function(){start()};
			oTime = cycle.delay(speed);
			cycleNum--||stop();
		}
		var stop = function(){
			clearTimeout(oTime);
		}
		start();
	},
	movePopFish:function(){
		Image0=new Image();
		Image0.src="/public/images/fish/bubble.gif";
		Amount=12;
		Pics=new Array();
		Load=new Array();
		Ypos=new Array();
		Xpos=new Array();
		Speed=new Array();
		Rate=new Array();
		Grow=new Array();
		Step=new Array();
		Cstep=new Array();
		Pos=-1;
		Jog=1;
		Timer=null;
		bubbleTimer=null;
		moveTimer=null;
		cycleNum = 2;
		if(!$('ifish')){
			var bub = new Element('div',{'id':'bubble','style':"position:absolute;top:0px;left:0px"});
			var bubR = new Element('div',{'style':"position:relative"});
			for (i = 0; i < Amount; i++){
				bubR.adopt(new Element('img',{'name':'si','src':Image0.src,'style':"position:absolute;top:-100px;left:0px;filter:alpha(opacity=90)"}));
			}
			bub.adopt(bubR);
			var iFi = new Element('div',{'id':'fish','style':"position:absolute;top:0px;left:0px"});
			var iFiR = new Element('div',{'style':"position:relative"});
			iFiR.adopt(new Element('img',{'id':'ifish','name':'iframe','src':'0.gif','style':"position:absolute;top:-100px;left:0px"}));
			iFi.adopt(iFiR);
			$('mypasser').adopt(bub);
			$('mypasser').adopt(iFi);
		}else{
			$('fish').setStyle('display','block');
			$('bubble').setStyle('display','block');
		}
		for(i=0; i <= 6; i++){
			Pics[i]="/public/images/fish/0427"+i+".gif";
		}
		function PreLoad(){
			for(i=0; i < Pics.length; i++){
				Load[i]=new Image();
				Load[i].src=Pics[i];
			}
		}
		PreLoad();
		var ifish = $('ifish');
		var si = document.getElementsByName('si');
		Strt=0-(Load[0].width+50);

		var stop = function(){
			$clear(bubbleTimer);
			$clear(Timer);
			$clear(moveTimer);
			$('fish').setStyle('display','none');
			$('bubble').setStyle('display','none');
		}

		function AniFish(){
			Pos+=Jog;
			if (Pos >= Pics.length) Pos=0;
			document.images.iframe.src=Pics[Pos];
			var nickAniFish = function(){AniFish()}
			Timer=nickAniFish.delay(50);//setTimeout('AniFish()',50);
		}
		function MoveFish(){
			H=document.body.clientHeight;
			W=document.body.clientWidth;
			Strt-=2;
			if (Strt < 0-(Load[0].width)) {
				Strt=W;
				cycleNum--||stop();
			}
			ifish.setStyles({'left':Strt,'top':H-(Load[0].height+10)});
			var nickMoveFish = function(){MoveFish()}
			moveTimer = nickMoveFish.delay(10);
		}
		H2=document.body.clientHeight;
		for (i=0; i < Amount; i++){
			Ypos[i]=Math.random()*H2-50;
			Xpos[i]=-50;
			Speed[i]=Math.random()*10+1;
			Cstep[i]=0;
			Step[i]=Math.random()*0.1+0.05;
			Grow[i]=4;
			Rate[i]=Math.random()*0.5+0.1;
		}

		function Bubbles(){
			for (i=0; i < Amount; i++){
				sy = Speed[i]*Math.sin(270*Math.PI/180);
				sx = Speed[i]*Math.cos(Cstep[i]*5);
				Ypos[i]+=sy;
				Xpos[i]+=sx;
				if (Ypos[i] < -40){
					Ypos[i]=parseInt(ifish.getStyle('top'));
					Xpos[i]=parseInt(ifish.getStyle('left'));
					Speed[i]= 6+Math.random()*3;
					Grow[i]=4;
				}

				si[i].style.left=Xpos[i]+'px',
				si[i].style.top=Ypos[i]+'px',
				si[i].style.width=Grow[i]+'px',
				si[i].style.height=Grow[i]+'px';
				Grow[i]+=Rate[i];
				Cstep[i]+=Step[i];
				if (Grow[i] > 15) Grow[i]=16;
			}

			var nickBubbles=function(){Bubbles()}
			bubbleTimer = nickBubbles.delay(10);
		}

		AniFish();
		MoveFish();
		Bubbles();

	},
	flyFlowers:function(){
		var no = 10; // snow number
		var speed = 20; // smaller number moves the snow faster
		var snowflake = "/public/images/fish/flower.gif";
		var cycleNum = 2000;
		
		var dx, xp, yp;    // coordinate and position variables
		var am, stx, sty;  // amplitude and step variables
		var i, doc_width = 400, doc_height = 500;
		var Timer = null;
		doc_width = $('mypasser').getSize().x;
		doc_height = $('mypasser').getSize().y;
		
		dx = new Array();
		xp = new Array();
		yp = new Array();
		am = new Array();
		stx = new Array();
		sty = new Array();
		for (i = 0; i < no; ++ i) {
			dx[i] = 0;                    // set coordinate variables
			xp[i] = Math.random()*(doc_width-50);  // set position variables
			yp[i] = Math.random()*doc_height;
			am[i] = Math.random()*20;         // set amplitude variables
			stx[i] = 0.02 + Math.random()/10; // set step variables
			sty[i] = 0.7 + Math.random();     // set step variables
			if(!$('dot'+i)){
				var div = new Element('div',{'id':'dot'+i,'style':'position:absolute;z-index:'+i+'visibility:visible; top: 15px; left: 15px;'});
				div.adopt(new Element('img',{'src':snowflake,'border':0}));
				$('mypasser').adopt(div);
			}

		}

		function snow() {  // IE main animation function
			for (i = 0; i < no; ++ i) {  // iterate for every dot
				yp[i] += sty[i];
				if (yp[i] > doc_height-50) {
					xp[i] = Math.random()*(doc_width-am[i]-30);
					yp[i] = 0;
					stx[i] = 0.02 + Math.random()/10;
					sty[i] = 0.7 + Math.random();
					doc_width = document.body.clientWidth;
					doc_height = document.body.clientHeight;
				}
				dx[i] += stx[i];
				$("dot"+i).setStyle('top',yp[i]);
				$("dot"+i).setStyle('left',xp[i] + am[i]*Math.sin(dx[i]));
			}
			snowNick = function(){snow()}
			Timer = snowNick.delay(speed);
			cycleNum--||stop();
		}
		snow();
		var stop = function(){
			$clear(Timer);
			for (i = 0; i < no; ++ i) { 
				$("dot"+i).empty();
			}
		}
	},
	roate:function(){
		var ie4up = (document.all) ? 1 : 0;
		if(!ie4up)return;
		amount=15;
		Color='#ffaaff';
		GlowColor='#ff00ff';
		ypos=0;
		xpos=0;
		ybase=15;
		xbase=-80;
		step=0.07;
		currStep=0;
		TrigSplit=360/amount;
		MY=0;
		MX=0;
		C=0;
		c=0.05;
		cycleNum = 20;
		TimerRoate = null;
		for (i=0; i < amount; i++){
			var div = new Element('div',{'id':"ieDiv",'name':'ieDiv','style':"position:absolute;top:0px;left:0px;height:20;width:20;text-align:center"});
			var b = new Element('b',{'text':'.'});
			$('mypasser').adopt(div.adopt(b));
		}

		function orbit(){
			MY=document.body.scrollTop+document.body.clientHeight/2 + document.body.clientHeight/2.8*Math.cos((C)/3)*Math.cos(C/10);
			MX=document.body.scrollLeft+20+document.body.clientWidth/2.2 + document.body.clientWidth/2.4*Math.sin((C)/5)*Math.sin(C/20);
			ypos=MY;
			xpos=MX;
			for (i=0; i < amount; i++){
				var d=ieDiv[i].style;
				if (d.pixelTop > ypos+2){
					{
						d.fontSize=18;
						d.paddingTop=7;
						d.filter='glow(color='+GlowColor+', strength=7)';
					}
					if (d.pixelTop > ypos+10)
					{
						d.fontSize=15;
						d.paddingTop=10;
						d.filter='glow(color='+GlowColor+', strength=6)';
					}
				}
				else
				{
					d.fontSize=25;
					d.paddingTop=0;
					d.color=Color;
					d.filter='glow(color='+GlowColor+', strength=8)';
				}
				d.top=ypos+ybase*Math.sin(currStep+i*TrigSplit*Math.PI/180);
				d.left=xpos+xbase*Math.cos(currStep+i*TrigSplit*Math.PI/180);
			}
			C+=c;
			currStep+=step;
			orbitNick = function(){
				orbit();
			}
			TimerRoate = orbitNick.delay(20);
//			cycleNum--||$clear(Timer);
		}
		orbit();
	}
})



