/*-------------------------------------------------------------------------------------------------------------------
 Script Name: functions.js
 Author: Tony Wei (魏志國)  tonywei123_at_gmail.com
 Description: JavaScript 共用函式庫
 Revision History:
   1.0: original version 2009/5/16
-------------------------------------------------------------------------------------------------------------------*/


// -------------------------------------------------------------------------------------------------------------------------------------------
// 附加於 windows.onload 函式
// -------------------------------------------------------------------------------------------------------------------------------------------
var _qs = new Querystring();
var _fn = _qs.get("fn");
switch( _fn ) {

	case "member_send_imformation":
		if ( window.attachEvent ) window.attachEvent( "onload", order2_winload );	// IE
		if ( window.addEventListener ) document.addEventListener( "DOMContentLoaded", order2_winload, false );	 // Mozilla
		break;

}

// 填寫寄送資訊
function order2_winload()
{
	for ( var i=0 ; i < document.getElementById( "city" ).options.length ; i++ )
	{
		if ( document.getElementById( "city" ).options[ i ].text == MI_City ) {
			document.getElementById( "city" ).selectedIndex = i;
		}
	}
	change_city();
	for ( var i=0 ; i < document.getElementById( "cityarea" ).options.length ; i++ )
	{
		if ( document.getElementById( "cityarea" ).options[ i ].text == MI_CityArea ) {
			document.getElementById( "cityarea" ).selectedIndex = i;
		}
	}
}

// -------------------------------------------------------------------------------------------------------------------------------------------


// 預先檢查驗證碼
function check_code()
{
	var url = "home.php?fn=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( "請輸入正確的驗證碼!" );
		return false;
	}
	return true;
}

// 忘記密碼
function check_forget()
{
	if ( ! check_required( 'MI_ID', '帳號' ) ) return false;
	document.forgot_form.submit();
}

// 會員登入
function check_login()
{
	if ( ! check_required( 'uid', '帳號' ) ) return false;
	if ( ! check_required( 'pwd', '密碼' ) ) return false;
	if ( ! check_required( 'code', '驗證碼' ) ) return false;
	if ( ! check_numeric2( 'code', '驗證碼' ) ) return false;
	if ( ! check_code() ) return false;
	document.login_form.submit();
}

// 加入會員
function check_member_join( fm )
{
	if ( fm.MI_ID.value == "請輸入會員帳號" ) {
		fm.MI_ID.value = "";
	}
	if ( ! check_required( 'MI_ID', '帳號' ) ) return false;
	if ( ! check_email( 'MI_ID' ) ) return false;
	if ( fm.MI_ID.value.length < 4 ) {
		alert( "登入帳號須為 4~16 個英文及數字組合!" );
		fm.MI_ID.value = "";
		fm.MI_ID.focus();
		return false;
	}
	if ( ! check_member_account() ) {
		return false;
	}
	if ( ! check_required( 'MI_Password', '密碼' ) ) return false;
	if ( fm.MI_Password.value.length < 6 ) {
		alert( "密碼須為 6~16 個英文及數字組合!" );
		fm.MI_Password.value = "";
		fm.MI_Password2.value = "";
		fm.MI_Password.focus();
		return false;
	}
	if ( ! check_required( 'MI_Password2', '密碼確認' )   ) return false;
	if ( fm.MI_Password.value != fm.MI_Password2.value ) {
		alert( "密碼與密碼確認須一致!" );
		fm.MI_Password.value = "";
		fm.MI_Password2.value = "";
		fm.MI_Password.focus();
		return false;
	}
	if ( fm.MI_Name.value == "請務必填寫真實姓名" ) {
		fm.MI_Name.value = "";
	}
	if ( ! check_required( 'MI_Name', '姓名' ) ) return false;
	if ( ! ( fm.MI_Sex1.checked || fm.MI_Sex2.checked ) ) {
		alert( "請點選您的性別!" );
		fm.MI_Sex1.focus();
		return false;
	}
	if ( ! check_required( 'MI_Tel', '電話' ) ) return false;
	if ( ! check_numeric2( 'MI_Tel', '電話' )     ) return false;
	if ( ! check_required( 'MI_Mobile', '手機' ) ) return false;
	if ( ! check_numeric2( 'MI_Mobile', '手機' )     ) return false;
	if ( ! check_member_email() ) {
		return false;
	}
	if ( ! check_required( 'MI_Address', '聯絡地址' ) ) return false;
}

