var SWMap = null;
var pNavigator = null;
var pTrackingBox = null;
var pTrackingLine = null;
var pMeasure = null;
var pZoomIn  = null;
var pZoomOut = null;
var TOPHEIGHT = 198;//头部的高度
//var TOPHEIGHT = 240;//头部的高度
var RESULTWIDTH = 300;//结果显示的宽度
var AUTOQUERY   = false; //是否自动进行查询
var CSWAdStr="";
function mapInit() {    
	SWMap = new MapObject( 'viewport' );  
	configBaseMap();
	configOverLayer();	
	SWMap.addMap( map );
    SWMap.registerForEvent( _TRACKINGBOX, null, defBoundingbox );
    SWMap.registerForEvent( _AfterTrackingPoly, null, releaseTracking );
    SWMap.registerForEvent( _AfterTrackingLine, null, releaseTracking );
    SWMap.registerForEvent( EVENT_RESIZE_MAP, null, adjuestControl );
    pNavigator 		= new NavigatorTool(SWMap);
    pTrackingBox 	= new TrackingBoxTool(SWMap);
    pTrackingLine 	= new TrackingLine(SWMap);
    pTrackingPolygon= new TrackingPolygon(SWMap);
    pMeasure 		= new MeasureTool(SWMap);
    pZoomIn 		= new ZoomInTool(SWMap);
    pZoomOut 		= new ZoomOutTool(SWMap);
    
    SWMap.selectMap('地图'); 
    setMapTool('pan');
    SWMap.addMapControl();
    //SWMap.createCopyrightPane(280,20,"Copyright &copy 测绘成果分发服务网");
}
function init()
{
	calMapView();
	mapInit();
	changewmslayer();
	addMetadataButton();
	resizeMap();
	if (window.attachEvent)
	{
		window.attachEvent("onresize", resizeMap);
	}
	else 
	{
		window.addEventListener("resize", resizeMap, false);
	}
	
}
function adjuestControl()
{
	if(SWMap.metadataButton)
	{
		SWMap.metadataButton.style.left  = SWMap.viewportWidth - 86 + "px";
	}
	if(SWMap.copyrightPane)
	{
		var width = safeParseInt(SWMap.copyrightPane.style.width);
		SWMap.copyrightPane.style.left  = SWMap.viewportWidth - width - 8+ "px";
		SWMap.copyrightPane.style.top = SWMap.viewportHeight - SWMap.copyrightPane.height + "px";
	}
}
function addMetadataButton()
{
	var div = document.createElement("div");
	div.style.left  = SWMap.viewportWidth - 86 + "px";
	div.style.top = "14px";
	div.style.position = "absolute";
	div.innerHTML = "<input type='checkbox'id='metadatabutton' onclick='checkVisibility(this);' title='显示和关闭接图表.' >&nbsp;接图表";
	div.style.fontSize = "12px";
	div.style.width = "73px";		
	div.style.backgroundRepeat = "no-repeat";
	div.style.padding = "3px";
	div.style.height = "28px";	
	div.style.backgroundImage = "url(images/metadatabt.gif)";
	div.style.zIndex = "999";
	div.style.cursor = "pointer";
	Event.bindClick(div,div,checkVisibility);
	SWMap.metadataButton = div;
	SWMap.domObj.appendChild(SWMap.metadataButton);
	
}

function checkVisibility(o)
{
	var metadatabt = document.getElementById("metadatabutton");
	if(metadatabt)
	{
		metadatabt.checked = !metadatabt.checked;
		SWMap.wmslayer.visible = metadatabt.checked;
		SWMap.wmslayer.reflash();
	}
}
function releaseTracking()
{
	if(AUTOQUERY)queryMetadata();
	//setMapTool('pan');
	//setcurrent();
}
function clearQueryElement()
{
	//删除行政区图形
	removeDistrict();
	//删除定义的多边形
	removeBoundingBox();
	//清除动态线
	pTrackingLine.clear();
	//清楚动态多边形
	pTrackingPolygon.clear();
	
}
function checkinput(o)
{
	if(o.value == "请输入图号")
	{
		o.value = "";
	}
	o.focus();
}
function setMapTool(tool)
{
	if(tool == "pan")
	{
		pNavigator.activate();
	}
	if(tool == "trackBox")
	{
		pTrackingBox.activate();
		clearQueryElement();
	}
	if(tool == "trackLine")
	{		
		pTrackingLine.activate();
		clearQueryElement();
	}
	if(tool == "trackPolygon")
	{
		pTrackingPolygon.activate();
		clearQueryElement();
	}	
	if(tool == "measure")
	{
		pMeasure.activate();
	}
	if(tool == "clear")
	{
		//清楚测距信息
		pMeasure.clear();
		clearQueryElement();
		//清理查询结果
		clearResult();
		//清理其他地物
		SWMap.clearOverlays();
	}
	if(tool == "zoomin")
	{
		pZoomIn.activate();
	}
	if(tool == "zoomout")
	{
		pZoomOut.activate();
	}
	if(tool == "reflash")
	{
		SWMap.reflash();
	}
}


