﻿function IsEmpty(object) {
    return object == null || object == undefined || object == "";
}
function getOs() {
    var OsObject = "";
    if (navigator.userAgent.indexOf("MSIE") > 0) {
        return "MSIE";       //IE浏览器
    }
    if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
        return "Firefox";     //Firefox浏览器
    }
    if (isSafari = navigator.userAgent.indexOf("Safari") > 0) {
        return "Safari";      //Safan浏览器
    }
    if (isCamino = navigator.userAgent.indexOf("Camino") > 0) {
        return "Camino";   //Camino浏览器
    }
    if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) {
        return "Gecko";    //Gecko浏览器
    }
}

function charToUpper(obj) {
    if (obj)
    { obj.value = obj.value.toUpperCase(); }
}

function getRequest() {
    var http_request = false;
    //开始初始化XMLHttpRequest 对象
    if (window.XMLHttpRequest) {
        //Mozilla 浏览器
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            //设置MiME 类别        
            http_request.overrideMimeType("text/xml");
        }
    }
    else if (window.ActiveXObject) {
        // IE 浏览器
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) { // 异常，创建对象实例失败
        window.alert("不能创建XMLHttpRequest 对象实例.");
        return false;
    }
    return http_request;
}

if (document.addEventListener) {
    document.addEventListener('DOMContentLoaded', DocumentLoaded, false);
}
else {
    window.attachEvent('onload', DocumentLoaded);
}
function DocumentLoaded() {
    InitLang();
    var divObj = document.getElementById('divMessage');
    if (divObj)
    { divObj.style.display = 'none'; }
}

function ShowUsedAttendCaddieInfo(ids) {
    alert(TranslateStr(236) + " " + ids);
}

function ShowCanotAttendCaddieInfo(ids) {
    //jAlert(TranslateStr(202) + " " + ids, TranslateStr(85));
    alert(TranslateStr(202) + " " + ids);
}

window.onbeforeunload = function beforeclose(e) {
    var evt = e ? e : (window.event ? window.event : null);
    if (evt.clientX > document.body.clientWidth && evt.clientY < 0 || evt.altKey) {
        window.location.href = "/Logout.aspx";
    }
}

function openDialog(url, iWidth, iHeight, iTop, iLeft) {
    if (!url) {
        return false;
    }

    if (!iWidth) {
        iWidth = 940; //窗口宽度
    }
    if (!iHeight) {
        iHeight = 650; //窗口高度
    }
    if (!iTop) {
        iTop = (window.screen.height - iHeight) / 2;
    }
    if (!iLeft) {
        iLeft = (window.screen.width - iWidth) / 2;
    }

    window.open(url, null, "height=" + iHeight + ", width=" + iWidth + ", top=" + iTop + ",left=" + iLeft + ", toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, status=no");
    return false;
}

function closecourse(txtId, divId) {
    var txtObj = jQuery("#" + txtId).get(0);
    if (txtObj)
    { txtObj.checked = false; }

    var divObj = jQuery("#" + divId).get(0);
    if (divObj)
    { divObj.style.display = "none"; }
}

function checkInputSeat(totalSeatId, inputSeatId, labelId, classID) {
    var totalSeatObj = jQuery("#" + totalSeatId).get(0);
    var inputSeatObj = jQuery("#" + inputSeatId).get(0);

    var totalSeats = parseInt(totalSeatObj.value);
    var inputSeats = parseInt(inputSeatObj.value);
    var totalSeat = 0;
    var $label = jQuery("#" + labelId);
    var $items = jQuery("." + classID);
    var $txts = $items.filter("input[type=text]");
    $txts.each(function() {
        if (this.value) {
            totalSeat += parseInt(this.value);
        }
    });

    $label.text(totalSeat);
    if (totalSeats < inputSeats) {
        //jAlert(TranslateStr('221'), TranslateStr('165'));
        alert(TranslateStr('221'));
        return false;
    }

    return true;
}

Array.prototype.hasItem = function(item) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == item) {
            return true;
        }
    }

    return false;
}

Array.prototype.addItem = function(item) {
    if (this.hasItem(item))
    { return; }

    this.push(item);
}

Array.prototype.removeItem = function(item) {
    if (!this.hasItem(item))
    { return; }

    this.pop(item);
}

Array.prototype.joinItem = function(spChar) {
    var ret = "";
    for (var i = 0; i < this.length; i++) {
        if (this[i] == "") {
            continue;
        }

        if (ret.length > 0)
        { ret = ret + ','; }
        ret = ret + this[i];
    }

    return ret;
}