// 修改會員資料
function check_member_modify( fm )
{
	if ( fm.MI_Password.value != "" ) {
		if ( fm.MI_Password.value.length < 6 ) {
			alert( "密碼須為 6~16 個英文及數字組合!" );
			fm.MI_Password.value = "";
			fm.MI_Password2.value = "";
			fm.MI_Password.focus();
			return false;
		}
		if ( ! check_required( 'MI_Password2', '密碼確認' )   ) return false;
		if ( fm.MI_Password.value != fm.MI_Password2.value ) {
			alert( "密碼與密碼確認須一致!" );
			fm.MI_Password.value = "";
			fm.MI_Password2.value = "";
			fm.MI_Password.focus();
			return false;
		}
	}
	if ( ! check_required( 'MI_Name', '姓名' ) ) return false;
	if ( ! ( fm.MI_Sex1.checked || fm.MI_Sex2.checked ) ) {
		alert( "請點選您的性別!" );
		fm.MI_Sex1.focus();
		return false;
	}
	if ( ! check_required( 'MI_Tel', '電話' ) ) return false;
	if ( ! check_numeric2( 'MI_Tel', '電話' )     ) return false;
	if ( ! check_required( 'MI_Mobile', '手機' ) ) return false;
	if ( ! check_numeric2( 'MI_Mobile', '手機' )     ) return false;
	if ( ! check_required( 'MI_Address', '聯絡地址' ) ) return false;
}