var mapgrid     = null;
function PreviewGrid(minx,miny,maxx,maxy)
{
	if(mapgrid)
	{
		SWMap.removePolygon(mapgrid);
	}
	mapgrid = createPolygon(minx,miny,maxx,maxy);	
	if(mapgrid)
	{
		SWMap.addPolygon(mapgrid);
	}
}
//##################
// 空间范围定义
//##################
//根据两点坐标创建矩形对象 封闭的5点构成
function createPolygon(minx,miny,maxx,maxy,color,bgcolor)
{    
	var pts = [];
	pts.push(new Point(minx,miny));
	pts.push(new Point(minx,maxy));
	pts.push(new Point(maxx,maxy));
	pts.push(new Point(maxx,miny));
	//pts.push(new Point(minx,miny));
	return new Polygon(pts,color,bgcolor);
}
var trackingBox = null;
//定义外包范围并执行查询
function defBoundingbox(eventID,bounds,points)
{	
 	if(trackingBox)
 	{
 		SWMap.removePolygon(trackingBox);
 	}
 	trackingBox = new Polygon(points);//createPolygon(bounds.minX,bounds.minY,bounds.maxX,bounds.maxY);
 	if(trackingBox)
 	{
 		SWMap.addPolygon(trackingBox);
 		trackingBox.setZIndex(999);
 	} 
 	if(AUTOQUERY)queryMetadata();
}
//在地图中定义一个矩形范围 不执行查询操作
function definePolygon(minx,miny,maxx,maxy)
{
    //alert(minx + "#" + miny +"#" +maxx+ "#" + maxy);
	if(trackingBox!=null)
	{
		SWMap.removePolygon(trackingBox);
	}
	trackingBox = createPolygon(minx,miny,maxx,maxy);;
	SWMap.addPolygon(trackingBox);
}
//清理地图中的外包范围对象
function removeBoundingBox()
{
	if(trackingBox)
 	{
 		SWMap.removePolygon(trackingBox);
 	}
 	trackingBox = null;
}
//##################
// 地名库的定位
//##################
//根据省份动态加载地市信息
function changeProvince(o)
{
    var v = o.options[o.selectedIndex].value;
    var city = document.getElementById("City");
    var cnty = document.getElementById("Cnty")
    city.length = 0;
    cnty.length = 0;
    cnty.style.display = "none";
    if(v == "")
    {
        city.style.display = "none";
    }
    else
    {
        city.options[0] = new Option("==地市==","")
        var xml = AjaxMethod.getCity(v).value;
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.loadXML(xml); 				
		var root = xmlDoc.childNodes.item(0);		
		var len = root.childNodes.length;
		for(var i = 0 ;i<len;i++)
		{
		    var node = root.childNodes.item(i);			    
		    city.options[i+1] = new Option(node.selectSingleNode("NAME").text,node.selectSingleNode("CODE").text);  
		}
		city.style.display = '';		
    }
    locate(v);
}
//根据地市动态加载其所辖的县市地名信息
function changeCity(o)
{
    var v = o.options[o.selectedIndex].value;    
    var cnty = document.getElementById("Cnty")
    cnty.length = 0;    
    if(v == "")
    {
        cnty.style.display = "none";
    }
    else
    {
        cnty.options[0] = new Option("==区县==","")
        var xml = AjaxMethod.getCnty(v).value;
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.loadXML(xml); 				
		var root = xmlDoc.childNodes.item(0);		
		var len = root.childNodes.length;
		for(var i = 0 ;i<len;i++)
		{
		    var node = root.childNodes.item(i);			    
		    cnty.options[i+1] = new Option(node.selectSingleNode("NAME").text,node.selectSingleNode("CODE").text);  
		}
		cnty.style.display = '';		
    }
    locate(v);
}
//县市级定位
function locateCnty(o)
{
    var v = o.options[o.selectedIndex].value;  
    locate(v);  
}
//通过行政区编码定位行政区所在的地理位置
var districtPolygon = null;
function locate(code)
{
	if(code == "") return;
    try
    {
    	clearQueryElement();
        var xml = AjaxMethod.getLocation(code).value;
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	    xmlDoc.async = false;
	    xmlDoc.loadXML(xml);	    
	    var root = xmlDoc.childNodes.item(0).childNodes.item(0);	    
	    var len = root.childNodes.length;
	    var minx = 0;
	    var maxx = 0;
	    var miny = 0;
	    var maxy = 0;
        minx = parseFloat(root.selectSingleNode("MINX").text);
        maxx = parseFloat(root.selectSingleNode("MAXX").text);
        miny = parseFloat(root.selectSingleNode("MINY").text);
        maxy = parseFloat(root.selectSingleNode("MAXY").text);
	    clearResult();	    
	    SWMap.zoomToExtents(minx,miny,maxx,maxy);	 
	   
	    //pTrackingPolygon.polygon.options.value = code;
	    
	    var xmltxt = AjaxMethod.getDistrictBound(code).value;
	    eval(xmltxt);
	    
	    CSWAdStr = code;
//	    strcheckStr="";	  
//	    if(rings[0].length>0)
//	    {
//	        for( i=0;i<rings[0].length;i++)
//	        {
//	            strcheckStr+= rings[0][i].x+','+rings[0][i].y+",";
//	        }
//	    }
	    districtPolygon = new MultiPolygon(rings);
	    districtPolygon.adcode = code;
	    SWMap.addOverlay(districtPolygon);
	}
	catch(e)
	{}
	
}
function removeDistrict()
{
	if(districtPolygon != null)
    {
    	SWMap.removeOverlay(districtPolygon);
    }
    districtPolygon = null;
}
function locateMapNo(code)
{
	if(!code)
	{
		var tbxcode = document.getElementById("mapno");
		if(tbxcode)
		{
			code = tbxcode.value;
		}
	}
    if(code == "") return;
    try
    {
        var v = AjaxMethod.getMapNoLocation(code).value;
        var pts = v.split(',');
        minx = parseFloat(pts[0]);
        miny = parseFloat(pts[1]);
        maxx = parseFloat(pts[2]);
        maxy = parseFloat(pts[3]);
	    definePolygon(minx,miny,maxx,maxy);
	    SWMap.zoomToExtents(minx,miny,maxx,maxy);
	}
	catch(e)
	{}
}
//##################
// tab页的切换
//##################
function changetabpage(o)
{
	o.className = "tabfocus";
	var shoping = document.getElementById("shopingtab");
	var result = document.getElementById("resulttab");
	var shopingDiv = document.getElementById("shopingpanel");
	var resultDiv = document.getElementById("resultpanel");
	if(o == shoping)	
	{
		result.className = "tab";
		shopingDiv.style.display="";
		resultDiv.style.display="none";
		removeMapElement();
		if(!shopingDiv.init)
		{
			getShopingInfo();			
		}
		addProductByCheckBox();
	}
	else
	{
		shoping.className = "tab";
		shopingDiv.style.display="none";
		resultDiv.style.display="";
		addElementByCheckBox()
	}
}
function showResultpage()
{
	var result = document.getElementById("resulttab");
	changetabpage(result);
}
//改变wms动态图层
function changewmslayer(o)
{	
    //var datatype = document.getElementById("lstdatatype");
    var datatype = document.getElementById("ddlScaleType");
  	var qkbt = document.getElementById("qkSearch");
    if(datatype.value != "")
    {
        var strs = datatype.value;
  	  	//var v = datatype.value;
  	  	//var strs = v.split("|");
		if(strs.length > 1)
		{
		   var lyr = strs;
		   //alert(lyr);
	       if(SWMap && SWMap.wmslayer)
	       {
	       	   if(lyr != SWMap.wmslayer.layers)
	       	   {
	       	   		SWMap.wmslayer.setLayers(lyr)
	       	   		if(AUTOQUERY)queryMetadata(true);
	       	   }
	       }		       
	    }
	}
	else
	{
		if(AUTOQUERY)queryMetadata(true);		
	}
	if(qkbt)
	{
		qkbt.focus();
	}
}
 
