/*-------------------------------------------------------------------------------------------------------------------
 Script Name: functions.js
 Author: Tony Wei (魏志國)  tonywei123_at_gmail.com
 Description: JavaScript 共用函式庫
 Revision History:
   1.0: original version 2009/1/7
-------------------------------------------------------------------------------------------------------------------*/

// 預先檢查驗證碼
function check_code( msg )
{
	var url = "home.php?fn=eng/check_code&rand=" + Math.random() + "&code=" + document.getElementById( "code" ).value;
	var objTag = ccioo_ajax_getXmlData( url ).getElementsByTagName("item");
	var sReturn = objTag[0].firstChild.nodeValue;
	if ( parseInt( sReturn ) > 0 ) {
		alert( msg );
		return false;
	}
	return true;
}

// 中文版 -- 聯絡我們
function check_contact_chi( fm )
{
	if ( ! check_required( 'Name', '姓名' )     ) return false;
	if ( ! check_required( 'E-mail', 'E-mail' )     ) return false;
	if ( ! check_email( 'E-mail' ) ) return false;
	if ( ! check_required( 'Tel', '電話' )     ) return false;
	if ( ! check_required( 'Question', '留言' )     ) return false;
	if ( ! check_required( 'code', '驗證碼' )     ) return false;
	if ( ! check_code( "請輸入正確的驗證碼" ) ) return false;
	return true;
}

// 英文版 -- 聯絡我們
function check_contact_eng( fm )
{
	if ( ! check_required2( 'Name', 'Name' )     ) return false;
	if ( ! check_required2( 'E-mail', 'E-mail' )     ) return false;
	if ( ! check_email2( 'E-mail' ) ) return false;
	if ( ! check_required2( 'Question', 'your question' )     ) return false;
	if ( ! check_required2( 'code', 'Confirm Code' )     ) return false;
	if ( ! check_code( "Please input the correct code" ) ) return false;
	return true;
}

// 搜尋
function check_search()
{
	if ( location.href.indexOf( "eng/" ) > 0 ) {
		if ( ! check_required2( 'q', 'the keyword' ) ) { void(0); return; }
	} else {
		if ( ! check_required( 'q', '關鍵字' ) ) { void(0); return; }
	}
	document.search.submit();
}

// 電子報訂閱
function check_subscribe( func )
{
	if ( location.href.indexOf( "eng/" ) > 0 ) {
		if ( ! check_required2( 'epaper_mail', 'E-mail' )   ) { void(0); return; }
		if ( ! check_email2( 'epaper_mail' ) ) { void(0); return; }
		location.href = "home.php?fn=eng/subscribe&func=" + func + "&epaper_mail=" + document.getElementById( "epaper_mail" ).value;
	} else {
		if ( ! check_required( 'epaper_mail', 'E-mail' )   ) { void(0); return; }
		if ( ! check_email( 'epaper_mail' ) ) { void(0); return; }
		location.href = "home.php?fn=chi/subscribe&func=" + func + "&epaper_mail=" + document.getElementById( "epaper_mail" ).value;
	}
	return;
}

// 更換圖片
function set_pic( newPic, w, h )
{
	document.getElementById( "pic1" ).src = newPic;
	document.getElementById( "pic1" ).width = w;
	document.getElementById( "pic1" ).height = h;
}


/*-------------------------------------------------------------------------------------------------------------------
 Function: bookmark()
 Description: 加入我的最愛
 Input: 網址，網站名稱
 Output: true or false
 Example: 
	bookmark( 'http://www.hinet.net/', 'Hinet' );
Revision History:
   1.0: original version 2008/4/17
-------------------------------------------------------------------------------------------------------------------*/
function bookmark( address, sitename ) {
	if ( window.sidebar ) {
		window.sidebar.addPanel( sitename, address,"" );
	} else if( document.all ) {
		window.external.AddFavorite( address, sitename );
	} else if( window.opera && window.print ) {
		return true;
	}
}

