
document.write('<script type="text/javascript" src="/js/like/js/yahoo.js"></script>');
document.write('<script type="text/javascript" src="/js/like/js/dom.js"></script>');
document.write('<script type="text/javascript" src="/js/like/js/event-debug.js"></script>');
document.write('<script type="text/javascript" src="/js/like/js/animation.js"></script>');
document.write('<script type="text/javascript" src="/js/like/js/autocomplete-debug.js"></script>');
document.write('<script type="text/javascript" src="/js/like/js/yui-base.js"></script>');
document.write('<iframe id="myIFrameId" style="height:168px; width:280px;position:absolute; top:300px; left:400px; z-Index:8999; display:none;" frameborder="0" scrolling="no"  src="/js/like/js/hotCity.html"></iframe>');
document.onclick=allOnblur;


var planeColl = null;
var panelId = 'et:cityPopup';  //热点城市面板ID
var cn = '';
var myIFrameId = 'myIFrameId';
var isStartHotCity = true;

//match method
function getStates(sQuery){
	if(isStartHotCity){
		hidHotCityPanel();
		isStartAC = true;
	}
		
	result = [];
		if (sQuery && sQuery.length > 0) {
			sQuery = decodeURI(sQuery);
			if (sQuery.charCodeAt(0) < 255) {

				var r = dataset[sQuery.charAt(0).toLowerCase()];
				if (r+""!="undefined") {
					for (var p = r.length - 1; p >= 0; p--) {
					if(r[p]+""!="undefined"){
						var n = r[p].pyab;
						var cde = r[p].code;
						var v = n.toLowerCase().indexOf(sQuery.toLowerCase());
						var cv = cde.toLowerCase().indexOf(sQuery.toLowerCase());
						
						if (v === 0) {
							var isExis = false;
							for(var i = 0; i < result.length; i++){
								if(result[i][0] == r[p].name){
									isExis = true;
									break;
								}
							}

							if(!isExis)
								result.unshift([r[p].name, r[p].pyab, r[p].code,r[p].cityNo]);
						}else if(cv == 0){
							var isExis = false;
							for(var i = 0; i < result.length; i++){
								if(result[i][0] == r[p].name){
									isExis = true;
									break;
								}
							}

							if(!isExis)
								result.unshift([r[p].name, r[p].pyab, r[p].code,r[p].cityNo]);
						}else {
							var o = r[p].py;
							var u = o.toLowerCase().indexOf(sQuery.toLowerCase());
							if (u === 0) {
								result.unshift([r[p].name, r[p].pyab, r[p].code,r[p].cityNo]);
							}
						}
					 }
					}
				}
			} else {				
				for (var s in dataset) {
					var r = dataset[s];		
					if(r+""!="undefined"){			
					for (var p = r.length - 1; p >= 0; p--) {
					if(r[p]+""!="undefined"){
						if (r[p].name.indexOf(sQuery) == 0) {
							var isExis = false;
							var arr = result.toString().split(",");
							for(var index in arr){
								if(arr[index] == r[p].name){
									isExis = true;
									break;
								}
							}
							
							if(isExis == false){
								result.push([r[p].name, r[p].pyab, r[p].code,r[p].cityNo]);
							}
						}
						}
					}
					}
				}
			 }
		} else {	

			for (var s in dataset) {

				var r = dataset[s];
				if(r+""!="undefined"){
				for (var p = r.length - 1; p >= 0; p--) {	
				 	if(r[p]+""!="undefined"){
				 	result.push([r[p].name, r[p].pyab, r[p].code,r[p].cityNo]);
				 	}
				}
				}
			}
		}
		planeColl = result.toString().split(',');
		return result;
}

