﻿fixImgboxImageWidthIe6("imgborder");
var zIndex=100;
domReady.add(
function(){
	
	rotateText("announcement",1000*8);
	
	rectEye("jjcs_des");

	try{
		EL("bind").onclick=function(evt){
		    location.href = "bindvip.aspx";
		    return false;
		}
	}catch(ignore){}
	inittjsp();
	
});
/**
 * 继续购买
 */
function jxgm(orderno){
	
	var win = new MdiWindow({
			width:620,
			height:350
			
	});
	win.load("dialogs/jxfk.aspx?id=" +orderno);
	win.moveToCenter();
}


/**我要团购*/
function btnWytg_click(){
	var win = new MdiWindow({
			width:650,
			height:450
			
	});
	win.load("tuangou/cart.aspx?id=" + EL("tgId").value);
	win.moveToCenter();
}
/**我要团购 朋友*/
function btnWytgSong_click(){
	var win = new MdiWindow({
			width:650,
			height:450
			
	});
	win.load("tuangou/cartToF.aspx?id=" + EL("tgId").value);
	win.moveToCenter();
}

/*团购继续付款*/
function btnWytgR_click(){
    
	var win = new MdiWindow({
			width:500,
			height:380
			
	});
	win.load("tuangou/jxfk.aspx?id=" + this.title);
	win.moveToCenter();
}

/**网购详细*/
function btnCktgxx_click(){
	
	location.href="tuangou/detail.aspx?id="+EL("tgId").value;
}
/**
 * 物价商品初始化
 */
function inittjsp(){
	var win =null;
	EL("btnDetail").onclick=function(evt){
		if( win != null && !win.isClosed){
			win.moveToCenter();
			return;
		}
		win = new MdiWindow({
			width:650,
			height:450
			
		});
		//win.show(evt||window.event);
		win.moveToCenter();
		win.focus();
		win.load("dialogs/tjspxx.aspx?id=" + goods_id,document);
		return false;
	}
	EL("btnBuy").onclick=function(evt){
        showBuyPage(goods_id,1);
		return false;
	}
    window.showBuyPage=function showBuyPage(id,flag){
	        if(!confirm("点击”购买”商品后，30分钟内，没有即时付款者，一小时内，将丧失购买其它特价商品的机会。\r\n你确定要购买吗?"))
	        {
	            return false;
	        }
		    if( win != null && !win.isClosed){
			    win.moveToCenter();
			    return;
		    }
		    win = new MdiWindow({
			    width:650,
			    height:450
    			
		    });
		    //win.show(evt||window.event);
		    win.moveToCenter();
		    win.focus();
    		if(flag==1)
    		{
		     win.load("dialogs/OrderUserInfo.aspx?id=" + id,document);
		    }
		    else
		    {
		      win.load("dialogs/OrderUserInfo.aspx?oid=" + id,document);
		    }
    }
}
/**
 * 显示优惠券详细
 * @param {Object} obj
 */
function show_yhq_menu(objLink){
	var li = objLink.parentNode.parentNode;
	var ul = li.parentNode;
	for(var i=0;i<ul.childNodes.length;i++){
		ul.childNodes[i].className="";
	}
	li.className+=" selected";
	li.style.zIndex = zIndex++;
	
}
function hide_yhq_menu(obj){
	var li = obj.parentNode;
	li.className=li.className.replace(/selected/g,"");
}

/**
 * 发送优惠券到手机
 * @param {Object} id
 */
function sendYhqToMobile(id){
	var xh = getXMLHttpRequest();
	xh.open("GET","../senddiscountticket.aspx?id="+id,false);
	xh.send(null);
	switch(xh.status)
	{
		case 200:
			alert(xh.responseText);
			break;
		case 500:
			alert("服务器内部错误，发送失败");
			break;
		case 504:
			alert("连接超时，发送失败");
			break;
		default:
			alert("未知错误（" + xh.status  + "）,发送失败");
	}
	
}

