// JavaScript Document
	/**
	jQuery .load will not trigger on browser local file in IE
	*/
	var kv = {};
	kv.delay = 5000;/* 切換時間長度 */
	kv.playHead = 0;/* 撥放頭 */
	kv.dataObj = {};/* 目前播放中的物件 */
	kv.run_countTime = 0;/* interval id */
	kv.playList_ary = [];/* 播放清單 */
	kv.li_ary = [];/* 存放內容的LI參照 */
	kv.menuTop = 280;/* 與CSS #homeKV #kvMenu{}內相同 */
	kv.meunWidth = 576;/* 與CSS #homeKV #kvMenu{}內相同 */
	kv.menuBtnWidth = 24;/* 與CSS #homeKV #kvMenu{}內相同 */
	kv.menuLineMax = 24;/* menu 一行的數量 */
	kv.moreBox;/* 更多按鈕的容器 */
	kv.moreBtn;/* 更多資訊按鈕 */
	
	kv.init = function (swapTimeLength){
		if(swapTimeLength){
			kv.delay = swapTimeLength;
		}
		kv.moreBox = $('#kvMoreBtn')[0];
		kv.moreBtn = $(kv.moreBox).find('> div a')[0];
		$(kv.moreBox).hide();
		kv.fixUI_ie6();
		kv.li_ary = $('#kvFiles ul li');/* 取得清單中的LI */
		var li_ary = kv.li_ary;
		var a_ary = kv.createMenuElement(li_ary);/* 先產生選項按鈕A的實體 */
		$(a_ary).focus(function(){
    		$(this).blur();
		});
		/**
		註冊給A的onclick函數
		*/
		var _a_onclick = function (){
			if(this.isClick == false){
				this.doClick();
			}
		};
		/**
		A實際執行onclick的函數
		*/
		var _a_doClick = function (){
			this.isClick = true;
			
			this.className = 'lock';
			
			this.obj.doClick();
		};
		/**
		A的重設
		*/
		var _a_reStore = function (){
			this.isClick = false;
			this.className = '';
			//$(this).css({fontSize:'1em'});
		};
		/**
		obj接收A的onclick呼叫的函數,處理使用者點擊切換的事件接收
		*/
		var _doClick = function (){
			this.toDisplay(true);//true 表示來自滑鼠點擊的呼叫
		};
		/**
		obj實際執行內容出現的函數
		fromClick Boolean 有傳入表示來自於onclick觸發
		*/
		var _toDisplay = function (fromClick){
			if(this.url != ''){
				kv.moreBtn.href = this.url;
				kv.moreBtn.target = this.target;
				$(kv.moreBox).show();
			} else {
				$(kv.moreBox).hide();
			}
			kv.swapContent(this);
		};
		/**
		obj執行內容消去的函數
		*/
		var _notDisplay = function (){
			//clearInterval(this.run_countTime);//清除計時
			this._a.reStore();
			if(this.format == 'swf'){
				this._li.innerHTML = '&nbsp;';
			}
		};
		/**
		obj的計時切換函數
		*/
		var _timeUp = function (){
			if(kv.playHead + 1 > kv.playList_ary.length - 1){
				kv.playHead = 0;
			} else {
				kv.playHead++;
			}
			var newItem = kv.playList_ary[kv.playHead];
			newItem._a.doClick();
		};
		/**
		對照為某個LI實體,其內若有IMG,則在偵測下載完畢後,呼叫這個函數
		*/
		var _li_onContentLoad = function (){
			this.obj.contentLoad = true;
		}
		for(var i = 0;i<li_ary.length;i++){
			var _li = li_ary[i];//清單項目
			var _a = a_ary[i];//選項項目
			var obj = {
			_a:_a ,
			_li:_li , 
			gid:i , 
			scode:$(_li).html()/* LI 內的HTML code */, 
			doClick:_doClick/* 接收來自A的呼叫 */ , 
			toDisplay:_toDisplay/* 執行內容出現 */ , 
			notDisplay:_notDisplay/* 執行內容消去 */ , 
			timeUp:_timeUp/* 計時切換 */ , 
			contentLoad:false/* 內容物件的載入狀態 */, 
			format:''/* bmp 或 swf*/ , 
			url:''/* 目標連結A的href */ , 
			target:''/* 目標連結A的target */ 
			};
			_a.obj = obj;
			_a.gid = i;
			_a.isClick = false;
			_a.doClick = _a_doClick;
			_a.reStore = _a_reStore;
			_a.onclick = _a_onclick;//HTML Event
			_li.obj = obj;
			_li.onContentLoad = _li_onContentLoad;
			
			//--
			var unknowTag = _li.childNodes[0];//取得LI下第一個未知的element
			var tag_str = String(unknowTag.tagName).toLowerCase();
			if(tag_str == 'a'){
				//是一個有連結的物件
				obj.url = unknowTag.href;
				obj.target = unknowTag.target;
				//--
				var loaderTag = unknowTag.childNodes[0];//取得A下的第一個element
				var loader_str = String(loaderTag.tagName).toLowerCase();
				if(loader_str == 'img'){
					//一個圖檔
					obj.format = 'bmp';
					$(loaderTag).load(function (){
						var obj = $(this).parent().parent()[0];
						obj.onContentLoad();
					});
				} else if(loader_str == 'script'){
					//一個Flash
					obj.format = 'swf';
					_li.onContentLoad();//若內容是flash永遠視為已載入
					_li.innerHTML = '$nbsp;';//移除現階段的Flash實體
				}
			} else {
				//一個沒有連結的物件
				var loaderTag = unknowTag;//直接就是未知Tag的實體
				var loader_str = String(loaderTag.tagName).toLowerCase();
				if(loader_str == 'img'){
					//一個圖檔
					obj.format = 'bmp';
					$(loaderTag).load(function (){
						var obj = $(this).parent()[0];
						obj.onContentLoad();
					});
				} else if(loader_str == 'script'){
					//一個Flash
					obj.format = 'swf';
					_li.onContentLoad();//若內容是Flash永遠視為已載入
					_li.innerHTML = '$nbsp;';//移除現階段的Flash實體
				}
			}
			kv.playList_ary.push(obj);
		}
		kv.playList_ary[0]._a.doClick();
	};
	/**
	建立menu中選項的實體element
	*/
	kv.createMenuElement = function (li_ary){
		var scode = '';
		for(var i = 0;i<li_ary.length;i++){
			scode += '<a href="javascript:;"><span>' + (i + 1) + '</span></a>';
		}
		$('#kvMenu').html(scode);
		var _ary = $('#kvMenu > a');
		var maxWidth = kv.menuBtnWidth*_ary.length;
		var leftFix;
		if(maxWidth > kv.meunWidth){
			//按紐數量超過一行
			cssTop = kv.menuTop - (kv.menuBtnWidth*Math.ceil(kv.menuLineMax / _ary.length));
			$('#kvMenu').css({top:String(cssTop) + 'px'});
		} else {
			//給予第一個A一個左方的margin
			leftFix = (kv.meunWidth - maxWidth)/2;
			//$(_ary[0]).css({marginLeft:String(leftFix) + 'px'});/* error in IE6 */
			$('#kvMenu').css({paddingLeft:String(leftFix) + 'px' , width:String(kv.meunWidth - leftFix) + 'px'});
		}
		
		return _ary;
	};
	kv.swapContent = function (_obj){
		clearInterval(kv.run_countTime);//用kv取代this強參照
		for(var i = 0;i<this.playList_ary.length;i++){
			var itemObj = this.playList_ary[i];
			var _li = itemObj._li;
			var fileFormat = itemObj.format;
			if(_obj == itemObj){
				this.playHead = i;
				this.dataObj = _obj;
				if(fileFormat == 'swf'){
					//如果內容是Flash
					_li.innerHTML = _obj.scode;//重新載入Flash
				}
				$(_li).fadeIn('slow' , function (){
					kv.startCount();
				});
			} else {
				$(_li).hide();
				itemObj.notDisplay();
			}
		}
		
	}
	/**
	啟動計時器
	*/
	kv.startCount = function (){
		clearInterval(kv.run_countTime);//用kv取代this強參照
		var delay = kv.delay;
		if(kv.dataObj.contentLoad == false){
			//若尚未下載完畢,延遲計時增加2秒
			delay += 2000;
		}
		kv.run_countTime = setInterval(kv['finishCount'] , delay);//用kv取代this強參照
	};
	/**
	關閉計時器
	*/
	kv.finishCount = function (){
		clearInterval(kv.run_countTime);//用kv取代this強參照
		kv.dataObj.timeUp();
	};
	kv.fixUI_ie6 = function (){
		var v = 6;
		if($.browser.msie && Math.floor(Number($.browser.version)) <= v){
			//只針對IE6
			//alert('browser is ie ' + v);
			var _ary = $('.kvPNG');
			//images/kvSet/spacer.gif
			for(var i = 0;i<_ary.length ; i++){
				var file = _ary[i];
				var w = file.width;
				var h = file.height;
				var src = file.src;
				file.src = 'images/kvSet/spacer.gif';
				file.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\', sizingMethod=\'image\')';
				file.width = w;
				file.height = h;
			}
			
		} else {
			
		}
	};
	function serialKV(swapTimeLength){
		$('#kvFiles ul li').hide();
		if(swapTimeLength){
			kv.init(swapTimeLength);
		} else {
			kv.init();
		}
	}
