
$( document ).ready( function() {

	$( 'DIV#navi UL LI:first, UL#tailnavi LI:first, UL.blogs LI:first-child, DIV.PagingContainer A:first' ).addClass( 'first' );
	$( 'DIV#subnavi UL LI.current *' ).css( 'display', 'block' );
	$( 'A.lightbox' ).prettyPhoto( { default_width: 640, default_height: 480, theme: 'light_square', showTitle: false } );

	$( 'DIV.sectionbox', $( 'BODY.kynnys' ) ).each( function( i ) {

		$( this ).addClass( 'box' + i );

	});

	$( 'FIELDSET LEGEND' ).wrapInner( '<span />' );
	$( 'INPUT:text, INPUT:password' ).addClass( 'txt' );
	$( 'INPUT:radio' ).addClass( 'rdo' );
	$( 'INPUT:checkbox' ).addClass( 'chk' );
	$( 'INPUT:submit, INPUT:button' ).addClass( 'btn' );
	
	$( 'DIV.xForm TD LABEL[for]:first-child' ).each( function() {

		var i = $( this ).attr( 'for' );
		var t = $( '#' + i ).is( 'INPUT:text, INPUT:password, TEXTAREA, SELECT' );
		
		if( t )
			$( this ).css( 'display', 'block' );

	});

	if( $( 'DIV.PagingContainer *' ).length ) {

		$( 'DIV.PagingContainer' ).show();

	}

	if( $( 'DIV#slider' ).length ) {

		var sb = new slidebox();

		if( typeof( sb ) != 'undefined' )
			sb.init( 'DIV#slider DIV > *', 'DIV#slider' );

	}

	$( 'DL.glossary DT A' ).click( function() {

		var dt = $( this ).parent( 'DT' );
		
		if( !dt.next( 'DD' ).length ) {
			var dd = $( '<dd><p>&hellip;</p></dd>' )
			dd.insertAfter( dt );
		}
		else
			var dd = dt.next( 'DD' );
		
		if( dt.hasClass( 'open' ) ) {
			dt.removeClass( 'open' );
			dd.removeClass( 'open' );
		}
		else {
			dt.addClass( 'open' );
			dd.addClass( 'open' );
		}

		$( this ).blur();
		return false;

	});

	$( 'DIV.pagenavi UL LI A' ).click( function() {

		var c = $( this ).text();
		var length = $( this ).text().length;
		
		$( 'DIV.pagenavi UL LI A' ).each( function() {
			( ( $( this ).text() == c ) ? $( this ).parent().addClass( 'current' ) : $( this ).parent().removeClass( 'current' ) );
		});
		
		if( length > 1 ) {

			$( 'DL.glossary DT' ).each( function() {

				$( this ).css( 'display', 'block' ).removeClass( 'open' );
				$( this ).next( 'dd' ).removeClass( 'open' );

			});

		}
		else {

			$( 'DL.glossary DT A' ).each( function() {
				
				var par = $( this ).parent();

				if( $( this ).text().charAt( 0 ) != '"' && $( this ).text().charAt( 0 ) == c )
					par.css( 'display', 'block' );
				else {

					if( $( this ).text().charAt( 0 ) == '"' && $( this ).text().charAt( 1 ) == c )
						par.css( 'display', 'block' );
					else {

						par.css( 'display', 'none' ).removeClass( 'open' );
						par.next( 'DD' ).removeClass( 'open' );

					}

				}

			});

		}
	    
		return false;

	});

	$( 'INPUT#bmi-submit' ).click( function() {
	
		var height = $( 'INPUT[name="height"]' ).val();
		var weight = $( 'INPUT[name="weight"]' ).val();
	
		if( height > 0 && height < 250 && weight > 0 && weight < 200 ) {

			height = height / 100;
			var bmi = ( weight / ( height * height ) );
			$( '#bmi-results P' ).text( 'Laskettu painoindeksi on ' + RoundFixed( bmi, 2 ) );
			$( '#bmi-results ' ).css( 'display' , 'block' );
	
		}
		else {

			$( '#bmi-results P' ).text( 'Arvoja ei voida laskea. Tarkasta molemmat arvot!' );
			$( '#bmi-results ' ).css( 'display' , 'block' );

		}

	});

	$( 'INPUT#prs-submit' ).click( function() {
	
		pressure();
		return false;

	});

	$( 'INPUT#salt-submit' ).click( function() {
	
		salt();
		return false;

	});

	$( 'INPUT#salt-reset' ).click( function() {
	
		$( 'DIV#salt-results' )
			.empty()
			.css( 'display', 'none' );

		$( 'INPUT', $( 'TABLE#salt' ) )
			.attr( 'checked', false );

	});

	$( 'INPUT', $( 'TABLE#liikuntatottumukset' ) ).click( function() {
		
		var green = 0;
		var red = 0;
		var total = 0;
		var greenp = 0;
		var redp = 0;

		$( 'INPUT', $( 'TABLE#liikuntatottumukset' ) ).each( function() {

			if( $( this ).attr( 'checked' ) ) {

				if( $( this ).parent().hasClass( 'good' ) )
					++green;
				else if( $( this ).parent().hasClass( 'bad' ) )
					++red;

			}

		});
		
		total = green + red;
		
		if( total > 0 ) {
		
			greenp = Math.ceil( green / total * 100 );
			redp = 100 - greenp;

		}
		else {

			greenp = 0;
			redp = 0;

		}

		$( 'DIV#greenp' ).text( greenp + '%' );
		$( 'DIV#redp' ).text( redp + '%' );
		
	});

	$( 'INPUT#reset-liikuntatottumukset' ).click( function() {

		$( 'DIV#greenp' ).text( '0%' );
		$( 'DIV#redp' ).text( '0%' );
		
		$( 'INPUT', $( 'TABLE#liikuntatottumukset' ) )
			.attr( 'checked', false );

	});

	$( 'DIV#sitemap-region LI:last' ).remove();

	$( 'A#sitemap-link' ).click( function() {

		var scrollElm = $.browser.safari ? $( 'BODY' ) : $( 'HTML' );

		if( $( 'DIV#SiteMap' ).hasClass( 'open' ) ) {

			var diff = $( 'DIV#SiteMap' ).outerHeight();
			$( scrollElm ).animate( { scrollTop: '-=' + diff }, 400, 'easeInOutQuart', function() {
				$( 'DIV#SiteMap' ).slideUp( 200, function() {
					$( this ).removeClass( 'open' );
				});
			});

		}
		else {

			$( 'DIV#SiteMap' ).addClass( 'open' );
			$( 'DIV#SiteMap' ).slideDown( 200, function() {
				var diff = $( 'DIV#SiteMap' ).outerHeight();
				$( scrollElm ).animate( { scrollTop: '+=' + diff }, 400, 'easeInOutQuart' );
			});

		}
		
		return false;
	
	});

	$( 'DIV.sb-tabhead A', 'DIV.tabs' ).click( function() {
	
		if( !$( this ).hasClass( 'current' ) ) {

			var idx = $( this ).index();
			$( 'DIV.tabs .current' )
				.removeClass( 'current' );
			
			$( 'DIV.tabs DIV.sb-tabhead A' )
				.eq( idx )
				.addClass( 'current' );

			$( 'DIV.tabs DIV.sb-tabcontent' )
				.eq( idx )
				.addClass( 'current' );

		}

		return false;

	});

	$( 'DIV.question' ).click( function() {

		var idx = $( this ).attr( 'id' );
		
		if( idx != '' )
			var trg = $( 'DIV#' + idx.replace( /^q([0-9]+)$/i, 'a$1' ) );
		else
			var trg = $( this ).next( 'DIV.answer' );
		
		trg.toggle();
		
	});

	if( $( 'DIV.sectionbox.last', $( 'BODY.kynnys' ) ).length ) {
		
		var parent = $( 'DIV.sectionbox.last', $( 'BODY.kynnys' ) );
		var sets = Math.ceil( parent.find( 'P' ).length / 4 );
		
		for( var i = 0; i < sets; ++i ) {
			
			var start = i * 4;
			var end = start + 4;

			parent
				.find( 'P' )
				.slice( start, end )
				.wrapAll( '<div class="slideset" />' );

		}

		$( 'DIV.slideset' )
			.wrapAll( '<div id="slides" />' );

		var rt1 = new rotator( 'DIV.slideset', 'DIV#slides', 9000 );
		rt1.init();

	}

	$( 'A#arteryresult' ).click( function() {
	
		artery();
		return false;

	});

	$( 'A#arteryreset' ).click( function() {
	
		$( 'TABLE.artery INPUT.rdo' )
			.attr( 'checked', false );

		$( 'DIV.resultbox > SPAN' )
			.text( '' );

		return false;

	});

	$( 'A#arteryinfotoggle' ).toggle( function() {

		$( 'DIV#arteryinfo' ).slideDown( 300 );
		return false;

	}, function(){
	
		$( 'DIV#arteryinfo' ).slideUp( 300 );
		return false;

	});


	if( $( 'DIV.fbfader', $( 'DIV.fb-content-item' ) ).length ) {
		
		var timers = Array();

		$( 'DIV.fbfader', $( 'DIV.fb-content-item' ) ).each( function( i ) {

			var t = $( this );
			selector = t.hasClass( 'imagesonly' ) ? 'IMG' : 'A';

			if( $( selector, t ).length > 1 ) {
				timers[ i ] = window.setInterval( function() { doFade( t ); }, 12000 );

			}

		});		
		
	}


});


