var thumb_maxThumb=200, thumb_minThumb=60, thumb_curThumbSize=100, thumb_prePage;
var thumb_isSizeChange=false, thumg_startDrag=0, thumb_startWidth=0;

function thumb_viewThumbnail(){
	if(document.all.td_viewThumbnail.style.display=="none"){
		img_thumbnailView.src = "images/thumb_left_btn.gif";
		td_viewThumbnail.style.display = "";
		td_viewBorder.style.display = "";
		thumb_loadThumbNail();
		thumb_endFlipHandler();
	}else{
		img_thumbnailView.src = "images/thumb_left_btn_off.gif";	
		td_viewThumbnail.style.display = "none";
		td_viewBorder.style.display = "none";
	}
	ebook_resizeAll();
}

function thumb_getThumbSize(nLimit){
	var ret = new ebook_rect();
	var cW=e_canvasWidth;
	var cH=e_canvasHeight;
	if(e_isDoublePage && !e_isOneImgTwoPage){
		if(e_isVerticalTurn) cH=2*cH;
		else cW=2*cW;
	}
	ret.h=Math.floor(cH*nLimit/cW);
	ret.w=nLimit;
	if(e_isDoublePage && !e_isOneImgTwoPage){
		if(e_isVerticalTurn) ret.h=Math.floor(ret.h/2);
		else ret.w=Math.floor(ret.w/2);
	}
	return ret;
}

function thumb_getThumbViewSize(rect){
	var ret = new ebook_rect();
	ret.w=rect.w+4;
	ret.h=rect.h+4;
	
	if(e_isDoublePage && !e_isOneImgTwoPage){
		if(e_isVerticalTurn) ret.h=2*rect.h+4;
		else ret.w=2*rect.w+4;
	}
	return ret;
}

function thumb_loadThumbNail(){
	if(td_viewThumbnail.style.display=="none") return;
	var thumbRect = thumb_getThumbSize(thumb_curThumbSize);
	var totalPage = dBook.handle_getSlideTotal()-e_coverPageFix;
	var nGap=1;
	if(e_isDoublePage) nGap=2;
	var baseURL = e_absURL+e_dataDirectory+"/thumb/";
	var bndRect = ebook_getElementRect(div_thumbnailWrite);
	
	var imgURL;
	for(var i=1;i<=totalPage;i=i+nGap){
		var obj = document.getElementById("tb_thumbOuter_"+i);
		if(obj.isLoad=="false"){
			var imgRect=ebook_getElementRect(obj);
			if( (imgRect.y+imgRect.h)>bndRect.y && imgRect.y<(bndRect.y+bndRect.h) ){
				var nLeft, nRight, imgHtml;
				if(e_isDoublePage && !e_isOneImgTwoPage){
					if(e_isOldTurn){
						nRight=i;
						nLeft=nRight+1;					
					}else{
						nLeft=i;
						nRight=nLeft+1;				
					}
					nLeft=nLeft+e_coverPageFix;
					nRight=nRight+e_coverPageFix;
					if(nRight>0 && nRight<=(totalPage+e_coverPageFix)) imgURL = baseURL+nRight+".jpg";
					else imgURL = e_iconDirectory + "/blank.gif";
						
					imgHtml='<img id="img_thumbRight_'+i+'" src="'+imgURL+'" width="'+thumbRect.w+'" height="'+thumbRect.h+'" border="0"  onfocus="javascript:this.blur();" >';
					document.getElementById("td_thumbRight_"+i).innerHTML = imgHtml;
				}else{
					if(e_isOneImgTwoPage) nLeft=Math.round( (i+1)/2 );
					else nLeft=i;
				}
				
				if(nLeft>0 && nLeft<=(totalPage+e_coverPageFix)) imgURL = baseURL+nLeft+".jpg";
				else imgURL = e_iconDirectory + "/blank.gif";

				imgHtml='<img id="img_thumbLeft_'+i+'" src="'+imgURL+'" width="'+thumbRect.w+'" height="'+thumbRect.h+'" border="0"  onfocus="javascript:this.blur();" >';
				document.getElementById("td_thumbLeft_"+i).innerHTML = imgHtml;
				
				
				obj.isLoad="true";
			}else if(imgRect.y>bndRect.y+bndRect.h) break;
		}
	}
}

