﻿/// <reference path="../Jquery/jquery.vsdoc.js" />
/// <reference path="../Jquery/jquery.js" />

//定义日期选择函数
function setday(obj) { WdatePicker({ skin: "blueFresh" }); }

//统计TEXTBOX输入行数
function counter(obj) {
    $(obj).focus(function () {
        var div = "<div id='cNote' style='padding:2px 5px;border:1px solid #339900;background:#73c117;color:white;position:absolute;left:0px;top:0px;z-index:10000;'>注意：内容不能超过5行并且字数不能超过255个！</div>";
        if ($("#cNote").length > 0) $("#cNote").remove();
        $(obj).after(div);
        var oOffset = $(obj).offset();
        $("#cNote").css("left", oOffset.left).css("top", oOffset.top + 75).width($(obj).width() - 8);
    }).blur(function () {
        if ($(obj).val().length > 255) {
            $(obj).val($(obj).val().substring(0, 254));
            $("#cNote").text("注意：以上输入内容不能超过255个字符！").css({ border: "1px solid #000000", background: "#990000" });
        } else if (obj.value.split("\r\n").length > 5) {
            $(obj).val(obj.value.split("\r\n")[0] + "\r\n" + obj.value.split("\r\n")[1] + "\r\n" + obj.value.split("\r\n")[2] + "\r\n" + obj.value.split("\r\n")[3] + "\r\n" + obj.value.split("\r\n")[4]);
            $("#cNote").text("注意：以上输入内容不能超过5行！").css({ border: "1px solid #000000", background: "#990000" });
            alert("注意：以上输入内容不能超过5行！");
        } else {
            if ($("#cNote").length > 0) $("#cNote").remove();
        }
    }).keydown(function (evt) {
        if (obj.value.split("\n").length >= 5) {
            if (evt.keyCode == 13) {
                if (evt.target)
                    evt.preventDefault();
                else
                    evt.returnValue = false;
                $("#cNote").text("注意：以上输入内容不能超过5行！").css({ border: "1px solid #000000", background: "#990000" });
            }
        }
        if ($(obj).val().length > 255) {
            $(obj).val($(obj).val().substring(0, 254));
            $("#cNote").text("注意：以上输入内容不能超过255个字符！").css({ border: "1px solid #000000", background: "#990000" });
        }
    });
}

function sNote(obj, min, max) {
    $(obj).focus(function () {
        var div = "<div id='noteDiv' style='padding:5px;border:1px solid #339900;background:#73c117;color:white;position:absolute;left:0px;top:0px;z-index:10000;'>字符数：" + min + "与" + max + "之间</div>";
        if ($("#noteDiv").length > 0) $("#noteDiv").remove();
        $(obj).before(div);
        var oOffset = $(obj).offset();
        var top = oOffset.top;
        if ($(obj).attr("type") == "text") top += 22; else top += 75;
        $("#noteDiv").css("left", oOffset.left).css("top", top).width($(obj).width() - 8);
    }).blur(function () {
        if ($(obj).val().length > max) {
            $(obj).val($(obj).val().substring(0, max - 1));
            $("#noteDiv").text("注意：不能超过" + max + "个字符！").css({ border: "1px solid #000000", background: "#990000" });
        } else {
            if ($("#noteDiv").length > 0) $("#noteDiv").remove();
        }
    }).keydown(function (evt) {
        if ($(obj).val().length > max) {
            $(obj).val($(obj).val().substring(0, max - 1));
            $("#noteDiv").text("注意：不能超过" + max + "个字符！").css({ border: "1px solid #000000", background: "#990000" });
        }
    });
}

function sAlert(words) {
    var div = "<div id='sNote' style='padding:5px;border:1px solid #000000;background:#990000;color:white;position:absolute;left:0px;top:0px;z-index:10000;'>注意：" + words + "</div>";
    if ($("#sNote").length > 0) $("#sNote").remove();
    var obj = $("*[id$='btnPutIn']");
    obj.before(div);
    var oOffset = obj.offset();
    $("#sNote").css("left", oOffset.left).css("top", oOffset.top - 50);
    alert(words);
}

