/***********************************************************************************
* Title: 
* Description: Javascript
* Copyright: 
* Company: 	ebcresoft
* @author:	Jack Sun
* @modify: 
* @version: 1.0
*/

String.prototype.trim = function(){
       return this.replace(/(^\s*)|(\s*$)/g, "");
}
/**
* Title: 
* Description: open new window,dont refresh currnet page
* @param	_form	submit form name
* @param	_action	submit action
* Copyright: 
* Company: 	ebcresoft
* @author:	Jack sun
* @modify: 
* @version: 1.0
*/
function doNewWiondwSubmit(_form,_action,_width,_height){
 	_form.action=_action;
    window.open("","newWindow","width="+_width+",height=" + _height);
    _form.target="newWindow";  
 	_form.submit();
}

//---- 4 ajax
/**
* Title: 
* Description: send page request
* @param	String _action	submit action
* @param	String _params	submit parameters   ex: "name=Jack&password=passwd"
* @param	Handler _function	 page ctrl function
* Copyright: 
* Company: 	ebcresoft
* @author:	Jack sun
* @modify: 
* @version: 1.0
*/

function sendreq(_action,_params,_function) {

  // Obtain an XMLHttpRequest instance
  var req = newXMLHttpRequest();
  // Set the handler function to receive callback notifications
  // from the request object
  var handlerFunction = getReadyStateHandler(req, _function);
  req.onreadystatechange = handlerFunction;
  
  // Open an HTTP POST connection to the shopping cart servlet.
  // Third parameter specifies request is asynchronous.
  req.open("POST", _action, true);

  // Specify that the body of the request contains form data
  //req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=GBK");
  //req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  //req.setRequestHeader("Content-type","text/html;charset=GBK");
  // Send form encoded data stating that I want to add the 
  // specified item to the cart.
 
  req.send(_params);
}//end fun 

/*
* Returns a new XMLHttpRequest object, or false if this browser
* doesn't support it
*/
function newXMLHttpRequest() {//init,define function send request

	var _request = false;
	//begin init XMLHttpRequest Object
	if(window.XMLHttpRequest) { //Mozilla Explorer
		_request = new XMLHttpRequest();
		if (_request.overrideMimeType) {//set MiME type
			_request.overrideMimeType("text/xml");
		}
	}else if (window.ActiveXObject) { // IE Explorer
		try {
				_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {
					alert('get http_request error !');				
				}
			}
		}
		if (!_request) { // Exception 
			window.alert("Can't Creat XMLHttpRequest Object.");
			return false;
		}	

		return _request;
}//end fun

/*
 * Returns a function that waits for the specified XMLHttpRequest
 * to complete, then passes its XML response to the given handler function.
 * req - The XMLHttpRequest whose state is changing
 * responseXmlHandler - Function to pass the XML response to
 */
function getReadyStateHandler(req, responseXmlHandler) {

  // Return an anonymous function that listens to the 
  // XMLHttpRequest instance
  return function () {

    // If the request's status is "complete"
    if (req.readyState == 4) {
      
      // Check that a successful server response was received
      if (req.status == 200) {

        // Pass the XML payload of the response to the 
        // handler function
        responseXmlHandler(req.responseText);

      } else {

        // An HTTP problem has occurred
        alert("HTTP error: "+req.status);
      }
    }
  }
}//end fun
/**
 *url: xxx.action
 */
function getCurrentURL(url){
	var url = 'getmenu.action';
	var _tmpstr  = window.location.toString();
	var _preurl =_tmpstr.substring(0,_tmpstr.lastIndexOf('/')+1)+url;
	return _preurl;
}//end fun 


/**
 *
 */
function numToUpper(strArray1,strArray2,num){
		var a=-1;
		var b='';
	 	if (num>=10000000){
	 		a=(num - num%10000000)/10000000;
	 		b+=toUpper(strArray1,a)+strArray2[0];
	 		num=num%10000000;
		}
		if(num<10000 && a>-1){
			b+=strArray1[9];
		}
	 	if(num>=10000){
	 		a=(num - num%10000)/10000;
	 		b+=toUpper(strArray1,a)+strArray2[1];
	        num=num%10000;
	 	}
	 	if(num<1000 && a>-1){
			b+=strArray1[9];
		}
	 	if(num>=1000){	 		
	 		a=(num - num%1000)/1000;
	 		b+=toUpper(strArray1,a)+strArray2[2];
			num=num%1000;
			
	    }
	 	if(num<100 && a>-1){
			b+=strArray1[9];
		}	    
	    if(num>=100){
	 		a=(num - num%100)/100;
	 		b+=toUpper(strArray1,a)+strArray2[3];
			num=num%100;
		}
		if( num<10 && a>-1){
			b+=strArray1[9];
		}	
	 	if(num>=10){
	 		a=(num - num%10)/10;
	 		b+=toUpper(strArray1,a)+strArray2[4];
			num=num%10;
	     }
	   if(num<=9){	
	   		a=num;
	   		b+=toUpper(strArray1,a);//+strArray2[5];
	  	}

	  	
	  	function toUpper(strArray1,num){
	  		var m;
	  		
	  		switch (num) {
			   case 1 : m=strArray1[0];break;
			   case 2 : m=strArray1[1];break;
			   case 3 : m=strArray1[2];break;
			   case 4 : m=strArray1[3];break;
			   case 5 : m=strArray1[4];break;
			   case 6 : m=strArray1[5];break;
			   case 7 : m=strArray1[6];break;
			   case 8 : m=strArray1[7];break;
			   case 9 : m=strArray1[8];break;
			   case 0 : m=strArray1[9];break;
			} 
			return m;
	  	}

	return b;
}


/**
* 调试函数，用法同alert()
* 开发时进行脚本调试时，将本函数内的 debug_on变量设为true;
* 注：不要将debug_on=true提交到版本库中
*/
function debug_alert(_message){
	var debug_on=false;
	if(debug_on)
	alert("debug==>"+_message);
}
