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

var slang = "chi";		// 整體變數：語系

var _head = location.href.substr( location.href.indexOf( "//" ) + 2 );
_head = _head.substr( _head.indexOf( "/" ) + 1 );
if ( _head.indexOf( "/" ) > -1 ) {
	slang = _head.substr( 0, _head.indexOf( "/" ) );
	switch ( slang )
	{
		case "chi":
		case "sim":
		case "eng":
			break;

		default:
			slang = "chi";
			break;
	}
}



// -------------------------------------------------------------------------------------------------------------------------------------------
// 聯絡我們
function check_contact_chi()
{
	if ( ! check_required( '公司名稱', '公司名稱' ) ) return;
	if ( ! check_required( '聯絡人', '聯絡人' ) ) return;
	if ( ! check_required( '行動電話', '行動電話' ) ) return;
	if ( ! check_numeric2( '行動電話', '行動電話' ) ) return;
	if ( ! check_required( 'E-mail信箱', 'E-mail信箱' ) ) return;
	if ( ! check_email( 'E-mail信箱' ) ) return;
	if ( ! check_required( '詢問事項', '詢問事項' ) ) return;
	if ( ! check_required( 'code', '驗證碼' ) ) return;
	if ( ! check_numeric2( 'code', '驗證碼' ) ) return;
	if ( ! check_code() ) return;
	document.form1.submit();
}

function check_contact_sim()
{
	if ( ! check_required( '公司名稱', '公司名称' ) ) return;
	if ( ! check_required( '聯絡人', '联络人' ) ) return;
	if ( ! check_required( '行動電話', '行动电话' ) ) return;
	if ( ! check_numeric2( '行動電話', '行动电话' ) ) return;
	if ( ! check_required( 'E-mail信箱', 'E-mail信箱' ) ) return;
	if ( ! check_email( 'E-mail信箱' ) ) return;
	if ( ! check_required( '詢問事項', '询问事项' ) ) return;
	if ( ! check_required( 'code', '验证码' ) ) return;
	if ( ! check_numeric2( 'code', '验证码' ) ) return;
	if ( ! check_code() ) return;
	document.form1.submit();
}

function check_contact_eng()
{
	if ( ! check_required( '公司名稱', 'Company' ) ) return;
	if ( ! check_required( '聯絡人', 'Contact' ) ) return;
	if ( ! check_required( '行動電話', 'Cell Phone' ) ) return;
	if ( ! check_numeric2( '行動電話', 'Cell Phone' ) ) return;
	if ( ! check_required( 'E-mail信箱', 'E-mail' ) ) return;
	if ( ! check_email( 'E-mail信箱' ) ) return;
	if ( ! check_required( '詢問事項', 'Inquire' ) ) return;
	if ( ! check_required( 'code', 'Security Code' ) ) return;
	if ( ! check_numeric2( 'code', 'Security Code' ) ) return;
	if ( ! check_code() ) return;
	document.form1.submit();
}



// 站內搜尋
function go_search()
{
	if ( document.getElementById( "keyword" ).value == "Start Search" ) {
		document.getElementById( "keyword" ).value = "";
	}
	if ( document.getElementById( "keyword" ).value == "" ) {
		switch ( slang )
		{
			case "chi":	 	alert( "請輸入關鍵字!" );										break;
			case "sim":	alert( "请输入关键词!" );										break;
			case "eng":	alert( "Please enter the keyword!" );				break;
		}
		return;
	}
	location.href = "/" + slang + "/search/?k=" + encodeURI( document.getElementById( "keyword" ).value );
}


// -------------------------------------------------------------------------------------------------------------------------------------------
// 預先檢查驗證碼
function check_code()
{
	var url = "/chi/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 ) {
		switch ( slang )
		{
			case "chi":	 	alert( "請輸入正確的驗證碼!" );													break;
			case "sim":	alert( "请输入正确的验证码!" );													break;
			case "eng":	alert( "Please enter the correct Security Code!" );				break;
		}
		return false;
	}
	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 ) {
		switch ( slang )
		{
			case "chi":
				alert( "請填寫" + sMessage + "!" );
				break;

			case "sim":
				alert( "请填写" + sMessage + "!" );
				break;

			case "eng":
				alert( "Please input " + sMessage + "!" );
				break;
		}
		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 ) {
		switch ( slang )
		{
			case "chi":
				alert( sMessage + "必須是數字!" );
				break;

			case "sim":
				alert( sMessage + "必须是数字!" );
				break;

			case "eng":
				alert( sMessage + " must be a numeric!" );
				break;
		}
		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 ) ) {
		switch ( slang )
		{
			case "chi":
				alert( sMessage + "必須是數字!" );
				break;

			case "sim":
				alert( sMessage + "必须是数字!" );
				break;

			case "eng":
				alert( sMessage + " must be a numeric!" );
				break;
		}
		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 ) ) {
		switch ( slang )
		{
			case "chi":
				alert( "請填寫正確的Email信箱!" );
				break;

			case "sim":
				alert( "请填写正确的Email电邮!" );
				break;

			case "eng":
				alert( "Please input a correct E-mail." );
				break;
		}
		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
   3.0: rewrite 版 2009/5/16
   4.0: SEO 網址版 2009/8/27
   4.1: 多語系版 2009/8/30
-------------------------------------------------------------------------------------------------------------------*/
function jump_get( p ) {

	var slang = "", fn = "", no = "";
	var head = location.href.substr( location.href.indexOf( "//" ) + 2 );
	head = head.substr( head.indexOf( "/" ) + 1 );
	if ( head.indexOf( "/" ) > -1 ) {
		slang = head.substr( 0, head.indexOf( "/" ) );
		head = head.substr( head.indexOf( "/" ) + 1 );
	}
	if ( head.indexOf( "/" ) > -1 ) {
		fn = head.substr( 0, head.indexOf( "/" ) );
		head = head.substr( head.indexOf( "/" ) + 1 );
	}
	if ( head.indexOf( "/" ) > -1 ) {
		no = head.substr( 0, head.indexOf( "/" ) );
		head = head.substr( head.indexOf( "/" ) + 1 );
	} else {
		no = "0";
	}
	var tail = "";
	if ( head.indexOf( "/" ) > -1 ) {
		head = head.substr( head.indexOf( "/" ) + 1 );
		if ( head.indexOf( "/" ) > -1 ) {
			tail = head.substr( 0, head.indexOf( "/" ) );
		}
	}

	var qs = new Querystring();
	var s	= qs.get("s");
	if ( s != null ) {
		tail += "?s=" + s;
	}

	var url = "/" + slang + "/" + fn + "/" + no + "/" + p + "/" + tail;
	//alert( url );
	location.href = url;
}

