YAHOO.namespace('YAHOO.TW.Sports');
var YUD=YAHOO.util.Dom;
var YUE=YAHOO.util.Event;
var YUC=YAHOO.util.Connect;
var YTWS=YAHOO.TW.Sports;
YTWS.AjaxFailMsg = '伺服器錯誤，請稍後再試！';
YTWS.TvViewer=null;
switch(true){
	case(location.href.indexOf('localhost')!=-1||location.href.indexOf('alpha1.wd')!=-1):{
		YTWS.ImageUrl='i7/';
		YTWS.RestUrl='service/index.php';break;
		}
	default:{YTWS.ImageUrl='http://tw.yimg.com/i/tw/sports/i7/';YTWS.RestUrl='/service/';}};

YTWS.Util = {};
YTWS.Util.rollingRotateAnim = function ( poConfig ) {
	if ( poConfig ) { this.init( poConfig ) ; }
};
YTWS.Util.rollingRotateAnim.prototype = {
	YUD : YAHOO.util.Dom,
	bIsAnimate : false,	
	nOriginXY : null,	
	nCurCnt : 0,
	nTotItem : null,
	nTimer : null,
	nPageInNum	: null,
	nMoveSize : null,	
	oCon : null,
	oList : null,
	aItemList : null,
	aProcBtnList : null,
	oCfg : null,
			
	getAniRange : function () {
		this.nTotItem = this.aItemList.length ;
		this.nMoveSize = this.aItemList[0].offsetWidth * this.oCfg.nMvItemNum;
		this.nPageInNum = Math.round( this.oCon.offsetHeight / this.aItemList[0].offsetHeight ) ;
	},
	getAniAttr : function ( pnPos, pnMvVal ){
		var oAttr = {
			points: {
				from:pnPos,
				to:  [pnPos[0] + pnMvVal, pnPos[1]] 
			}
		};
		return oAttr ;
	},
	goLeft : function ( e, THIS ) {	
		if ( !THIS.bIsAnimate ){	
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt -= THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt < 0 ){
				THIS.nCurCnt = THIS.nTotItem + THIS.nCurCnt ;
				xy[0] = THIS.nOriginXY[0]-(THIS.oList.offsetWidth - THIS.nMoveSize*THIS.oCfg.nMvItemNum ) ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}
		YUE.stopEvent(e);
	},
	goRight : function ( e, THIS ) {
		if ( !THIS.bIsAnimate ){	
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt += THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt >= THIS.nTotItem + 1){				
				THIS.nCurCnt = THIS.nCurCnt - THIS.nTotItem ;
				xy[0] = THIS.nOriginXY[0] ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}
		YUE.stopEvent(e);		
	},
	goTarget : function ( e, THIS ){
		if ( !THIS.bIsAnimate ){		
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			var oTarget = YAHOO.util.Event.getTarget ( e ) ;
			var i, max = THIS.aProcBtnList.length - 1 ;	
			for ( i = max ; i >= 0 ; i -- ){
				if ( THIS.aProcBtnList[i] == oTarget ){
					THIS.nCurCnt = i ;
				}
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}
		YUE.stopEvent(e);
	},
	goAuto : function ( THIS ){
		if ( !THIS.bIsAnimate ){
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt += THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt >= THIS.nTotItem + 1 ){				
				THIS.nCurCnt = THIS.nCurCnt - THIS.nTotItem ;
				xy[0] = THIS.nOriginXY[0] ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
			var refresh = function (){
				THIS.goAuto ( THIS ) ;
			};		
			THIS.nTimer = setTimeout ( refresh, THIS.oCfg.nDelay ) ;
		}		
	},
	moveItem : function ( pnIdx, pnXY ){		
		this.bIsAnimate = true ;
		this.anim ( this.getAniAttr(pnXY, this.nOriginXY[0] - this.nMoveSize*pnIdx/this.oCfg.nMvItemNum -pnXY[0]) ) ;
		
		if ( this.aProcBtnList )
			this.setProcBtnStyle ( this.aProcBtnList, this.nCurCnt ) ;
	},
	setProcBtnStyle : function ( poNode, pnIdx ){
		var i, max = poNode.length - 1 ;
		if ( this.oCfg.sProcClass.length ){
			for ( i = max ; i >= 0 ; i -- ){
				this.YUD.removeClass ( poNode[i], this.oCfg.sProcClass ) ;
			}
		}
		pnIdx -= ( pnIdx >= this.nTotItem ) ? this.nTotItem : 0 ;		
		this.YUD.addClass ( poNode[pnIdx], this.oCfg.sProcClass ) ;		
	},			
	anim : function ( oAttr ){
		var THIS = this ;
		var animComplete = function ( type, args ){
			THIS.bIsAnimate = false ;		
		};
		var anim = new YAHOO.util.Motion(this.oList, oAttr, this.oCfg.nAniSpeed, YAHOO.util.Easing[this.oCfg.sAniType]);
		anim.onComplete.subscribe ( animComplete ) ;
		anim.animate();
	},
	pauseTimer : function ( e, THIS ){
		clearTimeout ( THIS.nTimer ) ;
		THIS.nTimer = null ;
	},
	activeTimer : function ( e, THIS ){
		if ( !THIS.nTimer ){
			var refresh = function (){
				THIS.goAuto ( THIS ) ;
			};		
			THIS.nTimer = setTimeout ( refresh, THIS.oCfg.nDelay ) ;
		}
	},	
	setEvtHandler : function ( pNode, psEvtType, psDirection ){
		switch ( psDirection.toLowerCase() ){
			case 'left' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goLeft, this ) ;break;
			case 'right' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goRight, this ) ;break;
			case 'process' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goTarget, this ) ;break;
			case 'pause' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.pauseTimer, this ) ;break;	
			case 'continue' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.activeTimer, this ) ;break;	
		}
	},
	makeCloneNode : function (){
		var i ;
		for ( i=0 ; i < this.nPageInNum ; i++){
			var oClone = this.aItemList[i].cloneNode(true) ;
			oClone.innerHTML = this.aItemList[i].innerHTML ;
			this.oList.appendChild ( oClone ) ;		
		}	
	},
	init:function ( poConfig ) {
		this.oCfg = poConfig ;
		this.oCon = document.getElementById ( poConfig.sViewBox ) ;
		this.oList = document.getElementById ( poConfig.sItemList ) ;
		this.oProc = document.getElementById ( poConfig.sProcList ); 
		if ( this.oCon && this.oList ){
			this.nOriginXY = this.YUD.getXY ( this.oCon ) ;
			this.aItemList = this.oList.getElementsByTagName ( poConfig.sItemTag ) ;
																									
			if ( !this.aItemList ){
				return ;
			}
			if ( this.oProc ){
				this.aProcBtnList = this.oProc.getElementsByTagName ( poConfig.sProcBtnTag ) ;		
				this.setEvtHandler ( this.aProcBtnList, 'click', 'process' ) ;
				
				if ( this.oCfg.bAutoRolling ){
					this.setEvtHandler ( this.oProc, 'mouseover', 'pause' ) ;
					this.setEvtHandler ( this.oProc, 'mouseout', 'continue' ) ;
				}
			}					
			this.getAniRange() ;			
			this.makeCloneNode() ;			
			if ( this.oCfg.bAutoRolling && this.oCfg.nDelay ){
				var THIS = this ;
				var refresh = function (){
					THIS.goAuto ( THIS ) ;
				}
				this.setEvtHandler ( poConfig.sViewBox, 'mouseover', 'pause' ) ;
				this.setEvtHandler ( poConfig.sViewBox, 'mouseout', 'continue' ) ;						
				this.nTimer = setTimeout ( refresh, this.oCfg.nDelay ) ;
			}			
		}
	}
};
YTWS.Util.rollingRotateAnimV = function ( poConfig ) { if ( poConfig ) { this.init( poConfig ) ; } };
YTWS.Util.rollingRotateAnimV.prototype = {
	YUD : YAHOO.util.Dom,
	bIsAnimate : false,	
	nOriginXY : null,	
	nCurCnt : 0,
	nTotItem : null,
	nTimer : null,
	nPageInNum	: null,
	nMoveSize : null,	
	oCon : null,
	oList : null,
	aItemList : null,
	aProcBtnList : null,
	oCfg : null,
	getAniRange : function (){
		this.nTotItem = this.aItemList.length ;
		this.nMoveSize = this.aItemList[0].offsetHeight * this.oCfg.nMvItemNum;
		this.nPageInNum = Math.round( this.oCon.offsetHeight / this.aItemList[0].offsetHeight ) ;
	},
	getAniAttr : function ( pnPos, pnMvVal ){
		var oAttr = {
			points:{
				from:pnPos,
				to:  [pnPos[0], pnPos[1] + pnMvVal] 
			}
		};
		return oAttr ;
	},
	goUp : function ( e, THIS ){	
		if ( !THIS.bIsAnimate ){	
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt -= THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt < 0 ){
				THIS.nCurCnt = THIS.nTotItem + THIS.nCurCnt ;
				xy[1] = THIS.nOriginXY[1]-(THIS.oList.offsetHeight - THIS.nMoveSize*THIS.oCfg.nMvItemNum ) ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}
	},
	goDown : function ( e, THIS ) {
		if ( !THIS.bIsAnimate ){	
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt += THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt >= THIS.nTotItem + 1 ){				
				THIS.nCurCnt = THIS.nCurCnt - THIS.nTotItem ;
				xy[1] = THIS.nOriginXY[1] ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}				
	},
	goTarget : function ( e, THIS ){
		if ( !THIS.bIsAnimate ){		
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			var oTarget = YAHOO.util.Event.getTarget ( e ) ;
			var i, max = THIS.aProcBtnList.length - 1 ;				
			for ( i = max ; i >= 0 ; i -- ){
				if ( THIS.aProcBtnList[i] == oTarget ){
					THIS.nCurCnt = i ;
				}
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
		}
	},
	goAuto : function ( THIS ){
		if ( !THIS.bIsAnimate ){
			var xy = THIS.YUD.getXY ( THIS.oList ) ;
			THIS.nCurCnt += THIS.oCfg.nMvItemNum ;
			if ( THIS.nCurCnt >= THIS.nTotItem + 1){				
				THIS.nCurCnt = THIS.nCurCnt - THIS.nTotItem ;
				xy[1] = THIS.nOriginXY[1] ;
			}
			THIS.moveItem ( THIS.nCurCnt, xy ) ;
			var refresh = function (){
				THIS.goAuto ( THIS ) ;
			};		
			THIS.nTimer = setTimeout ( refresh, THIS.oCfg.nDelay ) ;
		}		
	},		
	moveItem : function ( pnIdx, pnXY ){
		this.bIsAnimate = true ;
		this.anim ( this.getAniAttr(pnXY, this.nOriginXY[1] - this.nMoveSize*pnIdx/this.oCfg.nMvItemNum -pnXY[1]) ) ;
		if ( this.aProcBtnList )
			this.setProcBtnStyle ( this.aProcBtnList, this.nCurCnt ) ;
	},
	setProcBtnStyle : function ( poNode, pnIdx ){
		var i, max = poNode.length - 1 ;
		if ( this.oCfg.sProcClass.length ){
			for ( i = max ; i >= 0 ; i -- ){
				this.YUD.removeClass ( poNode[i], this.oCfg.sProcClass ) ;
			}
		}
		pnIdx -= ( pnIdx >= this.nTotItem ) ? this.nTotItem : 0 ;
		this.YUD.addClass ( poNode[pnIdx], this.oCfg.sProcClass ) ;		
	},	
	anim : function ( oAttr ){
		var THIS = this ;
		var animComplete = function ( type, args ){
			THIS.bIsAnimate = false ;		
		};
		var anim = new YAHOO.util.Motion(this.oList, oAttr, this.oCfg.nAniSpeed, YAHOO.util.Easing[this.oCfg.sAniType]);
		anim.onComplete.subscribe ( animComplete ) ;
		anim.animate();
	},
	pauseTimer : function ( e, THIS ){
		clearTimeout ( THIS.nTimer ) ;
		THIS.nTimer = null ;
	},
	activeTimer : function ( e, THIS ){
		if ( !THIS.nTimer ){
			var refresh = function (){
				THIS.goAuto ( THIS ) ;
			};		
			THIS.nTimer = setTimeout ( refresh, THIS.oCfg.nDelay ) ;
		}
	},		
	setEvtHandler : function ( pNode, psEvtType, psDirection ){
		switch ( psDirection.toLowerCase()){
			case 'up' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goUp, this ) ;
			break;
			case 'down' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goDown, this ) ;			
			break;
			case 'process' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.goTarget, this ) ;
			break;
			case 'pause' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.pauseTimer, this ) ;			
			break;
			case 'continue' :
				YAHOO.util.Event.addListener ( pNode, psEvtType, this.activeTimer, this ) ;			
			break;	
		}
	
	},
	makeCloneNode : function (){
		var i ;
		for ( i=0 ; i < this.nPageInNum ; i++){
			var oClone = this.aItemList[i].cloneNode(true) ;
			oClone.innerHTML = this.aItemList[i].innerHTML ;
			this.oList.appendChild ( oClone ) ;		
		}	
	},
	init:function ( poConfig ) {
		this.oCfg = poConfig ;
		this.oCon = document.getElementById ( poConfig.sViewBox ) ;
		this.oList = document.getElementById ( poConfig.sItemList ) ;
		this.oProc = document.getElementById ( poConfig.sProcList );					
		if ( this.oCon && this.oList ){	
			this.nOriginXY = this.YUD.getXY ( this.oCon ) ;
			this.aItemList = this.oList.getElementsByTagName ( poConfig.sItemTag ) ;																				
			if ( !this.aItemList ){
				return ;
			}
			if ( this.oProc ){					
				this.aProcBtnList = this.oProc.getElementsByTagName ( poConfig.sProcBtnTag ) ;		
				this.setEvtHandler ( this.aProcBtnList, 'click', 'process' ) ;
				this.setEvtHandler ( this.oProc, 'mouseover', 'pause' ) ;
				this.setEvtHandler ( this.oProc, 'mouseout', 'continue' ) ;				
			}					
			this.getAniRange() ;			
			this.makeCloneNode() ;			
			if ( this.oCfg.bAutoRolling && this.oCfg.nDelay ){
				var THIS = this ;
				var refresh = function (){
					THIS.goAuto ( THIS ) ;
				}
				this.setEvtHandler ( poConfig.sViewBox, 'mouseover', 'pause' ) ;
				this.setEvtHandler ( poConfig.sViewBox, 'mouseout', 'continue' ) ;		
				this.nTimer = setTimeout ( refresh, this.oCfg.nDelay ) ;
			}			
		}
	}
};
YTWS.Util.vars = { rotateObj : null };
YTWS.PhotoAlbums={
	albumsSize:0,albumsLong:0,albumsPage:1,
	albumsContainerId:null,labelTotalId:null,labelRecNoId:null,
	total:0,minPage:0,maxPage:0,bIsAnimate:false,

	setAlbumsInfo:function(num){
        if(document.getElementById(this.labelTotalId)){
			document.getElementById(this.labelTotalId).innerHTML=this.total;
		}
		if(document.getElementById(this.labelRecNoId)){
			var nSnm=(this.albumsPage-1)*this.albumsSize+1;
			var nEnm=nSnm+(this.albumsSize-1);
			if(nEnm>this.total){
				nSnm=(this.total-this.albumsSize+1<1)?1:this.total-this.albumsSize+1;nEnm=this.total;
			}
			document.getElementById(this.labelRecNoId).innerHTML=num;
		}
		var dPlayer = document.getElementById('ysctppr');
		if (dPlayer) {
			var dNum = YUD.getElementsByClassName('scale','div',dPlayer)[0];
			if (dNum) {dNum.innerHTML = num + '/' + this.total;}
		}
		var dShowList = document.getElementById('play_action_list');
		if (dShowList){var oUrl=dShowList.href.split('?');dShowList.href = oUrl[0]+'?page='+Math.ceil(num/12);}
		this.hideArrow();
	},
	init:function(sContainer,nSize,nLong){
		this.albumsContainerId=sContainer;this.albumsSize=nSize;this.albumsLong=nLong;
		this.total=document.getElementById(this.albumsContainerId).getElementsByTagName('li').length;
		this.minPage=1;
		this.maxPage=(this.total%this.albumsSize>0)?parseInt(this.total/this.albumsSize)+1:parseInt(this.total/this.albumsSize);
	},
	hideArrow:function(){
		var movel=document.getElementById('move-left');
		var mover=document.getElementById('move-right');
		if(this.albumsPage==this.minPage){
			YUD.setStyle(movel,'visibility','hidden');
			YUD.setStyle(mover,'visibility','visible');
		}else if(this.albumsPage==this.maxPage){
			YUD.setStyle(movel,'visibility','visible');
			YUD.setStyle(mover,'visibility','hidden');
		}else{
			YUD.setStyle(mover,'visibility','visible');
			YUD.setStyle(movel,'visibility','visible');
		}
	},			
	goPage:function(nPage){
		if(nPage<this.minPage||nPage>this.maxPage||nPage==this.albumsPage)return;
		
		this.bIsAnimate = true ;
		var nLack=0;
		if((this.albumsPage-nPage)>0){
			nLack=(this.albumsPage*this.albumsSize>this.total)?(this.total-this.albumsPage*this.albumsSize):0;
		}else{
			nLack=(nPage*this.albumsSize>this.total)?(nPage*this.albumsSize-this.total):0;
		}
		var nMove=(this.albumsPage-nPage)*this.albumsSize+nLack;
		var attributes={points:{by:[nMove*this.albumsLong,0]}};
		
		var THIS = this ;
		var animComplete = function ( type, args )
		{
			THIS.bIsAnimate = false ;
			THIS.albumsPage = nPage ;
			THIS.hideArrow();
		};
		var anim = new YAHOO.util.Motion('albums',attributes,0.5,YAHOO.util.Easing.easeOut);
		anim.onComplete.subscribe ( animComplete ) ;
		anim.animate();
		
	},
	goPrev:function(){
		if (!this.bIsAnimate){
			this.goPage(this.albumsPage-1);
		}
	},
	goNext:function(){
		if (!this.bIsAnimate){
			this.goPage(this.albumsPage+1);
		}
	}
};

