﻿var currentPageIndex=1,totalPage;
var xmlData;
var Magazine={
    Init:function(u,t,c)
    {
       Ajax(u,t,c); 
       Magazine.InitBookBar();
       totalPage = Magazine.length();
       Magazine.ShowPage(1,2);
    },
    display:function()
    {
        $("#bookcover").css({display:"none"});
        $("#book").css({display:"block"});
    },
    InitBookBar:function()
    {        
        var version=$(xmlData).children(0).attr("version");
        var title=$(xmlData).children(0).attr("title")
        var html=new Array();
        html.push('<a href="javascript:">《'+title+'》</a>《'+title+' '+version+'》编辑部 著');
        html.push('<a id="btn_menu style" href="javascript:Magazine.ShowPage(1,2)">目录</a>');
        $('#book_bar').html(html.join(''));
    },
    ShowPage:function(start,end){
         $("#fliter").css({display:"block"}).
         
         animate({opacity:0.5},500,
                 function(){
                    if(start == 1 && end == 2)currentPageIndex=2;
                    $('#pageno_left').html('第'+start+'页');
                    $('#pageno_right').html('第'+end+'页');
                    Magazine.getLeft(start);
                    Magazine.getRight(end);
                    $(this).animate({opacity:0},500).css({display:"none"});
                  });
      
    },
    TurnPage:function(num)
    {
        if(totalPage =='undefined' || totalPage <=2)
            return;
        var tempindex;
        if(num>0)
            tempindex=currentPageIndex+num;
        else
            tempindex=currentPageIndex%2>0?(currentPageIndex+(num*3)):(currentPageIndex+(num*2));
            
        currentPageIndex=totalPage>tempindex?tempindex:totalPage;
        currentPageIndex=currentPageIndex<=2?2:currentPageIndex;        
        if(currentPageIndex%2!=0)
            currentPageIndex += 1;
        Magazine.ShowPage(currentPageIndex-1,currentPageIndex);
    },
    Go:function(index)
    {
        currentPageIndex=index;
        if(index%2!=0)
            Magazine.ShowPage(index,index+1);
        else
            Magazine.ShowPage(index-1,index);
    },
    length:function(){
        return $(xmlData).find('Article').length + 1;
    },
    getArticleByIndex:function(index)
    {
        var title,author,content,name;
        $(xmlData).find('Article').each(function(i){　
            if(i==index)
            {
                author=$(this).children("author").text();
                title=$(this).children("title").text();
                content=$(this).children("content").text();
                name=$(this).children("name").text();
            }　　　　　　　　　　　　　　　　　 
　　　 });
　　　 return {author:author,title:title,content:content,name:name};
    },
    getDirectory:function(){
       var title,i;
       var titleList=Array();
       titleList.push('<div class="book_page_title">目录</div>');
       titleList.push('<div class="book_menu">');　　　　　　　　　　　　　 
　　　 $(xmlData).find('Article').each(function(index){
　　　      i = index >= 1 ? (index+2):(index+1);
　　　      title = $(this).children("title").text()
　　　      titleList.push('<dl>');
            titleList.push('    <dt><a href="javascript:" onclick="Magazine.Go('+i+')">'+title+'</a></dt>');
            titleList.push('    <dd class="book_pageno"><span>第'+i+'页</span></dd>');
            titleList.push('</dl>');
　　　 });
       titleList.push('</div>');
       $("#book_right").html(titleList.join(''));　
　　　 return titleList.join('');
    },
    getContent:function(index){        
        var html=Array();
        var Article= Magazine.getArticleByIndex(index);
        html.push('<div class="book_article_name">'+htmlDecode(Article.name)+'</div>');
        html.push('<div class="book_article_title">'+htmlDecode(Article.title)+'</div><div class="book_isa_content"><pre>');
        html.push(htmlDecode(Article.content));
        html.push('</pre></div>');  
        return html.join(''); 
    },
    getLeft:function(index){   
        var currentIndex= (index-2)<=0?0:(index-2);
        $("#book_left").html(Magazine.getContent(currentIndex));
    },
    getRight:function(index){   
        var currentIndex= (index-2)<=1?1:(index-2);
        if(currentIndex==1)
            $("#book_right").html(Magazine.getDirectory());
        else{
                if(index>totalPage) 
                    $("#book_right").html('')
                else
                    $("#book_right").html(Magazine.getContent(currentIndex));
            }
    }
}

var Ajax=function(u,t,c){
   $.ajax({ 
        url: u,
        dataType:t,
        data: "time="+new Date().toLocaleDateString(),

        async: false, /*必须同步请求，否则DATA可能为空*/
        error:function()
        {
            alert(0);
            /*"加载出错"*/
        },
        success: function(data)
        {      
            xmlData = data;
        }
    });
}

function htmlDecode(str){

    
    var    s    =    "";   
     if    (typeof str == 'undefined' ||str.length    ==    0)    return    "";   
     s    =    str.replace(/&amp;/g,    "&");   
     s    =    s.replace(/&lt;/g,        "<");   
     s    =    s.replace(/&gt;/g,        ">");   
     s    =    s.replace(/&nbsp;/g,        " ");   
     s    =    s.replace(/&apos;/g,      "\'");   
     s    =    s.replace(/&quot;/g,      "\"");   
     s    =    s.replace(/<br>/g,      "\n");   
     return    s;  
}
