function init_ajax()
	{
	if (window.XMLHttpRequest)
		{return new XMLHttpRequest();}
	else if (window.ActiveXObject)
		{ 
		try
			{return new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e)
			{
			try
				{return new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e) {}
			}
		}
	}


function handleAJAX(typ)
	{
	if ((req.readyState == 4) && (req.status == 200))
		{
		if(req.responseText!="")
			{document.getElementById(typ).innerHTML = req.responseText;}
		if(document.getElementById(typ).style.display=="none")
			{document.getElementById(typ).style.display="block";}
		//document.getElementById('ajaxloader').style.visibility="hidden";
		}
	}
function cleanForm(typ)
	{
	clearmap();
	if(document.getElementById('undsonst'))
		{document.getElementById('undsonst').innerHTML = "";}
	if(document.getElementById('searchphrase'))
		{document.getElementById('searchphrase').value="";}
	if(document.getElementById(typ))
		{
		cleaner=document.getElementById(typ).length-1;
		for(var i=0; i<cleaner; i++)
			{document.getElementById(typ).options[1] = null;}
		}
	}
function getLocation(type)
	{
	s="";
	close_loc();
	if(type=="land")
		{
		id = document.getElementById('kontinent').value;
		cleanForm("land");
		cleanForm("region");
		cleanForm("stadt");
		}
	if(type=="region")
		{
		id = document.getElementById('land').value;
		cleanForm("region");
		cleanForm("stadt");
		}
	if(type=="stadt")
		{
		id = document.getElementById('region').value;
		s = document.getElementById('stadtsize').value;
		cleanForm("stadt");
		}
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX("'+type+'box")');
	req.onreadystatechange = my_handleAJAX;
	if(id!="...")
		{
		//document.getElementById('ajaxloader').style.visibility="visible";
		req.open('GET', '/pw_extensions/locations/frontend/ajax_get_form.php?'+sess+'='+sid+'&t='+type+'&id='+id+'&s='+s);
		req.send(null);
		}
	}
function getEditLocation(type)
	{
	s="";
	if(type=="land")
		{
		id = document.getElementById('kontinent').value;
		if(document.getElementById("land"))
			{
			cleaner=document.getElementById("land").length-1;
			for(var i=0; i<cleaner; i++)
				{document.getElementById("land").options[1] = null;}
			}
		if(document.getElementById("region"))
			{
			cleaner=document.getElementById("region").length-1;
			for(var i=0; i<cleaner; i++)
				{document.getElementById("region").options[1] = null;}
			}
		}
	if(type=="region")
		{
		id = document.getElementById('land').value;
		if(document.getElementById("region"))
			{
			cleaner=document.getElementById("region").length-1;
			for(var i=0; i<cleaner; i++)
				{document.getElementById("region").options[1] = null;}
			}
		}
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX("'+type+'box")');
	req.onreadystatechange = my_handleAJAX;
	if(id!="...")
		{
		//document.getElementById('ajaxloader').style.visibility="visible";
		req.open('GET', '/pw_extensions/locations/frontend/ajax_get_formedit.php?'+sess+'='+sid+'&t='+type+'&id='+id+'&s='+s);
		req.send(null);
		}
	}

function initializemap()
	{
	if(GBrowserIsCompatible())
		{
		var point = new GLatLng(0, 0)
		map.setCenter(point, 1);
		map.addControl(new GLargeMapControl());
		GEvent.addListener ( map , "zoomend" , newcoords );
		GEvent.addListener ( map , "moveend" , newcoords );
		}
	}
function setmap(t)
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	req2=init_ajax();
	id = document.getElementById(t).value;
	if((t=="kontinent")&&(id=="..."))
		{
		map.removeOverlay(marker);
		point = new GLatLng(10, 0);
		map.setCenter(point, 1);
		}
	else
		{
		req2.onreadystatechange = handleMap;
		req2.open('GET', '/pw_extensions/locations/frontend/ajax_get_map.php?'+sess+'='+sid+'&t='+t+'&id='+id);
		req2.send(null);	
		}
	}
function setEditmap(t)
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	req2=init_ajax();
	id = document.getElementById(t).value;
	if((t=="kontinent")&&(id=="..."))
		{
		point = new GLatLng(10, 0);
		map.setCenter(point, 1);
		}
	else
		{
		req2.onreadystatechange = handleEditMap;
		req2.open('GET', '/pw_extensions/locations/frontend/ajax_get_map.php?'+sess+'='+sid+'&t='+t+'&id='+id);
		req2.send(null);	
		}
	}
