jQuery.fn.extend({everyTime:function(b,c,d,e,a){return this.each(function(){jQuery.timer.add(this,b,c,d,e,a)})},oneTime:function(a,b,c){return this.each(function(){jQuery.timer.add(this,a,b,c,1)})},stopTime:function(a,b){return this.each(function(){jQuery.timer.remove(this,a,b)})}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{ms:1,cs:10,ds:100,s:1000,das:10000,hs:100000,ks:1000000},timeParse:function(c){if(c==undefined||c==null){return null}var a=this.regex.exec(jQuery.trim(c.toString()));if(a[2]){var b=parseInt(a[1],10);var d=this.powers[a[2]]||1;return b*d}else{return c}},add:function(e,c,d,g,h,b){var a=0;if(jQuery.isFunction(d)){if(!h){h=g}g=d;d=c}c=jQuery.timer.timeParse(c);if(typeof c!="number"||isNaN(c)||c<=0){return}if(h&&h.constructor!=Number){b=!!h;h=0}h=h||0;b=b||false;if(!e.$timers){e.$timers={}}if(!e.$timers[d]){e.$timers[d]={}}g.$timerID=g.$timerID||this.guid++;var f=function(){if(b&&this.inProgress){return}this.inProgress=true;if((++a>h&&h!==0)||g.call(e,a)===false){jQuery.timer.remove(e,d,g)}this.inProgress=false};f.$timerID=g.$timerID;if(!e.$timers[d][g.$timerID]){e.$timers[d][g.$timerID]=window.setInterval(f,c)}if(!this.global[d]){this.global[d]=[]}this.global[d].push(e)},remove:function(c,b,d){var e=c.$timers,a;if(e){if(!b){for(b in e){this.remove(c,b,d)}}else{if(e[b]){if(d){if(d.$timerID){window.clearInterval(e[b][d.$timerID]);delete e[b][d.$timerID]}}else{for(var d in e[b]){window.clearInterval(e[b][d]);delete e[b][d]}}for(a in e[b]){break}if(!a){a=null;delete e[b]}}}for(a in e){break}if(!a){c.$timers=null}}}}});if(jQuery.browser.msie){jQuery(window).one("unload",function(){var d=jQuery.timer.global;for(var a in d){var c=d[a],b=c.length;while(--b){jQuery.timer.remove(c[b],a)}}})};
/**
 * jQuery-Plugin "preloadCssImages"
 * by Scott Jehl, scott@filamentgroup.com
 * http://www.filamentgroup.com
 * reference article: http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/
 * demo page: http://www.filamentgroup.com/examples/preloadImages/index_v2.php
 * 
 * Copyright (c) 2008 Filament Group, Inc
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Version: 5.0, 10.31.2008
 */
jQuery.preloadCssImages=function(c){c=jQuery.extend({statusTextEl:null,statusBarEl:null,errorDelay:999,simultaneousCacheLoading:2},c);var a=[],f=0,d=[],g,e;function i(){clearTimeout(e);if(d&&d.length&&d[f]){f++;if(c.statusTextEl){var j=(d[f])?"Now Loading: <span>"+d[f].split("/")[d[f].split("/").length-1]:"Loading complete";jQuery(c.statusTextEl).html('<span class="numLoaded">'+f+'</span> of <span class="numTotal">'+d.length+'</span> loaded (<span class="percentLoaded">'+(f/d.length*100).toFixed(0)+'%</span>) <span class="currentImg">'+j+"</span></span>")}if(c.statusBarEl){var k=jQuery(c.statusBarEl).width();jQuery(c.statusBarEl).css("background-position",-(k-(k*f/d.length).toFixed(0))+"px 50%")}h()}}function h(){if(d&&d.length&&d[f]){var j=new Image();j.src=d[f];if(!j.complete){jQuery(j).bind("error load onreadystatechange",i)}else{i()}e=setTimeout(i,c.errorDelay)}}function b(n,y){var v=false,r=[],p=[],z;var o=n.length;while(o--){var x="";if(y&&y[o]){z=y[o]}else{var B=(n[o].href)?n[o].href:"window.location.href";var A=B.split("/");A.pop();z=A.join("/");if(z){z+="/"}}if(n[o].cssRules||n[o].rules){g=(n[o].cssRules)?n[o].cssRules:n[o].rules;var s=g.length;while(s--){if(g[s].style&&g[s].style.cssText){var q=g[s].style.cssText;if(q.toLowerCase().indexOf("url")!=-1){x+=q}}else{if(g[s].styleSheet){r.push(g[s].styleSheet);v=true}}}}var C=x.match(/[^\("]+\.(gif|jpg|jpeg|png)/g);if(C){var u=C.length;while(u--){var k=(C[u].charAt(0)=="/"||C[u].match("://"))?C[u]:z+C[u];if(jQuery.inArray(k,d)==-1){d.push(k)}}}if(!v&&n[o].imports&&n[o].imports.length){for(var l=0,j=n[o].imports.length;l<j;l++){var w=n[o].imports[l].href;w=w.split("/");w.pop();w=w.join("/");if(w){w+="/"}var m=(w.charAt(0)=="/"||w.match("://"))?w:z+w;p.push(m);r.push(n[o].imports[l])}}}if(r.length){b(r,p);return false}var t=c.simultaneousCacheLoading;while(t--){setTimeout(h,t)}}b(document.styleSheets);return d};