﻿
    //全局变量所有景区队列
var ArrSpot;
var ArrBrowseSpot;
    var PageSize;
    var AllPageNo;
    var MemberPageNo;
    var FreePageNo;
    var OtherPageNo;

    var AllLength;
    var MemberLength;
    var FreeLength;
    var OtherLength;
    var TravelTypes;

//景区基本属性类
    var ScenicSpotBase = function(SpotName, ScenicSpotID, ImgUrl, Price, MemberPrice, Type, CityID, CountyID,SpotTravelTypes) {
        this.SpotName = SpotName;
        this.ScenicSpotID = ScenicSpotID;
        this.ImgUrl = ImgUrl;
        this.Price = Price;
        this.MemberPrice = MemberPrice;
        this.Type = Type;
        this.CityID = CityID;
        this.CountyID = CountyID;
        this.SpotTravelTypes = SpotTravelTypes;
    };


//将景区信息转换为Json数组
    var ScenicSpotJsonArray = function(strSpotName) {

        var Arr = new Array();
        var JsonSpotName = strSpotName.toString().split("@#$");
        var ScenicSpotInfo;
        var xScenicSpot;

        for (var i = 0; i < JsonSpotName.length; i++) {
            ScenicSpotInfo = JsonSpotName[i].split(",");
            xScenicSpot = new ScenicSpotBase(ScenicSpotInfo[0], ScenicSpotInfo[1], ScenicSpotInfo[2], ScenicSpotInfo[3], ScenicSpotInfo[4], ScenicSpotInfo[5], ScenicSpotInfo[6], ScenicSpotInfo[7], ScenicSpotInfo[8]);
            Arr[i] = xScenicSpot;
        }

        //    if (strSpotName != "") {
        //        var i;
        //        i = 0;
        //        for (var xItem in JsonSpotName) {
        //            Arr[i] = xItem;
        //            i++;
        //        }
        //    }
        //    alert(i);
        return Arr;

    };

//获取符合条件的景区数组
    var ScenicSpots = function(CityID, CountyID, Type, PageNo) {
        var RetArr = new Array;
        var j, m;
        var Maxj;
        var Minj;
        var arrTraveType;
        var IsSkip;
        j = 0;
        m = 0;

        Minj = PageSize * (PageNo - 1);
        Maxj = PageSize * PageNo;
        arrTraveType = TravelTypes.split(",");

        for (var i = 0; i < ArrSpot.length; i++) {
            if ((CityID == "" || ArrSpot[i].CityID == CityID) && (CountyID == "" || ArrSpot[i].CountyID == CountyID) && (Type == 99 || ArrSpot[i].Type == Type)) {
                //            if (CountyID != "") {
                //                alert(Maxj + " +++" + Minj + "+++" + ArrSpot[i].SpotName);
                //            }
                IsSkip = 0;
                if (TravelTypes != "") {
                    if (ArrSpot[i].SpotTravelTypes != '') {
                        for (var k = 0; k < arrTraveType.length - 1; k++) {
                            if (ArrSpot[i].SpotTravelTypes.indexOf(arrTraveType[k]) == -1) {
                                IsSkip = 1;
                                break;
                            }
                        }
                    }
                    else {
                        IsSkip = 1;
                    }


                }
                if (IsSkip == 0) {
                    if (Minj <= j && Maxj > j) {
                        RetArr[m] = ArrSpot[i];
                        m++;
                    }
                    j++;
                }



            }
        }

        switch (Type) {
            case 0:
                MemberLength = j;
                break;
            case 1:
                FreeLength = j;
                break;
            case 3:
                OtherLength = j;
                break;
            default:
                AllLength = j;
                break;

        }

        return RetArr;
    };



