function ajax_generic(lang, ref, type, param)
{
	new Ajax.Updater(ref, '/'+lang+'/ajax/'+type+'/', {
		'method': 'post',
		'parameters': param,
		'asynchronous': true,
		'evalScripts': true
	});

	return false;
}

function displayOverlay(lang, ref, type, param)
{
	hideFlash();
	hideSelectBoxes();

	new Effect.Appear("overlayPAGE", {'to': 0.4});
	new Effect.Appear(ref);

	// hack for IE6: Background with rastered gif
	var nAgt = navigator.userAgent;
	if((verOffset=nAgt.indexOf("MSIE"))!=-1)
	{
		if(parseInt(parseFloat(nAgt.substring(verOffset+5))) <= 6)
		{
			document.getElementById('overlayPAGE').style.backgroundColor = 'transparent';
			document.getElementById('overlayPAGE').style.backgroundImage = 'url(/pix/release_back.gif)';
		}
	}

	ajax_generic(lang, ref, type, param);

	return false;
}

function hideOverlay(ref)
{
	document.getElementById('overlayPAGE').style.display = 'none';
	document.getElementById(ref).style.display = 'none';

	showFlash();
	showSelectBoxes();

	return false;
}



// fuer den Bereich der Standorte und Vertriebspartner
var map, geocoder, cluster;
var marker = new Array();
var redMarker;
var blueMarker;
var zoomMarker;

function googleMapsInit()
{
	if(GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("map"));
		geocoder = new GClientGeocoder();
		map.setUIToDefault();

		redMarker = new GIcon();
		redMarker.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
		redMarker.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		redMarker.iconSize = new GSize(12, 20);
		redMarker.shadowSize = new GSize(22, 20);
		redMarker.iconAnchor = new GPoint(6, 20);
		redMarker.infoWindowAnchor = new GPoint(5, 1);

		blueMarker = new GIcon();
		blueMarker.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
		blueMarker.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		blueMarker.iconSize = new GSize(12, 20);
		blueMarker.shadowSize = new GSize(22, 20);
		blueMarker.iconAnchor = new GPoint(6, 20);
		blueMarker.infoWindowAnchor = new GPoint(5, 1);

		zoomMarker=new GIcon();
		zoomMarker.image='/pix/icon_magnifying.png';
		zoomMarker.shadow='/pix/icon_magnifying_shadow.png';
		zoomMarker.iconSize=new GSize(29, 33);
		zoomMarker.iconAnchor=new GPoint(9, 31);
		zoomMarker.shadowSize=new GSize(46, 33);
		zoomMarker.infoWindowAnchor=new GPoint(9, 31);

		point = new GLatLng(49.4817531335529, 8.484106063842773); // Mannheim
		map.setCenter(point, 1 ); // DEFAULT Gelände wäre ganz nett

		GEvent.addListener(map, "zoomend", function() {
			if(map.getZoom() > 10) { map.setMapType(G_HYBRID_MAP); }
			else if(map.getZoom() > 5) { map.setMapType(G_NORMAL_MAP); }
			else { map.setMapType(G_PHYSICAL_MAP); }
		} );
	}
}

function makeOverviewMarker(d)
{
	var mark;
	var point = new GLatLng(d['lat'], d['lng']);
	if(d['art'] == 'standort')
	{
		mark = new GMarker(point, {title:d['title'], icon:redMarker});
	}
	else
	{
		mark = new GMarker(point, {title:d['title'], icon:blueMarker});
	}
	if(d['link'] != '')
	{
		GEvent.addListener(mark, "click", function() { window.location=d['link']; } );
	}
	else
	{
		GEvent.addListener(mark, "click", function() { window.location='./id/' + d['id'] + '/'; } );
	}
	marker.push(mark);
}


function makeDetailMarker(d)
{
	var mark;
	var point = new GLatLng(d['lat'], d['lng']);
	if(d['art'] == 'standort')
	{
		mark = new GMarker(point, {title:d['title'], icon:redMarker});
	}
	else
	{
		mark = new GMarker(point, {title:d['title'], icon:blueMarker});
	}
	GEvent.addListener(mark, "click", function() { mark.openInfoWindowHtml($('adresse_'+d['id']).innerHTML); } );
	marker.push(mark);
}

function makeFitMarkers()
{
	cluster = new ClusterMarker(map, { clusterMarkerTitle:'%count Standorte', clusterMarkerIcon:zoomMarker, markers:marker } );
	cluster.fitMapToMarkers();
//	map.savePosition();
}



// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function showFlash()
{
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "visible";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function hideFlash()
{
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "hidden";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "hidden";
	}

}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function showSelectBoxes()
{
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------
//	TAKEN FROM Lightbox v2.03.2
//	by Lokesh Dhakar - http://www.huddletogether.com
//	4/30/06

function hideSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}


// ---------------------------------------------------
// iecompattest() and Browser-Detection are taken from:
// Floating Top Bar script-Â© Dynamic Drive (www.dynamicdrive.com)
// Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
// This notice must stay intact for legal use.
// Visit http://www.dynamicdrive.com/ for full source code

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}



// ---------------------------------------------------
var currentLexikon = '';
function ajax_lexikon(lang, ref, baselink, id)
{
	// reset
	if(currentLexikon != '') { document.getElementById(currentLexikon).innerHTML = '&nbsp;'; }
	currentLexikon = ref;

	// Print-Link
	document.getElementById('printLink').href = baselink+'/id/'+id+'/print/1/';

	// update
	new Ajax.Updater(ref, '/'+lang+'/ajax/mode/lexikon/', {
		'method': 'post',
		'parameters': 'id='+id,
		'asynchronous': true,
		'evalScripts': true
	});

	return false;
}

