﻿// JavaScript Document
var Loadinggif = "<img src=\"images/FormCheck_image/loading.gif\" align=\"absmiddle\">"
var sucgif = "<img src=\"images/FormCheck_image/check_right.gif\" align=\"absmiddle\">"
var errorgif = "<img src=\"images/FormCheck_image/check_error.gif\" align=\"absmiddle\">"	

//驗證輸入值(無正則只驗證字串長度)---------------------開始------------------------------------------------------------------------
function Check_IDValueLen(obj, str_len, str_len_msg, checkrule, checkrule_error_msg) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
//}else if(!(eval(checkrule+".test(InValue)"))){
//OutputMsg(obj_Tip, obj, 'N', checkrule_error_msg);	
}else{
OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
}
}
//驗證輸入值---------------------結束------------------------------------------------------------------------

//驗證輸入值---------------------開始------------------------------------------------------------------------
function Check_IDValue(obj, str_len, str_len_msg, checkrule, checkrule_error_msg) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', checkrule_error_msg);	
}else{
OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
}
}
//驗證輸入值---------------------結束------------------------------------------------------------------------



//驗證輸入值(Mail信箱)---------------------開始------------------------------------------------------------------------
function Check_Mail(obj, str_len, str_len_msg, checkrule, Mailkeyword) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")

if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '輸入的Mail信箱格式錯誤!');	
}else{
OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
}
}
//驗證輸入值(Mail信箱)---------------------結束---------------------------------------------------------------------------

//驗證輸入值(與某欄位值是否相同)---------------------開始------------------------------------------------------------------------
function Check_RIDValue(obj, str_len, str_len_msg, checkrule, Checkobj) {
var InValue = document.getElementById(obj).value;
var InCheckValue = document.getElementById(Checkobj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '非法字元!請輸入英數字!');	
}else if(!(InValue==InCheckValue)){
OutputMsg(obj_Tip, obj, 'N', '密碼與確認密碼不同!');	
}else{
OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
}
}
//驗證輸入值---------------------結束------------------------------------------------------------------------

//驗證輸入值(與某欄位值的大小)---------------------開始------------------------------------------------------------------------
function Check_ValueToBe(obj, str_len, str_len_msg, checkrule, Checkobj) {
var InValue = document.getElementById(obj).value;
var InCheckValue = document.getElementById(Checkobj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '非法字元!請輸入英數字!');	
}else if(!((InValue*1)>=(InCheckValue*1))){
OutputMsg(obj_Tip, obj, 'N', '起始金額或結束金額大小錯誤!');	
}else{
OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
}
}
//驗證輸入值---------------------結束------------------------------------------------------------------------

//AJAx驗證輸入值---------------------開始------------------------------------------------------------------------
function AjaxCheck_ID(obj, str_len, str_len_msg, checkrule, ajaxurl) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '非法字元!請輸入英數字!');	
}else{
//OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
	usracc = escape(InValue);
	var strData = "MIDS=" + usracc;
	var xmlDom = jb();
	OutputMsg(obj_Tip, obj, 'L', '系統連線中請稍候!');
	xmlDom.open("POST",ajaxurl,false);
	xmlDom.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
	xmlDom.send(strData);
    var AjaxValue = xmlDom.responseText
	switch (AjaxValue){
			case "0" :
				OutputMsg(obj_Tip, obj, 'N', '此帳號已被申請,請重新填寫帳號!');
				break;
			case "1" :
				OutputMsg(obj_Tip, obj, 'Y', '此帳號可以申請!');
				break;
			case "2" :
				OutputMsg(obj_Tip, obj, 'N', '帳號格式錯誤!請仔細檢查!');
				break;
			default:
				OutputMsg(obj_Tip, obj, 'N', '系統發生不明錯誤!請稍候再試!');
				break;
		}
}
}
//AJAx驗證輸入值---------------------結束---------------------------------------------------------------------------


//AJAx驗證輸入值(Mail信箱)---------------------開始------------------------------------------------------------------------
function AjaxCheck_Mail(obj, str_len, str_len_msg, checkrule, Mailkeyword, ajaxurl) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")

