
//************通用函数（来自pyzy.net）Sta huzj 2008-4-12************//
function $(fctId){
        return document.getElementById(fctId);
}

//取得某对象，若提供ID下的对象不存在则自动创建
function c$(fctId,fctClassName){
        var varTempDivObj=$(fctId);
        if(!varTempDivObj){
                GetPyzyIframe("ifm"+fctId);
                varTempDivObj=document.createElement("div");
                varTempDivObj.id=fctId;
                if(fctClassName && fctClassName!="")varTempDivObj.className=fctClassName;
                document.body.appendChild(varTempDivObj);
        }
        return varTempDivObj;
}

//取得某ID的iframe对象，若不存在该ID的对象则自动创建
function GetPyzyIframe(fctIfmId,fctVisibility,fctTop,fctLeft,fctWidth,fctHeight){
        var varTempIfmObj=$(fctIfmId);
        if(!varTempIfmObj){
                varTempIfmObj=document.createElement("iframe");
                varTempIfmObj.id=fctIfmId;
                varTempIfmObj.style.position="absolute";
                varTempIfmObj.style.zIndex="1";
                varTempIfmObj.style.visibility="hidden";
                document.body.appendChild(varTempIfmObj);
        }
        if(fctTop)varTempIfmObj.style.top=fctTop+"px";
        if(fctLeft)varTempIfmObj.style.left=fctLeft+"px";
        if(fctWidth)varTempIfmObj.style.width=fctWidth+"px";
        if(fctHeight)varTempIfmObj.style.height=fctHeight+"px";
        if(fctVisibility)varTempIfmObj.style.visibility=(document.all?fctVisibility:"hidden        ");
        return varTempIfmObj;
}

//取得某对象的坐标位置、宽、高
function getPosition(obj){
        var top=0;
        var left=0;
        var width=obj.offsetWidth;
        var height=obj.offsetHeight;
        while(obj.offsetParent){
                top+=obj.offsetTop;
                left+=obj.offsetLeft;
                obj=obj.offsetParent;
        }
        return{"top":top,"left":left,"width":width,"height":height};
}

//取得编码存储框对象
function GetValueToInputObj(fctThisObj){
        if(!fctThisObj)return null;
        var varThisObjAutoInput=(fctThisObj.getAttributeNode("value_to_input")?fctThisObj.getAttributeNode("value_to_input").value:"");
        if(varThisObjAutoInput=="")return null;
        return $(varThisObjAutoInput);
}

//自动触发下一个对象的Act事件
function AutoNextInputAct(fctThisObj,fctAct){
        var varNextInput=fctThisObj.getAttributeNode("nextinput");
        if(varNextInput && varNextInput!=""){
                if(document.all){
                        eval("$('"+varNextInput.value+"')."+fctAct+"()");
                }else{
                        var evt = document.createEvent("MouseEvents");
                        evt.initEvent(fctAct,true,true);
                        $(varNextInput.value).dispatchEvent(evt);
                }
                //$(varNextInput.value).focus();
        }
}

//给某对象的某事件增加处理函数AddFunToObj(document,"onclick","alert('1');")
function AddFunToObj(fctObj,fctAct,fctFunction){
        if(fctObj.addEventListener){ //!IE
                fctObj.addEventListener(fctAct.replace("on",""),function(e){
                        e.cancelBubble=!eval(fctFunction);
                },false);
        }else if(fctObj.attachEvent){ //IE
                fctObj.attachEvent(fctAct,function(){
                        return eval(fctFunction);
                });
        }
}
//************通用函数 End huzj 2008-4-12************//

/**********城市列表功能 Sta huzj 2008-4-14*************/
//输出城市列表菜单CSS样式 huzj 2008-4-12
document.write('<style type="text/css">                body{background-color:#efefef;}                #divAddressMenu {position:absolute;visibility:hidden;z-index:1;overflow:hidden;width:172px;background-color:#FFFFFF;border:solid #EBcccC 1px;font-size:12px;}                #divAddressMenu h4{border-bottom:dotted #CCCCCC 1px;color:#999999;font-size:12px; font-weight:100; padding:2px 2px 0 2px; margin:0;}                #divAddressMenu div{border:solid #FC7A7D 1px;padding:1px;}                #divAddressMenu a {display:block;width:162px !important;width:100%;padding:1px 2px 2px 2px;cursor:default;text-decoration:none;color:#990000;border:solid #ffffff 1px;background-color:none;}                #divAddressMenu a span{float:right;}                #divAddressMenu a:hover {border:solid #F2C2BD 1px;background-color:#FBEDEC;}        </style>');

