//Merkliste: Variablen
var favorites = {
	pagination: {
		itemsPerPage: 5,
		pageCount: 0,
		page: 0
	}
};

//string abschneiden
function truncate(str, len)
{
	if (str.length <= len) return str;
	else
	{
		return str.substring(0,len-3)+'...';
	}
}

//übergebene seite anspringen
function favGoTo(page)
{
	favorites.pagination.page = page;
	updateFavoritesArea();
}

//nächste seite der merkliste anzeigen
function favNavigateNext()
{
	favorites.pagination.page = Math.min(favorites.pagination.page+1, favorites.pagination.pageCount-1);
	updateFavoritesArea();
}

//vorige seite der merkliste anzeigen
function favNavigatePrevious()
{
	favorites.pagination.page = Math.max(favorites.pagination.page-1, 0);
	updateFavoritesArea();
}

//Updated die Favorite DIV
function updateFavoritesArea(neu)
{
	favList = $('favoList');
	favNav = $('favPagination');

	//bereich löschen
	favList.empty();
	favNav.empty();

	favorites.pagination.page = Math.max(0,Math.min(favorites.pagination.page, favorites.pagination.pageCount-1));

	if (favorites.pagination.pageCount > 1 && favorites.pagination.pageCount < 6)
	{
		listItems = new Array();

		//prev
		listItems.push(new Element('li', {'class':'first'}).setHTML('<a href="javascript:void(0);" onclick="favNavigatePrevious();" title="Vorherige Seite" id="favNavPrev">&laquo; <span>vorherige Seite</span></a>'));
		
		//numbers
		for (i=0;i<favorites.pagination.pageCount;i++)
		{
			if (i==favorites.pagination.page)
			{
				listItems.push(new Element('li', {
					'class': 'active',
					'id': 'favNavCurrent'
				}).setHTML('<a><span>Seite </span>'+(i+1)+'</a>'));
			}
			else
			{
				listItems.push(new Element('li').setHTML('<a href="javascript:void(0);" onclick="favGoTo('+i+');" ><span>Seite </span>'+(i+1)+'</a>'));
			}
		}

		//next
		listItems.push(new Element('li', {'class':'last'}).setHTML('<a href="javascript:void(0);" onclick="favNavigateNext();" title="Nächste Seite" id="favNavNext">&raquo; <span>n&auml;chste Seite</span></a>'));

		favNav.adopt(listItems);
	}
	else if (favorites.pagination.pageCount > 5)
	{
		listItems = new Array();

		//prev
		listItems.push(new Element('li', {'class':'first'}).setHTML('<a href="javascript:void(0);" onclick="favNavigatePrevious();" title="Vorherige Seite" id="favNavPrev">&laquo; <span>vorherige Seite</span></a>'));

		//first
		if (favorites.pagination.page == 0)
		{
			listItems.push(new Element('li', {
				'class': 'active',
				'id': 'favNavCurrent'
			}).setHTML('<a><span>Seite </span>1</a>'));
		}
		else
		{
			listItems.push(new Element('li').setHTML('<a href="javascript:void(0);" onclick="favGoTo(0);" ><span>Seite </span>1</a>'));
		}

		//page is first or second
		if (favorites.pagination.page < 3)
		{
			for (i=1;i<3;i++)
			{
				if (i==favorites.pagination.page)
				{
					listItems.push(new Element('li', {
						'class': 'active',
						'id': 'favNavCurrent'
					}).setHTML('<a><span>Seite </span>'+(i+1)+'</a>'));
				}
				else
				{
					listItems.push(new Element('li').setHTML('<a href="javascript:void(0);" onclick="favGoTo('+i+');" ><span>Seite </span>'+(i+1)+'</a>'));
				}
			}
			listItems.push(new Element('li').setHTML('...'));
		}
		//page is last or second last
		else if (favorites.pagination.page > favorites.pagination.pageCount-4)
		{
			listItems.push(new Element('li').setHTML('...'));
			for (i=favorites.pagination.pageCount-3;i<favorites.pagination.pageCount-1;i++)
			{
				if (i==favorites.pagination.page)
				{
					listItems.push(new Element('li', {
						'class': 'active',
						'id': 'favNavCurrent'
					}).setHTML('<a><span>Seite </span>'+(i+1)+'</a>'));
				}
				else
				{
					listItems.push(new Element('li').setHTML('<a href="javascript:void(0);" onclick="favGoTo('+i+');" ><span>Seite </span>'+(i+1)+'</a>'));
				}
			}
		}
		else
		{
			listItems.push(new Element('li').setHTML('...'));
			listItems.push(new Element('li', {
				'class': 'active',
				'id': 'favNavCurrent'
			}).setHTML('<a><span>Seite </span>'+(favorites.pagination.page+1)+'</a>'));
			listItems.push(new Element('li').setHTML('...'));
		}

		//last
		if (favorites.pagination.page == favorites.pagination.pageCount-1)
		{
			listItems.push(new Element('li', {
				'class': 'active',
				'id': 'favNavCurrent'
			}).setHTML('<a><span>Seite </span>'+(favorites.pagination.pageCount)+'</a>'));
		}
		else
		{
			listItems.push(new Element('li').setHTML('<a href="javascript:void(0);" onclick="favGoTo('+(favorites.pagination.pageCount-1)+');" ><span>Seite </span>'+(favorites.pagination.pageCount)+'</a>'));
		}

		//next
		listItems.push(new Element('li', {'class':'last'}).setHTML('<a href="javascript:void(0);" onclick="favNavigateNext();" title="Nächste Seite" id="favNavNext">&raquo; <span>n&auml;chste Seite</span></a>'));

		favNav.adopt(listItems);
	}

	if (favorites.providers.length > 0)
	{
		$('scrollUp').setStyle('visibility', 'visible');
		$('module_favs').setStyle('visibility', 'visible');
		firstIndex = favorites.pagination.page*favorites.pagination.itemsPerPage;
		lastIndex = firstIndex+favorites.pagination.itemsPerPage;

		for (i=firstIndex;i<lastIndex;i++)
		{
			if (i < favorites.providers.length)
			{
				if (neu == 1 && i == firstIndex) {
					li = new Element('li', {'id':'fxTarget'}).setHTML('<img onclick="removeFavorite(' + favorites.providers[i].id + ')" class="destroyer" src="/img/button_close.gif"/><a href ="/providers/show/' + favorites.providers[i].id + '"><img onerror="this.src=\'/img/no_image/no_image_s_3.jpg\'" src="/content/providers/' + favorites.providers[i].id + '/s/' + favorites.providers[i].img + '" /><strong>' + favorites.providers[i].name + '</strong><br/>' + favorites.providers[i].text + '<br/>' + favorites.providers[i].category + '</a>');
				}
				else {
					li = new Element('li').setHTML('<img onclick="removeFavorite(' + favorites.providers[i].id + ')" class="destroyer" src="/img/button_close.gif"/><a name="new" href ="/providers/show/' + favorites.providers[i].id + '"><img onerror="this.src=\'/img/no_image/no_image_s_3.jpg\'" src="/content/providers/' + favorites.providers[i].id + '/s/' + favorites.providers[i].img + '" /><strong>' + favorites.providers[i].name + '</strong><br/>' + favorites.providers[i].text + '<br/>' + favorites.providers[i].category + '</a>');
				}
			}
			else if (favorites.pagination.pageCount > 1)
			{
				li = new Element('li').appendText(' ');
			}
			li.injectInside(favList);
			// check if new favourite
			if (neu == 1) {
				neuesModel = new Fx.Style('fxTarget', 'background-color', {
					duration: 500,
					transition: Fx.Transitions.Quart.easeInOut
				});
				// fade in and out
				neuesModel.start.pass(['#e74c4c', '#e6ecf4'], neuesModel).delay(1000);
				neuesModel.start.pass(['#e74c4c', '#e6ecf4'], neuesModel).delay(2000);
				/* scroll to new Favourite */
				var winScroller = new Fx.Scroll(window);
				winScroller.toElement('fxTarget');
			}
		}
	}
	else
	{
		$('scrollUp').setStyle('visibility', 'hidden');
		$('module_favs').setStyle('visibility', 'hidden');
	}
}

