var FlightBooking1 = new function() {
	
	var isExpoSearch = false;
	
	//重置查询条件
	this.clearInput = function() {
		 $("#depCode").val("");
	     $("#depCode").attr('_3CODE', '');
	     $("#depDate").val("");
	     $("#arrDate").val("");
	     if ($("#forExpoOnlyFlag").length == 0) {
			$("#arrCode").val("");
	     	$("#arrCode").attr('_3CODE', '');	     	
	     }
	};
	
	//断日期格式
	this.validateDate = function(strdate) {
		var pattern = /((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))/;
   	    return pattern.test(strdate);
	};
	
	//提交表单前的检查
	this.check = function() {
		if ($(this).attr("id") == "checkExpoInfo") {
			isExpoSearch = true;
		}
		var depdate = $("#depDate").val().split("-");
		
		// 去程日期的判断
	    var patternDate = /^(\d{4})-(\d{2})-(\d{2})$/;
	    if ($("#depCode").attr('_3CODE') == "" || (typeof $("#depCode").attr('_3CODE') === 'undefined') || $.trim($("#depCode").val()) == '' || $.trim($("#depCode").val()) == '支持中文/拼音')
	    {
	        alert("出发城市不能为空！");
	        $("#depCode").focus();
	        return false;
	    }
	    
	     if ($("#depDate").val() == "")
	    {
	        alert("出发日期不能为空！");
	        $("#depDate").focus();
	        return false;
	    }
	    
	    if ($("#arrCode").attr('_3CODE') == "" || (typeof $("#arrCode").attr('_3CODE') === 'undefined') || $.trim($("#arrCode").val()) == '' || $.trim($("#arrCode").val()) == '支持中文/拼音')
	    {
	        alert("到达城市不能为空！");
	        $("#arrCode").focus();
	        return false;
	    }
	    
	    if (!patternDate.test($("#depDate").val()))
	    {
	        alert("您填写的日期格式不正确，应该是yyyy-mm-dd");
	        $("#depDate").focus();
	        return false;
	    }
	    
	    //如果是世博航班查询，则出发日期为当前日期1周后开始
	    if (!isExpoSearch) {
	    	if (depdate[0] + depdate[1] + depdate[2] < (new Date()).getShortDateStr())
		    {
		        alert("您选择的出发日期必须大于当前日期，请重新填写！");
		        $("#depDate").focus();
		        return false;
		    }	
	    } else {
	    	var expoDepDate = new Date();
			//depDiffDate是设置出发日期距离当前日期多少天后的变量
			var depDiffDate = 7;
	        expoDepDate.setDate(Number(expoDepDate.getDate()) + depDiffDate);
	        
	        if (depdate[0] + depdate[1] + depdate[2] < expoDepDate.getShortDateStr())
		    {
		        alert("您选择的出发日期必须在当前日期一星期后，请重新填写！");
		        $("#depDate").focus();
		        return false;
		    }	
	    }
	    
	    
	    
	    if (!FlightBooking1.validateDate($("#depDate").val()))
	    {
	        alert("去程日期格式不正确");
	        return;
	    }
	    
	    
	    // 回程日期的判断
	    if ($.dom("tripTypert").checked)
	    {
	        if ($("#arrDate").val() == "")
	        {
	            alert("回程日期不能为空！");
	            $("#arrDate").focus();
	            return false;
	        }
	
	        if (!patternDate.test($("#arrDate").val()))
	        {
	            alert("回程日期格式不正确，正确格式为：yyyy-mm-dd , 请检查后重新填写!");
	            $("#arrDate").focus();
	            return false;
	        }

			if (!isExpoSearch) {
				if ($("#arrDate").val() < $("#depDate").val())
		        {
		            alert("回程日期不能早于出发日期，请重新填写！");
		            $("#arrDate").focus();
		            return false;
		        }
			} else {
				var re = /-/g;
		        var expoDepDate = new Date(String($("#depDate").val()).replace(re,"/"));
		        //backDiffDate是设置回程日期必须在出发日期后多少天的变量
		        var backDiffDate = 2;
		        expoDepDate.setDate(Number(expoDepDate.getDate()) + backDiffDate);
		        var strExpoDepDate = expoDepDate.to_Str();
		        if (strExpoDepDate > $("#arrDate").val())
		        {
		            alert("回程日期须在出发日期2日后，请重新填写！");
		            $("#arrDate").focus();
		            return false;
		        }
			}
	
	        if (!FlightBooking1.validateDate($("#arrDate").val()))
	        {
	            alert("回程日期格式不正确");
	            return;
	        }
	    }
	    
	    var adt = Number($("#adult_select").val());
	    var chd = Number($("#child_select").val());
	    var inf = Number($("#baby_select").val());
	
	    if ($("#international").attr("checked") == true)
	    {
	        inf = 0;
	    }
	
	    if (adt + chd + inf > 9)
	    {
	        alert("查询的总人数不能大于9人！");
	        return false;
	    }
	
	    if (inf > adt)
	    {
	        alert("婴儿数量不能大于成人数量！");
	        return false;
	    }
	    
	    var $dep = $('#depCode');
	    var $arr = $('#arrCode');
	    var dep = $dep.val();
	    var arr = $arr.val();
	    $dep.val($dep.attr('_3CODE'));
	    $arr.val($arr.attr('_3CODE'));
	    $('#main_container form').attr('action','/mu/main/gg/flightgg/index.html').submit();
	    $dep.val(dep);
	    $arr.val(arr);
	};
	
};

