
function Order()
{
    this.base={
        documentElement:function(type){
            return document.documentElement[type] || document.body[type];
        }
    }


    this.getInfo = function(url)
            {
                var jsId = "messageId0";
                if(document.getElementById(jsId))
                {
                    pro.remove(jsId);
                }
                var messageObj = document.createElement("script");
                messageObj.setAttribute("type","text/javascript")
                messageObj.setAttribute("src", url);
                messageObj.setAttribute("id",jsId);
                var head = document.getElementsByTagName('head')[0];
                this.remove(jsId);
                head.appendChild(messageObj);
                if(document.all){
                    messageObj.onreadystatechange = function(){
                      if(this.readyState=="complete" || this.readyState=="loaded" ){
                        try{
                            pro.setData();
                        }catch(e){
                            setTimeout(function(){pro.remove(jsId);head.appendChild(messageObj);},2000);
                        }
                      }
                    };
              }
              else
              {
                    messageObj.onload = function(){pro.setData();};
              }
          }

      this.remove = function(id){
          var head = document.getElementsByTagName('head')[0];
          if(document.getElementById(id))
          {
                head.removeChild(document.getElementById(id));
          }
      };

    
    this.GetPriceInfo = function(vendorId,carId)
    {
        var hostAdd = webhost + "/ajaxpage/OrderHandlerNew.ashx";
        var parm = "?vendorId=" + vendorId +"&carid="+carId;//+"&"+Math.random();
        pro.getInfo(hostAdd + parm);
        
    }
    
    this.GetPriceInfoNewCarID = function(vendorId,carId)
    {
        var hostAdd = webhost + "/ajaxpage/OrderHandlerNew.ashx";
        var parm = "?vendorId=" + vendorId +"&newcarid="+carId;//+"&"+Math.random();
        //alert(hostAdd + parm);
        //prompt(hostAdd,hostAdd+parm);
        pro.getInfo(hostAdd + parm);
    }
    
    var pro=this;
    
    this.setData = function (){
        var memo =returnMemo;
        //alert(memo)
        var tt = document.getElementById("orderLayer");
        tt.innerHTML = memo;
//      tt.style.zIndex="999";
//      tt.style.display="block";
//      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';
        //alert(memo);
//		
//		var popCss = "background:#ffffff;position:absolute;overflow:hidden;"
//		//var h = Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight) + 'px';
//		//var w = document.documentElement.scrollWidth + 'px';

//		var exsit = document.getElementById("popIframe");
//		if (!exsit) {
//			pop_Iframe = document.createElement("iframe");pop_Iframe.id = "popIframe";
//			document.getElementsByTagName("body")[0].appendChild(pop_Iframe);	
//			pop_Iframe.style.cssText = popCss;pop_Iframe.style.zIndex = "998";

//		}
//		show("popIframe");
//		pop_Iframe.style.height = tt.offsetHeight;
//		pop_Iframe.style.width = tt.offsetWidth;
//		pop_Iframe.style.top=tt.style.top;
//		pop_Iframe.style.left=tt.style.left;

//        var Bg=new createbg();
//        Bg.load('blindId',998,'#333',90);
     }
     
     
     this.validateOrderData = function()
     {
            var carColor = document.getElementById("carColor");
            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 = true;
//            if(carColor.value == "")
//            {
//                this.CreateErrSpan(carColor,"");
//                msg = false;
//            }
//            else
//            {
//                this.RemoveErrSpan(carColor);
//            }          
            
            while(user.value.indexOf(" ")>-1)
            {
                user.value = user.value.replace(" ","");
            }
            
            if(user.value == "")
            {
                this.CreateErrSpan(user,"用户名不能为空。");
                msg = false;
            }
            else
            {
                if(user.value.length>10)
                {
                    this.CreateErrSpan(user,"用户名请勿大于10个字符。");
                    msg = false;
                }
                else
                {
                    this.RemoveErrSpan(user);
                }
            }
            

            

            if(city.value == "")
            {
                this.CreateErrSpan(city,"请选择城市。");
                msg = false;
            }
            else
            {
                this.RemoveErrSpan(city);
            }
            if(phone.value.Trim() == "")
            {
                this.CreateErrSpan(phone,"请填写电话或手机号码。"); 
                msg = false;   
            }
            else
            {
                var tel = phone.value;
                if(!this.CheckMobile(tel))
                {
                    if(!this.CheckTel(tel))
                    {
                        this.CreateErrSpan(phone,"联系方式格式不正确。");   
                        msg = false; 
                    }
                    else
                    {
                        this.RemoveErrSpan(phone);
                    }
                }
            } 


            if(email.value != "")
            {
                if(email.value.Trim().length>50)
                {
                    this.CreateErrSpan(email,"邮箱长度不能超过50个字符。");  
                    msg = false;  
                }
                else
                {
                    this.RemoveErrSpan(email);
                }
                var reg = /^([a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*)+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
                if(!reg.test(email.value))
                {
                    this.CreateErrSpan(email,"邮件格式不正确。");    
                    msg = false; 
                }
                else
                {
                    this.RemoveErrSpan(email);
                }
            }
            else
            {
                
                this.CreateErrSpan(email,"邮箱不能为空。"); 
                msg = false;  
            }
            
            if(memo.value.length >50)
            {
                this.CreateErrSpan(memo,"补充说明不能大于50个字符。");  
                msg = false;  
            }
            else
            {
                this.RemoveErrSpan(memo);
            }
            
            
            if(!msg)
            {
                msg = true;
                return false;
            }     
            return true;
     }
     
     this.CheckMobile = function(mobile)
    {
        var regMobile1 = /^0?15\d{9}$/;  
        var regMobile2 = /^0?13\d{9}$/;  
    
        if(regMobile1.test(mobile) || regMobile2.test(mobile))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    
    this.CheckTel = function(tel)
    {
        var regTel = /^\d{7,16}$/;
        
        if(regTel.test(tel))
        {
            return true;
        }
        else
        {
            return false;
        }  
    }
    
    this.CreateErrSpan = function (obj,msg)
    {
        this.RemoveErrSpan(obj);
    	var span = document.createElement("span");
		span.id = "__ErrorMessagePanel";
		span.className = "alert";
		obj.parentNode.appendChild(span);
		if(msg.length>0)
        {
            span.innerHTML = msg;
    	}
    	else
    	{
		    span.innerHTML = obj.msg;
		}
    }
    
    this.RemoveErrSpan = function (obj)
    {
        if(obj.parentNode.lastChild.id=="__ErrorMessagePanel")
        {
            obj.parentNode.removeChild(obj.parentNode.lastChild);
        }
    }
    
     this.isProcess = false;
     
     this.saveOrder = function()
     {      
            if(this.isProcess)
            {
                //return false;
            }
            
            this.isProcess = true;
            if(!this.validateOrderData())
            {
                this.isProcess = false;
                return false;
            }
            if(gid("Logindiv"))
                gid("Logindiv").style.display="none";

            var 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;
            
            var hostAdd = webhost + "/ajaxpage/OrderHandlerNew.ashx";
            var parm = "?&carId="+ carId +"&vendorId="+ vendorId +"&price="+price+"&carColor=" + escape(carColor) +"&user="+escape(user)+"&sex="+userSex+"&city="+escape(city)+"&phone="+phone+"&email="+email+"&memo="+escape(memo) + "&cityName="+escape(cityName)+"&orderId="+orderId;
            
            pro.getInfo(hostAdd + parm);
     }
     
     this.changeProvince = function()
     {
            var province = document.getElementById("province").value;
            var city = document.getElementById("city");
            
            city.options.length=0;
            city.options.add(new Option("所在城市",0)); 
            for(var i=0;i<orderCitys.Rows.length;i++)
            {
                var cityId = orderCitys.Rows[i].city_Id+'';
                var cityName = orderCitys.Rows[i].city_Name;

                if(province+'' == cityId.substring(0,cityId.length-2))
                {
                    city.options.add(new Option(cityName,cityId)); 
                }
            }
     }
     
     
     this.backModify = function(id)
     {
            var hostAdd = webhost + "/ajaxpage/OrderHandlerNew.ashx";
            var parm = "?orderId="+ id ;
            this.getInfo(hostAdd + parm);
            this.isProcess = false;
            if(gid("Logindiv"))
                gid("Logindiv").style.display="block";
     }
     
     this.close = function()
     {
        this.isProcess = false;
        hide('orderLayer');
        hide('blindId11111111111');
        hide("popIframe");
        hide("ordersubmit");
        hide("popBox");
        hide("popIframe");
     }
     
     this.Tip400Message = function(vendor400Tel,exNumber){
//                        vendor400Tel = ''+vendor400Tel; 
                        var memo = "";
                        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.success = function(vendorName,vendorId,orderId)
     {
            this.isProcess = false;
            var hostAdd = webhost + "/ajaxpage/OrderHandlerNew.ashx";
            var parm = "?action=success&vendorName="+escape(vendorName)+"&vendorId="+vendorId+"&orderid="+orderId;
            
            this.getInfo(hostAdd + parm);
     }

}
var O = new Order();
String.prototype.Trim = function() 
{ 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

function showtips(){show("DialogTip");hide("province");hide("city");}
function hidetips(){hide("DialogTip");show("province");show("city");}



function hide(id){var Div = document.getElementById(id);if(Div){Div.style.display="none"}}
function show(id){var Div = document.getElementById(id);if(Div){Div.style.display="block"}} 



