function feedbackFun(){
	this.id="feedbackPanel";
};
feedbackFun.prototype.show=function(){
	this.showMapInfo();
	//if($(this.id)){Element.show(this.id);return;}else{this.showMapInfo();}
};
feedbackFun.prototype.hide=function(){
	if($(this.id))Element.hide($(this.id));
};
feedbackFun.prototype.destory=function(){
	if ($(this.id)) {$(this.id).parentNode.removeChild($(this.id));}
};
feedbackFun.prototype.createFeedbackPanel=function(){
	if ($(this.id)) {$(this.id).parentNode.removeChild($(this.id));}
	var div=document.createElement("div");
	$("mapbar").appendChild(div);
	div.id=this.id;
	div.setAttribute("unselectable","on");
	return div;
};
//
feedbackFun.prototype.getInputString=function(){
	maplet.ovw.close(); 
	rsArrInp=[];
	rsArrInp.push("<form action='' method='get' onsubmit='return false;' style='padding:10px 10px 0 10px;margin:0'><div>问题描述：");
	rsArrInp.push("<textarea id='fixMap_content' style='width:240px;height:110px;margin:5px 0;' ></textarea>");
	var email=Cookie.getCookie("useremail")||"";
	rsArrInp.push("<br/>联系方式:<input  type='text' name='email' id='fixMap_email' style='width:174px;' value='"+email+"'/>");
	rsArrInp.push("<p class='PButton'><input type='button' id='fixmapsendbt' value='发送' disabled=true onclick=\"if($('fixMap_content').value==''){alert('内容不能为空');return false;}if($('fixMap_email').value==''){alert('请输入您的联系方式');return false;}fixMapSave.save();\"/><input type='reset' onclick='feedbackPanel.destory();' value='关闭'/></p>");
	rsArrInp.push("</div></form>");
	return rsArrInp.join("");
}
feedbackFun.prototype.showMapInfo=function(){
	var dom=this.createFeedbackPanel();
	rsArr=[];
	rsArr.push("<p class='PIcon'>纠错工具：");
	rsArr.push("<img src='/images/feedback/ico_tagging.gif' alt='标点' /><a href='javascript:void(0);' onmouseup='setTimeout(function(){setFixMapMode(0,\"bookmark\");},100);'>标点</a>");
	rsArr.push("<img src='/images/feedback/ico_line.gif' alt='画线' /><a href='javascript:void(0);' onmouseup='setTimeout(function(){setFixMapMode(0,\"drawline\");},100);'>画线</a>");
	rsArr.push("<img src='/images/feedback/ico_plane.gif' alt='画面' /><a href='javascript:void(0);' onmouseup='setTimeout(function(){setFixMapMode(0,\"drawarea\");},100);'>画面</a></p>");
	rsArr.push(this.getInputString());
	dom.innerHTML=rsArr.join("");
	rsArr=null;
};
//显示发送成功
feedbackFun.prototype.showSuccessMsg=function(){
	var dom=this.createFeedbackPanel();
	rsArr=[];
	rsArr.push("<p class='succeed font14'>发送成功！<br/>感谢您的反馈！<br/>我们将尽快核实。</p><p style='margin:5px;'><img src='images/ico_close.gif'/><a href='javascript:void(0);'onclick='feedbackPanel.hide();return false;'>关闭</a></p>");
	dom.innerHTML=rsArr.join("");
	rsArr=null;
}
feedbackFun.prototype.showMarkerDragInfo=function(){
	var dom=this.createFeedbackPanel();
	rsArr=[];
	rsArr.push("<p class='succeed font14'>拖动点，<br/>移动到正确的位置！</p><p style='margin:5px;'><img src='images/ico_close.gif'/><a href='javascript:void(0);'onclick='feedbackPanel.hide();return false;'>关闭</a></p>");
	dom.innerHTML=rsArr.join("");
	rsArr=null;
}
feedbackFun.prototype.showLineInfo=function(info){
	info=decodeURI(info);
	var dom=this.createFeedbackPanel();
	rsArr=[];
	rsArr.push("<p class='PIcon' style='height:50px;overflow:auto;'>"+info+"</p>");
	rsArr.push(this.getInputString());
	rsArr.push("<p style='color:red;margin:10px 0px;padding:10px 10px 0px;border-top:1px solid #7F9DB9'><strong>提示：</strong>地图上的线路可以拖动到合适的位置修改后请点击发送。</p>");
	dom.innerHTML=rsArr.join("");
	rsArr=null;
}

