// the homepage flag...
var homepage = false;

// the login flag...
var showLogin = true;

var currTextSize = 2;
var prevTextSize = 2;
var inOverlayForm = false;


$().ready(
	function(){

		initNavigation();
		initTextsizeStuff();
		initFormSubmit();

		//Print-Version anzeigen
		/*
		$('#showPrint').click(
			function() {
				location.href  = location.href+'?print=1';
				return false;
			}
		);
		*/

		// form element highlighting for ie6...
		if($.browser.msie && parseInt($.browser.version)==6) {
			$("input[type='text'], input[type='password'], textarea").mouseover(
				function(){
					$(this).css({'borderColor':'#4D8BBA'});
				}
			).mouseout(
				function(){
					if(document.activeElement == this){
						return false;
					}
					$(this).css({'borderColor':'#CCCCCC'});
				}
			).focus(
				function(){
					$(this).css({'borderColor':'#4D8BBA'});
				}
			).blur(
				function(){
					$(this).css({'borderColor':'#CCCCCC'});
				}
			);
		}
	}
);

//Reset Textsize icon to blue
function resetTextSizeContainer(){
	$('#textsize-container').hide();
	var _src = $('#showTextsize').children().attr('src');
	if(_src.indexOf('_orange') != -1){
		_src = _src.replace(/_orange/, "_blau");
		$('#showTextsize').children().attr("src", _src);
	}
}


//determine the stylesheet to use depending on screen width
/*function checkScreenWidth(){
		if(screen.width < 1280 || screen.height < 1024) {
			switchStylestyle('Textsize 2');
		}
		else {
			switchStylestyle('Textsize '+currTextSize);
		}
}*/

function switchStylestyle(styleName) {
	var _c = readCookie('rv24Style');

	prevTextSize = currTextSize;
	currTextSize = styleName.split('Textsize ')[1];

	if($('#minus')[0] != null && $('#plus')[0] != null) { //Abfrage um Fehler bei fehlender Support-Navigation zu verhindern
		if(currTextSize==1) {
			var _src = $('#minus')[0].src;
			_src = _src.replace(/_aktiv/,'_inaktiv');
			$('#minus').attr('src',_src);
			$('#minus').css({'cursor':''});

			_src = $('#plus')[0].src;
			_src = _src.replace(/_inaktiv/,'_aktiv');
			$('#plus').attr('src',_src);
			$('#plus').css({'cursor':'pointer'});
		}
		else if(currTextSize==4) {
			var _src = $('#plus')[0].src;
			_src = _src.replace(/_aktiv/,'_inaktiv');
			$('#plus').attr('src',_src);
			$('#plus').css({'cursor':''});

			_src = $('#minus')[0].src;
			_src = _src.replace(/_inaktiv/,'_aktiv');
			$('#minus').attr('src',_src);
			$('#minus').css({'cursor':'pointer'});
		}
		else {
			var _src = $('#minus')[0].src;
			_src = _src.replace(/_inaktiv/,'_aktiv');
			$('#minus').attr('src',_src);
			$('#minus').css({'cursor':'pointer'});

			_src = $('#plus')[0].src;
			_src = _src.replace(/_inaktiv/,'_aktiv');
			$('#plus').attr('src',_src);
			$('#plus').css({'cursor':'pointer'});
		}
	}

	if($("img.styleswitch[rel="+styleName+"]")[0] != null) {//Abfrage um Fehler bei fehlender Support-Navigation zu verhindern
		var img_new = $("img.styleswitch[rel="+styleName+"]").attr("src");
		if(img_new.indexOf('_blau') != -1) {
			var _n = img_new.replace(/_blau/, "_orange");
			$("img[rel="+styleName+"]").attr("src", _n);
		}
	}

	var img_old = $("img.styleswitch[rel=Textsize "+prevTextSize+"]").attr("src");
	if((prevTextSize != currTextSize) && img_old.indexOf('_orange') != -1) {
		var _o = img_old.replace(/_orange/, "_blau");
		$("img[rel=Textsize "+prevTextSize+"]").attr("src", _o);
	}

	//Kein Cookie gesetzt oder Schriftgroesse wurde geaendert:
	if(!_c || _c && _c!=styleName) {
		$('link[@rel*=style][@title]').each(
			function(i) {
				this.disabled = true;
				if ($(this).attr('title') == styleName) this.disabled = false;
			}
		);

		changeImgSrc();

		/*Fuer IE6 muss Groesse des Containers bei jeder Skalierung geaendert werden,
		  da sonst der Container-Inhalt nicht korrekt mitskaliert.
		  Der Wert, der hier angegeben wird ist im Grunde egal, Hauptsache er ist
		  anders als bei der vorhergehenden Skalierung. Danach wird Weite wieder auf auto,
		  was dem default-Wert entspricht, gesetzt. */
		if($.browser.msie && parseInt($.browser.version)==6) {
			$("#content-overlay-container").css({'width':currTextSize});
			$("#content-overlay-container").css({'width':'auto'});

			$("#textsize-container").css({'width':currTextSize});
			$("#textsize-container").css({'width':'auto'});
		}
		/*IFrame fuer Hilfe-Layer neu berechnen*/
		if($('.info-icon-container .HideSelect').size() > 0 && $('.border-container img.hilfe').size() > 0){
			var container = $('.info-icon-container:has(.HideSelect)').addClass('removeIFrame');
			$('.info-icon-container.removeIFrame .HideSelect').remove();
			recalculateIFrame('.info-icon-container.removeIFrame', '.info-box');
			$('.info-icon-container.removeIFrame').removeClass('removeIFrame');
		}

		createCookie('rv24Style', styleName, 365);
	}

}


