﻿jQuery(function (e) {
    try
    {
    var oldParseDate = ParseDate;
    
    }catch(ex){
         
    }
    if (!oldParseDate) { oldParseDate = function (s) { 
                                 return null;
                            } 
    }
    ParseDate = function (str) {
        var d = oldParseDate(str);
        var regex = new RegExp(/\s*(\d{1,2})\/(\d{1,2})\/(\d{4})\s*$/ig);
        if (d != null) { return d; }
        else if (regex.test(str)) {
            str = str.replace(regex, "$3-$2-$1");
            return new Date(str.replace(/\-/ig,"/"));
        }
        return d;
    }

})

if(typeof(jQuery) != "undefined")
    var jq = jQuery;

var Params = {};
(function(o){
    o.orgDomain = document.domain;
    document.domain = "wingontravel.com";
    o.cookieDomain = document.domain;
    o.cookieExpires = (new Date()).add("m", 4).toUTCString();
    o.dateFormat = "dd/MM/yyyy";
    o.cookieVersion = "20110628";
})(Params);

(function(){
    
    // 清除舊版本的 cookie
    if(CTSZ.Cookie.get("cookieVersion") != Params.cookieVersion){
        
        var tmps = Params.orgDomain.split('.');
        var domain;
        var len = tmps.length;

        var paths = location.pathname.split('/');
        if(!/\/$/.test(location.pathname)){
            paths.pop();
        }

        for(var i=0;i<= len - 3; i++){
            tmps.shift();
            domain = tmps.join('.');
            CTSZ.Cookie.empty("/", domain);

            var pathstmp = paths;
            for(var j=paths.length - 1;j>=0;j--){
                CTSZ.Cookie.empty(pathstmp.join('/') , domain);
            }

        }
        CTSZ.Cookie.empty();
        CTSZ.Cookie.set("cookieVersion", Params.cookieVersion, Params.cookieExpires, "/", Params.cookieDomain);
    }

})();

var TipsHelper = {};
(function (o) {

    o.addListener = function (element, e, fn) {
        if (element.addEventListener) {
            element.addEventListener(e, fn, false);
        } else {
            element.attachEvent("on" + e, fn);
        }
    };

    o.Listener = function (element, defValue) {
        element.setAttribute("valueCache", defValue);

        o.addListener(element, "focus", function () {
            if (element.value == element.getAttribute("valueCache")) {
                element.value = "";
                element.style.color = "";
            }
        })
        o.addListener(element, "blur", function () {
            if (element.value == "") {
                element.value = element.getAttribute("valueCache");
                element.style.color = "gray";
            }

        })
    }

})(TipsHelper);

function GetCountryCode(optionID) {
    if (optionID == "1")
        return "+852";
    else if (optionID == "2")
        return "+853";
    else if (optionID == "3")
        return "+86";
    else
        return "國家編號";
}

var customValidHelper = {};
(function(o){

	o.pass = function(obj,rule){
		try{
			document.body.removeChild(obj.errorTip);
			obj.errorTip = null
		}catch(e){}
	}

	o.unPass = function(obj,rule){

        var tipFollow;

		if(!obj.errorTip){
            
			var tmp = document.createElement("DIV");
			tmp.className = "pointerbox";
			document.body.appendChild(tmp);
			obj.errorTip = tmp;
			obj.errorTip.innerHTML = "<div class='pointer'></div><div class='tip shadow radius'><span class='warnning'></span>" + rule.msg+"</div><div class='clear'></div>";
		}else{
			obj.errorTip.innerHTML = "<div class='pointer'></div><div class='tip shadow radius'><span class='warnning'></span>" + rule.msg+"</div><div class='clear'></div>";
		}

        if(rule.tip && CTSZ.$(rule.tip)){
            tipFollow = CTSZ.$(rule.tip);
        }else{
            tipFollow = obj;
        }

        var pos = CTSZ.getAbsPos(tipFollow);
        CTSZ.css(obj.errorTip, {left:pos.x + tipFollow.offsetWidth , top:pos.y - 8});

	}

        o.checkPhone = function (obj, rule, phoneType){
        var phoneRegex = /^(?:\(?[0\+]?\d{1,3}\)?)[\s-]?(?:0|\d{1,4})[\s-]?(?:(?:13\d{9})|(?:\d{4,8}))$/;
        if(!phoneRegex.test(obj.value.trim()))
        {
            rule.msg = "請輸入有效的電話號碼";
            return false;
        }

        if(phoneType == 1 && !/^\d{8}$/i.test(obj.value.trim()))//香港
        {
            rule.msg = "您輸入的香港電話號碼無效";
            return false;
        }
        else if(phoneType == 2 && !/^\d{8}$/i.test(obj.value.trim()))//澳門
        {
            rule.msg = "您輸入的澳門電話號碼無效";
            return false;
        }

        return true;
    };

    o.checkMobile = function (obj, rule, mobileType) {
        var mobileRegex = /^(?:\(?[0\+]?\d{1,3}\)?)[\s-]?(?:0|\d{1,4})[\s-]?(?:(?:13\d{9})|(?:\d{4,8}))$/;
        if(!mobileRegex.test(obj.value.trim()))
        {
            rule.msg = "請輸入有效的手機號碼";
            return false;
        }

        if(mobileType == 1 && !/^\d{8}$/i.test(obj.value.trim()))//香港
        {
            rule.msg = "您輸入的香港手機號碼無效";
            return false;
        }
        else if(mobileType == 2 && !/^\d{8}$/i.test(obj.value.trim()))//澳門
        {
            rule.msg = "您輸入的澳門手機號碼無效";
            return false;
        }
        if(mobileType == 3 && !/^1(?:(?:[358]\d{9})|(?:4[57]\d{8}))$/i.test(obj.value.trim()))//中国
        {
            rule.msg = "您輸入的中國大陸手機號碼無效";
            return false;
        }

        return true;
    }


})(customValidHelper);

