/********************************************************************************************************/
/*	COPYRIGHT (C) 2003 NITRO FX Oy																		*/
/*	http://www.nitrofx.com																				*/
/********************************************************************************************************/

var opera = (navigator.userAgent.indexOf('Opera')>-1);
var ns4 = (navigator.appName=="Netscape")&&(parseInt(navigator.appVersion)==4);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var safari = (navigator.userAgent.indexOf('safari')!=-1)&&(navigator.userAgent.indexOf('mac')!=-1);

var tempY = 0;							
var tempX = 0;							


var buttonTimeout = 10000;				// määritetään kuinka kauan menu on auki buttonista
var onMouseOutTimeOut = 100;			// timeoutti hiiren poistuessa divin päältä
var timing;								// tallennetaan timeout
var trigger;							// määrittelee käytettävän menu-layerin
var mainLayerName = "bodyWrapper";

var pageWidth = 830;					// main-divin leveys (tästä lasketaan nollakohta)
var staticPosTop = 217;

var menuLayerName = new Array();
//menuLayerName[0] = "menu1";				// menulayereiden nimet
//menuLayerName[1] = "menu2";
//menuLayerName[2] = "menu3";
//menuLayerName[3] = "menu4";

var menuLayerPos = new Array();

//menuLayerPos[0] = 0;					// määritetään positio main-divin nollakohdasta
//menuLayerPos[1] = 55;
//menuLayerPos[2] = 142;
//menuLayerPos[3] = 205;

/*******************************************************************************************************/
// MENULAYERIN AVAUS
/*******************************************************************************************************/
function show(menu)
{
	setTrigger(menu);	
	clearTimeout(timing);				// pysäytetään ajanotto
	hideAll();							// suljetaan kaikki mahdollisesti jo auki olevat menut	
				// asetetaan trigger argumentin mukaan
	handleSelectsUnderMenu('hidden');	// piilotetaan selectit
					
	// IE 4
	if (ie4)
	{
		document.all[menu].style.visibility = "visible";
	}
	// IE 5+ & NS 6+
	else if(ns4)
	{
		eval("document.layers." + menu + ".visibility='show';");
	} 
	else 
	{
		document.getElementById(menu).style.visibility = "visible";
	}
}

/*******************************************************************************************************/
// SULKEE KAIKKI MENUT
/*******************************************************************************************************/
function hideAll(){
	handleSelectsUnderMenu('visible');
	trigger = "";						// asetetaan trigger tyhjäksi 
	if (ie4)
	{
		for (i=0;i<menuLayerName.length ;i++ )
		{
			document.all[menuLayerName[i]].style.visibility = "hidden";
		}
	}
	// IE 5+ & NS 6+
	else if(ns4)
	{
		for (i=0;i<menuLayerName.length ;i++ )
		{
			eval("document.layers."+menuLayerName[i]+".visibility='hide';");
		}
	} 
	else 
	{
		for (i=0;i<menuLayerName.length ;i++ )
		{
			document.getElementById(menuLayerName[i]).style.visibility = "hidden";
		}
	}
}

/*******************************************************************************************************/
// SEURAA HIIRTÄ
/*******************************************************************************************************/
document.onmousemove = mouseMove;	// kutsuu mouseMove-funktiota hiiren liikkuessa

