﻿// -->
//
var tvArr = Array();
tvArr[1] = 'TVBS';
tvArr[2] = '非凡';
tvArr[3] = '三立';
tvArr[4] = '中天';
tvArr[5] = '民視';
//
var paperArr = Array();
paperArr[1] = '蘋果日報';
paperArr[2] = '自由時報';
paperArr[3] = '中國時報';
paperArr[4] = '聯合報';

function setBBCFrom()
{
	var fromval = document.getElementById('BBC').value;
	var fillArr = Array();
	if(fromval=='電視'){
		fillArr = tvArr;
		keyArr = tvArr;
	}else if(fromval=='報紙'){
		fillArr = paperArr;
		keyArr = paperArr;
	}else{
		document.getElementById('BBCFrom').style.display = "none";
		return;
	}
	
	//alert(fillArr);
	for (var q=document.getElementById('BBCFrom').options.length; q>=0 ;q--) document.getElementById('BBCFrom').options[q] = null; 
	var i=0;
	document.getElementById('BBCFrom').options[i++] = new Option('請選擇', '');
	for (var key in fillArr) {
		 if (fillArr[key] == ''|| 'indexOf' == key) continue;
		 document.getElementById('BBCFrom').options[i++] = new Option(fillArr[key], keyArr[key]);			 
	}
	document.getElementById('BBCFrom').style.display = "";
}


function check()
{
var checkmessage = "確定送出? ";
var thisform = document.aspnetForm;
var alertstr


if (thisform.UserUniqueId.value == "none")
{
	
	if (thisform.ctl00_ContentPlaceHolder1_UserData1_ckbAgree.checked == false)
	{
		
	//0.檢查閱讀會員條款
	alertstr = "請勾選同意「會員服務使用條款」，再行註冊!!";
	alert( alertstr );
	thisform.ctl00_ContentPlaceHolder1_UserData1_ckbAgree.focus();
	return false;
	}

	//檢查帳號是否核準
	if($('#UserAcc_help').attr("class") == 'caution_prompt'){
		alertstr = "您的帳號還沒設定成功!";
		alert( alertstr );
		thisform.UserAcc.focus();
		return false;
	}


	//1.檢查會員帳號
	alertstr = check_uid(thisform.UserAcc.value);
	if( alertstr != '' ) {
	alert( alertstr );
	thisform.UserAcc.focus();
	return false;
	}

	//2.檢查密碼
	if(thisform.Password.value.length <= 0) {
	alertstr = "您的密碼還沒填呢 !";
	alert( alertstr );
	thisform.Password.focus();
	return false;
	}

	//3.檢查確認密碼
	if(thisform.CPassword.value.length <= 0) {
	alertstr = "請於「再次確認密碼」中填入您的密碼，以確認密碼無誤 !";
	alert( alertstr );
	thisform.CPassword.focus();
	return false;
	}

	//4.檢查密碼是否一致
	alertstr = check_passwd(thisform.Password.value, thisform.CPassword.value);
	if( alertstr != '' ) {
	alert( alertstr );
	thisform.CPassword.focus();
	return false;
	}
}

//5.檢查聯絡電話號碼是否為數字
if (thisform.TelNum.value.length >0){
alertstr = check_isnumber(thisform.TelNum.value,'您的聯絡電話號碼');
if( alertstr != '' ) {
alert( alertstr );
thisform.TelNum.focus();
return false;
}
}

//6.如果主要聯絡電話的分機碼有輸入，就檢查是否為數字
if (thisform.TelExt.value.length > 0){
alertstr = check_isnumber(thisform.TelExt.value,'您的聯絡電話分機碼');
if( alertstr != '' ) {
alert( alertstr );
thisform.TelExt.focus();
return false;
}
}

//8.檢查主要Email
if (thisform.Email.value.length > 0)
{
alertstr = check_email(thisform.Email.value,'您的E-MAIL');
if( alertstr != '' ) {
alert( alertstr );
thisform.Email.focus();
return false;
}
}

//10.檢查行動電話是否己填
if (thisform.inputMobilePhone.value.length<=0){
	alertstr = "行動電話尚未填寫!!"
}else{
	alertstr = check_isnumber(thisform.inputMobilePhone.value,'您的行動電話號碼'); 
}
if( alertstr != '' ) {
	alert( alertstr );
	thisform.inputMobilePhone.focus();
	return false;
}

if($('#inputMobilePhone_help').attr("class") == 'caution_prompt'){
	alertstr = "您的行動電話還沒設定成功!";
	alert( alertstr );
	thisform.inputMobilePhone.focus();
	return false;
}

//11.检查发票
//if ($("[name='ctl00$ContentPlaceHolder1$UserData1$rblRole']:checked").val() != "" && $("[name='ctl00$ContentPlaceHolder1$UserData1$rblRole']:checked").val() != "undefined" && $("[name='ctl00$ContentPlaceHolder1$UserData1$rblRole']:checked").val() != undefined)
//{
	var temp_bool = SubConfirms();
	if (!temp_bool)
		return  false;
//}

//12.確定送出的訊息
if(confirm(checkmessage))
{
  return true;
}
else
{
  return false;
}  		
return true;
}