var datatypeid = -1;
var boxpoints = "";
var shapetype = "";
function haveQueryElement()
{
	if(trackingBox != null)
	{
		return true;
	}
	if(pTrackingPolygon.polygon && pTrackingPolygon.polygon.points.length > 0)
	{			
		return true;
	}
	if(pTrackingLine.polyline && pTrackingLine.polyline.points.length > 0)
	{			
		return true
	}
	if(districtPolygon != null)
	{
		return true;
	}
	return false;
}
//查询元数据
function queryMetadata(noshowalert)
{
	if(!haveQueryElement())
	{
		return;
	}	
	var datatypelst = document.getElementById("lstdatatype");	    
  	var datatype = datatypelst.value;
	if(datatype == "")
	{
		alert('请选择您要查询的产品类型！');
		datatypelst.focus();
		return;
	}	
	//var strs = datatype.split("|");
	var strs = datatype;
	if(strs.length > 1)
	{
		var points = "";
		if(trackingBox != null)
		{
			//var bounds = trackingBox.calculateBounds();
			points = trackingBox.toLineString();
			shapetype = "polygon";
		}
		else
		{
			if(pTrackingPolygon.polygon && pTrackingPolygon.polygon.points.length > 0)
			{			
				points = pTrackingPolygon.polygon.toLineString();
				shapetype = "polygon";
			}
			else if(CSWAdStr!='')
			{
				//统计行政区内图幅总数
                var scale = document.getElementById("ddlScaleType");
                var strddlScaleType = scale.options[scale.selectedIndex].text;					
			    var strout = AjaxMethod.getDistrictBoundNum(CSWAdStr,strddlScaleType).value;
			    if(strout!="")
			    {
			        alert("该行政区内共有("+strout+")幅1:"+strddlScaleType+"图");
			    }
			    
			    shapetype = "polygon";
			    points = CSWAdStr;
			}
			else if(pTrackingLine.polyline && pTrackingLine.polyline.points.length > 0)
			{			
				points = pTrackingLine.polyline.toLineString();
				shapetype = "polyline";
				if(pTrackingLine.polyline.points.length < 2)
				{//必须两点以上坐标
					alert('请先定义查询图形，至少两个点才能够定义线！');
					pTrackingLine.clear();
					return false;
				}
				else if(pTrackingLine.polyline.points.length == 2)
				{//两点坐标的时候 spatial查询有问题 因此附加到三点坐标
					points +="," +pTrackingLine.polyline.points[0].toLineString();
				}	
			}
		}
		datatypeid = strs;	
		boxpoints = points;
		go(1);
	}
}
//查询结果翻页跳转
function go(page,all)
{

    var params="";
	var scale = document.getElementById("ddlScaleType");
	var scalestr = scale.options[scale.selectedIndex].text;
	if(scalestr=="<请选择比例尺>")
	{
	    scale="";
	}
	if(scale && scale.length != 0 && scalestr != "")
	{
		params = "&scale=" + escape(scalestr)
	}
	if(CSWAdStr!=null || CSWAdStr!=null)
	{
	    params+="&ad="+CSWAdStr;
	}
	if(all=='all')
	{
	 params+="&all=all";
	}
	var panel = document.getElementById("result");
	panel.innerHTML = "<div style='padding:6px;'><font color=red>正在查询...</font></div>";
	var uncode =  escape(datatypeid);
    var url = "ResponseMap.aspx?resType="+uncode+"&"+shapetype+"="+boxpoints+"&page=" + page + params+"&date";
    //var url = "ResponseMap.aspx?topictype=&resType="+uncode+"&keyword=&westbl=&eastbl=&northbl=&southbl=&creator=";
    call(url,this,writeResult)
}


