validate check for social insurance number.

social insurance number: only 9 digits (1-9), only number, should be input in three boxes, 3 digit in each boxes( if possible use auto tab)

add the odd digits : means 1th,3dr,5th,7th, 9th digits together = odd digits sum value

Extract the even digits: mean 2nd, 4th, 6th, 8th digits-- and multiply by *2, add all the even digits together only if it is less than 10

if the 2nd, 4th, 6th, 8th digits is greater than 10 then , add like this ( for eg the 4th digit is 18 then add= 1+8)

Then,

odd digits sum value + the even digit sum value = multiple of ten (%10)



<!DOCTYPE >

<html>

<head>
<title></title>
</head>
<body>
<script type="text/javascript">
function Validation(sin)
{
var num = sin.match(/^(\d{3})-?\d{3}-?\d{3}$/);

var numDashes = sin.split('-').length - 1;
if (num == null || numDashes == 1) {
alert('Invalid S.I.N. Must be 9 digits or in the form NNN-NNN-NNN.');
msg = "does not appear to be valid";
}
else
if (parseInt(num[1], 10) == 0) {
alert("Invalid SIN: SIN's can't start with 000.");
msg = "does not appear to be valid";
}
else {
msg = "appears to be valid";
alert(sin + "\r\n\r\n" + msg + " Social Insurance Number.");
}

if (!num.test(sin)) return false;
sin = sin.split("-").join("");
var checksum=0;
for (var n = (2 - (sin.length % 2)); n <= sin.length; n += 2) {
checksum += parseInt(sin.chartAt(n - 1));
for (var n = (sin.length % 2) + 1; n < sin.length; n += 2)
var digit = parseInt(sin.charAt(n - 1)) * 2
if (digit < 10) {
checksum += digit;
}
else {
checksum += (digit - 9);
}
}
if ((checksum % 10) == 0) return true; else return false;
}

</script>
<form>
<tt>
SIN #: <input type="text" name="sin" size="11" maxlength="11"/> (use dashes!)
</tt>
<br/><br/>
<input type="button" value="Validate Number" onclick="Validation(this.form.sin.value)"/>
</form>
</body>

</html>

Code is Not Working!!!!

Can u Sent me a Solution for this!!!!!!!