function handleMap()
	{
	if ((req2.readyState == 4) && (req2.status == 200))
		{
		LatLng=req2.responseText;
		if(LatLng!="")
			{
			LatLng=LatLng.split(":");
			point = new GLatLng(LatLng[0], LatLng[1]);
			map.setCenter(point, Number(LatLng[2]));
			if(document.getElementById('latitude'))
				{document.getElementById('latitude').value = LatLng[0];}
			if(document.getElementById('longitude'))
				{document.getElementById('longitude').value = LatLng[1];}
			}
		newcoords();
		}
	}
function handleEditMap()
	{
	if ((req2.readyState == 4) && (req2.status == 200))
		{
		LatLng=req2.responseText;
		if(LatLng!="")
			{
			LatLng=LatLng.split(":");
			point = new GLatLng(LatLng[0], LatLng[1]);
			map.setCenter(point, Number(LatLng[2]));
			clearmap();
			map.addOverlay(createDragMarker(point));
			if(document.getElementById('latitude'))
				{document.getElementById('latitude').value = LatLng[0];}
			if(document.getElementById('longitude'))
				{document.getElementById('longitude').value = LatLng[1];}
			}
		}
	}
function newcoords()
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	var mybounds=map.getBounds();
	
	map_cur_linksunten=String(mybounds.getSouthWest());
	laenge=map_cur_linksunten.length-1;
	map_cur_linksunten=map_cur_linksunten.substring(1, laenge);
	map_cur_linksunten=map_cur_linksunten.split(", ");
	var sueden=map_cur_linksunten[0];
	var westen=map_cur_linksunten[1];
	
	map_cur_rechtsoben=String(mybounds.getNorthEast());
	laenge=map_cur_rechtsoben.length-1;
	map_cur_rechtsoben=map_cur_rechtsoben.substring(1, laenge);
	map_cur_rechtsoben=map_cur_rechtsoben.split(", ");
	var norden=map_cur_rechtsoben[0];
	var osten=map_cur_rechtsoben[1];
	
	zoomlevel=map.getZoom();
	req3=init_ajax();
	req3.onreadystatechange = handleMarker;
	if (typeof optiontask != 'undefined')
		{
		if(optiontask=="vorlagen")
			{
			req3.open('GET','/pw_extensions/locations/frontend/ajax_get_tmarker.php?'+sess+'='+sid+'&w='+westen+'&o='+osten+'&n='+norden+'&s='+sueden+'&z='+zoomlevel);}
		else
			{req3.open('GET','/pw_extensions/locations/frontend/ajax_get_marker.php?'+sess+'='+sid+'&w='+westen+'&o='+osten+'&n='+norden+'&s='+sueden+'&z='+zoomlevel);}
		}
	else
		{req3.open('GET','/pw_extensions/locations/frontend/ajax_get_marker.php?'+sess+'='+sid+'&w='+westen+'&o='+osten+'&n='+norden+'&s='+sueden+'&z='+zoomlevel);}
	req3.send(null);
	}
function handleMarker()
	{
	display="";
	if ((req3.readyState == 4) && (req3.status == 200))
		{
		if((req3.responseText!="")&&(req3.responseText!="%$%"))
			{
			responseText=req3.responseText;
			responseText=responseText.split("%$%");
			display=responseText[0];
			locationlist=responseText[1];
			var marker_pos = new Array();
			var marker_text = new Array();

			if((locationlist!="")&&(locationlist!=null))
				{
				locations=locationlist.split("%|%");
				for(var i=0; i<locations.length; i++)
					{
					latlng=locations[i];
					latilong=latlng.split("%:%");
					mlatitude=latilong[0];
					mlongitude=latilong[1];
					info=latilong[2];
					point = new GLatLng(mlatitude, mlongitude);
					identifier=mlatitude+'x'+mlongitude;
					identifier=identifier.replace(/\./g, "_");
					identifier=identifier.replace(/-/g, "m");
					if (eval('typeof marker'+identifier+';') != 'undefined')
						{eval('delete marker'+identifier+';');}
					if (eval('typeof marker'+identifier+';') == 'undefined')
						{
						marker_pos['x'+identifier]=point;
						marker_text['x'+identifier]=info;
						eval('marker'+identifier+'=createMarker(point)');
						eval('GEvent.addListener(marker'+identifier+',"click", function() {map.openInfoWindowHtml(marker_pos["x'+identifier+'"], marker_text["x'+identifier+'"]);})');
						eval('map.addOverlay(marker'+identifier+')');
						}
					}
				}
			}
		if(document.getElementById('undsonst'))
			{document.getElementById('undsonst').innerHTML = display;}
		//document.getElementById('ajaxloader').style.visibility="hidden";
		}
	}