if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '輸入的Mail信箱格式錯誤!');	
}else{
//OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
	usracc = escape(InValue);
	var strData = "MIDS=" + usracc;
	var xmlDom = jb();
	OutputMsg(obj_Tip, obj, 'L', '系統連線中請稍候!');
	xmlDom.open("POST",ajaxurl,false);
	xmlDom.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
	xmlDom.send(strData);
    var AjaxValue = xmlDom.responseText
	switch (AjaxValue){
			case "0" :
				OutputMsg(obj_Tip, obj, 'N', '此Mail信箱已被申請,請重新填寫帳號!');
				break;
			case "1" :
				OutputMsg(obj_Tip, obj, 'Y', '此Mail信箱可以申請!');
				break;
			default:
				OutputMsg(obj_Tip, obj, 'N', '系統發生不明錯誤!請稍候再試!');
				break;
		}
}
}
//AJAx驗證輸入值(Mail信箱)---------------------結束---------------------------------------------------------------------------

//AJAx驗證輸入值(身分證號碼)---------------------開始------------------------------------------------------------------------
function AjaxCheck_PID(obj, str_len, str_len_msg, checkrule, ajaxurl) {
var InValue = document.getElementById(obj).value;
var obj_Tip = document.getElementById(obj+'_Tip');
var unlen = InValue.replace(/[^\x00-\xff]/g, "**").length;

str_lens = str_len.split("||")
str_len_msgs = str_len_msg.split("||")
if(unlen < str_lens[0] || unlen > str_lens[1]) {
OutputMsg(obj_Tip, obj, 'N', unlen < str_lens[0] ? str_len_msgs[0] : str_len_msgs[1]);
return;
}else if(!(eval(checkrule+".test(InValue)"))){
OutputMsg(obj_Tip, obj, 'N', '非法字元!請輸入英數字!');
}else if(!(check_TWID(InValue))){
OutputMsg(obj_Tip, obj, 'N', '身分證號碼不合規則!');	
}else{
//OutputMsg(obj_Tip, obj, 'Y', str_len_msgs[2]);
	usracc = escape(InValue);
	var strData = "MIDS=" + usracc;
	var xmlDom = jb();
	OutputMsg(obj_Tip, obj, 'L', '系統連線中請稍候!');
	xmlDom.open("POST",ajaxurl,false);
	xmlDom.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
	xmlDom.send(strData);
    var AjaxValue = xmlDom.responseText
	switch (AjaxValue){
			case "0" :
				OutputMsg(obj_Tip, obj, 'N', '此身分證號碼已被申請,請重新填寫帳號!');
				break;
			case "1" :
				OutputMsg(obj_Tip, obj, 'Y', '此身分證號碼可以申請!');
				break;
			default:
				OutputMsg(obj_Tip, obj, 'N', '系統發生不明錯誤!請稍候再試!');
				break;
		}
}
}
//AJAx驗證輸入值---------------------結束------------------------------------------------------------------------

function jb() 
{ 
  var A=null; 
  try 
  { 
    A=new ActiveXObject("Msxml2.XMLHTTP") 
  } catch(e) 
  { 
    try 
    { 
      A=new ActiveXObject("Microsoft.XMLHTTP") 
    } catch(oc) 
    { 
      A=null 
     } 
   } 

  if ( !A && typeof XMLHttpRequest != "undefined" ) 
  { 
    A=new XMLHttpRequest() 
  } 
  return A 
}