//快速查询连接，直接打开新窗口
function QuickQuery()
{
	var datatypelst = document.getElementById("lstdatatype");	    
  	var datatype = datatypelst.value;
	if(datatype == "")
	{
		alert('请选择您要查询的产品类型！');
		datatypelst.focus();
		return;
	}	
	var strs = datatype.split("|");
	if(strs.length > 1)
	{
		window.open("Result.aspx?datatype=" + strs[0]);
	}
}

//输出查询结果
function writeResult(responseText)
{
	var panel = document.getElementById("result");
	if(responseText.length!=210)	
	{
		responseText = responseText;
	}
	panel.innerHTML = responseText;
	//panel.innerHTML = 'adfafdfdaf';
	removeMapElement();
	clearFocusElement();
	//showResultpage();
}

//清除查询面版的信息
function clearResult()
{
	var panel = document.getElementById("result");
	panel.innerHTML = "";
	clearFocusElement();
	removeMapElement();
	focusRow = -1;
}
function selectall(o)
{
	var ischeck = o.checked;
	for(var i = 1;i<=999;i++)
	{
		var cbx = document.getElementById("cbx" + i);
		if(!cbx)
		{
			break;
		}
		else
		{
			cbx.checked = ischeck;
		}
	}
	removeMapElement();
	addElementByCheckBox();
}
var focusmarker = null;
var focuspolygon = null;
var focuspolyline = null;
var focusIcon = new Icon("red");
//点的定位
function locatepos(x,y,name)
{
	clearFocusElement();
	var targetpix = new Point(x,y);
	focusmarker = new Marker(targetpix,name,focusIcon)
	SWMap.addOverlay(focusmarker);
	SWMap.zoomTo(x,y);
	focusmarker.flash();
	focusmarker.setZIndex(1003);
}
//多边形定位
function locatePolygon(ptlist)
{
	clearFocusElement();
	var points = [];
	for(var i=0;i<ptlist.length;i++)
	{
		var pt = new Point();
		pt.x = ptlist[i];
		i++;
		pt.y = ptlist[i];
		points.push(pt);
	}
	focuspolygon = new Polygon(points,"red","red")
	SWMap.addOverlay(focuspolygon);
	var bounds = focuspolygon.calculateBounds();
	var centerpix = SWMap.getCenterBitmap();
	var targetpix  = bounds.getCenter();
	targetpix = SWMap.geoToPix(targetpix.x,targetpix.y);
	var offsetx = centerpix.x - targetpix.x ;
	var offsety = centerpix.y - targetpix.y;				
	SWMap.slideBy(offsetx,offsety);
	focuspolygon.flash();
	focuspolygon.setZIndex(1000);
}
function locateRectange(ptlist)
{
	clearFocusElement();
	var pts = [];
	var minx = ptlist[0];
	var miny = ptlist[1];
	var maxx = ptlist[2];
	var maxy = ptlist[3];
	pts.push(new Point(minx,miny));
	pts.push(new Point(minx,maxy));
	pts.push(new Point(maxx,maxy));
	pts.push(new Point(maxx,miny));
	pts.push(new Point(minx,miny));
	focuspolygon = new Polygon(pts,"red","red")
	SWMap.addOverlay(focuspolygon);
	var bounds = new Bounds(minx,miny,maxx,maxy);
	var centerpix = SWMap.getCenterBitmap();
	var targetpix  = bounds.getCenter();
	targetpix = SWMap.geoToPix(targetpix.x,targetpix.y);
	var offsetx = centerpix.x - targetpix.x ;
	var offsety = centerpix.y - targetpix.y;				
	SWMap.slideBy(offsetx,offsety);
	focuspolygon.flash();
	focuspolygon.setZIndex(1000);
}
//线定位
function locatePolyline(ptlist)
{
	clearFocusElement();
	var points = [];
	for(var i=0;i<ptlist.length;i++)
	{
		var pt = new Point();
		pt.x = ptlist[i];
		i++;
		pt.y = ptlist[i];
		points.push(pt);
	}
	focuspolyline = new Polyline(points,"red")
	SWMap.addOverlay(focuspolyline);
	var bounds = focuspolyline.calculateBounds();
	var centerpix = SWMap.getCenterBitmap();
	var targetpix  = bounds.getCenter();
	targetpix = SWMap.geoToPix(targetpix.x,targetpix.y);
	var offsetx = centerpix.x - targetpix.x ;
	var offsety = centerpix.y - targetpix.y;				
	SWMap.slideBy(offsetx,offsety);	
	focuspolyline.flash();
	focuspolyline.setZIndex(1001);
}
//清理地图中的辅助定位元素 点、线、面
function clearFocusElement()
{	
	if(focusmarker != null)
	{
		SWMap.removeOverlay(focusmarker);
	}
	if(focuspolygon != null)
	{
		SWMap.removeOverlay(focuspolygon);
	}
	if(focuspolyline != null)
	{
		SWMap.removeOverlay(focuspolyline);
	}
}

