/*---------------------------------共用函式----------------------------------*/
/**將字串加入前後去空白屬性
呼叫方式
str.trim();
**/
String.prototype.trim=trim;
function trim() {
  return this.replace(/^\s+|\s+$/g, "");
}

function change_style_display(dml,dml2)
{
	if (document.getElementById(dml).style.display =="none") 
	{
		document.getElementById(dml).style.display = "";
		if (dml2 != "")
			document.getElementById(dml2).value = "true";
	}
	else
	{
		document.getElementById(dml).style.display = "none";
		if (dml2 != "")
			document.getElementById(dml2).value = "false";
	}
}

function isInteger(string ,sign)
{
var integer;
if ((sign!=null) && (sign!='-') && (sign!='+'))
{
alert('IsInter(string,sign)的參數出錯： sign為null或"-"或"+"');
return false;
}
integer = parseInt(string);
if (isNaN(integer))
{
return false;
}
else if (integer.toString().length==string.length)
{
if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0))
{
return true;
}
else
return false;
}
else
return false;
}


/**
isDate: 用于判斷一個字符串是否是日期格式的字符串

返回值：
true或false

參數：
DateString： 需要判斷的字符串
Dilimeter ： 日期的分隔符，缺省值為'-'

Author: PPDJ
sample:
var date = '1999-1-2';
if (isDate(date))
{
alert('You see, the default separator is "-");
}
date = '1999/1/2";
if (isDate(date,'/'))
{
alert('The date's separator is "/");
}
*/

function isDate(DateString , Dilimeter)
{
if (DateString==null) return false;
if (Dilimeter=='' || Dilimeter==null)
Dilimeter = '-';
var tempy='';
var tempm='';
var tempd='';
var tempArray;
if (DateString.length<8 && DateString.length>10)
return false;
tempArray = DateString.split(Dilimeter);
if (tempArray.length!=3)
return false;
if (tempArray[0].length==4)
{
tempy = tempArray[0];
tempd = tempArray[2];
}
else
{
tempy = tempArray[2];
tempd = tempArray[1];
}
tempm = tempArray[1];
var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小時是因為我們處于東八區
var tempDate = new Date(tDateString);
if (isNaN(tempDate))
return false;
if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==Math.floor(tempm)-1) && (tempDate.getDate()==Math.floor(tempd)))
{
return true;
}
else
{
return false;
}
}


/**
isNumber: 用于判斷一個數字型字符串是否為數值型，
還可判斷是否是正數或負數，返回值為true或false
string: 需要判斷的字符串
sign: 若要判斷是正負數是使用，是正用'+'，負'-'，不用則表示不作判斷
Author: PPDJ
sample:
var a = '123';
if (isNumber(a))
{
alert('a is a number');
}
if (isNumber(a,'+'))
{
alert(a is a positive number);
}
if (isNumber(a,'-'))
{
alert('a is a negative number');
}
*/

function isNumber(string,sign)
{
var number;
if (string==null) return false;
if ((sign!=null) && (sign!='-') && (sign!='+'))
{
alert('isNumber(string,sign)的參數出錯： sign為null或"-"或"+"');
return false;
}
number = new Number(string);
if (isNaN(number))
{
return false;
}
else if ((sign==null) || (sign=='-' && number<0) || (sign=='+' && number>0))
{
return true;
}
else
return false;
}

/*-------------------------------------------------------------------------*/
function checkString(s, len)
{
	s = s.trim();
	if(s.length < len)
		return false;
	else
    	return true;
}

function isEmpty(s)
{
 s = s.trim();
 return ((s == null) || (s.length == 0))
}

function isWhiteSpace (s)
{
  s = s.trim();
  var whiteSpace = " \t\n\r";
  var i;
  for (i = 0; i < s.length; i++)
  {
   var c = s.charAt(i);
   if (whiteSpace.indexOf(c) >= 0)
   {
    return true;
   }
  }

  return false;
}

function isCharsInBag (s, bag)
{
  var i;
  for (i = 0; i < s.length; i++)
  {
   var c = s.charAt(i);
   if (bag.indexOf(c) == -1) return false;
  }
  return true;
}

function isEmail(s)
{

	s = s.trim();
	re = /^[A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z]{2,3}$/;
	if (re.test(s))
		return true;
  else
		return false;
}

/*---------------------------------共用函式--------------------------------*/


function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}