//Lädt die gespeicherte Merkliste aus dem cookie
function loadFavorites()
{
	//cookie laden
	favs = new Hash.Cookie("k24favs", {duration: 3600, autoSave:true, domain: document.location.host, path: '/'});
	favs.load();

	favorites.providers = favs.get('providers');
	if (favorites.providers != null)
	{
		favorites.pagination.pageCount = Math.ceil(favorites.providers.length/favorites.pagination.itemsPerPage);
	}
	else
	{
		favorites.pagination.pageCount = favorites.pagination.page = 0;
		favorites.providers = new Array();
	}

	updateFavoritesArea();
}

//Fügt einen Provider der Merkliste hinzu
function addFavorite(id, name, text, category, img)
{
	favs = new Hash.Cookie("k24favs", {duration: 3600, autoSave:true, domain: document.location.host, path: '/'});
	favs.load();
	favorites.pagination.page = 0;

	favorites.providers = favs.get('providers');
	if (favorites.providers == null) favorites.providers = new Array();

	removeFavorite(id);
	prov = {'id':id, 'name':truncate(name,14), 'text':truncate(text,30), 'category':category, 'img':img};
	favorites.providers.unshift(prov);
	favorites.pagination.pageCount = Math.ceil(favorites.providers.length/favorites.pagination.itemsPerPage);
	favs.set('providers', favorites.providers);
	updateFavoritesArea(neu = 1);
}

