﻿
/*
时间的格式验证
*/
function doTimeFormat(objValue) {
    var pattern = /^(([0]{1}[0-9]{1}[:]{1}|[1]{1}[0-9]{1}[:]{1}|[2]{1}[0-3]{1}[:]{1})([0-5]{1}[0-9]{1}|[6]{1}[0]{1})|[2]{1}[4]{1}[:]{1}[0]{1}[0]{1})$/;
    if (pattern.test(objValue)) {
        return true;
    } else {
        return false;
    }
}
//计算字节数
function getTotalByte(obj) {
    var t = 0;
    for (var i = 0; i < obj.length; i++) {
        if (obj.substring(i, i + 1).charCodeAt() > 255) {
            t += 2;
        }
        else {
            t += 1;
        }
    }
    return t;
}
//获取对象
function $g(id) {
    return document.getElementById(id);
}
//去除字符串两边空格
function trims(sInput) {
    var sInput = String(sInput);
    var sReturn;
    sReturn = sInput.replace(/(^\s*)|(\s*$)/g, "");
    return sReturn;
}
/*
转换成大写
参数：一个元素对象
*/
function toUpperCaseObj(obj) {
    if (obj) {
        obj.value = String(obj.value).toUpperCase();
    }
}

/*
转换成大写
参数：一个元素名称
*/
function toUpperCaseTxt(txtElem) {
    var obj = $getObj(txtElem);
    if (obj) {
        obj.value = String(obj.value).toUpperCase();
    }
}

/** 
isValidDate: 用于判断一个字符串是否是日期格式的字符串
 
返回值： 
true或false
 
参数： 
DateString： 判断的字符串 
Dilimeter ： 日期的分隔符，缺省值为'-' 
*/
function isValidDate(DateString, Dilimeter) {
    if (DateString == null) return false;

    if (Dilimeter == '' || Dilimeter == null)
        Dilimeter = '-';

    var tempy = '';
    var tempm = '';
    var tempd = '';

    var tempArray;

    if (DateString.length < 8 && DateString.length > 10)
        return false;

    tempArray = DateString.split(Dilimeter);

    if (tempArray.length != 3)
        return false;
    if (tempArray[0].length == 4) {
        tempy = tempArray[0];
        tempd = tempArray[2];
    }
    else {
        tempy = tempArray[2];
        tempd = tempArray[1];
    }
    tempm = tempArray[1];

    var tDateString = tempy + '/' + tempm + '/' + tempd + ' 8:0:0'; //加八小时是因为我们处于东八区 

    var tempDate = new Date(tDateString);
    if (isNaN(tempDate))
        return false;
    if (((tempDate.getUTCFullYear()).toString() == tempy) && (tempDate.getMonth() == parseInt(tempm, 10) - 1) && (tempDate.getDate() == parseInt(tempd, 10))) {
        return true;
    }
    else {

        return false;
    }
}

//日期操作
function addDays(n) {
    var d = new Date();
    d.setDate(d.getDate() + n);
    var strYear = d.getFullYear();
    var strMonth = "";
    if (String(d.getMonth() + 1).length == 1)
        strMonth = "0" + String(d.getMonth() + 1);
    else
        strMonth = String(d.getMonth() + 1);
    var strDate = "";
    if (String(d.getDate()).length == 1)
        strDate = "0" + String(d.getDate());
    else
        strDate = String(d.getDate());
    return strYear + "-" + strMonth + "-" + strDate;
}

//返回字符串长度
function countStringLength(str) {
    var cc = 0;
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 255) cc += 2; else cc += 1;
    }
    return cc;
}