function doFade( elm ) {

	selector = elm.hasClass( 'imagesonly' ) ? 'IMG' : 'A';

	var le = $( selector, elm ).length;
	var curr = $( selector, elm ).index( $( selector + '.current', elm ) );

	if( curr < le - 1 )
		curr++;
	else
		curr = 0;

	$( selector + '.current', elm )
		.fadeOut( 3000, function() {

			$( this )
				.removeClass( 'current' );

		});

	$( selector, elm )
		.eq( curr )
		.fadeIn( 2000, function() {

			$( this )
				.addClass( 'current' );

	});

}


function Round( Number, DecimalPlaces ) {
	return Math.round( parseFloat( Number ) * Math.pow( 10, DecimalPlaces ) ) / Math.pow( 10, DecimalPlaces );
}

function RoundFixed( Number, DecimalPlaces ) {
	return Round( Number, DecimalPlaces ).toFixed( DecimalPlaces );
}

function pressure() {

	var uprs = $( 'INPUT#uprs' ).val();
	var lprs = $( 'INPUT#lprs' ).val();
	
	var numreg = /^[1-9]{1}[0-9]*$/i;
	
	$( 'DIV#prs-results TABLE TD' ).css( { 'background': 'none', 'font-weight': 'normal' } );

	if( !numreg.test( uprs ) || !numreg.test( lprs ) ) {
		
		$( 'DIV#prs-results' ).css( 'display', 'none' );
		alert( "Virhe syötteissä. Syötä molempiin kenttiin pelkkiä numeroita." );
		return false;

	}
	
	if( uprs <= 120 )
		var idx = 1;
	else if( uprs < 130 && uprs > 120 )
		var idx = 2;
	else if( uprs >= 130 && uprs < 140 )
		var idx = 3;
	else if( uprs >= 140 && uprs < 160 )
		var idx = 4;
	else if( uprs >= 160 && uprs < 180 )
		var idx = 5;
	else if( uprs >= 180 )
		var idx = 6;
	
	$( 'TD#up' + idx ).css( { 'background': '#DFDFDF', 'font-weight': 'bold' } );
	
	if( lprs < 80 )
		var idx = 1;
	else if( lprs < 85 && lprs > 79 )
		var idx = 2;
	else if( lprs >= 85 && lprs < 90 )
		var idx = 3;
	else if( lprs >= 90 && lprs < 100 )
		var idx = 4;
	else if( lprs >= 100 && lprs < 110 )
		var idx = 5;
	else if( lprs >= 110 )
		var idx = 6;
	
	$( 'TD#lo' + idx ).css( { 'background': '#DFDFDF', 'font-weight': 'bold' } );
	$( 'DIV#prs-results' ).css( 'display', 'block' );

}

