﻿//访问城市控件
var strDIV='<body class="k4"><link href="/css/css.css" rel="stylesheet" type="text/css" /><div id="pop" style="position:absolute;z-index:9988;left:1px;width:100%;top:1px;"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="k1">'+
            '<tbody id="cityContent"></tbody>'+
            '</table></div></body>';
document.writeln('<iframe bgcolor="#000000" id="meizzCityLayer"  frameborder=0 style="position: absolute; z-index: 9998; display: none"></iframe>');
var popDiv,cityTbody,inputObj,meizzCityLayer_obj;
var si=20;
var st=0;
var isC=0;
var curDoc;
var bbb;
var ParticularCity;
var ParticularCity1;
function getHTTPObject()
{
    var waystation=null;
    if(window.ActiveXObject)
    {
        waystation=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
        waystation=new XMLHttpRequest();
    }
    else
    {
        waystation=false;
    }
    return waystation;
}
var objContentDoc=window.frames.meizzCityLayer.document;
window.frames.meizzCityLayer.document.writeln(strDIV);
window.frames.meizzCityLayer.document.close();
function initCityChoose()
{
    popDiv=objContentDoc.getElementById("pop");
    cityTbody=objContentDoc.getElementById("cityContent");
    meizzCityLayer_obj=document.getElementById("meizzCityLayer");
    if(arguments.length>0)
    {
        inputObj=arguments[0];
    }
}
function setCity()
{
    clearName();
    var s=inputObj.value;
    var aa=encodeURI(s);
    if(s=="")
    {
        return;
        //setName("//beijing  北京%bjs$");
    }
           
     setName(bbb);

}
function getCitylist()
{
    clearName();
    var s=inputObj.value;
    var aa=encodeURI(s);
   setName("Beijing  北京%BJS$Shanghai  上海%SHA$Guangzhou  广州%CAN$Shenzhen  深圳%SZX$Qingdao  青岛%TAO$Chengdu  成都%CTU$Hangzhou  杭州%HGH$Wuhan  武汉%WUH$Dalian  大连%DLC$");
}
var timerId;
function setCode(txtobj)
{
    if(txtobj.value=="")
        txtobj.code=null;
}
function addCity(txtobj)
{
    var keyC=event.keyCode;
    txtobj.onblur=function()
    {
        if(curDoc!=null)
        {
			//curDoc.ddd='中文/拼音';
			//curDoc.pop='中文/拼音';
            completeField(curDoc);
        }
    }
    if(keyC==40||keyC==38||keyC==13)
    {
        if(keyC==13)
        {
            if(curDoc!=null)
            completeField(curDoc);
        }
        else if(keyC==40)
        {
            if(curDoc.nextSibling)
            {
                sD=sD+1;
                if(curDoc.nextSibling.innerText!="")
                sh(curDoc.nextSibling);
            }
        }
        else if(keyC==38)
        {
            if(curDoc.previousSibling)
            {
             sD=sD-1;
                sh(curDoc.previousSibling);
            }
        }
    }
    else
    {
        if(arguments.length>1)
        {
            isC=arguments[1];
        }
        st=1;
        if(timerId!=null)
        {
            clearTimeout(timerId);
            timerId=null;
        }
        initCityChoose(txtobj);
        timerId=setTimeout("setCity()",200);
    }
}

function addCity1(txtobj)
{
    var keyC=event.keyCode;
    txtobj.onblur=function()
    {
        if(curDoc!=null)
        {
			//curDoc.ddd='中文/拼音';
			//curDoc.pop='中文/拼音';
            completeField(curDoc);
        }
    }
    if(keyC==40||keyC==38||keyC==13)
    {
        if(keyC==13)
        {
            if(curDoc!=null)
            completeField(curDoc);
        }
        else if(keyC==40)
        {
            if(curDoc.nextSibling)
            {
                sD=sD+1;
                if(curDoc.nextSibling.innerText!="")
                sh(curDoc.nextSibling);
            }
        }
        else if(keyC==38)
        {
            if(curDoc.previousSibling)
            {
             sD=sD-1;
                sh(curDoc.previousSibling);
            }
        }
    }
    else
    {
        if(arguments.length>1)
        {
            isC=arguments[1];
        }
        st=1;
        if(timerId!=null)
        {
            clearTimeout(timerId);
            timerId=null;
        }
        initCityChoose(txtobj);
        timerId=setTimeout("getCitylist()",200);
    }
}


