var defaultPositionSocialbox = $('.socialShare').offset(),
    flyingSharePanelVisible = true;

$(function() {
	
	// fix ie6 bug for padding of one element...
	$('.sidebarbox:first').css({padding: '0 0 20px 0'});
	
	// fix ie6 bug for hovering twitter/rss icon
	$('#headericons .twitter a').hover(function() {
		$('span', this).css({color: '#E7E7E7'});
	}, function() {
		$('span', this).css({color: '#ffffff'});
	});
	
	// fix layout of autor-page
	$('.autoren_title + p br').hide();
	$('.autoren_title').not('.autoren_title.firstitem').css({paddingTop: '30px'});

	$('.footerbox.last a').attr('target', '_blank');
	
	$('.postItem .entry a[href*=.gif], .postItem .entry a[href*=.jpg], .postItem .entry a[href*=.png]').has('img').lightBox({
		overlayBgColor: '#000000',
		overlayOpacity: 0.4,
		imageLoading: '/blog/wp-content/themes/karriereBlog/images/ajax-loader.gif',
		imageBtnClose: '/blog/wp-content/themes/karriereBlog/images/lightbox-btn-close.gif',
		imageBtnPrev: '/blog/wp-content/themes/karriereBlog/images/lightbox-btn-prev.gif',
		imageBtnNext: '/blog/wp-content/themes/karriereBlog/images/lightbox-btn-next.gif'
	}).attr('target', '_blank');
	
	$('.postItem .entry a img.alignleft').removeClass('alignleft').parent().addClass('alignleft');
	$('.postItem .entry a img.alignright').removeClass('alignright').parent().addClass('alignright');
	$('.postItem .entry a img.aligncenter').removeClass('aligncenter').parent().addClass('aligncenter');

    if($('.singlepage').length) {
        if(typeof immediateShow == 'boolean' && immediateShow) {
            centerPopup();
            loadPopup();
        }
        $("#recommendEmail").click(function(){
            centerPopup();
            loadPopup();
            return false;
        });
        $(document).keypress(function(e){
            if(e.keyCode==27 && popupStatus==1){
            disablePopup();
            }
        });
    }

    if($('body.single').length) {

        $(window).scroll(function() {

            var scrollPosition = $(document).scrollTop();
            if(scrollPosition > defaultPositionSocialbox.top) {
                $('.single .socialShare').css({top: scrollPosition - defaultPositionSocialbox.top + 10});
            } else {
                $('.single .socialShare').css({top: 0});
            }

        });

        $(window).bind('resize || scroll', function() {
            
            if($('#flyingSharePanel').length) {

                var currentScrollTop = $(window).scrollTop(),
                    postContent = $('.content .entry'),
                    postContentTop = Math.ceil(postContent.position().top),
                    postContentHeight = postContent.height(),
                    postContentBottom = postContentTop + postContentHeight - $(window).height(),
                    footerTop = Math.ceil($('#footer').position().top) - $(window).height(),
                    footerHeight = $('#footer').height(),
                    sidebarLeft = Math.ceil($('#sidebar').offset().left),
                    flyingSharePanel = $('#flyingSharePanel'),
                    flyingSharePanelHeight = flyingSharePanel.outerHeight();

                if(currentScrollTop > postContentBottom) {
                    if(flyingSharePanelVisible) {
                        flyingSharePanel.css({
                            bottom: 0,
                            right: 20
                        }).slideDown();
                        flyingSharePanelVisible = false;
                    } else if(currentScrollTop > footerTop) {
                        flyingSharePanel.css({
                            bottom: $(window).height() - ((footerTop + $(window).height()) - currentScrollTop) - 69
                        })
                    } else {
                        if(flyingSharePanel.css('bottom') != 'auto') {
                            flyingSharePanel.css({
                                bottom: 0
                            })
                        }
                    }
                }

            }
            
        });
        
        $('#flyingSharePanel .close').click(function(evt) {
            evt.preventDefault();
            $('#flyingSharePanel').fadeOut(300, function(){
                $(this).remove();
            })
        });

    }

	$('.ga').click(function () {
		if (_gaq) {
			var category = document.location.pathname;
			var action = $(this).attr('ga-action');

			if (category && action) {
				_gaq.push(['_trackEvent', category, action]);
			}
		}
	});

});

