

// helper for save logging:
function log(o) {
	if(typeof console == "object"){
	    if(typeof console.log == "function") {
			top.console.log(o);
	    }
	}
}

var oSiteControl = {

	/** @var sPageType */
	sPageType: null

	/** @var sRootDomElement string - */
	,sRootDomElement: '#content_right'

	/** @var oItems array - */
	,aItems: []

	/** @var iPageHeaderHeight */
	,iPageHeaderHeight: null

	/** @var iPageFooterHeight */
	,iPageFooterHeight: null

	/** @var iContentHeight */
	,iContentHeight: 0

	/** @var bCameraActive boolean helper for the camera handler */
	,bCameraActive: false

	/** @var sStandardLogoPath	string	path to standard logo image */
	,sStandardLogoPath : "fileadmin/templates/media/m4m_logo.png"

	/** @var oMapOverviewData	object	map data (Kartenstrecke) */
	,oMapOverviewData : null


	/**
	 * initialize the site control
	 */
	,init: function() {
		// get the actual page type
		this.sPageType = $('body').attr('id');
		this.iPageHeaderHeight = $('#header').height();
		this.iPageFooterHeight = $('#footer').height();

		// clear aItems
		this.aItems = [];
		$('#vert-nav-static').remove();

		// render content
		this.renderContent();

		// render footer
		this.renderFooter();

		// set content height
		this.setContentHeight();
		$(window).resize(function() {
			oNavControl.centerArrowNav();
			setTimeout(function() {
				oSiteControl.setContentHeight(false);
			}, 200);
			setTimeout(function() {
				oSiteControl.adjustLightbox();
			}, 200);
		});

		// TODO: replace this
		//oSiteControl.renderPersonalContent(false);

	}



	/**
	 * Renders the content depending on page type.
	 */
	,renderContent: function() {
		$('body').css('display', 'block');
		// clear typo3 navi
		$('#categorynavi').empty();

		// set logo
		this.renderLogo();

		// render individual page
		switch (this.sPageType) {
			case 'startseite':
				this.renderStartSeiteMainItem();
				this.getSubItems();
				this.renderSubItemBoxes();
				break;
			case 'auswahlseite':
				this.renderAuswahlseite();
				break;
			case 'projektseite':
				this.renderProjektSeiteMainItem();
				this.getSubItems();
				this.renderSubItemBoxes();
				break;
			case 'streckenseite':
/*
				this.renderStreckenseite();
				this.getSubItems();
				this.renderSubItemBoxes();
*/
				break;
			case 'streckenliste':
				this.renderStreckenlisteseite();
				break;
			case 'textstrecke':
				this.renderTextstrecke();
				break;
			case 'bilderstrecke':
				this.renderBilderstrecke();
				break;
			case 'videostrecke':
				this.renderVideoStrecke();
				break;
			case 'kartenstrecke':
				this.renderKartenStrecke();
				break;
			case 'formularseite':
				this.renderFormularSeite();
				break;
			case 'empfehlungsseite':
				this.renderEmpfehlungsSeite();
				break;
			case 'ansprechpartnerseite':
				this.renderAnsprechpartnerSeite();
				break;
			case 'ansprechpartnerdetailseite':
				this.renderAnsprechpartnerDetailSeite();
				break;
			case 'partnerseite':
				this.renderPartnerSeite();
				break;
			case 'aktuellesseite':
				this.renderAktuellesSeite();
				break;
			case 'mediathek':
				this.renderMediathek();
				break;
			case 'presseseite':
				this.renderPresseseite();
				break;
			case 'pressedetailseite':
				this.renderPresseDetailseite();
				break;
			case 'newsletterseite':
				this.renderNewsletterseite();
				break;
			case 'nl_bestaetigen':
				this.renderNewsletterBestaetigen();
				break;
			case 'nl_abmelden':
				this.renderNewsletterAbmelden();
				break;
			case 'sucheseite':
				this.renderSucheseite();
				break;
			case 'pressefotos':
				this.renderPressefotos();
				break;
			case 'kontakt':
				this.renderKontaktSeite();
				break;
			case 'datenschutz':
				this.renderDatenschutzSeite();
				break;
			case 'hinweis-spender':
				this.renderHinweisSpenderSeite();
				break;
			case 'impressum':
				this.renderImpressumSeite();
				break;
			case 'belgium_contact':
				this.renderBelgiumContactSeite();
				break;
			case 'start_belgium':
				this.renderStartBelgiumSeite();
				break;
			case 'belgium':
				this.renderBelgiumSeite();
				break;
			case 'citybet':
				this.renderCitybet();
				break;
			case 'citybet_detail':
				this.renderCitybetDetail();
				break;
			case 'aktionen':
				this.renderAktionen();
				break;
			case 'aktionendetails':
				this.renderAktionendetail();
				break;
			case 'aktion-starten':
				oSiteControl.iActivityId			= null;
				oSiteControl.oUserData				= false;
				oSiteControl.sActivityWizzardData	= null;
				this.renderAktionStarten();
				break;
			case 'unternehmensspende':
				this.renderUnternehmensSpende();
				break;
			case 'reg_bestaetigen':
				this.renderRegistrierungBestaetigen();
				break;
			case 'orgstartseite':
				this.renderOrgStartSeite();
				break;
			case 'setpassword':
				this.renderSetPasswordSite();
				break;
			case 'forgottpassword':
				this.renderForgottPasswordSite();
				break;
			case 'community':
				this.renderCommunitySite();
				break;
			case 'livestream':
				this.renderStartSeiteMainItem();
				this.embedLivestream();
				break;
			case 'hilfsgruppen':
				this.renderHilfsGruppen();
				break;
			case 'gruppendetail':
				this.renderGruppenDetail();
				break;
			case 'chequebook':
				this.renderChequebook();
				break;
			case 'chequebook-details':
				this.renderChequebookDetails();
				break;
			case 'spendenscheckbuch-wizard':
				oSiteControl.bCBWInitialCall = true;
				this.renderChequebookWizard();
				break;
			default:
		}

		// center vert arrow nav
		oNavControl.centerArrowNav();

	}
	
	
	

	/**
	 * render the logo (standard is white)
	 */
	,renderLogo: function() {
		// set standard
		var sLogoPath = oSiteControl.sStandardLogoPath;

		// if there is a special logo, replace standard
		var oLogo = $('#content_border').find('img');
		if (oLogo.length > 0) {
			sLogoPath = oLogo.attr('src');
		}

		// render logo
		$('#logo_image').css('background', 'url(' + sLogoPath + ') 0 0 no-repeat');
	}




	/**
	 * render footer (language part)
	 */
	,bLangChooserActive: false
	,bPortalChooserActive: false
	,renderFooter: function() {

		// get data from the mfm Storage
		var iCurrentLanguage	= oMfmStorage.oLanguage.iActiveLanguage;
		var oCurrentLang		= oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sPortal 			= oMfmStorage.oLanguage.sActivePortal;	

		// set up the new language part
		// TODO: remove portal 'ch' check, if all posts in all languages are edited and language chooser should be shown 
		var sLangHtml = ''
			+ '<span>' + oMfmStorage._(oCurrentLang.sScreenname) + '</span>'
			+ '<div id="footer-portal-btn"></div>'
			+ (
				oMfmStorage.oLanguage.sActivePortal == 'ch' ?
				'' :
				(oCurrentLang.aLanguages.length > 1? '<span id="footer-lang-screen">(' + oCurrentLang.aLanguages[iCurrentLanguage].sScreenname + ')</span><div id="footer-lang-btn"></div>' : '')
			);

		// render the new language part
		$('#footer_language').empty().html(sLangHtml);

		// build the selector for languages
		var sULHtml = '<ul id="footer-lang-selector">';
		if (oCurrentLang.aLanguages.length > 1) {
			$.each(oCurrentLang.aLanguages, function(index, value) {
				sULHtml += '<li id="fls-item-' + index + '" class="fls-item fls-item-inactive">' + value.sScreenname + '</li>';
			});
		}
		sULHtml += '</ul>';
		var oLangSelector = $(sULHtml);

		// build the selector for portals
		var sPortalSelector = '<ul id="footer-portal-selector">';
		$.each(oMfmStorage.oPortals.oBaseUrl2Portal, function(index, sPortal) {
			sPortalSelector += '<li id="fps-item-' + sPortal + '" class="fps-item fps-item-inactive">' + oMfmStorage._(oMfmStorage.oLanguage[sPortal].sScreenname) + '</li>';
		});
		sPortalSelector += '</ul>';
		var oPortalSelector = $(sPortalSelector);
		
		// bind events for the portal button
		$('#footer-portal-btn').click(function() {
			if (!oSiteControl.bPortalChooserActive) {
				$('#footer').append(oPortalSelector);
				$('.fps-item').hover(function() {
					$(this).removeClass('fps-item-inactive').addClass('fps-item-active');
				}
				,function() {
					$(this).removeClass('fps-item-active').addClass('fps-item-inactive');
				})
				.click(function() {
					oSiteControl.bPortalChooserActive = false;
					var sChoosenPortal = $(this).attr('id').split('-')[2];
					if (sChoosenPortal == oMfmStorage.oLanguage.sActivePortal) {
						oSiteControl.bPortalChooserActive = false;
						oPortalSelector.fadeOut(250, function() { $('#footer-portal-selector').remove(); });
						return;
					}
					oMfmStorage.sActivePortal = sChoosenPortal;
					var sUrl = 'http://';
					$.each(oMfmStorage.oChooserPortals.oBaseUrl2Portal, function(sPortalUrl, sPortal) {
						if (sPortal == sChoosenPortal) {
							sUrl += sPortalUrl;
						}
					});
					window.location.href = sUrl;
				});
				oSiteControl.bPortalChooserActive = true;
				oPortalSelector.fadeIn(250);
			}
			else {
				oSiteControl.bPortalChooserActive = false;
				oPortalSelector.fadeOut(250, function() { $('#footer-portal-selector').remove(); });
			}
		});

		// bind events for the language button
		$('#footer-lang-btn').click(function() {
			if (!oSiteControl.bLangChooserActive) {
				$('#footer').append(oLangSelector);

				// bind events for the list
				$('.fls-item').hover(function() {
					$(this).removeClass('fls-item-inactive').addClass('fls-item-active');
				}
				,function() {
					$(this).removeClass('fls-item-active').addClass('fls-item-inactive');
				})
				.click(function() {
					oSiteControl.bLangChooserActive = false;
					var iChoosenLang = $(this).attr('id').split('-')[2];
					if (iChoosenLang == oMfmStorage.oLanguage.iActiveLanguage) {
						oSiteControl.bLangChooserActive = false;
						oLangSelector.fadeOut(250, function() { $('#footer-lang-selector').remove(); });
						return;
					} else if (oCurrentLang.aLanguages[iChoosenLang].sSymbol.toLowerCase() == 'en') {
						for (var sDomain in oMfmStorage.oLanguagePortal.oBaseUrl2Portal) {
							if (oMfmStorage.oLanguagePortal.oBaseUrl2Portal[sDomain] == 'org') {
								window.location.href = 'http://'+sDomain;
								return;
							}
						}
					}
					oMfmStorage.oLanguage.iActiveLanguage = iChoosenLang;
					var sRealUrlPrefix = oCurrentLang.aLanguages[iChoosenLang].sRealUrlPrefix;
					var sUrl = oNavControl.sBaseUrl + sRealUrlPrefix;
					// NICE: switch to translated page (and not to the root page);
					oLangSelector.fadeOut(250, function() { $('#footer-lang-selector').remove(); });
					window.location.href = sUrl;
				});
				oSiteControl.bLangChooserActive = true;
				oLangSelector.fadeIn(250);
			} else {
				oSiteControl.bLangChooserActive = false;
				oLangSelector.fadeOut(250, function() { $('#footer-lang-selector').remove(); });
			}
		});
		

		// BEGIN todo: remove if other portals online

		// build the selector for portals
		/*var sPortalSelector = '<ul id="footer-portal-selector">';
			$.each(oMfmStorage.)
			sPortalSelector += '<li id="fps-item-org" class="fps-item fps-item-inactive">International</li>';
			sPortalSelector += '<li id="fps-item-ch" class="fps-item fps-item-inactive">Schweiz</li>';
			sPortalSelector += '<li id="fps-item-at" class="fps-item fps-item-inactive">Österreich</li>';
			sPortalSelector += '<li id="fps-item-ch" class="fps-item fps-item-inactive">Deutschland</li>';
		sPortalSelector += '</ul>';
		var oPortalSelector = $(sPortalSelector);

		// bind events for the portal button
		$('#footer-portal-btn-2').remove();
		$('#footer_left').append('<span id="footer-portal-btn-2" style="cursor:pointer"> |  ' + oCurrentLang.sScreenname + '</span>');
		$('#footer-portal-btn-2').click(function() {
			if (!oSiteControl.bPortalChooserActive) {
				$('#footer').append(oPortalSelector);
				$('.fps-item').hover(function() {
					$(this).removeClass('fps-item-inactive').addClass('fps-item-active');
				}
				,function() {
					$(this).removeClass('fps-item-active').addClass('fps-item-inactive');
				})
				.click(function() {
					oSiteControl.bLangChooserActive = false;
					var sUrl ='';
					switch($(this).attr('id')) {
						case 'fps-item-org':	sUrl = 'http://www.menschenfuermenschen.org/'; break;
						case 'fps-item-ch':		sUrl = 'http://www.menschenfuermenschen.ch/'; break;
						case 'fps-item-at':		sUrl = 'http://www.menschenfuermenschen.at/'; break;
						case 'fps-item-at':		sUrl = 'http://www.menschenfuermenschen.de/'; break;
					}
					oPortalSelector.fadeOut(250, function() { $('#footer-lang-selector').remove(); });
					window.open(sUrl);
				});
				oSiteControl.bPortalChooserActive = true;
				oPortalSelector.fadeIn(250);
			}
			else {
				oSiteControl.bPortalChooserActive = false;
				oPortalSelector.fadeOut(250, function() { $('#footer-portal-selector').remove(); });
			}
		});*/
		// END todo: remove if other portals online


	}



	/**
	 * renderKontaktSeite
	 */
	,renderKontaktSeite: function() {

		// attach the title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,$('#ki_page_title').text()
		);
		$('#content').prepend(oTSTitleBar);

		// build tab menu
		 $('#ki-tabs ul').html(
			'<li><a href="#tabs-1" class="no-url-replace">' + $('#ki-info-tab-1 .noscript').text() + '</a></li>'
			+'<li><a href="#tabs-2" class="no-url-replace">' + $('#ki-info-tab-2 .noscript').text() + '</a></li>'
			+'<li><a href="#tabs-3" class="no-url-replace">' + $('#ki-info-tab-3 .noscript').text() + '</a></li>'
		);

		// render tabs - Adressen, Ihre Nachricht, Impressum, Standorte
		$('#tabs-1').append($('#ki-addresses'));
		$('#tabs-2')
			.append($('#form_contact').parent().parent().parent())
			.append($('#kontakt-impressum-success'));
		$('#tabs-3').append($('#map_standorte')).append($('#ki-about_us'));

		// activate tabs
		$('#ki-tabs').tabs({
   			select: function(event, ui) {
   				$('.ki-info-tab').hide();
   				$('#ki-info-tab-' + (ui.index + 1)).show();
   			}
   			,show: function(event, ui) {
   				if (ui.index == 1) {
   					$('#form_contact').parent().parent().parent().show();
					$('#kontakt-impressum-success').hide();
   				}
   				if (ui.index == 2) {
   					if (!oSiteControl.bGoogleMapInit) {
   						oSiteControl.initGoogleMap("map_standorte", oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].oLatLng, 16, false);
   					}
   				}
   			}
		});

		// init accordion
		this.initAccordion();

		// init kontakt form
		var sFormAction = $('#form_contact').attr('action');
		$('#form_contact').attr('action', 'javascript:oSiteControl.submitKontaktForm("' + sFormAction + '")');

		// show first info
		$('#ki-info-tab-1').show();
		
		// hover tabs
		$('.ui-state-default').hover(function() {
			$(this).children().addClass('ui-state-hover');
			$(this).addClass('ui-state-hover');
		}
		,function() {
			$(this).removeClass('ui-state-hover');
			$(this).children().removeClass('ui-state-hover');
		});
		
	}




	/**
	 * submit kontakt formular
	 */
	,submitKontaktForm: function(sFormAction) {

		// get and check form values
		var oValues = oSiteControl.checkForm();
		if (oValues == null) {
			return;
		}

		// send ajax request
		$.get(
			oNavControl.sBaseUrl + sFormAction
			,oValues
			,function() {
				$('#form_contact').parent().parent().parent().hide();
				$('#kontakt-impressum-success').show();
				_gaq.push(['_trackPageview','/danke-kontakt']);
			}
		);
	}




	/**
	 * initialize google maps
	 *
	 * @param	sDomId		string		dom element id to place the map
	 * @param	oLatLng		object		Latt and Long to center the map
	 * @param	iZoom		integer		zoom level for the map
	 * @param	oMarkers	object		marker information
	 */
	,bGoogleMapInit : false
	,initGoogleMap: function(sDomId, oLatLng, iZoom, oMapData, bSatellite) {
		// general settings
		var latlng = new google.maps.LatLng(oLatLng.iLatitude, oLatLng.iLongitude);
		var myOptions = {
			zoom: iZoom,
			center: latlng,
			mapTypeId: (bSatellite ? google.maps.MapTypeId.HYBRID : google.maps.MapTypeId.ROADMAP)
		};

		// render map
		this.bGoogleMapInit = true;
		var map = new google.maps.Map(document.getElementById(sDomId), myOptions);

		// add listener close infowindow
		google.maps.event.addListener(map, 'click', function() {
			infowindow.close();
		});

		// add info window
		var infowindow = new google.maps.InfoWindow({
			size: new google.maps.Size(150,50)
		});

		// add kontakt / impressum marker
		if (sDomId == "map_standorte") {
			var m = new google.maps.Marker({
				position: latlng
				,map: map
			});
		}

		// add project markers
		if (typeof oMapData != 'undefined' && typeof oMapData.aProjects != 'undefined') {
			$.each(oMapData.aProjects, function(iIndex, oProject) {
				// init point
				var p = new google.maps.LatLng(
					oProject.fLatitude
					,oProject.fLongitude
				);

				// init marker
				var m = new google.maps.Marker({
					position: p
					,map: map
				});
				// set marker content
				var sHtml = ''
					+ '<div class="gm_infowindow">'
						+ '<div class="gm_projectname"><span class="gm_project_cat">' + oMfmStorage.oProjectsData.oCurrent.sCatName + '</span>&nbsp;-&nbsp;' + oProject.sProjectName + '</div>'
						+ '<div class="gm_subregion"></div>'
						+ '<div class="gm_image"><img width="80" height="74" alt="" src="' + oProject.sPicture + '"></div>'
						+ '<div class="gm_description">'
							 + oProject.sCity + '&nbsp;-&nbsp;' + oProject.sDistrict
							 //+ (oProject.sProjectStart != ""? '<br /><b>Projektstart: </b>' + oProject.sProjectStart : '')
							 //+ (oProject.sProjectEnd != ""? '<br /><b>Projektende: </b>' + oProject.sProjectEnd : '')
							 //+ (oProject.sProjectStatus != ""? '<br /><b>Projektstatus: </b>' + oProject.sProjectStatus : '')
							 + (typeof oProject.iBeneficiaries == 'number'? '<br /><b>' + oMfmStorage._('numberRecipient') + ': </b>' + oProject.iBeneficiaries : '')
							 + (typeof oProject.iHQDistance == 'number'? '<br /><b>' + oMfmStorage._('distanceCentral') + ': </b>' + oProject.iHQDistance + ' km' : '')
							 + (oProject.sBStoryLink != ""? '<br /><a href="javascript:oNavControl.navTo(\'' + oProject.sBStoryLink + '\');">' + oMfmStorage._('moreInformation') + '...</a>' : '')
						+ '</div>'
						+ '<div class="floatend"></div>'
					+ '</div>';

				// add listener
				google.maps.event.addListener(m, 'click', function() {
					infowindow.setContent(sHtml);
					infowindow.open(map, m);
				});
			});
		}
	}




	/**
	 * render the orgstartseite (Flaggenseite)
	 */
	,renderOrgStartSeite: function() {

		// set content height
		// NICE: remove static content height
		$('#content').css('height', '200px');
		oSiteControl.setContentHeight();

		// render lnk
		oSiteControl.renderStartSeiteMainItem();

		// click event for flag boxes
		$('.flags').click(function() {
			var sPortal = $(this).attr('id').split('_')[1];
			for (var i in oMfmStorage.oPortals.oBaseUrl2Portal) {
				if (sPortal == oMfmStorage.oPortals.oBaseUrl2Portal[i]) {
					var sUrl = 'http://' + i;
					break;
				}
			}
			if (typeof sUrl != 'undefined') {
				window.location.href = sUrl;
			}
		});
	}




	/**
	 *	render Datenschutz
	 */
	,renderDatenschutzSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
	}




	/**
	 *	render Hinweis für langjährige Spender
	 */
	,renderHinweisSpenderSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
	}
	
	
	
	/**
	 *	render Impressum
	 */
	,renderImpressumSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-wrapper').hide();
	}
	
	
	
	
	/**
	 *	render Startseite Belgium
	 */
	,renderStartBelgiumSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
		$('#dotorgnavi').hide();
		$('.titlebar-item-title').hide();
		$('.actionbar-wrapper').hide();
		
		// hover btn
		$('.mfm_be_button').hover(function() {
			$(this).children().addClass('cbox_item_arrow_hover');
			$(this).addClass('mfm_be_button_hover');
		}
		,function() {
			$(this).removeClass('mfm_be_button_hover');
			$(this).children().removeClass('cbox_item_arrow_hover');
		});
	}
	
	
	
	
	/**
	 *	render Kontakt Belgium
	 */
	,renderBelgiumContactSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-item-facebook').parent().hide();
		$('.actionbar-item-mail').parent().hide();
	}



	
	/**
	 *	render Kontakt Belgium
	 */
	,renderBelgiumSeite: function() {
		this.renderTextstrecke();
		$('.titlebar-wrp-backbtn').hide();
		$('.titlebar-wrp-cambtn').hide();
		
		//insert Btn
		sBtn = $('#inner_content').find('#mfm_be_btn_list').html();
		$('#content').append(sBtn);
		
		// hover Btn
		$('.mfm_be_button').hover(function() {
			$(this).children().addClass('cbox_item_arrow_hover');
			$(this).addClass('mfm_be_button_hover');
		}
		,function() {
			$(this).removeClass('mfm_be_button_hover');
			$(this).children().removeClass('cbox_item_arrow_hover');
		});
	}




	/**
	 *	render Aktionen
	 */
	, iMaxActivityPerPage: 10
	, sAktivityListHtml: null
	, sDefaultSearchValue: ''
	, renderAktionen: function(sPeriod, sSearch, iPos, bReload) {
		if(typeof bReload != 'boolean' || !bReload) {
			oSiteControl.renderTextstrecke();
			$('#inner_content').css('display','none');
			oSiteControl.sAktivityListHtml = $('#inner_content').html();
			oSiteControl.sDefaultSearchValue = $('#default-search-value').text();
			$('.titlebar-wrp-cambtn').hide();
			$('.actionbar-wrapper').hide();
			$('#bullets').hide();
			$('#content_right').removeClass('noscript');
		}
		if (typeof iPos == 'undefined') {
			iPos = 0;
		}
		var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		$.get(
			'/?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxGetActivityList'
			, {
				sPortal:			oMfmStorage.oLanguage.sActivePortal
				,sLang:				sLanguage
				,sPeriod:			sPeriod
				,sSearch:			sSearch
				,sSearchDefault:	oSiteControl.sDefaultSearchValue
				,iPos:				iPos
				,iMax:				oSiteControl.iMaxActivityPerPage
			}
			, function(e) {
				var mData = e.mData;
				$('#inner_content').html(
					cTemplate.parse(
						oSiteControl.sAktivityListHtml.replace(/<!--START/g, '').replace(/END-->/g, '')
						,mData
					)
				);

				for(i in mData.aActivityListItems) {
					// detail link
					$('#activity-item-'+mData.aActivityListItems[i].iId)
						.unbind()
						.hover(
							function() {
								$(this).find('.btn_activity_detail').show();
								$(this).find('.activity_info_img').addClass('activity_info_img_hover');
							}
							, function() {
								$(this).find('.btn_activity_detail').hide();
								$(this).find('.activity_info_img').removeClass('activity_info_img_hover');
							}
						)
						.bind('click',{"iId":mData.aActivityListItems[i].iId}, function(e){
							var sPortal = oMfmStorage.oLanguage.sActivePortal;
							var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
							var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
							oNavControl.navTo(sLanguagePrefix+ 'mainmenu/aktiv-werden/aktionen/aktionen-unterstuetzen/?iId='+e.data.iId);
						});
				}

				// period filter
				$('.mt-subm-item:not(.mt-subm-item-active)').hover(function() {
					$(this)
						.removeClass('mt-subm-item-inactive')
						.addClass('mt-subm-item-active');
				}
				,function() {
					$(this)
						.removeClass('mt-subm-item-active')
						.addClass('mt-subm-item-inactive');
				});

				var aStatus = ['current','future','finished'];
				for(var i in aStatus) {
					$('#activity-'+aStatus[i]).bind(
						'click'
						, {
							sPeriod: 	aStatus[i]
							, sSearch: 	sSearch
						}
						,function(o){
							oSiteControl.renderAktionen(o.data.sPeriod, o.data.sSearch, 0, true);
						}
					);
				}

				// search
				$('#activity_search_input')
					.focus(function() {
						if ($(this).val() == oSiteControl.sDefaultSearchValue) {
							$(this).val('');
						}
					})
					.blur(function() {
						if ($(this).val() == '') {
							$(this).val(oSiteControl.sDefaultSearchValue);
						}
					})
					.bind(
						'change'
						, {
							sPeriod: 	sPeriod
						}
						,function(o){
							oSiteControl.renderAktionen(o.data.sPeriod, $(this).val(), 0, true);
						}
				);

				// paginator
				var iCountElements = $('#activity_paginator .paginator_element').length;
				var iPadding = (600 - iCountElements * 15) / 2;
				$('#activity_paginator').css({
					'padding-left': iPadding
					,'padding-right': iPadding
				});
				$('#activity_paginator .last_arrow').bind(
					'click'
					, {
						sPeriod:	sPeriod
						, sSearch:	sSearch
						, iPos:		iPos - 1
					}
					, function(o) {
						if (o.data.iPos < 0) {
							o.data.iPos = 0;
						}
						oSiteControl.renderAktionen(o.data.sPeriod, o.data.sSearch, o.data.iPos, true);
					}
				);
				$('#activity_paginator .next_arrow').bind(
					'click'
					, {
						sPeriod:	sPeriod
						, sSearch:	sSearch
						, iPos:		iPos + 1
						, iMaxPos:	$('#activity_paginator .paginator_element').length
					}
					, function(o) {
						if (o.data.iPos > o.data.iMaxPos) {
							o.data.iPos = o.data.iMaxPos;
						}
						oSiteControl.renderAktionen(o.data.sPeriod, o.data.sSearch, o.data.iPos, true);
					}
				);
				$('#activity_paginator .paginator_element').bind(
					'click'
					, {
						sPeriod:	sPeriod
						, sSearch:	sSearch
					}
					, function(o) {
						var iPos = parseInt($(this).attr('id').split('_')[2]);
						oSiteControl.renderAktionen(o.data.sPeriod, o.data.sSearch, iPos, true);
					}
				);
				$('#paginator_index_'+iPos).removeClass('inactive_bullet').addClass('active_bullet');

				$('#inner_content').css('display','block');
				$(window).resize();
			}
			, 'json'
		);
	}




	/**
	 *	render Aktionendetails
	 */
	, renderAktionendetail: function() {
		$('#inner_content').css('display','none');
		this.renderTextstrecke();
		var aGetParam = unescape(document.location.href).split('?');
		if(aGetParam.length < 2) {
			oNavControl.navTo('mainmenu/aktiv-werden/aktionen/');
			return;
		}
		aGetParam = aGetParam[1].split('&');
		var oGetParam = {}
		for(i in aGetParam) {
			aGetParam[i]= aGetParam[i].split('=');
			oGetParam[aGetParam[i][0]] = aGetParam[i][1];
		}
		var iId = parseInt(oGetParam.iId);
		if(iId < 1) {
			oNavControl.navTo('mainmenu/aktiv-werden/aktionen/');
			return;
		}

		var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		$.get(
			'/?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxGetActivityDetail&iId=' + iId
			,{
				sPortal:	oMfmStorage.oLanguage.sActivePortal
				,sLang:		sLanguage
			}
			,function(e) {
				var mData = e.mData;
				oBgControl.swap(mData.sBackground);
				var sParsed = cTemplate.parse(
						$('#inner_content').html().replace(/<!--START/g, '').replace(/END-->/g, '')
						,mData
					);
				var sFacebookLink = (
					typeof mData.sFacebookLink == 'string' 
						&& mData.sFacebookLink.length > 0 ? 
					'http://www.facebook.com/' + mData.sFacebookLink : 
					window.location.href
				);
				sParsed = sParsed.replace('%7B%7BsFacebookLink%7D%7D', encodeURIComponent(sFacebookLink));
				$('#inner_content').html(sParsed);
				oNavControl.setDonations(mData.sCategoryId);

				// donation-button
				$('#btn_activity_supporting').bind(
					'click'
					,{
						sDonationCode:		mData.sDonationCode
						, sActivityTitle:	mData.sActivityTitle
					}
					, function(e) {
						oDonationControl.sWerbeCode = e.data.sDonationCode;
						oDonationControl.sProjectName = '"' + e.data.sActivityTitle + '"';
						oDonationControl.doQuickDonation();
					}
				);

				$('#inner_content').css('display','block');
				
				$(window).resize();
			}
			,'json'
		);
		$('.titlebar-item-title')
			.hover(
				function() {
					$(this).css({ 'background' : 'url("/fileadmin/templates/media/bg_white.png") repeat scroll 0 0 transparent', 'color' : '#0969B5' });
					$('.titlebar-wrp-backbtn')
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('titlebar-item-backbtn-active');
				}
				, function() {
					$(this).css({ 'background' : 'url("/fileadmin/templates/media/bg_blue.png") repeat scroll 0 0 transparent', 'color' : '#ffffff' });
					$('.titlebar-wrp-backbtn')
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('titlebar-item-backbtn-active');
				}
			);
		$('.titlebar-wrp-backbtn')
			.hover(
				function() {
					$('.titlebar-item-title').css({ 'background' : 'url("/fileadmin/templates/media/bg_white.png") repeat scroll 0 0 transparent', 'color' : '#0969B5' });
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('titlebar-item-backbtn-active');
				}
				, function() {
					$('.titlebar-item-title').css({ 'background' : 'url("/fileadmin/templates/media/bg_blue.png") repeat scroll 0 0 transparent', 'color' : '#ffffff' });
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('titlebar-item-backbtn-active');
				}
			);
		$('#btn_activity_supporting').hover(
			function(){
				$('#picture_activity_supporting').addClass('picture_activity_supporting_hover');
			}
		);

		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-wrapper').hide();
		$('#bullets').hide();
		$('#content_right').removeClass('noscript');

/*
		$('#inner_content').css('display','none');
		this.renderTextstrecke();
		oNavControl.setDonations('education');
		var aGetParam = unescape(document.location.href).split('?');
		if(aGetParam.length < 2) {
			oNavControl.navTo('mainmenu/staedtewette/');
			return;
		}
		aGetParam = aGetParam[1].split('&');
		var oGetParam = {}
		for(i in aGetParam) {
			aGetParam[i]= aGetParam[i].split('=');
			oGetParam[aGetParam[i][0]] = aGetParam[i][1];
		}
		var iId = parseInt(oGetParam.iId);
		if(iId < 1) {
			oNavControl.navTo('mainmenu/staedtewette/');
			return;
		}

		$.get('/?eID=json&action=totoyaRequest&sClass=cCityBet&sFunction=ajaxGetCityDetail&iId=' + iId
			,function(e) {
				var mData = e.mData;
				oBgControl.swap(mData.sBackground);
				$('#inner_content').html(
					cTemplate.parse(
						$('#inner_content').html().replace('<!--START','').replace('<!--START','').replace('END-->', '').replace('END-->', '')
						,mData
					)
				);
				// news
				function showNews(e) {
					for(var i in mData.aNews) {
						if(mData, mData.aNews[i].iNewsId == e.data.iNewsId) {
							$('#news-'+mData.aNews[i].iNewsId).slideDown(400);
							$('#bet-bullet-' + +mData.aNews[i].iNewsId).addClass('active_bullet_blue');
						}
						else {
							$('#news-'+mData.aNews[i].iNewsId).slideUp(400);
							$('#bet-bullet-' + +mData.aNews[i].iNewsId).removeClass('active_bullet_blue');
						}

					}
				}
				var bFirst = true;
				for(i in mData.aNews){
					$('#news-'+mData.aNews[i].iNewsId).css('display', bFirst?'block':'none');
					$('#bet_pager').append(
						$('<div class="inactive_bullet_blue' + (bFirst?' active_bullet_blue':'') + '" id="bet-bullet-' + mData.aNews[i].iNewsId + '"></div>').bind('click',{"iNewsId":mData.aNews[i].iNewsId}, showNews)
					)
					bFirst = false;
				}
				$('#bet_pager').css('padding-left', (328/2-parseInt(mData.aNews.length*7.5))+'px')

				// prev btn
				$('.blue_last_arrow').click(function(){
						var oItem = false;
						$('.inactive_bullet_blue').each(function(){
							if($(this).hasClass('active_bullet_blue')) {
								if(oItem) {
									$(oItem).click();
								}
								return false;
							}
							oItem = this;
							return true;
						});
					}
				);

				// next btn
				$('.blue_next_arrow').click(function(){
						var bFound = false;
						$('.inactive_bullet_blue').each(function(){
							if(bFound) {
								$(this).click();
								return false;
							}
							if($(this).hasClass('active_bullet_blue')) {
								bFound = true;
							}
							return true;
						});
					}
				);

				// donation-button
				$('#btn_supporting').bind('click',{"sDonationCode":mData.sDonationCode,"sCity":mData.sCity}, function(e){
						oDonationControl.sWerbeCode = e.data.sDonationCode;
						oDonationControl.sProjectName = "die Städtewette in " + e.data.sCity;
						oDonationControl.doQuickDonation();
				});

				$('#facebook_acitvity').bind('click',{"sFacebookLink":mData.sFacebookLink},function(e){
					window.open(e.data.sFacebookLink,'_blank');
				});

				$('#facebook_split').click(function(e){
					oSiteControl.shareOnFacebook()
				});

				$('#facebook_mail')
					.hover(
						function() {
							$(this).css({ background: 'url("/fileadmin/templates/media/m4m_sprite.png") no-repeat scroll -100px -1500px transparent' });
							$(this).parent().css({ backgroundColor: '#FFFFFF' });
						}
						, function() {
							$(this).css({ background: 'url("/fileadmin/templates/media/m4m_sprite.png") no-repeat scroll 0 -1500px transparent' });
							$(this).parent().css({ backgroundColor: '#0069B5' });
						}
					)
					.click(function(){
						oNavControl.mappedNavTo('mainmenu/projekte/empfehlung/');
					});

				$('#inner_content').css('display','block');
				$(window).resize();
			}
			,'json'
		);
		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-wrapper').hide();
		$('#content_right').removeClass('noscript');
*/
	}
	
	
	
	
	, showActivity: function() {
		// TODO: was tun, wenn activity fuer dieses portal nicht freigegeben ist?
		var sPortal = oMfmStorage.oLanguage.sActivePortal;
		var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
		var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;

		window.location.href = oNavControl.sBaseUrl + sLanguagePrefix + 'mainmenu/aktiv-werden/aktionen/aktionen-unterstuetzen/?iId=' + oSiteControl.iActivityId;
	}




	/**
	 *	render Städtewette Übersicht
	 *  // BH
	 */
	,renderCitybet: function() {
		$('#inner_content').css('display','none');
		this.renderTextstrecke();
		oNavControl.setDonations('education');
		$.get('/?eID=json&action=totoyaRequest&sClass=cCityBet&sFunction=ajaxGetCityList', function(e) {

			var mData = e.mData;
			$('#inner_content').html(
				cTemplate.parse(
					$('#inner_content').html().replace('<!--START','').replace('<!--START','').replace('END-->', '').replace('END-->', '')
					,mData
				)
			);

			// folding on click
			/*
			$('#city-list li').click(function(){
					$('#city-list li').removeClass('bet_active');
					$(this).removeClass('bet_hover');
					$(this).addClass('bet_active');
				}
			);
			//*/

			// hover
			$('#city-list li').hover(function(){
					$(this).addClass('bet_hover');
				}
				,function(){
					$(this).removeClass('bet_hover');
				}
			);

			for(i in mData.aCityListItems) {
				// detail link
				$('#bet-'+mData.aCityListItems[i].iId).bind('click',{"iId":mData.aCityListItems[i].iId}, function(e){
					oNavControl.navTo('mainmenu/staedtewette/staedtewette-2011/aktionsdetails/?iId='+e.data.iId);
				});

				// donation-button
				$('#support-'+mData.aCityListItems[i].iId).bind('click',{"sDonationCode":mData.aCityListItems[i].sDonationCode,"sCity":mData.aCityListItems[i].sCity}, function(e){
					oDonationControl.sWerbeCode = e.data.sDonationCode;
					oDonationControl.sProjectName = "die Städtewette in " + e.data.sCity;
					oDonationControl.doQuickDonation();
				});
			}
			$('#inner_content').css('display','block');
			$(window).resize();
		}
		, 'json');
		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-wrapper').hide();
		$('#content_right').removeClass('noscript');
	}




	/**
	 *	render Städtewette Übersicht
	 *  // BH
	 */
	,renderCitybetDetail: function() {
		$('#inner_content').css('display','none');
		this.renderTextstrecke();
		oNavControl.setDonations('education');
		var aGetParam = unescape(document.location.href).split('?');
		if(aGetParam.length < 2) {
			oNavControl.navTo('mainmenu/staedtewette/');
			return;
		}
		aGetParam = aGetParam[1].split('&');
		var oGetParam = {}
		for(i in aGetParam) {
			aGetParam[i]= aGetParam[i].split('=');
			oGetParam[aGetParam[i][0]] = aGetParam[i][1];
		}
		var iId = parseInt(oGetParam.iId);
		if(iId < 1) {
			oNavControl.navTo('mainmenu/staedtewette/');
			return;
		}

		$.get('/?eID=json&action=totoyaRequest&sClass=cCityBet&sFunction=ajaxGetCityDetail&iId=' + iId
			,function(e) {
				var mData = e.mData;
				oBgControl.swap(mData.sBackground);
				$('#inner_content').html(
					cTemplate.parse(
						$('#inner_content').html().replace('<!--START','').replace('<!--START','').replace('END-->', '').replace('END-->', '')
						,mData
					)
				);
				// news
				function showNews(e) {
					for(var i in mData.aNews) {
						if(mData, mData.aNews[i].iNewsId == e.data.iNewsId) {
							$('#news-'+mData.aNews[i].iNewsId).slideDown(400);
							$('#bet-bullet-' + +mData.aNews[i].iNewsId).addClass('active_bullet_blue');
						}
						else {
							$('#news-'+mData.aNews[i].iNewsId).slideUp(400);
							$('#bet-bullet-' + +mData.aNews[i].iNewsId).removeClass('active_bullet_blue');
						}

					}
				}
				var bFirst = true;
				for(i in mData.aNews){
					$('#news-'+mData.aNews[i].iNewsId).css('display', bFirst?'block':'none');
					$('#bet_pager').append(
						$('<div class="inactive_bullet_blue' + (bFirst?' active_bullet_blue':'') + '" id="bet-bullet-' + mData.aNews[i].iNewsId + '"></div>').bind('click',{"iNewsId":mData.aNews[i].iNewsId}, showNews)
					)
					bFirst = false;
				}
				$('#bet_pager').css('padding-left', (328/2-parseInt(mData.aNews.length*7.5))+'px')

				// prev btn
				$('.blue_last_arrow').click(function(){
						var oItem = false;
						$('.inactive_bullet_blue').each(function(){
							if($(this).hasClass('active_bullet_blue')) {
								if(oItem) {
									$(oItem).click();
								}
								return false;
							}
							oItem = this;
							return true;
						});
					}
				);

				// next btn
				$('.blue_next_arrow').click(function(){
						var bFound = false;
						$('.inactive_bullet_blue').each(function(){
							if(bFound) {
								$(this).click();
								return false;
							}
							if($(this).hasClass('active_bullet_blue')) {
								bFound = true;
							}
							return true;
						});
					}
				);

				// donation-button
				$('#btn_supporting').bind('click',{"sDonationCode":mData.sDonationCode,"sCity":mData.sCity}, function(e){
						oDonationControl.sWerbeCode = e.data.sDonationCode;
						oDonationControl.sProjectName = "die Städtewette in " + e.data.sCity;
						oDonationControl.doQuickDonation();
				});

				$('#facebook_acitvity').bind('click',{"sFacebookLink":mData.sFacebookLink},function(e){
					window.open(e.data.sFacebookLink,'_blank');
				});

				$('#facebook_split').click(function(e){
					oSiteControl.shareOnFacebook()
				});

				$('#facebook_mail')
					.hover(
						function() {
							$(this).css({ background: 'url("/fileadmin/templates/media/m4m_sprite.png") no-repeat scroll -100px -1500px transparent' });
							$(this).parent().css({ backgroundColor: '#FFFFFF' });
						}
						, function() {
							$(this).css({ background: 'url("/fileadmin/templates/media/m4m_sprite.png") no-repeat scroll 0 -1500px transparent' });
							$(this).parent().css({ backgroundColor: '#0069B5' });
						}
					)
					.click(function(){
						oNavControl.mappedNavTo('mainmenu/projekte/empfehlung/');
					});

				$('#inner_content').css('display','block');
				$(window).resize();
			}
			,'json'
		);
		$('.titlebar-wrp-cambtn').hide();
		$('.actionbar-wrapper').hide();
		$('#content_right').removeClass('noscript');
	}



	/**
	 * render Startseite main item
	 */
	,renderStartSeiteMainItem: function() {
		// parse main text
		var sContent = $('#inner_content .csc-header').find('h1').html();
		if (sContent != null) {
			sContent = this.parseLinks(sContent);
			$('#inner_content .csc-header').find('h1').html(sContent);
		}
	}




	/**
	 * render Projektseite main item
	 */
	,renderProjektSeiteMainItem: function() {
		// parse main text
		var sContent = $('#inner_content .csc-header').find('h1').html();
		if (sContent != null) {
			sContent = this.parseLinks(sContent);
			$('#inner_content .csc-header').find('h1').html(sContent);
		}

		// attach the title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
				,'bSubTitle':	false
				,'bMap':		true
			}
			, (
				oNavControl.oActivePage.sType == "projektseite" ?
				oMfmStorage.oProjectsData.oCurrent.sCatName :
				oNavControl.oActivePage.oParent.sName
			)
		);
		$('#content').prepend(oTSTitleBar);
		
		// parse the text and render the roadway btn
		var sActiveLang = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		var sRoadWayContent = $('#roadway_btn_content_' + oNavControl.oActivePage.oCurrent.sTrackType).html();
		var oRoadWayBtn = $('<div />').addClass('ps-showroadway');
		var oRoadWayImg = $('<div />').addClass('ps-showroadway-img');
		var oRoadWayTxt = $('<span />')
			.addClass('ps-showroadway-txt')
			.html(sRoadWayContent);
		oRoadWayBtn.append(oRoadWayImg).append(oRoadWayTxt);

		// click and hover event for roadwaybtn
		oRoadWayBtn
			.click(function() {
			    if ($.trim(oNavControl.oActivePage.oCurrent.sTrack).length == 0) {
			        return;
				}
				var sPortal = oMfmStorage.oLanguage.sActivePortal;
				var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
				var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
				oNavControl.navTo(sLanguagePrefix + oNavControl.oActivePage.oCurrent.sTrack);
			})
			.hover(function() {
				$(this).toggleClass('ps-showroadway-hover');
				$('.ps-showroadway-img').toggleClass('ps-showroadway-img-hover');
				$('.ps-showroadway-txt').toggleClass('ps-showroadway-txt-hover');
			}
			,function() {
				$(this).toggleClass('ps-showroadway-hover');
				$('.ps-showroadway-img').toggleClass('ps-showroadway-img-hover');
				$('.ps-showroadway-txt').toggleClass('ps-showroadway-txt-hover');
			});

		// append the whole thing to the page
		$('#inner_content').append(oRoadWayBtn);

		// adjust inner content
		$('#inner_content').css('width', '810px');
	}




	/**
	 * render Streckenseite main item
	 */