function feedbackcheckemail(input){
	var num = input.toUpperCase();
	    if(!(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(num)))
	    {
	        return false;
	    }else{
			return true;
		}

}
var feedbackPanel=new feedbackFun();	
feedbackPanel.destory=function(){
	if ($(this.id)) {$(this.id).parentNode.removeChild($(this.id));}
	delPoiByType(2);
	delLineByType(2);
	fixMapSave.init();

};	
function mymapsave(){
	this.init=function(){
		this.map={title:"feedback",content:""};
		//设置marker为不可编辑状态
		for(var i=0;this.markerIdList&&i<this.markerIdList.length;i++){
			var obj=getObjByObjId(this.markerIdList[i]);
			if(obj&&obj.marker)obj.marker.setEditable(false);
		}
		this.markerIdList=new Array();
	};
	this.init();
	this.suggestSave=function(){
		if($("fixmapsendbt"))$("fixmapsendbt").disabled=false;
	};
	
	this.saveCallBack=function(){
	
	};
	this.getLocation=function(){
		var nowurl = window.location;
		Request=request.init();
		if(Request.ac=="mm")nowurl="/localsearch/"+rsUrl;//feedback not for mm
		return nowurl;
	};
	this.addMarker=function(objId){
		for(var i=0;i<this.markerIdList.length;i++){
            if(this.markerIdList[i]==objId){return;}
        }
		this.markerIdList.push(objId);
		this.suggestSave();
	};
	this.getPostString=function(){
		var markerInfo="";
		for(var i=0;i<this.markerIdList.length;i++){
            var type=1;//poi 1 line 2 area 3
            var operate=1;  //insert 1 update 2 del 3
            var title='',content='',pid=0,strlatlon='',mmId='',icon='';
            var z=getPoiIndexByObjId(this.markerIdList[i]);
            if(z!=-1){ //点
                title=PoiArr[z].name;
                content=PoiArr[z].tmpMarkerContent;
                mmId=PoiArr[z].objId;
                //pid=PoiArr[z].id;
                strlatlon=PoiArr[z].strlatlon;
                icon=PoiArr[z].icon;
                if(pid==0){operate=1;}
                else{operate=PoiArr[z].state;}
            }else{   //线 or 面
                z=getLineIndexByObjId(this.markerIdList[i]);
                if(z==-1){continue;}
                if(LineArr[z].lineType==0){type=2;}
                else if(LineArr[z].lineType==1){type=3;}
                title=LineArr[z].name;
                content=LineArr[z].tmpMarkerContent;
                mmId=LineArr[z].objId;
                //pid=LineArr[z].id;
                strlatlon=LineArr[z].strlatlon;
                if(pid==0){operate=1;}
                else{operate=LineArr[z].state;}
            }
			//content 中添加地址信息 及 其他辅助信息
			content+=("<a target=_blank href="+this.getLocation()+">reffer link</a>");
			var item="<item><operate>"+operate+"</operate><type>"+type+"</type>";
            if(title.length>0)item+="<title>"+addCdataTag(title)+"</title>";
            item+="<content>"+addCdataTag(content)+"</content><pid>"+addCdataTag(pid)+"</pid><strlatlon>"+addCdataTag(strlatlon)+"</strlatlon><icon>"+addCdataTag(icon)+"</icon><markerId>"+addCdataTag(mmId)+"</markerId>";
            if(type!=1){
                item+="<color>"+addCdataTag(LineArr[z].color.replace("#","@-j-@"))+"</color><stroke>"+addCdataTag(LineArr[z].stroke)+"</stroke><transparency>"+addCdataTag(LineArr[z].transparency)+"</transparency><arrow>"+addCdataTag(LineArr[z].arrow)+"</arrow>";

            }
            if(type==3){
                item+="<bgColor>"+addCdataTag(LineArr[z].bgcolor)+"</bgColor><bgTransparency>"+addCdataTag(LineArr[z].bgtransparency)+"</bgTransparency>";
            }
            item+="<mapId></mapId></item>";
			
			markerInfo+=item;
		}	
		var mapInfo="<mapInfo><operate>1</operate><title>"
			+addCdataTag(this.map.title)
			+"</title><ispublic>1</ispublic><content>"
			+addCdataTag(this.map.content)
			+"</content><tags>纠错</tags><mapid></mapid></mapInfo>";
		var data="<data><share><userId>400480"
			+"</userId><userIdc>%24t3-%7C%3As%3B-2%3A%3D%3Dtf%5E_gOO%0D%0A"
			+"</userIdc><userName>"
			+addCdataTag(Cookie.getCookie("userName"))
			+"</userName><ip>@-ip-@</ip></share>"
			+mapInfo
			+"<marker>"
			+markerInfo
			+"</marker></data>";
		return data.replace(new RegExp("'","gm"),"\"");
			
	};
	this.save=function(){
		
		var data="encode=utf-8&postData="+encodeURIComponent(this.getPostString());
		var self=this;
        new Ajax.Request(autoSaveUrlProxy+"?type=feedback",{method:'post',parameters:data,onComplete:self.saveCallBack});
		this.init();
	};
}