/*
获取指定页面元素的位置(x,y)
*/
function getElementPosition(elementId) {
    var ua = navigator.userAgent.toLowerCase();
    var isOpera = (ua.indexOf('opera') != -1);
    var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof      
    var el = document.getElementById(elementId);
    if (el.parentNode === null || el.style.display == 'none') {
        return false;
    }
    var parent = null;
    var pos = [];
    var box;
    if (el.getBoundingClientRect) {
        //IE
        box = el.getBoundingClientRect();
        var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
        var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
        return { x: box.left + scrollLeft, y: box.top + scrollTop };
    }
    else if (document.getBoxObjectFor)    // gecko     
    {
        box = document.getBoxObjectFor(el);
        var borderLeft = (el.style.borderLeftWidth) ? parseInt(el.style.borderLeftWidth) : 0;
        var borderTop = (el.style.borderTopWidth) ? parseInt(el.style.borderTopWidth) : 0;
        pos = [box.x - borderLeft, box.y - borderTop];
    }
    else {
        //safari & opera
        pos = [el.offsetLeft, el.offsetTop];
        parent = el.offsetParent;
        if (parent != el) {
            while (parent) {
                pos[0] += parent.offsetLeft;
                pos[1] += parent.offsetTop;
                parent = parent.offsetParent;
            }
        }
        if (ua.indexOf('opera') != -1 || (ua.indexOf('safari') != -1 && el.style.position == 'absolute')) {
            pos[0] -= document.body.offsetLeft;
            pos[1] -= document.body.offsetTop;
        }
    }
    if (el.parentNode) {
        parent = el.parentNode;
    }
    else {
        parent = null;
    }
    while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') {
        //account for any scrolled ancestors        
        pos[0] -= parent.scrollLeft;
        pos[1] -= parent.scrollTop;
        if (parent.parentNode) {
            parent = parent.parentNode;
        }
        else {
            parent = null;
        }
    }
    return { x: pos[0], y: pos[1] };
}


/*
得到QueryString值
------调用方法-------
var Request=new QueryString();
sID=Request["strID"];
*/
function QueryString() {
    var name, value, i;
    var str = location.href;
    var num = str.indexOf("?")
    str = str.substr(num + 1);
    var arrtmp = str.split("&");
    for (i = 0; i < arrtmp.length; i++) {
        num = arrtmp[i].indexOf("=");
        if (num > 0) {
            name = arrtmp[i].substring(0, num);
            value = arrtmp[i].substr(num + 1);
            this[name] = value;
        }
    }
}

/*
判断是否为空
*/
function checkIsEmpty(val) {
    if (trim(String(val)) == "")
        return true;
    else
        return false;
}

/*
sDate1和sDate2是2002-12-18格式
*/
function DateDiff(sDate1, sDate2) {
    var aDate, oDate1, oDate2, iDays;
    aDate = sDate1.split("-")
    oDate1 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]) //转换为12-18-2002格式
    aDate = sDate2.split("-")
    oDate2 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0])
    iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
    return iDays
}
/*
调用日历函数
*/
function showJrCalendar(v, checkIn, checkOut) {

    if (v == "CHK_IN") {
        showCalendar(checkIn, true, checkIn, checkOut, checkOut, '', '', '', '', '', '', '');
    } else {
        showCalendar(checkOut, true, checkOut, null, null, '', '', '', '', '', '', '')
    }
}

/*
设置居中
*/
function setLayoutCenter(layerName) {
    document.getElementById(layerName).style.left = (document.body.clientWidth - 240) / 2;
    var x = (document.getElementById(layerName).style.left).replace("px", ""); //浮动层固定于浏览器的x方向位置(从左往右)
    var y = 150; //浮动层固定于浏览器的y方向位置(从上往下)
    var diff = (parent.frames['mainFrame'].document.body.scrollTop + y - document.getElementById(layerName).style.posTop) * .20;
    var y = parent.frames['mainFrame'].document.body.scrollTop + y - diff;
    eval("document.all." + layerName + ".style.posTop = y");
    eval("document.all." + layerName + ".style.posLeft = x"); //移动层
}

