

function setOpacities() {
	$$('.teaser_bg, .teaser_content_bg').each(function(bg) {
		new Effect.Fade(bg, { to: 0.6, duration: 0 });
	});
}

function setEvents() {
	var elements = $$('.teaser_wrapper');
	elements.each(function(teaser) {
		teaser.observe('mouseover', function() {
			elements.without(teaser).each(function(el) { el.down('.teaser_content').setStyle({ top: '0px' }) });
			teaser.down('.teaser_content').setStyle({ top: '-227px' });
		});
	});
}
/*
var language;
var reason = $('reasons');
var reason_links = $$('#reasons a');
var reasons = $A([
	"Sicherheit immer gewährleistet",
	"Keine Serverkosten und Green IT",
	"Plattform-Unabhängigkeit",
	"Keine aufwändige Installation nötig",
	"Unbegrenzter Dateitransfer",
	"Multimedialer Chat und Voice Chat"
]);

var reasons_en = $A([
	"Reassured security",
	"No server costs / Green IT",
	"Platform independent",
	"No installation required",
	//"No time-consuming installation required",
	"Unlimited data transfer",
	"Multimedia chat and voice chat"
]);
var reason_texts = $A([
	"Verschlüsselte Kommunikation und Benutzerauthentifizierung sorgen für ein Höchstmaß an Sicherheit.",
	"Dezentrale Grid-Technologie ermöglicht Echtzeitkommunikation ohne Server als Vermittlungsstelle. Das spart Kosten und schont die Umwelt.",
	"GridIM unterstützt Windows, Linux, Mac OS und kann in Internet Explorer, Firefox, Safari und Opera ausgeführt werden.",
	"Echtzeitkommunikation bereits über einen einfachen Internet-Browser.  GridIM kann aber auch unkompliziert auf dem Desktop installiert werden.",
	"Übertragen Sie beliebig große Dateien – sogar ganze DVDs können sicher und von jedem Standort aus übermittelt werden.",
	"Rufen Sie Ihren Gesprächspartner doch einfach an - oder bereichern Sie den Inhalt Ihres Chats mit Bildern, Links und Sounds."
]);
var reason_texts_en = $A([
	"Encoded communication and user authentication care for highest possible security standards.",
	"Peripheral Grid-technology enables real-time communication without server nodes. Less consume of energy safes costs and preserves our resources.",
	"GridIM supports Windows, Linux, Mac OS and can be run through Internet Explorer, Firefox, Safari and Opera.",
	"Communicate real-time without installation through your internet browser. Uncomplicated installation on your desktop – if required.",
	"Transfer unlimited amounts of data – even the content of a full DVD may be transferred safely from anywhere in the world.",
	"Not content with writing, only? Simply call your messenger contacts – or enhance the content of your chat with pictures, links and sounds."
]);

var teaseMe = $A([
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'09:26 GMT', 'text':'GridIM. Aller Anfang ist leicht.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'09:45 GMT', 'text':'GridIM. Von Mensch zu Mensch.' },
	{ 'lat':'48.143488', 'lng':'11.578901', 'time':'10:04 GMT', 'text':'Nutze den Augenblick. Entdecke die Freiheit.' },
	{ 'lat':'48.143488', 'lng':'11.578901', 'time':'10:04 GMT', 'text':'GridIM. Für jeden schönen Augenblick.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'10:51 GMT', 'text':'GridIM. Für eine Welt der Möglichkeiten.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'11:09 GMT', 'text':'GridIM. Für die Kunst der Einfachheit.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'11:14 GMT', 'text':'Bietet Lösungen wo Sie gebraucht werden. Weltweit.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'12:20 GMT', 'text':'GridIM. Die Kraft der Unabhängigkeit.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'12:27 GMT', 'text':'In einer schöneren Welt. GridIM.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'17:56 GMT', 'text':'GridIM. Intuition logisch eingesetzt.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'18:22 GMT', 'text':'Stellt ihre Welt Kopf. GridIM.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'18:22 GMT', 'text':'Erweitert Horizonte. Eröffnet Möglichkeiten. GridIM.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'18:07 GMT', 'text':'Für schöne Zeiten jederzeit. GridIM.' },
	{ 'lat':'48.122039', 'lng':'11.559027', 'time':'17:21 GMT', 'text':'So optimieren Sie Ressourcen und schonen dabei die Umwelt.' },
	{ 'lat':'48.122039', 'lng':'11.559027', 'time':'17:22 GMT', 'text':'Für einen Schwerpunkt auf Landschaft. Nicht auf Server. GridIM.' },
	{ 'lat':'48.132285', 'lng':'11.600081', 'time':'09:30 GMT', 'text':'Für klare Kommunikation. GridIM.' },
	{ 'lat':'48.122039', 'lng':'11.559027', 'time':'16:09 GMT', 'text':'Effizienz ist ihr Ziel. GridIM ist ihr Werkzeug.' },
	{ 'lat':'47.993806', 'lng':'11.501954', 'time':'13:02 GMT', 'text':'Für mehr Zeit. GridIM.' },
	{ 'lat':'47.993806', 'lng':'11.501954', 'time':'12:42 GMT', 'text':'GridIM bringt Einfachheit in ihren Geschäftsalltag.' },
	{ 'lat':'48.003703', 'lng':'11.349585', 'time':'10:36 GMT', 'text':'Mit GridIM findet jedes Dokument sein Ziel. Mit Sicherheit.' },
	{ 'lat':'48.003703', 'lng':'11.349585', 'time':'10:13 GMT', 'text':'Für mehr Datensicherheit. GridIM.' },
	{ 'lat':'48.108313', 'lng':'11.501954', 'time':'09:02 GMT', 'text':'GridIM. Für mehr Komfort und Vielfalt.' },
	{ 'lat':'48.144495', 'lng':'11.578281', 'time':'08:27 GMT', 'text':'Ihr Start in den Tag leicht gemacht. GridIM.' }
]);

*/


