//把函邦定到对象上
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (!String.trim){
	String.prototype.trim  =function()
	{
		return this.replace(/(^\s*)|(\s*$)/g,"")
	}
}
if (!String.isMail){
	String.prototype.isMail=function()
	{
		return /^\w+([-+._]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(this);
	}
}

if(!String.isDate){
	String.prototype.isDate=function(){
		var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
		 if(r==null){
			  return false;
		 } 
		 var d= new Date(r[1], r[3]-1, r[4]); 
		 if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])){  
			  return false;
		 }
		 return true;	
	}
}

//把{}结构转换成url字串
function escapeString(h){
	if(!h) return '';
	var resultValue = [];
	for(var param in h){
		resultValue.push(param + '=' + escape(h[param]));
	};
	return resultValue.join('&');
};
//把一段html代码插入指定的对象最后面
function insertBottom(obj, content){
	var element = $(obj);	
	if(element.insertAdjacentHTML){			
		if(element.tagName == 'TABLE'){//alert(element.id)
			//在表格中不能直接以HTML的方式把一行插入进到， 所以上面的方法不行
			//try{
			var oDiv=document.createElement("div"),aRows;
			oDiv.innerHTML = "<table>"+content+"</table>";
			aRows= oDiv.childNodes[0].tBodies[0].rows;
			while(aRows.length>0){
				obj.tBodies[0].appendChild(aRows[0]);
			}
			//}catch(e){alert('e.description')}
		}else{
			element.insertAdjacentHTML('beforeEnd', content);	
		}
		aRows = null;
		oDiv = null;
	}else{
		var oRange = element.ownerDocument.createRange();				
  		initializeRange(oRange,element);				
		insertContent([oRange.createContextualFragment(content)],element);
		oRange = null;
	}
	function initializeRange(range,element){
		range.selectNodeContents(element);
		range.collapse(element);
	};
	
	function insertContent(fragments,element) {
		for(var i = 0; i < fragments.length; i++){
			element.appendChild(fragments[i]);
		};
	};
};
//转换数据成HTML
	//pXml : XML数据源对象
	//pXslt : XSLT模板数据对象
	//pDefaultHtml : 当转换出错时返回的默认数据
function transitionXslt(pXml,pXslt,pDefaultHtml){	
	//因为pXml可能是由 createXmlDoc()函数建立的空XML,
	//所以无法用.documentElement.tagName来检查XML是否失败
	
	//检查是否XSL文件出错
	var xslError=false ;
	try{  
		var xsl=pXslt.documentElement.tagName;
		if (!xsl) throw new Error(99997,"转换XSL文件失败");
	}catch(x){
		xslError=true;
	}
	//尝试转换，如果转换失败，则可判定XML失败
	
	try{
			if(window.ActiveXObject){	//alert(pXml.xml);alert(pXslt.xml)
				return pXml.transformNode(pXslt);	
			}
			else
			{
				var xsltProcessor = new XSLTProcessor();
				xsltProcessor.importStylesheet(pXslt);
				var fragment=xsltProcessor.transformToFragment(pXml,document);
				var tDiv = document.createElement('div');
				tDiv.appendChild(fragment);		
				var tHTML = tDiv.innerHTML;
				tDiv.innerHTML = '';
				var tDiv = null;
				xsltProcessor = null;
				return tHTML;
			}
	}catch(x){		alert(x.message)
		if 	(pDefaultHtml) return pDefaultHtml;
		if  (xslError)   return "<p>读取XSL文件时失败,请检查XSL格式是否正确</p>";
		return "<p>读取XML数据时失败,请检查服务器返回数据是否正确<p>";
	}
};
function getParam(pPara)
{
	if(!pPara || (pPara + '').trim() == '') return null;
	var tUrl = document.location.toString().toLowerCase();		//当前页面的地址，转成小写
	var re = new RegExp("(\\\?|&)"+pPara.toLowerCase()+"=([^&]+)(&|$)");
	var tArr = tUrl.match(re);
	if(tArr) return tArr[2];
	else return null;
}
//取当前事件
function getEvent(){	
		var i = 0;
		if(document.all)	return window.event;		
		func=getEvent.caller;			
		while(func!=null){	
			var arg0=func.arguments[0];
			if(arg0){
				if((arg0.constructor==Event || arg0.constructor ==MouseEvent)|| (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){	
					return arg0;
				}
			};
			func=func.caller;
		};
		return null;
};
//取页面宽高
function getPageSize(){
	
	var xScroll, yScroll;	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { 
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	};
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { 
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { 
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	};
	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	};

	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	};

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) ;
	return arrayPageSize;
};
//取得页面的滚动值	
function getScrollPos(){
	  var scrollPos;
	  if (typeof window.pageYOffset != 'undefined'){
		scrollPos = {y:window.pageYOffset,x:window.pageXOffset}
	  } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat'){
		scrollPos = {x:document.documentElement.scrollLeft,y:document.documentElement.scrollTop}
	  }  else if (typeof document.body != 'undefined'){
		scrollPos = {x:document.body.scrollLeft,y:document.body.scrollTop}
	  }
	  return scrollPos
}
//取对象的上下左右四处角的坐标
function getEleInfo(obj){
	 var to=new Object();
	 to.left=to.right=to.top=to.bottom=0;
	 try{
		 to.left = Position.positionedOffset(obj)[0];
		 to.top = Position.positionedOffset(obj)[1];			
		 to.right=to.left+obj.offsetWidth;
		 to.bottom=to.top+obj.offsetHeight;
	 }catch(e){};
	 return to;	
};