/* src fuer Bilder abhaengig von aktueller Schriftgroesse aendern */
function changeImgSrc (){
	//if(_c && _c!=styleName) {

		$('img').each(
			function(){

				if("" + $(this).attr('name') == 'noresize') return;

				var _sessionid = "";
				var _s = "" + $(this).attr('src');

				/* bei deaktivierten Cookies wird Session-ID an URI gehangen:
				 * Session-ID vom Pfad abschneiden und merken um sie nach Pfadanpassung wieder anzuhaengen */
				if(_s.indexOf(";") != -1){
					var path = _s.split(";");
					_s = path[0];
					_sessionid =  ";"+ path[1];
				}
				var _p = _s.lastIndexOf(".");
				var _u = _s.lastIndexOf('_'+prevTextSize);
				var _fe = _s.substr(_p, 4);

				if(_u != -1) {
					if (currTextSize == 2)
						$(this).attr({'src':_s.substr(0, _u) + _fe + _sessionid});
					else
						$(this).attr({'src':_s.substr(0, _u) +'_'+ currTextSize + _fe + _sessionid});
				}
				else {
					if (currTextSize != 2)
						$(this).attr({'src':_s.substr(0, _p) +'_'+ currTextSize + _fe + _sessionid});
				}

				$(this).attr({'loadTrialCounter': 0});
				$(this).error(
					function(msg, url, line){
						$(this).attr({'loadTrialCounter': (parseInt($(this).attr('loadTrialCounter'))+1)});
						if($(this).attr('src') != _s || parseInt($(this).attr('loadTrialCounter')) <=2){ //trying to reload the original image twice in case of error. givin up after second trial!
							$(this).attr({'src':_s + _sessionid});
						}
						else{
							$(this).error(
								function(){}
							);
						}
						//jQuery.post("js_error_log.txt", { msg: msg, url: url, line: line });
					}
				);
			}
		);

		/*Fix fuer IE-Caching-Problem bei Bildern in Subnavigation */
		if($.browser.msie) {
			$('.sub-navigation img').each(
				function(){
					var _r = Math.random() * 10;
					var _src = this.src;
					if(_src.indexOf('?') != -1){
						_src = this.src.split('?')[0];
					}
					$(this).attr({'src':_src+'?'+_r});
				}
			);
		}
	//}
}

function initTextsizeStuff() {
	//changeImgSrc();

	//add function to textsize icons
	var _i = 1;
	$('#textsize-container .icon-container img').each(
		function(){
			$(this).css({'cursor':'pointer'});
			if(this.id != 'minus' && this.id != 'plus'){
				$(this).attr('rel', 'Textsize '+_i);
				$(this).addClass('styleswitch');
				_i++;
			}
			else
				$(this).attr('rel', '');
		}
	);

	$('.styleswitch').click(
		function(){
			var _r = this.getAttribute("rel");

			switchStylestyle(_r);
			return false;
		}
	);

	var tmpTextsize;

	$('#minus').click(
		function(){
			var _src = this.src;
			if(_src.indexOf('_inaktiv')!=-1) {
				return false;
			}

			if(currTextSize > 1) {
				tmpTextsize = currTextSize;
				switchStylestyle('Textsize '+(--tmpTextsize));
			}
		}
	);
	$('#plus').click(
		function(){
			var _src = this.src;
			if(_src.indexOf('_inaktiv')!=-1) {return false;}
			if(currTextSize < 4) {
				tmpTextsize = currTextSize;
				switchStylestyle('Textsize '+(++tmpTextsize));
			}
		}
	);

	//display textsize container on mousover on icon in metanavigation
	$('#showTextsize').mouseover(
		function(){
			var _src = $(this).children().attr('src');

			if(_src.indexOf('_blau') != -1){
				_src = _src.replace(/_blau/, "_orange");
				$(this).children().attr("src", _src);
			}

			$('#textsize-container').show().bind('mouseleave',
				function(e){
					$(this).hide();
					_src = $('#showTextsize').children().attr('src');
					if(_src.indexOf('_orange') != -1){
						_src = _src.replace(/_orange/, "_blau");
						$('#showTextsize').children().attr("src", _src);

						//resetTextSizeContainer();
					}
				}
			);
		}
	);

	var c = readCookie('rv24Style');
	if (c) {
		switchStylestyle(c);
		//currTextSize = c.split('Textsize ')[1];
	}
	else {
		//checkScreenWidth();
		switchStylestyle('Textsize '+currTextSize)
	}
}

// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days)
{
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else
		var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++){
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name){
	createCookie(name,"",-1);
}




function printAction() {
	var _fdis = false;
	if(
		$('.overlay-form-container').size() > 0 &&
		($('.overlay-form-container').css('display') == 'block' ||
		$('.overlay-form-container').css('display') == 'inline-block')
	){
		_fdis = true;
	}

	$('link[@rel*=style][@title]').each(
		function(i){
			this.disabled = true;
			if ($(this).attr('title') == 'Print') {
				this.disabled = false;
			}
			else if (_fdis && $(this).attr('title') == 'Print Form') {
				this.disabled = false;
			}
		}
	);

	window.print();
	return false;
}



/*Formular-Layer einblenden:
	Bei mehreren Formular-Layern auf einer Seite wird ein eindeutiger Klassenname des einzublendenen Layers als Parameter angegeben.
	Gibt es nur einen Layer auf der Seite, wird der Parameter nicht benoetigt. Es wird der Layer mit der Klasse 'overlay-form-container' eingeblendet.*/
function showForm(formLayer,waitScreen) {
	/**Groesse fuer halbtransparenten Layer bestimmen	**/
	var layerHeight = $("#content").outerHeight();
	var layerHeightLeft = $("#left-column-wrapper").outerHeight();

	//Ermitteln des hoeheren Containers
	if(layerHeightLeft > layerHeight){
		layerHeight = layerHeightLeft+12;
		if($.browser.msie)
			layerHeight -= 45; //sonst deutlich hoeher als im FF
	}

	var _t = 1;

	if(currTextSize == '1')
		_t = 0.91;
	else if(currTextSize == '3')
		_t = 1.2;
	else if(currTextSize == '4')
		_t = 1.4;
	layerHeight = (layerHeight / 16 / _t) + 'em';


	//Hoehe des halbtransparenten Layers kann auf der Hompage nicht ueber die Hoehe von '#content' dynamisch ermittelt werden,
	//muss hier also 'manuell' angegeben werden.
	if(homepage)//flag wird auf der Homepage auf true gesetzt.
		layerHeight = ('35.8em');

	//Hoehe des halbtransparenten Layers angeben
	$(".overlay").height(layerHeight);
	$("#overlayImg").css({'height':layerHeight});

	//und Layer einblenden
	$('#content-overlay-container').show();

	var parent;

	//Transparente Zwischengrafik einfuegen
	if($('.overlay-form-container').size() > 0 &&
		 ( $('.overlay-form-container').css('display') == 'block' ||
		   $('.overlay-form-container').css('display') == 'inline-block')	){
		var _p = $('.overlay-form-container .overlay-form').position();
		var _p_width	= (($('.overlay-form-container .overlay-form').width() + 2)/16 / _t / 0.75) +'em';
		var _p_height	= (($('.overlay-form-container .overlay-form').height() + 2)/16 / _t / 0.75) +'em';
		var _p_height2	= ((document.documentElement.scrollTop)/16 / _t / 0.75);
		var _p_height2	= (_p_height2 < 20 ? 20 : _p_height2) + 'em';
		var _p_top		= ((_p.top - 2)/16 / _t / 0.75) +'em';
		var _p_left		= ((_p.left - 2)/16 / _t / 0.75) +'em';

		if (waitScreen) {
			$('.'+formLayer).before('<div class="overlay-form-container layer-overlayImg" style="z-index: 96"><img style="margin-left: 34em; margin-top: '+_p_height2+'; height: 17.5em; width: 17.5em;" alt="Ladebalken" src="/direkt/images/rv24-ladevorgang.gif"/><img class="overLay" src="/direkt/images/layer_overlay.gif" /></div>');
			$('.layer-overlayImg img.overLay').css({'height':_p_height, 'width':'100%', 'left':'0', 'top':'0'});
		}else {
			$('.'+formLayer).before('<div class="overlay-form-container layer-overlayImg"><img src="/direkt/images/layer_overlay.gif" /></div>');
			$('.layer-overlayImg img').css({'height':_p_height, 'width':'100%', 'left':'0', 'top':'0'});
		}

		addIFrame('.layer-overlayImg', '.layer-overlayImg img', 0.75);
	}



	//Formular einblenden
	if(formLayer){
		$('.'+formLayer).show();
		parent = '.'+formLayer;
	}
	else{
		$('.overlay-form-container').show();
		parent = '.overlay-form-container';
	}

	addIFrame(parent, parent +' .overlay-form', 0.75);
	if (waitScreen) $(".HideSelect").css("z-index","91");

/*	if(!$.browser.mozilla && ( formLayer == '_datenschutz' || formLayer == '_impressum')){
		$('.'+formLayer).css({'top': parseInt($('.'+formLayer).css('top')) - 21 + 'px'});
		$('.'+formLayer).css({'left': parseInt($('.'+formLayer).css('left')) - 50 + 'px'});
	}*/
}


