jQuery.preloadImages = function() {
    for (var i = 0; i<arguments.length; i++) {
        jQuery("<img>").attr("src", arguments[i]);
    }
}
function imgSwap(i, from, to) {
    if ($(i).get(0).tagName.toLowerCase() != 'span') {
        $(i).attr('src', $(i).attr('src').replace(from+".png", to+".png"));
    } else {
        $(i).css('filter', $(i).css('filter').replace(from+".png", to+".png"));
    }
}
function cssImgSwap(i, from, to) {
    if ($(i).css('filter') != '' && $(i).css('filter') != 'none') {
        $(i).css('filter', $(i).css('filter').replace(from+".png", to+".png"));
    } else {
        $(i).css('background-image', $(i).css('background-image').replace(from+".png", to+".png"));
    }
}
$(document).ready(function() {
    var num_projects = $('.project-sbox').size() - 2;
    var cur_project = 1;
    var cur_image = 0;
	var lock_buttons = false;

	$('.test').click(function(e) {
		$('#testp').slideToggle('slow');
		e.preventDefault();
	});
	$('.callout-list > li > p').each(function() {
        $(this).css("height", $(this).height()+"px"); 
		$(this).hide();
	});
	$('.expando').click(function(e) {
		var text = $(this).parent().parent().find('p');
		var button = $(this).find('img');
		if (button.attr('alt') == ' -') {
			text.slideToggle('slow');
			button.attr('src', 'media/plus.png');
			button.attr('alt', ' +');
		} else {
			text.slideToggle('slow');
			button.attr('src', 'media/minus.png');
			button.attr('alt', ' -');
		}
		e.preventDefault();
	});

	$('.site-box > div > a').hover(
		function() {
                    var s = $(this).parent().parent();
                    imgSwap(s.find('.site-img-top'), "", "_O");
                    imgSwap(s.find('.site-img-bot'), "", "_O");
                    cssImgSwap(s.find('.site-img-left'), "", "_O");
                    cssImgSwap(s.find('.site-img-right'), "", "_O");
                },
		function() {
                    var s = $(this).parent().parent();
                    imgSwap(s.find('.site-img-top'), "_O", "");
                    imgSwap(s.find('.site-img-bot'), "_O", "");
                    cssImgSwap(s.find('.site-img-left'), "_O", "");
                    cssImgSwap(s.find('.site-img-right'), "_O", "");
                });
	$('.site-box-small > div > a').hover(
		function() {
                    var s = $(this).parent().parent();
                    imgSwap(s.find('.site-img-small-top'), "", "_O");
                    imgSwap(s.find('.site-img-small-bot'), "", "_O");
                    imgSwap(s.find('.site-img-small-left'), "", "_O");
                    imgSwap(s.find('.site-img-small-right'), "", "_O");
		    $(s).find('.site-box-small-link').css('color', 'white');
                },
		function() {
                    var s = $(this).parent().parent();
                    imgSwap(s.find('.site-img-small-top'), "_O", "");
                    imgSwap(s.find('.site-img-small-bot'), "_O", "");
                    imgSwap(s.find('.site-img-small-left'), "_O", "");
                    imgSwap(s.find('.site-img-small-right'), "_O", "");
		    $(s).find('.site-box-small-link').css('color', '#cecece');
                });
    $('.navbar-button').hover(
        function() { $('#navimg').attr('src', "media/" + this.id + ".gif") },
        function() { $('#navimg').attr('src', "media/navbar.gif") });

    function slide_hover(dir) {
    $('#slide-'+dir).hover(
        function() {
            $('#slide-'+dir).css('background-image', "url('media/slide-"+dir+"_O.png')");
			imgSwap($(this).find('.arrow-img'), "", "_O");
        },
        function() {
            $('#slide-'+dir).css('background-image', "url('media/slide-"+dir+".png')");
			imgSwap($(this).find('.arrow-img'), "_O", "");
        }
    );
    }
    slide_hover('left');
    slide_hover('right');

    function resetProjImage() {
        $('#proj-img-'+cur_project+'-'+cur_image).hide();
        $('#proj-img-'+cur_project+'-0').show();
        cur_image = 0;
    }
    $('#slide-left').click(function(e) {
        if (lock_buttons) { e.preventDefault(); return; }
        $('#project-train').animate({ 'left': "+=952px" }, 1000, 'linear',
        function(){
            if ($('#project-train').position().left >= 952) {
                $('#project-train').css('left', -952*(num_projects-1)+"px");
            }
            lock_buttons = false;
            resetProjImage();
            if (cur_project == 1) {
                cur_project = num_projects;
            } else {
                cur_project -= 1;
            }
        });
        lock_buttons = true;
        e.preventDefault();
    });
    $('#slide-right').click(function(e) {
        if (lock_buttons) { e.preventDefault(); return; }
        $('#project-train').animate({ 'left': "-=952px" }, 1000, 'linear',
        function(){
            if ($('#project-train').position().left <= -952*(num_projects-1)) {
                $('#project-train').css('left', "0px");
            }
            lock_buttons = false;
            resetProjImage();
            if (cur_project == num_projects) {
                cur_project = 1;
            } else {
                cur_project += 1;
            }
        });
        lock_buttons = true;
        e.preventDefault();
    });
});