function checkSelectLineSeat(classID, txtBookedClassId, totalSeatClassId, txtId, txtBookedId, txtTotalId, itemIndex) {
    //先验证当前线路 剩余票数是否满足预订票数
    //验证逻辑: 当前线路的剩余票数 - 新预订票数 + 原预订票数
    var currentTotalSeat = 0;
    var currentBookedSeat = 0;
    var currentInputSeat = 0;

    if (jQuery("#" + txtId).get(0).value)
    { currentInputSeat = parseInt(jQuery("#" + txtId).get(0).value); }

    if (jQuery("#" + txtBookedId).get(0).value)
    { currentBookedSeat = parseInt(jQuery("#" + txtBookedId).get(0).value); }

    if (jQuery("#" + txtTotalId).get(0).value)
    { currentTotalSeat = parseInt(jQuery("#" + txtTotalId).get(0).value); }

    if (currentTotalSeat - currentInputSeat + currentBookedSeat < 0) {
        var inputSeatObj = jQuery("#" + txtId).get(0);
        inputSeatObj.focus();
        //jAlert(TranslateStr('221'), TranslateStr('165'));
        alert(TranslateStr('221'));
        return false;
    }

    //再验证所有预订的线路 剩余票数是否满足预订票数
    //验证逻辑: 所有预订的线路的剩余票数 - 新预订总票数 + 原预订总票数
    var totalSeat = 0;
    var $items = jQuery("." + classID);
    var $txts = $items.filter("input[type=text]");
    //用于标记已经输入座位数的最后的线路索引 目的是为了过滤掉为填写票数的线路。

    var inputSeats = 0;
    //计算输入的票数总数
    $txts.each(function() {
        if (this.value) {
            inputSeats += parseInt(this.value);
        }
    });

    var maxIndex = parseInt(itemIndex);
    var currIndex = 0; //用于标识当前线路索引
    var $totalSeatItems = jQuery("." + totalSeatClassId);
    var $totalSeatTxts = $totalSeatItems.filter("input[type=text]");
    //获取本条线路的最少总票数
    $totalSeatTxts.each(function() {
        if (currIndex <= maxIndex) {
            if (totalSeat == 0) {
                totalSeat = parseInt(this.value);
            }

            if (totalSeat > parseInt(this.value)) {
                totalSeat = parseInt(this.value);
            }
            currIndex++;
        }
    });

    //获取已预订的总票数
    var bookedSeats = 0;
    currIndex = 0;
    var $bookedItems = jQuery("." + txtBookedClassId);
    var $bookedTxts = $bookedItems.filter("input[type=text]");
    $bookedTxts.each(function() {
        if (currIndex <= maxIndex) {
            if (this.value) {
                bookedSeats += parseInt(this.value);
            }
            currIndex++;
        }
    });

    if (totalSeat - inputSeats + bookedSeats < 0) {
        var inputSeatObj = jQuery("#" + txtId).get(0);
        inputSeatObj.focus();
        //jAlert(TranslateStr('221'), TranslateStr('165'));
        alert(TranslateStr('221'));
        return false;
    }

    return true;
}

function allowInputNumber(e, inputSeatId) {
    var inputSeatObj = jQuery("#" + inputSeatId).get(0);
    var keynum;
    var keychar;

    if (window.event)// IE
    { keynum = e.keyCode; }
    else if (e.which)// Netscape/Firefox/Opera
    { keynum = e.which; }

    if (keynum == 8 || keynum == 9 || keynum == 46)//允许输入退格键、Tab键、Delete键
    { return; }

    if (keynum > 95 && keynum < 106)
    { return; }

    if (keynum > 48 && keynum < 57)
    { return; }

    keychar = String.fromCharCode(keynum)
    var reg = /^[1-9]*[0-9]$/
    if (!reg.test(keychar)) {
        if (window.event) {
            event.returnValue = false;
        }
        else
        { e.preventDefault(); }
    }
}

function caseToUpper(e, inputSeatId) {
    var inputSeatObj = jQuery("#" + inputSeatId).get(0);
    var keynum
    var keychar
    var numcheck

    if (window.event)// IE
    {
        keynum = e.keyCode;
        keychar = e.key;
    }
    else if (e.which)// Netscape/Firefox/Opera
    {
        keynum = e.which;
        keychar = String.fromCharCode(keynum);
    }

    var reg = /^[a-z A-Z]$/;

    if (reg.exec(keychar)) {
        inputSeatObj.value = inputSeatObj.value.replace(keychar.toLowerCase(), keychar.toUpperCase());
    }
}

