$(document).ready(function(){

    $("#header_nav").olsaHeaderMenu();
	    
    $(".fancyLogin").fancybox({
        'scrolling'		: 'no',
        'titleShow'		: false,
        'overlayOpacity': 0.8,
        'overlayColor' : '#142362',
        'onStart': function(){
            $('.subpages').slideUp();
        }
    });	
	
    $("#loginsubmit").click(function(){
        $('.loginmsg p').html('');
        $(".loginmsg img").show();
        var lfrm = $(".lm_login_block_form");
        $.post($(lfrm).attr('action'),$(lfrm).serialize(), function(d) {
            if(d.success){
                $(".loginmsg img").hide();
                $('.loginmsg p').html('<span class="loginerror">Kirjaudutaan, odotathan hetken..</span>');
                location.reload(true);
            }else{
                $(".loginmsg img").hide();
                $('.loginmsg p').html('<span class="loginerror">'+d.error+'</span>');
            }
        }, "json");
        return false;
    });
	
	

	
	
    //$('#feedbackFloat').feedbackFloat();

    $("#headerFeedBackButton").fancybox({
        'scrolling'		: 'no',
        'titleShow'		: false,
        'overlayOpacity': 0.8,
        'overlayColor' : '#142362',
        'onStart': function(){
            $('.subpages').slideUp();
        }
    });	
    
    $("img.ccm-captcha-image").wrap('<div style="height:60px" />');
    $("img.ccm-captcha-image").removeAttr('onClick');
    $("img.ccm-captcha-image").click(function(){
        var ct = new Date()
        $(this).fadeOut(200);
        var p = new Image(); 
        p.src="/tools/required/captcha?nocache=true&t=" + ct.getTime(); 
        $(this).attr('src',p.src).load(function(){
            $(this).fadeIn(100);
        });
		
		
		
		
        return false;
    });
	
    $('#feedbackContent').find('.formBlockSubmitButton').click(function(){
        $(this).hide();
        $('.feedbackmsg p').html('');
        $(".feedbackmsg img").show();
        var lfrm = $("#feedbackContent .miniSurveyView");
        var postback = $(lfrm).attr('action');
        postback = postback.replace('cID','oldCID');
        postback = postback.replace('submit_form','submit_form&format=JSON&cID='+ $("#feedbackDivTargetCID").html());
		
        var data = $(lfrm).serialize() ;
		
        $.post(postback,data, function(d) {
            $('#feedbackContent').find('.formBlockSubmitButton').show();
            if(d.success){
                $(".feedbackmsg img").hide();
                $('.feedbackmsg p').html('');
                $('#feedbackContent .miniSurveyView').hide();
                $('#feedbackSuccess').fadeIn(200);
            //location.reload(true);
            }else{
                $(".feedbackmsg img").hide();
                var errs='';
								
                for(var x in d.errors){
					
                    errs = errs + d.errors[x] + '<br>';
                }
                $('.feedbackmsg p').html('<span class="feedbackerror">'+errs+'</span>');
            }
			
        }, "json");
        return false;
    });
	

	
});

$.fn.olsaHeaderMenu = function(){
    var cElm = 0;
    var pElm = $(this);
    return $(this).find('.menu ul li').each(function() {
        
        var el=$(this);
        var trc=0;
        var tro=0;
        var itm=0;
        var hoverTmr;

        var m_open = function(event){
			
            if(tro){	
                window.clearTimeout(tro);
                tro = null;
            }
            if(trc){	
                window.clearTimeout(trc);
                trc = null;
            }
			
            $(pElm).find('.navHover').removeClass('navHover');
			
            if($(pElm).find('.subpages:visible').length > 0){
                $(el).children('a').addClass('navHover');
                $(pElm).find('.subpages:visible').hide();
                itm = $(el).find('.subpages').show();
            }else{
            	hoverTmr = window.setTimeout(function(){
            			
            		 $(el).children('a').addClass('navHover');
					m_close();
					itm = $(el).find('.subpages').slideDown();
					$(el).children('a').addClass('navHover');
                
            	}, 350);
               
            }
			
        }
        var m_close = function(){
        	
            if(itm){
                $(itm).slideUp(function(){
                    $(itm).prev().removeClass('navHover');
                });
            }
        }
			
        if(cElm>0){
            $(el).bind('mouseenter', m_open);
            $(el).bind('mouseleave', function(){
            	window.clearTimeout(hoverTmr);
                trc = window.setTimeout(m_close, 250);
            });
        }else{
            $(el).bind('mouseenter', function(){
                $(pElm).find('.navHover').removeClass('navHover');
                $(el).children('a').addClass('navHoverHome');
                //$(el).children('a').css('padding-bottom','17px');
            });
            $(el).bind('mouseleave', function(){
                $(el).children('a').removeClass('navHoverHome');
            });
        }	
        cElm++;
    });
};

$.fn.feedbackFloat = function(){

    var $obj 				= this,
    opts				= {
        duration:200, 
        offsetY:'0',
        startOffset:'0'
    },
    doc					= $(document),
    bottomPos, pastStartOffset, objFartherThanTopPos, objBiggerThanWindow, newpos, checkTimer, lastDocPos = doc.scrollTop(),
    PaddingTop 			= 0,
    startOffset 		= $obj.parent().offset().top;
	
    PaddingTop = ($(window).height() / - $obj.height());
	
    $.extend( opts,  {
        startOffset:startOffset, 
        offsetY:PaddingTop
    } );
    //$obj.css({ position: 'absolute',top:PaddingTop });

    function checkScroll(){
	
        if( opts.duration > 40 ){
            clearTimeout(checkTimer);
            checkTimer = setTimeout(function(){
                if( Math.abs(doc.scrollTop() - lastDocPos) > 0 ){
                    lastDocPos = doc.scrollTop();
                    floatIT();
                }
            },40);
        }
        else floatIT();
    }
	
    function floatIT(){
        $obj.stop(); 
		
        pastStartOffset			= doc.scrollTop() > opts.startOffset;	
        objFartherThanTopPos	= $obj.offset().top > startOffset;	
        objBiggerThanWindow 	= $obj.outerHeight() < $(window).height();	
		
		
        if( (pastStartOffset || objFartherThanTopPos) && objBiggerThanWindow ){ 
            newpos = (doc.scrollTop() -startOffset + opts.offsetY );

            if ( newpos > bottomPos ){
                newpos = bottomPos;
            }
            if ( doc.scrollTop() < opts.startOffset ) {
                newpos = PaddingTop;
            }
			
            $obj.delay(opts.delay).animate({
                top: newpos
            }, opts.duration , 'linear' );
        }
    }
	
    $(window).scroll(checkScroll);
};


