function thumb_thumbClick(page){
	dBook.handle_inputGotoPage(page);
}

function thumb_endFlipHandler(){
	if(td_viewThumbnail.style.display=="none") return;
	
	var nPage;
	if(e_isDoublePage && e_isOldTurn) nPage=dBook.handle_getRightSlidePage();
	else nPage=dBook.handle_getLeftSlidePage();
	
	var obj = document.getElementById("tb_thumbBnd_"+nPage);
	var thumbRect = ebook_getElementRect(obj);
	var bndRect = ebook_getElementRect(div_thumbnailWrite);
	
	if( (thumbRect.y-thumbRect.h)<bndRect.y ) 
		div_thumbnailWrite.scrollTop=div_thumbnailWrite.scrollTop-(bndRect.y-thumbRect.y)-thumbRect.h;
	else if( (thumbRect.y+2*thumbRect.h) >(bndRect.y+bndRect.h) )
		div_thumbnailWrite.scrollTop=div_thumbnailWrite.scrollTop+(thumbRect.y+thumbRect.h) -(bndRect.y+bndRect.h)+thumbRect.h;
	
	try{
		document.getElementById("tbl_thumbInner_"+thumb_prePage).style.border="1px solid #666666";
		document.getElementById("td_pageView_"+thumb_prePage).style.backgroundColor="#ffffff";
		document.getElementById("td_pageView_"+thumb_prePage).style.color = "#000000";
	}catch(e){}
	try{
		document.getElementById("tbl_thumbInner_"+nPage).style.border="2px solid #0000FF";
		document.getElementById("td_pageView_"+nPage).style.backgroundColor="#0000ff";
		document.getElementById("td_pageView_"+nPage).style.color = "#ffffff";		
	}catch(e){}
	
	thumb_prePage=nPage;
}

