OpenLayers.Format.Text=OpenLayers.Class(OpenLayers.Format,{displayMode:null,initialize:function(options){OpenLayers.Format.prototype.initialize.apply(this,[options]);},read:function(text){if(text==''){this.resultData=false;}else{this.resultData=true;}
var lines=text.split('\n');var columns;var features=[];for(var lcv=0;lcv<(lines.length-1);lcv++){var currLine=lines[lcv].replace(/^\s*/,'').replace(/\s*$/,'');if(currLine.charAt(0)!='#'){if(!columns){columns=currLine.split('\t');}else{var vals=currLine.split('\t');var geometry=new OpenLayers.Geometry.Point(0,0);var fid=null;var attributes={};var style={};var icon,iconSize,iconOffset,overflow;var set=false;for(var valIndex=0;valIndex<vals.length;valIndex++){if(vals[valIndex]){if(columns[valIndex]=='point'){var coords=vals[valIndex].split(',');var LonLat=OpenLayers.Layer.SphericalMercator.forwardMercator(parseFloat(coords[0]),parseFloat(coords[1]));geometry.y=LonLat.lat;geometry.x=LonLat.lon;set=true;}else if(columns[valIndex]=='lat'){geometry.y=parseFloat(vals[valIndex]);set=true;}else if(columns[valIndex]=='lon'){geometry.x=parseFloat(vals[valIndex]);set=true;}else if(columns[valIndex]=='title'){attributes['name']=vals[valIndex];}else if(columns[valIndex]=='image'||columns[valIndex]=='icon'){style['externalGraphic']=vals[valIndex];style['cursor']='pointer';}else if(columns[valIndex]=='iconSize'){var size=vals[valIndex].split(',');style['graphicWidth']=parseFloat(size[0]);style['graphicHeight']=parseFloat(size[1]);}else if(columns[valIndex]=='iconOffset'){var offset=vals[valIndex].split(',');style['graphicXOffset']=parseFloat(offset[0]);style['graphicYOffset']=parseFloat(offset[1]);}else if(columns[valIndex]=='description'){attributes['description']=vals[valIndex];}else if(columns[valIndex]=='fid'){fid=vals[valIndex];}else if(columns[valIndex]=='overflow'){attributes['overflow']=vals[valIndex];}}}
if(this.displayMode!=null){style['display']=this.displayMode;}
if(set){if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}
var feature=new OpenLayers.Feature.Vector(geometry,attributes,style);feature.fid=fid;features.push(feature);}}}}
return features;},CLASS_NAME:"OpenLayers.Format.Text"});