//元数据的图形定位
//点：Point|112.443,34,344
//矩形 Rectange|minx,miny,maxx,maxy
//线：Polyline|112.443,34,344,115.466,35.335,130.785,39.000
//面：Polygon|112.443,34,344,115.466,35.335,130.785,39.000,112.443,34,344
var focusRow = -1;
function locateShape(idx)
{
	var tr = document.getElementById("tridx" + focusRow);
	if(tr)
	{
		tr.className = "normalRow";
	}
	var cbx = document.getElementById("cbx" + idx);
	if(cbx)
	{
		var coord = cbx.coords;
		var name = cbx.title;
		if( coord && coord.indexOf('|') != -1)
		{
			
			var str 	= coord.split('|');
			var type	= str[0];
			var ptlist 	= str[1];
			var pts 	= ptlist.split(',');
			if(type == "Point")
			{
				locatepos(pts[0],pts[1],name)
			}
			else if(type == "Rectange")
			{
				locateRectange(pts);
			}
			else if(type == "Polyline")
			{
				locatePolyline(pts);
			}
			else if(type == "Polygon")
			{
				locatePolygon(pts);
			}
		}
		if(focusRow == idx)
		{
			clearFocusElement();	
			focusRow = -1;	
		}
		else
		{
			focusRow = idx;
			tr = document.getElementById("tridx" + focusRow);
			if(tr)
			{
				tr.className = "focusRow";
			}
		}
	}	
}

