function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert( 'Textarea value can only be 255 characters in length.' );
    return false;
  }
  else
  {
    countfield.value = maxlimit - field.value.length;
  }
}
///////////////////////
function MarkerSpeichern(count, breit, lang, Mtype, html)
{ //var point = "("+breit+", "+lang+")"; //alert(point);
if (html == "") {alert("Die Beschreibung fehlt !!"); return false}
var warntext="Prüfen Sie nochmals die Übernahme \nder aktuellen Kartenansicht für Ihre Startkarte! \nVerschieben oder zoomen Sie ggf. die Karte und \ndrücken Sie \"dynamische Daten für Kartenzentrierung übernehmen\"!";
if (document.getElementById("startzoom").innerHTML!=document.getElementById("zoom").value) warntext = "Haben Sie Ihre Startkarte wirklich \nIhrem Wunsch entsprechend aus den \n\"dynamischen Daten für die Kartenzentrierung\" übernommen?";
Check = confirm("Wollen Sie einen Marker Nr. "+count+" mit folgenden Daten setzen?\ngeogr. Breite, Länge: "+breit+", "+lang+"\nMarkertyp: "+Mtype+"\nInfo-Text: "+html+"\n"+warntext);
if (Check == false)  return false;
var mapbreit=document.getElementById("mapbreit").value; var einheitB=document.getElementById("einheitB").value;
var maphoch=document.getElementById("maphoch").value; var einheitH=document.getElementById("einheitH").value;
var typwahl=document.getElementById("typwahl").value; var navi=document.getElementById("navi").value;
var maptyp=document.getElementById("maptyp").value;
var spoint=document.getElementById("startcoord").innerHTML; var szoom=document.getElementById("startzoom").innerHTML;
/////// Infotext und Markerpoint im hiddenFeld speichern
var PointHtml=document.getElementById("infotext").value;
//// nur wenn Marker gesetzt werden
if (Mtype!=0) {
document.getElementById("infotext").value=PointHtml+'var point = new GLatLng('+breit+','+lang+');\n var marker = createMarker(point,\'<div style=\"width:240px\">'+html+'</div>\','+ Mtype+');\n map.addOverlay(marker);\n';
//alert ("Info:\n"+document.getElementById("infotext").value);
			} 
else {document.getElementById("infotext").value=PointHtml+'map.openInfoWindow(new GLatLng('+breit+','+lang+'), "'+html+'");//InfoWindow\n';}
////////////nachsehen ob das Icon schon im hiddenFeld liegt
var speicherIcon=document.getElementById("icons").value; 
//alert("Speicher:"+speicherIcon+"\nAKTUELL: "+Mtype);
var Iconvorhanden = speicherIcon.search(Mtype);
//ist ein IconTyp schon gespeichert? und Mtype bei 0-nicht speichern!!!
if ((Iconvorhanden == -1)&&(Mtype!=0)) document.getElementById("icons").value=speicherIcon+'var '+Mtype+' = new GIcon(baseIcon, "http://chursdorf.info/Webservice/Gmaps/images/mm_20_'+Mtype+'.png", null, "http://chursdorf.info/Webservice/Gmaps/images/mm_20_shadow.png");\n';//aktuelle Mtype mit Umbruch anhängen
////////// Quelltext schreiben //////////////
var htmlstring='<div id="Googlemap" style="width:'+mapbreit+einheitB+'; height:'+maphoch+einheitH+'; border:1px solid blue\"></div>\n\n'+
' <script type="text/javascript"> \n //<![CDATA[ \n'
+ ' if (GBrowserIsCompatible()) { \n';
//// nur wenn Marker gesetzt werden
if (Mtype!=0) {
htmlstring=htmlstring+ '\n///// Basis-Icon definieren /////\n var baseIcon = new GIcon(); \n baseIcon.iconSize=new GSize(12,20); \n baseIcon.shadowSize=new GSize(22,20); \n' 
+ ' baseIcon.iconAnchor=new GPoint(6,20); \n baseIcon.infoWindowAnchor=new GPoint(5,1);\n\n'
+ ' //// benutzte Icons festlegen //// \n';
speicherIcon=document.getElementById("icons").value; htmlstring=htmlstring+speicherIcon+"\n";//Icons an htmlstring anhängen
			}
htmlstring=htmlstring+ 'var map = new GMap2(document.getElementById("Googlemap")); \n';
if (navi != 0) htmlstring=htmlstring+' map.addControl(new '+navi+'());//Navigation \n';
if (typwahl == 1) htmlstring=htmlstring+' map.addControl(new GMapTypeControl());//Typ Buttons \n';
htmlstring=htmlstring+' map.setCenter(new GLatLng('+spoint+'), '+szoom+');//Breite, Länge, Zoom \n'
+ ' map.setMapType(map.getMapTypes()['+maptyp+']);//Typ der Anzeige - 1,2 oder 3 \n\n'
//// nur wenn Marker gesetzt werden
if (Mtype!=0) {
htmlstring=htmlstring+ ' function createMarker(point,html,icon) { \n var marker = new GMarker(point,icon); \n GEvent.addListener(marker, "click", function() { \n'
+ ' marker.openInfoWindowHtml(html); \n   });  return marker; } \n\n'
+ '// Marker setzen mit Info-Fenster \n';
			}
PointHtml=document.getElementById("infotext").value; htmlstring=htmlstring+PointHtml ;//Infotexte mit Points an htmlstring anhängen	
/////// nur bei INFO-WINDOW !!!
//if (Mtype==0) htmlstring=htmlstring+ 'map.openInfoWindow(new GLatLng('+breit+','+lang+'), "'+html+'");//InfoWindow\n'

///////
htmlstring=htmlstring+ '      	}  \n  //]]> \n </script>' ;
document.getElementById("htmlcode").value=htmlstring;// in Textarea schreiben
//////// Ende Quelltext schreiben /////////////
/////neue Karte schreiben//////
var koord = spoint.split(","); slat=koord[0]; slng=koord[1];//alert(slat+"\n"+slng);
map.setCenter(new GLatLng(slat,slng),szoom); //Marker und Zoomfaktor setzen
map.setMapType(map.getMapTypes()[3]);//Kartenansicht
}
function createMarker(point, html, icon)
	{
	var marker = new GMarker(point, icon);
	var html = '<div align="left" style="white-space:nowrap;"><font color="#000000">' + html + '</font></div>';
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
	return marker;
	};
//////////////////////
function daten(elcoord,elzoom) {
//alert("El-ID 1: "+ elcoord);
document.getElementById(elcoord).innerHTML=document.getElementById("coord").value;
document.getElementById(elzoom).innerHTML=document.getElementById("zoom").value;
	}
function start(slat,slng,szoom) {
   map.setCenter(new GLatLng(slat,slng),szoom);
	}
function showAddress(address) {
  if (geocoder) {geocoder.getLatLng(
  address, function(point) {
  if (!point) {alert(address + " leider nicht gefunden!");} 
  else {
  map.setCenter(point, 13);//Marker und Zoomfaktor setzen
  var marker = new GMarker(point);//ohne ",icon" mit default-Icon
  map.addOverlay(marker);
  marker.openInfoWindowHtml(address+"<br><span style='font size:12px'>Dieser Centerpunkt wurde vorerst<br>für Ihre Startkarte übernommen !!</span><br><span style='color:red'>Info schliessen mit Klick in die Karte</span>");
  daten('startcoord','startzoom'); return false;//bei gefunden, wird dieser Centerpunkt übernommen!
           }
         } );
    	 }
   	}
    