function deleteOverlay() {
	try {
		$('.overlay-form-container.layer-overlayImg').remove();
	}catch (Exception) {}
}

/*Formular-Layer ausblenden:
	Bei mehreren Formular-Layern auf einer Seite wird ein eindeutiger Klassenname des einzublendenen Layers als Parameter angegeben.
	Gibt es nur einen Layer auf der Seite, wird der Parameter nicht benoetigt. Es wird der Layer mit der Klasse 'overlay-form-container' ausgeblendet.*/
function hideForm(formLayer) {
	if(formLayer){
		$('.'+formLayer).hide();
		$('.'+formLayer+' .HideSelect').remove();
	}
	else {
		$('.overlay-form-container').hide();
		$('.overlay-form-container .HideSelect').remove();
	}

	//Transparente Zwischengrafik loeschen
	$('.overlay-form-container.layer-overlayImg').remove();


	//halbtransparenten Layer erst loeschen wenn keine Layer mehr eingeblendet
	if ($('.overlay-form-container:visible').size() == 0)
		$('#content-overlay-container').hide();

}




/* 	parent: 	Klasse oder ID eines HTML-Elements innerhalb dessen der iFrame eingefuegt wird. Wenn als '' angegeben, wird parent-Element von form per jquery ermittelt.
		form: 		Klasse oder ID des Layers, der mit dem iFrame unterlegt werden soll.
		scaling:	Schriftgroesse des Layers in em, die sich aus der Multiplikation der em-Werte der Elternelemente ergibt.
		calculatePos:		Flag zur Berechnung der Position des Layers, um die Angaben auf den iFrame anzuwenden. Wenn nicht gesetzt, wird von true ausgegangen.
		calculateSize:	Flag zur Berechnung der Groesse des Layers, um die Angaben auf den iFrame anzuwenden. Wenn nicht gesetzt, wird von true ausgegangen.
*/
function addIFrame(parent, form, scaling, calculatePos, calculateSize) {
	if(!$.browser.mozilla) {
		if(calculatePos != false)
			calculatePos = true;

		if(calculateSize != false)
			calculateSize = true;



		//Skalierungsfaktor abhaengig von aktueller Schriftgroesse
		var _t = 1;
		if (scaling == null)
			scaling = 1;

		if(currTextSize == '1')
			_t = 0.91;
		else if(currTextSize == '3')
			_t = 1.2;
		else if(currTextSize == '4')
			_t = 1.4;


		if(parent == ''){
			$(form).parent().append('<iframe class="HideSelect"></iframe>');
			$(form).parent().addClass('addIFrame');
			parent = '.addIFrame';
		}
		else
			$(parent).append('<iframe class="HideSelect"></iframe>');


		var _p = $(form).position();
		var _p_width	= (($(form).width() + 2)/16 / _t / scaling) +'em';
		var _p_height	= (($(form).height() + 2)/16 / _t / scaling) +'em';
		var _p_top		= ((_p.top - 2)/16 / _t / scaling) +'em';
		var _p_left		= ((_p.left - 2)/16 / _t / scaling) +'em';

		if(calculateSize)
			$(parent +' .HideSelect').css({'height':_p_height, 'width':_p_width});

		//#######
		//alert('_p_top: '+_p_top);
		//alert('_p_left: '+_p_left);
		//alert($(parent +' .HideSelect'));
		//#######

		if(calculatePos)
			$(parent +' .HideSelect').css({'left':_p_left, 'top':_p_top});

		$(form).parent().removeClass('addIFrame');
	}
}

/*	parent:	Klasse oder ID eines HTML-Elements innerhalb dessen der iFrame eingefuegt wird. bspw: ._fahrzeugsuche oder #overlay-fahrzeugsuche.
		form: 	Klasse oder ID des Layers, der mit dem iFrame unterlegt werden soll.
*/
function recalculateIFrame(parent, form) {
	if(!$.browser.mozilla) {
		if(!form)
			form = parent+' .overlay-form';

		$(parent+' .HideSelect').remove();

		addIFrame(parent, form, 0.75);
	}
}