function getSinStepFun(count,sum){
	var step = 3/(count-1);
	var sum1=0;
	for(var i=0;i<=3;i+=step ){
		sum1+=Math.sin( i);
	}
	var step2 = sum / sum1;
	return function(index){
		//log([index, (index*step).toFixed(4),Math.sin( step * (index-1))] )
		var x = step * (index-1);
		/*
		if( x+step > 3 && x-step <3 ){
			x=3;
		}*/
		return step2 * Math.sin( x );
	}
}
function rotateText(id,interval){
	var obj = EL( id);
	var lis= obj.getElementsByTagName("li");
	if(lis.length<2)
		return;
	for(var i=0;i<lis.length;i++){
		lis[i].style.display="none";
		lis[i].style.top = "0px";
		lis[i].style.left = "0px";
	}
	var preli;
	var timer=-1;
	var intervalTimer = -1;
	var index=0;
	function show(){
		if( index >= lis.length){
			index = 0;
		}
		clearTimeout( timer );
		var li = lis[index];
		var height = li.parentNode.clientHeight;
		li.style.display="block";
		li.style.top = height+"px";
		var currheight = height;
		var step = 7;
		var stepCount = 20 ;
		var fStep = getSinStepFun(stepCount , height  );
		var forIndex = 0;
		li.style.top = (currheight-1)+"px";
	
		function slowshow(){
			forIndex ++;
			currheight -=fStep( stepCount-forIndex  );
			if( step > 1 )
				step-=0.45;
			li.style.top = currheight+"px";
			if( preli){
				preli.style.top = currheight -height-10 +"px"; 
			}
			if( forIndex<stepCount){
				
				timer = setTimeout( slowshow , 40 );
			}else{
				preli = li;
				timer = -1;
				/*
				if( intervalTimer ==-1 )
				{
					index ++;
					show();
				}*/
			}
		}
		intervalTimer = setTimeout( function(){
			step = 5;
			index ++;
			show();
		},interval||(1000 * 10) );
		slowshow();
	} 
	addEvt( obj , "mouseover",function(){
		clearTimeout( intervalTimer );
		intervalTimer = -1;
	})
	addEvt( obj , "mouseout",function(evt){
		
		clearTimeout( intervalTimer );
		if( isAncestor( this, getRelatedTarget(evt) )){
			
			return;
		}
		//alert((this, evt.target||evt.srcElement).tagName)
		if (timer == -1) {
			index++;
			
			show();
		}else{
			delayShow();
		}
	
	});
	function delayShow(){
		clearTimeout(delayShow.timer);
		delayShow.timer = setTimeout(function(){
			index++;
				show();
		},interval||(1000 * 10) )
	}
	delayShow.timer=-1;
	show(  );
}

function isAncestor(ancestor,child){ 
	var is=false;
	if((ancestor&&child)){
		if(ancestor.contains&&ancestor!==child){
			is=ancestor.contains(child);
		}else{
			if(ancestor.compareDocumentPosition){
				is=!!(ancestor.compareDocumentPosition(child)&16);
			}
		}
	}else{
		
	}
	return is;
}

function getRelatedTarget(evt) {
	evt = evt.browserEvent || evt;
        var obj = evt.relatedTarget;
        if (!obj) {
            if (evt.type == "mouseout") {
        	    obj = evt.toElement;
            } else {
                if (evt.type == "mouseover") {
                	obj = M.fromElement;
                }
            }
        }
        if(obj)
        	return obj.nodeType==3?obj.parentNode:obj;
        else 
        	return null;
}



/***
 * 方眼睛儿
 * @param {Object} obj
 */
