<?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>Dave Russell &#187; Javascript</title>
	<atom:link href="http://daverussell.co.za/wordpress/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://daverussell.co.za/wordpress</link>
	<description>Helping me remember and hopefully helping others at the same time.</description>
	<lastBuildDate>Thu, 14 Apr 2011 07:16:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Converting HTML to PDF using EvoPdf</title>
		<link>http://daverussell.co.za/wordpress/2011/04/14/converting-html-to-pdf-using-evopdf/</link>
		<comments>http://daverussell.co.za/wordpress/2011/04/14/converting-html-to-pdf-using-evopdf/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 07:14:47 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[evopdf]]></category>
		<category><![CDATA[pdf converter]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=212</guid>
		<description><![CDATA[We have been using ABCpdf to generate PDFs on the fly of the page currently being browsed. It has given us years of service, but now with the new version of our site I have had to find an alternative solution as my page body gets styled out of sight and then moved into position [...]]]></description>
			<content:encoded><![CDATA[<p>We have been using ABCpdf to generate PDFs on the fly of the page currently being browsed. It has given us years of service, but now with the new version of our site I have had to find an alternative solution as my page body gets styled out of sight and then moved into position using jquery to change the left:-2000px to left:0px;. ABCpdf ignores javascript so I am getting a lovely half generated page in the PDF output.</p>
<p><img alt="The PDF generater that speaks javascript" src="http://www.evopdf.com/images/logo.jpg" title="EvoPdf" class="alignleft" width="310" height="90" />The only product I have found out there on the interwebs that understands javascript is <a href="http://www.evopdf.com">EvoPdf</a>. I have downloaded the zip file of 52mb done the install &#8211; which by the way could not be easier: add reference to dll, copy another, and then call the following method:</p>
<div class="codesnip-container" >
<div class="csharp codesnip" style="font-family:monospace;"><span class="kw1">using</span> <span class="co3">EvoPdf.HtmlToPdf</span><span class="sy0">;</span></p>
<p><span class="kw1">private</span> <span class="kw1">void</span> ConvertURLToPDF<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> urlToConvert <span class="sy0">=</span> Request<span class="br0">&#91;</span><span class="st0">&quot;url&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; PdfConverter pdfConverter <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> PdfConverter<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">LicenseKey</span> <span class="sy0">=</span> <span class="st0">&quot;xxxxxxx&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">PdfPageSize</span> <span class="sy0">=</span> PdfPageSize.<span class="me1">A4</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">PdfCompressionLevel</span> <span class="sy0">=</span> PdfCompressionLevel.<span class="me1">Normal</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">PdfPageOrientation</span> <span class="sy0">=</span> PdfPageOrientation.<span class="me1">Portrait</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">LiveUrlsEnabled</span> <span class="sy0">=</span> true<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">JavaScriptEnabled</span> <span class="sy0">=</span> true<span class="sy0">;</span> <span class="co1">//the important bit &#8211; waits for javascript</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">ConversionDelay</span> <span class="sy0">=</span> <span class="nu0">10</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">InterruptSlowJavaScript</span> <span class="sy0">=</span> false<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">JpegCompressionEnabled</span> <span class="sy0">=</span> true<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pdfConverter.<span class="me1">PdfDocumentOptions</span>.<span class="me1">FitWidth</span> <span class="sy0">=</span> true<span class="sy0">;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> pdfBytes <span class="sy0">=</span> pdfConverter.<span class="me1">GetPdfBytesFromUrl</span><span class="br0">&#40;</span>urlToConvert<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw5">System.<span class="me1">Web</span></span>.<span class="me1">HttpResponse</span> response <span class="sy0">=</span> <span class="kw5">System.<span class="me1">Web</span></span>.<span class="me1">HttpContext</span>.<span class="me1">Current</span>.<span class="me1">Response</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; response.<span class="me1">Clear</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; response.<span class="me1">AddHeader</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Type&quot;</span>, <span class="st0">&quot;application/pdf&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; response.<span class="me1">AddHeader</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Disposition&quot;</span>, <span class="kw4">String</span>.<span class="me1">Format</span><span class="br0">&#40;</span><span class="st0">&quot;attachment; filename=Output.pdf; size={0}&quot;</span>, pdfBytes.<span class="me1">Length</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; response.<span class="me1">BinaryWrite</span><span class="br0">&#40;</span>pdfBytes<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; response.<span class="me1">End</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>The license is a little hefty, but you can trail the full version to see if it suits your needs before dusting off the credit card &#8211; the only thing is the outputed PDF will have a watermark over it until you get a license.</p>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2011/04/14/converting-html-to-pdf-using-evopdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detect browser window focus</title>
		<link>http://daverussell.co.za/wordpress/2011/04/13/detect-browser-window-focus/</link>
		<comments>http://daverussell.co.za/wordpress/2011/04/13/detect-browser-window-focus/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 11:55:50 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=230</guid>
		<description><![CDATA[The scenario: You have a link that creates a hidden iframe which generates a file download (a pdf of the current page in my example). You have cleverly given the user some visual feedback in the form of an animated &#8216;waiting&#8217; gif and you would like the clever animation to go away once the user [...]]]></description>
			<content:encoded><![CDATA[<p>The scenario: You have a link that creates a hidden iframe which generates a file download (a pdf of the current page in my example). You have cleverly given the user some visual feedback in the form of an animated &#8216;waiting&#8217; gif and you would like the clever animation to go away once the user has saved the file.</p>
<p>Using a javascript setTimeout is just not going to work as you don&#8217;t know how long this will take, so the logical thing is to detect when the browser window gets focus again.</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="kw2">function</span> <span class="kw3">onFocus</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;#icon_pdf&#8217;</span><span class="br0">&#41;</span>.<span class="me1">removeClass</span><span class="br0">&#40;</span><span class="st0">&#8216;icon_pdf_waiting&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="coMULTI">/*@cc_on!@*/</span><span class="kw2">false</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> document.<span class="me1">onfocusin</span> <span class="sy0">=</span> <span class="kw3">onFocus</span><span class="sy0">;</span><span class="coMULTI">/*IE*/</span> <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span> window.<span class="kw3">onfocus</span> <span class="sy0">=</span> <span class="kw3">onFocus</span><span class="sy0">;</span> <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&#8216;#icon_pdf&#8217;</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">addClass</span><span class="br0">&#40;</span><span class="st0">&#8216;icon_pdf_waiting&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&#8216;iframe#pdfFrame&#8217;</span><span class="br0">&#41;</span>.<span class="me1">remove</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span>document.<span class="me1">body</span><span class="br0">&#41;</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">&#8216;&lt;IFRAME height=&quot;1&quot; width=&quot;1&quot; id=&quot;pdfFrame&quot;&gt;&lt;/IFRAME&gt;&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&#8216;iframe#pdfFrame&#8217;</span><span class="br0">&#41;</span>.<span class="me1">attr</span><span class="br0">&#40;</span><span class="st0">&#8216;src&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;/pdf/save.aspx?url=&#8217;</span> <span class="sy0">+</span> location.<span class="me1">href</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
<p>The icon_pdf_waiting class replaces the existing icon with a waiting icon, so removing the class once you finished puts the existing icon back.</p>
<p>I only needed the onfocus event, but you could also make use of the onblur if need be.</p>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2011/04/13/detect-browser-window-focus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting destination page to reload after back button is clicked</title>
		<link>http://daverussell.co.za/wordpress/2011/01/07/getting-destination-page-to-reload-after-back-button-is-clicked/</link>
		<comments>http://daverussell.co.za/wordpress/2011/01/07/getting-destination-page-to-reload-after-back-button-is-clicked/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 09:55:21 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[back button]]></category>
		<category><![CDATA[onload]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=205</guid>
		<description><![CDATA[I found that in certain cases that the back button was causing much mayhem on my site as the code is not reloaded and therefore caused some unwanted behaviour. So here&#8217;s my cross-browser fix that I have devised after much googling. For a change IE was not the challenge, but rather Firefox as the onload [...]]]></description>
			<content:encoded><![CDATA[<p>I found that in certain cases that the back button was causing much mayhem on my site as the code is not reloaded and therefore caused some unwanted behaviour.</p>
<p>So here&#8217;s my cross-browser fix that I have devised after much googling. For a change IE was not the challenge, but rather Firefox as the onload event does not fire when the back button is used. </p>
<p>First, oddly, you need to <a href="http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button">clear the unload event</a></p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a> <span class="kw3">onunload</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span>&gt;</span></div>
</div>
<p>Then add a hidden field to the page to use as a flag:</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;hidden&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;refreshed&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;no&quot;</span> <span class="sy0">/</span>&gt;</span></div>
</div>
<p>Lastly, the magic javascript. If you are using jQuery, don&#8217;t try and modernise the code and stick it in the .ready event &#8211; it won&#8217;t work, I tried.</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> e <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;refreshed&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>e.<span class="me1">value</span> <span class="sy0">==</span> <span class="st0">&quot;no&quot;</span><span class="br0">&#41;</span> e.<span class="me1">value</span> <span class="sy0">=</span> <span class="st0">&quot;yes&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span> e.<span class="me1">value</span> <span class="sy0">=</span> <span class="st0">&quot;no&quot;</span><span class="sy0">;</span> location.<span class="me1">reload</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Good luck, let me know if this helped.</p>
<p>Thanks go to those who <a href="http://www.webdeveloper.com/forum/showthread.php?t=137518">contributed</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2011/01/07/getting-destination-page-to-reload-after-back-button-is-clicked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Javascript to validate South African ID Numbers</title>
		<link>http://daverussell.co.za/wordpress/2010/03/02/using-javascript-to-validate-south-african-id-numbers/</link>
		<comments>http://daverussell.co.za/wordpress/2010/03/02/using-javascript-to-validate-south-african-id-numbers/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:00:21 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[id number]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=171</guid>
		<description><![CDATA[I have just finished a neat little client side ID number validation script that ensures that the ID number passed is: Numeric, is 13 Digits long, has a valid date with the first 6 characters and passes the Luhn algorithm test. function ValidateIDnumber&#40;idnumber&#41; &#123; //1. numeric and 13 digits if &#40;isNaN&#40;idnumber&#41; &#124;&#124; &#40;idnumber.length != 13&#41;&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>I have just finished a neat little client side ID number validation script that ensures that the ID number passed is:</p>
<ul>
<li>Numeric,</li>
<li>is 13 Digits long,</li>
<li>has a valid date with the first 6 characters</li>
<li>and passes the <a title="Luhn Algorithm" href="http://en.wikipedia.org/wiki/Luhn_algorithm" target="_blank">Luhn algorithm</a> test.</li>
</ul>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="kw2">function</span> ValidateIDnumber<span class="br0">&#40;</span>idnumber<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="co1">//1. numeric and 13 digits</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span>isNaN<span class="br0">&#40;</span>idnumber<span class="br0">&#41;</span> <span class="sy0">||</span> <span class="br0">&#40;</span>idnumber.<span class="me1">length</span> <span class="sy0">!=</span> 13<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span> <span class="br0">&#125;</span><br />
<span class="co1">//2. first 6 numbers is a valid date</span><br />
<span class="kw2">var</span> tempDate <span class="sy0">=</span> <span class="kw2">new</span> Date<span class="br0">&#40;</span>idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>0<span class="sy0">,</span> 2<span class="br0">&#41;</span><span class="sy0">,</span> idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>2<span class="sy0">,</span> 4<span class="br0">&#41;</span> <span class="sy0">-</span> 1<span class="sy0">,</span> idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>4<span class="sy0">,</span> 6<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="br0">&#40;</span><span class="br0">&#40;</span>tempDate.<span class="me1">getYear</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">==</span> idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>0<span class="sy0">,</span> 2<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> <span class="br0">&#40;</span>tempDate.<span class="me1">getMonth</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">==</span> idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>2<span class="sy0">,</span> 4<span class="br0">&#41;</span> <span class="sy0">-</span> 1<span class="br0">&#41;</span> <span class="sy0">&amp;</span>amp<span class="sy0">;&amp;</span>amp<span class="sy0">;</span> <span class="br0">&#40;</span>tempDate.<span class="me1">getDate</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">==</span> idnumber.<span class="me1">substring</span><span class="br0">&#40;</span>4<span class="sy0">,</span> 6<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span> <span class="br0">&#125;</span><br />
<span class="co1">//3. luhn formula</span><br />
<span class="kw2">var</span> tempTotal <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="kw2">var</span> checkSum <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="kw2">var</span> multiplier <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span><br />
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw2">var</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&amp;</span>lt<span class="sy0">;</span> <span class="nu0">13</span><span class="sy0">;</span> <span class="sy0">++</span>i<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
tempTotal <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>idnumber.<span class="me1">charAt</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">*</span> multiplier<span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span>tempTotal <span class="sy0">&amp;</span>gt<span class="sy0">;</span> 9<span class="br0">&#41;</span> <span class="br0">&#123;</span> tempTotal <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>tempTotal.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">charAt</span><span class="br0">&#40;</span>0<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">+</span> parseInt<span class="br0">&#40;</span>tempTotal.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">charAt</span><span class="br0">&#40;</span>1<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span><br />
checkSum <span class="sy0">=</span> checkSum <span class="sy0">+</span> tempTotal<span class="sy0">;</span><br />
multiplier <span class="sy0">=</span> <span class="br0">&#40;</span>multiplier <span class="sy0">%</span> 2 <span class="sy0">==</span> 0<span class="br0">&#41;</span> <span class="sy0">?</span> 1 <span class="sy0">:</span> <span class="nu0">2</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>checkSum <span class="sy0">%</span> 10<span class="br0">&#41;</span> <span class="sy0">==</span> 0<span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw1">return</span> <span class="kw2">true</span> <span class="br0">&#125;</span><span class="sy0">;</span><br />
<span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2010/03/02/using-javascript-to-validate-south-african-id-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