function showLocation(locationid,latitude,longitude)
	{
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleShowLocation("'+latitude+'","'+longitude+'")');
	req.onreadystatechange = my_handleAJAX;
	//document.getElementById('ajaxloader').style.visibility="visible";
	req.open('GET', '/pw_extensions/locations/frontend/ajax_get_location.php?'+sess+'='+sid+'&id='+locationid);
	req.send(null);
	}
function handleShowLocation(latitude,longitude)
	{
	if ((req.readyState == 4) && (req.status == 200))
		{
		if(req.responseText!="")
			{
			mpoint = new GLatLng(latitude, longitude);
			map.setCenter(mpoint,16);
			close_loc();
			document.getElementById('locationcontainer').innerHTML = req.responseText;
			document.getElementById('locationcontainer').style.display="block";
			document.getElementById('latitude').value = latitude;
			document.getElementById('longitude').value = longitude;
			}
		//document.getElementById('ajaxloader').style.visibility="hidden";
		}
	}

function showtLocation(locationid,latitude,longitude)
	{
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleShowLocation("'+latitude+'","'+longitude+'")');
	req.onreadystatechange = my_handleAJAX;
	//document.getElementById('ajaxloader').style.visibility="visible";
	req.open('GET', '/pw_extensions/locations/frontend/ajax_get_tlocation.php?'+sess+'='+sid+'&id='+locationid);
	req.send(null);
	}

function toggle_loc(toggle)
	{
	if(document.getElementById('locationcontainer').style.display!="none")
		{
		if(document.getElementById('location'+toggle+'container').style.display!="none")
			{
			if(document.getElementById('tmp_'+toggle+'_container'))
				{
				document.getElementById('tmp_'+toggle+'_container').innerHTML=document.getElementById('location'+toggle+'container').innerHTML;
				document.getElementById('location'+toggle+'container').innerHTML = "";
				}
			document.getElementById('location'+toggle+'container').style.display="none";
			document.getElementById('location'+toggle+'opener').src="/pw_extensions/common/_img/bullet_openrow.png";
			document.getElementById('location'+toggle+'openerm').src="/pw_extensions/common/_img/bullet_openrow.png";
			}
		else
			{
			if(document.getElementById('tmp_'+toggle+'_container'))
				{
				document.getElementById('location'+toggle+'container').innerHTML = document.getElementById('tmp_'+toggle+'_container').innerHTML;
				document.getElementById('tmp_'+toggle+'_container').innerHTML="";
				}
			document.getElementById('location'+toggle+'container').style.display="block";
			document.getElementById('location'+toggle+'opener').src="/pw_extensions/common/_img/bullet_closerow.png";
			document.getElementById('location'+toggle+'openerm').src="/pw_extensions/common/_img/bullet_closerow.png";
			}
		}
	}
function toggle_locx(toggle)
	{
	if(document.getElementById('locationcontainer').style.display!="none")
		{
		if(document.getElementById('location'+toggle+'container').style.display!="none")
			{
			document.getElementById('location'+toggle+'container').style.display="none";
			document.getElementById('location'+toggle+'opener').src="/pw_extensions/common/_img/bullet_openrow.png";
			document.getElementById('location'+toggle+'openerm').src="/pw_extensions/common/_img/bullet_openrow.png";
			}
		else
			{
			document.getElementById('location'+toggle+'container').style.display="block";
			document.getElementById('location'+toggle+'opener').src="/pw_extensions/common/_img/bullet_closerow.png";
			document.getElementById('location'+toggle+'openerm').src="/pw_extensions/common/_img/bullet_closerow.png";
			}
		}
	}
