function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() 
{ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_swapImage() 
{ //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() 
{ //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) 
  { 
    v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; 
  }
}

// 去除字串前後空白
function trim(strMessage)
{
  var strResult;
  var charTemp;
  var i;
  strResult = "";

  // remove the left space
  for(i=0; i<strMessage.length; i++)
  {
    charTemp = strMessage.charAt(i);
    if(charTemp != " ")
    {
      strResult = strMessage.substring(i);
      break;
    }
  }

  // remove the right space
  for(i=strResult.length-1; i>=0; i--)
  {
    charTemp = strResult.charAt(i);
    if(charTemp != " ")
    {
      strResult = strResult.substring(0,i+1);
      break;
    }
  }
  return (strResult);
}

function GetCookie(sNameP)
{
  sNameP += "=";
  var i = 0;
  var myCookie = document.cookie;
  while (i < myCookie.length)
  {
    var offset = i + sNameP.length;
    if (myCookie.substring(i, offset) == sNameP)
    {
      var endstr = myCookie.indexOf(";", offset);
      if (endstr == -1)
        endstr = myCookie.length;
      return unescape(myCookie.substring(offset, endstr));
    }
    i = myCookie.indexOf(" ", i) + 1;
    if (i == 0)
      break;
  }
  return null;
}

function checkpsnID(psnid)
{
  var x,x1,x2,a1,a2,a3,a4,a5,a6,a7,a8,a9,total;
  ret = true;
  x = psnid.substr(0, 1);
  x = x.toUpperCase();
  if(psnid.length != 10){ret = false;}
  else
  {
    if(x<"A" || x>"Z"){ret = false;}
    else
    {
      if(isNaN(psnid.substr(1, 9))){ret = false;}
      else
      {
        switch(x)
        {
          case "A": x1=1;x2=0;break;
          case "B": x1=1;x2=1;break;
          case "C": x1=1;x2=2;break;
          case "D": x1=1;x2=3;break;
          case "E": x1=1;x2=4;break;
          case "F": x1=1;x2=5;break;
          case "G": x1=1;x2=6;break;
          case "H": x1=1;x2=7;break;
          case "J": x1=1;x2=8;break;
          case "K": x1=1;x2=9;break;
          case "L": x1=2;x2=0;break;
          case "M": x1=2;x2=1;break;
          case "N": x1=2;x2=2;break;
          case "P": x1=2;x2=3;break;
          case "Q": x1=2;x2=4;break;
          case "R": x1=2;x2=5;break;
          case "S": x1=2;x2=6;break;
          case "T": x1=2;x2=7;break;
          case "U": x1=2;x2=8;break;
          case "V": x1=2;x2=9;break;
          case "X": x1=3;x2=0;break;
          case "Y": x1=3;x2=1;break;
          case "W": x1=3;x2=2;break;
          case "Z": x1=3;x2=3;break;
          case "I": x1=3;x2=4;break;
          case "O": x1=3;x2=5;break;
        }
        a1 = parseInt(psnid.substr(1,1));
        a2 = parseInt(psnid.substr(2,1));
        a3 = parseInt(psnid.substr(3,1));
        a4 = parseInt(psnid.substr(4,1));
        a5 = parseInt(psnid.substr(5,1));
        a6 = parseInt(psnid.substr(6,1));
        a7 = parseInt(psnid.substr(7,1));
        a8 = parseInt(psnid.substr(8,1));
        a9 = parseInt(psnid.substr(9,1));
        total = x1 + x2*9 + a1*8 + a2*7 + a3*6 + a4*5 + a5*4 + a6*3 + a7*2 + a8*1 + a9*1;
        if((total/10)!=Math.round(total/10)){ret = false;}
        else{ret = true;}
      }
    }
  }
  return(ret);
}

// Hashtable Function
var Collections = new Object();
Collections.Base = Class.create();
Collections.Base.prototype = 
{
  initialize:function()
  {
    this.count = 0 ;
    this.container = new Object();
  }
}
Collections.Hashtable = Class.create();
Collections.Hashtable.prototype = Object.extend(new Collections.Base(),
{ 
  add:function(key ,value)
  {
    if(!this.containsKey(key))
    {
      this.count++;
    }
    this.container[key] = value;
  },
  get:function(key)
  {
    if(this.containsKey(key))
    {
      return this.container[key];
    }
    else
    {
      return null;
    }
  },
  containsKey:function(key)
  {
    return (key in this.container);
  },
  containsValue:function(value)
  {
    for(var prop in this.container)
    {
      if(this.container[prop]==value)
      {
        return true;
      }
    }
    return false;
  },
  keys:function()
  {
    var keys = new Array();
    for(var prop in this.container)
    {
      keys.push(prop);
    }
    return keys;
  },
  values:function()
  {
    var values = new Array();
    for(var prop in this.container)
    {
      values.push(this.container[prop]);
    }
    return values;
  },
  remove:function()
  {
    if(this.containsKey(key))
    {
      delete this.container[key];
      this.count--;
    }
  }
}

); 