//弹出模式窗口
function myShowModalDialog(URL,width,height){
	return window.showModalDialog(URL,window,"dialogWidth:"+width+"px;dialogHeight:"+height+"px;help:no;status:no;center:yes;edge:raised;scroll:no")
}
//--------------------------------------------------------------
/*
作	者:hanson
函数名：bingImgChangeEvent
功	能:鼠标在图片上移动同离开时显示不同图片
参	数：
	pObj : img的ID或对象本身
	pSrc : 鼠标放上去时要换的图片
*/
function bingImgChangeEvent(pObj,pSrc){
	var tObj = $(pObj);
	if(!tObj) return false;
	if(bingImgChangeEvent.caller == pObj.onload){
		pObj.onload = null;
	};
	var overEvent = function(){
		if(this.getAttribute('_isOver' == '1')){
			return;
		};
		this.setAttribute('_isOver','1');
		this.setAttribute('_Str',this.src);
		this.src = pSrc;		
	};
	var outEvent = function(){//alert(this.outerHTML)
		this.setAttribute('_isOver','');
		this.src = this.getAttribute('_Str');
	};
	Event.observe(tObj,"mouseover",overEvent.bind(tObj));
	Event.observe(tObj,"mouseout",outEvent.bind(tObj));
};
//--------------------------------------------------
//作者:hasnon
//函数名：preloadImages
//功能：预加载图片
function preloadImages(){
	argu = preloadImages.arguments;
	for(var i = 0; i < argu.length; i++){
		if(typeof argu[i] == 'string' && argu[i].indexOf('#') != 0) new Image().src = argu[i];	
	};
};
//--------------------------------------------------
//作者:hasnon
//函数名：loadJS
//动态加载JS文件
//pUrl : 要加载的文件路径
//onLoad: 回调函数
//parentElement : 加载JS的父容器
function loadJS(pUrl,options){	
	if(!options.parentElement) options.parentElement = document.body;
	if(options.parentElement && typeof options.parentElement == 'string'){
		options.parentElement = document.getElementById(options.parentElement);
	};
	if(typeof pUrl == 'string') pUrl = [pUrl];
	var tCountNum = pUrl.length;
	var tNum = 0;
	var tScripts = new Array(tCountNum);
	var tCallBack = (options.onLoad && typeof options.onLoad == 'function')?options.onLoad : new Function();
	for(i = 0; i < tCountNum; i++){	
		var srcUrl=pUrl[i];	
		tScripts[i] = document.createElement('script');	
		tScripts[i].src =srcUrl;
		tScripts[i].defer = true;
		options.parentElement.appendChild(tScripts[i]);	
		if(document.all){
			tScripts[i].onreadystatechange = function(){
				if(this.readyState=="complete" || this.readyState=="loaded"){
					tNum++;
					if(tNum == tCountNum) tCallBack();
				}
			 }
		}else{	
			 tScripts[i].onload = function(){	
				tNum++;
				if(tNum == tCountNum)	setTimeout(tCallBack,1000);	
			 }
		}	
	}
};
//检查身份证号码 
function checkId(pId){
    var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
    var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
    if(pId.length != 15 && pId.length != 18)    return "身份证号共有 15 码或18位";

    var Ai=pId.length==18 ?  pId.substring(0,17)   :   pId.slice(0,6)+"19"+pId.slice(6,16);

    if (!/^\d+$/.test(Ai))  return "身份证除最后一位外，必须为数字！";

    var yyyy=Ai.slice(6,10) ,  mm=Ai.slice(10,12)-1  ,  dd=Ai.slice(12,14);

    var d=new Date(yyyy,mm,dd) ,  now=new Date();
     var year=d.getFullYear() ,  mon=d.getMonth() , day=d.getDate();

    if (year!=yyyy || mon!=mm || day!=dd || d>now || year<1940) return "身份证输入错误！";

    for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];    
    Ai+=arrVerifyCode[ret %=11];     

    return pId.length ==18 && pId != Ai?"身份证输入错误！":pId;        
};

//IE下释放内存
function free(){
	if(document.all)CollectGarbage();//释放内存
}

function SetFontSize(Size){
   var Obj=document.getElementById("content")
   switch (Size){
      case "S":
		  Obj.style.fontSize="12px";
	      break;
      case "M":
		  Obj.style.fontSize="14px";
	      break;
      case "L":
		  Obj.style.fontSize="16px";	     
	      break;
   }
}

function SetFontColor(Color)
{
	document.getElementById('Body').style.color=Color;
}

function swf(src,w,h){
	html = '';
	html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+w+'" height="'+h+'">';
	html += '<param name="allowScriptAccess" value="sameDomain" />';
	html += '<param name="movie" value="'+src+'" />';
	html += '<param name="quality" value="high" />';
	html += '<param name="wmode" value="transparent" />';
	html += '<embed src="'+src+'" quality="high" bgcolor="#cc6600" width="'+w+'" height="'+h+'" name="main" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	html += '<\/object>';
	document.write(html);
}

function swf1(src,w,h,panel){//alert(document.readyState)
	if(document.readyState && document.readyState != 'complete'){
		Event.observe(window,'load',function(){swf1(src,w,h,panel);});
		return false;										   
	};
	
	var html = '';
	html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+w+'" height="'+h+'">';
	html += '<param name="allowScriptAccess" value="sameDomain" />';
	html += '<param name="movie" value="'+src+'" />';
	html += '<param name="quality" value="high" />';
	html += '<param name="wmode" value="transparent" />';
	html += '<embed src="'+src+'" quality="high" bgcolor="#cc6600" width="'+w+'" height="'+h+'" name="main" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	html += '<\/object>';
	var oPanel = $(panel);
	//alert(oPanel)
	insertBottom(oPanel,html);
	//document.write(html);
}
