﻿     
/**
 * Copyright 2001-2008(C) B.I.S. , Inc. All rights reserved.
 * B.I.S. PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
var strContextRoot = '/doo';
function URLencode(sStr) 
{
    return sStr.replace(/\%/g, '%25').replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F').replace(/\&/g, '%26');
}

function CJSAjaxObject()
{
	var xmlHttp = false;
	var mobjNewReq = false;
	this.mbAsynchronized = true; 

	this.init = function()
				{
					// 创建XMLHttpRequest对象����HttpRequest����
		      try
		      {
		      	  // Firefox, Opera 8.0+, Safari
		      	  xmlHttp = new XMLHttpRequest();
		      }
		      catch(e)
		      {
				 // IE
				 try
				 {
				     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
				 }
				 catch(e)
				 {
				     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				 } 
				}}
	this.setNewRequest = function(vobjReq)
		{
			mobjNewReq = vobjReq;
		}
	this.sendRequest = function()
		{
			xmlHttp.open(mobjNewReq.reqMethod,mobjNewReq.reqUrl,this.mbAsynchronized);
		  	xmlHttp.onreadystatechange = handleStateChange;
			xmlHttp.setRequestHeader(mobjNewReq.reqHeaderType,mobjNewReq.reqHeaderFormat);
			
			if( mobjNewReq.reqXml.length > 0 )
			{
				xmlHttp.send(mobjNewReq.reqXml);
			}
			else if( mobjNewReq.reqQueryString.length > 0 )
			{
				xmlHttp.send(mobjNewReq.reqQueryString);
			}
			else if( mobjNewReq.reqForm )
			{
				xmlHttp.send( parseForm( mobjNewReq.reqForm) );
			}
			else
			{
				xmlHttp.send(null);
			}

			// ?????
			if( mobjNewReq.reqDisBar )
			{
				
				if(document.getElementById(mobjNewReq.reqBarContainerId)==null)
				{
					document.write(mobjNewReq.reqBar);
					document.getElementById(mobjNewReq.reqBarContainerSubId).innerText = '处理中，请等待……';
					document.getElementById(mobjNewReq.reqBarContainerId).style.visibility = "visible";
					
					window.onscroll = function ()
					{
						document.getElementById(mobjNewReq.reqBarContainerId).style.top = 2 + document.body.scrollTop;
					}
				
				}else
				{
					document.getElementById(mobjNewReq.reqBarContainerId).style.visibility = "visible";
				}
			}

		}

	//
	var handleStateChange = function()
		{
			if (xmlHttp.readyState == 4)
		    {
		       if (xmlHttp.status == 200)
		       {
		           if( mobjNewReq.reqDisBar ){
			           document.getElementById(mobjNewReq.reqBarContainerId).style.visibility = "hidden";
			       }
		           mobjNewReq.parseResult( getOkResp( mobjNewReq.respType ) );
		       }
		       else
		       {
		       	   if( mobjNewReq.reqDisBar ){
		       	   		document.getElementById(mobjNewReq.reqBarContainerId).style.visibility = "hidden";
		       	   	}
		       	   mobjNewReq.parseResult( getErrorResp( mobjNewReq.respType ) );
		       }
		    }
		}
	var getOkResp = function( vstrType )
		{
			if( vstrType == 'TYPE_TEXT' )
			{
				return xmlHttp.responseText;
			}
			if( vstrType == 'TYPE_XML' )
			{
				var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
				xmlDocument.loadXML( xmlHttp.responseText );
				return xmlDocument;
			}
		}
	var getErrorResp = function( vstrType )
		{
			if( vstrType == 'TYPE_TEXT' )
			{
				return xmlHttp.responseText;
			}
			if( vstrType == 'TYPE_XML' )
			{
				var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
				xmlDocument.loadXML( xmlHttp.responseText );
				return xmlDocument;
			}
		}
	var parseForm = function( objForm )

		{
			var strQueryString='';
			var element_value='';
			var e = objForm[0];
			if ( e.name!='' )
			{
				if ( e.type=='select-one' && e.selectedIndex > -1 )
				{
					element_value = e.options[e.selectedIndex].value;
				}
				else if (e.type=='checkbox' || e.type=='radio')
				{
					if ( e.checked==true )
					{
						element_value = e.value;
					}
				}
				else
				{
					element_value = e.value;
				}
				strQueryString += e.name + "=" + encodeURIComponent( element_value ) ;
			}
			for ( i = 1 ; i < objForm.length ; i++ )
			{
				e = objForm[i];
				if ( e.name!='' )
				{
					if ( e.type=='select-one' && e.selectedIndex > -1 )
					{
						element_value = e.options[e.selectedIndex].value;
					}
					else if (e.type=='checkbox' || e.type=='radio')
					{
						if ( e.checked==false )
						{
							continue;
						}
						element_value = e.value;
					}
					else
					{
						element_value = e.value;
					}
					strQueryString += "&" + e.name + "=" + encodeURIComponent( element_value );
				}
			}
	//		alert(strQueryString);
			return strQueryString;
		}
}
function CJSAjaxRequest()
{

	this.respType = '';
	this.reqUrl = '';
	this.reqXml = '';
	this.reqForm = false;
	this.reqQueryString = '';
	this.reqMethod = 'POST';
	this.reqHeaderType = 'Content-type';
	this.reqHeaderFormat = 'text/xml;charset=utf-8';
	this.reqDisBar = true;
	this.reqBarSrc1 = strContextRoot+'/images/sending.gif';
	this.reqBarParentID = 'sending';
	this.reqBarContainerId = 'sending';
	this.reqBarContainerSubId = 'sending_sub';
	this.reqLocation = 'R';
	
	this.reqBar = "<div id='sending' class='table_bg3' style='position:absolute; top:2px; right:20px;z-index:99; visibility:hidden; padding:1px; width: 250px; height: 20px; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000;'>"
				+ "	<table border='0' width='100%'> "
				+ "			<tr>"
				+ "			  <td width='20%' align='right' valign='middle' bgcolor='#BBD5F0' class='htmltr'>"
				+ "			  	<img src='"+this.reqBarSrc1+"' width='30' height='25' id='imgLog' name='imgLog'>"
				+ "			  </td>"
				+ "			  <td width='80%' align='left' valign='middle' bgcolor='#BBD5F0' class='htmltr'>"
				+ "			  	<div class='style1' style='text-align:left; padding:10px; font-family: Arial, Helvetica, sans-serif; color: #000000; font-weight: bold; font-size: 14px; font-style: italic;' id='sending_sub' ></div>"
				+ "			  </td>"
				+ "			</tr>"
				+ "	  </table>"
				+ "	</div>";
	this.parseResult = function( vobj ){return null;};

}
function goPageEx(num)
{
	if ("13" == window.event.keyCode)
	{
		goPage(num);
	}
}
/*
*	author : yf
*	检查日期格式是否合法yyyy-mm-dd yyyy-m-dd yyyy-mm-d
*/
function dateCheck(vstr){
    var re = new RegExp("^([0-9]{4})[.-]{1}([0-9]{1,2})[.-]{1}([0-9]{1,2})$");
    var ar;
    var res = true;
    var isRunNian = false;

    if ((ar = re.exec(vstr)) != null){
				//alert("ar="+ar);
        var yy;
        var m;
        var d;

        yy = parseFloat(ar[1]);

        if( yy%400==0 || (yy%4==0&&yy%100!=0))
        {
        	isRunNian = true;
        	 //alert("闰年");
        }

        m = parseFloat(ar[2]);
				//alert("parseFloat(ar[2])="+m);
        // verify mm
        if (m <= 0 || m > 12){
            res = false;
            alert("月份输入1-12");
        }

        d = parseFloat(ar[3]);
			  //alert("parseFloat(ar[3])="+d);
       	switch (m)
				{
					case 1 :
			       	case 3 :
			       	case 5 :
			       	case 7 :
			       	case 8 :
			       	case 10 :
			       	case 12 : if (d <= 0 || d > 31){//最大31天
										            res = false;
										             alert("日输入1-31");
										        }
										     break;
							case 4 :
							case 6 :
							case 9 :
							case 11 : if (d <= 0 || d > 30){//最大30
										            res = false;
										            alert("日输入1-30");
										        }
										     break;
							case 2 : if(isRunNian && d <= 0 || d > 29)//最大29
												{
														res = false;
														alert("闰年，2月日输入1-29");
												}else if(isRunNian && d <= 0 || d > 28)////最大28
												{
														res = false;
														alert("非闰年，2月日输入1-28");
												} break;
				}
    }else{
        res = false;
    }

    if (!res){
				//alert("ar="+ar);
        alert('请输入 yyyy-mm-dd 日期格式');
    }
    else{
     		//alert("success");
    }
    return res;
}

