var EBOOK_JS_VERSION="2.0.0.14";
var e_isIEBrowser=true;
if(window.navigator.userAgent.toLowerCase().indexOf("msie ")>=0) e_isIEBrowser=true;
else e_isIEBrowser=false;
var e_isSafari=false;
if(window.navigator.userAgent.toLowerCase().indexOf("safari")>=0) e_isSafari=true;
var e_absHref="";
var e_absURL="";
var e_docBaseURL="";
var e_fitZoomLevel=0;
var e_viewRatio=1;
var e_spage=1;
var e_initComplete=false;
var e_initLinkComplete=false;
var e_screenColorDepth=32;

var e_isUnload=false;
var e_arrAppendFrame=new Array();
var e_oReadBin;
var e_localPath="";
var e_bReadBinUse=false;
var e_bRemovedDefEventListner=false;
var e_RClick;

var e_o={
	dBook:function(){return document.getElementById("dBook");},
	getObj:function(id, byName){
		if(typeof(byName)=="undefined" || byName==null) byName=false;
		var ret=document.getElementById(id);
		if(ret) return ret;
		else if(!byName) return ret;
			
		var cols=document.getElementsByName(id);
		if(cols.length>0) return cols[0];
		else return null;
	},
	arrEvent:new Array(),
	arrRequestVar:new Array(),
	curOption:{link:"y",memo:"y",pen:"y",background:"", inited:false},
	initOption:function(){
		if(e_initLinkComplete && e_initComplete && !e_o.curOption.inited){
			var option_link_view=e_o.dBook().handle_getLocalSharedObject("option_link_view");
			var option_memo_view=e_o.dBook().handle_getLocalSharedObject("option_memo_view");
			var option_pen_view=e_o.dBook().handle_getLocalSharedObject("option_pen_view");
			var option_background=e_o.dBook().handle_getLocalSharedObject("option_background");
			e_o.curOption.link=(option_link_view=="n")?"n":"y";
			e_o.curOption.memo=(option_memo_view=="n")?"n":"y";
			e_o.curOption.pen=(option_pen_view=="n")?"n":"y";
			e_o.curOption.background=(option_background.length>0)?option_background:"";
			e_o.curOption.inited=true;
			
			if(e_o.curOption.link=="n") e_o.setOption("link","n");
			if(e_o.curOption.memo=="n") e_o.setOption("memo","n");
			if(e_o.curOption.pen=="n") e_o.setOption("pen","n");
			if(e_o.curOption.background.length>0) e_o.setOption("background",e_o.curOption.background);
		}
	},
	setOption:function(div,val){
		var bHide=(val=="n");
		if(div=="link"){
			e_o.curOption.link=val;
			e_o.dBook().handle_saveLocalSharedObject("option_link_view",val);
			e_o.dBook().handle_hideEmbeds(bHide,"memo;pen;postit;", true);			
		}else if(div=="memo"){
			e_o.curOption.memo=val;
			e_o.dBook().handle_saveLocalSharedObject("option_memo_view",val);
			e_o.dBook().handle_hideEmbeds(bHide,"memo;postit;");			
		}else if(div=="pen"){
			e_o.curOption.pen=val;
			e_o.dBook().handle_saveLocalSharedObject("option_pen_view",val);
			e_o.dBook().handle_hideEmbeds(bHide,"pen;");		
		}else if(div=="background"){
			e_o.curOption.background=val;
			e_o.dBook().handle_saveLocalSharedObject("option_background",val);
			
			var isColor=(val.indexOf("url(")<0);
			if(isColor){
				document.body.style.backgroundColor=val;
				document.body.style.backgroundImage="none";
			}else{
				document.body.style.backgroundColor="transparent";
				document.body.style.backgroundImage=val;
				document.body.style.backgroundPosition="0% 0%";
				document.body.style.backgroundRepeat="repeat";
			}			
		}
	},
	initRequestVar:function(){
		var strHref=document.location.href;
		if(strHref.lastIndexOf("?")>0){
			strHref = strHref.substring( strHref.lastIndexOf("?")+1 );
			var arr_1 = strHref.split("&");
			for(var i=0; i<arr_1.length;i++){
				var arr_2 = arr_1[i].split("=");
				if(arr_2.length==2){
					var oParam = {name:arr_2[0].toLowerCase(),value:arr_2[1]};
					e_o.arrRequestVar.push(oParam);
				}
			}
		}		
	},
	getRequestVar:function(name){
		var ret="";
		var sName = name.toLowerCase();
		for(var i=0;i<e_o.arrRequestVar.length;i++){
			if(sName=="startpage"){
				if( e_o.arrRequestVar[i].name=="startpage" ||  e_o.arrRequestVar[i].name=="page"){
					ret = e_o.arrRequestVar[i].value;
					break;
				}else if(e_o.arrRequestVar[i].name=="rpage"){
					try{
						ret=parseInt(e_o.arrRequestVar[i].value)+ebook_getPageFix();
						break;
					}catch(e){break;}
				}
			}else if( e_o.arrRequestVar[i].name==sName){
				ret = e_o.arrRequestVar[i].value;
				break;
			}
		}
		return ret;
	},
	writeLoadingImage:function(){
		var oElement=document.createElement("img");
		oElement.id="ebook_loading";
		oElement.src=e_iconDirectory+"/load_album.gif";
		oElement.border=0;
		oElement.galleryImg="no";
		oElement.style.position="absolute";
		oElement.style.top="0px";
		oElement.style.visibility="hidden";
	
		oElement.onselect=function(evt){return false;};
		oElement.onload=function(evt){
			if(e_initComplete || oElement.style.visibility!="hidden"){
				setTimeout("e_o.clearLoading()",500);
			}
			e_o.setLoadPos();
			return false;
		};
		e_o.getObj("viewerDiv").appendChild(oElement);		
	},
	setLoadPos:function(){
		var obj=e_o.getObj("ebook_loading");
		var rect=e_o.getElementRect(obj);
		var bndRect=e_o.getElementRect(e_o.getObj("viewerDiv"));

		if(rect.w>0 && rect.h>0){
			var bndRect=e_o.getElementRect(e_o.getObj("viewerDiv"));
			obj.style.visibility="visible"
			obj.style.left=(bndRect.w-rect.w)/2;
			obj.style.top=(bndRect.h-rect.h)/2;
		}else{
			setTimeout("e_o.setLoadPos();",100);
		}
	},
	clearLoading:function(){
		try{
			var obj=e_o.getObj("ebook_loading");
			e_o.getObj("viewerDiv").removeChild(obj);
			obj.onload=null;
			obj=null;
		}catch(e){}
	},
	bCommandDliver:function(){
		if(e_initComplete && !e_isUnload) return true;
		else return false
	},
	getEvtLsnrIdx:function(name,func){
		for(var i=0; i<e_o.arrEvent.length;i++){
			var oEvt = e_o.arrEvent[i];
			if(oEvt.name==name.toLowerCase() && oEvt.func==func) return i;
		}
		return -1;
	},
	addEventListener:function(name,func){
		if(e_o.getEvtLsnrIdx(name,func)<0){
			var oEvent ={name:name.toLowerCase(),func:func};
			e_o.arrEvent.push(oEvent);
		}		
	},
	removeEventListener:function(name,func){
		var idx=e_o.getEvtLsnrIdx(name,func);
		if(idx>=0){
			var arrPre = e_o.arrEvent.slice(0, idx);
			var arrNext = e_o.arrEvent.slice(idx+1,e_o.arrEvent.length);
			e_o.arrEvent = arrPre.concat(arrNext);
		}		
	},
	dispatchEvent:function(){
		var args = e_o.dispatchEvent.arguments;
		var name = args[0].toLowerCase();
		for(var i=0; i<e_o.arrEvent.length;i++){
			var oEvt = e_o.arrEvent[i];
			if(oEvt.name==name){
				var command = oEvt.func + "(";
				for(var j=1;j<args.length;j++){
					command += "'" + args[j] + "'"
					if(j<args.length-1) command += ",";
				}
				command += ")";
				try{eval(command);}catch(e){};
			}
		}		
	},
	getElementRect:function(obj){
		var ret={x:0,y:0,w:0,h:0};
		try{
			if(obj.getBoundingClientRect){
				var rect = obj.getBoundingClientRect();
				ret.x=rect.left-2;
				ret.y=rect.top-2;
				ret.w=rect.right-rect.left;
				ret.h=rect.bottom-rect.top;
			}else{
				ret.x=obj.offsetLeft;
				ret.y=obj.offsetTop;
				var parent = obj.offsetParent;
				while(parent!=null){
					ret.x = ret.x + parent.offsetLeft;
					ret.y = ret.y + parent.offsetTop;
					parent=parent.offsetParent;
				}
				ret.w = obj.offsetWidth;
				ret.h = obj.offsetHeight;
			}
		}catch(e){}
		return ret;
	},
	pressZoom:function(zoomDir,dir){
		if(typeof(dir)=="undefined") dir="all";
		var vRect=e_o.getElementRect(e_o.getObj("viewerDiv"));
		var rect=e_o.dBook().handle_getCurViewArea();
		var scale=e_o.dBook().handle_getCurScale();
		var bndState=e_o.dBook().handle_getBoundState();	
		var curZoom=e_o.dBook().handle_getCurrZoomStep();
		
		var maxZoom=e_maxZoomLevel+e_ghostZoomLevel;
		if(zoomDir==0) return;
		else if(curZoom<0 && zoomDir<0) return;
		else if(curZoom>=maxZoom && zoomDir>0) return;
		
		var x=(rect.x<0)?-rect.x/scale:0;
		var y=(rect.y<0)?-rect.y/scale:0;
		if(bndState!="all" || (dir!="all" && curZoom<0)){
			var sState=(bndState=="all")?dir:bndState;
			if(e_isVerticalTurn){
				if(sState=="right" && rect.h<vRect.h) y=y+rect.h/(2*scale);
				
				rect.h=rect.h/2;
			}else{
				if(sState=="right" && rect.w<vRect.w) x=x+rect.w/(2*scale);
				rect.w=rect.w/2;
			}
		}
		rect.w=(rect.w<vRect.w)?rect.w:vRect.w;
		rect.h=(rect.h<vRect.h)?rect.h:vRect.h;
		x=x+ rect.w/(2*scale);
		y=y+ rect.h/(2*scale);
		
		if(curZoom<0) curZoom=e_o.scaleToZoom(scale,maxZoom);
		curZoom=zoomDir+curZoom;
		e_o.dBook().handle_pressZoomN(curZoom, x, y);	
	},
	scaleToZoom:function(scale, zMax){
 		var dScale=1.414;
		for(var i=0;i<=zMax;i++){
			var z_min=Math.pow(2,i)*dScale;	
			if(scale<=z_min){
				return i;
			}else if(i==zMax){
				return i;
			}
		}
		return 0;		
	},
	mouseDown:function(mx, my, button){
		e_o.dispatchEvent("mouseDown", mx, my, button);
	},
	mouseUp:function(mx, my, button){
		e_o.dispatchEvent("mouseUp", mx, my, button);
	},
	rollOver:function(){
		e_o.dispatchEvent("rollOver");
	},
	rollOut:function(){
		e_o.dispatchEvent("rollOut");
	},
	mouseMove:function(mx, my, button){
		e_o.dispatchEvent("mouseMove", mx, my, button);
	},
	startAutoFlip:function(){
		e_o.dispatchEvent("startAutoFlip");
	},
	endAutoFlip:function(){
		e_o.dispatchEvent("endAutoFlip");
	},
	mouseLinkOver:function(linkid){
		setTimeout("try{link_mouseOver("+linkid+");}catch(e){}",1);
	},
	mouseLinkOut:function(linkid){
		setTimeout("try{link_mouseOut("+linkid+");}catch(e){}",1);
	},
	linkPlayState:function(type, linkid){
		setTimeout("try{link_playStateHandler('"+type+"',"+linkid+");}catch(e){}",10);
	},
	linkHide:function(linkid, hide){
		
		setTimeout("try{link_hideHandler("+linkid+",'"+hide+"');}catch(e){}",10);
	},
	scroll:function(){
		setTimeout("try{link_resize();}catch(e){}",0);
		e_o.dispatchEvent("scroll");
	},
	stageResize:function(){
		e_o.dispatchEvent("stageResize");
	},
	resize:function(){
		setTimeout("try{link_resize();}catch(e){}",0);
		e_o.dispatchEvent("resize");
	},
	turnResize:function(scale,preBndStr,curBndStr, isFirstSlide){
		e_o.dispatchEvent("turnResize", scale,preBndStr,curBndStr, isFirstSlide);
	},
	startFlip:function(){
		if(!e_o.bCommandDliver()) return;
		try{link_hide();}catch(e){}
		
		e_o.dispatchEvent("startFlip");
	},
	endFlip:function(){
		if(!e_o.bCommandDliver()) return;
		if(e_initLinkComplete) setTimeout("try{link_display();}catch(e){}",1);
		e_o.dispatchEvent("endFlip");
	},
	highlight:function(bSet){
		e_o.dispatchEvent("highlight", bSet);
	},
	endInitLink:function(bSet){
		e_initLinkComplete = true;
		if(e_initComplete) setTimeout("try{link_reload("+e_initLinkComplete+");}catch(e){}",1);
		e_o.dispatchEvent("endInitLink");
		
		setTimeout("e_o.initOption()",12);
	},	
	initEnd:function(){
		if(!e_initComplete){
			try{
				var rpage=parseInt(e_o.getRequestVar("rpage"));
				if(rpage>0){
					var arr=e_o.getRequestVar("coords").split(";");
					if(arr.length==4){
						setTimeout("try{ebook_setHighright("+rpage+","+arr[0]+","+arr[1]+","+arr[2]+","+arr[3]+");}catch(ae){}",500);
					}
				}
			}catch(e){}
		}
		e_initComplete=true;
		setTimeout("e_o.initOption()",12);
		setTimeout("e_o.clearLoading()",500);
		try{
			if(top.e_strFullScreen=="init"){
				ebook_showFrame("frame_fullscreen","appendix/fullscreen.htm",true, true);
				try{frame_fullscreen.init();}catch(e){}
			}
		}catch(e){}
		e_o.dispatchEvent("initEnd");
		try{
			var flip=parseInt(e_o.getRequestVar("flip"));
			if(flip>0) setTimeout("e_o.dBook().handle_pressAutoFlip("+flip+",1);",1000);
		}catch(e){}
	},
	zoomOccure:function(inOrOut, bndState){
		e_o.dispatchEvent("zoomOccure", inOrOut, bndState);
	},
	setLinkEdit:function(type,bReverse, isOwner, UserID){
		try{
			try{link_hide();}catch(ae){}
			try{
				var oFrame = document.getElementById("album_board");
				if(oFrame && oFrame.style.display=="") oFrame.style.display="none";
			}catch(ae){}
			if(e_o.dBook().handle_isLinkEditMode()){
				if(e_o.bCommandDliver()){
					if(typeof(type)=="undefined" || type=="") e_o.dBook().handle_editLink(false, "reload");
					else e_o.dBook().handle_editLink(false, type);
				}
			}else{
				if(e_o.bCommandDliver()){
					if(typeof(type)=="undefined" || type=="") e_o.dBook().handle_editLink(true);
					else e_o.dBook().handle_editLink(true, type,bReverse, isOwner, UserID);
				}
			}
		}catch(e){} 		
	},
	embedAdded:function(linkid){
		e_o.dispatchEvent("embedAdded",linkid);
	},
	embedRemoved:function(linkid){
		e_o.dispatchEvent("embedRemoved",linkid);
	},
	linkSelect:function(linkid){
		e_o.dispatchEvent("linkSelect",linkid);
	},
	linkResize:function(linkid, x1, y1, x2, y2, isOrgRatio){
		e_o.dispatchEvent("linkResize",linkid, x1, y1, x2, y2, isOrgRatio);
	},
	linkShape:function(linkid, shape, isOnlyRect){
		e_o.dispatchEvent("linkShape",linkid, shape, isOnlyRect);
	},
	linkIconPos:function(linkid, iconPos, x, y){
		e_o.dispatchEvent("linkIconPos", linkid, iconPos, x, y);
	},
	linkCloseUpPos:function(linkid, x, y){
		e_o.dispatchEvent("linkCloseUpPos", linkid, x, y);
	},
	linkComplete:function(error){
		e_o.dispatchEvent("linkComplete", error);
	},
	penDrawEnd:function(penid){
		e_o.dispatchEvent("penDrawEnd", penid);
	}
}
e_o.initRequestVar();