//元数据图形的预览
function previewInMap(o)
{
	if(o.viewinmap)o.viewinmap = eval(o.viewinmap);
	if(!o.viewinmap)
	{
		var obj = addMapElement(o.coords,o.title);
		o.overlay = obj;
		o.viewinmap = true;
	}
	else
	{
		var overlay = o.overlay;
		if(overlay)
		{
			removeMapElement(overlay);
		}
		o.viewinmap = false;
	}	
}
//地图元素
var mapElement = new Array();
function addMapElement(coord,name)
{	
	
	if( coord && coord.indexOf('|') != -1)
	{
		var str 	= coord.split('|');
		var type	= str[0];
		var ptlist 	= str[1];
		var pts 	= ptlist.split(',');
		if(type == "Point")
		{
			return addPointElement(pts[0],pts[1],name)
		}
		else if(type == "Rectange")
		{
			return addRectangeElement(pts);
		}
		else if(type == "Polyline")
		{
			return addPolylineElement(pts);
		}
		else if(type == "Polygon")
		{
			return addPolygonElement(pts);
		}
	}
	return null;
}
//增加点元素
function addPointElement(x,y,name)
{
	var pt = new Point(x,y);
	var marker = new Marker(pt,name)
	SWMap.addOverlay(marker);
	marker.setZIndex(1000);
	mapElement.push(marker);
	return marker;
}
//增加多边形元素
function addPolygonElement(ptlist)
{
	var points = [];
	for(var i=0;i<ptlist.length;i++)
	{
		var pt = new Point();
		pt.x = ptlist[i];
		i++;
		pt.y = ptlist[i];
		points.push(pt);
	}
	var polygon = new Polygon(points,"green","green")
	SWMap.addOverlay(polygon);
	mapElement.push(polygon);
	return polygon;
}
//增加矩形元素
function addRectangeElement(ptlist)
{
	var rect = createPolygon(ptlist[0],ptlist[1],ptlist[2],ptlist[3],"green","green");
	SWMap.addOverlay(rect);	
	mapElement.push(rect);
	return rect;
}

//增加线元素
function addPolylineElement(ptlist)
{
	var points = [];
	for(var i=0;i<ptlist.length;i++)
	{
		var pt = new Point();
		pt.x = ptlist[i];
		i++;
		pt.y = ptlist[i];
		points.push(pt);
	}
	var line = new Polyline(points,"green")
	SWMap.addOverlay(line);	
	mapElement.push(line);
	return line;
}
//删除地图元素
function removeMapElement(target)
{
	if(target)
	{
		for(var i = 0;i<mapElement.length;i++)
		{
			var source = mapElement[i];
			if(source == target)
			{
				SWMap.removeOverlay(source);
				mapElement.splice(i,1);
			}
		}
	}
	else
	{
		for(var i = 0;i<mapElement.length;i++)
		{
			SWMap.removeOverlay(mapElement[i]);
		}
		mapElement = new Array();
	}
}