var sD=0;
function sh(obj,v)
{
    //obj.style.color='red';obj.style.backgroundColor='Highlight';
    //obj.className='k3';
    obj.sed="T";
   var s= obj.childNodes.length;
   for(var i=0;i<s;i++)
   {
	obj.childNodes[i].className="k3";
   }
    if(curDoc!=null)
    {
        hh(curDoc);
    }
    if(obj.offsetTop-objContentDoc.body.scrollTop>110)
    objContentDoc.body.scrollTop=obj.offsetTop-117;
    if(obj.offsetTop-objContentDoc.body.scrollTop<0)
    objContentDoc.body.scrollTop=obj.offsetTop;
    curDoc=obj;
    
}
function hh(obj,v)
{
    //obj.style.color='#000000';obj.style.backgroundColor='';
    obj.className='k1';
    obj.sed=null;
    var s= obj.childNodes.length;
	for(var i=0;i<s;i++)
	{
		obj.childNodes[i].className="";
	}
   // curDoc.ddd='中文/拼音';
   // curDoc.pop='中文/拼音';
    curDoc=obj;
    //curDoc
}
function isContentNoText(obj)
{
    var isB=false;
    for(var i=0;i<obj.childNodes.length;i++)
    {
        var curObj=obj.childNodes[i];
        if(curObj.firstChild.noText!=null)
        {
            isB=true;
            break;
        }
    }
    return isB;
}
function setName(name) 
{   
    if(name=="")
    {
        if(!isContentNoText(cityTbody))
        {
            var row, cell, txtNode;
            row = objContentDoc.createElement("tr");
            cell = objContentDoc.createElement("td");
            cell.className='k1';
            cell.style.color='red';
            cell.style.fontWeight="600";
            cell.noText="Y";
            
            txtNode = objContentDoc.createTextNode("["+inputObj.value+"] 没有匹配任何城市！");
            cell.appendChild(txtNode);
            //alert(txtNode);
            row.appendChild(cell);
            cityTbody.appendChild(row);
            meizzCityLayer_obj.style.display = "";
        }
    }
    else
    {
        clearName();
        setOffset();
        var row, cell, txtNode,cell1,txtNode1;
        var s=name.split("$");
        for (var i = 0; i < s.length; i++) 
        {
            if(s[i]=="")
            {
                continue;
            }
            var nextNode =s[i];
            var desc=nextNode.split("%")[0];
            var codes=nextNode.split("%")[1];
            var descs = desc.split("  ");
            row = objContentDoc.createElement("tr");
            
            cell = objContentDoc.createElement("td");
            cell.pop=codes;
            //cell.noWrap="noWrap";
		    cell.height="17px";
            
            cell1=objContentDoc.createElement("td");
            //cell1.noWrap="noWrap";
            txtNode1 = objContentDoc.createTextNode(descs[0]);
            txtNode = objContentDoc.createTextNode(descs[1]);
            cell1.appendChild(txtNode1);
            cell.appendChild(txtNode);
            cell1.id="TD"+i;
            row.ddd=descs[1];
             row.pop=codes;
             
            row.onmouseout = function() {hh(this,1);};
            row.onmouseover = function() {sh(this,1);};
            row.onclick = function() {completeField(this);};
            if(i==0)
            {
			    //row.style.cursor="hand";
			    // row.onmouseout ="";
			    //row.onmouseover = "";
			    //row.onclick = "";
            }
            else
            {
			    row.style.cursor="hand";
            }
            row.appendChild(cell1);
            row.appendChild(cell);
            cityTbody.appendChild(row);
            if(i==0)
            sh(row);
        }
    }
}