function toggle_comments()
	{
	if(document.getElementById('locationcontainer').style.display!="none")
		{
		if(document.getElementById('locationcommentscontainer').style.display!="none")
			{
			document.getElementById('locationcommentscontainer').style.display="none";
			document.getElementById('locationcommentsopener').src="/pw_extensions/common/_img/bullet_openrow.png";
			document.getElementById('locationcommentsopenerm').src="/pw_extensions/common/_img/bullet_openrow.png";
			}
		else
			{
			toggleCommentform('closeCommentform');
			id=document.getElementById('locationid').value;
			getComments(id,'0');
			document.getElementById('locationcommentscontainer').style.display="block";
			document.getElementById('locationcommentsopener').src="/pw_extensions/common/_img/bullet_closerow.png";
			document.getElementById('locationcommentsopenerm').src="/pw_extensions/common/_img/bullet_closerow.png";
			}
		}
	}

function toggleCommentform(todo)
	{
	if(document.getElementById('locationcontainer').style.display!="none")
		{
		if(document.getElementById('locationcommentscontainer').style.display!="none")
			{
			document.getElementById(todo).style.display="none"
			if(todo=="openCommentform")
				{
				document.getElementById('closeCommentform').style.display="block";
				document.getElementById('commentform').style.display="block";
				}
			else
				{
				document.getElementById('openCommentform').style.display="block";
				document.getElementById('commentform').style.display="none";
				}
			}
		}
	}
function close_loc()
	{
	if(document.getElementById('locationcontainer'))
		{
		document.getElementById('locationcontainer').innerHTML = "";
		document.getElementById('locationcontainer').style.display="none";
		}
	if(document.getElementById('locationdesccontainer'))
		{
		document.getElementById('locationdesccontainer').innerHTML = "";
		document.getElementById('locationdesccontainer').style.display="none";
		}
	if(document.getElementById('locationimgcontainer'))
		{
		document.getElementById('locationimgcontainer').innerHTML = "";
		document.getElementById('locationimgcontainer').style.display="none";
		}
	if(document.getElementById('locationfeaturecontainer'))
		{
		document.getElementById('locationfeaturecontainer').innerHTML = "";
		document.getElementById('locationfeaturecontainer').style.display="none";
		}
	if(document.getElementById('locationadresscontainer'))
		{
		document.getElementById('locationadresscontainer').innerHTML = "";
		document.getElementById('locationadresscontainer').style.display="none";
		}
	if(document.getElementById('locationcommentscontainer'))
		{document.getElementById('locationcommentscontainer').style.display="none";}
	}
function searchLocations()
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	phrase=document.getElementById('searchphrase').value;
	req3=init_ajax();
	my_handleAJAX=new Function('fx', 'handleMarker()');
	req3.onreadystatechange = my_handleAJAX;
	if (typeof optiontask != 'undefined')
		{
		if(optiontask=="vorlagen")
			{req3.open('GET', '/pw_extensions/locations/frontend/ajax_get_searchtLocations.php?'+sess+'='+sid+'&p='+encodeURI(phrase));}
		else
			{req3.open('GET', '/pw_extensions/locations/frontend/ajax_get_searchLocations.php?'+sess+'='+sid+'&p='+encodeURI(phrase));}
		}
	else
		{req3.open('GET', '/pw_extensions/locations/frontend/ajax_get_searchLocations.php?'+sess+'='+sid+'&p='+encodeURI(phrase));}
	req3.send(null);
	}
function createMarker(point)
	{
	var baseIcon = new GIcon();
	baseIcon.iconSize = new GSize(30, 30);
	baseIcon.iconAnchor = new GPoint(30, 30);
	var LocationIcon = new GIcon(baseIcon);
	LocationIcon.image = "/pw_extensions/common/_img/mappin.gif";
	LocationIcon.shadow="/pw_extensions/common/_img/mappinshadow.png";
	LocationIcon.shadowSize = new GSize(37, 34);
	markerOptions = { icon:LocationIcon };
	var marker = new GMarker(point, markerOptions);
	return marker;
	}
function clearmap()
	{map.clearOverlays();}


function Fav(id)
	{
	pic_source=document.getElementById('FavI').src;
	trenner=pic_source.lastIndexOf("/");
	the_url=pic_source.slice(0, trenner);
	the_pic=pic_source.slice(trenner+1);
	if(the_pic=="star_remove.png")
		{document.getElementById('FavI').src=the_url+"/star_add.png";}
	else
		{document.getElementById('FavI').src=the_url+"/star_remove.png";}
	req=init_ajax();
	req.open('GET', '/pw_extensions/locations/frontend/ajax_addFav.php?'+sess+'='+sid+'&id='+id);
	req.send(null);
	}
	
	
	
