// deidredefrancaux.com preload
// initiate on body or dependent components
function DOMready(fn, dependencies){
  var counter = 0;
  var collections = {};
  var timer = setInterval(
    function(){
      var ready = false;
      counter++;
      if (typeof document.getElementsByTagName != 'undefined'
        && (document.getElementsByTagName('body')[0] || document.body)){
        ready = true;
        if (typeof dependencies == 'object'){
          for (var i in dependencies){
            if (dependencies[i] == 'id' && !document.getElementById(i)){
              ready = false;
              break;
            } else if (dependencies[i] == 'tag'){
              var len = document.getElementsByTagName(i).length;
              if (typeof collections[i] == 'undefined' || collections[i] != len || len < 1){
                collections[i] = len;
                ready = false;
                break;
              }
            }
          }
        }
        if (ready){
          clearInterval(timer);
          fn();
        }
      }
      if (counter >= 40){
        clearInterval(timer);
      }
    }, 250  
  ); //end setInterval()
}
/* standard functions */
function createXMLHttpRequest( ) {
      try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
      try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
      try { return new XMLHttpRequest( ); } catch(e) {}
      alert("XMLHttpRequest not supported");
      return null;
}

function $(id) {
	if( document.getElementById && document.getElementById(id) ){
		return document.getElementById(id);
	}else{
		alert( 'id not found: ' + id );
	}
}
/* end standard functions */

function $$(tagname){ //returns an array of tag objects
  if( document.getElementsByTagName && document.getElementsByTagName(tagname) ){
    return document.getElementsByTagName(tagname);
  }else{
    //alert( 'id not found: ' + id );
  }
}
// stop default click behavior

function cancelClick(e){
  if( window.event && window.event.returnValue ){ window.event.returnValue = false; }
  if( e && e.preventDefault ){ e.preventDefault(); }
}
function cancelClickSafari(){ return false; }
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);

function removeEvent(obj, evType, fn, useCapture){
    if (obj.removeEventListener){
      obj.removeEventListener(evType, fn, useCapture);
      return true;
	}else if (obj.detachEvent){
      var r = obj.detachEvent("on"+evType, fn);
      return r;
    }else{
      elm[ 'on' + evType ] = null;
    }
}