//单位判断
function checkCargo(desc, pkgs, unit, unitcd, weig, meas, nm) {
    if ($('#' + desc).val() == "") {
        sAlert("英文品名不能为空！");
        $('#' + desc).focus();
        return false;
    }
    if ($('#' + nm).val() == "") {
        sAlert("唛头不能为空！");
        $('#' + nm).focus();
        return false;
    }
    if ($('#' + pkgs).val() == "") {
        sAlert("件数不能为空！");
        $('#' + pkgs).focus();
        return false;
    }
    if ($('#' + unit).val() == "") {
        sAlert("单位不能为空！");
        $('#' + unit).focus();
        return false;
    }
    if ($('#' + unitcd).val() == "") {
        sAlert("单位输入不正确，请重新输入！");
        $('#' + unit).focus();
        return false;
    }
    if ($('#' + weig).val() == "") {
        sAlert("毛重不能为空！");
        $('#' + weig).focus();
        return false;
    }
    if ($('#' + meas).val() == "") {
        sAlert("体积不能为空！");
        $('#' + meas).focus();
        return false;
    }
}

//检查订舱表单
function check_booking(type) {
    if ($("*[id$='txtPreSaildt']").val() == "") {
        sAlert("预计离港日期不可为空！");
        $("*[id$='txtPreSaildt']").focus();
        return false;
    }
    if ($("*[id$='txtPortl']").val() == "") {
        sAlert("装货港不可为空！");
        $("*[id$='txtPortl']").focus();
        return false;
    }
    if ($("*[id$='txtPortlcd']").val() == "") {
        sAlert("装货港输入不正确，请从下拉列表中选择！");
        $("*[id$='txtPortlcd']").focus();
        return false;
    }
    if ($("*[id$='txtDest']").val() == "") {
        sAlert("目的港不能为空！");
        $("*[id$='txtDest']").focus();
        return false;
    }
    if ($("*[id$='txtDestcd']").val() == "") {
        sAlert("目的港输入不正确，请从下拉列表中选择！");
        $("*[id$='txtDestcd']").focus();
        return false;
    }
    if ($("*[id$='txtCostMark']").val() == "") {
        sAlert("费用确认不可为空！");
        $("*[id$='txtCostMark']").focus();
        return false;
    }
    if ($("*[id$='txtCargoChnName']").val() == "") {
        sAlert("货物中文名不可为空！");
        $("*[id$='txtCargoChnName']").focus();
        return false;
    }
    if (type == "申请订舱") {
        if (confirm("—————————【 信息确认 】——————————\n\n   1 您要将此票订入【" +
            $("*[id$='txtCompanyname']").val() + "】,确定吗？\n\n   2 一旦确认将不能恢复！\n\n   3 如果您不想订到【" +
            $("*[id$='txtCompanyname']").val() + "】请点取消！\n\n———————————————————————————")) {
            return true;
        }
        else {
            $("#jbgetCompanycd").remove();
            jBox.open("getCompanycd", "iframe", "Companyname_Confirm.aspx", "选择公司区域", "width=400,height=220,center=true,draggable=true,model=false,scrolling=false");
            return false;
        }
    }
}

//获取业务对象
function getCd() {
    $("#jbgetCd").remove();
    jBox.open("getCd", "iframe", "/e-booking/chinese/GetCd.aspx", "选择业务对象：", "width=450,height=260,center=true,draggable=true,model=true,scrolling=false");
    return false;
}

//自动完成港口名称
function portname(portid) {
    $("input[id$='" + portid + "']").autocomplete("/WebService/AutoComplete.aspx?Type=port", {
        selectFirst: true,
        delay: 0,
        width: $("input[id$='" + portid + "']").width() > 300 ? $("input[id$='" + portid + "']").width() : 300,
        scroll: false,
        formatItem: function (row) {
            return "<span style=float:left>" + row[0] + (row[3] != "" ? "→" + row[3] : "") + "</span><span style=float:right>" + row[1] + "</span>";
        },
        formatResult: function (row) {
            return row[0];
        }
    });
}

//自动完成港口名称和代码
function portcd(portid, portcdid) {
    portname(portid);
    $("input[id$='" + portid + "']").result(function (event, data, formatted) {
        $("input[id$='" + portcdid + "']").val(data[2]);
    });
}

//本地代码库
function portname_local(portid) {
    $("input[id$='" + portid + "']").autocomplete(ports, {
        selectFirst: true,
        delay: 0,
        formatItem: function (row) {
            return row.engname + "→" + row.chnname;
        },
        formatResult: function (row) {
            return row.engname;
        }
    });
}

function portcd_local(portid, portcdid) {
    portname_local(portid);
    $("input[id$='" + portid + "']").result(function (event, data, formatted) {
        $("input[id$='" + portcdid + "']").val(data.portcd);
    });
}

//自动完成单位
function code(codename, codecd) {
    $("#" + codename).autocomplete("/WebService/AutoComplete.aspx?Type=unit", {
        selectFirst: true,
        delay: 0,
        scroll: false,
        width: 120,
        formatResult: function (row) {
            return row[0];
        }
    });

    $("#" + codename).result(function (event, data, formatted) {
        $("#" + codecd).val(data[1]);
    });
}

