//<![CDATA[
//This script makes s.th. fly around
// created: mai 2006
// copyright: S.Höninger
// this copyright may not be removed

/* Startwerte */
//startkoordinaten
//var x = Math.floor(document.getElementById('body').scrollWidth/2);
//var y = Math.floor(document.getElementById('body').scrollHeight/2);
var x = 300;
var y = 200;
//geschwindigkeit
var vx = 15;
var vy = 10;
//geschwindigkeitsänderung
var dx = 3;
var dy = 3;
var tplFolder = 'templates/sone-works3/';

//winkel
var r = 0;
var dr =  80;
//drehwinkel bei kantenberührung ( max 159!!!!! sonst droht der verlust von objekten)
var rr = 40;


//flugfeld - wird bei jedem durchlauf unten nochmal neu initialisiert
var xmax = screen.height;
var xmin = 0;
var ymax = screen.height-100;
var ymin = 0;
var xmax = 500;
var ymax = 500;



//maximalwerte
var vxmax = 25;
var vymax = 20;
var vxmin = 2;
var vymin = 2;

//intervallgroese
var intervall = 100;

var items =new Array();
var imageset;
var img = new Array();
var imga;

var butterfliesStarted = false;
var butterflyKilled = new Array();

var butterfliesHits = 0;
var butterfliesFirstHit = 0;

function move(item)
{
	element = document.getElementById(item);
	//xmin = document.getElementById('body').scrollTop;
	//ymin = document.getElementById('body').scrollLeft;

	xmax = document.getElementById('body').scrollWidth-100;
	ymax = document.getElementById('body').scrollHeight-100;

	xmax = document.getElementById('wrapper').scrollWidth-100;
	ymax = document.getElementById('wrapper').scrollHeight-100;
				
	// body-hoehe
	body_height = ymax;
	if((body_height) < window.innerHeight) {
		body_height = window.innerHeight;
	}
	document.getElementById('body').style.height = (body_height+0) + 'px';
	
	items[item][vx] = items[item][vx]+Math.random()*dx-dx/2;
	items[item][vy] = items[item][vy]+Math.random()*dy-dy/2;

	// winkel in richtige bereich bringen
	if(items[item][r] > 360)
	{
		items[item][r] = items[item][r]-360;
	}
	else if(items[item][r] < 0)
	{
		items[item][r] = 360 + items[item][r];
	}

	// objekt im flugfeld halten
	if(items[item][x] >= xmax)
	{
		//element.style.display = 'none';
		if((items[item][r] > 250) || (items[item][r] < 110))
		{
			items[item][r] = items[item][r] +rr;
		}
	}
	else if(items[item][x] <= xmin)
	{
		//element.style.display = 'none';
		if((items[item][r] > 70) && (items[item][r] < 290))
		{
			items[item][r] = items[item][r] +rr;
		}
	}
	else if(items[item][y] >= ymax)
	{
		//element.style.display = 'none';
		if((items[item][r] > 340) || (items[item][r] < 200))
		{
			items[item][r] = items[item][r] +rr;
		}
	}
	else if(items[item][y] <= ymin)
	{
		//element.style.display = 'none';
		if((items[item][r] > 160) || (items[item][r] < 20))
		{
			items[item][r] = items[item][r] +rr;
		}
	}
	else
	{
			
			items[item][r] = items[item][r]+Math.random()*dr-dr/2;
	}


	// winkel in richtige bereich bringen
	if(items[item][r] > 360)
	{
		items[item][r] = items[item][r]-360;
	}
	else if(items[item][r] < 0)
	{
		items[item][r] = 360 + items[item][r];
	}

	//maximale und minimale geschwindigkeiten pruefen
	if(items[item][vx] > vxmax) { items[item][vx] = vxmax; }
	if(items[item][vy] > vymax) { items[item][vy] = vymax; }
	if(items[item][vx] < vxmin) { items[item][vx] = vxmin; }
	if(items[item][vy] < vymin) { items[item][vy] = vymin; }


	items[item][x] = items[item][x]+Math.cos(2*3.14*(items[item][r])/360)*items[item][vx];
	items[item][y] = items[item][y]+Math.sin(2*3.14*(items[item][r])/360)*items[item][vy];

	element.style.left = Math.floor(items[item][x])+'px';
	document.getElementById(item).style.top = Math.floor(items[item][y])+'px';
	set_image(item,items[item][r]);
	//document.getElementById(item).innerHTML = '&nbsp;<br />'+ymin+'; '+xmin+'<br />'+ymax+'<br />'+xmax ;
	//document.getElementById(item).innerHTML = '&nbsp;<br />'+items[item][vx]+'; '+items[item][vy]+'<br />'+items[item][r]+'<br />'+xmax ;
	
	if(items[item][x]<xmax && items[item][y]<ymax)
	{
		//element.style.display = 'block';
	}
	
	if(butterflyKilled[item] == false) {
		setTimeout("move('"+item+"');",intervall);
	}
}
function create(item,imageset)
{
	butterflyKilled[item] = false;
	revealItem(item);
	
	items[item] = false;
	items[item] = new Array();
	items[item][x] = x;
	items[item][y] = y;
	items[item][r] = r;
	items[item][vx] = vx;
	items[item][vy] = vy;
	items[item][imageset] = imageset;
	setTimeout("move('"+item+"');",1);
}
function butterflyKill(item) {
	butterflyKilled[item] = true;
	// sichtbarkeit
	element = document.getElementById(item);
	element.style.display = 'none';
}