function rectEye(obj ){
	if(typeof obj=="string")
		obj =EL(obj);
	if(!obj)
		return;
	obj.scrollTop=20+'px';
	var timer1=-1;
	var timer=-1;
	var step = 5;
	//5秒中后还原
	addEvt(obj,"mouseout",function(ev){
		clearTimeout(timer1)
		if(window.releaseEvents)
			window.releaseEvents(Event.MOUSEMOVE);
		timer1=setTimeout(function(){
			obj.scrollTop = 0;
		},1000*5);
	});
	
	var lock = false;
	function getTimer( f ,timeout){
		
		if( lock ){
			throw new Error("locked");
		}
		lock = true;
		return setTimeout( f , timeout );
	}
	function clear(){
		//console.log("clear")
		//
		clearTimeout(timer);
		count =0;
		lock = false;
		
	}
	var top,scrollTop,newTop,preScrollTop,count;
	
	addEvt(obj,"mousemove",function(ev){
		if(window.captureEvents)
			window.captureEvents(Event.MOUSEMOVE );
		clearTimeout( timer1 );
		top =  ev.layerY||ev.offsetY;
		
		if(isNaN(top) )
			return;
		scrollTop = obj.scrollTop;
		if( (ev.target||ev.srcElement)!=obj){
			top = top-(scrollTop+10);//ev发生在childnode上
		}
		else{
			top = top -10;//ev发生在自身上，layerY相对的是offsetParent
		}
		if( top <0 )
		{
			top = 0;
		}
		newTop = top/ (obj.clientHeight-20);
		newTop=newTop* (obj.scrollHeight-obj.clientHeight);
		preScrollTop = newTop;
		if( newTop<-1-step)
		{
			var debug =  {newTop:newTop , scrollTop:scrollTop, clientHeight:obj.clientHeight,layerY:top
				,target:ev.target};
			log( debug);
			throw debug;			
		}
		start();
		//clearTimeout(timer);
		//timer = setTimeout(start,0);
		
	});
	function start(){
		obj.scrollTop = newTop;
		//console.log( [preScrollTop, obj.scrollTop , newTop]);
		return;
		clear();
		timer = getTimer(function(){
			if( count++>10){
				 clear();
				 throw new Error("太多次数　！");
			}
				
			var currScrolltop = obj.scrollTop;
			if (currScrolltop == preScrollTop) {
				clear();
				obj.scrollTop = newTop;
				return;
			}
			
			preScrollTop = currScrolltop;
			
			if (newTop < obj.scrollTop) {
				currScrolltop = currScrolltop - step;
			}
			else 
			if (newTop > obj.scrollTop) {
				currScrolltop = currScrolltop + step;
				
			}
			if (Math.abs(currScrolltop - newTop) < step + 1) {
				currScrolltop = newTop;
				log("clear")
				clear();
			}
			log( [obj.scrollTop , currScrolltop]);
			obj.scrollTop = currScrolltop;
			start();
			
		}, 10) 
			
	}
	
}
if(!String.prototype.trim)
	String.prototype.trim=function(){
		return this.replace(/(^\s+)|(\s+$)/g,"")
	}

var tuangouDjs = {
	init: function(){
	
		//距截团还剩<span class="days" id="TgDays">2</span>天
		//<span class="hours" id="TgHours">13</span>小时
		//<span class="minitus" id="TgMinitus">23</span>23分
		//<span class="seconds" id="TgSeconds">33</span>33秒
		if(EL("TgDays")==null)
			return;
		this.days = parseInt(EL("TgDays").innerHTML.trim(),10)||0;
		this.hours = parseInt(EL("TgHours").innerHTML.trim(),10)||0;
		this.minitus = parseInt(EL("TgMinitus").innerHTML.trim(),10)||0;
		this.seconds = parseInt(EL("TgSeconcds").innerHTML.trim(),10)||0;
		this.count = (this.days * 24 * 60 * 60 + this.hours * 60 *60 + this.minitus * 60 + this.seconds)*1000;
		this.ts = (new Date()).getTime()-1;
		
		setTimeout( tuangouDjs.minus  , 0 );
		
	},minus:function(){

		var T = tuangouDjs;
		var now = (new Date()).getTime();
		if (now > T.ts) {
			T.count -=  (now -T.ts) ; 
			T.ts = now;
			var num=Math.floor(T.count/1000);
			
			var seconds = num % 60;
			
			num = (num - seconds) / 60;
			
			var minitus = Math.floor(num % 60);
			num = (num - minitus) / 60;
			
			
			var hours = Math.floor(num % 24);
			var days = Math.floor((num - hours) / 24);
			
			EL("TgDays").innerHTML = days>0?days:0;
			EL("TgHours").innerHTML = hours>0?hours:0;
			EL("TgMinitus").innerHTML = minitus>0?minitus:0;
			EL("TgSeconcds").innerHTML = seconds>0?seconds:0;
		}
		if( T.count>0){
			setTimeout( arguments.callee  , 100 );
		}
	} 
}

