﻿/// <reference path="../Scripts/jquery-vsdoc.js" />
$.ajaxSettings.type = 'post';
$.ajaxSettings.dataType = 'json';
$.ajaxSettings.contentType = 'application/json; charset=utf8';

function GetAddressIdByName(addressName) {
    $.ajax({
        url: "/offer/EnterpriseManager.asmx/GetAddressId",
        data: "{addressName:'" + addressName + "',isProvince:false}",
        type: "post",
        dataType: 'json',
        contentType: 'application/json; charset=utf8',
        cache: false,
        success: function (data) {
            window.location.href = "/offer/city/" + data.d + "/";
        },
        error: function (xhr) {
            alert(xhr.responseText);
        }
    });
}
function AddTrackLog(url, millisecondCount) {
    $.ajax({
        url: "/offer/OfferComment.asmx/AddTrackLog",
        data: "{url:'" + url + "',millisecondCount:" + millisecondCount + "}",
        type: "post",
        dataType: "json",
        contentType: 'application/json;charset=utf-8',
        cache: false,
        success: function (data) {
        },
        error: function (xhr) {
            //alert(xhr.responseText);
        }
    });
}

function selectTab(tabName) {
    $("#first").removeClass('current');
    $("#second").removeClass('current');
    $("#third").removeClass('current');
    $("#fourth").removeClass('current');
    $("#" + tabName).addClass("current");
    if (tabName == "first")
        $("#first").css("border-left-width", "0px");
    else
        $("#first").css("border-left-width", "1px");
}

function SetTabIndex(index) {
    $("#txt_searchType").val(index);
    $("#txt_keyword").focus();
}
function search() {
    var keyword = $("#txt_keyword").val();
    //    if (keyword == "") {
    //        alert("请输入查询关键字");
    //        return false;
    //    }
    var searchType = $("#txt_searchType").val();
    if (searchType == "" || searchType == undefined)
        searchType = "1";
    var cityName = $("#btn_position").val();
    if (cityName == "选择地区")
        cityName = "";
    else
        cityName = "city-" + encodeURI(cityName) + "-";

    var url = "/search-" + searchType + "-" + cityName + "keyword-" + encodeURIComponent(keyword) + "/";
    window.location.href = url;
}
function searchEnter(event) {
    if (event.keyCode == 13) {
        search();
        return false;
    }
}
function GetUserInfo() {
    $.ajax({
        url: "/offer/OfferManager.asmx/GetUserInfo",
        data: "{}",
        dataType: "json",
        type: "post",
        contentType: "application/json;charset=utf-8",
        cache: false,
        success: function (data) {
            var result = data.d;
            $("#header_user_info").html(result);
            if (result.indexOf("短消息") > 0) {
                GetNewMsgCount();
            }
        },
        error: function (xhr) {
            $("#header_user_info").html(xhr);
        }
    });
}
function GetNewMsgCount() {
    $.ajaxSettings.url = "/offer/OfferManager.asmx/GetNewMsgCount";
    $.ajaxSettings.data = "{}";
    $.ajaxSettings.success = function(data) {
        if (data.d > 0) {
            var span = document.createElement("span");
            span.innerHTML = "(" + data.d + ")";
            span.style.color = "red";
            $("#site_msg").append(span);
        }
    };
    $.ajax();
}

function login() {
    var loginUrl = "http://" + location.hostname.replace("job.", "passport.") + "/login.aspx?ReturnUrl=" + location.href;
    location.href = loginUrl
    return false;
}

function register() {
    location.href = "http://" + location.hostname.replace("job.", "passport.") + "/register.aspx?ReturnUrl=" + location.href;
    return false;
}

function logout() {
    if (confirm('确定要退出吗?')) {
        location.href = "http://" + location.hostname.replace("job.", "passport.") + "/logout.aspx?ReturnUrl=" + location.href;
    }
    return false;
}