function check_uid ( uid )
{
if( uid.length <= 0 )
return( "您的帳號還沒填呢 !\n" );
uid = uid.toLowerCase();
if( uid.length <3 || uid.length> 20 )
return( "您的帳號長度必須介於 3 至 20 個字元 !\n" );
for( idx = 0 ; idx <uid.length ; idx++ )
{
if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) ) )
return( "您的帳號只能是數字、英文字母及底線「_」等符號。其他的符號或文字都不能使用 !\n" );
if( uid.charAt(idx) == '_' && uid.charAt(idx-1) == '_' )
return( "「_」符號不可相連 !\n" );
}
if( uid.charAt( uid.length - 1 ) == '_' )
return( "「_」符號不可在最後 !\n" );
return "";
}

function check_passwd ( pw1, pw2 )
{
if( pw1 == '' ) {
return ("密碼不可以空白 !\n");
}
for( var idx = 0 ; idx <pw1.length ; idx++ )
if( pw1.charAt(idx) == ' ' || pw1.charAt(idx) == '\"' )
return ("密碼不可以含有空白或雙引號 !\n");
if( pw1.length <6 || pw1.length> 20 )
return( "密碼長度必須介於 6 到 20 個字元 !\n" );
if( pw1 != pw2 )
return("密碼二次輸入不一樣,請重新輸入 !\n");
return "";
}

