//
//		SPRITE.JS
//

//globals
var Sprite_BrowserIsOk=false;
var Sprite_MSIE=false;
var Sprite_InitDone=false;
var Sprite_TimerInterval=100;
var Sprite_Images=new Array(); 
var Sprite_ImageNames=new Array(); 

//movebehavior constants
sbMoveRandom = 0;
sbReflect = 1;
sbSideRigth = 2;
sbSlideLeft = 3;
sbSlideUp = 4;
sbSlideDown = 5;
//stopbehavior constants
sbStopVisible = 0;
sbStopHide = 0;
//mouseinbehavior constants
sbInNone = 0;
sbInFreeze = 1;
//mouseoutbehavior constants
sbOutNone = 0;
sbOutMove = 1;
//mouseclickbehavior constants
sbClickNone = 0;
sbClickHide = 1;

//functions
function Sprite_OnMouse(evnt)
{
	var eType;
	var eName;
	if(!Sprite_MSIE)//NN
	{
		eType = evnt.type;
		if(eType == "focus")
			eType="click";
		eName=evnt.target.name;
	}
	else // MSIE
	{
		eType = window.event.type;
		d=window.event.srcElement;
		while(d.tagName != "DIV")
		{
			d=d.parentElement;
		}
		eName=d.id;
	}
	top.window.status="Beni Tıklayın !";
	eval("Sprite="+eName);
	if( (Sprite.mouseinbehavior==sbInFreeze) && (eType=="mouseover"))
	{
		clearTimeout(Sprite.timer);
	}
	if( (Sprite.mouseinbehavior==sbOutMove) && (eType=="mouseout"))
	{
		Sprite.timer = setTimeout("Sprite_Animate('"+eName+"')",Sprite.interval);
	}
	if( (Sprite.mouseclickbehavior==sbClickHide) && (eType=="click"))
	{
		clearTimeout(Sprite.timer);
		Sprite.seconds= 1;
		Sprite.timer = setTimeout("Sprite_Animate('"+eName+"')",1000);
	}
	return true;
}


function Sprite_Init()
{
	if(navigator.appName.indexOf("Internet Explorer")!=-1)
		Sprite_MSIE=true;
	if(parseInt(navigator.appVersion.substring(0,1))>=4) 
		Sprite_BrowserIsOk=navigator.javaEnabled();
}

var vmin=2;
var vmax=5;
var vr=2;

function Sprite_SetBehavior(SpriteName,sbMove,sbStop,sbIn,sbOut,sbClick)
{
	if(!Sprite_InitDone)
		Sprite_Init();
	if(!Sprite_BrowserIsOk)
		return;
	eval("Sprite="+SpriteName);
	if(sbMove != -1)
		Sprite.movebehavior = sbMove;
	if(sbStop != -1)
		Sprite.stopbehavior = sbStop;
	if(sbIn != -1)
		Sprite.mouseinbehavior = sbIn;
	if(sbOut != -1)
		Sprite.mouseoutbehavior = sbOut;
	if(sbClick != -1)
		Sprite.mouseclickbehavior = sbClick;
}

function Sprite_Image(ImageName,Width,Hight,Interval, Seconds)
{
	if(!Sprite_InitDone)
		Sprite_Init();
	if(!Sprite_BrowserIsOk)
		return;

	var n=Sprite_ImageNames.length + 1;
	Sprite_ImageNames[n] = ImageName;

	this.named = ImageName;
	this.vx = vmin+vmax*Math.random();
	this.vy = vmin+vmax*Math.random();
	this.w = Width;
	this.h = Hight;
	this.xx = 0;
	this.yy = 0;
	this.runs = 0;
	this.movebehavior = sbMoveRandom;
	this.stopbehavior = sbStopVisible;
	this.mouseinbehavior = sbInNone;
	this.mouseoutbehavior = sbOutNone;
	this.mouseclickbehavior = sbClickNone;
	this.interval = Interval;
	this.seconds = Seconds;
	if(!Sprite_MSIE)//NN
	{
		eval('document.'+ImageName+'.onFocus=Sprite_OnMouse');
		eval('document.'+ImageName+'.onMouseOver=Sprite_OnMouse');
		eval('document.'+ImageName+'.onMouseOut=Sprite_OnMouse');
	}
	else //MSIE
	{
		eval('window.document.all.'+ImageName+'.onclick=Sprite_OnMouse');
		eval('window.document.all.'+ImageName+'.onmouseover=Sprite_OnMouse');
		eval('window.document.all.'+ImageName+'.onmouseout=Sprite_OnMouse');
	}

	this.timer = setTimeout("Sprite_Animate('"+ImageName+"')",Interval);
}