/*Betrag hinter ausgewaehltem Radio-Button im Tarifrechner_2 fetten*/
function highlightAmount(radioButton) {
	var _tr = $('#vsgschutz input:radio').parents('tr').removeClass('highlightRadio');
	$(radioButton).parents('tr').addClass('highlightRadio');
}

/*Betrag hinter ausgewaehltem Radio-Button im Tarifrechner_2 fetten*/
function highlightLabel(radioButton, _container) {
	$(_container +' input:radio').parent().removeClass('highlightRadio');
	$(radioButton).parent().addClass('highlightRadio');
}

/*Info-Icons (I-Buttons) mit Klick-Funktion versehen:
  Hilfetext einblenden,
  Hilfetext auf Klick wieder ausblenden*/
function infoIconAction(infoIcon) {

	var id = infoIcon.id;
	var filename = '/direkt/kfz/hilfe/ibuttons/' + id + '.jsp';
	$.get(filename, function(infoLayer){
		/*Aufraeumen: evtl. eingeblendeten Hilfetext inkl. IFrame loeschen */
		$('.info-box').parent().css('z-index', '1');
		$('.info-box + .HideSelect').remove();
		$('.info-box').remove();

		//$(infoIcon).css('overflow', 'hidden');
		$(infoIcon).parent().css('z-index', '10');
		$(infoIcon).after(infoLayer);
		addIFrame('', '.info-box', 0.75, true, true);

		$('.info-box').click(function(){
			var parent = $(this).parent();
			$(parent).addClass('removeIFrame');
			$(parent).css('z-index', '1');
			$('.removeIFrame .HideSelect').remove();
			$(parent).removeClass('removeIFrame');
			$(this).remove();
		});
	});
}

/*Fahrzeugsuche*/
function fahrzeugsuche() {
	$('input#novMTypschl_uessel-Nr._TSN').blur(
		function () {
			$('fieldset.fs_fahrzeugsuche').hide();
			$('fieldset.fs_fahrzeugergebnis').show();
		}
	);
}


/*Doppeltes Absenden von Formularen bei Doppelklick unterbinden*/
function initFormSubmit() {
	$('form').each(function(){
		var _cForm = this;
		var i = 0;
		//Klick-Aktion
		$('button[type="submit"], button[type="reset"], input[type="submit"], input[type="reset"], input[type="button"]',this).click(function() {
			if(i == 0) {
				i++;
			} else {
				return false;
			}
		});
		$(".nolock").unbind("click");
	});
}


