$(document).ready(function() {
	
	var sliderItems = $('#slider-items').find("span");
	var slider = $('#slider');
	slider.css('opacity','0');
	$('noscript').remove();
	$('.slider-wrapper').addClass('loading');
	
	function loadSlider(){
		slider.nivoSlider({
			effect: 'boxRainGrow', // Specify sets like: 'fold,fade,sliceDown'
			slices: 15, // For slice animations
			boxCols: 8, // For box animations
			boxRows: 4, // For box animations
			animSpeed: 500, // Slide transition speed
			pauseTime: 5000, // How long each slide will show
			startSlide: 0, // Set starting Slide (0 index)
			directionNav: false, // Next & Prev navigation
			directionNavHide: true, // Only show on hover
			controlNav: false, // 1,2,3... navigation
			controlNavThumbs: false, // Use thumbnails for Control Nav
			controlNavThumbsFromRel: false, // Use image rel for thumbs
			controlNavThumbsSearch: '.jpg', // Replace this with...
			controlNavThumbsReplace: '_thumb.jpg', // ...this in thumb Image src
			keyboardNav: false, // Use left & right arrows
			pauseOnHover: true, // Stop animation while hovering
			manualAdvance: false, // Force manual transitions
			captionOpacity: 0.8, // Universal caption opacity
			prevText: 'Prev', // Prev directionNav text
			nextText: 'Next', // Next directionNav text
			beforeChange: function(){}, // Triggers before a slide transition
			afterChange: function(){}, // Triggers after a slide transition
			slideshowEnd: function(){}, // Triggers after all slides have been shown
			lastSlide: function(){}, // Triggers when last slide is shown
			afterLoad: function(){
				// fade in slider after it is loaded
				slider.animate({
					opacity:1},
					200, function() {
						$('.slider-wrapper').removeClass('loading');
					}
				);
			} // Triggers when slider has loaded
		});
	}
	
	// Lazyload images. Append more images when previous image is loaded. Enable slider after the last image.
	var index = 0;
	function appendImage(){
				
		if ($('#slider-items').find("span:eq("+index+")").length > 0){
			thisImage = $('#slider-items').find("span:eq("+index+")").text();
		} else {
			thisImage = "";
		}

		slider.append("<img src='"+thisImage+"' id='image-"+index+"' alt='Image "+index+"' style='display:none;' />");
		
		$("#image-"+index)
		.load(function(){
			if (index < sliderItems.length - 1){
				index++;
				appendImage();
			} else {
				loadSlider();
			}
			
		})
		.error(function(){
			// an error occurred.
		});

	
	}
	
	appendImage();
	
	
	
	$(".interactive").each(function(){
		$(this).wrap('<div class="image-container" />');
		$(this).before('<div class="image-info">'+$(this).attr("alt")+'</div>');
	});
	
	$(this).find(".image-info:first").css('opacity','0');
	$(".image-container").mouseenter(function(){
		$(this).find(".image-info:first").stop(true,true).animate({
			opacity:1.0
		}, 200 );
	
	}).mouseleave(function(){
		$(this).find(".image-info:first").stop(true,true).animate({
			opacity:0
		}, 200 );
	});
	
	/* Calculate frontpage's element height */
	var blogHeight = $(".section-blogs").height() + 14;
	$(".link-list").css('min-height',blogHeight-20);
	
	/* Link lists are beside the slider in de/en pages */
	if (slider.length > 0 && ($("#wrapper.en").length > 0 || $("#wrapper.de").length > 0)){
		$(".link-list").css('min-height',slider.height()-20);
	}
	
	
	/* Palvelut A-Ö section */
    function enableField(item){
        item.css('opacity','1');
    };

    function disableField(item){
        item.animate({
            opacity: 0.3
        }, 200);
    };

    $(".free-search, .category-search, .chars").addClass("dimmer");

    $(".free-search input").focus( function(){
        enableField($(this).parents(".free-search"));
        disableField($(".category-search.dimmer, .chars.dimmer"));
    }).blur( function(){
        enableField($(".dimmer"));
    });

    $(".category-search select").focus( function(){
        enableField($(this).parents(".category-search"));
        disableField($(".free-search.dimmer, .chars.dimmer"));
    }).blur( function(){
        enableField($(".dimmer"));
    });

    if ( $(".chars .selected").length > 0){
        $(".free-search.dimmer, .category-search.dimmer").css('opacity','0.3');
    }
	
	
	/* Selectbox replacement */	
	$(".frontpage-select").selectbox({
		speed: 200
	});

	var c_name = "post_cid";
    var c_start=document.cookie.indexOf(c_name+"=");
    var cid = "";
    if (c_start!=-1) {
	    c_start=c_start + c_name.length+1;
        var c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1)
    	    c_end=document.cookie.length;
        cid = unescape(document.cookie.substring(c_start,c_end));
    }
    var c_name2 = "checksum";
    var c_start2=document.cookie.indexOf(c_name2+"=");
    var cs = "";
    if (c_start2!=-1) {
    	c_start2=c_start2 + c_name2.length+1;
        var c_end2=document.cookie.indexOf(";",c_start2);
        if (c_end2==-1)
        	c_end2=document.cookie.length;
        cs = unescape(document.cookie.substring(c_start2,c_end2));
    }
    if(cid != "" && cs != "") {
	    var elem = $("#id_"+cid+" .floatRight");
        if(elem.length>0) {
    	    elem.append('<br /><a class="rcomment" href="?removeme=true&amp;id='+cid+'&amp;checksum='+cs+'">Poista kommentti</a>');
        }
    }
	

});

