/*

Cross-Browser XMLHttpRequest v1.1
=================================

Emulate Gecko 'XMLHttpRequest()' functionality in IE and Opera. Opera requires
the Sun Java Runtime Environment <http://www.java.com/>.

by Andrew Gregory
http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/

This work is licensed under the Creative Commons Attribution License. To view a
copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send
a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.

Not Supported in Opera
----------------------
* user/password authentication
* responseXML data member

Not Fully Supported in Opera
----------------------------
* async requests
* abort()
* getAllResponseHeaders(), getAllResponseHeader(header)

*/
// IE support
<!--
if (window.ActiveXObject && !window.XMLHttpRequest) {
  window.XMLHttpRequest = function() {
    return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
  };
}
// Gecko support
/* ;-) */
// Opera support
if (window.opera && !window.XMLHttpRequest) {
  window.XMLHttpRequest = function() {
    this.readyState = 0; // 0=uninitialized,1=loading,2=loaded,3=interactive,4=complete
    this.status = 0; // HTTP status codes
    this.statusText = '';
    this._headers = [];
    this._aborted = false;
    this._async = true;
    this.abort = function() {
      this._aborted = true;
    };
    this.getAllResponseHeaders = function() {
      return this.getAllResponseHeader('*');
    };
    this.getAllResponseHeader = function(header) {
      var ret = '';
      for (var i = 0; i < this._headers.length; i++) {
        if (header == '*' || this._headers[i].h == header) {
          ret += this._headers[i].h + ': ' + this._headers[i].v + '\n';
        }
      }
      return ret;
    };
    this.setRequestHeader = function(header, value) {
      this._headers[this._headers.length] = {h:header, v:value};
    };
    this.open = function(method, url, async, user, password) {
      this.method = method;
      this.url = url;
      this._async = true;
      this._aborted = false;
      if (arguments.length >= 3) {
        this._async = async;
      }
      if (arguments.length > 3) {
        // user/password support requires a custom Authenticator class
        opera.postError('XMLHttpRequest.open() - user/password not supported');
      }
      this._headers = [];
      this.readyState = 1;
      if (this.onreadystatechange) {
        this.onreadystatechange();
      }
    };
    this.send = function(data) {
      if (!navigator.javaEnabled()) {
        alert("XMLHttpRequest.send() - Java must be installed and enabled.");
        return;
      }
      if (this._async) {
        setTimeout(this._sendasync, 0, this, data);
        // this is not really asynchronous and won't execute until the current
        // execution context ends
      } else {
        this._sendsync(data);
      }
    }
    this._sendasync = function(req, data) {
      if (!req._aborted) {
        req._sendsync(data);
      }
    };
    this._sendsync = function(data) {
      this.readyState = 2;
      if (this.onreadystatechange) {
        this.onreadystatechange();
      }
      // open connection
      var url = new java.net.URL(new java.net.URL(window.location.href), this.url);
      var conn = url.openConnection();
      for (var i = 0; i < this._headers.length; i++) {
        conn.setRequestProperty(this._headers[i].h, this._headers[i].v);
      }
      this._headers = [];
      if (this.method == 'POST') {
        // POST data
        conn.setDoOutput(true);
        var wr = new java.io.OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();
        wr.close();
      }
      // read response headers
      // NOTE: the getHeaderField() methods always return nulls for me :(
      var gotContentEncoding = false;
      var gotContentLength = false;
      var gotContentType = false;
      var gotDate = false;
      var gotExpiration = false;
      var gotLastModified = false;
      for (var i = 0; ; i++) {
        var hdrName = conn.getHeaderFieldKey(i);
        var hdrValue = conn.getHeaderField(i);
        if (hdrName == null && hdrValue == null) {
          break;
        }
        if (hdrName != null) {
          this._headers[this._headers.length] = {h:hdrName, v:hdrValue};
          switch (hdrName.toLowerCase()) {
            case 'content-encoding': gotContentEncoding = true; break;
            case 'content-length'  : gotContentLength   = true; break;
            case 'content-type'    : gotContentType     = true; break;
            case 'date'            : gotDate            = true; break;
            case 'expires'         : gotExpiration      = true; break;
            case 'last-modified'   : gotLastModified    = true; break;
          }
        }
      }
      // try to fill in any missing header information
      var val;
      val = conn.getContentEncoding();
      if (val != null && !gotContentEncoding) this._headers[this._headers.length] = {h:'Content-encoding', v:val};
      val = conn.getContentLength();
      if (val != -1 && !gotContentLength) this._headers[this._headers.length] = {h:'Content-length', v:val};
      val = conn.getContentType();
      if (val != null && !gotContentType) this._headers[this._headers.length] = {h:'Content-type', v:val};
      val = conn.getDate();
      if (val != 0 && !gotDate) this._headers[this._headers.length] = {h:'Date', v:(new Date(val)).toUTCString()};
      val = conn.getExpiration();
      if (val != 0 && !gotExpiration) this._headers[this._headers.length] = {h:'Expires', v:(new Date(val)).toUTCString()};
      val = conn.getLastModified();
      if (val != 0 && !gotLastModified) this._headers[this._headers.length] = {h:'Last-modified', v:(new Date(val)).toUTCString()};
      // read response data
      var reqdata = '';
      var stream = conn.getInputStream();
      if (stream) {
        var reader = new java.io.BufferedReader(new java.io.InputStreamReader(stream));
        var line;
        while ((line = reader.readLine()) != null) {
          if (this.readyState == 2) {
            this.readyState = 3;
            if (this.onreadystatechange) {
              this.onreadystatechange();
            }
          }
          reqdata += line + '\n';
        }
        reader.close();
        this.status = 200;
        this.statusText = 'OK';
        this.responseText = reqdata;
        this.readyState = 4;
        if (this.onreadystatechange) {
          this.onreadystatechange();
        }
        if (this.onload) {
          this.onload();
        }
      } else {
        // error
        this.status = 404;
        this.statusText = 'Not Found';
        this.responseText = '';
        this.readyState = 4;
        if (this.onreadystatechange) {
          this.onreadystatechange();
        }
        if (this.onerror) {
          this.onerror();
        }
      }
    };
  };
}
// ActiveXObject emulation
if (!window.ActiveXObject && window.XMLHttpRequest) {
  window.ActiveXObject = function(type) {
    switch (type.toLowerCase()) {
      case 'microsoft.xmlhttp':
      case 'msxml2.xmlhttp':
        return new XMLHttpRequest();
    }
    return null;
  };
}