// Jagd
function hitItem(item) {
	// stats
	if(butterfliesHits == 0) {
		butterfliesFirstHit = new Date().valueOf();
	}
	butterfliesHits = butterfliesHits+1;
	if(butterfliesHits == 5) {
		var duration = new Date().valueOf() - butterfliesFirstHit;	
		document.getElementById('cover_message_box').style.display = 'block';
		document.getElementById('cover_message_box_msg').innerHTML = 'Zeit f&uuml;r 5 Schmetterlinge: '+duration+'ms';	
		butterfliesHits = 0;
	}		
	// sichtbarkeit
	element = document.getElementById(item);
	element.style.display = 'none';
	//document.getElementById('body').style.cursor = 'crosshair';
	document.getElementById('body').style.cursor = "url('"+tplFolder + "images/scoop.cur'), crosshair";
	document.getElementById('cover').style.display = 'block';
	setTimeout("revealItem('"+item+"');",1000);
}

function revealItem(item) {
	element = document.getElementById(item);
	element.style.display = 'block';
}
function chaise_end() {
	document.getElementById('body').style.cursor = 'default';
	document.getElementById('cover').style.display = 'none';
}


// Bild bestimmen
function set_image(item,r)
{
	set = items[item][imageset];

	// different objects (images)
	if(set == 2)
	{

	}
	else
	{
		img[1] = 'flying-butterflies90'; //45
		img[2] = 'flying-butterflies135';	//90
		img[3] = 'flying-butterflies180';	//135
		img[4] = 'flying-butterflies225';	//180
		img[5] = 'flying-butterflies270';	//225
		img[6] = 'flying-butterflies315';	//270
		img[7] = 'flying-butterflies0';	//315
		img[8] = 'flying-butterflies45';		//0
	}


	if(r < 0)
	{
		r = 360 +r ;
	}
	if(r < 22.5)
	{
		imga = img[8];
	}
	else if(r < 67.5)
	{
		imga = img[1];
	}
	else if(r < 112.5)
	{
		imga = img[2];
	}
	else if(r < 157.5)
	{
		imga = img[3];
	}
	else if(r < 202.5)
	{
		imga = img[4];
	}
	else if(r < 247.5)
	{
		imga = img[5];
	}
	else if(r < 292.5)
	{
		imga = img[6];
	}
	else
	{
		imga = img[7];
	}

	document.getElementById(item).style.background = "url('"+tplFolder + "images/"+imga+".png') center center no-repeat";

}

// objekte starten
function start_butterflies() {
	if(butterfliesStarted == false) {
		butterfliesStarted = true;
		setTimeout("create('s1',1);", 1);
		setTimeout("create('s2',1);", 5);
		setTimeout("create('s3',1);", 10);
	//	setTimeout("create('s4',1);", 15);
	} else {
		butterflyKill('s1');	
		butterflyKill('s2');
		butterflyKill('s3');
		butterfliesStarted = false;
	}
}

function hide_box(id) {
	document.getElementById(id).style.display = 'none';
}

//]]>