function city(v,t,m,h){
	this.value =v;
	this.text =t;
	this.type =m;
	this.isHot = h;
}

function cls_inputBox(){
	this.cityArr=[]; 
	
	this.add=function(value,text,type,isHot){
		var leng = this.cityArr.length;
		this.cityArr[leng] = new city(value,text,type,isHot);
	};
	this.name=function(key){
		for(var i=0;i<this.cityArr.length;i++){
			if(this.cityArr[i].value==key){
				return this.cityArr[i].text;
			}
		}
		return "";
	};
	this.tvalue=function(t,idx){
		var n=0;
		for(var i=0;i<this.cityArr.length;i++){
			if(this.cityArr[i].type==t){
				if(n==idx){
					return this.cityArr[i].value;
				}
				n++;
			}
		}
		return "";
	}
}

var cList = new cls_inputBox();

cList.add('PEK','Beijing(Capital Airport)',	0,1);
cList.add('NAY','Beijing(Nanyuan Airport)',	0,1);
cList.add('CTU','Chengdu',				0,1);
cList.add('CAN','Guangzhou(Canton)',	0,1);
cList.add('KWL','Guilin',				0,1);
cList.add('HGH','Hangzhou',				0,1);
cList.add('SHA','Shanghai(Hongqiao)',	0,1);
cList.add('PVG','Shanghai(Pudong)',		0,1);
cList.add('SZX','Shenzhen',				0,1);
cList.add('XIY','Xian',					0,1);

cList.add('','-',						0,1);