var popupStatus = 0;
function loadPopup(){
    if(popupStatus==0){
	$("#recommendEmailPopup").fadeIn("slow");
	$("#recommendEmailPopupBackground").show();
	popupStatus = 1;
    }
}
function disablePopup(){
    if(popupStatus==1){
	$("#recommendEmailPopupBackground").fadeOut("slow");
	$("#recommendEmailPopup").fadeOut("slow");
	popupStatus = 0;
    }
}
function centerPopup(){
    var windowWidth = $(document).width();
    var windowHeight = $(document).height();

    var viewportWidth = $(window).width();
    var viewportHeight = $(window).height();

    $('#recommendEmailPopupBackground').remove();
    $('#recommendEmailPopup').remove();
    $('body').append("<div id=\"recommendEmailPopupBackground\"></div>" + popupContent);
    var popupHeight = $("#recommendEmailPopup").height();
    var popupWidth = $("#recommendEmailPopup").width();
    $("#recommendEmailPopup").css({
	"position": "absolute",
	"top": viewportHeight/2-popupHeight/2 + $(document).scrollTop(),
	"left": viewportWidth/2-popupWidth/2
    });
    $("#recommendEmailPopupBackground").css({
	"opacity": "0.4",
	"height": windowHeight + "px",
	"width": windowWidth + "px"
    });
    $("#recommendEmailPopup .close").click(function(){
	disablePopup();
    });
    $("#recommendEmailPopupBackground").click(function(){
	disablePopup();
    });
}

var what     = $('.k2-widget-box-what'),
    where    = $('.k2-widget-box-where');

$('#k2-widget-searchbox').submit(function() {

    if(what.val() == 'Was?') {
        what.val('');
    }

    if(where.val() == 'Wo?') {
        where.val('');
    }

});

$('#k2-widget-searchbox input').not('#k2-widget-searchbox .button').click(function(evt) {

    evt.preventDefault();

    var currentClass = $(this).attr('class');

    if(currentClass == 'k2-widget-box-what' && what.val() == 'Was?') {
        what.val('');
    }

    if(currentClass == 'k2-widget-box-where' && where.val() == 'Wo?') {
        where.val('');
    }

}).blur(function() {

    var currentClass = $(this).attr('class');

    if($(this).val() == '') {

        if(currentClass == 'k2-widget-box-what') {
            what.val('Was?');
        }

        if(currentClass == 'k2-widget-box-where') {
            where.val('Wo?');
        }


    }

});


// social tracking

window.fbAsyncInit = function() {
    FB.Event.subscribe('edge.create', function(targetUrl) {
        _gaq.push(['_trackSocial', 'facebook', 'like', targetUrl]);
    });
    FB.Event.subscribe('edge.remove', function(targetUrl) {
        _gaq.push(['_trackSocial', 'facebook', 'unlike', targetUrl]);
    });
};

twttr.events.bind('tweet', function(event) {
    if (event) {
        var targetUrl;
        if (event.target && event.target.nodeName == 'IFRAME') {
            targetUrl = extractParamFromUri(event.target.src, 'url');
        }
        _gaq.push(['_trackSocial', 'twitter', 'tweet', targetUrl]);
    }
});

function extractParamFromUri(uri, paramName) {
    if (!uri) {
        return;
    }
    var uri = uri.split('#')[0];  // Remove anchor.
    var parts = uri.split('?');  // Check for query params.
    if (parts.length == 1) {
        return;
    }
    var query = decodeURI(parts[1]);

    // Find url param.
    paramName += '=';
    var params = query.split('&');
    for (var i = 0, param; param = params[i]; ++i) {
        if (param.indexOf(paramName) === 0) {
            return unescape(param.split('=')[1]);
        }
    }
}