/*
滚动条顶部高度
*/
function getScrollTopHeight() {
    var scrollTopHeight = 0;
    if (typeof window.pageYOffset != 'undefined') {
        scrollTopHeight = window.pageYOffset;
    }
    else if (typeof window.document.compatMode != 'undefined' &&
       window.document.compatMode != 'BackCompat') {
        scrollTopHeight = window.document.documentElement.scrollTop;
    }
    else if (typeof window.document.body != 'undefined') {
        scrollTopHeight = window.document.body.scrollTop;
    }
    return scrollTopHeight;
}
function getScrolls() {
    var sTop = 0, sLeft = 0, sWidth = 0, sHeight = 0;

    sTop = (document.body.scrollTop > document.documentElement.scrollTop) ? document.body.scrollTop : document.documentElement.scrollTop;
    if (isNaN(sTop) || sTop < 0) { sTop = 0; }

    sLeft = (document.body.scrollLeft > document.documentElement.scrollLeft) ? document.body.scrollLeft : document.documentElement.scrollLeft;
    if (isNaN(sLeft) || sLeft < 0) { sLeft = 0; }

    return { sTop: sTop, sLeft: sLeft, sWidth: sWidth, sHeight: sHeight };
}
/*层居中*/
function setCenter(name) {
    var sc = getScrolls();
    var h1 = document.body.clientHeight;
    var h2 = document.documentElement.clientHeight;
    var isXhtml = (h2 <= h1 && h2 != 0) ? true : false; //判断当前页面的Doctype是否为Xhtml
    var myBody = isXhtml ? document.documentElement : document.body;
    var yy = myBody.clientHeight;
    var xx = myBody.clientWidth;
    var myobj = document.getElementById(name);
    if (myobj) {
        myobj.style.display = '';
    }
    var objhh = myobj.offsetHeight;
    var objww = myobj.offsetWidth;
    if (self != top) {
        if (objhh > yy)
            yy += Math.abs(objhh - yy) + 10;
    }
    myobj.style.position = "absolute";
    myobj.style.top = (yy - objhh) / 2 + sc.sTop + "px";
    myobj.style.left = (xx - objww) / 2 + "px";
}

/*
鼠标拖动层(可任意绑定DIV标签)
联系方式:1034555083/zhanghuiguoanlige@126.com
调用方法:var myDrag=new Endrag(source,target,offSetX, offSetY);
参数说明:source--鼠标动作绑定对象;target--操作目标对象(要移动的对象);offSetX--横坐标偏移;offSetY--纵坐标偏移
说明:通过多次调用本方法绑定多个对象的拖动
*/
funs = {
    index: 1001,
    getFocus: function(target) {
        if (target.style.zIndex != this.index) {
            this.index += 2;
            var idx = this.index;
            target.style.zIndex = idx;
        }
    },
    abs: function(element) {
        var result = { x: element.offsetLeft, y: element.offsetTop };
        element = element.offsetParent;
        while (element) {
            result.x += element.offsetLeft;
            result.y += element.offsetTop;
            element = element.offsetParent;
        }
        return result;
    }
};
function dragDialog(source, target, offSetX, offSetY) {
    source = typeof (source) == "object" ? source : document.getElementById(source);
    target = typeof (target) == "object" ? target : document.getElementById(target);
    var x0 = 0, y0 = 0, x1 = 0, y1 = 0, moveable = false, index = 100, NS = (navigator.appName == 'Netscape');
    offSetX = typeof offSetX == "undefined" ? 0 : offSetX;
    offSetY = typeof offSetY == "undefined" ? 0 : offSetY;
    source.onmousedown = function(e) {
        e = e ? e : (window.event ? window.event : null);
        funs.getFocus(target);
        if (e.button == (NS) ? 0 : 1) {
            if (!NS) { this.setCapture() }
            x0 = e.clientX;
            y0 = e.clientY;
            x1 = parseInt(funs.abs(target).x);
            y1 = parseInt(funs.abs(target).y);
            moveable = true;
        }
    };
    //拖动;  
    source.onmousemove = function(e) {
        e = e ? e : (window.event ? window.event : null);
        if (moveable) {
            target.style.left = (x1 + e.clientX - x0 - offSetX) + "px";
            target.style.top = (y1 + e.clientY - y0 - offSetY) + "px";
        }
    };
    //停止拖动;  
    source.onmouseup = function(e) {
        if (moveable) {
            if (!NS) { this.releaseCapture(); }
            moveable = false;
        }
    };
}

