window.onerror=function(a,b,c){
	deBugOut("发生异常："+a+";位置："+b+";行数:"+c);
	//alert(a+","+b+","+c);
}
function deBugOut(msg){
	try{
		if(typeof(console) == 'undefined')
			return;
		try{
			console.println(msg);
		}catch(e){
			//alert("show msg:"+e.message);
		}
	}catch(e){}
}
function scrollMenu(){
	this.menuData = new Object();		//菜单的数据集合
	this.oldMenu = '';					//原始菜单
	this.currMenu = '';					//当前操作（显示）菜单
	this.currPageId='';					//当前页的ID
	this.currmp='';						//当前显示的菜单的中心点
	this.baseModel=true;				//是否以基本（简单）模式显示菜单
	this.lazyShowObjs=new Object();		//延迟显示的菜单组，用于在首次显示失败后的延迟显示
	this.moveDivTimeout=null;			//移动菜单的定时器变量，用来监控菜单是否在移动，避免多次构造定时器和控制移动
	this.Divtargetleft=-1;				//菜單內容移動的目標位置
	this.DivMoveSpeed=50;				//移動速率，越小越快
	this.off=20;						//移動增量, 越大越快
	this.MoveDirection=-1;				//移動方向 1向右 -1向左
	this.addmove=null;					//附加移動狀態標識符
	this.leftMg=1;						//左留白
	this.rightMg=1;						//右留白
	this.movetargerDiv=null;
	this.mem =function(e){				//構造錯誤信息輸出字符串
		var ev="";
		for(evs in e){
			ev+=evs+"="+e[evs]+";";
		}
		return ev;
	}
	
	this.addMenu=function(mName, text, url,ourl) {							//添加菜單到菜單集合，并不顯示，將數據保留在集合里
		try {
			var t = this.menuData[mName];
			if (!t) {
				this.menuData[mName]=new Array();
				t = this.menuData[mName];
			}
			if(!ourl)
				ourl=url;
			t[t.length] = {text:text, url:url,ourl:ourl};
			
		}
		catch (e) {
			deBugOut("菜單數據添加錯誤！ 信息：" + this.mem(e));
		}
	}
	this.addSubMenu=function(pmid, mtext, murl,ourl){						//將菜單數據顯示出來
		var sm = document.getElementById("subMenus");
		if (sm.rows[0].cells.length != 0) {
			var cell = sm.rows[0].insertCell(-1);
			var img = document.createElement("img");
			img.src = splicImageSrc;
			img.setAttribute("width", "4px");
			img.setAttribute("height", "33px");
			cell.appendChild(img);
		}
		var cell = sm.rows[0].insertCell(-1);
		cell.setAttribute("height", "33px");
		var a = document.createElement("a");
		var tspan=document.createElement("span");
		tspan.className="norow1";
		a.className="top_menu";
		var showb=typeof(currItem) == 'undefined' ? false:true;
		try{
			if(showb && mtext && currItem==mtext)
				a.style.fontWeight="bold";//#02517a
		}catch(e){
			deBugOut("addSubMenu:"+this.mem(e));
		}
		if(pmid=="pm2"){
			a.target="_blank";
		}
		if(mtext=="在線客服"){
			a.href ="javascript:;";
			a.onclick=function(){
				open(ourl,'','width=580,height=500,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no,location=no');
			}
			a.target="_self";
		}else{
			a.href = murl;
		}
		a.innerHTML="&nbsp;"+mtext+"&nbsp;";
		tspan.appendChild(a);
		cell.appendChild(tspan);
		cell.align = "center";
	}
	this.showMenu=function(o){
		//alert("in show 1");
		deBugOut("showMenu bigen!");
		//alert("in show 2");
		if(this.movetargerDiv==null)
			this.movetargerDiv=document.getElementById("menus");
		if(!o){
			o=document.getElementById("Product");
		}
		if(!o.id){
			return;
		}
//		if(this.oldMenu == o.id)
//			return;
		if (this.oldMenu) {
			var hiDiv = document.getElementById(this.oldMenu + "2");
			hiDiv.style.visibility = "hidden";
			this.currMenu.style.visibility = "visible";
		}
		this.currMenu = o;
		//deBugOut("showMenu _________!!");
		var mp = o.offsetLeft + (o.offsetWidth / 2);
		//deBugOut("test point "+mp);
		if(mp==0){
			setTimeout("lazyShowSubMenu('"+o.id+"')",0);
			return false;
		}
		var hiDiv = document.getElementById(o.id + "2");
		//deBugOut("test point 1");
		hiDiv.style.visibility = "visible";
		this.currMenu.style.visibility = "hidden";
	//	deBugOut("test point 2");
		this.cleanMenus(); //清除原菜單
		//deBugOut("cleanMenus ____over_____!!");
		var slist =this.menuData[o.id];
		if (slist && slist.length && slist.length > 0) {
			for (var i = 0; i < slist.length; i++) {
				this.addSubMenu(o.id, slist[i].text, slist[i].url,slist[i].ourl); //附加菜單項
			}
		}
		this.oldMenu = o.id; //原始菜單
		
		this.currPageId=o.id;//顯示頁菜單ID，用于跳轉，暫時無用
		
		this.currmp=mp;		//保存當前菜單顯示中心點
		try{
			this.setTargetLeft(mp);				//根據中心點，計算出目標坐標
		}catch(e){
			deBugOut("showMenu:"+this.mem(e));
			this.Divtargetleft=this.leftMg;
		}
		deBugOut("showMenu over!");
		
	}
	//根據目標點獲得菜單的標準顯示目標點
	this.setTargetLeft=function(mp){			//設置標準的移動目標
		deBugOut("setTargetLeft start!");
		var allm = document.getElementById("showRec");//总显示容器
		var dym = document.getElementById("subMenus");//菜单内容区域
		var dytarget = this.movetargerDiv;//移动目标
		
		var midleft = dym.offsetWidth / 2 ; 
		var lover = allm.offsetLeft;
		var adleleft = mp;//左可用区域  |  adleleft     |          adleright            |
		var adleright = allm.offsetWidth - mp;//右可用区域
		
		if(this.Divtargetleft==-1){//如果是頁面剛加載，則從右滑出菜單
			dytarget.style.left=1000+"px";
		}
		this.Divtargetleft=this.leftMg;
		this.Divtargetleft= mp-midleft-lover-35;//中心點 - 容器邊界(lover) - 需要大小(midleft) -誤差(35)
		if(adleright < midleft){//如果右邊容量不足，就將菜單前移顯示完右部分
			this.Divtargetleft = allm.offsetWidth - dym.offsetWidth-this.rightMg; //容器寬度-菜單總寬度-右留白（8）
		}
		this.Divtargetleft= this.Divtargetleft < this.leftMg ? this.leftMg :this.Divtargetleft;	  //如果左邊留白不夠，將首要考慮留左留白，隱藏右邊的菜單
		this.domove();
		deBugOut("setTargetLeft end!:"+this.Divtargetleft);
	}
	
	this.cleanMenus=function(){					//清除顯示出來的菜單
		deBugOut("bigen clear!");
		var sm = document.getElementById("subMenus");
//		deBugOut("cleanMenus INFO:sm="+sm);
		var cells = sm.rows[0].cells;
		if(!document.all){
			if(sm.rows[0]){
				sm.rows[0].innerHTML='';
			}
			return;
		}
		
//		deBugOut("cleanMenus INFO:cells="+cells);
		var clen = sm.rows[0].cells.length;
//		deBugOut("cleanMenus INFO:clen="+clen);
		for (var i = 0; i < clen+1; i++) {
			try{
//				deBugOut("cleanMenus INFO:removeObje="+sm.rows[0].firstChild);
				var robj=sm.rows[0].firstChild;
				if(robj)
					sm.rows[0].removeChild(sm.rows[0].firstChild);
//				deBugOut("cleanMenus INFO:remove OK!");
			}catch(ee){
				deBugOut("cleanMenus:"+this.mem(ee));
			}
		}
//		deBugOut("bigen over!");
	}
	this.domove=function(){
		deBugOut("bigen move!");
		var targetId="menus";
		if(this.movetargerDiv==null)
			this.movetargerDiv=document.getElementById("menus");
		deBugOut("move point 0!"+this.movetargerDiv);
		var tg=parseInt(this.Divtargetleft+"");
		if(isNaN(tg) || !this.movetargerDiv){
			return;
		}
//		deBugOut("move point 0!"+target);
		if(this.baseModel){
			this.movetargerDiv.style.left=tg+"px";
			this.showTool();
		}else{
			var cleft=this.movetargerDiv.offsetLeft;//當前左坐標
			var alldis= cleft < tg ? tg-cleft:cleft-tg;//與目標點的距離
			if(alldis>(this.off*6)){  //根據距離調整移動的速度
				this.DivMoveSpeed=50;
				this.off=100;
			}else
			if(alldis>(this.off*3)){
				this.DivMoveSpeed=50;
				this.off=35;
			}else 
			if(alldis>(this.off)){
				this.DivMoveSpeed=50;
				if(this.off<2)
					this.off=2;
				if(this.off!=2)
					this.off=this.off/2;
			}
			
			if(cleft < tg){		//根據移動距離移動，以當前位置和目標決定移動的方向
	//			alert("case 1");
				if(tg-cleft > this.off){
					this.movetargerDiv.style.left =cleft+this.off+"px";
				}else{
					this.movetargerDiv.style.left=tg+"px";
				}
				deBugOut("----------check data !:left="+this.movetargerDiv.style.left+",off="+this.off+",cleft="+cleft+",width="+this.movetargerDiv.offsetWidth);
			}else if(cleft > tg){
	//			alert("case 2");
				if(cleft-tg > this.off){
					this.movetargerDiv.style.left =(cleft-this.off)+"px";
				}else{
					this.movetargerDiv.style.left=tg+"px";
				}
				deBugOut("----------check data !:left="+this.movetargerDiv.style.left+",off="+this.off+",cleft="+cleft);
			}
		}
		cleft=this.movetargerDiv.offsetLeft;		//重新獲得當前的左坐標
		
		if(cleft != tg){				//是否到達目標，到達則設置moveDivTimeout為NULL表示為到達并停止移動
			this.moveDivTimeout=setTimeout("smenu.domove()",this.DivMoveSpeed);
		}else{
			
			this.moveDivTimeout=null;
			deBugOut("*******************all move over!");
		}
		deBugOut("move point 1!"+this.movetargerDiv+"========="+this.movetargerDiv.offsetLeft);
		if(this.movetargerDiv.offsetLeft==0 && this.movetargerDiv.offsetWidth==0){
			//for(iti in target)
			//	deBugOut("target."+iti+"="+target[iti]);
			document.getElementById("showRec").appendChild(this.movetargerDiv);
			this.movetargerDiv.style.left=500+"px";
			deBugOut("target.id="+this.movetargerDiv['id']);
		}
		deBugOut("one move over! info:left= "+this.movetargerDiv.offsetLeft);
		deBugOut("move point 1!"+this.movetargerDiv+"========="+this.movetargerDiv.offsetLeft);
//		if(this.movetargerDiv.offsetLeft>=this.leftMg){
//			var lb=document.getElementById("scolltoLeft");
//			lb.style.visibility="hidden";
//		}
//		var allm = document.getElementById("showRec");//总显示容器
//		//alert(this.movetargerDiv.offsetLeft+this.movetargerDiv.offsetWidth<=allm.offsetWidth-this.rightMg);
//		if(this.movetargerDiv.offsetLeft+this.movetargerDiv.offsetWidth<=allm.offsetWidth-this.rightMg){
//			var lb=document.getElementById("scolltoRight");
//			lb.style.visibility="hidden";
//			//alert(this.movetargerDiv.offsetLeft+document.getElementById("subMenus").offsetWidth<=allm.offsetWidth-this.rightMg);
//		}
		this.showTool();
	}
	this.clearAddMove=function(){
		this.addmove=null;
	}
	this.beginAddMove=function(dis){
		this.addmove=1;
		this.addMoveDis(dis);
		
	}
	this.addMoveDis=function(dis){
		this.MoveDirection=dis;
		if(this.addmove!=null){
			this.Divtargetleft+=this.off*this.MoveDirection;
			if(this.moveDivTimeout==null)
				this.moveDivTimeout=setTimeout("smenu.domove()",this.DivMoveSpeed);
			if(this.addmove==1){
				setTimeout("smenu.addMoveDis("+dis+")",50);
			}
		}
	}
	this.clearAddMove=function(){
		this.addmove=null;
	}
	this.showTool= function(){		//顯示移動菜單
		deBugOut("bigen showTool!");
		var dytarget = this.movetargerDiv;//移动目标
		var allm = document.getElementById("showRec");//总显示容器
		var mtool=document.getElementById("moveTool");//移动工具条
		mtool.style.left=this.currmp-(mtool.offsetWidth/2)+"px";
		
		//控制顯示的按鍵
		var twid=dytarget.offsetWidth;
		if(dytarget.offsetLeft<this.leftMg){
			var lb=document.getElementById("scolltoLeft");
			lb.style.visibility="visible";
		}else{
			var lb=document.getElementById("scolltoLeft");
			lb.style.visibility="hidden";
			if(this.MoveDirection==1){
				this.addmove=null;
				//alert("aaa");
			}
		}
		if(!document.all){
			var sms=document.getElementById("subMenus");
			twid=sms.offsetWidth;
		}
		
		if(dytarget.offsetLeft+twid > allm.offsetWidth-this.rightMg){
			//显示右滚动按钮
			var rb=document.getElementById("scolltoRight");
			rb.style.visibility="visible";
			//alert("0");
		}else{
			var rb=document.getElementById("scolltoRight");
			rb.style.visibility="hidden";
			if(this.MoveDirection==-1){
				this.addmove=null;
			}
			//alert("-0");
		}
		deBugOut("showTool over!");
	}
}
////////////////////////////////////////////////////////
//function 
////////////////other Function///////////////////////
var Cimgobj=null;
var Curl=null;
var CimgUrl=null;
function changeImage(o,ao,imgUrl,maxUrl){
	var oo=document.getElementById(o);
	var aoo=document.getElementById(ao);
	if(oo && oo.tagName=="IMG"){
		Cimgobj=oo;
		Curl=aoo;
		CimgUrl=imgUrl;
//		oo.filters.revealtrans.transition =  parseInt(Math.random() * 25);
//	    oo.filters.revealtrans.apply();
//	    oo.filters.revealtrans.play();
		Cimgobj["src"]=CimgUrl;
		Curl["href"]=maxUrl;
		setTimeout("fluashImg('"+CimgUrl+"')",300,"javascript");
	}
}