/**
*initial method
*params : textInput            form text component
*params : divContainerId       DIV tag
*/
var hidObj = {};
var startHotCity = {};//是否开启热点城市效果
function bindingSelector(textInput,divContainerId,compId,hidId,isHotCity){		  

	  hidObj[textInput.toString()]=hidId.toString();

	  if(typeof(isHotCity) == 'boolean')
	  		startHotCity[textInput.toString()]=isHotCity;
	  else
	  		startHotCity[textInput.toString()]=true;

	  YAHOO.example.ACJSFunction = function(){
	 //init
                var oACDS;
                var oAutoComp;
                return {
                    init: function() {
                    //Logger

					// Instantiate JS Function DataSource
					oACDS = new YAHOO.widget.DS_JSFunction(getStates);
					oACDS.maxCacheEntries = 0;

					// Instantiate AutoComplete
					oAutoComp = new YAHOO.widget.AutoComplete(textInput, divContainerId, oACDS);
					oAutoComp.useIFrame = (YAHOO.env.ua.ie && YAHOO.env.ua.ie <= 6) ? true : false;
					oAutoComp.alwaysShowContainer = false;
					oAutoComp.queryDelay = 0;
					oAutoComp.minQueryLength = 0;
					oAutoComp.maxResultsDisplayed = 50;
					//3687 下拉框搜索事件

						//格式化下拉框的输出 3
                        oAutoComp.formatResult = function(oResultItem, sQuery) {
                            var sMarkup = oResultItem[0] + " (" + oResultItem[1] + ")";
                            return (sMarkup);
                        };
						
						//选中某一选择项的事件
						oAutoComp.itemSelectEvent.subscribe(function (w, v) {
						   
							var result = v[2];
							var compInfo = v[0];
							var compObj;
							var txtId = compInfo.toString().split(' ')[2];
							if(hidObj[txtId] != null && hidObj[txtId] != '' && hidObj[txtId]	!= 'undefined'){
								compObj = document.getElementById(hidObj[txtId]);
							}else{
								compObj = document.getElementById(compInfo.toString().split(' ')[2]+"No");
							}

							compObj.value = result.toString().split(',')[3];
							//cn赋值
							var cityName =  result.toString().split(',')[0];
							cn=cityName;
						});
						
						//鼠标移入到某项的事件  
						oAutoComp.itemMouseOverEvent.subscribe(function (y, x) {
							var compId = x[0].toString().split(' ')[2];
							var cityName =  x[1].innerText.toString().split(' ')[0];

							cn=cityName;
							var ho;
							for(var i = 0; i < planeColl.length; i++){
								if(planeColl[i] == cityName){
									if(hidObj[compId] != null && hidObj[compId] != '' && hidObj[compId]	!= 'undefined'){
										ho = document.getElementById(hidObj[compId]);
									}else{
										ho = document.getElementById(compId+"No");
									}
									ho.value =planeColl[i+3];
								}
							}
							if($Id(compId).value == null || $Id(compId).value == '' || $Id(compId).value == 'undefined'){
								ho.value = '';
							}
						});
						
						//鼠标移动到某项的事件  6
						oAutoComp.itemArrowToEvent.subscribe(function (y, x) {
						            
							var compId = x[0].toString().split(' ')[2];
							var cityName =  x[1].innerText.toString().split(' ')[0];
							cn=cityName;
							
							var ho;						
							for(var i = 0; i < planeColl.length; i++){
								if(planeColl[i] == cityName){
							
									if(hidObj[compId] != null && hidObj[compId] != '' && hidObj[compId]	!= 'undefined'){
										ho = document.getElementById(hidObj[compId]);
									}else{
										ho = document.getElementById(compId+"No");
									}
									ho.value = planeColl[i+3];
								}
							}
							if($Id(compId).value == null || $Id(compId).value == '' || $Id(compId).value == 'undefined'){
								ho.value = '';
							}
						});	
						
						//下拉框收缩时的事件 7
						oAutoComp.containerCollapseEvent.subscribe(function (y, x) {
							var compId = x[0].toString().split(" ")[2];
							var compObj = document.getElementById(compId);
							if (compObj.value != null && compObj.value != "") {
								compObj.value = cn;
							}

							isStartAC = false;
						});

						// Subscribe to Custom Events
                        oAutoComp.dataReturnEvent.subscribe(YAHOO.example.ACJSFunction.myOnDataReturn);
                    },

                    // Define Custom Event handlers 8
                    myOnDataReturn: function(sType, aArgs) {
                        var oAutoComp = aArgs[0];
                        var sQuery = aArgs[1];
                        var aResults = aArgs[2];

						var strComp = oAutoComp.toString();
						var txtId = strComp.split(' ')[2];
						if(aResults.length == 0) {
							var compObj;
							if(hidObj[txtId] != null && hidObj[txtId] != '' && hidObj[txtId]	!= 'undefined'){
								compObj = document.getElementById(hidObj[txtId]);
							}else{
								compObj = document.getElementById(txtId+"No");
							}

							compObj.value='';
          	 				//oAutoComp.setBody("<div id=\"statescontainerdefault\">没有找到城市，请您重新输入。</div>");
                        }
                    },

                    validateForm: function() {
                        // Validate form inputs here
                        return false;
                    }
                };
            }();

			if(compId != null && compId != '' && compId != 'undefined'){
				YAHOO.util.Event.addListener(compId,'click',YAHOO.example.ACJSFunction.init);
			}

            YAHOO.util.Event.addListener(textInput,'click',YAHOO.example.ACJSFunction.init);

            regEventForTxt();
}