var varAddress="@Shanghai|上海|SHH@Suzhou|苏州|SZV@Nanjing|南京|NKG@Hangzhou|杭州|HGH@Changzhou|常州|CZX@Wuxi|无锡|WUX@Sanya|三亚|SYX@Changshu|常熟|CHS@Dalian|大连|DLC@Xiamen|厦门|XMN@Guangzhou|广州|CAN@Huzhou|湖州|HZH@Jiaxing|嘉兴|JAX@Ningbo|宁波|NGB@Wuyishan|武夷山|WUS@Taian|泰安|TIA@Zhoushan|舟山|HSN@Wenzhou|温州|WNZ@Yangzhou|扬州|YAZ@Lianyungang|连云港|LYG@Wuhu|芜湖|WUH@Shangyu|上虞|SHY@Wuyi|武义|WUY@Tongxiang|桐乡|TOX@Guilin|桂林|KWL@Tianjin|天津|TSN@Huaian|淮安|HUA@Shenzhen|深圳|SZX@Beijing|北京|BJS@Hong Kong|香港|HKG@Huangshan|黄山|TXN@Zhangjiajie|张家界|DYG@Qingdao|青岛|TAO@Macau|澳门|MFM@Weifang|潍坊|WEF@Jiande|建德|JAD@Shangrao|上饶|SHR@Xishuangbanna|西双版纳|JHG@Yichang|宜昌|YIH@Qiyuan|济源|QIY@Qinyuan|清远|QNY@Shaoxing|绍兴|SXN@Lijiang|丽江|LJA@Qiandaohu|千岛湖|QDH@Yiwu|义乌|YIU@Haikou|海口|HIK@Jiangyin|江阴|JAY@Huizhou|惠州|HUZ@Hengdian|横店|HED@Haining|海宁|HNG@Chongqing|重庆|COQ@Lasa|拉萨|LSA@Xian|西安|XIA@Dunhuang|敦煌|DHG@Lushan|庐山|LSN@Kunming|昆明|KUM@Qionghai|琼海|QOH@Emeishan|峨眉山|EMS@Chaohu|巢湖|CAH@Enping|恩平|ENP@Zhuhai|珠海|ZHH@Liyang|溧阳|LYA@Kunshan|昆山|KSN@Panan|磐安|PAA@Taishan|台山|TAS@Jiangmen|江门|JAM@Weihai|威海|WHI@Jiashan|嘉善|JSN@Anji|安吉|ANJ@Zhangzhou|漳州|ZZO@Heyuan|河源|HYA@Danzhou|儋州|DNZ@Wanning|万宁|WNG@Zhongshan|中山|ZGS@Xuchang|许昌|XCN@Cixi|慈溪|CIX@Xinchang|新昌|XCN@Hefei|合肥|HEF@Moganshan|莫干山|MGS@";
var varPageId=0;
//生成并显示出城市下拉菜单
function GetCityList(fctThisObj,event){
        event=event?event:event;
        var varMenuObj=c$("divAddressMenu");
        var varThisObj=fctThisObj;
        if(varThisObj.id=="menuPageS"||varThisObj.id=="menuPageE"){
                varThisObj=varMenuObj.obj;
        }else{
                varPageId=0;
        }
        //清除已选城市Value
        var varThisObjAutoInput=GetValueToInputObj(varThisObj); //取得城市编码值存储对象
        if(varThisObjAutoInput)varThisObjAutoInput.value="";
        //取得城市数据并拆解为数组
        var varObjValue=varThisObj.value;
        var varThisObjAdd=(varThisObj.getAttributeNode("mod_address_suggest")?varThisObj.getAttributeNode("mod_address_suggest").value:"");
        var varData=(varObjValue==""?(varThisObjAdd==""?varAddress:varThisObjAdd):varAddress);
        var varHtmlStr="",varCityDataSplit=varData.split("@"),varCityDataSplitI,varCityDataSplitIu,varNextPageStr="";
        //存储当前操作对象
        varMenuObj.obj=varThisObj;
        var varPageRCount=(varThisObj.getAttributeNode("pagecount")?parseInt(varThisObj.getAttributeNode("pagecount").value,10):18);
        var varThisPageI=0
        for(var i=1;i<varCityDataSplit.length-1;i++){
                varCityDataSplitI=varCityDataSplit[i];
                if(varCityDataSplitI.toUpperCase().indexOf(varObjValue.toUpperCase())>=0 || varObjValue=="" || i==varObjValue){ // || varCityDataSplitI.toLowerCase().indexOf(varObjValue.toLowerCase())>=0
                        varThisPageI+=1;
                        if(varThisPageI>varPageId*varPageRCount && varThisPageI<=(varPageId+1)*varPageRCount){
                                varCityDataSplitISplit=varCityDataSplitI.split("|");
                                varHtmlStr+="<a href='javascript:;' onclick='WriteCity("+varThisPageI+","+event+")' id='menuA"+varThisPageI+"' title='"+varCityDataSplitI+"'><span>"+varCityDataSplitISplit[1]+"("+varCityDataSplitISplit[2]+")</span>"+varCityDataSplitISplit[0]+"</a>";
                        }
                }
        }
        /*if(varThisPageI>varPageRCount){
                varNextPageStr="&nbsp;<b id=menuPageS style="+(varPageId>0?"cursor:pointer;":"color:#666666;")+">&lt;&lt;&lt;&nbsp;上一页</b>　"
                varNextPageStr+="<b id=menuPageE style="+(varThisPageI>(varPageId+1)*varPageRCount?"cursor:pointer;":"color:#666666;")+">下一页&nbsp;&gt;&gt;&gt;</b>";
        }*/
        var varThisObjPosition=getPosition(varThisObj); //取得事件发生处控件坐标
        with(varMenuObj){
                style.top=varThisObjPosition.top+varThisObjPosition.height+"px";
                style.left=varThisObjPosition.left+"px";
                style.visibility="visible";
                innerHTML="<div onclick='hiddendiv(this);'><h4>可输城市拼音/汉字。</h4>"+(varHtmlStr==""?"<nobr>没有找到您查的城市‘"+varObjValue+"’。</nobr>":varHtmlStr+varNextPageStr)+"</div>";
        }
        GetPyzyIframe("ifm"+varMenuObj.id,"visible",(varThisObjPosition.top+varThisObjPosition.height),varThisObjPosition.left,varMenuObj.offsetWidth,varMenuObj.offsetHeight); //取Iframe
        return false;
}
//选择某城市
function WriteCity(fctI,event){
        event=event?event:event;
        var varMenuObj=c$("divAddressMenu");
        var varThisObj=varMenuObj.obj;
        var varMenuValue=$("menuA"+fctI).title;
        varMenuValue=varMenuValue.split("|");
        varThisObj.value=varMenuValue[1];
        
        var varThisObjAutoInput=GetValueToInputObj(varThisObj); //取得城市编码值存储对象
        if(!varThisObjAutoInput)varThisObjAutoInput=varThisObj;
        varThisObjAutoInput.value=varMenuValue[2];
        
        if(typeof(fctI)=="number")AutoNextInputAct(varThisObj,"click");
        _Hidden(event);
}
//隐藏城市列表
function hiddendiv(event){
        event=event?event:event;
        var varMenuObj=c$("divAddressMenu");
        var varThisObj=varMenuObj.obj;
        if(varMenuObj.style.visibility!="hidden"){
                varMenuObj.style.visibility="hidden";
                GetPyzyIframe("ifm"+varMenuObj.id,"hidden");
        }
}
//隐藏城市列表
function _Hidden(event){
        event=event?event:event;
        var varMenuObj=c$("divAddressMenu");
        var varThisObj=varMenuObj.obj;
        if(varMenuObj.style.visibility!="hidden"){
                if(event){
                        var EventOBJ=(event.srcElement?event.srcElement:event.target);
                        if(EventOBJ.id=="menuPageS" && EventOBJ.style.color==""){ //如果点的是“上一页”则向上翻页
                                varPageId=varPageId-1;
                                GetCityList(EventOBJ);
                        }
                        if(EventOBJ.id=="menuPageE" && EventOBJ.style.color==""){ //如果点的是“下一页”则向下翻页
                                varPageId=varPageId+1;
                                GetCityList(EventOBJ);
                        }
                        if(varThisObj==EventOBJ || EventOBJ.id.indexOf("menuPage")==0 || EventOBJ.id.indexOf("divAddressMenu")==0) return false;
                }
                
                var varThisObjAutoInput=GetValueToInputObj(varThisObj); //取得城市编码值存储对象
                if($("menuA1")){ //如果下拉菜单中存在第一个城市
                        if(!varThisObjAutoInput)varThisObjAutoInput=varThisObj;
                        if(varThisObjAutoInput.value=="" || varThisObjAutoInput==varThisObj){ //编码框中无值
                                WriteCity("1",event);
                        }
                }else if(EventOBJ.id.indexOf("menuA")<0){ //如果下拉菜单中不存在满足条件的城市
                        if(varThisObj)varThisObj.value="";
                }
                varMenuObj.style.visibility="hidden";
                GetPyzyIframe("ifm"+varMenuObj.id,"hidden");
        }
}
/**********城市列表功能 End huzj 2008-4-14*************/
//初始化
function suunit(flg,event){
        if(!event) var event=window.event;
	if(flg){
		AddFunToObj(window,"onload","AddFunToObj(document,'onclick','_Hidden("+(document.all?"":event)+");');");
	}
}