function convertCurrencyCh(target,instr)
{	
	var dicnum = {'0':'零','1':'壹','2':'贰','3':'叁','4':'肆','5':'伍','6':'陆','7':'柒','8':'捌','9':'玖'};
	var dicpowi = {10:'拾',9:'亿',8:'仟',7:'佰',6:'拾',5:'万',4:'仟',3:'佰',2:'拾',1:'圆'};
	
	var len = 0;
	var dstr = '';
	while(instr.indexOf(',')>=0)
	{
   		instr = instr.replace(',', '');
	}	
	
	var s = instr.split('.');
	len = s[0].length;
	dstr =  s[1];
	
	if(typeof(dstr) == 'undefined')
	{
		dstr = '00';
	}
	
	var n = 0;
	outstr = '';
	for(i=len;i>0;i--)
	{
		num = dicnum[instr.substr(n,1)];
		unit = dicpowi[i];
		outstr += num+unit;
		n++;
	}
	inum1 = dicnum[dstr.substr(0,1)]+'角';
	inum2 = dicnum[dstr.substr(1,1)]+'分';
	
	if(typeof(dstr.substr(2,1)) != 'undefined')
	{
		d3 = parseInt(dstr.substr(2,1));
		d2 = parseInt(dstr.substr(1,1));
		if(d3 >=5)
		{
			d2=d2+1;	
		}
		inum2 = dicnum[d2]+'分';
	}
	
	outstr += inum1+inum2;

	target.value = outstr;
}