function salt() {

	var error = false;
	var total = 0;
	var answers = { 
		'a1': "<h3>Loistavaa!</h3><p>Makunystyräsi ovat jo tottuneet vähäsuolaiseen ruokaan.</p><p>Jatka huoletta samaan malliin.</p>",
		'a2': "<h3>Hyvä!</h3><p>Olet matkalla hyvään suuntaan. Vähäsuolaisen ruokavalion toteuttaminen kaipaa vielä tarkistamista.</p><p>Tutustu vielä suolan vähentämisvinkkeihin. Suolan vähentäminen on erityisen tärkeää, jos verenpaineesi on kohonnut.</p>",
		'a3': "<h3>Taidat olla suolaisen ystävä, tästä on helppo vähentää.</h3><p>Saat sydämesikin ilahtumaan, kun vähennät suolan käyttöäsi. Jos verenpaineesi on jo koholla, Sinun on todella järkevää vähentää suolankäyttöäsi.</p><p>Tutki tarkkaan suolan vähentämisvinkit. Suun makunystyrät tottuvat vähempisuolaiseen ruokavalioon jo muutamassa viikossa.</p>",
		'a4': "<h3>Aiotko todella muuttua suolapatsaaksi?</h3><p>Sydämesi ei taatusti pidä suolasta, kuten ehkä Sinun makunystyräsi. Vähempään suolaan tottuu jo muutamassa viikossa, usko pois. Jos verenpaineesi on jo koholla, Sinun on todella järkevää vähentää suolankäyttöäsi.</p><p>Voit tehdä muutoksia myös vähitellen ja totutella hiljalleen aina vähäsuolaisempaan ruokavalioon. Tärkeintä on, että teet muutoksia heti etkä vasta huomenna! Tutustu suolan vähentämisvinkkeihin.</p>"
	}

	for( var i = 1; i < 8; ++i ) {

		if( $( 'INPUT[name="q' + i + '"]:checked' ).length == 0 )
			error = true;
		else
			total += parseInt( $( 'INPUT[name="q' + i + '"]:checked' ).val() );

	}
	
	if( error )
		alert( 'Valitse yksi vastausvaihtoehto jokaisesta kysymyksestä.' );
	else {

		if( total < 7 )
			var text = answers.a1;
		else if( total < 13 )
			var text = answers.a2;
		else if( total < 19 )
			var text = answers.a3;
		else
			var text = answers.a4;

		$( 'DIV#salt-results' )
			.html( text )
			.css( 'display', 'block' );

	}

}

