(function(window, Util, API, Ebook){
/* 이북 API */
//Display
API.getDisplay = function(dis){
var orientData = window.orientation;
var displayStr;
if(Util.isMobile()){
//alert('orientData:'+orientData);
if(orientData==0||orientData==180){
//세로
displayStr = 'single';
}else if(orientData==90||orientData==-90){
//가로
displayStr = 'double';
}else{
//default
displayStr = 'double';
}
if(dis=='single'){
displayStr = 'single';
}
}else{
//pc
displayStr = 'double';
}
return displayStr;
}
// 페이지 이동
API.gotoPage = function(number) {
var _number_ = parseInt(number);
if( _number_>API.totalPage() ){
alert("페이지 번호("+(_number_)+")가 유효하지 않습니다.");
return;
}
Ebook.Function.gotoPage(number);
};
//rotate component set
API.rotateSetComp = function(comp,rotation){
if(rotation>360) rotation = rotation - 360;
var deg2radians = Math.PI * 2 / 360;
var rad = rotation * deg2radians ;
var costheta = Math.cos(rad);
var sintheta = Math.sin(rad);
var m11 = costheta;
var m12 = -sintheta;
var m21 = sintheta;
var m22 = costheta;
var matrixValues = 'M11=' + m11 + ', M12='+ m12 +', M21='+ m21 +', M22='+ m22;
//console.log("rotation:"+rotation);
comp.css({
WebkitTransform: 'rotate(' + rotation + 'deg)',
'-moz-transform': 'rotate(' + rotation + 'deg)',
'-ms-transform':'rotate('+rotation+'deg)',
'transform':'rotate('+rotation+'deg)',
'transform-origin':'0 0',
'-webkit-transform-origin':'0 0',
'-moz-transform-origin':'0 0',
'-ms-transform-origin':'0 0',
'filter':'progid:DXImageTransform.Microsoft.Matrix(sizingMethod=\'auto expand\','+matrixValues+')',
'-ms-filter':'progid:DXImageTransform.Microsoft.Matrix(SizingMethod=\'auto expand\','+matrixValues+')'
});
}
/* action function */
// 링크 url
API.linkUrl = function(url) {
window.open(url, "_blank");
}
API.targetMoveLeft = function(moveTarget,value,sec){
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+moveTarget);
if(target.length<1) return;
var moveValue = parseInt(target.css("left")) - parseInt(value);
if(sec){
target.animate({left:moveValue},parseInt(sec)*1000);
}else{
target.animate({left:moveValue});
}
}
API.targetMoveRight = function(moveTarget,value,sec){
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+moveTarget);
if(target.length<1) return;
var moveValue = parseInt(target.css("left")) + parseInt(value);
if(sec){
target.animate({left:moveValue},parseInt(sec)*1000);
}else{
target.animate({left:moveValue});
}
}
API.targetMoveTop = function(moveTarget,value,sec){
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+moveTarget);
if(target.length<1) return;
var moveValue = parseInt(target.css("top")) - parseInt(value);
if(sec){
target.animate({top:moveValue},parseInt(sec)*1000);
}else{
target.animate({top:moveValue});
}
}
API.targetMoveBottom = function(moveTarget,value,sec){
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+moveTarget);
if(target.length<1) return;
var moveValue = parseInt(target.css("top")) + parseInt(value);
if(sec){
target.animate({top:moveValue},parseInt(sec)*1000);
}else{
target.animate({top:moveValue});
}
}
API.targetAlphaPlus = function(alphaTarget,value) {
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+alphaTarget);
if(target.length<1) return;
var setValue = (parseFloat(value)>1) ? parseInt(value)*0.01 : parseFloat(value);
var alphaValue = parseFloat(target.css("opacity")) + setValue;
if(alphaValue>1)alphaValue = 1;
target.animate({opacity:alphaValue});
}
API.targetAlphaMinus = function(alphaTarget,value) {
var currentPage = API.currentPage();
var target = $(".contentsContainer").find("#"+alphaTarget);
if(target.length<1) return;
var setValue = (parseFloat(value)>1) ? parseInt(value)*0.01 : parseFloat(value);
var alphaValue = parseFloat(target.css("opacity")) - setValue;
if(alphaValue<0)alphaValue = 0;
target.animate({opacity:alphaValue});
}
API.targetVisibleRepeat = function(repeatTarget,value) {
var target = $(".contentsContainer").find("#"+repeatTarget);
var targetVisible = target.css("visibility");
if(target.length<1) return;
if(target.attr('mode')) return;
var totalTime = parseInt(value)*1000;
var countTime = 0;
target.attr({'mode':'on'});
target.stop();
var repeat = setInterval(function(){
if(countTime