var sbrL = "[";
var sbrR = "]";


function aparecium()
{
	var targets = document.getElementsByTagName("span");
	for (var i=0; i<targets.length; i++) {
		if (targets[i].className == "msg") {
			var raw = targets[i].innerHTML.toLowerCase();
			var processed = "";
			if ((commaI = raw.search(/,/g, ",")) != -1) {
				var firstPart = raw.slice(0, commaI);
				var secondPart = raw.slice(commaI+1);
				firstPart = firstPart.replace(/^\s+.*\s+$/g, "");
				firstPart = firstPart.replace(/\s+/g, ".");
				secondPart = secondPart.replace(/\s+/g, "");
				secondPart = secondPart.replace(/\(/g, ".");
				secondPart = secondPart.replace(/\)/g, "");
				processed = firstPart + "&#064;" + secondPart;
			} else {
				processed = raw.replace(/\s/g, ".") + "&#064;&#110;&#101;&#120;&#097;&#109;&#101;&#100;&#46;&#99;&#111;&#109;";
			}
			var output = sbrL + "a h" + 'ref="&#109;&#097;&#105;&#108;&#116;&#111;&#058;' + processed + '"' + sbrR + processed + sbrL + "/" + "a" + sbrR;
			output = output.replace(/\[/g, "<");
			output = output.replace(/\]/g, ">");
			targets[i].innerHTML = output;
		}
	}
}


registerPloneFunction(aparecium);



function mouseOver(caller)
{
	var container = caller.parentNode;
	var callerName = caller.nodeName.toLowerCase();

	if (callerName == "input" && caller.className.search(/button/) != -1) {
		caller.className += " btnMouse";
	} else if (callerName == "input" && caller.className.search(/textfield/) != -1) {
		caller.className += " txtFieldMouse";
	}
}


function mouseOut(caller)
{
	var container = caller.parentNode;
	var callerName = caller.nodeName.toLowerCase();

	if (callerName == "input" && caller.className.search(/button/) != -1) {
		caller.className = caller.className.replace(/\sbtnMouse/, "");
	} else if (callerName == "input" && caller.className.search(/textfield/) != -1) {
		caller.className = caller.className.replace(/\stxtFieldMouse/, "");
	}
}


var animStartTimer = null;
var animStepTimer = null;
var animStep = null;


function animate()
{
	if (animStartTimer != null) clearTimeout(animStartTimer);
	switch (animStep) {
		case null:
			showDescription('art-ratkaisut', false);
			showDescription('art-toteutus', false);
			showDescription('art-analyysi', true);
			animStep = 1;
			break;
		case 1:
			showDescription('art-analyysi', false);
			showDescription('art-ratkaisut', true);
			animStep = 2;
			break;
		case 2:
			showDescription('art-ratkaisut', false);
			showDescription('art-toteutus', true);
			animStep = 3;
			break;
		case 3:
			showDescription('art-toteutus', false);
			animStep = null;
			scheduleAnim();
			break;
	}
	if (animStep != null) 
		animStepTimer = setTimeout('animate()', 14000);
}


function resetAnim()
{
	animStep = null;
	document.getElementById('art-ratkaisut').className = '';
	document.getElementById('art-toteutus').className = '';
	document.getElementById('art-analyysi').className = '';
	document.getElementById('mouseover-content').style.display = 'none';
}


function scheduleAnim()
{
	if (animStepTimer != null) clearTimeout(animStepTimer);
	if (animStartTimer != null) clearTimeout(animStartTimer);
	animStartTimer = setTimeout('animate()', 25000);
}


registerPloneFunction(scheduleAnim);



function showDescription(callerId, doShow)
{
	var artBox = document.getElementById(callerId);
	var textContainer = document.getElementById('mouseover-content');
	var portalTitle = document.getElementById('portal-title');

	if (callerId.search(/analyysi/) != -1) 
		textContainer.innerHTML = "<h3>Analyysi-vaiheessa selvitet&auml;&auml;n vastaukset kysymyksiin</h3><ul><li>Kuinka logistiikka ja materiaalinhallinta toimii nyt ja kuinka paljon paremmin voitaisiin toimia?</li><li>Paljonko on parannettavaa ja mink&auml;laisia s&auml;&auml;st&ouml;j&auml; on mahdollista saavuttaa?</li></ul>";
	else if (callerId.search(/ratkaisut/) != -1) 
		textContainer.innerHTML = "<h3>Ratkaisut–vaiheessa l&ouml;ydet&auml;&auml;n vastaukset kysymyksiin</h3><ul><li>Mit&auml; pit&auml;isi tehd&auml;, jotta toiminta tehostuu ja s&auml;&auml;st&ouml;t saadaan realisoitua?</li><li>Mitk&auml; ovat tavoitteet kehitt&auml;miselle ja miten tavoitteisiin p&auml;&auml;st&auml;&auml;n helpoiten?</li><li>Mitk&auml; ovat kehitt&auml;misen kustannukset?</li></ul>";
	else if (callerId.search(/toteutus/) != -1) 
		textContainer.innerHTML = "<h3>Toteutus–vaiheessa</h3>autamme asiakkaitamme viem&auml;&auml;n kehitysohjelman mukaiset toimenpiteet k&auml;yt&auml;nt&ouml;&ouml;n. Voimme  my&ouml;s ottaa kokonaisvastuun logistiikkaprosessista, jolloin yksityiskohdista sovitaan erillisell&auml; sopimuksella (sopimuslogistiikka).";

	if (doShow) { 
		artBox.className = 'active';
		portalTitle.style.display = 'none';
		textContainer.style.display = '';
		if (animStartTimer != null) clearTimeout(animStartTimer);
	} else {
		textContainer.style.display = 'none';
		portalTitle.style.display = '';
		artBox.className = '';
		if (animStep == null) scheduleAnim();
	}

}

