﻿SIDEBOX_URL="_users/user_login.aspx"
SERVER_URL="http://www.mapfj.com/server/fuzhou/"
function getPosition(obj){
	var el = obj, left = 0, top = 0;
	do {
		left += el.offsetLeft || 0;
		top += el.offsetTop || 0;
		el = el.offsetParent;
	} while (el);
	return {'x': left, 'y': top};
}
function CAjax() {
    this.reqObj;
    this.callback;
    this.method;
    this.url;
    this.isRun = false;
    this.init();
}
CAjax.prototype = {
    init: function() {
		this.reqObj = false;
		try
		{
			this.reqObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) 
		{
			try
			{
				this.reqObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) 
			{
				window.status = "create xmlhttp Object err";
				this.reqObj = false;
				return;
			}
		}
		if (!this.reqObj && typeof XMLHttpRequest != 'undefined')
		{
			this.reqObj = new XMLHttpRequest();
		}
        this.reqObj.onreadystatechange = this.onreadystateChange.bind(this);
        this.method = 'get';
    },
    abort: function() {
        if (this.isRun) {
            this.reqObj.abort();
        }
    },
    open: function(url) {
        this.reqObj.open(this.method, url, true);
    },
    send: function() {
        this.reqObj.send(null);
    },
    request: function(url) {
        this.isRun = true;
        this.open(url);
        this.send();
    },
    onreadystateChange: function() {
        if (this.reqObj.readyState == 4) {
            try {
                if (this.reqObj.status == 200) {
                    this.isRun = false;
                    if (this.callback) {
                        this.callback(this.reqObj.responseText);
                    }
                }
            }catch(e){}
        }
    }
};
var loadObj={
	init:function(){
	},
	loadbus:function(bline)
	{
		url="busget.aspx?act=getbs&bline="+bline;
		var busajaxobj=new CAjax();
		busajaxobj.callback = ajaxcb;
		busajaxobj.request(url);
		function ajaxcb(res)
		{
			var str,str1,str2="";
			str=res.split("||");
			for(i=0;i<str.length;i++)
			{
				str1=str[i].split("##");
				str2+="<a href=# onclick=\"SearchBus("+str1[1]+")\">"+str1[2]+"</a>&nbsp;"
			}
			eval($("d_BaseWin_Bus").innerHTML="途径此站的公交路线有:<br>"+str2);
		}
	}
}
var ToolTab = {
    init: function() {
		this.tablinks1=[$("td_sw1"),$("td_sw2")];
		this.tabtxt1=[$("tb_SchKw"),$("tb_BusSch")];
		this.tabclass1=["selon","seloff"];
		this.tablinks2=[$("td_base_s"),$("td_around_s"),$("td_err_s")];
		this.tabtxt2=[$("d_BaseWin_baseinfo"),$("d_around"),$("d_err")];
		this.tabclass2=["tabsel","tabnor"];
		this.tabbus=[$("d_busmode1"),$("d_busmode2"),$("d_busmode3"),$("d_busmode4")];
		this.busbtn=[$("btn_locates"),$("btn_cancel_s"),$("link_locates"),$("link_fincancel_s")];
		this.busbtn2=[$("btn_locatee"),$("btn_cancel_e"),$("link_locatee"),$("link_fincancel_e")];
		//$("txtSearchValue").onkeyup=function(){read_keyword()};
		//$("txtSearchValue").onkeydown=function(){if(event.keyCode==13){Search_post(1)}};
		$("btn_locates").onclick=function(){
			map.getpos(4);
			$("btn_locates").style.display="none";
			$("btn_cancel_s").style.display="";
			$("btn_cancel_s").onclick=function(){
				map.cancelgetpos(3);
				$("btn_locates").style.display="";
				$("btn_cancel_s").style.display="none";
			}
		}
		$("btn_locatee").onclick=function(){
			map.getpos(5)
			$("btn_locatee").style.display="none";
			$("btn_cancel_e").style.display="";
			$("btn_cancel_e").onclick=function(){
				map.cancelgetpos(3);
				$("btn_locatee").style.display="";
				$("btn_cancel_e").style.display="none";
			}
		}
		for(var i=0;i<this.tablinks1.length;i++)
		{
			this.tablinks1[i]._index=i;
			this.tablinks1[i].onclick = function(){ToolTab.show1(this._index)};
		}
		for(var i=0;i<this.tablinks2.length;i++)
		{
			this.tablinks2[i]._index=i;
			this.tablinks2[i].onclick = function(){ToolTab.show2(this._index)};
		}
    },
    show1: function(idx) {
			for(var i=0;i<this.tabtxt1.length;i++)
			{
				if(i==idx)
				{
					this.tabtxt1[i].style.display='';
					this.tablinks1[i].className=this.tabclass1[0];
				}
				else
				{
					this.tabtxt1[i].style.display='none';
					this.tablinks1[i].className=this.tabclass1[1];
				}
			}
    },
    show2: function(idx) {
			$("d_BaseWin_baseinfo").style.display=(idx==0)?"":"none";
			$("d_around").style.display=(idx==1)?"":"none";
			$("d_err").style.display=(idx==2)?"":"none";
			$("td_base_s").className=(idx==0)?this.tabclass2[0]:this.tabclass2[1];
			$("td_around_s").className=(idx==1)?this.tabclass2[0]:this.tabclass2[1];
			$("td_err_s").className=(idx==2)?this.tabclass2[0]:this.tabclass2[1];
    },
	busShow:function(idx){
			for(var i=0;i<this.tabbus.length;i++)
			{
				if(i==(idx-1))
				{
					this.tabbus[i].style.display='';
				}
				else
				{
					this.tabbus[i].style.display='none';
				}
			}		
	}
};