function Sprite_Animate(chipname)
{
	if(!Sprite_BrowserIsOk)
		return;
	eval("Sprite="+chipname);
	Sprite.runs++;
	if(Sprite.seconds > 0)
	{
		if( ((Sprite.runs * Sprite.interval) / 1000) >= Sprite.seconds)
		{
			if(Sprite.stopbehavior == sbStopHide)
			{
				if(!Sprite_MSIE)
				{
					eval('document.'+Sprite.named+'.left=-1000');
				} 
				else
				{
					eval('document.all.'+Sprite.named+'.style.pixelLeft=-1000');
				}

			}
			return;
		}
	}
	if(!Sprite_MSIE)
	{
		pageX=window.pageXOffset;
		pageW=window.innerWidth;
		pageY=window.pageYOffset;
		pageH=window.innerHeight;
	}
	else
    {
		pageX=window.document.body.scrollLeft;
		pageW=window.document.body.offsetWidth-8;
		pageY=window.document.body.scrollTop;
		pageH=window.document.body.offsetHeight;
    } 
	Sprite.xx=Sprite.xx+Sprite.vx;
	Sprite.yy=Sprite.yy+Sprite.vy;
	Sprite.vx+=vr*(Math.random()-0.5);
	Sprite.vy+=vr*(Math.random()-0.5);
	if(Sprite.vx>(vmax+vmin))  
		Sprite.vx=(vmax+vmin)*2-Sprite.vx;
	if(Sprite.vx<(-vmax-vmin)) 
		Sprite.vx=(-vmax-vmin)*2-Sprite.vx;
	if(Sprite.vy>(vmax+vmin))  
		Sprite.vy=(vmax+vmin)*2-Sprite.vy;
	if(Sprite.vy<(-vmax-vmin)) 
		Sprite.vy=(-vmax-vmin)*2-Sprite.vy;
	if(Sprite.xx<=pageX)
	{
		Sprite.xx=pageX;
		Sprite.vx=vmin+vmax*Math.random();
    }
	if(Sprite.xx>=pageX+pageW-Sprite.w)
    {
		Sprite.xx=pageX+pageW-Sprite.w;
		Sprite.vx=-vmin-vmax*Math.random();
    }
	if(Sprite.yy<=pageY)
    {
		Sprite.yy=pageY;
		Sprite.vy=vmin+vmax*Math.random();
    }
	if(Sprite.yy>=pageY+pageH-Sprite.h)
    {
		Sprite.yy=pageY+pageH-Sprite.h;
		Sprite.vy=-vmin-vmax*Math.random();
	}

	if(!Sprite_MSIE)
    {
		eval('document.'+Sprite.named+'.top ='+Sprite.yy);
		eval('document.'+Sprite.named+'.left='+Sprite.xx);
    } 
	else
    {
		eval('document.all.'+Sprite.named+'.style.pixelLeft='+Sprite.xx);
		eval('document.all.'+Sprite.named+'.style.pixelTop ='+Sprite.yy); 
    }
	Sprite.timer=setTimeout("Sprite_Animate('"+Sprite.named+"')",Sprite.interval);
}


function Sprite_Stop()
{
	if(!Sprite_BrowserIsOk)	
		return;
	for(var i; i < Sprite_ImageNames.length; i++)
	{
		eval("Image="+chipname);
		if(Image.timer!=null)
			clearTimeout(Image.timer);
	}
}

function stopme(chipname)
{if(Sprite_BrowserIsOk)
  {//alert(chipname)
   eval("Sprite="+chipname);
   if(Sprite.timer!=null)
    {clearTimeout(Sprite.timer)}
  }
}
