
//字串對齊函數
//slen : 加空白後字串長度
//align: 字串對齊方向
//       R 右靠  ,空白加在左方
//       L 左靠  ,空白加在右方
function AlignStr(str, slen, align) {
  fstr=""
  for (_i=0;_i<(slen - str.length);_i++)
      fstr=fstr+" ";
  switch (align.toUpperCase()) {
   case "R" :
      str=fstr+str;
   case "L" :
      str=str+fstr;
   default :
  } //switch
  return str;
} //end function



//字串對齊函數(全形)
//slen : 加空白後字串長度
//align: 字串對齊方向
//       R 右靠  ,空白加在左方
//       L 左靠  ,空白加在右方
function VAlignStr(str, slen, align) {
  fstr=""
  for (_i=0;_i<(slen - str.length);_i++)
      fstr=fstr+"　";
  switch (align.toUpperCase()) {
   case "R" :
      str=fstr+str;
   case "L" :
      str=str+fstr;
   default :
  } //switch
  return str;
} //end function




function rtrim(str) {
  return ( str.replace( / /g, "") ) ;   // move blank 
}



//取得參數值  
//usage :  scode = GetURLparam(location, "scode") 
function GetURLparam(sURL, pname) {
sURL = "*" + sURL ;
//find parament : pname
pname=pname.toUpperCase();
sUpperURL=sURL.toUpperCase() ;
pvalue="" ;
plen=pname.length + 1;

bPos = sUpperURL.indexOf(pname+"=", 0) ;
if (bPos>0) { 
   ePos = sUpperURL.indexOf("&", bPos+plen) ; 
   if (ePos<0) ePos=999 ; 
   pvalue = sURL.substr(bPos+plen, ePos-bPos-plen) 
}

return pvalue ;
}


//取得參數物件 
//usage : args = GetArgs(location)
//        scode = args.scode ; 
function GetArgs(URL) {
    var args = new Object();
    var query = URL.search.substring(1);  // Get the substring after ? symbol
    var pairs = query.split("&");         // Break at &
    if (query=="") return args ;
    
    for(var i = 0; i < pairs.length; i++) {    
	var pos = pairs[i].indexOf('=');       // Look for "name=value".
	if (pos == -1) continue;               // If not found, skip.
	var argname = pairs[i].substring(0,pos);  // Extract the name.
	var value = pairs[i].substring(pos+1); // Extract the value.
	args[argname] = unescape(value);          // Store as a property.
    }
    return args;                               // Return the object.
}


//讓文字反白
var blinkstatus= 0
var blinkcount=0
var blinkcolor=""
var blinkbgcolor=""
var blinkclassName=""
var blinkTimeout
var blinkIntervalID = ""
var blinkobj=""
function setBlink(obj) {
  blinkobj = obj
  
  //如果 obj 可能無法明確的被定義好, 可用下面2行
  
  //window.clearTimeout(blinkTimeout)  
  //blinkTimeout = window.setTimeout( 'blink()', 3000)  
  
  //否則用
  
    blink() ;
}
    
function blink() {      
  //反白
  if (blinkstatus==0) {
     if (blinkIntervalID) {clearInterval(blinkIntervalID);blinkIntervalID=""}
     blinkcolor = blinkobj.style.color
     blinkbgcolor = blinkobj.style.background
     blinkclassName =  blinkobj.className
     
     blinkobj.style.background = "blue"
     blinkobj.style.color = "white"
     blinkcount = blinkcount + 1;
     
     blinkstatus = 1;              
     blinkIntervalID = setInterval("blink()", 1000)  //設為正常               
  }  
  else {  
     if (blinkIntervalID) {clearInterval(blinkIntervalID);blinkIntervalID=""}
     blinkobj.style.color = blinkcolor
     blinkobj.style.background = blinkbgcolor
     blinkobj.className = blinkclassName 
     blinkstatus = 0 ;
     if (blinkcount<=3) blinkIntervalID = setInterval("blink()", 300)  //設為正常          
     else blinkcount=0 ;     
  }   

  return 
}



//推入一新item 進入Array, 最後一個移出 
//即Queue 的push method
//the length of array 不變
function pushArray(aArray, item) {
  LastItem = aArray[ aArray.length-1 ] ;
  for (i=aArray.length-1; i>0 ; i--) 
      aArray[i] = aArray[i-1] ;

  aArray[0] = item ;
  
  return LastItem ;  
}

function ByteCount(s) {
  Bytes=0 ;
  for (_i=0;_i<s.length;_i++) {
      if (s.charCodeAt(_i)>=255) Bytes=Bytes+2 ;
      else  Bytes=Bytes+1 ;
  }	
  
  return Bytes ;
}

function Bsubstr(s, L) {
  Bytes=0 ;
  for (_i=0;_i<s.length && Bytes<L;_i++) {
      if (s.charCodeAt(_i)>=255) Bytes=Bytes+2 ;
      else  Bytes=Bytes+1 ;
  }	
  
  return s.substr(0, _i) ;
}
