// © Erik F. Kastner <kastner@gmail.com>, GNU GPL 2006-03-05

//
// Function to check browser compatibilty with XMLHttpRequest
//
function has_xhr() {
  return true;
}

//
// speed of transitions
//
t_speed = 400;

//
// replace target with a random image from letters[letter]
//
function new_image(target, letter, effect, update) {
	//alert('called');
  // just incase an id is passed
  var target      = $(target);
  var img         = document.createElement("IMG");
  var new_letter  = letters[letter][Math.floor(Math.random()*letters[letter].length)];
      
  var pos		  = target.id.split(/_/)[1];
  
  if (!new_letter) {
      // space or other symbol
      return;
  }
  
  img.src     = new_letter.url;

	$('image_' + pos).value = new_letter.url;
  
  //
  // default effect
  //
  if (!effect) effect = "Width";

	//
	// default update
	//
	if (!update) update = true;

  // make sure we show a different image if we have one
  if (letters[letter].length > 1 && target.src == img.src) {
    new_image(target, letter, effect);
  }
  else {
    //
    // toggle effect
    //
    effects[effect + target.id].toggle();
    
    //
    // change image
    //
    setTimeout("$('" + target.id + "').src = \"" + new_letter.url + "\"", t_speed);
    
    //
    // toggle effect again (after a timeout)
    //
    setTimeout("effects['" + effect + target.id + "'].toggle()", t_speed + 100);
  }

	//	var str = $('string').innerHTML;
	//	var right = (str.length > (pos*2+1)) ? str.substring(pos*2+2, str.length) : "";
	//	//alert(new_letter.pos);
	//	$('string').innerHTML = str.substring(0,pos*2+1) + new_letter.pos + right;
	//}
}

//
// preloader use with caution
//
function load_images() {
  img = document.createElement("img");
  for(var i=0; i<letters.length; i++) {
    for (var j=0; j<letters[i].length; j++) {
      img.src = letters[i][j].url;
    }
  }
}

//
// function to change all images
//
function change_all() {
  timeout = 0;
  delay   = t_speed/2;
  delay   = 90;
  
	$$('#letters img').each(function(img) {
		setTimeout("new_image('" + img.id + "', '" + img.title + "', 'Opacity', false)", timeout);
		timeout += delay;
	});
}
var effects = {};

window.onload = function() {
	// Effects for all images
	$$('#letters img').each(function(img) {
    ['Opacity', 'Width'].each(function(effect) {
      effects[effect + img.id] = new fx[effect](img, { duration:t_speed });
		});
	});
}