// 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') {
		var msg = new Array();
		for (var i = 0; i < arguments.length; i++) {
			msg.push(arguments[i]);
		}
		console.log(msg);
	}
}

(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'));
			$('div.gallery').ifixpng();
		}

		$('#content').jScrollPane();

		Page.bind('openGmap', function(e){
			$('<div />').attr('id', 'backarea').appendTo('#container');
			var $gmap = $('<div id="layer"><div id="gmap"></div><div id="close"></div></div>')
			var speed = 'slow';
			if ($.browser.msie) {
				speed = 0;
			}
			$gmap.hide().appendTo('#container').fadeIn(speed, function(){
				loadGmapScript();
				$('#close,#backarea').bind('click', function(){
					Page.trigger('closeGmap');
				});
			});
		});
		
		Page.bind('closeGmap', function(e){
			var speed = 'slow';
			if ($.browser.msie) {
				speed = 0;
			}
			$('#bglayer,#layer,#backarea').fadeOut(speed, function(){
				$(this).remove();	
			});
		});
		
		var i = 0;
		var images = [];
		var dir = Array();
		dir[0] = ['bottom right', 'top left'];
		dir[1] = ['top right', 'bottom left'];
		$('.gallery img').each(function() {
			var obj = {src: $(this).attr('src'), from: dir[i%2][0], to: dir[i%2][1], time: 8 }
			images.push(obj);	
			i++;
		});
		$('div.images').crossSlide({
		  fade: 1
		}, images);
	
		$('a.anfahrt').bind('click', function(){
			Page.trigger('openGmap');
			return false;
		});

		$.blubberBrands();
		if ($('.jScrollPaneTrack').length) {
			$('<div />').attr('class', 'jFakeBackground').appendTo('#container');	
		}
	});

	$.randOrd = function() {
		return (Math.round(Math.random())-0.5); 
	};

	$.slowEach = function( interval, array, callback ) {
		if( ! array.length ) return;
		var i = 0;
		next();
		function next() {
			if( callback.call( array[i], i, array[i] ) !== false )
				if( ++i < array.length )
					setTimeout( next, interval );
		}
	};

	$.blubberBrands = function() {
		var order = new Array();
		var $imgs = $('.blubber img');
		for (var i = 0; i < $imgs.length; i++) {
			order.push(i);
		}
		order.sort($.randOrd);
		$.slowEach(200, order, function(i,val) {
			$imgs.eq(val).show('scale');
		});
	};
	
})(jQuery);

function loadMap() {
	map = new GMap2(document.getElementById("gmap"));

	var top1 = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(2,2));
	this.map.addControl(new GMapTypeControl(), top1);
	var top2 = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(2,25));
	this.map.addControl(new GSmallMapControl(), top2);

	var geoCodes = [{x: 7.66071081, y: 47.61385182}]
	var point = new GLatLng(geoCodes[0].y, geoCodes[0].x);
	var marker = new GMarker(point, {title:"My House"});
	this.map.setCenter(point, 17);

	this.map.addOverlay(marker); 
	this.map.openInfoWindowHtml(point,"<h3>Modehaus Diehl</h3><p>Tumringer Straße 205<br/>79540 Lörrach</p>");
}

function loadGmapScript() {
	var script = document.createElement("script");
	var apiKey = jQuery('#api-key').html();
	script.type = "text/javascript";
	script.src = "http://maps.google.com/maps?file=api&v=2.x&key="+apiKey+"&async=2&callback=loadMap";
	document.body.appendChild(script);
}