mask = function() {
    var mybg;
    return {
        show: function() {
            if (!mybg) {
            var h=document.documentElement.scrollHeight; //可见元素高度
            var h1=document.documentElement.clientHeight;//浏览器高度
            var h2=h<h1?h1:h;
         
                mybg = document.createElement("div");
                mybg.setAttribute("id", "maskBodyBg");
                mybg.style.background = "#000";
                mybg.style.width = "100%";
                mybg.style.height = h2 + "px";
                mybg.style.position = "absolute";
                mybg.style.top = "0";
                mybg.style.left = "0";
                mybg.style.zIndex = "1000";
                mybg.style.opacity = "0.3";
                mybg.style.filter = "Alpha(opacity=30)";
                document.body.style.overflow = "auto";
                document.body.appendChild(mybg);
            }
            mybg.style.display = "block";
        },
        hide: function() {
            var oBg = document.getElementById("maskBodyBg");
            if (oBg)
                oBg.style.display = "none";
        }
    }
} ();

//验证正整数
var isInteger = function(num) {
    var r = /^[1-9][0-9]*$/; //正整数
    return r.test(num);
}
//验证整数
var isNumber = function(num) {
    var r = /^\d+$/; //整数
    return r.test(num);
}
//验证数字
var isDigital = function(num) {
    var r = /^\d+(\.[0-9]{0,2})?%?$/;
    return r.test(num);
}
//验证非负数
var isPositiveNumber = function(num) {
    var r = /^0|[1-9][0-9]*$/;
    return r.test(num);
}

/*
保留小数点后位数
*/
function clearDecimalSuffix(strValue,n){
    if(strValue.indexOf(".")>-1)
    {
        var cmm1=strValue.split(".")[0];
        var cmm2=strValue.split(".")[1];
        if(cmm2.length>=n)
        {
            cmm2=cmm2.substring(0,n);
        }
        else
        {
            for(var k=1;k<=n-cmm2.length;k++){
                cmm2+='0';
            }
        }
        strValue=cmm1 + "." + cmm2;
    }
    else
    {
        for(var p=1;p<=n;p++){
                if(p==1)
                    strValue=strValue + ".0";
                else
                    strValue=strValue + "0";
        }
    }
    return strValue;
}
        
/*显示处理中对话框*/
function displayDoingDialog(dialogId,btnnmlId,btntmpId)
{    
    setDialogCenter(dialogId);
  
    var oBtnnml=document.getElementById(btnnmlId);
    var oBtntmp=document.getElementById(btntmpId);
    if(oBtnnml)
    {
        oBtnnml.style.display='none';
    }
    if(oBtntmp)
    {
        oBtntmp.style.display='';
    }
    return true;   
}

//关闭层
function closeDialog(id)
{
    $("#"+id).hide();
    mask.hide();
}
//动态添加遮盖页面的层
function MaskDiv()
{
    var h=document.documentElement.scrollHeight; //可见元素高度
    var h1=document.documentElement.clientHeight;//浏览器高度
    var h2=h<h1?h1:h;
    if( $("#gb").css("display")==undefined){
         var gb = $("<div/>").attr("id","gb") 
         .css({top:"0",left:"0",zIndex:"1",position:"absolute",filter:"Alpha(opacity=30)",opacity:"0.3",background:"Black"}) 
         .css("width","100%").css("height",h2).css("display","none").appendTo(document.body ) ;  
    }else{
     $("#gb").css("height",h2);
    }
   
    
  
}