function addFav(id)
	{
	document.getElementById('remFavI').style.display="block";
	document.getElementById('addFavI').style.display="none";
	req=init_ajax();
	req.open('GET', '/pw_extensions/locations/frontend/ajax_addFav.php?'+sess+'='+sid+'&id='+id);
	req.send(null);
	}
function remFav(id)
	{
	document.getElementById('remFavI').style.display="none";
	document.getElementById('addFavI').style.display="block";
	req=init_ajax();
	req.open('GET', '/pw_extensions/locations/frontend/ajax_remFav.php?'+sess+'='+sid+'&id='+id);
	req.send(null);
	}
function transfer_loc(id,name)
	{
	if(confirm(name+'\nzu den Locations |bertragen?'))
		{
		init_ajax();
		req.open('get', '/pw_extensions/locations/frontend/ajax_transferLoc.php?'+sess+'='+sid+'&id='+id);
		req.send(null);
		window.location.href='index.php?option=com_locations&task=edit&geoid='+id;
		}
	}
function initializeEditMap(lat,lng)
	{
	if(GBrowserIsCompatible())
		{
		var point = new GLatLng(lat, lng)
		map.setCenter(point, 16);
		map.addControl(new GLargeMapControl());
		map.addOverlay(createDragMarker(point));
		GEvent.addListener ( map , "zoomend" , centerPoint );
		GEvent.addListener ( map , "moveend" , centerPoint );
		}
	}
function initializeEntryMap()
	{
	if(GBrowserIsCompatible())
		{
		var point = new GLatLng(0, 0)
		map.setCenter(point, 1);
		map.addControl(new GLargeMapControl());
		map.addOverlay(createDragMarker(point));
		GEvent.addListener ( map , "zoomend" , centerPoint );
		GEvent.addListener ( map , "moveend" , centerPoint );
		}
	}
function createDragMarker(point)
	{
	var baseIcon = new GIcon();
	baseIcon.iconSize = new GSize(30, 30);
	baseIcon.iconAnchor = new GPoint(30, 30);
	var LocationIcon = new GIcon(baseIcon);
	LocationIcon.image = "/pw_extensions/common/_img/mappin.gif";
	LocationIcon.shadow="/pw_extensions/common/_img/mappinshadow.png";
	LocationIcon.shadowSize = new GSize(37, 34);
	markerOptions = { icon:LocationIcon,draggable: true };
	var marker = new GMarker(point, markerOptions);
	GEvent.addListener(marker, "dragend", function()
		{
		new_pos=marker.getLatLng();
		map.panTo(new_pos);
		//if(confirm("Neue Position |bernehmen?"))
		//	{
			if(document.getElementById("latitude"))
				{document.getElementById("latitude").value=new_pos.lat();}
			if(document.getElementById("longitude"))
				{document.getElementById("longitude").value=new_pos.lng();}
		//	}
		});
	return marker;
	}
function init_editor()
	{
	//if(document.getElementById('description')){
	tinyMCE.init({
		mode : "exact",
		elements : "description",
		theme : "advanced",
		language : 'de',
		onchange_callback : save_edits,
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull,|,pasteword,cleanup,removeformat,help,code,|,formatselect",
		theme_advanced_buttons2 : "link,unlink,|,image,|,tablecontrols",
		theme_advanced_buttons3 : "",
		theme_advanced_buttons4 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		force_br_newlines : true,
        forced_root_block : '',
		extended_valid_elements : "a[name|href|target|title]",
		remove_linebreaks : false,
		cleanup : true,
		cleanup_on_startup : true,
		disk_cache : true
		});
		
		//}
		//else
		//{window.setTimeout("init_editor()", 100);}
	}
function save_edits()
	{
	tinyMCE.activeEditor.save();
	document.getElementById('changed').value="true";
	}