function check_email ( email, str1 )
{
var len = email.length;
var ck =0;
for(var i=0;i<len;i++)
{ var c= email.charAt(i);
if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
return "您的" + str1 + "只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return "您的" + str1 + "不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return "您的" + str1 + "不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return "您的" + str1 + "不完全 !\n";
var idx = email.indexOf("@");
var name = email.substring( 0, idx );
var domain = email.substring( idx+1, email.length).toLowerCase();
email = name + "@" + domain;
return "";
}
function check_isnumber ( number, str1 )
{
var error = false;
for( idx = 0 ; idx <number.length ; idx++ ) {
if( !( ( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) ) ) {
error = true;
break;
}
}
if( error == true )
return str1 + "只能是數字，其他的符號或空格都不能使用 !\n";
return "";
}

//檢測用戶名
function ckName(obj, value, type)
{
  	var waitInfo = "請等候，正在檢測中...";
    var errUsername1 = "帳號長度介於3~40個字元間，限英文、數字及_符號。帳號註冊成功後不能修改。";
	var errUsername2 = "填寫不正確，帳號的長度不能少於4位，請重新填寫。";
	var errUsername3 = "帳號只允許由字母、數字及_符號組成，請重新填寫。";
	var vurl = "/asp/tools/TWAP_tlCheckUserAcc.asp";
	var vdata = "UserAcc=" + value;
	if(0 < obj.value.length){
		changeHelp(obj.id, "checking", waitInfo);
		if (!/^\w+$/.test(obj.value)){
			changeHelp(obj.id, "error", errUsername3);
			return false;
		}else if (! validLength(obj.value, 4, 40)) {
			changeHelp(obj.id, "error", errUsername2);
			return false;
		}
		$.ajax({
			type: "POST",
			data: vdata,
			url: vurl,
			dataType: "text",
			error: function() {alert('error');},
			success: function(response) {
				if (response=="USED")
					{
						changeHelp(obj.id, "error", "該帳號已有人使用，請選擇其他名稱註冊");
					}
				else
					changeHelp(obj.id, "valid", "您可以使用本帳號");
			}
		});
	}else if(0 == obj.value.length){
		changeHelp(obj.id, "normal", errUsername1);
	}
}
//檢測行動電話是否可註冊
function ckMobile(obj, value, type)
{
  	var waitInfo = "請等候，正在檢測中...";
	var vurl = "/asp/tools/TWAP_tlCheckMobileRegist.asp";
	var vdata = "Mobile=" + value;
	var msg;
	//先檢查是否為數字
	alertstr = check_isnumber(obj.value,'您的行動電話號碼'); 
	if (alertstr==''){
		alertstr = checkMobile(obj,'nosubmit');
		if(checkMobile(obj,'nosubmit')){
		//if (alertstr==''){
			if (obj.value.length==10){
				changeHelp(obj.id, "checking", waitInfo);
				$.ajax({
					type: "POST",
					data: vdata,
					url: vurl,
					dataType: "text",
					error: function() {alert('error');},
					success: function(response) {
						if (response=="USED")
							changeHelp(obj.id, "error", "此行動電話己註冊，請更換其他號碼註冊。若有號碼被他人註冊情事，請聯絡客服(02)2705-4868處理");
						else
							changeHelp(obj.id, "valid", "您可以使用此行動電話註冊");
					}
				});
			}else{
			alert(alertstr);
			obj.focus();
			}
		}
	}
}
function controlWidget(obj, opt)
{
  var spanObj = document.getElementById(obj.id + '_help');
	if ("focus" == opt)
	{
		if (spanObj.className == "help_normal")
			changeHelp(obj.id, opt);
	}
	if ("normal" == opt)
	{
		if (spanObj.className == "reminder_prompt")
			changeHelp(obj.id, opt);
	}
}

function changeHelp(objId, style, msg)
{
	var helpId = objId + '_help';
	var helpObj = document.getElementById(helpId);
	if ("focus" == style){
		helpObj.className = 'reminder_prompt';
	}else if("checking" == style){
		helpObj.className = 'checking_prompt';
	}else if("normal" == style){
		helpObj.className = 'help_normal';
	}else if("error" == style){
		helpObj.className = 'caution_prompt';
	}else if("valid" == style){
		helpObj.className = 'success_prompt';
	}
	if (msg != null)   helpObj.innerHTML = msg;	
}

	
function checkMobile(obj,type)
{
	var errMobile1 = "請填寫行動電話。";
	var errMobile2 = "該行動電話不存在。";
	var mobile = obj.value;
	var mobile_help = document.getElementById(obj.id + '_help');
	var retun = true;
	var areacode=['0910','0911','0912','0913','0914','0915','0916','0917','0918','0919','0920','0921','0922','0923','0924','0925','0926','0927','0928','0929','0930','0931','0932','0933','0934','0935','0936','0937','0938','0939','0940','0941','0943','0945','0946','0947','0951','0952','0953','0954','0955','0956','0957','0958','0960','0961','0963','0966','0968','0970','0971','0972','0973','0975','0976','0977','0980','0981','0982','0983','0985','0986','0987','0988','0989'];

	if('submit' == type){//處理表單提交驗證
			if(0 == mobile.length){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile1);
				retun = false;
			}else if(!/[0-9]{10}/.test(mobile)){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}else if(mobile.length<10){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}else if(-1==inArray(mobile.substring(0, 4),areacode)){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}
	}else if('nosubmit' == type){//處理非表單提交驗證
			if(0 == mobile.length){
				changeHelp(obj.id, "normal", "");
				retun = false;
			}else if(!/[0-9]{10}/.test(mobile)){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}else if(mobile.length<10){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";				
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}else if(-1==inArray(mobile.substring(0, 4),areacode)){
				//隱藏行動電話驗證提示
				mobile_help.style.display="none";	
				changeHelp(obj.id, "error", errMobile2);
				retun = false;
			}			
	}
	if('' == mobile){
		retun = false;
	}
	return retun;
}
	//判斷一個元素是否在數組中
	function inArray(elem,array)
	{
		if ( null==elem||null==array) {
			return -1;
		}
		for ( var i = 0, length = array.length; i < length; i++ ) {
			if ( array[ i ] === elem ) {
				return i;
			}
		}
		return -1;
	}	