// 填寫寄送資訊
function check_order2( fm )
{
	// 訂購人資料
	if ( ! check_required( 'OD_BuyerName', '訂購人姓名' ) ) return false;
	if ( ! ( fm.OD_BuyerSex1.checked || fm.OD_BuyerSex2.checked ) ) {
		alert( "請點選訂購人性別!" );
		fm.OD_BuyerSex1.focus();
		return false;
	}
	if ( ! check_required( 'OD_BuyerTel', '訂購人電話' ) ) return false;
	if ( ! check_numeric2( 'OD_BuyerTel', '訂購人電話' )     ) return false;
	if ( ! check_required( 'OD_BuyerMobile', '訂購人手機' ) ) return false;
	if ( ! check_numeric2( 'OD_BuyerMobile', '訂購人手機' )     ) return false;
	if ( ! check_required( 'OD_BuyerEmail', '訂購人E-mail' ) ) return false;
	if ( ! check_email( 'OD_BuyerEmail' ) ) return false;
	if ( ! check_required( 'OD_BuyerAddress', '訂購人聯絡地址' ) ) return false;

	// 收件人資料
	if ( ! check_required( 'OD_ReceiverName', '收件人姓名' ) ) return false;
	if ( ! ( fm.OD_ReceiverSex1.checked || fm.OD_ReceiverSex2.checked ) ) {
		alert( "請點選收件人性別!" );
		fm.OD_ReceiverSex1.focus();
		return false;
	}
	if ( ! check_required( 'OD_ReceiverTel', '收件人電話' ) ) return false;
	if ( ! check_numeric2( 'OD_ReceiverTel', '收件人電話' )     ) return false;
	if ( ! check_required( 'OD_ReceiverMobile', '收件人手機' ) ) return false;
	if ( ! check_numeric2( 'OD_ReceiverMobile', '收件人手機' )     ) return false;
	if ( ! check_required( 'OD_ReceiverEmail', '收件人E-mail' ) ) return false;
	if ( ! check_email( 'OD_ReceiverEmail' ) ) return false;
	if ( ! check_required( 'OD_ReceiverAddress', '收件人聯絡地址' ) ) return false;

	// 付款方式
	/*
	if ( ! ( fm.OD_Payment1.checked || fm.OD_Payment2.checked || fm.OD_Payment3.checked || fm.OD_Payment4.checked || fm.OD_Payment5.checked || fm.OD_Payment6.checked ) ) {
		alert( "請點選付款方式!" );
		fm.OD_Payment1.focus();
		return false;
	}
	*/

	// 發票資料
	if ( ! ( fm.OD_SendInvoice1.checked || fm.OD_SendInvoice2.checked ) ) {
		alert( "請點選是否索取發票!" );
		fm.OD_SendInvoice1.focus();
		return false;
	}
	if ( fm.OD_SendInvoice1.checked ) {
		if ( ! ( fm.OD_Invoice1.checked || fm.OD_Invoice2.checked ) ) {
			alert( "請點選發票類型!" );
			fm.OD_Invoice1.focus();
			return false;
		}
		if ( fm.OD_Invoice2.checked ) {
			if ( ! check_required( 'OD_Title', '發票抬頭' ) ) return false;
			if ( ! check_required( 'OD_Number', '統一編號' ) ) return false;
			if ( ! check_numeric2( 'OD_Number', '統一編號' ) ) return false;
			if ( fm.OD_Number.value.length != 8 ) {
				alert( "統一編號必須有8個數字!" );
				fm.OD_Number.focus();
				return false;
			}
		}
		if ( ! check_required( 'OD_InvoiceName', '發票郵寄姓名' ) ) return false;
		if ( ! ( fm.OD_InvoiceSex1.checked || fm.OD_InvoiceSex2.checked ) ) {
			alert( "請點選發票郵寄收件人性別!" );
			fm.OD_InvoiceSex1.focus();
			return false;
		}
		if ( ! check_required( 'OD_InvoiceAddress', '發票郵寄地址' ) ) return false;
	}
}

// 聯絡我們
function check_contact( fm )
{
	if ( ! check_required( '姓名', '姓名' ) ) return false;
	if ( ! check_required( '聯絡電話', '聯絡電話' )     ) return false;
	if ( ! check_numeric2( '聯絡電話', '聯絡電話' )     ) return false;
	if ( ! check_required( '電子信箱', '電子信箱' ) ) return false;
	if ( ! check_email( '電子信箱' ) ) return false;
	if ( ! check_required( '意見主題', '意見主題' )     ) return false;
	if ( ! check_required( '內容', '內容' )     ) return false;
	if ( ! check_required( 'code', '驗證碼' )     ) return false;
	if ( ! check_numeric2( 'code', '驗證碼' )     ) return false;
	if ( ! check_code() ) return false;
	return true;
}

// 轉寄好友
function check_forward()
{
	if ( ! check_required( 'Name2', '朋友姓名' ) ) return false;
	if ( ! check_required( 'Email2', '朋友email' ) ) return false;
	if ( ! check_email( 'Email2' ) ) return false;
	if ( ! check_required( 'Name1', '你的姓名' ) ) return false;
	if ( ! check_required( 'Email1', '你的email' ) ) return false;
	if ( ! check_email( 'Email1' ) ) return false;
	if ( ! check_required( 'Message', '給朋友的留言' ) ) return false;
	return true;
}

// 右上角產品關鍵字搜尋
function check_search()
{
	if ( ! check_required( 'keyword', '關鍵字' ) ) { void(0); return; }
	location.href = "home.php?fn=Search_result&keyword=" + encodeURI( document.getElementById( "keyword" ).value );
}