function getFromWiki()
	{
	the_name=document.getElementById('name').value;
	the_name_german=document.getElementById('name_german').value;
	the_wikihint=document.getElementById('wikihint').value;
	if(the_wikihint!="")
		{my_name=the_wikihint;}
	else if(the_name_german!="")
		{my_name=the_name_german;}
	else
		{my_name=the_name;}
	
	//document.getElementById('ajaxloader').style.visibility="visible";
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleWiki("description")');
	req.onreadystatechange = my_handleAJAX;
	req.open('get', '/pw_extensions/locations/frontend/ajax_getWikipedia.php?'+sess+'='+sid+'&title='+escape(my_name));
	req.send(null);
	}
function handleWiki(typ)
	{
	if ((req.readyState == 4) && (req.status == 200))
		{
		if(req.responseText!="")
			{
			if(confirm('Wikipedia-Artikel |bernehmen?\nDieser Vorgang lvscht die bisherige Beschreibung!\nDer Inhalt des Artikels darf (sollte!) verdndert werden.\nDer Urheberhinweis am Ende des Textes darf nicht entfernt werden!'))
				{
				if(tinyMCE.activeEditor)
					{
					tinyMCE.activeEditor.setContent(req.responseText);
					tinyMCE.activeEditor.save();
					}
				else
					{document.getElementById(typ).value = req.responseText;}
				document.getElementById('changed').value="true"
				}
			}
		//document.getElementById('ajaxloader').style.visibility="hidden";
		}
	}

function delPicEdit(i)
	{
	if(confirm('Lvschen?'))
		{
		id=document.getElementById('picid_'+i).value;
		document.getElementById('picload_'+i).disabled=true;
		document.getElementById('picdesc_'+i).disabled=true;
		document.getElementById('pictitle_'+i).disabled=true;
		document.getElementById('authorname_'+i).disabled=true;
		//document.getElementById('ajaxloader').style.visibility="visible";
		
		req=init_ajax();
		my_handleAJAX=new Function('fx', 'handlePicDB("del","'+i+'")');
		req.onreadystatechange = my_handleAJAX
		req.open('get', '/pw_extensions/locations/frontend/ajax_setPicDB.php?'+sess+'='+sid+'&aktion=del&id='+id);
		req.send(null);
		}
	}
function savePicEdit(i)
	{
	if(confirm('Speichern?'))
		{
		document.getElementById('picload_'+i).disabled=true;
		document.getElementById('picdesc_'+i).disabled=true;
		document.getElementById('pictitle_'+i).disabled=true;
		//document.getElementById('ajaxloader').style.visibility="visible";
		
		picname=document.getElementById('picname_'+i).value;
		picdesc=document.getElementById('picdesc_'+i).value;
		pictitle=document.getElementById('pictitle_'+i).value;
		id=document.getElementById('picid_'+i).value;
		locid=document.getElementById('locid').value;
		
		req=init_ajax();
		my_handleAJAX=new Function('fx', 'handlePicDB("save","'+i+'")');
		req.onreadystatechange = my_handleAJAX
		
		postdata='';
		postdata+='picname='+picname;
		postdata+='&picdesc='+picdesc;
		postdata+='&pictitle='+pictitle;
		postdata+='&aktion=save';
		postdata+='&locid='+locid;
		postdata+='&id='+id;
		postdata+='&'+sess+'='+sid;
		postdata=encodeURI(postdata)
		
		req.open("POST", "/pw_extensions/locations/frontend/ajax_setPicDB.php");
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-length", postdata.length);
		req.setRequestHeader("Pragma", "no-cache");
		req.setRequestHeader("Cache-Control", "must-revalidate");
		req.setRequestHeader("If-Modified-Since", document.lastModified);
		req.send(postdata);
		}
	}
function enablePicEdit(i)
	{
	if(document.getElementById('picload_'+i).disabled==true)
		{document.getElementById('picload_'+i).disabled=false;}
	else
		{document.getElementById('picload_'+i).disabled=true;}
	}
function handlePicDB(aktion,i)
	{
	document.getElementById('picload_'+i).disabled=false;
	document.getElementById('picdesc_'+i).disabled=false;
	document.getElementById('pictitle_'+i).disabled=false;
	//document.getElementById('ajaxloader').style.visibility="hidden";
	if(aktion=="del")
		{
		document.getElementById('picname_'+i).value="";
		document.getElementById('picid_'+i).value="";
		document.getElementById('picdesc_'+i).value="";
		document.getElementById('pictitle_'+i).value="";
		document.getElementById('vb_'+i).src='/pw_extensions/common/_img/nopic.png';
		}
	if(aktion=="save")
		{
		if ((req.readyState == 4) && (req.status == 200))
			{
			if(req.responseText!="")
				{document.getElementById('picid_'+i).value=req.responseText;}
			}
		}
	}

