// JavaScript Document
var TaoXie=YAHOO;
var $D=TaoXie.util.Dom;
var $E=TaoXie.util.Event;
var $=$D.get;

if(!Array.prototype.indexOf){
	Array.prototype.indexOf=function (C,B){
		if(B==null){
			B=0;
		}else {
			if(B<0){
				B=Math.max(0,this.length+B);
			}
		}for(var A=B;A<this.length;A++){
			if(this[A]===C){
				return A;
			}
		}
		return -1;
	}
}if(!Array.prototype.lastIndexOf){
	Array.prototype.lastIndexOf=function (C,B){
		if(B==null){
			B=this.length-1;
		}else {
			if(B<0){
				B=Math.max(0,this.length+B);
			}
		}for(var A=B;A>=0;A--){
			if(this[A]===C){
				return A;
			}
		}return -1;
	}
}if(!Array.prototype.forEach){
	Array.prototype.forEach=function (C,D){
		var A=this.length;
		for(var B=0;B<A;B++){
			C.call(D,this[B],B,this);
		}
	}
}if(!Array.prototype.filter){
	Array.prototype.filter=function (D,E){
		var A=this.length;
		var C=[];
		for(var B=0;B<A;B++){
			if(D.call(E,this[B],B,this)){
				C.push(this[B]);
			}
		}return C;
	}
}if(!Array.prototype.map){
	Array.prototype.map=function (D,E){
		var A=this.length;
		var C=[];
		for(var B=0;B<A;B++){
			C.push(D.call(E,this[B],B,this));
		}return C;
	}
}if(!Array.prototype.some){
	Array.prototype.some=function (C,D){
		var A=this.length;
		for(var B=0;B<A;B++){
			if(C.call(D,this[B],B,this)){
				return true;
			}
		}return false;
	}
}if(!Array.prototype.every){
	Array.prototype.every=function (C,D){
		var A=this.length;
		for(var B=0;B<A;B++){
			if(!C.call(D,this[B],B,this)){
				return false;
			}
		}return true;
	}
}Array.prototype.contains=function (A){
	return this.indexOf(A)!=-1;
};
Array.prototype.copy=function (A){
	return this.concat();
};
Array.prototype.insertAt=function (B,A){
	this.splice(A,0,B);
};
Array.prototype.insertBefore=function (C,B){
	var A=this.indexOf(B);
	if(A==-1){
		this.push(C);
	}else {
		this.splice(A,0,C);
	}
};
Array.prototype.removeAt=function (A){
	this.splice(A,1);
};
Array.prototype.remove=function (B){
	var A=this.indexOf(B);
	if(A!=-1){
		this.splice(A,1);
	}
};
if(!String.prototype.toQueryParams){
	String.prototype.toQueryParams=function (){
		var F={};
		var G=this.split("&");
		var D=/([^=]*)=(.*)/;
		for(var B=0;B<G.length;B++){
			var A=D.exec(G[B]);
			if(!A){
				continue;
			}var C=decodeURIComponent(A[1]);
			var E=A[2]?decodeURIComponent(A[2]):undefined;
			if(F[C]!==undefined){
				if(F[C].constructor !=Array){
					F[C]=[F[C]];
				}if(E){
					F[C].push(E);
				}
			}else {
				F[C]=E;
			}
		}return F;
	}
}if(!String.prototype.trim){
	String.prototype.trim=function (){
		var A=/^\s+|\s+$/g;
		return function (){
			return this.replace(A,"");
		};
	}()
}if(!String.prototype.replaceAll){
	String.prototype.replaceAll=function (B,A){
		return this.replace(new RegExp(B,"gm"),A);
	}
}
Math.randomInt=function (A){
	return Math.floor(Math.random()*(A+1));
};

(function(){
		  
	var ua = navigator.userAgent.toLowerCase();
	
	var opera = ua.indexOf("opera")!=-1,
		safari = ua.indexOf("safari")!=-1,
		gecko = !opera && !safari && ua.indexOf("gecko")>-1,
		ie = !opera && ua.indexOf("msie")!=-1,
		ie6 = !opera && ua.indexOf("msie 6")!=-1,
		ie7 = !opera && ua.indexOf("msie 7")!=-1;
		
	TaoXie.namespace("Tools");
	
	TaoXie.Tools = {
		isOpera : opera,
		isSafari : safari,
		isGecko : gecko,
		isIE : ie,
		isIE6 : ie6,
		isIE7 : ie7,
		getCookie : function (name){
			var cookie=document.cookie.match("(?:^|;)\\s*" + name + "=([^;]*)");
			return cookie ? decodeURI(cookie[1]) : "";
		},
		setCookie : function (name,value,expires,domain,path){
			value = encodeURI(value);
			value += (domain) ? "; domain=" + domain : "";
			value += (path) ? "; path=" + path : "";
			if(expires){
				var expire=new Date();
				expire.setTime( expire.getTime() + (expires*86400000) );
				value += "; expires="+expire.toGMTString();
			}
			document.cookie = name + "=" + value;
		},
		removeCookie : function (name){
			this.setCookie(name,"",-1);
		},
		isValidEmail : function(email){
			if (email.search(/[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+$/) != -1){
				return true;
			}else{
				return false;
			}
		},
		isHttp: function(s){
		    try{
		        return /(http:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-\.\/?%&=]*)?/.test(s);
		    }catch(e){
		        return false;
		    }
		},
		isNumber : function(s){
		    try{
		        return /^\d+$/.test(s);
		    }catch(e){
		        return false;
		    }
		}
	};
	
})();

