/*
checkForm(form,tmpMsg)						開啟確認視窗(180430)
FloatAdd(arg1, arg2)						浮PV相加
FloatSubtraction(arg1, arg2)				浮PV相減
FloatMul(arg1, arg2)						浮PV相乘
FloatDiv(arg1, arg2)						浮PV相除
check_max_min_num(obj, MinVal , MaxVal)		判斷值是否在限制之內
YLoading( Type )							處理Loading狀態
basic_checkCharType( testStr );				找出字串中不同類別的個數
basic_YScrapbook()							剪貼簿功能
function basic_CheckRun(form,tmpMsg)		開啟確認執行訊息

*/

/*
功能 : 開啟確認視窗(180430)
使用方法:
1.載入js
	<script src="../js/basic.js"></script>
2.在要執行的地方加上
	onclick=\"return checkForm(this,'確定要執行嗎??');\"
*/
// 開啟確認視窗
function checkForm(form,tmpMsg)
{
	if (confirm(tmpMsg))
	{	return true;	}
	else
	{    return false ;    }
}


//浮PV相加
function FloatAdd(arg1, arg2)
{
	var r1, r2, m;
	try { r1 = arg1.toString().split(".")[1].length; } catch (e) { r1 = 0; }
	try { r2 = arg2.toString().split(".")[1].length; } catch (e) { r2 = 0; }
	m = Math.pow(10, Math.max(r1, r2));
	return (FloatMul(arg1, m) + FloatMul(arg2, m)) / m;
}
//浮PV相減
function FloatSubtraction(arg1, arg2)
{
	var r1, r2, m, n;
	try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
	try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
	m = Math.pow(10, Math.max(r1, r2));
	n = (r1 >= r2) ? r1 : r2;
	return ((arg1 * m - arg2 * m) / m).toFixed(n);
}
//浮PV相乘
function FloatMul(arg1, arg2)
{
	var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
	try { m += s1.split(".")[1].length; } catch (e) { }
	try { m += s2.split(".")[1].length; } catch (e) { }
	return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
}
//浮PV相除
function FloatDiv(arg1, arg2)
{
	var t1 = 0, t2 = 0, r1, r2;
	try { t1 = arg1.toString().split(".")[1].length } catch (e) { }
	try { t2 = arg2.toString().split(".")[1].length } catch (e) { }
	with (Math)
	{
		r1 = Number(arg1.toString().replace(".", ""))
		r2 = Number(arg2.toString().replace(".", ""))
		return (r1 / r2) * pow(10, t2 - t1);
	}
}

// 判斷值是否在限制之內
function check_max_min_num(obj, MinVal , MaxVal) {
	//toastr.success("輸入參數 : " + obj.value + MinVal + MaxVal );
	if( obj.value == "" )
	{	return;	}
	var InputVal = isNaN(parseInt(obj.value)) ? 0 : parseInt(obj.value);
	if (InputVal > MaxVal)
	{
		alert("最大值不能大於" + MaxVal);
		obj.value = MaxVal;
	}
	else if (InputVal < MinVal)
	{
		alert("最小值不能小於" + MinVal);
		obj.value = MinVal;
	}
}

// 處理Loading狀態
// YLoading( "show" ) ;		// 秀出
// YLoading( "hide" ) ;		// 隱藏
// <form onsubmit='YLoading("show")'>
function YLoading( Type )
{
	//alert(Type);
	if( Type == "show" )
	{
		//將div顯示
		$('#YLoading').css("display", "");
	}
	else if( Type == "hide" )
	{
		//再次隱藏
		$('#YLoading').css("display", "none"); 
	}
}