function setLocationData()
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	
	var adr_show=document.getElementById("adr_show").checked;
	adr_show=(adr_show==true?1:0);
	var ansp_show=document.getElementById("ansp_show").checked;
	ansp_show=(ansp_show==true?1:0);
	var featurelist="";
	var features=document.getElementsByName("features");
	for(var i=0; i<features.length; i++)
		{
		if(features[i].checked == true)
			{featurelist+=features[i].value+',';}
		}
	var flength=featurelist.length-1
	featurelist=featurelist.substr(0, flength);
	
	var postdata=null;
	postdata='locationid='+escape(document.getElementById("locationid").value);
	postdata+='&fclass='+escape(document.getElementById("fclass").value);
	postdata+='&fcode='+escape(document.getElementById("fcode").value);
	postdata+='&country='+escape(document.getElementById("my_land").value);
	postdata+='&admin1='+escape(document.getElementById("my_region").value);
	postdata+='&name='+escape(document.getElementById("name").value);
	postdata+='&name_german='+escape(document.getElementById("name_german").value);
	postdata+='&latitude='+escape(document.getElementById("latitude").value);
	postdata+='&longitude='+escape(document.getElementById("longitude").value);
	postdata+='&description='+escape(document.getElementById("description").value);
	postdata+='&teaser='+escape(document.getElementById("teaser").value);
	postdata+='&tags='+escape(document.getElementById("tags").value);
	postdata+='&features='+escape(featurelist);
	postdata+='&'+sess+'='+sid;
	postdata+='&adr_str='+escape(document.getElementById("adr_str").value);
	postdata+='&adr_plz='+escape(document.getElementById("adr_plz").value);
	postdata+='&adr_ort='+escape(document.getElementById("adr_ort").value);
	postdata+='&adr_url='+escape(document.getElementById("adr_url").value);
	postdata+='&ansp_name='+escape(document.getElementById("ansp_name").value);
	postdata+='&ansp_str='+escape(document.getElementById("ansp_str").value);
	postdata+='&ansp_plz='+escape(document.getElementById("ansp_plz").value);
	postdata+='&ansp_ort='+escape(document.getElementById("ansp_ort").value);
	postdata+='&ansp_land='+escape(document.getElementById("ansp_land").value);
	postdata+='&ansp_tel='+escape(document.getElementById("ansp_tel").value);
	postdata+='&ansp_mail='+escape(document.getElementById("ansp_mail").value);
	postdata+='&adr_show='+escape(adr_show);
	postdata+='&ansp_show='+escape(ansp_show);
	postdata=encodeURI(postdata);
	req=init_ajax();
	req.onreadystatechange = handleLocationData;
	req.open("POST", "/pw_extensions/locations/frontend/ajax_setLocationData.php");
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");
	req.setRequestHeader("Content-length", postdata.length);
	req.setRequestHeader("Pragma", "no-cache");
	req.setRequestHeader("Cache-Control", "must-revalidate");
	req.setRequestHeader("If-Modified-Since", document.lastModified);
	req.send(postdata);
	}
function handleLocationData()
	{
	if ((req.readyState == 4) && (req.status == 200))
		{
		if(req.responseText!="")
			{window.location.href='index.php?option=com_locations&task=edit&locid='+req.responseText;}
		}
	//document.getElementById('ajaxloader').style.visibility="hidden";
	}

function getMyLocations(typ,start)
	{
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX("locationcontainer")');
	req.onreadystatechange = my_handleAJAX;
	req.open('GET', '/ol/php/ajax/get/meine_'+typ+'.php?'+sess+'='+sid+'&start='+start);
	req.send(null);
	}
function set_this_location(lat,lng)
	{
	if(document.getElementById('undsonst'))
		{
		point = new GLatLng(lat,lng);
		map.setCenter(point,16);
		//map.addOverlay(createMarker(point));
		}
	else
		{window.setTimeout("set_this_location("+lat+","+lng+")", 100);}
	}