var fixMapSave=new mymapsave();
//保存后的callback函数重载
fixMapSave.saveCallBack=function(req){
	if(req)eval(req.responseText);
	delPoiByType(2);
	delLineByType(2);
	
	feedbackPanel.showSuccessMsg();

	//
	for(var i=0;poiInfo&&poiInfo.item&&i<poiInfo.item.length;i++){
		getPoiByObjId(poiInfo.item[i].markerid).marker.setEditable(false);;
	}
	//feedbackPanel.hide();
};
fixMapSave.getInputMapInfo=function(){
	var Request=request.init();
	fixMapSave.map.title="fixMap_"+Request.ac;
	if($("fixMap_content")&&$("fixMap_content").value!="")fixMapSave.suggestSave();
	if($("fixMap_content")){fixMapSave.map.content="\r\n用户输入："+$("fixMap_content").value
		+"\r\n邮箱："
		+($("fixMap_email").value||($("fixMap_email2")?$("fixMap_email2").value:""))
		+"\r\n用户访问地址："+fixMapSave.getLocation();
	}else{
		fixMapSave.map.content=$("feedback_poi_content")?"\r\n用户输入："+$("feedback_poi_content").value:"";
		if($("fixMap_email2"))fixMapSave.map.content+=("\r\n邮箱："+$("fixMap_email2").value);
	}

};
setInterval(fixMapSave.getInputMapInfo, 100);

fixMapSave.setPoiInfo=function(mmid){
	var obj=getPoiByObjId(mmid);
	obj.name=$("feedback_poi_name").value;
	obj.description=$("feedback_poi_content").value;
	if(obj.description==""){alert("请输入关键词");return false;}
	else return true;
}
fixMapSave.savePoi=function(mmid){
	if(this.setPoiInfo(mmid)){
		this.addMarker(mmid);
		this.save();
		maplet.hideBubble();
		setViewContentC(mmid);
	}
}
//设置为可拖动模式
fixMapSave.drag=function(mmid){
	var obj=getPoiByObjId(mmid);
	obj.marker.setEditable(true);
	feedbackPanel.showMarkerDragInfo();
	maplet.hideBubble();
}
fixMapSave.addFirstLineMarker=function(){
	var trunline=getLineById("drive_Turn_line");
	if(trunline){
		delLine(trunline);
		hideBubble();
	}
	var  fixObj=getObjBySeq(0,2);
	if(fixObj)fixObj.marker.setEditable(true);
	if(fixObj)fixMapSave.addMarker(fixObj.objId);
}
function setViewContentC(mmid){
    var obj=getPoiByObjId(mmid);
    if(!obj){obj=getLineByObjId(mmid);}
    if(!obj)return null;
    var poiMarker=obj.marker;
	if(!poiMarker)return null;
    poiMarker.info.title=obj.title;
    poiMarker.info.content = obj.content;
    poiMarker.paint();
    return poiMarker;
}

function editCallback(obj){
	var i=getPoiIndexByObjId(obj.id);
    if(i!=-1){
         if(PoiArr[i].strlatlon==obj.pt.pid)return;
		 setTimeout(function(){feebackPoi(PoiArr[i].objId);},500);
	}
}