cList.add('AKU','Aksu',					0,1);
cList.add('AAT','Altay',				0,1);
cList.add('AKA','Ankang',				0,1);
cList.add('AQG','Anqing',				0,1);
cList.add('AOG','Anshan',				0,1);
cList.add('BSD','Baoshan',				0,1);
cList.add('BAV','Baotou',				0,1);
cList.add('BHY','Beihai',				0,1);
cList.add('BFU','Bengbu',				0,1);
cList.add('CGQ','Changchun',			0,1);
cList.add('CGD','Changde',				0,1);
cList.add('CIH','Changzhi',				0,1);
cList.add('CSX','Changsha',				0,1);
cList.add('CZX','Changzhou',			0,1);
cList.add('CHG','Chaoyang',				0,1);
cList.add('CIF','Chifeng',				0,1);
cList.add('CKG','Chongqing',			0,1);
cList.add('DLC','Dalian',				0,1);
cList.add('DLU','Dali',					0,1);
cList.add('DDG','Dandong',				0,1);
cList.add('DAT','Datong',				0,1);
cList.add('DAX','Daxian',				0,1);
cList.add('DYG','Dayong',				0,1);
cList.add('DIG','Diqing',				0,1);
cList.add('DOY','Dongying',				0,1);
cList.add('DNH','Dunhuang',				0,1);
cList.add('ENH','Enshi',				0,1);
cList.add('FUG','Fuyang',				0,1);
cList.add('FYN','Fuyun',				0,1);
cList.add('FOC','Fuzhou',				0,1);
cList.add('KOW','Ganzhou',				0,1);
cList.add('GOQ','Golmud',				0,1);
cList.add('GHN','Guanghan',				0,1);
cList.add('KWE','Guiyang',				0,1);
cList.add('HAK','Haikou',				0,1);
cList.add('HLD','Hailar',				0,1);
cList.add('HMI','Hami',					0,1);
cList.add('HZG','Hanzhong',				0,1);
cList.add('HRB','Harbin',				0,1);
cList.add('HFE','Hefei',				0,1);
cList.add('HEK','Heihe',				0,1);
cList.add('HNY','Hengyang',				0,1);
cList.add('HET','Hohhot',				0,1);
cList.add('HTN','Hotan(Hetian)',		0,1);
cList.add('TXN','Huangshan',			0,1);
cList.add('JMU','Jiamusi',				0,1);
cList.add('KNC','Jian',					0,1);
cList.add('JGN','Jiayuguan',			0,1);
cList.add('JIL','Jilin',				0,1);
cList.add('TNA','Jinan',				0,1);
cList.add('JDZ','Jingdezhen',			0,1);
cList.add('JHG','Jinghong',				0,1);
cList.add('JNG','Jining',				0,1);
cList.add('JJN','Jinjiang',				0,1);
cList.add('JNZ','Jinzhou',				0,1);
cList.add('JIU','Jiujiang',				0,1);
cList.add('CHW','Jiuquan',				0,1);
cList.add('JZH','Jiuzhaigou',			0,1);
cList.add('JUZ','Quzhou',				0,1);
cList.add('KRY','Karamay',				0,1);
cList.add('KHG','Kashgar',				0,1);
cList.add('KRL','Korla',				0,1);
cList.add('KMG','Kunming',				0,1);
cList.add('KCA','Kuqa',					0,1);
cList.add('LHW','Lanzhou',				0,1);
cList.add('LXA','Lhasa',				0,1);
cList.add('LYG','Lianyungang',			0,1);
cList.add('LJG','Lijiang',				0,1);
cList.add('LYI','Linyi',				0,1);
cList.add('LZH','Liuzhou',				0,1);
cList.add('LYA','Luoyang',				0,1);
cList.add('LUM','Luxi',					0,1);
cList.add('LZO','Luzhou',				0,1);
cList.add('NZH','Manzhouli',			0,1);
cList.add('MXZ','Meixian',				0,1);
cList.add('MIG','Mianyang',				0,1);
cList.add('MDG','Mudanjiang',			0,1);
cList.add('KHN','Nanchang',				0,1);
cList.add('NAO','Nanchong',				0,1);
cList.add('NKG','Nanjing',				0,1);
cList.add('NNG','Nanning',				0,1);
cList.add('NTG','Nantong',				0,1);
cList.add('NNY','Nanyang',				0,1);
cList.add('NGB','Ningbo',				0,1);
cList.add('IQM','Qiemo',				0,1);
cList.add('TAO','Qingdao',				0,1);
cList.add('IQN','Qingyang',				0,1);
cList.add('SHP','Qinhuangdao',			0,1);
cList.add('NDG','Qiqihar',				0,1);
cList.add('JJN','Quanzhou',				0,1);
cList.add('SYX','Sanya',				0,1);
cList.add('SWA','Shantou',				0,1);
cList.add('SHS','Shashi',				0,1);
cList.add('SHE','Shenyang',				0,1);
cList.add('SJW','Shijiazhuang',			0,1);
cList.add('SYM','Simao',				0,1);
cList.add('SZV','Suzhou',				0,1);
cList.add('TCG','Tacheng',				0,1);
cList.add('TYN','Taiyuan',				0,1);
cList.add('HYN','Taizhou(Huangyan)',	0,1);
cList.add('TSN','Tianjin',				0,1);
cList.add('TNH','Tonghua',				0,1);
cList.add('TGO','Tongliao',				0,1);
cList.add('TEN','Tongren',				0,1);
cList.add('HLH','Ulanhot',				0,1);
cList.add('URC','Urumqi',				0,1);
cList.add('WJD','Wangjiadun',			0,1);
cList.add('WXN','Wanxian',				0,1);
cList.add('WEF','Weifang',				0,1);
cList.add('WEH','Weihai',				0,1);
cList.add('WNZ','Wenzhou',				0,1);
cList.add('WUH','Wuhan',				0,1);
cList.add('WUX','Wuxi',					0,1);
cList.add('WUS','Wuyishan',				0,1);
cList.add('WUZ','Wuzhou',				0,1);
cList.add('XMN','Xiamen',				0,1);
cList.add('XFN','Xiangfan',				0,1);
cList.add('XIC','Xichang',				0,1);
cList.add('XIL','Xilinhot',				0,1);
cList.add('XNN','Xining',				0,1);
cList.add('XUZ','Xuzhou',				0,1);
cList.add('ENY','Yanan',				0,1);
cList.add('YNZ','Yancheng',				0,1);
cList.add('YNJ','Yanji',				0,1);
cList.add('YNT','Yantai',				0,1);
cList.add('YBP','Yibin',				0,1);
cList.add('YIH','Yichang',				0,1);
cList.add('INC','Yinchuan',				0,1);
cList.add('YIN','Yining',				0,1);
cList.add('YIW','Yiwu',					0,1);
cList.add('UYN','Yulin',				0,1);
cList.add('YCU','Yuncheng',				0,1);
cList.add('DYG','Zhangjiajie',			0,1);
cList.add('ZHA','Zhanjiang',			0,1);
cList.add('ZAT','Zhaotong',				0,1);
cList.add('CGO','Zhengzhou',			0,1);
cList.add('HSN','Zhoushan',				0,1);
cList.add('ZUH','Zhuhai',				0,1);
cList.add('ZYI','Zunyi',				0,1);



