/* * jQuery 9-Grid Scaling Plugin 0.9.3 * * Copyright (c) 2008 Gordon L. Hempton ( http://hempton.com ) * Licensed under the MIT license */ (function($){var supportsBorderImage=false;var borderImageStyle;if($.browser.safari){supportsBorderImage=true;borderImageStyle='-webkit-border-image';}else if($.browser.mozilla&&$.browser.version.substr(0,3)=="1.9"&&parseFloat($.browser.version.substr(3))>1.0){supportsBorderImage=true;borderImageStyle='-moz-border-image';} $.fn.extend({scale9Grid:function(settings){var gridTop=settings.top||0;var gridBottom=settings.bottom||0;var gridLeft=settings.left||0;var gridRight=settings.right||0;return $(this).each(function(){var $target=$(this);if($target.data('layoutGrid')){$target.remove9Grid();} var backgroundImage=$target.css('background-image');var match=/url\("?([^\(\)"]+)"?\)/i.exec(backgroundImage);if(!match||match.length<2){return;} var backgroundUrl=match[1];if($.browser.msie&&$.browser.version<7&&$target.css('float')!='none'&&$target.css('position')=='static'){$target.css('position','relative');} $target.wrapInner('
');var $wrapper=$target.find('.s9gwrapper');$wrapper.css({'padding-left':$target.css('padding-left'),'padding-right':$target.css('padding-right'),'padding-top':$target.css('padding-top'),'padding-bottom':$target.css('padding-bottom'),'text-align':$target.css('text-align'),'position':'relative','z-index':'2','display':'block','background-color':'transparent','background-image':'none'});$target.css({'background-color':'transparent','background-image':'none','border-color':'transparent','padding':'0','text-align':'left'});var backgroundElement=document.createElement('div');$target.prepend(backgroundElement);var $background=$(backgroundElement);$background.css({'position':'relative','width':'0px','height':'0px','z-index':'0','display':'block'});$background.addClass('s9gbackground');if(supportsBorderImage){var cssProperties={'border-width':gridTop+'px '+gridRight+'px '+gridBottom+'px '+gridLeft+'px ','position':'absolute'} cssProperties[borderImageStyle]=backgroundImage+' '+gridTop+' '+gridRight+' '+gridBottom+' '+gridLeft+' stretch stretch';$background.css(cssProperties);} var imageWidth;var imageHeight;var lastWidth=0;var lastHeight=0;var cells=new Array();var layoutGrid=function(){var width=$target.innerWidth();var height=$target.innerHeight();if(width=height){verticalPosition="bottom";cellHeight=height-y;} else{verticalPosition="center";cellHeight=Math.min(imageHeight-gridTop-gridBottom,height-y-gridBottom);} for(var x=0;x=width){horizontalPosition="right";cellWidth=width-x;} else{horizontalPosition="center";cellWidth=Math.min(imageWidth-gridLeft-gridRight,width-x-gridRight);} $cell.css({'left':x+'px','top':y+'px','width':cellWidth+'px','height':cellHeight+'px','background-position':verticalPosition+' '+horizontalPosition});x+=cellWidth;} y+=cellHeight;} for(var i=cellIndex;i