imageHandeling = {

	imageList: function() {
		var urls = new Array( 
			"images/paintings/possible_mother_series/possible_mother_000_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_001_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_002_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_003_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_004_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_005_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_006_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_007_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_008_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_009_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_010_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_011_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_012_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_013_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_014_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_015_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_016_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_017_S.jpg", 
			"images/paintings/possible_mother_series/possible_mother_018_S.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_01_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d02_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d03_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d04_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d05_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d06_M.jpg",
			"images/paintings/birth_of_capitalism_in_rusia/birth_of_capitalism_in_rusia_d07_M.jpg",
			"images/paintings/bloom/bloom_01_M.jpg",
			"images/paintings/bloom/bloom_d02_M.jpg",
			"images/paintings/bloom/bloom_d03_M.jpg",
			"images/paintings/bloom/bloom_d04_M.jpg",
			"images/paintings/bloom/bloom_d05_M.jpg",
			"images/paintings/bloom/bloom_d06_M.jpg",
			"images/paintings/decline_of_american_empire/decline_of_american_empire_01_M.jpg",
			"images/paintings/decline_of_american_empire/decline_of_american_empire_d02_M.jpg",
			"images/paintings/decline_of_american_empire/decline_of_american_empire_d03_M.jpg",
			"images/paintings/decline_of_american_empire/decline_of_american_empire_d04_M.jpg",
			"images/paintings/decline_of_american_empire/decline_of_american_empire_d05_M.jpg",
			"images/paintings/free_fall/free_fall_01_M.jpg",
			"images/paintings/free_fall/free_fall_d02_M.jpg",
			"images/paintings/free_fall/free_fall_d03_M.jpg",
			"images/paintings/free_fall/free_fall_d04_M.jpg",
			"images/paintings/free_fall/free_fall_d05_M.jpg",
			"images/paintings/free_fall/free_fall_d06_M.jpg",
			"images/paintings/free_fall/free_fall_d07_M.jpg",
			"images/paintings/happy_day/happy_day_01_M.jpg",
			"images/paintings/happy_day/happy_day_d02_M.jpg",
			"images/paintings/happy_day/happy_day_d03_M.jpg",
			"images/paintings/happy_day/happy_day_d04_M.jpg",
			"images/paintings/happy_day/happy_day_d05_M.jpg",
			"images/paintings/hida/hida_01_M.jpg",
			"images/paintings/hida/hida_d02_M.jpg",
			"images/paintings/hida/hida_d03_M.jpg",
			"images/paintings/hida/hida_d04_M.jpg",
			"images/paintings/hida/hida_d05_M.jpg",
			"images/paintings/hida/hida_d06_M.jpg",
			"images/paintings/hida/hida_d07_M.jpg",
			"images/paintings/long_division/long_division_01_M.jpg",
			"images/paintings/long_division/long_division_d02_M.jpg",
			"images/paintings/long_division/long_division_d03_M.jpg",
			"images/paintings/long_division/long_division_d04_M.jpg",
			"images/paintings/long_division/long_division_d05_M.jpg",
			"images/paintings/long_division/long_division_d06_M.jpg",
			"images/paintings/media_perfection/media_perfection_01_M.jpg",
			"images/paintings/media_perfection/media_perfection_d02_M.jpg",
			"images/paintings/media_perfection/media_perfection_d03_M.jpg",
			"images/paintings/media_perfection/media_perfection_d04_M.jpg",
			"images/paintings/media_perfection/media_perfection_d05_M.jpg",
			"images/paintings/metamorphosis/metamorphosis_01_M.jpg",
			"images/paintings/metamorphosis/metamorphosis_d02_M.jpg",
			"images/paintings/metamorphosis/metamorphosis_d03_M.jpg",
			"images/paintings/metamorphosis/metamorphosis_d04_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_01_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_d02_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_d03_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_d04_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_d05_M.jpg",
			"images/paintings/naughty_angel/naughty_angel_d06_M.jpg",
			"images/paintings/panacea/panacea_01_M.jpg",
			"images/paintings/panacea/panacea_d02_M.jpg",
			"images/paintings/panacea/panacea_d03_M.jpg",
			"images/paintings/panacea/panacea_d04_M.jpg",
			"images/paintings/panacea/panacea_d05_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_01_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_d02_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_d03_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_d04_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_d05_M.jpg",
			"iamges/paintings/persistance_of_love/persistance_of_love_d06_M.jpg",
			"images/paintings/sink/sink_01_M.jpg",
			"images/paintings/sink/sink_d02_M.jpg",
			"images/paintings/sink/sink_d03_M.jpg",
			"images/paintings/sink/sink_d04_M.jpg",
			"images/paintings/sink/sink_d05_M.jpg",
			"images/paintings/sink/sink_d06_M.jpg",
			"images/paintings/sink/sink_d07_M.jpg",
			"images/paintings/sink/sink_d08_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_01_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_d02_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_d03_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_d04_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_d05_M.jpg",
			"images/paintings/stuck_here_again/stuck_here_again_d06_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_01_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_d02_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_d03_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_d04_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_d05_M.jpg",
			"images/paintings/temptation_smack_painting/temptation_smack_painting_d06_M.jpg",
			"images/paintings/transformation_01_M.jpg",
			"images/paintings/transformation_d02_M.jpg",
			"images/paintings/transformation_d03_M.jpg",
			"images/paintings/transformation_d04_M.jpg",
			"images/paintings/transformation_d05_M.jpg"
		);
		imageHandeling.preloadImages(urls); 
	},

	preloadImages: function(urls) {
		var img = new Array();
		for (var i=0; i < urls.length; i++) {
			img[img.length] = new Image();
			img[img.length - 1].src = urls[i];
		}
	},

	addEvent: function( elm, evType, fn, useCapture ) {
		if(elm.addEventListener){
			elm.addEventListener( evType, fn, useCapture );
			return true;
		} else if( elm.attachEvent) {
			var r = elm.attachEvent( 'on' + evType, fn );
			EventCache.add( elm, evType, fn );
			return r;
		} else {
			elm[ 'on' + evType ] = fn;
		}
	}

}

/* standard functions */
function createXMLHttpRequest( ) {
      try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
      try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
      try { return new XMLHttpRequest( ); } catch(e) {}
      alert("XMLHttpRequest not supported");
      return null;
}

function $(id) {
	if( document.getElementById && document.getElementById(id) ){
		return document.getElementById(id);
	} else {
		alert( 'id not found: ' + id );
	}
}
/* end standard functions */

imageHandeling.addEvent( window, 'load', imageHandeling.imageList, false );
