//Browser detection

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
	//  Browser name: BrowserDetect.browser
	// Browser version: BrowserDetect.version
	// OS name: BrowserDetect.OS

};




// Funktion zum verschieben von Teasern
function slideRow(direction) {
	var left = $('slideDivRow').getStyle('left');
	if ( (left == '0px') || (left == '-354px') || (left == '-708px') ) {
		if (!$('slide_position')){
			$('pageContainer').insert('<input type="hidden" id="slide_position" value="1" />');
		}
		var position = eval($('slide_position').getValue());
		if (direction == 'next') {
			switch(position)
			{
			case 1:
				if($('slideDiv3')){
					new Effect.Move('slideDivRow', { x: -354, y: 0 });
					$('sPager1').removeClassName('current');
					$('sPager2').addClassName('current');
					var position = eval(position) +1;
					$('btn_slideDivLeft').removeClassName('disabled');
					if(!$('slideDiv5')){
						$('btn_slideDivRight').addClassName('disabled');
					}
				}
			  break;
			case 2:
				if($('slideDiv5')){
					new Effect.Move('slideDivRow', { x: -354, y: 0 });
					$('sPager2').removeClassName('current');
					$('sPager3').addClassName('current');
					var position = eval(position) +1;
					$('btn_slideDivRight').addClassName('disabled');
				}
			break;
			}

			$('slide_position').setValue(position);
		}
		else if (direction == 'last') {
			switch(position)
			{
			case 2:
				new Effect.Move('slideDivRow', { x: 354, y: 0 });
				$('sPager2').removeClassName('current');
				$('sPager1').addClassName('current');
				var position = eval(position) -1;
				$('btn_slideDivLeft').addClassName('disabled');
				if (!($$('div.sliderDivContent').size() > 4)){
					$('btn_slideDivRight').removeClassName('disabled');
				}
			  break;
			case 3:
				new Effect.Move('slideDivRow', { x: 354, y: 0 });
				$('sPager3').removeClassName('current');
				$('sPager2').addClassName('current');
				var position = eval(position) -1;
				$('btn_slideDivRight').removeClassName('disabled');
			  break;
			}

			$('slide_position').setValue(position);
		}
	}
}

// direkter Spung zu Teaser
/*
	TODO
		ausgrauen des Buttons wenn weniger als 6 Teaser
		autoscroll muss noch eingebaut werden, sowie dessen beenden bei mouse over
*/
function slideRowTo(direction) {

	var left = $('slideDivRow').getStyle('left');
	if (!$('slide_position')){
		$('pageContainer').insert('<input type="hidden" id="slide_position" value="1" />');
	}
	if (left == '0px') {
		if (direction == 2){
			new Effect.Move('slideDivRow', { x: -354, y: 0 });
			$('sPager1').removeClassName('current');
			$('sPager2').addClassName('current');
			$('slide_position').setValue(2);
			$('btn_slideDivLeft').removeClassName('disabled');
			if(!$('slideDiv5')){
				$('btn_slideDivRight').addClassName('disabled');
			}
			else{
				$('btn_slideDivRight').removeClassName('disabled');
			}
		}
		if (direction == 3){
			new Effect.Move('slideDivRow', { x: -708, y: 0 });
			$('sPager1').removeClassName('current');
			$('sPager3').addClassName('current');
			$('slide_position').setValue(3);
			$('btn_slideDivLeft').removeClassName('disabled');
			$('btn_slideDivRight').addClassName('disabled');
		}
	}
	if (left == '-354px') {
		if (direction == 1){
			new Effect.Move('slideDivRow', { x: 354, y: 0 });
			$('sPager2').removeClassName('current');
			$('sPager1').addClassName('current');
			$('slide_position').setValue(1);
			$('btn_slideDivLeft').addClassName('disabled');
			$('btn_slideDivRight').removeClassName('disabled');
		}
		if (direction == 3){
			new Effect.Move('slideDivRow', { x: -354, y: 0 });
			$('sPager2').removeClassName('current');
			$('sPager3').addClassName('current');
			$('slide_position').setValue(3);
			$('btn_slideDivLeft').removeClassName('disabled');
			$('btn_slideDivRight').addClassName('disabled');
		}
	}
	if (left == '-708px') {
		if (direction == 1){
			new Effect.Move('slideDivRow', { x: 708, y: 0 });
			$('sPager3').removeClassName('current');
			$('sPager1').addClassName('current');
			$('slide_position').setValue(1);
			$('btn_slideDivLeft').addClassName('disabled');
			$('btn_slideDivRight').removeClassName('disabled');
		}
		if (direction == 2){
			new Effect.Move('slideDivRow', { x: 354, y: 0 });
			$('sPager3').removeClassName('current');
			$('sPager2').addClassName('current');
			$('slide_position').setValue(2);
			$('btn_slideDivLeft').removeClassName('disabled');
			$('btn_slideDivRight').removeClassName('disabled');
		}
	}
}


// toggleDivs setzt ein div auf display:none und ein anderes auf diesplay:block

function toggleDivs(hideId, showId) {
	$(hideId).hide();
	$(showId).show();
}




// Karten Layer

function initMap(){
BrowserDetect.init();	
	if ($('mnTabMap')) {
		document.observe('dom:loaded',function(){

		// Aufbau des Modals
		var window_factory = function(container,options){
			var modalHeader = new Element('div',{
				className: 'modalHeader'
			});
			var modalIcoActivMap = new Element('div',{
				className: 'modalIcoActivMap'
			});

			var modalContentContainer = new Element('div',{
				className: 'modalContentContainer'
			});
			var lnkCloseModalRow = new Element('div',{
				className: 'lnkCloseModalRow'
			});

			var lnkCloseModal = new Element('a',{
				className: 'lnkCloseModal'
			});
			var modalContent = new Element('div',{
				className: 'modalContent'
			});
			
			
			/*if (BrowserDetect.browser == 'Safari'){
				var browserOffset = 145;
			}
			else {*/
			var browserOffset = -596;
		
			
			
			var w = new Control.Window(container,Object.extend({
				className: 'window',
				closeOnClick: lnkCloseModal,
				position: 'relative',
				width: 660,
				height: 655,
				offsetLeft : browserOffset,
				offsetTop: 8,
				insertRemoteContentAt: modalContent,
	 			beforeOpen: function(){
					Control.Overlay.load();
					Control.Overlay.show( 0.35,true);
	         },
	 			afterClose: function(){
					Control.Overlay.hide(true);
	         }
			},options || {}));
			w.container.insert(modalHeader);
			modalHeader.insert(modalIcoActivMap);
			w.container.insert(modalContentContainer);
			modalContentContainer.insert(lnkCloseModalRow);
			lnkCloseModalRow.insert(lnkCloseModal);
			lnkCloseModal.insert('Karte schlie&szlig;en');
			modalContentContainer.insert(modalContent);
			return w;
		};

		var mapModal = window_factory($('mapModal'));

		});
	}
}
