var C={};C.Domain='chinasva.com';
/***************perfect*****************/
String.prototype.trim=function(){var re=/^\s+|\s+$/g;return this.replace(re,"");}
function $(s){if (typeof s == 'string')return document.getElementById(s);return s;}
function go(p){window.location=p;}
function ie(){if(document.all)return true;return false;}
function domain(){try{document.domain=C.Domain;}catch(e){}}
/***************ajax*****************/
function AjaxObj() {
	function getXHRObject(){
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else {
			if (window.ActiveXObject) {
				try {
					return new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (e) {
					try {
						return new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e) {
					}
				}
			}
		}
		return null;
	};
	this.onWait = function (){};
	this.onSuccess =function () {};
	this.onFailure =function () {};
	this.xhrObject =getXHRObject();
	this.request = function (url, option) {
		var xhr = this.xhrObject;
		if (typeof xhr == "undefined") {
			return;
		}
		var method = option.method || "get";
		if (typeof option.onSuccess != "function") {
			option.onSuccess=this.onSuccess ;
		}
		if (typeof option.onFailure != "function") {
			option.onFailure=this.onFailure;
		}
		if (typeof option.onWait != "function") {
			option.onWait=this.onWait;
		}
		url=U.preventCache(url);
		xhr.open(method, url, true);
		xhr.onreadystatechange = function () {
			if (xhr.readyState != 4) {
				option.onWait.call();
				return;
			}
			if (xhr.status == 200) {
				option.onSuccess(xhr);
				xhr=null;
			} else {
				option.onFailure(xhr);
			}
		};
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xhr.send(option.postVar||null);
	};
	this.abort=function(){this.xhrObject.abort();};
}
/*********************U***********************************/
var U={};
U.getElements=function(obj,t){
	obj=$(obj);
	var iter=arguments.length>2?arguments[2]:false;
	var tt=t.split(' ');
	var lst=new Array();
	if(iter){
		for(var i=0;i<tt.length;i++){
			var ls=obj.getElementsByTagName(tt[i]);
			for(var j=0;j<ls.length;j++){lst.push(ls[j]);}
		}
	}else{
		var eles=obj.childNodes;
		for(var i=0;i<eles.length;i++){
			var ele=eles[i];
			var nn=ele.nodeName.toLowerCase();
			for(var j=0;j<tt.length;j++){
				if(nn==tt[j])lst.push(ele);
			}
		}
	}
	return lst;
};
U.insertAfter=function(newEl, targetEl) {
    var parentEl = targetEl.parentNode;
    if(parentEl.lastChild == targetEl)
    {
        parentEl.appendChild(newEl);
    }else
    {
        parentEl.insertBefore(newEl,targetEl.nextSibling);
    }            
};
U.stopPropagation=function(e){if(e && e.stopPropagation)e.stopPropagation();else event.cancelBubble = true;}
U.preventCache=function(url){return url+((url.indexOf('?')>0)?'&':'?')+'prevent_cache='+new Date().getTime();}
U.getAndTrim=function(o){var obj=$(o);var v=obj.value.trim();obj.value=v;return v;}
U.trimTextArea=function(obj,len,e){
	var str=obj.value.trim();
	if(str.length>len){
		obj.value=str.substring(0,len);
		if(window.event)event.returnValue=false;
		else e.preventDefault();
	}
}
U.show=function(s){$(s).style.display='';}
U.hide=function(s){$(s).style.display='none';}
U.addClass=function(o,c){
	o=$(o);
	/*if (typeof o.className == "undefined") {
		o.className=c;
	}*/
	var cls=o.className.split(' ');
	var cc=new Array();
	cc.push(c);
	for(var i=0;i<cls.length;i++){
		if(cls[i]!=c&&cls[i]!=' ')cc.push(cls[i]);
	}
	o.className=cc.join(' ');
}
U.removeClass=function(o,c){
	o=$(o);
	var cls=o.className.split(' ');
	var cc=new Array();
	for(var i=0;i<cls.length;i++){
		if(cls[i]!=c&&cls[i]!=' ')cc.push(cls[i]);
	}
	o.className=cc.join(' ');
}
U.fastSubmit=function(e,option){var ev = window.event?window.event:e;if(ev.keyCode==13)option.f();}
U.getUrlParam=function(name){
	var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
	var r=window.location.search.substr(1).match(reg);
	if (r!=null) return decodeURIComponent(r[2]);return "";//unescape
}
U.getPosition=function(element) {
	element=$(element);
	var result = { x: element.offsetLeft, y: element.offsetTop };
	element = element.offsetParent;
	while (element) {
		result.x += element.offsetLeft;
		result.y += element.offsetTop;
		element = element.offsetParent;
	}
	return result;
}
U.getMousePosition=function(ev){
	ev=ev?ev:window.event;
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop - document.body.clientTop
	};
}
U.checkAll=function(childName){	
	var isSelected=true;
	if(arguments.length>1){
		isSelected=arguments[1];
	}   
	var checkBoxs=document.getElementsByName(childName);
	for(var i=0;i<checkBoxs.length;i++){
			checkBoxs[i].checked=isSelected;
	}
}
U.encodeParam=function(s){return encodeURIComponent(s);}
U.doFunc=function(varFunc) {
	if(document.readyState=='complete') {
		setTimeout(varFunc, 1);
	} else {
		setTimeout(function(){U.doFunc(varFunc)}, 200);
	}
}
U.getFunc=function(varData){
		return function() {
		if(varData != null && varData.length > 0) {
			var data = varData.replace(/\r/g, " ");
			data = data.replace(/\r/g, " ");
	
			pattern = /(<script.*?>.*?<\/script>)/gi;
			var ss = new Array();
			while (mts = pattern.exec(data)) {
				if (mts != null) {
					ss.push(mts[1]);
				}
			}
			
			for(var i = 0; i < ss.length; i++) {
				str = ss[i];
				if(str.indexOf("src") > 0) {
					pattern = /<script.*?src=['"](.*?)['"].*?>.*?<\/script>/gi;
					while (mts = pattern.exec(str)) {
						if (mts != null)
						{
							var oScript = document.createElement("script");
							oScript.src = mts[1];
							oScript.charset = "utf-8";
							document.getElementsByTagName("head")[0].appendChild(oScript);
						}
					}
				} else {
					pattern = /<script.*?>(.*?)<\/script>/gi;
					while (mts = pattern.exec(str)) {
						if (mts != null) {
							if(window.execScript){
								window.execScript(mts[1]);
							} else {
								var oScript = document.createElement("script");
								oScript.charset = "utf-8";
								oScript.innerHTML = mts[1];
								document.getElementsByTagName("head")[0].appendChild(oScript);
							}
						}
					}
				}
			}
		}
	}
}
U.loadJs=function(sUrl, fCallback,charset){
		if(typeof fCallback=='undefined'){fCallback=function(){}}
		if(typeof charset=='undefined'){charset='utf-8';}
		var _script = document.createElement('script');
		_script.setAttribute('type', 'text/javascript');
		_script.setAttribute('charset', charset);
		_script.setAttribute('src', sUrl);
		//document.body.appendChild(_script);
		if (ie()){
			_script.onreadystatechange = function()
			{
				if (this.readyState=='loaded' || this.readyState=='complete')
				{
					fCallback();
				}
			};
		}else{
			_script.onload = function(){
				fCallback();
			};
		}
		document.getElementsByTagName('head')[0].appendChild(_script);
}
U.loadCss=function(sUrl, fCallback){
		if(typeof fCallback=='undefined'){fCallback=function(){};}
		var _css = document.createElement('link');
		with(_css){href=sUrl;rel='stylesheet';type = 'text/css';}
		if (ie()){
			_css.onreadystatechange = function()
			{
				if (this.readyState=='loaded' || this.readyState=='complete')
				{
					fCallback();
				}
			};
		}else{
			_css.onload = function(){
				fCallback();
			};
		}
		document.getElementsByTagName('head')[0].appendChild(_css);
}
U.popwin=function(url,width,height){
	var l=(window.screen.width-width)/2;
	var t=(window.screen.height-height)/2;
	window.open (url, '', 'width='+width+', height='+height+',left='+l+',top='+t+',toolbar=no, menubar=no, location=no, status=no ,scrollbars=yes,resizable=yes');
}
//////////////////////////////U.ajax///////////////////////////
U.ajax=function(){
	return{
		getContainer:function(seq){return $("AjaxDiv"+seq);},
		setData:function(seq,data){U.ajax.getContainer(seq).innerHTML =data;},
		getData:function(seq){return U.ajax.getContainer(seq).innerHTML;},
		setValue:function(seq,n,v){$('pull_'+seq+'_'+n).value=v;},
		getValue:function(seq,n){return $('pull_'+seq+'_'+n).value;},
		pull:function(seq){
			var obj=$('AjaxForm'+seq);
			if(obj==null)return;
			var pullWait=obj.getAttribute('pullWait')!='';
			if(pullWait)U.ajax.showloading();
			new AjaxObj().request(obj.getAttribute('action'),{method:'post',postVar:U.ajax.getPostPairs(obj),onSuccess:function(xhr){
				U.ajax.stoploading();
				var data=xhr.responseText;
				U.ajax.setData(seq,data);
				var onPulled=obj.getAttribute('onPulled');
				if(onPulled!=null&&onPulled!="")setTimeout(onPulled,0);
				U.doFunc(U.getFunc(data));
			}
			,onFailure:function(){U.ajax.stoploading();$("AjaxDiv"+seq).innerHTML ="<font color='red'>加载失败,请刷新重试</font>";}
			,onWait:function(){if(pullWait)U.ajax.showloading();}});
		},
		startPull:function(container,seq,url,options){
			if(typeof options=='undefined'){options={};}
			var div=document.createElement('div');
			div.id='AjaxDiv'+seq;
			div.className=options.className||'';
			$(container).appendChild(div);
			var form=document.createElement('form');
			form.id='AjaxForm'+seq;
			form.action=url;
			var params=options.params||'';
			if(params!='')params+='&';
			params+='pullSeq='+seq;
			if(params!=null){
				var ps=params.split("&");
				for(var i=0;i<ps.length;i++){
					var pair=ps[i].split("=");
					var input=document.createElement('input');
					with(input){
						type='hidden';id='pull_'+seq+'_'+pair[0];name=pair[0];value=pair[1];
					}
					form.appendChild(input);
				}
			}
			$(container).appendChild(form);
			var autoPullStr='true';
			if(typeof options.autoPull!='undefined'){autoPullStr=''+options.autoPull;}
			if(autoPullStr=='true'){
				U.ajax.pull(seq);
			}
		},
		push:function(url,options){
			if(typeof options=='undefined'){options={};}
			var params=options.pushVar;
			var callback=options.callback||'';
			if(params==null)params='_callback='+callback;
			else params+='&_callback='+callback;
			var onWait=options.onWait||function(){};
			var showLoading=options.showLoading;
			if(showLoading==undefined)showLoading=false;
			new AjaxObj().request(url,
			{
				method:'post'
				,postVar:params
				,onSuccess:function(xhr){U.ajax.stoploading();U.ajax.stopwaiting();var exec=U.ajax.doScript(xhr.responseText);if((!exec)&&(typeof options.onPushed=='function')){options.onPushed(xhr.responseText);}}
				,onFailure:function(){U.ajax.stoploading();U.ajax.stopwaiting();if(typeof options.onFail!='undefined'){options.onFail();}}
				,onWait:function(){if(showLoading)U.ajax.showloading();U.ajax.showwaiting();onWait();}
			});
		},
		submit:function(f,options){
			if(typeof options=='undefined'){options={};}
			f=$(f);
			options.pushVar=U.ajax.getPostPairs(f);
			U.ajax.push(f.getAttribute('action'),options);
		},
		getPostPairs:function(obj){
			var inputs=obj.getElementsByTagName('input');
			var areas=obj.getElementsByTagName('textarea');
			var selects=obj.getElementsByTagName('select');
			var params=new Array();
			for(var i=0;i<inputs.length;i++){params.push(inputs[i]);}
			for(var i=0;i<areas.length;i++){params.push(areas[i]);}
			for(var i=0;i<selects.length;i++){params.push(selects[i]);}
			var k,v=null;
			var p='';
			for(var i = 0; i < params.length; i++) {
				k=params[i].name;
				v=U.encodeParam(params[i].value);
				if(k!=null&&k.length>0){
					if(p!=''){p+='&'}p+=(k+'='+v);
				}	
			}
			return p;
		},
		showwaiting:function(){var w=$('_waiting_');if(w!=null){w.style.display='';$('_waited_').style.display='none';}},
		stopwaiting:function(){var w=$('_waiting_');if(w!=null){w.style.display='none';$('_waited_').style.display='';}},
		showloading:function(){var a=$('AjaxLoader');if(a==null)return;$('AjaxLoader').innerHTML="<div class='loading-indicator'>加载中...</div>";$('AjaxLoader').style.display='block';},
		stoploading:function(){var a=$('AjaxLoader');if(a!=null)a.style.display='none';},
		doScript:function(data){
			var scriptToken="<scrip" + "t type='text/javasc" + "ript'>";
			if(data.indexOf(scriptToken)==0){
				var indexEnd = data.indexOf("</s" + "cript>", scriptToken.length);
				setTimeout(data.substring(scriptToken.length, indexEnd), 0);
				return true;
			}
			return false;
		},
		goPage:function(seq,offset){
			U.ajax.setValue(seq,'_index',offset);
			U.ajax.pull(seq);
		}
	}
}();
U.img=function(){
	return {
		limit:function(obj,MaxWidth,MaxHeight,callback){
			var img = new Image();
			var s=arguments.length>3;
			img.onload = function(){
			   var orgWidth=img.width;
			   var orgHeight=img.height;
			  	var destWidth = orgWidth;
			  	var destHeight = orgHeight;
				if (orgWidth > MaxWidth) {
					destWidth = MaxWidth;
					destHeight = (destWidth * (orgHeight / orgWidth));
				}
				if (destHeight > MaxHeight) {
					destHeight = MaxHeight;
					destWidth = (destHeight * (orgWidth / orgHeight));
				}
				obj.width=destWidth;
				obj.height=destHeight;
				if(s){
					callback();
				}
			};
			img.src = obj.src;
		}
		,lazyLoad:function(i){
			var s=i.getAttribute('lazy_src');
			if(s!=null){
				i.removeAttribute('lazy_src');
				i.src=s;
			}
		}
	}
}();
/***************COOKIE*****************/
var Cookies = {};
Cookies.set = function(name, value){
     var argv = arguments;
     var argc = arguments.length;
     var expires = (argc > 2) ? argv[2] : -1;
     var expDate=new Date();
	 expDate.setTime(expDate.getTime() + expires);   
     var path = (argc > 3) ? argv[3] : '/';
     var domain = (argc > 4) ? argv[4] : null;
     var secure = (argc > 5) ? argv[5] : false;
     document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expDate.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
};
Cookies.get = function(name){
	var strcookie = document.cookie;
	var arrcookie = strcookie.split("; ");
	for (var i = 0; i<arrcookie.length; i++) {
		var arr = arrcookie[i].split("=");
		if (arr[0] == name) {
			var value=arr[1];
			if(value=="")return null;
			return value;
		}
	}
	return null;
};
Cookies.clear=function(name, path, domain){
	if (Cookies.get(name)!=null)
	{
		document.cookie = name + "=" +
			((path) ? "; path=" + path : "; path=/") +
			((domain) ? "; domain=" + domain : "") +
			";expires=Fri, 02-Jan-1970 00:00:00 GMT";
	}
}
/**********************Map*********************************/
function Map()
{
    this.map = new Array();
    this.put=function(key, value){
      for (var i = 0; i < this.map.length; i++)
      {
        if ( this.map[i].key === key ){
          this.map[i].value = value;
          return;
        }
      }
      this.map[this.map.length] = new MapObj(key, value);
    };
    this.get = function(key)
    {
      for (var i = 0; i < this.map.length; i++)
      {
        if ( this.map[i].key === key )
        {
          return this.map[i].value;
        }
      }
      return null;
    };
    this.remove=function(key)
    {
      var v;
      for (var i = 0; i < this.map.length; i++)
      {
        v = this.map.pop();
        if ( v.key === key )
          continue;
        this.map.unshift(v);
      }
    };
    this.size= function(){
      return this.map.length;
    };
    this.keys=function(){
    	 var ks=new Array();
    	 for (var i = 0; i < this.map.length; i++){
    	 	ks.push(this.map[i].key);
    	 }
    	 return ks;
    };
    this.values=function(){
    	 var vs=new Array();
    	 for (var i = 0; i < this.map.length; i++){
    	 	vs.push(this.map[i].value);
    	 }
    	 return vs;
    };
}
function MapObj(key, value){
  this.key = key;
  this.value = value;
} 
/****************COMET*****************/
var Comet = {
  name:'comet-iframe',
  connection : false,  
  iframediv : false,
  handle:function(d){},
  getServer:function(){
 	return 'http://im.sportingbus.com:9709/';
  },
  init: function(s,option) {
	if (typeof option.handle== "function") {
		Comet.handle=option.handle;
	}
	Comet.poll(s);
  },
  unload:function(){
	  if (comet.connection) {
	      comet.connection = false;
	  } 
  },
  poll:function(s){
  	 var url=U.preventCache(Comet.getServer()+s);
  	 var agent = navigator.userAgent.toLowerCase();
     if(Comet.connection){
     	if(ie())Comet.connection=false;
     	else Comet.connection.parentNode.removeChild(Comet.connection);
	 }
	 try{document.domain=C.Domain;}catch(e){}//if(!ie()) 
	 if (/msie/.test(agent) && !/opera/.test(agent)) {	// if (navigator.appVersion.indexOf("MSIE") != -1) {
       Comet.connection = new ActiveXObject("htmlfile");  
       Comet.connection.open();  
       Comet.connection.write("<html>");  
       Comet.connection.write("<script>document.domain='"+C.Domain+"';<\/script>");  
       Comet.connection.write("</html>");  
       Comet.connection.close();  
       Comet.iframediv = Comet.connection.createElement("div");  
       Comet.connection.appendChild(Comet.iframediv);  
       Comet.connection.parentWindow.Comet = Comet;
       Comet.iframediv.innerHTML = "<iframe id='"+Comet.name+"' src='"+url+"'></iframe>";
     } else if( /mozilla/.test(agent) && !/(compatible|webkit)/.test(agent)) {  //navigator.appVersion.indexOf("KHTML") != -1
       Comet.connection = document.createElement('iframe');
       Comet.connection.setAttribute('id', Comet.name);
       with (Comet.connection.style) {  
         left       = top   = "-100px";  
         height     = width = "1px";  
         visibility = "hidden";  
         display    = 'none';  
       }  
       Comet.iframediv = document.createElement('iframe');  
       Comet.iframediv.setAttribute('src', url);  
       Comet.connection.appendChild(Comet.iframediv);  
       document.body.appendChild(Comet.connection);
     } else {
        Comet.connection = document.createElement('iframe');  
       Comet.connection.setAttribute('id', Comet.name);  
       Comet.connection.setAttribute('src', url);  
       with (Comet.connection.style) {  
         position   = "absolute";  
         left       = top   = "-100px";  
         height     = width = "1px";  
         visibility = "hidden";  
       }  
       document.body.appendChild(Comet.connection);  
     }
  }
}
/******************Dialog********************/
function Dialog(title,width,height,type,option){
	this.t=title;
	this.w=width;
	this.h=height;
	this.onload=function(){};
	if (typeof option.onload== "function") {
		this.onload=option.onload;
	}
	var _me=this;
	this.dispose=function(){
		var d=document.createElement('div');
		d.id='dialog';
		var d_frame=document.createElement('iframe');
		d_frame.className='dialog-frame';
		var d_main=document.createElement('div');
		d_main.id='dialog-main';
		var d_head=document.createElement('div');
		d_head.id='dialog-head';

		var d_title=document.createElement('div');
		d_title.id='dialog-title';
		d_title.innerHTML=this.t;
		var d_btn=document.createElement("button");
		d_btn.setAttribute('title','close');
		d_btn.onclick=function(){Dialog.close();}
		var d_body=document.createElement('div');
		d_body.id='dialog-body';
		d_body.style.width=this.w+'px';
		d_body.style.height=this.h+'px';
		
		var dw=(this.w+2);
		var dh=(this.h+30);
		d.style.width=dw+'px';
		d.style.height=dh+'px';
		var t=(Dialog.page.height()/2)-(dh/2);t=t<10?10:t;
		d.style.top=(t+Dialog.page.top())+'px';
		d.style.left=(Dialog.page.width()/2)-(dw/2)+'px'
			
			
		var d_body_l=parseInt((this.w-37)/2)+'px';
		var d_body_t=parseInt((this.h-37)/2)+'px';
		d_body.style.backgroundPosition=d_body_l+' '+d_body_t;
		
		d_head.appendChild(d_title);
		d_head.appendChild(d_btn);
		d_main.appendChild(d_head);
		d_main.appendChild(d_body);
		d.appendChild(d_frame);
		d.appendChild(d_main);
		
		
		this.showMask();
		document.body.appendChild(d);
		if(option.drag){
			$('dialog-head').style.cursor='move';
			U.loadJs('/js/drag.js',function(){
				new Drag("dialog", {Handle: "dialog-head"});
			});
		}
		
		if(type==1){
			this.onData(option.div.innerHTML);
		}else if(type==2){
			new AjaxObj().request(option.url,{onSuccess:function(xhr){_me.onData(xhr.responseText);},onFailure:function(){_me.hideWait();}});
		}
	}
	this.showMask=function(){
		var mask=$('dialog-mask');
		if(mask==null){
			mask=document.createElement('div');
			mask.id='dialog-mask';
			document.body.appendChild(mask);
		}
		mask.style.width=Dialog.page.twidth()+'px';
		mask.style.height=Dialog.page.theight()+'px';
		mask.style.display='';
	}
	this.onData=function(c){
		this.hideWait();
		$('dialog-body').innerHTML=c;
		U.getFunc(c).call();
		this.onload();
		//setTimeout(function(){U.getFunc(c)();_onload();},0);
	}
	this.hideWait=function(){$('dialog-body').style.background='#fff';}
	this.dispose();
}
Dialog.close=function(){
	var d=$('dialog');if(d!=null){d.parentNode.removeChild(d);$('dialog-mask').style.display='none';}
}
Dialog.page=function(){
	return{
		top:function(){return document.body.scrollTop||document.documentElement.scrollTop},
		width:function(){return self.innerWidth||document.documentElement.clientWidth},
		height:function(){return self.innerHeight||document.documentElement.clientHeight},
		theight:function(){
			var d=document, b=d.body, e=d.documentElement;
			return Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight))
		},
		twidth:function(){
			var d=document, b=d.body, e=d.documentElement;
			return Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth))
		}
	}
}();
/*********************NOTIFY******************************/
var Notify={};
Notify.emotion=['suc.jpg','fail.jpg','info.jpg'];
Notify.font=['86CC47','0592D9','FF9911'];
Notify.stayInterval=-1;
Notify.stayRemain=-1;
Notify.show=function(t,m){
	if(t=='')return;
	Notify.hide();
	var pane=document.createElement('div');
	pane.id='notifyPane';
	var h='<iframe class="dialog-frame" frameborder="0"></iframe>';
	h+='<table cellspacing="0" cellpadding="0" onmouseout="Notify.setStay(5000)" onmouseover="Notify.setStay(100000)">';
	h+='<tr><td rowspan="2"><img id="notifyEmotionPane" src="/i/components/notify/'+Notify.emotion[t-1]+'"/></td>';
	h+='<td valign="top" align="right" width="300" height="30" style="padding:5px;"><a href="javascript:Notify.hide()"><img src="/i/components/notify/close.jpg" /></a></td>';
	h+='</tr><tr><td align="center" style="height:100px;width:280px" valign="top"><div id="notifyContentPane" style="font-size:24px;font-family:微软雅黑;color:#'+Notify.font[t-1]+'">'+m+'</div></td></tr></table>';
	pane.innerHTML=h;
	pane.style.left=(((document.documentElement.scrollWidth||document.body.scrollWidth) -380)/2)+ "px";
	pane.style.display='block';
	document.body.appendChild(pane);
	Notify.stayRemain = 5000;
	Notify.stayInterval=setInterval(function(){
		if(Notify.stayRemain<=0){Notify.hide();return;}
		Notify.stayRemain-= 500;
	}, 500);
}
Notify.hide=function() {
	clearInterval(Notify.stayInterval);
	var pane=$("notifyPane");
	if(pane!=null)pane.parentNode.removeChild(pane);
}
Notify.setStay=function(t) {
	Notify.stayRemain=t;
}
Notify.suc=function(msg) {
	Notify.show(1,msg);
}
Notify.fail=function(msg) {
	Notify.show(2,msg);
}
Notify.info=function(msg) {
	Notify.show(3,msg);
}
/***************MENU*****************/
function Menu(menuHeader,menuBody,option){
	this.obj=menuHeader;
	this.body=menuBody;
	this.timer=null;
	this.pos=null;
	var _me=this;
	this.marginLeft=0;
	this.marginTop=0;
	this.delay=100;
	this.onExpand=function(){};
	this.onShrink=function(){};
	if(option!=null){
		if(option.marginLeft!=null){
			this.marginLeft=option.marginLeft;
		}
		if(option.marginTop!=null){
			this.marginTop=option.marginTop;
		}
		if(option.delay!=null){
			this.delay=option.delay;
		}
		if(option.onExpand!=null){
			this.onExpand=option.onExpand;
		}
		if(option.onShrink!=null){
			this.onShrink=option.onShrink;
		}
	}
	this.obj.onmouseover=function(){
		_me.expand();
	}
	this.obj.onmousemove=function(){
		_me.expand();
	}
	this.obj.onmouseout=function(){
		_me.shrink();
	}
	this.body.onmouseover=function(){
		_me.expand();
	}
	this.body.onmouseout=function(){
		_me.shrink();
	}
	this.pos=U.getPosition(this.obj);
	this.body.style.display='none';
	this.expand=function(){
		clearTimeout(this.timer);
		if(this.body.style.display='none'){
			this.body.style.left=(this.pos.x+this.marginLeft)+'px';
			this.body.style.top=(this.pos.y+this.obj.clientHeight+this.marginTop)+'px';
			this.body.style.display='';
		}
		this.onExpand(_me);
	}
	this.shrink=function(){
		var immediate=arguments.length>0?arguments[0]:false;
		if(immediate){
			this.body.style.display='none';
			this.onShrink(_me);
		}else{
			this.timer=setTimeout(function(){_me.shrink(true)},this.delay);
		}
	}
}

