var pichash = $H();

function initSlideshow(picarray, id)
{
	if(picarray.length < 1)
		return;
		
	if(!id)
		id = '';
		
	if($('map'))
		$('map').hide();
	if($('tabmap'))
		$('tabmap').setStyle({background: '#FFFFFF'});
	if($('tabslideshow'))
		$('tabslideshow').setStyle({background: '#E5E5E5'});
	if($('slideshow'))
		$('slideshow').show();

	for(i = 0; i < picarray.length; i++)
	{
		slide = new Image;
		slide.src = './ff_webserver/' + encodeURI(picarray[i]).replace(/#/, '%23');
		pichash[picarray[i]] = slide;	
	}
	
	arrUrl = $('currentslide' + id).src.split('/');
	index = picarray.indexOf('pic.obj/' + decodeURI(arrUrl.last()).replace(/%23/, '#'));

	if(index <= 0)
		$('prevslide' + id).hide();
	if((picarray.size() <= 1) || (index == (picarray.size() - 1)))
		$('nextslide' + id).hide();
	
	ddequalcolumns.resetHeights();
}

function prevSlide(picarray, id)
{
	if(!id)
		id = '';
		
	arrUrl = $('currentslide' + id).src.split('/');
	index = picarray.indexOf('pic.obj/' + decodeURI(arrUrl.last()).replace(/%23/, '#')) - 1;
	changeImage(picarray[index], id);

	if(index == 0)
		$('prevslide' + id).hide();

	$('nextslide' + id).show();	

	return;
}

function nextSlide(picarray, id)
{
	if(!id)
		id = '';
		
	arrUrl = $('currentslide' + id).src.split('/');
	index = picarray.indexOf('pic.obj/' + decodeURI(arrUrl.last()).replace(/%23/, '#')) + 1;
	changeImage(picarray[index], id);
	
	if(index == (picarray.size() - 1))
		$('nextslide' + id).hide();
	
	$('prevslide' + id).show();
			
	return;
}

var imageUrl;
var helperId = null;

function changeImage(key, id)
{
	if(!id)
		id = '';
		
	imageUrl = key;
	helperId = id;

	new Effect.Fade('currentslide' + id, 
		{
			duration: 0.2,
			from: 1.0,
			to: 0.001,
			afterFinish: fadeIn
		}
	);
}

function fadeIn(item)
{
	$('currentslide' + helperId).src = pichash[imageUrl].src;
	new Effect.Appear('currentslide' + helperId, {duration: 1.0});
}


function initMap(address, nummer, objektart, nutzart, imageurl)
{
	imageurl = encodeURI(imageurl).replace(/#/, '%23');
	
	$('slideshow').hide();
	$('tabslideshow').setStyle({background: '#FFFFFF'});
	$('map').setStyle({height: '300px'});	
	$('map').show();
	$('tabmap').setStyle({background: '#E5E5E5'});
	
	if (GBrowserIsCompatible()) 
	{
		var map = new GMap2($('map'));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());

		var mapstype = map.getMapTypes();
      for (var i=0; i<mapstype.length; i++) 
      {
        mapstype[i].getMinimumResolution = function() {return 9;}
        mapstype[i].getMaximumResolution = function() {return 15;}
      }
       
		var supIcon = new GIcon();
		supIcon.image = "http://www.schneider-prell.de/img/gmap.gif";
		supIcon.iconSize = new GSize(90,90);
		supIcon.iconAnchor = new GPoint(15,20);
		supIcon.infoWindowAnchor = new GPoint(15,0);


		var geocoder = new GClientGeocoder();
		
		  geocoder.getLatLng(
		    address,
		    function(point) {
		      if (!point) {
		        alert("Adresse icht gefunden");
		      } else {
		        map.setCenter(point, 13);
		        var marker = new GMarker(point, supIcon);
		        GEvent.addListener(marker, "click", 
		        		function() {marker.openInfoWindowHtml('<table><tr><td style="vertical-align: top;"><img src="./ff_webserver/' + imageurl + '" style="width: 60px; height: 60px;" /></td><td style="text-align: left; padding-left: 5px;">Obj-Nr.: ' + nummer + '<br>' + objektart + '<br>' + nutzart + '<br>' + address + '</td></tr></table>');}
		        );
		        
		        map.addOverlay(marker);
		      }
		    }
		  );
	}
	
	ddequalcolumns.resetHeights();
}

function initKontaktMap(address)
{
	if (GBrowserIsCompatible()) 
	{
		var map = new GMap2($('map'));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());

		var supIcon = new GIcon();
		supIcon.image = "http://www.schneider-prell.de/img/gkontakt.gif";
		supIcon.iconSize = new GSize(60,60);
		supIcon.iconAnchor = new GPoint(15,20);
		supIcon.infoWindowAnchor = new GPoint(15,0);


		var geocoder = new GClientGeocoder();
		
		  geocoder.getLatLng(
		    address,
		    function(point) {
		      if (!point) {
		        alert(address + " not found");
		      } else {
		        map.setCenter(point, 15);
		        var marker = new GMarker(point, supIcon);
		        GEvent.addListener(marker, "click", 
		        		function() {marker.openInfoWindowHtml('<table><tr><td style="vertical-align: top;"><img src="./ff_webserver/' + imageurl + '" style="width: 60px; height: 60px;" /></td><td style="text-align: left; padding-left: 5px;">Obj-Nr.: ' + nummer + '<br>' + objektart + '<br>' + nutzart + '<br>' + address + '</td></tr></table>');}
		        );
		        
		        map.addOverlay(marker);
		      }
		    }
		  );
	}
	
	ddequalcolumns.resetHeights();
}