//SearchSuggest
var sg = {
    kw: '福州电信 中山路 / 酒店  三星级',
    txtobj: $('txtSearchValue'),
    btnsch: $('blocationsubmit'),
    slist: $('sgList'),    
    sover: true,
    oldkw: "",
    q: 65,
    Fb: 300,
    divindex: -1,
    isrslt: 0,
    ajaxArray: new Array(),
    isie: navigator.userAgent.toLowerCase().indexOf('msie'),
    itemstr: '<div class="sgList_item" onmousedown="sg.mselc(this)" onmouseover="sg.selw(\'m\', this, 1)" ' +
             'onmouseout="sg.selw(\'m\', this, 0)" id="div_item_{1}">' +
             '<span class="sgList_csp"><span class="sgList_kw">{0}</span></div>',
    init: function() {
        sg.txtobj.onfocus = sg.fs;
        sg.txtobj.onblur = sg.lfs;
        sg.txtobj.onkeyup = sg.cw;
        sg.txtobj.onkeydown = sg.ew;
        sg.txtobj.value = sg.kw;
        sg.btnsch.onclick = sg.bs;
    },
    qs: function() {
        
        sg.sover = false;
        var url = "pos.aspx?act=getkey&keyword="
        var kw = escape(sg.txtobj.value);
        url += kw;
        if (sg.ajaxArray[0] != null) {
            sg.ajaxArray[0].abort();
        }
        var sgajax = new CAjax();
	    sg.ajaxArray[0] = sgajax;
	    sgajax.callback = ajaxcb;
	    sgajax.request(url);
	    function ajaxcb(res){
		    eval(res);
	    }
    },
    mselc: function(obj) {
        sg.txtobj.value = obj.getElementsByTagName("SPAN")[1].innerHTML;
        sg.bs();
    },
    selw: function(type, obj, flag) {
        if (type == "m") {
            var ds = sg.slist.getElementsByTagName("DIV");
            if (sg.divindex != -1) {
                ds[sg.divindex].style.backgroundColor = "#fff";
                ds[sg.divindex].style.color = "#000";
            }
            obj.style.backgroundColor = flag == 1 ? "#00f" : "#fff";
            obj.style.color = flag == 1 ? "#fff" : "#000";
            if (flag == 1) sg.divindex = parseInt(obj.id.substring(9, 10));
        }
        else {
            var divs = obj.getElementsByTagName("DIV");
            var move = flag == 38 ? -1 : 1;
            
            sg.divindex += move;
            sg.divindex = sg.divindex > (divs.length - 1) ? -1 : sg.divindex;
            sg.divindex = sg.divindex < -1 ? (divs.length - 1) : sg.divindex;
            
            for (var i = 0; i < divs.length; i++) {
                if (sg.divindex == -1) sg.txtobj.value = sg.oldkw;
                if (divs[i].id == "div_item_" + sg.divindex) {
                    sg.txtobj.value = divs[i].getElementsByTagName("SPAN")[1].innerHTML;
                    divs[i].style.backgroundColor = "#00f";
                    divs[i].style.color = "#fff";
                }
                else {
                    divs[i].style.backgroundColor = "#fff";
                    divs[i].style.color = "#000";
                }    
            } 
        }
    },
    bs: function() {
        if (sg.txtobj.value != sg.kw) {
            sg.slist.style.display = 'none';
            sg.divindex = -1;
            Search_post(1);
        }
    },
    fs: function() {
        if (sg.txtobj.value == sg.kw) sg.txtobj.select();
    },
    lfs: function() {
        sg.slist.style.display = 'none';
        sg.divindex = -1;
    },
    ew:function(evt){
        evt = evt ? evt : (window.event ? window.event : null);
        var str = sg.txtobj.value.trim();
        if (str != "") {
            if (evt.keyCode == 13) {
                sg.bs();
                return;
            }
        }
        else {
            sg.slist.style.display = 'none';
            sg.oldkw = "";
            sg.divindex = -1;
        }            
    },
    cw: function(evt) {
        evt = evt ? evt : (window.event ? window.event : null);
        var str = sg.txtobj.value.trim();
        if (str != "") {
            if (evt.keyCode == 13) {
                sg.bs();
                return;
            }
            if (evt.keyCode == 38 || evt.keyCode == 40) {
                sg.selw("k", sg.slist, evt.keyCode);
                return;
            }
            if (sg.oldkw != str && sg.sover) {
                sg.oldkw = str;
                sg.qs();
            } 
        }
        else {
            sg.slist.style.display = 'none';
            sg.oldkw = "";
            sg.divindex = -1;
        } 
    },
    sl: function(j, kws, results) {
        sg.divindex = -1;
        while(j.childNodes.length > 0) j.removeChild(j.childNodes[0]);
        if (kws.length > 0 && kws[0] != "") {
            for (var c = 0; c < kws.length; c++) {
                var item = sg.itemstr;
                
                var item1 = item.replace("{0}", kws[c]);
                var item2 = item1.replace("{1}", c.toString());
                
                j.innerHTML += item2;
            }
            var xy = getPosition(sg.txtobj);

            j.style.left = xy.x + 'px';
            j.style.top = (xy.y + 21) + 'px';
            j.style.display = '';         
        }
        else{
            sg.slist.style.display = 'none';
            sg.divindex = -1;
        }
        sg.sover = true;     
    }
};
function createNote()
{
    var href=location.href;
    href=href.substring(0,href.lastIndexOf("\/")+1)
    if($("txtNote").value!="")
    {
        if ($("txtNote").value.length > 21) $("txtNote").value = $("txtNote").value.substring(0, 20);        
        $('txtnotelink').value=href+$('txtnotelink').value+escape($("txtNote").value);
        $("mapTipUrl").style.display="";
    }
}
function Save()
{
    window.clipboardData.setData('text', $('txtnotelink').value);
    alert('您可以将此链接发送给朋友,通过此链接他可以立即到达此地点');
    map.tip.style.display='none';
}
function copy()
{
    window.clipboardData.setData('text', $('txtnotelink').value);
    alert('您可以将此链接发送给朋友,通过此链接他可以立即到达此地点');
    map.tip.style.display='none';
}
var RWidth = 420;
//fitPage
function fitPage() {
    //if (fulscr.isfulscr == 0) {
        //tooltab.fit();
    //    fitMapHeight();
    //    fitFrameHeight();

    //}
    //else {
        //tooltab.fit();
        map.fit();
    //} 
    try
    {map.fit();}catch(e){}
}
function showpage(url) {
    if ($('sysSideBox').style.display == 'none') showright();  
    $('frmSidebox').src = 'jump2page.htm?' + escape(url);
}
function fitFrameHeight() {
    var widnowSize = window.Size.getSize();
    var height = widnowSize.size.y - (op ? 63 : 53);
    $('frmSidebox').height = height + 'px';
}
function fitMapHeight() {
    var widnowSize = window.Size.getSize();
    var height = widnowSize.size.y - (op ? 63 : 53);
    $('sysMap').style.height = height + 'px';
}
function fitMapHeight2() {
    var widnowSize = window.Size.getSize();
    var width = widnowSize.size.x - (op ? RWidth+8 : 8);
    var height = widnowSize.size.y - (op ? 12 : 2);
    $('sysMap').style.width = height + 'px';    
    $('sysMap').style.height = height + 'px';
}
function showright() {
    $('sysSideBox').style.display = '';
    //$('d_spliter1').style.display = 'none';
    $('sysSideBox').style.width = RWidth + 'px';
    //tooltab.fit();  
    map.fit();
}
function hideright() {
    $('sysSideBox').style.display = 'none';
    $('sysSideBox').style.width = '1px';
    //tooltab.fit();
    map.fit();
}
ToolTab.init();
loadObj.init();
sg.init();