//获取港口
function GetPort(portcd, port) {
    $("#jbgetPort").remove();
    jBox.open("getPort", "iframe", "GetPort.aspx?in=" + $('#' + port).val() + "&portcd=" + portcd + "&port=" + port, "港口选择", "width=500,height=240,center=true,draggable=true,model=true,scrolling=false");
    return false;
}

//获取收货人，发货人，通知人信息
function getLayout(id, url, title) {
    if ($('#JT').length > 0) $('#JT').remove();
    JT_show(url, id, title);
    $("div[name='title']").css("height", "14px").html("<div style='text-align:left;float:left'>" + $("#JT_close_left").text() + "</div><div style='text-align:right;float:right'><img id='JT_close' width='14' height='14' src='/Images/jTip/close.gif' style='cursor: pointer; margin-right:2px' alt='关闭' /></div>");
    $("#JT_close").click(function () { $("#JT").remove(); });
    return false;
}

function getCus(id, type, title, cid) {
    getLayout(id, '/e-booking/chinese/GetLayout.aspx?width=320&login=yes&src=/e-booking/chinese/GetCus.aspx?Type=' + type + '|' + cid, title);
}

function ReplaceValue(cid, value) {
    $("*[id$='" + cid + "']").val(value.replace(/<br>/g, "\r\n").replace(/~/g, "'"));
}

//获取运价
function GetPrice(Portl, Dest, Saildt) {
    var portl = $("#" + Portl).val();
    var dest = $("#" + Dest).val();
    var saildt = $("#" + Saildt).val();
    var pricemark = "txtPriceMark";
    var costmark = "txtCostMark";

    if (portl == "") {
        alert("请先输入装货港！");
        $("#" + Portl.replace(/cd/g, '')).focus();
    }
    else if (dest == "") {
        alert("请输入目的港！");
        $("#" + Dest.replace(/cd/g, '')).focus();
    }
    else if (saildt == "") {
        alert("请输入预计离港日期！");
        $("#" + Saildt).focus();
    }
    else {
        $("#jbgetPrice").remove();
        jBox.open("getPrice", "iframe", "GetPrice.aspx?Portl=" + portl + "&Dest=" + dest + "&Saildt=" + saildt + "&PriceMark=" + pricemark + "&CostMark=" + costmark, "获取运价", "width=660,height=300,center=true,draggable=true,model=false,scrolling=false");
    }
    return false;
}
//获取单位
function GetCode(Unitcd, Unit) {
    $("#jbgetCode").remove();
    jBox.open("getCode", "iframe", "GetCode.aspx?In=" + $("#" + Unit).val() + "&Unit=" + Unit + "&Unitcd=" + Unitcd, "获取单位", "width=520,height=260,center=true,draggable=true,model=true,scrolling=false");
}

//查看RO详细
function GetRoDetail(roid) {
    parent.GB_show('Ro Detail : ' + roid, '/e-booking/english/Rodetail.aspx?RoId=' + roid, 780, 500, 'yes');
}

//RO页函数
function display(obj, tr) {
    if ($(obj).val() == '1')
        $("#" + tr).css("display", "");
    else
        $("#" + tr).css("display", "none");
    //parent.$("iframe[name='mainframe']").height(document.body.scrollHeight);
}
function spterm(obj) {
    if ($(obj).val() == '1' || $(obj).val() == '2')
        $("select[id$='FREIGHTTERMDropDownList']").val("2");
    else
        $("select[id$='FREIGHTTERMDropDownList']").val("1");
}
function disp(obj, tr) {
    if ($("select[id$='" + obj + "']").val() == '1')
        $("#" + tr).show();
    else
        $("#" + tr).hide();
}
function aaa() {
    disp('JOBTYPEDropDownList', 'fcl');
    disp('DESIGNATECARRIERDropDownList', 'carriername');
    disp('BELONGAGENTRATEDropDownList', 'fclno');
    disp('OUTOFGAUGEDropDownList', 'oug');
    disp('DANGEROUSDropDownList', 'dg');
    disp('PEDropDownList', 'pe');
}

function ConfirmCancel() {
    return confirm("Are you sure cancel this routing order ???");
}

//加载框
function loading(words, top) {
    if ($("#loading").length > 0) {
        $("#words").text(words);
        $("#loading").show();
    }
    else {
        $("body").append('<div id="loading" class="loading"><img src="/images/loading.gif"/><br><div id="words">' + words + '</div></div>');
    }
    $("#rightContent").addClass("rightContent_loading");
    if (top != null) $("#loading").css("top", top);
}