cList.add('PEK','Beijing(Capital Airport)',	1,1);
cList.add('CGQ','Changchun',			1,1);
cList.add('CSX','Changsha',				1,1);
cList.add('CTU','Chengdu',				1,1);
cList.add('CKG','Chongqing',			1,1);
cList.add('DLC','Dalian',				1,1);
cList.add('FOC','Fuzhou',				1,1);
cList.add('CAN','Guangzhou(Canton)',	1,1);
cList.add('KWL','Guilin',				1,1);
cList.add('HAK','Haikou',				1,1);
cList.add('HGH','Hangzhou',				1,1);
cList.add('TXN','Huangshan',			1,1);
cList.add('JIL','Jilin',				1,1);
cList.add('TNA','Jinan',				1,1);
cList.add('KMG','Kunming',				1,1);
cList.add('LHW','Lanzhou',				1,1);
cList.add('LYG','Lianyungang',			1,1);
cList.add('LJG','Lijiang',				1,1);
cList.add('LYA','Luoyang',				1,1);
cList.add('LZO','Luzhou',				1,1);
cList.add('KHN','Nanchang',				1,1);
cList.add('NKG','Nanjing',				1,1);
cList.add('NNG','Nanning',				1,1);
cList.add('NGB','Ningbo',				1,1);
cList.add('TAO','Qingdao',				1,1);
cList.add('SHP','Qinhuangdao',			1,1);
cList.add('JJN','Quanzhou',				1,1);
cList.add('SYX','Sanya',				1,1);
cList.add('SHA','Shanghai(Hongqiao)',	1,1);
cList.add('PVG','Shanghai(Pudong)',		1,1);
cList.add('SWA','Shantou',				1,1);
cList.add('SHE','Shenyang',				1,1);
cList.add('TSN','Tianjin',				1,1);
cList.add('URC','Urumqi',				1,1);
cList.add('WEH','Weihai',				1,1);
cList.add('WNZ','Wenzhou',				1,1);
cList.add('WUH','Wuhan',				1,1);
cList.add('XMN','Xiamen',				1,1);
cList.add('XIY','Xian',					1,1);
cList.add('XNN','Xining',				1,1);
cList.add('YNT','Yantai',				1,1);
cList.add('YIH','Yichang',				1,1);
cList.add('INC','Yinchuan',				1,1);
cList.add('YIW','Yiwu',					1,1);
cList.add('ZHA','Zhanjiang',			1,1);
cList.add('CGO','Zhengzhou',			1,1);
cList.add('HSN','Zhoushan',				1,1);
cList.add('ZUH','Zhuhai',				1,1);

cList.add('HKG','Hong Kong',			2,1);
cList.add('MFM','Macau',				2,1);


	cList.add('','AUSTRALIA',				10,1);
cList.add('SYD','---Sydney',				10,1);
	cList.add('','Azerbaijan',			10,1);
cList.add('BAK','---Baku',					10,1);
	cList.add('', 'BAHRAIN',				10,1);
cList.add('BAH','---Bahrain',				10,1);
	cList.add('', 'BANGLADESH',			10,1);
cList.add('CGP','---Chittagong',			10,1);
cList.add('DAC','---Dhaka',				10,1);
cList.add('BWN','---Bandar Seribegaw',		10,1);
	cList.add('', 'CAMBODIA',				10,1);
cList.add('PNH','---Phnom Penh',			10,1);
cList.add('REP','---Siem Reap',			10,1);
	cList.add('', 'CANADA',				10,1);
cList.add('YOW','---Ottawa',				10,1);
cList.add('YQB','---Quebec',				10,1);
cList.add('YUL','---Montreal',				10,1);
cList.add('YVR','---Vancouver',			10,1);
	cList.add('', 'CHINA',					10,1);
cList.add('KHH','---Kaohsiung',			10,1);	
cList.add('HKG','---Hong Kong',			10,1);
cList.add('MFM','---Macau',				10,1);
cList.add('TPE','---Taipei',				10,1);
cList.add('TSA','---Taipei(Songshan)',		10,1);
	cList.add('', 'DENMARK',				10,1);
cList.add('CPH','---Copenhagen',			10,1);
	cList.add('', 'FINLAND',				10,1);
cList.add('HEL','---Helsinki',				10,1);
cList.add('TMP','---Tampere',				10,1);
cList.add('VAA','---Vaasa',				10,1);
	cList.add('', 'FRANCE',				10,1);