var VerifyCode = {
	url:"/components/verify/verifycode.jsp"
	,init:function(spanId){
		var randomV=VerifyCode.url+"?code="+Math.random();
		$(spanId).innerHTML="<img src='"+randomV+"' width='60px' height='20px' title='get a new verify code' id='verifycodeImg' onclick='VerifyCode.change()' style='cursor: pointer; border: 1px solid #e4eef9' align='absmiddle'/>";
	}
	,change:function(){
		$('verifycodeImg').src=VerifyCode.url+"?code="+Math.random();
	}
};
var OpManager={
		   mTimer:null,
		   show:function(obj,options){
				clearTimeout(OpManager.mTimer);
				var m=$('op-manager');
				if(m==null){
					m=document.createElement("div");
					m.id='op-manager';
					m.onmouseover=function(){OpManager.stay();}
					m.onmouseout=function(){OpManager.hide();}
					document.body.appendChild(m);
				}
				m.innerHTML=options.renderFunc(options);
				var pos=U.getPosition(obj);
				m.style.left=(pos.x)+'px';
				m.style.top=(pos.y+16)+'px';
				U.show(m);
		   },
		   hide:function(){
				OpManager.mTimer=setTimeout(function(){U.hide('op-manager')},100);
		   },
		   stay:function(){
				clearTimeout(OpManager.mTimer);
		   }
};
function insertAfter(newEl, targetEl){
    var parentEl = targetEl.parentNode;
    if(parentEl.lastChild == targetEl) {
        parentEl.appendChild(newEl);
    }else{
        parentEl.insertBefore(newEl,targetEl.nextSibling);
    }            
}
var Banner={
	init:function(b1,b2){
		if(b1!=''){
			var lis1=U.getElements('banner-1','li');
			lis1[parseInt(b1)-1].className='on';
		}
		if(b2==''){
			U.addClass('banner-2','none');
			return;
		}
		var cities=['SH','SZ','HZ','BJ',''];
		var cookieCity=Cookies.get('ui-city');
		if(cookieCity==null)cookieCity='';
		var lis2=U.getElements('banner-2','li');
		var index=cities.length-1;
		for(var j=0;j<cities.length;j++){
			if(cities[j]==cookieCity){
				index=j;
				break;
			}
		}
		lis2[index].className='on';
		var as=U.getElements('banner-2','li');
		for(var i=0;i<as.length;i++){
			as[i].city=cities[i];
			as[i].onclick=function(){
				Cookies.set('ui-city',this.city,10*365*24*3600000);
				for(var j=0;j<as.length;j++){
					as[j].className='';//.parentNode
				}
				this.className='on';//.parentNode
				onCityChanged(this.city);
			};
		}
	}
};
var SearchPanel={
	init:function(){
		var panel=$('search-panel');
		if(panel==null)return;
		var control=document.createElement('div');
		control.id='search-panel-control';
		control.innerHTML='show search panel';
		control.onclick=function(){
			if(panel.className=='none'){
				SearchPanel.show();
			}else{
				SearchPanel.show(false);
			}
		};
		insertAfter(control,panel);
		var cookie=Cookies.get('ui-show-searchpanel');
		var show=(cookie!=null&&cookie=='show');
		SearchPanel.show(show);
	},
	show:function(){
		var show=arguments.length>0?arguments[0]:true;
		$('search-panel').className=show?'':'none';
		$('search-panel-control').innerHTML=(show?'hide':'show')+' search panel';
		Cookies.set('ui-show-searchpanel',show?'show':'hide',10*365*24*3600000);
	}
};
function setLanguage(s){
	var old=Cookies.get('language');
	if(old!=s){
		Cookies.set('language',s,10*365*24*3600000);
		window.location.reload();
	}
}
var Language={
		types:['en','ch'],
		init:function(){
			for(var i=0;i<Language.types.length;i++){
				var obj=$('language-'+Language.types[i]);
				obj.lan=Language.types[i];
				obj.onclick=function(){
					Language.set(this.lan);
				};
			}
			//Language.set();
		},
		set:function(lan){
			/*var s=Language.types;
			var reload=arguments.length>0;
			var targetLan=reload?arguments[0]:Cookies.get('language');
			if(targetLan==null)targetLan=s[0];
			for(var i=0;i<s.length;i++){
				U.hide('language-'+s[i]);
			}
			U.show('language-'+targetLan);
			if(reload){
				window.location.reload();
			}*/
			Cookies.set('language',lan,10*365*24*3600000);
			var oriLan=U.getUrlParam('language');
			if(oriLan!=null){
				var loc=window.location.href;
				go(loc.replace('language='+oriLan,''));
			}else{
				window.location.reload();
			}
		}
};