//löscht einen Provider aus der Merkliste
function removeFavorite(id)
{
	for (i=0;i<favorites.providers.length;i++)
	{
		if (favorites.providers[i].id == id)
		{
			favorites.providers.splice(i,1);
			break;
		}
	}
	favorites.pagination.pageCount = Math.ceil(favorites.providers.length/favorites.pagination.itemsPerPage);
	favs = new Hash.Cookie("k24favs", {duration: 3600, autoSave:true, domain: document.location.host, path: '/'});
	favs.set('providers', favorites.providers);
	updateFavoritesArea();
}


wmtt = null;
wmttSwitchDirection = false;

function updateWMTT(e, direction)
{
	x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
	y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
	if (wmtt != null)
	{
		if(!wmttSwitchDirection)
			adder = -302;
		else
			adder = 0;
		wmtt.style.left = (x + adder) + "px";
		wmtt.style.top 	= (y) + "px";
	}
}

function showWMTT(id)
{
	wmtt = $(id);
	wmtt.style.display = "block"
}

function hideWMTT()
{
	wmttSwitchDirection = false;
	wmtt.style.display = "none";
	wmtt = null;
}

function showWMTTSD(id)
{
	wmttSwitchDirection = true;
	wmtt = $(id);
	wmtt.style.display = "block"
}

