<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hacking at 0300 &#187; Judaism</title>
	<atom:link href="http://bililite.nfshost.com/blog/category/judaism/feed/" rel="self" type="application/rss+xml" />
	<link>http://bililite.nfshost.com/blog</link>
	<description>Thoughts on web design and programming from a very occasional volunteer webmaster</description>
	<lastBuildDate>Fri, 03 Feb 2012 10:05:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Minor update to flexcal</title>
		<link>http://bililite.nfshost.com/blog/2011/11/27/minor-update-to-flexcal/</link>
		<comments>http://bililite.nfshost.com/blog/2011/11/27/minor-update-to-flexcal/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 00:22:59 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=2097</guid>
		<description><![CDATA[Updated flexcal to 1.2.1; nothing major, just changed the Hebrew numbers to use the technically correct Unicode code points HEBREW PUNCTUATION GERESH (&#38;#x05F3; &#x05F3;) and HEBREW PUNCTUATION GERSHAYIM (&#38;#x05F4; &#x05F4;) rather than single and double quotes. Also similarly updated the Hebrew keyboard.]]></description>
			<content:encoded><![CDATA[<p>Updated <a href="/blog/2009/04/03/new-jquery-widget-flexcal/" title="New jQuery Widget: flexcal"><code>flexcal</code></a> to 1.2.1; nothing major, just changed the Hebrew numbers to use the <a href="http://en.wikipedia.org/wiki/Unicode_and_HTML_for_the_Hebrew_alphabet">technically correct Unicode code points</a> HEBREW PUNCTUATION GERESH (&amp;#x05F3; <strong>&#x05F3;</strong>) and HEBREW PUNCTUATION GERSHAYIM (&amp;#x05F4; <strong>&#x05F4;</strong>) rather than single and double quotes. Also similarly updated the <a href="/blog/2009/01/02/new-ui-widgets-textpopup-and-hebrewkeyboard/" title="New UI widgets: textpopup and hebrewKeyboard">Hebrew keyboard</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2011/11/27/minor-update-to-flexcal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creative Commons Ketubah and Tenaim Texts</title>
		<link>http://bililite.nfshost.com/blog/2011/11/08/creative-commons-ketubah-and-tenaim-texts/</link>
		<comments>http://bililite.nfshost.com/blog/2011/11/08/creative-commons-ketubah-and-tenaim-texts/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 19:23:46 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=2089</guid>
		<description><![CDATA[This doesn't belong in a programming blog, but I wanted this out there on the web. I recently had a need for the Hebrew text of the traditional marriage documents, the ketubah and tenaim, and was very surprised that they are nowhere to be found, at least with my Google-fu. So I transcribed them and [...]]]></description>
			<content:encoded><![CDATA[<p>This doesn't belong in a programming blog, but I wanted this out there on the web.</p>
<p>I recently had a need for the Hebrew text of the traditional marriage documents, the <a href="http://en.wikipedia.org/wiki/Ketubah">ketubah</a> and <a href="http://www.torah.org/learning/lifecycles/marriage/tenaim-english.html">tenaim</a>, and was very surprised that they are nowhere to be found, at least with my Google-fu. So I transcribed them and offer them with a liberal license to the world. The ketubah text is from Goldin's 1939 <a href="http://www.amazon.com/Hamadrikh-religious-rituals-ceremonials-customs/dp/B0007FD0HS?tag=bililitecom-20">Hamadrikh</a> and the tenaim text is that of haRav Feinstein (<a href="http://www.judaicaunlimited.com/images/4bc5050658632.JPG">example</a>).</p>
<p><a rel="license" href="http://creativecommons.org/licenses/by/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a><br />These <span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text" rel="dct:type">documents</span> are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported License</a>.</p>
<p><a href='/blog/wp-content/uploads/2011/11/tenaim.odt'>tenaim (ODT)</a></p>
<p><a href='/blog/wp-content/uploads/2011/11/tenaim.pdf'>tenaim (PDF)</a></p>
<p><a href='/blog/wp-content/uploads/2011/11/ketubah.odt'>ketubah (ODT)</a></p>
<p><a href='/blog/wp-content/uploads/2011/11/ketubah.pdf'>ketubah (PDF)</a></p>]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2011/11/08/creative-commons-ketubah-and-tenaim-texts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated flexcal</title>
		<link>http://bililite.nfshost.com/blog/2011/08/07/updated-flexcal/</link>
		<comments>http://bililite.nfshost.com/blog/2011/08/07/updated-flexcal/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 23:05:52 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=1854</guid>
		<description><![CDATA[For those following this, I corrected some typos (???? spelled wrong; numbers should not use the ????? form) in the Hebrew calendar. flexcal now stands at version 1.2]]></description>
			<content:encoded><![CDATA[For those following this, I corrected some typos (???? spelled wrong; numbers should not use the ????? form) in the Hebrew calendar. <a href="/inc/jquery.flexcal.js"><code>flexcal</code></a> now stands at version 1.2]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2011/08/07/updated-flexcal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved hebrewkeyboard</title>
		<link>http://bililite.nfshost.com/blog/2011/01/31/improved-hebrewkeyboard/</link>
		<comments>http://bililite.nfshost.com/blog/2011/01/31/improved-hebrewkeyboard/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 17:07:38 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=1400</guid>
		<description><![CDATA[Now that sendkeys is fixed to work with contenteditable and I've analyzed Lebedev's VirtualKeyboard to allow typing on the physical keyboard, updating the hebrewKeyboard plugin was straightforward. I had to learn a fair amount about the difference between keyup, keydown, and keypress events, but I think everything works. Check it out!]]></description>
			<content:encoded><![CDATA[<script src="/inc/bililiteRange.js" type="text/javascript"></script>
<script src="/inc/jquery.sendkeys.js" type="text/javascript"></script>
<script src="/inc/jquery.ui.subclass.js" type="text/javascript"></script>
<script src="/inc/jquery.textpopup.js" type="text/javascript"></script>
<p>Now that <a href="/blog/2011/01/23/improved-sendkeys/"><code>sendkeys</code> is fixed</a> to work with <code>contenteditable</code> and I've analyzed Lebedev's <a href="http://allanguages.info/">VirtualKeyboard</a> to allow typing on the physical keyboard, updating the <code>hebrewKeyboard</code> plugin was straightforward. I had to learn a fair amount about the difference between keyup, keydown, and keypress events, but I think everything works. <a href="/blog/2009/01/02/new-ui-widgets-textpopup-and-hebrewkeyboard/#hebrewkeyboard">Check it out</a>!</p>]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2011/01/31/improved-hebrewkeyboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Hebrew Keyboard</title>
		<link>http://bililite.nfshost.com/blog/2011/01/03/new-hebrew-keyboard/</link>
		<comments>http://bililite.nfshost.com/blog/2011/01/03/new-hebrew-keyboard/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 17:52:15 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=1402</guid>
		<description><![CDATA[One downside of the virtual keyboard is that it takes over the physical keyboard, so that typing is in the language of the virtual keyboard. This is often an advantage, but I usually want to mix Hebrew and English text. So I modified the program to track the Caps Lock key: if the caps lock [...]]]></description>
			<content:encoded><![CDATA[<p>One downside of the <a href="http://allanguages.info/">virtual keyboard</a> is that it takes over the physical keyboard, so that typing is in the language of the virtual keyboard. This is often an advantage, but I usually want to mix Hebrew and English text. So I modified the program to track the Caps Lock key: if the caps lock key is depressed, then the physical keyboard types in the virtual language; if not (the usual state) the physical keyboard remains at its default. I'm using the new code in the <a href="/blog/blogfiles/HebrewKeyboard.php">Young Israel Hebrew Keyboard</a> (now renamed the Bililite Hebrew Keyboard).</p>
<span id="more-1402"></span>
<p>The big disadvantage is that the Caps Lock key is now disabled as a caps lock key. This is generally a <a href="http://www.thaindian.com/newsportal/entertainment/international-caps-lock-day-pay-an-ode-to-the-most-useless-key-today_100448276.html">good thing</a>, but the <a href="http://en.wikipedia.org/wiki/Hebrew_keyboard#Niqqud">standard Israeli keyboard uses it to insert nikud</a> (the vowel markings that are placed over and under the consonants). So my keyboard can't insert nikud, which is not a problem for my usual uses, and the page is set to change to the original code with <a href="/blog/blogfiles/HebrewKeyboard.php?keyboard=original">the query string <code>?keyboard=original</code></a>.</p>
<p>The code was some minor changes in <code>virtualkeyboard.js</code>:</p>
<iframe src="/blog/blogfiles/diff.html" style="width: 100%; height: 40em"></iframe>
<p>And a new button sprite image to reflect the new use of the Caps Lock key (this is in the css folder, in the desired theme; it's the button_set.png image): <img src="/inc/VirtualKeyboard.mod.3.6.6/css/air_large/button_set.png" alt="Modified Keyboard" />.</p>]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2011/01/03/new-hebrew-keyboard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jewish History from a Unique Perspective</title>
		<link>http://bililite.nfshost.com/blog/2010/02/19/jewish-history-from-a-unique-perspective/</link>
		<comments>http://bililite.nfshost.com/blog/2010/02/19/jewish-history-from-a-unique-perspective/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 18:29:39 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=1159</guid>
		<description><![CDATA[My children's Jewish history teacher, Rabbi Yonason Goldson has been teaching at Block Yeshiva High School for many years and presents Jewish history with a mix of traditional and scholarly sources, always from a Torah-true perspective and always looking at the broad sweep of history and the Jews' role in it. He has now published [...]]]></description>
			<content:encoded><![CDATA[<p>My children's Jewish history teacher, <a href="http://torahideals.com/">Rabbi Yonason Goldson</a> has been teaching at <a href="http://blockyeshiva-stl.org/">Block Yeshiva High School</a> for many years and presents Jewish history with a mix of traditional and scholarly sources, always from a Torah-true perspective and always looking at the broad sweep of history and the Jews' role in it. He has now published his notes (which I have always found fascinating) in book form, as
<a href="http://www.judaicapress.com/product_info.php?products_id=731"><em>Dawn to Destiny: Exploring Jewish History and its Hidden Wisdom</em></a>. I'm looking forward to reading it.</p>
<p>From the publisher's summary:</p>
<blockquote>A comprehensive overview of Jewish History from Creation through the redaction of the Talmud, illuminating the intricacies and complexities of Torah tradition and philosophy according to the sages and classical commentaries, spanning the length and breadth of Jewish experience to resolve many of history’s most perplexing episodes, offering profound insights and showing their relevance to life in the modern world.  An invaluable resource for scholars and laymen.  A priceless tool for education and outreach.</blockquote>
<blockquote>How did the sin of Adam transform mankind and the world?  How were the prophecies of Noah fulfilled through the rise of the Greek Empire?  How did the builders of the Tower of Babel believe they could wage war against G-d?  Why did there have to be three patriarchs?  What was King David's crime regarding his involvement with BasSheva?  Why did some Jews oppose the construction of the Second Temple?  How can we trust the transmission of Torah if our scholars engaged in such fierce disagreements?  These and many other questions are answered in this unique volume.</blockquote>

]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2010/02/19/jewish-history-from-a-unique-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New UI widgets: textpopup and hebrewKeyboard</title>
		<link>http://bililite.nfshost.com/blog/2009/01/02/new-ui-widgets-textpopup-and-hebrewkeyboard/</link>
		<comments>http://bililite.nfshost.com/blog/2009/01/02/new-ui-widgets-textpopup-and-hebrewkeyboard/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 07:08:40 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Judaism]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/?p=170</guid>
		<description><![CDATA[Last modified 2011-10-28; added box option The Hebrew pop-up keyboard on the YI site search box was always hard-coded and kind of obtrusive, so I wanted to make a jQuery plugin to add a keyboard to any input type="text" or textarea. To make it more flexible, I factored it into a general-purpose popup widget and [...]]]></description>
			<content:encoded><![CDATA[<p>Last modified 2011-10-28; added <code>box</code> option<p>
<script src="/inc/bililiteRange.js" type="text/javascript"></script>
<script src="/inc/jquery.sendkeys.js" type="text/javascript"></script>
<script src="/inc/jquery.ui.subclass.js" type="text/javascript"></script>
<script src="/inc/jquery.textpopup.js" type="text/javascript"></script>
<p>The Hebrew pop-up keyboard on the <a href="http://youngisrael-stl.org#q">YI site search box</a> was always hard-coded and kind of obtrusive, so I wanted to make a jQuery plugin to add a keyboard to any <code>input type="text"</code> or <code>textarea</code>. To make it more flexible, I factored it into a general-purpose popup widget and the keyboard itself.</p>

<p><a href="/inc/jquery.textpopup.js">Download the code</a>.</p>
<span id="more-170"></span>
<h4><code>$.ui.textpopup</code></h4>
<p>The <code>$.ui.textpopup</code> widget is meant to be a <a href="/blog/extending-jquery-ui-widgets/">base class</a> for real popup widgets. It requires <a href="http://ui.jquery.com">jQuery UI 1.7</a> and <a href="/inc/jquery.ui.subclass.js">my subclassing code</a>. The subclass needs to override the <code>_fill</code> method to fill the box with the desired controls. For example:</p>
<pre><code class="language-html demo">
&lt;div id="example1"&gt;
	Example 1: &lt;input&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$.ui.textpopup.subclass("ui.helloWorld", {
	_fill: function(box){
		var self = this;
		$('&lt;input type="button" value="Hello, World" /&gt;').appendTo(box).click(function() {
			self.element.val('Hello, World')
		});
	}
});

$('#example1 input').helloWorld();
</code></pre>
<p><code>textpopup</code> has the following options:</p>
<pre><code><dl>
<dt>show {Function}</dt>
<dd>Called to show the popup; <em>this</em> is set to the popup div and 
the <a href="#speed">speed</a> is the argument(s) (this is meant to be a function called like <em>$.fn.show</em>). </dd>
<dt>hide {Function}</dt>
<dd>Called to show the popup; <em>this</em> is set to the popup div and
the <a href="#speed">speed</a> is the argument(s) (this is meant to be a function called like <em>$.fn.hide</em>)</dd>
<dt>box {jQuery object|undefined}</dt>
<dd>Element to contain the popup box. If undefined, a new, absolutely-positioned &lt;div&gt; is created. Set this to create an "inline" popup.</dd>
<dt>shown {Function}</dt>
<dd>Callback (<em>this</em> is set to the input element) called when <em>show</em> is completed
Also available as the custom event <em>textpopupshown</em></dd>
<dt>hidden {Function}</dt>
<dd>Callback (<em>this</em> is set to the input element) called when <em>hide</em> is completed
Also available as the custom event <em>textpopuphidden</em></dd>
<dt>created {Function}</dt>
<dd>Callback (<em>this</em> is set to the input element) called when the popup is created. Signature is
Function(<a href="http://docs.jquery.com/Events/jQuery.Event">Event</a>, box {jQuery object})
Also available as the custom event <em>textpopupcreated</em></dd>
<dt id="speed">speed {String|Number|Array}</dt>
<dd>Parameter to pass to show/hide above. If it is an array, it is passed with <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/function/apply">apply</a>
so you can pass multiple arguments.
 For instance, to use <a href="http://docs.jquery.com/UI/Effects">jQuery UI effects</a>, use <code class="language-javascript">speed: ['slide', {direction: 'right'}, 'slow']</code></dd>
<dt>hideOnOutsideClick {Boolean}</dt>
<dd>true to hide the popup if the mouse is clicked outside the popup or the target element</dd>
<dt>position {'tl'|'lt|'bl'|'lb'|'tr'|'rt'|'br'|'rb'|Object}</dt>
<dd>String that indicates where to position the popup
  relative to the textbox. 'tl' means on top of the input box, aligned to the left edge;
  'lt' means on the left of the input box aligned to the top edge; similarly 'b' for bottom
 and 'r' for right. If an object is passed, it will be passed unchanged to <a href="http://docs.jquery.com/UI/Position#options"><code>position</code></a>, except that if the <code>of</code> option
 is not specified, it will be set to <code class="language-javascript">this.element</code></dd>
<dt>trigger {'self'|null|String|jQuery|DOM element}</dt>
<dd>Element(s) to use as the trigger to show the
  popup. uses the code 
    if (trigger == 'self') trigger = self.element; if (trigger) $(trigger).click(function(){self.show()})</dd>
<dt>class {String}</dt>
<dd>class to be added to the popup box</dd>
</dl></code></pre>
<pre><code class="language-javascript">
$.ui.textpopup.defaults.extend({
	show: $.fn.show,
	hide: $.fn.hide,
	speed: 'slow',
	hideOnOutsideClick: true,
	position: 'tl',
	trigger: 'self',
	'class': 'ui-textpopup-box'
});
</code></pre>
<p>Note that the event names prepend the actual name of the widget, so if you subclass <code>textpopup</code>, use the new name. Thus <code class="language-javascript">$.ui.textpopup.subclass('foo'); $(selector).foo().bind('fooshown', function(){});</code>.</p>

<p>Examples of position:</p>
<pre><code class="language-html demo">
&lt;div id="example2"&gt;
&lt;div&gt;&lt;strong&gt;tl&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;lt&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;br&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;rb&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;lb&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$('#example2 input').each(function(){
  $(this).css({height: '50px'}).helloWorld({position: $(this).prev().text()});
});

$('#example2 div, #example2 span').css({margin:'2px'});
</code></pre>
<pre><code class="language-html demo">
&lt;div id="example3"&gt;
&lt;div&gt;&lt;strong&gt;Slide Right&lt;/strong&gt;&lt;input/&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$('#example3 input').each(function(){
  $(this).css({height: '50px'}).helloWorld({
    speed: ['slide', {direction: 'right'}, 'slow'],
    position: {my: 'bottom', at: 'top'}
  });
});

$('#example3 div, #example3 span').css({margin:'2px'});
</code></pre>
<p>Callable functions include (obviously, use the name of the subclass you created):</p>
<pre><code><dl>
<dt>$(...).textpopup('show') and $(...).helloWorld('hide')</dt>
<dd>show and hide the popup. These return the jQuery object.</dd>
<dt>$(...).textpopup('box')</dt>
<dd>returns the popup div as a single-element jQuery object</dd>
<dt>$(...).textpopup('position')</dt>
<dd>repositions the popup. Use this if the size of the popup changes. Returns the jQuery object.</dd>
</dl></code></pre>
<p>Example of using callable functions and the trigger option:</p>
<pre><code class="language-html demo">
&lt;div id="example4"&gt;
	&lt;label&gt;Example 4 hidden:&lt;/label&gt;&lt;br/&gt;&lt;input id="input4"&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$('&lt;span&gt; Hide &lt;/span&gt;').css({outline: 'black dotted thin'}).insertAfter('#input4').click (function(){
  $('#input4').helloWorld('hide');
});
var triggerElement = $('&lt;span&gt; Show &lt;/span&gt;').css({outline: 'black dotted thin'}).insertAfter('#example4 input');
$('#input4').helloWorld({
  hideOnOutsideClick: false,
  position: {my: 'right', at: 'left'},
  speed: ['fold', {}, 1000],
  trigger: triggerElement,
  shown: function() {$('#example4 label').text('Example 4 visible:')},
  hidden: function() {$('#example4 label').text('Example 4 hidden:')}
});
$('#input4').helloWorld('box').css('border', '2px outset #eee');
</code></pre>

<h4 id="hebrewkeyboard"><code>$.ui.hebrewKeyboard</code></h4>
<p>The <code>$.ui.hebrewKeyboard</code> is just a subclass of <code>$.ui.textpopup</code> that uses AJAX to load a Hebrew keyboard into the popup div and <a href="/blog/2008/08/20/the-fnsendkeys-plugin/"><code>$.fn.sendkeys</code></a> to insert the Hebrew characters.</p>
<p>Inspired by Ilya Lebedev's <a href="/blog/2011/01/03/new-hebrew-keyboard/">VirtualKeyboard</a>, the plugin also catches keystrokes to allow typing directly in Hebrew, using the CapsLock key as a toggle between English and Hebrew keyboards.</p>
<pre><code class="language-html demo">
&lt;div id="example5"&gt;
	Example 5 (Hebrew): &lt;input id="input5"&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$('#input5').hebrewKeyboard();
</code></pre>
<p>It works with <code>contenteditable="true"</code> elements as well:</p>
<pre><code class="language-html demo">
&lt;div id="example6" contenteditable="true" &gt;
	Example 6 (Hebrew): Edit me!
&lt;/div&gt;
</code></pre>
<pre><code class="language-javascript demo">
$('#example6').hebrewKeyboard();
</code></pre>


<p>Download the <a href="http://bililite.com/inc/keyboard.html">html</a> for the keyboard.</p>
<p>The keyboard uses <a href="http://www.alistapart.com/articles/sprites/">CSS sprites</a> and a single image:</p>
<div><img src="http://bililite.com/images/kb.gif" alt="hebrew keyboard"/></div>
<p>to simulate the keypresses (hotlinking is OK for now). IE (of course) can't handle a:hover styling unless there's a real link,
so each key has a pretend <code>href="javascript:insertLetter"</code>, but really uses <code class="language-javascript">$('a').click(function(){sendkeys...return false;})</code></p>]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2009/01/02/new-ui-widgets-textpopup-and-hebrewkeyboard/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Google maps mapping tool</title>
		<link>http://bililite.nfshost.com/blog/2007/05/01/google-maps-mapping-tool/</link>
		<comments>http://bililite.nfshost.com/blog/2007/05/01/google-maps-mapping-tool/#comments</comments>
		<pubDate>Tue, 01 May 2007 08:58:39 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/index.php/2007/05/01/google-maps-mapping-tool/</guid>
		<description><![CDATA[To make the eruv map, someone had to enter all the individual points of the eruv boundary. That someone was Mickey Ariel (thanks!). To make it possible, I wrote a simple web application that contains a Google map and placs a marker at every mouse click. Each marker has a number, and the list of [...]]]></description>
			<content:encoded><![CDATA[To make the eruv map, someone had to enter all the individual points of the eruv boundary. That someone was <a href="http://">Mickey Ariel</a> (thanks!). To make it possible, I wrote a <a href="http://bililite.nfshost.com/blog/blogfiles/eruvmapper.html">simple web application</a> that contains a Google map and placs a marker at every mouse click. Each marker has a number, and the list of each marker's latitude and longitude is inserted at the end of the page. The markers can be dragged to new locations, and the boundary is drawn between the markers. Clicking a marker brings up a small callout window where notes can be added, the marker can be deleted and it can be renumbered (to move a marker between markers 4 and 5, change its number to 4.5. When you hit <code>Update</code>, the list will be renumbered appropriately.
The tool can be used anytime you need the latitude/longitude for any route. Enjoy!]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2007/05/01/google-maps-mapping-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Hebrew keyboard</title>
		<link>http://bililite.nfshost.com/blog/2007/05/01/the-hebrew-keyboard/</link>
		<comments>http://bililite.nfshost.com/blog/2007/05/01/the-hebrew-keyboard/#comments</comments>
		<pubDate>Tue, 01 May 2007 05:58:02 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/index.php/2007/05/01/the-hebrew-keyboard/</guid>
		<description><![CDATA[For those who liked the YI Hebrew keyboard, I wrote a similar keyboard that I use to turn Hebrew into HTML entities (for the website), and, at my kids' request, uses Morfix dictionary and Google Israel to translate or search for Hebrew terms. Enjoy!]]></description>
			<content:encoded><![CDATA[For those who liked the <a href="http://youngisrael-stl.org/hebrewkeyboard.php">YI Hebrew keyboard</a>, I wrote a <a href="http://bililite.nfshost.com/blog/blogfiles/HebrewKeyboard.html">similar keyboard</a> that I use to turn Hebrew into HTML entities (for the website), and, at my kids' request, uses <a href="http://milon.morfix.co.il/">Morfix dictionary</a> and <a href="http://google.co.il/">Google Israel</a> to translate or search for Hebrew terms. Enjoy! ]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2007/05/01/the-hebrew-keyboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What free time?</title>
		<link>http://bililite.nfshost.com/blog/2007/04/17/what-free-time/</link>
		<comments>http://bililite.nfshost.com/blog/2007/04/17/what-free-time/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 16:47:38 +0000</pubDate>
		<dc:creator>Danny</dc:creator>
				<category><![CDATA[Judaism]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://bililite.nfshost.com/blog/index.php/2007/04/17/what-free-time/</guid>
		<description><![CDATA[Well, I had every intention of documenting all the PHP and Javascript tricks I've learning to get the YI site running, but I'm leyning Acharei Mot-Kedoshim in 2 weeks, plus trying to keep up with shnayim mikra/echad targum plus Rashi and Emek Davar (i've given up on the Malbim,which I started but can't go through [...]]]></description>
			<content:encoded><![CDATA[Well, I had every intention of documenting all the PHP and Javascript tricks I've learning to get the <a href="http://youngisrael-stl.org">YI site</a> running, but I'm leyning Acharei Mot-Kedoshim in 2 weeks, plus trying to keep up with shnayim mikra/echad targum plus Rashi and Emek Davar (i've given up on the Malbim,which I started but can't go through all of Sifre each week) in this season of double parshiot is taking all the time I would have had. At least I have my priorities straight!

(If you're reading this because you're interested in programming and it all looks like Hebrew, don't worry. It is.)]]></content:encoded>
			<wfw:commentRss>http://bililite.nfshost.com/blog/2007/04/17/what-free-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