function rand(max) {
	return parseInt( Math.random() * ( max+1 ) );
}

var rIndex = 1;

/*var tIndex = rand(teaseMe.length);*/

/*
function setReasons() {	
	reason.down('span').observe("click", function(e) {
		var cElement = e.element();
		switchReason(cElement);
	});
	new PeriodicalExecuter(function() {
		switchReason(reason_links[rIndex]);
		rIndex = (rIndex == (reasons.length -1)) ? 0 : rIndex + 1;
	}, 15);
}
function switchReason(cElement) {
	var reason_array = (language == "en") ? reasons_en : reasons;
	var reason_text_array = (language == "en") ? reason_texts_en : reason_texts;
	if (cElement.tagName.toLowerCase() == 'a') {
		var index = reason_links.indexOf(cElement);
		rIndex = index;
		reason.down('h4').innerHTML = reason_array[index];
		reason.down('p').innerHTML = reason_text_array[index];
		reason_links.invoke("removeClassName", "current");
		cElement.addClassName('current');
		reason.down('div').setStyle({ backgroundPosition: -(index * 63) + "px 0" });
	}
	return false;
}
*/
function leadzero(number) {
	if ((number + "").length == 1)
		return "0" + number;
	else
		return number;
}

function fourNumbers(number) {
	var length = 4 - (number + "").length;
	if (length != 4) {
		var str = "";
		for (var i = length - 1; i >= 0; i--){
			str += "0";
		};
		return str + number
	}
	else return number;
}
/*
function getDate(dateString) {
	var hour = dateString.match(/T(\d{2})/)[1];
	var minutes = dateString.match(/T\d{2}:(\d{2})/)[1];
	return hour + ":" + minutes + " GMT";
}
*/

/*
function switchTease() {
	if (typeof(geoMessages[tIndex]) == 'undefined')
		return false;
	var hash = geoMessages[tIndex]['location'];
	$('loc_data').innerHTML = "BG " + hash['lat'].truncate(8, "") + "<br/>LG " + hash['lng'].truncate(8, "");
	$('time_data').innerHTML = getDate(hash['created_at']);
	$('comment').innerHTML = hash['text'];
	if (geoMessagesImages[tIndex])
		$('tease').down('img').src = '/location_images/0000/' + fourNumbers(geoMessagesImages[tIndex]['location_image']['id']) + "/" + geoMessagesImages[tIndex]['location_image']['filename'];
	tIndex = (tIndex == (geoMessages.length - 1)) ? 0 : tIndex + 1;
}

function setTeaseMe() {
	new PeriodicalExecuter(function() {
		switchTease();
	}, 14);
}
*/
function setLanguage() {
	language = window.location.href.match(/\.com/) ? "en" : window.location.href.match(/lang=en/) ? "en" : "de";
}

function init() {
	setLanguage();
	setOpacities();
	setEvents();
	//setReasons();
	//setTeaseMe();
}


var marker = 0;
Map = Class.create({
	initialize: function() {
		var form = $('map_form').innerHTML;
		$('map_form').remove();
		GEvent.addListener(google_map,"click", function(overlay, point) {  
			var coords = google_map.fromContainerPixelToLatLng(point);
			if (marker == 0) {
				marker = new GMarker(point, { draggable: true });			
				GEvent.addListener(marker, "dragstart", function() {
					google_map.closeInfoWindow();
				});
				GEvent.addListener(marker, "dragend", function() {
					marker.openInfoWindowHtml(form);
					setTimeout(function() {
						doCaptcha('recaptcha', 'red');
						var point = marker.getLatLng()
						$('location_lat').value = point.lat();
						$('location_lng').value = point.lng();
					},200)
				});				
				google_map.addOverlay(marker);
				marker.openInfoWindowHtml(form);
				setTimeout(function() {
					doCaptcha('recaptcha', 'red');
					var point = marker.getLatLng()
					$('location_lat').value = point.lat();
					$('location_lng').value = point.lng();
				},200)
			}
		});
	},
	removeMarker: function() {
		marker.remove();
		marker = 0;
	},
	placeMarker: function(lat, lng, imageURL, imageX, imageY, html) {
		var self = this;
		if (imageURL == 'marker') {
			var icon = new GIcon();
			icon.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
			icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
			icon.iconSize = new GSize(12, 20);
			icon.shadowSize = new GSize(22, 20);
			icon.iconAnchor = new GPoint(6, 20);
			icon.infoWindowAnchor = new GPoint(5, 1);
		}
		else {
			var icon = new GIcon();
			icon.image = imageURL;
			icon.iconSize = new GSize(imageX, imageY);
			icon.iconAnchor = new GPoint(6, 20);
			icon.infoWindowAnchor = new GPoint(12, 1);
		}
		self.new_marker = new GMarker(new GLatLng(lat, lng), icon);
		GEvent.addListener(self.new_marker, 'click', function() { self.new_marker.openInfoWindowHtml(html) });
		google_map.addOverlay(self.new_marker);
	}
});