function removeloading() {
    $("#loading").hide();
    $("#rightContent").removeClass("rightContent_loading");
}

function loadingen() {
    if ($("#loading").length > 0)
        $("#loading").show();
    else
        $("#rightContent").append('<div id="loading" class="loading"><img src="/images/greybox/indicator.gif"/></div>');
    $("#rightContent").find("iframe").hide();
}

function removeloadingen() {
    $("#rightContent").find("iframe").show();
    $(".loading").hide();
}

function getPort(port, portcd, dest) {
    var port = $("input[id$='" + port + "']");
    var portcd = $("input[id$='" + portcd + "']");
    var dest = dest;

    port.mousedown(function () {
        port.val("");
        portcd.val("");
        port.attr("autocomplete", "off");
        creatPortLayer(port, portcd, dest);
    });

    creatPortLayer = function (port, portcd, dest) {
        var portDivCss = '\
            <style id="portCss">\n\
            #portDiv{z-index:1000;border:2px solid #0099ff;width:200px;font:11px tahoma,宋体;display:none;position:absolute;background:#ffffff;padding:1px;}\n\
            #portDiv ul{filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#0099ff,endColorStr=#ffffff);border-bottom:1px dotted #cccccc;margin:0px;padding:0px;height:25px;line-height:25px;color:#000000;display:block;text-align:center;width:100%;list-style-type: none;}\n\
            #portDiv .t{display:block;width:100%;height:25px;line-height:25px;background:#ffffff;color:#339900;border-bottom:1px dotted #cccccc;}\n\
            #portDiv a{width:100%;display:block;text-decoration:none;margin:auto;padding:0px;height:12px;padding-top:5px;padding-bottom:5px;border-bottom:1px dotted #cccccc;background:#ffffff;font:11px tahoma,宋体;color:#006699;}\n\
            #portDiv a:hover{text-decoration:none;background-color:#66cc66;color:White;}\n\
            #portDiv a:hover .g{color:White;}\n\
            #portDiv .hover{text-decoration:none;background-color:#66cc66;color:White;}\n\
            #portDiv .e{float:left;margin-left:5px;font-weight:bold;}\n\
            #portDiv .c{float:right;margin-right:5px;}\n\
            #portDiv .g{float:left;margin-left:0px;font-weight:bold;color:red;}\n\
            </style>\n\
            ';
        var portDivHtml = '\
            <div id="portDiv">\
            <ul>※ 请输入英文名称或从以下选择 ※</ul>\
            <b class="t"><span class="e">英文名称</span><span class="c">中文名称</span></b>\
		    <a href="#this" title="CNXIA"><span class="e">XIAMEN</span><span class="g"></span><span class="c">厦门</span></a>\
		    <a href="#this" title="CNFZ"><span class="e">FUZHOU</span><span class="g"></span><span class="c">福州</span></a>\
		    <a href="#this" title="CNSHZ"><span class="e">SHENZHEN</span><span class="g"></span><span class="c">深圳</span></a>\
		    <a href="#this" title="CNCAN"><span class="e">GUANGZHOU</span><span class="g"></span><span class="c">广州</span></a>\
		    <a href="#this" title="CNNBO"><span class="e">NINGBO</span><span class="g"></span><span class="c">宁波</span></a>\
		    </div>\
		    ';
        if (dest)
            portDivHtml = '\
            <div id="portDiv">\
            <ul>※ 请输入英文名称或从以下选择 ※</ul>\
            <b class="t"><span class="e">英文名称</span><span class="g" style="color:#339900">,国家</span><span class="c">中文名称</span></b>\
		    <a href="#this" title="GMHAM"><span class="e">HAMBURG</span><span class="g">,GERMANY</span><span class="c">汉堡</span></a>\
		    <a href="#this" title="NLROT"><span class="e">ROTTERDAM</span><span class="g">,NETHERLANDS</span><span class="c">鹿特丹</span></a>\
		    <a href="#this" title="DUBI"><span class="e">DUBAI</span><span class="g">,UNITED ARAB EMIRATES</span><span class="c">迪拜</span></a>\
		    <a href="#this" title="GBFEL"><span class="e">FELIXSTOWE</span><span class="g">,UNITED KINGDOM</span><span class="c">费利克斯托</span></a>\
		    <a href="#this" title="SGSGP"><span class="e">SINGAPORE</span><span class="g">,SINGAPORE</span><span class="c">新加坡</span></a>\
		    <a href="#this" title="BEANT"><span class="e">ANTWERP</span><span class="g">,BELGIUM</span><span class="c">安特卫普</span></a>\
		    <a href="#this" title="ESBAR"><span class="e">BARCELONA</span><span class="g">,SPAIN</span><span class="c">巴塞罗那</span></a>\
		    <a href="#this" title="MYPKE"><span class="e">PORT KELANG</span><span class="g">,MALAYSIA</span><span class="c">巴生港</span></a>\
		    </div>\
            ';
        if ($("#portCss").length > 0) $("#portCss").remove(); $("head").append(portDivCss);
        if ($("#portDiv").length > 0) $("#portDiv").remove(); $("body").append(portDivHtml);

        var portDiv = $("#portDiv");
        var portCss = $("#portCss");
        var ispol = dest ? false : true;
        var portOffset = port.offset();
        portDiv.css("left", portOffset.left);
        portDiv.css("top", portOffset.top + port.height() + 10);
        if (dest) portDiv.css("width", port.width() > 350 ? port.width() : 350);
        if (ispol) portDiv.css("width", port.width() > 200 ? port.width() : 200);
        portDiv.show();
        portDiv.find("a").click(function () { port.val($(this).find(".e").text()); portcd.val($(this).attr("title")); closePort(); });
        portDiv.mouseover(function () { $(this).find("a").removeClass("hover").find(".g").css("color", ""); });
    }

    port.keyup(function (e) {
        var portDiv = $("#portDiv");
        var ispol = dest ? false : true;
        if (port.val() != "" && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40 && e.keyCode != 13 && e.keyCode != 9 && e.keyCode != 27) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/webservice/webservice.asmx/GetPortList",
                data: "{str:'" + port.val() + "',count:8,ispol:" + ispol + "}",
                dataType: "html",
                success: function (result) {
                    portDiv.find("a").remove();
                    var str = result.replace("[", "").replace("]", "");
                    var li = "";
                    if (str == "")
                        li = "<a style='text-indent:5px'>没有找到，请重新输入关键字。</a>";
                    else {
                        $.each(str.split('","'), function (i, n) {
                            var val = n.split("→");
                            var portcd = val[2] == null ? "" : val[2].replace('"', '');
                            var engname = val[0] == null ? "" : val[0].replace('"', '');
                            var chnname = val[1] == null ? "" : val[1].replace('"', '');
                            var country = val[3] == null ? "" : val[3].replace('"', '');
                            if (dest && country != '') country = ',' + country; else country = '';
                            li += '<a href="#this" title="' + portcd + '"><span class="e">' + engname + '</span><span class="g">' + country + '</span><span class="c">' + chnname + '</span></a>';
                        });
                    }
                    portDiv.append(li);
                    portDiv.find("a").click(function () { port.val($(this).find(".e").text()); portcd.val($(this).attr("title")); closePort(); });
                },
                error: function () { alert("港口加载超时，请重试！"); }
            });
        }
    });

    port.bind($.browser.opera ? "keypress" : "keydown", function (e) {
        var portDiv = $("#portDiv");
        //alert(e.keyCode);
        if (portDiv.find("a .e").length > 0) {
            if (e.keyCode == 34 || e.keyCode == 40) {
                if (portDiv.find(".hover").length == 0) {
                    portDiv.find("a:first").addClass("hover").find(".g").css("color", "white");
                }
                else {
                    portDiv.find(".hover").next().addClass("hover").find(".g").css("color", "white").parent().prev("a").removeClass("hover").find(".g").css("color", "");
                }
            }
            else if (e.keyCode == 33 || e.keyCode == 38) {
                if (portDiv.find(".hover").length > 0) {
                    portDiv.find(".hover").prev("a").addClass("hover").find(".g").css("color", "white").parent().next().removeClass("hover").find(".g").css("color", "");
                }
            }
            else if (e.keyCode == 13) {
                if (portDiv.find(".hover").length > 0) {
                    port.val(portDiv.find(".hover").eq(0).find(".e").text()); portcd.val(portDiv.find(".hover").eq(0).attr("title")); closePort();
                    return false;
                    //e.preventDefault();
                }
            }
            else if (e.keyCode == 27) {
                closePort();
            }
            else if (e.keyCode == 9) {
                closePort();
            }
        }
        if (portDiv.length == 0 && e.keyCode != 9 && e.keyCode != 27) {
            creatPortLayer(port, portcd, dest);
        }
    });

    $(document).click(function (eventTag) {
        var event = eventTag || windows.event;
        var obj = event.srcElement || event.target;
        if (obj.tagName != "INPUT" && obj.getAttribute("id") != port.attr("id")) closePort();
    });

    closePort = function () { $("#portDiv").remove(); $("#portCss").remove(); }
}