/* usemedia.com . joes koppers . 03.2003 [revised 07.2005] */ 
/* thnx for reading this code */

//version 24.07.06


stopped = false;
//stopped = true;//for development
docLoaded = false;
blocked = false;
newslink = false;


function usetext_init()
{
	docLoaded = true;
	
	blocked = false;
	glowing = false;

	document.getElementById('resetdiv').onmousedown = section;

	document.getElementById('display').onmouseover = function () { blocked = true }; 
	document.getElementById('display').onmouseout = function () { blocked = false };
	
	texts = new Array('use','find','new','ctrl');
	sizes = new Array(200,50,70,50);
	usetext = new Array();
	cycle = false;
	
	for (var i=0; i<texts.length; i++)
	{
		usetext[i] = new Object();
		usetext[i].text = document.getElementById(texts[i]);
		usetext[i].fontsize = sizes[i];
		
		usetext[i].cycle = Math.round(Math.random()*20);
		usetext[i].factor =  Math.random()*50;
	}

	//start moving
	do_usetext();
}

function do_usetext()
{	
	for (var i=0; i<texts.length; i++)
	{
		//randomize cycle time
		usetext[i].cycle += (2+ Math.round(Math.random()*8))/10;
		//new factor each cycle
		if (usetext[i].cycle>=20)
		{
			usetext[i].cycle = 0;
			usetext[i].factor = Math.random()*30;
		}
		//calculate
		var mx = Math.round(10* usetext[i].factor * Math.sin((usetext[i].cycle/10)*Math.PI))/10;
		//apply 
		usetext[i].text.style.fontSize = (usetext[i].fontsize+mx)*maxsize +"px";
	}
	//loop
	if (!stopped) cycle = window.setTimeout('do_usetext()',80)
}

function startstop()
{
	stopped = !stopped;
	
	if (!stopped)
	{
/* 		//stop glowing & reset to opaque */
/* 		if (glowing) window.clearTimeout(glowing); */
/* 		document.getElementById('ctrl').style.opacity = 1; */
/* 		document.getElementById('ctrl').style.filter = "alpha(opacity=100)"; */
		//restart usetext
		if (cycle) window.clearTimeout(cycle);
		do_usetext();
	}
	//else glow(10,-1);
}

function pause()
{
	//rember state
	usetext_stopped = stopped;
	//stop if running
	if (!stopped)
	{
		if (cycle) window.clearTimeout(cycle);
		stopped = true;
		usetext_stopped = false;
	}
/* 	else */
/* 	{ */
/* 		if (glowing) window.clearTimeout(glowing); */
/* 	} */
}

function glow(opacity,opchange)
{
	opacity += 1 * opchange;
	if (opacity<1 || opacity>9) opchange = -opchange;
	//apply
    document.getElementById('ctrl').style.opacity = opacity/10;
    document.getElementById('ctrl').style.filter = "alpha(opacity="+opacity*10+")";
    //loop
    glowing = window.setTimeout('glow('+opacity+','+opchange+')',150);
}


function do_transition(destination,direction)
{
	stopped = true;
	maxsize = maxsize + .4*(destination-maxsize);

	var margin = .02;
	var condition = (direction>0)? (maxsize<destination-margin):(maxsize>destination+margin);
	
	if (condition)
	{
		for (var n=0; n<texts.length; n++)
		{
			usetext[n].text.style.fontSize = (usetext[n].fontsize)*maxsize +"px";
		}
		transition = window.setTimeout('do_transition('+destination+','+direction+')',80);
	}
	else
	{
		maxsize = destination;
		if (!usetext_stopped) startstop();
		
		if (destination==1) 
		{
			//if (qt_bug_fix) window.clearTimeout(qt_bug_fix)
			document.getElementById('display').style.display = 'block';
		}
		else
		{
			document.getElementById('findbg').style.display = 'block';
			if (newslink)
			{
				newslink = false;
				deeplink = true;
				do_find();
			}
		}
 	}
}


function section(id)
{
	if (maxsize==.3) //first do transition
	{
		//remember usetext state
		usetext_stopped = stopped;
		//hide found pane
		document.getElementById('findbg').style.display = 'none';
		//reset margin for USE
		document.getElementById('use').style.marginLeft = '0px';
		//transition to display pane
		do_transition(1,+1);
	}
	
	str = '';

	switch (id) {
	
		case 'use':
			str+= '. welcome to usemedia<br>';
			str+= '. joes koppers . gsm +31 6 22457418 . <a href="javascript://send_mail_to_usemedia" onclick=mailto()>use[at]usemedia.com<\/a><br><br>';
			str+= '. amsterdam office . herenmarkt 93b 1013 ec<br>';
			str+= '. tel +31 20 6248400  fax +31 20 5289769<br><br>';
			break;

		case 'new':
			str+= news; //is set in db.js
			break;
			
		case '':
			str = '';
			break;
	}
	
	if (!blocked)
	{
		document.getElementById('display_top').style.display = (str=='')? 'none':'block';
		document.getElementById('display_bottom').style.display = (str=='')? 'none':'block';
		//display content		
		document.getElementById('display_content').innerHTML = str;
		document.getElementById('display_content').style.height = (str=='')? '25px':'auto';
	}
}