function rotator( elms, parentelm, time ) {

	parentelm += ' ';
	this.slides = $( parentelm + elms );
	this.elms = { curr: false, next: false };
	this.curidx = 0;
	this.timer = null;
	this.time = time;
	
	this.init = function() {

		if( $( parentelm ).length == 0 )
			return false;
		
		this.slides.eq( 0 ).css( 'display', 'block' );
		this.loadimages( 0 );

	}

	this.loadimages = function( i, j ) {

		var t = this;

		if( typeof( j ) == 'undefined' )
			var j = 1;

		if( i < t.slides.length && typeof( t.slides[ i ] ) != 'undefined' )
		{
			var img = new Image();
	
			$( img ).load( function() {

				if( img.attachEvent && j == 10 )
					setTimeout( function() { t.loadimages( ++i, 0 ); }, 100 );
				else
					t.loadimages( ++i, ++j );

			});

			if( t.slides.eq( i ).is( 'IMG' ) )
				$( img ).attr( 'src', t.slides.eq( i ).attr( 'src' ) );
			else
				$( img ).attr( 'src', t.slides.eq( i ).find( 'img' ).attr( 'src' ) );
		}
		else if( t.slides.length > 1 )
		{
			t.getelms();
			if( time )
				t.automate( true );
		}

	}

	this.automate = function( init ) {

		var t = this;
		var ctime = t.time;

		if( init )
			ctime = t.time * 1.5;

		if( time )
			t.timer = window.setTimeout( function() { t.automove(); }, ctime );

	}
	
	this.automove = function() {

		var t = this;

		if( $( parentelm + elms ).filter( ':animated' ).length )
		{
			clearTimeout( t.timer );
			t.automate( true );
		}
		else
			t.moveright( { data : { mclick: false } } );

	}

	this.moveright = function( e ) {
		
		if( typeof( e.data.ob ) != 'undefined' )
			var t = e.data.ob;
		else
			var t = this;
		
		clearTimeout( t.timer );

		if( $( parentelm + elms ).filter( ':animated' ).length )
			return false;

		$( this ).blur();

		t.getelms( 'r' );
		var wd = t.elms.curr.outerWidth();

		t.elms.curr.css( 'z-index', 40 ).animate( { left: '-=' + wd }, 750, 'easeInOutCirc', function() { 
			$( this ).css( { display: 'none', 'z-index': 50 } );
			t.automate( e.data.mclick );
		});

		t.elms.next.css( { display: 'block', left: wd } ).animate( { left: '-=' + wd }, 600, 'easeInOutCirc' );

		return false;

	}

	this.getelms = function( dir ) {

		var t = this;
		t.elms.curr = $( parentelm + elms ).filter( ':visible' );
		t.curidx = t.slides.index( t.elms.curr );

		switch( dir )
		{
			case 'l' :
				if( $( parentelm + elms ).eq( t.curidx - 1 ).length )
					t.elms.next = $( parentelm + elms ).eq( t.curidx - 1 );
				else
					t.elms.next = $( parentelm + elms ).filter( ':last' );
			break;
	
			case 'r' :
				if( $( parentelm + elms ).eq( t.curidx + 1 ).length )
					t.elms.next = $( parentelm + elms ).eq( t.curidx + 1 );
				else
					t.elms.next = $( parentelm + elms ).filter( ':first' );
			break;
		}

	}

}

function artery() {

	var error = false;
	var total = 0;
	var result = { 'yes': 0, 'no': 0, 'idk': 0 };

	for( var i = 1; i < 22; ++i ) {

		if( $( 'INPUT[name="r' + i + '"]:checked' ).length == 0 )
			error = true;
		else {
			
			switch( $( 'INPUT[name="r' + i + '"]:checked' ).val() ) {

				case '1':

					result.yes++;

				break;

				case '2':

					result.no++;

				break;

				case '3':

					result.idk++;

				break;

			}

		}

	}
	
	if( error )
		alert( 'Valitse yksi vastausvaihtoehto jokaisesta kohdasta.' );
	else {

		$( 'DIV.resultbox#yes > SPAN' ).text( result.yes );
		$( 'DIV.resultbox#no > SPAN' ).text( result.no );
		$( 'DIV.resultbox#idk > SPAN' ).text( result.idk );

	}

}