cList.add('LYS','---LYON',					10,1);
cList.add('MRS','---Marseille',			10,1);
cList.add('ETZ','---Metz-Nancy',			10,1);
cList.add('MPL','---Montpellier',			10,1);
cList.add('NTE','---Nantes',				10,1);
cList.add('NCE','---Nice',					10,1);
cList.add('CDG','---PARIS',				10,1);
cList.add('PUF','---Pau',					10,1);
cList.add('PGF','---Perpignan',			10,1);
cList.add('RNS','---Rennes',				10,1);
cList.add('RDZ','---Rodez',				10,1);
cList.add('SXB','---Strasbourg',			10,1);
cList.add('TLS','---Toulouse',				10,1);
	cList.add('', 'GERMANY',				10,1);
cList.add('TXL','---Berlin',				10,1);
cList.add('FRA','---Frankfurt',			10,1);
cList.add('HAJ','---Hanover',				10,1);
cList.add('MUC','---Munich',				10,1);
cList.add('FMO','---Munster',				10,1);
	cList.add('', 'GREECE',				10,1);
cList.add('ATH','---Athens',				10,1);
	cList.add('', 'ITALY',					10,1);
cList.add('FLR','---Florence',				10,1);
cList.add('MIL','---Milan',				10,1);
cList.add('ROM','---Rome',					10,1);
cList.add('TRN','---Turin',				10,1);
cList.add('VCE','---Venice',				10,1);
	cList.add('', 'INDIA',					10,1);
cList.add('CCU','---Calcutta',				10,1);
cList.add('DEL','---Delhi',				10,1);
cList.add('BOM','---Mumbai',				10,1);
	cList.add('', 'INDONESIA',				10,1);
cList.add('DPS','---Bali',					10,1);
cList.add('JKT','---Jakarta',				10,1);
	cList.add('', 'IRAN',					10,1);
cList.add('THR','---Tehran',				10,1);
	cList.add('', 'Japan',					10,1);
cList.add('FUK','---Fukuoka',				10,1);
cList.add('HIJ','---Hiroshima',			10,1);
cList.add('MYJ','---Matsuyama',			10,1);
cList.add('KMI','---Miyazaki',				10,1);
cList.add('NGS','---Nagasaki',				10,1);
cList.add('NGO','---Nagoya',				10,1);
cList.add('OKA','---Okinawa',				10,1);
cList.add('OSA','---Osaka',				10,1);
cList.add('SPK','---Sapporo',				10,1);
cList.add('SDJ','---Senda',				10,1);
cList.add('TYO','---Tokyo',				10,1);
cList.add('NRT','---Tokyo(Narita)',		10,1);
cList.add('TOY','---Toyama',				10,1);
	cList.add('', 'KOREA',					10,1);
cList.add('CJU','---Cheju',				10,1);
cList.add('CJJ','---Cheong Ju City',		10,1);
cList.add('KWJ','---Kwangju',				10,1);
cList.add('PUS','---Pusan',				10,1);
cList.add('SEL','---Seoul',				10,1);
cList.add('TAE','---Taegu',				10,1);
	cList.add('', 'KYRGYZSTAN',			10,1);
cList.add('FRU','---Bishkek',				10,1);
	cList.add('', 'Malaysia',				10,1);
cList.add('KUL','---Kuala Lumpur',			10,1);
	cList.add('', 'MALDIVES',				10,1);
cList.add('MLE','---Male',					10,1);
	cList.add('', 'MYANMAR',				10,1);
cList.add('MDL','---Annisaton',			10,1);
cList.add('RGN','---Yangon',				10,1);
	cList.add('', 'NEPAL',					10,1);
cList.add('KTM','---Kathmandu',			10,1);
	cList.add('', 'NETHERLANDS',			10,1);
cList.add('AMS','---Amsterdam',			10,1);
cList.add('EIN','---Eindhoven',			10,1);
cList.add('MST','---Maastricht',			10,1);
cList.add('RTM','---Rotterdam',			10,1);
	cList.add('', 'PAKISTAN',				10,1);
cList.add('ISB','---Islamabad',			10,1);
cList.add('KHI','---Karachi',				10,1);
cList.add('LHE','---Lahore',				10,1);
	cList.add('', 'PHILIPPINES',			10,1);
cList.add('MNL','---Manila',				10,1);
	cList.add('', 'RUSSIAN FEDERATION',	10,1);