function ebook_addEventListener(name,func){e_o.addEventListener(name,func);}
function ebook_removeEventListener(name,func){e_o.removeEventListener(name,func);}
function ebook_getRequestVar(name){return e_o.getRequestVar(name);}
function ebook_getElementRect(obj){return e_o.getElementRect(obj);}

function ebook_calcZoomRect(zoomLevel){
	var ret = new Object();
	ret.x=0;
	ret.y=0;
	ret.w=0;
	ret.h=0;
	return ret;
}

function ebook_gotoPage(page){
	var toPage = parseInt(page);
	if(!isNaN(toPage)){
		e_o.dBook().handle_inputGotoPage(toPage);
	}
}
function ebook_pressAutoFlip(delay){
	if(typeof(delay)=="undefined" || isNaN(delay)) delay=1;
	if(delay<0.1) delay=0.1;
	e_o.dBook().handle_pressAutoFlip(delay*1000,1);
}
function ebook_stopAutoFlip(){
	e_o.dBook().handle_stopAutoFlip();
}

function ebook_pressFullScreen(){ try{if(e_o.bCommandDliver()) e_o.dBook().handle_pressFullScreen();}catch(e){} }
function ebook_pressPause(){ try{if(e_o.bCommandDliver()) e_o.dBook().handle_pressPause();}catch(e){} }
function ebook_closeUp(){ 
	if(e_o.dBook().handle_isLinkEditMode()) return;
	try{if(e_o.bCommandDliver() && !e_bRemovedDefEventListner) e_o.dBook().handle_pressCloseUp();}catch(e){} 
}
function ebook_pressLeftZoom(){e_o.pressZoom(1,"left");}
function ebook_pressRightZoom(){e_o.pressZoom(1,"right");}
function ebook_pressZoom(dir,x,y){if(e_o.bCommandDliver())  try{e_o.dBook().handle_pressZoom(dir,x,y);}catch(e){}}
function ebook_pressScroll(x,y){if(e_o.bCommandDliver()) try{e_o.dBook().handle_pressScroll(x,y);}catch(e){}}
function ebook_pressLeftEndPage(){if(e_o.bCommandDliver())  try{e_o.dBook().handle_pressLeftEndPage();}catch(e){} }
function ebook_pressLeftPage(){if(e_o.bCommandDliver())  try{e_o.dBook().handle_pressLeftPage();}catch(e){} }
function ebook_pressRightPage(){if(e_o.bCommandDliver())  try{e_o.dBook().handle_pressRightPage();}catch(e){} }
function ebook_pressRightEndPage(){if(e_o.bCommandDliver())  try{e_o.dBook().handle_pressRightEndPage();}catch(e){} }
function ebook_getPageFix(){return e_pageFix}
function ebook_getConfigVar(val){
	var ret="";
	try{ret=eval(val);}catch(e){}
	return ret;
}
function ebook_getCurZoomRect(){
	return e_o.dBook().handle_getCurViewArea();
}
function ebook_getLeftSlidePage(){return e_o.dBook().handle_getLeftSlidePage();}
function ebook_getRightSlidePage(){return e_o.dBook().handle_getRightSlidePage();}
function ebook_getSlideTotal(){return e_o.dBook().handle_getSlideTotal();}
function ebook_getCurrZoomStep(){ try{ return e_o.dBook().handle_getCurrZoomStep();}catch(e){return e_fitZoomLevel;} }
function ebook_cursor(cur){if(viewerDiv.css){viewerDiv.css.cursor=cur; }else{viewerDiv.style.cursor=cur;}}
function ebook_getViewBoundRect(){
	var ret;
	ret=e_o.getElementRect(viewerDiv);
	return ret;
}
function ebook_setCfgVar(obj){
		e_totalPage=obj.e_totalPage;
		e_pageFix=obj.e_pageFix;
		e_startPage=obj.e_startPage;
		e_endPage=obj.e_endPage;
		e_bCoverSlide=obj.e_bCoverSlide;
		e_isDoublePage=obj.e_isDoublePage;
		e_isOldTurn=obj.e_isOldTurn;
		e_isOneImgTwoPage=obj.e_isOneImgTwoPage;
		e_isVerticalTurn=obj.e_isVerticalTurn;
		e_flipType=obj.e_flipType;
		e_isRemote=obj.e_isRemote;
}
function ebook_init(){
	e_screenColorDepth=window.screen.colorDepth;
	if( typeof(e_configPath)=="undefined" ) e_configPath="config";
	if( typeof(e_arrAppendFrame)=="undefined") e_arrAppendFrame=new Array();
	if( typeof(e_bFitViewerToWindow)=="undefined" ) e_bFitViewerToWindow=false;
	if( typeof(e_bDbookExtend)=="undefined" ) e_bDbookExtend=false;
	if( typeof(e_bZoomOnePage)=="undefined" ) e_bZoomOnePage=false;
	if( typeof(e_bCoverSlide)=="undefined" ) e_bCoverSlide=false;
	if( typeof(e_bCenterView)=="undefined" ) e_bCenterView=false;
	if( typeof(e_pageFix)=="undefined" ) e_pageFix=0;
	if( typeof(e_cursorType)=="undefined" ) e_cursorType="default";
	if( typeof(e_strFullScreen)=="undefined" ) e_strFullScreen="n";
	if( typeof(e_borderThick)=="undefined" ) e_borderThick=1;
	if( typeof(e_borderColor)=="undefined" ) e_borderColor="#eeeeee";
	if( typeof(e_bSupportMouseWheel)=="undefined" ) e_bSupportMouseWheel=false;
	if( typeof(e_ghostZoomLevel)=="undefined") e_ghostZoomLevel=0;
	if( typeof(e_bViewBorderImg)=="undefined") e_bViewBorderImg=true;
	if( typeof(e_fitRatio)=="undefined") e_fitRatio=1.2;
	if( typeof(e_bUseAntiAlias)=="undefined") e_bUseAntiAlias=true;
	if( typeof(e_bMouseBtnChg)=="undefined") e_bMouseBtnChg=false;
	if( typeof(e_bLinkTargetOne)=="undefined") e_bLinkTargetOne=false;
	if( typeof(e_timeOutSec)=="undefined" ) e_timeOutSec=8;
	if( typeof(e_bHavePlayer)=="undefined" ) e_bHavePlayer=false;
	if( typeof(e_bAutoPlayer)=="undefined" ) e_bAutoPlayer=false;
	if( typeof(g_sWork)=="undefined" ) g_sWork="";
	if( typeof(e_coverType)=="undefined" ) e_coverType=0;
	if( typeof(e_zoomBorder)=="undefined" ) e_zoomBorder="line";
	
	try{
		if(e_strFullScreen!="x" && (top.e_strFullScreen=="y" || top.e_strFullScreen=="init") ){
			if(window==top){
				window.moveTo(0,0);
				window.resizeTo(screen.availWidth, screen.availHeight);
			}
		}
	}catch(e){}

	if(e_bFitViewerToWindow) e_bDbookExtend=true;
	
	var strHost, strAbsURL;
	var nStart,nEnd;
	var strHref=document.location.href;
	var oBaseColl = document.getElementsByTagName('BASE');
	var strBase=(oBaseColl && oBaseColl.length) ? oBaseColl[0].href : "";
	strHost=document.location.host;
	if(strBase!=""){
		if(strHost.length>0 && strBase.indexOf(strHost)>=0) strHref=strBase;
		else{ alert("BASE Error"); return false;}
	}
	
	if(e_absURL.length==0){
		nEnd = strHref.lastIndexOf("/");
		if(strHref.indexOf("http://")==0 || strHref.indexOf("https://")==0){
			nStart = strHref.indexOf("/", strHref.indexOf(strHost)+2);
			e_absURL = strHref.substring( nStart, nEnd+1);
		}else{
			strHref = strHref.replace("\\", "/");
			nEnd = strHref.lastIndexOf("/");
			if(strHref.indexOf("file://")==0)
				e_absURL = strHref.substring( 0, nEnd+1);
		}
		e_absHref = strHref.substring( 0, nEnd+1);
	}else{
		e_absHref=e_absURL;
	}
	if( typeof(e_indexFileName)=="undefined") e_docBaseURL=document.location.href;
	else e_docBaseURL=e_absHref+e_indexFileName;
	
	if( typeof(e_copyrightInfoURL)!="undefined") e_linkFile=e_copyrightInfoURL;
	return true;
}
function ebook_getFlashVars(){
	var ret="e_configPath="+e_configPath;
	ret+="&e_isIEBrowser="+e_isIEBrowser;
	ret+="&e_isSafari="+e_isSafari;
	return ret;
}
function ebook_getObjectHtml(){
	var fVars=ebook_getFlashVars();
	
	var ret='<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0" style="-khtml-user-select:none;-khtml-user-drag:none;-moz-user-focus:ignore;-moz-user-input:disabled;-moz-user-select:no;">';
	ret+='<tr>';
	ret+='<td id="td_viewerLeft" name="td_viewerLeft" width="0" valign="top" style="display:none"></td>';
	ret+='<td width="100%" align="center" valign="center">';
	ret+='<div id="viewerDiv" name="viewerDiv" contenteditable="false" style="cursor:default;overflow:hidden;position:relative;width:100%;height:100%;';
	if(e_isIEBrowser){
		ret+='border:1px solid transparent">';
		ret+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="dBook" name="dBook" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" border="0" onselect="javascript:return false;" style="position:absolute;left:0px;top:0px;" oncontextmenu="javascript:return false;">';
		ret += '<param name="movie" value="appendix/eBook.swf?'+fVars+'" />';
		ret += '<param name="wmode" value="transparent" />';
		ret += '<param name="allowScriptAccess" value="sameDomain" />';
		ret += '<param name="allowFullScreen" value="true" />';
		ret += '</object>';
	}else{
		ret+='">';
		ret+='<embed src="appendix/eBook.swf?'+fVars+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" id="dBook" name="dBook" align="middle" type="application/x-shockwave-flash" allowScriptAccess="sameDomain" allowFullScreen="true" pluginspage="http://www.macromedia.com/go/getflashplayer" style="position:absolute;left:0px;top:0px;z-index:0;"/>';
	}
	ret += '<div id="ebook_htmlTip"  name="ebook_htmlTip" onmouseover="javascript:link_tipOver(event);" onmouseout="javascript:link_tipOut(event);"  onresize="javascript:link_tipResize(event);" style="position:absolute;top:0px;left:0px;display:none;z-index:3000;-khtml-user-drag:none;"></div>';
	ret += '</div>';
	ret+='</td>';
	ret+='<td id="td_viewerRight" name="td_viewerRight" width="0" valign="top" style="display:none"></td>';
	ret+='</tr>';
	ret+='</table>';
	return ret;
}
var e_arrMenuDisplay;
function ebook_fullscreen(isFullScreen){
	if(typeof(skin_sideMenuHideByFullScreen)=="undefined") skin_sideMenuHideByFullScreen=true;
	
	var skin_MenuTop=e_o.getObj("skin_MenuTop");
	var skin_MenuBottom=e_o.getObj("skin_MenuBottom");
	var skin_MenuLeft=e_o.getObj("skin_MenuLeft");
	var skin_MenuRight=e_o.getObj("skin_MenuRight");
	var td_viewerLeft=e_o.getObj("td_viewerLeft");
	var td_viewerRight=e_o.getObj("td_viewerRight");
	var smenu_Table=e_o.getObj("smenu_Table");
	if(isFullScreen){
		e_arrMenuDisplay=new Array();
		e_arrMenuDisplay.push(skin_MenuTop.style.display);
		e_arrMenuDisplay.push(skin_MenuBottom.style.display);
		e_arrMenuDisplay.push(skin_MenuLeft.style.display);
		e_arrMenuDisplay.push(skin_MenuRight.style.display);

		skin_MenuTop.style.display="none";
		skin_MenuBottom.style.display="none";
		skin_MenuLeft.style.display="none";
		skin_MenuRight.style.display="none";
		if(skin_sideMenuHideByFullScreen){
			e_arrMenuDisplay.push(td_viewerLeft.style.display);
			e_arrMenuDisplay.push(td_viewerRight.style.display);
			e_arrMenuDisplay.push(smenu_Table.style.display);
			td_viewerLeft.style.display="none";
			td_viewerRight.style.display="none";
			
			try{
				if(smenu_o.curTab.length>0){
					smenu_o.tabClick(smenu_o.curTab);
				}
			}catch(e){}
			smenu_Table.style.display="none";
		}
	}else{
		skin_MenuTop.style.display=e_arrMenuDisplay[0];
		skin_MenuBottom.style.display=e_arrMenuDisplay[1];
		skin_MenuLeft.style.display=e_arrMenuDisplay[2];
		skin_MenuRight.style.display=e_arrMenuDisplay[3];
		if(skin_sideMenuHideByFullScreen){
			td_viewerLeft.style.display=e_arrMenuDisplay[4];
			td_viewerRight.style.display=e_arrMenuDisplay[5];
			smenu_Table.style.display=e_arrMenuDisplay[6];
		}
	}
}
function ebook_checkCommunication(bChk){
	if(e_initComplete) return;
	if(bChk) try{var chk=e_o.dBook().handle_checkCommunication();}catch(e){document.location.replace(e_absURL+"appendix/guide.htm");}
	else setTimeout("ebook_checkCommunication(true)", e_timeOutSec*1000);
}
function ebook_write(){
	var sReq=e_o.getRequestVar("zoombox");
	if(sReq=="n") e_zoomBox="no";
	sReq=e_o.getRequestVar("iconview");
	if(sReq=="n") e_iconView="no";
	sReq=e_o.getRequestVar("centerview");
	if(sReq=="n") e_bCenterView=false;
	sReq=e_o.getRequestVar("pagelabel");
	if(sReq=="n") e_pageLabel="";
	sReq=e_o.getRequestVar("extend");
	if(sReq=="n") e_bDbookExtend=false;
	sReq=e_o.getRequestVar("fit");
	if(sReq=="n") e_bFitViewerToWindow=false;
	sReq=e_o.getRequestVar("fscreen");
	if(sReq=="n" || sReq=="y" || sReq=="init" || sReq=="x") e_strFullScreen=sReq;
	sReq=e_o.getRequestVar("zoomone");
	if(sReq=="y") e_bZoomOnePage=true;
	else if(sReq=="n") e_bZoomOnePage=false;
	sReq=e_o.getRequestVar("border");
	if(sReq=="y") e_bViewBorderImg=true;
	else if(sReq=="n") e_bViewBorderImg=false;
	sReq=e_o.getRequestVar("dpage");
	if(sReq=="y") e_isDoublePage=true;
	else if(sReq=="n") e_isDoublePage=false;
	sReq=e_o.getRequestVar("oturn");
	if(sReq=="y") e_isOldTurn=true;
	else if(sReq=="n") e_isOldTurn=false;	
	sReq=e_o.getRequestVar("vturn");
	if(sReq=="y") e_isVerticalTurn=true;
	else if(sReq=="n") e_isVerticalTurn=false;
	sReq=e_o.getRequestVar("onetwo");
	if(sReq=="y") e_isOneImgTwoPage=true;
	else if(sReq=="n") e_isOneImgTwoPage=false;
	sReq=e_o.getRequestVar("cover");
	if(sReq=="y") e_bCoverSlide=true;
	else if(sReq=="n") e_bCoverSlide=false;
	sReq=e_o.getRequestVar("antialias");
	if(sReq=="y") e_bUseAntiAlias=true;
	else if(sReq=="n") e_bUseAntiAlias=false;	
		
	if(ebook_init()){
		sReq=e_o.getRequestVar("startpage");
		if(!isNaN(parseInt(sReq))){
			e_spage=parseInt(sReq)-e_pageFix;
			if(e_isDoublePage && e_isOneImgTwoPage) e_spage=(e_bCoverSlide)?Math.ceil((e_spage+1)/2):Math.ceil(e_spage/2);
		}
		if(e_spage<=0) e_spage=1;
		
		if(e_isIEBrowser && e_infoSize>10000 && e_absURL.indexOf("file://")==0){
			try{
				e_oReadBin = new ActiveXObject( "AlbummaniaKDMparser.Parser" );
				if( e_absURL.indexOf("file:///")==0 ) e_localPath = e_absURL.substring( "file:///".length );
				else e_localPath = "//" + e_absURL.substring( "file://".length );
				
				var re = new RegExp("/","g");
				e_localPath=e_localPath.replace(re, "\\");
				e_localPath = unescape( e_localPath );
				e_bReadBinUse=true;	
			}catch(e){
				document.write('<object classid="clsid:B21E0736-C2DD-4F68-A174-54801A7C5D77" width="1" height="1" codebase="'+e_absURL+'appendix/AlbummaniaKDMparser.cab"></object>');
				setTimeout("ebook_reload(0);", 2000);
				return;
			}
		}
		var html = ebook_getObjectHtml();
		document.write(html);
		ebook_addDefEventListner();	
		e_RClick={
			init: function (){
				this.FlashObjectID = "dBook";
				this.FlashContainerID = "viewerDiv";
				this.Cache = this.FlashObjectID;
				if(window.addEventListener){
					document.addEventListener("mousedown", this.onGeckoMouseDown(), true);
					document.addEventListener("mouseup", this.onGeckoMouseUp(), false);
				}else{
					document.getElementById(this.FlashContainerID).onmouseup=e_RClick.onIEMouseUp;
					document.oncontextmenu = function(){ 
						if(window.event.srcElement.id == e_RClick.FlashObjectID) { return false; } else { e_RClick.Cache = "nan"; }
						if(window.event.srcElement.id == e_RClick.FlashContainerID) { return false; }
					}
					document.getElementById(this.FlashContainerID).onmousedown=e_RClick.onIEMouseDown;
				}
			},
			killEvents: function(eventObject){
				if(eventObject){
					if (eventObject.stopPropagation) eventObject.stopPropagation();
					if (eventObject.preventDefault) eventObject.preventDefault();
					if (eventObject.preventCapture) eventObject.preventCapture();
					if (eventObject.preventBubble) eventObject.preventBubble();
				}
			},
			onGeckoMouseDown: function(ev){
				return function(ev){
					if (ev.button>1){
						e_RClick.killEvents(ev);
						if(ev.target.id == e_RClick.FlashObjectID) {
							if(ev.layerX) e_RClick.call(true, ev.layerX, ev.layerY);
							else e_RClick.call(true, ev.offsetX, ev.offsetY);
						}
						e_RClick.Cache = ev.target.id;
						return false;
					}
				}
			},
			onGeckoMouseUp: function(ev){
				return function(ev){
					if (ev.button>1){
						if(ev.target.id== e_RClick.FlashObjectID) {
							if(ev.layerX) e_RClick.call(false, ev.layerX, ev.layerY);
							else e_RClick.call(false, ev.offsetX, ev.offsetY);
						}
					}
				}
			},
			onIEMouseDown: function(){
				if (event.button>1){
					if(window.event.srcElement.id == e_RClick.FlashObjectID){
						e_RClick.call(true, event.offsetX, event.offsetY); 
					}
					document.getElementById(e_RClick.FlashContainerID).setCapture(true);
					if(window.event.srcElement.id)
						e_RClick.Cache = window.event.srcElement.id;
				}
			},
			onIEMouseUp: function(){
				document.getElementById(e_RClick.FlashContainerID).releaseCapture();
				if (event.button>1){
					if(window.event.srcElement.id == e_RClick.FlashObjectID){
						e_RClick.call(false, event.offsetX, event.offsetY); 
					}
				}
			},
			call: function(isDown, mx, my) {
				document.getElementById(e_RClick.FlashObjectID).ext_mouseRight(isDown, mx,my);
			}
		}
		e_RClick.init();
	}
	setTimeout("e_o.writeLoadingImage();",12);
	setTimeout("ebook_checkCommunication(false);", 5000);
}
function ebook_reload(num){
	try{
		e_oReadBin = new ActiveXObject( "AlbummaniaKDMparser.Parser" );
		document.location.reload();
	}catch(e){
		setTimeout("ebook_reload("+(num+1)+");", 2000);
	}
}
function ebook_setTextCapture(){
	try{
		var bSet = !e_o.dBook().handle_getTextCaptureState();
		if(bSet){
			return e_o.dBook().handle_setTextCapture(true);
		}else{
			e_o.dBook().handle_setTextCapture(false);
			return false;
		}
	}catch(e){return false;}
}
function ebook_setImgCapture(){
	if(!e_isIEBrowser) return false;
	var bSet = !e_o.dBook().handle_getImgCaptureState();
	if(bSet){
		if(typeof(e_oImgBox)=="undefined"){
			var sHtml='<object classid="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">';
			sHtml+='<param name="LPKPath" value="appendix/csxImage.lpk"/>';
			sHtml+='</object>';
			sHtml+='<object id="e_oImgBox" name="e_oImgBox" classid="clsid:62E57FC5-1CCD-11D7-8344-00C1261173F0" CODEBASE="appendix/csxImage.cab#version=2,2,0,0" style="position:absolute;top:0px;left:0px;width:0px;height:0px;">';
			sHtml+="</object>";
			document.body.insertAdjacentHTML("beforeEnd",sHtml);
		}
		if(typeof(e_oImgBox.Visible)!="undefined"){
			e_o.dBook().handle_setImgCapture(true);
			return true;
		}else{
			return false;
		}
	}else{
		e_o.dBook().handle_setImgCapture(false);
		return false;
	}
}
function ebook_saveCaptureImg(x,y,width,height){
	try{
		var viewRect=e_o.getElementRect(dBook);
		var left = window.screenLeft + viewRect.x + x+2;
		var top = window.screenTop + viewRect.y + y+2;
		e_oImgBox.CaptureScreen();
		e_oImgBox.Crop(left, top, left+width-1, top+height-1);
		e_oImgBox.UseSelection=false;
		e_oImgBox.Copy();
		alert(MSG_IMG_CAPTURE);
	}catch(e){}
}
function ebook_readBin(start, end){
	var ret = e_oReadBin.Bin_Dump(e_localPath+e_dataDirectory+"\\" + e_imgFile, start, end-start,  "");
	ret = ret.replace( /\\/g, "\\\\" );
	return  ret;
}
function ebook_deleteBin(path){
//	path.replace(/\\/g, "\\\\");
//	try{e_oReadBin.Bin_Delete(path);}catch(e){}
}
function ebook_block(evt){window.isblocked=true;}
function ebook_unload(){
	if(e_isIEBrowser && !window.isblocked){
		e_isUnload=true;
		for(var i=0;i<3;i++) try{e_o.dBook().handle_unload();}catch(e){}
		document.close();
		for(var i=0;i<5;i++){
			document.recalc();
			document.close();		
		}
	}
	window.isblocked=false;
}
function ebook_addDefEventListner(){
	if(e_isIEBrowser){
//		window.attachEvent("onbeforeunload", ebook_unload);
//		document.attachEvent("onclick", ebook_block);
		viewerDiv.attachEvent("onscroll",ebook_protectScroll);
	}
	e_bRemovedDefEventListner=false;
}
function ebook_protectScroll(evt){
	evt.srcElement.scrollTop=0;
	evt.srcElement.scrollLeft=0;
}
function ebook_removeDefEventListner(obj){
	if(e_isIEBrowser){
		window.detachEvent("onbeforeunload", ebook_unload);
		document.detachEvent("onclick", ebook_block);
	}
	e_bRemovedDefEventListner=true;
}
function ebook_setHighright(page, x1,x2,y1,y2){
	e_o.dBook().handle_setFocusArea(false, page, x1,x2,y1,y2, "blink=1&borderThick=3&bgColor=#EEEEEE", true, false);
}
function ebook_showFrame(frameID,url, bTrans, bView){
	var oFrame = document.getElementById(frameID);
	if(oFrame){
		var strSrc = oFrame.src;
		if( strSrc.indexOf(e_absHref)>=0 ) strSrc=strSrc.substring(e_absHref.length, strSrc.length);
		
		if(strSrc==url){
			if(oFrame.style.visibility=="hidden") oFrame.style.visibility="visible";
			else if(!bView) oFrame.style.visibility="hidden";
			
			oFrame.style.display="";
		}else oFrame.src=url;
			
		try{
			if(oFrame.style.visibility=="visible"){
				if(document.frames) document.frames[frameID].frm_obj.focus();
				else if(window.frames) window.frames[frameID].frm_obj.focus();
				else oFrame.frm_obj.focus();
			}
		}catch(e){}
	}else{
		var oElement = document.createElement("iframe");
		oElement.id=frameID;
		oElement.name=frameID;
		oElement.frameBorder=0;
		oElement.scrolling="auto";
		oElement.style.position="absolute";
		oElement.style.left="0px";
		oElement.style.top="0px";
		oElement.style.visibility="hidden";
		oElement.allowTransparency=bTrans;
		oElement.style.backgroundColor="#ffffff";
		oElement.style.filter = "Alpha(Opacity=90)"; 
		oElement.style.opacity=0.9;
		document.getElementById("viewerDiv").appendChild(oElement);
		oElement.src = url;
		e_arrAppendFrame.push(frameID);
	}
}
function ebook_pressPrint(){
	e_o.dBook().handle_pressPrint();
}
function ebook_getOSType(){
	try{
		var ret = "unknown";
		var uagt = window.navigator.userAgent;
		uagt = uagt.toLowerCase();
		if(uagt.indexOf("win")>=0){
			if(uagt.indexOf("win95")>=0 || uagt.indexOf("windows 95")>=0) ret="Windows 95";
			else if(uagt.indexOf("win98")>=0 || uagt.indexOf("windows 98")>=0) ret="Windows 98";
			else if(uagt.indexOf("win 9x 4.90")>=0) uagt="Windows ME";
			else if(uagt.indexOf("windows nt 5.0")>=0) ret="Windows 2000";
			else if(uagt.indexOf("windows nt 5.1")>=0) ret="Windows XP";
			else if(uagt.indexOf("windows nt 5.2")>=0) ret="Windows 2003";
			else if(uagt.indexOf("windows nt 6.0")>=0) ret="Windows Vista";
			else if(uagt.indexOf("winnt")>=0 || ret.indexOf("windows nt")>=0) ret="Windows NT";
			else ret= window.navigator.platform;
		}else ret= window.navigator.platform;
		return ret;
	}catch(e){ return "unknown"; }
}
function ebook_isWindowOs(){
	try{
		if(window.navigator.platform.toLowerCase().indexOf("win")>=0) return true;
		else return false;
	}catch(e){}
	return false;
}
function ebook_preventEvtBubble(evt){
	try{if(evt.stopPropagation) evt.stopPropagation();}catch(e){}
	try{if(evt.preventDefault) evt.preventDefault();}catch(e){}
	try{if(evt.preventCapture) evt.preventCapture();}catch(e){}
	try{if(evt.preventBubble) evt.preventBubble();}catch(e){}
	try{
		evt.cancelBubble=true;
		evt.returnValue=false;
	}catch(e){}
}
function ebook_alert(str){
	setTimeout("try{alert(unescape('"+escape(str)+"'));}catch(e){}",10);
}
function ebook_debug(){
	try{
		var args=ebook_debug.arguments;
		var str="";
		for(var i=0;i<args.length;i++){
			var tmp=(typeof(args[i])=="undefined")?"":args[i].toString();
			if(i==0) str=tmp;
			else str=str+","+tmp;
		}
		document.frm.txtarea_debug.value = str + "\r\n" + document.frm.txtarea_debug.value;
	}catch(e){}
}

