/**
 * hashgrid (jQuery version)
 * http://github.com/dotjay/hashgrid
 * Version 6, 10 Jun 2011
 * Written by Jon Gibbins at Analog, http://analog.coop/
 *
 * Contibutors:
 * Sean Coates, http://seancoates.com/
 * Phil Dokas, http://jetless.org/
 * Andrew Jaswa, http://andrewjaswa.com/
 */
if(typeof jQuery=="undefined"){alert("Hashgrid: jQuery not loaded. Make sure it's linked to your pages.")}var hashgrid=function(q){var e={id:"grid",modifierKey:null,showGridKey:"g",holdGridKey:"h",foregroundKey:"f",jumpGridsKey:"j",numberOfGrids:1,classPrefix:"grid-",cookiePrefix:"hashgrid"},n=1,g,z,x,m,c,u,A,C,p,B=false,t,G="B",k=-1,w=9999,j,a,f,D=false,r;if(typeof q=="object"){for(a in q){e[a]=q[a]}}else{if(typeof q=="string"){e.id=q}}if($("#"+e.id).length>0){$("#"+e.id).remove()}p=$("<div></div>");p.attr("id",e.id).css({display:"none","pointer-events":"none"});$("body").prepend(p);A=$("#"+e.id);if(A.css("z-index")=="auto"){A.css("z-index",k)}j=parseFloat($(document).height());A.height(j);A.append('<div id="'+e.id+'-horiz" class="horiz first-line">');r=A.css("top");A.css({top:"-999px",display:"block"});m=$("#"+e.id+"-horiz");c=m.outerHeight();A.css({display:"none",top:r});if(c<=0){return false}u=Math.floor(j/c);g="";for(x=u-1;x>=1;x--){g+='<div class="horiz"></div>'}A.append(g);A.append($('<div class="vert-container"></div>'));t=A.children(".vert-container");z=A.width();t.css({width:z,position:"absolute",top:0});t.append('<div class="vert first-line">&nbsp;</div>');g="";for(x=0;x<30;x++){g+='<div class="vert">&nbsp;</div>'}t.append(g);t.children().height(j).css({display:"inline-block"});C=b(e.cookiePrefix+e.id);if(typeof C=="string"){f=C.split(",");f[2]=Number(f[2]);if((typeof f[2]=="number")&&!isNaN(f[2])){n=f[2].toFixed(0);A.addClass(e.classPrefix+n)}if(f[1]=="F"){G="F";A.css("z-index",w)}if(f[0]=="1"){B=true;D=true;y()}}else{A.addClass(e.classPrefix+n)}$(document).bind("keydown",h);$(document).bind("keyup",d);function E(H){if(e.modifierKey==null){return true}var i=true;switch(e.modifierKey){case"ctrl":i=(H.ctrlKey?H.ctrlKey:false);break;case"alt":i=(H.altKey?H.altKey:false);break;case"shift":i=(H.shiftKey?H.shiftKey:false);break}return i}function o(H){var i=false,I=(H.keyCode?H.keyCode:H.which);if(I==13){i="enter"}else{i=String.fromCharCode(I).toLowerCase()}return i}function l(){s(e.cookiePrefix+e.id,(D?"1":"0")+","+G+","+n,1)}function y(){A.show();t.css({width:A.width()});t.children(".vert").each(function(){$(this).css("display","inline-block");if($(this).offset().top>0){$(this).hide()}})}function h(J){var H,i,I=J.target.tagName.toLowerCase();if((I=="input")||(I=="textarea")||(I=="select")){return true}i=E(J);if(!i){return true}H=o(J);if(!H){return true}switch(H){case e.showGridKey:if(!B){y();B=true}else{if(D){A.hide();B=false;D=false;l()}}break;case e.holdGridKey:if(B&&!D){D=true;l()}break;case e.foregroundKey:if(B){if(A.css("z-index")==w){A.css("z-index",k);G="B"}else{A.css("z-index",w);G="F"}l()}break;case e.jumpGridsKey:if(B&&(e.numberOfGrids>1)){A.removeClass(e.classPrefix+n);n++;if(n>e.numberOfGrids){n=1}A.addClass(e.classPrefix+n);y();if(/webkit/.test(navigator.userAgent.toLowerCase())){v()}l()}break}return true}function d(I){var H,i=E(I);if(!i){return true}H=o(I);if(H&&(H==e.showGridKey)&&!D){A.hide();B=false}return true}function s(I,J,K){var H,i="";if(K){H=new Date();H.setTime(H.getTime()+(K*24*60*60*1000));i="; expires="+H.toGMTString()}document.cookie=I+"="+J+i+"; path=/"}function b(J){var M,I=document.cookie.split(";"),K=0,H=I.length,L=J+"=";for(;K<H;K++){M=I[K];while(M.charAt(0)==" "){M=M.substring(1,M.length)}if(M.indexOf(L)==0){return M.substring(L.length,M.length)}}return null}function F(i){s(i,"",-1)}function v(){var i=document.styleSheets[0];try{i.addRule(".xxxxxx","position: relative");i.removeRule(i.rules.length-1)}catch(H){}}return{}};$(document).ready(function(){var a=new hashgrid({numberOfGrids:5})});
