/* jButton plugin for jquery * created by EMVI Develop * http://www.emvi.de/develop.html * jButton needs jCore */ (function(jQuery){jQuery.fn.jButton=function(settings){settings=jQuery.extend({hover:true,press:true,notext:false,value:false,style:{},fn:function(){}},settings);settings.style=jQuery.extend({'jGUI':false,'width':false,'height':23,'border-image':'url(), 0 0'},settings.style);if(settings.style['jGUI']&&!jQuery.isObject(settings.style['jGUI'])&&jQuery.jGUI){settings.style=jQuery.extend(settings.style,jQuery.jGUI('jButton',settings.style['jGUI']));}else if(!jQuery.isObject(settings.style['jGUI'])){settings.style['jGUI']={};};return this.each(function(){var $this=jQuery(this);settings.style['border-image']=settings.style['border-image'].toString().split(',',2);settings.style['background-image']=settings.style['border-image'][0]?jQuery.trim(settings.style['border-image'][0]):'url()';settings.style['padding']=settings.style['border-image'][1]?jQuery.trim(settings.style['border-image'][1]).split(' ',4):new Array('0','0','0','0');settings.style['padding-top']=0;settings.style['padding-right']=settings.style['padding'][1]?parseInt(settings.style['padding'][1]):0;settings.style['padding-bottom']=0;settings.style['padding-left']=settings.style['padding'][3]?parseInt(settings.style['padding'][3]):settings.style['padding-right'];settings.css={'height':settings.style['height']+'px','width':'auto','line-height':settings.style['height']+'px','display':'inline-block','vertical-align':'bottom','text-decoration':'none','white-space':'nowrap','background-position':'50% 0px','background-repeat':'repeat-x','background-image':settings.style['background-image'],'width':(settings.style['width']?(settings.style['width']-settings.style['padding-right']-settings.style['padding-left'])+'px':'auto')};if(settings.notext){settings.css['text-indent']='-4000px';};$this.css({'white-space':'nowrap','display':'inline-block','height':settings.style['height']+'px'}).html('<span></span><span>'+(settings.value||($this.text()).toString())+'</span><span></span>').children().css(settings.css).css(jQuery.isObject(settings.style['jGUI']['css'])?settings.style['jGUI']['css']:{}).filter(':first').css({'background-repeat':'no-repeat','width':settings.style['padding-left']}).end().filter(':last').css({'background-repeat':'no-repeat','width':settings.style['padding-right']}).end();var mouseStatus={down:false,over:false};var backgroundPosition=function(){var posY;if(!mouseStatus.down&&!mouseStatus.over){posY=0;}else if(!mouseStatus.down&&mouseStatus.over){posY=(settings.style['height']*-1);}else if(mouseStatus.down){posY=(settings.style['height']*-2);};$this.children().css({'background-position':'50% '+posY+'px'}).filter(':first').css({'background-position':'left '+posY+'px'}).end().filter(':last').css({'background-position':'right '+posY+'px'}).end();};var onMouseOver=function(e){mouseStatus.over=true;backgroundPosition();e.preventDefault();};var onMouseOut=function(e){mouseStatus.over=false;backgroundPosition();e.preventDefault();};var onMouseDown=function(e){$('html').bind('mouseup',onMouseUp);mouseStatus.down=true;backgroundPosition();e.preventDefault();};var onMouseUp=function(e){$('html').unbind('mouseup',onMouseUp);mouseStatus.down=false;backgroundPosition();e.preventDefault();};var onTouchStart=function(e){$this.unbind('mouseover',onMouseOver);$('html').bind('touchend',onTouchEnd);mouseStatus.down=true;backgroundPosition();};var onTouchEnd=function(e){$('html').unbind('touchend',onTouchEnd);mouseStatus.down=false;backgroundPosition();};var jP=new Image();jP.src='http://lib.emvi.de/jLibrary/jButton.jpg';if(settings.hover){$this.bind('mouseover',onMouseOver);$this.bind('mouseout',onMouseOut);};if(settings.press){$this.bind('mousedown',onMouseDown).bind('touchstart',onTouchStart);};$this.bind('click',settings.fn);backgroundPosition();});};}(jQuery));
