
﻿
jQuery.fn.rollover=function(preload){this.filter(':not([src*="_over."])').each(function(){var a=this.src,b=this.src.replace(/\.(\w+(\?[^$]*)?)$/,'_over.$1');$(this).hover(function(){var state=$(this).data('current_state');if(state!=jQuery.ButtonState.disabled)
this.src=b;},function(){var state=$(this).data('current_state');if(state!=jQuery.ButtonState.loading&&state!=jQuery.ButtonState.disabled){this.src=a;}});var loading=$(this).hasClass('loading');var disabled=$(this).hasClass('disabled');if(loading){var loadingSrc=this.src.replace(/\.(\w+(\?[^$]*)?)$/,'_loading.$1');$(this).data(jQuery.ButtonState.loading,loadingSrc);}
if(disabled){var disabledSrc=this.src.replace(/\.(\w+(\?[^$]*)?)$/,'_disabled.$1')
$(this).data(jQuery.ButtonState.disabled,disabledSrc);}
$(this).data(jQuery.ButtonState.resting,a);if(preload){var i=new Image;i.src=b;if(loading){var loadingImg=new Image;loadingImg.src=loadingSrc;}
if(disabled){var disabledImg=new Image;disabledImg.src=disabledSrc;}}});return this;};jQuery.fn.changeButtonState=function(state){if(this[0]&&this[0].src){if($(this).data(state))
this[0].src=$(this).data(state);$(this).data('current_state',state);}
else{$(this).children('img').each(function(){if($(this).data(state))
this.src=$(this).data(state);$(this).data('current_state',state);});}
return this;}
jQuery.extend({ButtonState:{resting:'resting',hover:'hover',loading:'loading',disabled:'disabled'}});$(document).ready(function(){$('.rollover').rollover(true);});