/*
	,renderStreckenseite: function() {
		// parse main text
		var sContent = $('#inner_content .csc-header').find('h1').html();
		if (sContent != null) {
			sContent = this.parseLinks(sContent);
			$('#inner_content .csc-header').find('h1').html(sContent);
		}

		// attach the title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			, oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTSTitleBar);

		// add button show roadway
		var sRoadWayType = '';
		var sLink = '';
		if (
			typeof oNavControl.oActivePage.oChildren[0] == 'object'
			&& oNavControl.oActivePage.oChildren[0].sType == 'shortcut'
			&& typeof oNavControl.oActivePage.oChildren[0].oChildren[0] == 'object'
		) {
			var sRWType = oNavControl.oActivePage.oChildren[0].oChildren[0].sType;
			switch (sRWType) {
				case 'textstrecke': 
					sRoadWayType = oMfmStorage._('roadwayMapTextRange');
					break;
					
				case 'bilderstrecke': 
					sRoadWayType = oMfmStorage._('roadwayMapPictureRange');
					break;
					
				case 'videostrecke': 
					sRoadWayType = oMfmStorage._('roadwayMapVideoRange');
					break;
					
				default: 
					sRoadWayType = '';
			}
			sLink = oNavControl.oActivePage.oChildren[0].oChildren[0].sUrl;
		}

		var oRoadWayBtn = $('<div />').addClass('ps-showroadway');
		var oRoadWayImg = $('<div />').addClass('ps-showroadway-img');
		var oRoadWayTxt = $('<span />')
			.addClass('ps-showroadway-txt')
			.html(sRoadWayType + '<br />ansehen');
		oRoadWayBtn.append(oRoadWayImg).append(oRoadWayTxt);

		// click and hover event for roadwaybtn
		oRoadWayBtn
			.click(function() {
			    if ($.trim(sLink).length == 0) {
			        return;
				}
				oNavControl.navTo(sLink);
			})
			.hover(function() {
				$(this).toggleClass('ps-showroadway-hover');
				$('.ps-showroadway-img').toggleClass('ps-showroadway-img-hover');
				$('.ps-showroadway-txt').toggleClass('ps-showroadway-txt-hover');
			}
			,function() {
				$(this).toggleClass('ps-showroadway-hover');
				$('.ps-showroadway-img').toggleClass('ps-showroadway-img-hover');
				$('.ps-showroadway-txt').toggleClass('ps-showroadway-txt-hover');
			});

		// append the whole thing to the page
		$('#inner_content').append(oRoadWayBtn);

		// adjust inner content
		$('#inner_content').css('width', '810px');
	}
*/




	/**
	 * Reads the sub data.
	 */
	,getSubItems: function() {
		var bProject = (oNavControl.getNavCat(oNavControl.oActivePage) == 'projects');
		
		if ($(this.sRootDomElement).length > 0) {
			$(this.sRootDomElement + ' > div').each(function(i, oElement) {
				// max 3 normal boxes in the project pages
				if (bProject && i >= 3) {
					return;
				}
				
				// add item
				var oLink = $(oElement).find('h1 a');
				var bLink = oLink.length > 0;
				var oText = $(oElement).find('.bodytext');
				var sTarget = oLink.attr('target');
				if ($.inArray(sTarget, oMfmStorage.oPageTypes) != -1) {
					sTarget = '';
				}
				var oItem = {
					iId:		i
					,sType:		(bLink ? oLink.html() : $(oElement).find('h1').html())
					,sContent:	oSiteControl.parseLinks(oText.html())
					,sUrl:		(bLink ? oLink.attr('href') : null)
					,sTarget:   (bLink ? sTarget : null)
					,bGold:		(oLink.text() == 'box_gold')
				};
				oSiteControl.aItems.push(oItem);
			});
		}
		
		// if project page add 4th box
		$Divs = $(this.sRootDomElement + ' > div');
		if (bProject && $Divs.length >= 4) {
			$Div = $Divs[3];
			var oText = $($Div).find('.bodytext');
			var sCategory = oMfmStorage.oProjectsData.sCategory;
			var oItem = {
				iId:		3
				,sType:		'box4'
				,sContent:	oSiteControl.parseLinks(oText.html())
				,sUrl:		oMfmStorage.oLanguageMapping.parsePath('mainmenu/projekte/streckenliste?sCat=' + sCategory)
				,sTarget:   ''
				,bGold:		true
			};
			oSiteControl.aItems.push(oItem);
		}
	}




	/**
	 * Renders the click boxes.
	 */
	,renderSubItemBoxes: function() {

		var bProject = (oNavControl.getNavCat(oNavControl.oActivePage) == 'projects');

		// build the wrapper
		var wrapper = $('<div />');
		wrapper.addClass('cbox_wrapper');

		// build items
		$.each(oSiteControl.aItems, function(i, oItem) {

			var oBox = $('<div />');
			oBox
				.addClass(oItem.bGold ? 'cbox_item_gold cbox_item' : 'cbox_item')
				.html(oItem.sContent);

			// add a link if defined
			if (oItem.sUrl != null) {
				var oLnk = $('<a />');
				oLnk.addClass('cbox_item_arrow').attr('href', oItem.sUrl);
				if (oItem.sTarget.length > 0) {
				    oLnk.addClass('cbox_item_arrow').attr('target', oItem.sTarget);
				}
				oBox.append(oLnk);
			}

			wrapper.append(oBox);
		});

		// stop floating
		var oBreaker = $('<div />').addClass('floatend');
		wrapper.append(oBreaker);

		// append content
		$('#content').append(wrapper);

		// graduate heights
		var iMaxHeight = 0;
		$(wrapper).find('.cbox_item').each(function() {
			if ($(this).height() > iMaxHeight) {
				iMaxHeight = $(this).height();
			}
		});
		$(wrapper).find('.cbox_item').css('height', iMaxHeight + 'px');
	}
	
	
	
	
	/**
	 * Renders the "Streckenliste".
	 */
	
	,oTracklist: 		null
	,sTrackTemplate:	null
	,sBulletTemplate:	null
	,oLinkTexts:		null
	,renderStreckenlisteseite: function() {
		
		// get tracklist
		if(oSiteControl.oTracklist == null) {
			var sPortal = oMfmStorage.oLanguage.sActivePortal;
			var iLanguage = oMfmStorage.oLanguage.iActiveLanguage;
			var sLanguage = oMfmStorage.oLanguage[sPortal].aLanguages[iLanguage].sSymbol;
			$.get(
				 '/?eID=json&action=totoyaRequest&sClass=cTracks&sFunction=ajaxGetTracks'
				,{
					 sPortal:	sPortal
					,sLanguage:	sLanguage
				}
				,function(o){
					oSiteControl.oTracklist = o.mData;
					oSiteControl.renderStreckenlisteseite();
				}
				,'json'
			);
			return;
		}
		
		// get title
		var sHeadline = $('.tracklist_headline').text();
		$('.tracklist_headline').remove();
		
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				 'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,sHeadline
		);
		
		// get link texts
		oLinkTexts = {
			text:		$('#roadway_btn_content_text').html()
			,picture:	$('#roadway_btn_content_picture').html()
			,video:		$('#roadway_btn_content_video').html()
			,map:		$('#roadway_btn_content_map').html()
		};
		
		$('#content').prepend(oTitleBar);
		
		// category select
		$('#content .titlebar-item-title').after('<select class="tracklist_select"></select>');
		var jSelect = $('#content .titlebar-item-title').next();
		for(iIndex in oSiteControl.oTracklist.aCategories){
			var oCategory = oSiteControl.oTracklist.aCategories[iIndex];
			jSelect.append('<option class="tracklist_select_option" value="'+oCategory.sId+'">'+oCategory.sTranslation+'</option>');
		}
		
		// get sCat param and set select to it
		var sLocation = unescape(window.location.href);
		var aParams = sLocation.slice(sLocation.indexOf('?') + 1).split('&');
		for(var i=0;i<aParams.length;i++){
			if(aParams[i].split("=")[0] == 'sCat'){
				jSelect.val(aParams[i].split("=")[1]);
			}
		}
		
		// get html track template
		$('.tracklist').find('.tracklist_element').removeClass('hidden');
		oSiteControl.sTrackTemplate = $('.tracklist').html();
		
		// get html paginator bullet template
		oSiteControl.sBulletTemplate = $('#tracklist_activity_browserbox').html();
		
		// set category handler
		jSelect
			.change(function() {
				oSiteControl.filterTracks($(this).val());
			})
			.change();
	}




	/**
	 * Filters the "Strecken"
	 */
	,iTrackCount: 10
	,filterTracks: function(sCategoryId , iTrackPage){
		
		if(typeof iTrackPage == 'undefined'){
			iTrackPage = 0;
		}
		
		// clear tracklist
		$('.tracklist').empty();
		
		// check if categories are available
		if(oSiteControl.oTracklist.aCategories.length  == 0){
			return;
		}
		
		// if unavailable catgory, choose first one
		if( typeof oSiteControl.oTracklist.aTracks[sCategoryId] == 'undefined' ){
			sCategoryId = oSiteControl.oTracklist.aCategories[0].sId;
		}
		
		// fill tracklist
		var iSmallerThan = Math.min(
			(iTrackPage + 1) * oSiteControl.iTrackCount
			,oSiteControl.oTracklist.aTracks[sCategoryId].length
		);
		for(var iIndex = iTrackPage * oSiteControl.iTrackCount; iIndex < iSmallerThan; iIndex++){
			
			var oTrack = oSiteControl.oTracklist.aTracks[sCategoryId][iIndex];
			
			// fill track data
			var oTrackDOM = $(oSiteControl.sTrackTemplate);
			oTrackDOM.find('.tracklist_element_left_pic').attr('src',oTrack.sPic);
			oTrackDOM.find('.tracklist_element_left_text').html(oNavControl.parseText(oTrack.sTitle));
			oTrackDOM.find('.tracklist_element_link_text').html(oLinkTexts[oTrack.sTrackType]);
			oTrackDOM.find('.tracklist_element_link').bind('click', {sLink: oTrack.sLink}, function(o){
				oNavControl.navTo(o.data.sLink);
			});
			
			// append track to list
			$('.tracklist').append(oTrackDOM);
		}
		
		// set button height
		$('.tracklist_element_link').each(function(){
			$(this).height($(this).prev().height());
		});
		
		// button hover
		$('.tracklist_element_link').hover(
			function(){
				$(this).addClass('tracklist_element_link_hover');
				$(this).find('.tracklist_element_link_pic').addClass('tracklist_element_link_pic_hover');
				$(this).find('.tracklist_element_link_text').addClass('tracklist_element_link_text_hover');
			}, function() {
				$(this).removeClass('tracklist_element_link_hover');
				$(this).find('.tracklist_element_link_pic').removeClass('tracklist_element_link_pic_hover');
				$(this).find('.tracklist_element_link_text').removeClass('tracklist_element_link_text_hover');
			}
		);
		
		// add bullets to paginator
		$('#tracklist_activity_browserbox').empty();
		var iPages = Math.ceil(oSiteControl.oTracklist.aTracks[sCategoryId].length / oSiteControl.iTrackCount);
		for(var i = 0; i < iPages; i++){
			var oBullet = $(oSiteControl.sBulletTemplate);
			oBullet.addClass(i == iTrackPage ? 'active_bullet' : 'inactive_bullet' );
			$('#tracklist_activity_browserbox').append(oBullet);
			oBullet.bind('click', {iPage: i}, function(o){
				oSiteControl.filterTracks(sCategoryId, o.data.iPage);
			});
		}
		
		// paginator padding
		var fPadding = (910 - iPages * 15) / 2;
		
		// arrow handling
		$('#tracklist_paginator').css({'padding': '0 '+fPadding+'px'});
		$('.last_arrow').unbind();
		if(iTrackPage > 0){
			$('.last_arrow').click(function(){
				oSiteControl.filterTracks(sCategoryId, iTrackPage - 1);
			});
		}
		$('.next_arrow').unbind();
		if(iTrackPage < iPages - 1){
			$('.next_arrow').click(function(){
				oSiteControl.filterTracks(sCategoryId, iTrackPage + 1);
			});
		}
		
		$(window).resize();
		
	}
	
	
	
	
	/**
	 * Renders the "Auswahlseite".
	 */
	 
	,renderAuswahlseite: function() {
		// add a title bar if parent is also a "Auswahlseite"
		var bDonationOverview = (oNavControl.oActivePage.oParent.sName == oMfmStorage._('donate'));
		if (oNavControl.oActivePage.oParent.sUrl != 'mainmenu/') {
			var oTitleBar = oSiteControl.renderTitleBar(
				{
					'bBack':		(bDonationOverview? false : true)
					,'bCam':		false
					,'bTitle':		true
				}
				,oNavControl.oActivePage.sName
			);
			$('#inner_content').prepend(oTitleBar);
		}

		// check for double lined titles
		$('.cat_div').each(function() {
			if($(this).find('.cat_header').height() > 20) {
				$(this).find('.cat_header').addClass('ch_doublelined');
			}
		});

		// bind events for glazed tile layout
		$('.cat_div').hover(
			function() {
				$(this).addClass('cat_div_hover');
				$(this).find('.cat_header').addClass('cat_header_hover');
				$(this).find('.cat_header_action').addClass('cat_header_hover');
				$(this).find('.cat_text').addClass('cat_text_hover');
				$(this).find('.cat_text_action').addClass('cat_text_hover');
			}
			, function() {
				$(this).removeClass('cat_div_hover');
				$(this).find('.cat_header').removeClass('cat_header_hover');
				$(this).find('.cat_header_action').removeClass('cat_header_hover');
				$(this).find('.cat_text').removeClass('cat_text_hover');
				$(this).find('.cat_text_action').removeClass('cat_text_hover');
			}
		);

		$('.bg_red').hover(
			function() {
				$(this).removeClass('bg_red');
				$(this).addClass('cat_div_hover');
				$(this).find('.cat_header_action_red').addClass('cat_header_action_red_hover');
				$(this).find('.cat_text_action_red').addClass('cat_text_action_red_hover');
			}
			, function() {
				$(this).removeClass('cat_div_hover');
				$(this).addClass('bg_red');
				$(this).find('.cat_header_action_red').removeClass('cat_header_action_red_hover');
				$(this).find('.cat_text_action_red').removeClass('cat_text_action_red_hover');
			}
		);
		
				
		$('.cat_div').click(
			function(e) {
				var sAktivLink = $(this).find('a').attr('href');
				var sUrl = sAktivLink.substring(30,(sAktivLink.length-2));
				log(sUrl);
				oNavControl.navTo(sUrl);
		});
	}




	/**
	 * render Textstrecke
	 */
	,renderTextstrecke: function() {
		var bProject = (oMfmStorage.oProjectsData != null);

		// show/hide dotorgnavi
		if (bProject) {
			$('#dotorgnavi').addClass('hide');
		}

		// attach the title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		true
				,'bTitle':		true
				,'bSubTitle':	false //(bProject? true : false)
			}
			, (
				bProject ?
				oMfmStorage.oProjectsData.sCatName :
				oNavControl.oActivePage.sName
			)
			, oSiteControl.getBackLink(bProject)
		);
		$('#content-wrapper').prepend(oTSTitleBar);

		// attach the action bar
		var oTSActionBar = oSiteControl.renderActionBar(
			{
				'bFaceBook':	true
				,'bPrint':		true
				,'bMail':		true
			}
			,''
		);
		$('#content').append(oTSActionBar);

	}




	/**
	 * renderAktionStarten
	 */
	,aDefaultFields: [
		// default values tab 'registrieren'
		'com_my_activity_email', 'com_my_activity_password', 'com_activity_firstname', 'com_activity_name', 'com_activity_email', 'com_activity_com_activity_email_validation'
		// default values tab 'beschreiben'
		, 'com_activity_title', 'com_activity_subtitle', 'com_activity_begin_date', 'com_activity_begin_time', 'com_activity_end_date', 'com_activity_end_time', 'com_activity_flickr', 'com_activity_facebook'
	]
	, iActivityId:			null
	, oUserData:			false
	, sActivityWizzardData:	null
	, bTab2Disabled: 		true
	, bTab3Disabled:		true
	, iLastTab: 			0
	, oDefaultValues:		{}
	, bSaveActivityValues:	true
	, sTab3Content:			null
	, bRASLoggedIn:			false
	, bRASMayGoToStep2:		false
	, renderAktionStarten:	function() {
		
		// check if ssl connection
		if (!oMfmStorage.bDebug && !oNavControl.bSsl) {
			oNavControl.loadSsl('activities');
			return false;
		}
		
		// create new activity
		if (oSiteControl.iActivityId === null) {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxCreateActivity'
				,function(o) {
					oSiteControl.iActivityId = o.mData;
					oSiteControl.renderAktionStarten();
				}
				,'json'
			);
			return;
		}
		
		// check login status
		oSiteControl.bRASLoggedIn = false;
		if (oSiteControl.oUserData === false) {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData'
				,function(o) {
					oSiteControl.oUserData = o.mData;
					oSiteControl.renderAktionStarten();
				}
				,'json'
			);
			return;
		}
		oSiteControl.bRASLoggedIn = oSiteControl.oUserData !== null;
		
		// get data from the mfm Storage
		var sPortal 	= oMfmStorage.oLanguage.sActivePortal;
		var oPortal 	= oMfmStorage.oLanguage[sPortal];
		var sLanguage	= oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		
		// get wizzard data
		if (oSiteControl.sActivityWizzardData === null) {
			
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxGetActivityWizzardData'
				,{ 
					sLang: 		sLanguage
					,  sPortal:	sPortal
				}
				,function(o) {
					oSiteControl.sActivityWizzardData = o.mData;
					oSiteControl.renderAktionStarten();
				}
				,'json'
			);
			return;
		}
		
		// parse occasions and categories in tab 'beschreiben'
		$('#activity_content_tab_2').html(
			cTemplate.parse(
				$('#activity_content_tab_2').html().replace(/&lt;_/g, '<').replace(/&gt;/g, '>')
				,oSiteControl.sActivityWizzardData
			)
		);
		
		// get default values
		var i;
		for (i in oSiteControl.aDefaultFields) {
			oSiteControl.oDefaultValues[oSiteControl.aDefaultFields[i]] = $('#'+oSiteControl.aDefaultFields[i]).val();
		}
		
		// attach the title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
				,'bSubTitle':	false
			}
			, oNavControl.oActivePage.sName
			, 'mainmenu/aktiv-werden/'
		);
		$('#content-wrapper').prepend(oTSTitleBar);
		
		// repair li tags
		$('#new-actifity-tabs').html($('#new-actifity-tabs').html().replace(/&lt;_/g, '<').replace(/&gt;/g, '>'));
		
		// move tab contents
		for (var i = 1; i <= 3; i++) {
			var sHtml = $('#activity_content_tab_'+i).html();
			$('#activity_content_tab_'+i).html('');
			$('#com_activity_content_tab_'+i).html(sHtml);
		}
		oSiteControl.sTab3Content = $('#com_activity_content_tab_3').html().replace(/%7B/g, '{').replace(/%7D/g, '}');
		
		// set starting tabs status
		var iStartTab		= 0;
		var aDisabledTabs	= [ 1, 2 ];
		
		// bind email change to throw ajax that asks if email may be used
		// then block button to next step if may not be used
		$('#com_activity_email').change(function(){
			oSiteControl.bRASMayGoToStep2 = false;
			// put ajax overlay over the email field
			var me = $(this);
			me.after('<div class="overlay" />');
			var jOverlay = me.next();
			jOverlay.css({
				'background-color':		'#E3E4E6'//'#086AB5'
				,'position':			'absolute'
				,'left':				me.position().left
				,'top':					me.position().top
				,'width':				me.outerWidth(false)
				,'height':				me.outerHeight(false)
			});
			var io = 0.75;
			jOverlay.css({"opacity":io,"-moz-opacity":io,"-webkit-opacity":io,"-khtml-opacity":"io","-o-opacity":io,"filter":"Alpha(opacity="+Math.floor(io*100)+")"});
			var jAjaxGif = $('<img src="/fileadmin/templates/css/images/ajax_loader.gif" alt="" />');
			jOverlay.append(jAjaxGif);
	        jAjaxGif.css({
	            position: 'absolute'
	            ,left: ((jOverlay.width() - 32) / 2) + 'px'
	            ,top: (jOverlay.height() - 32) / 2 + 'px'
	        });
			
			me.data('jOverlay',jOverlay);
			// ask server if mail may be used
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxCheckIfCanUseThatEmail'
				,{
					sEmail: me.val()
				}
				,function(o) {
					if (o.mData.bSuccess === true) {
						oSiteControl.bRASMayGoToStep2 = true;
						$('#error_email_taken').addClass('noscript');
					} else {
						$('#error_email_taken').removeClass('noscript');
					}
					// remove overlay again
					$('#com_activity_email').data('jOverlay').remove();
				}
				,'json'
			);
		});
		
		// if logged in, set user data
		if (oSiteControl.bRASLoggedIn) {
			// set user values
			$('#com_activity_my_salutation').val(oSiteControl.oUserData.iSalutation);
			$('#com_activity_my_title').val(oSiteControl.oUserData.iTitle);
			$('#com_activity_firstname').val(oSiteControl.oUserData.sFirstname);
			$('#com_activity_name').val(oSiteControl.oUserData.sLastname);
			$('#com_activity_email').val(oSiteControl.oUserData.sEmail);
			$('#com_activity_com_activity_email_validation').val(oSiteControl.oUserData.sEmail);
			$('#com_activityprivacy_terms').attr('checked', 'checked');

			iStartTab				= 1;
			oSiteControl.iLastTab	= 1;
			aDisabledTabs			= [ 0, 2 ];
			$('#btn_com_back').hide();
		}
		
		// create tabs
		$('#new-actifity-tabs').tabs({
			'selected':		iStartTab
			,'select': 		oSiteControl.changeActivityTab
			,'disabled': 	aDisabledTabs
		});
		
		// bubble handler
		$('.btn_activity_info_bubble').hover(
			function() {
				$(this).next().show();
			}
			, function() {
				$(this).next().hide();
			}
		);
		
		// set focus and blur handler
		for (i in oSiteControl.aDefaultFields) {
			// set focus handler
			$('#'+oSiteControl.aDefaultFields[i]).focus(function() {
				var sValue = $.trim($(this).val());
				var sId = $(this).attr('id');
				if (sValue == oSiteControl.oDefaultValues[sId]) {
					$(this).val('');
				}
			});

			// set blur handler
			$('#'+oSiteControl.aDefaultFields[i]).blur(function() {
				var sValue = $.trim($(this).val());
				var sId = $(this).attr('id');
				if (sValue == '') {
					$(this).val(oSiteControl.oDefaultValues[sId]);
				}
			});
		}
		// set euro values focus
		$('#com_activity_goal, #com_activity_initial_donation').focus(function() {
			var sHiddenId = '#' + $(this).attr('id') + '_hidden';
			var iValue = parseInt($(sHiddenId).val());
			var sValue = (isNaN(iValue) || iValue == 0 ? '' : iValue+'');
			$(this).val(sValue);
		});
		// set euro values blur
		$('#com_activity_goal, #com_activity_initial_donation').blur(function() {
			var sHiddenId = '#' + $(this).attr('id') + '_hidden';
			var iValue = parseInt($(this).val());
			iValue = (isNaN(iValue) ? 0 : iValue);
			$(sHiddenId).val(iValue);
			$(this).val(iValue + '\u20ac');
		});
		
		// tab 'registrieren' handler
		$('#com_my_activity_login').click(function() {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxLoginUser'
				, {
					sEmail:		$.trim($('#com_my_activity_email').val())
					,sPassword:	$.trim($('#com_my_activity_password').val())
					,sPortal:	oMfmStorage.oLanguage.sActivePortal
				}
				, function(o) {
					if (o.mData !== false) {
						$.get(
							oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData'
							, function(o) {
								oSiteControl.oUserData = o.mData;
								if (o.mData !== null) {
									// set values
									$('#com_activity_my_salutation').val(o.mData.iSalutation);
									$('#com_activity_my_title').val(o.mData.iTitle);
									$('#com_activity_firstname').val(o.mData.sFirstname);
									$('#com_activity_name').val(o.mData.sLastname);
									$('#com_activity_email').val(o.mData.sEmail);
									$('#com_activity_com_activity_email_validation').val(o.mData.sEmail);
									$('#com_activityprivacy_terms').attr('checked', 'checked');
									
									// set flags
									oSiteControl.bRASMayGoToStep2 = true;
									oSiteControl.bRASLoggedIn = true;
									
									// disable tab 'registrieren'
									$('#btn_com_back').hide();
									$('#new-actifity-tabs')
										.tabs('enable', 1)
										.tabs('select', 1)
										.tabs('disable', 0);
									oSiteControl.bTab2Disabled = false;
									oSiteControl.iLastTab	= 1;
								}
							}
							, 'json'
						);
					}
				}
				, 'json'
			);
		});
		$('#btn_com_next').click(function() {
			oSiteControl.bTab2Disabled = $('#tabs-2').hasClass('ui-state-disabled');
			$('#new-actifity-tabs').tabs('enable', 1).tabs('select', 1);
		});

		// tab 'beschreiben' handler
		$('#btn_com_back').click(function() {
			$('#new-actifity-tabs').tabs('select', 0);
		});
		$('#btn_com_safing').click(function() {
			oSiteControl.bTab2Disabled = $('#tabs-3').hasClass('ui-state-disabled');
			$('#new-actifity-tabs').tabs('enable', 2).tabs('select', 2);
		});
		oImageUpload.init(sLanguage, 'community_activity', oSiteControl.iActivityId, false);
		
		// tab 'einstellen' handler
		$('#btn_com_alter').live('click', function() { $('#new-actifity-tabs').tabs('select', 1); } );
		$('#btn_com_adjust').live('click', function() { oSiteControl.publishActivity(); } );
		
		// possibly hide ssl change overlay
		oNavControl.hideSslChange();
	}




	,changeActivityTab: function(event, ui) {
		switch (oSiteControl.iLastTab) {
			case 0:
				// check values
				if (!oSiteControl.bRASMayGoToStep2) {
					return false;
				}
				if (oSiteControl.checkRegisterValues()) {
					oSiteControl.bTab2Disabled = false;
					if (oSiteControl.bTab2Disabled) {
						$('#new-actifity-tabs').tabs('disable', 1);
					}
				} else {
					if (oSiteControl.bTab2Disabled) {
						$('#new-actifity-tabs').tabs('disable', 1);
					}
					return false;
				}
				break;
			case 1:
				if (ui.index != 0 && oSiteControl.bSaveActivityValues) {
					// check activity values
					if (oSiteControl.checkActivityValues()) {
						if (ui.index == 2) {
							// save activity values
							oSiteControl.saveActivityFields();
							return false;
						}
					} else if (oSiteControl.bTab3Disabled) {
						$('#new-actifity-tabs').tabs('disable', 2);
					}
					return false;
				} else {
					oSiteControl.bSaveActivityValues = true;
				}
				break;
		}

		// set last tab variable
		oSiteControl.iLastTab = ui.index;
	}




	,checkRegisterValues: function() {
		var aCheckFields = [
			'com_activity_my_salutation', 'com_activity_firstname', 'com_activity_name'
			, 'com_activity_email', 'com_activity_com_activity_email_validation'
		];

		// check registration values
		var bError = false;
		var sFirstError = null;
		var i;
		// check all neccessary values
		for (i in aCheckFields) {
			// reset error flag
			$('#'+aCheckFields[i]).css('outline', 'none');
			
			// check value
			var sValue = $.trim($('#'+aCheckFields[i]).val());
			if (
				sValue.length == 0
				|| (
					$.inArray(aCheckFields[i], oSiteControl.aDefaultFields) != -1
					&& sValue == oSiteControl.oDefaultValues[aCheckFields[i]]
				)
			) {
				// show error
				bError = true;
				$('#'+aCheckFields[i]).css('outline', '2px solid #B5342F');
				if (sFirstError === null) {
					sFirstError = aCheckFields[i];
				}
			}
		}
		// check if emails are equal
		if ($('#com_activity_email').val() != $('#com_activity_com_activity_email_validation').val()) {
			bError = true;
			$('#com_activity_email, #com_activity_com_activity_email_validation').css('outline', '2px solid #B5342F');
			if (sFirstError === null) {
				sFirstError = 'com_activity_email';
			}
		}
		// check if 'terms checkbox' is checked
		$('#com_activityprivacy_terms').css('outline', 'none');
		if ($('#com_activityprivacy_terms:checked').length == 0) {
			bError = true;
			$('#com_activityprivacy_terms').css('outline', '2px solid #B5342F');
			if (sFirstError === null) {
				sFirstError = 'com_activity_email';
			}
		}

		if (bError) {
			// show error msg
			$('#error_register_fields').removeClass('noscript');
			$('#'+sFirstError).focus();
		}

		return !bError;
	}




	,checkActivityValues: function() {
		var aCheckFields = [
			'com_activity_title', 'com_activity_subtitle', 'mfm_com_occasion'
			, 'mfm_com_category', 'com_activity_begin_date', 'com_activity_begin_time'
			, 'com_activity_end_date', 'com_activity_end_time', 'com_detail_my_activity_description_textarea'
		];

		var bError = false;
		var sFirstError = null;
		var i;
		// check all neccessary values
		for (i in aCheckFields) {
			// reset error flag
			$('#'+aCheckFields[i]).css('outline', 'none');

			// check value
			var sValue = $.trim($('#'+aCheckFields[i]).val());
			if (
				sValue.length == 0
				|| (
					$.inArray(aCheckFields[i], oSiteControl.aDefaultFields) != -1
					&& sValue == oSiteControl.oDefaultValues[aCheckFields[i]]
				)
			) {
				// show error
				bError = true;
				$('#'+aCheckFields[i]).css('outline', '2px solid #B5342F');
				if (sFirstError === null) {
					sFirstError = aCheckFields[i];
				}
			}
		}
		// check if goal is greater then zero
		$('#com_activity_goal').css('outline', 'none');
		var iValue = parseInt($('#com_activity_goal_hidden').val());
		if (isNaN(iValue) || iValue <= 0) {
			bError = true;
			$('#com_activity_goal').css('outline', '2px solid #B5342F');
			if (sFirstError === null) {
				sFirstError = 'com_activity_goal';
			}
		}

		$('#error_activity_fields').addClass('noscript');
		if (bError) {
			// show error msg
			$('#error_activity_fields').removeClass('noscript');
			$('#'+sFirstError).focus();
		}

		return (!bError);
	}



	,sDonationCode: null
	,sActivityTitle: null
	,saveActivityFields: function() {
		// TODO: show waiting screen

		var oPortal 		= oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sLanguage		= oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		//var sInvitation		= $.trim($('#com_detail_my_activity_email_text_textarea').val());
		var sAcknowledgment	= $.trim($('#com_detail_my_activity_acknowledgment_textarea').val());
		var sFlickrLink		= $.trim($('#com_activity_flickr').val());
		var sFacebookLink	= $.trim($('#com_activity_facebook').val());
		var oActivityData	= {
			'iId':					oSiteControl.iActivityId
			,'sPortal':				oMfmStorage.oLanguage.sActivePortal
			,'sLang':				sLanguage
			,'sSalutation':			$('#com_activity_my_salutation').val()
			,'sTitle':				$('#com_activity_my_title').val()
			,'sFirstname':			$('#com_activity_firstname').val()
			,'sLastname':			$('#com_activity_name').val()
			,'sEmail':				$('#com_activity_email').val()
			,'sActivityTitle':		$('#com_activity_title').val()
			,'sActivitySubtitle':	$('#com_activity_subtitle').val()
			,'iOccasionId':			$('#mfm_com_occasion').val()
			,'sStartDate':			$('#com_activity_begin_date').val()
			,'sStartTime':			$('#com_activity_begin_time').val()
			,'sCategory':			$('#mfm_com_category').val()
			,'sEndDate':			$('#com_activity_end_date').val()
			,'sEndTime':			$('#com_activity_end_time').val()
			,'sActivityText':		$('#com_detail_my_activity_description_textarea').val()
			//,'sInvitation':			( oSiteControl.oDefaultValues.com_detail_my_activity_email_text_textarea == sInvitation ? '' : sInvitation )
			,'sAcknowledgment':		( oSiteControl.oDefaultValues.com_detail_my_activity_acknowledgment_textarea == sAcknowledgment ? '' : sAcknowledgment )
			,'bPortalDe':			$('#com_activity_portal_de:checked').length
			,'bPortalAt':			$('#com_activity_portal_at:checked').length
			,'bPortalCh':			$('#com_activity_portal_ch:checked').length
			,'iGoal':				$('#com_activity_goal_hidden').val()
			,'sDonation':			$('#com_activity_initial_donation_hidden').val()
			,'sFlickrLink':			( oSiteControl.oDefaultValues.com_activity_flickr == sFlickrLink ? '' : sFlickrLink )
			,'sFacebookLink':		( oSiteControl.oDefaultValues.com_activity_facebook == sFacebookLink ? '' : sFacebookLink )
		};
		// save activity
		$.get(
			'?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxSaveInvisibleActivity'
			, oActivityData
			, function(e) {
				var mData = e.mData;

				// TODO: hide waiting screen

				// check result
				if (mData === false) {
					if (oSiteControl.bTab3Disabled) {
						$('#new-actifity-tabs').tabs('disable', 2);
					}

					// TODO: error handling
					log('Fehler');
					return;
				}
				
				// remember donation code
				oSiteControl.sDonationCode = mData.sDonationCode;
				
				// remember activity title
				oSiteControl.sActivityTitle = mData.sActivityTitle;

				// parse tab 3 values
				var iInitialDonation = parseInt($('#com_activity_initial_donation_hidden').val());
				mData.bInitialDonation = ( !isNaN(iInitialDonation) && iInitialDonation > 0 );
				mData.iInitialDonation = ( mData.bInitialDonation ? iInitialDonation : 0 );
				$('#com_activity_content_tab_3').html(cTemplate.parse(oSiteControl.sTab3Content, mData));

				$('#new-actifity-tabs').tabs('disable', 0);
				$('#btn_com_back').hide();
				oSiteControl.bTab3Disabled = false;

				// set last tab variable
				oSiteControl.iLastTab = 1;

				oSiteControl.bSaveActivityValues = false;
				$('#new-actifity-tabs').tabs('select', 2);
			}
			, 'json'
		);
	}




	, publishActivity: function() {
		$.get(
			'?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxPublishActivity'
			, {
				iId:	oSiteControl.iActivityId
			}
			, function(e) {
				var mData = e.mData;			

				// check result
				if (mData === false) {
					alert(oMfmStorage._('error_action_Data'));
					return;
				}
				var iInitalDonation = $('#com_activity_preview_initial_donation').text().substr(0,($('#com_activity_preview_initial_donation').text().length-1));
				// if owner added inital doation
				if (iInitalDonation != 0) {
					// set donation values
					oDonationControl.sWerbeCode = oSiteControl.sDonationCode;
					oDonationControl.sProjectName = 'Aktion "' + oSiteControl.sActivityTitle + '"';
					oDonationControl.iActivityId = oSiteControl.iActivityId;
					
					// show donation wizzard
					oDonationControl.showDonationWizard(iInitalDonation);
				} else {
					oSiteControl.showActivity();
				}
			}
			, 'json'
		);
	}




	,renderUnternehmensSpende: function() {
		this.renderTextstrecke();
		$('.actionbar-wrapper').hide();

		//var oContentRight = $('#content_right > div');
		//$('#inner_content').append(oContentRight);
		$('#content_right').removeClass('noscript');
	}




	/**
	 *
	 */
	,renderRegistrierungBestaetigen: function() {
/*
		// insert when this function should be deactivated
		oNavControl.aAllParams.bSsl = 1;
		oNavControl.aAllParams.sPage = 'login';
		window.location.href = oNavControl.sBaseUrl + '#mainmenu/start/bildung/';
		return;
*/

		// get hash value
		var sActivationCode = '';
		var aUrl = window.location.href.split('?');
		if (aUrl.length > 1) {
			var aParams = aUrl[1].split('&');
			if (typeof aParams == 'object') {
				for (var i in aParams) {
					var aParam = aParams[i].split('=');
					if (aParam.length > 1) {
						if (aParam[0] == 'sActivationCode') {
							sActivationCode = aParam[1];
						}
					}
				}
			}
		}

		// check if activation is given
		if ($.trim(sActivationCode) == '') {
			$('#reg_confirm_failed').show();
			return;
		}

		// set request data
		var oValues = {
			sPortal:			oMfmStorage.oLanguage.sActivePortal
			,sActivationCode:	sActivationCode
		};

		// send confirm-webservice request
		$.ajax({
			url:		oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxActivateUser'
			, data:		oValues
			, type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError) {
					$('#reg_confirm_ok').show();
					if (o.mData != null) {
						window.setTimeout(
							function() {
								oNavControl.navTo('footermenu/login/passwort-vergeben?sPasswordCode=' + o.mData);
							}
							, 300
						);
					}
				}
				else {
					$('#reg_confirm_failed').show();
				}
			}
			, error:	function(o) {
				$('#reg_confirm_failed').show();
			}
		});
	}




	/**
	 * render Bilderstrecke
	 */
	,renderBilderstrecke: function() {

		// category navi ausblenden
		$('#categorynavi').hide();

		var bProject = (oMfmStorage.oProjectsData != null);

/*
		// mainnavi ausblenden
		//$('#dotorgnavi').addClass('hide');

		// image track icon hinzufügen
		var oImageTrackIcon = $('<div />');
		oImageTrackIcon.addClass('bilderstrecke-icon');
		$('#header').append(oImageTrackIcon);
*/

		// parse main text
		var sContent = $('#inner_content .bodytext').html();
		if (sContent != null) {
			sContent = this.parseLinks(sContent);
			$('#inner_content .bodytext').html(sContent);
		}

		// determine num of pictures and page num
		var oBullets = $('#bullets div');
		var iPicCount = oBullets.length;
		var iActiveNum = 0;
		for (iActiveNum = 0; !$(oBullets[iActiveNum]).hasClass('active_bullet'); iActiveNum++);

		// add title bar
		var oTSTitleBar = oSiteControl.renderPictureTitleBar(
			{
				'bBack':		true
				,'bCam':		(bProject ? true : false)
				,'bTitle':		true
				,'bSubTitle':	(bProject? true : false)
				,'bPager':		true
			}
			, oNavControl.oActivePage.oParent.sName  + ' | ' + (bProject ? oMfmStorage.oProjectsData.sCatName : '')
			, oSiteControl.getBackLink(bProject)
			, iPicCount
			, iActiveNum
		);
		$('#content').prepend(oTSTitleBar);


		// add action bar
		var oTSActionBar = oSiteControl.renderActionBar(
			{
				'bFaceBook':	true
				,'bPrint':		false
				,'bMail':		true
			}
			,''
		);
		$('#content').append(oTSActionBar);

	}




	/**
	 * render video strecke
	 */
	,renderVideoStrecke: function() {
		this.renderCategoryNavi(true);
		$('#dotorgnavi').addClass('hide');
	}




	/**
	 * render karten strecke
	 */
	,bOverviewMapVisible: true
	,renderKartenStrecke: function() {

		// save typo gennerated content
		var sMap = $('#inner_content').find('#k_map_overview').html();
		var sSubmenu = $('#inner_content').find('#k_map_entries').html();
		
		// render html content
		$('#inner_content').empty().html(
			 '<div id="inner_content_left">'
			 	+'<div id="wrp_map_overview"></div>'
			 	+'<div id="wrp_map_region"></div>'
			 +'</div>'
			+'<div id="inner_content_right"></div>'
			+'<div class="floatend"></div>'
		);
		$('#wrp_map_overview').html(sMap);
		$('#inner_content_right').html(sSubmenu);

		// translate "Projektregionen"
		var jEntriesTitle = $('#inner_content_right #k_map_entries_title');
		jEntriesTitle.text(oMfmStorage._(jEntriesTitle.text()));

		// add title bar
		var oTSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
				,'bSubTitle':	false
			}
			, oMfmStorage.oProjectsData.oCurrent.sCatName
			, oMfmStorage.oLanguageMapping.parsePath('mainmenu/projekte/projekt/?cat=' + oMfmStorage.oProjectsData.sCategory)
		);
		$('#content').prepend(oTSTitleBar);

		// render the overview map
		oSiteControl.showMapOverview();

		// bind click for the title
		$('#k_map_entries_title')
			.addClass('kmeli_title_active')
			.click(function() {
				oSiteControl.showMapOverview();
			})
			.hover(function() {
				if (!oSiteControl.bOverviewMapVisible) {
					$(this).removeClass('kmeli_title_inactive').addClass('kmeli_title_active');
				}
			}
			,function() {
				if (!oSiteControl.bOverviewMapVisible) {
					$(this).removeClass('kmeli_title_active').addClass('kmeli_title_inactive');
				}
			});


		// bind click event for submenu regions
		$('.kmeli_title').live('click', function() {
			if (oSiteControl.bOverviewMapVisible) {
				var iRegionId = parseInt($(this).parent().attr('id').split('_')[1]);
				if (iRegionId != 0) {
					var aCoords = $('#shape_' + iRegionId).attr('coords').split(',');
					oSiteControl.showMapOverviewDetail(iRegionId, aCoords);
				}
			}
			else {
				var iRegionId = parseInt($(this).parent().attr('id').split('_')[1]);
				if (iRegionId != 0) {
					oSiteControl.showMapRegionDetail(iRegionId);
				}
			}
		});
		$('.kmeli')
			.live('mouseenter', function() {
				if (!$(this).find('.kmeli_title').hasClass('kmeli_active_item')) {
					$(this).find('.kmeli_title').removeClass('kmeli_title_inactive').addClass('kmeli_title_active');
				}
			})
			.live('mouseleave', function() {
				if (!$(this).find('.kmeli_title').hasClass('kmeli_active_item')) {
					$(this).find('.kmeli_title').removeClass('kmeli_title_active').addClass('kmeli_title_inactive');
				}
			});
	}




	/**
	 * show overview on the drawn map
	 *
	 * @param iIndex	integer			region index
	 * @param aCoords	array			coordinates on the map
	 */
	,showMapOverviewDetail: function(iIndex, aCoords) {

		// offsets
		var iOffsetX = 154;
		var iOffsetY = 281;
		var iOffsetXCB = -207;
		var iOffsetYCB = 262;
		var iOffsetXBtn = 14;
		var iOffsetYBtn = 136;

		// get dataset
		for (var i in oSiteControl.oMapOverviewData) {
			if (iIndex == oSiteControl.oMapOverviewData[i].iId) {
				var oData = oSiteControl.oMapOverviewData[i];
				break;
			}
		}
		if (typeof oData == 'undefined') {
			return;
		}

		if (!$('#img_k_dragger_wrp').hasClass('img_k_dragger_active')) {
			// show dragger
			$('#img_k_dragger_wrp')
				.addClass('img_k_dragger_active')
				.css({
					'left': (aCoords[0] - iOffsetX) + 'px'
					,'top': (aCoords[1] - iOffsetY) + 'px'
				});

			// fill content
			$('#img_k_dragger_wrp').find('#dragger_data').text(oData.iId);
			$('#img_k_dragger_wrp').find('#dragger_title').html(oMfmStorage._('region') + ' ' + oData.sRegion);
			$('#img_k_dragger_wrp').find('#dragger_subtitle').html(oMfmStorage._('deploymentProject'));
			$('#img_k_dragger_wrp').find('#dragger_img').html('<img src="' + oData.sPicture + '" alt="" height="100" />');
			$('#img_k_dragger_wrp').find('#dragger_description').html(oData.sDescription);

			$('#img_k_dragger_wrp').fadeIn(500, function() {
				// show close button
				$('#dragger_close')
					.css({
						'left': (aCoords[0] - iOffsetXCB) + 'px'
						,'top': (aCoords[1] - iOffsetYCB) + 'px'
					})
					.unbind()
					.show()
					.click(function() {
						$(this).hide();
						$('#dragger_link').hide();
						$('#img_k_dragger_wrp').fadeOut(500, function() {
							$(this).removeClass('img_k_dragger_active');
						});
					});
				// show 'show region' btn
/* TODO wieder einkommentieren, wenn Kunde mit Pflege fertig.

 				$('#dragger_link')
					.css({
						'left': (aCoords[0] - iOffsetXBtn) + 'px'
						,'top': (aCoords[1] - iOffsetYBtn) + 'px'
					})
					.unbind()
					.show()
					.bind('click', { iIndex: iIndex }, function(event) {
						var iIndex = event.data.iIndex;
						oSiteControl.showMapRegionDetail(iIndex);
					});

*/

			});
		}
		else {
			if (iIndex != $('#dragger_data').text()) {
				$('#dragger_close').hide();
				$('#dragger_link').hide();
				$('#img_k_dragger_wrp').fadeOut(500, function() {
					$(this).removeClass('img_k_dragger_active');
					oSiteControl.showMapOverviewDetail(iIndex, aCoords);
				});
			}
		}
	}




	/**
	 * show the drawn map
	 */
	,showMapOverview: function() {

		// toggle maps
		oSiteControl.bOverviewMapVisible = true;
		$('#wrp_map_region').hide();
		$('#wrp_map_overview').show();
		$('#k_map_entries_title').removeClass('kmeli_title_inactive').addClass('kmeli_title_active');

		// reset overlay
		$('#dragger_data').html('');
		$('#dragger_close').hide();
		$('#dragger_link').hide();
		$('#img_k_dragger_wrp').hide();

		// get data
		$.get(
			oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cRouteMaps&sFunction=ajaxGetDraggers"
			,{
				sPortal: oMfmStorage.oLanguage.sActivePortal
				,sLanguage: oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol
				,sCategory: oMfmStorage.oProjectsData.sCategory
			}
			,function(o) {
				oSiteControl.oMapOverviewData = o.mData;
				if (oSiteControl.oMapOverviewData != null && oSiteControl.oMapOverviewData.length > 0) {
					oSiteControl.renderMapSubMenu();
				}
			}
			,'json'
		);
	}




	/**
	 * show the googlemap
	 *
	 * @param iRegionId		integer		region id
	 */
	,showMapRegionDetail: function(iRegionId) {
		// toggle maps
		oSiteControl.bOverviewMapVisible = false;
		$('#wrp_map_overview').hide();
		$('#wrp_map_region').show();
		$('#k_map_entries_title').removeClass('kmeli_title_active').addClass('kmeli_title_inactive');

		// set active submenu item
		$('.kmeli_title').removeClass('kmeli_active_item').removeClass('kmeli_title_active').addClass('kmeli_title_inactive');
		$('#kmeli_' + iRegionId).find('.kmeli_title').addClass('kmeli_active_item');

		// get data
		$.get(
			oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cRouteMaps&sFunction=ajaxGetProjects'
			,{
				sPortal: oMfmStorage.oLanguage.sActivePortal
				,sLanguage: oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol
				,sCategory: oMfmStorage.oProjectsData.sCategory
				,iRegionId: iRegionId
			}
			,function(o) {
				// init google map
				oSiteControl.initGoogleMap(
					"wrp_map_region"
					, {
						'iLatitude': o.mData.oRegion.fLatitude
						,'iLongitude': o.mData.oRegion.fLongitude
					}
					, o.mData.oRegion.iZoomLevel
					, o.mData
					, true
				);
			}
			,'json'
		);
	}




	/**
	 * render submenu for maps (kartenstrecke)
	 * @param iActiveItem		integer		index of active item
	 */
	,renderMapSubMenu: function() {
		var sSubmenuItems = '';
		$.each(oSiteControl.oMapOverviewData, function(index, oRegion) {
			sSubmenuItems += ''
			+'<div class="kmeli" id="kmeli_' + oRegion.iId + '">'
				+'<div class="kmeli_title kmeli_title_inactive">'
					+'<span>' + oRegion.sRegion + '</span>'
				+'</div>'
			+'</div>';
		});
		$('#k_map_entries_list').html(sSubmenuItems);
	}



	/**
	 * Renders the "Formularseite".
	 */
	,sFormAction: ''
	,renderFormularSeite:	function() {
		// hide "hidden fields"
		$('form .noscript').each(function(iId, oElement) {
			$(oElement).parent().hide();
		});

		// add titlebar
		var sLastUrl = (
			oNavControl.oLastPage == null ?
			'mainmenu/' :
			oNavControl.oLastPage.sUrl
		);
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
			,sLastUrl
		);
		$('#content-wrapper').prepend(oTitleBar);



		// set recommendation link
		var sLink = oNavControl.sBaseUrl+(
			oNavControl.oLastPage != null ?
			'#'+oNavControl.oLastPage.sUrl :
			''
		);
		var sMailContent = $('fieldset.news div').html();
		if (typeof sMailContent != 'string') {
			sMailContent = '';
		}
		$('fieldset.news div').html(sMailContent.replace(/##LINK##/, sLink));
		$('.recommendation_link').val(sLink);
		this.sFormAction = $('#inner_content form').attr('action');
		$('form').attr('action', 'javascript:oSiteControl.submitForm();');
		/// für checkboxes
		var jCheckboxes = $('.form_checkbox');
		jCheckboxes.each(function() {
			var jCheckbox = $(this);
			var sID = jCheckbox.attr('id').substring(6);
			$('#'+sID).addClass('form_input ignore_default_check');
			var sText = jCheckbox.next().val();
			jCheckbox.removeAttr('onclick');
			jCheckbox.change(function() {
				var sValue = ( $('#check_'+sID+':checked').length != 0 ? sText : '' );
				$('#'+sID).val(sValue);
			});
		} );
		
	}




	/**
	 * Submits a form called by an ajax request.
	 */
	,submitForm: function() {
		// don't send the email if required fields failed
		oValues = oSiteControl.checkForm();
		if (oValues == null) {
			return;
		}

		// send ajax request
		$.get(
			oNavControl.sBaseUrl+oSiteControl.sFormAction
			,oValues
			,function() {
				// got ot last or main page
				oNavControl.navTo(
					oNavControl.oLastPage != null && typeof oNavControl.oLastPage.sUrl == 'string' ?
					oNavControl.oLastPage.sUrl :
					'mainmenu/start/'
				);
			}
		);
	}




	/**
	 * Returns values, if no required field is empty; otherwise it returns null.
	 */
	,checkForm: function() {
		var bRequiredFailed = false;
		var oValues = {};
		// get all "input" fields
		$('.form_input').each(function(i, oInput) {
			// get value
			var sValue = $.trim($(oInput).val());

			// get default value
			if (!$(oInput).hasClass('ignore_default_check')) {
				// check if value is empty or default value
				var sDefaultValue = $.trim($(oInput).parent().find('label:first').text());
				if (sDefaultValue.substr(sDefaultValue.length - 1) == '*') {
					sDefaultValue = sDefaultValue.substr(0, sDefaultValue.length - 1);
				}
				var bEmptyValue = (sValue.length == 0 || sValue == sDefaultValue);
			} else {
				var bEmptyValue = false;
			}

			// if required "input" field
			if ($(oInput).hasClass('required')) {
				// if empty, set required failed flag
				if (bEmptyValue) {
					bRequiredFailed = true;
				}

				// set label color
				$(oInput).css('color', (bEmptyValue ? 'red' : 'inherit'));
			}

			// get input value
			if (!bEmptyValue) {
				var sName = $(oInput).attr('name');
				if (sName.indexOf('[]') == -1) {
					oValues[sName] = $(oInput).val();
				} else {
					sName = sName.replace('[]', '');
					if (typeof oValues[sName] != 'object') {
						oValues[sName] = [];
					}
					var aId = $(oInput).attr('id').split('_');
					oValues[sName].push({
						iId:		parseInt(aId[aId.length - 1])
						, sContent:	$(oInput).val()
					});
				}
			}
		});

		// if one required field failed, return null
		if (bRequiredFailed) {
			return null;
		}

		// otherwise return values
		return oValues;
	}




	/**
	 *	render Empfehlungsseite
	 */
	,renderEmpfehlungsSeite: function() {
		this.renderFormularSeite();
	}




	/**
	 * render Ansprechpartner Seite
	 */
	,renderAnsprechpartnerSeite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);

		// check for double lined titles
		$('.cat_div').each(function() {
			if($(this).find('.cat_header').height() > 20) {
				$(this).find('.cat_header').addClass('ch_doublelined');
			}
		});

		// bind events for glazed tile layout
		if ($('#inner_content .cat_div').length > 0) {
			$('#inner_content .cat_div')
				.unbind()
				.click(function() {
					var sUrl = $(this).find('.noscript a').attr('href');
					oNavControl.navTo(sUrl);
				})
				.mouseenter(function() {
					//$(this).addClass('cat_div_hover');
					$(this).find('.cat_subheader').show();
				})
				.mouseleave(function() {
					//$(this).removeClass('cat_div_hover');
					$(this).find('.cat_subheader').hide();
				});
		}
	}




	/**
	 * render Ansprechpartner Detail Seite
	 */
	,renderAnsprechpartnerDetailSeite: function() {
		// render titlebar
		var oADSTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,$('#inner_content .people-title').html()
		);
		$('#content').prepend(oADSTitleBar);
	}




	/**
	 * render Partner Seite
	 */
	,renderPartnerSeite: function() {
		// add titlebar

		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);
		$('a.internal-link').attr('target', '_blank');
		
	}




	/**
	 * render the 'Aktuelles Seite'
	 */
	,renderAktuellesSeite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);

		// add action bar
		var oActionBar = oSiteControl.renderActionBar(
			{
				'bFaceBook':	true
				,'bPrint':		false
				,'bMail':		true
			}
		);
		$('#content').append(oActionBar);

		// render paginator
		this.renderBulletPageBrowser(530, 'aktuelles_paginator');

		// init accordion
		this.initAccordion();

	}




	/**
	 * render mediathek
	 */
	,renderMediathek: function() {
		// change search-paginator dom id
		$('#mt-search-paginator').attr('id', 'mt-search-paginator-old').hide();
		
		// get data
		var aMTCatMap = {};
		$('#mt_categories span').each(function() {
			aMTCatMap[$(this).html()] = $(this).attr('class');
		});
		var aMediathekCategories = [];
		var sType = 'overview';
		if ($('#cat-list-wrapper').find('#treeRoot').length > 0) {
			$('#cat-list-wrapper').find('#treeRoot li').each(function(i, oElement) {
				aMediathekCategories.push({
					'sTitle':	$(this).find('a').html().split('-')[1]
					,'sUrl':	$(this).find('a').attr('href')
					,'sImg':	$(this).find('a').prev().attr('src')
					,'bActive':	($(this).hasClass('active'))
					,'sType':	aMTCatMap[$(this).find('a').html().split('-')[1]]
				});
				if ($(this).hasClass('active')) {
					sType = aMTCatMap[$(this).find('a').html().split('-')[1]];
				}
			});
		}

		// switch Mediathek type
		switch (sType) {
			case 'mt_bilder':
				$('.mt_l1_item_down').css('display', 'block');
				oSiteControl.renderMTList(aMediathekCategories, oMfmStorage._('Bilder'));
				break;

			case "mt_material":
				oSiteControl.renderMTList2(aMediathekCategories, oMfmStorage._('Material'));
				break;

			case "mt_navagaya":
				oSiteControl.renderMTList2(aMediathekCategories, oMfmStorage._('NAGAYA MAGAZIN'));
				break;

			case "mt_video":
				$('.mt_l1_item_down').css('display', 'none');
				oSiteControl.renderMTList(aMediathekCategories, oMfmStorage._('Videos'));
				break;

			case "mt_pressemappe":
				oSiteControl.renderMTList2(aMediathekCategories, oMfmStorage._('Pressemappe'));
				break;

			case 'mt_banner':
				$('.mt_l1_item_down').css('display', 'block');
				oSiteControl.renderMTList(aMediathekCategories, oMfmStorage._('Banner'));
				break;

			case 'overview':
			default:
				oSiteControl.renderMTOverview(aMediathekCategories);
				break;
		}

	}




	/**
	 * render Mediathek overview
	 */
	,renderMTOverview: function(aMediathekCategories) {
		// save and remove typo3 search
		var oSearch = {
			'form':			$('.news-search-form')
			,'results':		$('#MTsearch-results')
		};
		$('.news-search-form').remove();
		$('#MTsearch-results').remove();

		// prepare dom
		$('#inner_content').html(
			 '<div id="inner_content_left"></div>'
			+'<div id="inner_content_right"></div>'
			+'<div class="floatend"></div>'
		);

		// render mediathek category list
		var oCatItemWrp = null;
		var oCatItemTitle = null;
		var oCatItemImg = null;
		$.each(aMediathekCategories, function(i, oCategory) {
			oCatItemTitle = $('<span />')
				.addClass('cat_header')
				.html(oCategory.sTitle);
			oCatItemImg = $('<img />')
				.addClass('cat_image')
				.attr('title', oCategory.sTitle)
				.attr('alt', oCategory.sTitle)
				.attr('src', oCategory.sImg);
			oCatItemWrp = $('<div />')
				.addClass('cat_div')
				.attr('id', 'cat_' + oCategory.sTitle.toLowerCase())
				.append(oCatItemTitle)
				.append(oCatItemImg)
				.click(function() {
					oNavControl.navTo(oCategory.sUrl);
				});
			$('#inner_content_left').append(oCatItemWrp);
		});
		$('#inner_content_left').append('<div class="floatend"></div>');

		// render search field
		oSiteControl.renderMediathekSearchField(oSearch);

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#inner_content').prepend(oTitleBar);
	}




	/**
	 * render Mediathek list style 1 (Bilder, Video, Banner)
	 */
	,renderMTList: function(aMediathekCategories, sCategory) {
		// save and remove typo3 search
		var oSearch = {
			'form':			$('.news-search-form')
			,'results':		$('#MTsearch-results')
		};
		$('.news-search-form').hide();
		$('#MTsearch-results').hide();

		// prepare dom
		var oList = $('#inner_content').html();
		$('#inner_content').html(
			 '<div id="inner_content_left"></div>'
			+'<div id="inner_content_right"></div>'
			+'<div class="floatend"></div>'
		);
		$('#inner_content_left').html(oList);

		// bind event for download
		$('.mt_l1_item_down').click(function() {

			switch (sCategory) {

				case 'Banner':
					var sImgPath = $(this).parent().find('.mt-l1-item_files a:last').attr('href');
					break;

				default:
					var sImgPath = $(this).parent().find('.mt-l1-item_files').find('a').attr('href');
					break;
			}

			if (typeof sImgPath == 'undefined') {
				alert(oMfmStorage._('errorPictureDownload'));
			}
			else {
				window.open(sImgPath, '_blank');
			}
		});

		// bind hover for Bilder and Videos
		if (sCategory == 'Bilder' || sCategory == 'Videos') {
			$('.mt_l1_item_img').mouseenter(function() {
				$(this).parent().find('.mt_l1_item_subheader').show();
			});
			$('.mt_l1_item_subheader').mouseleave(function() {
				$(this).hide();
			});
		}

		// hide title bei Banner
		if (sCategory == 'Banner') {
			$('.mt_l1_item_title').hide();
		}

		// bind event for preview
		$('.mt_l1_item_view').click(function() {
			switch (sCategory) {
				case 'Bilder':
				//case 'Bilder AT':
					var oSelf = $(this);
					var sImgPath = $(this).parent().find('.mt-l1-item_files').find('a').attr('href');
					if (typeof sImgPath == 'undefined') {
						alert(oMfmStorage._('missingElevation'));
					}
					else {
						var oImage = new Image();
						oImage.src = sImgPath;
						oImage.onload = function() {
							var sMediaPath = $('<img src="'+sImgPath+'" alt="" title="" />');
							var sDescription = oSelf.parent().find('.mt_l1_item_img').find('img').attr('alt');
							oSiteControl.openLightBox(sMediaPath, sDescription);
						}
					}
					break;

				case 'Videos':
					var sMediaPath = $(this).parent().find('.mt-l1-item-additional_videolnk').html();
					if (typeof sMediaPath == 'undefined') {
						alert(oMfmStorage._('missingElevation'));
					}
					else {
						var sDescription = 'Video';
						oSiteControl.openLightBox(sMediaPath, sDescription);
					}
					break;
				case 'Banner':
					var oSelf = $(this);
					var sImgPath = $(this).parent().find('.mt-l1-item_files a:first').attr('href');
					if (typeof sImgPath == 'undefined') {
						alert(oMfmStorage._('missingElevation'));
					}
					else {
						var oImage = new Image();
						oImage.src = sImgPath;
						oImage.onload = function() {
							var sMediaPath = $('<img src="'+sImgPath+'" alt="" title="" />');
							var sDescription = oSelf.parent().find('.mt-l1-item_additional_title').text();
							oSiteControl.openLightBox(sMediaPath, sDescription);
						}
					}
					break;

				default:
					break;
			}

		});

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,sCategory
		);
		$('#inner_content').prepend(oTitleBar);

		// render search field
		this.renderMediathekSearchField(oSearch);

		// render submenu
		this.renderMediathekSubMenu(aMediathekCategories);

		// render paginator
		this.renderBulletPageBrowser(710, 'mt-paginator');
	}




	/**
	 * render Mediathek list style 2 (Material, NagayaM, Pressemappe)
	 */
	,renderMTList2: function(aMediathekCategories, sCategory) {
		// save and remove typo3 search
		var oSearch = {
			'form':			$('.news-search-form')
			,'results':		$('#MTsearch-results')
		};
		$('.news-search-form').remove();
		$('#MTsearch-results').remove();

		// get data
		var aNews = [];
		$('.mt_l1_item').hide();
		$('.mt_l1_item').each(function(i, oNews) {
			aNews.push({
				'oImg':		$(this).find('.mt_l1_item_img').html()
				,'sDate':		$(this).find('.mt-l1-item_additional_date').html()
				,'sTitle':		$(this).find('.mt-l1-item_additional_title').html()
				,'sSubHeader':	$(this).find('.mt-l1-item_additional_subheader').html()
				,'sContent':	$(this).find('.mt-l1-item_additional_content').html()
				,'sFilePath':	$(this).find('.mt-l1-item_files').find('a').attr('href')
			});
		});

		// get paginator
		var oPaginator = $('.mt-paginator');

		// clear dom
		$('.inner_content_left').empty();

		// prepare dom
		var oList = $('#inner_content').html();
		$('#inner_content').html(
			 '<div id="inner_content_left"></div>'
			+'<div id="inner_content_right"></div>'
			+'<div class="floatend"></div>'
		);
		$('#inner_content_left').html(oList);

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,sCategory
		);
		$('#inner_content').prepend(oTitleBar);

		// render search field
		oSiteControl.renderMediathekSearchField(oSearch);

		// render submenu
		oSiteControl.renderMediathekSubMenu(aMediathekCategories);

		// render content
		sHtml = '';
		$.each(aNews, function(i, oNews) {
			sHtml	+= '<div class="current_wrapper">'
					+ '<div class="current_header current-header-off">'
					+ '<div class="current_header_title">'+oNews.sTitle+'</div>'
					+ '<div class="current_header_btn current-header-btn-off"></div>'
					+ '<div class="floatend"></div>'
					+ '</div>'
					+ '<div class="current_content_wrapper">'
					+ '<div class="current_subheader">'+oNews.sSubHeader+'</div>'
					+ '<div class="current_image">'+oNews.oImg+'</div>'
					+ '<div class="current_content">'+oNews.sContent+'</div>'
					+ '<div class="floatend"></div>';
			if (typeof oNews.sFilePath != 'undefined') {
				sHtml	+= '<div class="current-file-wrp">'
						 	+ '<div class="current-file-arrow"></div>'
						 	+ '<div class="current-file-text">' + oMfmStorage._('pdf_download') + '</div>'
						 	+ '<div class="current-file-file noscript">'+oNews.sFilePath+'</div>'
						 	+ '<div class="floatend"></div>'
						 + '</div>'
						 + '<div class="floatend"></div>';
			}
			sHtml	+= '</div>'
					+ '</div>';
		});
		$('#inner_content_left')
			.addClass('inner-content-left-new')
			.html(sHtml);

		// init accordion
		this.initAccordion();

		// bind event for downloads
		$('.current-file-wrp').click(function() {
			var sFilePath = $(this).find('.current-file-file').text();
			window.open(sFilePath, '_blank');
		});

		// render paginator
		$('#inner_content_left').append(oPaginator);
		$('.mt-paginator').css('margin-top', '10px');
		this.renderBulletPageBrowser(710, 'mt-paginator');
	}




	/**
	 * helper for mediathek: render the search engime
	 */
	,renderMediathekSearchField: function(oSearch) {
		var sSearchString = oMfmStorage._('search');
		var oSearchField = $('<div />')
			.attr('id', 'search_wrapper')
			.html(
				 '<input type="text" maxlength="100" id="search_input" name="tx_ttnews[swords]" value="' + sSearchString +'" />'
				+'<div id="search_submit"></div>'
			);
		$('#inner_content_right').append(oSearchField);

		// bind events for submit button
		$('#search_submit').click(function() {
			if ($('#search_input').val() != '' && $('#search_input').val() != sSearchString) {
				oSiteControl.searchMT($('#search_input').val());
			}
		});
		$('#search_input')
			.focus(function() {
				if ($(this).val() == sSearchString) {
					$(this).val('');
				}
			})
			.blur(function() {
				if ($(this).val() == '') {
					$(this).val(sSearchString);
				}
			})
			.keypress(function(e) {
				if(e.which == '13') {
					if ($('#search_input').val() != '' && $('#search_input').val() != sSearchString) {
						oSiteControl.searchMT($('#search_input').val());
					}
				}
			});
	}




	/**
	 * perform a search in the Mediathek
	 */
	,searchMT: function(sSearchString) {
		// perform search
		$.post(
			oNavControl.sBaseUrl + oNavControl.oActivePage.sUrl + oNavControl.oActivePage.sParams
			,{
				'tx_ttnews': {
					'swords': sSearchString
				}
			}
			,function(o) {
				var oResultPage = $(o);
				var oSearchResults = oResultPage.filter('#center').find('#content').find('#MTsearch-results-wrapper');
				oSiteControl.renderSearchMTResults(oSearchResults);
			}
		);
	}




	/**
	 * browse in mediathek search results list
	 */
	,browseMTSearch: function(sUrl) {
		$.post(
			oNavControl.sBaseUrl + sUrl
			,function(o) {
				var oResultPage = $(o);
				var oSearchResults = oResultPage.filter('#center').find('#content').find('#MTsearch-results-wrapper');
				oSiteControl.renderSearchMTResults(oSearchResults);
			}
		);
	}




	/**
	 * render MT search results
	 */
	,oTempContent : null
	,renderSearchMTResults: function(oSearchResults) {
		// clear previews
		if ($('#MT-search-results-wrp').length > 0) {
			$('#MT-search-results-wrp').remove();
		}

		if (oSearchResults.html() == null) {
			var sHtml = ''
			+ '<div id="MT-search-results-wrp" style="font-size: 16px; color: #57585A; padding: 10px; width: 210px;">' + oMfmStorage._('errorSearchResult') + '</div>';
			$('#inner_content_right').append(sHtml);
			return;
		}

		// display new
		var sHtml = ''
			+ '<div id="MT-search-results-wrp">'
				+ oSearchResults.html()
			+ '</div>';
		$('#inner_content_right').append(sHtml);

		// format search results

		$('#MT-search-results-wrp .mt-search-l2-item').each(function() {
			if ( $(this).find('.mt-search-l2-img img').length < 1) {
				$(this).find('.mt-search-l2-img').hide();
				$(this).find('.mt-search-l2-catimg').show();
			}
			$(this).find('.mt-search-l2-text-cat').text($(this).find('.mt-search-l2-text-cat').text().split('-')[1]);
		});

		// show paginator
		this.renderBulletPageBrowser(230, 'mt-search-paginator');
		$('#mt-search-paginator .paginator_element').unbind().click(function() {
			var sUrl = $(this).find('span').find('a').attr('href');
			oSiteControl.browseMTSearch(sUrl);
		});
		$('#mt-search-paginator .last_arrow').unbind().click(function() {
			var sUrl = $(this).find('span').find('a').attr('href');
			oSiteControl.browseMTSearch(sUrl);
		});
		$('#mt-search-paginator .next_arrow').unbind().click(function() {
			var sUrl = $(this).find('span').find('a').attr('href');
			oSiteControl.browseMTSearch(sUrl);
		});
		oSiteControl.setContentHeight();

		// setup single view
		$('.mt-search-l2-item').click(function() {
			var sLnk = $(this).find('.mt-search-l2-text-lnk').find('a').attr('href');
			$.post(
				oNavControl.sBaseUrl + sLnk
				,function(o) {
					var oResultPage = $(o);
					var oSingleNews = oResultPage.filter('#center').find('#inner_content').find('#mt-sv-item');
					oSiteControl.oTempContent = $('#inner_content_left').html();
					var sCategory = oSingleNews.find('#mt-sv-cat').text().split('-')[1];
					switch (sCategory) {
						case 'Bilder':
						case 'Banner':
							var sHtml = ''
							+'<div class="mt_l1_item">'
								+'<div class="mt_l1_item_img">' + oSingleNews.find('#mt-sv-img').html() + '</div>'
								+'<div class="mt_l1_item_down" style="display: block;"></div>'
								+'<div class="mt_l1_item_view"></div>'
								+'<div class="mt_l1_item_title">' + oSingleNews.find('#mt-sv-title').text() + '</div>'
								+'<div class="mt_l1_item_subheader">' + oSingleNews.find('#mt-sv-subh').text() + '</div>'
								+'<div class="mt-l1-item_files no-url-replace">'+(sCategory == 'Banner'? oSingleNews.find('#mt-sv-flnk').find('a:last').attr('href') : '')+'</div>'
								+'<div class="mt-l1-item_additional noscript no-url-replace">'
									+'<span class="mt-l1-item_additional_date"></span>'
									+'<span class="mt-l1-item_additional_title">' + oSingleNews.find('#mt-sv-title').html() + '</span>'
									+'<span class="mt-l1-item_additional_subheader"></span>'
									+'<span class="mt-l1-item_additional_content"></span>'
									+'<span class="mt-l1-item-additional_lnk">' + oSingleNews.find('#mt-sv-flnk').find('a').attr('href') + '</span>'
								+'</div>'
							+'</div>';
							break;

						case 'Videos':
							var sHtml = ''
								+'<div class="mt_l1_item">'
									+'<div class="mt_l1_item_img">' + oSingleNews.find('#mt-sv-img').html() + '</div>'
									+'<div class="mt_l1_item_view"></div>'
									+'<div class="mt_l1_item_title">' + oSingleNews.find('#mt-sv-title').text() + '</div>'
									+'<div class="mt_l1_item_subheader">' + oSingleNews.find('#mt-sv-subh').text() + '</div>'
									+'<div class="mt-l1-item_files no-url-replace"></div>'
									+'<div class="mt-l1-item_additional noscript no-url-replace">'
										+'<span class="mt-l1-item_additional_date"></span>'
										+'<span class="mt-l1-item_additional_title">' + oSingleNews.find('#mt-sv-title').html() + '</span>'
										+'<span class="mt-l1-item_additional_subheader"></span>'
										+'<span class="mt-l1-item_additional_content"></span>'
										+'<span class="mt-l1-item-additional_lnk">' + oSingleNews.find('#mt-sv-nlnk').html() + '</span>'
									+'</div>'
								+'</div>';
							break;

						case 'NAGAYA MAGAZIN':
						case 'Material':
						case 'Pressemappe':
						default:
							var sHtml = ''
							+'<div class="current_wrapper">'
								+'<div class="current_header current-header-on">'
									+'<div class="current_header_title" style="font-size: 16px;">' + oSingleNews.find('#mt-sv-title').text() + '</div>'
									+'<div class="floatend"></div>'
								+'</div>'
								+'<div class="current_content_wrapper" style="display: block;">'
									+'<div class="current_subheader">' + oSingleNews.find('#mt-sv-subh').text() + '</div>'
									+'<div class="current_image">' + oSingleNews.find('#mt-sv-img').html() + '</div>'
									+'<div class="current_content" style="color: #57585A; font-size: 16px;">' + oSingleNews.find('#mt-sv-cont').text() + '</div>'
							if (oSingleNews.find('#mt-sv-flnk a').length > 0) {
								sHtml	+= '<div class="current-file-wrp">'
						 					+ '<div class="current-file-arrow"></div>'
						 					+ '<div class="current-file-text" style="font-size: 16px;">' + oMfmStorage._('pdf_download') + '</div>'
						 					+ '<div class="current-file-file noscript">' + oSingleNews.find('#mt-sv-flnk a').attr('href') + '</div>'
						 					+ '<div class="floatend"></div>'
						 				+ '</div>'
						 				+ '<div class="floatend"></div>';
						 	}
						 	sHtml += '</div></div>';
							break;//dance
					}

					$('#inner_content_left').html(sHtml);

					// bind event for downloads
					$('.current-file-wrp').click(function() {
						var sFilePath = $(this).find('.current-file-file').text();
						window.open(sFilePath, '_blank');
					});

					// bind hover for Bilder and Videos
					if (sCategory == 'Bilder' || sCategory == 'Videos') {
						$('.mt_l1_item_img').mouseenter(function() {
							$(this).parent().find('.mt_l1_item_subheader').show();
						});
						$('.mt_l1_item_subheader').mouseleave(function() {
							$(this).hide();
						});
					}

					if (sCategory == 'Banner') {
						$('.mt_l1_item_down').click(function() {
							if ($(this).parent().find('.mt-l1-item_files').text() == 'undefined') {
								alert(oMfmStorage._('missingElevation'));
							}
							else {
								var sFilePath = $(this).parent().find('.mt-l1-item_files').text();
								window.open(sFilePath, '_blank');
							}
						});
					}
					else {
						$('.mt_l1_item_down').click(function() {
							if ($(this).parent().find('.mt-l1-item-additional_lnk').text() == 'undefined') {
								alert(oMfmStorage._('missingElevation'));
							}
							else {
								var sFilePath = $(this).parent().find('.mt-l1-item-additional_lnk').text();
								window.open(sFilePath, '_blank');
							}
						});
					}

					if (sCategory != 'Videos') {
						$('.mt_l1_item_view').click(function() {
							if ($(this).parent().find('.mt-l1-item-additional_lnk').text() == 'undefined') {
								alert(oMfmStorage._('missingElevation'));
							}
							else {
								var sFilePath = $('<img src="'+$(this).parent().find('.mt-l1-item-additional_lnk').html()+'" alt="" title="" />');
								var sDescription = $(this).parent().find('.mt-l1-item_additional_title').text();
								sFilePath.load(function() {
									oSiteControl.openLightBox(sFilePath, sDescription);
								});
							}
						});
					}
					else {
						$('.mt_l1_item_view').click(function() {
							if ($(this).parent().find('.mt-l1-item-additional_lnk').html() == 'undefined') {
								alert(oMfmStorage._('missingElevation'));
							}
							else {
								var sFilePath = $(this).parent().find('.mt-l1-item-additional_lnk').html();
								var sDescription = $(this).parent().find('.mt-l1-item_additional_title').text();
								oSiteControl.openLightBox(sFilePath, sDescription);
							}
						});
					}

					if (sCategory != 'Videos' && sCategory != 'Bilder' && sCategory != 'Banner') {
						oSiteControl.setContentHeight(true);
					}
					$('#content').scrollTop(0);
				}
			);
		});

	}




	/**
	 * opens a light lightbox
	 * @param 	oContent		jquery		content
	 * @param	sDescription	string		description that is displayed above the lightbox
	 */
	,iLBWidth: 0
	,iLBHeight: 0
	,iBodyHeight: 0
	,openLightBox: function(oContent, sDescription) {
		
		oSiteControl.iBodyHeight = $('body').height();

		$('#center input, #center select, #center button, #donation input, #donation select, #donation button').focus(function() {
			$('#gen-overlay input:first').focus();
			return false;
		});

		oMfmStorage.bSwitching = false;

		// possiby close lightbox
		if ($('#gen-overlay').length > 0) {
			oSiteControl.closeLightBox(0);
		}

		// append the lightbox to the dom
		$('body').append('<div id="gen-overlay"><div id="gen-lightbox"><div id="gen-content"></div></div></div>');

		// render content
		$('#gen-content').html(oContent);

		// configure lightbox
		$('#gen-lightbox').css({
			//BH'position':		'fixed'
			'width':		$('#gen-lightbox').width() + 'px'
			,'height':		$('#gen-lightbox').height() + 'px'
		});

/*
		// REMOVED, instead call resizeLightBox() at the end of this method
		
		// keep original size
		this.iLBWidth = $('#gen-lightbox').width();
		this.iLBHeight = $('#gen-lightbox').height() + 40;

		// width
		if ($(window).width() > $('#gen-lightbox').width()) {
			$('#gen-lightbox').css({
				'left':			(($(window).width() - $('#gen-lightbox').width()) / 2) + 'px'
				//BH,'overflow-x':	'visible'
			});
		}
		else {
			$('#gen-lightbox').css({
				'left':				'0px'
				//BH,'overflow-x':		'scroll'
				,'width':			$(window).width()
			});
		}

		// height
		if ($(window).height() > $('#gen-lightbox').height()) {
			$('#gen-lightbox').css({
				'top':			(($(window).height() - $('#gen-lightbox').height() + 40) / 2) + 'px'
				//BH,'overflow-y':	'visible'
			});
		}
		else {
			$('#gen-lightbox').css({
				'top':			'0px'
				//BH,'overflow-y':	'scroll'
				,'height':		$(window).height()
			});
		}
*/

		// add the titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,sDescription
			,function() {
				oSiteControl.closeLightBox(500);
			}
		);
		$('#gen-lightbox').prepend(oTitleBar);

		// configure titlebar
		$('#gen-lightbox').find('.titlebar-wrapper').css({
			'width':		$('#gen-lightbox').width() + 'px'
			,'overflow':	'hidden'
		});

		// show lightbox
		$('#gen-lightbox').fadeIn(500);
		
		// set width and height
		oSiteControl.resizeLightBox();
	}




	/**
	 * adjust the lightbox size on window resize
	 */
	,adjustLightbox: function() {
		var bAlive = ($('body').find('#gen-overlay').find('#gen-lightbox').length > 0);
		if (bAlive) {
			var iWinWidth = $(window).width();
			var iWinHeight = $(window).height();

			// set width
			if (iWinWidth > oSiteControl.iLBWidth) {
				$('#gen-lightbox').css({
					//BH 'overflow-x':	'visible'
					'width':		oSiteControl.iLBWidth
					,'left':		(($(window).width() - $('#gen-lightbox').width()) / 2) + 'px'
				});
			}
			else {
				$('#gen-lightbox').css({
					'width':		iWinWidth + 'px'
					//BH ,'overflow-x':	'scroll'
					,'left':		'0px'
				});
			}

			// set height
			if (iWinHeight > oSiteControl.iLBHeight) {
				$('#gen-lightbox').css({
					//BH 'overflow-y':	'visible'
					'height':		oSiteControl.iLBHeight + 'px'
					,'top':			((iWinHeight - oSiteControl.iLBHeight) / 2) + 'px'
				});
			}
			else {
				$('#gen-lightbox').css({
					'height':		oSiteControl.iLBHeight + 'px'
					//BH ,'overflow-y':	'scroll'
					,'top':			'0px'
				});
			}
			
			// if lightbox is heigher then the body, resize the body
			$('body').height(
				oSiteControl.iLBHeight > oSiteControl.iBodyHeight ?
				oSiteControl.iLBHeight :
				oSiteControl.iBodyHeight
			);
		}
	}




	/**
	 * Call to resize the lightbox if the width and height have changed.
	 */
	,resizeLightBox: function() {
		oSiteControl.iLBWidth =  $('#gen-content').width();
		oSiteControl.iLBHeight =  $('#gen-content').height() + 50;
		oSiteControl.adjustLightbox();
	}





	/**
	 * closes the lightbox
	 */
	,closeLightBox: function(iSec) {

		oMfmStorage.bSwitching = true;

		$('#gen-lightbox').fadeOut(iSec, function() {
			$('#gen-overlay').remove();
			$('body').height(oSiteControl.iBodyHeight);
		});
	}



	
	,aBtns: {
			'mt_bilder': {
				'text':			'highResolutionPicture'
				,'action':		function() {
					var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('mainmenu/ueber-uns/mediathek/formularseite/');
					$.get(sUrl, function(e) {
						var oPage = $(e);
						var oLightBoxContent = $('<div />');
						var oFormular = oPage.filter('#center').find('#content').find('#form_bilderanfordern');
						var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_hirespicture_failed');
						var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_hirespicture_success');
						var sSubmitUrl = oFormular.attr('action');

						oLightBoxContent
							.append(oFormular)
							.append(oFormFailMsg)
							.append(oFormSuccessMsg);
						
						var oCheckbox = oLightBoxContent.find('.form_checkbox');
						var sID = oCheckbox.attr('id').substring(6);
						oLightBoxContent.find('#'+sID).addClass('form_input ignore_default_check');
						var sText = oCheckbox.next().val();
						oLightBoxContent.find('.form_checkbox').removeAttr('onclick');
						$('.form_checkbox').live('change', function() {
							var sValue = ( $('#check_'+sID+':checked').length != 0 ? sText : '' );
							$('#'+sID).val(sValue);
						});

						oFormular.attr('action', 'javascript:oSiteControl.orderMTHiresPictures("'+sSubmitUrl+'");');
						oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('highResolutionPicture'));
					});

				}
			}