function build_pager(element, pageIndex, pageSize, showPageCount, totalCount, func) {
    if (pageSize >= totalCount) {
        return;
    }

    var sumPage = parseInt((totalCount + pageSize - 1) / pageSize);
    var start = pageIndex - showPageCount;
    var end = pageIndex + showPageCount;
    if (sumPage > (showPageCount * 2 - 1)) {
        if (start < 1) {
            start = 1;
            end = start + 2 * showPageCount;
        }
        else if (end > sumPage) {
            start = sumPage - 2 * showPageCount;
            end = sumPage;
        }
    }
    else {
        start = 1;
        end = sumPage;
    }

    var fragment = document.createDocumentFragment();

    if (pageIndex > 1) {
        fragment.appendChild(build_pager_link("&lt; Prev", pageIndex - 1, pageSize, func));
        if (start > 1) {
            fragment.appendChild(build_pager_link(1, 1, totalCount, func));
            fragment.appendChild(document.createTextNode("···"));
        }
    }

    for (i = start; i <= end; i++) {
        if (i == pageIndex) {
            var span = document.createElement("span");
            span.setAttribute("class", "current");
            span.innerHTML = pageIndex;
            fragment.appendChild(span);
        }
        else {
            fragment.appendChild(build_pager_link(i, i, totalCount, func));
        }
    }

    if (pageIndex < sumPage) {
        if (end < sumPage) {
            fragment.appendChild(document.createTextNode("···"));
            fragment.appendChild(build_pager_link(sumPage, sumPage, totalCount, func));
        }
        fragment.appendChild(build_pager_link("Next &gt;", pageIndex + 1, totalCount, func));
    }
    $("#pager").html(fragment);

}

function build_pager_link(pageTitle, pageIndex, totalCount, func) {
    var a = document.createElement("a");
    a.href = "javascript:void(0);";
    a.setAttribute("onclick", func + "(" + pageIndex + ");");
    a.innerHTML = pageTitle;
    return a;
}

/*#region Pager*/
var Pager = {};
Pager.PageIndex = 1;
Pager.PageSize = 30;
Pager.ShowPageCount = 5;
Pager.TotalCount = 0;
Pager.UrlFormat = location.href + "?page={0}";
Pager.Build = function (node, func) {
    if (this.PageSize >= this.TotalCount) {
        return;
    }
    var sumPage = parseInt((this.TotalCount + this.PageSize - 1) / this.PageSize);
    var start = this.PageIndex - this.ShowPageCount;
    var end = this.PageIndex + this.ShowPageCount;
    if (sumPage > (this.ShowPageCount * 2 - 1)) {
        if (start < 1) {
            start = 1;
            end = start + 2 * this.ShowPageCount;
        }
        else if (end > sumPage) {
            start = sumPage - 2 * this.ShowPageCount;
            end = sumPage;
        }
    }
    else {
        start = 1;
        end = sumPage;
    }

    var fragment = document.createDocumentFragment();
    if (this.PageIndex > 1) {
        fragment.appendChild(this.BuildLink("&lt; Prev", this.PageIndex - 1, this.PageSize, func));
        fragment.appendChild(this.BuildLink(1, 1, this.TotalCount, func));
        if (start > 2) {
            fragment.appendChild(document.createTextNode("···"));
        }
    }

    for (i = start; i <= end; i++) {
        if (i == this.PageIndex) {
            var span = document.createElement("span");
            span.setAttribute("class", "current");
            span.innerHTML = this.PageIndex;
            fragment.appendChild(span);
        }
        else {
            fragment.appendChild(this.BuildLink(i, i, func));
        }
    }

    if (this.PageIndex < sumPage) {
        if (end < sumPage) {
            fragment.appendChild(document.createTextNode("···"));
            fragment.appendChild(this.BuildLink(sumPage, sumPage, this.TotalCount, func));
        }
        fragment.appendChild(this.BuildLink("Next &gt;", this.PageIndex + 1, this.TotalCount, func));
    }
    $(node).html(fragment);
}

Pager.BuildLink = function (pageTitle, pageIndex, func) {
    var a = document.createElement("a");
    if (func) {
        a.href = "javascript:void(0);";
        a.setAttribute("onclick", func + "(this);Pager.SetCurrent(this);");
    }
    else {
        a.href = this.UrlFormat.replace("{0}", pageIndex);
    }
    a.innerHTML = pageTitle;
    return a;
}

Pager.SetCurrent = function (el) {
    var selNode = $(el);
    var cloneNode = selNode.clone();
    var prevSelNode = selNode.parent().children("span.current");
    var prevSelPageIndex = prevSelNode.html();
    cloneNode.html(prevSelPageIndex);
    prevSelNode.replaceWith(cloneNode);
    selNode.replaceWith('<span class="current">' + selNode.html() + '</span>');
}
/*#endregion Pager*/

function ShowCommentPager(pageNode) {
    $.ajax({
        url: '获取总评论数的Ajax Url',
        data: '{}',
        success: function (data) {
            if (data > 0) {
                Pager.TotalCount = data;
                Pager.Build(pageNode, '获取评论列表的JavaScript Function');
            }
        }
    });
}