function doopen()
{
    open("../UserSelectedList.aspx");
}
//意向单
function doShoping()
{   
    var checkproduct = "";
	for(var i = 1;i<=999;i++)
	{
		var cbx = document.getElementById("cbx" + i);
		if(!cbx)
		{
			break;
		}
		else
		{
			if(cbx.checked)
			{
				checkproduct += cbx.value + "|" + cbx.title +"|" + cbx.coords + "$";
			}
		}
		
	}
	if(checkproduct == "")
	{
		alert('请先选择产品！');
		return;
	}
	else
	{
		b = AjaxShoping.AddProduct(checkproduct);	
		if(b.value ==false)
		{
		    alert("请先登陆！")
		}
		else
		{
		    var shopingDiv = document.getElementById("shopingpanel");		
		    shopingDiv.init = false;		
		    alert("已经成功加入你的意向单！")
		}
	}
   
}
function clearShopingBag()
{
	if(confirm('确认要清空意向单中的内容？'))
	{
		AjaxShoping.ClearShopingInfo();
		getShopingInfo();
		alert('意向单已经清空！');
	}
}
function clearShopingBag()
{
	if(confirm('确认要清空意向单中的内容？'))
	{
		AjaxShoping.ClearShopingInfo();
		getShopingInfo();
		alert('意向单已经清空！');
	}
}

function addElementByCheckBox()
{
	removeMapElement();
    for(var i = 1;i<=999;i++)
    {
	    var cbx = document.getElementById("cbx" + i);
	    if(!cbx)
	    {
		    break;
	    }
	    else
	    {
		    if(cbx.checked)
		    {
			    var obj = addMapElement(cbx.coords,cbx.title);
			    cbx.overlay = obj;
			    cbx.viewinmap = true;
		    }
		    else
		    {
		    	cbx.overlay = null;
		    	cbx.viewinmap = false;
		    }
	    }
    }
}

function addProductByCheckBox()
{
    for(var i = 1;i<=30;i++)
    {
	    var cbx = document.getElementById("pro" + i);
	    if(!cbx)
	    {
	    	continue;
		    //break;
	    }
	    else
	    {
		    if(cbx.checked)
		    {
			    var obj = addMapElement(cbx.coords,cbx.title);
			    cbx.overlay = obj;
			    cbx.viewinmap = true;
		    }
		    else
		    {
		    	cbx.overlay = null;
		    	cbx.viewinmap = false;
		    }
	    }
    }
}
function getShopingInfo()
{
	removeMapElement();
	var shopingpanel = document.getElementById("shopingpanel");
	var content = AjaxShoping.GetShopingInfo().value;
	eval(content);	
	if(categorytree == "")
	{
		shopingpanel.innerHTML = "<div style=\"padding:6px\">您还没有选择产品!</div>";
		shopingpanel.init = false;	
	}
	else
	{
		shopingpanel.innerHTML = categorytree + "<div style='width:250px;padding-left:6px'><img onclick='clearShopingBag();' alt='清空意向单内信息' style='cursor:pointer' src='../images/btClear.jpg'> <img  onclick='printShopingInfo();' alt='打印意向单' alt='清空意向单内信息' style='cursor:pointer' src='../images/btPrint.jpg'>";
		shopingpanel.init = true;
	}	
}
function Order()
{
	window.open("../User/Shoping.aspx")
}
function printShopingInfo()
{
	window.open("../User/PrintProduct.aspx")
}
function getWindowSize() 
{ 
	var e = new Object(); 
	if(window.self && self.innerWidth) 
	{ 
		e.width = self.innerWidth; 
		e.height = self.innerHeight; 
	} 
	else if(document.documentElement && document.documentElement.clientHeight) 
	{ 
		e.width = document.documentElement.clientWidth; 
		e.height = document.documentElement.clientHeight; 
	}else 
	{ 
		e.width = document.body.clientWidth; 
		e.height = document.body.clientHeight; 
	} 
	return e 
} 
function resizeMap()
{
	var NS = getWindowSize(); 
	resultDiv.style.height = (NS.height  - 18) +'px';

	mapTableDIV.style.width = "10px";
	mapCellDIV.style.width  = "10px";
	mapCellDIV.style.width  = "10px";

	mapTableDIV.style.width = "100%";
	mapCellDIV.style.width  = "100%";
	resultDiv.style.width   = '178px';
	resultDiv.style.left    =  (NS.width  - 180) +'px';;
	MapDiv.style.height     = NS.height - 30
	SWMap.resize();
}

function getWindowSize() 
{ 
	var e = new Object(); 
	if(window.self && self.innerWidth) 
	{ 
		e.width = self.innerWidth; 
		e.height = self.innerHeight; 
	} 
	else if(document.documentElement && document.documentElement.clientHeight) 
	{ 
		e.width = document.documentElement.clientWidth; 
		e.height = document.documentElement.clientHeight; 
	}else 
	{ 
		e.width = document.body.clientWidth; 
		e.height = document.body.clientHeight; 
	} 
	return e 
} 

