
// dollybg.js by robert lude <robert.lude@gmail.com>

var dollybg_flash_count = 5;
var dollybg_flash = new Array(dollybg_flash_count);
var dollybg_xoffset;
var dollybg_next_flash = 0;
var dollybg_cur_dolly = 0;
 
function dollybg_move_flash() {
  var x;
  var y;
  var size;
  var n;
  
  n = Math.random();
  size = n * 1.3 + 0.2;
  
  if (dollybg_xoffset > 863) {
    x = (Math.random() * 1650) - 863 + dollybg_xoffset;
  } else {
    x = (Math.random() * (dollybg_xoffset * 2 - 150));       
  }                                                    
  x /= size;
  x += "px";
  
  y = (n * 600) + 290;
  y /= size;
  y += "px";
  
  dollybg_flash[dollybg_next_flash]
    .css("left", x)
    .css("top", y)
    .css("zoom", size)
    .show()
    .fadeOut(500);
    
  dollybg_next_flash++;
  dollybg_next_flash = dollybg_next_flash % dollybg_flash_count;  
}

function dollybg_fade_dolly() {
  switch (dollybg_cur_dolly) {
    case 0:                   
      $("#dolly3").hide();
      $("#dolly1")
        .css("z-index", "-8");
      $("#dolly2")
        .css("z-index", "-7")
        .fadeIn(2000, dollybg_fade_dolly);
      break;
    case 1:                         
      $("#dolly1").hide();
      $("#dolly2")
        .css("z-index", "-8");
      $("#dolly3")
        .css("z-index", "-7")
        .fadeIn(2000, dollybg_fade_dolly);
      break;
    case 2:                           
      $("#dolly2").hide();
      $("#dolly3")
        .css("z-index", "-8");
      $("#dolly1")
        .css("z-index", "-7")
        .fadeIn(2000, dollybg_fade_dolly);
      break;
  }
  dollybg_cur_dolly++;
  dollybg_cur_dolly = dollybg_cur_dolly % 3;
}     

$(document).ready(function() {        
  $(document).pngFix();
  if ($.browser.msie) {
    if (parseFloat($.browser.version) < 8) return;
  }
  var i;
  $("body")
    .append("<div id='dollybg-wrapper'>") 
    .append("<div id='dollybg-flattener'>") 
    .append("<div id='fg-toggle'>");        
  for (i = 0; i < dollybg_flash_count; i++) {
    $("#dollybg-wrapper").append("<img src='/images/6.8/flash.png' class='dollybg-flash' id='flash" + i + "'>");
    dollybg_flash[i] = $("#flash" + i);
    dollybg_flash[i].hide(); 
  }
  $("#dollybg-wrapper")
    .append("<img src='/images/6.8/dolly1.png' class='dollybg-dolly' id='dolly1'>")
    .append("<img src='/images/6.8/dolly2.png' class='dollybg-dolly' id='dolly2'>")
    .append("<img src='/images/6.8/dolly3.png' class='dollybg-dolly' id='dolly3'>");
  $("div#fg-toggle")
    .append($("<span>View background</span>"))
    .append($("<img src='/images/6.8/eye.png'>"))
    .click(function() {
      $("body > *")
        .not('#dollybg-wrapper')
        .not('#fg-toggle')
        .toggleFade(400);
    });
  dollybg_xoffset = $(window).width() / 2;
  setInterval("dollybg_move_flash()", 100);
  dollybg_fade_dolly();
});

$(window).resize(function() {
  dollybg_xoffset = $(window).width() / 2;
});

(function($) {
	$.fn.toggleFade = function(settings)
	{
		if(settings==undefined) {
			settings={ speedIn : 'slow'};
		}
		
		settings = jQuery.extend(
				{
					speedIn: "normal",
					speedOut: settings.speedIn
				}, settings
		);
		return this.each(function()
				{
			var isHidden = jQuery(this).is(":hidden");
			jQuery(this)[ isHidden ? "fadeIn" : "fadeOut" ]( isHidden ? settings.speedIn : settings.speedOut);
				});
	};
})(jQuery);