/*-------------------------------------------------------------------------------------------------------------------
 Function: check_required()
 Description: 檢查表單欄位是否有填寫
 Input: 物件ID, 訊息
 Output: 是否驗證通過 true or false
 Example: 
	check_required( "username", "姓名" );
Revision History:
   1.0: original version 2007/1/5
-------------------------------------------------------------------------------------------------------------------*/
function check_required( objID, sMessage )
{
	var objField = document.getElementById( objID );
	if ( objField.value.replace( /\s/g, "" ).length == 0 ) {
		alert( "請填寫" + sMessage + "!" );
		objField.focus();
		return false;
	}
	return true;
}
function check_required2( objID, sMessage )
{
	var objField = document.getElementById( objID );
	if ( objField.value.replace( /\s/g, "" ).length == 0 ) {
		alert( "Please Input " + sMessage + "!" );
		objField.focus();
		return false;
	}
	return true;
}

 /*-------------------------------------------------------------------------------------------------------------------
 Function: check_numeric()
 Description: 檢查表單欄位是否是數字
 Input: 物件ID, 訊息
 Output: 是否驗證通過 true or false
 Example: 
	check_numeric( "amount", "數量" );
Revision History:
   1.0: original version 2007/1/8
-------------------------------------------------------------------------------------------------------------------*/
function check_numeric( objID, sMessage )
{
	var objField = document.getElementById( objID );
	if ( isNaN( parseInt( objField.value ) ) || parseInt( objField.value ) != objField.value ) {
		alert( sMessage + "必須是數字!" );
		objField.select();
		objField.focus();
		return false;
	}
	return true;
}

 /*-------------------------------------------------------------------------------------------------------------------
 Function: check_numeric2()
 Description: 檢查表單欄位是否是數字
 Input: 物件ID, 訊息
 Output: 是否驗證通過 true or false
 Example: 
	check_numeric2( 'mobile', '手機或聯絡電話' );
Revision History:
   1.0: original version 2007/1/8
-------------------------------------------------------------------------------------------------------------------*/
function check_numeric2( objID, sMessage )
{
	var objField = document.getElementById( objID );
	var filter= /^([0-9\-\(\)#]+)$/i;
	if ( ! filter.test( objField.value ) ) {
		alert( sMessage + "必須是數字!" );
		objField.select();
		objField.focus();
		return false;
	}
	return true;
}

 /*-------------------------------------------------------------------------------------------------------------------
 Function: check_email()
 Description: 檢查表單欄位是否是合法 Email 帳號
 Input: 物件ID, 訊息
 Output: 是否驗證通過 true or false
 Example: 
	check_email( "email" );
Revision History:
   1.0: original version 2007/1/8
-------------------------------------------------------------------------------------------------------------------*/
function check_email( objID, sMessage )
{
	var objField = document.getElementById( objID );
	var filter= /^([\w-]+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if ( ! filter.test( objField.value ) ) {
		alert( "請填寫正確的Email信箱!" );
		objField.select();
		objField.focus();
		return false;
	}
	return true;
}
function check_email2( objID, sMessage )
{
	var objField = document.getElementById( objID );
	var filter= /^([\w-]+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if ( ! filter.test( objField.value ) ) {
		alert( "Please input the correct E-mail." );
		objField.select();
		objField.focus();
		return false;
	}
	return true;
}

/*-------------------------------------------------------------------------------------------------------------------
 Function: jump_get()
 Description: 換頁, 使用 GET
 Input: 新頁碼
 Output: N/A
 Example: 
	jump_get(2);
Revision History:
   1.0: original version 2007/1/10
   2.0: fn 參數版 2007/6/23 2008/5/30
-------------------------------------------------------------------------------------------------------------------*/
function jump_get( p ) {
	var qs = new Querystring();
	var tail = "";
	var fn = "";
	if ( qs.get("fn") != null ) {
		fn += "fn=" + qs.get("fn");
	}
	if ( qs.get("keyword") != null ) {
		tail += "&keyword=" + qs.get("keyword");
	}
	if ( qs.get("level") != null ) {
		tail += "&level=" + qs.get("level");
	}
	if ( qs.get("lv0") != null ) {
		tail += "&lv0=" + qs.get("lv0");
	}
	if ( qs.get("lv1") != null ) {
		tail += "&lv1=" + qs.get("lv1");
	}
	if ( qs.get("lv2") != null ) {
		tail += "&lv2=" + qs.get("lv2");
	}
	if ( qs.get("cno") != null ) {
		tail += "&cno=" + qs.get("cno");
	}
	if ( qs.get("no") != null ) {
		tail += "&no=" + qs.get("no");
	}
	if ( qs.get("y") != null ) {
		tail += "&y=" + qs.get("y");
	}
	if ( qs.get("m") != null ) {
		tail += "&m=" + qs.get("m");
	}
	if ( qs.get("oid") != null ) {
		tail += "&oid=" + qs.get("oid");
	}
	if ( qs.get("k") != null ) {
		tail += "&k=" + qs.get("k");
	}
	location.href = "home.php?" + fn + "&p=" + p + tail + "#anchor";
}