//  页面控制
$(document).ready(function()
{
	var dateInterval = 1;
	
	if ($("#forExpoOnlyFlag").length > 0) {
		dateInterval = 2;
	}
	
    var dep = {
        onClose: function(date)
        {
            setTimeout(function()
            {
                $('#arrDate:visible').datepicker('setDate', new Date($("#depDate").datepicker('getDate').valueOf() + dateInterval * 24 * 60 * 60 * 1000));
                $('#arrDate:visible').datepicker('show');
                $('#arrDate:visible').change();
            },
            1);
        }
    };
    if ($("#forExpoOnlyFlag").length > 0) {
    	dep = $.extend(dep, Shared.dateConfigForExpoInPublic);
    } else {
    	dep = $.extend(dep, Shared.dateconfig_2Months);
    }
    
    $("#depDate").datepicker(dep);
    if ($("#forExpoOnlyFlag").length > 0) {
    	$("#arrDate").datepicker(Shared.dateConfigForExpoInPublic);	
    } else {
    	$("#arrDate").datepicker(Shared.dateconfig_2Months);
    }
    
    //区别对待世博航班查询与普通航班查询
    if ($("#forExpoOnlyFlag").length == 0) {
    	$("#depCode").jSelectCity({
	        tips: "支持中文/拼音",
	        $international: $('#international')
	    });
	    $("#arrCode").jSelectCity({
	        tips: "支持中文/拼音",
	        $from: $("#depCode"),
	        $international: $('#international')
	    });	
    } else {
    	$("#depCode").jSelectCity({
	        tips: "支持中文/拼音",
	        $from: $("#arrCode")
	    });
    }
    
    if ($("#arrDate").val() == '')
    {
        var today = new Date();
        today.setDate(Number(today.getDate()) + 1);
        $("#depDate").val(today.to_Str());
        today.setDate(Number(today.getDate()) + 1);
        $("#arrDate").val(today.to_Str());
    }
    if ($("#international").attr("checked") == true)
    {
        $('#baby_select').hide();
        $('#baby').hide();
    }
    $('form').keydown(function(event)
    {
        try
        {
            if (event.keyCode === 13)
            {
                return false;
            }
        }
        catch(e)
        {}
    });
    
    $("#clearFlightInfo").click(FlightBooking1.clearInput);
    $("#checkFlightInfo").click(FlightBooking1.check);
	$("#checkExpoInfo").click(FlightBooking1.check);
    
    if ($("#forExpoOnlyFlag").length > 0) {
		$("#arrCode").change(function(){
			if ($(this).val() == "SHA") {
				$(this).attr("_3CODE","SHA");
			} else if ($(this).val() == "PVG") {
				$(this).attr("_3CODE","PVG");
			} else if ($(this).val() == "NGB") {
				$(this).attr("_3CODE","NGB");
			} else if ($(this).val() == "NKG") {
				$(this).attr("_3CODE","NKG");
			} else if ($(this).val() == "HGH") {
				$(this).attr("_3CODE","HGH");
			} 
		});	
	}
});
