/* $Id : common.js 4865 2007-01-31 14:04:10Z paulgao $ */
String.prototype.trim = function() 
{
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}
var snowCommonClass = function(){};
snowCommonClass.prototype = {
	$:function(pId){
	if(typeof(pId) == 'string'){return document.getElementById(pId);}
	return false;
	},
	$_name:function(pName){
	var return_value = false;
	if(document.getElementsByName(pName)){return_value = document.getElementsByName(pName);}
	return return_value;
	},
	mGetDocumentRoot:function(){
	return (document.documentElement) ? document.documentElement : document.body ;
	},
	mGetObjOneLevelNodes:function(pJson){
		var i,tmp;
		var re_arr = new Array();
		tmp = (pJson.pObj).childNodes;
		for(i=0;i<tmp.length;i++){
			if(pJson.pClass!='' && tmp[i].className.indexOf(pJson.pClass) > -1 ){re_arr.push(tmp[i])}else if(tmp[i].className==pJson.pClass){re_arr.push(tmp[i])}
		}
		return re_arr;
	},
	mGetObjViewThreeLevelNodes:function(pObj,pClass){
		var i,tmp;
		var re_arr = new Array();
		tmp = pObj.childNodes;
		for(i=0;i<tmp.length;i++){
			if(tmp[i].className != ""){
				if(pClass!='' && tmp[i].className.indexOf(pClass) > -1 ){re_arr.push(tmp[i])}else if(tmp[i].className==pClass){re_arr.push(tmp[i])}
			}
			if(tmp[i].childNodes.length > 0){
			var tmp_in = tmp[i].childNodes;
			var j;
				for(j=0;j<tmp_in.length;j++){
				
					if(tmp_in[j].className != ""){
						if(tmp_in[j].className.indexOf(pClass)>-1){re_arr.push(tmp_in[j]);}
					}
					if(tmp_in[j].childNodes.length > 0){
					var tmp_in_two = tmp_in[j].childNodes;
					var k;
						for(k=0;k<tmp_in_two.length;k++){
							if(tmp_in_two[k].className != ""){
								if(tmp_in_two[k].className.indexOf(pClass)>-1){re_arr.push(tmp_in_two[k])}
							}
						}
					}
				}
			}	
		}
		return re_arr;
	},
	mGetObjStyle:function(pId){
		var self = this;
		if(typeof(pId)=='string'){
		return self.$(pId).currentStyle?self.$(pId).currentStyle:window.getComputedStyle(self.$(pId),null);
		}else{
		return pId.currentStyle?pId.currentStyle:window.getComputedStyle(pId,null);			
		}
	},
	mAddEvent:function(pObj,pType,pFn){
		if(window.addEventListener) {
		pObj.addEventListener(pType,pFn,false);
    	}else if(window.attachEvent){
			pObj["e"+pType+pFn]=pFn;
			pObj[pType+pFn]=function(){pObj["e"+pType+pFn](window.event);}
			pObj.attachEvent("on"+pType,pObj[pType+pFn]);
		}
	},
	mRemoveEvent:function(pObj,pType,pFn){
	  if(window.removeEventListener) pObj.removeEventListener(pType,pFn,false);
	  else if(pObj.detachEvent){
		pObj.detachEvent("on"+pType,pObj[pType+pFn]);
		pObj[pType+pFn]=null;
		pObj["e"+pType+pFn]=null;
	  }
	},
	mRegExp:function(pStr,pRegStr){
		return pRegStr.test(pStr);
	},
	mCopyUrl:function(mId){
		var self = this;
		var clipBoardContent="";
		clipBoardContent=self.$(mId).value;
		if(window.clipboardData){
		window.clipboardData.setData("Text",clipBoardContent);
		alert('拷贝成功，赶快发送给你的好友吧！');
		}
		else{
		alert('您的剪切板无法使用，请您手动拷贝连接！');
		}
	},
	mCloseElement:function(mId){
	var self = this;
	if(self.$(mId)){
	self.$(mId).style.display = "none";}
	},
	mCloseElementClearContent:function(mId){
	var self = this;
	if(self.$(mId + '_content')){self.$(mId + '_content').innerHTML = '';}
	if(self.$(mId)){self.$(mId).style.display = "none";}
	},
	//preload image
	mLoadImg:function(mImg){
	var n_img = new Image();
	n_img.src = mImg;
	},
	mFullScreen:function(pScreenObj){
		try{
		window.moveTo(pScreenObj.x,pScreenObj.y);
		window.resizeTo(pScreenObj.width,pScreenObj.height);
		}catch(e){
		}
	},
	mPosAbsCenter:function(mId,topOffset){
	//启动全屏
	var self = this;
	self.mFullScreen({x:0,y:0,width:window.screen.availWidth,height:window.screen.availHeight});
	if( typeof(topOffset) == 'undefined' ){topOffset = 0;};
	var d_root = self.mGetDocumentRoot();
	var c_width = d_root.clientWidth;
	var c_height = d_root.clientHeight;
	var c_scroll = d_root.scrollTop;
	var obj_style = self.mGetObjStyle(mId + "_content");
	var w = obj_style.width;
	var h = obj_style.height;
	w = w.replace("px","");
	h = h.replace("px","");
	if(d_root.scrollWidth > c_width){ c_width = d_root.scrollWidth; }
	if(d_root.scrollHeight > c_height){ c_height = d_root.scrollHeight; }
	self.$(mId).style.display = "block";
	if(self.$(mId+'_bg')){self.$(mId+'_bg').style.width = c_width + "px";}
	if(self.$(mId+'_bg')){self.$(mId+'_bg').style.height = c_height + "px";}
	self.$(mId + "_content").style.left = Math.floor((d_root.clientWidth - w)/2) + "px";
	self.$(mId + "_content").style.top = Math.floor((d_root.clientHeight - h)/2) + c_scroll + topOffset + "px";
	},
	mLoadSwf:function(pJson)
	{
	var self = this;
	var FlashVars = (pJson.flashvars != undefined)? pJson.flashvars :'';
	var Version = (pJson.fver != undefined)? pJson.fver :'9.0.0';
	var Wmod = (pJson.wmd != undefined)? pJson.wmd :'';
	var strSwf = "";
	strSwf += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
	strSwf += ' width="'+pJson.width+'" height="'+pJson.height+'" id="'+pJson.fileid+'" >';
	strSwf += '<param name="movie" value="'+ pJson.filename +'" />';
	strSwf += '<param name="quality" value="high" />';
	strSwf += '<param name="menu" value="false" />';
	strSwf += (FlashVars != null) ? '<param name="FlashVars" value="'+FlashVars+'">' : '';
	strSwf += (Wmod != null) ? '<param name="wmode" value="'+Wmod+'">' : '';
	strSwf += '<param name="swfversion" value="'+Version+'">';
	strSwf += '<embed';
	strSwf += (FlashVars != null) ? ' FlashVars="'+FlashVars+'"' : ''; 
	strSwf += (Wmod != null) ? ' wmode="'+Wmod+'"' : '';
	strSwf += ' swfversion="'+Version+'" ';
	strSwf += ' src="'+pJson.filename+'" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer"';
	strSwf += 'type="application/x-shockwave-flash" width="'+ pJson.width +'" height="'+pJson.height+'"  name="' + pJson.fileid + '" ></embed>';
	strSwf += '</object>';
	(pJson.id != '') ? self.$(pJson.id).innerHTML = strSwf :document.write(strSwf);
	},
	mEffectButtonOrCard:function(pJson){
	var exestr='',tmp = '',self = this;
	var element;
	var b_str,ext,t_src;
	var all_names = self.$_name(pJson.pName);
		for(var j=0; j< all_names.length; j++){
		tmp = all_names[j].src;
		b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
		ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
		eval('b_str = b_str.replace(/' + pJson.pPostfix + '/g,"");');
		t_src = b_str + pJson.pPostfix + '.' + ext;
		self.mPreLoadImg(t_src);
		}
		
		for(var j=0; j< all_names.length; j++){
		tmp = all_names[j];
		if(typeof(pJson.pCard) == 'undefined' && pJson.pCurrItem == (j+1)){
		tmp.style.cursor = "default";
		self.mMouseOver(tmp,pJson.pPostfix);
		continue;
		}
		
		element = pJson.pClassName + '.$_name("'+pJson.pName+'")['+j+']';
			
			if(typeof(pJson.pCard) == 'undefined'){
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mouseover",function(){' + pJson.pClassName + '.mMouseOver('+element+',"' + pJson.pPostfix + '");});';
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mouseout",function(){' + pJson.pClassName + '.mMouseOut('+element+',"' + pJson.pPostfix + '");});';
			}else if(pJson.pCard == 'mouseover'){
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mouseover",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCard(' + (j+1) + ',"' +pJson.pName + '","' + pJson.pPostfix + '");},300)});';
			}else{
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mouseover",function(){' + pJson.pClassName + '.mMouseOverCard('+element+',"' + pJson.pPostfix + '");});';
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mouseout",function(){' + pJson.pClassName + '.mMouseOutCard('+element+',"' + pJson.pPostfix + '");});';				
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mousedown",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCard(' + (j+1) + ',"' +pJson.pName + '","' + pJson.pPostfix + '");},100)});';
			}
		}
		if(typeof(pJson.pCurrItem) != 'undefined'){
		self.mMouseCard(pJson.pCurrItem,pJson.pName,pJson.pPostfix);
		}
		eval(exestr);
	},
	mMouseOver:function(pElementByName,pPostfix){
	var tmp = pElementByName.src;
	var b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
	var ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
	eval('b_str = b_str.replace(/' + pPostfix + '/g,"");');
	var t_src = b_str + pPostfix + '.' + ext;
	pElementByName.src = t_src;
	},
	mMouseOut:function(pElementByName,pPostfix){
	var tmp = pElementByName.src;
	var b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
	var ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
	eval('b_str = b_str.replace(/' + pPostfix + '/g,"");');
	var t_src = b_str + '.' + ext;
	pElementByName.src = t_src;
	},
	mMouseCard:function(pCurrItem,pName,pPostfix){
		var self = this;
		var tmp,b_str,ext,t_src;
		for(var j=0;j<self.$_name(pName).length;j++){
		tmp = self.$_name(pName)[j].src;
		b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
		ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
		eval('b_str = b_str.replace(/' + pPostfix + '/g,"");');
		t_src = b_str + '.' + ext;
		self.$_name(pName)[j].setAttribute('title','');	
			if(self.$(pName + '_' + (j+1))){self.$(pName + '_' + (j+1)).style.display = 'none'; }
			if(pCurrItem==(j+1)){
			t_src = b_str + pPostfix + '.' + ext;
			self.$_name(pName)[j].setAttribute('title','currentItem');
			}
			self.$_name(pName)[j].src = t_src;
		self.$_name(pName)[j].style.cursor = 'pointer';	
		}
		self.$_name(pName)[pCurrItem-1].style.cursor = 'default';
			if(self.$(pName + '_' + pCurrItem)){
			self.$(pName + '_' + pCurrItem).style.display = 'block';
			}
	},
	mMouseOverCard:function(pElementByName,pPostfix){
	if(pElementByName.getAttribute('title')=='currentItem'){return void(0);}
	var tmp = pElementByName.src;
	var b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
	var ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
	eval('b_str = b_str.replace(/' + pPostfix + '/g,"");');
	var t_src = b_str + pPostfix + '.' + ext;
	pElementByName.src = t_src;
	},
	mMouseOutCard:function(pElementByName,pPostfix){
	if(pElementByName.getAttribute('title')=='currentItem'){return void(0);}
	var tmp = pElementByName.src;
	var b_str = (tmp.substring(0,tmp.length-4)).toLowerCase();
	var ext = (tmp.substring(tmp.length-3,tmp.length)).toLowerCase();
	eval('b_str = b_str.replace(/' + pPostfix + '/g,"");');
	var t_src = b_str + '.' + ext;
	pElementByName.src = t_src;
	},
	mCardOne:function(pJson){
	var self = this,exestr='',evt;
	var all_items = self.mGetObjOneLevelNodes({pObj:self.$(pJson.pParentId),pClass:''});
	var img_src = self.$(pJson.pParentId + pJson.pPostfix).src;
	var img_ext = (img_src.substring(img_src.length-3,img_src.length)).toLowerCase();
	var img_str = (img_src.substring(0,img_src.length-4)).toLowerCase();
	var img_target = img_str.replace(/_\d+$/g,"_");
	var load_src = '';
		//图片预载
		for(var j=0; j< all_items.length; j++){
		load_src = img_target + (j+1) + '.' + img_ext;
		self.mPreLoadImg(load_src);
		all_items[j].setAttribute('title','mCardOne');	
		//load_src = load_src.replace(/\//g,'\\');
		//---
		element = pJson.pClassName + '.mGetObjOneLevelNodes({pObj:' + pJson.pClassName + '.$("' + pJson.pParentId + '"),pClass:""})' + '[' + j + ']';
		element_Arr = pJson.pClassName + '.mGetObjOneLevelNodes({pObj:' + pJson.pClassName + '.$("' + pJson.pParentId + '"),pClass:""})';
			if(typeof(pJson.pCard) != 'undefined'){
				if(pJson.pCard == 'mouseover'){
				exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"mouseover",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCardOne("' +pJson.pParentId + pJson.pPostfix + '","' + load_src + '","' + pJson.pPrefix + '",'+ (j+1) +',"' + pJson.pParentId + '");},200)});';					
				}else{
				exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"mouseover",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCardOneOver("' +pJson.pParentId + pJson.pPostfix + '","' + load_src + '");},200)});';
				
				exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"mouseout",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCardOneOut("' +pJson.pParentId + pJson.pPostfix + '","' + load_src + '","' + pJson.pParentId + '","' + img_target +  '","' + img_ext + '");},100)});';					
				
				exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"mousedown",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCardOne("' +pJson.pParentId + pJson.pPostfix + '","' + load_src + '","' + pJson.pPrefix + '",'+ (j+1) +',"' + pJson.pParentId + '");},200)});';					

				}
			}
		//---
		}
		eval(exestr);
		if(typeof(pJson.pCurrItem)!='undefined'){
		var pCurrItem_src = img_target + pJson.pCurrItem + '.' + img_ext;
		self.mMouseCardOne(pJson.pParentId + pJson.pPostfix,pCurrItem_src,pJson.pPrefix,pJson.pCurrItem,pJson.pParentId);
		}
	},
	mMouseCardOne:function(pId,pScr,pPrefix,pCurrentItem,pParentId){
	var self = this;
	self.$(pId).src = pScr;
	var all_items = self.mGetObjOneLevelNodes({pObj:self.$(pParentId),pClass:''});
		for(var i = 0 ; i<all_items.length ; i++){
		if(self.$(pPrefix + '_'+(i+1))){self.$(pPrefix + '_'+(i+1)).style.display = 'none';}
		all_items[i].style.cursor = 'pointer';
		all_items[i].setAttribute('title','');
		}
		if(self.$(pPrefix + '_'+ pCurrentItem)){
		self.$(pPrefix + '_'+ pCurrentItem).style.display = 'block';
		all_items[pCurrentItem-1].style.cursor = 'default';
		all_items[pCurrentItem-1].setAttribute('title','currentItem');
		}
	},
	mMouseCardOneOver:function(pId,pScr){
	var self = this;
	self.$(pId).src = pScr;		
	},
	mMouseCardOneOut:function(pId,pScr,pParentId,pImgTarget,pImgExt){
	var self = this;
	var all_items = self.mGetObjOneLevelNodes({pObj:self.$(pParentId),pClass:''});
		for(var i = 0 ; i<all_items.length ; i++){		
			if(all_items[i].getAttribute('title')=='currentItem'){
			self.$(pId).src = pImgTarget + (i + 1) + '.' + pImgExt;
			}
		}
	},
	mCardWord:function(pJson){
	var self = this,c_id,exestr = '',evt = '';
	var all_items = self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_common'));
	
		for(var i = 0 ; i<all_items.length ; i++){
		all_items[i].setAttribute('id','');
		element = pJson.pClassName + '.mGetObjViewThreeLevelNodes(' + pJson.pClassName + '.$("' + pJson.pParentId + '"),"' + pJson.pParentId + '_common")' + '[' + i + ']';
		element_Arr = pJson.pClassName + '.mGetObjViewThreeLevelNodes(' + pJson.pClassName + '.$("' + pJson.pParentId + '"),"' + pJson.pParentId + '_common")';
		evt = (pJson.pCard=='mouseover')? 'mouseover' : 'mousedown';
		exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"' + evt + '",function(){window.setTimeout(function(){' + pJson.pClassName + '.mMouseCardWord({pAllItems:' + element_Arr + ',pCurrentItem:"' + (i+1) + '",pParentId:"' + pJson.pParentId + '"});},200)});';
		}
		eval(exestr);
		if(typeof(pJson.pCurrentItem)!='undefined'){
		passJson = {"pAllItems":self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_common')),"pCurrentItem":pJson.pCurrentItem,"pParentId":pJson.pParentId};
		self.mMouseCardWord(passJson);
		}
	},
	mMouseCardWord:function(pJson){
	var self = this;
	for(var i = 0;i<pJson.pAllItems.length;i++){
	pJson.pAllItems[i].setAttribute('id','');
	if(self.$(pJson.pParentId + '_content_' + (i + 1))){self.$(pJson.pParentId + '_content_' + (i + 1)).style.display = 'none';}
	}
	pJson.pAllItems[pJson.pCurrentItem-1].setAttribute('id',pJson.pParentId + '_content');
	if(self.$(pJson.pParentId + '_content_' + pJson.pCurrentItem)){self.$(pJson.pParentId + '_content_' + pJson.pCurrentItem).style.display = 'block';}
	},
	mSmallSeeBigSpecial:function(pJson){
	var self = this;
	var tmpArr = self.$_name(pJson.pName);
	var exestr='';
		for(j=0;j<tmpArr.length;j++){
		hrefValue = tmpArr[j].getAttribute('href');
		tmpArr[j].setAttribute('href','javascript:void(0);');
			if(hrefValue!='javascript:void(0);' && hrefValue!=''){
			element = pJson.pClassName + '.$_name("'+pJson.pName+'")['+j+']';
			exestr = exestr + pJson.pClassName + '.mAddEvent('+element+',"mousedown",function(){';
			exestr = exestr + pJson.pClassName + '.$("'+pJson.SeeBigId+'").src = "'+hrefValue+'";';				
			exestr = exestr + pJson.pClassName + '.mPosAbsCenter("'+pJson.pJumpId+'");';
			exestr = exestr + '});';		
			}
		}
	if(exestr!=''){eval(exestr);}
	},
	mSmallSeeBigSpecialFocus:function(pJson){
	var self = this,c_id,exestr = '',evt = '';
	var all_items = self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_a'));
	var all_items_main = self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_name'));
		//img reload		
		for(var i = 0 ; i<all_items.length ; i++){
		self.mPreLoadImg(all_items_main[i].getAttribute('rel'));
		}
	
		for(var i = 0 ; i<all_items.length ; i++){
		big_img_value = all_items_main[i].getAttribute('rel');
		title_value = all_items_main[i].getAttribute('title');
		href_value = all_items_main[i].getAttribute('href');
		all_items[i].setAttribute('id','');
		element = pJson.pClassName + '.mGetObjViewThreeLevelNodes(' + pJson.pClassName + '.$("' + pJson.pParentId + '"),"' + pJson.pParentId + '_a")' + '[' + i + ']';
		element_Arr = pJson.pClassName + '.mGetObjViewThreeLevelNodes(' + pJson.pClassName + '.$("' + pJson.pParentId + '"),"' + pJson.pParentId + '_a")';
		evt = (pJson.pCard=='mouseover')? 'mouseover' : 'mousedown';
		exestr = exestr + pJson.pClassName + '.mAddEvent(' + element + ',"' + evt + '",function(){window.setTimeout(function(){' + pJson.pClassName + '.mSmallSeeBigSpecialFocusDo({pAllItems:' + element_Arr + ',pCurrentItem:"' + (i+1) + '",pParentId:"' + pJson.pParentId + '",big_img_value:"'+big_img_value+'",title_value:"'+title_value+'",href_value:"'+href_value+'"});},200)});';
		}
		eval(exestr);
		if(typeof(pJson.pCurrentItem)!='undefined'){
		passJson = {"pAllItems":self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_a')),"pCurrentItem":pJson.pCurrentItem,"pParentId":pJson.pParentId,"big_img_value":all_items_main[pJson.pCurrentItem-1].getAttribute('rel'),"title_value":all_items_main[pJson.pCurrentItem-1].getAttribute('title'),"href_value":all_items_main[pJson.pCurrentItem-1].getAttribute('href')};
		//self.mSmallSeeBigSpecialFocusDo(passJson);
		var tmp_link_arr = new Array();
			for(var i = 0 ; i<all_items.length ; i++){
				tmp_link_arr[i] = all_items_main[i].getAttribute('href');
				all_items_main[i].setAttribute('href','javascript:void(0);');	
			}
		self.mSetTimeoutFocusImg(pJson,pJson.pCurrentItem-1,all_items.length,6000,tmp_link_arr);			
		}
	},
	mSmallSeeBigSpecialFocusDo:function(pJson){
	var self = this;
	if(	pJson.pAllItems[pJson.pCurrentItem-1].getAttribute('id')==pJson.pParentId + '_content'){return '';}
	for(var i = 0;i<pJson.pAllItems.length;i++){
	pJson.pAllItems[i].setAttribute('id','');
	}
	pJson.pAllItems[pJson.pCurrentItem-1].setAttribute('id',pJson.pParentId + '_content');
	self.setOpacityDo(100,'-',0,10,20,'begin',pJson);
	},
	mSetTimeoutFocusImg:function(pJson,pNum,pAllNum,pBaseTime,pTmpLinkArr){
	var self = this,c_id,exestr = '',evt = '';
	var all_items_main = self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_name'));
	var all_items = self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_a'));	
	for(var i = 0;i<all_items.length;i++){
	if(all_items[i].getAttribute('id')==pJson.pParentId + '_content'){pNum=(i+1);break;};
	}
	pNum++;	
	if(pNum>pAllNum){pNum=1;}else if(pNum<1){pNum = pAllNum;}
	passJson = {"pAllItems":self.mGetObjViewThreeLevelNodes(self.$(pJson.pParentId),(pJson.pParentId + '_a')),"pCurrentItem":pNum,"pParentId":pJson.pParentId,"big_img_value":all_items_main[pNum-1].getAttribute('rel'),"title_value":all_items_main[pNum-1].getAttribute('title'),"href_value":pTmpLinkArr[pNum-1]};
	self.mSmallSeeBigSpecialFocusDo(passJson);
	window.setTimeout(function(){self.mSetTimeoutFocusImg(pJson,pNum,pAllNum,pBaseTime,pTmpLinkArr)},pBaseTime);	
	},
	setOpacityDo:function(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson){
		var self = this;
		eval('pInitNum'+pSign+'='+pStepsize+';');
		self.setOpacity(self.$('SmallSeeBigSpecialFocusBigImg_con'),pInitNum);
		if(pInitNum!=pLastNum){
		window.setTimeout(function(){self.setOpacityDo(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson)},pDoTime);			
		}else{
			if(pDoSign!='end'){
				self.$(pJson.pParentId+'_img').innerHTML = '<img src="'+pJson.big_img_value+'" />';
				self.$(pJson.pParentId+'_img').setAttribute('href',pJson.href_value);
				self.$(pJson.pParentId+'_title').innerHTML = '<a href="'+ pJson.href_value +'">' + pJson.title_value + '</a>';
				if(pSign=='-'){pSign='+';}
				window.setTimeout(function(){self.setOpacityDo(0,pSign,100,pStepsize,pDoTime,'end','')},pDoTime);
			}
		}
	},
	setOpacity:function(pObj,pOpacity){
		/*opacity 1-100*/
		var self = this;
		try{
		if(self.browerCheck()=='ie'){pObj.style.filter = "alpha(opacity:" + pOpacity + ")";pObj.style.zoom =1;}else{pObj.style.opacity = pOpacity/100;}
		}catch(e){
		alert('setOpacity error!');
		}
	},
	browerCheck:function(){
	var navStr = navigator.userAgent.toLowerCase();
	var bVer = '';
	bVer = (navStr.indexOf ("opera") != -1)?'opera':'';
	bVer = (navStr.indexOf ("gecko") != -1)?'gecko':'';
	bVer = (navStr.indexOf ("msie") != -1)?'ie':'';
	return bVer;
	},
	hihokuMarqueeBlockSetOpacityDo:function(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson){
		var self = this;
		eval('pInitNum'+pSign+'='+pStepsize+';');
		self.setOpacity(self.$(pJson.pId),pInitNum);
		if(pInitNum!=pLastNum){
		window.setTimeout(function(){self.hihokuMarqueeBlockSetOpacityDo(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson)},pDoTime);			
		}else{
			if(pDoSign!='end'){
				var obj_big_src_img = new Image();
				obj_big_src_img.src = pJson.big_img_value;
				var tmp_json = self.DrawImage(obj_big_src_img,pJson.width,pJson.height);
				self.$(pJson.pId).innerHTML = '<table border="0" align="center" cellpadding="0" cellspacing="0" height="100%"><tr><td valign="middle"><a href="'+ pJson.pLink +'" target="_blank"><img src="'+pJson.big_img_value+'" height="'+ tmp_json.height +'" width="'+tmp_json.width+'" /></a></td></tr></table>';
				//self.$(pJson.pParentId+'_img').setAttribute('href',pJson.href_value);
				//self.$(pJson.pParentId+'_title').innerHTML = '<a href="'+ pJson.href_value +'">' + pJson.title_value + '</a>';
				if(pSign=='-'){pSign='+';}
				window.setTimeout(function(){self.hihokuMarqueeBlockSetOpacityDo(0,pSign,100,pStepsize,pDoTime,'end',pJson)},pDoTime);
			}
		}
	},
	hihokuMarqueeBlockExe:function(pJson){
	var self = this;
	self.hihokuMarqueeBlockSetOpacityDo(100,'-',0,20,60,'begin',pJson);	
	},
	DrawImage:function(ImgD,FitWidth,FitHeight) { 
		var image=new Image(); 
		image.src=ImgD.src;
		r_height = FitHeight;
		r_width = FitWidth;
		if(image.width>0 && image.height>0) 
		{
			if(image.width/image.height>= FitWidth /FitHeight) 
				{ 
					if(image.width>FitWidth) 
						{ 
							ImgD.width = r_width = FitWidth; ImgD.height = r_height = Math.floor((image.height*FitWidth)/image.width);
						} 
						else 
						{ 
							ImgD.width=r_width = image.width; ImgD.height=r_height = image.height; 
						} 
				} 
				else
				{ 
					if(image.height>FitHeight) 
					{ 
						ImgD.height=r_height = FitHeight; ImgD.width=r_width = Math.floor( (image.width*FitHeight)/image.height); 
					} 
					else 
					{ 
						ImgD.width=r_width = image.width; ImgD.height=r_height = image.height; 
					}
				}
		}
		return {height:r_height,width:r_width};
	},
	_search:function(get_name,d_v){
	if(typeof(get_name)=='undefined'){get_name = 'p';}
	var self = this;
	var curr_page = '1';
	if(typeof(d_v)=='undefined'){curr_page = d_v;}	
	var page = window.location.search;
	if(page!=''){
	page = self._search_get_value(get_name);
	zz = /^\d*$/ ;
	if(zz.exec(page)!=null){
	curr_page = page;
	}
	}
	return curr_page;
	},
	_hash:function(){
	var curr_page = '1';
	var page = window.location.hash;
	if(page!=''){
	page = page.substring(1,page.length);
	page = page.replace('p=','');
	zz = /^\d*$/ ;
	if(zz.exec(page)!=null){
	curr_page = page;
	}
	}
	return curr_page;
	},
	_fresh:function(hs){
		window.location.href = "?"+hs;	
	},
	get_url:function(){
	var address = window.self.location.toString().toLowerCase().match(/:\/\/(www\.)*?(.[^/:]+)/)[2];
	protocol = window.location.protocol;
	host = window.location.host;
	pathname = window.location.pathname;
	url = protocol+'//' + host + pathname;
	return url;
	},
	_search_get_value:function(get_name){
	var search_str = window.location.search;
	eval('var str = search_str.toString().toLowerCase().match(/('+get_name+'=[^&]+)/g);');
	if(!str){
	//alert('there is no such a variable which named ' + get_name);	
	return '1';
	}
	return str.toString().replace(get_name+'=','');
	},
	setOpacityDoStandard:function(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson,pId){
		var self = this;
		var tmp = '';		
		eval('pInitNum'+pSign+'='+pStepsize+';');
		tmp = pId;		
		if(typeof(pId)=='string'){
		tmp = self.$(pId);	
		}
		var boo = (pSign=='+')?(pInitNum>=pLastNum):(pInitNum<=pLastNum);
		if(boo){
		self.setOpacity(tmp,pLastNum);
		try{pJson.onFinish();}catch(e){}
		return '';
		}
		self.setOpacity(tmp,pInitNum);
		window.setTimeout(function(){self.setOpacityDoStandard(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pDoSign,pJson,pId)},pDoTime);			
	},
	objGlobalPos_y:function(o) {
		var t = 0;
		if (o.offsetParent) {
			while (o.offsetParent) {
				t += o.offsetTop;
				o  = o.offsetParent;
			}
		}
		return t;
	},
	objGlobalPos_x:function(o) {
		var t = 0;
		if (o.offsetParent) {
			while (o.offsetParent) {
				t += o.offsetLeft;
				o  = o.offsetParent;
			}
		}
		return t;
	},
	slideAnimation:function(pJson){
		var self = this;
		var direction = pJson.direction;
		var id = pJson.id;
		if(typeof(pJson.id) == 'undefined'){alert('未指定动画节点!');return false;}
		if(typeof(pJson.direction) == 'undefined'){direction = 'left';}
		var obj = self.$(id);
		objStyle = self.mGetObjStyle(obj);
		width = objStyle.width;
		height = objStyle.height;
		width = width.replace("px","");
		height = height.replace("px","");
		width = /^\d*$/.exec(width)!=null?width:0;
		height = /^\d*$/.exec(height)!=null?height:0;
		switch (pJson.direction)
		{
			case 'left':
			targhtNum = width;
			break;
			case 'right':
			targhtNum = width;
			break;
			case 'top':
			targhtNum = height;
			break;
			case 'bottom':
			targhtNum = height;
			break;
			targhtNum = 0;
			default:

		}
		ifDo = (targhtNum!=0)?true:false;
		if(!ifDo){alert('请指定目标节点宽和高值!');return false;}
		obj.style.display = 'block';
			if(pJson.effect=='show'){
			eval('obj.style.' + pJson.direction + ' = "-'+targhtNum+'px";');
			self.mAutoSlideAnimation(obj,targhtNum,1,pJson);
			}else{
			eval('obj.style.' + pJson.direction + ' = "0px";');
			self.mAutoSlideAnimationHidden(obj,targhtNum,1,pJson);
			}
	},
	mAutoSlideAnimation:function(pObj,pTarghtNum,pDoNum,pJson){
		var self = this;
		pDoNum = pDoNum*2;
		pDoNum = (pDoNum > pTarghtNum)?pTarghtNum:pDoNum;
		//alert(pDoNum - pTarghtNum);
		eval('pObj.style.' + pJson.direction + ' = "' + (pDoNum - pTarghtNum) + 'px";');
		if(pDoNum < pTarghtNum){
		window.setTimeout(function(){self.mAutoSlideAnimation(pObj,pTarghtNum,pDoNum,pJson)}, 20);
		}else{
		eval('pObj.style.' + pJson.direction + ' = "0px";');
		//alert('动画执行结束');
		}
	},
	mAutoSlideAnimationHidden:function(pObj,pTarghtNum,pDoNum,pJson){
		var self = this;
		pDoNum = pDoNum*2;
		pDoNum = (pDoNum > pTarghtNum)?pTarghtNum:pDoNum;
		//alert(pDoNum - pTarghtNum);
		eval('pObj.style.' + pJson.direction + ' = "-' + pDoNum + 'px";');
		if(pDoNum < pTarghtNum){
		window.setTimeout(function(){self.mAutoSlideAnimationHidden(pObj,pTarghtNum,pDoNum,pJson)}, 20);
		}else{
		eval('pObj.style.' + pJson.direction + ' = "-'+pTarghtNum+'px";');
		eval('pObj.style.display = "none";');
		//alert('动画执行结束');
		}
	},
	createElement:function(pJson){
		var self = this;
		var root,tag;
		root = (typeof(pJson.root)=="undefined")?self.mGetDocumentRoot():pJson.root;
		tag = (typeof(pJson.tag)=="undefined")?'':pJson.tag;
		class_name = (typeof(pJson.class_name)=="undefined")?'':pJson.class_name;
		css_text = (typeof(pJson.css_text)=="undefined")?'':pJson.css_text;
		html_text = (typeof(pJson.html_text)=="undefined")?'':pJson.html_text;
		id = (typeof(pJson.id)=="undefined")?'':pJson.id;
		var new_tag = document.createElement(tag);
		new_tag.className = class_name;
		new_tag.cssText = css_text;
		if(id!=''){
		new_tag.setAttribute("id",id);
		}
		new_tag.innerHTML = html_text;
		root.appendChild(new_tag);
	},
	appendCss:function(pJson){
		var self = this,obj;
		obj = typeof(pJson.target)=='string'?self.$(pJson.target):pJson.target;
		obj.cssText = pJson.css_text;
	},
	mAnBar:function(b,e,sign,step,id,dtime){
	var self = this;
	//mAnBar(0,100,'+','2','bar',100);	
	var boo = (sign=='+')?(b>=e):(b<=e);
	if(boo){
	clearTimeout(self.seto);	
	self.$(id).style.width = e+'%';
	return '';
	}
	eval('b'+sign+'='+step+';');
	self.$(id).style.width = b+'%';
	self.seto = window.setTimeout(function(){self.mAnBar(b,e,sign,step,id,dtime)},dtime);
	},
	mSelector:(function(){var b=/(?:[\w\-\\.#]+)+(?:\[\w+?=([\'"])?(?:\\\1|.)+?\1\])?|\*|>/ig,g=/^(?:[\w\-_]+)?\.([\w\-_]+)/,f=/^(?:[\w\-_]+)?#([\w\-_]+)/,j=/^([\w\*\-_]+)/,h=[null,null];function d(o,m){m=m||document;var k=/^[\w\-_#]+$/.test(o);if(!k&&m.querySelectorAll){return c(m.querySelectorAll(o))}if(o.indexOf(",")>-1){var v=o.split(/,/g),t=[],s=0,r=v.length;for(;s<r;++s){t=t.concat(d(v[s],m))}return e(t)}var p=o.match(b),n=p.pop(),l=(n.match(f)||h)[1],u=!l&&(n.match(g)||h)[1],w=!l&&(n.match(j)||h)[1],q;if(u&&!w&&m.getElementsByClassName){q=c(m.getElementsByClassName(u))}else{q=!l&&c(m.getElementsByTagName(w||"*"));if(u){q=i(q,"className",RegExp("(^|\\s)"+u+"(\\s|$)"))}if(l){var x=m.getElementById(l);return x?[x]:[]}}return p[0]&&q[0]?a(p,q):q}function c(o){try{return Array.prototype.slice.call(o)}catch(n){var l=[],m=0,k=o.length;for(;m<k;++m){l[m]=o[m]}return l}}function a(w,p,n){var q=w.pop();if(q===">"){return a(w,p,true)}var s=[],k=-1,l=(q.match(f)||h)[1],t=!l&&(q.match(g)||h)[1],v=!l&&(q.match(j)||h)[1],u=-1,m,x,o;v=v&&v.toLowerCase();while((m=p[++u])){x=m.parentNode;do{o=!v||v==="*"||v===x.nodeName.toLowerCase();o=o&&(!l||x.id===l);o=o&&(!t||RegExp("(^|\\s)"+t+"(\\s|$)").test(x.className));if(n||o){break}}while((x=x.parentNode));if(o){s[++k]=m}}return w[0]&&s[0]?a(w,s):s}var e=(function(){var k=+new Date();var l=(function(){var m=1;return function(p){var o=p[k],n=m++;if(!o){p[k]=n;return true}return false}})();return function(m){var s=m.length,n=[],q=-1,o=0,p;for(;o<s;++o){p=m[o];if(l(p)){n[++q]=p}}k+=1;return n}})();function i(q,k,p){var m=-1,o,n=-1,l=[];while((o=q[++m])){if(p.test(o[k])){l[++n]=o}}return l}return d})(),
	mForEach:function (array, callback, thisObject){
		if(array.forEach){
			array.forEach(callback, thisObject);
		}else{
			for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
		}
	},
	mPreLoadImg:function(src,obj){
		var image = new Image();
		image.onload = function() {
			if(obj){
			obj.onFinish(src,image.width,image.height);
			}
		};
		image.onerror = function(){
			if(obj){
			obj.onFinish('');
			}else{
			alert(src+' no found!');	
			}
		}
		image.src = src;
	},
	setAnimationDoStandard:function(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pJson,pId,pUnit){
		var self = this;
		var tmp = '';
		if(typeof(pUnit)=='undefined'){pUnit = 'px';}
		eval('pInitNum'+pSign+'='+pStepsize+';');
		tmp = pId;
		if(typeof(pId)=='string'){
		tmp = self.$(pId);
		}
		var boo = (pSign=='+')?(pInitNum>=pLastNum):(pInitNum<=pLastNum);
		if(boo){
		eval('tmp.style.' + pJson.de + ' = pLastNum+"'+pUnit+'";');			
		try{pJson.onFinish();}catch(e){}
		return '';
		}
		eval('tmp.style.' + pJson.de + ' = pInitNum + "'+pUnit+'";');
		self.setADS = setTimeout(function(){self.setAnimationDoStandard(pInitNum,pSign,pLastNum,pStepsize,pDoTime,pJson,pId,pUnit)},pDoTime);			
	}
}
var snowCClass = new snowCommonClass();

snowCClass.mAddEvent(window,'load',function(){

	var menu_col = snowCClass.mSelector('#menu ul li');
	var p_name = window.location.pathname.toLowerCase();
	var currItem = '';
	switch(p_name)
	{
	case '/' :
	  currItem = 0;
	  break;
	case '/index.php' :
	  currItem = 0;
	  break;
	case '/about_us.php' :
	  currItem = 1;
	  break;
	case '/pruduct_list.php' :
	  currItem = 2;
	  break;
	case '/services.php' :
	  currItem = 3;
	  break;
	case '/user.php' :
	 currItem = (window.location.search)=='?act=order_list'?4:5;
	  break;
	case '/goods.php' :
	  currItem = 2;
	  break;
	case '/category.php' :
	  currItem = 2;
	  break;
	case '/flow.php' :
	  currItem = 5;
	  break;
	case '/news.php' :
	  currItem = 3;
	  break;
	case '/article.php' :
	  currItem = 3;
	  break;
	case '/search.php' :
	  currItem = 2;
	  break;
	default :
	  break;
	}
	
	
	if(currItem.toString() != ''){
		menu_col[currItem].className = 'on';
	}



});

/* *
 * 添加商品到购物车 
 */
function addToCart(goodsId, parentId)
{
  var goods        = new Object();
  var spec_arr     = new Array();
  var fittings_arr = new Array();
  var number       = 1;
  var formBuy      = document.forms['ECS_FORMBUY'];
  var quick		   = 0;

  // 检查是否有商品规格 
  if (formBuy)
  {
    spec_arr = getSelectedAttributes(formBuy);

    if (formBuy.elements['number'])
    {
      number = formBuy.elements['number'].value;
    }

	quick = 1;
  }

  goods.quick    = quick;
  goods.spec     = spec_arr;
  goods.goods_id = goodsId;
  goods.number   = number;
  goods.parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);

  Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');
}

/**
 * 获得选定的商品属性
 */
function getSelectedAttributes(formBuy)
{
  var spec_arr = new Array();
  var j = 0;

  for (i = 0; i < formBuy.elements.length; i ++ )
  {
    var prefix = formBuy.elements[i].name.substr(0, 5);

    if (prefix == 'spec_' && (
      ((formBuy.elements[i].type == 'radio' || formBuy.elements[i].type == 'checkbox') && formBuy.elements[i].checked) ||
      formBuy.elements[i].tagName == 'SELECT'))
    {
      spec_arr[j] = formBuy.elements[i].value;
      j++ ;
    }
  }

  return spec_arr;
}

/* *
 * 处理添加商品到购物车的反馈信息
 */
function addToCartResponse(result)
{
  if (result.error > 0)
  {
    // 如果需要缺货登记，跳转
    if (result.error == 2)
    {
      if (confirm(result.message))
      {
        location.href = 'user.php?act=add_booking&id=' + result.goods_id + '&spec=' + result.product_spec;
      }
    }
    // 没选规格，弹出属性选择框
    else if (result.error == 6)
    {
      openSpeDiv(result.message, result.goods_id, result.parent);
    }
    else
    {
      alert(result.message);
    }
  }
  else
  {
    var cartInfo = document.getElementById('ECS_CARTINFO');
    var cart_url = 'flow.php?step=cart';
    if (cartInfo)
    {
      cartInfo.innerHTML = result.content;
    }

    if (result.one_step_buy == '1')
    {
      location.href = cart_url;
    }
    else
    {
      switch(result.confirm_type)
      {
        case '1' :
          if (confirm(result.message)) location.href = cart_url;
          break;
        case '2' :
          if (!confirm(result.message)) location.href = cart_url;
          break;
        case '3' :
          location.href = cart_url;
          break;
        default :
          break;
      }
    }
  }
}

/* *
 * 添加商品到收藏夹
 */
function collect(goodsId)
{
  Ajax.call('user.php?act=collect', 'id=' + goodsId, collectResponse, 'GET', 'JSON');
}

/* *
 * 处理收藏商品的反馈信息
 */
function collectResponse(result)
{
  alert(result.message);
}

/* *
 * 处理会员登录的反馈信息
 */
function signInResponse(result)
{
  toggleLoader(false);

  var done    = result.substr(0, 1);
  var content = result.substr(2);

  if (done == 1)
  {
    document.getElementById('member-zone').innerHTML = content;
  }
  else
  {
    alert(content);
  }
}

/* *
 * 评论的翻页函数
 */
function gotoPage(page, id, type)
{
  Ajax.call('comment.php?act=gotopage', 'page=' + page + '&id=' + id + '&type=' + type, gotoPageResponse, 'GET', 'JSON');
}

function gotoPageResponse(result)
{
  document.getElementById("ECS_COMMENT").innerHTML = result.content;
}

/* *
 * 商品购买记录的翻页函数
 */
function gotoBuyPage(page, id)
{
  Ajax.call('goods.php?act=gotopage', 'page=' + page + '&id=' + id, gotoBuyPageResponse, 'GET', 'JSON');
}

function gotoBuyPageResponse(result)
{
  document.getElementById("ECS_BOUGHT").innerHTML = result.result;
}

/* *
 * 取得格式化后的价格
 * @param : float price
 */
function getFormatedPrice(price)
{
  if (currencyFormat.indexOf("%s") > - 1)
  {
    return currencyFormat.replace('%s', advFormatNumber(price, 2));
  }
  else if (currencyFormat.indexOf("%d") > - 1)
  {
    return currencyFormat.replace('%d', advFormatNumber(price, 0));
  }
  else
  {
    return price;
  }
}

/* *
 * 夺宝奇兵会员出价
 */

function bid(step)
{
  var price = '';
  var msg   = '';
  if (step != - 1)
  {
    var frm = document.forms['formBid'];
    price   = frm.elements['price'].value;
    id = frm.elements['snatch_id'].value;
    if (price.length == 0)
    {
      msg += price_not_null + '\n';
    }
    else
    {
      var reg = /^[\.0-9]+/;
      if ( ! reg.test(price))
      {
        msg += price_not_number + '\n';
      }
    }
  }
  else
  {
    price = step;
  }

  if (msg.length > 0)
  {
    alert(msg);
    return;
  }

  Ajax.call('snatch.php?act=bid&id=' + id, 'price=' + price, bidResponse, 'POST', 'JSON')
}

/* *
 * 夺宝奇兵会员出价反馈
 */

function bidResponse(result)
{
  if (result.error == 0)
  {
    document.getElementById('ECS_SNATCH').innerHTML = result.content;
    if (document.forms['formBid'])
    {
      document.forms['formBid'].elements['price'].focus();
    }
    newPrice(); //刷新价格列表
  }
  else
  {
    alert(result.content);
  }
}
onload = function()
{
	/*ec prevent*/
	/*
    var link_arr = document.getElementsByTagName(String.fromCharCode(65));
    var link_str;
    var link_text;
    var regg, cc;
    var rmd, rmd_s, rmd_e, link_eorr = 0;
    var e = new Array(97, 98, 99,
                      100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
                      110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
                      120, 121, 122
                      );

  try
  {
    for(var i = 0; i < link_arr.length; i++)
    { 
      link_str = link_arr[i].href;
	  
      if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, e[18], e[7], e[14], 
                                             e[15], 46, 99, 111, e[12])) != -1)
      {
        if ((link_text = link_arr[i].innerText) == undefined)
        {
            throw "noIE";
        }
        regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));
        if ((cc = regg.exec(link_text)) != null)
        {
          if (link_arr[i].offsetHeight == 0)
          {
            break;
          }
          link_eorr = 1;
          break;
        }
      }
      else
      {
        link_eorr = link_eorr ? 0 : link_eorr;
        continue;
      }
    }
  } // IE
  catch(exc)
  {
    for(var i = 0; i < link_arr.length; i++)
    {
      link_str = link_arr[i].href;
      if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, 115, 104, e[14], 
                                               e[15], 46, 99, 111, e[12])) != -1)
      {
        link_text = link_arr[i].textContent;
        regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));
        if ((cc = regg.exec(link_text)) != null)
        {
          if (link_arr[i].offsetHeight == 0)
          {
            break;
          }
          link_eorr = 1;
          break;
        }
      }
      else
      {
        link_eorr = link_eorr ? 0 : link_eorr;
        continue;
      }
    }
  } // FF

  try
  {
    rmd = Math.random();
    rmd_s = Math.floor(rmd * 10);
    if (link_eorr != 1)
    {
      rmd_e = i - rmd_s;
      link_arr[rmd_e].href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46, 
                                                       101, 99, 115, 104, 111, 112, 46, 99, 111, 109);
	  alert(String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46, 
                                                       101, 99, 115, 104, 111, 112, 46, 99, 111, 109));
	  alert(String.fromCharCode(
                                        80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98, 
                                        121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103, 
                                        62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,
                                        111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,
                                        69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,
                                        115, 116, 114, 111, 110, 103, 62));
      link_arr[rmd_e].innerHTML = String.fromCharCode(
                                        80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98, 
                                        121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103, 
                                        62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,
                                        111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,
                                        69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,
                                        115, 116, 114, 111, 110, 103, 62);
    }
  }
  catch(ex)
  {
  }
  */
}

/* *
 * 夺宝奇兵最新出价
 */

function newPrice(id)
{
  Ajax.call('snatch.php?act=new_price_list&id=' + id, '', newPriceResponse, 'GET', 'TEXT');
}

/* *
 * 夺宝奇兵最新出价反馈
 */

function newPriceResponse(result)
{
  document.getElementById('ECS_PRICE_LIST').innerHTML = result;
}

/* *
 *  返回属性列表
 */
function getAttr(cat_id)
{
  var tbodies = document.getElementsByTagName('tbody');
  for (i = 0; i < tbodies.length; i ++ )
  {
    if (tbodies[i].id.substr(0, 10) == 'goods_type')tbodies[i].style.display = 'none';
  }

  var type_body = 'goods_type_' + cat_id;
  try
  {
    document.getElementById(type_body).style.display = '';
  }
  catch (e)
  {
  }
}

/* *
 * 截取小数位数
 */
function advFormatNumber(value, num) // 四舍五入
{
  var a_str = formatNumber(value, num);
  var a_int = parseFloat(a_str);
  if (value.toString().length > a_str.length)
  {
    var b_str = value.toString().substring(a_str.length, a_str.length + 1);
    var b_int = parseFloat(b_str);
    if (b_int < 5)
    {
      return a_str;
    }
    else
    {
      var bonus_str, bonus_int;
      if (num == 0)
      {
        bonus_int = 1;
      }
      else
      {
        bonus_str = "0."
        for (var i = 1; i < num; i ++ )
        bonus_str += "0";
        bonus_str += "1";
        bonus_int = parseFloat(bonus_str);
      }
      a_str = formatNumber(a_int + bonus_int, num)
    }
  }
  return a_str;
}

function formatNumber(value, num) // 直接去尾
{
  var a, b, c, i;
  a = value.toString();
  b = a.indexOf('.');
  c = a.length;
  if (num == 0)
  {
    if (b != - 1)
    {
      a = a.substring(0, b);
    }
  }
  else
  {
    if (b == - 1)
    {
      a = a + ".";
      for (i = 1; i <= num; i ++ )
      {
        a = a + "0";
      }
    }
    else
    {
      a = a.substring(0, b + num + 1);
      for (i = c; i <= b + num; i ++ )
      {
        a = a + "0";
      }
    }
  }
  return a;
}

/* *
 * 根据当前shiping_id设置当前配送的的保价费用，如果保价费用为0，则隐藏保价费用
 *
 * return       void
 */
function set_insure_status()
{
  // 取得保价费用，取不到默认为0
  var shippingId = getRadioValue('shipping');
  var insure_fee = 0;
  if (shippingId > 0)
  {
    if (document.forms['theForm'].elements['insure_' + shippingId])
    {
      insure_fee = document.forms['theForm'].elements['insure_' + shippingId].value;
    }
    // 每次取消保价选择
    if (document.forms['theForm'].elements['need_insure'])
    {
      document.forms['theForm'].elements['need_insure'].checked = false;
    }

    // 设置配送保价，为0隐藏
    if (document.getElementById("ecs_insure_cell"))
    {
      if (insure_fee > 0)
      {
        document.getElementById("ecs_insure_cell").style.display = '';
        setValue(document.getElementById("ecs_insure_fee_cell"), getFormatedPrice(insure_fee));
      }
      else
      {
        document.getElementById("ecs_insure_cell").style.display = "none";
        setValue(document.getElementById("ecs_insure_fee_cell"), '');
      }
    }
  }
}

/* *
 * 当支付方式改变时出发该事件
 * @param       pay_id      支付方式的id
 * return       void
 */
function changePayment(pay_id)
{
  // 计算订单费用
  calculateOrderFee();
}

function getCoordinate(obj)
{
  var pos =
  {
    "x" : 0, "y" : 0
  }

  pos.x = document.body.offsetLeft;
  pos.y = document.body.offsetTop;

  do
  {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;

    obj = obj.offsetParent;
  }
  while (obj.tagName.toUpperCase() != 'BODY')

  return pos;
}

function showCatalog(obj)
{
  var pos = getCoordinate(obj);
  var div = document.getElementById('ECS_CATALOG');

  if (div && div.style.display != 'block')
  {
    div.style.display = 'block';
    div.style.left = pos.x + "px";
    div.style.top = (pos.y + obj.offsetHeight - 1) + "px";
  }
}

function hideCatalog(obj)
{
  var div = document.getElementById('ECS_CATALOG');

  if (div && div.style.display != 'none') div.style.display = "none";
}

function sendHashMail()
{
  Ajax.call('user.php?act=send_hash_mail', '', sendHashMailResponse, 'GET', 'JSON')
}

function sendHashMailResponse(result)
{
  alert(result.message);
}

/* 订单查询 */
function orderQuery()
{
  var order_sn = document.forms['ecsOrderQuery']['order_sn'].value;

  var reg = /^[\.0-9]+/;
  if (order_sn.length < 10 || ! reg.test(order_sn))
  {
    alert(invalid_order_sn);
    return;
  }
  Ajax.call('user.php?act=order_query&order_sn=s' + order_sn, '', orderQueryResponse, 'GET', 'JSON');
}

function orderQueryResponse(result)
{
  if (result.message.length > 0)
  {
    alert(result.message);
  }
  if (result.error == 0)
  {
    var div = document.getElementById('ECS_ORDER_QUERY');
    div.innerHTML = result.content;
  }
}

function display_mode(str)
{
    document.getElementById('display').value = str;
    setTimeout(doSubmit, 0);
    function doSubmit() {document.forms['listform'].submit();}
}

function display_mode_wholesale(str)
{
    document.getElementById('display').value = str;
    setTimeout(doSubmit, 0);
    function doSubmit() 
    {
        document.forms['wholesale_goods'].action = "wholesale.php";
        document.forms['wholesale_goods'].submit();
    }
}

/* 修复IE6以下版本PNG图片Alpha */
function fixpng()
{
  var arVersion = navigator.appVersion.split("MSIE")
  var version = parseFloat(arVersion[1])

  if ((version >= 5.5) && (document.body.filters))
  {
     for(var i=0; i<document.images.length; i++)
     {
        var img = document.images[i]
        var imgName = img.src.toUpperCase()
        if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
        {
           var imgID = (img.id) ? "id='" + img.id + "' " : ""
           var imgClass = (img.className) ? "class='" + img.className + "' " : ""
           var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
           var imgStyle = "display:inline-block;" + img.style.cssText
           if (img.align == "left") imgStyle = "float:left;" + imgStyle
           if (img.align == "right") imgStyle = "float:right;" + imgStyle
           if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
           var strNewHTML = "<span " + imgID + imgClass + imgTitle
           + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
           + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
           + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
           img.outerHTML = strNewHTML
           i = i-1
        }
     }
  }
}

function hash(string, length)
{
  var length = length ? length : 32;
  var start = 0;
  var i = 0;
  var result = '';
  filllen = length - string.length % length;
  for(i = 0; i < filllen; i++)
  {
    string += "0";
  }
  while(start < string.length)
  {
    result = stringxor(result, string.substr(start, length));
    start += length;
  }
  return result;
}

function stringxor(s1, s2)
{
  var s = '';
  var hash = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  var max = Math.max(s1.length, s2.length);
  for(var i=0; i<max; i++)
  {
    var k = s1.charCodeAt(i) ^ s2.charCodeAt(i);
    s += hash.charAt(k % 52);
  }
  return s;
}

var evalscripts = new Array();
function evalscript(s)
{
  if(s.indexOf('<script') == -1) return s;
  var p = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/ig;
  var arr = new Array();
  while(arr = p.exec(s)) appendscript(arr[1], '', arr[2], arr[3]);
  return s;
}

function $$(id)
{
    return document.getElementById(id);
}

function appendscript(src, text, reload, charset)
{
  var id = hash(src + text);
  if(!reload && in_array(id, evalscripts)) return;
  if(reload && $$(id))
  {
    $$(id).parentNode.removeChild($$(id));
  }
  evalscripts.push(id);
  var scriptNode = document.createElement("script");
  scriptNode.type = "text/javascript";
  scriptNode.id = id;
  //scriptNode.charset = charset;
  try
  {
    if(src)
    {
      scriptNode.src = src;
    }
    else if(text)
    {
      scriptNode.text = text;
    }
    $$('append_parent').appendChild(scriptNode);
  }
  catch(e)
  {}
}

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;
}

var pmwinposition = new Array();

var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
function pmwin(action, param)
{
  var objs = document.getElementsByTagName("OBJECT");
  if(action == 'open')
  {
    for(i = 0;i < objs.length; i ++)
    {
      if(objs[i].style.visibility != 'hidden')
      {
        objs[i].setAttribute("oldvisibility", objs[i].style.visibility);
        objs[i].style.visibility = 'hidden';
      }
    }
    var clientWidth = document.body.clientWidth;
    var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
    var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
    var pmwidth = 800;
    var pmheight = clientHeight * 0.9;
    if(!$$('pmlayer'))
    {
      div = document.createElement('div');div.id = 'pmlayer';
      div.style.width = pmwidth + 'px';
      div.style.height = pmheight + 'px';
      div.style.left = ((clientWidth - pmwidth) / 2) + 'px';
      div.style.position = 'absolute';
      div.style.zIndex = '999';
      $$('append_parent').appendChild(div);
      $$('pmlayer').innerHTML = '<div style="width: 800px; background: #666666; margin: 5px auto; text-align: left">' +
        '<div style="width: 800px; height: ' + pmheight + 'px; padding: 1px; background: #FFFFFF; border: 1px solid #7597B8; position: relative; left: -6px; top: -3px">' +
        '<div onmousedown="pmwindrag(event, 1)" onmousemove="pmwindrag(event, 2)" onmouseup="pmwindrag(event, 3)" style="cursor: move; position: relative; left: 0px; top: 0px; width: 800px; height: 30px; margin-bottom: -30px;"></div>' +
        '<a href="###" onclick="pmwin(\'close\')"><img style="position: absolute; right: 20px; top: 15px" src="images/close.gif" title="关闭" /></a>' +
        '<iframe id="pmframe" name="pmframe" style="width:' + pmwidth + 'px;height:100%" allowTransparency="true" frameborder="0"></iframe></div></div>';
    }
    $$('pmlayer').style.display = '';
    $$('pmlayer').style.top = ((clientHeight - pmheight) / 2 + scrollTop) + 'px';
    if(!param)
    {
        pmframe.location = 'pm.php';
    }
    else
    {
        pmframe.location = 'pm.php?' + param;
    }
  }
  else if(action == 'close')
  {
    for(i = 0;i < objs.length; i ++)
    {
      if(objs[i].attributes['oldvisibility'])
      {
        objs[i].style.visibility = objs[i].attributes['oldvisibility'].nodeValue;
        objs[i].removeAttribute('oldvisibility');
      }
    }
    hiddenobj = new Array();
    $$('pmlayer').style.display = 'none';
  }
}

var pmwindragstart = new Array();
function pmwindrag(e, op)
{
  if(op == 1)
  {
    pmwindragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
    pmwindragstart[2] = parseInt($$('pmlayer').style.left);
    pmwindragstart[3] = parseInt($$('pmlayer').style.top);
    doane(e);
  }
  else if(op == 2 && pmwindragstart[0])
  {
    var pmwindragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
    $$('pmlayer').style.left = (pmwindragstart[2] + pmwindragnow[0] - pmwindragstart[0]) + 'px';
    $$('pmlayer').style.top = (pmwindragstart[3] + pmwindragnow[1] - pmwindragstart[1]) + 'px';
    doane(e);
  }
  else if(op == 3)
  {
    pmwindragstart = [];
    doane(e);
  }
}

function doane(event)
{
  e = event ? event : window.event;
  if(is_ie)
  {
    e.returnValue = false;
    e.cancelBubble = true;
  }
  else if(e)
  {
    e.stopPropagation();
    e.preventDefault();
  }
}

/* *
 * 添加礼包到购物车
 */
function addPackageToCart(packageId)
{
  var package_info = new Object();
  var number       = 1;

  package_info.package_id = packageId
  package_info.number     = number;

  Ajax.call('flow.php?step=add_package_to_cart', 'package_info=' + package_info.toJSONString(), addPackageToCartResponse, 'POST', 'JSON');
}

/* *
 * 处理添加礼包到购物车的反馈信息
 */
function addPackageToCartResponse(result)
{
  if (result.error > 0)
  {
    if (result.error == 2)
    {
      if (confirm(result.message))
      {
        location.href = 'user.php?act=add_booking&id=' + result.goods_id;
      }
    }
    else
    {
      alert(result.message);    
    }
  }
  else
  {
    var cartInfo = document.getElementById('ECS_CARTINFO');
    var cart_url = 'flow.php?step=cart';
    if (cartInfo)
    {
      cartInfo.innerHTML = result.content;
    }

    if (result.one_step_buy == '1')
    {
      location.href = cart_url;
    }
    else
    {
      switch(result.confirm_type)
      {
        case '1' :
          if (confirm(result.message)) location.href = cart_url;
          break;
        case '2' :
          if (!confirm(result.message)) location.href = cart_url;
          break;
        case '3' :
          location.href = cart_url;
          break;
        default :
          break;
      }
    }
  }
}

function setSuitShow(suitId)
{
    var suit    = document.getElementById('suit_'+suitId);

    if(suit == null)
    {
        return;
    }
    if(suit.style.display=='none')
    {
        suit.style.display='';
    }
    else
    {
        suit.style.display='none';
    }
}


/* 以下四个函数为属性选择弹出框的功能函数部分 */
//检测层是否已经存在
function docEle() 
{
  return document.getElementById(arguments[0]) || false;
}

//生成属性选择层
function openSpeDiv(message, goods_id, parent) 
{
  var _id = "speDiv";
  var m = "mask";
  if (docEle(_id)) document.removeChild(docEle(_id));
  if (docEle(m)) document.removeChild(docEle(m));
  //计算上卷元素值
  var scrollPos; 
  if (typeof window.pageYOffset != 'undefined') 
  { 
    scrollPos = window.pageYOffset; 
  } 
  else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') 
  { 
    scrollPos = document.documentElement.scrollTop; 
  } 
  else if (typeof document.body != 'undefined') 
  { 
    scrollPos = document.body.scrollTop; 
  }

  var i = 0;
  var sel_obj = document.getElementsByTagName('select');
  while (sel_obj[i])
  {
    sel_obj[i].style.visibility = "hidden";
    i++;
  }

  // 新激活图层
  var newDiv = document.createElement("div");
  newDiv.id = _id;
  newDiv.style.position = "absolute";
  newDiv.style.zIndex = "10000";
  newDiv.style.width = "300px";
  newDiv.style.height = "260px";
  newDiv.style.top = (parseInt(scrollPos + 200)) + "px";
  newDiv.style.left = (parseInt(document.body.offsetWidth) - 200) / 2 + "px"; // 屏幕居中
  newDiv.style.overflow = "auto"; 
  newDiv.style.background = "#FFF";
  newDiv.style.border = "3px solid #59B0FF";
  newDiv.style.padding = "5px";

  //生成层内内容
  newDiv.innerHTML = '<h4 style="font-size:14; margin:15 0 0 15;">' + select_spe + "</h4>";

  for (var spec = 0; spec < message.length; spec++)
  {
      newDiv.innerHTML += '<hr style="color: #EBEBED; height:1px;"><h6 style="text-align:left; background:#ffffff; margin-left:15px;">' +  message[spec]['name'] + '</h6>';

      if (message[spec]['attr_type'] == 1)
      {
        for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
        {
          if (val_arr == 0)
          {
            newDiv.innerHTML += "<input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' checked /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';      
          }
          else
          {
            newDiv.innerHTML += "<input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';      
          }
        } 
        newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
      }
      else
      {
        for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
        {
          newDiv.innerHTML += "<input style='margin-left:15px;' type='checkbox' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + ' [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';     
        }
        newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
      }
  }
  newDiv.innerHTML += "<br /><center>[<a href='javascript:submit_div(" + goods_id + "," + parent + ")' class='f6' >" + btn_buy + "</a>]&nbsp;&nbsp;[<a href='javascript:cancel_div()' class='f6' >" + is_cancel + "</a>]</center>";
  document.body.appendChild(newDiv);


  // mask图层
  var newMask = document.createElement("div");
  newMask.id = m;
  newMask.style.position = "absolute";
  newMask.style.zIndex = "9999";
  newMask.style.width = document.body.scrollWidth + "px";
  newMask.style.height = document.body.scrollHeight + "px";
  newMask.style.top = "0px";
  newMask.style.left = "0px";
  newMask.style.background = "#FFF";
  newMask.style.filter = "alpha(opacity=30)";
  newMask.style.opacity = "0.40";
  document.body.appendChild(newMask);
} 

//获取选择属性后，再次提交到购物车
function submit_div(goods_id, parentId) 
{
  var goods        = new Object();
  var spec_arr     = new Array();
  var fittings_arr = new Array();
  var number       = 1;
  var input_arr      = document.getElementsByTagName('input'); 
  var quick		   = 1;

  var spec_arr = new Array();
  var j = 0;

  for (i = 0; i < input_arr.length; i ++ )
  {
    var prefix = input_arr[i].name.substr(0, 5);

    if (prefix == 'spec_' && (
      ((input_arr[i].type == 'radio' || input_arr[i].type == 'checkbox') && input_arr[i].checked)))
    {
      spec_arr[j] = input_arr[i].value;
      j++ ;
    }
  }

  goods.quick    = quick;
  goods.spec     = spec_arr;
  goods.goods_id = goods_id;
  goods.number   = number;
  goods.parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);

  Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');

  document.body.removeChild(docEle('speDiv'));
  document.body.removeChild(docEle('mask'));

  var i = 0;
  var sel_obj = document.getElementsByTagName('select');
  while (sel_obj[i])
  {
    sel_obj[i].style.visibility = "";
    i++;
  }

}

// 关闭mask和新图层
function cancel_div() 
{
  document.body.removeChild(docEle('speDiv'));
  document.body.removeChild(docEle('mask'));

  var i = 0;
  var sel_obj = document.getElementsByTagName('select');
  while (sel_obj[i])
  {
    sel_obj[i].style.visibility = "";
    i++;
  }
}

//search
function checkSearchForm()
{
	if(document.getElementById('keyword').value)
	{
		return true;
	}
	else
	{
		alert("请输入关键字！");
		return false;
	}
}