function doCaptcha(element, themeName) {
	if ($('recaptcha_area')) {
		Recaptcha.reload();
	}
	else {
		Recaptcha.create(recaptcha_public_key, element, {
			theme: themeName,
			tabindex: 0,
			callback: Recaptcha.focus_response_field
		});
	}
}

function openMessenger() {
	var width = 409;
	var height = 500;
	window.open("/main/applet", "GridIM", "width=" + width + ",height=" + height + ",status=no,toolbar=no,resizable=yes,menubar=no,location=no,scrollbars=0"); //
}


function initMap() {
	map = new Map()
}

function resize() {
	dimensions = document.viewport.getDimensions();
	var width = dimensions['width'];
	var height = dimensions['height'];
	if (Prototype.Browser.WebKit) {
		height -= 5, width -= 5;
	}
	if (document.applets.messengerApplet) {
		document.applets.messengerApplet.width = width;
		document.applets.messengerApplet.height = height;
		window.scroll(0,0);
	}
}
var app;
function initMessenger() {
	Event.observe(window, 'resize', resize);
	window.onload = resize;
	javaCheck();
}
function appletMainStarted() {
	window.resizeTo(540, 660);
};
function appletHasLoaded() {  }
function ownIdentityOnlineStateChanged() {  }
function messageTextReceived() {  }

function javaCheck() {
	if (navigator.javaEnabled()) {
		/*if (Prototype.Browser.Opera) {
			insertMessengerApplet();
			app = 'gridIM';
		}
		else
			insertTestApplet(); */
		insertMessengerApplet();
	}
	else
		noJava();
}
/*
function insertTestApplet() {
	var testApplet = "<applet id='testApplet' name='testApplet' mayscript='true' width='0' height='0' codebase='/java/' code='JavaVersionDisplayApplet.class'></applet>";
	$$('body')[0].insert({ top: testApplet });
	while (typeof(app) == 'undefined') {
		javaVersionCheck();
	}
}

function insertMessengerApplet() {
	var language = window.location.href.match(/\.com/) ? 'en_US' : 'de_DE';
	var applet = "<applet id='applet' name='messengerApplet' width='409' height='500' MAYSCRIPT='true' codebase='/java/' archive='gridim-widget-1.0.jar,gridim-gridnode-1.0.jar,gridim-softphone-1.0.jar,stripped-js.jar,servlet-api-2.5-6.1.6.jar,script-js.jar,script-api.jar,jetty-util-6.1.6.jar,jetty-6.1.6.jar,jen-xml-1.0.jar,jen-rc-2.0.jar,jen-infinity-1.0.jar,jen-commons-2.0.jar,jen-auth-1.0.jar,slf4j-api-1.5.2.jar,slf4j-jcl-1.5.2.jar,gridim-ui-1.0.jar,gridim-ri-1.0.jar,gridim-1.0.jar,gevo-kernel-ri.jar,gevo-kernel.jar' code='de.jenomics.gevo.gridim.widget.Application'>\n\
		<param name='plugins' value='gridim-gridnode-1.0.jar' />\n\
		<param name='language' value='" + language + "' />\n\
		<param name='profile' value='gevo' />\n\
		<param name='directory' value='gevo-applet' />\n\
		<param name='visible' value='true' />\n\
		<param name='debug' value='false' />\n\
		<param name='frameless' value='false' />\n\
		<param name='values' value='gridim-gridnode-1.0.relayNodeUrls,http://dev8.grid-evolution.de:80/'/>\n\
	</applet>";
	$$('body')[0].insert({ top: applet });
}

function javaVersionCheck()
{
	if (Prototype.Browser.Opera) {
		insertMessengerApplet();
		app = "gridIM";
		return false;
	}
	app = document.applets['testApplet'];
	var version = app.getVersion();
	var vendor = app.getVendor();
	//console.log("vendor:" + vendor + " - version: " + parseFloat(version));
	if (parseFloat(version) > 1.4)
		insertMessengerApplet();
	else
		noJava();
}
function noJava() {
	$('noJava').show();
}
*/
