function setItemFilename(editor, result, tbi, sender)
{
	document.getElementById('inputfilename').value = result;
	result = (result) ? result : templatepath + 'img/noFileSelected.gif';
	document.getElementById('imgfilename').src = result;
}

/**
 * Zeigt Bestätigungsfenster an
**/
function confirmPopup(text, target)
{
	var popup = window.confirm(text);
	if(popup === true)
	{
		window.location.href = target;
	}
}

/**
 * öffnet und schließt die Ampelbox
**/
var ampelboxOpen = false;
function toogleAmpelbox()
{
	var d = (document.getElementById) ? document.getElementById('ampelbox') : document.all.ampelbox;
	if (ampelboxOpen === true)
	{
		d.style.width = '130px';
		d.style.height = '64px';
		ampelboxOpen = false;
	}
	else
	{
		d.style.width = '180px';
		d.style.height = '400px';
		ampelboxOpen = true;
	}	
}

function centerObject(targetObj, sourceObj)
{
	var size;
	if (sourceObj)
	{
		size = [sourceObj.offsetWidth, sourceObj.offsetHeight];
	}
	else
		size = getBodySize();
	
	if (size[0] < 1 || size[1] < 1)
		return;
	
	if (typeof targetObj == 'string')
		targetObj = getElement(targetObj);
	
	if (typeof targetObj == 'object')
	{
		targetObj.style.left = Math.round((size[0] - targetObj.offsetWidth) / 2) + 'px';
		targetObj.style.top = Math.round((size[1] - targetObj.offsetHeight) / 2) + 'px';
	}
}


/*########## Funktionen für Menüs: Benutzer registrieren / Daten ändern ##########*/
/**
 * setzt die manuell gesetzte eigene Position zurück
**/
function resetManualPos()
{
	var d = (document.getElementById) ? document.getElementById('mapMsg') : document.all.mapMsg;
	d.innerHTML = 'Position manuell: Nein';
	document.forms['users'].mappos_manual.value = '0';
	streetcheck = true;
	findAddress();
}

var streetcheck = true;
function findAddress()
{
	var f = document.forms['users'];
	var adr = '';
	if (f.mappos_manual.value == '1')
	{
		adr = f.latitude.value + ', ' + f.longitude.value;
	}
	else
	{
		var street = f.street.value;
		var plz = f.plz.value;
		var city = f.city.value;
		if (!street || !plz || !city)
		{
			alert('Für einen Test müssen die Felder: Straße, PLZ und Ort ausgefüllt sein');
			return;
		}
		var nation = f.nat_id.options[f.nat_id.selectedIndex].text;
		if (!nation)
			nation = 'Germany';
		street = (streetcheck == true) ? street + ', ' : '';
		adr = street + plz + ' ' + city + ', ' + nation;
	}
	geocoder.getLocations(adr, setAddressInMap);
	adr = "";
}


var tAdrMarker;
function setAddressInMap(response)
{
	if (!response || response.Status.code == 500)
	{
		alert('Server Fehler. Der Dienst steht momentan nicht zur Verfügung');
		return;
	}
	else if (response.Status.code != 200)
	{
		if (streetcheck == false)
		{
			alert('PLZ, Ort wurde nicht gefunden. \nKorrigieren Sie bitte Ihre Adresse.');
			streetcheck = true;
			return;
		}
		var msg = confirm('Adresse wurde nicht gefunden. \nMöchten Sie nur nach PLZ und Ort suchen? \nSie müssen dann die Kartenposition manuell setzen.');
		if (msg == true)
		{
			streetcheck = false;
			findAddress();
		}
		return;
	}
	place = response.Placemark[0];
	point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);

	removeMarker(tAdrMarker);
	tAdrMarker = new GMarker(point, {draggable: true, icon: getArrowIcon()});
	GEvent.addListener(tAdrMarker, 'dragend', setAddress);
	
	addMarker(tAdrMarker);
	panMapTo(point.lat(), point.lng())
	setZoomlevel(15);
	
	if (streetcheck === false)
		setAddress();
}

function setAddress()
{
	if (!tAdrMarker)
	{
		alert('Keine Position zum übernehmen vorhanden');
		return;
	}
	
	var l = tAdrMarker.getPoint();
	var d = (document.getElementById) ? document.getElementById('mapMsg') : document.all.mapMsg;
	d.innerHTML = 'Position manuell: Ja';
	document.forms['users'].mappos_manual.value = '1';
	document.forms['users'].latitude.value = l.lat();
	document.forms['users'].longitude.value = l.lng();
}

function setType()
{
	if (!document.forms['users'])
		return false;
	var idx = document.forms['users'].type_id.selectedIndex;
	if (idx < 0)
		return false;
	
	var email = (document.getElementById) ? document.getElementById('emailreply') : document.all.emailreply;
	var contact = (document.getElementById) ? document.getElementById('contactuser') : document.all.contactuser;
	if (document.forms['users'].type_id.options[idx].value == 5)
	{
		email.style.display = 'block';
		contact.style.display = 'none';
	}
	else
	{
		email.style.display = 'none';
		contact.style.display = 'block';
	}
}

var helpBox = null;
function showHelp(obj, text)
{
	if (text === null || text.length < 1)
		return;
	
	if (helpBox === null)
		helpBox = (document.getElementById) ? document.getElementById('helpBox') : document.all.helpBox;
	
	if (helpBox)
	{
		var pos = findPos(obj);
		var l = pos[0] + obj.offsetWidth + 10;
		var t = pos[1];
		helpBox.innerHTML = text;
		helpBox.style.left = l + 'px';
		helpBox.style.top = t + 'px';
		helpBox.style.display = 'block';
	}
}

function hideHelp()
{
	if (helpBox === null)
		return false;
	helpBox.style.display = 'none';
}
/*END########## Funktionen für Menüs: Benutzer registrieren / Daten ändern ##########*/


/*##### Banner Funktionen #####*/
var bannerCycle = 0;
function loadBanner()
{
	if (bannerCycle == 0)
	{
		bannerCycle = 0;
		loadXML(basepath + 'getBanner.php', changeBanner);
	}
	else
		bannerCycle++;
}

var changeBanner = function(xmlDoc) 
{
	var bi = getElement("bannerimg");
	var bl = getElement("bannerlink");
	if (bi)
	{
		var filename = getTextContent(xmlDoc.getElementsByTagName("filename")[0]);
		var link = getTextContent(xmlDoc.getElementsByTagName("link")[0]);
		var redirect = getTextContent(xmlDoc.getElementsByTagName("redirect")[0]);
		if (filename)
		{
			bi.src = filename;
			bi.alt = link;
			
			if (bl)
			{
				bl.href = redirect;
			}
		}
	}
}
/*END##### Banner Funktionen #####*/

/*##### Infomail Funktionen #####*/
function showInfo(userid)
{
	if (!userid)
		return;
	
	var box = getElement("infomailbox");
	var id = getElement("infomail_target");
	if (box && id)
	{
		id.value = userid;
		box.style.display = 'block';
	}
}

function hideInfo()
{
	var box = getElement("infomailbox");
	if (box)
		box.style.display = 'none';
}
/*END##### Infomail Funktionen #####*/