//Ajax-Login, Passwort vergessen
window.addEvent('domready', function()
{
	//IE6 (PNG Hack)
	if (window.ie6 == true) {
		ie6 = new IE6();
		ie6.fixPngBackgrounds('png24b');
	}

	//Login-Button Event
	if($('login_btn')) {
		$('login_btn').addEvent('click', function(e) {
			e = new Event(e);
			
			if($('LoginEmail').hasClass('form_error')) {
				$('LoginEmail').toggleClass('form_error');
				$('LoginPassword').toggleClass('form_error');
			}
			//Ajax-Login vor dem eigentlichen Login
			var myXHR = new XHR(
				{	method:'post',
					encoding:'utf-8'
				});
			myXHR.addEvent('onSuccess', function(req)
			{
				if (req && req.match(/^1.*/))
				{
					$('loginForm').submit();
				}
				else
				{
					$('LoginEmail').toggleClass('form_error');
					$('LoginPassword').toggleClass('form_error');
				}
			});
			myXHR.send('/users/doPreLogin/', $('loginForm').toQueryString());

			e.stop();
		});
	}

	//Passwort vergessen - Button Event
	if($('forgotPw_btn')) {
		$('forgotPw_btn').addEvent('click', function(e) {
			e = new Event(e);

			//Sende-Daten Nachricht anzeigen
			if($('LoginForgotPwd').hasClass('form_error')) {
				$('LoginForgotPwd').toggleClass('form_error');

			}
			var forgotXHR = new XHR(
				{	method:'post',
					encoding:'utf-8'
				});
			forgotXHR.addEvent('onSuccess', function(req)
			{
				if (req && req.match(/^1.*/))
				{

					toggleForgotPw();
				}
				else
				{
					$('LoginForgotPwd').toggleClass('form_error');
				}
			});
			forgotXHR.send('/users/newPassword/', $('loginForm').toQueryString());

			e.stop();
		});
	}

	//Merkliste aud cookie laden
	if ($('favoList')) loadFavorites();
});

function whereLogin() {
bounceFx = new Fx.Style('login','left',{
	duration:1000,
	transition: Fx.Transitions.Bounce.easeOut
	}).start(-130,0);
}

function toggleLogin()
{
	if($('login').getStyle('left') == "0px") {
		new Fx.Style('login','left',{duration:500}).start(0,-160);
		new Fx.Style('LoginInnerShadow','left',{duration:500}).start(0,160);
	}else {
		new Fx.Style('LoginInnerShadow','left',{duration:500}).start(160, 0);
		new Fx.Style('login','left',{duration:500}).start(-160,0);
	}
	return false;
}

function toggleForgotPw()
{
	loginStyle = $('login').className;

	if(loginStyle.indexOf('forgotPw') != -1) {
		// ausblenden
		$('login_btn').setStyle('display', 'block');
		$('forgotPw_btn').setStyle('display', 'none');
		$('forgotPw').setStyle('display', 'none');
		$('loginForm').setStyle('height', '116px');
		$('LoginInnerShadow').setStyle('height', '103px');
		$('login').removeClass('forgotPw');
		$('login').addClass('login');

	} else if(loginStyle.indexOf('login') != -1) {
		// einblenden
		$('login_btn').setStyle('display', 'none');
		$('forgotPw_btn').setStyle('display', 'block');
		$('forgotPw').setStyle('display', 'block');
		$('loginForm').setStyle('height', '181px');
		$('LoginInnerShadow').setStyle('height', '170px');
		$('login').addClass('forgotPw');
		$('login').removeClass('login');
	}
	
	return false;
}

function scrollup()
{
	var winScroller = new Fx.Scroll(window);
	winScroller.toTop();
}