//身分證號碼檢查函式----------開始---------------------------------------------------
function check_TWID(idStr){
// 依照字母的編號排列，存入陣列備用。
var letters = 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 multiply = new Array(1, 9, 8, 7, 6, 5, 4, 3, 2, 1);
var nums = new Array(2);
var firstChar;
var firstNum;
var lastNum;
var total = 0;
// 撰寫「正規表達式」。第一個字為英文字母，
// 第二個字為1或2，後面跟著8個數字，不分大小寫。
var regExpID=/^[a-z](1|2)\d{8}$/i;
// 使用「正規表達式」檢驗格式
if (idStr.search(regExpID)==-1) {
// 基本格式錯誤
//alert("請仔細填寫身份證號碼-1");
return false;
} else {
// 取出第一個字元和最後一個數字。
firstChar = idStr.charAt(0).toUpperCase();
lastNum = idStr.charAt(9);
}
// 找出第一個字母對應的數字，並轉換成兩位數數字。
for (var i=0; i<26; i++) {
if (firstChar == letters[i]) {
firstNum = i + 10;
nums[0] = Math.floor(firstNum / 10);
nums[1] = firstNum - (nums[0] * 10);
break;
}
}
// 執行加總計算
for(var i=0; i<multiply.length; i++){
if (i<2) {
total += nums[i] * multiply[i];
} else {
total += parseInt(idStr.charAt(i-1)) *
multiply[i];
}
}
total_temp = (10 - (total%10));
if (total_temp>9){
total_ok = total_temp-10;
}else{
total_ok = total_temp;
}
// 和最後一個數字比對
if (total_ok!= lastNum) {
//alert("身份證號碼寫錯了！["+(total%10)+"]["+lastNum+"]");
return false;
}
return true;
}
//身分證號碼檢查函式----------結束---------------------------------------------------


//輸出訊息函式-------------------開始-----------------------------------------------------
function OutputMsg(obj_Tip, obj, MsgMode, msg) {
obj_Tip.style.display = '';
switch (MsgMode){
	case "N" :
		MsgGif = errorgif
		document.getElementById(obj).value='';
		Tip_className = "warning"
		output_value = "false"
	break;
	case "Y" :
		MsgGif = sucgif
		Tip_className = "success"
		output_value = "true"
	break;
	case "L" :
		MsgGif = Loadinggif
		Tip_className = "success"
		output_value = "false"
	break;
}
	
	
obj_Tip.innerHTML = msg + '<input name=\"'+obj+'_CK\" type=\"hidden\" id=\"'+obj+'_CK\" value=\"'+ output_value +'\">';
obj_Tip.className = Tip_className;
}
//輸出訊息函式-------------------結束-----------------------------------------------------


//檢查送出資料(無確認訊息)
function CheckDataJS_V2(ItemID, ItemMsg, OK, Checkdate, FormName){
  	with (eval("document."+FormName+"")){
		var vers,pos,pos1,pos2,msg;
		vers = navigator.appVersion;
		if (navigator.appName == "Microsoft Internet Explorer") {
			 pos = vers.split(";");
			 pos1 = pos[1].substring(1,5)
			 pos2 = pos[1].substring(6,7)
			 if(pos1.toLowerCase() == "msie" && eval(pos2) <  5){
				alert("請將 IE 瀏覽器更新至 5.0 以上的版本 !!");
				window.close();
				return false;
			}
		}
		ItemIDs = ItemID.split("||")
		ItemMsgs = ItemMsg.split("||")
		for (var i = 0; i < ItemIDs.length;i++) {
		if (eval(ItemIDs[i]+".value==''") || eval(ItemIDs[i]+".value=='false'")){
		   alert("系統警訊!!：\n\n\" "+ItemMsgs[i]+" \" 有問題或空白!!");
		   return false;
		 }
		}
		if(Checkdate=='Y'){
       //日期判別
       var OKT1 = new Array();
       OKT1[0] = "Item_SDay";
       OKT1[1] = "Item_EDay";
       var OST1 = new Array();
       OST1[0] = "起始時間";
       OST1[1] = "截止時間";
	   var StartDays;
	   var EndDays;
	   StartDays =Item_SDay.value;
	   EndDays = Item_EDay.value;
	
	   if ((Date.parse(StartDays)).valueOf() > (Date.parse(EndDays)).valueOf()){
          alert('系統警訊：\n\n您的結束日期不能小於刊登日期!!');
          eval(OKT1[1]+".focus();");
		   return false;
       }
	   }


	}
	//top.thickboxDoneM();
	//if (confirm("系統警訊：\n\n您現在正準備〔"+OK+"〕哦!\n\n如果您要繼續〔"+OK+"〕，請按下〔\"確定\"〕系統將會為您進行〔"+OK+"〕，或者，\n\n按下〔\"取消\"〕以中止〔"+OK+"〕!"))
    return true;
  //else{
	//return false;
  //}
}