function calMapView()
{
	var NS = getWindowSize(); 
	var mapview = document.getElementById("viewport")
	var height = NS.height - TOPHEIGHT;
	var width = NS.width-8;
	if(width < 1010) width=1010;
	if(height < 400)height=400;
	var mapwidth = width - RESULTWIDTH;
	mapview.style.width   = mapwidth +'px';	
	mapview.style.height  = height + "px";
	var resulttable = document.getElementById("resulttable");
	resulttable.style.width = RESULTWIDTH + "px";	
	var shopingDiv = document.getElementById("shopingpanel");
	var resultDiv = document.getElementById("resultpanel");
	shopingDiv.style.width = RESULTWIDTH + "px";
	resultDiv.style.width = RESULTWIDTH + "px";
	shopingDiv.style.height = (height+24) + "px";
	resultDiv.style.height = (height+24) + "px";
}
function resizeMap()
{
	calMapView();
	SWMap.resize();
}
var currenttool = null;
function setcurrent(o)
{
	/*
	if(currenttool == null)
	{
		currenttool = document.getElementById("defaulttool");		
	}
	currenttool.style.border="0px";
	if(o)
	{
		currenttool = o;
	}
	else
	{
		currenttool = document.getElementById("defaulttool");
	}	
	currenttool.style.border="1px solid red";
	*/
}

function dofocusmapno(o)
{
	
	var _ENTER = 13;
	if (event.keyCode == _ENTER)
	{
		locateMapNo();
		return false;
	}
	
}
function popupPage(url,l, t, w, h) 
{ 
　　var windowprops = "location=no,scrollbars=no,menubars=no,toolbars=no,resizable=yes" + ",left=" + l + ",top=" + t + ",width=" + w + ",height=" + h; 
    popup = window.open(url,"input",windowprops); 
	//window.open(url);
} 
function inputLineCoords()
{	
	var NS = getWindowSize();
	var width= 280;
	var height=184;
	var l = (NS.width - width - RESULTWIDTH)/2;
	var t = (NS.height - height + TOPHEIGHT)/2;
	popupPage("LineCoords.htm",l,t,width,height);
}
function previewTrackingLine(coords)
{	
	if(coords.indexOf(',') != -1)
	{
		var ptlist = coords.split(',');
		var points = [];
		for(var i=0;i<ptlist.length;i++)
		{
			var pt = new Point();
			pt.x = ptlist[i];
			i++;
			pt.y = ptlist[i];
			points.push(pt);
		}
		var line = new Polyline(points);
		SWMap.removeOverlay(pTrackingLine.polyline);
		pTrackingLine.polyline.points =points;
		pTrackingLine.points = points;
		pTrackingLine.reDraw();
	}
}

function inputPolyCoords()
{
	var NS = getWindowSize();
	var width= 280;
	var height=184;
	var l = (NS.width - width - RESULTWIDTH)/2;
	var t = (NS.height - height + TOPHEIGHT)/2;
	popupPage("PolyCoords.htm",l,t,width,height);
}
function previewTrackingPolygon(coords)
{	
	if(coords.indexOf(',') != -1)
	{
		var ptlist = coords.split(',');
		var points = [];
		for(var i=0;i<ptlist.length;i++)
		{
			var pt = new Point();
			pt.x = ptlist[i];
			i++;
			pt.y = ptlist[i];
			points.push(pt);
		}
		var line = new Polygon(points);
		SWMap.removeOverlay(pTrackingPolygon.polygon);
		pTrackingPolygon.polygon.points =points;
		pTrackingPolygon.points = points;
		pTrackingPolygon.reDraw();
	}
}

function changeDataType(o)
{	//
	getScaleType(o);
}
function getScaleType(o)
{

	var v = o.options[o.selectedIndex].value;
	var tr = document.getElementById("trScale");
	var scale = document.getElementById("ddlScaleType");
	scale.length = 0;
	if(v && v != "")
	{
		scale.options[0] = new Option("<请选择比例尺>",""); 
		scale.selectedIndex = 0;
		var rvalue = "" + AjaxMethod.getScaleType(v).value;
		if(rvalue!="")
		{
			var ss = rvalue.split(',');
			for(var i = 0;i<ss.length;i++)
			{
				// scale.options[i+1] = new Option(ss[i],ss[i]);  
				var strv= AjaxMethod.getScaleTypeValue(ss[i]).value;
				 scale.options[i+1] = new Option(ss[i],strv);  
			}
			tr.style.display = "";
			return;
		}
	}
	tr.style.display = "none";
}
