﻿$(document).ready(function(){preloadImages('preload.css');});
function preloadImages(css){	
	var allImgs = [];//all the image urls  
	var k = 0; //image iterator
	var sheets = document.styleSheets;//array of stylesheets
	for(var i = 0; i<sheets .length; i++){
		var cssPile = '';//all css rules in sheet
		var csshref = (sheets[i].href) ? sheets[i].href : 'window.location.href';
		var baseURLarr = csshref.split('/');//split href at / to make array
		baseURLarr.pop();//remove file path from baseURL array
		var baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
		if(baseURL!="") baseURL+='/'; //tack on a / if needed
		var cssfn = sheets[i].href.substr(baseURL.length,sheets[i].href.length-baseURL.length);
		baseURL = baseURL.substr(0,baseURL.length-5);
		if(cssfn==css){
			if(document.styleSheets[i].cssRules){//w3
				var thisSheetRules = document.styleSheets[i].cssRules; //w3
				for(var j = 0; j<thisSheetRules.length; j++){
					cssPile+= thisSheetRules[j].cssText;
				}
			}
			else {
				cssPile+= document.styleSheets[i].cssText;
			}
			//parse cssPile for image urls and load them into the DOM
			var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename"
			if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){//loop array
				var arr = jQuery.makeArray(imgUrls);//create array from regex obj        
				jQuery(arr).each(function(){					
					allImgs[k] = new Image(); //new img obj
					allImgs[k].src = baseURL + this.substr(1,this.length-1);     //set src either absolute or rel to css dir
					k++;
				});
			}
		}
	}//loop
	return allImgs;
}