/*
找出字串中不同類別的個數
使用範例
var testStr = "ab中文123@#$验Ａ" ;	// 要比對的文字

var CharTypeNum = new Array(5);	// 設定回傳數量陣列
CharTypeNum = basic_checkCharType( testStr );	// 找出字串中不同類別的個數
//中文 : CharTypeNum[1] , 英文 : CharTypeNum[2] , 數字 : CharTypeNum[3] , 全型符號 : CharTypeNum[4] , 其它 : CharTypeNum[0]
//alert("訂購人姓名 : 中文 : " + CharTypeNum[1] + " , 英文 : " + CharTypeNum[2] + ", 數字 : " + CharTypeNum[3] + ", 全型符號 : " + CharTypeNum[4] + ", 其它 : " + CharTypeNum[0])
//if ( Number(CharTypeNum[1]) > 0 || Number(CharTypeNum[2]) > 0 || Number(CharTypeNum[4]) > 0 || Number(CharTypeNum[0]) > 0 )
//{	toastr.error("商品訂購數量只能輸入數字");return false;	}
*/
function basic_checkCharType(subStr)
{
	var pattern_C = new RegExp("[\u4E00-\u9FA5]+");	// 中文
	var pattern_E = new RegExp("[A-Za-z]+");			// 英文
	var pattern_I = new RegExp("[0-9]+");			// 數字
	var pattern_B = new RegExp("[\uFE30-\uFFA0]+");	// 全型符號

	var CharTypeNum = new Array(5);	// 設定回傳數量陣列
	var i,sum , strChar;
	var char_Num0 = 0 ;	// 其它
	var char_Num1 = 0 ;	// 中文
	var char_Num2 = 0 ;	// 英文
	var char_Num3 = 0 ;	// 數字
	var char_Num4 = 0 ;	// 全型符號
	sum=0;
	for( i = 0 ; i < subStr.length ; i++ )
	{
		// 取出字串
		strChar = subStr.substring(i,i+1);
		//alert(strChar);
		if(pattern_C.test(strChar))
		{// 中文
			char_Num1++
		}
		else if(pattern_E.test(strChar))
		{// 英文
			char_Num2++
		}
		else if(pattern_I.test(strChar))
		{// 數字
			char_Num3++
		}
		else if(pattern_B.test(strChar))
		{// 全型符號
			char_Num4++
		}
		else
		{// 其它
			char_Num0++
		}
	}
	CharTypeNum[0] = char_Num0;	// 其它
	CharTypeNum[1] = char_Num1;	// 中文
	CharTypeNum[2] = char_Num2;	// 英文
	CharTypeNum[3] = char_Num3;	// 數字
	CharTypeNum[4] = char_Num4;	// 全型符號
	
	return CharTypeNum ;
}

// 剪貼簿功能
function basic_YScrapbook( sub_CopyID , sub_CopyOkMsg )
{
	/*
	sub_CopyID		要複製內容的ID
	sub_CopyOkMsg	複製完成秀出的訊息(內定:已複製完成。)

	// 要複製的內容
	<textarea cols="20" rows="10" id="CopyID">使用者定義的程式碼區域</textarea>
	
	// 複製按鈕
	<input type="button" onClick="basic_YScrapbook( 'CopyID' , '已複製完成' )" value="點選複製內容" />
	
	使用方式:
	basic_YScrapbook( CopyID , "已複製完成" );
	*/

	var Url2=document.getElementById( sub_CopyID );
	Url2.select(); // 選擇物件
	document.execCommand("Copy"); // 執行瀏覽器複製命令
	if( sub_CopyOkMsg )
	{	alert(sub_CopyOkMsg);	}
	else
	{	alert("已複製完成。");	}
}

// 開啟確認執行訊息
// 使用方法:
// <a href=\"?Funct=DEL&ID=1\" class=\"btn btn-danger\" onclick=\"return basic_CheckRun(this,'是否要清空實名認證和問卷資料')\">
// <form action="Store_DesignerItem.php" method="post" id="insertform" name="insertform" role="form" onSubmit="return basic_CheckRun(this,'是否要修改資料')">
function basic_CheckRun(form,tmpMsg)
{
	if (confirm(tmpMsg))
	{	return true;	}
	else
	{	return false;	}
}
