function $(sID) {
	return document.getElementById(sID);
}

function trim(str){
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

function getAbsoluteLeft( ob ){
	if(!ob){return null;}
	var mendingOb = ob;
	var mendingLeft = mendingOb .offsetLeft;
	while( mendingOb != null && mendingOb .offsetParent != null && mendingOb .offsetParent.tagName != "BODY" ){
		mendingLeft += mendingOb .offsetParent.offsetLeft;
		mendingOb = mendingOb .offsetParent;
	}
	return mendingLeft;
}

function getAbsoluteTop( ob ){
	if(!ob){return null;}
	var mendingOb = ob;
	var mendingTop = mendingOb .offsetTop;
	while( mendingOb != null && mendingOb .offsetParent != null && mendingOb .offsetParent.tagName != "BODY" ){
		mendingTop += mendingOb .offsetParent.offsetTop;
		mendingOb = mendingOb .offsetParent;
	}
	return mendingTop;
}

function FormatNumber(srcStr,nAfterDot){
¡¡¡¡var srcStr,nAfterDot;
¡¡¡¡var resultStr,nTen;
¡¡¡¡srcStr = ""+srcStr+"";
¡¡¡¡strLen = srcStr.length;
¡¡¡¡dotPos = srcStr.indexOf(".",0);
¡¡¡¡if (dotPos == -1){
¡¡¡¡¡¡¡¡resultStr = srcStr+".";
¡¡¡¡¡¡¡¡for (i=0;i<nAfterDot;i++){
¡¡¡¡¡¡¡¡¡¡¡¡resultStr = resultStr+"0";
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡return resultStr;
¡¡¡¡}
¡¡¡¡else{
¡¡¡¡¡¡¡¡if ((strLen - dotPos - 1) >= nAfterDot){
¡¡¡¡¡¡¡¡¡¡¡¡nAfter = dotPos + nAfterDot + 1;
¡¡¡¡¡¡¡¡¡¡¡¡nTen =1;
¡¡¡¡¡¡¡¡¡¡¡¡for(j=0;j<nAfterDot;j++){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nTen = nTen*10;
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
¡¡¡¡¡¡¡¡¡¡¡¡return resultStr;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else{
¡¡¡¡¡¡¡¡¡¡¡¡resultStr = srcStr;
¡¡¡¡¡¡¡¡¡¡¡¡for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡resultStr = resultStr+"0";
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡return resultStr;
¡¡¡¡¡¡¡¡}
¡¡¡¡}
}

function formatNumber2(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);
 }
 function replaceStr(source,from,to){
		var source;
		var from;
		var to;
		var destination="";
		source=source;
		from=from;
		to=to;
		var pos=0;
	
		for(;;){
			pos=source.indexOf(from);
			if(pos==-1){
				destination=destination+source;
				break;
			}
	
			destination=destination+source.substring(0,pos)+to;
			source=source.substring(pos+1);
		}
		return destination;
	}
	
	//ÅÐ¶Ïµ¥Ñ¡Å¤ÊÇ·ñ±»Ñ¡ÖÐ
	function radioChecked(radioObject){
		var radioCheckedValue=false;
		for(radioI=0, n=radioObject.length;radioI<n;radioI++){
			if(radioObject[radioI].checked){
				radioCheckedValue=true;
				break;
			}
		}
		return radioCheckedValue;
	}
	function ajaxLoad(wurl,wobj,onloadCallbak){
		if(wobj){}else{alert('¶ÔÏó²»´æÔÚ£¡');return;}
		var xmlhttp = createXMLHTTP();
		xmlhttp.onreadystatechange = function(){
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
				wobj.innerHTML=xmlhttp.responseText;
				if(onloadCallbak!=undefined){onloadCallbak()}
			}
		}
		var url = url;
		xmlhttp.open("get", wurl, true);
		xmlhttp.send();
	}
	function isIE(){ //ie? 
		if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1) 
		    return true; 
		else 
		    return false; 
	}
	function createXMLHTTP(){
		var xmlhttp = null;
		if(window.ActiveXObject){
			try {
				xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e){
				try{
					xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e){}
			}
		} else if(window.XMLHttpRequest){
			xmlhttp = new XMLHttpRequest();
			if(xmlhttp.overrideMimeType){
				xmlhttp.overrideMimeType('text/xml');
			}
		} else {
			return false;
		}
		return xmlhttp;
	}
	
	function resizeFrame(iframename) {
		var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
		var FFextraHeight=getFFVersion>=0.1? 16 : 0;
		var pTar = null;
		if (document.getElementById){
			pTar = document.getElementById(iframename);
		} else {
			eval('pTar = ' + iframename + ';');
		}
		if (pTar && !window.opera){
			pTar.style.display="block"
			if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
				pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight; 
			} else if (pTar.Document && pTar.Document.body.scrollHeight){
				pTar.height = pTar.Document.body.scrollHeight;
			}
		}
	}
	
	function getIDsStr(idCtrl){
		var tIDs='';
		var idCtrlObject=document.getElementsByName(idCtrl);
		for(a=0, b=idCtrlObject.length;a<b;a++){
			if(idCtrlObject[a].checked)tIDs+=','+idCtrlObject[a].value;
		}
		if(tIDs.length>1)tIDs=tIDs.substring(1);
		return tIDs;
	}