var searchHotelHelper = {};
(function (o) {
    //頁面tip提示wording
    o.bookingTip = "於入住時直接支付房費予酒店";
    o.paymentTip = "預訂成功后透過信用卡付款";
    o.roomPriceTip = "首晚房價";
	var optionOpened = false;
	var jcookie = CTSZ.Cookie;
    var areaSelector = null;
    
	var validRule1 = [
		{name:"txtCity", type:"Fun", Fun:function(obj,rule){
            if(obj.value.trim() == "選擇城市"||obj.value.trim() == "中文/英文" || obj.value.trim() == "")
                return false;
            return true;
        }, required:true, msg:"請選擇目的地城市"},
		{name:"txtArrival", required:true, msg:"請輸入入住日期, 如 27/12/2011"},
		{name:"txtArrival", type:"Fun", Fun:function(obj, rule){
                var d = new Date();
                var today = new Date( d.getFullYear(), d.getMonth() , d.getDate() );
                var input =ParseDate(obj.value);
                
                if(input < today){
                    return false;
                }
                return true;
            }, msg:"住店日期不能早於今天"},
        {name:"txtDepartrue", required:true, type:"Fun", Fun:function(obj,rule){
            var dOut = ParseDate(obj.value);

            if(dOut == null){
                rule.msg = "請輸入離店日期,如 28/12/2011";
                return false;
            }

            var dIn = CTSZ.$("txtArrival").value.toDate(new Date());
            
            if(dOut < dIn){
                rule.msg = "退房日期不能早於住店日期";
                return false;
            }

            var dMax1 = dIn.add("d", 28);//入住日期28天以後
            var dMax2 = new Date().add("d",120);//今天120天以後

            var dMax = dMax1 > dMax2 ? dMax2 : dMax1;

            if(dOut > dMax){
                rule.msg = "住店日期如果為" + dIn.toString( Params.dateFormat ) + ", 退房日期不能晚於 " + dMax.toString( Params.dateFormat );
                return false;
            }
            return true;
        }, msg:"請輸入離店日期,如 28/12/2011"}
	];

    var validRuleForMap = [
       {name:"txtCity", type:"Fun", Fun:function(obj,rule){
            if(obj.value.trim() == "選擇城市"||obj.value.trim() == "中文/英文" || obj.value.trim() == "")
                return false;
            return true;
        }, required:true, msg:"請選擇目的地城市"},
		{name:"txtArrival", required:true, msg:"請輸入入住日期, 如 27/12/2011"},
		{name:"txtArrival", type:"Fun", Fun:function(obj, rule){
                var d = new Date();
                var today = new Date( d.getFullYear(), d.getMonth() , d.getDate() );
                var input =ParseDate(obj.value);
                
                if(input < today){
                    return false;
                }
                return true;
            }, msg:"住店日期不能早於今天"},
        {name:"txtDepartrue", required:true, type:"Fun", Fun:function(obj,rule){
            var dOut = ParseDate(obj.value);

            if(dOut == null){
                rule.msg = "請輸入離店日期,如 28/12/2011";
                return false;
            }

            var dIn = CTSZ.$("txtArrival").value.toDate(new Date());
            
            if(dOut < dIn){
                rule.msg = "退房日期不能早於住店日期";
                return false;
            }

            var dMax1 = dIn.add("d", 28);//入住日期28天以後
            var dMax2 = new Date().add("d",120);//今天120天以後

            var dMax = dMax1 > dMax2 ? dMax2 : dMax1;

            if(dOut > dMax){
                rule.msg = "住店日期如果為" + dIn.toString( Params.dateFormat ) + ", 退房日期不能晚於 " + dMax.toString( Params.dateFormat );
                return false;
            }
            return true;
        }, msg:"請輸入離店日期,如 28/12/2011"}
    ];

    o.checkInputForMap = function(){
        var f = FormValidate.validate(document.forms[0] , validRuleForMap , 4 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;
        return true;    
    }

	o.showAllRoom = function (obj, hotelRooms) {
		var opened = obj.opened == undefined ? true : obj.opened;
        CTSZ.$(hotelRooms).tBodies[1].className = opened ? "opened" : "more";
		obj.innerHTML = opened ? "收縮" : "顯示更多房間";
		obj.opened = !opened;
	}

	var setSearchForm_ = function(key){
		var vo = CTSZ.$(key);
		if(!vo)
			return;

		vo.value = jcookie.get(key) || "";
        return vo.value;
	}

	o.setSearchForm = function(){
       
        jQuery("#txtArea").focus(o.showArea);

        jQuery(document.documentElement).click(hidArea2);

        o.caseCatedCityAndArea();

          jQuery(function () {
           initColor = function(){
            var masktext = jQuery("#txtCity").attr("mod_notice_tip");
                var value = jQuery("#txtCity").val();
                var defaultValue = masktext;
                if(masktext == value || defaultValue == value)
                {
                    jQuery("#txtCity").css("color","#888");
                }else
                {
                    jQuery("#txtCity").css("color","#000");
                }
            value = jQuery("#txtArea").val();
            if (value!="") {
                     jQuery("#txtArea").css("color","#000");
            }
             masktext = jQuery("#txtHotel").attr("maskText");
              value = jQuery("#txtHotel").val().trim();
              defaultValue = masktext;
             if(value==masktext || defaultValue == value)
             {
                    jQuery("#txtHotel").css("color","#888");
             }else
             {
                    jQuery("#txtHotel").css("color","#000");
             }

             if(jQuery("#ddlStar").val()!="0")
                {
                    jQuery("#ddlStar").css("color","#000");
                }else
                {
                     jQuery("#ddlStar").css("color","#888");
                }
            if(jQuery("#ddlPriceRange").val()!="0-0")
                {
                    jQuery("#ddlPriceRange").css("color","#000");
                }else
                {
                     jQuery("#ddlPriceRange").css("color","#888");
                }
            if(jQuery("#ddlConfirmType").val()!="")
                {
                    jQuery("#ddlConfirmType").css("color","#000");
                }else
                {
                     jQuery("#ddlConfirmType").css("color","#888");
                }
             jQuery("#txtArrival").css("color","#888");
             jQuery("#txtDepartrue").css("color","#888");
           };
           initColor();
           jQuery("#txtCity").blur(function(e){
                var masktext = jQuery("#txtCity").attr("mod_notice_tip");
                var value = jQuery("#txtCity").val();
                 defaultValue = masktext;
                if(masktext == value || value == defaultValue)
                {
                    jQuery("#txtCity").css("color","#888");
                }else
                {
                    jQuery("#txtCity").css("color","#000");
                    customValidHelper.pass(jQuery("#txtCity")[0]);
                }
                
           });
           jQuery("#txtArea").change(function(e){
                if (this.value!="") {
                     jQuery("#txtArea").css("color","#000");
                }
            });
            jQuery("#txtArrival").focus(
                function(e){
                    if (this.value!=jQuery("#txtArrival").attr("defaultValue")) {
                         jQuery("#txtArrival").css("color","#000");
                    }else{
                         jQuery("#txtArrival").css("color","#888");
                    }
                }
            );
            jQuery("#txtArrival").blur(
                function(e){
                    if (this.value!=jQuery("#txtArrival").attr("defaultValue")) {
                         jQuery("#txtArrival").css("color","#000");
                    }else
                    {
                        jQuery("#txtArrival").css("color","#888");
                    }
                }
            );
             jQuery("#txtDepartrue").focus(
               
                function(e){
                  
                    if (this.value!=jQuery("#txtDepartrue").attr("defaultValue")) {
                         jQuery("#txtDepartrue").css("color","#000");
                    }else
                    {
                     jQuery("#txtDepartrue").css("color","#888");
                    }
                }
            );
            jQuery("#txtDepartrue").blur(
               
                function(e){
                  
                    if (this.value!=jQuery("#txtDepartrue").attr("defaultValue")) {
                         jQuery("#txtDepartrue").css("color","#000");
                    }else
                    {
                        jQuery("#txtDepartrue").css("color","#888");
                    }
                }
            );
           jQuery("#txtArea").blur(function () {
           
               if (this.value=="") {
                    jQuery("#hidArea").val("");
                    jQuery("#hidAreaType").val("");
                }
            });
            jQuery("#txtHotel").blur(function(e){
               var maskText = jQuery("#txtHotel").attr("maskText");
               var val = jQuery("#txtHotel").val().trim();
                defaultValue = maskText;
               if(!val||val==maskText || val == defaultValue)
               {
                    jQuery("#txtHotel").css("color","#888");
                    if( !val)
                    {
                     jQuery("#txtHotel").val(maskText);
                    }
               }else
               {
                    jQuery("#txtHotel").css("color","#000");
               } 
            });
            jQuery("#txtHotel").focus(function(e){
                var maskText = jQuery("#txtHotel").attr("maskText");
                if(jQuery("#txtHotel").val().trim()==maskText)
                {
                    jQuery("#txtHotel").val("");
                } 
            });
          
            jQuery("#ddlStar").change(function(e){
                if(jQuery("#ddlStar").val()!="0")
                {
                    jQuery("#ddlStar").css("color","#000");
                }else
                {
                     jQuery("#ddlStar").css("color","#888");
                }
            });
            jQuery("#ddlPriceRange").change(function(e){
                if(jQuery("#ddlPriceRange").val()!="0-0")
                {
                    jQuery("#ddlPriceRange").css("color","#000");
                }else
                {
                     jQuery("#ddlPriceRange").css("color","#888");
                }
            });
            jQuery("#ddlConfirmType").change(function(e){
                if(jQuery("#ddlConfirmType").val()!="")
                {
                    jQuery("#ddlConfirmType").css("color","#000");
                }else
                {
                     jQuery("#ddlConfirmType").css("color","#888");
                }
            });
            jQuery(".date").each(function () {
                var strFormat = "dd/MM/yyyy";
                if (this.value == "") {
                    this.value = strFormat;
                    jQuery(this).addClass("gray");
                };

                jQuery(this).focus(function () {
                    jQuery(this).removeClass("gray");
                    if (this.value == strFormat) {
                        this.value = "";
                    };
                });

                jQuery(this).blur(function () {
                    if (this.value == "") {
                        this.value = strFormat;
                        jQuery(this).addClass("gray");
                    }
                    else {
                        jQuery(this).removeClass("gray");
                    };
                });

 
            });//end of each
            });
	}
        

	var createField = function (name, vo) {
		var vo_ = CTSZ.$(vo);
		var input = CTSZ.$c("INPUT");
		input.type = "hidden";
		input.value = vo_ ? vo_.value : "";
        input.value = input.value.replace(",","");//替換價格裡的逗號
		input.name = name;

		if(vo.trim() != "")
			jcookie.set(vo, input.value , Params.cookieExpires , "/" , Params.cookieDomain);

		return input;
	}

	var createField2 = function (name, v) {
		var input = document.createElement("INPUT");
		input.type = "hidden";
		input.value = v;
		input.name = name;
		return input;
	}
    o.createBaseSubmitForm = function(serverUrl,pageName){
    var f = FormValidate.validate(document.forms[0] , validRule1 , 4 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;
		var form = document.createElement("FORM");

		form.action = serverUrl+(pageName||"HotelList.aspx");

		form.method = "post";
		document.body.appendChild(form);
		//form.appendChild(createField("cid", ""))//city id
		form.appendChild(createField("cn", "txtCity")); //city name
        
		form.appendChild(createField("ds", "txtArrival")); // 入住日期
		form.appendChild(createField("de", "txtDepartrue")); //離店日期

        if(jQuery("#txtHotel").val()!="中文/英文" && jQuery("#txtHotel").val()!="")
		form.appendChild(createField("hn", "txtHotel")); //酒店名稱
		
		var star = jQuery("#ddlStar option:selected").val();

	    var confirmType = jQuery("ddlConfirmType option:selected").val();

		if(star != 0)
			form.appendChild(createField2("star", star)); //星級

		if(confirmType != ""){
			form.appendChild(createField2("co", confirmType)); //即時確認
		}

        form.appendChild(createField("pt","pricetype"));

        var priceRange = jQuery("#ddlPriceRange option:selected").val().split('-');
		form.appendChild(createField2("lp", priceRange[0]));//最低價格
		form.appendChild(createField2("up", priceRange[1]));// 最高價格
		form.appendChild(createField("tar", "txtArea"));//區域文本
		form.appendChild(createField("ar", "hidArea"));//區域
        form.appendChild(createField("at", "hidAreaType"));//區欄位型別 1:商業區，2行政區
        form.appendChild(createField("sk","sortkey"));
        form.appendChild(createField("sd","sortdir"));

        form.appendChild(createField2("oversea",jQuery("#overseacity").val()));

        return form;
    };
	o.submit = function (serverUrl,pageName) {
     var form=o.createBaseSubmitForm(serverUrl,pageName);
        if(form)
        {
		    form.submit();
        }
	}
    o.resubmit = function(serverUrl,pageName,resubmitPageName,hid)
    {
        var form = o.createBaseSubmitForm(serverUrl,pageName);
        //本頁內搜索
        if(form)
        {
          if(jQuery("#txtCity").val()==jQuery("#txtCity").attr("defaultValue") && jQuery("#txtHotel").attr("defaultValue") == jQuery("#txtHotel").val())
          {
              if(jQuery("#btnsubmitsearch").attr("mode")=="Simple")
              {
                form.action = (resubmitPageName) || (serverUrl+(pageName||"HotelList.aspx"));
              }
              form.appendChild(createField2("hid",hid));
          }
          form.submit();
        }
    }
	o.book = function( hotelID, roomID, ds, de, pt, serverUrl ){
		var form = document.createElement("FORM");
		form.action = serverUrl+"order.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField2("hid", hotelID));
		form.appendChild(createField2("rid", roomID));
		form.appendChild(createField2("ds", ds));
		form.appendChild(createField2("de",de));
        form.appendChild(createField2("pt",pt||"FG"));
        //form.appendChild(createField2("cid", cid));
		form.submit();
	}

	o.changeDate = function(hid, dso, deo, pt, serverUrl){
		var ds = CTSZ.$(dso).value.toDate();
		var de = CTSZ.$(deo).value.toDate();

            if(de < ds){
                art.dialog({content:"退房日期不能早於住店日期",lock:true,title:"日期錯誤",yesFn:true});
                return false;
            }

            var dMax1 = ds.add("d", 28);//入住日期28天以後
            var dMax2 = new Date().add("d",60);//今天60天以後

            var dMax = dMax1 > dMax2 ? dMax2 : dMax1;

            if(de > dMax){
                art.dialog({content:"住店日期如果為" + ds.toString( Params.dateFormat ) + ", 退房日期不能晚於 " + dMax.toString( Params.dateFormat ),lock:true,title:"日期錯誤",yesFn:true});
                return false;
            }


		//var url = location.href.setKeyValue("ds", ds.toString( Params.dateFormat )).setKeyValue("de", de.toString( Params.dateFormat ) );
		var url = serverUrl+"HotelInfo.aspx?hid="+hid+"&ds="+ds.toString( Params.dateFormat )+"&de="+de.toString( Params.dateFormat )+"&pt="+pt;
		location.href = url;


	}

	o.setMap = function(id, glon, glat, serverUrl) {
		maplet = new Maplet(id);
		//設置地圖中心點經緯度
		var mpoint=new MPoint(glon, glat);
		maplet.centerAndZoom(mpoint, 8);
		maplet.addControl(new MStandardControl());
		maplet.showOverview(true ,false);
        var hotelname = jQuery("#spnhname").html();
		var marker = new MMarker(
			mpoint,
			 new MIcon(serverUrl+"Images/hotel_pointer.png",20,34),
             null,
             new MLabel("<div><span class='maphname'>"+hotelname+"</span><span class='maphnameright'>&nbsp;</span></div>",{xoffset: 0,yoffset: 0,opacity: 100, enableStyle: false,visible: true}),
             new MIconShadow(serverUrl+"Images/label_shadow.png",37,34,10,10)
		);
		//地圖上添加該標注
		maplet.addOverlay(marker);
	}

	var mapZoomed = false;
	o.zoomInMap = function(btn, glon, glat, serverUrl){
		btn.innerHTML = mapZoomed ? "放大":"關閉";
		var zoomInWrapper = CTSZ.$("zoomInWrapper");
		zoomInWrapper.style.display = mapZoomed ? "none" : "block";
		mapZoomed = !mapZoomed;
		
		var target = mapZoomed ? "zoomIn" : "mapbar";
		var clearTarget = !mapZoomed ? "zoomIn" : "mapbar";
		CTSZ.$(clearTarget).innerHTML = "";
		this.setMap( target, glon, glat, serverUrl);
	}

	o.hidArea = function(evt){
        if(areaSelector != null)
            areaSelector.style.display = "none";
	}

    var hidArea2 = function(evt){
        evt = window.event || evt;
        var obj = evt.srcElement || evt.target;

        try{
        if( obj.id == "txtArea" || obj.parentNode.id == "areaSelector" || obj.parentNode.parentNode.id == "areaSelector" || obj.parentNode.parentNode.parentNode.id == "areaSelector")
            return;
        }catch(e){

        }

        if(areaSelector != null)
            areaSelector.style.display = "none"
	}
    o.hidArea2=hidArea2;
    var GetSourceUrl = function(a) { if (a.indexOf('://') == -1 && a.indexOf('/') !== 0) a = GetBasePath() + a; return a;}
    var GetBasePath = function() { var d = ''; var e = document.getElementsByTagName('script'); for (var f = 0; f < e.length; f++) { var g = e[f].src.match(/(^|.*[\\\/])main.js.*$/i);  if (g) { d = g[1]; break; } } if (d.indexOf('://') == -1) if (d.indexOf('/') == 0) d = location.href.match(/^.*?:\/\/[^\/]*/)[0] + d; else d = location.href.match(/^[^\?]*\/(?:)/)[0] + d; return d; }

	o.showArea = function(){
		var cn = jQuery("#txtCity").val();
        var masktext = jQuery("#txtCity").attr("mod_notice_tip");
          
		if(cn == "" || masktext == cn)
        {
            customValidHelper.unPass(jQuery("#txtCity")[0],{msg:"請選擇目的地城市"});
            return;
        }
		jq.ajax({
			url: GetBasePath() + "/Ajax.js?t=LOCATION&cn=" + escape(cn) ,
			type: 'GET',
			timeout: 60000,
			success: function (data) {
				eval("var tmp = " + data);
				var o = null ,v = [],ls = "",zs = "";
				if(tmp.zone != null){
					for(o in tmp.zone){
						v.push("<a href='javascript:void(0)' onclick='searchHotelHelper.setLocation(" + o + ",\""+ tmp.zone[o] +"\",2)'>" + tmp.zone[o] +"</a>");
					}
					ls = v.join("");
				}
				v = [];
				if(tmp.location != null){
					for(o in tmp.location){
						v.push("<a href='javascript:void(0)' onclick='searchHotelHelper.setLocation(" + o + ",\""+ tmp.location[o] +"\",1)'>" + tmp.location[o] +"</a>");
					}
					zs = v.join("");
				}
				
				if(ls != "" && zs != ""){
                    if(areaSelector == null){
                        areaSelector = CTSZ.$c("DIV");
                        areaSelector.className = "selector shadow radius";
                        document.body.appendChild(areaSelector);
                    }
					areaSelector.innerHTML = "<div><div class='title'><span class='l'></span><span class='r'></span><span class='c'>商業區</span></div><div class='list'>" + ls + "</div><div><div><div class='title'><span class='l'></span><span class='r'></span><span class='c'>行政區</span></div><div class='list'>" + zs + "</div></div>";
                    var pos = jq("#txtArea").offset();
                    CTSZ.css(areaSelector, {left:pos.left, top: pos.top + 25, display:"block"});
				}
			},
			error:function(data, textStatus, errorThrown){
				//alert(data,  textStatus, errorThrown)
			}
		}
		);
	}

    o.caseCatedCityAndArea=function()
    {
        var cityBox = jQuery("#city_txt").get(0)||jQuery("#txtCity").get(0);
        var old = null;
        cityBox = jQuery(cityBox);
        cityBox.change(function(e){
            
                if(jQuery("#hidArea"))
                {
                    jQuery("#hidArea").val("");
		            jQuery("#txtArea").val("");
                    jQuery("#hidAreaType").val("");
                }
            
        })
    }

	o.setLocation = function( id,name, type ){
		jQuery("#hidArea").val(id);
		jQuery("#txtArea").val(name);
        jQuery("#hidAreaType").val(type);
		jQuery("#areaSelector").toggle();
	}
    //箭头向左
    var exchangeTip = null;
    o.showExchangeRate = function( obj, exchangeRate ){
        if(obj){
            var pos = CTSZ.getAbsPos(obj);
		    if(exchangeTip == null){
            
			    var tmp = document.createElement("DIV");
			    tmp.className = "pointerbox";
			    document.body.appendChild(tmp);
			    exchangeTip = tmp;
			    exchangeTip.innerHTML = "<div class='pointer'></div><div class='tip shadow radius'><span class='lampbulb'></span>" + exchangeRate +"</div><div class='clear'></div>";
	    	}else{
			    exchangeTip.innerHTML = "<div class='pointer'></div><div class='tip shadow radius'><span class='lampbulb'></span>" + exchangeRate +"</div><div class='clear'></div>";
		    }
                CTSZ.css(exchangeTip , {left:pos.x + obj.offsetWidth , top:pos.y - 16, display:"block"});
        }else{
            if(exchangeTip)
                CTSZ.css(exchangeTip ,{display:"none"});    
        }
    }

        //箭头向右
    var exchangeTipRight = null;
    o.showExchangeRateRight = function( obj, exchangeRate ){
        if(obj){
            var pos = CTSZ.getAbsPos(obj);
		    if(exchangeTipRight == null){
            
			    var tmp = document.createElement("DIV");
			    tmp.className = "pointerbox";
			    document.body.appendChild(tmp);
			    exchangeTipRight = tmp;
                
			    exchangeTipRight.innerHTML = "<div class='tip shadow radius' id='Rtip'><span class='lampbulb' id='Rlampbulb'></span>" + exchangeRate +"</div><div class='pointerR' id='pointerR'></div><div class='clear'></div>";
	    	}else{
			    exchangeTipRight.innerHTML = "<div class='tip shadow radius' id='Rtip'><span class='lampbulb' id='Rlampbulb'></span>" + exchangeRate +"</div><div class='pointerR' id='pointerR'></div><div class='clear'></div>";
		    }
                CTSZ.css(exchangeTipRight ,{display:"block"});
                tipWidth = jQuery("#Rtip").width() + jQuery("#Rlampbulb").width();
                //判断是否为IE
                if(jQuery.browser.msie == true){
                jQuery("#pointerR").css("left",tipWidth);
                }else{
                jQuery("#pointerR").css("left",tipWidth + 3);
                }
                CTSZ.css(exchangeTipRight , {left:pos.x - tipWidth - 18, top:pos.y - 16, display:"block"});

        }else{
            if(exchangeTipRight)
                CTSZ.css(exchangeTipRight ,{display:"none"});    
        }
    }

})(searchHotelHelper);


var orderHelper = {};
(function(o){

	o.totalPriceRMB = 0;
	o.exchangeRate = 0;

	o.userNameItemTmp = null;

	o.changeRoomCount = function(n,uid){
		n = parseInt(n);
        CTSZ.$("spRooms").innerHTML = n;

        if(o.priceType=="FG"){
            CTSZ.$("spTotalPriceOrg").innerHTML = Math.ceil(o.singlePriceRMB  * n).toString().asMoney(0,"0");
            if (CTSZ.$("spTotalPriceHKD").innerHTML!="")
                CTSZ.$("spTotalPriceHKD").innerHTML = "(約HKD " + Math.ceil(o.singlePriceHKD * n).toString().asMoney(0,"0")+")";
        }
        else
            CTSZ.$("spTotalPriceOrg").innerHTML = Math.ceil(o.singlePriceHKD  * n).toString().asMoney(0,"0");
            

		var items = jq(".orderInfo .userNames .item");
		var add = n - items.length;
		if(add > 0){
			var i = 0,j;
			var tmp = [];
			jq(".orderInfo .userNames").append(o.userNameItemTmp.outerHTML.repeat( add ).replace(/(id|name)="?(f|l)(\d+)"?/g, function(){
				i++;
				j = (Math.ceil(i / 4) + items.length * 2);
				tmp.push(j);
				return arguments[1] + '="' + arguments[2] + j + '"';
			}) );

			eval("var store=" + (CTSZ.Storage.getItem("OrderInfo_" + uid) || "{}"));
			var form = document.forms[0];
			var t, key;
			for(i = 0;i<tmp.length;i++){
				key = 'f' + tmp[i];
				if(store[key]) form[key].value = store[key];
				key = 'l' + tmp[i];
				if(store[key]) form[key].value =store[key];
			}
		}else{
			var arr = items.slice( n );
			for(var i=0;i<arr.length;i++){
				arr[i].parentNode.removeChild(arr[i]);
			}
		}
	}

	o.setContact = function(firstName, lastName, obj){
		var items = jq(".orderInfo .userNames .item span");
		var i,item;
		if(obj.checked){
			for(i=0;item = items[i];i++){
				var txts = jq(item).children('input[value=]');
				if(txts.length == 2){
					txts[0].value = firstName;
					txts[1].value = lastName;
					break;
				}
			}
		}else{
			for(i=items.length - 1;item = items[i];i--){
				var txts = jq(item).children('input=^');
				if(txts.length ==2){
					if(txts[0].value == firstName && txts[1].value == lastName){
						txts[0].value = "";
						txts[1].value = "";
						break;
					}
				}
			}
		}
	}
	
	o.sendOrder = function(uid){
		var items = document.forms[0].elements || document.forms[0].items;
		var i, ite;
		var tmp = {};
        tmp.uid = uid;
		for(i = 0; ite = items[i];i++){
            if (ite.type.toLowerCase() == "hidden" && (ite.name == 'opid' || ite.name == 'orderid'))
                tmp[ite.name] = ite.value;
			if(ite.name == '__VIEWSTATE' || ite.name == '' || ite.type.toLowerCase() == "hidden" || ite.name=="remark")
				continue;
            else
			    tmp[ite.name] = ite.value;
		}
		CTSZ.Storage.setItem('OrderInfo_' + uid,JSON.stringify(tmp));
        CTSZ.$("rmbTotal").value = o.singlePriceRMB * parseInt(CTSZ.$("roomCount").value);
        CTSZ.$("hkdTotal").value=o.singlePriceHKD * parseInt(CTSZ.$("roomCount").value);
		if(o.check(document.forms[0]))
			document.forms[0].submit();
	}

	o.restoreOrder = function(uid){
		eval("var tmp=" + CTSZ.Storage.getItem("OrderInfo_" + uid) || "{}");
		var form = document.forms[0];
		var ite
		for(var t in tmp){
			ite = form[t];
			if(ite && ite.type.toLowerCase() != "hidden" && ite.name != "remark"){
				ite.value = tmp[t] != "null" ? tmp[t] : "";
			}
		}
	}

	var validRule = [
        {name:"roomCount", type:"Group", required:true, noSelected:"0", msg:"請選擇預訂間數"},
		{name:"time1", type:"Group", required:true , noSelected:"", msg:"請選擇到達酒店時間", tip:"name2"},
		{name:"time2", type:"Group", required:true , noselected:"", msg:"請選擇到達酒店時間", tip:"name2"},
		{name:"time2", type:"Fun", Fun:function(obj, rule){
                var tmp = obj.selectedIndex - obj.form['time1'].selectedIndex;
                if(tmp < 0)
                    rule.msg = "最晚到店時間不能早於最早到店時間";
                else
                    rule.msg = "最晚到店時間不能晚於最早到店時間3小時以上";
				return tmp <= 6 && tmp >= 0;
			}, msg:"", tip:"name2"},

            {name:"firstNameEn", type:"Fun", Fun:function(obj, rule){
            if (!obj.value) {
                rule.msg = "請輸入英文名";
                return false;
            }
            if (!/^[a-z][a-z\s]{0,49}$/i.test(obj.value)) {
                    rule.msg = "請輸入有效的英文名";
                    return false;
            }

            return true;
            }
            , msg:""},

           {name:"lastNameEn", type:"Fun", Fun:function(obj, rule){
                if (!obj.value) {
                    rule.msg = "請輸入英文姓";
                    return false;
                }
                if (!/^[a-z][a-z\s]{0,49}$/i.test(obj.value)) {
                        rule.msg = "請輸入有效的英文姓";
                        return false;
                }

                return true;
            }
            , msg:""},

           {name:"firstNameZh", type:"Fun", Fun:function(obj, rule){
                if (obj.value) {
                    if (!/^[\u4e00-\u9fa5]+$/i.test(obj.value)) {
                            rule.msg = "請輸入有效的中文姓";
                            return false;
                    }
                }
                return true;
            }
            , msg:""},

           {name:"lastNameZh", type:"Fun", Fun:function(obj, rule){
                if (obj.value) {
                    if (!/^[\u4e00-\u9fa5]+$/i.test(obj.value)) {
                            rule.msg = "請輸入有效的中文名";
                            return false;
                    }
                }
                return true;
            }
            , msg:""},
           {name:"BodyContent_BodyContent_txtMobilePhone", type:"Fun", Fun:function(obj, rule){
                if (!obj.value) {
                    rule.msg = "請輸入手提電話號碼";
                    return false;
                }
                var mobileType =document.getElementById("BodyContent_BodyContent_dropMobilePhone").value;
                return customValidHelper.checkMobile(obj, rule, mobileType);
            }
            , msg:""},

           {name:"email", type:"Fun", Fun:function(obj, rule){
                if (!obj.value) {
                    rule.msg = "請輸入電郵地址";
                    return false;
                }
                if (!/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/i.test(obj.value)) {
                        rule.msg = "請輸入有效的電郵地址";
                        return false;
                }

                return true;
            }
            , msg:""},


//        {name:"firstNameEn", type: "Custom", Regex: /^[a-z][a-z\s]{0,49}$/i, required:true, msg:"請輸入有效的英文名字"},
//		{name:"lastNameEn", type: "Custom", Regex: /^[a-z][a-z\s]{0,49}$/i, required:true, msg:"請輸入有效的英文姓氏"},
//        {name:"firstNameZh", required: false, type: "Chinese", msg:"請輸入有效的中文姓氏"},
//		{name:"lastNameZh", required: false, type: "Chinese", msg:"請輸入有效的中文名字"},
        {name:"remark", required: false, type: "Range", min:"0",max: "128", msg: "備注信息不允許超過128字符" },
//		{name:"BodyContent_BodyContent_txtMobilePhone", required:true, msg:"請輸入手提電話號碼"},
//        {name:"BodyContent_BodyContent_txtMobilePhone",required:true, type:"Custom", Regex:/^(?:\(?[0\+]?\d{1,3}\)?)[\s-]?(?:0|\d{1,4})[\s-]?(?:(?:13\d{9})|(?:\d{4,8}))$/, msg:"請輸入有效的手提電話號碼"},
//		{name:"email", required:true, type:"Email", msg:"請輸入有效的電郵地址"},
        {name:"phone",required:false, type:"Custom", Regex:/^(?:\(?[0\+]?\d{1,3}\)?)[\s-]?(?:0|\d{1,4})[\s-]?(?:(?:13\d{9})|(?:\d{4,8}))$/, msg:"您輸入電話號碼看起來不是有效的,該選項為非必須項.如果選填,請參照如下格式: (852)29039321 或 852-2921-6288"},
        {name:"fax",required:false, type:"Custom", Regex:/^(?:\(?[0\+]?\d{1,3}\)?)[\s-]?(?:0|\d{1,4})[\s-]?(?:(?:13\d{9})|(?:\d{4,8}))$/, msg:"您輸入傳真號碼看起來不是有效的,該選項為非必須項.如果選填,請參照如下格式: (852)29039321 或 852-2921-6288"},
        {name:"TANDC", type:"Group", required:true, msg:"請選擇：我同意「訂房條款及細則」", tip:"tandcTip"},
        {name:"txtPersonInfo", type:"Fun", Fun:function(obj, rule){
                    var form = document.forms[0];
                    var roomCount = form.roomCount.value;
                    var i, f,l,cityID,regex,promptInfo, validInfo, isEnglishName;
                    var tmp = {length:0}
                    cityID=form["cid"].value;

                     if (cityID==58 || cityID==59 || orderHelper.IsOverSea){
                        regex=/^[a-z][a-z\s]+$/;
                        promptInfo = "請輸入英文";
                        validInfo = "請輸入有效的英文姓名";
                        isEnglishName = true;
                     }
                     else {
                        regex=/^[\u4e00-\u9fa5a-z][\u4e00-\u9fa5a-z\s]+$/;
                        promptInfo = "請輸入";
                        validInfo = "請輸入有效的英文或中文姓名";
                        isEnglishName = false;
                     }

                    for(i=1;i<=roomCount * 2;i++){
                        f = form["f" + i].value.trim();
                        l = form["l" + i].value.trim();
                        if(f == "" && l == "")
                            continue;

                        if (f==""){
                            rule.msg = promptInfo+"姓";
                            return false;
                        }
                        else if(l==""){
                            rule.msg = promptInfo+"名";
                            return false;
                        }

                        var fl = (f+l).toLowerCase();
                        if (isEnglishName && /^[\u4e00-\u9fa5]+$/i.test(fl)){
                            rule.msg = "請輸入英文姓名";
                            return false;
                        }
                        if(!regex.test(fl)) {
                            rule.msg = validInfo;
                            return false;
                        }
                        else if( fl in tmp){
                            // 入住人重複
                            rule.msg = "重復的入住人姓名: " + l + " " + f;
                            return false;
                        }else{
                            rule.msg = "";
                        }

                        tmp[(f+l).toLowerCase()] = i;
                        tmp.length += 1;
                    }

                    //一個入住人信息也沒有輸入 
                    if( tmp.length == 0){
                        if (isEnglishName){
                            rule.msg = "請輸入英文姓名";
                        }
                        else {
                            rule.msg = "請輸入英文或中文姓名";
                        }
                        return false;
                    }

                    //入住人姓名沒有填夠數
                    if( tmp.length < roomCount){
                        rule.msg = "請至少填寫 " + roomCount + " 位入住人姓名, 姓和名請分開填寫";
                        return false;
                    }
                    return true;
            }, msg:""}
	];

	o.check = function( form ){
		var f = FormValidate.validate(form, validRule, 3 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;
		else
			return true;
	}

    o.setValidateHandler = function(){
        FormValidate.validateOnEvent(document.forms[0] , validRule, "onblur", customValidHelper.pass, customValidHelper.unPass);
    }

    o.setTime2 = function(){
        var time1 = document.forms[0].time1;
        var time2 = document.forms[0].time2;

        if(time1.selectedIndex > 0){
            var idx = time1.selectedIndex + 6;
            time2.selectedIndex = idx >= time2.options.length ? time2.options.length - 1 : idx;
        }
    }
    o.setTime1 = function(){
        var time1 = document.forms[0].time1;
        var time2 = document.forms[0].time2;
        if (time2.selectedIndex > 0) {
            if(time1.selectedIndex>0)
            {
                var idx2 =time2.selectedIndex;
                var idx1 = time1.selectedIndex;
                time2.selectedIndex = (idx2>idx1 && idx2<=idx1+6)?idx2:idx1+6;
            }
        }
    }
    o.clearStorage = function( uid ){
        CTSZ.Storage.setItem('OrderInfo_' + uid,"{}");
    }

})(orderHelper);

var orderDetailHelper = {};
(function (o) {

    var validRule = [
		{ name: "ctl00$ctl00$BodyContent$BodyContent$txtInDate", required: true, msg: "請輸入入住日期, 如 2011-01-20" },
		{ name: "ctl00$ctl00$BodyContent$BodyContent$txtOutDate", required: true, msg: "請輸入離店日期,如 2011-02-01" },
	];

    o.check = function( form ){
		var f = FormValidate.validate(form, validRule, 4 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;
		else
			return true;
	}

    var createField = function (name, v) {
        var input = document.createElement("INPUT");
        input.type = "hidden";
        input.value = v;
        input.name = name;
        return input;
    }

    o.canceConfirm = function(){
        if (!confirm("您是否真的需要取消此次行程？\n如果您只是想修改本訂單，請使用“訂單修改”功能。"))
            return false;
        else
            return true
    }

    o.copy = function(){
		var form = document.createElement("FORM");
		form.action = "InputNewOrder.aspx";
		form.method = "post";
		document.body.appendChild(form);
		form.appendChild(createField("hotelid", CTSZ.$("BodyContent_BodyContent_hidHotelID").value.trim()));
		form.appendChild(createField("cityid", CTSZ.$("BodyContent_BodyContent_hidCityID").value.trim()));
		form.appendChild(createField("ds", CTSZ.$("BodyContent_BodyContent_spArrivalDate").innerHTML.trim()));
		form.appendChild(createField("de", CTSZ.$("BodyContent_BodyContent_spDepartureDate").innerHTML.trim()));
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
		form.appendChild(createField("opid", 1));
		form.appendChild(createField("pt", CTSZ.$("BodyContent_BodyContent_hidPT").value.trim()));
       
		form.submit();
	}

    var validRule2 = [
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtInDate", required:true, msg:"請輸入入住日期, 如 23/01/2011"},
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtInDate", type:"Fun", Fun:function(obj, rule){
                var d = new Date();
                var today = new Date( d.getFullYear(), d.getMonth() , d.getDate() );
                if(obj.value.toDate() < today){
                    return false;
                }
                return true;
            }, msg:"住店日期不能早於今天"},
        {name:"ctl00$ctl00$BodyContent$BodyContent$txtOutDate", required:true, type:"Fun", Fun:function(obj,rule){
            var dOut = obj.value.toDate();

            if(dOut == null){
                rule.msg = "請輸入離店日期,如 26/01/2011";
                return false;
            }

            var dIn = CTSZ.$("BodyContent_BodyContent_txtInDate").value.toDate(new Date());
            
            if(dOut < dIn){
                rule.msg = "退房日期不能早於住店日期";
                return false;
            }

            var dMax1 = dIn.add("d", 28);//入住日期28天以後
            var dMax2 = new Date().add("d",60);//今天60天以後

            var dMax = dMax1 > dMax2 ? dMax2 : dMax1;

            if(dOut > dMax){
                rule.msg = "住店日期如果為" + dIn.toString( Params.dateFormat ) + ", 退房日期不能早於 " + dMax.toString( Params.dateFormat );
                return false;
            }
            return true;
        }, msg:"請輸入離店日期,如 26/01/2011"},
	];

    o.searchRoom = function(){
    	var f = FormValidate.validate(document.forms[0] , validRule2 , 4 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;

		var form = document.createElement("FORM");
		form.action = "SelectRoom.aspx";
		form.method = "post";
		document.body.appendChild(form);
		form.appendChild(createField("hotelid", CTSZ.$("BodyContent_BodyContent_hidHotelID").value.trim()));
		form.appendChild(createField("cityid", CTSZ.$("BodyContent_BodyContent_hidCityID").value.trim()));
		form.appendChild(createField("ds", CTSZ.$("BodyContent_BodyContent_txtInDate").value.trim()));
		form.appendChild(createField("de", CTSZ.$("BodyContent_BodyContent_txtOutDate").value.trim()));
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_hidOrderID").value.trim()));
		form.appendChild(createField("opid", CTSZ.$("BodyContent_BodyContent_hidOpID").value.trim()));
		form.appendChild(createField("pt", CTSZ.$("BodyContent_BodyContent_hidPT").value.trim()));
        form.submit();
	}

    o.book = function( hotelID, roomID, ds, de, orderID, opID, pt ){
		var form = document.createElement("FORM");
		form.action = "order.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField("hid", hotelID));
		form.appendChild(createField("rid", roomID));
		form.appendChild(createField("ds", ds));
		form.appendChild(createField("de",de));
		form.appendChild(createField("orderid",orderID));
		form.appendChild(createField("opid",opID));
        form.appendChild(createField("pt",pt||"FG"));
		form.submit();
	}

    o.confirmOrder = function(){
		var form = document.createElement("FORM");
		form.action = "ConfirmOrder.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
        form.submit();
	}

    o.changeOrder = function(){
		var form = document.createElement("FORM");
		form.action = "InputNewOrder.aspx";
		form.method = "post";
		document.body.appendChild(form);
		form.appendChild(createField("hotelid", CTSZ.$("BodyContent_BodyContent_hidHotelID").value.trim()));
		form.appendChild(createField("cityid", CTSZ.$("BodyContent_BodyContent_hidCityID").value.trim()));
		form.appendChild(createField("ds", CTSZ.$("BodyContent_BodyContent_spArrivalDate").innerHTML.trim()));
		form.appendChild(createField("de", CTSZ.$("BodyContent_BodyContent_spDepartureDate").innerHTML.trim()));
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
		form.appendChild(createField("opid", 2));
		form.appendChild(createField("pt", CTSZ.$("BodyContent_BodyContent_hidPT").value.trim()));
		form.submit();
	}

    o.changeContact = function(){
		var form = document.createElement("FORM");
		form.action = "ContactInfo.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
        form.submit();
	}

    var validRule1 = [
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtContactNameEN_First", required:true,msg:"請輸入英文姓名"},
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtContactNameEN_Last", required:true, msg:"請輸入英文姓名"},
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtMobilePhone", required:true, msg:"請輸入手提電話號碼"},
		{name:"ctl00$ctl00$BodyContent$BodyContent$txtEmail", required:true, type:"Email", msg:"請輸入有效的電郵地址"}
	];

	o.checkContent = function( ){
        var form = document.forms[0];
		var f = FormValidate.validate(form, validRule1, 4 , customValidHelper.pass, customValidHelper.unPass);
		if (f === false)
			return false;
		else
			return true;
	}

    o.setValidateHandler = function(){
        FormValidate.validateOnEvent(document.forms[0] , validRule1, "onblur", customValidHelper.pass, customValidHelper.unPass);
    }

    o.printOrder = function(){
		var form = document.createElement("FORM");
		form.action = "ViewOrderPrint.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
        form.submit();
	}

    o.printRoom = function(){
		var form = document.createElement("FORM");
		form.action = "ViewRoomPrint.aspx";
		form.method = "get";
		document.body.appendChild(form);
		form.appendChild(createField("orderid", CTSZ.$("BodyContent_BodyContent_spOrderID").innerHTML.trim()));
        form.submit();
	}

    o.sendEamil = function(){
		var form = document.createElement("FORM");
		form.action = "SendEmail.aspx";
		form.method = "post";
		document.body.appendChild(form);
		form.appendChild(createField("orderid", CTSZ.$("spOrderID").innerHTML.trim()));
		form.appendChild(createField("to", CTSZ.$("hidReceiver").value.trim()));
		form.appendChild(createField("subject", CTSZ.$("hidSubject").value.trim()));
		form.appendChild(createField("content", encodeURI(CTSZ.$("divPrintBody").innerHTML.trim())));
        form.submit();
	}


})(orderDetailHelper);
///处理图片出错
function onPicError(img) {
    var i = jQuery(img);
    i.attr("src", i.attr("errorpath"));
    img.onerror = null;
 }

 //ie6下select最上层的问题
 function setSelectState(state) {
     var objl = document.getElementsByTagName('select');
     for (var i = 0; i < objl.length; i++) {
         objl[i].style.visibility = state;
     }
 }
 var sortHelper = {};
 (function (o) {
  o.initSort=function(serverUrl,pageName){
     var list = '<div style="z-index:1" id="sortlist" class="sortlist">' +
                        '<ul>' +
                        '<li sortkey="Price" sortdir="DESC"><span class="sortlisttxt">價格從高到低</span></li>' +
                        '<li sortkey="Price" sortdir="ASC" ><span class="sortlisttxt">價格從低到高</span></li>' +
                        '<li sortkey="" sortdir=""><span class="sortlisttxt">熱門推薦</span></li>' +
                        '</ul>' +
         '</div>';

                jQuery(document.body).append(list);
                jQuery("#sortlist").hide();
                jQuery(document.body).click(function(e){
                    jQuery("#sortlist").hide();
                  
               });
                var sk = jQuery("#sortkey").val();
                var sd = jQuery("#sortdir").val();
                if(sk == "Price" && sd == "DESC")
                {
                      jQuery("#sortvalue").html("價格從高到低");
                }
                else if(sk == "Price" && sd == "ASC")
                {
                      jQuery("#sortvalue").html("價格從低到高");
                }
                jQuery("#sortlist li").each(function (index, item) {
                    jQuery(item).click(function (e) {
                        jQuery("#sortkey").val(jQuery(item).attr("sortkey"));
                        jQuery("#sortdir").val(jQuery(item).attr("sortdir"));
                        jQuery("#sortvalue").html(jQuery(item).find(".sortlisttxt").html());
                        jQuery("#sortlist").hide();
                        searchHotelHelper.submit(serverUrl,pageName);
                      
                    });
                    jQuery(item).mouseover(function(e){
                        jQuery(item).css("background-color","#eee");
                    });
                    jQuery(item).mouseout(function(e){
                        jQuery(item).css("background-color","#fff");
                    });
                });//end of each
                jQuery("#sortoption").click(function(e){
                   var os =  jQuery("#sortoption").offset();
                   var oh = jQuery("#sortoption").height();
                    jQuery("#sortlist").show();
                    jQuery("#sortlist").css("top",os.top+oh).css("left",os.left+2);
                    e.stopPropagation();
                })//end of click;
  }


  })(sortHelper);

