function prt(msg){
  try{
    console.log(msg);
  }
  catch(e){
    var w=document.createElement("div");
    with(w.style){
      borderBottom="dashed #996600 1px";
      backgroundColor="#FFF9EC";
      padding="8px";
      marginBottom="5px";
    }
    w.innerHTML=msg;
    (document.body).insertBefore(w,document.body.childNodes[0]);
  }
}
function expense(func,time){
  var starttime=(new Date()).getTime();
  for(var i=0;i<(time||1000);i++){
    eval(func);
  }
  var endtime=(new Date()).getTime();
  prt(endtime-starttime);
}
function $get(d){
  if(d){
    if(d.nodeType){
      return d;
    }else {
      if(typeof (d)==="string"){
        return document.getElementById(d);
      }else {
        if(length in d){
          var c=[];
          for(var b=0,a=d.length;b<a;++b){
            c.push($get(d[b]));
          }
          return c;
        }
      }
    }
    return d;
  }
  return null;
}
function $class(f,k){
  var b=[],g=new RegExp("\\b"+f+"\\b"),e=($get(k)||document).getElementsByTagName("*");
  for(var d=0,a=e.length;d<a;++d){
    var c=e[d].className;
    if(g.test(c)){
      b.push(e[d]);
    }
  }
  return b;
}
function addClass(b,a){
  var b=$get(b);
  if(!b.className){
    b.className=a;
  }else {
    if(!hasClass(b,a)){
      b.className+=" "+a;
    }else {
      return false;
    }
  }
}
function removeClass(c,a){
  var c=$get(c);
  var d=c.className;
  if(d){
    var b=new RegExp("\\b"+a+"\\b","ig");
    if(b.test(d)){
      c.className=d.replace(b,"");
    }
  }
}
function hasClass(b,c){
  var d=$get(b).className;
  var a=new RegExp("\\b"+c+"\\b");
  return d.match(a);
}
function insertAfter(c,b){
  var c=$get(c),b=$get(b);
  var a=b.parentNode;
  if(a.lastChild==b){
    a.appendChild(c);
  }else {
    a.insertBefore(c,b.nextSibling);
  }
}
function prepend(a,b){
  var b=$get(b),a=$get(a);
  if(b.firstChild){
    b.insertBefore(a,b.firstChild);
  }else {
    b.appendChild(a);
  }
}
function wrap(b,a){
  var a=$get(a);
  if(a.nextSibling){
    var c=a.nextSibling;
    c.parentNode.insertBefore(b,c);
  }else {
    if(a.previousSibling){
      insertAfter(b,a.previousSibling);
    }else {
      a.parentNode.appendChild(b);
    }
  }
  b.appendChild(a);
}
function clearDefault(a){
  a=window.event?window.event:a;
  if(a.preventDefault){
    a.preventDefault();
  }else {
    a.returnValue=false;
  }
}
function addEvent(a,c,b){
  var a=$get(a);
  if(document.attachEvent){
    a.attachEvent("on"+c,b);
  }else {
    if(document.addEventListener){
      a.addEventListener(c,b,false);
    }
  }
}
function removeEvent(a,c,b){
  var a=$get(a);
  if(document.detachEvent){
    a.detachEvent("on"+c,b);
  }else {
    if(document.removeEventListener){
      a.removeEventListener(c,b,false);
    }
  }
}
function isArray(a){
  return Object.prototype.toString.call(a)==="[object Array]";
}
function isString(a){
  return Object.prototype.toString.call(a)==="[object String]";
}
function isObject(a){
  return Object.prototype.toString.call(a)==="[object Object]";
}
function isDate(a){
  return Object.prototype.toString.call(a)==="[object Date]";
}
function isNumber(a){
  return Object.prototype.toString.call(a)==="[object Number]";
}
function isRegExp(a){
  return Object.prototype.toString.call(a)==="[object RegExp]";
}
function showSlow(ele,mode,time){
  var ele=$get(ele);
  if(ele.vvshowSlow){
    clearInterval(ele.vvshowSlow);
  }
  this.showAlpha=function(){
    if(ele.filters){
      if(ele.filters.alpha.opacity==100){
        clearInterval(ele.vvshowSlow);
        return false;
      }
      ele.filters.alpha.opacity+=5;
    }else {
      if(ele.style.opacity){
        if(ele.style.opacity=="1"){
          clearInterval(ele.vvshowSlow);
          return false;
        }
        ele.style.opacity=parseFloat(ele.style.opacity)+0.05;
      }
    }
  };
  this.showSpread=function(){
    if(parseInt(getStyle(ele,"paddingTop"))<ele.vvshowSlow_PT){
      ele.style.paddingTop=(parseInt(ele.style.paddingTop)+1)+"px";
    }else {
      if(parseInt(getStyle(ele,"height"))<ele.vvshowSlow_TH){
        ele.style.height=(parseInt(ele.style.height)+1)+"px";
      }else {
        if(parseInt(getStyle(ele,"paddingBottom"))<ele.vvshowSlow_PB){
          ele.style.paddingBottom=(parseInt(ele.style.paddingBottom)+1)+"px";
        }else {
          clearInterval(ele.vvshowSlow);
          with(ele.style){
            paddingTop=ele.vvshowSlow_PT;
            paddingBottom=ele.vvshowSlow_PB;
            height=ele.vvshowSlow_H;
            overflow=ele.vvshowSlow_OF;
          }
          return false;
        }
      }
    }
  };
  this.rightzoom=function(){
    if((parseInt(getStyle(ele,"paddingTop"))<ele.vvshowSlow_PT)||(parseInt(getStyle(ele,"paddingLeft"))<ele.vvshowSlow_PL)){
      if(parseInt(getStyle(ele,"paddingTop"))<ele.vvshowSlow_PT){
        ele.style.paddingTop=(parseInt(ele.style.paddingTop)+1)+"px";
      }
      if(parseInt(getStyle(ele,"paddingLeft"))<ele.vvshowSlow_PL){
        ele.style.paddingLeft=(parseInt(ele.style.paddingLeft)+1)+"px";
      }
    }else {
      if((parseInt(getStyle(ele,"height"))<ele.vvshowSlow_TH)||(parseInt(getStyle(ele,"width"))<ele.vvshowSlow_TW)){
        if(parseInt(getStyle(ele,"height"))<ele.vvshowSlow_TH){
          ele.style.height=(parseInt(ele.style.height)+1)+"px";
        }
        if(parseInt(getStyle(ele,"width"))<ele.vvshowSlow_TW){
          ele.style.height=(parseInt(ele.style.width)+1)+"px";
        }
      }else {
        if(parseInt(getStyle(ele,"paddingBottom"))<ele.vvshowSlow_PB){
          ele.style.paddingBottom=(parseInt(ele.style.paddingBottom)+1)+"px";
        }else {
          clearInterval(ele.vvshowSlow);
          with(ele.style){
            paddingTop=ele.vvshowSlow_PT;
            paddingBottom=ele.vvshowSlow_PB;
            height=ele.vvshowSlow_H;
            overflow=ele.vvshowSlow_OF;
          }
          return false;
        }
      }
    }
  };
  if(mode=="spread"||mode==1){
    ele.style.zoom=ele.style.zoom||"1";
    if(!ele.vvshowSlow){
      ele.vvshowSlow_PT=parseInt(getStyle(ele,"paddingTop"))||0;
      ele.vvshowSlow_PB=parseInt(getStyle(ele,"paddingBottom"))||0;
      ele.vvshowSlow_H=getStyle(ele,"height")||"auto";
      ele.vvshowSlow_TH=ele.clientHeight-ele.vvshowSlow_PT-ele.vvshowSlow_PB;
      ele.vvshowSlow_OF=getStyle(ele,"overflow");
      with(ele.style){
        height="0";
        paddingTop="0";
        paddingBottom="0";
        overflow="hidden";
      }
    }
    ele.vvshowSlow=setInterval(this.showSpread,time||20);
  }else {
    if(mode=="rightzoom"||mode==2){
      ele.style.zoom=ele.style.zoom||"1";
      if(!ele.vvshowSlow){
        ele.vvshowSlow_PL=parseInt(getStyle(ele,"paddingLeft"))||0;
        ele.vvshowSlow_PR=parseInt(getStyle(ele,"paddingRight"))||0;
        ele.vvshowSlow_PT=parseInt(getStyle(ele,"paddingTop"))||0;
        ele.vvshowSlow_PB=parseInt(getStyle(ele,"paddingBottom"))||0;
        ele.vvshowSlow_H=getStyle(ele,"height")||"auto";
        ele.vvshowSlow_TW=ele.clientWidth-ele.vvshowSlow_PL-ele.vvshowSlow_PR;
        ele.vvshowSlow_TH=ele.clientHeight-ele.vvshowSlow_PT-ele.vvshowSlow_PB;
        ele.vvshowSlow_OF=getStyle(ele,"overflow");
        with(ele.style){
          height="0";
          width="0";
          paddingLeft="0";
          paddingRight="0";
          paddingTop="0";
          paddingBottom="0";
          overflow="hidden";
        }
      }
      ele.vvshowSlow=setInterval(this.rightzoom,time||20);
    }else {
      with(ele.style){
        if(display=="none"){
          display="";
        }
        if(visibility=="hidden"){
          visibility="";
        }
        if(ele.filters){
          zoom=zoom||"1";
          if(!ele.filters.alpha){
            filter+="alpha(opacity=0)";
          }
        }else {
          if(opacity!=null){
            opacity=0;
          }else {
            return false;
          }
        }
      }
      ele.vvshowSlow=setInterval(this.showAlpha,time||80);
    }
  }
}
function getAttr(ele,v){
  var rs,ele=$get(ele);
  if(0){
    rs=ele.getAttribute(v,2);
  }else {
    rs=ele.getAttribute(v);
  }
  return rs;
}
function getValue(h){
  var b=[],f,a,g,d;
  if(h.nodeType){
    b=[h];
  }else {
    if(!h.nodeType&&typeof (h)=="object"){
      b=h;
    }else {
      if(typeof (h)=="string"){
        b=document.getElementsByName(h);
      }
    }
  }
  for(var e=0,c=b.length;e<c;++e){
    g=b[e];
    f=g.getAttribute("type");
    a=g.tagName;
    if((a=="INPUT"&&(f=="text"||f=="password"))||a=="TEXTAREA"||a=="SELECT"){
      d=g.value;
    }else {
      if(a=="INPUT"&&(f=="radio"||f=="checkbox")){
        if(g.checked==true){
          d=g.value;
        }
        continue ;
      }
    }
  }
  return d;
}
function getBrowser(b){
  var a=window.navigator.userAgent.toLowerCase();
  if(b){
    if(a.indexOf(b)!=-1){
      return true;
    }
  }else {
    return a;
  }
}
function getChildNodes(e){
  var b=[],e=$get(e),c=e.childNodes;
  for(var d=0,a=c.length;d<a;++d){
    if(c[d].nodeType!=1){
      continue ;
    }
    b.push(c[d]);
  }
  return b;
}
function getTotalHeight(b){
  var b=$get(b);
  var a=(b.offsetHeight||0)+(parseInt(getStyle(b,"marginTop"))||0)+(parseInt(getStyle(b,"marginBottom"))||0);
  return a;
}
function getTotalWidth(b){
  var b=$get(b);
  var a=(b.offsetWidth||0)+(parseInt(getStyle(b,"marginLeft"))||0)+(parseInt(getStyle(b,"marginRight"))||0);
  return a;
}
function getParas(b,e){
  var e=e||location.href;
  var c=e.substring(e.indexOf("?")+1,e.length).split("&");
  var a={};
  for(i=0;j=c[i];i++){
    a[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length);
  }
  var d=decodeURI(a[b.toLowerCase()]);
  if(typeof (d)=="undefined"){
    return "";
  }else {
    return d;
  }
}
function colorToHex(f){
  var e=/rgb\((\d{1,3}),(\s)*(\d{1,3}),(\s)*(\d{1,3})\)/;
  var l=/^\w+/;
  var c;
  if(e.test(f)){
    var d=e.exec(f);
    var k,h,a;
    k=parseInt(d[1]).toString(16);
    h=parseInt(d[3]).toString(16);
    a=parseInt(d[5]).toString(16);
    c="#"+(k<10?"0"+k:k)+(h<10?"0"+h:h)+(a<10?"0"+a:a);
  }else {
    c=f;
  }
  if(c.length==4&&!l.test(c)){
    c=c+c.split("#")[1];
  }
  return c;
}
function getStyle(c,a){
  var b,c=$get(c);
  if(c.style[a]){
    b=c.style[a];
  }else {
    if(window.getComputedStyle){
      a=a.replace(/([A-Z])/g,"-$1");
      b=window.getComputedStyle(c,"").getPropertyValue(a);
      if(a=="color"){
        b=colorToHex(b);
      }
    }else {
      if(c.currentStyle){
        b=c.currentStyle[a];
      }else {
        return null;
      }
    }
  }
  return b;
}
function include(file,args){
  var html_doc=document.getElementsByTagName("head")[0],re=/(\.css|\.js)/,fileType=file.toLowerCase().match(re)[1];
  var tag;
  if(fileType==".js"){
    tag=document.createElement("script");
    tag.setAttribute("type","text/javascript");
    tag.setAttribute("src",file);
  }else {
    if(fileType==".css"){
      tag=document.createElement("link");
      tag.setAttribute("rel","stylesheet");
      tag.setAttribute("type","text/css");
      tag.setAttribute("href",file);
    }
  }
  html_doc.appendChild(tag);
  var readyFunc=args?args.ready:null;
  if(readyFunc){
    tag.onreadystatechange=function(){
      if(tag.readyState=="complete"||tag.readyState=="loaded"){
        eval(readyFunc());
      }
    };
    tag.onload=function(){
      eval(readyFunc());
    };
  }
  return false;
}
function copy_clip(e,g){
  if(window.clipboardData){
    window.clipboardData.setData("Text",e);
  }else {
    if(window.netscape){
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
      var c=Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
      if(!c){
        return ;
      }
      var b=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
      if(!b){
        return ;
      }
      b.addDataFlavor("text/unicode");
      var f=new Object();
      var a=new Object();
      var f=Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
      var h=e;
      f.data=h;
      b.setTransferData("text/unicode",f,h.length*2);
      var d=Components.interfaces.nsIClipboard;
      if(!c){
        return false;
      }
      c.setData(b,null,d.kGlobalClipboard);
    }
  }
  if(g){
    alert(g);
  }
  return false;
}
function createXMLHttpRequest(){
  var a;
  if(window.ActiveXObject){
    try{
      a=new ActiveXObject("Msxml3.XMLHTTP");
    }
    catch(b){
      try{
        a=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(b){
        try{
          a=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(b){
        }
      }
    }
  }else {
    if(window.XMLHttpRequest){
      a=new XMLHttpRequest();
      if(a.overrideMimeType){
        a.overrideMimeType("text/xml");
      }
    }
  }
  return a;
}
function grabFile(file,args){
  var self=this;
  var request=createXMLHttpRequest();
  if(request){
    request.onreadystatechange=function(){
      if(request.readyState==1){
        if(args.loading){
          eval(args.loading(request));
        }
      }else {
        if(request.readyState==4){
          if(request.status==200||request.status==304){
            if(args.success){
              eval(args.success(request));
            }
          }else {
            if(args.fail){
              eval(args.fail(request));
            }
          }
        }
      }
    };
    request.open("GET",file,true);
    request.send(null);
    return true;
  }else {
    return false;
  }
}
function createXMLDOM(){
  var a;
  if(window.ActiveXObject){
    var a=new ActiveXObject("Microsoft.XMLDOM");
  }else {
    if(document.implementation&&document.implementation.createDocument){
      var a=document.implementation.createDocument("","doc",null);
    }
  }
  a.async=false;
  a.resolveExternals=false;
  a.validateOnParse=false;
  a.preserveWhiteSpace=true;
  return a;
}
function getXml(b){
  var a=createXMLDOM();
  if(a.load(b)){
    return a;
  }else {
    alert("Load XML Error");
  }
}
function navHighLight(a,c){
  if(!a){
    return false;
  }
  var k,b;
  k=a.getElementsByTagName("a");
  b=window.location.href;
  c=c||"lh";
  for(var e=0,d=k.length;e<d;e++){
    var f=k[e].getAttribute("href");
    var h=f.slice(-6,-1);
    var g=b.slice(-6,-1);
    if((b.indexOf(f)!=-1)&&(h==g)){
      addClass(k[e],c);
    }else {
      removeClass(k[e],c);
    }
  }
}
function resetFields(e,d){
  if(!e){
    return false;
  }
  for(var c=0;c<e.elements.length;c++){
    var b=e.elements[c];
    var a=this;
    if(b.type=="submit"||!b.defaultValue){
      continue ;
    }
    if(b.type=="password"&&d){
      a.pw=b;
    }
    addEvent(b,"focus",function(f){
      f=window.event||f;
      obj=f.srcElement||f.target;
      if(obj.value==obj.defaultValue){
        obj.value="";
        a.pw?(a.pw.value=""):"";
      }
    });
    addEvent(b,"blur",function(f){
      f=window.event||f;
      obj=f.srcElement||f.target;
      if(obj.value==""){
        obj.value=obj.defaultValue;
        a.pw?a.pw.value=a.pw.defaultValue:"";
      }
    });
  }
}
function setHome(b,a){
  var d=getBrowser("ie");
  var f=getBrowser("gecko");
  if(f){
    try{
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    }
    catch(c){
      window.sidebar.addPanel(a,b,a);
    }
  }else {
    if(d){
      document.body.style.behavior="url(#default#homepage)";
      document.body.setHomePage(b);
    }
  }
  return false;
}
function setFav(a,d){
  var b=getBrowser("ie");
  var c=getBrowser("gecko");
  if(c){
    window.sidebar.addPanel(d,a,d);
  }else {
    if(b){
      window.external.addFavorite(a,d);
    }
  }
}