// Classes
YTWS.Class = {
	Tab:function(dModule) {
		var nCurrentIndex = 0;
		var dTabs = YUD.getElementsByClassName('etab','div',dModule);
		var oComponent = this;
		oComponent.onTabChange = new YAHOO.util.CustomEvent('TabChange');
		var onTabClick = function(e) {
			if(dModule.id==="yspcns"){
				// only yspcns don't show more at second tab
				var more = YUD.getElementsByClassName('ft-m','div',dModule)[0].getElementsByTagName('h2')[0];
				if(this===dTabs[0]){
					YUD.setStyle(more.firstChild,'display','block');
				}else{
					YUD.setStyle(more.firstChild,'display','none');
				}
			}
			YUE.stopEvent(e);
			var dComponent = this;
			if (dComponent.className.indexOf('on',0) > -1) return;
			
			dTabs[nCurrentIndex].className = 'etab'; 
			document.getElementById(dTabs[nCurrentIndex].id+'-pane').style.display = 'none';
			dComponent.className = 'etab on';
			document.getElementById(dComponent.id+'-pane').style.display = 'block';
			for (var i=0;i<dTabs.length;i++) {
				if (dTabs[i].className.indexOf('on',0) > -1) { nCurrentIndex=i; break; }
			}
			oComponent.onTabChange.fire(nCurrentIndex);
            if(dModule.id==="ysphprr" || dModule.id == "ysptcm"){
				var dLink = dModule.getElementsByTagName("input");
				var more = YUD.getElementsByClassName('ft-m','div',dModule)[0].getElementsByTagName('a')[0];
				if(dLink[nCurrentIndex].value != undefined){
				more.href = dLink[nCurrentIndex].value;}
			}
		};
		var init = function() {
			for (var i=0;i<dTabs.length;i++) {
				if (dTabs[i].className.indexOf('on',0) > -1) { nCurrentIndex=i; document.getElementById(dTabs[i].id+'-pane').style.display = 'block'; break; }
			}
			YUE.on(dTabs,'click',onTabClick);
		};
		init();
	},
	isIE:function(){
		if(navigator.appName == "Microsoft Internet Explorer"){
			return true;
		}else{
			return false;
		}
	},
	RefferLink:function(){
		setTimeout(function(){
			window.location.href="/index.html";
		},10000);
	},
	WordCount:function(el,maxValue,dNum){
		var doWordCount = function(){
			var iTxtLen = el.value.length;
			if(iTxtLen > maxValue){
				dNum.innerHTML = maxValue - iTxtLen;
			}else{
				dNum.innerHTML = iTxtLen;
			}
		}
		doWordCount();
		YUE.addListener(el,'keyup',doWordCount);
		YUE.addListener(el,'mouseup',doWordCount);
	},
	showInfo:function(imgInfo){
			var infolist = imgInfo.split("#!#");			        			 
			var Infobar = window.document.getElementById('ysctpc');
			var oTitle = YUD.getElementsByClassName('tn','a',Infobar);
			var oTime = YUD.getElementsByClassName('time','span',Infobar);
			var oCont = YUD.getElementsByClassName('content','p',Infobar);
			var oLink = YUD.getElementsByClassName('relatlink','a',Infobar);	
			oTitle[0].innerHTML = infolist[0];
			oTime[0].innerHTML = infolist[1];
			oCont[0].innerHTML = infolist[2];
			var bOff = (infolist[3]==''||infolist.length<4);
			if (bOff){oTitle[0].removeAttribute('href');}else{oTitle[0].href = infolist[3];oLink[0].href = infolist[3];}
			oTitle[0].className=(bOff)?'tn off':'tn';
			oLink[0].parentNode.style.visibility=(bOff)?'hidden':'visible';
	},
	showState:function(imgInfo){
			var infolist = imgInfo.split(",");		
			var Infobar = window.document.getElementById('ysctpc');			
			var oImageId= document.getElementById('img_id');
			var oImageState = document.getElementById('img_state');
			var cNum  = YUD.getElementsByClassName('returnSum','em',Infobar);
			cNum[0].innerHTML=infolist[2];
			oImageId.value = infolist[0]*1;
			oImageState.value = infolist[1];
			var oShowAll = document.getElementById('commend'); 
			oShowAll.disabled = (oImageState.value==1);
	},
    ChkMailAddr:function(addr){
        if (addr.search(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/) != -1)
            return true;
        else
            return false;
    },
	ClearTxt:function(el,str){
		var doClear = function(){if(el.value == str){el.value = "";}};
		var unDoClear = function(){if(el.value == ""){el.value = str;}}
		YUE.on(el,"focus",doClear);
		YUE.on(el,"blur",unDoClear);
	}
};
/* This module is created by fisher */
YTWS.Module={
	ShowPop:function(dModule){
		var dUl=dModule.getElementsByTagName('ul')[0];
		var dTab = YUD.getElementsByClassName('handler','img',dModule);
		var dPanel=YUD.getElementsByClassName('panel','div',dModule);
		var oEve,iCurrentIndex;
		/* set the menus position*/
		var setPanelPosition = function(val){
			var xy = YUD.getXY(dTab[val]);
			xy[0] = xy[0]-80;
			if(YTWS.Class.isIE()){ addY = 30; }else{ addY=32; }
			xy[1] = xy[1]+addY;
			YUD.setXY(dPanel[val],xy);
		}
		var runEvent = function(No){
			window.clearTimeout(oEve);
			dPanel[No].style.display = 'block';
			setPanelPosition(No);
			YUE.on(dTab[No],'mouseout',function(e){window.clearTimeout(oEve);oEve = window.setTimeout(function(){dPanel[No].style.display = 'none';},500);});
			YUE.on(dPanel[No],'mouseover',function(e){window.clearTimeout(oEve);dPanel[No].style.display = 'block';});
			YUE.on(dPanel[No],'mouseout',function(e){window.clearTimeout(oEve);oEve = window.setTimeout(function(){dPanel[No].style.display = 'none';},5);});
		}
		var show = function(e){
			 var target = YUE.getTarget(e);
			 if(target.className=='handler'){
				 for(i=0,j=dTab.length;i<j;i++){
					 if(dTab[i]==target){runEvent(i);}else{dPanel[i].style.display='none';}
				 }
			 }
		}
		YUE.on(dUl,'mouseover',show);
	},
	ChangeSrcTab:function(dModule){
        var dForm=dModule.getElementsByTagName('form')[0];
		var dUl=dModule.getElementsByTagName('ul')[0];
		var dLi=dUl.getElementsByTagName('li');
		dLi[0].className='on';
		var changeTab=function(e){
			YUE.stopEvent(e);
			var dComponent=this;
			for(var i=0,len=dLi.length;i<len;i++){dLi[i].className='';}
			dComponent.className='on';return false;
		}
		YUE.on(dLi,'click',changeTab);
        YUE.on(dForm,'submit',function(){for(var i=0,len=dLi.length;i<len;i++){if (dLi[i].className=='on') {dForm.action = dLi[i].getElementsByTagName('a')[0].href; break;}}});
	},
	LightBox:function(dModule){
		var dLinks = YUD.getElementsByClassName('lightbox','a',dModule);
		var dLinksTxt = YUD.getElementsByClassName('lightbox-txt','a',dModule);
		var iPhotoCount = dLinks.length;
		var iCurrentIndex = 0;
		var getPageScroll = function(){
			var yScroll;
			if (self.pageYOffset) { yScroll = self.pageYOffset;} 
            else if (document.documentElement && document.documentElement.scrollTop){ yScroll = document.documentElement.scrollTop;} 
            else if (document.body) { yScroll = document.body.scrollTop;}
			arrayPageScroll = new Array('',yScroll);
			return arrayPageScroll;
		};
		var hideLightbox = function(){
			objOverlay = document.getElementById('overlay');
			objLightbox = document.getElementById('ysplb');
			objOverlay.style.display = 'none';
			objLightbox.style.display = 'none';
			var selects = document.getElementsByTagName('select');
			for (i=0;i!=selects.length;i++) {selects[i].style.visibility = 'visible';}
		}
		var getPageSize = function(){
			var xScroll, yScroll;
			if (window.innerHeight && window.scrollMaxY) {	
				xScroll = document.body.scrollWidth;
				yScroll = window.innerHeight + window.scrollMaxY;
			} else if (document.body.scrollHeight > document.body.offsetHeight){ 
				xScroll = document.body.scrollWidth;
				yScroll = document.body.scrollHeight;
			} else {
				xScroll = document.body.offsetWidth;
				yScroll = document.body.offsetHeight+18;
			};
			var windowWidth, windowHeight;
			if (self.innerHeight) {	
				windowWidth = self.innerWidth;
				windowHeight = self.innerHeight;
			} else if (document.documentElement && document.documentElement.clientHeight) { 
				windowWidth = document.documentElement.clientWidth;
				windowHeight = document.documentElement.clientHeight;
			} else if (document.body) { 
				windowWidth = document.body.clientWidth;
				windowHeight = document.body.clientHeight;
			}
			(yScroll < windowHeight) ? pageHeight = windowHeight : pageHeight = yScroll;
			(xScroll < windowWidth) ? pageWidth = windowWidth : pageWidth = xScroll;
			arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
			return arrayPageSize;
		};
		var initBox=function(){
			var objBody = document.getElementsByTagName("body").item(0);
			var objOverlay = document.createElement("div");
			objOverlay.setAttribute('id','overlay');
			objOverlay.onclick = function () {hideLightbox(); return false;}
			objOverlay.style.display = 'none';
			objOverlay.style.position = 'absolute';
			objOverlay.style.top = '0';
			objOverlay.style.left = '0';
			objOverlay.style.zIndex = '90';
 			objOverlay.style.width = '100%';
			objBody.insertBefore(objOverlay, objBody.firstChild);

			var arrayPageSize = getPageSize();
			var arrayPageScroll = getPageScroll();

			var objLightbox = document.createElement("div");
			objLightbox.setAttribute('id','ysplb');
			objLightbox.style.display = 'none';
			objLightbox.style.position = 'absolute';
			objLightbox.style.zIndex = '100';	
			objBody.insertBefore(objLightbox, objOverlay.nextSibling);

			//var objLink = document.createElement("a");
			//objLightbox.appendChild(objLink);

			var objImage = document.createElement("img");
			objImage.setAttribute('id','lightboxImage');
			objLightbox.appendChild(objImage);
	
			var objLightboxDetails = document.createElement("div");
			objLightboxDetails.setAttribute('id','lightboxDetails');
			objLightbox.appendChild(objLightboxDetails);

			var objCaption = document.createElement("div");
			objCaption.setAttribute('id','lightboxCaption');
			objCaption.style.display = 'none';
			objLightboxDetails.appendChild(objCaption);
	
			var objSource = document.createElement("div");
			objSource.setAttribute('id','lightboxSource');
			objSource.style.display = 'none';
			objLightboxDetails.appendChild(objSource);

			var objAtricle = document.createElement("div");
			objAtricle.setAttribute('id','lightboxArticle');
			objAtricle.style.display = 'none';
			objLightboxDetails.appendChild(objAtricle);

			var objRelated = document.createElement("div");
			objRelated.setAttribute('id','lightboxRelated');
			objRelated.style.display = 'none';
			objLightboxDetails.appendChild(objRelated);

			var objButton = document.createElement("div");
			objButton.setAttribute('id','lightboxButton');
			objButton.style.display = 'none';
			objLightboxDetails.appendChild(objButton);
		};
		var moveLeft=function(e,dModule){
			var leftIndex=--iCurrentIndex;
			if(leftIndex < 0){leftIndex = iPhotoCount - 1;}
			showBox(e,dModule,dLinks[leftIndex]);
		};
		var moveRight=function(e,dModule){
			var rightIndex = ++iCurrentIndex;
			if(rightIndex == iPhotoCount ){rightIndex = 0;}
			showBox(e,dModule,dLinks[rightIndex]);
		}
		var showBox=function(e,dModule,el){
			YUE.stopEvent(e);
			var objOverlay = document.getElementById('overlay');
			var objLightbox = document.getElementById('ysplb');
			var objCaption = document.getElementById('lightboxCaption');
			var objImage = document.getElementById('lightboxImage');
			var objLightboxDetails = document.getElementById('lightboxDetails');
			var objSource = document.getElementById('lightboxSource');
			var objArticle = document.getElementById('lightboxArticle');
			var objRelated = document.getElementById('lightboxRelated');
			var objButton = document.getElementById('lightboxButton');

			var arrayPageSize = getPageSize();
			var arrayPageScroll = getPageScroll();
			objOverlay.style.height = (arrayPageSize[1]+ 'px');
			objOverlay.style.display = 'block';

			if(el == undefined){el = this;}
			el.className='on';
			for(var i=0,len=dLinks.length;i<len;i++){
				if(dLinks[i].className.indexOf('on',0) > -1){iCurrentIndex = i;dLinks[i].className='';break;}
				if(dLinksTxt != ''){if(dLinksTxt[i].className.indexOf('on',0) > -1){iCurrentIndex = i;dLinksTxt[i].className='';break;}}
			}
			objLink = el.href
			title = el.title;
			source = el.getAttribute('source');
			article = el.getAttribute('article');
			newsLink = el.getAttribute('newslink');
			photoLink = el.getAttribute('photolink');
			imgPreload = new Image();
			imgPreload.onload=function(){
            	objImage.src = objLink;
				var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - imgPreload.height) / 2) - 70;
				var lightboxLeft = ((arrayPageSize[0] - 20 - imgPreload.width) / 2);
				objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
				objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
				objLightboxDetails.style.width = imgPreload.width + 20 + 'px';
				objCaption.style.display = 'block';
				objCaption.innerHTML = title;
				objSource.style.display = 'block';
				objSource.innerHTML = source;
				objArticle.style.display = 'block';
				objArticle.innerHTML = article;
				objRelated.style.display = 'block';
				objRelated.innerHTML = ((newsLink==null||newsLink=='')?'':'<span class="newslink"><a href="'+newsLink+'">閱讀相關新聞</a></span><em>|</em>')+((photoLink==null||photoLink=='')?'':'<span class="photolink"><a href="'+photoLink+'">閱讀相關精彩照片集</a></span>');
				objButton.style.display = 'block';
				objButton.innerHTML = '<img src="http://tw.yimg.com/i/tw/sports/sbl7/ico_left.gif" class="left" /><img src="http://tw.yimg.com/i/tw/sports/sbl7/ico_close.gif" class="close" / ><img src="http://tw.yimg.com/i/tw/sports/sbl7/ico_right.gif" class="right" />';

				selects = document.getElementsByTagName('select');
				for (i = 0; i != selects.length; i++) {selects[i].style.visibility = 'hidden';}
				objLightbox.style.display = 'block';
				var dClose=YUD.getElementsByClassName('close','img',dModule);
				var dLeft=YUD.getElementsByClassName('left','img',dModule);
				var dRight=YUD.getElementsByClassName('right','img',dModule);
				YUE.on(dClose,'click',hideLightbox);
				YUE.on(dLeft,'click',moveLeft);
				YUE.on(dRight,'click',moveRight);
			}
			imgPreload.src=objLink;
		};
		initBox();
		YUE.on(dLinks,'click',showBox);
		YUE.on(dLinksTxt,'click',showBox);
	},
	AbuseValidate:function(dModule){
		var iMaxValue = 250;
		var dForm = dModule.getElementsByTagName('form')[0];
		var dSel = dModule.getElementsByTagName('select')[0];
		var dTxt = dModule.getElementsByTagName('textarea')[0];
		var dNum = YUD.getElementsByClassName('newvalue','span',dModule)[0];
		YTWS.Class.WordCount(dTxt,iMaxValue,dNum);
		var doValidate = function(e){
			if(dSel.options[dSel.options.selectedIndex].value == ''){
				alert('沒有選擇檢舉類別');
				YUE.stopEvent(e);
				return false;
			}
			if(dTxt.value == ''){
				alert('沒有填寫檢舉理由!');
				YUE.stopEvent(e);
				return false;
			}
			if(dTxt.value.replace(/<.*?>/g,"") == '' || dTxt.value.length > iMaxValue){
				alert('請輸入留言，純文字，限'+iMaxValue+'字以內');
				YUE.stopEvent(e);
				return false;
			}
		}
		YUE.addListener(dForm,'submit',doValidate);
	},
	CorrectValidate:function(dModule){
		var iMaxValue = 250;
		var dForm = dModule.getElementsByTagName('form')[0];
		var dSel = dModule.getElementsByTagName('select')[0];
		var dTxt = dModule.getElementsByTagName('textarea')[0];
		var dNum = YUD.getElementsByClassName('newvalue','span',dModule)[0];
		YTWS.Class.WordCount(dTxt,iMaxValue,dNum);
		var doValidate = function(e){
			if(dSel.options[dSel.options.selectedIndex].value == ''){
				alert('沒有選擇問題類別');YUE.stopEvent(e);return false;
			}
			if(dTxt.value == ''||dTxt.value==dTxt.defaultValue){
				alert('沒有填寫正確內容!');YUE.stopEvent(e);return false;
			}
			if(dTxt.value.replace(/<.*?>/g,"") == '' || dTxt.value.length > iMaxValue){
				alert('請輸入留言，純文字，限'+iMaxValue+'字以內');YUE.stopEvent(e);return false;
			}
		}
        YUE.on(dTxt,'focus',function(e){if (this.value==this.defaultValue){this.value='';}});
        YUE.on(dTxt,'blur',function(e){if (this.value==''){this.value=this.defaultValue;}});
		YUE.addListener(dForm,'submit',doValidate);		
	},
	CustomFont:function(dModule){
		sFont1Off='<a href="" alt="小" title="小"><img src="'+YTWS.ImageUrl+'fontsize_1_off.gif"></a>';
		sFont2Off='<a href="" alt="中" title="中"><img src="'+YTWS.ImageUrl+'fontsize_2_off.gif"></a>';
		sFont3Off='<a href="" alt="大" title="大"><img src="'+YTWS.ImageUrl+'fontsize_3_off.gif"></a>';
		sFont4Off='<a href="" alt="巨" title="巨"><img src="'+YTWS.ImageUrl+'fontsize_4_off.gif"></a>';
		
		sFont1On='<img src="'+YTWS.ImageUrl+'fontsize_1_on.gif">';
		sFont2On='<img src="'+YTWS.ImageUrl+'fontsize_2_on.gif">';
		sFont3On='<img src="'+YTWS.ImageUrl+'fontsize_3_on.gif">';
		sFont4On='<img src="'+YTWS.ImageUrl+'fontsize_4_on.gif">';

		var ynwsfont=document.getElementById('ynwsfont');
		ynwsfont.innerHTML="<span>字級設定：</span>"+'<label id="ynwsfont1">' + sFont1Off + '</label>'+'<label id="ynwsfont2">' + sFont2Off + '</label>'+'<label id="ynwsfont3">' + sFont3Off + '</label>'+'<label id="ynwsfont4">' + sFont4Off + '</label>';
		var dFont1=document.getElementById('ynwsfont1');
		var dFont2=document.getElementById('ynwsfont2');
		var dFont3=document.getElementById('ynwsfont3');
		var dFont4=document.getElementById('ynwsfont4');
		//Change font size by cookie
		var changeFontSize=function(cookieValue){
			switch(cookieValue){
				case 1:
					YUD.setStyle(YUD.getElementsByClassName('art-content'),'fontSize','100%');
					break;
				case 2:
					YUD.setStyle(YUD.getElementsByClassName('art-content'),'font-size','122%');
					break;
				case 3:
					YUD.setStyle(YUD.getElementsByClassName('art-content'),'font-size','145%');
					break;
				case 4:
					YUD.setStyle(YUD.getElementsByClassName('art-content'),'font-size','160%');
					break;
				default:
					YUD.setStyle(YUD.getElementsByClassName('art-content'),'font-size','122%');
					break;
			}
		};
		//Get cookie value
		var getCookie=function(name){
			var dc = document.cookie;
			var prefix = name + "=";
			var begin = dc.indexOf("; " + prefix);
			if (begin == -1){
				begin = dc.indexOf(prefix);
				if (begin != 0) return null;
			}else{
				begin += 2;
			}
			var end = document.cookie.indexOf(";", begin);
			if (end == -1){
				end = dc.length;
			}
			return unescape(dc.substring(begin + prefix.length, end));
		};
		//Set cookie value
		var setCookie=function (name, value, expires, path, domain, secure){
			if(expires==false){
				expires = new Date();
				expires.setTime(expires.getTime()+1000*60*60*24*365);
			}
			document.cookie= name + "=" + escape(value) +
				((expires) ? "; expires=" + expires.toGMTString() : "") +
				((path) ? "; path=" + path : "") +
				((domain) ? "; domain=" + domain : "") +
				((secure) ? "; secure" : "");
		};
		var setFontSize = function(cookiename,cookievalue){		
			for (var i=1;i<5;i++){
				document.getElementById("ynwsfont"+i).innerHTML = eval('sFont'+i+'Off');
			}
			document.getElementById("ynwsfont"+cookievalue).innerHTML = eval('sFont'+cookievalue+'On');
			changeFontSize(cookievalue);
			setCookie(cookiename,cookievalue,false,'/');
		};
		var addEvent1=function(e){setFontSize('ynwsfont',1);YUE.stopEvent(e);}
		var addEvent2=function(e){setFontSize('ynwsfont',2);YUE.stopEvent(e);}
		var addEvent3=function(e){setFontSize('ynwsfont',3);YUE.stopEvent(e);}
		var addEvent4=function(e){setFontSize('ynwsfont',4);YUE.stopEvent(e);}
		//Initialize font size by cookie or not
		var getFontSize=function(){
			var cookievalue = getCookie('ynwsfont');
			if(cookievalue == null)
			{
				document.getElementById("ynwsfont2").innerHTML = sFont2On;
				changeFontSize(2);

			}
			if(cookievalue != null)
			{
				for (var i=1;i<5;i++)
				{
					document.getElementById("ynwsfont"+i).innerHTML = eval('sFont'+i+'Off');
				}
				document.getElementById("ynwsfont"+cookievalue).innerHTML = eval('sFont'+cookievalue+'On');
				changeFontSize(parseInt(cookievalue));
			}
		}
		getFontSize();
		//Initialize event listener
		YUE.on(dFont1,'click',addEvent1);
		YUE.on(dFont2,'click',addEvent2);
		YUE.on(dFont3,'click',addEvent3);
		YUE.on(dFont4,'click',addEvent4);
	},
	EmotionVote:function(dModule){
		//Get data and initialize some property of chart
		var ajaxResult=function(sUri,iVote){
			var sUrl = '/service/json.php?u='+sUri+ '&v=' + iVote +'&r=' + Math.random();
			var oCallback = {
				success:function(oResponse) {
					if(oResponse.responseText == '') {return false;}
					var sData='('+oResponse.responseText.replace(/<!(?:--[\s\S]*?--\s*)?>\s*/g,'')+')';
					var json='json='+sData;
					json=eval(json);
					
					var iFocus=json[0].focus;
					var aVoteResult=new Array();
					for(var i in json[0].item){
						var item=json[0].item[i].value;
						aVoteResult[i]=item;
					}
					for(var j=0;j<8;j++){
						document.getElementById('ynwschart'+j).style.height='0px';
						document.getElementById('ynwschart'+j).alt='';
						document.getElementById('ynwschart'+j).title='';
						document.getElementById('ynwschart'+j).src='http://tw.yimg.com/i/tw/sports/attitude_bar.gif';
					}
					document.getElementById('yspaev').style.display='none';
					document.getElementById('yspaevok').style.display='block';
					showAnimationResult(aVoteResult,iFocus);
					document.getElementById('yspaevfocus').value=-1;
				},
				failure:function(oResponse) {alert(YTWS.AjaxFailMsg);},
				timeout:1000
			}
			YUC.asyncRequest('GET',sUrl,oCallback);
		};
		//Draw the result of the vote
		var showAnimationResult=function(aVoteResult,iFocus){
			var limit=82;
			var vt_arr=aVoteResult;
			var yval=0;
			var pixel=new Array();
			var percent=new Array();
			var iTotal=0;
			var iMax=0;

			for(var i=0;i<8;i++){
				if(iFocus==i){
					document.getElementById('ynwschart'+i).src="http://tw.yimg.com/i/tw/sports/attitude_bar_on.gif";
				}
				iTotal+=parseInt(vt_arr[i]);
				if(vt_arr[i]>iMax){
					iMax=vt_arr[i];
				}
			}
			document.getElementById('yspaevtotal').innerHTML=iTotal;
			yval=limit/iMax*0.9;//yval is a variable which control pic not beyond the length of chart
			for(var j=0;j<8;j++){
				//pixel[j]=Math.floor(yval*vt_arr[j]);//The length of chart
				pixel[j] = Math.floor(vt_arr[j]/iTotal*100*0.82);
				percent[j]=Math.round(vt_arr[j]/iTotal*100);
				document.getElementById('ynwschart'+j).alt=percent[j]+'%';
				document.getElementById('ynwschart'+j).title=percent[j]+'%';
			}
			var gap=300;
			for(var k=0;k<8;k++){
				if(k==0){
					var tout=gap*k*1.2;//timout length
				}else{
					var tout=gap*k*1;
				}
				setTimeout("gph.drawGph("+pixel[k]+","+k+")",tout);
			}
			
		};
		var objGraph=function(){
			this.height = new Array();
			this.ht = new Array();
			this.flag = new Array();
			for(i=0; i<=8; i++){
				this.height[i] = new Array("0");
				this.ht[i] = new Array("0");
				this.flag[i] = new Array("-");
			}
			this.step=2;
			this.chart = new Object();
			this.tid='';
			this.addGph = function(h,n){
				this.drawGph(h,n);
			}
			this.drawGph = function(h,n){//Draw graph in the viewer
				this.chart= document.getElementById('ynwschart'+n);
				if(this.height[n] < h){
					if(h == 100){
						this.chart.style.height = "80px";
					}else{
						this.height[n] = eval(this.height[n]+this.step);
						objGraph = this;
						gph.drawGph(h,n);
						this.chart.style.height=this.height[n]+'px';
					}
				}else{}
			}
			this.clearTime = function(){
				clearTimeout(this.tid);
			}
		}
		gph = new objGraph();
		var doVote=function(){
			var aInputs = document.getElementsByName("yspaevv");
			if(aInputs){
				var j=0;
				var sUri=document.getElementById("yspaevuri").value;
				for(var i=0,len=aInputs.length;i<len;i++){
					if(aInputs[i].checked==true){
						j++;
						ajaxResult(sUri,i);
					}
				}
				if(j==0){
					ajaxResult(sUri,-1);
				}
			}
		};
		var chkEverVoteAttitude = function (aCount,iFocus) {
				if (aCount == -1)
				{
					// have not voted by people
						document.getElementById("yspaev").style.display="block";
						document.getElementById("yspaevok").style.display="none";
				}
				else
				{
					if(iFocus != -1)
					{
						// voted: show the vote result
						document.getElementById("yspaev").style.display="none";
						document.getElementById("yspaevok").style.display="block";
						showAnimationResult(aCount,iFocus);

					}
					else
					{
						// have not vote: show vote form
						document.getElementById("yspaev").style.display="block";
						document.getElementById("yspaevok").style.display="none";
					}
				}
		}

		//Initialize envent listener
		var init=function(){
			//document.getElementById('yspaevok').style.display='none';
			//YUE.on(document.getElementById('yspaevsend'),'click',doVote);
			var iFocus = document.getElementById("yspaevfocus").value;
			var sCount = document.getElementById("ynwsatumcount").value;
			if (sCount!="")
			{
				// have voted by people
					if (sCount.charAt(sCount.length-1) == ',')
					{
								sCount=sCount.substr(0,sCount.length-1);
					}
					// split to array

					var aCount = sCount.split(",");

					for (var q=0;q<aCount.length;q++)
					{
						aCount[q] = Math.round(aCount[q]); // string to number
					}

					chkEverVoteAttitude(aCount,iFocus);
			}
			else
			{
				// have not voted by people
				chkEverVoteAttitude(-1,iFocus);

			}

			if(document.getElementById('yspaevsend')){YUE.on(document.getElementById('yspaevsend'),'click',doVote);}
		}
		init();
	},
	RatingDigg:function(dModule){
		var dDiggCount = YUD.getElementsByClassName('count','div',dModule)[0];
		var dDiggVoted=YUD.getElementsByClassName('voted','input',dModule)[0];
		var dDiggUrl=YUD.getElementsByClassName('url','input',dModule)[0];
		var dDiggBtn=document.getElementById('btn_digglink');
		var dDiggLink=window.location.href;
		var dDiggCountNum=dDiggCount.getElementsByTagName('em')[0];
		
		var checkDigged=function(){if(dDiggVoted.value==1){dDiggBtn.disabled=true;}}
		var doDigg=function(){ajaxResult(dDiggUrl.value);};
		var ajaxResult=function(sUrl){
			var sUrl = dModule.getElementsByTagName('form')[0].action+"?"+YUD.getElementsByClassName('ui-paramenter','input',dModule)[0].value+"&r="+Math.random();
			var oCallback = {
				success:function(oResponse){
					var sData=oResponse.responseText.replace(/<!(?:--[/s/S]*?--\s)?>\s*/g,'').split(',');
					if(sData[0]==='1'){
						dDiggCountNum.innerHTML=sData[1];
						dDiggBtn.disabled=true;
                        var oH4=document.createElement('h4');
						oH4.innerHTML='謝謝您的推薦!';
						var oH3=dModule.getElementsByTagName('h3')[0];
						oH3.parentNode.insertBefore(oH4,oH3);
					}else{alert(sData[1]);}
				},
				failure:function(oResponse){alert(YTPS.AjaxFailMsg);},
				timeout:3000
			}
			YUC.asyncRequest('GET',sUrl,oCallback);
		}
		var init=function(){YUE.on(document.getElementById('btn_digglink'),'click',doDigg);checkDigged();};
		init();
	},
	SlecArea:function(dModule) {				
		var oShowAll = document.getElementsByTagName('table')[0]; 	 
			var tt = function(e){
				var oE = YUE.getTarget(e);
				if(oE.nodeName.toLowerCase()== "img"){						
				var Infobar = window.document.getElementById('ysppl');	
				var cNum  = YUD.getElementsByClassName('on','td',Infobar);
				YUD.removeClass(cNum,'on');
				var oEp = oE.parentNode.parentNode;
				YUD.addClass(oEp,'on');
				YUE.stopEvent(e);
				var pBor = YUD.getElementsByClassName('on','td',dModule);
				var imgInfo = pBor[0].getElementsByTagName('img')[0].name;
				var imgState=pBor[0].getElementsByTagName('img')[0].title;
				YTWS.Class.showInfo(imgInfo);
				if(document.body.className=='slide_show'){YTWS.Class.showState(imgState);}
				if(oE.parentNode.tagName=='A'){document.getElementById('play_action_slide').href=oE.parentNode.href;}
		   };
		} 		
		YUE.on(oShowAll,'mouseover',tt);			
	},
	SlidePattern:function(dModule){
		var nSize=parseInt(document.getElementById('plbsize').value);
		var nLong=parseInt(document.getElementById('plblong').value);
		YTWS.PhotoAlbums.init('albums',nSize,nLong);
		YTWS.PhotoAlbums.labelTotalId='plbsum';
		YTWS.PhotoAlbums.labelRecNoId='plbidx';
		var movel=document.getElementById('move-left');
		var mover=document.getElementById('move-right');
	
		var onMove = function(e) {
			YUE.stopEvent(e);
			switch(this.id){
				case'move-left':YTWS.PhotoAlbums.goPrev();break;
				case'move-right':YTWS.PhotoAlbums.goNext();break;
			};
		};
		if(YTWS.PhotoAlbums.total>8){
			movel.style.visibility='visible';
			mover.style.visibility='visible';
		}else{
			movel.style.display='none';
			mover.style.display='none';
		}
		YUE.on(movel,'click',onMove);
		YUE.on(mover,'click',onMove);
		YUE.on(YUD.getElementsByClassName('play','ins',dModule),'click',function(e){
			YUE.stopEvent(e);var oComponent=this;var dLink=this.firstChild;
		});
	},
	PhotoPlayer:function(dModule){
		YTWS.Module.SlidePattern();
		var YWS=YAHOO.widget.Slider;
		var dImage=document.getElementById('img_show');
		var duicurrent=document.getElementById('ui-current');				
		var dAlbum=document.getElementById('albums');
		var dItems=dAlbum.getElementsByTagName('li');
		var yslider,xslider;var dMsg;
		var dTimer,dIndex=0;
		var dListIndex=document.getElementById('plbidx');
		var movel=document.getElementById('move-left');
		var mover=document.getElementById('move-right');

		var onImageTimer=function(e){
			if(e){YUE.stopEvent(e);}
			dItems[dIndex].firstChild.className='origb';
			switch(this.id){
				case'albums':
					onCloseTimer();
					for(var i=0;i<dItems.length;i++){
						if(dItems[i].firstChild.getAttribute('orgpic')==YUE.getTarget(e).getAttribute('orgpic')){dIndex=i;break;}
					};
					YTWS.PhotoAlbums.setAlbumsInfo(dIndex+1);
					break;
				case'play_action_prev':dIndex=(dIndex==0)?0:dIndex-1;
					if(dIndex%8==0){YTWS.PhotoAlbums.goPrev();}
					break;
				case'play_action_frist':dIndex=0;
					break;
				case'play_action_end':dIndex=dItems.length-1;
					break; 
				case'play_action_next':dIndex=(dIndex==dItems.length-1)?dIndex:dIndex+1;
					if(dIndex%8==0){YTWS.PhotoAlbums.goNext();}
					break;
				default:
					if (dIndex==dItems.length-1) {
						dIndex = 0; onCloseTimer();
						YTWS.PhotoAlbums.goPage(1);
					} else {
						dIndex = dIndex+1; 
						if(dIndex%8==0){YTWS.PhotoAlbums.goNext();}
					}
			}
			dItems[dIndex].firstChild.className='on';
			var imgInfo = dItems[dIndex].firstChild.name
			var imgState=dItems[dIndex].firstChild.getAttribute('recommend');
			YTWS.Class.showInfo(imgInfo);
			dImage.src = dItems[dIndex].firstChild.getAttribute('orgpic');
			YTWS.PhotoAlbums.setAlbumsInfo(dIndex+1);
		};/*onImageTimer()*/
		var onUpdateTimer=function(e){
			if(e)YUE.stopEvent(e);
			if(this.id=='play_action_done'){
				clearInterval(dTimer);
				if(this.childNodes[0].src.indexOf('pause')>0) {
					this.childNodes[0].src=this.childNodes[0].src.replace('pause','run');
					var dPage=parseInt(dIndex/8)+1;
					YTWS.PhotoAlbums.goPage(dPage);
				} else {
					var teseting=(36+xslider.getValue())/12*1000;
					dTimer=window.setInterval(onImageTimer,teseting);
					this.childNodes[0].src=this.childNodes[0].src.replace('run','pause');
				}
			} else {
				if(typeof(dMsg)=='undefined'){
					dMsg=document.createElement('div');
					document.getElementById('horizWrapper').appendChild(dMsg)
					YUD.setStyle(dMsg,'position','absolute');
					YUD.setStyle(dMsg,'left','82px');
					YUD.setStyle(dMsg,'width','22px');				
					YUD.setStyle(dMsg,'color','#666666');
					YUD.setStyle(dMsg,'bottom','1px');
					YUD.setStyle(dMsg,'font','normal 12px Arial');}
					
					var sec=xslider.getValue();
					if(sec>36) sec=36;
					if(sec<-12) sec=-24;
					dMsg.innerHTML=(36+sec)/12+'秒';
					if(document.getElementById('play_action_done').childNodes[0].src.indexOf('pause')>0){
						clearInterval(dTimer);
						dTimer=setInterval(onImageTimer,(36+xslider.getValue())/12*1000);
					}
			}
		};/*onUpdateTimer()*/
		var onCloseTimer=function(){
			clearInterval(dTimer);
			document.getElementById('play_action_done').childNodes[0].src=document.getElementById('play_action_done').childNodes[0].src.replace('pause','run');
		};
		var initHoriz=function(){
			var bg='horizBGDiv',thumb='horizHandleDiv',valFld='horizVal';
			xslider=YWS.getHorizSlider(bg,thumb,24,36,12);
			xslider.onChange=onUpdateTimer;
		};
		initHoriz();
		{   /* set default photo */
			dIndex=document.getElementById('plbidx').innerHTML*1-1;
			dItems[dIndex].firstChild.className='on';
			YTWS.PhotoAlbums.setAlbumsInfo(dIndex+1);
			for (var i=1,j=Math.ceil(dIndex/8);i<j;i++) {YTWS.PhotoAlbums.goNext();}
		}
		dTimer=setInterval(onImageTimer,5000);
		var imgInfo = dItems[dIndex].firstChild.name
		var imgState= dItems[dIndex].firstChild.getAttribute('recommend');
		YTWS.Class.showInfo(imgInfo);
		dImage.src = dItems[dIndex].firstChild.getAttribute('orgpic');
		YUE.addListener(dAlbum,'click',onImageTimer);
		YUE.addListener('play_action_done','click',onUpdateTimer);
		YUE.addListener('play_action_prev','click',onImageTimer);
		YUE.addListener('play_action_frist','click',onImageTimer);
		YUE.addListener('play_action_end','click',onImageTimer);
		YUE.addListener('play_action_next','click',onImageTimer);
		var oShowAll = document.getElementById('commend'); 
		var setNum = function(e) {
			if (this.className.indexOf('off')>-1) {return true;}
			YUE.stopEvent(e);
			var dPane = document.getElementById('ysctpc');
			var dForm = dPane.getElementsByTagName('form')[0];
			var cNum = YUD.getElementsByClassName('returnSum','em',dForm)[0];
			var oCallback = {
				success:function(oResponse){
						if (oResponse.responseText == '') {return false;}
						var oData = eval(oResponse.responseText.replace(/<!(?:--[\s\S]*?--\s*)?>\s*/g,''));
						if (oData == null || oData.length < 1) {return false;}
						var state=oData[0].returnServe.state;
						if(state==1){							
							oShowAll.disabled=true;
							cNum.innerHTML=1+parseInt(cNum.innerHTML);
						}else{
							alert('error');
						}
				},
				failure:function(oResponse){alert(YTWS.AjaxFailMsg);},
				timeout:3000
			};
			var sServiceUrl = dForm.action;
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
			var dAlbum=document.getElementById('albums');
			var imgId=document.getElementById('img_id');
			var dItems=dAlbum.getElementsByTagName('li');
			dItems[imgId.value].firstChild.setAttribute('recommend',imgId.value+',1,'+(1+parseInt(cNum.innerHTML)));
			onCloseTimer();
		}
		onCloseTimer();
		YUE.on(oShowAll,'click',setNum);
	},
	FeatureMoreVideos:function(dModule){
        if (dModule.getElementsByTagName('li').length < 2) {return false;}
		YTWS.Util.vars.rotateObj_ln = new YTWS.Util.rollingRotateAnim ({
			sViewBox : 'itemContainer_lvm',
			sItemList : 'itemList_lvm',
			sItemTag : 'li',			
			sProcList : 'procBtn_lvm',
			sProcBtnTag : 'a',
			sProcClass : 'on',
			nAniSpeed : 0.3,
			sAniType : 'easeNone',
			nMvItemNum : 1
		});
		YTWS.Util.vars.rotateObj_ln.setEvtHandler ('lBtn_lvm', 'click', 'left'  ) ;
		YTWS.Util.vars.rotateObj_ln.setEvtHandler ('rBtn_lvm', 'click', 'right' ) ;
	},
	FeaturePhotos:function(){
		YTWS.Util.vars.rotateObj_ln = new YTWS.Util.rollingRotateAnim ({
			sViewBox : 'itemContainer_lp',
			sItemList : 'itemList_lp',
			sItemTag : 'li',			
			sProcList : 'procBtn_lp',
			sProcBtnTag : 'a',
			sProcClass : 'on',
			nAniSpeed : 0.3,
			sAniType : 'easeNone',
			nMvItemNum : 1
		});
		YTWS.Util.vars.rotateObj_ln.setEvtHandler ('lBtn_lp', 'click', 'left'  ) ;
		YTWS.Util.vars.rotateObj_ln.setEvtHandler ('rBtn_lp', 'click', 'right' ) ;
	},
	leaveWordvalida:function(dModule){
		var dForm = dModule.getElementsByTagName('form')[0];
		var dShow = dForm.getElementsByTagName('input')[0];
		var dText = dForm.getElementsByTagName('textarea')[0];
		var dinfo = YUD.getElementsByClassName('showcont')[0];
		var dTextL = YUD.getElementsByClassName('nowvalue','span',dModule)[0];	
		var dTitle = dForm.getElementsByTagName('input')[1];
		var dVcode = dForm.getElementsByTagName('input')[2];
		var dSubmit = dForm.getElementsByTagName('input')[3];
		var dLv=document.getElementById('leaveword');
		YUE.on(dShow,'click',function(){dinfo.style.display = '';this.style.display='none';});
		YUE.on(dLv,'click',function(){dinfo.style.display = '';this.style.display='none';});
		var iMaxCount = 500;
		YTWS.Class.WordCount(dText,iMaxCount,dTextL);	
		var tt = function(e){
			if(dTitle.value==''){alert('所有欄位都為必填，請重新輸入');YUE.stopEvent(e);return false;}		
			if(dText.value==''){alert('所有欄位都為必填，請重新輸入');YUE.stopEvent(e);return false;}
			else if(dText.value.replace(/<.*?>/g,'') == ''){alert('不能輸入HTML標簽');YUE.stopEvent(e);return false;}
			else if(dText.value.length > 500){alert('不能超過500個字');YUE.stopEvent(e);return false;}
			if(dVcode.value==''||dVcode.value=='請輸入驗證碼'){alert('所有欄位都為必填，請重新輸入');YUE.stopEvent(e);return false;}
		}
		YUE.on(dForm,'submit',tt);
		YUE.on(dForm,'reset',function(){dShow.style.display = '';dinfo.style.display = 'none';});
	},
	Recomm:function(dModule){
		var dShow = YUD.getElementsByClassName('show','a',dModule);
		var dFold = YUD.getElementsByClassName('fold','a',dModule);
		var dHelp = YUD.getElementsByClassName('help','a',dModule);
		var dRecoms = YUD.getElementsByClassName('btnRecomm','input',dModule);
		var doRecom = function(e) {
			var oComponent = YUE.getTarget(e);
			var oCallback = {
				success:function(oResponse) {
					if (oResponse.responseText == '') {return false;}
					var oData = oResponse.responseText.split(',');
					if (oData[0] == 1) {
						var dNum = oComponent.parentNode.parentNode.parentNode.getElementsByTagName('em');
						if (dNum && dNum[0]) {dNum[0].innerHTML = oData[1];}
						if (dNum && dNum[1]) {dNum[1].innerHTML = oData[2];}
						var dBtn = oComponent.parentNode.parentNode.parentNode.getElementsByTagName('input');
						for (var i=0,j=dBtn.length;i<j;i++) {dBtn[i].disabled = true;}
					} else { alert(oData[1]);}
				},
				failure:function(oResponse) {alert(YTWS.AjaxFailMsg);},
				timeout:3000
			}
			var sServiceUrl = this.parentNode.action;
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
		};
		YUE.on(dRecoms,'click',doRecom);
		YUE.on(dShow,'click',function(e){YUE.stopEvent(e);this.parentNode.parentNode.parentNode.className='clearfix';});
		YUE.on(dFold,'click',function(e){YUE.stopEvent(e);this.parentNode.parentNode.parentNode.className='clearfix hide';});
		YUE.on(dHelp,'click',function(e){YUE.stopEvent(e);});
		YUE.on(dHelp,'mouseover',function(e){YUE.stopEvent(e);var oComponent=YUD.getElementsByClassName('help-pane','div',this.parentNode)[0].style.display='block';});
		YUE.on(dHelp,'mouseout',function(e){YUE.stopEvent(e);var oComponent=YUD.getElementsByClassName('help-pane','div',this.parentNode)[0].style.display='none';});
	},
	DiggVideo:function(dModule){
		var dCommend=document.getElementById('commend');
		var dForm  = dModule.getElementsByTagName('form')[0];
		var cNum = YUD.getElementsByClassName('returnSum','em',dForm)[0];
		var ajaxResult=function(e){
			if (this.className.indexOf('off')>-1) {return true;}
			YUE.stopEvent(e);
			var oCallback = {
  				success:function(oResponse){
						if (oResponse.responseText == '') {return false;}
						var oData = oResponse.responseText.replace(/<!(?:--[\s\S]*?--\s*)?>\s*/g,'').split(',');
						if (oData.length < 2) {return false;}
						if(oData[0]!=''){
							dCommend.disabled=true;
							cNum.innerHTML=1+parseInt(cNum.innerHTML);
						}else{alert(oData[1]);}
				},
				failure:function(oResponse){alert(YTWS.AjaxFailMsg);},
				timeout:3000
			};
			var imgId = document.getElementById('img_id');
			var sServiceUrl = dForm.action + '&' + imgId.name + '=' + imgId.value;
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
		}
		YUE.on(dCommend,'click',ajaxResult);
	},
    MtfValidate:function(dModule){
        var dForm = dModule.getElementsByTagName('form')[0];
        //var dTxt = dModule.getElementsByTagName('input');
		var dTxt = YUD.getElementsByClassName('txt','input',dModule);
        var doValidate = function(e){
            var aErr = ['朋友Email不可空白！','你的姓名不可為空！','你的Email不可空白！','Email格式錯誤！','最多輸入200個字元！'];
			var mail1,mail2;
			if(dTxt[0].value == ''){alert(aErr[0]);dTxt[0].focus();YUE.stopEvent(e);return false;}
			else{
				if(dTxt[0].value.length > 200){
					alert(aErr[4]);YUE.stopEvent(e);return false;
				}
				mail1 = dTxt[0].value.replace(/"[^,"]*"| +/ig,'').replace(/<([^,"]*)>/ig,'$1').split(",");
				for(var i=0;i<mail1.length;i++){
					if(YTWS.Class.ChkMailAddr(mail1[i]) == false){
						alert(aErr[3]);dTxt[0].focus();YUE.stopEvent(e);return false;
					}
				}
			}
            if(dTxt[1].value == ''){alert(aErr[1]);dTxt[1].focus();YUE.stopEvent(e);return false;}
            if(dTxt[2].value == ''){alert(aErr[2]);dTxt[2].focus();YUE.stopEvent(e);return false;}
			else{
				if(dTxt[2].value.length > 200){
					alert(aErr[4]);YUE.stopEvent(e);return false;
				}
				mail2 = dTxt[2].value.replace(/"[^,"]*"| +/ig,'').replace(/<([^,"]*)>/ig,'$1').split(",");
				for(var i=0;i<mail2.length;i++){
					if(YTWS.Class.ChkMailAddr(mail2[i]) == false){
						alert(aErr[3]);dTxt[2].focus();YUE.stopEvent(e);return false;
					}
				}
			}
			dTxt[0].value = mail1.join(',');
			dTxt[2].value = mail2.join(',');
        }
        YUE.addListener(dForm,'submit',doValidate);
    },
	ChangeExpert:function(dModule){
		var dExplode= YUD.getElementsByClassName('explode','p',dModule);
		var dTitles = dModule.getElementsByTagName('h2');
		var iCurrentIndex=0;
		var changeStatus=function(e){
			if (this.parentNode.parentNode.className=='open') {return;}
			YUE.stopEvent(e);
			this.parentNode.parentNode.className='close on';
			for(var i=0,len=dExplode.length;i<len;i++){
				if(this.parentNode.parentNode.className.indexOf('on',0)>-1){
					iCurrentIndex=i;
				}
				dExplode[i].parentNode.parentNode.className='close';
			}
			dExplode[iCurrentIndex].parentNode.parentNode.className='open';
		};
		YUE.on(dTitles,'click',changeStatus);
		YUE.on(dExplode,'click',changeStatus);
	},
	ChangeChannelOrDate:function(dModule){
        var t = dModule.getElementsByTagName('select');
		if(t[0]){
			YUE.on(t[0], 'change', function(){
				if(t[0].value==''){alert('請選擇電視頻道！');return false;}
                else{document.location.href='tv_chn.html?chn='+ t[0].value + (t[1]?'&toDate='+t[1].value:'');}
			});
		}
		if(t[1]){
			YUE.on(t[1], 'change', function(){
				window.open('?chn=' + t[0].value + '&toDate=' + t[1].value, '_self');
			});
		}
	},
	TableRanking:function(dModule){
		var nCurrentIndex;
		var dTable = document.getElementById("accounts");
        var dTrows;
		var init = function(tableNode){
			var tBody = tableNode.tBodies[0];
			var tHead = tableNode.tHead;
			if(tHead.rows[1]){
				dTrows = tHead.rows[1];
			}else{
				dTrows = tHead.rows[0];
			}
			for (var i=0,j=dTrows.cells.length;i<j;i++){
				if (dTrows.cells[i].firstChild.tagName=='A' && dTrows.cells[i].firstChild.className.indexOf('on')>-1) {dTrows.cells[i].style.backgroundColor='#666';nCurrentIndex=i;}}
				if(nCurrentIndex != undefined){
				for (var i=0,j=tBody.rows.length;i<j;i++){
					tBody.rows[i].cells[nCurrentIndex].style.backgroundColor = '#EEE';
				}
			}
		};
		var sortTable = function(tableNode, nCol, bDesc, sType) {
			var tBody = tableNode.tBodies[0];
			var tHead = tableNode.tHead;
			var trs = tBody.rows;
			var trl= trs.length;

			var a = new Array();
			for (var i = 0; i < trl; i++) {a[i] = trs[i];}
			if(nCurrentIndex == nCol){
                a.reverse();
            }else{
                a.sort(compareByColumn(nCol,bDesc,sType));
            }
			for (var i = 0; i < trl; i++) {if (i%2==1){a[i].className = 'bgon';}else{a[i].className = '';}tBody.appendChild(a[i]);}
            for(var i=0;i<trl;i++){
				if (nCurrentIndex != undefined){tBody.rows[i].cells[nCurrentIndex].style.backgroundColor = '';}
				tBody.rows[i].cells[nCol].style.backgroundColor = '#EEE';
			}
			if(nCurrentIndex != undefined){
				dTrows.cells[nCurrentIndex].firstChild.className ='';
				dTrows.cells[nCurrentIndex].style.backgroundColor = '';
			}
			dTrows.cells[nCol].firstChild.className ='on';
			dTrows.cells[nCol].style.backgroundColor = '#666';
			nCurrentIndex = nCol;
			// check for onsort
			if (typeof tableNode.onsort == "string"){tableNode.onsort = new Function("", tableNode.onsort);}
			if (typeof tableNode.onsort == "function"){tableNode.onsort();}
		};
		var CaseInsensitiveString = function(s) {return String(s).toUpperCase();};
		var parseDate = function(s) {return Date.parse(s.replace(/\-/g, '/'));};
		var toNumber = function(s) {return Number(s.replace(/[^0-9\.]/g, ""));};
        var toTime = function(s){return Number(s.replace(/\:/g,''));};
		var compareByColumn = function(nCol, bDescending, sType) {
			var c = nCol;
			var d = bDescending;
			var fTypeCast = String;	
			if (sType == "Number") {fTypeCast = Number;}else if (sType == "Date"){fTypeCast = parseDate;}else if (sType == "CaseInsensitiveString"){fTypeCast = CaseInsensitiveString;}else if(sType == "Time"){fTypeCast = toTime;}
			return function (n1, n2) {
				if (fTypeCast(getInnerText(n1.cells[c])) < fTypeCast(getInnerText(n2.cells[c]))){return d ? +1 : -1;}
				if (fTypeCast(getInnerText(n1.cells[c])) > fTypeCast(getInnerText(n2.cells[c]))){return d ? -1 : +1;}
				return 0;
			};
		}
		var sortColumn = function(e) {
			YUE.stopEvent(e);
			var tmp = e.target ? e.target : e.srcElement;
			var tHeadParent = getParent(tmp, "THEAD");
			var el = getParent(tmp, "TD");

			if (tHeadParent == null){return;}
			if (el != null) {
				var p = el.parentNode;
				var i;
				// typecast to Boolean
				// get the index of the td
				var cells = p.cells;
				var l = cells.length;
				for (i = 0; i < l; i++) {if (cells[i] == el) {break;}}
				var table = getParent(el, "TABLE");
				// can't fail
				if(tmp.type != undefined){
                    if(el.getAttribute('type') == null){
                        el._descending = true;
                        sortTable(table,i,el._descending, "Number");
                    }else if(el.getAttribute('type') == 'down'){
                        el._descending = false;
                        sortTable(table,i,el._descending, "Number");
                    }else{
                        el._descending = true;
                        sortTable(table,i,el._descending,el.getAttribute('type'));
                    }
                }
			}
		};
		var getInnerText = function(el) {
			var str = "";
			var cs = el.childNodes;
			var l = cs.length;
			for (var i = 0; i < l; i++) {
				switch (cs[i].nodeType) {
					case 1:str += getInnerText(cs[i]);break;
					case 3:str += cs[i].nodeValue;break;
				}
			}
			return str;
		};
		var getParent = function(el, pTagName) {
			if (el == null){return null;}else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()){return el;}else{return getParent(el.parentNode, pTagName);}
		};
        if(dTable){
		    init(dTable);
		    YUE.on(dTable.getElementsByTagName('thead')[0],'click',sortColumn);
        }
	},
	HiddenTab:function(dModule){
		var dLinkHide = YUD.getElementsByClassName('ft-t','div',dModule)[0].getElementsByTagName('a')[0];
		var dLinkShow = YUD.getElementsByClassName('ft-t','div',dModule)[0].getElementsByTagName('a')[1];
		var dTable = YUD.getElementsByClassName('SearchResult','table',dModule)[0];
		YUE.on(dLinkHide,'click',function(e){dTable.style.display = 'none';dLinkHide.style.display = 'none';dLinkShow.style.display = '';YUE.stopEvent(e);});
		YUE.on(dLinkShow,'click',function(e){dTable.style.display = '';dLinkHide.style.display = '';dLinkShow.style.display = 'none';YUE.stopEvent(e);});
	},
	ShowScore:function(dModule){
		var oMap = YUD.getElementsByClassName('map','div',dModule);
		var show = function(){
            if(this.getAttribute('score') != null){; 
			    var iScore = this.getAttribute('score')
            }else{
                var iScore = this.height;
            };
			this.parentNode.firstChild.innerHTML=iScore;
            var xy = YUD.getXY(this);
            if(dModule.id == 'yspbps'){;
                xy[0]=xy[0]-5;
            }
            xy[1]=xy[1]-15;
            YUD.setXY(this.parentNode.firstChild,xy);
		};
		var hide = function(){
			this.parentNode.firstChild.innerHTML='';
		}
		for(var i=0,len=oMap.length;i<len;++i){
			var oImg = oMap[i].getElementsByTagName('img');
			YUE.on(oImg,'mouseover',show);
			YUE.on(oImg,'mouseout',hide);
		}
	},
	PrintPic:function(dModule) {
       	var dPrint = YUD.getElementsByClassName('pprint','span',dModule)[0];	
		var onPrint = function(e) {
			var play_action_done = document.getElementById('play_action_done');
			play_action_done.firstChild.src=play_action_done.firstChild.src.replace('run','pause');
			if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
				play_action_done.click = function() {
					var evt = this.ownerDocument.createEvent('MouseEvents');
					evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
					this.dispatchEvent(evt);
				}
			}
			play_action_done.click();
			var dLinks = document.getElementsByTagName('link');
			var dNews = new Array();			
			YUE.stopEvent(e);
			for(var i=0;i<dLinks.length;i++) {
				if (dLinks[i] && dLinks[i].getAttribute('rel').toString().toLowerCase() == 'stylesheet') {
					if (dLinks[i].getAttribute('media') && dLinks[i].getAttribute('media').toString().toLowerCase() == 'print') {
						var cs = dLinks[i].cloneNode(true);
						cs.setAttribute('media','screen');
						cs.disabled = false;
						dNews[dNews.length] = cs;
					}
					else if (dLinks[i].getAttribute('media') && dLinks[i].getAttribute('media').toString().toLowerCase() == 'screen') {dLinks[i].disabled=true;}
				}
			}
			for(var i=0;i<dNews.length;i++){document.body.appendChild(dNews[i]);};
		};
		YUE.on(dPrint,'click',onPrint);
	},
	PrintPreview:function(dModule) {
		var dPrint = YUD.getElementsByClassName('btn_print_nice','span',dModule);	
		var onPrint = function(e) {
			var dLinks = document.getElementsByTagName('link');
			var dNews = new Array();
			if(document.getElementById("yspaevok")){
				document.getElementById("yspaevok").style.display="none";
			}
			YUE.stopEvent(e);
			for(var i=0;i<dLinks.length;i++) {
				if (dLinks[i] && dLinks[i].getAttribute('rel').toString().toLowerCase() == 'stylesheet') {
					if (dLinks[i].getAttribute('media') && dLinks[i].getAttribute('media').toString().toLowerCase() == 'print') {
						var cs = dLinks[i].cloneNode(true);
						cs.setAttribute('media','screen');
						cs.disabled = false;
						dNews[dNews.length] = cs;
					}
					else if (dLinks[i].getAttribute('media') && dLinks[i].getAttribute('media').toString().toLowerCase() == 'screen') {dLinks[i].disabled=true;}
				}
			}
			for(var i=0;i<dNews.length;i++){document.body.appendChild(dNews[i]);};
			window.scrollTo(0,0);
	};
	YUE.on(dPrint,'click',onPrint);
	},
	PlayerSchValidate:function(dModule){
		var dForm = dModule.getElementsByTagName("form");
		var dTxt = dModule.getElementsByTagName("input")[0];
        var dSel = dModule.getElementsByTagName("select")[0];
		YTWS.Class.ClearTxt(dTxt,"請輸入球員姓名");
		var validate = function(e){
			if(dTxt.value == "請輸入球員姓名"){
				alert("請先輸入您欲查詢的球員姓名！");
				YUE.stopEvent(e);
			}
		};
        var validate1 = function(e){
            if(dSel.options[dSel.options.selectedIndex].value == ''){
                alert("請選擇您欲查詢的球員國籍！");
                YUE.stopEvent(e);
            }
        };
		YUE.on(dForm[0],"submit",validate);
		YUE.on(dForm[1],"submit",validate1);
	},
	ApplyValidate:function(dModule){
		var iMaxValue = 800;
		var dForm = dModule.getElementsByTagName('form')[0];
		var dTxt = dModule.getElementsByTagName('textarea')[0];
		var dNum = YUD.getElementsByClassName('newvalue','span',dModule)[0];
		var dFile = YUD.getElementsByClassName('update','input',dModule);
		var dErr = YUD.getElementsByClassName('err','div',dModule)[0];
		var sErr;
		YTWS.Class.WordCount(dTxt,iMaxValue,dNum);
		YUE.on(dForm.yblog,"click",function(){if(this.value == '請輸入部落格網址'){this.value = '';}});
        YUE.on(dForm.website,"click",function(){if(this.value == '請輸入網址'){this.value = '';}})
	},
	Rating:function(dModule){
		var dForm = dModule.getElementsByTagName('form')[0];
		if(dForm.name==='rating'){
			var submitBtn = dForm.getElementsByTagName('input');
			var lis1 = YUD.getElementsByClassName('sel1','ul',dModule)[0].getElementsByTagName('li');
			var lis2 = YUD.getElementsByClassName('sel2','ul',dModule)[0].getElementsByTagName('li');
			var lis3 = YUD.getElementsByClassName('sel3','ul',dModule)[0].getElementsByTagName('li');
			var seted_ul = [];
			//hide selects if js functionable
			var sels = dModule.getElementsByTagName('select');
			for(i=0,j=sels.length;i<j;i++){
				YUD.setStyle(sels[i],'display','none');
				YUD.setStyle(YUD.getElementsByClassName(sels[i].className,'ul',dModule)[0],'display','block');
			}
			var setValue = function(THIS){
				var dNodeId = THIS.parentNode.className;
				var dNode = YUD.getElementsByClassName(dNodeId,'select',dModule)[0];
				dNode.options[THIS.id].selected = true;
			}
			var is_set_on = function(pClassName){
				for(i=0,j=seted_ul.length;i<j;i++){
					if(seted_ul[i]==pClassName){ return true; }
				}
			}
			var temp_on = function(e){
				if(!is_set_on(this.parentNode.className)){ set_on(this); }
			}
			var set_on = function(THIS){
				var position = THIS.id;
				var plis = THIS.parentNode.getElementsByTagName('li');
				for(i=0;i<position;i++){
					plis[i].setAttribute((document.all ? 'className' : 'class'),'on');
				}
			}
			var perm_on = function(e){
				seted_ul.push(this.parentNode.className);
				setValue(this);
				set_off(this);
				set_on(this);
			}
			var temp_off = function(e){
				if(!is_set_on(this.parentNode.className)){ set_off(this); }
			}
			var set_off = function(THIS){
				var plis = THIS.parentNode.getElementsByTagName('li');
				for(i=0,j=plis.length;i<j;i++){
					plis[i].removeAttribute((document.all ? 'className' : 'class'));
				}
			}
			var checkAndSubmit = function(e){
				var allSelsSelected = true;
				for(i=0,j=sels.length;i<j;i++){
					if(sels[i].options[sels[i].selectedIndex].value==='0'){ allSelsSelected = false; break; }
				}
				//if all selects not equal to 0
				if(allSelsSelected){
					var responseSuccess = function(o){ dForm.innerHTML = o.responseText; };
					var responseFailure = function(o) { alert(YTWS.AjaxFailMsg); };
					var callback = {success:responseSuccess, failure:responseFailure};
					YAHOO.util.Connect.setForm(dForm); 
					var ajax = YAHOO.util.Connect.asyncRequest('POST', dForm.action, callback);
				}else{ alert('請全部評分'); }
				YUE.stopEvent(e);
			}
			YUE.on(lis1,'mouseover',temp_on);
			YUE.on(lis1,'click',perm_on);
			YUE.on(lis1,'mouseout',temp_off);

			YUE.on(lis2,'mouseover',temp_on);
			YUE.on(lis2,'click',perm_on);
			YUE.on(lis2,'mouseout',temp_off);

			YUE.on(lis3,'mouseover',temp_on);
			YUE.on(lis3,'click',perm_on);
			YUE.on(lis3,'mouseout',temp_off);
			YUE.on(dForm,'submit',checkAndSubmit);
		}
	},
	ForeCast:function(dModule){
        var dForm = dModule.getElementsByTagName('form');
		var dBtns = dModule.getElementsByTagName('input');
		var dEms = dModule.getElementsByTagName('em');
		var doForecast = function(e,nIndex) {
			var oCallback = {
				success:function(oResponse) {
					if (oResponse.responseText == '') {return false;}
					var oData = oResponse.responseText.split(',');
					if (oData[0] == 1) {
						for (var i=0,j=dEms.length;i<j;i++) { dEms[i].innerHTML = oData[i+1]; }
						dBtns[0].disabled = true;dBtns[0].className = 'btn-disable';
						dBtns[1].disabled = true;dBtns[1].className = 'btn-disable';
					}else if(oData[0] == 0){
						alert(oData[1]);
						dBtns[0].disabled = true;dBtns[0].className = 'btn-disable';
						dBtns[1].disabled = true;dBtns[1].className = 'btn-disable';
					}else{alert(YTWS.AjaxFailMsg);}
				},
				failure:function(oResponse) {alert(YTWS.AjaxFailMsg);},
				timeout:3000
			}
			var sServiceUrl = dForm[nIndex].action;
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
		};
		YUE.on(dBtns[0],'click',function(e){doForecast(e,0);});
		YUE.on(dBtns[1],'click',function(e){doForecast(e,1);});
	},
	TeamSelect:function(dModule){
		var dForm = dModule.getElementsByTagName('form')[1];
		var dSel = dModule.getElementsByTagName('select');
        var sUrl = window.location.href;
        var nCurrent = (sUrl.match(/team\=(\d*)/g))?sUrl.match(/team\=(\d*)/g)[0].split("=")[1]:null;
		var loadDate = function(v){
			if(v){
            var dValue = eval('dForm.'+v+'.value');
			var aValue = dValue.split(",");
			dSel[1].options.length = 0;
            for(var i=0,len=aValue.length;i<len-1;i++){
				aTmp = aValue[i].split("|");
				dSel[1].options.add(new Option(aTmp[0],aTmp[1]));
                if(nCurrent != null && aTmp[1] == nCurrent){
                    dSel[1].options[i].selected = true;
                }
			}
            }
		};
		var doChange = function(){
			dSel[1].options.length = 0;
			if(dSel[0].options[dSel[0].options.selectedIndex].value != ""){
				loadDate(dSel[0].options[dSel[0].options.selectedIndex].value);
			}else{
				dSel[1].options.add(new Option("全部",""));
			}
		};
        if(dSel.length > 1){
            loadDate(dSel[0].options[dSel[0].options.selectedIndex].value);
		    YUE.on(dSel[0],"change",doChange);
        }
	},
	GoUrl:function(dModule){
		var dSel = dModule.getElementsByTagName("select")[0];
		var dUrl = dModule.getElementsByTagName("input")[0];
		YUE.on(dSel,'change',function(){
			if(dSel.options[dSel.options.selectedIndex].value!="")
				window.location.href = dUrl.value + dSel.options[dSel.options.selectedIndex].value;
		});
	},
	ChangeLivePage:function(dModule){
		var dForm = YUD.getElementsByClassName('live','form',dModule)[0];
		var dSeconds = YUD.getElementsByClassName('seconds','input',dModule)[0];
		var dTitle = YUD.getElementsByClassName('title','div',dModule)[0];
		var dTab = dTitle.getElementsByTagName('li');
		var dReload = dTitle.getElementsByTagName('img');
		var dContent = YUD.getElementsByClassName('etab','div',dModule);
		var iCurrentPage = 0;
		var dOn = YUD.getElementsByClassName("on",'li',dModule)[0];

		for(i=0,j=dTab.length;i<j;i++){ if(dTab[i]===dOn){iCurrentPage = i;}}
		YUD.addClass(dContent[iCurrentPage],"on");
		var changePage = function(){
			YUD.removeClass(dTab[iCurrentPage],"on");
			this.className = 'on';
			YUD.removeClass(dContent[iCurrentPage],"on");
			for(var i=0,len=dTab.length;i<len;i++){if(dTab[i].className.indexOf('on',0)>-1){iCurrentPage = i;YUD.addClass(dContent[i],"on");break;}}
		}
		var directChangePage = function(toPage){
			YUD.removeClass(dTab[iCurrentPage],"on");
			YUD.addClass(dTab[toPage],"on");
			YUD.removeClass(dContent[iCurrentPage],"on");
			YUD.addClass(dContent[toPage],"on");
			iCurrentPage = toPage;
		}
		var doReload = function(){
			clearInterval(preSet);
			preSet = setInterval(ajaxResult,dSeconds.value*1000);
			ajaxResult();
		}
		var ajaxResult = function(){
			var oCallback = {
				success:function(oResponse){
					if (oResponse.responseText == '') {return false;}
					var tempArr = oResponse.responseText.split("<##>");
					directChangePage(parseInt(tempArr[0])-1);
					arrContent = tempArr[1].split("#!#");
					for(var i=0,len=dContent.length;i<len;i++){ dContent[i].innerHTML = arrContent[i];}
				},
				failure:function(oResponse){/*alert(YTWSPO.AjaxFailMsg);*/},
				timeout:5000
			};
			var sServiceUrl = dForm.action + '&r=' + Math.random();
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
		}
		YUE.on(dTab,'click',changePage);
		YUE.on(dReload,'click',doReload);
		var preSet = setInterval(ajaxResult,dSeconds.value*1000);
	},
	ChangeCommentsPage:function(dModule){
		var dForm=dModule.getElementsByTagName('form'); // 0:Post 1:Page
		var dDiscuss=YUD.getElementsByClassName('discuss','div',dModule)[0];
		var dTxt = YUD.getElementsByClassName('txt','input',dModule)[0];
		var fdTxtVal = dTxt.value;
		var dSubmit = YUD.getElementsByClassName('submit','a',dModule)[0];
		var dPagePane=YUD.getElementsByClassName('page','div',dModule)[0];
		var dPages=dPagePane.getElementsByTagName('a');
        var dMessage=dForm[0].getElementsByTagName('h4')[0];
		
		var checkAndSubmit = function(e){
            YUE.stopEvent(e);
			if(dTxt.value.length>40){
				alert('超過字數上限！');return false;
			}else if(dTxt.value==fdTxtVal || dTxt.value==""){
				alert('請輸入你的短評');return false;
			}else{
				var oCallback = {
				success:function(oResponse){
					if (oResponse.responseText == '') {return false;}
					var oData=oResponse.responseText.replace(/<!(?:--[/s/S]*?--\s)?>\s*/g,'').split('#!#');
                    if (oData[0]==1) {
                        dForm[1].innerHTML = oData[1];
                        dPagePane=YUD.getElementsByClassName('page','div',dModule)[0];
                        dPages=dPagePane.getElementsByTagName('a');
                        YUE.removeListener(dPages,'click',ajaxPagination);
                        YUE.addListener(dPages,'click',ajaxPagination);
                        setdTxt();
                        dMessage.innerHTML = '發言完成';
                    } else {dMessage.innerHTML=oData[1];}
				},
				failure:function(oResponse){/*alert(YTWSPO.AjaxFailMsg);*/},
				timeout:5000
				}
				YUC.asyncRequest('POST',dForm[0].action,oCallback,dTxt.name+'='+dTxt.value);
			}
		}
		var ajaxPagination=function(e){
			YUE.stopEvent(e);
			var oCallback = {
				success:function(oResponse){
						if (oResponse.responseText == '') {return false;}
						var oData=oResponse.responseText.replace(/<!(?:--[/s/S]*?--\s)?>\s*/g,'').split('#!#');
						dMessage.innerHTML = '';
                        dForm[1].innerHTML = oData[1];
						dPagePane=YUD.getElementsByClassName('page','div',dModule)[0];
						dPages=dPagePane.getElementsByTagName('a');
						YUE.removeListener(dPages,'click',ajaxPagination);
						YUE.addListener(dPages,'click',ajaxPagination);
				},
				failure:function(oResponse){alert(YTWS.AjaxFailMsg);},
				timeout:5000
			}
			var sServiceUrl = dForm[1].action + this.href.split('liveshow.html')[1];
			YUC.asyncRequest('GET',sServiceUrl,oCallback);
		}
		var setdTxt = function(){dTxt.value = fdTxtVal;dTxt.style.color = '#ccc';}
		YUE.on(dPages,'click',ajaxPagination);
		YUE.on(dSubmit,'click',checkAndSubmit);
		YUE.on(dForm[0],'submit',checkAndSubmit);
		YUE.on(dTxt,'focus',function(){dTxt.value = '';dTxt.style.color = '#333';});
	},
    SelectAlbum:function(dModule){
        var dForm = dModule.getElementsByTagName('form');
        var doCheck = function(e){
            var dSel = dModule.getElementsByTagName('select')[0];
            if(dSel.options[dSel.options.selectedIndex].value == 0){ alert('請選擇照片類別！'); YUE.stopEvent(e);}
        };
        YUE.on(dForm,'submit',doCheck);
    },
    SearchValidate:function(dModule){
        var dForm = dModule.getElementsByTagName('form')[0];
        var dSel = dModule.getElementsByTagName('select')[0];
       
        YUE.on(dForm,'submit',function(e){
             if(dSel.options[dSel.selectedIndex].value == ''){
                YUE.stopEvent(e);
             }
        });
    },
    DoSubmit:function(dModule){
        var dForm = dModule.getElementsByTagName('form')[0];
        var dSel = dModule.getElementsByTagName('select')[0];
        var doSubmit = function(e){
            YUE.stopEvent(e);
            window.location.href = dForm.action + dSel.options[dSel.options.selectedIndex].value;
        };
        YUE.on(dForm,'submit',doSubmit);
    }
};