// 左側下拉選單商品搜尋
function go_search()
{
	var country	= document.getElementById( "country" ).options[ document.getElementById( "country" ).selectedIndex ].value;
	var brand		= document.getElementById( "brand" ).options[ document.getElementById( "brand" ).selectedIndex ].value;
	var money		= document.getElementById( "money" ).options[ document.getElementById( "money" ).selectedIndex ].value;
	var style1		= document.getElementById( "style" ).options[ document.getElementById( "style" ).selectedIndex ].value;
	var activity	= document.getElementById( "activity" ).options[ document.getElementById( "activity" ).selectedIndex ].value;
	location.href = "home.php?fn=Search_result&country=" + country + "&brand=" + brand + "&money=" + money + "&style=" + style1 + "&activity=" + activity;
}

// 電子報訂閱
function check_subscribe( func )
{
	if ( document.getElementById( "epaper_mail" ).value == "請輸入您的電子信箱訂閱電子報" ) {
		document.getElementById( "epaper_mail" ).value = "";
	}
	if ( ! check_required( 'epaper_mail', '電子信箱' )   ) { void(0); return; }
	if ( ! check_email( 'epaper_mail' ) ) { void(0); return; }
	location.href = "home.php?fn=subscribe&func=" + func + "&epaper_mail=" + document.getElementById( "epaper_mail" ).value;
	return;
}

// 更改購物清單內某商品之訂購數量
function change_unit( PD_Serial, iSelectedIndex )
{
	/*
	var unit = iSelectedIndex + 1;
	var subtotal = unit  * parseInt( document.getElementById( "price_"+ PD_Serial ).value );
	document.getElementById( "subtotal_"+ PD_Serial ).innerHTML = number_format( subtotal, 0, '.', ',' );
	document.getElementById( "subtotal2_"+ PD_Serial ).value = subtotal;
	*/
	call_cart( "update", "1_" + PD_Serial + "_0_0_0:" + ( iSelectedIndex + 1 ) );
	location.reload();
}

// 刪除購物清單內的某項目
function remove_item( PD_Serial )
{
	call_cart( "update", "1_" + PD_Serial + "_0_0_0:0" );
	location.reload();
}

// 點選 "同訂購人"
function thesame_click()
{
	$( "OD_ReceiverName" ).value		= $( "OD_BuyerName" ).value;
	$( "OD_ReceiverTel" ).value				= $( "OD_BuyerTel" ).value;
	$( "OD_ReceiverMobile" ).value		= $( "OD_BuyerMobile" ).value;
	$( "OD_ReceiverEmail" ).value			= $( "OD_BuyerEmail" ).value;
	$( "OD_ReceiverAddress" ).value	= $( "OD_BuyerAddress" ).value;
	$( "OD_ReceiverSex1" ).checked		= $( "OD_BuyerSex1" ).checked;
	$( "OD_ReceiverSex2" ).checked		= $( "OD_BuyerSex2" ).checked;
	$( "city2" ).selectedIndex					= $( "city" ).selectedIndex;
	change_city2();
	$( "cityarea2" ).selectedIndex			= $( "cityarea" ).selectedIndex;
	$( "usually" ).checked = false;
}

// 點選 "常用收件人"
function usually_click()
{
	$( "OD_ReceiverName" ).value		= $( "MI_Name2" ).value;
	$( "OD_ReceiverAddress" ).value	= $( "MI_Address2" ).value;
	for ( var i=0 ; i < document.getElementById( "city2" ).options.length ; i++ )
	{
		if ( document.getElementById( "city2" ).options[ i ].text == MI_City2 ) {
			document.getElementById( "city2" ).selectedIndex = i;
		}
	}
	change_city2();
	for ( var i=0 ; i < document.getElementById( "cityarea2" ).options.length ; i++ )
	{
		if ( document.getElementById( "cityarea2" ).options[ i ].text == MI_CityArea2 ) {
			document.getElementById( "cityarea2" ).selectedIndex = i;
		}
	}
	$( "thesame" ).checked = false;
}