function thumb_initThumbView(){
	var thumbHtml;
	thumbHtml='<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">';
	thumbHtml+='<tr>';
	thumbHtml+='<td id="td_thumbnailButton" width="25" valign="top" background="images/thumb_border_left_bg.gif"><img src="images/thumb_left_btn_off.gif" id="img_thumbnailView" border="0" style="cursor:hand;" onclick="javascript:thumb_viewThumbnail();"></td>';
	thumbHtml+='<td id="td_viewThumbnail" style="display:none;"><table id="tbl_thumbnail" border="0" cellspacing="0" cellpadding="0" height="100%">';
	thumbHtml+='<tr><td height="35" align="right" valign="middle" background="images/thumb_top_bg.gif"><div id="div_thumbTopMenu" style="width:135;overflow-x:hidden;">';
	thumbHtml+='<table border="0" cellspacing="0" cellpadding="0">';
	thumbHtml+='<tr valign="middle">';
	thumbHtml+='<td><select name="selectThumbSize" style="font:12; color:black; cursor:hand; background-color:white; width:70" onChange="javascript:thumb_changeThumbSize(this)">';
	thumbHtml+='<option value="0">Options</option>';
	thumbHtml+='<option value="-">'+MSG_THUMB_REDUCE+'</option>';
	thumbHtml+='<option value="+">'+MSG_THUMB_ENLARGE+'</option>';
	thumbHtml+='</select></td>';
	thumbHtml+='<td width="3"></td>'
	thumbHtml+='<td><img src="images/thumb_b_close.gif" onFocus="blur()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'thumb_Btn_Close\',\'\',\'images/thumb_b_close_on.gif\',1)" name="thumb_Btn_Close" id="thumb_Btn_Close" alt="Close" border="0" style="cursor:hand;" onclick="javascript:thumb_viewThumbnail();"></td>';
	thumbHtml+='<td width="3"></td>';
	thumbHtml+='</tr>';
	thumbHtml+='</table>';
	thumbHtml+='</div></td></tr>';
	thumbHtml+='<tr><td valign="top" bgcolor="#ffffff" height="100%"><div id="div_thumbnailWrite" style="width:135;height:100%;overflow-x:hidden;overflow-y:auto;" onscroll="javascript:thumb_loadThumbNail();"></div></td></tr>';
	thumbHtml+='</table></td>';
	thumbHtml+='<td id="td_viewBorder" width="8" style="display:none;" valign="middle" background="images/thumb_border_right_bg.gif" style="cursor:col-resize;" onmousedown="javascript:thumb_sizeChangeStart(event);" onmouseup="javascript:thumb_sizeChangeEnd(event);" ondragstart="javascript:return false;"><img src="images/thumb_right_btn.gif"></td>';		
	thumbHtml+='</tr>';
	thumbHtml+='</table>'
	
	try{
		td_thumbNavi.innerHTML = thumbHtml;
		td_thumbNavi.style.display="";
		ebook_resizeAll();
		
		var thumbRect = thumb_getThumbSize(thumb_curThumbSize);
		var viewRect=thumb_getThumbViewSize(thumbRect);
		var nGap=1;
		if(e_isDoublePage) nGap=2;
		var totalPage = dBook.handle_getSlideTotal()-e_coverPageFix;
		
		for(var i=1;i<=totalPage;i=i+nGap){
			var nLeft, nRight;
			if(e_isDoublePage){
				if(e_isOldTurn){
					nRight=i;
					nLeft=nRight+1;					
				}else{
					nLeft=i;
					nRight=nLeft+1;				
				}
			}else{
				nLeft=i;
				nRight=0;
			}
			
			thumbHtml='<table id="tb_thumbBnd_'+i+'" border="0" cellpadding="0" cellspacing="0" style="display:inline">';
			thumbHtml+='<tr><td height="5" colspan="3"></td></tr>';
			thumbHtml+='<tr>';
			thumbHtml+='<td width="5"></td>';
			thumbHtml+='<td id="tb_thumbOuter_'+i+'" style="width:'+viewRect.w+';height:'+viewRect.h+'" align="center" valign="middle" isLoad="false">';
			thumbHtml+='<table id="tbl_thumbInner_'+i+'" border="0" cellpadding="0" cellspacing="0" style="border:1px solid #000000;cursor:hand;" onclick="javascript:thumb_thumbClick('+i+');" >';
			thumbHtml+='<tr>';
			thumbHtml+='<td id="td_thumbLeft_'+i+'" width="'+thumbRect.w+'" height="'+thumbRect.h+'" align="right"></td>';
			if(e_isDoublePage && !e_isOneImgTwoPage){
				if(e_isVerticalTurn) thumbHtml+='</tr><tr>';
				thumbHtml+='<td id="td_thumbRight_'+i+'" width="'+thumbRect.w+'" height="'+thumbRect.h+'" align="left"></td>';
			}
			thumbHtml+='</tr>';
			thumbHtml+='</table>';
			thumbHtml+='</td>';
			thumbHtml+='<td width="5"></td>';
			thumbHtml+='</tr>';
			thumbHtml+='<tr><td height="2" colspan="3"></td></tr>';
			thumbHtml+='<tr><td colspan="3" align="center">';
			thumbHtml+='<table border="0" cellpadding="0" cellspacing="0"><tr><td  id="td_pageView_'+i+'" align="center" valign="middle" style="border:1px solid #666666;cursor:hand;font-size:12px;padding-top:3px;padding-bottom:0px;padding-left:1px;padding-right:2px" onclick="javascript:thumb_thumbClick('+i+');">';
			
			nLeft=nLeft+e_pageFix+e_coverPageFix;
			nRight=nRight+e_pageFix+e_coverPageFix;
			
			if(nLeft<1) nLeft=MSG_FRONT_PAGE;
			else if(nLeft>(totalPage+e_pageFix+e_coverPageFix) )  nLeft=MSG_REAR_PAGE;
			if(nRight<1) nRight=MSG_FRONT_PAGE;
			else if(nRight>(totalPage+e_pageFix+e_coverPageFix))  nRight=MSG_REAR_PAGE;
			
			if(e_isDoublePage) thumbHtml+=nLeft+"-"+nRight;
			else  thumbHtml+=nLeft;
			
			thumbHtml+='</td></tr></table>';
			thumbHtml+='</td></tr>';
			thumbHtml+='<tr><td height="10" colspan="3"></td></tr>';
			thumbHtml+='</table>';
			
			div_thumbnailWrite.insertAdjacentHTML("beforeEnd", thumbHtml);
		}
		
		ebook_addEventListener("endFlip","thumb_endFlipHandler");
		
		document.body.attachEvent("ondrag", thumb_returnFalse)
		document.body.attachEvent("onmousemove", thumb_sizeChange);
		document.body.attachEvent("onmouseup", thumb_sizeChangeEnd);

		
	}catch(e){}
}

