////////////////////////////////////////////////////////////////
//                                                           ///
// (C) 2009 Milosch Meriac <meriac@bitmanufaktur.de>         ///
//                                                           ///
//  steal this script and die instantly and painful          ///
//                                                           ///
////////////////////////////////////////////////////////////////
			    
function MoveTimer ()
{
    var date=new Date(),t,img,alpha;
    var new_timer = false;
    
    for (var i=0; i<MovingImages.length; i++)
    {
	img = MovingImages[i];
	
	t = date.getTime()-img.bm.alpha_time_start;
	if(t>=img.bm.alpha_time_span)
	    t=img.bm.alpha_time_span;
	else
	    new_timer = true;
	
	alpha = 2*Math.PI*Math.sqrt(t/img.bm.alpha_time_span) + img.bm.alpha;	
	img.style.top = img.bm.midX+Math.cos(alpha)*img.bm.radius+'px';
	img.style.left = img.bm.midY+Math.sin(alpha)*img.bm.radius+'px';		    
    }
    
    if(new_timer)
	window.setTimeout('MoveTimer()',50);
}

function getCookie(NameOfCookie)
{
    if (document.cookie.length > 0)
    {

	begin = document.cookie.indexOf(NameOfCookie+"=");
	if (begin != -1)
	{
	    begin += NameOfCookie.length+1;
	    end = document.cookie.indexOf(";", begin);
	    if (end == -1) end = document.cookie.length;
		return unescape(document.cookie.substring(begin, end));
	}
    }
    return null;
}

function setCookie(NameOfCookie, expireminutes)
{
    var ExpireDate = new Date ();
    ExpireDate.setTime(ExpireDate.getTime() + (expireminutes * 60 * 1000));
    document.cookie = NameOfCookie + "=1" + ((expireminutes == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}

function delCookie (NameOfCookie)
{
    if (getCookie(NameOfCookie))
	document.cookie = NameOfCookie + "=" +"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}


function Move()
{
    var date = new Date();
    var ImageIDs = new Array('bk-precision','hameg','electro-pjp','testec');
    var img;

    if (getCookie('splash') == null) 
    {
	// get objects for image IDs
	MovingImages = new Array(ImageIDs.length);
	for (var i=0; i < ImageIDs.length; i++)
	    if(img = document.getElementById(ImageIDs[i]))
	    {
		var midX,midY,pX,pY;

		midX = img.offsetWidth/2;
		midY = img.offsetHeight/2;

		pX = img.offsetTop - midX;
		pY = img.offsetLeft - midY;

		if(pX==0)
		{
		    if(pY==0)
			alpha = 0;
		    else
		    {
			alpha = Math.PI/2;
			if(pY<0)
			    alpha = -alpha;
		    }
		}		    
		else
		{
		    alpha = Math.atan(pY/pX);
		    if(pX<0 && pY>=0)
			alpha += Math.PI;
		    else
			if(pX<0 && pY<0)
			    alpha -= Math.PI;
		}

		img.bm = new Object();
		img.bm.posX = pX;
		img.bm.posY = pY;	    
		img.bm.alpha = alpha;
		img.bm.alpha_time_span = 3000;
		img.bm.alpha_time_start = date.getTime();
		img.bm.radius = Math.sqrt(pX*pX+pY*pY);
		img.bm.midX = midX;
		img.bm.midY = midY;
		MovingImages[i] = img;
	    }
	MoveTimer();
    }
    setCookie('splash',20);
}