// 點選 "發票--同訂購人"
function thesame_click1()
{
	$( "OD_InvoiceName" ).value			= $( "OD_BuyerName" ).value;
	$( "OD_InvoiceAddress" ).value		= $( "OD_BuyerAddress" ).value;
	$( "OD_InvoiceSex1" ).checked		= $( "OD_BuyerSex1" ).checked;
	$( "OD_InvoiceSex2" ).checked		= $( "OD_BuyerSex2" ).checked;
	$( "thesame2" ).checked = false;
	$( "city3" ).selectedIndex					= $( "city" ).selectedIndex;
	change_city3();
	$( "cityarea3" ).selectedIndex			= $( "cityarea" ).selectedIndex;
}

// 點選 "發票--同收件人"
function thesame_click2()
{
	$( "OD_InvoiceName" ).value			= $( "OD_ReceiverName" ).value;
	$( "OD_InvoiceAddress" ).value		= $( "OD_ReceiverAddress" ).value;
	$( "OD_InvoiceSex1" ).checked		= $( "OD_ReceiverSex1" ).checked;
	$( "OD_InvoiceSex2" ).checked		= $( "OD_ReceiverSex2" ).checked;
	$( "thesame1" ).checked = false;
	$( "city3" ).selectedIndex					= $( "city2" ).selectedIndex;
	change_city3();
	$( "cityarea3" ).selectedIndex			= $( "cityarea2" ).selectedIndex;
}

// 點選 "不用發票"
function clear_invoice()
{
	$( "OD_Invoice1" ).checked				= false;
	$( "OD_Invoice2" ).checked				= false;
	$( "OD_InvoiceSex1" ).checked		= false;
	$( "OD_InvoiceSex2" ).checked		= false;
	$( "thesame1" ).checked					= false;
	$( "thesame2" ).checked					= false;
	$( "OD_Title" ).value							= "";
	$( "OD_Number" ).value					= "";
	$( "OD_InvoiceName" ).value			= "";
	$( "OD_InvoiceAddress" ).value		= "";
	$( "city3" ).selectedIndex					= 0;
	change_city3();
	$( "cityarea3" ).selectedIndex			= 0;
}

// 加入追蹤清單 ( Ajax )
function wish( pid, isLogin )
{
	if ( isLogin ) {
		url = "home.php?fn=wishlist&no=" + pid;
		ccioo_ajax_setData( url );
		alert( "已加入追蹤!" );
	} else {
		alert( "此為會員專屬功能，請您先登入才能使用喔!" );
	}
}




/*-------------------------------------------------------------------------------------------------------------------
 Function: buy()
 Description: 放入購物車
 Input: 商品ID, 是否可購買
 Output: N/A
 Example: 
	buy( 1 );
Revision History:
   1.0: original version 2009/3/8 2009/3/26
-------------------------------------------------------------------------------------------------------------------*/
function buy( pid, isSale )
{
	if ( isSale ) {
		call_cart( "add", "1_" + pid + "_0_0_0:1" );
		alert( "已加入購物車!" );
	} else {
		alert( "本商品已缺貨，如需選購，請與我們連絡!" );
	}
}