/* the new navigation, initialized on document ready (before loading images) */
function initNavigation () {
	// needed for mozilla engines, otherwise the mouseleave action
	// will not work properly at all...
	//$('#login-layer *').mouseover(
	$('.sub-navigation-container *').mouseover(
		function(){
			return false;
		}
	);

	// scan all navigation elements and add a unique relation
	// to each item in order to relate the href with the image
	// or later html obj...
	var _snl = 1;
	$('.sub-navigation-list').each(
		function(){
			var _snla = 1;
			$('a',this).each(
				function(){
					$(this).attr('rel',_snl+'_'+_snla);
					_snla++;
				}
			);
			_snl++;
		}
	);

	// now the main navigation - only first level li elements
	$('#main-navigation > ul > li').mouseover(
		function() {
			/* div class="cB" nach #content-wrapper hinzufuegen zum Aufheben des Floatings.
			 * Notwendig fuer IE6, weil  #main-wrapper bei mouseover ueber die Navigation abgeschnitten wird
			 * und damit auch das Hintergrundbild */
			if ($('#main-wrapper #content-wrapper + div.cB').size() == 0) {
				$('#main-wrapper').append('<div class="cB"></div>');
			}

		// hide all containers
			$('#main-navigation > ul > li').each(
				function() {
					$('.sub-navigation-container',this).hide();
					//alert('');
				}
			);
			if($.browser.mozilla){
				$('.background-container.corner-bottom li.rightCorner',this).css({'margin-top':'0em'});
			}
			// now display the current navigation element
			$('.sub-navigation-container',this).show();

			/*if ($('.HideSelect',this).size() == 0)
				addIFrame('#'+ this.id +' .sub-navigation-container', '#'+ this.id +' .sub-navigation');*/

			// scan for login case
			if($('#login-layer',this).size()>0) {
				// display login
				if(showLogin) {
					// needed for ie6 for correct box size
					$('.sub-navigation',this).css({'width':'17em'});
					// display the form
					$('#login-layer',this).show();
					$('.HideSelect', this).css({'height':$('#login-layer',this).height()});
					// hide everything else
					$('.background-container',this).hide();
				}
				else {
					// hide the form
					$('#login-layer',this).hide();
				}
			}
			if ($('.HideSelect',this).size() == 0)
				addIFrame('#'+ this.id +' .sub-navigation-container', '#'+ this.id +' .sub-navigation');

		}
	).bind('mouseleave',
		function(e){
			// mouseleave fires when you leave the element to a parent node,
			// not in case you hit a child node
			// hide the container
			if($.browser.mozilla) {
				if(e.target.className.indexOf('preview')!=-1 ||
				e.target.parentNode.className.indexOf('preview')!=-1 ||
				e.target.parentNode.parentNode.className.indexOf('preview')!=-1 ||
				e.target.parentNode.parentNode.parentNode.className.indexOf('preview')!=-1
				) {return;}
			}

			$('.sub-navigation-container',this).hide();
			$('.HideSelect',this).remove();

			// recorrect size
			$('.background-container',this).css({'width':'12.75em'});
			$('.background-container.corner-bottom li.rightCorner',this).css({'margin-top':'-1.41em'});
			// hide all additional infos (the images)
			$('.layerImg',this).hide();
			//change position and remove BG of reverse ordered elements

			if($('.reverse', this)){
				$('.sub-navigation',this).css({'left':'0'});
				$('.sub-navigation',this).css({'width':'12.75em'});
				$('.background-container.corner-bottom .leftCorner',this).css({'background-color':'#F7F8FF'});
				$('.nav-arrow',this).css({'left':'1.4em'});
			}
		}
	);


	// now the subnavigation
	$('.sub-navigation-list a').mouseover (
		function() {
			// check the relation set above to find
			// the correct matching image...
			var _rel = $(this).attr('rel');
			var _cid = _rel.split('_');
			var _href = $(this).attr('href');

			// this is the subnavigation div box...
			var _p = this.parentNode.parentNode.parentNode.parentNode;

			// hide all objects inside
			$('.layerImg',_p).hide();

			if($('.img_'+_cid[1],_p).size()>0) {
				// enlarge the size
				$('.background-container',_p).css({'width':'36.6em'});
				$('.background-container.corner-bottom li.rightCorner',_p).css({'margin-top':'0px'});
				// and display the correct image...
				$('.img_'+_cid[1],_p).show();
				$('.HideSelect','.sub-navigation-container').css({'width':$(_p).width(), 'height':$(_p).height()});

				//add click function to preview layer or dummy image
				//alert($('.img_'+_cid[1] +' .preview',_p).size() +', '+$('.img_'+_cid[1] +' .dummy',_p).size());
				if($('.img_'+_cid[1] +' .preview',_p).size()>0) {
					$('.img_'+_cid[1] +' .preview',_p).click(
						function(){
							window.location = _href;
						}
					);
				}
				else if($('.img_'+_cid[1] +' .dummy',_p).size()>0) {
					$('.img_'+_cid[1] +' .dummy',_p).click(
						function(){
							window.location = _href;
						}
					);
				}

				//change position and remove BG of reverse ordered elements
				if($(_p).parent().is('.reverse')){
					$(_p).css({'left':'-23.85em', 'width':'36.6em'});
					if(!$.browser.mozilla){
						$('.layerImg',_p).css({'width': (36.3 - 12.75 - 0.3)+'em'});
						$('.layerImg',_p).css({'position': 'relative', 'left': '0px'});
					}
					$('.preview-content-container',_p).css({'position': 'relative', 'top': '-0.21em'});

					$('.HideSelect','.sub-navigation-container').css({'left':'-23.85em', 'width':'36.6em'});
					$('.leftCorner',_p).css({'background-color':'transparent'});
					$('.nav-arrow',_p).css({'left':'25.25em'});
				}
			}
			return false;
		}
	);

	// get rid of flickering background-image in ie6....
	if($.browser.msie) {
		try {
			document.execCommand('BackgroundImageCache', false, true);
		}
		catch(e) {
			// ignore silently!
		}
	}

	// fixing the missing hide behaviour when hover over the metanav textsize area..
	$('#meta-navigation').bind('mouseleave',
		function(e){
			var _p = $(this).position();
			if(e.clientY <= _p.top || (e.clientY-_p.top)< 5) {resetTextSizeContainer();}
			if(e.clientX <= _p.left || (e.clientX-_p.left)< 5) {resetTextSizeContainer();}
		}
	);
}



	/*example jquery json action...*/



	/*
   // see http://json.org/json-de.html
   var myData = {'key':'value','key2':'value2'};
	$.post(
		myTargetUrl,
		myData,
		function(json) {
				try {
				eval('resp = ' + json);
				// answer returns an error string....
			  if(resp.error) {
			  	// do you error handling here...
			  } else {
			  	//$('myFormContainer').html(resp.nextform);
			  	// no error, should be success...
			  	// do your on sucess action here...
			  	if(resp.nextform) {
			  		$('myFormContainer').html(resp.nextform);

				} else {
					// process finished...

				}

			  }
			} catch(e) {
				// something went wrong with the communication
				// do your error feedback here....
			}

	  });
	*/