// Searchbar validation
var fieldTranslations = new Array();
fieldTranslations['data[Searchbar][searchtype]'] 							= 'suchtyp';
fieldTranslations['data[Searchbar][category]'] 								= 'kategorie';
fieldTranslations['data[Searchbar][zip]'] 									= 'plzbereich';
fieldTranslations['data[Searchbar][visiting]'] 								= 'haus-hotel';
fieldTranslations['data[Searchbar][ustreet]'] 								= 'umkreis-strasse';
fieldTranslations['data[Searchbar][uzip]'] 									= 'umkreis-plz';
fieldTranslations['data[Searchbar][ucity]'] 								= 'umkreis-stadt';
fieldTranslations['data[Searchbar][uumkreis]'] 								= 'umkreis';
fieldTranslations['data[Searchbar][name]'] 									= 'name';
fieldTranslations['data[Searchbar][city]'] 									= 'stadt';
fieldTranslations['data[Searchbar][plz]'] 									= 'plz';
fieldTranslations['data[Searchbar][age_from]'] 								= 'mindestalter';
fieldTranslations['data[Searchbar][age_until]']								= 'hoechstalter';
fieldTranslations['data[Searchbar][size_from]'] 							= 'mindestgroesse';
fieldTranslations['data[Searchbar][size_until]'] 							= 'hoechstgroesse';
fieldTranslations['data[Searchbar][ethnic_group][Europäisch]']				= 'europaeisch';
fieldTranslations['data[Searchbar][ethnic_group][Asiatisch]'] 				= 'asiatisch';
fieldTranslations['data[Searchbar][ethnic_group][Afroamerikanisch]'] 		= 'afroamerikanisch';
fieldTranslations['data[Searchbar][ethnic_group][Lateinamerikanisch]'] 		= 'lateinamerikanisch';
fieldTranslations['data[Searchbar][ethnic_group][Südländisch]'] 			= 'suedlaendisch';
fieldTranslations['data[Searchbar][ethnic_group][Osteuropäisch]'] 			= 'osteuropaeisch';
fieldTranslations['data[Searchbar][ethnic_group][Sonstiges]'] 				= 'sonstiges';
fieldTranslations['data[Searchbar][shape][Sehr schlank]'] 					= 'sehr-schlank';
fieldTranslations['data[Searchbar][shape][Normal]'] 						= 'normal';
fieldTranslations['data[Searchbar][shape][Vollschlank]'] 					= 'vollschlank';
fieldTranslations['data[Searchbar][chest_size][Klein]'] 					= 'klein';
fieldTranslations['data[Searchbar][chest_size][Mittel]'] 					= 'mittel';
fieldTranslations['data[Searchbar][chest_size][Groß]'] 						= 'gross';
fieldTranslations['data[Searchbar][haircolor][Schwarz]'] 					= 'schwarz';
fieldTranslations['data[Searchbar][haircolor][Braun]'] 						= 'braun';
fieldTranslations['data[Searchbar][haircolor][Rot]'] 						= 'rot';
fieldTranslations['data[Searchbar][haircolor][Blond]']						= 'blond';
fieldTranslations['data[Searchbar][haircolor][Hellblond]'] 					= 'hellblond';
fieldTranslations['data[Searchbar][haircolor][Andere]'] 					= 'andere';
fieldTranslations['data[Searchbar][shave][Rasiert]']						= 'rasiert';
fieldTranslations['data[Searchbar][shave][Teilrasiert]'] 					= 'teilrasiert';
fieldTranslations['data[Searchbar][shave][Nicht rasiert]']					= 'nicht-rasiert';
fieldTranslations['data[Searchbar][services][69]'] 							= '69';
fieldTranslations['data[Searchbar][services][anal]'] 						= 'anal';
fieldTranslations['data[Searchbar][services][dildo]'] 						= 'dildo';
fieldTranslations['data[Searchbar][services][dreier]'] 						= 'dreier';
fieldTranslations['data[Searchbar][services][facesitting]'] 				= 'facesitting';
fieldTranslations['data[Searchbar][services][fisting]'] 					= 'fisting';
fieldTranslations['data[Searchbar][services][frz_o_kondom]'] 				= 'franzoesisch-ohne-kondom';
fieldTranslations['data[Searchbar][services][frz_swallow]'] 				= 'franzoesisch-schlucken';
fieldTranslations['data[Searchbar][services][frz]'] 						= 'franzoesisch';
fieldTranslations['data[Searchbar][services][fusserotik]'] 					= 'fusserotik';
fieldTranslations['data[Searchbar][services][sex]'] 						= 'geschlechtsverkehr';
fieldTranslations['data[Searchbar][services][besamung]'] 					= 'gesichtsbesamung';
fieldTranslations['data[Searchbar][services][girlfriend]'] 					= 'girlfriend';
fieldTranslations['data[Searchbar][services][kliniksex]'] 					= 'kliniksex';
fieldTranslations['data[Searchbar][services][kbesamung]'] 					= 'koerperbesamung';
fieldTranslations['data[Searchbar][services][kissing]'] 					= 'kuessen';
fieldTranslations['data[Searchbar][services][natursekt]'] 					= 'natursekt';
fieldTranslations['data[Searchbar][services][rollenspiele]'] 				= 'rollenspiele';
fieldTranslations['data[Searchbar][services][sm]'] 							= 'sm';
fieldTranslations['data[Searchbar][services][spanish]'] 					= 'spanisch';
fieldTranslations['data[Searchbar][services][whirlpool]'] 					= 'whirlpool';
fieldTranslations['data[Searchbar][language][de]'] 							= 'deutsch';
fieldTranslations['data[Searchbar][language][eng]'] 						= 'englisch';
fieldTranslations['data[Searchbar][language][frz]'] 						= 'franzoesisch';
fieldTranslations['data[Searchbar][language][it]'] 							= 'italienisch';
fieldTranslations['data[Searchbar][language][esp]'] 						= 'spanisch';
fieldTranslations['data[Searchbar][language][rus]'] 						= 'russisch';
fieldTranslations['data[Searchbar][language][pol]'] 						= 'polnisch';
fieldTranslations['data[Searchbar][language][tuerk]'] 						= 'tuerkisch';
fieldTranslations['data[Searchbar][language][sons]'] 						= 'sonstige';