//算出每种景区的页面内容
var SpotPageContent = function(Type) {
    var PageContent;
    var PageNum;
    switch (Type) {
        case 0:
            PageNum = SpotPageNum(MemberLength );
            PageContent = "共" + MemberLength  + "条　当前第" + MemberPageNo  + "页 | 共" + PageNum + "页　" + SpotPageNumContent(Type, PageNum, MemberPageNo );
            break;
        case 1:
            PageNum = SpotPageNum(FreeLength );
            PageContent = "共" + FreeLength  + "条　当前第" + FreePageNo  + "页 | 共" + PageNum + "页　" + SpotPageNumContent(Type, PageNum, FreePageNo );
            break;
        case 3:
            PageNum = SpotPageNum(OtherLength );
            PageContent = "共" + OtherLength  + "条　当前第" + OtherPageNo  + "页 | 共" + PageNum + "页　" + SpotPageNumContent(Type, PageNum, OtherPageNo );
            break;
        default:
            PageNum = SpotPageNum(AllLength);
            PageContent = "共" + AllLength + "条　当前第" + AllPageNo + "页 | 共" + PageNum + "页　" + SpotPageNumContent(Type, PageNum, AllPageNo);
            break;
    }
    return PageContent;
    //  <a href="#">&lt;&lt;</a>　<a href="#">&lt;</a>　<a href="#">1</a>　<a href="#">2</a>　<a href="#">3</a>　<a href="#">4</a>　<a href="#">5</a>　<a href="#">6</a>　<a href="#">7</a>　<a href="#">8</a>　<a href="#">9</a>　<a href="#">&gt;</a>　<a href="#">&gt;&gt;</a>
};
    
    var SpotPageNum=function(Count)
    {
      var i;
      var j;
      i = Math.ceil(Count / PageSize);
//      j= Count % PageSize;
//      if (j!=0)
//      {
//        i = i +1;
//      }
        return i;
    };

    var SpotPageNumContent = function(Type, PageNum, PageNo) {
        var Content;
        var NumCount = 10;
        var mNumCount = NumCount / 2;


        var PageFirst;
        var PageFront;
        var PageBack;
        var PageLast;

        var i;

        var BeginNum;
        var EndNum;

        Content = "";

        PageFirst = 1;
        PageFront = PageNo - NumCount;

        if (PageFront < 1) {
            PageFront = 1;
        }
        PageLast = PageNum;
        PageBack = PageNo + NumCount;
        if (PageBack > PageNum) {
            PageBack = PageNum;
        }

        BeginNum = PageNo - mNumCount + 1;
        EndNum = PageNo + mNumCount + 1;

        if (BeginNum < 1) {
            EndNum = EndNum - BeginNum;
            BeginNum = 1;
        }

        if (EndNum > PageNum) {
            if (EndNum - PageNum > BeginNum) {
                BeginNum = 1;
            }
            else {
                BeginNum = BeginNum - EndNum + PageNum + 1;
            }
            EndNum = PageNum;
        }



        for (i = BeginNum; i <= EndNum; i++) {
            if (i == PageNo) {
                Content = Content + " <a href=\"#Spot\"  class=\"pageSelected\"  onclick=\"GoPage(" + Type + "," + i + ")\">" + i + "</a>";
            }
            else {
                Content = Content + " <a href=\"#Spot\" class=\"pagelink\" onclick=\"GoPage(" + Type + "," + i + ")\">" + i + "</a>";      
            }
        }

        Content = " <a href=\"#Spot\" title=\"首页\"  class=\"pagelink\"  onclick=\"GoPage(" + Type + ",1)\">&lt;&lt;</a>" + " <a href=\"#Spot\" title=\"上一页\"  class=\"pagelink\"  onclick=\"GoPage(" + Type + "," + PageFront + ")\">&lt;</a>" + Content + " <a href=\"#Spot\" title=\"下一页\"  class=\"pagelink\"  onclick=\"GoPage(" + Type + "," + PageBack + ")\">&gt;</a>" + " <a href=\"#Spot\"  title=\"尾页\" class=\"pagelink\"  onclick=\"GoPage(" + Type + "," + PageNum + ")\">&gt;&gt;</a>";


        return Content;



    };






    var GoPage = function(Type, PageNo) {
        switch (Type) {
            case 0:
                MemberPageNo = PageNo;
                break;
            case 1:
                FreePageNo = PageNo;
                break;
            case 3:
                OtherPageNo = PageNo;
                break;
            default:
                AllPageNo = PageNo;
                break;

        }
        RetrieveSpot(Type, PageNo);
    };

    var RetriveScenciptForCatalog = function() {
        AllPageNo = 1;
        MemberPageNo = 1;
        FreePageNo = 1;
        OtherPageNo = 1;
        RetrieveSpot(99, AllPageNo);
        RetrieveSpot(0, MemberPageNo);
        RetrieveSpot(1, FreePageNo);
        RetrieveSpot(3, OtherPageNo);
    };




    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    /////进行景区浏览操作//////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    //获取符合条件的景区数组
    //////////////////////////////////////读取已浏览景区信息