function mouseMove(e) {				

	isIE=document.all;
	isNN=!document.all&&document.getElementById;
	isN4=document.layers;	
	
	if(trigger){					// jos triggeriksi on määritetty jokin menu-layereistä		
		alueLeft = document.getElementById(trigger).style.left;					// layerin ominaisuudet (left)
		alueTop = document.getElementById(trigger).style.top;					// layerin ominaisuudet (top)
		alueWidth = document.getElementById(trigger).style.width;				// layerin ominaisuudet (width)
		alueHeight = document.getElementById(trigger).style.height;				// layerin ominaisuudet (height)
		
		l = parseInt(alueLeft.replace("px",""));								// muutetaan stringit luvuiksi ja poistetaan "px"
		t = parseInt(alueTop.replace("px",""));									// muutetaan stringit luvuiksi ja poistetaan "px"
		w = parseInt(alueWidth.replace("px",""));								// muutetaan stringit luvuiksi ja poistetaan "px"
		h = parseInt(alueHeight.replace("px",""));								// muutetaan stringit luvuiksi ja poistetaan "px"

		tempX=isIE ? event.clientX : e.clientX;									// Hiiren kursorin sijainti vaaka-akselilla
		tempY=isIE ? event.clientY : e.clientY;									// Hiiren kursorin sijainti pysty-akselilla

		if (tempY >= t && tempY <= t + h &&  tempX >= l && tempX <= l + w){		// mikäli kursori osuu layerin päälle
			eval("show('"+trigger+"');");										// suorittaa funktion show()
		}
		return true;
	}
}

/*******************************************************************************************************/
// APUFUNKKARIT
/*******************************************************************************************************/
function setTrigger(args)
{
	trigger = args;
}
/*******************************************************************************************************/
function handleSelectsUnderMenu(visibility)
{
	for(i=0;i<document.getElementsByTagName("SELECT").length;i++)
	{
		if (visibility=="hidden")
		{
			document.getElementsByTagName("SELECT")[i].style.visibility = "hidden";
		}

		else
		{
			document.getElementsByTagName("SELECT")[i].style.visibility = "visible";
		}
	}
}


/*******************************************************************************************************/
function hide()
{
	timing=setTimeout("hideAll()",onMouseOutTimeOut);
}

/*******************************************************************************************************/
// MENUNAPIT KUTSUU TÄTÄ
/*******************************************************************************************************/
function menuBtn(menu)
{
	timing=setTimeout("hideAll()",buttonTimeout);
	show(menu);
	timing=setTimeout("hideAll()",buttonTimeout);
}

/*******************************************************************************************************/


/*******************************************************************************************************/
// KESKITTÄÄ SIVUN ja MENULAYERIT
/*******************************************************************************************************/


function browserSize()
{
	var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) 
		{
			//Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} 
		else 
		{
			if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
			{
				//IE 6+  'standards compliant mode'
				myWidth = document.documentElement.clientWidth;
				myHeight = document.documentElement.clientHeight;
			} 
			else 
			{
				if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
				{
					//IE 4 
					myWidth = document.body.clientWidth;
					myHeight = document.body.clientHeight;
				}
			}
		}

	// asetetaan margin
	margin = (myWidth-pageWidth)/2; 
	margin = Math.floor(margin);
	
	// tarkistetaan scrolleja. mozillassa scrollin leveys on 7 operassa 8
	if(ie5 || safari) 
	{
		if(opera)
		{
			scrollBar = (window.innerWidth-document.body.clientWidth);
			if(scrollBar>0)
			{
				margin = margin-8;
			}
		}
	}
	else if (ns6)
	{
		scrollBar = (window.innerWidth-document.width);
		if(scrollBar>"16")
		{
			margin = margin-7;
		}

	}
	// estetään vasemman reunan skaalautuminen selaimen ulkopuolelle
	if(margin<0)
	{
		margin=0;
	}
	
	if (ie4)
	{
		for (i=0; i<menuLayerName.length; i++ )
		{
			document.all[menuLayerName[i]].style.top = staticPosTop+"px";
			//document.all[menuLayerName[i]].style.left = (margin+menuLayerPos[i])+"px";
			document.all[menuLayerName[i]].style.left = (menuLayerPos[i])+"px";
		}

	}
	else if (ns4)
	{
		for (i=0; i<menuLayerName.length; i++ )
		{
			eval("document.layers."+menuLayerName[i]+".top = "+staticPosTop+"+\"px\";");
			//eval("document.layers."+menuLayerName[i]+".left = (margin+"+menuLayerPos[i]+")+\"px\";");
			eval("document.layers."+menuLayerName[i]+".left = ("+menuLayerPos[i]+")+\"px\";");
		}
	}
	else
	{
		for (i=0; i<menuLayerName.length; i++ )
		{
			document.getElementById(menuLayerName[i]).style.top = staticPosTop+"px";
			//document.getElementById(menuLayerName[i]).style.left = (margin+menuLayerPos[i])+"px";
			document.getElementById(menuLayerName[i]).style.left = (menuLayerPos[i])+"px";
		}
	}
}