// ---------- ruv.de/de/scripts/dom.js:
/*
      RRRRRRRRRRR       +       VVV     VVV
      RRR     RRRR      +       VVV    VVV
      RRR     RRRR      +       VVV   VVV
      RRRRRRRRRR   +++++++++++  VVV  VVV
      RRR    RRR        +       VVV VVV
      RRR     RRR       +       VVVVVV
      RRR      RRR      +       VVVVV
      RRR       RRR             VVVV
      RRR        RRR            VVV    wir oeffnen Horizonte
                                                   (c) 2005

                             D O M . J S
+-----------------------------------------------------------------------------+
	Blendet linktitle-Text in einem Layer ein

	Autor:

+-----------------------------------------------------------------------------+
*/


var ie = false;
var n4 = false;
var DOM = false;
var btx = false;
var BuggyIE = false;

var obj = "";
var obSt = "";

if(document.getElementById){
	DOM = true;
	obj = "document.getElementById";
}
else
	if(document.layers || (navigator.appName.indexOf("Netscape") > -1 && navigator.appVersion.substring(0,1)==4)){
		n4=true;     /* alter Netscape 4.x */
		obj = "document.layers";
		browser = "n4";
	}
	else
		btx=true;    /* Exoten */


if(document.all)
	ie = true;

function objSt(item){
	if(DOM)
		obSt=obj+'("'+item+'").style';
	return obSt;
}

function objCont(item,Str){
	Str=unescape(Str);
	if(DOM)
		obSt=obj+'("'+item+'").innerHTML="'+Str+'"';
	return obSt;
}

if(navigator.appVersion.indexOf("MSIE 5")>-1)
	BuggyIE=true;




/*
layer.js
*/
var welcherLayer="";
var Fensterbreite;


function showLayer(which, generic){
	if(!ie)
		Fensterbreite=window.innerWidth;
	else
		Fensterbreite=document.body.offsetWidth;

	var XWert = callingX;
	if(callingX > (Fensterbreite-170)){
		XWert=Fensterbreite-170;
	}
	//window.status=window.innerWidth;

	if(!generic){
		which="textLinker"+which;
	}
	welcherLayer=which;
	if(ie)
		XY_ungeloest();

	var tmp = objSt(which)+'.visibility = "visible";'+
				objSt(which)+'.top='+callingY+'+18+"px";'+
				objSt(which)+'.left='+XWert+'-15+"px";'+
				objSt(which)+'.display="inline"';
	eval(tmp);
}


function hideLayer(which, generic){
	if(!generic)
		which="textLinker"+which;

	if(!n4)
		tmp=objSt(which)+'.visibility = "hidden";';
	else
		tmp=objSt(which)+'.visibility = "hide";';

	tmp+=objSt(which)+'.display="none"';

	eval(tmp);
	welcherLayer="";
	inOverlayForm=false;
}


function objSt(item){
	if(ie)
		obSt=obj+'.'+item+'.style';
	if(n4)
		obSt=obj+'.'+item;
	if(DOM)
		obSt=obj+'("'+item+'").style';
	return obSt;
}

function objCont(item,Str){
	Str=unescape(Str);
	if(ie)
		obSt=obj+"."+item+".innerHTML='"+Str+"'";
	if(n4){
		Str="%3Cfont size=2 face=arial%3E"+Str;
		obSt=obj+'.'+item;
		obSt+=".document.open();";
		obSt+=obj+'.'+item+".document.write(\""+Str+"%3C/font%3E\");";
		obSt+=obj+'.'+item+".document.close();";
	}
	if(DOM){
		if(!document.getElementById(item)){ // create Element
			var textLayer = document.createElement('DIV');
			textLayer.id = item;
			textLayer.style.position = 'absolute';
			textLayer.style.visibility = 'hidden';
			textLayer.style.top = '-20em';
			textLayer.style.left = '-20em';
			document.body.appendChild(textLayer);
		}
		obSt=obj+'("'+item+'").innerHTML="'+Str+'"';
	}
	return obSt;
}

function XY_ungeloest(e){
	if(!ie){
		callingX = e.pageX;	callingY = e.pageY;
	}
	else{
		callingX = window.event.x;
		callingY = window.event.y;
	}

	LayerZumCursor();
}

window.document.onmousemove = XY_ungeloest;


