/*===========================================================================
	Library (Global)
	
	This JavaScript executes dynamic behaviors such as:
	* Patching missing JavaScript features for certain browser versions.
	* Defines commonly used functions and variables.
===========================================================================*/

/* Fix Array Object for IE 5.0
===========================================================================*/

/*
	Based on code from sIFR
	http://www.mikeindustries.com/sifr/
*/

if (Array.prototype.push == null) {
	Array.prototype.push = function() {
		var i = 0, index = this.length, limit = arguments.length;
		
		while (i < limit) {
			this[index++] = arguments[i++];
		};
		
		return this.length;
	};
};

/* Add Inner Container
===========================================================================*/

function add_inner_container(contentElement, containerElement) {
	contentElement = YAHOO.util.Dom.get(contentElement);
	
	while (contentElement.firstChild) {
		containerElement.appendChild(contentElement.firstChild);
	}
	
	contentElement.appendChild(containerElement);
	
	return containerElement;
}

/* Preload Images function
===========================================================================*/

function preload_images(urls) {
	if (document.images) {
		if (urls.length && typeof urls != "string") {
			var preloads = [];
			
			for (var i = 0, iLength = urls.length; i < iLength; i++) {
				preloads.push(preload_images(urls[i])); // recursive, allows arrays of arrays
			}
			
			return preloads;
		} else {
			var preload = new Image();
			preload.onload = function() { YAHOO.log("Loaded " + urls, "info", "preloader"); };
			preload.src = urls;
			return preload;
		}		
	} else {
		return false;
	}
}