cList.add('SVO','---Moscow',				10,1);
cList.add('LED','---St Petersburg',		10,1);
	cList.add('', 'SINGAPORE',				10,1);
cList.add('SIN','---Singapore',			10,1);
	cList.add('', 'SPAIN',					10,1);
cList.add('BCN','---Barcelona',			10,1);
cList.add('MAD','---Madrid',				10,1);
cList.add('PMI','---Palma Mallorca',		10,1);
cList.add('SCQ','---Santiago De Compo',	10,1);
	cList.add('', 'THAILAND',				10,1);
cList.add('BKK','---Bangkok',				10,1);
cList.add('CNX','---Chiang Mai',			10,1);
cList.add('CEI','---Chiang Rai',			10,1);
cList.add('HDY','---Hat Yai',				10,1);
cList.add('KKC','---Khonkean',				10,1);
cList.add('USM','---Koh Samui',			10,1);
cList.add('KBV','---Krabi',				10,1);
cList.add('HKT','---Phuket',				10,1);
cList.add('THS','---Sukhothai',			10,1);
cList.add('URT','---Surat Thani',			10,1);
cList.add('TST','---Trang',				10,1);
cList.add('TDX','---Trat',					10,1);
cList.add('UTH','---Udon Thani',			10,1);
	cList.add('', 'TURKEY',				10,1);
cList.add('IST','---Istanbul',				10,1);
	cList.add('', 'UNITED KINGDOM',		10,1);
cList.add('BHM','---Birmingham',			10,1);
cList.add('BRS','---Bristol',				10,1);
cList.add('LHR','---LONDON',				10,1);
cList.add('MHT','---Manchester',			10,1);
	cList.add('', 'UNITED STATES',			10,1);
cList.add('ATL','---Atlanta',				10,1);
cList.add('BWI','---Baltimore',			10,1);
cList.add('BOS','---Boston',				10,1);
cList.add('CHI','---Chicago',				10,1);
cList.add('CMH','---Columbus',				10,1);
cList.add('DEN','---Denver',				10,1);
cList.add('HNL','---Honolulu',				10,1);
cList.add('HOU','---Houston',				10,1);
cList.add('LAS','---Las Vegas',			10,1);
cList.add('LAX','---Los Angeles',			10,1);
cList.add('NYC','---New York',		10,1);
cList.add('JFK','---New York(JFK)',		10,1);
cList.add('SFO','---San Francisco',		10,1);
cList.add('SEA','---Seattle',				10,1);
cList.add('IAD','---Washington',			10,1);
	cList.add('', 'UZBEKISTAN',			10,1);
cList.add('TAS','---Tashkent',				10,1);
	cList.add('', 'VIET',					10,1);
cList.add('HAN','---Hanoi',				10,1);
cList.add('SGN','---Ho Chi Minh City',		10,1);


cList.add('PEK','Beijing(Capital Airport)',	11,1);
cList.add('CTU','Chengdu',				11,1);
cList.add('CKG','Chongqing',			11,1);
cList.add('DLC','Dalian',				11,1);
cList.add('FOC','Fuzhou',				11,1);
cList.add('CAN','Guangzhou(Canton)',	11,1);
cList.add('KWL','Guilin',				11,1);
cList.add('HAK','Haikou',				11,1);
cList.add('HGH','Hangzhou',				11,1);
cList.add('HKG','Hong Kong',			11,1);
cList.add('TNA','Jinan',				11,1);
cList.add('KMG','Kunming',				11,1);
cList.add('LXA','Lhasa',				11,1);
cList.add('MFM','Macau',				11,1);
cList.add('NKG','Nanjing',				11,1);
cList.add('NNG','Nanning',				11,1);
cList.add('TAO','Qingdao',				11,1);
cList.add('SYX','Sanya',				11,1);
cList.add('PVG','Shanghai(Pudong)',		11,1);
cList.add('TPE','Taipei',				11,1);
cList.add('URC','Urumqi',				11,1);
cList.add('WEF','Weifang',				11,1);
cList.add('WEH','Weihai',				11,1);
cList.add('XMN','Xiamen',				11,1);
cList.add('XIY','Xian',					11,1);
cList.add('YNT','Yantai',				11,1);
cList.add('ZUH','Zhuhai',				11,1);



/*
 ** ------------------ 程序部分 ----------------------
*/

/*
 ** public function --------------------------------------------
*/
function $obj(element){
    if(typeof element == "string"){
		return document.getElementById(element);
	}else{
		return null;
	}
}

