// Debugging-Function. Only active in Browser who support it
function pr() {
	if (!window.console) {
		return;
	}
	if (typeof window.console !== 'undefined' && typeof window.console.log === 'function') {
		console.log(pr.arguments);
	}
}

if (location.hash) {
	location.href = location.hash.replace('#', '');
	try {
		GUnload();
	} catch(e) {
	}
}

(function($) {
	// Produces correct URLs relative to Router::url('/)
	$.url = function(url) {
	  return $('meta[name=identifier-url]').attr('content')+url.substr(1);
	};

	$(function() {
		// Generate a Page-Object to bind events on
		window.Page = $('body');
		
		//Take care about the non-js fallback-version of the site 
		$('body').addClass('js').removeClass('no-js');
		 
		// Make external links open in a new window
		$('a[rel=external]').live('click', function() {
			window.open(this.href);
			return false;
		});

		// Fix Alpha-PNG's for IE6
		if ($.browser.msie && $.browser.version < 7) {
			$.ifixpng($.url('/js/jquery/ifixpng/pixel.gif'));
			$('img[src$=.png]').ifixpng();
		}

	/* Menu */
	$('<div/>').attr('id', 'sub-menu-bg').appendTo('body');
	
	var animating = false;
	$('ul#main-menu li a').hover(function(){
		if(animating === true) {
			return false;
		}
		animating = true;
		$('#sub-menu-bg, #sub-menu').slideDown(function(){ animating = false; });

	}, function() {
		$('#menu').mouseleave(function() {
		if(animating === true) {
			return false;
		}
			animating = true;				
			$('#sub-menu-bg, #sub-menu').slideUp(function(){ animating = false; });
		
		});
		
	});

		
	/* Accordion */
		
	$('.acc-trigger a').live('click', function(e){ // select h2-trigger
		if( $(this).closest('.acc-trigger').next().children().is(':hidden') ) { // check if the next paragraph is closed
			$('.acc-trigger').removeClass('active').next().slideUp(); // if this is the case remove all "active" state and slide up the immediate next container
			$(this).closest('.acc-trigger').toggleClass('active').next().slideDown(); //Add "active" state to clicked trigger and slide down the immediate next container
		}
		e.stopPropagation();
		return false; //Prevent the browser jump to the link anchor
	});
	

	/* show communities */
	var ginitialized = false;
	$(".communities").click(function() {
			$('#brands-overlay, #drive-overlay, #drive-arrow, #gmap-drive').hide();
			$("#communities-overlay, #gmap").fadeIn( function() {  
				if(ginitialized === false) { 
					gMapInitializeEnterprise(); 
					ginitialized = true; 
				} 
			});
			return false;
	});

	$("#communities-overlay .close").live('click', function() {
		$("#communities-overlay, #gmap").hide();
		return false;
	});
		
	/* show brands */
	
	$("#brands").live('hover', function() {
		$('#drive-overlay, #drive-arrow, #gmap-drive, #communities-overlay, #gmap').hide();
		$("#brands-overlay").fadeIn(600);

		return false;
	});
	
	$(".brands-close").live('click', function() {
		$("#brands-overlay").hide();

		return false;
	});
	
	$('div#brands-overlay ul:first').addClass('active');
		
		function switchBrands() {
			var $next = $('div#brands-overlay ul.active').next('ul');
			if ($next.length < 1) {
				$next = $('div#brands-overlay ul:first');
			}
			
			$('div#brands-overlay ul.active').fadeOut(500);
			$('div#brands-overlay ul').removeClass('active');
			$next.addClass('active');
			$next.show();
				
			return false;
		}
	
	var timer = setInterval(switchBrands, 5000);


	/* show drive */
	initialized = false;
	$(".drive").live('click', function() {
			$('#communities-overlay, #gmap, #brands-overlay').hide();
			$('#drive-overlay, #drive-arrow').fadeIn();
			$("#gmap-drive").fadeIn( function() {  
				if(initialized === false) { 
					gMapInitializeDrive();
					initialized = true;
				} 
			});
			return false;
	});
	
	$(".drive-close").live('click', function() {
		$("#drive-overlay, #drive-arrow, #gmap-drive").hide();
		return false;
	});
	
	
	/* Tabs */
	
	$('p.tabs a').live('click', function(){
			$("#news-wrap a").removeClass('active');
			$(this).addClass('active');
			
			$('#news > div').removeClass('show');
			
			var content_id = $(this).attr("id");
			var content = "." + content_id;
			$(content).addClass('show');
			
			return false;
	});
	
	/* date picker */
	
	$('a[href="aktuelle"]').live('click', function() {
		$('#old-dates').addClass('hide');
		$('a[href="vergangene"]').removeClass('active');
		$('#new-dates').removeClass('hide').show();
		$('a[href="aktuelle"]').addClass('active');
		return false;
	});
	
	$('a[href="vergangene"]').live('click', function() {
		$('#new-dates').addClass('hide');
		$('a[href="aktuelle"]').removeClass('active');
		$('#old-dates').removeClass('hide').show();
		$('a[href="vergangene"]').addClass('active');
		return false;
	});
	
	/* newsletter form */
	
	$('#newsletter-form input').not('input[type=submit]').each(function(){
			$(this).data('text', $(this).attr('value'));
		});
		$('#newsletter-form input').not('input[type=submit]').bind('focus', function(){
			if ($(this).data('text') === $(this).attr('value')) {
				$(this).attr('value', '');
			}
		}).bind('blur', function(){
			$('#newsletter-form input').not('input[type=submit]').each(function(){
				if ($(this).attr('value').length < 1) {
					$(this).attr('value', $(this).data('text'));
				}
			});
	});


});


function createMap(mapWrap) {
	
	if($('#' + mapWrap).length < 1) {
			return false;
	}
	
	var el = document.getElementById(mapWrap);
	var map = new GMap2(el);

	return map;
}

function defineMap(map) {
	
	// shows new 3D controls
	var customUI = map.getDefaultUI();
	map.setUI(customUI);

	// Set map type
	map.setMapType(G_NORMAL_MAP);

}



window.gMapInitializeEnterprise = function () {
	
	var places = {
				'bellingen': Array('Gemeinde Bad Bellingen', 'Rheinstr. 25, 79415 Bad Bellingen', 'www.gemeinde-bad-bellingen.de' , 47.73128, 7.55621),
				'dogern': Array('Gemeinde Dogern', 'Rathausweg 1, 79804 Dogern', 'www.dogern.de', 47.60875, 8.1677),
				'eimeldingen': Array('Gemeinde Eimeldingen', 'Dorfstr. 1, 79591 Eimeldingen', '', 47.63168, 7.59555),
				'grenzach': Array('Gemeinde Grenzach-Wyhlen', 'Hauptstr. 10, 79639 Grenzach-Wyhlen', 'www.grenzach-wyhlen.de', 47.55524, 7.66233),
				'hausen': Array('Gemeinde Hausen', 'Bahnhofstr. 9, 79688 Hausen i. Wiesental', 'www.hausen-im-wiesental.de', 47.68068, 7.84289),
				'haeusern': Array('Gemeinde H&auml;usern', 'St. Fridolinstrasse 5, 79837 Häusern', '', 47.75307, 8.16866),
				'ibach': Array('Gemeinde Ibach', 'Oberibach 6, 79837 Ibach', 'www.ibach-schwarzwald.de' , 47.7426, 8.06726),
				'kleinwi': Array('Gemeinde Kleines Wiesental', 'Tegernauer Landstraße 10, 79692 Kleines Wiesental', 'www.gdekw.de', 47.71968, 7.79589),
				'klettgau': Array('Gemeinde Klettgau', 'Degernauerstraße 22, 79771 Klettgau', 'www.klettgau.de', 47.65726, 8.42165),
                'lauchringen': Array('Gemeinde Lauchringen','Hohrainstrasse 59, 79787 Lauchringen','www.lauchringen.de', 47.62775, 8.31426),
                'lottstetten': Array('Gemeinde Lottstetten','Rathausplatz 1,79807 Lottstetten','www.lottstetten.de', 47.62699, 8.57197),
                'maulburg': Array('Gemeinde Maulburg', 'Hermann-Burte-Str. 55, 79689 Maulburg',	'www.maulburg.de', 47.64135, 7.7796),
                'murg': Array('Gemeinde Murg','Hauptstrasse 52,	79730 Murg', 'www.murg.de', 47.55359, 8.02346),
                'rickenbach': Array('Gemeinde Rickenbach', 'Hauptstrasse 7, 79736 Rickenbach', 'www.rickenbach.de', 47.62038, 7.98101),
                'schwoerstadt': Array('Gemeinde Schwörstadt', 'Hauptstr. 107, 79739 Schwörstadt', 'www.schwoerstadt.de', 47.59216, 7.87375),
				'weilheim': Array('Gemeinde Weilheim','Badener Platz 1, 79809 Weilheim', 'www.weilheim-baden.de', 47.65797, 8.23963),
				'wutoeschingen': Array('Gemeinde Wutöschingen',	'Kirchstrasse 5, 79793 Wutöschingen', 'www.wutoeschingen.de', 47.6598, 8.36488),
				'gewschopfheim': Array('Gewerbe Akademie Schopfheim', 'Belchenstrasse 74, 79650 Schopfheim', '', 47.6447, 7.81157),		
				'badsaeck': Array('Stadt Bad Säckingen', 'Rathausplatz 1, 79702 Bad Säckingen', 'www.bad-saeckingen.de', 47.5527, 7.94978),
				'laufenburg': Array('Stadt Laufenburg',	'Hauptstrasse 30, 79725 Laufenburg', 'www.laufenburg-baden.de', 47.56455, 8.06339),
				'loerrach': Array('Stadt Lörrach','Luisenstr. 16, 79539 Lörrach', 'www.loerrach.de', 47.61516, 7.66438),
				'rheinfelden':Array('Stadt Rheinfelden', 'Kirchplatz 2, 79618 Rheinfelden',	'www.rheinfelden-baden.de', 47.56048, 7.78602),
				'schoenau': Array('Stadt Schönau', 'Talstr. 22,	79677 Schönau im Schw.', 'www.schoenau-im-schwarzwald.de', 47.78621, 7.89356),
				'stschopfheim': Array('Stadt Schopfheim','Hauptstr.29-31, 79650 Schopfheim', 'www.schopfheim.de', 47.64996, 7.8208),
				'todtnau': Array('Stadt Todtnau', 'Meinrad-Thoma-Str. 8, 79674 Todtnau', 'www.todtnau.de', 47.83035, 7.94469),
				'waldshut': Array('Stadt Waldshut-Tiengen','Kaiserstraße 28-32, 79761 Waldshut-Tiengen', 'www.waldshut-tiengen.de', 47.62278, 8.21315),
				'wehr': Array('Stadt Wehr',	'Hauptstraße 16, 79664 Wehr', 'www.wehr.de', 47.62613, 7.9051),
				'weil': Array('Stadt Weil am Rhein', 'Rathausplatz 1, 79576 Weil am Rhein', 'www.weil-am-rhein.de', 47.59354, 7.61175)
				};

	var map = createMap('gmap');
	defineMap(map);
	
	var point = new GLatLng(places.rickenbach[3], places.rickenbach[4]);
			
	var marker = new GMarker(point);
	map.setCenter(point, 9);
	
	var markers = [];
	var i = 0;

	$.each(places, function(name, value) {
		var point = new GLatLng(value[3], value[4]);
		var marker = new GMarker(point);
		marker.myhtml = '<div class="map"><h2>'+ value[0] +'</h2><p>'+ value[1] +'<br/><a href="http://'+ value[2] +'" target="_blank">'+ value[0] +'</a></p></div>';
		map.addOverlay(marker);
		markers[i] = marker;
		i++;
	});
	
	GEvent.addListener(map, 'click', function(overlay, point) {
		if (overlay) {
			// we now need a check here in case the overlay is the info window
			// only our markers will have a .myhtml property
			if (overlay.myhtml) {
				overlay.openInfoWindowHtml(overlay.myhtml);
			}
		}
	});
	GEvent.trigger(marker, 'click');
	
};


window.gMapInitializeDrive = function () {
	
	var map = createMap('gmap-drive');
	
	defineMap(map);
	
	var point = new GLatLng(47.61025, 7.65813);
			
	var marker = new GMarker(point);
	map.setCenter(point, 14);
	marker.myhtml = '<div class="map"><h2>Wirtschaftsregion Südwest</h2><p>Marie-Curie-Straße 8, Lörrach<br/><a href="http://www.wsw.eu">www.wsw.eu</a><br/><a href="http://maps.google.de/maps?f=d&source=s_d&saddr=&daddr=Marie-Curie-Stra%C3%9Fe+8,+Stetten+79539+L%C3%B6rrach,+Baden-W%C3%BCrttemberg&geocode=FYp51gIdktp0ACn730zslrCRRzEuckEzA_e9yw&hl=de&mra=ltm&sll=47.610431,7.658136&sspn=0.009721,0.022852&ie=UTF8&z=16" rel="external">Route berechnen</a></p></div>';
	map.addOverlay(marker);
	
	GEvent.addListener(map, 'click', function(overlay, point) {
		if (overlay) {
			// we now need a check here in case the overlay is the info window
			// only our markers will have a .myhtml property
			if (overlay.myhtml) {
				overlay.openInfoWindowHtml(overlay.myhtml);
			}
		}
	});
	GEvent.trigger(marker, 'click');
	
};

})(jQuery);

if (typeof google != "undefined") {
	google.load("maps", "2.x");
}