YTWS.Module.calendar = function(dModule) {
    YAHOO.namespace("calendar");
	var YC = YAHOO.calendar;
	var dForm = YUD.getElementsByClassName('calendar','form',dModule)[0];
	var selectedDate = dForm.getElementsByTagName('input')[0];
	var url = dForm.getElementsByTagName('input')[1];
	var arrSelectedDate = selectedDate.value.match(/\d*[^\-]/gi);
	YC.init = function() {
		YC.c1 = new YAHOO.widget.Calendar("c1","cal1container",{HIDE_BLANK_WEEKS:true});
		if(arrSelectedDate){
			YC.c1.cfg.setProperty("pagedate",arrSelectedDate[1]+'/'+arrSelectedDate[0]);
		}
		YC.c1.selectEvent.subscribe(mySelectHandler, YC.c1, true);
		YC.c1.changePageEvent.subscribe(myChangePageHandler, YC.c1, true);
		myChangePageHandler();
		
		YC.c1.cfg.setProperty("MDY_YEAR_POSITION", 1);
		YC.c1.cfg.setProperty("MDY_MONTH_POSITION", 2);
		YC.c1.cfg.setProperty("MDY_DAY_POSITION", 3);
		YC.c1.cfg.setProperty("MY_YEAR_POSITION", 1);
		YC.c1.cfg.setProperty("MY_MONTH_POSITION", 2);
		YC.c1.cfg.setProperty("MONTHS_SHORT",   ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"]);
		YC.c1.cfg.setProperty("MONTHS_LONG",    ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"]);
		YC.c1.cfg.setProperty("WEEKDAYS_1CHAR", ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"]);
		YC.c1.cfg.setProperty("WEEKDAYS_SHORT", ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"]);
		YC.c1.cfg.setProperty("WEEKDAYS_MEDIUM",["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"]);
		YC.c1.cfg.setProperty("WEEKDAYS_LONG",  ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"]);
        YC.c1.cfg.setProperty("MY_LABEL_YEAR_POSITION",  1);
        YC.c1.cfg.setProperty("MY_LABEL_MONTH_POSITION",  2);
        YC.c1.cfg.setProperty("MY_LABEL_YEAR_SUFFIX",  "\u0020");
        YC.c1.cfg.setProperty("MY_LABEL_MONTH_SUFFIX",  "");

        YC.c1.renderEvent.subscribe(checkDateRangeUI, YC.c1);
		YC.c1.render();
	}
	var d = new Date();
    var range = {from:new Date(2000, 0, 1), to:new Date(d.getFullYear()+2, 11, 1)};
    var checkDateRangeUI = function (type, args, cal) {
        var pagedate = cal.cfg.getProperty("pagedate");
        var leftArrow = YUD.getElementsByClassName(cal.Style.CSS_NAV_LEFT, null, cal.oDomContainer)[0];
        var rightArrow = YUD.getElementsByClassName(cal.Style.CSS_NAV_RIGHT, null, cal.oDomContainer)[0];
                    
        if (pagedate.getMonth() == range.from.getMonth() && pagedate.getFullYear() == range.from.getFullYear()) {
             YUD.setStyle(leftArrow, "visibility", "hidden");
        }else{
             YUD.setStyle(leftArrow, "visibility", "visible");
        }
        if (pagedate.getMonth() == range.to.getMonth() && pagedate.getFullYear() == range.to.getFullYear()) {
             YUD.setStyle(rightArrow, "visibility", "hidden");
        } else {
             YUD.setStyle(rightArrow, "visibility", "visible");
        }
    };
	var myChangePageHandler = function(type,args,obj) {
		var month = YC.c1.cfg.getProperty("pagedate").getMonth() + 1;
		if (month.toString().length == 1) {	month = "0" + month; }
		var year = YC.c1.cfg.getProperty("pagedate").getFullYear();
		checkPostsForMonth(month, year);
	};
	var myCustomRenderer = function(workingDate, cell) {
		cell.innerHTML = '<a class="selector" href="#">'+workingDate.getDate()+'</a>';
		YUD.addClass(cell, "selectable");
		if(arrSelectedDate){
			if(workingDate.getDate() == arrSelectedDate[2] && workingDate.getMonth()+1 == arrSelectedDate[1]){
				YUD.addClass(cell, "selected");
			}
		}
		return YAHOO.widget.Calendar.STOP_RENDER;
	};
	var checkPostsForMonth = function(m,y){
		var oCallback = {
			success:function(oResponse) {
				if (oResponse.responseText == '') {return false;}
				YC.c1.addMonthRenderer(m,YC.c1.renderOutOfBoundsDate);
				YC.c1.addRenderer(oResponse.responseText,myCustomRenderer);
				YC.c1.render();
			},
			failure:function(oResponse) {alert(YTWS.AjaxFailMsg);},
			timeout:10000
		}
		//URL maybe need to get from HTML
		if(dForm.action.indexOf('?',0) > -1){
			var sServiceUrl = dForm.action + '&month='+m+'&'+'year='+y+'&r='+Math.random();
		}else{
			var sServiceUrl = dForm.action + '?month='+m+'&'+'year='+y+'&r='+Math.random();
		}
		YUC.asyncRequest('GET',sServiceUrl,oCallback);
	};
	var mySelectHandler = function(type,args,obj) {
		var dates = args[0];
		var date = dates[0];
		var year = date[0];
		var month = date[1];
		if (month.toString().length == 1) {
			month = "0" + month;
		}
		var day = date[2];
		if (day.toString().length == 1) {
			day = "0" + day;
		}
		//location to go mouse click on day in calendar
		window.location = url.value+"/date/" + year + "-" + month + "-" + day + "/";
	};
	YC.init();
};
YTWS.Module.NewsSlide = function(dModule){
		YTWS.Util.vars.newsObj = new YTWS.Util.rollingRotateAnimV ( 
			{
			sViewBox : 'rtnView',
			sItemList : 'rtnItems',
			sItemTag : 'li',			
			nAniSpeed : 0.3,
			sAniType : 'backIn',
			nMvItemNum : 1,
			bAutoRolling : true,
			nDelay : 2000
			}
		);
};
YTWS.Module.ScrollTable = function(dModule){
	var width = 20;
	var view = 180;
	var speed = 0.18;
	var left = YUD.getElementsByClassName('scroll_l', 'span', dModule)[0];
	var right = YUD.getElementsByClassName('scroll_r', 'span', dModule)[0];
	var contain = YUD.getElementsByClassName('contain', 'div', dModule)[0];
	var move = contain.getElementsByTagName('div')[0];
	var table = contain.getElementsByTagName('table')[0];
    var iLen = table.getElementsByTagName('th').length;
	var t = YUD.getRegion(table);
	var tableWidth = t.right - t.left;
	var y = YUD.getY(move);
	var defaultX = YUD.getX(move);
	var isAnim = 0;
	var animComplete = function(){
		var x = YUD.getX(move);
		if(x-defaultX >= 0){
			YUD.setStyle(left, 'background-position', '0 -9px');
			YUD.setStyle(left, 'cursor', 'default');
		}else{
			YUD.setStyle(left, 'background-position', '0 0');
			YUD.setStyle(left, 'cursor', 'pointer');
		}
		if(defaultX-x+view >= tableWidth){
			YUD.setStyle(right, 'background-position', '-6px -9px');
			YUD.setStyle(right, 'cursor', 'default');
		}else{
			YUD.setStyle(right, 'background-position', '-6px 0');
			YUD.setStyle(right, 'cursor', 'pointer');
		}
		isAnim = 0;
	};
	var onLeft = function(e){
		var x = YUD.getX(move);
		if(!isAnim && x-defaultX < 0){
			isAnim = 1;
			var anim = new YAHOO.util.Motion(move, {points:{to:[x+width, y]}}, speed);
			anim.onComplete.subscribe(animComplete);
			anim.animate();
		}
	};
	var onRight = function(e){
		var x = YUD.getX(move);
		if(!isAnim && defaultX-x+view < tableWidth){
			isAnim = 1;
			var anim = new YAHOO.util.Motion(move, {points:{to:[x-width, y]}}, speed);
			anim.onComplete.subscribe(animComplete);
			anim.animate();
		}
	};
    var init = function(){
        var x = -(((iLen > 9)?iLen:9) - 9) * 20 + 'px';
        move.style.left = x;
    }
    init();
    animComplete();
	YUE.on(left, 'click', onLeft);
	YUE.on(right, 'click', onRight);
};
YTWS.Module.SearchRecord = function(dModule) {
    var dForm = dModule.getElementsByTagName('form')[0];
    var dPosition = document.getElementById('opt_position');
    YUE.on(dForm,'submit',function(e){dForm.action=dPosition.value;});
};
(function(){
	var doWhileExist = function(sModuleId,oFunction){
		if(document.getElementById(sModuleId)){oFunction(document.getElementById(sModuleId));}				
	};
	/* === [S] Sports Utilities === */
	doWhileExist('yspsn',YTWS.Module.ShowPop);
	doWhileExist('mhsrch',YTWS.Module.ChangeSrcTab);
	doWhileExist('yspabd',YTWS.Module.LightBox);
	doWhileExist('ysppsfr',YTWS.Module.LightBox);
	doWhileExist('ysppslr',YTWS.Module.LightBox);
	doWhileExist('ysctart',YTWS.Module.LightBox);
	doWhileExist('yscter',YTWS.Class.RefferLink);
	doWhileExist('yspgr',YTWS.Class.RefferLink);
	doWhileExist('yspaf',YTWS.Module.AbuseValidate);
	doWhileExist('yspcf',YTWS.Module.CorrectValidate);
	doWhileExist('yspabd',YTWS.Module.CustomFont);
	doWhileExist('yspaev',YTWS.Module.EmotionVote);
	doWhileExist('ysparm',YTWS.Module.RatingDigg);
	doWhileExist('ysctpl',YTWS.Module.SlecArea);
	doWhileExist('ysctss',YTWS.Module.PhotoPlayer);
	doWhileExist('yspmv',YTWS.Module.FeatureMoreVideos);
	doWhileExist('yspecf',YTWS.Module.leaveWordvalida);
	doWhileExist('yspecl',YTWS.Module.Recomm);
	doWhileExist('ysppoll',YTWS.Class.Tab);
	doWhileExist('yspvc',YTWS.Module.DiggVideo);
	doWhileExist('yspmtf',YTWS.Module.MtfValidate);
	doWhileExist('ysctpc',YTWS.Module.PrintPic);
	doWhileExist('ysptlb',YTWS.Module.PrintPreview);
	doWhileExist('yscttlb',YTWS.Module.PrintPreview);
	doWhileExist('ysprtn',YTWS.Module.NewsSlide);
    doWhileExist('yspamp',YTWS.Module.SelectAlbum);
	/* === [E] Sports Utilities === */
	/* === [S] Sports TV === */
	doWhileExist('ysptvsa',YTWS.Module.ChangeChannelOrDate);
	doWhileExist('ysptvsc',YTWS.Module.ChangeChannelOrDate);
	doWhileExist('ysptvsch',YTWS.Module.ChangeChannelOrDate);
	doWhileExist('ysptvso',YTWS.Module.ChangeChannelOrDate);
	/* === [E] Spotrs TV === */
	/* === [S] Sports NBA === */
	doWhileExist('yspcns',YTWS.Class.Tab);
	doWhileExist('ysppb',YTWS.Module.FeaturePhotos);
	doWhileExist('yspce',YTWS.Module.ChangeExpert);
	doWhileExist('yspct',YTWS.Class.Tab);
	doWhileExist('yspmbbyh',YTWS.Class.Tab);
	doWhileExist('cal1container',YTWS.Module.calendar);
	doWhileExist('yspnrt',YTWS.Module.TableRanking);
	doWhileExist('yspbtss',YTWS.Module.TableRanking);
	doWhileExist('yspssch',YTWS.Module.HiddenTab);
	doWhileExist('ysprp',YTWS.Module.LightBox);
	doWhileExist('yspbpcs',YTWS.Module.ShowScore);
	doWhileExist('yspbps',YTWS.Module.ShowScore);
	doWhileExist('yspbtss',YTWS.Module.ShowScore);
	doWhileExist('yspdps',YTWS.Module.PlayerSchValidate);
	doWhileExist('yspmtpmi',YTWS.Class.Tab);
	doWhileExist('yspdps',YTWS.Module.TeamSelect);
	doWhileExist('yspts',YTWS.Module.GoUrl);
	doWhileExist('ysptgt',YTWS.Module.GoUrl);
	doWhileExist('yspps',YTWS.Module.GoUrl);
    doWhileExist('yspntbr',YTWS.Module.SearchValidate);
	/* === [E] Sports NBA === */
	/* === [S] Sports Experts === */
	doWhileExist('yspeas',YTWS.Class.RefferLink);
	doWhileExist('ysptlb',YTWS.Module.CustomFont);
	doWhileExist('yspabd',YTWS.Module.PrintPreview);
	doWhileExist('yspeaf',YTWS.Module.ApplyValidate);
	/* === [E] Sports Experts === */
	/* === [S] Sports OGOP === */
	doWhileExist('ysctur',YTWS.Module.Rating);
	doWhileExist('yspbi',YTWS.Module.ForeCast);
	doWhileExist('ysctbi',YTWS.Module.ForeCast);
	doWhileExist('yspgbs',YTWS.Class.Tab);
    doWhileExist('ysctbhs',YTWS.Class.Tab);
    doWhileExist('ysctprs',YTWS.Class.Tab);
	/* === [E] Sports OGOP === */
	doWhileExist('yspbts',YTWS.Class.Tab);
	doWhileExist('ysphprr',YTWS.Class.Tab);
	doWhileExist('ysphptvp',YTWS.Class.Tab);
	doWhileExist('ysppgbs',YTWS.Class.Tab);
	doWhileExist('ysppghs',YTWS.Class.Tab);
	doWhileExist('yspbasc', YTWS.Module.ScrollTable);
    doWhileExist('ysctbs', YTWS.Module.ScrollTable);
	/* livebox added */
	doWhileExist('yscttb',YTWS.Module.ChangeLivePage);
	doWhileExist('ysctrd',YTWS.Module.ChangeCommentsPage);
	doWhileExist('yscts',YTWS.Class.Tab);
    doWhileExist('yspsrra',YTWS.Module.SearchRecord);
    doWhileExist('yspmtp',YTWS.Module.TableRanking);
    /* sports 1.5 added */
    doWhileExist('ysptcm',YTWS.Class.Tab);
    doWhileExist('ysptl',YTWS.Module.GoUrl);
    doWhileExist('ysptpr',YTWS.Module.DoSubmit);
})();