function cElement(tagName){
	return document.createElement(tagName);
}

function offsetPosition(oObj){
 	var left = oObj.offsetLeft;
	var top = oObj.offsetTop;
	var oObjHeight = oObj.offsetHeight;
	
	var valueT = 0, valueL = 0;
    do{
		valueT += oObj.offsetTop || 0;
		valueL += oObj.offsetLeft || 0;
		oObj = oObj.offsetParent;
    }while(oObj);
	
	var isIE = document.all && window.external;
	if(isIE)valueT+=1;
	return {"left":valueL,"top": valueT + oObjHeight};
}

String.prototype.trim = function(){return this.replace(/(^\s+)|\s+$/g,"");};   
  
var selectMsg = "";		// "Please input a city or select one from the list!";
var noRecordMsg ="";	// "The city you input doesn't exist, please input or select a valid one!";
		
function focusEle(inputObj,type,theData){
	this.div = null;
	this.iframe = null;
	this.inputObj  = inputObj;
	this.type = type;
	if(typeof(theData)!="undefined"){
		this.Data = theData;
	}else{
		this.Data = cList;
	}
	
	var div = cElement("div");
		
	var msgDiv = cElement("div");
		msgDiv.innerHTML = selectMsg;
	
	this.msgDiv = msgDiv;
	
	var objIframe = cElement("iframe");
	objIframe.src = "/china-flights/js/box1.asp";
	objIframe.frameBorder = 0;
	objIframe.width = "160px";
	objIframe.height = "180px";	
	
	with(msgDiv.style){
		width = objIframe.width + "px";
		backgroundColor = "#FFFAE4";
		color = "#F10112";
		wordWrap = "break-word";
		display = "none";
	}
	
	div.appendChild(msgDiv);
	div.appendChild(objIframe);

	this.div = div;
	this.iframe = objIframe;
	
	document.body.appendChild(div);
	var poxx = offsetPosition(inputObj);
	with(div.style){
		display = "none";
		position = "absolute";
		margin = "1px 0 0 0";
	}
}