function validateSearchbar(formular)
{
	if (!checkSelectOpen()) return false;

	var languages = new Array();
	var services = new Array();
	var shaves = new Array();
	var haircolors = new Array();
	var chest_sizes = new Array();
	var shapes = new Array();
	var ethnic = new Array();

	// Wenn suchtyp == Umkreis
	var searchtype = $('searchtype').value;
	if(searchtype == 'umkreis')
		formular.action += 'ansicht:karte/';
	else
		formular.action += 'ansicht:galerie/';

	formular.action += 'seite:1/suchtyp:'+searchtype+'/';

	if (searchtype == 'schnell' || searchtype == 'detail') {
		var sbc = $('SearchbarCategory');
		var sbz = $('SearchbarZip');
		if (sbc && sbc.value != '') formular.action += 'kategorie:'+sbc.value+'/';
		if (sbz && sbz.value != '') formular.action += 'plzbereich:'+sbz.value+'/';
	}

	for(var i=0; i<formular.elements.length; i++) {
		var el = formular.elements[i];
		if (el.tagName == 'INPUT' && el.type == 'text' ||
		    el.tagName == 'INPUT' && el.type == 'checkbox' ||
		    el.tagName == 'SELECT') {
			if (formular.elements[i].type == 'checkbox') {
				if (el.checked) {
					if (el.name.substr(0, 25) == 'data[Searchbar][language]') languages.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 25) == 'data[Searchbar][services]') services.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 22) == 'data[Searchbar][shave]') shaves.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 26) == 'data[Searchbar][haircolor]') haircolors.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 27) == 'data[Searchbar][chest_size]') chest_sizes.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 22) == 'data[Searchbar][shape]') shapes.push(fieldTranslations[el.name]);
					else if (el.name.substr(0, 29) == 'data[Searchbar][ethnic_group]') ethnic.push(fieldTranslations[el.name]);
				}
			}
			else if (searchtype == 'detail') {
				if ((el.name == 'data[Searchbar][city]' ||
				    el.name == 'data[Searchbar][plz]' ||
				    el.name == 'data[Searchbar][age_from]' ||
				    el.name == 'data[Searchbar][age_until]' ||
				    el.name == 'data[Searchbar][size_from]' ||
				    el.name == 'data[Searchbar][size_until]' ||
				    el.name == 'data[Searchbar][visiting]') && el.value != '') {

				    if ((el.name == 'data[Searchbar][visiting]') && el.value != '') {
						if (el.value == 'Empfängt')
						{
							wert = 'Empfaengt';
						}else{
							wert = el.value;
						}
				    	formular.action += fieldTranslations[el.name] + ':' + wert + '/';
					}else{
				    	formular.action += fieldTranslations[el.name] + ':' + el.value + '/';
				    }
				}
			}
			else if (searchtype == 'name') {
				if (el.name == 'data[Searchbar][name]' && el.value != '') {
				    formular.action += fieldTranslations[el.name] + ':' + el.value + '/';
				}
			}
			else if (searchtype == 'umkreis') {
				if ((el.name == 'data[Searchbar][ustreet]' ||
				    el.name == 'data[Searchbar][uzip]' ||
				    el.name == 'data[Searchbar][uumkreis]' ||
				    el.name == 'data[Searchbar][ucity]') && el.value != '') {
				    formular.action += fieldTranslations[el.name] + ':' + el.value + '/';
				}
			}
			else if (searchtype == 'schnell') {
				if ((el.name == 'data[Searchbar][visiting]') && el.value != '') {
					if (el.value == 'Empfängt')
					{
						wert = 'Empfaengt';
					}else{
						wert = el.value;
					}
				    formular.action += fieldTranslations[el.name] + ':' + wert + '/';
				}
			}
		}
	}

	if (searchtype == 'detail') {
		if (languages.length > 0) {
			formular.action += 'sprache:';
			for (i=0; i<languages.length; i++) {
				formular.action += languages[i];
				if (i < languages.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (services.length > 0) {
			formular.action += 'service:';
			for (i=0; i<services.length; i++) {
				formular.action += services[i];
				if (i < services.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (haircolors.length > 0) {
			formular.action += 'haarfarbe:';
			for (i=0; i<haircolors.length; i++) {
				formular.action += haircolors[i];
				if (i < haircolors.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (chest_sizes.length > 0) {
			formular.action += 'brustgroesse:';
			for (i=0; i<chest_sizes.length; i++) {
				formular.action += chest_sizes[i];
				if (i < chest_sizes.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (shapes.length > 0) {
			formular.action += 'figur:';
			for (i=0; i<shapes.length; i++) {
				formular.action += shapes[i];
				if (i < shapes.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (ethnic.length > 0) {
			formular.action += 'typ:';
			for (i=0; i<ethnic.length; i++) {
				formular.action += ethnic[i];
				if (i < ethnic.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}

		if (shaves.length > 0) {
			formular.action += 'rasur:';
			for (i=0; i<shaves.length; i++) {
				formular.action += shaves[i];
				if (i < shaves.length - 1) formular.action += ',';
			}
			formular.action += '/';
		}
	}

	return true;
}

// Laufband
var std_speed = -2;
var speed = -2;
var first  = 'bar_1';
var middle = 'bar_2';
var last   = 'bar_3';
var tmp_a = '';
var tmp_b = '';
function move()
{
	if ($('laufband'))
	{
		// Wo liegt unser 1. Container + Geschwindigkeit
		x_new = $(first).offsetLeft + speed;

		// Neue Position des Containers Nr. 1 setzen
		$(first).setStyle('left', x_new+'px');

		// Position des 2. Containers errechnen
		x_new = x_new + 800;
		// Wenn der 2. Container kleiner Null sein würde 1. Container hinter den Letzten setzen.
		if (x_new < 0)
		{
			$(first).setStyle('left', '1600px');
			
			getNewProfile(first);
			
			tmp_a = last;
			last = first;
			first = middle;
			middle = tmp_a;
		}
		else
		{
			$(middle).setStyle('left', x_new+'px');
			x_new = x_new + 800;
			$(last).setStyle('left', x_new+'px');
		}
		window.setTimeout("move()", 30);
	}
}
var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {
            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);
            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;
            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }
            output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +  this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
        }
        return output;
    },
    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;
        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        while (i < input.length) {
            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));
            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;
            output = output + String.fromCharCode(chr1);
            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }
        }
        output = Base64._utf8_decode(output);
        return output;
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {
            var c = string.charCodeAt(n);
            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }
        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }
        return string;
    }

}

function b64(text){
	return Base64.encode(text);
}

function b64_decode(text){
	document.write(Base64.decode(text));
}

