/*

코드 작성 예.................

항상 <DIV id = "main">에서 부터 레이어 삽입

글로벌 변수
puzzle.view.call_page_url		//페이지 넘김시 Call시키는 URL (default : '');
puzzle.view.domain				//현 호스트 도매인정보값 (예:http://ebook.puzzle.com)
puzzle.view.bookcode			//현재 북코드
puzzle.view.skin				//현재 스킨명
thumb_xml						//현재 스킨xml 변수

메소드
puzzle.view.gotoPage()			//해당페이지이동



$(document).ready(function(){
	//여기서 부터 코드 시작
});

플래시에서 넘겨주는 변수값
bookcode = 북코드
bookView = 북모드
zeroPage = 제로페이지 여부
page = 페이지번호
*/

var bookmark_data = new Array(); 			//북마크 데이터 값
var bookmark_flag = 0;						//북마크 탭 활성 유무
var bookmark_existCnt = 0;					//실제 북마크 카운트
var bookmark_bookcode = "";

var bookmark_pageCnt = 0;
var bookmark_xml ="";
var bookmark_ini = 0;

var xml2json_flag = 0;                      //puzzle.view.thumb_xml 결과가 하나일떄 배열 사용 안함

$(document).ready(function(){
});

//리스트 영역
var bookmarks = function(arg)
{
	bookmark_bookView = arg.bookView;
	bookmark_zeroPage = arg.zeroPage;
	bookmark_xml = $.xml2json(puzzle.view.thumb_xml);
//    alert(bookmark_xml.thumbnails.img.url);
    bookmark_pageCnt = bookmark_xml.thumbnails.img.length;
    if(typeof bookmark_pageCnt == "undefined")
    {
        xml2json_flag = 1;
        bookmark_pageCnt = 1;
    }
	bookmark_bookcode = arg.bookcode;
	
	if(bookmark_ini == 0)
	{
		// 마크업 생성
		var html  = "";
		html +="<div id='bookmark_tap'>BookMark</div>";
		html +="<div id='bookmark_area' ></div>";
		$("#main").append(html);
		
		//로딩시 페이지갯수만큼의 배열 생성  
		bookmark_data.length = bookmark_pageCnt + 1;
		for(var i=0;i<bookmark_data.length;i++){
			bookmark_data[i] = "";
			
		}
		
		//로딩시 페이지갯수만큼의 DIV 생성  
		var bookmark_list = "";
		for(var j=1;j<bookmark_data.length;j++){
			bookmark_list += "<div class='bookmark_thumbnail' id='div_id_" + j + "'></div>";
		}
		$("#bookmark_area").append(bookmark_list);
		bookmark_ini = 1;
		
		
		//북마크 탭 클릭시 슬라이드 : data 있을때만 구동
		$("#bookmark_tap").click (function() {
			if(bookmark_flag == 0)
			{
				$("#bookmark_area").show();
				$("#bookmark_tap").css("bottom","100px");
				$("#bookmark_area").css("height","100px");
				bookmark_flag = 1;
			}else
			{
				$("#bookmark_tap").css("bottom","0px");
				$("#bookmark_area").hide();
				bookmark_flag = 0;
			}
		});
	}
	
	//양면일때 북마크 양쪽(+1페이지) 두번 표현 ====>>>>> 마직막 페이지 표현 고찰
	if(arg.bookView == "book")
	{
		//양면일때 0페이지가 없고, 1페이지 호출시 한페이지 표현
		if((!arg.zeroPage)&&(arg.page==1))
		{
			bookmark_input(arg.page);
		}
		else {
			if(!arg.zeroPage)			//zero 페이지 있다.
			{
				if((arg.page%2) != 0)		//호출페이지가 홀수이면
				{
					bookmark_input(arg.page);
					if(arg.page <= bookmark_pageCnt)
					{
						var addNum = eval(arg.page) - 1;
						bookmark_input(addNum);
					}
				}else					//호출페이지가 짝수이면
				{
					bookmark_input(arg.page);
					var addNum = eval(arg.page) + 1;
					bookmark_input(addNum);
				}
			}
			else						//zero 페이지 없다.양면
			{
				if((arg.page%2) != 0)		//호출페이지가 홀수이면
				{
					bookmark_input(arg.page);
					if(arg.page <= bookmark_pageCnt)
					{
						var addNum = eval(arg.page) + 1;
						bookmark_input(addNum);
					}
				}else					//호출페이지가 짝수이면
				{
					bookmark_input(arg.page);
					var addNum = eval(arg.page) - 1;
					bookmark_input(addNum);
				}
			}
		}
	}else
	{	// 단면(프리젠테이션) 모드일때 한페이지 표현
		bookmark_input(arg.page);
		
	}
}