function reFocus(){
	this.foucsIndex = -1;	
	this.listDB = [];
	this.showAll = true;
	
	this.create = function(inputObj,type,theData){
		inputObj = $obj(inputObj);
		
		var fe = new focusEle(inputObj,type,theData);
		var leng = this.listDB.length;
		this.listDB[leng] = {};
		object = this;
		this.listDB[leng].Obj = fe;
		this.listDB[leng].inputObj = inputObj;
		object.listDB[leng].isfocus = 0;
		
		inputObj.autocomplete = "off";
		
		inputObj.onkeydown = function(event){
			object.showAll = false;
			
			e=window.event?window.event:arguments[0];
			var inputKeyCode = e.keyCode || e.which;
			try{
				if(object.listDB[object.focusIndex].Obj.div.style.display == "none"){
					object.initEvent(object.focusIndex);
				}
			}catch(e){
				return false;
			}

			// 监听向上键
			if (inputKeyCode == 38) {	
				object.keysUp();
				return false;
			}
			// 监听向下键
			if (inputKeyCode == 40){
				object.keysDown();
				return false;
			}
			// enter 键
			if (inputKeyCode == 13){
				var childNodes = object.listDB[leng].resultObj.getElementsByTagName("li");
				if (childNodes.length > 0){
					if(object.listDB[object.focusIndex].cursor>-1){						
						//var tval=object.listDB[object.focusIndex].Obj.Data.tvalue(object.listDB[object.focusIndex].Obj.type,object.listDB[object.focusIndex].cursor);
						//if(tval!="")
						if(childNodes[object.listDB[object.focusIndex].cursor].getAttribute("va")!="")
							object.listDB[object.focusIndex].inputObj.value = childNodes[object.listDB[object.focusIndex].cursor].innerHTML.replace("---","").trim();
					}
				}
				object.closeShowBox(object.focusIndex);
				return false;
			}
		}

		inputObj.onclick = function(){
			object.showAll = true;
			this.select();
			object.initEvent(leng);
		}
		
		inputObj.onfocus = function(){
			object.initEvent(leng);
		}
	}

	this.initEvent = function(leng){
		object.focusIndex = leng;
		object.checkFocus(leng);

		object.listDB[leng].Obj.div.style.display = "block";
		object.listDB[leng].isfocus = 0;
		object.listDB[leng].isBlur = 0;
		object.listDB[leng].lastValue = "";

		try{
			object.listDB[leng].resultObj = object.listDB[leng].Obj.iframe.contentWindow.getObject();
		}catch (e){
			return false;
		}	
		
		var poxx = offsetPosition(object.listDB[leng].inputObj);
		with(object.listDB[leng].Obj.div.style){
			top = poxx.top + "px";
			left = poxx.left + "px";
			position = "absolute";
			padding = "1px";
			background = "#FFFFFF";
			border = "1px solid #80a66e";
		}

		document.onclick = function (){
			object.listDB[leng].Obj.div.style.display = "block";			
		}
		
		object.listDB[leng].inputObj.onblur = function(){
			object.listDB[leng].isBlur = 1;
			object.checkBlur(leng);
		}

		object.listDB[leng].Obj.div.onmouseover = function(){
			object.listDB[leng].isfocus = 1;
		}

		object.listDB[leng].Obj.div.onmouseout = function(){
			object.listDB[leng].isfocus = 0;
			document.onclick = function(){
				object.listDB[leng].Obj.div.style.display = "none";
			}
		}

/*
**     输入监测区
*/
		if (object.listDB[leng].inputObj.value == ""){
			object.hotCity();
		}
		object.listDB[leng].intervalHandle = window.setInterval(object.filter,100);
	}
	
	this.filter = function (){
		//	alert(this.focusIndex);
		inputValue = object.listDB[object.focusIndex].inputObj.value;
		lastValue = object.listDB[object.focusIndex].lastValue;

		if (inputValue != lastValue){
			list = cElement("ul");
			var cNum = 0;
			var div = cElement("div");
			var inputLeng = inputValue.length;
		
			object.listDB[object.focusIndex].lastValue = inputValue;
			for(var i =0; i<object.listDB[object.focusIndex].Obj.Data.cityArr.length;i++){
				if(object.listDB[object.focusIndex].Obj.Data.cityArr[i].type==object.listDB[object.focusIndex].Obj.type){
					if (object.listDB[object.focusIndex].Obj.Data.cityArr[i].text.substr(3,inputLeng).toLowerCase() == inputValue.toLowerCase() && object.listDB[object.focusIndex].Obj.Data.cityArr[i].text.substr(0,3).toLowerCase() == "---" || object.listDB[object.focusIndex].Obj.Data.cityArr[i].text.substr(0,inputLeng).toLowerCase() == inputValue.toLowerCase() || object.listDB[object.focusIndex].Obj.Data.cityArr[i].value.substr(0,inputLeng).toLowerCase() == inputValue.toLowerCase() || object.showAll){
						var lis = document.createElement("li");
						
						if(object.listDB[object.focusIndex].Obj.Data.cityArr[i].text=="-"){
							lis.innerHTML = "<hr />";
							lis.setAttribute ("va","");
						}else{
							lis.innerHTML = object.listDB[object.focusIndex].Obj.Data.cityArr[i].text;
							lis.setAttribute ("va",object.listDB[object.focusIndex].Obj.Data.cityArr[i].value);
						}
						list.appendChild(lis);
						cNum ++;
					}
				}
			}
			
			if (cNum>0){
				if (object.listDB[object.focusIndex].inputObj.value == ""){
					object.listDB[object.focusIndex].Obj.msgDiv.innerHTML = selectMsg;
					object.hotCity();
				}
				div.appendChild(list);
			
				object.listDB[object.focusIndex].resultObj.innerHTML = div.innerHTML;
				object.listDB[object.focusIndex].cursor = -1;
				object.displayResult();
			}else{
				object.listDB[object.focusIndex].Obj.msgDiv.innerHTML = noRecordMsg;
			}
		}
	}

	this.hotCity = function (){
		list = cElement("ul");
		var cNum = 0;
		var div = cElement("div");

		for(var i =0; i<object.listDB[object.focusIndex].Obj.Data.cityArr.length;i++){
			if(object.listDB[object.focusIndex].Obj.Data.cityArr[i].type==object.listDB[object.focusIndex].Obj.type){
				if (object.listDB[object.focusIndex].Obj.Data.cityArr[i].isHot == 1){
					var lis = document.createElement("li");
					
					if(object.listDB[object.focusIndex].Obj.Data.cityArr[i].text=="-"){
						lis.innerHTML = "<hr />";
						lis.setAttribute ("va","");
					}else{
						lis.innerHTML = object.listDB[object.focusIndex].Obj.Data.cityArr[i].text;
						lis.setAttribute ("va",object.listDB[object.focusIndex].Obj.Data.cityArr[i].value);
					}
					list.appendChild(lis);
					cNum ++;
				}
			}
		}		
		div.appendChild(list);

		object.listDB[object.focusIndex].resultObj.innerHTML = div.innerHTML;
		object.listDB[object.focusIndex].cursor = -1;
		object.displayResult();
	}
	
	this.displayResult = function (){
		var childNodes = object.listDB[object.focusIndex].resultObj.getElementsByTagName("li");
		var defaultIndex=-1;
		for ( var i = 0;i<childNodes.length;i++){
			childNodes[i].setAttribute("idx",i);
			with (childNodes[i].style){
				padding ="2px 0 2px 3px";
				color = "#686868";
			}
			
			childNodes[i].onmouseover = function (){
				var childNodes = object.listDB[object.focusIndex].resultObj.getElementsByTagName("li");
				if(object.listDB[object.focusIndex].cursor>-1)
					childNodes[object.listDB[object.focusIndex].cursor].onmouseout();
				
				object.listDB[object.focusIndex].cursor = this.getAttribute("idx");
				with (this.style){
					backgroundColor = "#FFEAAB";
					color = "#8F2C0F";
				}
			}
			
			childNodes[i].onmouseout = function (){
				with (this.style){
					backgroundColor = "#FFFFFF";
					color = "#686868";
				}
			}
			
			childNodes[i].onclick = function (){
				//var tval=object.listDB[object.focusIndex].Obj.Data.tvalue(object.listDB[object.focusIndex].Obj.type,object.listDB[object.focusIndex].cursor);
				//if(tval!="")
				if(this.getAttribute("va")!="")
					object.listDB[object.focusIndex].inputObj.value = this.innerHTML.replace("---","").trim();
				object.closeShowBox(object.focusIndex);
			}
			
			if(object.listDB[object.focusIndex].inputObj.value.trim().toLowerCase()==childNodes[i].innerHTML.replace("---","").trim().toLowerCase()){
				defaultIndex = i;
			}
		}
		if(defaultIndex>-1){			
			object.listDB[object.focusIndex].Obj.iframe.contentWindow.scroll(0,offsetPosition(childNodes[defaultIndex]).top-childNodes[defaultIndex].offsetHeight);
			childNodes[defaultIndex].onmouseover();
		}else{
			childNodes[0].onmouseover();
		}
	}

	this.keysUp = function (){
		var childNodes = object.listDB[object.focusIndex].resultObj.getElementsByTagName("li");
		leng = childNodes.length;
		
		if(object.listDB[object.focusIndex].cursor>-1)
			childNodes[object.listDB[object.focusIndex].cursor].onmouseout();
		
		if(object.listDB[object.focusIndex].cursor> 0){
			object.listDB[object.focusIndex].cursor --;
			childNodes[object.listDB[object.focusIndex].cursor].onmouseover();
		}else{
			object.listDB[object.focusIndex].cursor = leng-1;
			childNodes[object.listDB[object.focusIndex].cursor].onmouseover();
		}
	}

	this.keysDown = function (){
		var childNodes = object.listDB[object.focusIndex].resultObj.getElementsByTagName("li");
		leng = childNodes.length;
		
		if(object.listDB[object.focusIndex].cursor>-1)
			childNodes[object.listDB[object.focusIndex].cursor].onmouseout();
		
		if (object.listDB[object.focusIndex].cursor <leng-1){
			object.listDB[object.focusIndex].cursor ++;
			childNodes[object.listDB[object.focusIndex].cursor].onmouseover();
		}else{
			object.listDB[object.focusIndex].cursor = 0;
			childNodes[object.listDB[object.focusIndex].cursor].onmouseover();
		}
	}

	this.checkFocus = function (leng){
		for(var i = 0;i<this.listDB.length;i++){
			if (i != leng){
				this.closeShowBox(i);
			}
		}
	}

	this.checkBlur = function (leng){
		if(this.listDB[leng].isfocus != 1){
			this.closeShowBox(leng);
		}	
	}
	
	this.closeShowBox  = function (leng){
		window.clearInterval(object.listDB[leng].intervalHandle);
		object.listDB[leng].Obj.div.style.display = "none";
		document.onclick = function (){
			object.listDB[leng].Obj.div.style.display = "none";
		}
	}
}