function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

var BBSXml = function(){}

BBSXml.prototype.GetHttpRequest = function()
{
  return new XMLHttpRequest();
}

BBSXml.prototype.GetUrlText = function( urlToCall, asyncFunctionPointer )
{
  var oBBSXml = this ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  asyncFunctionPointer( oXmlHttp.responseText ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.send( null ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.GetUrlText = function( urlToCall, asyncFunctionPointer, asyncErrorFunctionPointer )
{
  var oBBSXml = this ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  asyncFunctionPointer( oXmlHttp.responseText ) ;
		}
		else {
		  asyncErrorFunctionPointer() ;
		}
	  }
	}
  }
  oXmlHttp.send( null ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  asyncErrorFunctionPointer() ;
	}
  }
}

BBSXml.prototype.PostUrlText = function( urlToCall, data, asyncFunctionPointer )
{
  var oBBSXml = this ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "POST", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  asyncFunctionPointer( oXmlHttp.responseText ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  oXmlHttp.send( data ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.GetUrlXml = function( urlToCall, asyncFunctionPointer )
{
  var oBBSXml = this ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
    {
      if ( oXmlHttp.readyState == 4 ) {
        if ( oXmlHttp.status == 200 ) {
          asyncFunctionPointer( oXmlHttp.responseXML ) ;
        }
        else {
          alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
        }
      }
    }
  }
  oXmlHttp.send( null ) ;

  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.PostUrlXml = function( urlToCall, data, asyncFunctionPointer )
{
  var oBBSXml = this ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "POST", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  asyncFunctionPointer( oXmlHttp.responseXML ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  oXmlHttp.send( data ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

//--BBSXml with Object
BBSXml.prototype.GetUrlTextInObj = function( urlToCall, asyncFunctionPointer )
{
  var oBBSXml = this ;
  //var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'object' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  //asyncFunctionPointer( oXmlHttp.responseText ) ;
                  asyncFunctionPointer.execute( oXmlHttp.responseText ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.send( null ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.PostUrlTextInObj = function( urlToCall, data, asyncFunctionPointer )
{
  var oBBSXml = this ;
  //var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'object' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "POST", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
		  //asyncFunctionPointer( oXmlHttp.responseText ) ;
                  asyncFunctionPointer.execute( oXmlHttp.responseText ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  oXmlHttp.send( data ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.GetUrlXmlInObj = function( urlToCall, asyncFunctionPointer )
{
  var oBBSXml = this ;
  //var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'object' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "GET", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
    {
      if ( oXmlHttp.readyState == 4 ) {
        if ( oXmlHttp.status == 200 ) {
          //asyncFunctionPointer( oXmlHttp.responseXML ) ;
          asyncFunctionPointer.execute( oXmlHttp.responseXML ) ;
        }
        else {
          alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
        }
      }
    }
  }
  oXmlHttp.send( null ) ;

  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}

BBSXml.prototype.PostUrlXmlInObj = function( urlToCall, data, asyncFunctionPointer )
{
  var oBBSXml = this ;
  //var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
  var bAsync = ( typeof(asyncFunctionPointer) == 'object' ) ;
  var oXmlHttp = this.GetHttpRequest() ;
  oXmlHttp.open( "POST", urlToCall, bAsync ) ;
  if ( bAsync ) {
    oXmlHttp.onreadystatechange = function()
	{
	  if ( oXmlHttp.readyState == 4 ) {
	    if ( oXmlHttp.status == 200 ) {
                  asyncFunctionPointer.execute( oXmlHttp.responseXML ) ;
		}
		else {
		  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
		}
	  }
	}
  }
  oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  oXmlHttp.send( data ) ;
  if ( ! bAsync ) {
    if ( oXmlHttp.status == 200 ) {
	  this.DOMDocument = oXmlHttp.responseXML ;
	}
	else {
	  alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
	}
  }
}
//--
function changeStyle(elementID,toStyle) {
  document.getElementById(elementID).className=toStyle;
}

function getRadioValue(formName,radioName) {
  var radios = eval("document."+formName+"."+radioName);
  for (var i = 0; i < radios.length; i++) {
    if (radios[i].checked) {
      return radios[i].value;
    }
  }
}

function getRadioValueByName(radioName) {
   var radioValues = document.getElementsByName(radioName);
   for (var i = 0; i < radioValues.length; i++) {
    if (radioValues[i].checked) {
      return radioValues[i].value;
    }
  }
}

function getCheckBoxValue(checkBoxName) {
  var checkBox = document.getElementById(checkBoxName);
  if (checkBox.checked) {
    return checkBox.value;
  }
  return "";
}

function getCheckBoxSingleValue(checkBoxId) {
  var checkBoxs = document.getElementsByName(checkBoxId);
  for (var i = 0; i < checkBoxs.length; i++) {
    if (checkBoxs[i].checked) {
      return checkBoxs[i].value;
    }
  }
  return "";
}

var req;

function executeXhrOfPost(callback, url,data) {
  req = new XMLHttpRequest();
  if (req) {
    req.onreadystatechange = callback;
    req.open("POST", url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send(data);
  }
}

function executeXhrOfGet(callback, url) {
  req = new XMLHttpRequest();
  if (req) {
    req.onreadystatechange = callback;
    req.open("GET", url, true);
    req.send();
  }
}

function getResponseXMLMsgs(responseXML) {
  return responseXML.getElementsByTagName("messages")[0];
}

function getResponseXMLMsgsCodeid(responseXML) {
  var messages = getResponseXMLMsgs(responseXML);
  //alert(messages);
  //alert(messages.childNodes[1].childNodes[0].nodeValue);
  //alert("messages.childNodes[0].childNodes[0]:"+messages.childNodes[0].childNodes[0]);
  var x = messages.childNodes;
  for (i = 0; i < x.length; i++) {
    if (x[i].nodeName == "codeid") {
      return x[i].childNodes[0].nodeValue;
    }
  }
  return "E000";
  //return messages.childNodes[0].childNodes[0].nodeValue;
}

function getResponseXMLMsgsMessage(responseXML) {
  var messages = getResponseXMLMsgs(responseXML);
  //alert(messages);
  var x = messages.childNodes;
  for (i = 0; i < x.length; i++) {
    if (x[i].nodeName == "message") {
      return x[i].childNodes[0].nodeValue;
    }
  }
  //return messages.childNodes[1].childNodes[0].nodeValue;
  return "Error";
}

function getResponseXMLMsgsText(responseXML) {
  var messages = getResponseXMLMsgs(responseXML);
  //alert(messages);
  var x = messages.childNodes;
  for (i = 0; i < x.length; i++) {
    if (x[i].nodeName == "text") {
      return x[i].childNodes[0].nodeValue;
    }
  }
  //return messages.childNodes[2].childNodes[0].nodeValue;
  return "";
}

function hiddenElement(elementName) {
  document.getElementById(elementName).style.display = "none";
}

function displayElement(elementName) {
  document.getElementById(elementName).style.display = "block";
}

function filterString(txt) {
  var re = /\+/;
  return txt.replace(re,"%2B");
}

function getElementValue(elementName) {
  return $(elementName).value;
}

function getElementFilterValue(elementName) {
  return filterString($(elementName).value);
}

function handleEnter(field, event) {
  var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
  if (keyCode == 13) {
    return false;
  }
  return true;
}

function startsWith(txt,tar) {
  if (txt.indexOf(tar) == 0) {
    return true;
  }
  else {
    return false;
  }
}

function endsWith(txt,tar) {
  var num = txt.lastIndexOf(tar);
  if ((num != -1) && (tar == txt.substring(num,txt.length))) {
    return true;
  }
  else {
    return false;
  }
}

function getActionMappingName(action) {
  var value = action;
  var question = action.indexOf("?");
  if (question >= 0) {
    value = value.substring(0, question);
  }

  var slash = value.lastIndexOf("/");
  var period = value.lastIndexOf(".");
  if ((period >= 0) && (period > slash)) {
    value = value.substring(0, period);
  }

  return startsWith(value,"/") ? value : ("/" + value);
}

function getActionMappingURL(action) {
  var value = contextPath;
  var servletMapping = servletMappingStr;
  var queryString;
  var question = action.indexOf("?");
  if (question >= 0) {
    queryString = action.substring(question);
  }

  var actionMapping = getActionMappingName(action);
  if (startsWith(servletMapping,"*.")) {
    value += actionMapping;
    value += servletMapping.substring(1);
  }
  else if (endsWith(servletMapping,"/*")) {
    value += servletMapping.substring(0, servletMapping.length - 2);
    value += actionMapping;
  }
  else if (servletMapping == "/") {
    value += actionMapping;
  }
  if (queryString != undefined) {
    value += queryString;
  }
  return value;
}

function getExtName(fileName){
    if(fileName.lastIndexOf(".")<0) return "";
    return fileName.substring(fileName.lastIndexOf(".")+1,fileName.length).toLowerCase();
}
function tabit(tabName,btnId,tabNumber){
	for(i=0;i<tabNumber;i++){
	if($("tbl"+tabName+i)){
		$("tbl"+tabName+i).style.display = "none";
	}
	//	alert(tabName+"_btn"+i);
		$(tabName+"_div"+i).style.display = "none";
		$(tabName+"_btn"+i).className = "off";
	}
	if($("tbl"+tabName+btnId)){
		$("tbl"+tabName+btnId).style.display = "";
	}
	if(btnId>=3){
		$("tbl"+tabName+"2").style.display = "";
		$(tabName+"_div"+"2").style.display = "block";
		$(tabName+"_btn"+"2").className = "on";
  		$(tabName+"_div"+"2").innerHTML = adminPageLoading;
  		$(tabName+"_div"+"2").align="center";
	}else{
		$(tabName+"_div"+btnId).style.display = "block";
		$(tabName+"_btn"+btnId).className = "on";
  		$(tabName+"_div"+btnId).innerHTML = adminPageLoading;
  		$(tabName+"_div"+btnId).align="center";
	}
  	if(tabName.indexOf('compLogin')>-1){
  		doCompLoginAjaxReq(tabName,btnId);
  	}else if(tabName.indexOf('tab')>-1){
  		doIndexPartNews(tabName,btnId);
  	}else if(tabName.indexOf('leave')>-1){
  		doLeaveAjaxReq(tabName,btnId);
  	}
}

function tabitMessage(tabName,btnId,tabNumber){
	for(i=0;i<tabNumber;i++){
	if($("tbl"+tabName+i)){
		$("tbl"+tabName+i).style.display = "none";
	}
		$(tabName+"_div"+i).style.display = "none";
		$(tabName+"_btn"+i).className = "off";
	}
	if($("tbl"+tabName+btnId)){
		$("tbl"+tabName+btnId).style.display = "";
	}
	$(tabName+"_div"+btnId).style.display = "block";
	$(tabName+"_btn"+btnId).className = "on";
}

function showLeave(tabName,btnId,tabNumber){
	for(i=0;i<tabNumber;i++){
	if($("tbl"+tabName+i)){
		$("tbl"+tabName+i).style.display = "none";
	}
	//	alert(tabName+"_btn"+i);
		$(tabName+"_div"+i).style.display = "none";
		$(tabName+"_btn"+i).className = "off";
	}
	if($("tbl"+tabName+btnId)){
		$("tbl"+tabName+btnId).style.display = "";
	}
	$(tabName+"_div"+btnId).style.display = "block";
	$(tabName+"_btn"+btnId).className = "on";
}
function doIndexPartNews(tabName,btnId){
  	var url,pars,myAjax;
  	url = "/jianzhi.aspx";
 // 	alert(tabName+btnId);
  	pars = "method="+tabName+btnId;
	if(btnId>=3){
  		myAjax = new Ajax.Updater(tabName+"_div2", url, {method: 'get', parameters: pars});
  	}else{
  		myAjax = new Ajax.Updater(tabName+"_div"+btnId, url, {method: 'get', parameters: pars});
  	}
}

function doCompLoginAjaxReq(tabName,btnId){
  	var url,pars,myAjax;
  	url = "/index.aspx";
  	pars = "method="+tabName+btnId;
  	myAjax = new Ajax.Updater(tabName+"_div"+btnId, url, {method: 'get', parameters: pars});
}
function doLeaveAjaxReq(tabName,btnId){
  	var url,pars,myAjax;
  	url = "/index.aspx";
  	pars = "method="+tabName+btnId;
  	myAjax = new Ajax.Updater(tabName+"_div"+btnId, url, {method: 'get', parameters: pars});
}

function doIndexPartNewsOther(){
  	var url,pars,myAjax;
  	url = "/jianzhi.aspx";
  	pars = "method=knowledge";
  	$(knowledge).innerHTML = adminPageLoading;
  	$(knowledge).align="center";
  	myAjax = new Ajax.Updater("knowledge", url, {method: 'get', parameters: pars});
  	pars = "method=partNews";
  	$(partNews).innerHTML = adminPageLoading;
  	$(partNews).align="center";
  	myAjax = new Ajax.Updater("partNews", url, {method: 'get', parameters: pars});
}
function doUserOP(o){
  	var url,pars,myAjax;
  	if(o=='mybox'){
	  url = "/note.bbscs";
	  myAjax = new Ajax.Updater("userOpDiv", url, {method: 'get'});
	  var url = getActionMappingURL("/note?action=inbox&ajax=shtml");
	  var oBBSXml = new BBSXml();
	  oBBSXml.GetUrlText(url, loadNoteInboxComplete);
	  showInboxNum();
	  showOutboxNum();
  	}else{
	  	url = "/user/opController.aspx";
	  	pars = "method="+o;
	  	myAjax = new Ajax.Updater("userOpDiv", url, {method: 'get', parameters: pars});
  	}
}
function doCompOP(o){
  	var url,pars,myAjax;
	url = "/comp/opController.aspx";
	pars = "method="+o;
	myAjax = new Ajax.Updater("right", url, {method: 'get', parameters: pars});
}
function doUserEditPersonInfo(m,o){
  	var url,pars,myAjax;
  	url = "/"+m+".aspx";
  	pars = "id="+o;
  	myAjax = new Ajax.Updater("userOpDiv", url, {method: 'get', parameters: pars});
}
function doUserEditCompInfo(m,o){
  	var url,pars,myAjax;
  	url = "/"+m+".aspx";
  	pars = "id="+o;
  	myAjax = new Ajax.Updater("compOpDiv", url, {method: 'get', parameters: pars});
}
function doJobCountByAddr(id){
  	var url,pars,myAjax;
  	url = "/sysuser/worksCountByAddr.aspx";
  	pars = "id="+id;
  	myAjax = new Ajax.Updater("province"+id, url, {method: 'get', parameters: pars});
}
function doindexVote(num){
	var tt="";
	for(var i=1;i<num+1;i++){
		var t=document.getElementById('Item'+i);
		if(t.checked){
			tt+=t.value+",";
		}
	}
	if(tt==""){
		alert("请至少选择一项");
		return false;
	}
	doVotea(tt);
}
function doVotea(id){
    var pars="id="+id+"&ajax=1";
	var myAjax = new Ajax.Request("/vote.aspx", {method: 'post', parameters: pars, onComplete: voteCompleteda.bind(this)});
}
function voteCompleteda(res) {
    resXML = res.responseXML;
    alert(getResponseXMLMsgsMessage(resXML));
}

function doAddComment(){
    var pars="id="+document.getElementById('id').value+"&userId="+document.getElementById('userId').value+"&userName="+document.getElementById('userName').value+"&jobcomment="+document.getElementById('jobcomment').value+"&ajax=1";
	var myAjax = new Ajax.Request("/user/addJobComment.aspx", {method: 'post', parameters: pars, onComplete: addCommentR.bind(this)});
}
function addCommentR(res) {
    resXML = res.responseXML;
    alert(getResponseXMLMsgsMessage(resXML));
    window.location.reload();
}
var typea="";
var citya="00";
var numbera="";
var lia="";
var liida="";
function change_option(number,li,liid,type,city,page){
	for (var i = 0; i <number; i++) {
	     var t=document.getElementById(li+i)
	     if(t){
	     t.className = '';
		}
	}
	if(li+liid=='i0'){
		var ttt=document.getElementById('c0');
		if(ttt){
			ttt.className="selected";
		}
	}
 	var tt=document.getElementById(li+liid);
 	if(tt){
 		tt.className = 'selected';
 	}
 	$('contentMain').innerHTML = adminPageLoading;
 	$('contentMain').align="center";
  	$('contentMain').valign="middle";
  	var url,pars,myAjax;
  	url = "/dojianzhi.aspx";
  	if(type==""){
  		type=typea;
  	}
  	if(number==""){
  		number=numbera;
  	}
  	if(li==""){
  		li=lia;
  	}
  	if(liid==""){
  		liid=liida;
  	}
  	if(city==""){
  		city=citya;
  	}
  	numbera=number;
  	lia=li;
  	liida=liid;
  	typea=type;
  	citya=city;
  	pars = "id="+type+"&c="+city;
	if(page&&page!=""){
		pars=pars+"&page="+page;
	}
//	alert(pars);
  	myAjax = new Ajax.Updater("contentMain", url, {method: 'get', parameters: pars});
}
function searchJobsByZhongjieType(id,type){
  	var url,pars,myAjax;
  	url = "/search/searchJobsByCompIdType.aspx";
 	$('list').innerHTML = adminPageLoading;
 	$('list').align="center";
  	$('list').valign="middle";
  	pars = "id="+id+"&type="+type;
  	myAjax = new Ajax.Updater("list", url, {method: 'get', parameters: pars});
}
function doChangePage(page){
	change_option("","","","","",page);
}
function changeCityA(id){
	if(id=='home'){
		document.getElementById('ttPic').src="/images/a/logo1.gif";
	}else{
		document.getElementById('ttPic').src="/images/fen/"+id+".gif";
	}
	var pars="id="+id;
	var myAjax = new Ajax.Request("/sysuser/changeCityAdmin.aspx", {method: 'post', parameters: pars, onComplete: addCommentA.bind(this)});
}
function addCommentA(res) {
	var tt=window.frames['main'].location.href;
  	window.frames['main'].location.href=tt;
  	window.parent.location.reload();
}
function doCheckEmail(email){
	var pars="type=Email&id="+email+"&ajax=1";
	var myAjax = new Ajax.Request("/commonReq.aspx", {method: 'post', parameters: pars, onComplete: checkEmailA.bind(this)});
}

function doCheckCompEmail(email){
	var pars="type=CompEmail&id="+email+"&ajax=1";
	var myAjax = new Ajax.Request("/commonReq.aspx", {method: 'post', parameters: pars, onComplete: checkEmailComp.bind(this)});
}

function doCheckCompUserName(email){
	var pars="type=CompanyUserName&id="+email+"&ajax=1";
	var myAjax = new Ajax.Request("/commonReq.aspx", {method: 'post', parameters: pars, onComplete: checkEmailComp.bind(this)});
}

function checkEmailA(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="1"){
    	document.getElementById("ppersonEmailTd").style.display="";
    	document.getElementById("ppersonEmailokImg").style.display="none";
    	document.getElementById("ppersonEmailTd").innerText=getResponseXMLMsgsMessage(resXML);
    	var tt=document.getElementById("ppersonEmail");
		tt.focus();
		tt.select();
    	
    }else if(codeid=="0"){
    	document.getElementById("ppersonEmailTd").style.display="none";
    	document.getElementById("ppersonEmailokImg").style.display="";
    }
    return codeid;
}


function checkEmailComp(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="1"){
    	document.getElementById("ccompanyUserEmailTd").style.display="";
    	document.getElementById("ccompanyUserEmailokImg").style.display="none";
    	document.getElementById("ccompanyUserEmailTd").innerText=getResponseXMLMsgsMessage(resXML);
    	var tt=document.getElementById("ccompanyUserEmail");
		tt.focus();
		tt.select();
    }else if(codeid=="0"){
    	document.getElementById("ccompanyUserEmailTd").style.display="none";
    	document.getElementById("ccompanyUserEmailokImg").style.display="";
    }else if(codeid=="3"){
    	document.getElementById("ccompanyUserNameTd").style.display="none";
    	document.getElementById("ccompanyUserNameokImg").style.display="";
    }else if(codeid=="4"){
    	document.getElementById("ccompanyUserNameTd").style.display="";
    	document.getElementById("ccompanyUserNameokImg").style.display="none";
    	document.getElementById("ccompanyUserNameTd").innerText=getResponseXMLMsgsMessage(resXML);
    	var tt=document.getElementById("ccompanyUserName");
		tt.focus();
		tt.select();
    }
    return codeid;
}

function doCheckUserName(name){
	var pars="type=UserName&id="+name+"&ajax=1";
	var myAjax = new Ajax.Request("/commonReq.aspx", {method: 'post', parameters: pars, onComplete: checkUserNameA.bind(this)});
}
function checkUserNameA(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="1"){
    	document.getElementById("ppersonLogonNameTd").style.display="";
    	document.getElementById("ppersonLogonNameokImg").style.display="none";
    	document.getElementById("ppersonLogonNameTd").innerText=getResponseXMLMsgsMessage(resXML);
    }else if(codeid=="0"){
    	document.getElementById("ppersonLogonNameTd").style.display="none";
    	document.getElementById("ppersonLogonNameokImg").style.display="";
    }
}
//1周末兼职， 2寒暑假兼职，  3节假日兼职，  4校园专题，  5家教专题，  6家政专题
function doChangeTabOnFenLeiZhuanTi(a,t){
	if(a=='a'){
		if(t=="2"){
			changeTabOnFenLeiZhuanTi(a,"6");//家政专题
		}else{
		}
	}else if(a=='b'){
		if(t=="2"){
			changeTabOnFenLeiZhuanTi(a,"3");//ok
		}else{
		}
	}else if(a=='c'){
		if(t=="2"){
			changeTabOnFenLeiZhuanTi(a,"2");//ok
		}else if(t=="3"){
			changeTabOnFenLeiZhuanTi(a,"5");//家教类
		}else{
		}
	}else{
		alert("Error");
	}
}
function changeTabOnFenLeiZhuanTi(a,t){
  	var url,pars,myAjax;
  	url = "/zhuanti.aspx";
  	pars = "displayType="+t+"&div="+a;
  	myAjax = new Ajax.Updater(a+"new_list2", url, {method: 'get', parameters: pars});
}

function doTest2(t){
  	var url,pars,myAjax;
  	url = "/indexPartNews.aspx";
  	pars = "method=new_incLastNeed"+t;
  	myAjax = new Ajax.Updater("new_list2", url, {method: 'get', parameters: pars});
}
var adminPageLoading ="<td><img src='/images/loading_green.gif'></td>";

function doTest3(num){
  	var url,pars,myAjax;
  	url = "/index.aspx";
  	pars = "method=incPic4"+num
  	myAjax = new Ajax.Updater("tt", url, {method: 'get', parameters: pars});
}
var aaa="";
function doTest4(num,id,id1){
  	var url,pars,myAjax;
  	url = "/zhongjie.aspx";
  	aaa=id1;
  	if(aaa&&aaa!=""){
	  	pars = "method=zhongjielist"+num+"&id="+aaa;
  	}else{
	  	var t =window.location.search.substr(4,window.location.search.length);
	  	if(t){
	  		pars = "method=zhongjielist"+num+"&id="+t;
	  	}else{
	  		pars = "method=zhongjielist"+num;
	  	}
  	}
  	if(id){
  		pars = "method=zhongjielist"+num+"&id="+id;
  	}
 // 	alert(pars);
  	myAjax = new Ajax.Updater("ttt", url, {method: 'get', parameters: pars});
}
function doTest111(page){
	if(page>-1){
		var pars="page="+page;
 		myAjax = new Ajax.Updater("myzhaopinlista", "/comp/mydesktop.aspx", {method: 'get', parameters: pars});
  	}else{
  		alert("页码不对！");
  	}
}
function doTest2222(page,type,div){
	if(page>-1){
		var pars="page="+page+"&type="+type;
 		myAjax = new Ajax.Updater(div, "/comp/showMyAccount.aspx", {method: 'get', parameters: pars});
  	}else{
  		alert("页码不对！");
  	}
}
function doTest55555(page,a,b){
	var pars="page="+page+"&type="+a+"&keyword="+b;
 	myAjax = new Ajax.Updater("contentMain", "/search/zhuanti.aspx", {method: 'get', parameters: pars});
}
function doTest666666(page,a,b,c){
	var pars="page="+page+"&pro="+a+"&city="+b+"&zj="+c;
 	myAjax = new Ajax.Updater("contentMain", "/search/searchJobsByProCityZj.aspx", {method: 'get', parameters: pars});
}
function doTest777777(page,a,b,c){
	var pars="page="+page+"&pro="+a+"&type="+b+"&keyword="+c;
 	myAjax = new Ajax.Updater("contentMain", "/search/SearchJob.aspx", {method: 'get', parameters: pars});
}
function loadJobInfoDetailByCompId(id){
	document.getElementById("comp-body-mid").style.display="none";
	document.getElementById("job-comp-body-mid").style.display="";
	document.getElementById("tt").style.display="";
	document.getElementById("ttt").style.display="";
  	new Ajax.Updater("job-comp-body-mid", "/compJobInfoPre.aspx", {method: 'get', parameters: "id="+id+"&src=compPre"});
}

function doSetCompPic(id,type){
    var pars="id="+id+"&curAction="+type+"&returnUrl=/comp/mypic.aspx";
	//opImage.aspx?id=<c:out value="${imageb.imageId}"/>&curAction=del
	var myAjax = new Ajax.Request("/opImage.aspx", {method: 'post', parameters: pars});
	if(type=="setCompTempl"){
		alert("操作成功,请预览公司主页吧～");
	}else{
		alert("操作成功！");
		window.location.reload();
	}
}
function doSetCompPicWithId(id,type,cId){
	var pars="id="+id+"&curAction="+type+"&returnUrl=/comp/myprofile_e.aspx"+"&oldid="+cId;
	var myAjax = new Ajax.Request("/opImage.aspx", {method: 'post', parameters: pars});
	if(type=="setCompTempl"){
		alert("操作成功,请预览公司主页吧～");
	}
}
function doChangeCompPic(id,type,oldid){
    var pars="id="+id+"&curAction="+type+"&oldid="+oldid+"&returnUrl=/comp/mypic.aspx";
	//opImage.aspx?id=<c:out value="${imageb.imageId}"/>&curAction=del
	var myAjax = new Ajax.Request("/opImage.aspx", {method: 'post', parameters: pars,onComplete: windowdotrefresh.bind(this)});
}
function windowdotrefresh(){
	alert("操作成功！");
//	document.getElementById("opSucc").innerHTML="操作成功！";
	window.location.reload();
}
function countPersonNumByProvince(province,city){
	var pars="";
	if(province&&province!="00"){
		pars="type=checknum"+"&checkPronum="+province;
	}
	if(city&&city!="00"){
		pars=pars+"&checkcitynum="+city;
	}
	new Ajax.Updater("rencainumdiv", "/comp/do_SearchRC.aspx", {method: 'get', parameters: pars});
}
function showContactBySearchRCK(personId,biId){
	var pars = "person="+personId+"&BiId="+biId;
	new Ajax.Updater("showContactFangshi", "/bill/b_ForShowContactBySearchRCK.aspx", {method: 'get', parameters: pars});
}
function addIdsToSess(ids){
    var pars="id="+ids;
	var myAjax = new Ajax.Request("/sysuser/dealEmailListInSession.aspx", {method: 'post', parameters: pars,onComplete: addtoEmailListResult.bind(this)});
}
function addtoEmailListResult(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="0"){
    	alert("加入成功");
    }else if(codeid=="1"){
    	alert("参数有误");
    }else if(codeid=="2"){
    	alert("浏览器Session有误,或所选企业的邮箱格式不对");
    }else if(codeid=="3"){
    	alert("发送测试邮件成功，打开邮箱看看格式对不对，有问题在改下，在发测试邮件，直到ok为止。");
    }else if(codeid=="4"){
    	alert("发送邮件出错");
    	document.getElementById('error').innerText=getResponseXMLMsgsMessage(resXML);
    }else if(codeid=='5'){
    	alert("清除所有所选成功");
    }else if(codeid=='6'){
    	alert("操作成功");
    }
}
function sendTestEmail(emailtitle){
    var pars="method=readySend&emailtitle="+emailtitle+"&emailContext=测试成功。";
	var myAjax = new Ajax.Request("/sysuser/setEmailForInSession.aspx", {method: 'post', parameters: pars,onComplete: addtoEmailListResult.bind(this)});
}
function adCheckJobInfoAjax(setto,mailId,ccompJobInfoId,reason){
	var pars="action=set&mailId="+mailId+"&id="+ccompJobInfoId+"&setto="+setto;
	if(setto=='0'){
		pars=pars+"&reason="+reason;
	}
	var myAjax = new Ajax.Request("/sysuser/checkJobInfo_GroupMail_Comp.aspx", {method: 'post', parameters: pars,onComplete: addtoEmailListResult.bind(this)});	
}
function adCheckOkUpToYZ(id){
	var pars="action=changeType&from=5&to=4&id="+id;
	var myAjax = new Ajax.Request("/sysuser/adminEditComp.aspx", {method: 'post', parameters: pars,onComplete: adCheckCompUpGradeResult.bind(this)});	
}
function adCheckCompUpGradeResult(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="0"){
    	alert("提交成功");
    }
}
function submitNotCheckPassYZ(id){
	var pars="action=changeType&from=5&to=6&id="+id;
	var myAjax = new Ajax.Request("/sysuser/adminEditComp.aspx", {method: 'post', parameters: pars,onComplete: adCheckCompUpGradeResult.bind(this)});	
}
function adsendMessageToComp(from,fromvalue,to,tovalue,title,context){
	var pars="from="+from+"&fv="+fromvalue+"&to="+to+"&tv="+tovalue+"&title="+title+"&context="+context;
//	alert(pars);
	var myAjax = new Ajax.Request("/sendMessage.aspx", {method: 'post', parameters: pars,onComplete: sendMessageResult.bind(this)});	
}
function sendMessageResult(res){
    resXML = res.responseXML;
    var codeid = getResponseXMLMsgsCodeid(resXML);
    if(codeid=="0"){
    	alert("站内信发送成功");
    }
}
function doCustomDiaoCha(id){
	var pars="id="+id;
	var myAjax = new Ajax.Request("/diaoCha_1.aspx", {method: 'post', parameters: pars});	
}
//-->