var map_Event = {}; //一个map对象，用于保存注册事件后的控件对象
var curCompId = ''; //记录当前获取焦点的文本框ID
var isTxtFocus = false;  //判断文本框是否得到焦点
var isCityFocus = false;//判断城市菜单是否得到焦点
var isCreateCityMenu = false;
var isStartAC = false;

//为文本框注册事件
function regEventForTxt(){	
	if(isStartHotCity){
		for(var txtId in hidObj){			
		if(map_Event[txtId] == null || map_Event[txtId] == '' || map_Event[txtId] == 'undefined'){
			if(startHotCity[txtId] != null && startHotCity[txtId] != '' && startHotCity[txtId] != 'undefined' && startHotCity[txtId] == true){
				$Id(txtId).onfocus = function(e){	
					var pos = getElementPos(this.id);

					curCompId = this.id;
					isTxtFocus = true;

					if(!isStartAC){
						topDiv(pos.x+"px",(pos.y+20)+"px");
					}
				};

				$Id(txtId).onblur = function(){	
					isTxtFocus = false;
				};
				map_Event.txtId = $Id(txtId);		
			}
		}
	}
	}		
}

function topDiv(left,top){
	var iframe_dom = $Id(myIFrameId);
	iframe_dom.style.top = top;
	iframe_dom.style.left = left;
	iframe_dom.style.display = "block";
}

//将热点城市码赋给匹配的隐藏域
function hotCityIdToHidd(objvalue){
	if(isStartHotCity){
		$Id(curCompId).value=objvalue;
		$Id(hidObj[curCompId]).value=hotCities[objvalue];
		hidHotCityPanel();
		curCompId = '';
	}	
}

function hidHotCityPanel(){
	if(isStartHotCity){		
		$Id(myIFrameId).style.display='none';	
	}	
}

//获取控件的坐标点
function getElementPos(elementId) {
 var ua = navigator.userAgent.toLowerCase();
 var isOpera = (ua.indexOf('opera') != -1);
 var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
 var el = document.getElementById(elementId);
 if(el.parentNode === null || el.style.display == 'none') {
  return false;
 }      
 var parent = null;
 var pos = [];     
 var box;     
 if(el.getBoundingClientRect)    //IE
 {         
  box = el.getBoundingClientRect();
  var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
  var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
  return {x:box.left + scrollLeft, y:box.top + scrollTop};
 }else if(document.getBoxObjectFor)    // gecko    
 {
  box = document.getBoxObjectFor(el); 
  var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0; 
  var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0; 
  pos = [box.x - borderLeft, box.y - borderTop];
 } else    // safari & opera    
 {
  pos = [el.offsetLeft, el.offsetTop];  
  parent = el.offsetParent;     
  if (parent != el) { 
   while (parent) {  
    pos[0] += parent.offsetLeft; 
    pos[1] += parent.offsetTop; 
    parent = parent.offsetParent;
   }  
  }   
  if (ua.indexOf('opera') != -1 || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) { 
   pos[0] -= document.body.offsetLeft;
   pos[1] -= document.body.offsetTop;         
  }    
 }              
 if (el.parentNode) { 
    parent = el.parentNode;
   } else {
    parent = null;
   }
 while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') { // account for any scrolled ancestors
  pos[0] -= parent.scrollLeft;
  pos[1] -= parent.scrollTop;
  if (parent.parentNode) {
   parent = parent.parentNode;
  } else {
   parent = null;
  }
 }
 return {x:pos[0], y:pos[1]};
}

//通过ID获取对象
function $Id(objId){
	return document.getElementById(objId);
}

//通过名称获取对象集合
function $Name(objName){
	return document.getElementsByName(objName);
}

//在文本框和城市菜单都失去焦点的时候就隐藏文本框
function allOnblur(e){
	if(isStartHotCity){
		if(!isTxtFocus && !isCityFocus)hidHotCityPanel();
	}	
}

function strtodate(sdate){
var year, month, day;
var iaDate = new Array(3);

	iadate = sdate.split("-");
	year = iadate[0];
	month = iadate[1] - 1;
	day = iadate[2];
	return (new Date(year,month,day));
}
function isDateString(str) {
	//var reg=/^\d{4}-[0-1]?\d{1}-[0-3]?\d{1}$/;
	//return reg.test(str);
	return true;
}
function addDay(str,num){
var d = strtodate(str);
	d = new Date(d.valueOf() + num * 86400000);
	return(d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate());
}
