	/*
	<script language="javascript">
	<!--*/
	  
	  
	  function vaihda_kieli() 
	  {
          url = document.pikavalikko.pikis.options[ document.pikavalikko.pikis.selectedIndex ].value;
          if ( url != "-" )
              parent.location.href = url;
      }
	  
	  // Apu luokka tai oikeastaan säiliö / structi, toimii
	  // paikan määrittämisen apuna
	  function CPosition( x, y ) { this.x = x; this.y = y; }
	  
	  // Kertoo monta pixeliä kyseistä elementtiä lasketaan, jotta se
	  // saadaan mahdollisimman alas.
	  var pilvetDownMax = 5;
	  
	  // Monta millisekunttia päivitysten välillä odotetaan, määrittää
	  // sen kuinka lujaa pilvet karkaavat
	  var pilviUpdateTime = 50;
	  
	  //  pilvetArray       kertoo meille missä mikäkin pilvi menee
	  //  0 tarkoittaa, että ei päivitetä on ok
	  //  5 tarkottaa, että on pohjassa päivitetä alaspäin
	  // -5 tarkottaa, että ollaan pohjassa, mutta päivitetään ylöspäin
  	  var pilvetArray = new Array();
	  
	  
	  // pilvetHndl         tänne varastoidaan getElementById palautus arvot
	  //                    ja tätä kautta niitä käsitellään ja siirrellään
	  //                    pitkin ruutua. Tämä alustetaan PilvetAlusta
	  //                    funktiossa
	  var pilvetHndl = new Array(); 
	  
	  // pilvetPosition     kertoo meille missä kohtaa pilvi tällä hetkellä
	  //                    matkaa. Array joka muodostuu CPosition objekteista
	  var pilvetPosition = new Array();
	  
	  
	  // Tätä funktiota kutsutaan kun hiiri viedään pilven päälle, 
	  // parametri on kyseisen pilven numero integer tyyppisenä muuttujana
	  // tämä funktio vastaa siitä, että kyseinen pilvi tullaan laskemaan
	  // alas
	  function HiiriPilvenPaalla( nro )
	  {
	      // ensin tarkistaan onko pilvi jo päivityksessä ja jos se 
		  // on ja on väärään suuntaan, niin muutetaan sen suuntaa
		  if ( pilvetArray[ nro ] < 0 ) 
		      pilvetArray[ nro ] = -pilvetArray[ nro ];

		  // jos pilveä ei ollut päivitysessä törkätään sille sopiva alku arvo
		  // ja luodaan sille uusi päivitys "threadi"
		  else if ( pilvetArray[ nro ] == 0 ) 
		  {
		     pilvetArray[ nro ] = 1;
		     setTimeout('PaivitaPilvi(' + nro + ');', pilviUpdateTime );
		  } 
 	  }

      // Tätä funktiota kutsutaan kun hiiri tulee pois pilven päältä, ja tämä
	  // toimii samalla tavalla kuin HiiriPilvenPaalla funktio 	  
	  function HiiriPoisPilvesta( nro )
	  {
	      // ensin tarkistaan onko pilvi edes päivityksessä
		  if ( pilvetArray[ nro ] > 0 )
		  {
  			  // sitten tarkistaan pyöriikö sillä vielä oma "threadi"
			  // jos ei pyöri niin tehdään uusi
   		      if ( pilvetArray[ nro ] >= pilvetDownMax )
			     setTimeout('PaivitaPilvi(' + nro + ');', pilviUpdateTime );

		      // tehdään siitä käänteisluku eli nouseva tapaus
     	      pilvetArray[ nro ] = -pilvetArray[ nro ];
			  
		  }
	  }
	  
	  // Tätä kutsutaan kun päivitetään jotain pilveä. Jokaisella pilvellä 
	  // on oma threadinsa ja niitä päivitetään kun niiden aika on.
	  function PaivitaPilvi( nro )
	  {
	      var plus_pos = Math.abs( pilvetArray[ nro ] )
	      pilvetArray[ nro ]++;
		  

		  pilvetHndl[ nro ].style.left = '' + Math.round( pilvetPosition[ nro ].x + plus_pos ) + 'px';
		  pilvetHndl[ nro ].style.top  = '' + Math.round( pilvetPosition[ nro ].y + plus_pos ) + 'px';
		  
		  if ( plus_pos == 0 )
		      pilvetArray[ nro ] = 0;
		  else if ( pilvetArray[ nro ] > pilvetDownMax )
		      pilvetArray[ nro ] = pilvetDownMax;
		  else setTimeout( 'PaivitaPilvi(' + nro + ');', pilviUpdateTime );
		  
	  }
	  
	  // Alustus funktio. Tätä pitää kutsua tyyliin <body onLoad="PilvetAlusta()">
	  // parametrinä annetaan pilvien lukumäärä ja elementin nimi, ilman juoksevaa
	  // numerointia. Defaulttina käytetään 7 ja "pilvi_" elementin nimeä.
	  // Numeroinnin on syytä alkaa 1:stä, eikä 0:sta niinkuin yleensä ohjelmoinissa
	  function PilvetAlusta( count, name )
	  {
	      if ( !count ) count = 7;
		  if ( !name )  name = 'pilvi_';
		  
		  for ( i = 1; i <= count; i++ )
		  {
		      pilvetArray[i]	= 0;
		      pilvetHndl[i] 	= document.getElementById( name + i );
			  pilvetPosition[i] = new CPosition( pilvetHndl[i].style.left, pilvetHndl[i].style.top );
		  }

		  pilvetPosition[1] = new CPosition( 317, 91 );
		  pilvetPosition[2] = new CPosition( 305, 178 );
		  pilvetPosition[3] = new CPosition( 393, 166 );
		  pilvetPosition[4] = new CPosition( 500, 130 );
		  pilvetPosition[5] = new CPosition( 557, 205 );
		  pilvetPosition[6] = new CPosition( 663,  88 );
		  pilvetPosition[7] = new CPosition( 659, 175 );
		    
	  }
	  	  
	/*-->
	</script>*/