//*显示居中对话框+遮罩*/
function setDialogCenter(divId)
{
    setDialogCenterV2(divId,true);
}

//*显示居中对话框+遮罩(id,[true,false])*/
function setDialogCenterV2(divId ,IsMask)
{
    if(IsMask)
    {
        MaskDiv();
       $("#gb").css("display","");
    }
    var divLeft =  document.documentElement.clientWidth/2-$("#"+divId).width()/2;
    var divTop =  document.documentElement.clientHeight/2-$("#"+divId).height()/2; 
    var divScrollTop = document.documentElement.scrollTop + divTop; //当前浏览器可见元素的TOP
    var divScrollLeft = divLeft - document.documentElement.scrollLeft/2;
    $("#"+divId).css({zIndex:"1001"}); 
    $("#"+divId).animate({top:divScrollTop + "px", left:divScrollLeft + "px"},10); 
    $("#"+divId).fadeIn(200);
}
/*显示动态弹出框，无关闭*/
function showDynamicDialog(mainBodyId,IsMask,btn,btn1)
{
    $("#"+btn).css("display","none");
    $("#"+btn1).css("display","");
    setDialogCenterV2(mainBodyId,IsMask);
}

//显示层在触发事件对象的旁边
function showPositionDialog(dialogBoxId,eventSrcId)
{
   var _dialog=$("#"+dialogBoxId);
   var _evnsrc=$("#"+eventSrcId);
   var left=_evnsrc.position().left;
   var top=_evnsrc.position().top + _evnsrc.height();
   _dialog.css({"left":left, "top":top + 6});
   $("#" + dialogBoxId).show();
}
/* posCtrlId:位置控件ID,message:提示信息 */
function showPositionAlert(posCtrlId, message){
    var popDialogId='ClientAlertInfo';
    var oBody = document.getElementsByTagName("body").item(0);
    var oBox = document.createElement("div");
    oBox.setAttribute('id', popDialogId);
    oBox.style.display = 'none';
    oBody.appendChild(oBox);
    $("#" + popDialogId).html(message);
    showPositionDialog(popDialogId, posCtrlId);
    $("#" + popDialogId).fadeOut(2000);
}
//显示层在触发事件对象的旁边(日历控件专用)
function ShowRightDiv(divId, objId) {
    var _div = $("#" + divId);
    var _eventId = $("#" + objId);
    var left = _eventId.position().left + 6;
    var top = _eventId.position().top + _eventId.height() + 2;
    _div.css({ "left": left, "top": top + 6, "display": "" });
    var divTop = document.documentElement.scrollHeight;
}

//显示层在触发事件对象的旁边
function showPositionDialog(divId, objId) {
    var $_divId = $("#" + divId);
    var $_objId = $("#" + objId);
    var left = $_objId.position().left;
    var top = $_objId.position().top + $_objId.height();
    $_divId.css({ "left": left, "top": top + 6 });
    $("#" + divId).show();
}
//显示层在触发事件对象的旁边
function showOffsetDialog(divId, objId) {
    var $_divId = $("#" + divId);
    var $_objId = $("#" + objId);
    var left = $_objId.offset().left;
    var top = $_objId.offset().top + $_objId.height();
    $_divId.css({ "left": left, "top": top + 6 });
    $("#" + divId).show();
}
//获取keyCode
function getKeyCode(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    return code;
}
//获取事件源ID
function GeteventId(e) {
    var eid;
    if (e.target) {
        eid = e.target.id;
    } else if (e.srcElement) {
        eid = e.srcElement.id;
    }
    return eid;
}
//阻止事件冒泡
function EventBubbling(e) {
    e = e ? e : (window.event ? window.event : null);
    if (e) {
        e.cancelBubble = true;
    }
}

function GetCookieVal(offset)
//获得Cookie解码后的值
{
    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value)
