// 台灣身份證字號格式檢查程式
$(document).ready(function(){
  	jQuery.validator.addMethod("chkToday",function(value, element) 
	{
		var date = new Date((value).replace(/\-/g , "/"));
		var now = new Date();
		var diff_days = Math.round((date - now)/(1000*60*60*24));
		return ((diff_days<0)|| isNaN(date.valueOf()))?false:true;
	},"請輸入正確的完成日期");
	
	jQuery.validator.addMethod("period", function(value, element)
	{
		var IssueDate = Date.parse(($(":text.period").eq(0).val()).replace(/\-/g , "/")).valueOf();
		var ExpireDate = Date.parse(($(":text.period").eq(1).val()).replace(/\-/g , "/")).valueOf();
		if(isNaN(ExpireDate) || isNaN(IssueDate)) return false;

		if(ExpireDate=='' || IssueDate=='') return false;
		return (ExpireDate - IssueDate < 0)?false:true;
	},"請輸入正確的時間間隔");
	
	jQuery.validator.addMethod("sid", function(value, element)
	{
		 var a = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'W', 'Z', 'I', 'O');
		 var b = new Array(1, 9, 8, 7, 6, 5, 4, 3, 2, 1);
		 var c = new Array(2);
		 var d;
		 var e;
		 var f;
		 var g = 0;
		 var h = /^[a-z](1|2)\d{8}$/i;
		 if (value.search(h) == -1) return false;
		 else
		 {
			d = value.charAt(0).toUpperCase();
			f = value.charAt(9);
		 }
		 for (var i = 0; i < 26; i++)
		 {
			if (d == a[i])//a==a
			{
				e = i + 10; //10
				c[0] = Math.floor(e / 10); //1
				c[1] = e - (c[0] * 10); //10-(1*10)
				break;
			}
		 }
		 for (var i = 0; i < b.length; i++)
		 {
			 if (i < 2)
				g += c[i] * b[i];
			 else
				g += parseInt(value.charAt(i - 1)) * b[i];
		 }
		 if ((g % 10) == f)
			return true;
		 if ((10 - (g % 10)) != f)
			return false;
		 return true;
	}, "請輸入有效的身份證字號!");	 

/*
 * Translated default messages for the jQuery validation plugin.
 * Language: CN
 * Author: Fayland Lam <fayland at gmail dot com>
 */	
	jQuery.extend(jQuery.validator.messages, {
		required: "必填欄位",
		remote: "請修正該欄位",
		email: "請輸入正確格式的電子郵件",
		url: "請輸入合法的網址",
		date: "請輸入合法的日期",
		dateISO: "請輸入合法的日期 (ISO).",
		number: "請輸入數字",
		digits: "只能輸入整數",
		creditcard: "請輸入合法的信用卡號",
		equalTo: "請再次輸入相同的值",
		accept: "請輸入擁有合法尾碼名的字串",
		maxlength: jQuery.format("請輸入一個長度最多是 {0} 的字串"),
		minlength: jQuery.format("請輸入一個長度最少是 {0} 的字串"),
		rangelength: jQuery.format("請輸入一個長度介於 {0} 和 {1} 之間的字串"),
		range: jQuery.format("請輸入一個介於 {0} 和 {1} 之間的值"),
		max: jQuery.format("請輸入一個最大為 {0} 的值"),
		min: jQuery.format("請輸入一個最小為 {0} 的值"),
		sid: jQuery.format("請輸入有效的身份證字號")
	});	
});





