﻿//createbg
var createbg=function(){};
createbg.prototype={
	$:function(id){return document.getElementById(id)}
	,dElement:function(){
		return	document.documentElement || document.body;
	}
	,buildTag:function(tagName,object){
		var obj=document.createElement(tagName);
		object.appendChild(obj);
		return obj;
	}
	,alpha:function(o,num){
		o.style.filter='alpha(opacity='+num+')';
		o.style.opacity=num/100;
	}
	,load:function(blindId,zIndex,bg,limit){//新建一个蒙板，遮住页面内容。id,bg背景,z层级,limit度数
		var dElement=this.dElement(),height=dElement.scrollHeight>dElement.clientHeight?dElement.scrollHeight:dElement.clientHeight;
		var obj=this.$(blindId);
		if(!obj){
			obj=this.buildTag('div',document.body);
			obj.id=blindId;
			var style=obj.style;
			style.zIndex=zIndex,style.background=bg,style.width=dElement.clientWidth+'px',style.height=height+'px';
			style.left='0px',style.top='0px',style.position='absolute';
			this.alpha(obj,limit);
		}else{
			var style=obj.style;
			style.display='block';
			style.height=height+'px';
			style.width=dElement.clientWidth+'px';	
		}
	}
}
﻿

function Order()
{
    this.base={
        documentElement:function(type){
            return document.documentElement[type] || document.body[type];
        }
    }

    this.xmlHttp = new function() {
        var xmlreq = false;
        if (window.XMLHttpRequest) {
            xmlreq = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            try {
                xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e1) {
            try {
                xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {
            }
        }
    }
    return xmlreq;
    }
    this.hostAdd = "/Order/OrderHandler.ashx";
    this.IsProgress = false;
    this.isTestDrive = false;
    this.GetPriceInfo = function(vendorId,carId)
    {
        if(this.IsProgress)
        {
            this.IsProgress = false;
        }
        if(document.getElementById("orderLayer")!=null)
        {
            document.getElementsByTagName("body")[0].removeChild(document.getElementById("orderLayer"));
        }
        this.hostAdd = "/Order/OrderHandler.ashx";
        var parm = "?vendorId=" + vendorId +"&carId="+carId;
        if(this.isTestDrive)
        {
            parm += "&test=true";
        }
        this.xmlHttp.open("get",this.hostAdd + parm,true);
        this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        this.xmlHttp.onreadystatechange = this.setData;
        this.xmlHttp.send(null);
    }
    
    var pro=this;
    
    this.GetPriceInfoNewCarID = function(vendorId,carId)
    {
        this.hostAdd = "/Order/OrderHandlerNew.ashx";
        var parm = "?vendorId=" + vendorId +"&newcarid="+carId+"&"+Math.random();
        //pro.getInfo(hostAdd + parm);
        this.xmlHttp.open("get",this.hostAdd + parm,true);
        this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        this.xmlHttp.onreadystatechange = this.setData;
        this.xmlHttp.send(null);
    }
    this.GetTestdriveInfo = function(vendorId,carId)
    {
        if(this.IsProgress)
        {
            this.IsProgress = false;
        }
        if(document.getElementById("orderLayer")!=null)
        {
            document.getElementsByTagName("body")[0].removeChild(document.getElementById("orderLayer"));
        }
        this.hostAdd = "/Order/OrderHandler.ashx";
        var parm = "?vendorId=" + vendorId +"&carId="+carId + "&test=true";
        this.xmlHttp.open("get",this.hostAdd + parm,true);
        this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        this.xmlHttp.onreadystatechange = this.setData;
        this.xmlHttp.send(null);
    }
    this.setData = function (){
            if (pro.xmlHttp.readyState == 4) {
                if (pro.xmlHttp.status == 200) {
                    if(pro.xmlHttp.responseText != "")
                    {
                        var responseStr = pro.xmlHttp.responseText;
                        temp = responseStr.substring(8,responseStr.indexOf("</script>"));
                        eval(temp);
                        var memo = responseStr.substring(responseStr.indexOf("</script>")+9);
                        var tt = document.createElement("div"); 
                        var id = document.createAttribute("id");
                        id.value = "orderLayer";
                        tt.setAttributeNode(id);
                        tt.innerHTML = memo;
                        document.getElementsByTagName("body")[0].insertBefore(tt,document.getElementsByTagName("div")[0]);                 
                        tt.style.zIndex="999";
                        tt.style.position="absolute";
                        var de=pro.base.documentElement;
                        tt.style.top=(de('clientHeight')-300)/2+de('scrollTop')+'px';
                        tt.style.left=(de('clientWidth')-540)/2+'px';
                        var Bg=new createbg();
                        Bg.load('blindId11111111111',998,'#333',60);
                    }
                }
            }
     }
     
     this.Tip400Message = function(vendor400Tel,exNumber){
                        var memo = "";
//                        var vendor400TelArray[] = vendor400Tel.split("-");
//                        if(vendor400TelArray.length>1)
//                        {
//                            vendor400Tel = "";
//                            for(i=0;i<vendor400TelArray.length;i++)
//                            {
//                                if(vendor400Tel.length > 0)
//                                {
//                                    vendor400Tel += "-";
//                                }
//                                vendor400Tel += String(vendor400TelArray[i]);
//                            }
//                        }
                        
                        memo += "<div class=\"contact_popwd\">";
                        memo += "<h3>联系我们<i onclick=\"O.close();\">关闭</i></h3>";
                        memo += "<h4>顾客您好！请您拨打以下电话直接与我们联系。</h4>";
                        memo += "<div class=\"phone_popwd\">";
                        memo += String(vendor400Tel)+"<span>转</span>"+exNumber;
                        memo += "</div>";
                        memo += "<div class=\"input_popwd\"><input type=\"button\" value=\"确定\" onclick=\"O.close();\"></div>";
                        memo += "</div>";
     
                        var tt = document.createElement("div"); 
                        var id = document.createAttribute("id");
                        id.value = "orderLayer";
                        tt.setAttributeNode(id);
                        tt.innerHTML = memo;
                        document.getElementsByTagName("body")[0].insertBefore(tt,document.getElementsByTagName("div")[0]);                 
                        tt.style.zIndex="999";
                        tt.style.position="absolute";
                        var de=pro.base.documentElement;
                        tt.style.top=(de('clientHeight')-300)/2+de('scrollTop')+'px';
                        tt.style.left=(de('clientWidth')-540)/2+'px';
                        var Bg=new createbg();
                        Bg.load('blindId11111111111',998,'#333',60);
        
     }
     
     this.validateOrderData = function()
     {
            
            var user = document.getElementById("userName");
            var city = document.getElementById("city");
            var phone = document.getElementById("phone");
            var email = document.getElementById("email");
            var memo = document.getElementById("memo");
            
            var msg = "";
            if(user.value.Trim() == "")
            {
                msg +="用户名必须填写。\n";    
            }
            if(city.value.Trim() == "")
            {
                msg +="所在城市必须选择。\n";    
            }
            if(phone.value.Trim() == "")
            {
                msg +="联系电话必须填写。\n";    
            }
            else
            {
                var tel = phone.value.replace("-","");
                if(!this.CheckMobile(tel))
                {
                    if(!this.CheckTel(tel))
                    {
                        msg +="联系电话格式不正确。\n";
                    }
                }
            } 

            if(email.value.Trim() != "")
            {
                if(email.value.Trim().length>50)
                {
                    msg +="邮箱长度不能超过50个字符。\n";
                }
                var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
                if(!reg.test(email.value))
                {
                    msg +="邮件格式不正确。\n";
                }
            }
            
            if(memo.value.length >50)
            {
                msg +="补充说明不能大于50个字符。\n";
            }
            if(msg!="")
            {
                alert(msg);
                msg = "";
                return false;
            }     
            return true;
     }
     
    this.CheckMobile = function(mobile)
    {
        var regMobile1 = /^0?15\d{9}$/i;  
        var regMobile2 = /^0?13\d{9}$/i;  

        if(regMobile1.test(mobile) || regMobile2.test(mobile))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    
    this.CheckTel = function(tel)
    {
        var regTel = /^\d{7,16}$/i;
        
        if(regTel.test(tel))
        {
            return true;
        }
        else
        {
            return false;
        }  
    }
     
     this.saveOrder = function()
     {
            if(this.IsProgress)
            {
                return false;
            }
            if(!this.validateOrderData())
            {
                return false;
            }
            this.IsProgress = true;
            var carColor = "";
            if(document.getElementById("carColor"))
            {
                carColor = document.getElementById("carColor").value;
            }
            var user = document.getElementById("userName").value;
            var userSex = document.getElementById("userSex1").checked==true ? "1":"0";
            if(userSex =="0")
            userSex = document.getElementById("userSex2").checked==true ? "0":"-1";
            
            var city = document.getElementById("city").value;
            var phone = document.getElementById("phone").value;
            var email = document.getElementById("email").value;
            var memo = document.getElementById("memo").value;
            var carId = document.getElementById("carId").value;
            var vendorId = document.getElementById("vendorId").value;
            var price = document.getElementById("price").value;
            var cityName = document.getElementById("province").options[document.getElementById("province").selectedIndex].text;
            cityName += " "+ document.getElementById("city").options[document.getElementById("city").selectedIndex].text;
           
            var orderId = document.getElementById("orderId").value;
            
            this.hostAdd = "/Order/OrderHandler.ashx";
            var parm = "?carId="+ carId +"&vendorId="+ vendorId +"&price="+price+"&carColor=" + escape(carColor) +"&user="+escape(user)+"&sex="+userSex+"&city="+city+"&phone="+phone+"&email="+email+"&memo="+escape(memo) + "&cityName="+escape(cityName)+"&orderId="+orderId;
            if(this.isTestDrive)
            {
                parm += "&test=true";
            }
            this.xmlHttp.open("post",this.hostAdd+parm,true);
            this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            this.xmlHttp.onreadystatechange = this.setOrderInfo;
            this.xmlHttp.send(null);
     }
     
     this.changeProvince = function()
     {
            var province = document.getElementById("province").value;
            var city = document.getElementById("city");
            
            city.options.length=0;

            for(var i=0;i<citys.Rows.length;i++)
            {
                var cityId = citys.Rows[i].city_Id+'';
                var cityName = citys.Rows[i].city_Name;

                if(province+'' == cityId.substring(0,cityId.length-2))
                {
                    city.options.add(new Option(cityName,cityId)); 
                }
            }
     }
     
     this.setOrderInfo = function ()
     {
        if (pro.xmlHttp.readyState == 4) {
            if (pro.xmlHttp.status == 200) {
                if(pro.xmlHttp.responseText != "")
                {
                    var orderLayer = document.getElementById("orderLayer");
                    orderLayer.innerHTML = pro.xmlHttp.responseText;
                    this.isTestDrive = false;
                }
            }
        }
     }
     //订单
     this.backModify = function(id)
     {
            this.hostAdd = "/Order/OrderHandler.ashx";
            var parm = "?orderId="+ id ;
            if(this.isTestDrive)
            {
                parm += "&test=true";
            }
            this.IsProgress = false;
            this.xmlHttp.open("post",this.hostAdd+parm,true);
            this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            this.xmlHttp.onreadystatechange = this.setOrderInfo;
            this.xmlHttp.send(null);
     }
     //试乘试驾
     this.backTestdriveModify = function(id)
     {
            this.hostAdd = "/Order/OrderHandler.ashx";
            var parm = "?orderId="+ id + "&test=true";
            this.xmlHttp.open("post",this.hostAdd+parm,true);
            this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            this.xmlHttp.onreadystatechange = this.setOrderInfo;
            this.xmlHttp.send(null);
     }

     this.close = function()
     {
        document.getElementById('orderLayer').style.display = 'none';
        document.getElementById('blindId11111111111').style.display = 'none';
     }
     
    function setSelectState(state){
        var objl=document.getElementsByTagName('select');
        for(var i=0;i<objl.length;i++){
                objl[i].style.visibility=state;
        }
    }
    this.ShowTip = function()
    {
        if(isIe)
        {
            setSelectState("hidden");
        }
        document.getElementById("DialogTip").style.display = "block";
    }
    
    this.HideTip = function()
    {
        
        if(isIe)
        {
            setSelectState("");
        }
        document.getElementById("DialogTip").style.display = "none";
    }
}

String.prototype.Trim = function() 
{ 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

var O=new Order();
var isIe=(document.all)?navigator.appVersion.indexOf('MSIE 6.0')> 0?true:false:false;