/////////////////////////////// other method///////////////////////////////
function setSize(oo,size){
	try{
		oo["width"]=size[0]+"px";
		oo["height"]=size[1]+"px";
	}catch(e){
		oo.width=size[0];
		oo.height=size[1];
	}
}
function fluashImg(a){
	//if(Cimgobj&&Curl&&CimgUrl){
		Cimgobj["src"]=a+"?rl=rl";
	//}
}
function autoChangeImgSize(){
	var imageArray=document.getElementsByTagName("img");
	for(var i=0;i<imageArray.length;i+=1){
		var currImg=imageArray[i];
		if(currImg && currImg.className && currImg.className=="atH"){
			try{
				var nh=currImg.naturalHeight*1.0;
				if(currImg.naturalHeight && nh!=0){
					var nw=currImg.naturalWidth*1.0;
					var cw=currImg.offsetWidth*1.0;
					var rh=Math.floor(nh*(nw/cw));
					currImg.height=rh;
					//alert(currImg.naturalWidth+","+currImg.offsetWidth+","+nw+","+cw);
				}
			}catch(e){}
		}
	}
}
function scollto(obj){
	var o=document.getElementById(obj);
	if(o){
		var rec=getoffset(o);
		scroll(rec[1],rec[0]);
	}else{
		//...
	}
}
function MakeMinImg(){
	var imageArray=document.getElementsByTagName("img");
	for(var i=0;i<imageArray.length;i+=1){
		var currImg=imageArray[i];
		if(currImg && currImg.className && currImg.className=="mmi"){
			try{
				var w=currImg.offsetWidth;
				var h=currImg.offsetHeight;
				var imageobj = new Image();
				imageobj["src"]=currImg["src"];
				imageobj["width"]=w;
				imageobj["height"]=h;
				currImg=imageobj;
				//alert("=-");
			}catch(e){alert("mimg:"+e.message);}
		}
	}
}

function setAutoHeight(o){
	try{
		if(o.offsetHeight==0)
			o.height="1px";
		o.height=o.offsetHeight+"px";
	//alert("tagName:"+o.tagName+",id:"+o.id+",height:"+o.height);
	}catch(e){
		//alert("setAutoHeight:"+e.message);
		}
}
function me(str){
	return encodeURI(str);
}
function de(str){
	return decodeURI(str);
}
//獲得指定元素的絕對位置，離網頁原點的距離
function getoffset(e) {
	var t = e.offsetTop;
	var l = e.offsetLeft;
	while (e = e.offsetParent) {
		t += e.offsetTop;
		l += e.offsetLeft;
	}
	var rec = new Array(1);
	rec[0] = t;
	rec[1] = l;
	return rec;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);