function thumb_changeThumbSize(sel){
	if( (sel.value=="+" && thumb_curThumbSize<thumb_maxThumb) || (sel.value=="-" && thumb_curThumbSize>thumb_minThumb)){
		if(sel.value=="+") thumb_curThumbSize=thumb_curThumbSize+20;
		else if(sel.value=="-") thumb_curThumbSize=thumb_curThumbSize-20;
		
		if(thumb_curThumbSize<thumb_minThumb)  thumb_curThumbSize=thumb_minThumb;
		else if(thumb_curThumbSize>thumb_maxThumb) thumb_curThumbSize=thumb_maxThumb;
		
		var thumbRect = thumb_getThumbSize(thumb_curThumbSize);
		var viewRect=thumb_getThumbViewSize(thumbRect);
		
		var totalPage = dBook.handle_getSlideTotal()-e_coverPageFix;
		var nGap=1;
		if(e_isDoublePage) nGap=2;
		
		for(var i=1;i<=totalPage;i=i+nGap){
			try{
				document.getElementById("tb_thumbOuter_"+i).style.width=viewRect.w;
				document.getElementById("tb_thumbOuter_"+i).style.height=viewRect.h;
				try{
					document.getElementById("td_thumbLeft_"+i).style.width=thumbRect.w;
					document.getElementById("td_thumbLeft_"+i).style.height=thumbRect.h;
					document.getElementById("img_thumbLeft_"+i).style.width=thumbRect.w;
					document.getElementById("img_thumbLeft_"+i).style.height=thumbRect.h;
				}catch(ae){}
				if(e_isDoublePage && !e_isOneImgTwoPage){
					document.getElementById("td_thumbRight_"+i).style.width=thumbRect.w;
					document.getElementById("td_thumbRight_"+i).style.height=thumbRect.h;	
					document.getElementById("img_thumbRight_"+i).style.width=thumbRect.w;
					document.getElementById("img_thumbRight_"+i).style.height=thumbRect.h;					
				}
			}catch(e){}
		}
		
		var rect = ebook_getElementRect(div_thumbnailWrite);
		if(rect.w< (thumb_curThumbSize+35) ) div_thumbnailWrite.style.width=thumb_curThumbSize+35;
		ebook_resizeAll();
		thumb_loadThumbNail();
		thumb_endFlipHandler();
		sel.selectedIndex=0;
	}
}
function thumb_sizeChangeStart(evt){
	var rect = ebook_getElementRect(evt.srcElement);
	thumg_startDrag=rect.x + evt.offsetX;
	rect = ebook_getElementRect(div_thumbnailWrite);

	thumb_startWidth=rect.w;
	thumb_isSizeChange=true;
}

function thumb_sizeChangeEnd(evt){
	if(thumb_isSizeChange){
		var rect = ebook_getElementRect(evt.srcElement);
		var nWidth = thumb_startWidth + (rect.x + evt.offsetX) - thumg_startDrag;
		if(nWidth< (thumb_curThumbSize+35) ) nWidth= thumb_curThumbSize+35
		div_thumbnailWrite.style.width = nWidth;
		thumb_isSizeChange=false;
		ebook_resizeAll();
		thumb_loadThumbNail();
		thumb_endFlipHandler();
	}
}

function thumb_sizeChange(evt){
	if(thumb_isSizeChange){
		var rect = ebook_getElementRect(evt.srcElement);
		var nWidth = thumb_startWidth + (rect.x + evt.offsetX) - thumg_startDrag;
		if(nWidth< (thumb_curThumbSize+35) ) nWidth= thumb_curThumbSize+35
		div_thumbnailWrite.style.width = nWidth;
		ebook_resizeAll();
	}
}

function thumb_returnFalse(){
	return false;
}
function thumb_initEndHandler(){
	if( typeof(skin_bThumbnailNav_View)=="undefined" || !e_isIEBrowser) skin_bThumbnailNav_View=false;
	
	if(skin_bThumbnailNav_View) setTimeout("try{thumb_initThumbView();}catch(e){}",100);
}
ebook_addEventListener("initEnd", "thumb_initEndHandler");

