var Browser=new Object();
Browser.isMozilla=(typeof document.implementation!='undefined')&&(typeof document.implementation.createDocument!='undefined')&&(typeof HTMLDocument!='undefined');
Browser.isIE=window.ActiveXObject?true:false;
Browser.isGecko=navigator.userAgent.indexOf("Gecko")!=-1;
Browser.isOpera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);

//调整兼容性
if(Browser.isMozilla && !Browser.isOpera){
	HTMLElement.prototype.removeNode=function(){this.parentNode.removeChild(this);};
	extendEventObject();
	emulateAttachEvent();
	var eventArr=["click","dblclick","mouseover","mouseout","mousedown","mouseup","mousemove","keydown","keypress","keyup"];
	emulateEventHandlers(eventArr);
	emulateCurrentStyle();
	Event.LEFT=0;
	Event.MIDDLE=1;
	Event.RIGHT=2;
}else{
	Event={};Event.LEFT=1;Event.MIDDLE=4;Event.RIGHT=2;
}
//Bsic Function 
function extendEventObject(){
	Event.prototype.__defineGetter__("srcElement",function(){
														   var node=this.target;
														   while(node.nodeType!=1)node=node.parentNode;
														   return node;
														   });
}
//Bsic Function 
function emulateAttachEvent(){
	HTMLDocument.prototype.attachEvent=HTMLElement.prototype.attachEvent=function(sType,fHandler){
		var shortTypeName=sType.replace(/on/,"");
		fHandler._ieEmuEventHandler=function(e){
			window.event=e;return fHandler();
		};
		this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);
	};
	HTMLDocument.prototype.detachEvent=HTMLElement.prototype.detachEvent=function(sType,fHandler){
		var shortTypeName=sType.replace(/on/,"");
		if(typeof fHandler._ieEmuEventHandler=="function")
			this.removeEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);
		else
			this.removeEventListener(shortTypeName,fHandler,true);
	};
}
function emulateEventHandlers(eventNames){
	for(var i=0;i<eventNames.length;i++){
		document.addEventListener(eventNames[i],function(e){window.event=e;},true);
	}
}
var __sto = setInterval;    
window.setInterval = function(callback,timeout,param){    
    var args = Array.prototype.slice.call(arguments,2);    
    var _cb = function(){    
         callback.apply(null,args);    
     };  
     return __sto(_cb,timeout);    
};  
function emulateAllModel(){
	var allGetter=function(){
		var a=this.getElementsByTagName("*");
		var node=this;
		a.tags=function(sTagName){
			return node.getElementsByTagName(sTagName);};
			return a;
		};
	HTMLDocument.prototype.__defineGetter__("all",allGetter);
	HTMLElement.prototype.__defineGetter__("all",allGetter);
}

function extendElementModel(){
	HTMLElement.prototype.__defineGetter__("parentElement",function(){
																	if(this.parentNode==this.ownerDocument)return null;
																	return this.parentNode;
																	});
	HTMLElement.prototype.__defineGetter__("children",function(){
															   var tmp=[];
															   var j=0;
															   var n;
															   for(var i=0;i<this.childNodes.length;i++){
																   n=this.childNodes[i];
																   if(n.nodeType==1){
																	   tmp[j++]=n;
																	   if(n.name){
																		   if(!tmp[n.name])
																			tmp[n.name]=[];
																			tmp[n.name][tmp[n.name].length]=n;
																		}
																	if(n.id)tmp[n.id]=n
																  }
														      }
	                                                          return tmp;
														});
	HTMLElement.prototype.contains=function(oEl){
		if(oEl==this)return true;
		if(oEl==null)return false;
		return this.contains(oEl.parentNode);
		};
}
function errorimg(mypic){mypic.src="images/common/none.gif";}
function emulateCurrentStyle(){HTMLElement.prototype.__defineGetter__("currentStyle",function(){return this.ownerDocument.defaultView.getComputedStyle(this,null)})}function getrand(){var random1=(Math.floor(Math.random()*10000));var random2=(Math.floor(Math.random()*random1));var random3='s'+random1+random2;return random3}function getscrollTop(){if(typeof window.pageYOffset!='undefined'){return window.pageYOffset}else if(typeof document.compatMode!='undefined'&&document.compatMode!='BackCompat'){return document.documentElement.scrollTop}else if(typeof document.body!='undefined'){return document.body.scrollTop}}
function $(s){return document.getElementById(s);}function $$(s){return document.frames?document.frames[s]:$(s).contentWindow;}

Array.prototype.shellSort=function(){for(var step=this.length>>1;step>0;step>>=1){for(var i=0;i<step;++i){for(var j=i+step;j<this.length;j+=step){var k=j,value=this[j];while(k>=step&&this[k-step]>value){this[k]=this[k-step];k-=step}this[k]=value}}}};function ExpJSON(objname){var tmpobj=eval(objname);return tmpobj.toJSONString()}function in_array(needle,haystack){if(typeof needle=='string'||typeof needle=='number'){for(var i in haystack){if(haystack[i]==needle){return true}}}return false}function del_array(needle,haystack){if(typeof needle=='string'||typeof needle=='number'){var num=haystack.length;for(var i=0;i<num;i++){if(haystack[i]==needle){haystack.splice(i,1)}}}return haystack}

function startRequest(method,urlstr,postDatastr,callback){var http_5617=null;msxml_progid=['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];try{http_5617=new XMLHttpRequest()}catch(e){for(var i=0;i<msxml_progid.length;++i){try{http_5617=new ActiveXObject(msxml_progid[i]);break}catch(e){}}}if(http_5617){var url="";var poststr="";if(method=='GET'){url=urlstr+"?"+postDatastr}else if(method=='POST'){url=urlstr;poststr=postDatastr}http_5617.onreadystatechange=function(){if(http_5617.readyState==4&&http_5617.status==200){if(callback){callback(http_5617.responseText)}http_5617=null}};http_5617.open(method,url,true);http_5617.setRequestHeader("Content-Type","application/x-www-form-urlencoded");http_5617.send(poststr)}}