function set_entrymap(t)
	{
	//document.getElementById('ajaxloader').style.visibility="visible";
	req2=init_ajax();
	id = document.getElementById(t).value;
	if((t=="kontinent")&&(id=="..."))
		{
		map.removeOverlay(marker);
		point = new GLatLng(10, 0);
		map.setCenter(point, 1);
		}
	else
		{
		req2.onreadystatechange = handleEntryMap;
		req2.open('GET', '/pw_extensions/locations/frontend/ajax_get_map.php?'+sess+'='+sid+'&t='+t+'&id='+id);
		req2.send(null);	
		}
	}
function handleEntryMap()
	{
	if ((req2.readyState == 4) && (req2.status == 200))
		{
		LatLng=req2.responseText;
		if(LatLng!="")
			{
			LatLng=LatLng.split(":");
			point = new GLatLng(LatLng[0], LatLng[1]);
			map.setCenter(point, Number(LatLng[2]));
			map.addControl(new GLargeMapControl());
			map.addOverlay(createDragMarker(point));
			if(document.getElementById('latitude'))
				{document.getElementById('latitude').value = LatLng[0];}
			if(document.getElementById('longitude'))
				{document.getElementById('longitude').value = LatLng[1];}
			}
		}
	}
function getOrt(type)
	{
	s="";
	if(type=="land")
		{
		id = document.getElementById('kontinent').value;
		cleanForm("land");
		cleanForm("region");
		cleanForm("stadt");
		}
	if(type=="region")
		{
		obj=document.getElementById('land');
		id = obj.value;
		text=obj[obj.selectedIndex].text;
		document.getElementById('adr_land').value=text;
		document.getElementById('my_land').value=id;
		cleanForm("region");
		cleanForm("stadt");
		}
	if(type=="stadt")
		{
		obj=document.getElementById('region');
		id = obj.value;
		text=obj[obj.selectedIndex].text;
		document.getElementById('adr_region').value=text;
		my_id=id.split(".");
		document.getElementById('my_region').value=my_id[1];
		s = document.getElementById('stadtsize').value;
		cleanForm("stadt");
		}
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX("'+type+'box")');
	req.onreadystatechange = my_handleAJAX;
	if(id!="...")
		{
		//document.getElementById('ajaxloader').style.visibility="visible";
		req.open('GET', '/pw_extensions/locations/frontend/ajax_getOrt.php?'+sess+'='+sid+'&t='+type+'&id='+id+'&s='+s);
		req.send(null);
		}
	}
function GoToOrt(lat,lng,obj)
	{
	ortsname=obj.innerHTML;
	document.getElementById("adr_ort").value=ortsname;
	point = new GLatLng(lat, lng);
	map.setCenter(point, 13);
	map.addControl(new GLargeMapControl());
	map.addOverlay(createDragMarker(point));
	}
function centerPoint()
	{
	point = map.getCenter();
	clearmap();
	map.addOverlay(createDragMarker(point));
	if(document.getElementById("latitude"))
		{document.getElementById("latitude").value=point.lat();}
	if(document.getElementById("longitude"))
		{document.getElementById("longitude").value=point.lng();}
	}
function getArten(value)
	{
	req=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX("fcodefield")');
	req.onreadystatechange = my_handleAJAX;
	//document.getElementById('ajaxloader').style.visibility="visible";
	req.open('GET', '/pw_extensions/locations/frontend/ajax_getArten.php?fclass='+value);
	req.send(null);
	}
function getRegionen(obj)
	{
	value=obj.value;
	text=obj[obj.selectedIndex].text;
	document.getElementById("adr_land").value=text;
	reqx=init_ajax();
	my_handleAJAX=new Function('fx', 'handleAJAX2(reqx,"regionfield")');
	reqx.onreadystatechange = my_handleAJAX;
	//document.getElementById('ajaxloader').style.visibility="visible";
	reqx.open('GET', '/pw_extensions/locations/frontend/ajax_get_form.php?'+sess+'='+sid+'&t=region2&id='+value);
	reqx.send(null);
	}
function handleAJAX2(obj,typ)
	{
	if ((obj.readyState == 4) && (obj.status == 200))
		{
		if(obj.responseText!="")
			{document.getElementById(typ).innerHTML = reqx.responseText;}
		if(document.getElementById(typ).style.display=="none")
			{document.getElementById(typ).style.display="block";}
		//document.getElementById('ajaxloader').style.visibility="hidden";
		}
	}