//设置显示位置                
function setOffset() 
{
    meizzCityLayer_obj.style.display = "block";
    var left = calculateOffsets(inputObj,"offsetLeft");
    var top = calculateOffsets(inputObj,"offsetTop") + inputObj.offsetHeight;
    meizzCityLayer_obj.style.border = "black 1px solid";
    //meizzCityLayer_obj.style.width=inputObj.offsetWidth+(isC==1?si:0);
    meizzCityLayer_obj.style.width=inputObj.offsetWidth>158?inputObj.offsetWidth:"158px";//inputObj.offsetWidth+(isC==1?si:0);
    meizzCityLayer_obj.style.left = left + "px";
    meizzCityLayer_obj.style.top = top + "px";
    popDiv.style.width=parseInt(meizzCityLayer_obj.style.width)-17;
    //meizzCityLayer.style.display="block"; 
}
document.onmousedown=function()
{
    //if(event.srcElement.pop
    clearName();
}
function completeField(cell) 
{
   
    //inputObj.value =(isC==1?cell.ddd:cell.firstChild.nodeValue);
    inputObj.value =cell.ddd;
    inputObj.code=cell.pop;
    clearName();
}
function clearName() 
{
    //completeBody = document.getElementById("complete_body2");
    if(cityTbody)
    {
        var ind = cityTbody.childNodes.length;
        for (var i = ind - 1; i >= 0 ; i--) 
        {
            cityTbody.removeChild(cityTbody.childNodes[i]);
        }
        meizzCityLayer_obj.style.display = "none";
    }
}
function calculateOffsets(field, attr) {
    var offset = 0;
    while(field) 
    {
        offset += field[attr]; 
        field = field.offsetParent;
    }
    return offset;
}



function addHotelCityList(txtobj)
{
    var keyC=event.keyCode;
    txtobj.onblur=function()
    {
        if(curDoc!=null)
            completeField(curDoc);
    }
    if(keyC==40||keyC==38||keyC==13)
    {
        if(keyC==13)
        {
            if(curDoc!=null)
            completeField(curDoc);
        }
        else if(keyC==40)
        {
            if(curDoc.nextSibling)
            {
                sD=sD+1;
                if(curDoc.nextSibling.innerText!="")
                sh(curDoc.nextSibling);
            }
        }
        else if(keyC==38)
        {
            if(curDoc.previousSibling)
            {
             sD=sD-1;
                sh(curDoc.previousSibling);
            }
        }
    }
    else
    {
        if(arguments.length>1)
        {
            isC=arguments[1];
        }
        st=1;
        if(timerId!=null)
        {
            clearTimeout(timerId);
            timerId=null;
        }
        initCityChoose(txtobj);
        timerId=setTimeout("getCitylist1()",200);
    }
}


function getCitylist1()
{
    clearName();
    var s=inputObj.value;
    var aa=encodeURI(s);
    setName("Beijing  北京%PEK$Shanghai  上海%SHA$Guangzhou  广州%CAN$Shenzhen  深圳%SZX$Qingdao  青岛%TAO$Chengdu  成都%CTU$Hangzhou  杭州%HGH$Wuhan  武汉%WUH$Dalian  大连%DLC");
}

function getcity(obj)
{
	var value=ParticularCity;
	//var value= "Urumqi  乌鲁木齐  wulumuqi  %URC$";

	var a = value.split('$');
	var b;
	var index=obj.length;
	var result="";
	var obj1 = obj.value;
	for(var i=0;i<a.length;i++)
	{
		
			b = a[i].split("  ");
			if(b[0]!="")
			{
				if(b[0].substr(0,1).toUpperCase() == obj1.substr(0,1).toUpperCase() || b[1].substr(0,1) == obj1.substr(0,1) || b[2].substr(0,1).toUpperCase() == obj1.substr(0,1).toUpperCase())
				{
					if(b[0].toUpperCase().indexOf(obj1.toUpperCase())>=0 || b[1].toUpperCase().indexOf(obj1.toUpperCase())>=0 || b[2].toUpperCase().indexOf(obj1.toUpperCase())>=0)
					{
						result=result + a[i]+"$";
					}
				}
			}
	}
	
	 bbb=result;
	 addCity(obj);
}
function getcity1(obj)
{
	var value=ParticularCity1;
	var a = value.split('$');
	var b;
	var index=obj.length;
	var result="";
	var obj1 = obj.value;
	for(var i=0;i<a.length;i++)
	{
		
			b = a[i].split("  ");
			if(b[0]!="")
			{
			
				if(b[0].substr(0,1).toUpperCase() == obj1.substr(0,1).toUpperCase() || b[1].substr(0,1) == obj1.substr(0,1))
				{
					if(b[0].toUpperCase().indexOf(obj1.toUpperCase())>=0 || b[1].toUpperCase().indexOf(obj1.toUpperCase())>=0)
					{
						result=result + a[i]+"$";
					}
				}
			}
	}
	 bbb=result;
	 addCity(obj);
}