onresize = function() // kutsutaan ylläolevaa onresize-eventhandlerilla
{ 
	initMenu();
	browserSize();
}

/*
onload = function() // kutsutaan ylläolevaa onload-eventhandlerilla
{ 
	initMenu();
	browserSize();
}
*/
/*******************************************************************************************************/
// ETSII ANNETUN LAYERIN X tai Y-arvon
/*******************************************************************************************************/

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

/*******************************************************************************************************/

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/*******************************************************************************************************/
// Asettaa menuLayerPos ja MenuLayerName arrayn arvot
/*******************************************************************************************************/

function initMenu()
{
	if (document.getElementById('mainMenu') ) // jos on mainMenu
	{
		for (i=0;i<99;i++)	// luupataan menut läpi
		{
			if (eval("document.getElementById('menu"+(i+1)+"')")) // jos menudivi löytyy
			{
				eval("menuLayerPos["+i+"] = findPosX(document.getElementById('m"+(i+1)+"'))"); //  asetetaan sen left-positio
				eval("menuLayerName["+i+"] = 'menu"+(i+1)+"'"); // ja nimi järjestyksessä menu1, menu2 jne.
			}
		}
	}

}

function openWindowSize(strUrl,strName,intHeight, intWidth)
{
	if (intWidth==0)
		var strWidht = '';
	else
		var strWidht = ',width=' + intWidth;
		
	if (intHeight==0)
		var strHeight = '';
	else
		var strHeight = ',height=' + intHeight;
		
	var strProperties = 'toolbar=no,status=no,scrollbars=yes,resizable=yes' + strWidht + strHeight;
	window.open(strUrl,strName,strProperties);	
}


//
//	"Salatun" sähköpostiosoitteen purku luettavaan muotoon
//
	
	function naytaOsoite(loppu, alku)
	{
		document.write('<a href="mailto:' + alku + '@' + loppu + '">');
		document.write(alku + '@' + loppu);
		document.write('</a>');
			
	}

/*******************************************************************************************************/
// Asettaa evästeen
/*******************************************************************************************************/

	
function setCookie(name, value, Days, path) {
	var expires = new Date()
	expires.setTime(expires.getTime() + 1000*60*60*24*Days);
	
	 document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path))
	}

/*******************************************************************************************************/
// Hakee evästeen
/*******************************************************************************************************/

 
function getCookie(name) {
		var search = name + "="
	
		if (document.cookie.length > 0) {
			offset = document.cookie.indexOf(search)
 
			if (offset != -1) {
				offset += search.length
				end = document.cookie.indexOf(";", offset)
 
				if (end == -1) {
					end = document.cookie.length
				}
				
				return unescape(document.cookie.substring(offset, end))
			}
		}
	}
 

/*******************************************************************************************************/
// Avaa popup-ikkunan ja asettaa evästeen "iTest_SOK_agrimarket" (Huom. käyttää setCookie() ja getCookie()
/*******************************************************************************************************/
	
 
function popUp(loc, width, height) {
		var iTest_stra = getCookie("iTest_SOK_agrimarket")
		
		if (iTest_stra == null) {
		
			ns = (document.layers)? true:false
			ie = (document.all)? true:false
			setCookie("iTest_SOK_agrimarket", "True", 120, "/")
			popUp = window.open(loc, "iTest", "width=" + width + ",height=" + height + ",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no");
 
			if (!popUp.opener) popUp.opener=self;
 
			if(ie) {
				if (popUp.select) popUp.select();
			}
 
			if(ns) {
				if (popUp.focus) popUp.focus();
			}
		}
 
		 else {
			// do nothing
		}
	}
 
 
	  	