TaoXie.common={
	trim:function (A){
		return A.replace(/(^\s*)|(\s*$)/g,"");
	},
	escapeHTML:function (B){
		var C=document.createElement("div");
		var A=document.createTextNode(B);
		C.appendChild(A);
		return C.innerHTML;
	},
	unescapeHTML:function (A){
		var B=document.createElement("div");
		B.innerHTML=A.replace(/<\/?[^>]+>/gi,"");
		return B.childNodes[0]?B.childNodes[0].nodeValue:"";
	},
	stripTags:function (A){
		return A.replace(/<\/?[^>]+>/gi,"");
	},
	toArray:function (B,D){
		var C=[];
		for(var A=D||0;A<B.length;A++){
			C[C.length]=B[A];
		}return C;
	},
	applyIf:function (C,A){
		if(C&&A&&typeof A=="object"){
			for(var B in A){
				if(!YAHOO.lang.hasOwnProperty (C,B)){
					C[B]=A[B];
				}
			}
		}return C;
	},
	apply:function (C,A){
		if(C&&A&&typeof A=="object"){
			for(var B in A){
				C[B]=A[B];
			}
		}return C;
	},
	formatMessage:function (D,A,B){
		var C=/\{([\w-]+)?\}/g;
		return function (G,E,F){
			return G.replace(C,function (H,I){
				return F?F(E[I],I):E[I];
			})
		}
	}(),
	parseUri:(function (){
		var B=["source","prePath","scheme","username","password","host","port","path","dir","file","query","fragment"];
		var A=/^((?:([^:\/?#.]+):)?(?:\/\/)?(?:([^:@]*):?([^:@]*)?@)?([^:\/?#]*)(?::(\d*))?)((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?/;
		return function (F){
			var E={};
			var C=A.exec(F);
			for(var D=0;D<C.length;++D){
				E[B[D]]=(C[D]?C[D]:"");
			}return E;
		};
	})()
};
TaoXie.applyIf=TaoXie.common.applyIf;
TaoXie.apply=TaoXie.common.apply;
(function(){
		  
    TaoXie.namespace("ShoppingCart");
    TaoXie.ShoppingCart = function(){		
		var cart = this;
		//从服务器获得购物车的商品数量
		cart.GetCartCount();
    };
    
	var proto = TaoXie.ShoppingCart.prototype;
	
	proto.config = {
		/* 保存已经添加到购物篮的商品，用来提示是否添加相同的商品 */
		cache : TaoXie.Tools.getCookie("ShoppingCartInfo"),
		/* 提交的地址 */
		url : "http://www.taoxie.com/ajax/cart.htm",
		/* 展开的参数 */
		expand : {height:{from:31,to:184}},
		/* 收缩的参数 */
		collapsed : {height:{from:184,to:31}},
		/* 延迟 */
		duration : 0.5,
		
		//iscookie : false,
		
		/* 获得当前购物车的参数 */
		params : {}		
	};
	
	//转成二维数组
	proto.toArray = function(cookie){
		if(cookie){
			if(cookie.indexOf('|||')==0) {return;}
			cookie = cookie.split('|||');
			for(var i=0; i<cookie.length; i++){
				cookie[i] = cookie[i].split('@@@');
			}
		}
		return cookie;
	};

	proto.GetCartCount = function(){
		var config = this.config;		
		var url = config.url + "?action=getCount&t="+Math.round(Math.random()*10000);
		YAHOO.util.Connect.asyncRequest("GET",url,{
	        success:function (req){
				var attr = eval('('+req.responseText.replace(/\n | \r/g,"")+')'); 
				$("TaoXie:CartCount").innerHTML = attr.Quantity;
				config.params = attr;
	        },failure:function (req){
				alert(req.status);
			}
	    });
	};
	
	proto.Save = function(attr){

		var cart = this;
		var config = cart.config;
		
		if(!attr){
		    return;
		}
		if( attr[8] == 0 || attr[8] == "" ){
		    alert("请填写选购的数量");
		    return;
		}
		if( attr[6] == 0 || attr[6] == ""){
		    alert("请选择尺寸");
		    return;
		}
		cart.AddToCart(attr);
	};
    
    proto.AddToCart = function(attr){
		var config = this.config;
		var cart = this;
		
	    var url = config.url + "?action=add&stockId="+attr[7]+"&quantity="+attr[8]+"&t="+Math.round(Math.random()*10000);
	    YAHOO.util.Connect.asyncRequest("POST",url,{
	        success:function (req){
	            var count = $("TaoXie:CartCount");
				var returns = eval('('+req.responseText.replace(/\n | \r/g,"")+')'); 
	            count.innerHTML = returns.Quantity;
	            config.params = returns;
	            $("carttipCount").innerHTML = returns.Quantity;
	            $("carttipTotal").innerHTML = returns.Price;
	        },failure:function (req){
				alert(req.status);
			}
	    });
	};
	proto.Anim = function(el){
		var config = this.config;
		var show = new YAHOO.util.Anim(el, config.expand,config.duration);
		var hide = new YAHOO.util.Anim(el, config.collapsed,config.duration);
		show.animate();
		setTimeout(function(){
			hide.animate();
			var payfor_0 = $("TaoXie:PayFor_0");
			$D.setStyle(payfor_0,"display","");
		},2000);
	};
	
})();
StringBuilder = function(input) {
	var _items = new Array();
	var _length = 0;
	var _RegExp = /{\d+}|{\d+:[^\r\n{}]+}/g;
	//appends a string at the end, and returns the StringBuilder instance.
	this.append = function(input) {
		_items.push(input);
		_length += input.length;
		return this;
	}; 
	//appends a string in a new line and returns the StringBuilder instance.
	this.appendLine = function(input) {
		return this.append("\n").append(input);
	}; 
	//Reinitializes the StringBuilder instance before returning it.
	this.clear = function() {
		_items = new Array();
		_length = 0; 
		return this;
	}; 
	this.toString = function(separator) {
		return (separator != null) ? _items.join(separator) : _items.join('');
	};
	//Appends a string using Composite Formatting and returns the StringBuilder instance.
	this.appendFormat = function() {
		//the first argument is the composite string
		var Result = arguments[0];
		//looping through Result
		//replacing each {n} with arguments[n+1]
		var RegExpResult = null;
		while ((RegExpResult = _RegExp.exec(Result)) != null) {
			//RegExp.exec doesn't return a string,
			//type conversion is necessary
			RegExpResult = RegExpResult.toString();
			//extracting the index,
			//and the formatting string, 
			var ColonsPosition = RegExpResult.indexOf(":");
			var paramIndex = -1;
			var paramFormat = '';
			if (ColonsPosition != -1) {
				paramIndex = Number(RegExpResult.substr(1, ColonsPosition - 1));
				paramFormat = RegExpResult.substr(ColonsPosition + 1, RegExpResult.length - 2 - ColonsPosition);
			} else {
				paramIndex = Number(RegExpResult.substr(1, RegExpResult.length - 2)); 
			}
			//replacing the format item in Result string
			paramIndex++;
			var Replacement = (ColonsPosition != -1) ? arguments[paramIndex].toString(paramFormat) : arguments[paramIndex].toString();
			Result = Result.replace(RegExpResult, Replacement);
			//g Flag makes RegExp remember the last position,
			//we're updating it because directly we're modifying
			//the string we're using the perform the search
			_RegExp.lastIndex += Replacement.length - RegExpResult.length;
		};
		//appending the formatted string to the StringBuilder
		return this.append(Result);
	};
};
function request(id,url){
	oScript = document.getElementById(id);
	var head = document.getElementsByTagName("head").item(0);
	if (oScript) {
		head.removeChild(oScript);
	}
	oScript = document.createElement("script");
	oScript.setAttribute("src", url);
	oScript.setAttribute("id",id);
	oScript.setAttribute("type","text/javascript");
	oScript.setAttribute("language","javascript");
	head.appendChild(oScript);
	return oScript;
};

(function(){
	TaoXie.namespace("OnlineUser");
	TaoXie.OnlineUser = function(){
		this.userid = -1;
		this.username = "";
		this.groupid = 0;
		this.newpms = 0;
		
		var cookie = unescape(TaoXie.Tools.getCookie("user"));
		if(cookie!=""){
			var u = cookie.split('&');
			if(u.length==6){
				this.userid=u[0].substring(u[0].indexOf("=")+1,u[0].length);
				this.username=u[1].substring(u[1].indexOf("=")+1,u[1].length);
				this.groupid=u[4].substring(u[4].indexOf("=")+1,u[4].length);
				this.newpms=u[5].replace("NewPms=","");
			}
		}	
	};
})();

function qqOnline(sigkey, qq) {
    if (qq) {
        var url = "http://www.taoxie.com/ajax/imstat.htm?no=" + qq + "&t=" + Math.round(Math.random() * 10000);
        YAHOO.util.Connect.asyncRequest("GET", url, {
            success: function(req) {
            }, failure: function(req) {
            }
        });
    }
    var tempSrc = 'http://sighttp.qq.com/wpa.js?rantime=' + Math.random() + '&sigkey=' + sigkey;
    var oldscript = document.getElementById('testJs');
    var newscript = document.createElement('script');
    newscript.setAttribute('type', 'text/javascript');
    newscript.setAttribute('id', 'testJs');
    newscript.setAttribute('src', tempSrc);
    if (oldscript == null) {
        document.body.appendChild(newscript);
    } else {
        oldscript.parentNode.replaceChild(newscript, oldscript);
    }
    return false;
};

var user = new TaoXie.OnlineUser();

(function(){
	//
	TaoXie.namespace("Tab");
	TaoXie.Tab = function(tabid){
		if(!tabid){return;}
		var tab = $(tabid);
		var tabs = this;
		this.activeIndex = 0;
		this.TabContentClass = "tab-content";
		this.TabNavClass = "tab-nav";
		this.EventType = "mouseover";
		this.model = 0;
		var activeTab = null;
		var tabnav = [];
		var tabcontent = [];
		var createTab = function(){
			var ul = $D.getElementsByClassName(tabs.TabNavClass,"ul",tab)[0];
			var items = ul.getElementsByTagName("li");
			var tabCont = $D.getElementsByClassName(tabs.TabContentClass,"div",tab);
			for(var i=0;i<items.length;i++){
				tabnav[tabnav.length]=items[i];
				var tabid = items[i].getAttribute("tabid");
				if(tabid){
					tabcontent[tabcontent.length] = $(tabid);
				}else{
					tabcontent[tabcontent.length] = tabCont[i];
				}
			}
		};
		
		this.init = function(){
			createTab();
			for(var i=0;i<tabnav.length;i++){
				if(this.activeIndex>0){
					if(this.activeIndex==i){
						$D.removeClass(tabcontent[i],"hidden");
						$D.addClass(tabnav[i],"active");
					}else{
						$D.addClass(tabcontent[i],"hidden");
						$D.removeClass(tabnav[i],"active");
					}
				}
				this.AddEvent(tabnav[i],this.EventType,i);
			}
		};
		this.AddEvent = function(navitem,eventtype,index){
			$E.on(navitem,eventtype,function(ev,el){
				$D.removeClass(tabnav[tabs.activeIndex],"active");
				$D.addClass(this,"active");
				if(tabnav.length==tabcontent.length){
					for(var i=0;i<tabcontent.length;i++){
						if(i==el.idx){
							$D.removeClass(tabcontent[el.idx],"hidden");
						}else{
							$D.addClass(tabcontent[i],"hidden");
						}
					}
				}else{
					$D.addClass(tabcontent[tabs.activeIndex],"hidden");
					$D.removeClass(tabcontent[el.idx],"hidden");
				}

				if(tabs.model==1){
					if(tabs.activeIndex!=0){$D.removeClass(tabnav[tabs.activeIndex-1],"previous");}
					if(el.idx!=0){$D.addClass(tabnav[el.idx-1],"previous");}
				}
				tabs.activeIndex = el.idx;
			},{idx:index});
		};
	}
})();

(function(){
	TaoXie.namespace("SimpleTab");
	TaoXie.SimpleTab = function(element,attr){
		if(!element && !$(element)){
			return;
		}
		var tab = $(element);
		var self = this;
		var index = 0;
		var active = null||attr.active;
		var initialize = false;
		var navArray = [];
		var contentArray = [];
		index=(typeof(active)=="number")?active:0;
		//初始化
		this.TabNavClass = (attr.tabNavClass!=null)?attr.tabNavClass:"tab-nav";
		this.TabContentClass = (attr.tabContentClass!=null)?attr.tabContentClass:"tab-content";
		this.EventType = (attr.eventType!=null)?attr.eventType:"mouseover";

		//显示模式
		this.model = (attr.model!=null)?attr.model:0;
		
		if(!initialize){
			var nav = $D.getElementsByClassName(self.TabNavClass,"ul",tab)[0];
			var content = $D.getElementsByClassName(self.TabContentClass,"div",tab);
			var tablist = nav.getElementsByTagName("li");
			for(var i=0;i<tablist.length;i++){
				
				if(typeof(active)=="number"){
					if(active==i){
						$D.removeClass(content[i],"hidden");
						$D.addClass(tablist[i],"active");
					}else{
						$D.addClass(content[i],"hidden");
						$D.removeClass(tablist[i],"active");
					}
				}
				
				$E.on(tablist[i],self.EventType,function(ev,el){
					self.setActive(el.idx);
				},{idx:i});
				
				navArray[navArray.length]=tablist[i];
				
				var link = tablist[i].getElementsByTagName("a")[0];
				if(link){
					if(link.href.indexOf("#")>-1){
						link.onclick = function(){
							return false;
						};
						var tabLink = link.hash.substring(1);
						if(tabLink){
							contentArray[contentArray.length] = $(tabLink);
						}
					}else{
						contentArray[contentArray.length] = content[i];
					}
				}else{
					contentArray[contentArray.length] = content[i];
				}
			}
			initialize = true;
		}
		
		this.setActive = function(tab_index){
			if(typeof(tab_index)=="number"){
				$D.removeClass(navArray[index],"active");
				$D.addClass(navArray[tab_index],"active");
				if(navArray.length==contentArray.length){
					for(var i=0;i<contentArray.length;i++){
						if(i==tab_index){
							$D.removeClass(contentArray[tab_index],"hidden");
						}else{
							$D.addClass(contentArray[i],"hidden");
						}
					}
				}else{
					$D.addClass(contentArray[index],"hidden");
					$D.removeClass(contentArray[tab_index],"hidden");
				}
				if(self.model==1){
					if(index!=0){$D.removeClass(navArray[index-1],"previous");}
					if(tab_index!=0){$D.addClass(navArray[tab_index-1],"previous");}
				}
				if(self.model==2){
					if(index!=navArray.length){$D.removeClass(navArray[index+1],"next");}
					if(tab_index!=navArray.length){$D.addClass(navArray[tab_index+1],"next");}
				}
				index = tab_index;
			}
		}
	}
})();


function anti_spam(domain,in_email) {
  var out_email = "", i;

  for (i = 0; i < in_email.length; i++) {
    out_email += in_email.charAt(in_email.length - i - 1);
  }
  document.write("<a href=\"mailto:" + out_email +"@"+ domain + "\">" + out_email +"@"+ domain + "</a>");
};

/*
*图片文字滚动扩展包 
*版本：v1.2
*编码：utf-8版本
*作者：cici
*email：chengds@ifeng.com
*日期：2009-4-15
*/

/*
container:滚动的容器ID
btnPrevious：上一步按钮的ID
btnNext：下一步按钮的ID
*/
function ifeng_Scroll(container,btnPrevious,btnNext)
{
	////////////////对外接口/////////////////////////
	this.IsAutoScroll = true; //是否自动滚动 
	this.IsSmoothScroll= true;//是否平滑连续滚动 平滑滚动:true 间隔滚动:false
	this.PauseTime = 1000;//间隔滚动时每次滚动间隔的时间。单位：毫秒。建议值：100--3000 适用于间隔滚动。
	this.Direction = "N"; //滚动方向.向东：E，向北：N
	this.ControllerType = "click";//上一个和下一个按钮事件的触发方式:click为点击触发滚动 否则就是 鼠标按住按钮触发滚动。支持click 和mousedown两种模式
	this.BackCall = null;//回调函数 滚动到末尾时执行
	this.Step = 1;//步长 可以理解为速度1--10
	////////////////对外接口/////////////////////////
	
	this.Speed = 10;
	this.container = container;

    this.NextButton = this.$(btnNext);
    this.PreviousButton = this.$(btnPrevious);
    this.ScrollElement = this.$(container);
	
	this.UlElement = this.$(container).getElementsByTagName('ul')[0];//ul元素
	this.UlElement.innerHTML+=this.UlElement.innerHTML;

	this.UlSpace ;//ul的实际宽度
	this.LiSpace;
};
ifeng_Scroll.prototype = {
	lastpos:0,
	curPos:0,
	curTimeoutId:null,
	curIntervalScrollTimeoutId:null,
	ScrollElementPos:0,
	$:function(element)
	{
	    return (typeof (element) == "string") ? document.getElementById(element) : element;
	},
	Init:function()
	{
		this.UlSpace = this.Direction=="E"?this.UlElement.offsetWidth:this.UlElement.offsetHeight;//ul的实际宽度
		this.LiSpace = parseInt(this.UlSpace/this.UlElement.getElementsByTagName('li').length);
		this.UlSpace = this.LiSpace*this.UlElement.getElementsByTagName('li').length;
		this.Direction=="E"?this.$(this.container).style.width=this.UlSpace+"px":this.$(this.container).style.height=this.UlSpace+"px";
		
		//设置基础样式
		this.ScrollElement.style.overflow="visible";
		this.ScrollElement.parentNode.style.overflow="hidden";
		this.Direction=="E"?this.ScrollElement.style.width="10000px":this.ScrollElement.style.height="10000px";
		this.UlElement.style.float="left";
		
		this.ScrollType=this.Direction=="E"?"left":"top";
		this.Bind(this,this.PreviousButton,this.ControllerType,"Pre");
		this.Bind(this,this.NextButton,this.ControllerType,"Next");
		
		this.ScrollElement.onmouseover = this.GetFunction(this,"MouseOver");
		this.ScrollElement.onmouseout = this.GetFunction(this,"MouseOut");
	},
	Bind:function(_this,el,type,param)
	{
		if(el)
		{
			if(type=="click"){
				el.onclick = this.GetFunction(this,param);
			}
			else
			{
				el.onmousedown = this.GetFunction(this,"MouseDown",param);
				el.onmouseup = this.GetFunction(this,"MouseUp");
			} 
			el.onmouseover = this.GetFunction(this,"MouseOver");
			el.onmouseout = this.GetFunction(this,"MouseOut");
		}
	},
	Start:function()
	{
		if(!this.IsAutoScroll){ return;}
		if(this.IsSmoothScroll)
		{
			this.SmoothScroll();
		}
		else
		{		
			this.IntervalScroll();
		}
	},
	Pause:function()
	{
		clearTimeout(this.curTimeoutId);
		clearTimeout(this.curIntervalScrollTimeoutId);
	},
	MouseOver:function()
	{	
		clearTimeout(this.mouseoutTimeoutId);
		this.mouseoverTimeoutId = setTimeout(this.GetFunction(this,"Pause"),10);
	},
	MouseOut:function()
	{
		clearTimeout(this.mouseoverTimeoutId);
		this.mouseoutTimeoutId = setTimeout(this.GetFunction(this,"Start"),10);
	},
	MouseDown:function(direction)
	{
		var _step;
		var _to;
		if(direction=="Pre")
		{
			_step = this.Step*2;
			curPos = parseInt(this.ScrollElement.style[this.ScrollType]);
			if(!curPos) {curPos=0;}
			if(curPos==0)
			{
				this.ScrollElement.style[this.ScrollType] = -this.UlSpace/2 + "px";
				this.curPos=-this.UlSpace/2;
			}
			_to = 0;
		}
		else
		{
			_step = -this.Step*2;
			_to = -this.UlSpace/2;
		}
		moveParams = {from:this.curPos, to:_to, step: _step,controller:"MouseDown:" + direction,callback:this.GetFunction(this,"ScrollFinish")};			
		this.RunScroll(moveParams);
	},
	MouseUp:function()
	{
		clearTimeout(this.curTimeoutId);
	},
	Pre:function()
	{
		var curPos = parseInt(this.ScrollElement.style[this.ScrollType]);
		if(!curPos) curPos=0;
		var _to ;
		if(curPos==0)
		{
			this.ScrollElement.style[this.ScrollType] = -this.UlSpace/2 + "px";
			this.curPos=-this.UlSpace/2;
			_to = -this.UlSpace/2 + this.LiSpace;
		}
		else
		{
			_to = this.curPos%this.LiSpace==0?this.curPos + this.LiSpace:parseInt(this.curPos/this.LiSpace)*this.LiSpace;
		}
		moveParams = {from:this.curPos, to:_to, step: this.Step*2,controller:"Previous",callback:this.GetFunction(this,"ScrollFinish")};			
		this.RunScroll(moveParams);
	},
	Next:function()
	{
		_to = this.curPos%this.LiSpace==0?this.curPos - this.LiSpace:(parseInt(this.curPos/this.LiSpace)-1)*this.LiSpace;
		moveParams = {from:this.curPos, to:_to, step: -this.Step*2,controller:"Next",callback:this.GetFunction(this,"ScrollFinish")};			
		this.RunScroll(moveParams);
	},
	IntervalScroll:function()
	{
		var _to = parseInt(this.curPos/this.LiSpace)*this.LiSpace-this.LiSpace;
		var moveParams = {from:this.curPos, to:_to, step: -this.Step,controller:"IntervalScroll",callback:this.GetFunction(this,"ScrollFinish")};	
		this.RunScroll(moveParams);
	},
	SmoothScroll:function()
	{
		var _to = -this.UlSpace/2;
		var moveParams = {from:this.curPos, to:_to, step: -this.Step,controller:"SmoothScroll",callback:this.GetFunction(this,"ScrollFinish")};	
		this.RunScroll(moveParams);
	},
	RunScroll:function(params)
	{
		this.Scroll(params);
	},
	Scroll:function(param)
	{
		var step = Math.abs(param.to - this.curPos)<Math.abs(param.step)?param.to - this.curPos:param.step;
		this.ScrollElement.style[this.ScrollType] =(param.from+step)+"px";
		this.curPos = parseInt(this.ScrollElement.style[this.ScrollType]);
		clearTimeout(this.curTimeoutId);
		if(this.curPos!=param.to)
		{
			var moveParams = {from:this.curPos, to:param.to, step: param.step,controller:param.controller,callback:param.callback};
			this.curTimeoutId = setTimeout(this.GetFunction(this,"Scroll",moveParams),this.Speed);
		}
		else
		{
			if(param.callback) {param.callback();}
			if(param.controller=="SmoothScroll")
			{	this.SmoothScroll();}
			else if	(param.controller=="IntervalScroll")
			{
				if(this.curIntervalScrollTimeoutId) {clearTimeout(this.curIntervalScrollTimeoutId);}
				this.curIntervalScrollTimeoutId = setTimeout(this.GetFunction(this,"IntervalScroll"),this.PauseTime);
			}
			else if(param.controller.indexOf("MouseDown")!=-1)
			{
				derection = param.controller.split(':')[1];
				this.MouseDown(derection);
			}
		}
	},
	ScrollFinish:function()
	{
		if(this.curPos<=-this.UlSpace/2)
		{
			this.ScrollElement.style[this.ScrollType] = "0px";
		}
		else if(this.curPos>=0)
		{
			this.ScrollElement.style[this.ScrollType] = -this.UlSpace/2 + "px";
		}
		this.curPos = parseInt(this.ScrollElement.style[this.ScrollType]);
		if(this.BackCall){this.BackCall();}
	},
	GetFunction:function(variable,method,param)
	{
		return function()
		{
			variable[method](param);
		}
	}
};

//倒计时器
TaoXie.namespace("Timer");
//开始时间格式
TaoXie.Timer = function(id, endTime) {
    var s = new Date();
    var e = new Date(endTime.replace(/-/, "\/"));
    var dt = (e - s) / 1000;
    var tt;
    var d = Math.floor(dt / (86400));
    var h = Math.floor((dt % (86400)) / (60 * 60));
    var mm = Math.floor(((dt % (86400)) % (60 * 60)) / 60);
    var sec =  Math.floor(((dt % (60 * 60 * 24)) % (60 * 60)) % 60);

    function runTime() {
        if (s > e) {
            $(id).innerHTML = "已结束";
            clearTimeout(tt);
        } else {
            var str = "";
            sec--;
            if (sec < 0) {
                mm--;
                if (mm >= 0) {
                    sec = 59;
                    str = "<em>" + sec + "</em>秒";
                }
            } else {
                if (sec < 10) {
                    str = "<em>0" + sec + "</em>秒";
                } else {
                    str = "<em>" + sec + "</em>秒";
                }
            }
            if (mm < 0) {
                h--;
                if (h >= 0) {
                    mm = 59;
                    str = "<em>" + mm + "</em>分 " + str;
                }
            } else {
                if (mm < 10) {
                    str = "<em>0" + mm + "</em>分 " + str;
                } else {
                    str = "<em>" + mm + "</em>分 " + str;
                }
            }
            if (h < 0) {
                d--;
                if (d >= 0) {
                    h = 23;
                    str = "<em>" + h + "</em>时 " + str;
                }
            } else {
                if (h < 10) {
                    str = "<em>0" + h + "</em>时 " + str;
                } else {
                    str = "<em>" + h + "</em>时 " + str;
                }
            }
            if (d > 0) {
                if (d < 10) {
                    str = "<em>0" + d + "</em>天 " + str;
                } else {
                    str = "<em>" + d + "</em>天 " + str;
                }
            }
            $(id).innerHTML = str;
        }
        tt = setTimeout(runTime, 1000);
    };
    runTime();
};

function flash(url,width,height,var1) {
    document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,24,0" width="'+width+'" height="'+height+'">');
    document.write('<param name="movie" value="'+url+'" />');
    document.write('<param name="quality" value="high" />');
    document.write('<param name="flashVars" value="id='+var1+'" />');
    document.write('<param name="wmode" value="transparent" />');
    document.write('<param name="menu" value="false" />');
    document.write('<embed flashvars="id='+var1+'" src="'+url+'" wmode="transparent" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed>');
    document.write('</object>');
};

(function(){
    TaoXie.namespace("MiniShoppingCart");
	//购物车
	TaoXie.MiniShoppingCart = function(){
		var cart = $("cart");
		var url = "http://www.taoxie.com/shoppingcart.aspx";
		//购物车弹出框
		var cart_popup = $("cart_popup");
		//购物车商品数量
		var count = 0;
		//商品总计
		var total = 0.00;
		var cache = TaoXie.Tools.getCookie("minicart_idlist");
		var duration = 0.5;
		var deleteClick,
			reduceClick,
			increaseClick,
			quantityValue;
		
		$E.on(cart,"mouseover",function(){
			$D.removeClass(cart_popup,"hidden");
		});
		$E.on(cart,"mouseout",function(){
			$D.addClass(cart_popup,"hidden");
		});
		
		var empty = function(){
			cart_popup.innerHTML = "";
			var emptyDiv = document.createElement("div");
			emptyDiv.className = "empty";
			emptyDiv.innerHTML = "您的购物车没有商品，赶快去采购吧";
			$("minicart:cartcount").innerHTML = "0";
			cart_popup.appendChild(emptyDiv);
		};
		
		var createHeaderFooter = function(){
			var headerNode = document.createElement("li");
			headerNode.className = "clearfix";
			headerNode.innerHTML = "<div class=\"pic hd\">商品图片</div><div class=\"name hd\">商品名称</div><div class=\"price hd\">淘鞋价</div><div class=\"amount hd\">数量</div><div class=\"op hd\">操作</div>";
			var footerNode = document.createElement("li");
			footerNode.className = "none last clearfix";
			footerNode.innerHTML = "数量总计： <em id=\"minicart:count\">"+count+"</em> 件  金额总计： <em id=\"minicart:total\">"+total+"</em> 元 &nbsp;&nbsp;&nbsp; <button type=\"button\" onclick=\"window.open('http://www.taoxie.com/confirmorder.htm');\"></button>";
			var ul = document.createElement("ul");
			ul.appendChild(headerNode);
			ul.appendChild(footerNode);
			cart_popup.appendChild(ul);
		};
		var createItem =function(info){
			var currentPrice = info.Price * info.Quantity;
			var li = document.createElement("li");
			li.id="minicart:itemid:"+info.ItemID;
			li.className = "clearfix"; //clear float
			var sb = new StringBuilder();
			sb.append("<input type=\"hidden\" id=\"minicart:oldquantity:"+info.ItemID+"\" name=\"oldquantity\" value=\""+info.Quantity+"\" />");
			sb.append("<div class=\"pic\"><a href=\""+info.DetailUrl+"\" title=\""+info.Name+"\" target=\"_blank\"><img src=\""+info.Pic+"\" alt=\""+info.Name+"\" /></a></div>\r\n");
			sb.append("<div class=\"name\"><a href=\""+info.DetailUrl+"\" target=\"_blank\" title=\""+info.Name+"\">"+info.Name+"</a></div>\r\n");
			sb.append("<div class=\"price\">￥ <span class=\"minicart:price\">"+currentPrice+"</span></div>\r\n");
			sb.append("<div class=\"amount\"><a href=\"\" class=\"minicart:reduce\" minicart:reduce=\""+info.ItemID+"\">-</a>");
			sb.append("<input type=\"text\" class=\"text minicart:quantity\" id=\"minicart:quantity:"+info.ItemID+"\" name=\"minicart:quantity\" minicart:quantity=\""+info.ItemID+"\" minicart:maxquantity=\""+info.MaxQuantity+"\" value=\""+info.Quantity);
			sb.append("\"  /><a href=\"\" class=\"minicart:increase\" minicart:increase=\""+info.ItemID+"\">+</a></div>\r\n");
			sb.append("<div class=\"op\"><a href=\"\" title=\"删除信息\" class=\"minicart:deleteItem\" minicart:deleteItem=\""+info.ItemID);
			sb.append("\">删除</a></div>\r\n");
			li.innerHTML = sb.toString();
			delete sb;
			return li;
		};
		//传递参数为商品信息
		var Insert = function(info){
			//插入到列表
			//如果已经在列表存在，则列表里面的商品加1，否则在列表末尾插入一条不同商品信息，购物车数量加所填写数量
			//计算价格
			//判断是否有存在同种商品，有则在列表中的数量加1，无则在列表中增加商品
			if(cache.indexOf("x"+info.ItemID+"x")==-1){
				//找不到商品
				var ul = cart_popup.getElementsByTagName("ul")[0];
				var nextNode = createItem(info);
				var firstNode = $D.getFirstChild(ul);//第一个节点是标题，所以插入到第一个节点后面，新加的放在最上面
				$D.insertAfter(nextNode,firstNode);
				if(cache==""){
					cache = "u" + TaoXie.Tools.getCookie("user") + "x" + info.ItemID + "x";
				}else{
					cache = cache + info.ItemID + "x";
				}
			}else{
				//列表里面已经有同款，同颜色，同尺码商品
				var li = $("minicart:itemid:"+info.ItemID);
				var itemQuantity = $D.getElementsByClassName("minicart:quantity","input",li)[0];
				//var itemMarketPrice = $D.getElementsByClassName("minicart:marketprice","span",li)[0];
				var itemPrice = $D.getElementsByClassName("minicart:price","span",li)[0];
//				var q = parseInt(itemQuantity.value);
//				var mp = parseInt(itemMarketPrice.innerHTML);
//				var p = parseInt(itemPrice.innerHTML);
//				///////////////////////////
//				q = info.Quantity;
//				mp = info.MarketPrice;
//				p = info.Price;
//				q = q + "";
//				///////////////////////////
//				if(!checkQuantity(info.ItemID,q,info.MaxQuantity)){
//					return;
//				}else{
					
					//itemMarketPrice.innerHTML = info.MarketPrice;
					itemPrice.innerHTML = parseInt(itemPrice.innerHTML) + parseInt(info.Price);
					
					var newQ = parseInt(info.Quantity) + 1;
					
					itemQuantity.value = newQ;

					updateQuantity(info.ItemID , newQ ,true);
//				}	
			}
		};
		
		//删除购物蓝列表商品信息
		var DeleteItem = function(itemId){
			//提交到购物车
			//减少一个商品
			//计算价格
			//购物车数量少1
			//先计算后移除
			YAHOO.util.Get.script(url + "?action=delete&itemid="+itemId+"&t="+Math.round(Math.random()*10000),{
				onSuccess: function(o){
					if(data){
						total = parseInt(data[0].Price);
						count = parseInt(data[0].Quantity);
						
						var ul = cart_popup.getElementsByTagName("ul")[0];
						
						//删除此商品信息
						ul.removeChild($("minicart:itemid:"+itemId));
						if(count==0){
							cart_popup.removeChild(ul);
							empty();
							return;
						}
						
						reComputePrice();
					}
				}, 
				onFailure: function(o){
					alert(req.status);
				}
			});
		};
		
		var checkQuantity = function(itemId,quantity,quantityMax){
			var regex=/^[0-9]\d*$/;
			if(!regex.test(quantity.replace(/(^\s*)|(\s*$)/g,""))){
				//showErrorMsg("\u8bf7\u586b\u5199\u6b63\u786e\u7684\u5546\u54c1\u6570\u91cf",itemId);
				alert("\u8bf7\u586b\u5199\u6b63\u786e\u7684\u5546\u54c1\u6570\u91cf");
				return false
			}
			var q=parseInt(quantity);
			var maxQ=parseInt(quantityMax);
			if(q<0){
				//showErrorMsg("\u5546\u54c1\u6570\u91cf\u5fc5\u987b\u662f\u5927\u4e8e0",itemId);
				alert("\u5546\u54c1\u6570\u91cf\u5fc5\u987b\u662f\u5927\u4e8e0");
				return false;
			}else {
				if(q>maxQ){
					//showErrorMsg("\u6700\u591a\u53ea\u53ef\u4e70<em>"+maxQ+"</em>\u4ef6",itemId);
					alert("\u8BE5\u5546\u54C1\u6700\u591A\u53EA\u80FD\u8D2D\u4E70"+maxQ+"\u4ef6");
					return false;
				}
			}
			return true;
		};
		//更新总数
		var updateQuantity = function(itemId,quantity,update){
			if(update){
				YAHOO.util.Get.script(url + "?action=update&itemid="+itemId+"&quantity="+quantity+"&t="+Math.round(Math.random()*10000),{
					onSuccess: function(o){
						if(data[0].Error&&data[0].Error!=''){
							alert(data[0].Error);
							return;
						}else{
							var li = $("minicart:itemid:"+itemId);
							var oldQ = $("minicart:oldquantity:"+itemId);
							var currQ = $D.getElementsByClassName("minicart:quantity","input",li)[0];
							//var marketPrice = $D.getElementsByClassName("minicart:marketprice","span",li)[0];
							var price = $D.getElementsByClassName("minicart:price","span",li)[0];
							if(!price/*||!marketPrice*/){
								return;
							}else{
								price.innerHTML=parseFloat(data[0].Price).toFixed(0);
								//marketPrice.innerHTML = parseFloat(data[0].MarketPrice).toFixed(2);
							}
							if(oldQ){
								oldQ.value = quantity;
							}
							count = data[0].Quantity;
							total = data[0].Price;
							reComputePrice();
						}
					}, 
					onFailure: function(o){
						alert(o.status);
					}
				});
			}else{
				reComputePrice();
			}
		};
		//计算总价
		var reComputePrice = function(){
			//获取购物车列表中输入框的数量
			var itemQuantity = $D.getElementsByClassName("minicart:quantity","input",cart_popup);
			var itemsPrice = $D.getElementsByClassName("minicart:price","span",cart_popup);
			var totalQuantity = $("minicart:cartcount");
			
			if(!totalQuantity){return;}
			var allQuantity = 0,allPrice = 0;
			for(var i=0;i<itemQuantity.length;i++){
				allQuantity += parseInt(itemQuantity[i].value);
				allPrice += parseInt(itemsPrice[i].innerHTML);
			}
			totalQuantity.innerHTML = allQuantity;
			
			if(count!=0){
				var totalQuantity2 = $("minicart:count");
				var totalPrice = $("minicart:total");
				if(!totalQuantity2||!totalPrice){return;}
				totalQuantity2.innerHTML = allQuantity;
				totalPrice.innerHTML = parseFloat(allPrice).toFixed(2);
			}
		};
		
		return {
			//初始化
			//给购物车列表添加事件，获取购物车数量
			init:function(){
				//获取购物车每个商品的库存量及商品价格
				var self = this;
				YAHOO.util.Get.script(url + "?action=getCount&t=" + Math.round(Math.random()*10000),{
					onSuccess: function(){
						count = data[0].Quantity;
						total = data[0].Price;
						$("minicart:cartcount").innerHTML = data[0].Quantity;
						if(count==0){
							self.empty();
						}else{
							createHeaderFooter();
							for(var i=1;i<data.length;i++){
								Insert(data[i]);
							}
							
							deleteClick = $D.getElementsByClassName("minicart:deleteItem","a",cart_popup),
							reduceClick = $D.getElementsByClassName("minicart:reduce","a",cart_popup),
							increaseClick = $D.getElementsByClassName("minicart:increase","a",cart_popup),
							quantityValue = $D.getElementsByClassName("minicart:quantity","input",cart_popup);
							
							//添加事件
							self.addEvent(reduceClick,increaseClick,deleteClick,quantityValue);
						}
					}, 
                    onFailure: function(){
						alert('error');
					}
                });
			},
			//添加到购物车,attr为商品参数
			//原先的参数传的是数组，现在改成hash
			//数据格式info = {ItemID,Pic,ProductName,Color,Size,MarketPrice,Price,Quantity,MaxQuantity,DetailUrl}
			addItem:function(attr){
				if(!attr)return;
				if( attr.quantity == 0 || attr.quantity == "" || !attr.quantity){
					alert("请填写选购的数量");
					return;
				}
				if( attr.size == 0 || attr.size == "" ||!attr.size){
					alert("请选择尺寸");
					return;
				}

				var self = this;
				//提交到购物车，改成GET，用于跨域获取，返回JSON格式数据
				YAHOO.util.Get.script(url + "?action=add&stockid="+attr.stockId+"&quantity="+attr.quantity+"&t="+new Date(),{
					onSuccess: function(o){
						if(data[0].Error&&data[0].Error!=""){
							alert("您购买的数量超出该商品库存");
							return;
						}
						if(count==0){
							//创建头部底部；
							cart_popup.innerHTML="";
							createHeaderFooter();
						}
						//插入一条
						Insert(data[1]);
						
						deleteClick = $D.getElementsByClassName("minicart:deleteItem","a",cart_popup);
						reduceClick = $D.getElementsByClassName("minicart:reduce","a",cart_popup);
						increaseClick = $D.getElementsByClassName("minicart:increase","a",cart_popup);
						quantityValue = $D.getElementsByClassName("minicart:quantity","input",cart_popup);
						
						$E.removeListener(deleteClick,"click");
						$E.removeListener(reduceClick,"click");
						$E.removeListener(increaseClick,"click");
						$E.removeListener(reduceClick,"keydown");
						$E.removeListener(increaseClick,"keydown");
						$E.removeListener(quantityValue,"blur");
						
						self.addEvent(reduceClick,increaseClick,deleteClick,quantityValue);

						count = data[0].Quantity;
						total = data[0].Price;
						
						//重新计算总价
						//reComputePrice();
						
						if(count>0){
							$("minicart:count").innerHTML = count;
							$("minicart:total").innerHTML = total;
							$("minicart:cartcount").innerHTML = count;
						}
						
						if($("carttipCount")&&$("carttipTotal")){
							createCartTip(data);
						}
						o.purge();
					}, 
                    onFailure: function(o){
						alert('error');
					}
                });
			},
//			//更新购物车信息，与购物车页面同步，当购物车页面的购物数量发生变化时，此购物车数量也要发生变化
//			//添加到购物车成功，则数量发生变化
//			//同步更新购物车数量
//			syncUpdate:function(itemid,quantity){
//				
//			},
//			//同步删除
//			syncDelete:function(itemid){
//				
//			},
			empty:function(){
				empty();
			},
			//四个参数可以是数组，也可以是单个对象
			addEvent:function(btnReduce,btnIncrease,btnDelete,updateQuantityBlur){
				if(!btnReduce||!btnIncrease||!btnDelete||!updateQuantityBlur)return;
				//给按钮链接加事件
				//项目减一，涉及商品数量和总计
				$E.on(btnReduce,"click",function(ev){
					var itemId = this.getAttribute("minicart:reduce");
					if(!itemId){return;}
					var itemQuantityValue = $("minicart:quantity:"+itemId);
					var oldQuantity = $("minicart:oldquantity:"+itemId);
					if(!itemQuantityValue||!oldQuantity){
						return;
					}
					var maxV = parseInt(itemQuantityValue.getAttribute("minicart:maxquantity"));
					var oldV = parseInt(oldQuantity.value);
					var currQ = parseInt(itemQuantityValue.value);
					var itemV = oldV - 1;
					itemV = itemV+"";
					//如果等于0，则删除
					if(!checkQuantity(itemId,itemV,maxV)){
						$E.stopEvent(ev);
						return;
					}else{
						if(parseInt(itemV)==0){
							if(confirm("确定要把该商品从购物车移出吗？")){
								DeleteItem(itemId);
							}else{
								$E.stopEvent(ev);
								return;
							}
						}
						//减一之后，总数跟价格也要减
						itemQuantityValue.value = itemV;
					}
					updateQuantity(itemId,itemV,true);
					$E.stopEvent(ev);
				});
				$E.on(btnReduce,"keydown",function (ev){
					if(ev.keyCode==13){
						$E.stopEvent(ev);
					}
				});
				//项目加一，涉及商品数量和总计
				$E.on(btnIncrease,"click",function(ev){
					var itemId = this.getAttribute("minicart:increase");
					if(!itemId){return;}
					//如果超出库存，则提示数量不能超出库存
					var itemQuantityValue = $("minicart:quantity:"+itemId);
					var oldQuantity = $("minicart:oldquantity:"+itemId);
					if(!itemQuantityValue||!oldQuantity){return;}
					var maxV = parseInt(itemQuantityValue.getAttribute("minicart:maxquantity"));
					var oldV = parseInt(oldQuantity.value);
					var currQ = parseInt(itemQuantityValue.value);
					var itemV = oldV +1;
					itemV = itemV+"";
					if(!checkQuantity(itemId,itemV,maxV)){
						$E.stopEvent(ev);
						return;
					}else{
						itemQuantityValue.value = itemV;
						oldQuantity.value = itemV;
					}
					updateQuantity(itemId,itemV,true);
					$E.stopEvent(ev);
				});
				$E.on(btnIncrease,"keydown",function (ev){
					if(ev.keyCode==13){
						$E.stopEvent(ev);
					}
				});
				//删除LI，涉及商品数量和总计
				$E.on(btnDelete,"click",function(ev){
					var itemId = this.getAttribute("minicart:deleteItem");
					if(!itemId){
						$E.stopEvent(ev);
						return;
					}
					if(confirm("确定要把该商品从购物车移出吗？")){
						DeleteItem(itemId);
					}
					$E.stopEvent(ev);
				});
				
				//输入框输入数值的变化
				$E.on(updateQuantityBlur,"blur",function(ev){
					var itemId = this.getAttribute("minicart:reduce");
					if(!itemId){return;}
					//如果等于0，则删除
					var itemQuantityValue = $("minicart:quantity:"+itemId);
					var oldQuantity = $("minicart:oldquantity:"+itemId);
					if(!itemQuantityValue||!oldQuantity)return;
					
					var maxV = parseInt(itemQuantityValue.getAttribute("minicart:maxquantity"));
					var oldV = parseInt(oldQuantity.value);
					var currQ = parseInt(itemQuantityValue.value);
					if(!checkQuantity(itemId,currQ,maxV)){
						itemQuantityValue.value = oldV;
						return;
					}else{
						if(currQ==oldV){
							return;
						}
						if(parseInt(currQ)==0){
							if(confirm("确定要把该商品从购物车移出吗？")){
								DeleteItem(itemId);
							}else{
								return;
							}
						}
					}
				});
			},
			//给单个LI下的链接和按钮添加事件
			addSingleEvent:function(_item){
				//给按钮链接加事件
				var deleteItemClick = $D.getElementsByClassName("minicart:deleteItem","a",_item),
					increaseItemValue = $D.getElementsByClassName("minicart:increase","a",_item),
					reduceItemValue = $D.getElementsByClassName("minicart:reduce","a",_item),
					quantityItemValue = $D.getElementsByClassName("minicart:quantity","input",_item);
				this.addEvent(reduceItemValue,increaseItemValue,deleteItemClick,quantityItemValue);
			},
			
			hasEvent:function(el,sType){
				return ($E.getListeners(el,sType)==null)?false:true;
			}
		};
	};
	
	var createCartTip = function(data){
		var doc = document;
		if($('carttip')){
			doc.body.removeChild($('carttip'));
		}
		var oDiv = doc.createElement("div"),str;
		oDiv.id = "carttip";
		oDiv.className = "cartpanel";
		str = '  <div class="cartmain">'+
		'    <div class="close"><a href="" onclick="$D.addClass($(\'carttip\'),\'hidden\');return false;" class="closeit" title="关闭">关闭</a></div>' +
		'    <div class="cartbd">' +
		'      <div class="cartmsg">'+
		'        <strong>商品成功添加至购物车</strong>' +
		'        <p>购物车共有 <em id="carttipCount"></em> 件商品。 合计：<span id="carttipTotal"></span> 元</p>' +
		'        <ul>'+
		'          <li><a href="javascript:void(0);" onclick="$D.addClass($(\'carttip\'),\'hidden\');return false;" class="keep" title="继续购物">继续购物</a></li>'+
		'          <li><a href="http://www.taoxie.com/shoppingcart.htm" class="gotocart" title="点击此按钮，到下一步确认购买信息">去购物车结算</a></li>'+
		'        </ul>'+
		'      </div>'+
		'    </div>'+
		'  </div>';
		oDiv.innerHTML = str;
		doc.body.appendChild(oDiv);
		var xy = $D.getXY($('TaoXie:AddToCart'));
		var newXY = [2];
		newXY[0] = xy[0];
		newXY[1] = xy[1] - 60;
		$D.setXY(oDiv, newXY);

		$("carttipCount").innerHTML = data[0].Quantity;
		$("carttipTotal").innerHTML = data[0].Price;
		
		var keep = $D.getElementsByClassName("keep","a",oDiv)[0];
		var closeit = $D.getElementsByClassName("closeit","a",oDiv)[0];
		
		$E.on([keep,closeit],"click",function(e){
			$E.preventDefault(e);
			//doc.body.removeChild($("carttip"));
			$D.setStyle($("carttip"),"display","none");
		});
	};
})();



    //主函数
    var s = function(obj) {
        var interv = 3000, //切换间隔时间
        	interv2 = 10, //切换速速
        	opac1 = 80, //文字背景的透明度
        	source = obj, //焦点轮换图片容器的id名称
			doc = document;
        //获取对象
        function getTag(tag, obj) {
            if (obj == null) {
                return doc.getElementsByTagName(tag);
            } else {
                return obj.getElementsByTagName(tag);
            }
        };
        function getid(id) {
            return doc.getElementById(id)
        };
        var opac = 0, j = 0, t = 63, num, scton = 0, timer, timer2, timer3;
        var id = getid(source);
        id.removeChild(getTag("div", id)[0]);
        var li = getTag("li", id),len;
		if(!li.length){
			return;
		}else{
			len = li.length;
		}
		var frag = doc.createDocumentFragment();
        var div = doc.createElement("div");
        var title = doc.createElement("div");
        var span = doc.createElement("span");
        var button = doc.createElement("div");
        button.className = "button";
        for (var i = 0; i < len; i++) {
            var a = doc.createElement("a");
			var img = new Image();
			img.src = li[i].getAttribute("spic");
			//if(isIE6){
			//	img.src = li[i].getAttribute("spic").replace(".png",".gif");
			//}
			a.appendChild(img);
			a.setAttribute("num",i + 1);
 //           a.onclick = function() {
//                clearTimeout(timer);
//                clearTimeout(timer2);
//                clearTimeout(timer3);
//                j = parseInt(this.getAttribute("num")) - 1;
//                scton = 0;
//                t = 63;
//                opac = 0;
//                fadeon();
//            };
            a.className = "b1";
            a.onmouseover = function() {
                clearTimeout(timer);
                clearTimeout(timer2);
                clearTimeout(timer3);
                j = parseInt(this.getAttribute("num")) - 1;
                scton = 0;
                t = 63;
                opac = 0;
                fadeon();
                this.className = "b2";
            };
            a.onmouseout = function() {
                this.className = "b1";
                sc(j)
            };
            button.appendChild(a);
        };
 
        //控制图层透明度
        function alpha(obj, n) {
            if (doc.all) {
                obj.style.filter = "alpha(opacity=" + n + ")";
            } else {
                obj.style.opacity = (n / 100);
            }
        };
        //控制焦点按钮
 
        function sc(n) {
            for (var i = 0; i < len; i++) {
                button.childNodes[i].className = "b1";
            };
            button.childNodes[n].className = "b2";
        };
        title.className = "num_list";
        title.appendChild(span);
        alpha(title, opac1);
        id.className = "d1";
        div.className = "d2";
		frag.appendChild(div);
		frag.appendChild(title);
		frag.appendChild(button);
		id.appendChild(frag);
        //渐显
        var fadeon = function() {
            opac += 5;
            div.innerHTML = li[j].innerHTML;
            span.innerHTML = getTag("img", li[j])[0].alt;
            alpha(div, opac);
            if (scton == 0) {
                sc(j);
                num = -2;
                scrolltxt();
                scton = 1
            };
            if (opac < 100) {
                timer = setTimeout(fadeon, interv2)
            } else {
                timer2 = setTimeout(fadeout, interv);
            };
        };
        //渐隐
        var fadeout = function() {
            opac -= 5;
            div.innerHTML = li[j].innerHTML;
            alpha(div, opac);
            if (scton == 0) {
                num = 2;
                scrolltxt();
                scton = 1
            };
            if (opac > 0) {
                timer = setTimeout(fadeout, interv2)
            } else {
                if (j < len - 1) {
                    j++
                } else {
                    j = 0
                };
                fadeon()
            };
        };
        //滚动文字
        var scrolltxt = function() {
            t += num;
            span.style.marginTop = t + "px";
            if (num < 0 && t > 3) {
                timer3 = setTimeout(scrolltxt, interv2)
            } else if (num > 0 && t < 62) {
                timer3 = setTimeout(scrolltxt, interv2)
            } else {
                scton = 0
            }
        };
        fadeon();
    }