/* 数字格式化 */
function formatNumber(number,pattern)
{
    var str            = number.toString();
    var strInt;
    var strFloat;
    var formatInt;
    var formatFloat;
    if(/\./g.test(pattern)){
        formatInt        = pattern.split('.')[0];
        formatFloat        = pattern.split('.')[1];
    }else{
        formatInt        = pattern;
        formatFloat        = null;
    }
    if(/\./g.test(str)){
        if(formatFloat!=null){
            var tempFloat    = Math.round(parseFloat('0.'+str.split('.')[1])*Math.pow(10,formatFloat.length))/Math.pow(10,formatFloat.length);
            strInt        = (Math.floor(number)+Math.floor(tempFloat)).toString();                
            strFloat    = /\./g.test(tempFloat.toString())?tempFloat.toString().split('.')[1]:'0';            
        }else{
            strInt        = Math.round(number).toString();
            strFloat    = '0';
        }
    }else{
        strInt        = str;
        strFloat    = '0';
    }
    if(formatInt!=null){
        var outputInt    = '';
        var zero        = formatInt.match(/0*$/)[0].length;
        var comma        = null;
        if(/,/g.test(formatInt)){
            comma        = formatInt.match(/,[^,]*/)[0].length-1;
        }
        var newReg        = new RegExp('(\\d{'+comma+'})','g');
        if(strInt.length<zero){
            outputInt        = new Array(zero+1).join('0')+strInt;
            outputInt        = outputInt.substr(outputInt.length-zero,zero)
        }else{
            outputInt        = strInt;
        }
        var 
        outputInt            = outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg,(comma!=null?',':'')+'$1')
        outputInt            = outputInt.replace(/^,/,'');
        strInt    = outputInt;
    }
    if(formatFloat!=null){
        var outputFloat    = '';
        var zero        = formatFloat.match(/^0*/)[0].length;
        if(strFloat.length<zero){
            outputFloat        = strFloat+new Array(zero+1).join('0');
            //outputFloat        = outputFloat.substring(0,formatFloat.length);
            var outputFloat1    = outputFloat.substring(0,zero);
            var outputFloat2    = outputFloat.substring(zero,formatFloat.length);
            outputFloat        = outputFloat1+outputFloat2.replace(/0*$/,'');
        }else{
            outputFloat        = strFloat.substring(0,formatFloat.length);
        }
        strFloat    = outputFloat;
    }else{
        if(pattern!='' || (pattern=='' && strFloat=='0')){
            strFloat    = '';
        }
    }
    return strInt+(strFloat==''?'':'.'+strFloat);

}