/*-------------------------------------------------------------------------------------------------------------------
 Function: check_member_account()
 Description: 檢查會員帳號是否已經有人使用
 Input: N/A
 Output: true or false
 Example: 
	check_member_account()
 Revision History:
   1.0: original version 2008/1/11
   1.1: 加入亂數，避免快取 2008/1/17
-------------------------------------------------------------------------------------------------------------------*/
function check_member_account()
{
	if ( ! check_required( 'MI_ID', '登入帳號' ) ) return false;
	var url = "home.php?fn=member_check&rand=" + Math.random() + "&MI_ID=" + document.getElementById("MI_ID").value;
	var objTag = ccioo_ajax_getXmlData( url ).getElementsByTagName("item");
	var sReturn = objTag[0].firstChild.nodeValue;
	if ( parseInt( sReturn ) > 0 ) {
		alert( "此帳號已經有人使用，請您換一個帳號!" );
		return false;
	}
	return true;
}
function check_member_account2()
{
	if ( check_member_account() ) {
		alert( "此帳號可以使用!" );
	}
}
function check_member_email()
{
	var url = "home.php?fn=member_check&rand=" + Math.random() + "&MI_Email=" + document.getElementById("MI_Email").value;
	var objTag = ccioo_ajax_getXmlData( url ).getElementsByTagName("item");
	var sReturn = objTag[0].firstChild.nodeValue;
	if ( parseInt( sReturn ) > 0 ) {
		alert( "此 E-Mail 已經註冊過，如果您忘記密碼，請利用\n網頁右上方登入區的 '忘記密碼' 功能來查詢!" );
		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 ) {
		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_date()
 Description: 檢查日期格式是否正確
 Input: 年, 月, 日
 Output: 是否驗證通過 true or false
 Example: 
	check_date( 2008, 1, 29 );
Revision History:
   1.0: original version 2008/3/7
-------------------------------------------------------------------------------------------------------------------*/
function check_date( yyyy, mm, dd )
{
	mm = parseInt( mm ) - 1;
	var day = ( new Date( yyyy, mm, dd ) ).getDate();
	if ( day != dd ) {
		if ( mm == 1 && dd == 29 ) {
			alert( yyyy + " 年不是閏年，2 月沒有 29 天喔!" );
		} else {
			alert( ( mm + 1 ) + " 月沒有 " + dd + " 天喔!" );
		}
		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
   3.0: rewrite 版 2009/5/16
-------------------------------------------------------------------------------------------------------------------*/
function jump_get( p ) {
	var qs = new Querystring();
	var tail = "";
	if ( qs.get("keyword") != null ) {
		tail += "&keyword=" + qs.get("keyword");
	}
	if ( qs.get("type") != null ) {
		tail += "&type=" + qs.get("type");
	}
	if ( qs.get("year") != null ) {
		tail += "&year=" + qs.get("year");
	}
	if ( qs.get("lv0") != null ) {
		tail += "&lv0=" + qs.get("lv0");
	}
	if ( qs.get("lv1") != null ) {
		tail += "&lv1=" + qs.get("lv1");
	}
	if ( qs.get("fs0") != null ) {
		tail += "&fs0=" + qs.get("fs0");
	}
	if ( qs.get("fs1") != null ) {
		tail += "&fs1=" + qs.get("fs1");
	}
	if ( qs.get("cno") != null ) {
		tail += "&cno=" + qs.get("cno");
	}
	if ( qs.get("no") != null ) {
		tail += "&no=" + qs.get("no");
	}
	if ( qs.get("k") != null ) {
		tail += "&k=" + qs.get("k");
	}
	var url = location.href;
	if ( url.indexOf( '?' ) > 0 ) {
		url = url.substr( 0, url.indexOf( '?' ) );
	}
	if ( url.indexOf( '&' ) > 0 ) {
		url = url.substr( 0, url.indexOf( '&' ) );
	}
	location.href = url + "&p=" + p + tail + "#anchor";
}

/*-------------------------------------------------------------------------------------------------------------------
 PHP-like Functions
 http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_number_format/
-------------------------------------------------------------------------------------------------------------------*/
function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

/*-------------------------------------------------------------------------------------------------------------------
 cookie Functions
 lifetype\js\cookie\cookie.js
 1.0 加入 encodeURI 編碼來儲存，以解決 Mozilla 儲存中文會導致 Cookie 資料損毀的問題 Tony in 2008/2/27
-------------------------------------------------------------------------------------------------------------------*/
function setCookie( name, value, days )
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+ encodeURI( value ) +expires+"; path=/";
}

function getCookie( name )
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return decodeURI( c.substring(nameEQ.length,c.length) );
	}
	return null;
}

function delCookie( name )
{
	setCookie(name,"",-1);
}

