		var preloadCssImages = { 
            imgUrls: [], 
            divPreImages: null, 
             
            Load: function() { 
                this.parseCSS(document.styleSheets); 
            }, 
             
            InitPreImageDiv: function() { 
                this.divPreImages = document.createElement("div"); 
                this.divPreImages.style.display = "none"; 
                this.divPreImages.style.visibility = "hidden"; 
                document.body.appendChild(this.divPreImages); 
            }, 
             
            inArray: function( elem, array ) { 
                for ( var i = 0, length = array.length; i < length; i++ ) 
                    if ( array[ i ] === elem ) 
                        return i; 
                return -1; 
            }, 
             
            parseCSS: function(sheets) { 
                var w3cImport =-1; 
            }, 
             
            parseCSS: function(sheets) { 
                var w3cImport = false, 
                    imported = [], 
                    importedSrc = [], 
                    baseURL; 
                var sheetIndex = sheets.length; 
                while(sheetIndex--){//loop through each stylesheet 
                    var cssPile = '';//create large string of all css rules in sheet 
                    var csshref = (sheets[sheetIndex].href) ? sheets[sheetIndex].href : 'window.location.href'; 
                    var baseURLarr = csshref.split('/');//split href at / to make array 
                    baseURLarr.pop();//remove file path from baseURL array 
                    baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir) 
                    if (baseURL) { 
                        baseURL += '/'; //tack on a / if needed 
                    } 
                    if(sheets[sheetIndex].cssRules || sheets[sheetIndex].rules){ 
                        thisSheetRules = (sheets[sheetIndex].cssRules) ? //->>> http://www.quirksmode.org/dom/w3c_css.html 
                            sheets[sheetIndex].cssRules : //w3 
                            sheets[sheetIndex].rules; //ie 
                        var ruleIndex = thisSheetRules.length; 
                        while(ruleIndex--){ 
                            if(thisSheetRules[ruleIndex].style && thisSheetRules[ruleIndex].style.cssText){ 
                                var text = thisSheetRules[ruleIndex].style.cssText; 
                                if(thisSheetRules[ruleIndex].selectorText.indexOf('hover') != -1) { //only add hover class.... 
                                    if(text.toLowerCase().indexOf('url') != -1){ // only add rules to the string if you can assume, to find an image, speed improvement 
                                        cssPile += text; // thisSheetRules[ruleIndex].style.cssText instead of thisSheetRules[ruleIndex].cssText is a huge speed improvement 
                                    } 
                                } 
                            } else if(thisSheetRules[ruleIndex].styleSheet) { 
                                imported.push(thisSheetRules[ruleIndex].styleSheet); 
                                w3cImport = true; 
                            } 
                             
                        } 
                    } 
                    //parse cssPile for image urls 
                    var tmpImage = cssPile.match(/[^\("]+\.(gif|jpg|jpeg|png)/g); 
                    //reg ex to get a string of between a "(" and a ".filename" / '"' for opera-bugfix 
                    if(tmpImage){ 
                        var i = tmpImage.length; 
                        while(i--){ // handle baseUrl here for multiple stylesheets in different folders bug 
                            var imgSrc = (tmpImage[i].charAt(0) == '/' || tmpImage[i].match('://')) ? // protocol-bug fixed 
                                tmpImage[i] : 
                                baseURL + tmpImage[i]; 
                             
                            if(this.inArray(imgSrc, this.imgUrls) == -1){ 
                                this.imgUrls.push(imgSrc); 
                            } 
                        } 
                    } 
                    if(!w3cImport && sheets[sheetIndex].imports && sheets[sheetIndex].imports.length) { 
                        for(var iImport = 0, importLen = sheets[sheetIndex].imports.length; iImport < importLen; iImport++){ 
                            var iHref = sheets[sheetIndex].imports[iImport].href; 
                            iHref = iHref.split('/'); 
                            iHref.pop(); 
                            iHref = iHref.join('/'); 
                            if (iHref) { 
                                iHref += '/'; //tack on a / if needed 
                            } 
                            var iSrc = (iHref.charAt(0) == '/' || iHref.match('://')) ? // protocol-bug fixed 
                                iHref : 
                                baseURL + iHref; 
                             
                            importedSrc.push(iSrc); 
                            imported.push(sheets[sheetIndex].imports[iImport]); 
                        } 
                    } 
                }//loop 
                if(imported.length){ 
                    parseCSS(imported, importedSrc); 
                    return false; 
                } 
                if( this.imgUrls && this.imgUrls.length > 0 ) { 
                    this.InitPreImageDiv(); 
                    this.loadImgs(); 
                } 
            }, 
             
            loadImgs: function(){ 
                if(this.imgUrls && this.imgUrls.length){ 
                    for ( var i = 0, length = this.imgUrls.length; i < length; i++ ) 
                    { 
                        var img = new Image(); //new img obj 
                        img.src = this.imgUrls[i];    //set src either absolute or rel to css dir 
                        this.divPreImages.appendChild(img); 
                    } 
                }     
            } 
        };