/*
			,'Bilder AT': {
				'text':			'highResolutionPicture'
				,'action':		function() {
					var sUrl = oNavControl.sBaseUrl + 'mainmenu/ueber-uns/mediathek/formularseite/';
					$.get(sUrl, function(e) {
						var oPage = $(e);
						var oLightBoxContent = $('<div />');
						var oFormular = oPage.filter('#center').find('#content').find('#form_bilderanfordern');
						var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_hirespicture_failed');
						var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_hirespicture_success');
						var sSubmitUrl = oFormular.attr('action');

						oLightBoxContent
							.append(oFormular)
							.append(oFormFailMsg)
							.append(oFormSuccessMsg);

						oFormular.attr('action', 'javascript:oSiteControl.orderMTHiresPictures("'+sSubmitUrl+'");');
						oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('highResolutionPicture'));
					});

				}
			}
*/
			,'mt_material': {
				'text':			'orderHandout'
				,'aItems':		null
				,'action':		function() {
					switch(oMfmStorage.oLanguage.sActivePortal){
						case 'de':
							var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('mainmenu/ueber-uns/mediathek/formularseite-material/');
							var oThis = this;
							$.get(sUrl, function(e) {
								var oThis = oSiteControl.aBtns.mt_material;
								var oPage = $(e);
								var oFormular = oPage.filter('#center').find('#content').find('#materialbestellung');
								var sSubmitUrl = oFormular.attr('action');
								var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_material_failed');
								var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_material_success');
								var oLightBoxContent = $('<div />');
								oFormSuccessMsg.hide();
								oLightBoxContent
									.append(oFormular)
									.append(oFormFailMsg)
									.append(oFormSuccessMsg);
								/// different in DE BEGIN
								/// ajax to get items
								var sPortal = oMfmStorage.oLanguage.sActivePortal;
								var oPortal = oMfmStorage.oLanguage[sPortal];
								var iLanguage = oMfmStorage.oLanguage.iActiveLanguage;
								var sLanguage = oPortal.aLanguages[iLanguage].sSymbol;
								if(oThis.aItems == null){
									$.ajax({
										 url: '?eID=json&action=totoyaRequest&sClass=cMediaLibary&sFunction=ajaxGetMaterials'
										,dataType: 'json'
										,data: {
											 sPortal: sPortal
											,sLanguage: sLanguage
										}
										,success: function(data){
											var oThis = oSiteControl.aBtns.mt_material;
											oThis.aItems = data.mData;
											oThis.action();
										}
									});
									return;
								}
								var jFormset = oLightBoxContent.find('#materialbestellung fieldset');
								/// add material items to form
								var jItems = $('<div class="formular_materialien_items"></div>');
								jFormset.find('.powermail_submit').parent().before(jItems);
								for(var i=0;i<oThis.aItems.length;i++){
									var oItem = oThis.aItems[i];
									var jItemWrapper = $('<div class="formular_materialien_item_wrapper tx_powermail_pi1_fieldwrap_html"></div>');
									jItems.append(jItemWrapper);
									var jItemInput = $('<input type="text" id="formular_materialien_item_' + oItem.iId + '" name="order[]" class="form_input formular_materialien_item_input powermail_check_inner" />');
									jItemWrapper.append(jItemInput);
									var jHiddenLabel = $('<label class="noscript formular_materialien_checkbox_hidden_label">0</label>');
									jItemInput.after(jHiddenLabel);
									var jTitle = $('<p class="formular_materialien_item_title tx_powermail_pi1_fieldwrap_html_checkbox_title"><label class="formular_materialien_checkbox_label" for="formular_materialien_item_' + oItem.iId + '"></label></p>');
									jHiddenLabel.after(jTitle);
									jTitle.children('label').text(oItem.sTitle);
									jItemInput.attr('id', 'checkbox_materialien_order_'+oItem.iId);
									jItemInput.val('0');
									//jTitle.children('label').attr('for', 'checkbox_materialien_order_'+oItem.iId);
									/// preview pic BEGIN
									if(oItem.sImage != null){
										var jPicWrap = $('<div class="formular_materialien_picwrap"></div>');
										jItemWrapper.append(jPicWrap);
										var jPic = $('<img class="formular_materialien_pic" src="" />');
										jPicWrap.append(jPic);
										jPic.attr('src',oItem.sImage);
									}
									/// preview pic END
								}
								/// different in DE END
								oFormular.attr('action', 'javascript:oSiteControl.orderMTMaterial("'+sSubmitUrl+'");');
								oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('orderHandout'));
							});
							break;
						default:
							var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('mainmenu/ueber-uns/mediathek/formularseite/');
							$.get(sUrl, function(e) {
								var oPage = $(e);
								var oFormular = oPage.filter('#center').find('#content').find('#materialbestellung');
								var sSubmitUrl = oFormular.attr('action');
								var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_material_failed');
								var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_material_success');
								var oLightBoxContent = $('<div />');
								oLightBoxContent
									.append(oFormular)
									.append(oFormFailMsg)
									.append(oFormSuccessMsg);
								oFormular.attr('action', 'javascript:oSiteControl.orderMTMaterial("'+sSubmitUrl+'");');
								oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('orderHandout'));
							});
							break;
					}
				}
			}
			,'mt_navagaya': {
				'text':			'orderPrintHandout'
				,'action':		function() {
					var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('mainmenu/ueber-uns/mediathek/formularseite/');
					$.get(sUrl, function(e) {
						var oPage = $(e);
						var oFormular = oPage.filter('#center').find('#content').find('#materialbestellung');
						var sSubmitUrl = oFormular.attr('action');
						var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_material_failed');
						var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_material_success');
						var oLightBoxContent = $('<div />');
						oLightBoxContent
							.append(oFormular)
							.append(oFormFailMsg)
							.append(oFormSuccessMsg);
						oFormular.attr('action', 'javascript:oSiteControl.orderMTMaterial("'+sSubmitUrl+'");');
						oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('orderHandout'));
					});
				}
			}
			,'mt_video': {
			}
			,'mt_pressemappe': {
				'text':			'orderMaterialHandout'
				,'action':		function() {
					var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('mainmenu/ueber-uns/mediathek/formularseite/');
					$.get(sUrl, function(e) {
						var oPage = $(e);
						var oFormular = oPage.filter('#center').find('#content').find('#materialbestellung');
						var sSubmitUrl = oFormular.attr('action');
						var oFormFailMsg = oPage.filter('#center').find('#content').find('#mt_order_material_failed');
						var oFormSuccessMsg = oPage.filter('#center').find('#content').find('#mt_order_material_success');
						var oLightBoxContent = $('<div />');
						oLightBoxContent
							.append(oFormular)
							.append(oFormFailMsg)
							.append(oFormSuccessMsg);
						oFormular.attr('action', 'javascript:oSiteControl.orderMTMaterial("'+sSubmitUrl+'");');
						oSiteControl.openLightBox(oLightBoxContent, oMfmStorage._('orderHandout'));
					});
				}
			}
			,'mt_banner': {
			}
		}
	/**
	 * helper for mediathek: submenu
	 *
	 * @param  aMediathekCategories		array
	 * @return	string
	 */
	,renderMediathekSubMenu: function(aMediathekCategories) {
		// actuall category
		var sActuallCategory = '';

		// html
		var sHtml = '';
		$.each(aMediathekCategories, function(i, oCat) {
			sHtml += '<div class="mt-subm-item ' + (oCat.bActive? 'mt-subm-item-selected' : 'mt-subm-item-inactive') + '"><span>' + oCat.sTitle + '</span><span class="noscript">' + oCat.sUrl + '</span></div>';
			if (oCat.bActive) {
				sActuallCategory = oCat.sType;
			}
		});
		$('#inner_content_right').append(sHtml);

		// render special button

		if (typeof oSiteControl.aBtns[sActuallCategory].text == 'string') {
			var sHtml 	= '<div id="mt-subm-btn-wrp">'
							+ '<span>'+oMfmStorage._(oSiteControl.aBtns[sActuallCategory].text)+'</span>'
							+ '<div id="mt-subm-btn">'
								+ '<span>' + oMfmStorage._('order') + '</span>'
							+ '</div>'
						+ '</div>'
			$('#inner_content_right').append(sHtml);
		}

		// events for special btn
		$('#mt-subm-btn').click(function() {
			oSiteControl.aBtns[sActuallCategory].action();
		});

		// events for the submenu
		$('.mt-subm-item:not(.mt-subm-item-selected)').hover(function() {
			$(this)
				.removeClass('mt-subm-item-inactive')
				.addClass('mt-subm-item-active');
		}
		,function() {
			$(this)
				.removeClass('mt-subm-item-active')
				.addClass('mt-subm-item-inactive');
		})
		.click(function() {
			var sUrl = $(this).find('.noscript').text();
			oNavControl.navTo(sUrl);
		});

	}




	/**
	 * order Mediathek hires pictures
	 */
	,orderMTHiresPictures: function(sActionUrl) {
		oValues = oSiteControl.checkForm();
		if (oValues != null) {
			$.get(
				sActionUrl
				,oValues
				,function(e) {
					$('#form_bilderanfordern').hide();
					$('#mt_order_hirespicture_success').show();
				}
			);
		}
	}




	/**
	 * order Mediathek Material
	 */
	,orderMTMaterial: function(sActionUrl) {
		oValues = oSiteControl.checkForm();
		if (oValues != null) {
			$.ajax({
				 url: sActionUrl
				,data: oValues
				,success: function(e) {
					$('#materialbestellung').hide();
					$('#mt_order_material_failed').hide();
					$('#mt_order_material_success').show();
				}
				,error: function(e){
					$('#materialbestellung').show();
					$('#mt_order_material_failed').show();
					$('#mt_order_material_success').hide();
				}
			});
		}
	}




	/**
	 * render category navi
	 *
	 * @param bBackBtn		boolean		show/hide back button
	 */
	,renderCategoryNavi: function(bBackBtn) {
		// render thumbnail
		var sHtml = '';
	    if (bBackBtn) {
	    	sHtml += '<div id="categorynavi-back-wrp" class="bg-trans-off"><div id="categorynavi-back-btn" class="categorynavi-back-btn-off"></div></div>';
	    }
	    sHtml += '<div class="categorynavi_item" id="categorynavi_idea"><div class="categorynavi_item-hover">' + oMfmStorage._('idea') + '</div><img src="fileadmin/templates/media/Grundidee_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_water"><div class="categorynavi_item-hover">' + oMfmStorage._('water') + '</div><img src="fileadmin/templates/media/Wasser_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_education"><div class="categorynavi_item-hover">' + oMfmStorage._('education') + '</div><img src="fileadmin/templates/media/Bildung_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_health"><div class="categorynavi_item-hover">' + oMfmStorage._('health') + '</div><img src="fileadmin/templates/media/Gesundheit_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_woman"><div class="categorynavi_item-hover">' + oMfmStorage._('woman') + '</div><img src="fileadmin/templates/media/Frauen_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_agriculture"><div class="categorynavi_item-hover">' + oMfmStorage._('agriculture') + '</div><img src="fileadmin/templates/media/Landwirtschaft_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_social"><div class="categorynavi_item-hover">' + oMfmStorage._('social') + '</div><img src="fileadmin/templates/media/Soziales_mini.jpg" alt="" /></div>'
			+'<div class="categorynavi_item" id="categorynavi_infrastructure"><div class="categorynavi_item-hover">' + oMfmStorage._('infrastructure') + '</div><img src="fileadmin/templates/media/Infrastruktur_mini.jpg" alt="" /></div>';
		$('#categorynavi').html(sHtml);

		// highlight actual category
		var sActualCategory = (oMfmStorage.oProjectsData == null ? 'idea' : oMfmStorage.oProjectsData.sCategory);
		$('#categorynavi_' + sActualCategory + ' img').css({
				'width':	'66px'
				,'height':	'66px'
			});
		$('#categorynavi_' + sActualCategory).css({
				'position':		'relative'
				,'top':			'-2px'
				,'border':		'4px solid #FFFFFF'
			})
			.addClass('categorynavi_activeitem');

		// hover event for thumbnail
		$('.categorynavi_item').hover(function() {
			if (!$(this).hasClass('categorynavi_activeitem')) {
				$(this).find('img').hide();
				$(this).find('.categorynavi_item-hover').show();
			}
		}
		,function() {
			if (!$(this).hasClass('categorynavi_activeitem')) {
				$(this).find('.categorynavi_item-hover').hide();
				$(this).find('img').show();
			}
		});

		// Event for back btn
		if (bBackBtn) {
			$('#categorynavi-back-wrp')
				.hover(
					function() {
						$(this)
							.removeClass('bg-trans-off')
							.addClass('bg-trans-on')
							.find('#categorynavi-back-btn')
							.removeClass('categorynavi-back-btn-off')
							.addClass('categorynavi-back-btn-on');
					}
					,function() {
						$(this)
							.removeClass('bg-trans-on')
							.addClass('bg-trans-off')
							.find('#categorynavi-back-btn')
							.removeClass('categorynavi-back-btn-on')
							.addClass('categorynavi-back-btn-off');
					}
				)
				.click(function() {
					if ($.history.last() != null) {
						window.history.back();
					} else {
						oNavControl.navTo(oSiteControl.getBackLink(true));
					}
				});
		}

		// click event for thumbnail
		$('#categorynavi_idea').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=idea'); });
		$('#categorynavi_water').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=water'); });
		$('#categorynavi_education').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=education'); });
		$('#categorynavi_health').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=health'); });
		$('#categorynavi_woman').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=woman'); });
		$('#categorynavi_agriculture').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=agriculture'); });
		$('#categorynavi_social').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=social'); });
		$('#categorynavi_infrastructure').click(function() { oNavControl.mappedNavTo('mainmenu/projekte/projekt/?cat=infrastructure'); });

		$('#categorynavi').show();
	}




	/**
	 * Returns back link.
	 */
	,getBackLink: function(bProject) {
		var sBackLink = (
			bProject ?
			'mainmenu/projekte/'+(
				oMfmStorage.oProjectsData == null ?
				'' :
				'projekt/?cat='+oMfmStorage.oProjectsData.sCategory+'&project='+oMfmStorage.oProjectsData.oCurrent.iId
			) :
			undefined
		);
		return oMfmStorage.oLanguageMapping.parsePath(sBackLink);
	}




	/**
	 * Renders the "Presseseite".
	 */
	,renderPresseseite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);
		
		// change short messages background image
		$('.press').each(function(iIndex, oElement) {
			var sCat = $.trim($(oElement).find('.news-list-category').text());
			if (sCat == 'News') {
				$(oElement).addClass('press_short').removeClass('press');
			}
		});

		// add click event handler
		$('.current_wrapper').each(function() {
			var sUrl = $(this).find('.press_link a').attr('href');
			$(this).click(function() {
				oNavControl.navTo(sUrl);
			});
		});

		// render pagebrowser
		oSiteControl.renderBulletPageBrowser(710, 'content_paginator');
	}




	/**
	 * render page pressefotos
	 */
	,renderPressefotos: function() {
		// get pag
		var oPaginator = $('.mt-paginator');

		// prepare dom
		var oList = $('#inner_content').html();
		var oText = $('#inner_content div:first');
		$('#inner_content').html(
			 '<div id="inner_content_left"></div>'
			+'<div id="inner_content_right"></div>'
			+'<div class="floatend"></div>'
		);
		$('#inner_content_left').html(oList);
		$('#inner_content_left div:first').remove();
		$('#inner_content').prepend(oText);

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#inner_content').prepend(oTitleBar);

		// add button 'hochauflösende Bilder'
		//NEW:
		var sButton = $('#content_right div').html();
		$('#inner_content_right').append(sButton);
		//:NEW

		// render paginator
		$('.mt-paginator').css('margin-top', '10px');
		this.renderBulletPageBrowser(710, 'press_fotos_paginator');

		// bind click event for btn
		$('#mt-subm-btn').click(function() {
//			oNavControl.navTo('footermenu/kontakt-impressum/');
			oSiteControl.aBtns['mt_bilder'].action();
		});

		// bind event for preview
		$('.mt_l1_item_view').click(function() {
			var oSelf = $(this);
			var sImgPath = $(this).parent().find('.mt-l1-item_files').find('a').attr('href');
			var oImage = new Image();
			oImage.src = sImgPath;
			oImage.onload = function() {
				var sMediaPath = $('<img src="'+sImgPath+'" alt="" title="" />');
				var sDescription = oSelf.parent().find('.mt_l1_item_img').find('img').attr('alt');
				oSiteControl.openLightBox(sMediaPath, sDescription);
			}

		});

	}




	/**
	 * Renders the "Presse Detailseite".
	 */
	,renderPresseDetailseite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content-wrapper').prepend(oTitleBar);

		// add action bar
		var oActionBar = oSiteControl.renderActionBar(
			{
				'bFaceBook':	true
				,'bPrint':		true
				,'bMail':		true
			}
			,''
		);
		var sFilePath = $('.current-file-file').find('a').attr('href');
		if(typeof sFilePath != 'undefined') {
			// bind event for downloads
			$('.current-file-wrp').click(function() {
				window.open(sFilePath, '_blank');
			});
		}
		else{
			$('.current-file-wrp').hide();
		}

		$('#content').append(oActionBar);

		// init accordion
		this.initAccordion();
	}




	/**
	 * Renders the "Newsletterseite".
	 */
	,renderNewsletterseite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);
	}




	/**
	 * Loads the newsletter page in a modal window.
	 */
	,sNewsletterPageContent: null
	,showNewsletterPage: function() {
		if (oSiteControl.sNewsletterPageContent == null) {
			var sPortal = oMfmStorage.oLanguage.sActivePortal;
			var iLanguage = oMfmStorage.oLanguage.iActiveLanguage;
			var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguage[sPortal].aLanguages[iLanguage].sRealUrlPrefix + 'footermenu/newsletter/';
			$.get(sUrl, function(sHtml) {
				var oPage = $(sHtml);
				oSiteControl.sNewsletterPageContent = oPage.filter('#center').find('#content');
				oSiteControl.openLightBox(oSiteControl.sNewsletterPageContent, 'Newsletter');
				$('#gen-content #content').css({width:'560px'});
				$('#gen-content #inner_content').css({width:'564px'});
				oSiteControl.setNewsletterHandler();
			});
		} else {
			oSiteControl.openLightBox(oSiteControl.sNewsletterPageContent, 'Newsletter');
			$('#gen-content #content').css({width:'560px'});
			$('#gen-content #inner_content').css({width:'564px'});
			oSiteControl.setNewsletterHandler();
			$('#newsletter_request').show();
			$('#newsletter_ok').hide();
		}
	}




	,setNewsletterHandler: function() {
		var sPortal = oMfmStorage.oLanguage.sActivePortal.toUpperCase();
		for (var sDomId in oMfmStorage.oNewsletterDefaultValues[sPortal]) {
			$('#'+sDomId)
				.unbind()
				.focus(function() {
					var sPortal = oMfmStorage.oLanguage.sActivePortal.toUpperCase();
					var sDomId = $(this).attr('id');
					var sDefaultValue = oMfmStorage.oNewsletterDefaultValues[sPortal][sDomId];
					if ($(this).val() == sDefaultValue) {
						$(this).val('');
					}
				})
				.blur(function(){
					var sPortal = oMfmStorage.oLanguage.sActivePortal.toUpperCase();
					var sDomId = $(this).attr('id');
					var sDefaultValue = oMfmStorage.oNewsletterDefaultValues[sPortal][sDomId];
					if ($.trim($(this).val()) == '') {
						$(this).val(sDefaultValue);
					}
				});
		}

	}




	/**
	 * Sends a newsletter register request.
	 */
	,sendNewsletterRequest: function() {
		// get and check form values
		oValues = oSiteControl.checkForm();
		if (oValues == null) {
			return;
		}

		var sAction = $('#newsletter_request').attr('action');
		$('#newsletter_request').attr('action', 'javascript:void(0);');
		$('#newsletter_email_failed').hide();
		$('#newsletter_failed').hide();

		// add active country
		oValues.PORTAL = oMfmStorage.oLanguage.sActivePortal;

		// send form values
		$.post(
			oNavControl.sBaseUrl + '?eID=json&action=registerNewsletter'
			, oValues
			, function(o) {
				var oResult = o.mData;

				if (typeof oResult != 'object' || oResult == null) {
					$('#newsletter_failed').show();
					$('#newsletter_request').attr('action', sAction);
					oSiteControl.resizeLightBox();
					return;
				}
				// show result
				switch (oResult.code) {
					case "200":
						$('#newsletter_request').hide();
						$('#newsletter_ok').show();
						_gaq.push(['_trackPageview','/danke-newsletter']);
						break;
					case "204":
						$('#newsletter_email_failed').show();
						oSiteControl.resizeLightBox();
						break;
					default:
						$('#newsletter_failed').show();
						oSiteControl.resizeLightBox();
						break;
				}
				$('#newsletter_request').attr('action', sAction);
			}
			, 'json'
		);
	}




	/**
	 *
	 */
	,renderNewsletterBestaetigen: function() {
		// get hash value
		var sHash = '';
		var aUrl = window.location.href.split('?');
		if (aUrl.length > 0) {
			var aParams = aUrl[1].toLowerCase().split('&');
			for (var i in aParams) {
				var aParam = aParams[i].split('=');
				if (aParam.length > 1) {
					if (aParam[0] == 'hash') {
						sHash = aParam[1];
					}
				}
			}
		}

		// set request data
		var oValues = {
			PORTAL:	oMfmStorage.oLanguage.sActivePortal
			, HASH:	sHash
		};

		// send confirm-webservice request
		$.post(
			oNavControl.sBaseUrl + '?eID=json&action=confirmNewsletter'
			, oValues
			, function(o) {
				var oResult = o.mData;
				// show result
				switch (oResult.code) {
					case "200":
						$('#newsletter_confirm_ok').show();
						break;
					default:
						$('#newsletter_confirm_failed').show();
						break;
				}
			}
			, 'json'
		);
	}




	/**
	 *
	 */
	,renderNewsletterAbmelden: function() {
		// get email value
		var sEmail = '';
		var aUrl = window.location.href.split('?');
		if (aUrl.length > 0) {
			var aParams = aUrl[1].toLowerCase().split('&');
			for (var i in aParams) {
				var aParam = aParams[i].split('=');
				if (aParam.length > 1) {
					if (aParam[0] == 'email') {
						sEmail = aParam[1];
					}
				}
			}
		}

		// set request data
		var oValues = {
			PORTAL:		oMfmStorage.oLanguage.sActivePortal
			, EMAIL:	sEmail
		};

		// send confirm-webservice request
		$.post(
			oNavControl.sBaseUrl + '?eID=json&action=removeNewsletter'
			, oValues
			, function(o) {
				var oResult = o.mData;
				// show result
				switch (oResult.code) {
					case "200":
						$('#newsletter_remove_ok').show();
						break;
					default:
						$('#newsletter_remove_failed').show();
						break;
				}
			}
			, 'json'
		);
	}




	/**
	 * Renders the "Sucheseite".
	 */
	,renderSucheseite: function() {
		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);
	}




	/**
	 * Loads the search page.
	 */
	//,sSearchPageContent: null
	,loadSearchPage: function() {
		if (oSiteControl.sSearchPageContent == null) {
			var sUrl = oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('footermenu/suche/');
			$.get(sUrl, function(sHtml) {
				var oPage = $(sHtml);
				oSiteControl.sSearchPageContent = '<div id="search-div">'
					+ oPage.filter('#center')
						.find('#inner_content')
						.html()
					+ '</div>';
				oSiteControl.showSearchPage();
			});
			return;
		}

		oSiteControl.showSearchPage();
	}




	/**
	 * Shows the search page in a modal window.
	 */
	,showSearchPage: function() {
		oSiteControl.openLightBox(oSiteControl.sSearchPageContent, oMfmStorage._('toBrowseWebsite'));
	}




	/**
	 * Starts the search.
	 */
	,startSearch: function(iPage) {
		// check input
		var sWord = $('#searchformsword').val();
		if (sWord.length < 2) {
			$('#searchformsword').css('border', '1px solid red');
			return;
		}
		$('#searchformsword').css('border', '0px solid transparent');

		// get data
		if (typeof iPage != 'number') {
			iPage = 0;
		}
		$('#tx_mfmindexedsearch_pointer').val(iPage);
		var aData = {
			no_cache:	1
		};
		$('#searchform input').each(function() {
			aData[$(this).attr('name')] = $(this).val();
		});

		// send search request
		$.get(
			oNavControl.sBaseUrl + oMfmStorage.oLanguageMapping.parsePath('footermenu/suche/')
			, aData
			, function(o) {
				// show result
				var oRes = $(o).find('.tx-mfmindexedsearch-res');
				if (oRes.length > 0) {
					var sResult = oRes.html().replace(/_#/g, '').replace(/#_/g, '').replace(/_i#/g, '').replace(/#i_/g, '');
					$('#search-resultlist').html(sResult);
					$('#search-resultlist a').each(function() {
						$(this)
							.removeAttr('target')
							.attr('href', 'javascript:oSiteControl.closeLightBox(0);oNavControl.navTo("'+$(this).attr('href')+'");');
					});
				}
				else {
					$('#search-resultlist').html('');
				}

				// show result paginator
				var oResPag = $(o).find('.search_paginator');
				if (sResult2 = oResPag.length > 0) {
					$('#search-resultlist').append(oResPag.parent().html());
					var iWidth = 0;
					$('.searchbox a').each(function() {
						iWidth += 15;
					});
					$('.search_paginator').css({
						'padding-left': ((700 - iWidth) / 2)
						,'padding-right': ((700 - iWidth) / 2)
					});
				}
				$('.search_paginator a').each(function() {
					var sAnker = $(this).attr('href').split(':')[1];
					$(this).parent().parent().unbind().click(function() {
						eval(sAnker);
					});
				});

				setTimeout(function() {
					oSiteControl.resizeLightBox();
				}, 100);
			}
		);
	}




	/**
	 * Renders the bullet page browser.
	 * @param int	iWidth		width of pagination container
	 */
	,renderBulletPageBrowser: function(iWidth, sDomId) {
		var sUniqueId = (typeof sDomId == 'undefined'? '#content_paginator' : '#' + sDomId);
		if ($(sUniqueId + ' .paginator_element').length > 0) {

			$(sUniqueId).addClass('new_paginator');
			$(sUniqueId + ' .paginator_element').each(function() {
				var sUrl = $(this).find('a').attr('href');
				$(this).click(function() {
					oNavControl.navTo(sUrl);
				});
			});

			$(sUniqueId + ' .paginator_element .first').each(function() {
				var oLastDiv = $(this).parent().parent().parent();
				oLastDiv.removeClass('inactive_bullet').removeClass('paginator_element').addClass('last_arrow');
				oLastDiv.parent().parent().append(oLastDiv);
			});
			$(sUniqueId + ' .paginator_element .last').each(function() {
				var oNextDiv = $(this).parent().parent().parent();
				oNextDiv.removeClass('inactive_bullet').removeClass('paginator_element').addClass('next_arrow');
				oNextDiv.parent().parent().append(oNextDiv);
			});
			var iPadding = (iWidth - $(sUniqueId).width()) / 2;
			$(sUniqueId).css({
				'padding-left': iPadding
				,'padding-right': iPadding
			});
		}
	}




	/**
	 * Prints the content.
	 */
	,printContent: function() {
		window.print();
	}




	/**
	 * Calculates the available height for the content element.
	 */
	,setContentHeight: function(bNewContent) {

		var iBodyMinHeight =	850;
		var iWindowHeight =		$(window).height();
		this.iContentHeight =	$('#content-wrapper').height();
		var iAvailableHeight =	iWindowHeight - (this.iPageHeaderHeight + this.iPageFooterHeight);
		var bSpace =			(iAvailableHeight > oSiteControl.iContentHeight);

		// active body scroll if required
		if (iWindowHeight < iBodyMinHeight || !bSpace) {
			$('html').addClass('body_scroll_active');
		}
		else {
			$('html').removeClass('body_scroll_active');
		}

		// push the content to the bottom if viewport is bigger than the content
		$('#content-wrapper').css({
			'padding-top':		(bSpace? iAvailableHeight - oSiteControl.iContentHeight : 0) + 'px'
			,'padding-bottom':	'70px'
		});

		// adjust arrow nav
		oNavControl.centerArrowNav((bSpace && (iAvailableHeight - oSiteControl.iContentHeight) > 50? 210 : 110));
	}




	/**
	 * Parses links.
	 *
	 * @param	sText	string		text to parse
	 */
	,parseLinks: function(sText) {
		var sParsedText = sText;
		var rHref = /<a[^>]*href="([^"]*)"[^>]*>/i;
		if (rHref.test(sText)) {
			var sHref = rHref.exec(sText)[1];
			if (typeof sHref != 'undefined') {
				var rTarget = /<a [^>]*target="([^>]*)"[^>]*>/i;
				var sTarget = null;
				if (rTarget.test(sText)) {
					sTarget = rTarget.exec(sText)[1];
					if ($.inArray(sTarget, oMfmStorage.oPageTypes) != -1) {
						sTarget = null;
					}
				}
				var rHtml = /<a [^>]*>(.*)<\/a>/i;
				if (rHtml.test(sText)) {
					var sHtml = rHtml.exec(sText)[1];
					sParsedText = sHtml
						+'<a class="cbox_item_arrow" href="'+sHref+'"'
						+(sTarget == null ? '' : ' target="'+sTarget+'"')
						+'></a>';
				}
			}
		}
		return sParsedText;
	}




	/**
	 * handles the camera function in the titlebar
	 */
	,titlebarCameraHAndler: function() {
		this.bCameraActive = !this.bCameraActive;
		switch (this.sPageType) {
			case 'textstrecke':
				if (this.bCameraActive) {
					$('#content').hide();
					$('.titlebar-wrp-backbtn').hide();
					$('.titlebar-item-title').hide();
				}
				else {
					$('#content').show();
					$('.titlebar-wrp-backbtn').show();
					$('.titlebar-item-title').show();
				}
				break;
			case 'bilderstrecke':
				if (this.bCameraActive) {
					$('#inner_content').hide();
					$('.actionbar-wrapper').hide();
					$('#categorynavi').hide();
					$('.titlebar-wrp-backbtn').hide();
					$('.titlebar-item-title').hide();
					$('.titlebar-item-subtitle').hide();
					$('#nav-static').hide();
					$('#bullets').hide();
				}
				else {
					$('#inner_content').show();
					$('.actionbar-wrapper').show();
					$('#categorynavi').show();
					$('.titlebar-wrp-backbtn').show();
					$('.titlebar-item-title').show();
					$('.titlebar-item-subtitle').show();
					$('#nav-static').show();
					$('#bullets').show();
				}
				break;
			default:
		}

	}




	/**
	 * render picturetitle bar (backbtn, cambtn and title)
	 *
	 * @param	oDisplay	object		items to render { bBack: boolean, bCam: boolean, bTitle: boolean }
	 * @param	sName		string		title
	 * @param	sUrl		string		url or function for back btn (optional)
	 */
	,renderPictureTitleBar: function(oDisplay, sName, sUrl, iPageNum, iActivePage) {
		var oWrapper = $('<div />');
		oWrapper.addClass('titlebar-wrapper');

		// search back button page
		if (typeof sUrl != 'function') {
			if ($.history.last() != null) {
				sUrl = function() {
					window.history.back();
					return;
				}
			} else {
				sUrl = $.trim(sUrl);
				if (typeof sUrl != 'string' || sUrl.length == 0) {
					var oBack = oNavControl.oActivePage.oParent;
					while (oBack.sType == 'shortcut' && typeof oBack.oParent.oParent != 'undefined') {
						oBack = oBack.oParent;
					}
					if (oBack.sName == 'FooterMenu') {
						oBack = (
							oNavControl.oLastPage != null ?
							oNavControl.oLastPage :
							oNavControl.oMenu.oChildren[0]
						);
					}
					sUrl = oBack.sUrl;
				}
			}
		}

		// back btn
		if (oDisplay.bBack) {
			var oBackBtn = $('<div />').addClass('titlebar-item-backbtn');
			var oBackBtnWrp = $('<div />');
			oBackBtnWrp.addClass('titlebar-wrp-backbtn')
				.append(oBackBtn)
				.click(function() {
					if (typeof sUrl == 'function') {
						sUrl();
					}
					else {
						oNavControl.navTo(sUrl);
					}
				})
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('titlebar-item-backbtn-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('titlebar-item-backbtn-active');
				});
			oWrapper.append(oBackBtnWrp);
		}


		// title
		if (oDisplay.bTitle) {
			var oTitle = $('<div />');
			oTitle.addClass('titlebar-item-title')
				.html(
					'<div class="bilderstrecke-icon-blau"></div>'
					+ sName
				);
			oWrapper.append(oTitle);
		}

		// pager
		if (oDisplay.bPager) {
			var oPager = $('<div />');
			oPager
				.addClass('titlebar-item-pager')
				.addClass('bg-trans-off')
				.append($('<div class="last_pic"></div>').click(function(){oNavControl.navTo('left');}))
				.append('<div style="float:left">' + (iActivePage+1) + ' / ' + iPageNum + '</div>')
				.append($('<div class="next_pic"></div>').click(function(){oNavControl.navTo('right');}))
				.append('<div class="floatend"></div>')
			oWrapper.append(oPager);
		}

		oWrapper.append('<div class="floatend"></div>');

		// return wrapper
		return oWrapper;
	}



	/**
	 * render title bar (backbtn, cambtn and title)
	 *
	 * @param	oDisplay	object		items to render { bBack: boolean, bCam: boolean, bTitle: boolean }
	 * @param	sName		string		title
	 * @param	sUrl		string		url or function for back btn (optional)
	 */
	,renderTitleBar: function(oDisplay, sName, sUrl) {
		var oWrapper = $('<div />');
		oWrapper.addClass('titlebar-wrapper');

		// search back button page
		if (typeof sUrl != 'function') {
			if ($.history.last() != null) {
				sUrl = function() {
					window.history.back();
				}
			} else {
				sUrl = $.trim(sUrl);
				if (typeof sUrl != 'string' || sUrl.length == 0) {
					var oBack = oNavControl.oActivePage.oParent;
					while (oBack.sType == 'shortcut' && typeof oBack.oParent.oParent != 'undefined') {
						oBack = oBack.oParent;
					}
					if (oBack.sName == 'FooterMenu') {
						oBack = (
							oNavControl.oLastPage != null ?
							oNavControl.oLastPage :
							oNavControl.oMenu.oChildren[0]
						);
					}
					sUrl = oBack.sUrl;
				}
			}
		}

		// back btn
		if (oDisplay.bBack) {
			var oBackBtn = $('<div />').addClass('titlebar-item-backbtn');
			var oBackBtnWrp = $('<div />');
			oBackBtnWrp.addClass('titlebar-wrp-backbtn')
				.append(oBackBtn)
				.click(function() {
					if (typeof sUrl == 'function') {
						sUrl();
					}
					else {
						oNavControl.navTo(sUrl);
					}
				})
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('titlebar-item-backbtn-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('titlebar-item-backbtn-active');
				});
			oWrapper.append(oBackBtnWrp);
		}


		// camera btn
		if (oDisplay.bCam) {
			var oCamBtn = $('<div />').addClass('titlebar-item-cambtn');
			var oCamBtnWrp = $('<div />');
			oCamBtnWrp.addClass('titlebar-wrp-cambtn')
				.append(oCamBtn)
				.click(function() {
					oSiteControl.titlebarCameraHAndler();
				})
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('titlebar-item-cambtn-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('titlebar-item-cambtn-active');
				});
			oWrapper.append(oCamBtnWrp);
		}

		// title
		if (oDisplay.bTitle) {
			var oTitle = $('<div />');
			oTitle.addClass('titlebar-item-title')
				.html(sName);
			oWrapper.append(oTitle);
		}

		// subtitle
		if (oDisplay.bSubTitle) {
			var oSubTitle = $('<div />');
			oSubTitle
				.addClass('titlebar-item-subtitle')
				.html(oNavControl.oActivePage.oParent.sName)
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.css({color: '#0969B5'});
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.css({color: '#FFFFFF'});
				})
				.click(function() {
					oNavControl.mappedNavTo('mainmenu/projekte/');
				});
			oWrapper.append(oSubTitle);
		}

		// map
		if (oDisplay.bMap) {
			var oMap = $('<div />');
			oMap
				.addClass('titlebar-item-map')
				.addClass('bg-trans-off')
				.html('<div />')
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
				})
				.bind('click', {"sTarget":sName}, function(e) {
					switch(oMfmStorage.oProjectsData.sCategory.toLowerCase()) {
						default:
						case 'idea':
							oNavControl.navTo('strecken/grundidee-kartenstrecke/grundidee-kartenstrecke-page/');
							break;
						case 'water':
							oNavControl.navTo('strecken/wasser-kartenstrecke/wasser-kartenstrecke-page/');
							break;
						case 'education':
							oNavControl.navTo('strecken/bildung-kartenstrecke/bildung-kartenstrecke-page/');
							break;
						case 'health':
							oNavControl.navTo('strecken/gesundheit-kartenstrecke/gesundheit-kartenstrecke-page/');
							break;
						case 'woman':
							oNavControl.navTo('strecken/frauen-kartenstrecke/frauen-kartenstrecke-page/');
							break;
						case 'agriculture':
							oNavControl.navTo('strecken/landwirtschaft-kartenstrecke/landwirtschaft-kartenstrecke-page/');
							break;
						case 'social':
							oNavControl.navTo('strecken/soziales-kartenstrecke/soziales-kartenstrecke-page/');
							break;
						case 'infrastructure':
							oNavControl.navTo('strecken/infrastruktur-kartenstrecke/infrastruktur-kartenstrecke-page/');
							break;
					}
				});
			oWrapper.append(oMap);
		}
		
		oWrapper.append('<div class="floatend"></div>');

		// return wrapper
		return oWrapper;
	}





	/**
	 * facebook share fuction
	 */
	,shareOnFacebook: function(){
		var aFacebookUrl = window.location.href.split('#');
		var sFacebookUrl = '';
		if(aFacebookUrl.length > 1 && aFacebookUrl[1].length > 1) {
			sFacebookUrl = oNavControl.sBaseUrl + aFacebookUrl[1].replace(/%3F/gi, '?');
		}
		else {
			sFacebookUrl = aFacebookUrl[0];
		}
		window.open(
			"http://www.facebook.com/sharer.php?u="+ encodeURIComponent(sFacebookUrl) + "&t=" + ('Menschen für Menschen')
			, "facebook"
			, "width=500,height=500"
		);
	}




	/**
	 * render action bar (facebook, print and mail)
	 *
	 * @param	oDisplay		object	items to display { bFaceBook: boolean,  bPrint: boolean, bMail: boolean }
	 * @param	facebookLnk		string	link for the facebookbtn
	 */
	,renderActionBar: function(oDisplay, facebookLnk) {
		var oWrapper = $('<ul />');
		oWrapper.addClass('actionbar-wrapper');

		// facebook
		if (oDisplay.bFaceBook) {
			var oFaceBook = $('<div />').addClass('actionbar-item-facebook');
			var oFaceBookWrp = $('<li />')
				.addClass('bg-trans-off')
				.append(oFaceBook)
				.click(function() {
					//window.open(facebookLnk);
					/*window.open( //BH
						"http://www.facebook.com/sharer.php?u="+ (document.location.href).replace('#','') + "&t=" + ('Menschen für Menschen')
						, "facebook"
						, "width=500,height=500"
					);*/
					oSiteControl.shareOnFacebook();
				})
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on')
						.find('div')
						.addClass('actionbar-item-facebook-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off')
						.find('div')
						.removeClass('actionbar-item-facebook-active');
				});
			oWrapper.append(oFaceBookWrp);
		}

		// print
		if (oDisplay.bPrint) {
			var oPrint = $('<div />').addClass('actionbar-item-print');
			var oPrintWrp = $('<li />')
				.addClass('bg-trans-off')
				.append(oPrint)
				.click(this.printContent)
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on');
					$(this)
						.find('div')
						.addClass('actionbar-item-print-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off');
					$(this)
						.find('div')
						.removeClass('actionbar-item-print-active');
				});
			oWrapper.append(oPrintWrp);
		}

		// mail
		if (oDisplay.bMail) {
			var oMail = $('<div />').addClass('actionbar-item-mail');
			var oMailWrp = $('<li />')
				.addClass('bg-trans-off')
				.append(oMail)
				.click(function() { //BH
					var sPortal = oMfmStorage.oLanguage.sActivePortal;
					var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
					var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
					oNavControl.mappedNavTo(sLanguagePrefix + 'mainmenu/projekte/empfehlung/');
				})
				.hover(function() {
					$(this)
						.removeClass('bg-trans-off')
						.addClass('bg-trans-on');
					$(this)
						.find('div')
						.addClass('actionbar-item-mail-active');
				}
				,function() {
					$(this)
						.removeClass('bg-trans-on')
						.addClass('bg-trans-off');
					$(this)
						.find('div')
						.removeClass('actionbar-item-mail-active');
				});
			oWrapper.append(oMailWrp);
		}

		// return wrapper
		return oWrapper;
	}
	
	
	
	
	,appendFacebookButton: function (jDOM) {
		var oFaceBook = $('<div />').addClass('actionbar-item-facebook');
		var oFaceBookWrp = $('<div />')
			.addClass('special-action-item-div')
			.addClass('bg-trans-off')
			.append(oFaceBook)
			.click(function() {
				oSiteControl.shareOnFacebook();
			})
			.hover(function() {
				$(this)
					.removeClass('bg-trans-off')
					.addClass('bg-trans-on')
					.find('div')
					.addClass('actionbar-item-facebook-active');
			}
			,function() {
				$(this)
					.removeClass('bg-trans-on')
					.addClass('bg-trans-off')
					.find('div')
					.removeClass('actionbar-item-facebook-active');
			})
		jDOM.append(oFaceBookWrp);
		return oFaceBookWrp;
	}




	,appendPrintButton: function (jDOM) {
		var oPrint = $('<div />').addClass('actionbar-item-print');
		var oPrintWrp = $('<div />')
			.addClass('special-action-item-div')
			.addClass('bg-trans-off')
			.append(oPrint)
			.click(this.printContent)
			.hover(function() {
				$(this)
					.removeClass('bg-trans-off')
					.addClass('bg-trans-on');
				$(this)
					.find('div')
					.addClass('actionbar-item-print-active');
			}
			,function() {
				$(this)
					.removeClass('bg-trans-on')
					.addClass('bg-trans-off');
				$(this)
					.find('div')
					.removeClass('actionbar-item-print-active');
			})
		jDOM.append(oPrintWrp);
		return oPrintWrp;
	}




	,appendMailButton: function (jDOM) {
		var oMail = $('<div />').addClass('actionbar-item-mail');
		var oMailWrp = $('<div />')
			.addClass('special-action-item-div')
			.addClass('bg-trans-off')
			.append(oMail)
			.click(function() { //BH
				var sPortal = oMfmStorage.oLanguage.sActivePortal;
				var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
				var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
				oNavControl.mappedNavTo(sLanguagePrefix + 'mainmenu/projekte/empfehlung/');
			})
			.hover(function() {
				$(this)
					.removeClass('bg-trans-off')
					.addClass('bg-trans-on');
				$(this)
					.find('div')
					.addClass('actionbar-item-mail-active');
			}
			,function() {
				$(this)
					.removeClass('bg-trans-on')
					.addClass('bg-trans-off');
				$(this)
					.find('div')
					.removeClass('actionbar-item-mail-active');
			})
		jDOM.append(oMailWrp);
		return oMailWrp;
	}




	/**
	 * initialize the accordion
	 */
	,initAccordion: function() {
		// active the first item (news)
		$('#inner_content .current_wrapper:first')
			.find('.current_header')
			.removeClass('current-header-off')
			.addClass('current-header-on');
		$('#inner_content .current_wrapper:first')
			.find('.current_content_wrapper')
			.show();
		$('#inner_content .current_wrapper:first')
			.find('.current_header_btn')
			.removeClass('current-header-btn-off')
			.addClass('current-header-btn-on');

		// bind click event for accordion effect
		$('.current_header').click(function() {

			// parent
			//var oParent = $(this).parent().parent();

			// close current item
			if ($(this).hasClass('current-header-on')) {
				$('.current_header_btn')
					.removeClass('current-header-btn-on')
					.addClass('current-header-btn-off');
				$('.current_header_btn').parent()
					.removeClass('current-header-on')
					.addClass('current-header-off');
				$(this).parent().parent().find('.current_content_wrapper').slideUp('slow');
			}

			// open current item
			else if ($(this).hasClass('current-header-off')) {

				// close all
				$('#inner_content .current_wrapper').each(function() {
					if ($(this).find('.current_header').hasClass('current-header-on')) {
						$(this).find('.current_header_btn')
							.removeClass('current-header-btn-on')
							.addClass('current-header-btn-off');
						$(this).find('.current_header')
							.removeClass('current-header-on')
							.addClass('current-header-off');
						$(this).find('.current_content_wrapper').slideUp('slow').hide(function() {
							// IE-Bugfix: don't remove!
							$(this).parent().parent().find('.current_content_wrapper .floatend')
								.width(1)
								.height(1);
						});
					}
				});
				$(this).find('.current_header_btn')
					.removeClass('current-header-btn-off')
					.addClass('current-header-btn-on');
				$(this)
					.removeClass('current-header-off')
					.addClass('current-header-on');
				$(this).parent().find('.current_content_wrapper').slideDown('slow').show(function() {
					// IE-Bugfix: don't remove!
					$(this).parent().parent().find('.current_content_wrapper .floatend')
						.width(0)
						.height(0);
				});

			}
		});
	}
	
	


	/**
	 * render vertikal arrow scroll
	 */