function LayerZumCursor(){
	if(typeof(objSt)=="undefined")
		return;
	var XWert = callingX;
	if(callingX > (Fensterbreite-170)){
		XWert=Fensterbreite-170;
		//alert("is");
	}
	if(welcherLayer!=""){
		if(ie){
			XWert += document.documentElement.scrollLeft;
			if (inOverlayForm) {
				callingY += $(welcherLayer).height() + 130;
				if(!homepage) {
					XWert += 130;
				}
			}else {
				callingY += document.documentElement.scrollTop;
			}

		}

		if(!BuggyIE){
			callingY += document.body.scrollTop;
		}
		eval(objSt(welcherLayer)+'.top="'+eval(callingY+18)+'px";');
		eval(objSt(welcherLayer)+'.left="'+eval(XWert-15)+'px";');
	}
}

function MPfillLayer(n,derLink,lay,tit,isButton){
	if(derLink){
		derLink.title="";
	}


	$(derLink).parents('.overlay-form-container').map( function() { inOverlayForm=true ;} );

	if(derLink){

		//alert(derLink.firstChild.nodeName)
		if (derLink.firstChild.nodeName=="IMG")
			derLink.firstChild.removeAttribute("alt");
	}

	if(!lay){
		lay="1";
		var content_text=unescape(n);
		eval(objCont("textLinker"+lay,content_text));
		showLayer(lay);
	}
	else{
		var content_text=unescape(n);
		showLayer(lay, true);
	}
}

function focusFirstKontaktFormFieldIfNecessary() {

	  if (tabKeyPressed) {
	    tabKeyPressed = false;
	    focusFirstFormField("kontaktForm");
	  }
}

//setzt den Focus auf das erste aktive+sichtbare Eingabefeld der Form, deren Name übergeben wurde
function focusFirstFormField( formName ) {
  if (document.forms[formName]) {
    var field = document.forms[formName];
  
    for (i = 0; i < field.length; i++) {
      if(field.elements[i].type!=undefined && field.elements[i].disabled==false){
        if((field.elements[i].type == "text") || (field.elements[i].type == "textarea") ||
           (field.elements[i].type == "radio") || (field.elements[i].type == "checkbox") ||
           (field.elements[i].type == "password") || (field.elements[i].type == "select-one")) {
          var arr = new Array();
          $(document.forms[formName].elements[i]).parents().each(
            function (e) {
              arr.push(this);
            }
          );
          next = false;
          for(i2 in arr) {
            if(arr[i2].tagName.indexOf("FORM") != -1) break;
            else if (arr[i2].style.display == 'none')
            next=1;
          }
          if(next == 1) {
            continue;
          }
          document.forms[formName].elements[i].focus();
          break;
        }
      }
    }
  }
}

// Callback fuer Twitter-Box auf der Startseite
function twitter_ready() {
	date_str = $('#twitter ul li:first span').text();
	$date="";
	time = "";
	if (date_str != "") {
		values = date_str.split(" ");
		parsed_date = Date.parse(values[1] + " " + values[2] + ", " + values[5] + " " + values[3] + " "+values[4]);
		date = new Date(parsed_date);
		std = date.getHours();
		min = date.getMinutes();
		std = (std < 10 ? "0"+std : std);
		min = (min < 10 ? "0"+min : min);
		time = std+":"+min;
	}else {
		date = new Date();
	}
	
	
	day = date.getDate();
	if (day < 10) {
		day = "0"+day;
	}
	$date += day+".";
	
	month = date.getMonth()+1;
	if (month < 10) {
		month = "0"+month;
	}
	$date += month+".";
	$date += date.getFullYear();
	if (time != "")
		$date += ' ('+time+' Uhr)';
	$('#twitter_date').text($('#twitter_date').text()+$date).show();
	$('#twitter ul').append('<li><a target="_blank" href="http://twitter.com/ruv24_de/">Alle News auf Twitter</a></li>');
}

$(document).ready(function(){
	if(/#minimal_\w+/.test(location.hash)) {
		$('#main-wrapper').css('margin','0')
		$('#header,#main-navigation,#left-column-wrapper').remove()
		$('#content-wrapper').css('float','none')
		$('a[href^=/][href*=onlinehilfe]').each ( function() {
			this.href += '#minimal_onlinehilfe'
		});
		$('a[href^=/]:not([href*=onlinehilfe]):not([href*=/meta]):not([href*=/formulare])').each ( function() {
			this.href += '#minimal_other'
		});

		$('a:not([href^=/]):not([href*=rv24.de]):not([href^=#])').each ( function() {
			this.target = '_blank'
		});

		if(location.hash == '#minimal_other') {
			if ($('#content > div.divider.inline:last + ul.bullet,#content > div.divider.inline:last + a').length) {
				$('#content > ul.bullet:last, #content > div.divider.inline:last,#content > a').remove();
			}
		}
	}
});