-
Notifications
You must be signed in to change notification settings - Fork 0
/
rgrid.min.js
1 lines (1 loc) · 2.9 KB
/
rgrid.min.js
1
;(function(j,k){var l=j.document;var m=[];var o={'1024':{columns:6,columnUnit:'px',width:1000,gutter:20,offset:20,align:'center',baseline:20}};var p={horizontal:{position:'absolute',left:'0',height:'1px',width:'100%',backgroundColor:'#00aaee'},vertical:{position:'absolute',top:'0',width:'1px',backgroundColor:'#00aaee'}};var q={};var r=[];var s;var t={build:function(){for(var a in q){if(q.hasOwnProperty(a)){var b;b=l.createElement("div");b.id='grid_'+a;b.style.display='none';b.style=x.merge(b.style,{position:'absolute',width:'100%',height:'1px',top:'0',left:'0',overflow:'visible'});l.body.appendChild(b);v.verticalContainer(b);v.horizontalContainer(b);m[a]=l.getElementById('grid_'+a)}}u.eval()},change:function(a){for(var b in q){if(q.hasOwnProperty(b)){x.getContainer(b).style.display='none'}}x.getContainer(a).style.display='block';s=a}};var u={eval:function(){var a=l.body.scrollWidth;var b=l.body.scrollHeight;var c;for(var i=r.length-1;i>=0;i--){if(a>=r[i]){c=r[i];break}}if(c!==null&&c!==s){t.change(c)}}};var v={verticalContainer:function(a){var b=x.getResolution(a.id);var c=l.body.scrollWidth;var d=q[b].width;var e=(d-(q[b].offset*2)-((q[b].columns-1)*q[b].gutter))/q[b].columns;var f;switch(q[b].align){case'center':f={position:'relative',margin:'0 auto',width:d+'px',height:'1px',top:'0',left:'0',overflow:'visible'};break;case'left':f={position:'absolute',margin:'0',width:d+'px',height:'1px',top:'0',left:'0',overflow:'visible'};break;case'right':f={position:'absolute',margin:'0',width:d+'px',height:'1px',top:'0',right:'0',overflow:'visible'};break}var g;g=l.createElement("div");g.className='vlines_container';g.style=x.merge(g.style,f);a.appendChild(g);v.vertical(0,g);v.vertical(d,g);v.vertical(q[b].offset,g);v.vertical(d-q[b].offset,g);for(var n=1,columns=q[b].columns;n<columns;n++){var h=(n*e)+((n-1)*q[b].gutter)+q[b].offset;var i=h+q[b].gutter;v.vertical(h,g);v.vertical(i,g)}},horizontalContainer:function(a){var b=x.getResolution(a.id);var c=parseInt(q[b].baseline,10);var d=l.body.scrollHeight;var e;e=l.createElement("div");e.className='hlines_container';a.appendChild(e);for(var n=c;n<d;n+=c){v.horizontal(n,e)}},vertical:function(a,b){var c;c=l.createElement("div");c.className='vline';c.style.height=l.body.scrollHeight+'px';c.style=x.merge(c.style,p.vertical);c.style.left=a+'px';b.appendChild(c)},horizontal:function(a,b){var c;c=l.createElement("div");c.className='hline';c.style=x.merge(c.style,p.horizontal);c.style.top=a+'px';b.appendChild(c)}};var w={init:function(){w.resize()},resize:function(){j.onresize=function(a){u.eval()}}};var x={merge:function(a,b){for(var c in b){if(b.hasOwnProperty(c)){a[c]=b[c]}}return a},getResolution:function(a){var b=/([A-Za-z0-9]+)(_)([\d]+)/;var c=b.exec(a);return c[3]},getContainer:function(a){return m[a]}};RGrid=(function(){var c=function(a){q=x.merge(o,a||{});for(var b in q){if(q.hasOwnProperty(b)){r.push(parseInt(b,10))}}r.reverse();t.build();w.init()};return c})()})(window);