//设定Cookie值
{
    var expdate = new Date();
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    if (expires != null) expdate.setTime(expdate.getTime() + (expires * 3000));
    document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expdate.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure" : "");
}
function DelCookie(name)
//删除Cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = GetCookie(name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function GetCookie(name)
//获得Cookie的原始值
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
            return GetCookieVal(j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}
//定时滚动
function marqueeInterval(demo, demo1, demo2, roll_height) {
    demo = document.getElementById(demo);
    demo1 = document.getElementById(demo1);
    demo2 = document.getElementById(demo2);
    demo2.innerHTML = demo1.innerHTML;
    var offset = roll_height;
    var Speed2 = 20;
    var Speed1 = 5000;
    var clientHeight = demo1.offsetHeight;
    var hx_timer_1 = null;
    var hx_timer_2 = null;
    var timer1Running = false;
    var timer2Running = false;

    function Marquee() {
        timer1Running = true;
        //当滚动至demo1与demo2交界时
        if (demo2.offsetTop - demo.scrollTop <= 0)
            demo.scrollTop -= clientHeight; //demo跳到最顶端
        else {
            demo.scrollTop += 5;
        }
        offset -= 5;
        if (offset <= 0) {
            if (demo.scrollTop == roll_height - 1) demo.scrollTop = roll_height;
            offset = roll_height;
            clearInterval(hx_timer_2);
            clearInterval(hx_timer_1);
            hx_timer_1 = setInterval(upm, Speed1);
        }
    }
    function upm() {
        if (timer2Running) clearInterval(hx_timer_2);
        if (timer1Running) clearInterval(hx_timer_1);
        hx_timer_2 = setInterval(Marquee, Speed2);
        timer2Running = true;
    }
    setTimeout(upm, Speed1);
    //鼠标移上时清除定时器达到滚动停止的目的
    demo.onmouseover = function() { clearInterval(hx_timer_1); clearInterval(hx_timer_2); }
    //鼠标移开时重设定时器
    demo.onmouseout = function() { upm(); }
}

//图片鼠标滚轮缩放
function imgZoom(e, o) {
    var zoom = parseInt(o.style.zoom, 10) || 100;
    zoom += event.wheelDelta / 12;
    if (zoom > 0) o.style.zoom = zoom + '%';
    return false;
}

function getspeprice(Citys,StartDate,Cabin,FlightNo,PointDig,FullPare){
   
        var dataitem="Citys="+Citys+"&SDate="+StartDate+"&Cabin="+Cabin+"&FlightNo="+FlightNo+"&PointDig="+PointDig;
		//alert(dataitem);
		 var id="#spanprice"+FlightNo+Cabin
		 var btnID="#order"+FlightNo+Cabin
		 var imgID="#Img"+FlightNo+Cabin
                 var disID="#dis"+FlightNo+Cabin
        $.ajax({
		   type:"Post",
		   url:"/Ajax/GetSpeFlightPrice.ashx",
		   data:dataitem,
		   beforeSend: function(){
			$(imgID).show();
			},
		   success:function(data){
                          var dataobj=eval("(" + data+ ")");//to json
			  if(parseInt(dataobj.T)>0)
			  {	
                                 var dis=parseFloat(parseInt(dataobj.T)/parseInt(FullPare))*100;
                                 var disc=Math.ceil(dis);			 
				 $(id).html(dataobj.S)
                                 $(disID).html("("+disc.toString()+"折)");
				 var urls=$(btnID).attr("rel");
                                 urls=urls.replace("$S_Discount",disc);
				 urls=urls.replace("$Fear",dataobj.T);
	             var href="flightdetail.aspx?DC="+escape(urls)+"&IsRT=1&HC=";
				 $(btnID).attr("href",href);
				 $(imgID).hide()
				 $(btnID).show();
				 
			  }
			  else
			  {
				  $(imgID).hide()
				  $(id).html("暂无运价")
			  }
		   }
		})
   }
   
   
   function makeurl(obj)
   {
	   
	   
   }

