var imageLoaded = false;
var imageLoading = false;
var selectedTopLink = '';
var selectedSubLink = '';
var sbX = 0;
var sbY = 0;
var currentSub = '';

// Events, DOM ready
// TODO: Clean up
$(document).ready(function(){
    highlightActivePageLinks();
    loadLinkHandlers();
    
    var pageDisp = $('#pageDisp').text().toString();
    pageDisp = pageDisp.replace(/^\s+|\s+$/g, "");
    
    if (pageDisp == 'Crille(index)') {
        var tmpHtml = $('#pageDisp').html();
        $('#pageDisp').each(function(){
            $('#pageDisp').css('opacity', '0.1');
            $(this).animate({
                opacity: 1.0
            }, 1500, function(){
                $(this).html("Hello, world!").animate({
                    height: 40
                }, 1500, function(){
                    $(this).html("Hello, world!<br /><b>Welcome!</b>");
                });
            });
        });
    }
    
    
    $('.showcode').click(function(e){
        e.preventDefault();
        
        closeCodeBox();
        
        var cfile = $(this).attr('href');
        cfile = cfile.split('#')[1];
        
        var version = parseFloat(navigator.appVersion);
        if ((navigator.appName == "Microsoft Internet Explorer") && (version <= 6)) {
            $('#codeBox').css('position', 'absolute');
            $('#codeBoxTop').css('position', 'absolute');
        }
        
        $("#loading").show();
        
        $('#codeBox').empty().load('./viewcode.php?cfile=' + cfile + '&nocache=' + Math.random() * 99999, function(){
            $('#loading').hide();
            $('#codeBox').slideDown('fast');
            $('#codeBoxTop').show();
        });
    });
    
    $('#closeCodeBox').click(function(e){
        e.preventDefault();
        closeCodeBox();
    });
    
    $('#zoomed').click(function(e){
        e.preventDefault();
        $('#zoomed').fadeOut('fast');
        $('#zoomedBG').hide();
        scroll(sbX, sbY);
    });
    
    $('#zoomedBG').click(function(e){
        e.preventDefault();
        $('#zoomed').fadeOut('fast');
        $('#zoomedBG').hide();
        scroll(sbX, sbY);
    });
    
    $('.topLink a').click(function(e){
        e.preventDefault();
        $(this).blur();
    });
    
    
    $('.topLink a').mouseover(function(e){
        e.preventDefault();
        if (currentSub != $(this).html()) {
            resetSubMenu();
            selectedTopLink = $(this).html();
            $('.topLink a').css('color', '#ccc8be');
            $(this).css('color', '#ffffff');
            
            $('#subNav').empty();
            $(this).css('color', '#ffffff');
            
            switch (selectedTopLink.toLowerCase()) {
                case 'crille':
                    $('#subNav').html('<li class="subLink"><a href="?p=crille-index">Index</a></li> \
								<li class="subLink"><a href="?p=crille-om">Om Crille</a></li>');
                    loadLinkHandlers();
                    $('#subNav').fadeIn('fast');
                    break;
                case 'webb':
                    $('#subNav').html('<li class="subLink"><a href="?p=webb-design">Design</a></li>');
                    loadLinkHandlers();
                    $('#subNav').fadeIn('fast');
                    break;
                case 'kod':
                    $('#subNav').html('<li class="subLink"><a href="?p=kod-php">PHP</a></li> \
							<li class="subLink"><a href="?p=kod-csharp">C#</a></li> \
							<li class="subLink"><a href="?p=kod-js">Javascript</a></li> \
							<li class="subLink"><a href="?p=kod-ajax">Ajax</a></li> ');
                    loadLinkHandlers();
                    $('#subNav').fadeIn('fast');
                    break;
                case 'grafik':
                    $('#subNav').html('<li class="subLink"><a href="?p=grafik-ps">Photoshop</a></li> \
							<li class="subLink"><a href="?p=grafik-3d">3D</a></li> \
							<li class="subLink"><a href="?p=grafik-retuschering">Retuschering</a></li> \
							<li class="subLink"><a href="?p=grafik-annat">Annat</a></li>');
                    loadLinkHandlers();
                    $('#subNav').fadeIn('fast');
                    break;
            }
            currentSub = $(this).html();
            $(this).blur();
            highlightActivePageLinks();
        }
    });
    
    $('.topLink a').mouseout(function(){
        if ($(this).html() != selectedTopLink) {
            $(this).css('color', '#ccc8be');
        }
    });
    
    $('#crilleBild').mouseover(function(){
        $(this).fadeTo(100, 1.0);
    });
    
    $('#crilleBild').mouseout(function(){
        $(this).fadeTo(100, 0.5);
    });
});


//Functions
function loadLinkHandlers(){
    $('.subLink a').mouseover(function(){
        if ($(this).html().toLowerCase() != currentSub) {
            $(this).css('color', '#ffffff');
        }
    });
    
    $('.subLink a').mouseout(function(){
        if ($(this).html().toLowerCase() != currentSub) {
            $(this).css('color', '#ccc8be');
        }
    });
    
    $('.thumb_link').click(function(e){
        e.preventDefault();
        closeCodeBox();
        sbX = window.pageXOffset;
        sbY = window.pageYOffset;
        
        var img = new Image();
        var imgPath = $(this).attr('href');
        
        $('#loading').html('Laddar...');
        $('#loading').show();
        
        $(img).load(function(){
            scroll(0, 0);
            $('#loading').hide();
            $('#zoomedBG').show();
            $('#zoomed').html('');
            $('#zoomed').append(this);
            $('#zoomed').fadeIn();
        }).attr('src', imgPath);
    });
    
    $('.rtr').click(function(){
        var toggleToHidden = false;
        $(this).parent().parent().children().each(function(){
            if ($(this).attr('class') != 'gTitle' && $(this).is('div')) {
                if ($(this).is(':hidden')) {
                    toggleToHidden = false;
                }
                else {
                    toggleToHidden = true;
                }
                $(this).slideToggle(100);
            }
        });
        if (toggleToHidden) {
            $(this).parent().parent().css('min-height', '0px');
        }
        else {
            $(this).parent().parent().css('min-height', '180px');
        }
    });
};

function closeCodeBox(){
    if ($('#codeBox').is(':visible')) {
        $('#codeBox').empty();
        $('#codeBox').slideUp('fast');
        $('#codeBoxTop').hide();
    }
}

function resetSubMenu(){
    selectedSubLink = '';
}

function highlightActivePageLinks(){
    var loc = document.location.toString();
    if (loc.indexOf('?p=') != -1) {
        var varIndex = parseInt(loc.indexOf('?p='));
        var pages = loc.substr(varIndex + 3, loc.length - varIndex).split('-');
        var topPage = pages[0].toString();
        var subPage = pages[1].toString();
        
        $('.topLink a').each(function(){
            if ($(this).html().toLowerCase() == topPage) {
                $(this).css('color', '#00bcff');
            }
        });
        
        $('.subLink a').each(function(){
            switch (subPage) {
                case "csharp":
                    subPage = "c#";
                    break;
                case "js":
                    subPage = "javascript";
                    break;
                case "ps":
                    subPage = "photoshop";
                    break;
                case "om":
                    subPage = "om crille";
                    break;
            }
            if ($(this).html().toLowerCase() == subPage) {
                $(this).css('color', '#00bcff');
                currentSub = subPage;
            }
        });
    }
}