//입력 함수
var bookmark_input = function(argPage)
{
	if(!bookmark_data[argPage])			//중복확인 : 공백값이면 없다고 판단하여 표현, 값이 있으면 중복
	{
		var bookmark_xmlpage = argPage -1;
        if(xml2json_flag == 1)
        {
            bookmark_data[argPage] = { "id": bookmark_xml.thumbnails.img.id, "bookcode": bookmark_bookcode, "url": bookmark_xml.thumbnails.img.url };
        }else{
            bookmark_data[argPage] = { "id": bookmark_xml.thumbnails.img[bookmark_xmlpage].id, "bookcode": bookmark_bookcode, "url": bookmark_xml.thumbnails.img[bookmark_xmlpage].url };    
        }
		
		bookmark_display(argPage);
	}
}

//리스트 표현
var bookmark_display = function(argPage)
{
	//alert(bookmark_data[argPage].url);
	var bookmark_thumbnail = "<img rel='bookmark_img' page='" + bookmark_data[argPage].id + "' src='" + bookmark_data[argPage].url + ".jpg'><P>" + bookmark_data[argPage].id +" page <span class='close' rel='bookmark_x' idx='" + bookmark_data[argPage].id + "'>x</span></P>";
	$("#div_id_" + argPage + "").append(bookmark_thumbnail);
	$("#div_id_" + argPage + "").css("margin","10px 10px 0 0");
	
	bookmark_existCnt++;			//실제 표현되는 북마크 카운트 증가
	
	// 썸네일 클릭시 페이지 넘김
	$('img[rel="bookmark_img"]').click( function(){
		puzzle.view.gotoPage($(this).attr('page') - 1);
	});
	
	// x 클릭시 리스트에서 썸네일 삭제
	$('span[rel="bookmark_x"]').click( function(){
		var arg =$(this).attr('idx') ;
		$("#div_id_" + arg + "").css("margin","10px 0 0 0");
		$("#div_id_" + arg + "").children().remove();
		bookmark_data[arg]="";
		bookmark_existCnt--;			//실제 표현되는 북마크 카운트 증가
		bookmark_exist_check();			//북마크 데이타 유무에 따른 슬라이드 표현
	});

	bookmark_exist_check();				//북마크 데이타 유무에 따른 슬라이드 표현
	
	//북마크 data 존재하고, 북마크 비활성화시 썸네일 추가 후 활성화
	if(bookmark_flag == 0) {
		$("#bookmark_area").show();
		$("#bookmark_tap").show();
		$("#bookmark_tap").css("bottom","100px");
		$("#bookmark_area").css("height","100px");
		bookmark_flag = 1;
	}
}

//북마크 데이타 유무에 따른 슬라이드 표현
var bookmark_exist_check = function()
{
	//북마크 데이타 없을시 탭포함 모두 숨김, data 생성시 다시 표시
	if(bookmark_existCnt == 0)
	{	
		$("#bookmark_tap").css("bottom","0px");
		$("#bookmark_tap").hide();
		$("#bookmark_area").hide();
	}else
	{
		$("#bookmark_area").show();
		$("#bookmark_tap").show();
		$("#bookmark_tap").css("bottom","100px");
	}
}