//    ScenicSpotBase = function(SpotName, ScenicSpotID, ImgUrl, Price, MemberPrice, Type, CityID, CountyID,SpotTravelTypes)
    var ReadBrowseContent = function() {
        var BrowseContent;
        var arr;
        var arrSpotInfo; //浏览景区信息集合
        var oSpot; //门票对象
        BrowseContent = getCookie('BrowseContent');

        if (BrowseContent == null || BrowseContent == '') {
            BrowseContent = '';
        }
        ArrBrowseSpot = new Array();
        arr = BrowseContent.split(";");
        for (i = 0; i < arr.length - 1; i++) {
            arrSpotInfo = arr[i].split(",");
            oSpot = new ScenicSpotBase(arrSpotInfo[0], arrSpotInfo[1], arrSpotInfo[2], arrSpotInfo[3], arrSpotInfo[4], arrSpotInfo[5], arrSpotInfo[6], arrSpotInfo[7], arrSpotInfo[8]);
            ArrBrowseSpot[i] = oSpot;
        }
    };
    //////////////////////////////////////写入已浏览景区信息
    var WriteBrowseContent = function() {
        var BrowseContent = '';
        for (i = 0; i < ArrBrowseSpot.length; i++) {
            BrowseContent = BrowseContent + ArrBrowseSpot[i].SpotName + ',' + ArrBrowseSpot[i].ScenicSpotID + ',' + ArrBrowseSpot[i].ImgUrl + ',' + ArrBrowseSpot[i].Price + ',' +
                                                            ArrBrowseSpot[i].MemberPrice + ',' + ArrBrowseSpot[i].Type + ',' + ArrBrowseSpot[i].CityID + ',' + ArrBrowseSpot[i].CountyID + ',' +
                                                            ArrBrowseSpot[i].SpotTravelTypes + ';';
        }
        setCookie('BrowseContent', BrowseContent, 1, '', '', '');
    };

    //////////////////////////////////////清空已浏览景区信息
    var ClearBrowseContent = function() {
        var BrowseContent = '';
        setCookie('BrowseContent', BrowseContent, 1, '', '', '');
    };

    ////////////////////////////////添加购物车
    function AddBrowseSpot(SpotName, ScenicSpotID, ImgUrl, Price, MemberPrice, Type, CityID, CountyID, SpotTravelTypes) {
        var i;
        var j;
        var iLength;
        BrowseSpot = new ScenicSpotBase(SpotName, ScenicSpotID, ImgUrl, Price, MemberPrice, Type, CityID, CountyID, SpotTravelTypes);
        iLength = ArrBrowseSpot.length;
        ArrBrowseSpot[iLength] = BrowseSpot;
        for (i = iLength-1; i >= 0; i--) {
            if (ArrBrowseSpot[i].ScenicSpotID == BrowseSpot.ScenicSpotID) {
                ArrBrowseSpot.splice(i, 1);
                break; 
            }
        }
        
        for (i = 0; i < ArrBrowseSpot.length-6; i++) {
            ArrBrowseSpot.splice(i, 1);
        }
        
        WriteBrowseContent();
    }