/*
	 ,iScrollDown: null
	 ,iScrollTop: null
	,renderVertikalArrowScroll: function() {

		var oArrowWrp = $('<div />');
		oArrowWrp
			.attr('id', 'vert-nav-static')
			.css({
				'height':	($(window).height() - 270) + 'px'
				,'left':	$('#content').width() + $('#content').offset().left
			});

		var oArrowToTop = $('<div />');
		oArrowToTop
			.addClass('vert-nav-arrow-top')
			.addClass('vert-nav-arrow-inactive')
			.hover(function() {
				$(this)
					.removeClass('vert-nav-arrow-inactive')
					.addClass('vert-nav-arrow-active');
			}
			,function() {
				$(this)
					.removeClass('vert-nav-arrow-active')
					.addClass('vert-nav-arrow-inactive');
			})
			.mousedown(function() {
				$('#inner_content').animate({ 'top': 0 },1000);
			})
			.mouseup(function() {
				$('#inner_content').stop();
			});

		var oArrowToBottom = $('<div />');
		oArrowToBottom
			.addClass('vert-nav-arrow-bottom')
			.addClass('vert-nav-arrow-inactive')
			.hover(function() {
				$(this)
					.removeClass('vert-nav-arrow-inactive')
					.addClass('vert-nav-arrow-active');
			}
			,function() {
				$(this)
					.removeClass('vert-nav-arrow-active')
					.addClass('vert-nav-arrow-inactive');
			})
			.mousedown(function() {
				var iDist = $('#inner_content').height() - $('#content').height();
				if (iDist > 0) {
					$('#inner_content').animate({ 'top': -iDist }, 1000);
				}
			})
			.mouseup(function() {
				$('#inner_content').stop();
			});

		// render scroller
		oArrowWrp
			.append(oArrowToTop)
			.append(oArrowToBottom);
		$('body').append(oArrowWrp);
	}
*/



	/**
	 * render the user login box
	 */
	,sLoginBox : null
	,showLoginBox: function() {
/*
		// insert when login should be deactivated
		oSiteControl.showTempLogin();
		return;
*/

		// check ssl connection
		if (!oMfmStorage.bDebug && !oNavControl.bSsl) {
			oNavControl.loadSsl('login', '');
			return false;
		}

		// hide all msgs
		$('#login_msg_error').hide();
		$('#login_msg_success').hide();

		if (oSiteControl.sLoginBox == null) {
			$.get(
				oNavControl.sBaseUrl + 'footermenu/login'
				, function(sHtml) {
					// get content and open the lightbox
					var oPage = $(sHtml);
					var sContent = oPage.find('#login_wrp').parent().html();
					oSiteControl.sLoginBox = sContent;
					oSiteControl.openLightBox(sContent, 'Login');
					// bind some events for the login mask
					$('.login_form_input')
						.live('focusin', function() {
							if ($(this).val() == $(this).attr('name')) {
								$(this).val('');
							}
						})
						.live('focusout', function() {
							if ($(this).val() == '') {
								$(this).val($(this).attr('name'));
							}
						});
						/*
						.live('keypress', function(e) {
							if (e.which == '13') {
								var fAction = $('#login_form').attr('action');
								fAction();
							}
						});*/
					$('#login_forgottenpassword').live('click', function() {
						oSiteControl.closeLightBox();
						oNavControl.navTo('footermenu/login/passwort-vergessen');
					});
				}
			);
		}
		else {
			oSiteControl.openLightBox(oSiteControl.sLoginBox, 'Login');
		}
	}



	,showTempLogin: function() {
		var sLoginBox = '<div id="content" style="width: 350px;">'
			+'	<div id="inner_content" style="width: 350px;">'
			+'		<h1 style="color: #0969B5; font-size: 22px; font-weight: bold; line-height: 36px;">' + oMfmStorage._('login') + '</h1>'
			+'		<span style="color: #57585A; font-size: 14px;">'
			+'			<br />'
			+'			' + oMfmStorage._('activateDonatePortal') + '<br />'
			+'			<br />'
			+'			' + oMfmStorage._('automaticUserInformation')
			+'			<br />'
			+'		</span>'
			+'	</div>'
			+'</div>';
		oSiteControl.openLightBox(sLoginBox, 'Login');
	}




	/**
	 * do login request
	 */
	,doLogin: function() {
		// clear messages
		$('#login_msg_error').hide();
		$('#login_msg_success').hide();

		// validate inputs
		if (
			$('#login_username').val() == $('#login_username').attr('name')
			|| $('#login_password').val() == $('#login_password').attr('name')
			|| $.trim($('#login_username').val()) == ''
			|| $.trim($('#login_password').val()) == ''
		) {
			$('#login_msg_success').hide();
			$('#login_msg_error').show();
			return;
		}

		// set values
		var oValues = {
			sPortal: oMfmStorage.oLanguage.sActivePortal
			,sEmail: $('#login_username').val()
			,sPassword: $('#login_password').val()
		};

		// send request
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxLoginUser"
			, data:		oValues
			, type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError && o.mData) {
					$.get(
						oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData'
						, function(o) {
							oSiteControl.oUserData = o.mData;
							$('#login_msg_error').hide();
							$('#login_msg_success').show();
							oSiteControl.renderPersonalContent(true);
							oSiteControl.closeLightBox();
							oNavControl.navTo('community/meine-uebersicht');
						}
						, 'json'
					);
				}
				else {
					$('#login_msg_success').hide();
					$('#login_msg_error').show();
				}
			}
			, error:	function(o) {
				$('#login_msg_success').hide();
				$('#login_msg_error').show();
			}
		});
	}




	/**
	 * do logout request
	 */
	,doLogout: function() {
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxLogoutUser"
			,type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError && o.mData) {
					oSiteControl.renderPersonalContent(false);

					if (!oMfmStorage.bDebug && oNavControl.bSsl) {
						oNavControl.unloadSsl('');
					} else {
						oNavControl.navTo('/');
					}
				}
			}
			, error:	function() {
				// error handling
			}
		});
	}




	/**
	 * swap content elements by login status
	 *
	 * @param	bLoggedIn	boolean		bool that indicates if user is logged in
	 */
	,renderPersonalContent: function(bLoggedIn) {
		$('.loggedin_antidependent').toggle(!bLoggedIn);
		$('.loggedin_dependent').toggle(bLoggedIn);
	}




	/**
	 * render the set a (new) password site
	 */
	,sPasswordCode : ''
	,renderSetPasswordSite: function() {
		$('#mfm_np_action_setpassword').hide();
		$('#mfm_np_action_badaction').hide();

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);

		// get passwordCode
		var sPasswordCode = '';
		var aUrl = window.location.href.replace(/%3F/, '?').split('?');
		if (aUrl.length > 1) {
			var aParams = aUrl[1].replace(/%26/, '&').split('&');
			if (typeof aParams == 'object') {
				for (var i in aParams) {
					var aParam = aParams[i].replace(/%3D/, '=').split('=');
					if (aParam.length > 1) {
						if (aParam[0] == 'sPasswordCode') {
							sPasswordCode = aParam[1];
							oSiteControl.sPasswordCode = sPasswordCode;
						}
					}
				}
			}
		}

		// check if passwordCode is set
		if (sPasswordCode == '') {
			$('#mfm_np_action_badaction').show();
			return;
		}

		// set values
		var oValues = {
			sPasswordCode: sPasswordCode
		};

		// check if passwordCode is valid
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxCanChangePassword"
			, data:		oValues
			, type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError && o.mData) {
					$('#mfm_np_action_setpassword').show();
					// bind some events
					$('.np_input_password')
						.focusin(function() {
							if ($(this).val() == $(this).attr('name')) {
								$(this).val('');
							}
						})
						.focusout(function() {
							if ($(this).val() == '') {
								$(this).val($(this).attr('name'));
							}
						});
				}
				else {
					$('#mfm_np_action_badaction').show();
				}
			}
			, error:	function(o) {
				$('#mfm_np_action_badaction').show();
			}
		});
	}




	/**
	 * render the i forgott my password site
	 */
	,renderForgottPasswordSite: function() {

		// show / hide on startup
		$('#forgott_password_form').show();
		$('#mfm_fp_action_success').hide();
		$('#mfm_fp_action_error').hide();

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		false
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);

		// bind some events
		$('.np_input_password')
			.focusin(function() {
				if ($(this).val() == $(this).attr('name')) {
					$(this).val('');
				}
			})
			.focusout(function() {
				if ($(this).val() == '') {
					$(this).val($(this).attr('name'));
				}
			});
	}




	/**
	 * set a new password
	 */
	,doSetPassword: function() {
		// validate inputs
		if (
			$('#np_password1').val() == $('#np_password1').attr('name')
			|| $('#np_password2').val() == $('#np_password2').attr('name')
			|| $('#np_password1').val() != $('#np_password2').val()
		) {
			$('#mfm_np_validator_error').show();
			return;
		}
		$('#mfm_np_validator_error').hide();

		// setup values
		var oValues = {
			sPortal:			oMfmStorage.oLanguage.sActivePortal
			,sLanguage:			oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol
			,sPasswordCode:		oSiteControl.sPasswordCode
			,sPassword:			$('#np_password1').val()
		};

		// send values
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxChangePassword"
			, data:		oValues
			, type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError && o.mData) {
					$('#new_password_form').hide();
					$('#mfm_np_action_error').hide();
					$('#mfm_np_validator_error').hide();
					$('#mfm_np_action_success').show();
					oSiteControl.renderPersonalContent(true);
				}
				else {
					$('#mfm_np_action_error').show();
				}
			}
			, error:	function(o) {
				$('#mfm_np_action_error').show();
			}
		});
	}




	/**
	 * do forgott password request
	 */
	,bForgottPasswordRequestSend: false
	,doForgottPassword: function() {
		if (!oSiteControl.bForgottPasswordRequestSend) {
			// settings
			oSiteControl.bForgottPasswordRequestSend = true;
			var sUserName = $.trim($('#fp_username').val());

			// validate inputs
			if (sUserName == $('#fp_username').attr('name') || sUserName == '') {
				$('#mfm_fp_action_error').show();
				return;
			}

			// hide all error msgs
			$('#mfm_fp_action_error').hide();

			// set values
			var oValues = {
				sPortal:			oMfmStorage.oLanguage.sActivePortal
				,sLanguage:			oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal].aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol
				,sEmail:			sUserName
			};

			// send request
			$.ajax({
				url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxSendPasswordForgottenEmail"
				, data:		oValues
				, type:		'get'
				, dataType:	'json'
				, success:	function(o) {
					if (!o.bError && o.mData) {
						$('#forgott_password_form').hide();
						$('#mfm_fp_action_error').hide();
						$('#mfm_fp_action_success').show();
						oSiteControl.bForgottPasswordRequestSend = false;
					}
					else {
						$('#mfm_fp_action_success').hide();
						$('#mfm_fp_action_error').show();
						oSiteControl.bForgottPasswordRequestSend = false;
					}
				}
				, error:	function(o) {
					$('#mfm_fp_action_success').hide();
					$('#mfm_fp_action_error').show();
					oSiteControl.bForgottPasswordRequestSend = false;
				}
			});
		}
	}




	/**
	 * render the community sites
	 */
	,renderCommunitySite: function() {
		if (oSiteControl.oUserData === false) {
			$.ajax({
				url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData"
				, type:		'get'
				, dataType:	'json'
				, success:	function(o) {
					oSiteControl.oUserData = o.mData;
					oSiteControl.renderCommunitySite();
				}
			});
			return;
		}
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxIsLoggedIn"
			, type:		'get'
			, dataType:	'json'
			, success:	function(o) {
				if (!o.bError && o.mData) {
					// highlight the orgnavi
					$('#orgnavi_items_community_li').removeClass('orginactive').addClass('orgcurrent');
					
					// backup the typo3 generated content
					var sTypoBackup = $('#inner_content').html();

					// prepare the dom for 2 column layout
					var sLayoutHtml = ''
						+ '<div id="inner_content_com_menu"></div>'
						+ '<div id="inner_content_com_cont"></div>'
						+ '<div class="floatend"></div>';
					$('#inner_content').html(sLayoutHtml);
					
					// render submenu
					var sSubMenuHtml = '<ul id="mfm_com_submenu_itemlist">';
					$.each(oNavControl.oActivePage.oParent.oChildren, function(index, oPage) {
						var bSpecial = (index == 2 && oNavControl.oActivePage.oParent.oChildren[3].bActive);
						// display menu item
						if (! (index == 3 || (index == 4 && oSiteControl.oUserData.iSalutation != 3))) {
							sSubMenuHtml += '<li id="mfm_com_submenu_item_' + index + '" class="' +	 (oPage.bActive || bSpecial ? 'kmeli_title_active' : 'mfm_com_submenu_items kmeli_title_inactive') + '">' + oPage.sName + '</li>';
						}
					});
					sSubMenuHtml += '<li id="mfm_com_submenu_item_99" class="mfm_com_submenu_items kmeli_title_inactive">Logout</li></ul>';
					$('#inner_content_com_menu').append(sSubMenuHtml);
					
					// bind hover and click events for the submenu
					$('.mfm_com_submenu_items')
						.hover(function() {
							$(this).removeClass('kmeli_title_inactive').addClass('kmeli_title_active');
						}
						,function() {
							$(this).removeClass('kmeli_title_active').addClass('kmeli_title_inactive');
						})
						.click(function() {
							var iIndex = parseInt($(this).attr('id').split('_')[4]);
							if (iIndex == 99) {
								oSiteControl.doLogout();
							}
							else {
								var sUrl = '#' + oNavControl.oActivePage.oParent.oChildren[iIndex].sUrl;
								oNavControl.navTo(sUrl);
							}
						});
					
					// bind hover events for the content
					$('.mfm_com_box_appendix_item')
						.live('mouseenter', function() {
							$(this).removeClass('kmeli_title_inactive').addClass('kmeli_title_active');
						})
						.live('mouseleave', function() {
							$(this).removeClass('kmeli_title_active').addClass('kmeli_title_inactive');
						});
					// render content
					switch(oNavControl.oActivePage.iMyNumber) {
						
						// Meine Übersicht
						case 0:
							oSiteControl.renderCommunitySiteMyOverview(sTypoBackup);
							break;
							
						// Mein Profil
						case 1:
							oSiteControl.renderCommunitySiteMyProfile(sTypoBackup);
							break;
							
						// Meine Aktionen
						case 2:
							oSiteControl.renderCommunitySiteMyAktivities(sTypoBackup);
							break;
							
						// Meine Aktion - Details
						case 3:
							oSiteControl.renderCommunitySiteMyAktivityDetails(sTypoBackup);
							break;
							
						// Meine Scheckbücher
						case 4:
							oSiteControl.renderCommunitySiteMyChequebook(sTypoBackup);
							break;
							
						// Hinweis für Spender
						case 5:
							oSiteControl.renderCommunitySiteHinweis(sTypoBackup);
							break;
							
						default:
							break;
					}
				}
				else {
					oNavControl.navTo('/');
				}
			}
			, error:	function() {
				oNavControl.navTo('/');
			}
		});
	}




	,renderCommunitySiteMyOverview: function(sTypoBackup) {
		// TODO: get last Spenden/Aktionen data
		var oLastData = null;
		if (oLastData != null) {
			// TODO: place content here
		}
		else {
			// get userdata
			$.ajax({
				url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData"
				,type:		'get'
				,dataType:	'json'
				,success:	function(o) {
					if (!o.bError && typeof o.mData == 'object') {
						$('#inner_content_com_cont').html(sTypoBackup);
						$('#mfm_com_firstname').html(o.mData.sFirstname);
						$('#mfm_com_lastname').html(o.mData.sLastname);
						$('#mfm_com_wellcometext').show();
						$(window).resize();
					}
				}
				,error:		function(o) {
					// TODO: error handling
				}
			});
		}
	}




	,renderCommunitySiteMyProfile: function(sTypoBackup) {
		
		var oUserData = oSiteControl.oUserData;
		
		// render content
		$('#inner_content_com_cont').html(sTypoBackup);
		$('#mfm_com_salutation').val(oUserData.iSalutation).attr('name', oUserData.iSalutation);
		$('#mfm_com_title').val(oUserData.iTitle).attr('name', oUserData.iTitle);
		$('#mfm_com_firm').val(oUserData.sFirm).attr('name', oUserData.sFirm);
		$('#mfm_com_firstname').val(oUserData.sFirstname).attr('name', oUserData.sFirstname);
		$('#mfm_com_lastname').val(oUserData.sLastname).attr('name', oUserData.sLastname);
		$('#mfm_com_email').text(oUserData.sEmail);
		var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var oLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage];
		oImageUpload.init(oLanguage.sSymbol, 'community_user', false);
		$(window).resize();
		
		if (oUserData.iSalutation == 3) {
			/*$('#mfm_com_salutation').parent().remove();
			$('#mfm_com_firm').parent().css({'width': '450px'});
			$('#mfm_com_firm').css({'width': '440px'});*/
			$('#mfm_com_salutation').parent().text('Firma:').addClass('mfm_com_box_blue_no_input');
			$('#mfm_com_salutation').remove();
		} else {
			// bind events for the selects
			$('#mfm_com_salutation').change(function () {
				var me = $(this);
				switch(me.val()){
					case '0':
					case '1':
					case '2':
						$('#mfm_com_firm').parent().hide();
						$('#mfm_com_contact').hide();
						$('#mfm_com_title').parent().show();
						$('#mfm_com_firstname').parent().show();
						$('#mfm_com_lastname').parent().show();
						break;
					case '3':
						$('#mfm_com_firm').parent().show();
						$('#mfm_com_contact').show();
						$('#mfm_com_title').parent().show();
						$('#mfm_com_firstname').parent().show();
						$('#mfm_com_lastname').parent().show();
						break;
				}
			}).change();
		}
		
		// bind events for the buttons
		$('#mfm_com_delete_profile').click(function() {
			// hide all messages
			$('.mfm_com_msg').hide();

			// delete account
			var sConfirm = oMfmStorage._('deleteAccount');
			if (confirm(sConfirm)) {
				var sCurrentPortal = oMfmStorage.oLanguage.sActivePortal;
				var iCurrentLang = oMfmStorage.oLanguage.iActiveLanguage;
				var sActiveLang = oMfmStorage.oLanguage[sCurrentPortal].aLanguages[iCurrentLang].sSymbol;
				$.ajax({
					url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxDeleteUser"
					,type:		'get'
					,data:		{
									'sPortal':		sCurrentPortal
									, 'sLanguage':	sActiveLang
								}
					,dataType:	'json'
					,success:	function(o) {
						if (!o.bError && oUserData) {
							$('#mfm_com_msg_del_success').show();
							setTimeout(
								function() {
									oNavControl.navTo('/');
								}
								,2000
							);
						}
						else {
							$('mfm_com_msg_del_error').show();
						}
					}
					,error:		function(o) {
						$('mfm_com_msg_del_error').show();
					}
				});
			}
		});
		
		$('#mfm_com_save_personaldata').click(function() {
			
			// hide all messages
			$('.mfm_com_msg').hide();

			// get personal data
			var iSalutation = ($('#mfm_com_salutation').val() == $('#mfm_com_salutation').attr('name')? '' : $('#mfm_com_salutation').val() );
			var iTitle = ($('#mfm_com_title').val() == $('#mfm_com_title').attr('name')? '' : $('#mfm_com_title').val() );
			var sFirm = ($('#mfm_com_firm').val() == $('#mfm_com_firm').attr('firm')? '' : $('#mfm_com_firm').val() );
			var sFirstname = ($('#mfm_com_firstname').val() == $('#mfm_com_firstname').attr('name')? '' : $('#mfm_com_firstname').val() );
			var sLastname = ($('#mfm_com_lastname').val() == $('#mfm_com_lastname').attr('name')? '' : $('#mfm_com_lastname').val() );
			var sPassword = '';
			if (
				$('#mfm_com_pass_1').val() != $('#mfm_com_pass_1').attr('name')
				&& $('#mfm_com_pass_2').val() != $('#mfm_com_pass_2').attr('name')
				&& $('#mfm_com_pass_1').val() == $('#mfm_com_pass_2').val()
			) {
				sPassword = $('#mfm_com_pass_1').val();
			}
			var oValues = {
				 iSalutation:	iSalutation
				,iTitle:		iTitle
				,sFirm:			sFirm
				,sFirstname:	sFirstname
				,sLastname:		sLastname
				,sPassword:		sPassword
			};

			// check if passwords matches
			if ($('#mfm_com_pass_1').val() != $('#mfm_com_pass_2').val()) {
				$('#mfm_com_msg_passwords').show();
				return;
			}

			// check for no change
			if (
				iSalutation == ''
				&& iTitle == ''
				&& oValues.sFirm == ''
				&& oValues.sFirstname == ''
				&& oValues.sLastname == ''
				&& oValues.sPassword == ''
			) {
				$('#mfm_com_msg_nochange').show();
				return;
			}
			
			// check mandatory fields
			$('#mfm_com_salutation').css({'outline': 'none'});
			$('#mfm_com_firstname').parent().css({'outline': 'none'});
			$('#mfm_com_lastname').parent().css({'outline': 'none'});
			$('#mfm_com_firm').parent().css({'outline': 'none'});
			var bMandatoryError = false;
			switch ($('#mfm_com_salutation').val()) {
				case 0:
				case '0':
					$('#mfm_com_salutation').css({'outline': '2px solid #B5342F'});
					bMandatoryError = true;
					break;
				case 1:
				case '1':
				case 2:
				case '2':
					if($('#mfm_com_firstname').val() == ''){
						$('#mfm_com_firstname').parent().css({'outline': '2px solid #B5342F'});
						bMandatoryError = true;
					}
					if($('#mfm_com_lastname').val() == ''){
						$('#mfm_com_lastname').parent().css({'outline': '2px solid #B5342F'});
						bMandatoryError = true;
					}
					break;
				case 3:
				case '3':
					if($('#mfm_com_firm').val() === ''){
						$('#mfm_com_firm').parent().css({'outline': '2px solid #B5342F'});
						bMandatoryError = true;
					}
					break;
			}
			if(bMandatoryError){
				$('#mfm_com_msg_mandatory').show();
				return;
			}

			// send ajax
			$.ajax({
				url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxSetUserData"
				,type:		'get'
				,data:		oValues
				,dataType:	'json'
				,success:	function(o) {
					if (!o.bError && o.mData) {
						$('#mfm_com_msg_success').show();
					}
				}
				,error:		function(o) {
					$('#mfm_com_msg_error').show();
				}
			});
		});
		
	}




	,sMyAktivityListHtml: null
	,renderCommunitySiteMyAktivities: function(sTypoBackup) {
		$('#inner_content_com_cont').css('display','none');
		if(oSiteControl.sMyAktivityListHtml == null) {
			oSiteControl.sMyAktivityListHtml = sTypoBackup;
		}
		var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		$.get(
			'/?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxGetMyActivityList'
			, {
				sPortal:	oMfmStorage.oLanguage.sActivePortal
				,sLang:		sLanguage
			}
			, function(e) {
				var mData = e.mData;
				$('#inner_content_com_cont').html(
					cTemplate.parse(
						oSiteControl.sMyAktivityListHtml.replace(/<!--START/g, '').replace(/END-->/g, '')
						,mData
					)
				).show();
				$(window).resize();

				// button handler
				for (var sList in mData) {
					for (var i in mData[sList][0].aActivityListItems) {
						var iId = mData[sList][0].aActivityListItems[i].iId;

						// show activity details ('ansehen' and 'aendern')
						$('#btn_com_activity_top_detail_'+iId).bind('click',{"iId":iId}, function(e){
							oNavControl.navTo('community/meine-aktionen-details/?iId='+e.data.iId);
						});

						// publish activity
						$('#btn_com_activity_bottom_publish_'+iId).bind('click',{"iId":iId}, function(e){
							// confirm publish activity
							var sConfirmPublish = $('#btn-publish-confirm').text();
							if (!confirm(sConfirmPublish)) {
								return;
							}
							$.get(
								oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxPublishActivity'
								,{ iId: e.data.iId }
								,function(o) {
									if (o.mData === true) {
										oSiteControl.renderCommunitySiteMyAktivities();
									}
								}
								,'json'
							);
						});

						// cancel activity
						$('#btn_com_activity_bottom_cancel_'+iId).bind('click', {"iId":iId}, function(e){
							// confirm cancel activity
							var sConfirmCancel = $('#btn-cancel-confirm').text();
							if (!confirm(sConfirmCancel)) {
								return;
							}
							$.get(
								oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxCancelActivity'
								,{ iId: e.data.iId }
								,function(o) {
									if (o.mData === true) {
										oSiteControl.renderCommunitySiteMyAktivities();
									}
								}
								,'json'
							);
						});

						// remove activity
						$('#btn_com_activity_bottom_remove_'+iId).bind('click', {"iId":iId}, function(e){
							// confirm removing activity
							var sConfirmRemoving = $('#btn-remove-confirm').text();
							if (!confirm(sConfirmRemoving)) {
								return;
							}
							$.get(
								oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxRemoveActivity'
								,{ iId: e.data.iId }
								,function(o) {
									if (o.mData === true) {
										oSiteControl.renderCommunitySiteMyAktivities();
									}
								}
								,'json'
							);
						});
					}
				}

				// start wizard
				$('#btn_com_new_activity').click(function() {
					oNavControl.navTo('mainmenu/aktiv-werden/aktion-starten/');
				});
			}
			, 'json'
		);
	}




	,sMyAktivityDetailHtml: null
	,renderCommunitySiteMyAktivityDetails: function(sTypoBackup) {

		// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,oNavControl.oActivePage.sName
		);
		$('#content').prepend(oTitleBar);

		$('#inner_content_com_cont').css('display','none');

		// get activity id
		var aGetParam = unescape(document.location.href).split('?');
		if (aGetParam.length < 2) {
			oNavControl.navTo('community/meine-aktionen/');
			return;
		}
		aGetParam = aGetParam[1].split('&');
		var oGetParam = {}
		for(i in aGetParam) {
			aGetParam[i]= aGetParam[i].split('=');
			oGetParam[aGetParam[i][0]] = aGetParam[i][1];
		}
		var iId = parseInt(oGetParam.iId);

		if(oSiteControl.sMyAktivityDetailHtml == null) {
			oSiteControl.sMyAktivityDetailHtml = sTypoBackup.replace(/&lt;_/g, '<').replace(/&gt;/g, '>');
		}
		var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		$.get(
			oNavControl.sBaseUrl + '/?eID=json&action=totoyaRequest&sClass=cActivity&sFunction=ajaxGetMyActivityDetail'
			, {
				sPortal:	oMfmStorage.oLanguage.sActivePortal
				,sLang:		sLanguage
				,iId:		iId
			}
			, function(e) {
				var mData = e.mData;
				$('#inner_content_com_cont').html(
					cTemplate.parse(
						oSiteControl.sMyAktivityDetailHtml.replace(/<!--START/g, '').replace(/END-->/g, '')
						,mData
					)
				).show();
				var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
				var oLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage];
				oImageUpload.init(oLanguage.sSymbol, 'community_activity', iId, !mData.bNotReadonly);
				$(window).resize();

				// change readonly fields
				$('.readonly')
					.attr('readonly', 'readonly')
					.focus(function() {
						$(this).blur();
					});

				// set euro values focus
				$('#com_activity_goal').focus(function() {
					var sHiddenId = '#' + $(this).attr('id') + '_hidden';
					var iValue = parseInt($(sHiddenId).val());
					var sValue = (isNaN(iValue) || iValue == 0 ? '' : iValue+'');
					$(this).val(sValue);
				});
				// set euro values blur
				$('#com_activity_goal').blur(function() {
					var sHiddenId = '#' + $(this).attr('id') + '_hidden';
					var iValue = parseInt($(this).val());
					iValue = (isNaN(iValue) ? 0 : iValue);
					$(sHiddenId).val(iValue);
					$(this).val(iValue + '\u20ac');
				});

				// edit button handler
				$('#btn_com_saving').bind('click', {"iId":iId}, function(e) {

					// check data
					if (!oSiteControl.checkActivityValues()) {
						return;
					}

					// get data
					var oActivityData = {
						iId:				e.data.iId
						,sActivityTitle:	$('#com_activity_title').val()
						,sActivitySubtitle:	$('#com_activity_subtitle').val()
						,iOccasionId:		$('#mfm_com_occasion').val()
						,sStartDate:		$('#com_activity_begin_date').val()
						,sStartTime:		$('#com_activity_begin_time').val()
						,sCategory:			$('#mfm_com_category').val()
						,sEndDate:			$('#com_activity_end_date').val()
						,sEndTime:			$('#com_activity_end_time').val()
						,sActivityText:		$('#com_detail_my_activity_description_textarea').val()
						//,sInvitation:		$('#com_detail_my_activity_email_text_textarea').val()
						,sAcknowledgment:	$('#com_detail_my_activity_email_text_textarea').val()
						,bPortalDe:			$('#com_activity_portal_de:checked').length
						,bPortalAt:			$('#com_activity_portal_at:checked').length
						,bPortalCh:			$('#com_activity_portal_ch:checked').length
						,iGoal:				$('#com_activity_goal_hidden').val()
						,sFlickrLink:		$('#com_activity_flickr').val()
						,sFacebookLink:		$('#com_activity_facebook').val()
					};

					// save data
					$.get(
						oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cActivityWizzard&sFunction=ajaxSaveActivity'
						, oActivityData
						, function(o) {
							if (o.mData === false) {
								log('Fehler');
								return;
							}

							// change page
							oNavControl.navTo('community/meine-aktionen/');
						}
					);
				});
			}
			, 'json'
		);
	}
	
	
	
	
	,renderCommunitySiteMyChequebook: function (sTypoBackup) {
log(sTypoBackup)
		// get userdata
		$.ajax({
			url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebook&sFunction=ajaxGetMyList"
			,type:		'get'
			,dataType:	'json'
			,success:	function(o) {
				var oParseObject = {
					  'aChequebookListItems' : o.mData
				};
				sTemplate = sTypoBackup.replace('%7B%7B', '{{').replace('%7D%7D', '}}');
				var sTemplate = cTemplate.parse(sTemplate, oParseObject);
				sTemplate = $('#inner_content_com_cont').html(sTemplate);
				// render content
				var oPortal = oMfmStorage.oLanguage[oMfmStorage.oLanguage.sActivePortal];
				var oLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage];
				oImageUpload.init(oLanguage.sSymbol, 'community_user', false);
				
				$('.btn_com_chequebook_preview').click(function(){
					// determin id
					var aId = $(this).attr('id').split('_');
					var iId = parseInt(aId[aId.length-1]);
					// go to preview site
					var sHref = $(this).find('.target_url').attr('href');
					oNavControl.navTo(sHref + '?iId=' + iId + '&bPreview=true');
				});
				
				$('.btn_com_chequebook_edit').click(function(){
					// determin id
					var aId = $(this).attr('id').split('_');
					var iId = parseInt(aId[aId.length-1]);
					// to to edit site
					var sHref = $(this).find('.target_url').attr('href');
					oNavControl.navTo(sHref + '?iId=' + iId);
				});
				
				$('.btn_com_chequebook_delete').click(function(){
					if (confirm(oMfmStorage._('scheckbuch_löschen_bestätigen'))) {
						// determin id
						var aId = $(this).attr('id').split('_');
						var iId = parseInt(aId[aId.length-1]);
						$.ajax({
							url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxRequestDelete"
							,type:		'get'
							,dataType:	'json'
							,data: {
								iId: iId
							}
							,success:	function(o) {
								if (o.mData.bSuccess === true) {
									alert($('#delete_success_message').html());
								}
							}
						});
					}
				});
				
				$(window).resize();
			}
			,error:		function(o) {
			}
		});
	}
	
	
	
	
	,renderCommunitySiteHinweis: function (sTypoBackup) {
		
		// put in content
			$('#inner_content_com_cont').html(sTypoBackup);
		
		// render content
		
		// resize
		$(window).resize();
		
	}
	
	
	
	
	,embedLivestream: function() {
		//load swf-object
		$.getScript(
			'/fileadmin/templates/js/swfobject.js'
			, function(){
				//embed
				swfobject.embedSWF(
					"http://www.contentforce.de/iptv/swf/xflv/showIt3.swf" // swfUrl
					,"embed-livestream" // id
					,"768" // width
					,"432" // height
					,"9.0.0" // version
					,"/fileadmin/templates/js/expressInstall.swf" // expressInstallSwfurl
					, { // flashvars
						plugin_version	: '9.0.115'
						,language		: 'de'
						,primaryColor	: '0x2B67B1'
						,secondaryColor	: '0xffffff'
						,textColor		: '0x000000'
						,borderColor	: '0xffffff'
						,overColor		: '0xAB8D61'
						,baseUrl		: 'http://www.contentforce.de/iptv/player/macros'
						,params			: '?r=r$forcedWidth=768$forcedHeight=432$keepVideoAspectRatio=true'
						,bandwidthPath	: 'http://www.contentforce.de/iptv/img/test.txt'
						,skin			: 'Social_Media_Player'
						,application		: '1016463361'
						,webcastId		: '1012531208'
					}
					, { // params
						wmode			: 'window'
						,quality		: 'high'
						,swliveconnect	: 'true'
						,allowscriptaccess	: 'always'
						,scalemode		: 'showall'
						,allowfullscreen	: 'true'
					}
					, { // attributes
						title			: 'Imagefilm Menschen für Menschen'
					}
				);
				$(window).resize();
				window.setTimeout(function(){$(window).resize();},500);
				window.setTimeout(function(){$(window).resize();},1000);
			});
	}
	
	
	
	
	,oFederalStatesList: null
	,oWorkGroupsByGroupId: null
	,getStatesAndWorkGroups: function(callback){
		var sPortal = oMfmStorage.oLanguage.sActivePortal;
		var iLanguage = oMfmStorage.oLanguage.iActiveLanguage;
		var sLanguage = oMfmStorage.oLanguage[sPortal].aLanguages[iLanguage].sSymbol;
		$.get(
			 '/?eID=json&action=totoyaRequest&sClass=cWorkGroups&sFunction=ajaxGetWorkGroupsInStates'
			,{
				 sPortal:	sPortal
				,sLanguage:	sLanguage
			}
			,function(o){
				oSiteControl.oFederalStatesList = o.mData;
				oSiteControl.oWorkGroupsByGroupId = {};
				for(sKey1 in oSiteControl.oFederalStatesList){
					for(sKey2 in oSiteControl.oFederalStatesList[sKey1].aWorkGroups){
						var oWorkGroup = oSiteControl.oFederalStatesList[sKey1].aWorkGroups[sKey2];
						oSiteControl.oWorkGroupsByGroupId[oWorkGroup.iGroupId] = oWorkGroup;
						oWorkGroup.aActivities = null;
					}
				}
				callback(o);
			}
			,'json'
		);
	}
	
	
	
	
	,iHilfsGruppenPerPage: 14
	,renderHilfsGruppen: function(){
		
		/// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				 'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,'Hilfsgruppen'
		);
		$('#content').prepend(oTitleBar);
		$('.titlebar-wrapper').eq(1).remove();
		
		/// get fedeal states and workgroups
		if(oSiteControl.oFederalStatesList == null){
			oSiteControl.getStatesAndWorkGroups(function(){
				oSiteControl.renderHilfsGruppen();
			});
			return;
		}
		
		$('.hilfsgruppen_top_div').removeClass('hidden');
		$(window).resize();
		
		/// build image map
		var sMap = '';
		sMap += '<map name="map">';
		sMap += '<area alt="be" shape="poly" nohref="nohref" coords="303,178,303,171,311,166,315,169,316,164,318,164,322,173,327,173,327,175,324,178,329,179,329,183,325,187,320,183,317,184,317,187,314,187,311,184,307,186,301,180" />';
		sMap += '<area alt="bb" shape="poly" nohref="nohref" coords="341,124,348,133,339,145,336,153,357,173,355,183,362,193,362,199,365,209,359,219,367,225,365,233,343,241,343,244,316,244,311,249,307,239,303,233,307,226,301,215,273,209,270,202,271,179,264,175,266,172,265,166,264,160,268,160,270,156,257,153,250,148,245,144,242,137,248,128,258,128,260,124,276,131,292,133,296,136,313,128,317,119,328,118,334,116,317,163,318,164,334,118,340,124" />';
		sMap += '<area alt="bw" shape="poly" nohref="nohref" coords="108,403,103,409,101,418,96,418,96,422,92,424,86,450,80,457,83,463,76,475,80,479,77,482,80,485,84,484,86,486,86,488,97,490,105,484,109,488,115,489,117,487,114,482,119,476,128,476,128,481,145,483,146,487,152,485,160,492,169,485,179,482,185,484,188,480,185,476,184,473,189,472,188,470,185,470,185,466,187,463,187,457,184,458,183,445,178,439,187,430,192,430,193,419,203,418,203,415,200,411,201,401,192,393,194,389,186,385,189,369,187,361,185,361,181,367,173,363,176,355,154,351,155,356,149,363,144,363,142,367,134,374,130,373,133,365,128,362,124,367,117,358,117,372" />';
		sMap += '<area alt="by" shape="poly" nohref="nohref" coords="266,317,261,312,240,314,233,306,229,309,234,318,227,322,221,314,213,319,217,323,212,328,204,316,185,305,179,313,171,311,170,315,163,320,162,328,142,329,143,333,139,343,144,351,141,358,144,363,149,363,155,355,154,350,176,356,172,361,180,368,185,361,188,361,188,373,186,383,194,388,192,392,201,401,200,411,203,414,203,417,193,418,193,430,186,430,179,439,183,444,183,457,187,457,187,462,185,465,185,470,189,469,188,471,184,474,189,479,186,483,180,482,166,487,160,494,163,498,169,495,169,490,173,487,183,491,182,495,187,498,185,501,189,508,198,505,197,491,201,486,203,491,203,494,208,490,214,494,219,490,225,491,223,499,238,500,244,492,249,492,252,488,272,488,276,481,284,482,285,486,297,485,301,493,304,496,308,496,310,487,304,482,305,469,296,454,302,446,316,443,324,437,322,426,330,421,339,422,340,420,334,413,330,401,314,392,312,384,304,380,293,375,284,370,283,360,277,355,277,346,282,346,283,343,267,329,268,327,263,321,265,317" />';
		sMap += '<area alt="hb" shape="poly" nohref="nohref" coords="126,132,127,138,131,141,131,145,138,150,138,147,146,144,146,141,144,134,141,135,141,138,126,133" />';
		sMap += '<area alt="hh" shape="poly" nohref="nohref" coords="197,122,189,113,189,106,187,98,178,101,178,106,171,108,168,114,176,124,179,121,180,125,185,122,191,124" />';
		sMap += '<area alt="he" shape="poly" nohref="nohref" coords="105,290,111,279,121,273,120,264,128,265,131,256,124,253,126,249,138,249,137,240,142,240,147,246,153,239,153,233,169,231,169,236,164,239,162,253,169,254,170,247,181,248,181,253,189,260,184,267,186,273,181,273,175,280,183,280,179,293,186,292,185,307,180,313,171,312,171,316,163,320,162,329,141,329,143,334,140,343,144,351,141,358,145,363,134,373,129,374,134,365,127,362,124,366,116,357,121,352,116,343,115,335,110,330,102,331,96,336,90,330,96,325,97,319,100,319,107,314,97,302,102,297,105,300,108,294,105,289" />';
		sMap += '<area alt="mv" shape="poly" nohref="nohref" coords="211,94,220,91,217,87,224,83,235,92,238,89,241,78,258,75,260,80,263,78,261,73,281,60,285,61,292,57,292,65,298,65,309,75,318,72,318,80,323,86,323,91,330,97,340,99,345,110,349,115,348,120,340,124,334,116,328,117,328,119,317,119,313,128,296,136,292,133,276,131,260,124,257,128,248,128,247,132,242,137,246,146,238,141,228,141,228,137,219,137,211,132,211,126,205,124,212,117,212,112,218,106,212,94" />';
		sMap += '<area alt="ni" shape="poly" nohref="nohref" coords="72,189,71,182,68,179,64,181,56,179,58,170,70,170,72,158,77,150,76,129,81,133,85,130,79,123,70,123,69,115,74,115,72,108,79,104,90,105,93,102,107,100,112,112,108,117,114,122,118,117,115,114,117,110,125,114,122,119,121,133,126,137,131,141,131,145,137,150,138,147,145,144,146,141,144,134,141,134,140,137,131,135,126,133,128,118,135,119,136,105,127,105,127,95,132,92,136,96,154,97,164,112,168,113,175,124,179,122,181,125,187,122,191,124,197,121,210,126,211,131,220,137,227,137,230,141,238,141,246,146,237,149,236,154,218,157,211,158,209,161,218,171,218,177,222,180,219,184,220,197,218,205,207,207,204,213,207,220,205,225,206,232,203,236,197,232,193,241,182,247,178,247,171,247,169,251,169,255,166,253,161,252,162,248,163,246,163,239,168,235,169,231,155,232,149,214,151,205,144,199,148,197,148,191,143,192,142,190,149,182,149,174,143,173,141,180,135,179,130,179,128,172,124,174,118,175,117,181,125,193,120,199,113,200,97,202,97,198,106,194,101,190,105,185,106,180,91,172,85,177,85,185,78,190,71,190" />';
		sMap += '<area alt="nw" shape="poly" nohref="nohref" coords="155,233,150,213,151,205,143,198,148,197,149,192,143,192,142,188,149,182,148,173,142,174,140,180,131,179,128,173,118,175,117,181,125,193,120,199,98,202,97,198,107,194,100,190,105,185,105,180,91,172,85,176,85,185,77,190,72,189,61,204,61,215,29,221,38,239,32,256,35,262,23,269,30,275,26,282,28,292,32,295,30,299,41,313,50,315,55,311,51,305,55,303,72,293,78,293,79,288,90,285,90,279,95,274,105,289,111,279,121,274,121,264,129,265,131,257,124,253,126,249,138,249,137,240,142,241,147,247,152,239,153,233,155,232" />';
		sMap += '<area alt="rp" shape="poly" nohref="nohref" coords="76,386,84,393,88,392,91,397,102,397,108,403,115,395,115,389,119,384,120,374,116,371,116,358,121,352,116,344,115,336,111,331,103,331,96,336,90,330,96,325,97,318,101,319,107,313,97,303,101,297,106,299,108,294,95,274,91,280,90,285,79,288,79,293,71,293,57,304,51,305,55,311,51,315,41,313,31,320,29,337,39,346,39,352,34,355,33,363,37,364,45,360,48,362,52,356,55,356,58,358,66,358,69,362,73,361,74,362,74,369,80,372,81,378" />';
		sMap += '<area alt="sh" shape="poly" nohref="nohref" coords="171,107,156,92,145,90,140,84,145,80,140,75,139,70,145,67,145,63,131,65,134,60,146,57,146,54,133,30,136,28,147,32,153,38,160,39,166,32,180,40,171,51,165,50,163,55,174,56,182,45,182,51,177,58,181,61,188,54,190,56,185,63,189,64,193,58,207,66,211,66,214,62,223,62,222,72,217,79,210,77,208,83,213,87,212,96,218,106,212,113,212,118,207,120,205,125,196,121,189,113,190,106,187,98,179,101,177,106,172,107" />';
		sMap += '<area alt="sl" shape="poly" nohref="nohref" coords="33,362,37,364,45,361,48,362,52,357,55,356,58,358,66,359,69,363,73,361,74,362,73,370,80,373,81,378,76,387,68,391,60,384,50,384,50,387,46,386,43,381,46,374,33,366" />';
		sMap += '<area alt="sn" shape="poly" nohref="nohref" coords="275,268,268,261,272,247,267,242,271,238,288,231,301,232,306,237,309,249,318,244,343,245,344,241,365,234,376,245,376,263,370,278,360,267,349,268,350,280,338,282,328,289,321,289,322,295,313,296,301,309,295,309,276,320,277,325,272,323,272,317,265,317,261,311,263,301,274,296,270,289,271,286,288,279,287,272,274,269" />';
		sMap += '<area alt="st" shape="poly" nohref="nohref" coords="245,145,252,149,255,153,270,156,269,160,265,161,266,171,264,176,271,180,270,201,273,209,301,215,307,226,303,234,288,231,278,234,267,242,271,247,268,261,276,268,271,274,247,269,238,261,240,254,218,245,215,234,205,232,204,225,207,220,205,213,207,207,215,206,220,203,220,183,222,180,217,176,218,170,209,160,219,158,220,156,235,155,236,149" />';
		sMap += '<area alt="th" shape="poly" nohref="nohref" coords="181,247,193,240,197,232,202,236,207,232,215,233,218,244,241,255,238,261,247,270,271,274,275,268,287,273,288,279,272,286,270,290,274,295,263,302,261,312,241,314,234,307,230,309,234,319,227,322,222,315,213,319,217,325,212,328,205,318,185,305,185,292,179,294,183,280,174,280,181,273,185,273,184,266,189,260,180,252,180,247,180,248,181,248" />';
		sMap += '</map>';
		$('.hilfsgruppen_left_map').append(sMap);
		$('.hilfsgruppen_left_map map area').each(function(){
			var me = $(this);
			var sShort = me.attr('alt');
			oSiteControl.oFederalStatesList[sShort].jArea = me;
		});
		
		/// put images
		$('.hilfsgruppen_left_map').append('<img class="image_base" src="fileadmin/templates/media/deutschland_none.png" width="410" height="530" border="0" usemap="#map" />');
		for(sKey in oSiteControl.oFederalStatesList){
			var oState = oSiteControl.oFederalStatesList[sKey];
			$('.hilfsgruppen_left_map').append('<img class="image_'+sKey+'" src="fileadmin/templates/media/deutschland_'+sKey+'.png" width="410" height="530" border="0" usemap="#map" />');
			oState.jImage = $('.hilfsgruppen_left_map').find('.image_'+sKey);
			oState.jImage.css({'position': 'absolute', 'left': '0px', 'top': '0px'});
		}
		
		/// get templates
		var jStateEntryTemplate = $('.hilfsgruppen_state_list_entry');
		var jGroupEntryTemplate = $('.hilfsgruppen_group_list_entry');
		jGroupEntryTemplate.remove();
		var jGroupEntriesPageTemplate = $('.hilfsgruppen_group_list_entries');
		jGroupEntriesPageTemplate.remove();
		var jGroupListTemplate = $('.hilfsgruppen_group_list');
		
		/// make list entries for states
		for(sKey in oSiteControl.oFederalStatesList){
			var oState = oSiteControl.oFederalStatesList[sKey];
			var jStateEntry = jStateEntryTemplate.clone();
			jStateEntry.find('.state').text(oState.sName);
			/// fill in state values
			var sNumberText = '('+oState.aWorkGroups.length+')';
			jStateEntry.find('.number_placeholder').text(sNumberText);
			jStateEntry.find('.number').text(sNumberText);
			/// set hover and click handlers
			jEntryAndArea = jStateEntry.add(oState.jArea);
			jEntryAndArea.data('oState',oState);
			jEntryAndArea.css({'cursor': 'pointer'});
			jEntryAndArea.mouseover(function(){
				oSiteControl.setHilfsGruppenStateImage($(this).data('oState').sShort);
			});
			jEntryAndArea.mouseout(function(){
				oSiteControl.setHilfsGruppenStateImage(oSiteControl.sStateDetailView);
			});
			jEntryAndArea.click(function(){
				var me = $(this);
				var oState = me.data('oState');
				oSiteControl.setStateDetailView(oState.sShort);
			});
			$('.hilfsgruppen_right_state_list').append(jStateEntry);
			/// make group lists
			var jGroupList = jGroupListTemplate.clone();
			var iPages = Math.ceil(oState.aWorkGroups.length / oSiteControl.iHilfsGruppenPerPage);
			var aPageDivs = [];
			for(var i=0;i<iPages;i++){
				var jNewGroupEntriesPage = jGroupEntriesPageTemplate.clone();
				jGroupList.append(jNewGroupEntriesPage);
				aPageDivs.push(jNewGroupEntriesPage);
			}
			$('.hilfsgruppen_right_group_lists').append(jGroupList);
			jGroupList.find('.hilfsgruppen_group_list_headline').text('Unsere freiwilligen Helfer in '+oState.sName);
			for(var i=0;i<oState.aWorkGroups.length;i++){
				var iPageNr = Math.floor(i / oSiteControl.iHilfsGruppenPerPage);
				var jGroupEntriesListPage = aPageDivs[iPageNr];
				var oWorkGroup = oState.aWorkGroups[i];
				var jGroupEntry = jGroupEntryTemplate.clone();
				jGroupEntriesListPage.append(jGroupEntry);
				/// fill in group values
				jGroupEntry.find('.city').text(oWorkGroup.sCity);
				jGroupEntry.find('.group_name').text(oWorkGroup.sName);
				jGroupEntry.data('iGroupId',oWorkGroup.iGroupId);
				jGroupEntry.click(function(){
					oNavControl.navTo('mainmenu/aktiv-werden/hilfsgruppen/gruppendetail/?iGroupId='+$(this).data('iGroupId'));
				});
			}
			
			if(aPageDivs.length >0){
				/// create paginator
				var jPaginator = oSiteControl.createPaginator(jGroupList,aPageDivs);
				jPaginator.css({'position':'absolute','left':'0px','bottom':'0px','width':'100%','height':'40px'});
				jPaginator.data('functions').recalcBulletsMargin();
			}
			
			jGroupEntryTemplate.remove();
			oState.jGroupList = jGroupList;
		}
		jStateEntryTemplate.remove();
		jGroupListTemplate.remove();
		
		oSiteControl.setHilfsGruppenStateImage();
		oSiteControl.setStateDetailView();
		
	}
	
	
	
	
	,setHilfsGruppenStateImage: function(sStateShort){
		for(sKey in oSiteControl.oFederalStatesList){
			if(sKey == sStateShort){
				oSiteControl.oFederalStatesList[sKey].jImage.show();
			}else{
				oSiteControl.oFederalStatesList[sKey].jImage.hide();
			}
		}
	}
	
	
	
	
	,sStateDetailView: undefined
	,setStateDetailView: function(sStateShort){
		oSiteControl.sStateDetailView = sStateShort;
		if(sStateShort == undefined){
			$('.hilfsgruppen_right_state_list').show();
		}else{
			$('.hilfsgruppen_right_state_list').hide();
		}
		for(sKey in oSiteControl.oFederalStatesList){
			if(sKey == sStateShort){
				oSiteControl.oFederalStatesList[sKey].jGroupList.show();
			}else{
				oSiteControl.oFederalStatesList[sKey].jGroupList.hide();
			}
		}
		oSiteControl.setHilfsGruppenStateImage(sStateShort);
	}
	
	
	
	
	,getActivitiesForWorkGroup: function(oWorkGroup,callback){
		var sPortal = oMfmStorage.oLanguage.sActivePortal;
		var iLanguage = oMfmStorage.oLanguage.iActiveLanguage;
		var sLanguage = oMfmStorage.oLanguage[sPortal].aLanguages[iLanguage].sSymbol;
		$.get(
			 '/?eID=json&action=totoyaRequest&sClass=cWorkGroups&sFunction=ajaxGetActivities'
			,{
				 sPortal:	sPortal
				,sLanguage:	sLanguage
				,iWorkGroupId: oWorkGroup.iGroupId
			}
			,function(o){
				oWorkGroup.aActivities = o.mData;
				callback(o);
			}
			,'json'
		);
	}
	
	
	
	
	,iActivitiesPerPage: 3
	,renderGruppenDetail: function(){
		
		/// add titlebar
		var oTitleBar = oSiteControl.renderTitleBar(
			{
				 'bBack':		true
				,'bCam':		false
				,'bTitle':		true
			}
			,'Gruppendetail'
		);
		$('#content').prepend(oTitleBar);
		$('.titlebar-wrapper').eq(1).remove();
		
		/// get workgroups and activities if not already gotten
		if(oSiteControl.oFederalStatesList == null){
			oSiteControl.getStatesAndWorkGroups(function(){
				oSiteControl.renderGruppenDetail();
			});
			return;
		}
		
		/// get group ID by param iGroup
		var iGroupId;
		var sLocation = unescape(window.location.href);
		var aParams = sLocation.slice(sLocation.indexOf('?') + 1).split('&');
		for(var i=0;i<aParams.length;i++){
			if(aParams[i].split("=")[0] == 'iGroupId'){
				iGroupId = aParams[i].split("=")[1];
			}
		}
		
		/// get workgroup
		var oWorkGroup = oSiteControl.oWorkGroupsByGroupId[iGroupId];
		if(oWorkGroup == undefined){
			// log('! workgroup #'+iGroupId+' does not exist !');
			return;
		}
		
		/// get activities if not already gotten
		if(oWorkGroup.aActivities == null){
			oSiteControl.getActivitiesForWorkGroup(oWorkGroup, function(){
				oSiteControl.renderGruppenDetail();
			});
			return;
		}
		
		/// make arrays for past, present, future activities
		if (typeof oWorkGroup.oActivities == 'undefined') {
			oWorkGroup.oActivities = {
				  aPast: []
				, aPresent: []
				, aFuture: []
			};
			for (var i=0; i<oWorkGroup.aActivities.length; i++) {
				var oActivity = oWorkGroup.aActivities[i];
				if (oActivity.iDaysPassed < 0) {
					oWorkGroup.oActivities.aFuture.push(oActivity);
				} else if (oActivity.iDaysLeft < 0) {
					oWorkGroup.oActivities.aPast.push(oActivity);
				} else {
					oWorkGroup.oActivities.aPresent.push(oActivity);
				}
			}
		}
		
		$('.gruppendetail_top_div').removeClass('hidden');
		$(window).resize();
		
		/// fill in group values
		var jGroupDiv = $('.gruppendetail_left_group');
		jGroupDiv.find('.info_left_left_photo').attr('src', oWorkGroup.sImage);
		jGroupDiv.find('.group_headline').text(oWorkGroup.sName);
		jGroupDiv.find('.group_sub_headline').text(oWorkGroup.sShortDescription);
		jGroupDiv.find('.group_members .number').text(oWorkGroup.iMemberCount);
		jGroupDiv.find('.group_description_description').html(oWorkGroup.sLongDescription);
		jGroupDiv.find('.info_left_right .name').text(oWorkGroup.sUserFirstName + ' ' + oWorkGroup.sUserLastName);
		var sContactInfo = '';
		sContactInfo += oWorkGroup.sStreet + ' ' + oWorkGroup.sNumber + '<br />';
		sContactInfo += oWorkGroup.sZip + ' ' + oWorkGroup.sCity + '<br />';
		sContactInfo += 'Deutschland<br />';
		sContactInfo += '<br />';
		sContactInfo += 'T +' + oWorkGroup.sContactPhone + '<br / >';
		sContactInfo += 'T +' + oWorkGroup.sContactFax + '<br / >';
		jGroupDiv.find('.contact_info').html(sContactInfo);
		
		/// mail and facebook click binds
		jGroupDiv.find('.info_left_right .mail').click(function(){
			var sPortal = oMfmStorage.oLanguage.sActivePortal;
			var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
			var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
			oNavControl.mappedNavTo(sLanguagePrefix + 'mainmenu/projekte/empfehlung/');
		});
		jGroupDiv.find('.info_left_right .facebook').click(function(){
			oSiteControl.shareOnFacebook();
		});
		
		/// get html templates
		var jActivityTemplate = $('.gruppendetail_activity');
		jActivityTemplate.remove();
		var jActivityListTemplate = $('.gruppendetail_activities_activity_list');
		jActivityListTemplate.remove();
		
		/// make html from template
		var oParts = {
			 'oPast': {
				  aActivities: oWorkGroup.oActivities.aPast
				, jDiv: $('.gruppendetail_right_activities_past')
				, jTab: $('.gruppendetail_tab_past')
			 }
			,'oPresent': {
				  aActivities: oWorkGroup.oActivities.aPresent
				, jDiv: $('.gruppendetail_right_activities_present')
				, jTab: $('.gruppendetail_tab_present')
			 }
			/*,'oFuture': {
				  aActivities: oWorkGroup.oActivities.aFuture
				, jDiv: $('.gruppendetail_right_activities_future')
				, jTab: $('.gruppendetail_tab_future')
			 }*/
		};
		for (sKey in oParts) {
			
			var oPart = oParts[sKey];
			var aActivities = oPart.aActivities;
			var jDiv = oPart.jDiv;
			var jTab = oPart.jTab;
			
			/// divide into pages
			var aActivityLists = [];
			var iPages = Math.ceil(aActivities.length / oSiteControl.iActivitiesPerPage);
			for(var i=0;i<iPages;i++){
				var jActivityList = jActivityListTemplate.clone();
				jDiv.append(jActivityList);
				aActivityLists.push(jActivityList);
			}
			
			/// put activities in
			for (var i=0;i<aActivities.length;i++) {
				var oActivity = aActivities[i];
				var jActivity = jActivityTemplate.clone();
				var jActivityList = aActivityLists[Math.floor(i / oSiteControl.iActivitiesPerPage)];
				jActivityList.append(jActivity);
				/// fill in activity values BEGIN
				jActivity.find('.activity_image').attr('src', oActivity.sImage);
				jActivity.find('.title').text(oActivity.sActivityTitle);
				jActivity.find('.start_date').text(oActivity.sFormattedStartDate);
				var sName = oActivity.sFirstName + ' ' + oActivity.sLastName;
				jActivity.find('.name').text(sName);
				jActivity.find('.category').text(oActivity.sCategory);
				jActivity.find('.occasion').text(oActivity.sOccasion);
				jActivity.find('.current_money').text(oActivity.iCurrentDonationAmount);
				/// values that depend on time
				jActivity.find('.days_left_past').parent().hide();
				jActivity.find('.days_left_present').parent().hide();
				jActivity.find('.days_left_future').parent().hide();
				switch (sKey) {
					case 'oPast':
						jActivity.find('.days_left_past').text(-oActivity.iDaysLeft);
						jActivity.find('.days_left_past').parent().show();
						break;
					case 'oPresent':
						jActivity.find('.days_left_present').text(oActivity.iDaysLeft);
						jActivity.find('.days_left_present').parent().show();
						break;
					case 'oFuture':
						jActivity.find('.days_left_future').text(oActivity.iDaysLeft);
						jActivity.find('.days_left_future').parent().show();
						break;
				}
				/// fill in activity values END
				jActivity.data('oActivity',oActivity);
				jActivity.click( function() {
					oNavControl.navTo('mainmenu/aktiv-werden/aktionen/aktionen-unterstuetzen/?iId='+$(this).data('oActivity').iId);
				});
			}
			
			/// create paginator
			var jPaginator = oSiteControl.createPaginator(jDiv,aActivityLists);
			jPaginator.css({'position':'absolute','left':'0px','bottom':'0px','width':'100%','height':'40px'});
			jPaginator.data('functions').recalcBulletsMargin();
			
			/// bind tab
			jTab.data('oParts',oParts);
			jTab.data('bActive',false);
			jTab.click( function() {
				var me = $(this);
				var oParts = me.data('oParts');
				for (sKey in oParts) {
					var jDiv = oParts[sKey].jDiv;
					var jTab = oParts[sKey].jTab;
					if (jTab[0] == this) {
						jDiv.show();
						jTab.css({'font-weight': 'bold'});
						jTab.data('bActive',true);
					} else {
						jDiv.hide();
						jTab.css({'font-weight': 'normal'});
						jTab.data('bActive',false);
					}
				}
			});
			jTab.hover(
				 function() {
					$(this).css({'font-weight': 'bold'});
				}
				,function() {
					if(! $(this).data('bActive')){
						$(this).css({'font-weight': 'normal'});
					}
				}
			);
			
		}
		
		oParts.oPresent.jTab.click();
		
	}
	
	
	
	
	/**
	 * render the chequebook
	 */
	, sCbTemplate: null
	, iCbPage: 0
	, sCbSearch: ''
	, sCbSearchDefault: ''
	, aTabs: [ 'top', 'alpha', 'ranking' ]
	, renderChequebook: function() {
		oSiteControl.renderTextstrecke();
		$('.titlebar-wrapper').hide();
		$('.actionbar-wrapper').hide();
		$('#bullets').hide();
		
		// remember search default value
		oSiteControl.sCbSearchDefault = oMfmStorage._('searchValue');
		
		// get tab template and remove from dom
		oSiteControl.sCbTemplate = $('#chequebook_content_tab').html().replace(/&lt;_/g, '<').replace(/&gt;/g, '>');
		$('#chequebook_content_tab').parent().remove();

		// repair li tags from main template
		$('#new-chequebook-tabs').html($('#new-chequebook-tabs').html().replace(/&lt;_/g, '<').replace(/&gt;/g, '>'));
		
		var sHrefTemp4 = $('#tabs-4 a').attr('href');
		var sHrefTemp5 = $('#tabs-5 a').attr('href');
		
		// init tabs
		$('#new-chequebook-tabs').tabs({
			select: function(event, ui) {
				// empty current tab content
				var iTab = $('#new-chequebook-tabs').tabs('option', 'selected') + 1;
				$('#com_chequebook_content_tab_' + iTab).empty();
				
				// set first page
				oSiteControl.iCbPage = 0;
			}
			, show: function(event, ui) {
				$('.ui-tabs-selected a').blur();
				oSiteControl.loadChequebookData(oSiteControl.aTabs[ui.index]);
			}
		});
		
		$('#tabs-4').removeClass('ui-state-default ui-corner-top ui-state-disabled');
		oSiteControl.iChequebookId = null;
		$('#tabs-4 a').unbind();
		$('#tabs-4 a').attr('href', "javascript:oNavControl.navTo('" + sHrefTemp4 + "');");
		
		$('#tabs-5').removeClass('ui-state-default ui-corner-top ui-state-disabled');
		$('#tabs-5 a').unbind();
		$('#tabs-5 a').attr('href', "javascript:oNavControl.navTo('" + sHrefTemp5 + "');");
	}
	
	
	
	/**
	 * loads the chequebook data
	 * 
	 * @param	int		iTab
	 */
	, loadChequebookData: function(sTab) {
		// get chequebook data
		var sPortal = oMfmStorage.oLanguage.sActivePortal;
		var oPortal = oMfmStorage.oLanguage[sPortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		$.get(
			'/?eID=json&action=totoyaRequest&sClass=cChequebook&sFunction=ajaxGetList'
			, {
				sPortal:			sPortal
				, sLanguage:		sLanguage
				, sTab:				sTab
				, iPage:			oSiteControl.iCbPage
				, sSearch: 			oSiteControl.sCbSearch
				, sSearchDefault:	oSiteControl.sCbSearchDefault
			}
			, oSiteControl.renderChequebookData
			, 'json'		
		);
	}
	
	
	
	
	/**
	 * render the chequebook data
	 */
	, renderChequebookData: function(o) {
		oSiteControl.iCbPage = o.mData.aPaginator.iPage;
		// parse template
		var oParseObject = {
			'aItemsLeft':		o.mData.aItems.splice(0, 5)
			, 'aItemsRight':	o.mData.aItems
			, 'aCategories':	o.mData.aCategories
			, 'sSearch':		o.mData.sSearch
			, 'sSum':			o.mData.sSum
			, 'aBullets':		o.mData.aPaginator.aBullets
		};
		var sTemplate = cTemplate.parse(oSiteControl.sCbTemplate, oParseObject);
		
		// set parsed template
		var iTab = $.inArray(o.mData.sTab, oSiteControl.aTabs) + 1;
		$('#com_chequebook_content_tab_' + iTab).html(sTemplate);
		
		// hover list item 
		$('.chequebook_list_item').hover(
			function() {
				$(this).find('.chequebook_list_item_hover').show();
			}
			,function() {
				$(this).find('.chequebook_list_item_hover').hide();
			}
		);
		
		// click list item
		$('.chequebook_list_item').click(function(){
			var iId = $(this).attr('id').replace('chequebook_item_', '');
			var sPortal = oMfmStorage.oLanguage.sActivePortal;
			var sLanguage = oMfmStorage.oLanguage.iActiveLanguage;
			var sLanguagePrefix = oMfmStorage.oLanguage[sPortal].aLanguages[sLanguage].sRealUrlPrefix;
			var jLink = $(this).find('.target_url');
			var sNavTo = sLanguagePrefix + jLink.attr('href') + '?iId=' + iId;
			jLink.remove();
			/*var sDeepLink = $(this).find('.deeplink').text();
			if (sDeepLink != '') {
				sNavTo = sLanguagePrefix + 'scheckbuch/' + sDeepLink;
			}*/
			oNavControl.navTo(sNavTo);
		});
				
		// search
		$('#chequebook_search_input')
			.focus(function() {
				if ($(this).val() == oSiteControl.sCbSearchDefault) {
					$(this).val('');
				}
			})
			.blur(function() {
				if ($(this).val() == '') {
					$(this).val(oSiteControl.sCbSearchDefault);
				}
			})
			.change(function(o) {
				// set first page
				oSiteControl.iCbPage = 0;
				
				// get search value
				oSiteControl.sCbSearch = $(this).val();
				
				// chage page
				if ($('#new-chequebook-tabs').tabs('option', 'selected') != 1) {
					$('#new-chequebook-tabs').tabs('select', 1);
				} else {
					oSiteControl.loadChequebookData(oSiteControl.aTabs[1]);
				}
				
				// empty search value
				oSiteControl.sCbSearch = '';
				return false;
			});
			
		// paginator
		var iCountElements = $('#chequebook_paginator .paginator_element').length;
		var iPadding = (680 - iCountElements * 15) / 2;
		$('#chequebook_paginator').css({
			'padding-left': iPadding
			,'padding-right': iPadding
			,'width': 720 - 2 * iPadding
		});
		$('#chequebook_paginator .last_arrow').bind(
			'click'
			, {
				sTab:		o.mData.sTab
			}
			, function(o) {
				oSiteControl.iCbPage--;
				if (oSiteControl.iCbPage < 0) {
					oSiteControl.iCbPage = 0;
				}
				oSiteControl.loadChequebookData(o.data.sTab);
			}
		);
		$('#chequebook_paginator .next_arrow').bind(
			'click'
			, {
				sTab:		o.mData.sTab
				, iMaxPage:	$('#chequebook_paginator .paginator_element').length
			}
			, function(o) {
				oSiteControl.iCbPage++;
				if (oSiteControl.iCbPage >= o.data.iMaxPage) {
					oSiteControl.iCbPage = o.data.iMaxPage - 1;
				}
				oSiteControl.loadChequebookData(o.data.sTab);
			}
		);
		$('#chequebook_paginator .paginator_element').bind(
			'click'
			, {
				sTab:		o.mData.sTab
			}
			, function(o) {
				oSiteControl.iCbPage = parseInt($(this).attr('id').split('_')[2]);
				oSiteControl.loadChequebookData(o.data.sTab);
			}
		);
		$('#paginator_index_' + oSiteControl.iCbPage).removeClass('inactive_bullet').addClass('active_bullet');
		
		$(window).resize();
	}
	
	
	
	
	,iRCDDonationEntriesPerPage: 12
	,iChequebookDetailIdResolvedFromUrl: null
	/**
	 * render chequebook details
	 * */
	,renderChequebookDetails: function() {
		
		// get portal and language for ajax parameters
		var sPortal = oMfmStorage.oLanguage.sActivePortal;
		var oPortal = oMfmStorage.oLanguage[sPortal];
		var sLanguage = oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		
		// get id for ajax parameters
		var iId = null;
	    var aS = window.location.href.slice(window.location.href.lastIndexOf('?') + 1).split('&');
		for(var i=0;i<aS.length;i++){
			var aSS = aS[i].split(/\=|%3D/gi);
			if (aSS[0] == 'iId') {
				iId = aSS[1];
			}
		}
		
		// if deeplink, get id per ajax
		if (iId === null) {
			//if (window.location.href.split('/')[3] === 'scheckbuch') {
			if (oNavControl.sBaseStart.split('/')[0] === 'scheckbuch') {
				if (oSiteControl.iChequebookDetailIdResolvedFromUrl === null) {
					$.ajax({
						 url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebook&sFunction=ajaxGetIdFromDeepLink"
						,type:		'get'
						,data:		{
							sDeepLink:	window.location.href.split('/')[4]
						}
						,dataType:	'json'
						,success:	function (o) {
							oSiteControl.iChequebookDetailIdResolvedFromUrl = o.mData.iId;
							oSiteControl.renderChequebookDetails();
						}
					});
					return;
				} else {
					iId = oSiteControl.iChequebookDetailIdResolvedFromUrl;
					oSiteControl.iChequebookDetailIdResolvedFromUrl = null;
				}
			}
		} else {
			oSiteControl.iChequebookId = iId;
		}
		
		// hide while not filled
		$('#inner_content').hide();
		
		var aGetParams = {
			  sPortal:			sPortal
			, sLanguage:		sLanguage
			, iId: 				iId
			, bPreview:			false
		}
		
		$.get(
			'/?eID=json&action=totoyaRequest&sClass=cChequebook&sFunction=ajaxGetItem'
			, aGetParams
			, function (o) {
				
				if (o.mData === null) {
					return;
				}
				
				// show because now it can be filled
				$('#inner_content').show();
				
				oSiteControl.renderTextstrecke();
				
				// parse template BEGIN
				var sTemplate = $('#inner_content').html();
				sTemplate = cTemplate.parse(sTemplate.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), o.mData);
				
				var oParse2 = {
					  aCategories: 			o.mData.aCategoriesData.aData
					, sSum: 				o.mData.aCategoriesData.sSum
					, sInvitationAsHtml:	o.mData.sInvitation.replace(/\n/gi, '<br />')
				};
				sTemplate = cTemplate.parse(sTemplate.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), oParse2);
				
				$('#inner_content').html(sTemplate);
				// parse template END
				
				// create pages and paginator
				var jEntries = $('.cbd-entry');
				var iEntries = jEntries.length;
				var iPages = Math.ceil(iEntries / oSiteControl.iRCDDonationEntriesPerPage);
				var aPages = [];
				for (var i=0; i<iPages; i++) {
					var jPage = $('<div class="cbd-entry_page" />');
					$('.cbd-middle_body').append(jPage);
					aPages.push(jPage);
				}
				for (var i=0; i<jEntries.length; i++) {
					aPages[Math.floor(i / oSiteControl.iRCDDonationEntriesPerPage)].append(jEntries.eq(i));
				}
				oSiteControl.createPaginator($('.cbd-middle_paginator'), aPages);
				
				// if no entries, show dummy text
				if (o.mData.aDonations.length == 0) {
					$('.cbd-middle_body .cbd-no_entries_text').removeClass('noscript');
				}
				
				// bind donation button
				$('.cbd-donation_button').click(function(){
					oDonationControl.sWerbeCode = o.mData.sDonationCode;
					oDonationControl.showDonationWizard(30);
				});
				
				// put background image
				oBgControl.swap(o.mData.sBackground);
				
				// standard stuff
				$('.titlebar-wrapper').hide();
				$('.actionbar-wrapper').hide();
				$('#bullets').hide();
				
				// remove bad css
				$('#inner_content').css({'background-image': 'none', 'overflow': 'hidden', 'padding': '0'});
				
				// add titlebar
				
				if ($('.titlebar-wrapper:visible').length == 0) {
					var oTitleBar = oSiteControl.renderTitleBar(
						{
							 'bBack':		true
							,'bCam':		false
							,'bTitle':		true
						}
						, oNavControl.oActivePage.sName
					);
					$('#content').prepend(oTitleBar);
				}
				
				// render action buttons
				oSiteControl.appendFacebookButton($('.cbd-standard_buttons')).css({'margin-bottom': '5px'});
				oSiteControl.appendPrintButton($('.cbd-standard_buttons')).css({'margin-bottom': '5px'});
				oSiteControl.appendMailButton($('.cbd-standard_buttons')).css({'margin-bottom': '5px'});
				
				// resize for accurate layout rendering
				$(window).resize();
				
			}
			, 'json'		
		);
		
	}
	
	
	
	
	/**
	 * render chequebook wizard
	 */
	, aDefaultFieldsChequebook: [
		// default values tab 'registrieren'
		'cbw_login_email', 'cbw_login_password', 'cbw_firm', 'cbw_email', 'cbw_password', 'cbw_firstname', 'cbw_name', 'cbw_email', 'cbw_email_validation'
		// default values tab 'beschreiben'
	]
	, oDefaultValuesChequebook:			{}
	, iChequebookId:					null
	, oChequebookData:					null
	, sChequebookStep2Template:			null
	, sChequebookStep3Template:			null
	, sCBWStep4Template:				null
	, oLogoUpload:						null
	, oBackgroundUpload:				null
	, bSaveChequebookValues:			true
	, bGetMeToStep3:					false
	, bReadyForRenderChequebookWizard:	false
	, bCBWLoggedIn:						false
	, bCBWInitialCall:					false
	, renderChequebookWizard:			function() {
		
		// set variables at initial call of this function (user just arrived on this site or logged in)
		if (oSiteControl.bCBWInitialCall)  {
			oSiteControl.oChequebookData	= null;
			oSiteControl.oUserData			= false;
			oSiteControl.bCBWLoggedIn		= false;
			oSiteControl.bCBWInitialCall 	= false;
		}
		
		// check if ssl connection
		if (!oMfmStorage.bDebug && !oNavControl.bSsl) {
			oNavControl.loadSsl('chequebook');
			return false;
		}
		
		// get data from the mfm Storage
		var sPortal 	= oMfmStorage.oLanguage.sActivePortal;
		var oPortal 	= oMfmStorage.oLanguage[sPortal];
		var sLanguage	= oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
		
		// determine if this shall be an edit or a preview of an existing chequebook and get the id
		var iId = null;
		var bPreview = null;
		if (window.location.href.lastIndexOf('?') > window.location.href.lastIndexOf('#')) {
		    var aS = window.location.href.slice(window.location.href.lastIndexOf('?') + 1).split(/\&|%26/gi);
			for(var i=0;i<aS.length;i++){
				var aSS = aS[i].split(/\=|%3D/gi);
				switch (aSS[0]) {
					case 'bPreview':
						bPreview = aSS[1];
						break;
					case 'iId':
						iId = aSS[1];
						break;
				}
			}
		}
		if (iId !== null) {
			oSiteControl.iChequebookId = iId;
		}
		if (bPreview) {
			oSiteControl.bGetMeToStep3 = true;
		}
		
		// get user data
		if (oSiteControl.oUserData === false) {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData'
				,function(o) {
					oSiteControl.oUserData = o.mData;
					if (oSiteControl.oUserData !== null) {
						oSiteControl.bCBWLoggedIn = true;
					}
					oSiteControl.renderChequebookWizard();
				}
				,'json'
			); 
			return;
		}
		
		// if not edit, create new chequebook
		if (oSiteControl.iChequebookId === null) {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxCreateChequebook'
				,function(o) {
					oSiteControl.iChequebookId = o.mData;
					oSiteControl.renderChequebookWizard();
				}
				,'json'
			);
			return;
		}
		
		// get chequebook data
		if (oSiteControl.oChequebookData === null) {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cChequebook&sFunction=ajaxGetMyItem'
				,{ 
					  sLang: 			sLanguage
					, sPortal:			sPortal
					, iId:				oSiteControl.iChequebookId
					, bPreview:			true
				}
				,function(o) {
					if (o.mData === false) {
						// TODO: error handling
					} else {
						oSiteControl.oChequebookData = o.mData;
						oSiteControl.renderChequebookWizard();
					}
				}
				,'json'
			);
			return;
		}
		
		// store templates
		oSiteControl.sChequebookStep2Template = $('#cbw_content_step_2 .chequebook_detail').html().replace('%7B%7B', '{{').replace('%7D%7D', '}}');
		oSiteControl.sChequebookStep3Template = $('#cbw_content_step_3 .chequebook_detail').html().replace('%7B%7B', '{{').replace('%7D%7D', '}}');
		oSiteControl.sCBWStep4Template = $('#cbw_content_step_4').html().replace('%7B%7B', '{{').replace('%7D%7D', '}}');
		
		// attach the title bar
		if ($('.titlebar-wrapper').length === 0) {
			var oTitleBar = oSiteControl.renderTitleBar(
				{
					'bBack':		true
					,'bCam':		false
					,'bTitle':		true
					,'bSubTitle':	false
				}
				, oNavControl.oActivePage.sName
			);
			$('#content').prepend(oTitleBar);
		}
		
		// get default values
		var i;
		for (i in oSiteControl.aDefaultFieldsChequebook) {
			oSiteControl.oDefaultValuesChequebook[oSiteControl.aDefaultFieldsChequebook[i]] = $('#'+oSiteControl.aDefaultFieldsChequebook[i]).val();
		}
		
		// set focus and blur handler
		for (i in oSiteControl.aDefaultFieldsChequebook) {
			// set focus handler
			$('#'+oSiteControl.aDefaultFieldsChequebook[i]).focus(function() {
				var sValue = $.trim($(this).val());
				var sId = $(this).attr('id');
				if (sValue == oSiteControl.oDefaultValuesChequebook[sId]) {
					$(this).val('');
				}
			});

			// set blur handler
			$('#'+oSiteControl.aDefaultFieldsChequebook[i]).blur(function() {
				var sValue = $.trim($(this).val());
				var sId = $(this).attr('id');
				if (sValue == '') {
					$(this).val(oSiteControl.oDefaultValuesChequebook[sId]);
				}
			});
		}
		
		// login button handler
		$('#cbw_login').click(function() {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxLoginUser'
				, {
					sEmail:		$.trim($('#cbw_login_email').val())
					,sPassword:	$.trim($('#cbw_login_password').val())
					,sPortal:	oMfmStorage.oLanguage.sActivePortal
				}
				, function(o) {
					if (!o.bError && o.mData) {
						$('#error_login').addClass('noscript');
						$.get(
							 oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxGetUserData'
							,function(o) {
								oSiteControl.bCBWLoggedIn = true;
								oSiteControl.oUserData = o.mData;
								oSiteControl.renderPersonalContent(true);
								oSiteControl.renderChequebookWizard();
							}
							,'json'
						);
					} else {
						$('#error_login').removeClass('noscript');
					}
				}
				, 'json'
			);
		});
		
		// step_1 next button handler
		$('#btn_cbw_next').click(function() {
			
			$('#cbw_content_step_1 .cbw_error_message').addClass('noscript');
			
			oSiteControl.checkRegisterValuesChequebook(function (bCorrect) {
				
				if (bCorrect) {
					
					var function1 = function () {
						
						$('#cbw_content_step_1').hide();
						
						// parse data into template
						if (oSiteControl.oChequebookData.aCategoriesData !== undefined) {
							oSiteControl.oChequebookData.aCategories = oSiteControl.oChequebookData.aCategoriesData.aData;
							oSiteControl.oChequebookData.sSum = oSiteControl.oChequebookData.aCategoriesData.sSum;
							oSiteControl.oChequebookData.sFirm = 
								oSiteControl.bCBWLoggedIn 
									? oSiteControl.oUserData.sFirm 
									: $('#cbw_content_step_1 #cbw_firm').val();
							var sTemplate = cTemplate.parse(oSiteControl.sChequebookStep2Template.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), oSiteControl.oChequebookData);
							$('#cbw_content_step_2 .chequebook_detail').html(sTemplate);
						} else {
							log('ERROR - oChequebookData = ' + oSiteControl.oChequebookData);
						}
						
						// image upload handlers
						oSiteControl.oLogoUpload = {};
						$.extend(oSiteControl.oLogoUpload, oImageUpload);
						oSiteControl.oLogoUpload.init(sLanguage, 'chequebook_logo', oSiteControl.iChequebookId, false, 'LOGO');
						oSiteControl.oBackgroundUpload = {};
						$.extend(oSiteControl.oBackgroundUpload, oImageUpload);
						oSiteControl.oBackgroundUpload.init(sLanguage, 'chequebook_bg', oSiteControl.iChequebookId, false, 'IMAGE');
						
						$('#cbw_content_step_2').show();
						
						// create pages and paginator (analogous to chequebook detail)
						var jEntries = $('#cbw_content_step_2 .cbd-entry');
						var iEntries = jEntries.length;
						var iPages = Math.ceil(iEntries / oSiteControl.iRCDDonationEntriesPerPage);
						var aPages = [];
						for (var i=0; i<iPages; i++) {
							var jPage = $('<div class="cbd-entry_page" />');
							$('cbw_content_step_2 .cbd-middle_body').append(jPage);
							aPages.push(jPage);
						}
						for (var i=0; i<jEntries.length; i++) {
							aPages[Math.floor(i / oSiteControl.iRCDDonationEntriesPerPage)].append(jEntries.eq(i));
						}
						oSiteControl.createPaginator($('cbw_content_step_2 .cbd-middle_paginator'), aPages);
						
						$(window).resize();
						
						if (oSiteControl.bGetMeToStep3) {
							$('#cbw-step_2_button_next').click();
							oSiteControl.bGetMeToStep3 = false;
						}
						
					}
					
					// if user logged in
					if (typeof oSiteControl.oUserData == 'object' && oSiteControl.oUserData !== null) {
						
						// if email not user's, set email to user's
						if($('#cbw_email').val() !== oSiteControl.oUserData.sEmail) {
							$('#cbw_email').val() == oSiteControl.oUserData.sEmail;
							$('#cbw_email_validation').val() == oSiteControl.oUserData.sEmail;
						}
						
						// save new data
						var oValues = {};
						var aPairs = [
							  ['sFirm', '#cbw_firm']
							, ['iTitle', '#cbw_title']
							, ['sFirstname', '#cbw_firstname']
							, ['sLastname', '#cbw_name']
						];
						for (var i=0; i<aPairs.length; i++) {
							if (oSiteControl.oUserData[aPairs[i][0]] !== $(aPairs[i][1]).val()) {
								oSiteControl.oUserData[aPairs[i][0]] = $(aPairs[i][1]).val();
								oValues[aPairs[i][0]] = $(aPairs[i][1]).val();
							}
						}
						$.ajax({
							url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cUserLogin&sFunction=ajaxSetUserData"
							,type:		'get'
							,data:		oValues
							,dataType:	'json'
							,success:	function1
						});
						
					} else {
						function1();
					}
					
				}
				
			});
		});
		
		// step 2 back button handler
		$('#cbw-step_2_button_back').click(function(){
			$('#cbw_content_step_2').hide();
			$('#cbw_content_step_1').show();
		});
		
		// step 2 next button handler
		$('#cbw-step_2_button_next').click(function(){
			if (oSiteControl.checkChequebookValues()) {
				
				// get data from the mfm Storage
				var sPortal 	= oMfmStorage.oLanguage.sActivePortal;
				var oPortal 	= oMfmStorage.oLanguage[sPortal];
				var sLanguage	= oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
				
				if (oSiteControl.oUserData != null) {
					var sParams = {
						 iId				:	oSiteControl.iChequebookId
						,sFirm				:	oSiteControl.oUserData.sFirm
						,iSalutation		:	3
						,iTitle				:	oSiteControl.oUserData.iTitle
						,sFirstname			:	oSiteControl.oUserData.sFirstname
						,sLastname			:	oSiteControl.oUserData.sLastname
						,sEmail				:	oSiteControl.oUserData.sEmail
						,sInvitation		:	$('#cbw-invitation_input').val()
						,sThankYou			:	$('#cbw-thank_you_input').val()
						,sPortal			:	sPortal
						,sLanguage			:	sLanguage
					}
				} else {
					var sParams = {
						 iId				:	oSiteControl.iChequebookId
						,sFirm				:	$('#cbw_firm').val()
						,iSalutation		:	3
						,iTitle				:	$('#cbw_title').val()
						,sFirstname			:	$('#cbw_firstname').val()
						,sLastname			:	$('#cbw_name').val()
						,sEmail				:	$('#cbw_email').val()
						,sInvitation		:	$('#cbw-invitation_input').val()
						,sThankYou			:	$('#cbw-thank_you_input').val()
						,sPortal			:	sPortal
						,sLanguage			:	sLanguage
					}
				}
				
				$.get(
					  oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxSave'
					, sParams
					, function(o) {
						
						$('#cbw-thank_you_input').css('outline', 'none');
						$('#cbw-invitation_input').css('outline', 'none');
						$('.cbw-logo_img').css('border', 'none');
						$('.cbw-bg_img').css('border', 'none');
						
						if (o.mData.bSuccess)  {
							
							$('#cbw_content_step_2').hide();
							
							var oChequebook = o.mData.oChequebook;
							
							// get changed userdata
							oSiteControl.oUserData = o.mData.oUserData;
							
							// parse template BEGIN
							if (oChequebook.sFirm === null) {
								oChequebook.sFirm = $('#cbw_firm').val();
							}
							var sTemplate = oSiteControl.sChequebookStep3Template;
							sTemplate = cTemplate.parse(sTemplate.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), oChequebook);
							var oParse2 = {
								  aCategories: 			oChequebook.aCategoriesData.aData
								, sSum: 				oChequebook.aCategoriesData.sSum
								, sInvitationAsHtml:	oChequebook.sInvitation.replace(/\n/gi, '<br />')
							};
							sTemplate = cTemplate.parse(sTemplate.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), oParse2);
							$('#cbw_content_step_3 .chequebook_detail').html(sTemplate);
							// parse template END
							
							// show and hide stuff according to whether this chequebook is already public
							if (oChequebook.bUserPublished || oChequebook.bPublic) {
								$('#cbw-information').hide();
								$('#cbw-agreement').hide();
								if (oChequebook.bPublic) {
									$('#cbw-chequebook_authorized_already').show();
									$('#cbw-chequebook_waiting_already').hide();
								} else {
									$('#cbw-chequebook_authorized_already').hide();
									$('#cbw-chequebook_waiting_already').show();
									$('#cbw-step_3_button_delete').remove();
								}
								$('#cbw-step_3_button_next_publish').hide();
								$('#cbw-step_3_button_next_publish_not').show();
							} else {
								$('#cbw-information').show();
								$('#cbw-agreement').show();
								$('#cbw-chequebook_waiting_already').hide();
								$('#cbw-chequebook_authorized_already').hide();
								$('#cbw-step_3_button_next_publish_not').hide();
								$('#cbw-step_3_button_next_publish').show();
								$('#cbw-step_3_button_delete').remove();
							}
							
							$('#cbw_content_step_3').show();
									
							// create pages and paginator
							var jEntries = $('#cbw_content_step_3 .cbd-entry');
							var iEntries = jEntries.length;
							var iPages = Math.ceil(iEntries / oSiteControl.iRCDDonationEntriesPerPage);
							var aPages = [];
							for (var i=0; i<iPages; i++) {
								var jPage = $('<div class="cbd-entry_page" />');
								$('#cbw_content_step_3 .cbd-middle_body').append(jPage);
								aPages.push(jPage);
							}
							for (var i=0; i<jEntries.length; i++) {
								aPages[Math.floor(i / oSiteControl.iRCDDonationEntriesPerPage)].append(jEntries.eq(i));
							}
							oSiteControl.createPaginator($('#cbw_content_step_3 .cbd-middle_paginator'), aPages);
							
							// put background image
							oBgControl.swap(oChequebook.sBackground);
							
							// render action buttons and unbind and other changes
							var jButtons = $();
							jButtons = jButtons.add(oSiteControl.appendFacebookButton($('.cbd-standard_buttons')));
							jButtons = jButtons.add(oSiteControl.appendPrintButton($('.cbd-standard_buttons')));
							jButtons = jButtons.add(oSiteControl.appendMailButton($('.cbd-standard_buttons')));
							jButtons.css({'margin-bottom': '5px', 'cursor': 'auto'}).unbind().addClass('inactive_button');
							
							// hide button back to step 1
							$('#cbw-step_2_button_back').hide();
							
							$(window).resize();
							
						} else {
							if(o.mData.sError === 'fields missing') {
								if (o.mData.aErrors.bThankYou) {
									$('#cbw-thank_you_input').css('outline', '2px solid #B5342F');
								}
								if (o.mData.aErrors.bInvitation) {
									$('#cbw-invitation_input').css('outline', '2px solid #B5342F');
								}
								if (o.mData.aErrors.bLogo) {
									$('.cbw-logo_img').css('border', '2px solid #B5342F');
								}
								if (o.mData.aErrors.bBackground) {
									$('.cbw-bg_img').css('border', '2px solid #B5342F');
								}
							}
						}
					}
					, 'json'
				);
				
				$(window).resize();
				
			}
		});
		
		// step 3 delete button handler
		$('#cbw-step_3_button_delete').click(function(){
			if (confirm(oMfmStorage._('scheckbuch_löschen_bestätigen'))) {
				// determin id
				var iId = oSiteControl.oChequebookData.iId;
				$.ajax({
					url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxRequestDelete"
					,type:		'get'
					,dataType:	'json'
					,data: {
						iId: iId
					}
					,success:	function(o) {
						if (o.mData.bSuccess === true) {
							$('#cbw-chequebook_delete_requested').show();
						}
					}
				});
			}
		});
		
		// step 3 back button handler
		$('#cbw-step_3_button_back').click(function(){
			$('#cbw_content_step_3').hide();
			$('#cbw_content_step_2').show();
		});
		
		// step 4 maker
		var initializeStep4 = function () {
			
			$('#cbw_content_step_4').html(oSiteControl.sCBWStep4Template);
			
			// render infinite buttons
			oSiteControl.renderInfiniteButtons($('body'), function(jNewInput){
				// set focus and blur handler
				jNewInput.focus(function() {
					var me = $(this);
					if (me.val() == me.attr('name')) {
						me.val('');
					}
				});
				// set blur handler
				jNewInput.blur(function() {
					var me = $(this);
					me.val($.trim(me.val()));
					if (me.val() == '') {
						me.val(me.attr('name'));
					}
				});
				jNewInput.blur();
			});
			
			// step 4 back button handler
			$('#cbw-step_4_button_back').click(function(){
				$('#cbw_content_step_4').hide();
				$('#cbw_content_step_3').show();
			});
			
			// step 4 next button handler
			$('#cbw-step_4_button_next').click(function(){
				oNavControl.navTo($(this).find('.target_url').attr('href'));
			});
			
			// step 4 "einladen" button handler
			$('#cbw-step_4_invite_button').click(function(){
				var aAddresses = [];
				$('.cbw-step4_invite_input_field').each(function(){
					var me = $(this);
					if (me.val() != '' && me.val() != me.attr('name')) {
						aAddresses.push($(this).val());
					}
				});
				$.ajax({
					url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxSendInvitations"
					,type:		'get'
					,dataType:	'json'
					,data: {
						 aAddresses		: aAddresses
						,iChequebookId	: oSiteControl.oChequebookData.iId
						,sLanguage		: sLanguage
						,sPortal		: sPortal
					}
					,success:	function(o) {
						if (o.mData.bSuccess) {
							$('#cbw-step_4_invite_button').hide();
							$('.cbw-step4_before_invited').hide();
							$('.cbw-step4_after_invited').show();
						}
					}
				});
			});
			
			// step 4 parse name
			var sName = 'error';
			if (oSiteControl.oUserData != null) {
				sName = oSiteControl.oUserData.sFirstname + ' ' + oSiteControl.oUserData.sLastname;
			} else {
				sName = $('#cbw_firstname').val() + ' ' + $('#cbw_name').val();
			}
			var sTemplate = $('.cbw-step4_thank_you').html();
			sTemplate = cTemplate.parse(sTemplate.replace('%7B%7B', '{{').replace('%7D%7D', '}}'), {sName: sName});
			$('.cbw-step4_thank_you').html(sTemplate);
			
		}
		
		// step 3 next button publish not handler
		$('#cbw-step_3_button_next_publish_not').click(function(){
			$('#cbw_content_step_3').hide();
			initializeStep4();
			$('.cbw-step4_created').remove();
			$('.cbw-step4_thank_you').remove();
			$('#cbw_content_step_4').show();
		});
		
		// step 3 next button publish handler
		$('#cbw-step_3_button_next_publish').click(function(){
			$('#cbw_content_step_3 #checkbox_authorized_error_message').hide();
			if ($('#cbw_content_step_3 #checkbox_authorized').is(':checked')) {
				
				// get data from the mfm Storage
				var sPortal 	= oMfmStorage.oLanguage.sActivePortal;
				var oPortal 	= oMfmStorage.oLanguage[sPortal];
				var sLanguage	= oPortal.aLanguages[oMfmStorage.oLanguage.iActiveLanguage].sSymbol;
				
				// request publish
				$.ajax({
					url:		oNavControl.sBaseUrl + "?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxUserPublish"
					,type:		'get'
					,data:		{
						 iChequebookId	: oSiteControl.oChequebookData.iId
						,sLanguage		: sLanguage
						,sPortal		: sPortal
					}
					,dataType:	'json'
					,success:	function (o) {
						if (o.bError === false && o.mData.bSuccess === true) {
							$('#cbw_content_step_3').hide();
							initializeStep4();
							$('#cbw-step_4_button_back').remove();							
							$('#cbw_content_step_4').show();
						} else {
							alert('Sie können dieses Scheckbuch nicht veröffentlichen. (ERRORCODE: RCW01)');
						}
					}
					,error:		function (o) {
						alert('Es konnte keine Verbindung zum Server hergestellt werden. Bitte versuchen sie es erneut. (ERRORCODE: RCW02)');
					}
				});
				
				// hide button back to step 1
				$('#cbw-step_2_button_back').hide();
			} else {
				$('#cbw_content_step_3 #checkbox_authorized_error_message').show();
			}
		});
		
		// if logged in, set user data
		if (oSiteControl.bCBWLoggedIn) {
			// set user values
			$('#cbw_firm').val(oSiteControl.oUserData.sFirm);
			$('#cbw_salutation').val(oSiteControl.oUserData.iSalutation);
			$('#cbw_title').val(oSiteControl.oUserData.iTitle);
			$('#cbw_firstname').val(oSiteControl.oUserData.sFirstname);
			$('#cbw_name').val(oSiteControl.oUserData.sLastname);
			$('#cbw_email').val(oSiteControl.oUserData.sEmail);
			$('#cbw_email_validation').val(oSiteControl.oUserData.sEmail);
			$('#cbw_privacy_terms').attr('checked', 'checked');
			$('#btn_com_back').hide();
			$('#cbw-step_2_button_back').hide();
			$('#btn_cbw_next').click();
		}
		
		// possibly hide ssl change overlay
		oNavControl.hideSslChange();
		
	}
	
	
	
	
	,renderInfiniteButtons: function (jInDiv, doAtNewInput) {
		if (jInDiv === undefined) {
			jInDiv = $('body');
		}
		if (doAtNewInput === undefined) {
			doAtNewInput = function(){};
		}
		jInDiv.find('.javascript_infinite_inputs').each(function(){
			var me = $(this);
			var jInputTemplate = me.clone();
			jInputTemplate.children().each(function(){
				if (!$(this).is('.javascript_infinite_inputs_input')) {
					$(this).remove();
				}
			});
			var sInputTemplate = jInputTemplate.html();
			var jButton = me.find('.javascript_infinite_inputs_more_button');
			var jInput = me.find('.javascript_infinite_inputs_input');
			jButton.data('sInputTemplate', sInputTemplate);
			jButton.data('jLastInput', jInput);
			doAtNewInput(jInput);
			jButton.click(function(){
				var jButton = $(this);
				jNewInput = $(jButton.data('sInputTemplate'));
				jButton.data('jLastInput').after(jNewInput);
				jButton.data('jLastInput', jNewInput);
				doAtNewInput(jNewInput);
			});
		});
	}
	
	
	
	
	,checkRegisterValuesChequebook: function(callback) {
		
		var aCheckFields = [
			'cbw_firm', 'cbw_firstname', 'cbw_name'
			, 'cbw_email', 'cbw_email_validation'
		];

		// check registration values
		var bError = false;
		var sFirstError = null;
		var i;
		// check all neccessary values
		for (i in aCheckFields) {
			// reset error flag
			$('#'+aCheckFields[i]).css('outline', 'none');
			// check value
			var sValue = $.trim($('#'+aCheckFields[i]).val());
			if (
				sValue.length == 0
				|| (
					$.inArray(aCheckFields[i], oSiteControl.aDefaultFieldsChequebook) != -1
					&& sValue == oSiteControl.oDefaultValuesChequebook[aCheckFields[i]]
				)
			) {
				// show error
				bError = true;
				$('#'+aCheckFields[i]).css('outline', '2px solid #B5342F');
				if (sFirstError === null) {
					sFirstError = aCheckFields[i];
				}
			}
		}
		
		// check if emails are equal
		if ($('#cbw_email').val() != $('#cbw_email_validation').val()) {
			bError = true;
			$('#cbw_email, #cbw_email_validation').css('outline', '2px solid #B5342F');
			if (sFirstError === null) {
				sFirstError = 'cbw_email';
			}
		}
		
		// check if 'terms checkbox' is checked
		$('#cbw_privacy_terms').css('outline', 'none');
		if ($('#cbw_privacy_terms:checked').length == 0) {
			bError = true;
			$('#cbw_privacy_terms').css('outline', '2px solid #B5342F');
			if (sFirstError === null) {
				sFirstError = 'cbw_email';
			}
		}
		
		$('#error_email_occupied').addClass('noscript');
		$('#error_register_fields').addClass('noscript');
		
		if (bError) {
			// show error msg
			$('#error_register_fields').removeClass('noscript');
			$('#'+sFirstError).focus();
		}
		
		if (bError) {
			callback(! bError);
		} else {
			$.get(
				oNavControl.sBaseUrl + '?eID=json&action=totoyaRequest&sClass=cChequebookWizzard&sFunction=ajaxCheckIfCanUseThatEmail'
				,{
					sEmail: $('#cbw_email').val()
				}
				,function(o) {
					if (o.mData.bSuccess === true) {
						callback(true);
					} else {
						$('#error_email_occupied').removeClass('noscript');
						callback(false);
					}
				}
				,'json'
			);
		}
		
	}
	
	
	
	
	,checkChequebookValues: function () {
		var aMustNotBeEmpty = [$('#cbw-invitation_input'), $('#cbw-thank_you_input')];
		var bError = false;
		for (var i=0; i<aMustNotBeEmpty.length; i++) {
			jMNBE = aMustNotBeEmpty[i];
			jMNBE.css('outline', 'none');
			if (jMNBE.val() == '') {
				jMNBE.css('outline', '2px solid #B5342F');
				bError = true;
			}
		}
		return ! bError;
	}




	,createPaginator: function(jPutInto, aPageDivs){
		
		/// if pagedivs empty, make empty page (so that one bullet appears)
		if (aPageDivs.length === 0) {
			var jEmptyPage = $('<div />');
			$('.body').append(jEmptyPage);
			aPageDivs.push(jEmptyPage);
		}
		
		/// create paginator
		var jPaginator = $('<div class="general_paginator"></div>');
		jPutInto.append(jPaginator);
		jPaginator.data('aPageDivs',aPageDivs);
		jPaginator.data('iAtPage',0);
		jPaginator.data('functions',{
			 'jPaginator': jPaginator
			,'goto': function(iPageNr){
				var jPaginator = this.jPaginator;
				var aPageDivs = jPaginator.data('aPageDivs');
				for(var j=0;j<aPageDivs.length;j++){
					if(j == iPageNr){
						aPageDivs[j].show();
						aPageDivs[j].data('jGeneralPaginatorBullet').removeClass('general_paginator_bullet_empty');
						aPageDivs[j].data('jGeneralPaginatorBullet').addClass('general_paginator_bullet_full');
					}else{
						aPageDivs[j].hide();
						aPageDivs[j].data('jGeneralPaginatorBullet').removeClass('general_paginator_bullet_full');
						aPageDivs[j].data('jGeneralPaginatorBullet').addClass('general_paginator_bullet_empty');
					}
				}
				jPaginator.data('iAtPage',iPageNr);
			}
			, 'recalcBulletsMargin': function(){
				var jPaginator = this.jPaginator;
				var aPageDivs = jPaginator.data('aPageDivs');
				var jBulletList = jPaginator.find('.general_paginator_bullets');
				var fMargin = (jPaginator.outerWidth(true) - aPageDivs.length * 15) / 2;
				jBulletList.css({'margin': '0 '+fMargin+'px'});
			}
		});
		
		/// create bullets
		var jBulletList = $('<div class="general_paginator_bullets"></div>');
		jPaginator.append(jBulletList);
		jBulletList.data('aPageDivs',aPageDivs);
		for(var i=0;i<aPageDivs.length;i++){
			var jBullet = $('<div class="general_paginator_bullet"></div>');
			jBulletList.append(jBullet);
			jBullet.data('jPageDiv',aPageDivs[i]);
			jBullet.data('iPageNr',i);
			aPageDivs[i].data('jGeneralPaginatorBullet', jBullet);
			jBullet.click(function(){
				var me = $(this);
				me.closest('.general_paginator').data('functions').goto(me.data('iPageNr'));
			});
		}
		
		/// bullets margin
		jPaginator.data('functions').recalcBulletsMargin();
		
		/// arrows
		var jPrevArrow = $('<div class="general_paginator_prev_arrow"></div>');
		jPaginator.append(jPrevArrow);
		var jNextArrow = $('<div class="general_paginator_next_arrow"></div>');
		jPaginator.append(jNextArrow);
		jPrevArrow.click(function(){
			var jPaginator = $(this).closest('.general_paginator');
			var iPages = jPaginator.data('aPageDivs').length;
			var iGotoPage = (jPaginator.data('iAtPage') - 1);
			if(iGotoPage < 0){
				return;
			}
			jPaginator.data('functions').goto(iGotoPage);
		});
		jNextArrow.click(function(){
			var jPaginator = $(this).closest('.general_paginator');
			var iPages = jPaginator.data('aPageDivs').length;
			var iGotoPage = (jPaginator.data('iAtPage') + 1);
			if(iGotoPage >= iPages){
				return;
			}
			jPaginator.data('functions').goto(iGotoPage);
		});
		jPaginator.data('functions').goto(0);
		return jPaginator;
	}

}



















