/**
 * @FuckBook
 */

window.addEvent('domready', function() {
	initFuckbook();
	window.document.addEvent('keydown', function(e) {
		if (window.event) { 
			eventKeyManager(window.event.keyCode, e);
		}
		else if (e) {
			eventKeyManager(e.code, e);
		}
	});
});
/**
 * Fonction initialisation de la home
 */
function initFuckbook()
{
	fFilters['age'] = new Array();
	fFilters['age']['min'] = 25;
	fFilters['age']['min'] = 35;
	fFilters['locality'] = new Array();
	loadSideBar();
	filterChooseSex('f');
	//fixLocalitiesMenu();
	// W2C Validator
		$('filter-city').set('autocomplete', "off");
		var ulCitiesList = new Element("ul", {
			'id' : 'filter-citiesList'
		});
		ulCitiesList.replaces($('replace-filterCitiesList'));
	
	
	loadProfilesPictures();
	loadAgeBar();
	fForms['filterForm'] = new Form('filterForm');
	fForms['filterForm'].setKey(13, "searchProfiles();");
	fForms['homeKeywordFilter'] = new Form('filterKeywordForm');
	fForms['homeKeywordFilter'].setKey(13, "searchProfilesByKeyword();");
		
}
function loadAgeBar()
{
	/* Initialisation du Slider Des Ages */
	/*alert(fFilters['Configs']['age']['minAge']);
	alert(fFilters['Configs']['age']['maxAge']);
	alert(fFilters['Configs']['age']['setMinAge']);
	alert(fFilters['Configs']['age']['setMaxAge']);*/
	var mySlideA = new Slider($('sliderBar'), $('minSliderButton'),$('backgroundSliderSelection'), {
		start: fFilters['Configs']['age']['minAge'], 
		end: fFilters['Configs']['age']['maxAge'],	
		offset: 0,	
		knobheight: 22,
		onChange: function(pos){
			/*alert(pos.minpos);
			alert(pos.maxpos);*/
			$('yearsLabel').innerHTML = pos.minpos+'-'+pos.maxpos+' '+slsBuild.langs.FILTERS_AGE;
			$("filter_yearsOldA").set('value', pos.minpos);
			$("filter_yearsOldB").set('value', pos.maxpos);
			
		}
	}, 
	$('maxSliderButton')).setMin(fFilters['Configs']['age']['setMinAge']).setMax(fFilters['Configs']['age']['setMaxAge']);
}
function loadSideBar(){
	var sideBar = $('sideBarLeft');
	sideBar.empty();
	var content = "";
	if (!fStatus['isLogged']) {
		for (var i=0;i<unLoggedActions['boxes'].length;i++)
			content += unLoggedActions['boxes'][i];
		content += "<div id=\"cheatPosition\"></div>";
		content += unLoggedActions['links'];
		sideBar.innerHTML = content;
		$('signup').addEvent('click', function(e) {
			e.stop();
			showBox('signup');
		});
  	$('signup').style.display = "block";
		//fixSignupBox();
		fixSimpleBoxes('signup');
	var asset = new Asset.css("http://"+slsBuild.site.domainName+"/"+fConfigs['paths']['css']+"SexDefault.css", {title: 'sexStyle'});
	$('login-valid-button').removeEvents('click');
	$('login-valid-button').addEvent('click', function(e){
  		login();
  		e.stop();
  	});
	initAuthenticationAction();
  }
  else {
  	
  	for (var i=0;i<loggedActions['boxes'].length;i++)
		content += loggedActions['boxes'][i];
	content += "<div id=\"cheatPosition\"></div>";
	content += "<div id=\"loggedActions\">"+loggedActions['links']+"</div>";
	sideBar.innerHTML = content;
  	$("loggedActions").style.marginTop = (Display.getY($('mainContainer')) - 1) + "px";
	$("loggedActions").innerHTML = loggedActions['links'];	
		$('myPictures').addEvent('click', function(e) {
			e.stop();
			smoothSideBar('myPictures');
		});
  	$('myPictures').style.display = "block";
		
		$('myWebmail').addEvent('click', function(e) {
			e.stop();
			smoothSideBar('myWebmail');
		});
	$('myWebmail').style.display = "block";
		
		$('myInvits').addEvent('click', function(e) {
			e.stop();
			smoothSideBar('myInvits');
		});
	$('myInvits').style.display = "block";
		$('myAccount').addEvent('click', function(e) {
			e.stop();
			smoothSideBar('myAccount');
		});
	$('myAccount').style.display = "block";
	var file = "http://"+slsBuild.site.domainName+"/"+fConfigs['paths']['css']+"Sex"+fMember['sex'].toUpperCase()+".css";
	var cssAsset = new Asset.css(file, {title: 'sexStyle'});
	loginBox[false] = $('loginBox').innerHTML+"<div class=\"execJs\">fForms.authForm = new Form($('loginForm'));fForms.authForm.setKey(13, \"login()\");fForms.authForm.setResultBox('loginFormError');fForms.authForm.setResultClasses('formError', 'formSuccess');</div>";
	$('loginBox').innerDHTML(loginBox[true]);
	$("loggedActions").style.marginTop = (Display.getY($('mainContainer')) - 1) + "px";
	updateStatus.delay(20000);
	fixAllBoxesOverflow();
  }
  fixProfileFadeOverflow();
}
function loadProfilesPictures()
{
	
	var pics = new Array();
	for (var i=0;i<fProfiles.length;i++)
		pics.push(fProfiles[i]['picture']);
		
	var loadImg = new Asset.images(pics, {
		onComplete: function (){
			time = 0;
			for (i=0;i<fProfiles.length;i++)
			{
				time += fConfigs['profiles']['intervalLoading'];
				fProfiles[i]['timer'] = setTimeout("displayProfile("+i+")", time);
				if ((fProfiles.length-1) == i)
					turnOver.delay((fConfigs['profiles']['turnOverInterval']+time));
				
			}
		}
	});
	
}
function displayProfile(i)
{
	//alert("Display : "+i);
	if (fProfiles.length < i)
		return;
	var el = $(fProfiles[i]['div']);
	//alert("Before Clear");
	fProfiles[i]['timer'] = clearTimeout();
	//alert("First displayProfile"+i);
	var profilFadeOut = new Fx.Morph(el, {
		duration : fConfigs['profiles']['durationUnloading'],
		onComplete: function(){
			el.style.backgroundImage = "url("+fProfiles[i]['picture']+")";
			var profilFadeIn = new Fx.Morph(el, {
				duration : fConfigs['profiles']['durationLoading'], 
				onComplete: function()
				{
					if (fConfigs['profiles']['firstLoad'] == true && ExtObj.keyExists(fProfiles[i], 'login')) {
						el.addEvent('mouseover', function(){
							showProfileInfos('' + el.get('id') + '')
						});
						el.addEvent('click', function(){
							if (fStatus['isLogged'] == true) 
								viewProfile(fProfiles[i]['id'].strreplace('id', ''));
							else 
								showBox('signup');
						});
						el.setStyle('cursor', 'pointer');
					}
					else {
						el.setStyle('cursor', 'default');
					}
					//	alert(el.get('onmouseover'));
					if ((i-1) == fProfiles.length)
						fConfigs['profiles']['firstLoad'] = false;
					
				}
			});
			profilFadeIn.set({
				'opacity'	: 0
			});
			profilFadeIn.start({
				'opacity'	: 1
			});
			
		}
	});
	profilFadeOut.set({
		'opacity'	: 1
	});
	profilFadeOut.start({
		'opacity'	: 0
	});
	
}
function fixLocalitiesMenu(){
	
	$('overflowListContainer').style.top = ((Display.getY($('localityLabel'))-Display.getY($('overflowListContainer')))+25)+"px";
	$('overflowListContainer').style.left = (Display.getX($('localityLabel'))-Display.getX($('overflowListContainer')))+"px";
	$('overflowList').style.display = "block";
	var HideLocalitiesMenu = new Fx.Slide("overflowList").hide();
	
}
function fixSimpleBoxes(el)
{
	if (el == null)
	{
		for (key in fConfigs['simpleBoxes'])
		{
			if (fConfigs['simpleBoxes'][key]['logged'] == fStatus['isLogged']) {
				var abs = key + fConfigs['sideBar']['suffixAbsolute'];
				$(abs).style.top = (Display.getY($(key)) - (Display.getY($(abs)))) + "px";
				$(abs).style.display = "none";
			}
		}
	}
	else
	{
		if (fConfigs['simpleBoxes'][el]['logged'] == fStatus['isLogged']) {
			var abs = el + fConfigs['sideBar']['suffixAbsolute'];
			$(abs).style.top = (Display.getY($(el)) - (Display.getY($(abs)))) + "px";
			$(abs).style.display = "none";
		}
	}
}
function fixAllBoxesOverflow()
{
	for (key in fConfigs['simpleBoxes']) {
		if (fConfigs['simpleBoxes'][key]['logged'] == fStatus['isLogged']) {
			var abs = key + fConfigs['sideBar']['suffixAbsolute'];
			$(abs).style.top = (Display.getY($('loggedActions')) - (Display.getY($(abs)))) + "px";
			$(abs).style.display = "none";
		}
	}

	for (key in fConfigs['complexBoxes']) {
		if (fConfigs['complexBoxes'][key]['logged'] == fStatus['isLogged']) {
			var abs = key + fConfigs['sideBar']['suffixAbsolute'];
			$(abs).style.top = (Display.getY($('loggedActions')) - (Display.getY($(abs)))) + "px";
			$(abs).style.display = "none";
		}
	}
}
function fixProfileFadeOverflow(){
	$("profilesFadeOverflow").style.top = Display.getY($('mainContainer'))+"px";	
	$("profilesFadeOverflow").style.display = "none";
	$("profilesFadeOverflow").style.backgroundColor = "#000";
	$("viewProfileOverflow").style.top = Display.getY($('mainContainer'))+"px";	
	$("viewProfileOverflow").style.display = "none";
	$("viewProfileOverflow").style.backgroundColor = "#1f1f1f";
}
function hideArrowsBoxes(){
	var els = $$('div.arrowBoxesOverflow');
	//alert(els.length);
	for(i=0;i<els.length;i++)
		var hideArrow = new Fx.Slide(els[i]).hide();
} 
function hideArrowBox(boxEl) 
{
	var hideArrow = new Fx.Slide($(boxEl+fConfigs['arrowBoxes']['suffixId']), {mode: 'horizontal'}).hide();
}
function slideArrowBox(boxEl, type){
	if (type != 'in' && type != 'out')
		return;
	
	var elArrow = $(boxEl+fConfigs['arrowBoxes']['suffixId']);
	if (type == 'in') {
   	var showArrow = new Fx.Slide(elArrow, {
  		mode: 'horizontal',
			duration: fConfigs['arrowBoxes']['durationOpen']
  	}).slideIn();
  }
  else {
  	var showArrow = new Fx.Slide(elArrow, {
  		mode: 'horizontal',
  		duration: fConfigs['arrowBoxes']['durationClose']
  	}).slideOut();
  }
}
/**
 * Fonctions des Filtres
 */

function showLocalities () {
	if (fStatus['overflowAction'] == true)
		return;
	if (fStatus['filters']['localities'] == 'open') {
		var mySlide = new Fx.Slide('overflowList', {
			mode : 'vertical', 
			duration : 'normal',
			onStart: function (){
				$('overflowListScrolling').style.display = 'none';
				$('overflowListScrolling').style.overflow = "hidden";
				
			},
			onComplete: function(){
				$('overflowListContainer').style.display = 'none';
				$('localityArrow').onclick = function () {
					showLocalities()
					};
				fStatus['filters']['localities'] = 'close';
			}			
			}).slideOut();
	}
	else
	{
		$('overflowListContainer').style.display = 'block';
		var mySlide = new Fx.Slide('overflowList', {
			mode : 'vertical', 	
			duration : 'normal',
			onStart: function()
			{
				hideAllProfilesInfos();
				fStatus['filters']['localities'] = 'open';
			},
			onComplete: function(){
				$('localityArrow').onclick = "";
				$('overflowListScrolling').style.display = 'block';
				$('overflowListScrolling').style.overflow = "auto";
				
				
			}
			}).slideIn();
		
	}
	
}
function showProfileInfos(idElement)
{
	if (fStatus['menus']['filterCityMenuOpen'] == true || fStatus['overflowAction'] == true)
		return;
	
	var element = $(idElement);
	var el = element.getFirst();
	for (var i = 0; i < fProfiles.length; i++) {
  	if (fProfiles[i]['div'] == idElement && fProfiles[i]['infosDisplayed'] == true) {
			fProfiles[i]['timer'] = setTimeout("hideProfileInfos('"+fProfiles[i]['div']+"', "+i+")", 3000);
  		return;
  	}
  }
	hideAllProfilesInfos(idElement);
	el.style.backgroundColor = fConfigs['profiles']['colorOpacity'];
	el.style.color = fConfigs['profiles']['colorText'];
	el.style.display = "block";
	
	var morphObject = new Fx.Morph(el, {duration : fConfigs['profiles']['durationFadingIn']});
		morphObject.set({
  		'opacity': 0
  	});
		morphObject.start({
	    'opacity' : fConfigs['profiles']['infosOpacity']
		});

	
	
	for (var i = 0; i < fProfiles.length; i++) {
  	if (fProfiles[i]['div'] == idElement) {
			fillProfilInfos(fProfiles[i]['div']);
  		fProfiles[i]['infosDisplayed'] = true;
			fProfiles[i]['timer'] = setTimeout("hideProfileInfos('"+fProfiles[i]['div']+"', "+i+")", 3000);
  		break;
  	}
  }
}
function hideAllProfilesInfos(exept){
	if (exept == null) 
		exept = -1;
	for (var i = 0; i < fProfiles.length; i++) 
		if (fProfiles[i]['infosDisplayed'] == true && fProfiles[i]['div'] != exept) 
			hideProfileInfos(fProfiles[i]['div'], i);
}
function hideProfileInfos(element, indexProfilesArray)
{
	if ($(element) == null)
		return;
	var el = $(element).getFirst('div');
	var morphObject = new Fx.Morph(el, {
		duration : fConfigs['profiles']['durationFadingOut'], 
		onComplete: function(){
			el.style.display = "none";
			eraseProfilInfos(element);
		}
	});
	morphObject.set({
	    'opacity' : fConfigs['profiles']['infosOpacity']    
	});
	morphObject.start({
	    'opacity' : 0
	});
	
	if (indexProfilesArray != null)
  		fProfiles[indexProfilesArray]['infosDisplayed'] = false;
  else {
  	for (var i = 0; i < fProfiles.length; i++) {
  		if (fProfiles[i]['div'] == element) {
  			fProfiles[i]['infosDisplayed'] = false;
				fProfiles[i]['timer'] = clearTimeout();
  			break;
  		}
  	}
  }
}
function fillProfilInfos(idElement)
{
	var ind = -1;
	for (i=0;i<fProfiles.length;i++)
	{
		if (fProfiles[i]['div'] == idElement)
		{
			ind = i;
			break;
		}
	}
	var element = $(idElement);
	var fade = element.getFirst('div');
	var block = fade.getFirst('div');
	var money = fade.getFirst('span');
	var spans = block.getChildren('span');
	for (var i=0;i<spans.length;i++)
	{
		className = spans[i].get("class");
		switch (className)
		{
			case "status":
				spans[i].setStyles({
					'backgroundImage'	:	'url(http://'+slsBuild.site.domainName+'/'+slsBuild.paths.imgJs+'is_'+fProfiles[ind]['status']+'_dot.png)',
					'backgroundRepeat'	:	'no-repeat',
					'backgroundPosition':	'left',
					'paddingLeft'		:	'10px',
					'color'				:	fConfigs['IS']['color-'+fProfiles[ind]['status']]
				});
				if (Browser.Engine.trident && Browser.Engine.version == 4)
					spans[i].setStyles({
						'background'	:	'none',
						filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'http://'+slsBuild.site.domainName+'/'+slsBuild.paths.imgJs+'is_'+fProfiles[ind]['status']+'_dot.png\', sizingMethod=\'scale\')'
					});
				spans[i].innerHTML = slsBuild.langs['MEMBER_STATUS_'+fProfiles[ind]['status'].toUpperCase()];
				break;
			case "name":
				spans[i].innerHTML = fProfiles[ind]['login'];
				break;
			case "old":
				spans[i].innerHTML = fProfiles[ind]['old']+" "+slsBuild.langs.FILTERS_AGE;
				break;
			case "locality":
				spans[i].innerHTML = fProfiles[ind]['city'];
				break;
			case "invits":
				pluriel = (fProfiles[ind]['invit'] > 1) ? slsBuild.langs.INVITS_RECEIVED : slsBuild.langs.INVIT_RECEIVED;
				spans[i].innerHTML = fProfiles[ind]['invit']+" <span style='color:"+fConfigs['profiles']['color'+fProfiles[ind]['sex'].toUpperCase()]+";'>"+pluriel+"</span>";
				break;
		}
	}
	money.innerHTML = "<span style='color:"+fConfigs['profiles']['color'+fProfiles[ind]['sex'].toUpperCase()]+";'>"+fProfiles[ind]['money']+" "+slsBuild.langs.SIDEBAR_MYACCOUNT_DOLLARS_PEPETS+"</span>";
	fProfiles[ind]['mouseout'] = true;
}
function eraseProfilInfos(idElement)
{
	var ind = -1;
	for (i=0;i<fProfiles.length;i++)
	{
		if (fProfiles[i]['div'] == idElement)
		{
			ind = i;
			break;
		}
	}
	var element = $(idElement);
	if (element == null)
		return;
	var fade = element.getFirst('div');
	var block = fade.getFirst('div');
	var spans = block.getChildren('span');
	for (var i=0;i<spans.length;i++)
		spans[i].innerHTML = "";
	
	fProfiles[ind]['mouseout'] = false;
	
}

function showBox(id,item)
{
	var boxType = null;
	var idAbs = id+fConfigs['sideBar']['suffixAbsolute'];
	var idBox = id+fConfigs['sideBar']['suffixBox'];
	var idMenu = id+fConfigs['sideBar']['suffixMenu'];
	
	for(i=0;i<fConfigs['sideBar']['boxes'].length;i++)
		if (fConfigs['sideBar']['boxes'][i]['id'] == id)
		{
			boxType = fConfigs['sideBar']['boxes'][i]['type'];
			break;
		}
	
	if (boxType == null)
		return;
	
		
	if (fStatus[boxType][id]['self'] == "close") {
  	if (fStatus['overflowAction'] == true) {
  		for (i = 0; i < fConfigs['sideBar']['boxes'].length; i++) 
  			if (fStatus[fConfigs['sideBar']['boxes'][i]['type']][fConfigs['sideBar']['boxes'][i]['id']]['self'] == "open") {
  				showBox(fConfigs['sideBar']['boxes'][i]['id']);
  				setTimeout("showBox('" + id + "', '"+item+"')", fConfigs[fConfigs['sideBar']['boxes'][i]['type']][fConfigs['sideBar']['boxes'][i]['id']]['durationClose']);
  				return;
  			}
  	}
		
	setOverflowAction(true);
  	$(idAbs).style.display = "block";
	$(idBox).style.display = "block";
		var box = new Fx.Morph(idBox, {
			duration : fConfigs[boxType][id]['durationOpen'],
			onStart: function (){
				hideArrowBox(idBox);
				if (boxType == "complexBoxes")	
				{
					var hideMenu = new Fx.Slide(idMenu).hide('horizontal');
					
				}
			},
			onComplete: function() {
				slideArrowBox(idBox, 'in');
				if (boxType == "complexBoxes") {
					var hideMenu = new Fx.Slide(idMenu, {
						duration : fConfigs[boxType][id]['menu']['durationOpen'],
						onStart:function(){
							$(id).setStyles({
								'backgroundColor'	:	'#1f1f1f',
								'color'	:	'#e7e7e7'
							});
						},
						onComplete: function()
						{
							var defaultItem = null;
							if (item != null && item != '#')
								defaultItem = item;
							var j = 0;
							for (key in fConfigs[boxType][id]['menu']['items'])
							{
								if (defaultItem == null)
									defaultItem = key;
								//alert(key);
								itemId = id+"-"+key;
								$(itemId).removeEvents();
								$(itemId).addEvent('click', function(e) {
									e.stop();
									fillBox(id, boxType, this.get("id").substring((this.get("id").lastIndexOf("-")+1)));
								});
								
							}
							fillBox(id, boxType, defaultItem);
						}
					}).slideIn('horizontal');
					}
					else
					{
						$(id).setStyles({
								'backgroundColor'	:	'#1f1f1f',
								'color'	:	'#e7e7e7'
							});
						fillBox(id, boxType);
						
					}
				}	
			});
  	box.set({
  		'width': 0,
  		'height': 0
  		
  	});
  	box.start({
  		'width': fConfigs[boxType][id]['width'],
  		'height': fConfigs[boxType][id]['height']

  	});
		fStatus[boxType][id]['self'] = "open";
  }
	else {
		if (boxType == "simpleBoxes") {
			fillBox(id, boxType);
			$(id).setStyles({
				'backgroundColor': '#e7e7e7',
				'color': '#3a3a3a'
			});
		}
		else {
			fillBox(id, boxType, fStatus[boxType][id]['menu']['displayed']);
		}
		var box = new Fx.Morph(idBox, {
			duration : fConfigs[boxType][id]['durationClose'],
			onStart: function(){
				slideArrowBox(idBox, 'out');
				if (boxType == "complexBoxes") {
					 var slideOutMenu = new Fx.Slide(idMenu, {
					 		duration : fConfigs[boxType][id]['menu']['durationClose']
					 }).slideOut('horizontal');
				}
				setOverflowAction(false);
			},
			onComplete: function() {
				$(idAbs).style.display = "none";
		  		$(idBox).style.display = "none";
				$(id).setStyles({
					'backgroundColor': '#e7e7e7',
					'color': '#3a3a3a'
				});
				}	
			});
		box.set({
  		'width': fConfigs[boxType][id]['width'],
  		'height': fConfigs[boxType][id]['height']
  		
  	});
  	box.start({
  		'width': 0,
  		'height': 0

  	});
		fStatus[boxType][id]['self'] = "close";
	}
}
function fillBox(id, type, item)
{
	if (type != "complexBoxes" && type != "simpleBoxes")
		return;
	if (type == "complexBoxes" && item == null)
		return;
	
	var formEl = id+fConfigs['sideBar']['suffixForm'];
	var elContainer = $(formEl);
	
	if (type == "simpleBoxes") {
		if (fStatus[type][id]['form'] == "close") 
		{
			stringToEval = "elContainer.innerDHTML("+id+"Xhtml)";
			eval(stringToEval);
	 	 	elContainer.style.display = "block";
			fStatus[type][id]['form'] = "open";
		}
		else 
		{
			elContainer.style.display = "none";
			elContainer.innerHTML = "";
			fStatus[type][id]['form'] = "close";
		}
  }
	else {
		if (fStatus[type][id]['form'] == "close") 
		{
			stringToEval = "elContainer.innerDHTML("+id+"Xhtml['"+item+"']);";
			eval(stringToEval);
	  	elContainer.style.display = "block";
			var hideContent = new Fx.Slide(formEl, {mode: 'vertical'}).hide();
			elContainer.style.width = fConfigs[type][id]['menu']['items'][item]['width'] + "px";
			elContainer.style.height = fConfigs[type][id]['menu']['items'][item]['height'] + "px";
			setHoverMenuOverflow(id, type, item);
			var showContent = new Fx.Slide(formEl, {
				duration: fConfigs[type][id]['menu']['items'][item]['durationOpen'],
				mode: 'vertical',
				onComplete: function(){
					idBox = id+fConfigs['sideBar']['suffixBox'];
					$(idBox).setStyle('height', 'auto');
					elContainer.setStyle('height', 'auto');
					elContainer.getParent().setStyle('height', 'auto');
				}
			}).slideIn();
			fStatus[type][id]['menu']['displayed'] = item;
			fStatus[type][id]['form'] = "open";
		}
		else 
		{
			var showContent = new Fx.Slide(formEl, {
	  		duration: fConfigs[type][id]['menu']['items'][item]['durationClose'],
	  		mode: 'vertical',
	  		onComplete: function(){
					elContainer.innerHTML = "";
					fStatus[type][id]['form'] = "close";
					if (item == fStatus[type][id]['menu']['displayed']) {
				 		elContainer.style.display = "none";
						fStatus[type][id]['menu']['displayed'] = null;
					}
					else {
						fillBox(id, type, item);
					}
	  		}
	  	}).slideOut();
	  	//elContainer.style.display = "none";
	  }
	}
}

function setHoverMenuOverflow(id, type, item)
{
	if (fStatus[type][id]['menu']['displayed'] == item) {
		elItem = $(id + "-" + item);
		elItem.set('styles', {
			'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalText'],
			'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalBg']
		});
  }
  else {
  	for (key in fConfigs[type][id]['menu']['items']) {
  		elItem = $(id + "-" + key);
		var itemProper = fConfigs[type][id]['menu']['items'][key];
  		elItem.removeEvents('mouseenter');
  		elItem.removeEvents('mouseleave');
  		
  		if (key == item) {
				var currentColor = elItem.getStyle('color');
				if (currentColor != fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText']) {
					var fxMorph = new Fx.Morph(elItem);
					
					fxMorph.start({
						'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText'],
						'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverBg']
					});
				}
				else {
					elItem.set('styles',  {
						'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText'],
						'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverBg']
					});
				}
  			
  		}
  		else {
  			elItem.set('styles', {
  				'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalText'],
  				'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalBg']
  			});
  			elItem.addEvent('mouseenter', function(){
				if (this.getStyle('color').toLowerCase() == fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalText'].toLowerCase()) {
				  	var morph = new Fx.Morph(this, {duration: itemProper['morphIn']});
				  	morph.set({
				  		'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalText'],
				  		'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalBg']
				  	});
				  	morph.start({
				  		'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText'],
				  		'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverBg']
				  	})
				  }
				else
					this.fireEvent('mouseenter', '', itemProper['morphOut']);
				
  			});
  			elItem.addEvent('mouseleave', function(){
				if (this.getStyle('color').toLowerCase() == fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText'].toLowerCase()) {
				  	var morph = new Fx.Morph(this, {duration: itemProper['morphOut']});
				  	morph.set({
				  		'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverText'],
				  		'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['hoverBg']
				  	})
				  	morph.start({
				  		'color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalText'],
				  		'background-color': fConfigs['sideBar']['menu']['colors'][fMember['sex']]['normalBg']
				  	})
				 }
				 else
				 	this.fireEvent('mouseleave', '', itemProper['morphIn']);
  			});
  		}
  		
  	}
  }
}
function setOverflowAction(bool){
	var el = $("profilesFadeOverflow");
	if (bool == true) {
  	hideAllProfilesInfos();
		
		var overflowOpa = new Fx.Morph(el, {
			duration: fConfigs['profiles']['overflowDuration'],
			onStart: function(){
				el.style.display = "block";
			}
		});
		overflowOpa.set({
			'opacity'		: 0
		});
		overflowOpa.start({
			'opacity'		: fConfigs['profiles']['overflowOpacity']
		});
		$('overflowSlideBarOld').style.display = "block";
  	fStatus['overflowAction'] = true;
	fStatus['turnOverProfiles'] = false;
  }
	else{
		$("overflowSlideBarOld").style.display = "none";
		var overflowOpa = new Fx.Morph(el, {
			duration: fConfigs['profiles']['overflowDuration'],
			onComplete: function(){
				el.style.display = "none";
			}
		});
		overflowOpa.set({
			'opacity'		: fConfigs['profiles']['overflowOpacity']
		});
		overflowOpa.start({
			'opacity'		: 0
		});
  	fStatus['overflowAction'] = false;
	fStatus['turnOverProfiles'] = true;
	}
}
function clearBoxesSideBar()
{
	var bool = false;
	for (i = 0; i < fConfigs['sideBar']['boxes'].length; i++) {
		var id = fConfigs['sideBar']['boxes'][i]['id'];
		if (fStatus[fConfigs['sideBar']['boxes'][i]['type']][id]['self'] == "open") 
		{
			eval(fConfigs['sideBar']['boxes'][i]['fct']);
			bool = true;
		}
  }
	return bool;
}
function smoothSideBar(id, item) {
	if (fExternalVars.viewProfileOverflow == true){
		hideViewProfile();
		smoothSideBar(id, item);
		return;
	}
	if (fStatus['sideBar']['isOnTop'] == id)
	{
		for (i = 0; i < fConfigs['sideBar']['boxes'].length; i++) 
			if (fConfigs['sideBar']['boxes'][i]['id'] == id) {
				if (item != null) 
					eval(fConfigs['sideBar']['boxes'][i]['fct'].strreplace('#', item));
				else 
					eval(fConfigs['sideBar']['boxes'][i]['fct']);
			}
	}
	
	else {
		var el = $('loggedActions');
		var slideOut = new Fx.Slide(el, {
			mode : 'vertical', 
			duration : fConfigs['sideBar']['durationSlideOut'],
			onStart: function() {
				clearBoxesSideBar();
			},
			onComplete: function(){
				var slideIn = new Fx.Slide(el, {
					mode	:	'vertical',
					duration	: fConfigs['sideBar']['durationSlideOut'],
					onStart : function(){
						
						var cloned = $(id).clone(true, true);
						$(id).destroy();
						var menuElements = $$('#loggedActions a');
						for (var i=0;i<menuElements.length;i++)
							menuElements.setStyles({
								'backgroundColor'	:	'#e7e7e7',
								'color'	:	'#3a3a3a'
							});
						$(cloned).setStyles({
								'backgroundColor'	:	'#1f1f1f',
								'color'	:	'#e7e7e7'
							});
						cloned.inject(el, 'top');
						$(id).addEvent('click', function(e) {
							e.stop();
							smoothSideBar(id);
						});
											
					},
					onComplete: function(){
						for (i=0;i<fConfigs['sideBar']['boxes'].length;i++)
							if (fConfigs['sideBar']['boxes'][i]['id'] == id){
								//alert(item);
								if (item != null)
									eval(fConfigs['sideBar']['boxes'][i]['fct'].strreplace('#', item));
								else
									eval(fConfigs['sideBar']['boxes'][i]['fct']);
							}
								
						fStatus['sideBar']['isOnTop'] = id;
					}
				}).slideIn(); 
			}			
			}).slideOut();
	}
}
function refreshNewMsg(){
	if (fStatus['isLogged'] == false)
		return;
	if (ExtObj.keyExists(fMember, 'nbNewMsg') == false && ExtObj.keyExists(fMember, 'nbNewInvits') == false)
		return;
	var str = slsBuild.langs.SIDEBAR_MYACCOUNT_MYFRIENDS_LABEL_COUNT_0+' <span class=\'customSexColor\'><span  style="cursor:pointer;" onclick="smoothSideBar(\'myWebmail\');">'+fMember['nbNewMsg']+'</span>';
	str += (fMember['nbNewMsg'] > 1) ? ' <span style=\"color:#989898\">'+slsBuild.langs.SIDEBAR_MYMESSAGES_INBOX_MESSAGE_ALERT_NEW_MESSAGES : ' <span style=\"color:#989898\">'+slsBuild.langs.SIDEBAR_MYMESSAGES_INBOX_MESSAGE_ALERT_NEW_MESSAGE;
	if (fMember['nbNewInvits'] > 0) {
		str += ' ' + slsBuild.langs.SIDEBAR_MYMESSAGES_INBOX_MESSAGE_WITH_INVIT+' </span><span style=\'cursor:pointer;\' onclick="smoothSideBar(\'myInvits\');\">'+fMember['nbNewInvits']+'</span><span style=\"color:#989898\">';
		str += (fMember['nbNewInvits'] > 1) ? ' '+slsBuild.langs.SIDEBAR_MYMESSAGES_INBOX_MESSAGE_ALERT_NEW_MESSAGE_INVITS : ' '+slsBuild.langs.SIDEBAR_MYMESSAGES_INBOX_MESSAGE_ALERT_NEW_MESSAGE_INVIT;
	}
	else {
		str +='</span>';
	}
	if(ExtObj.keyExists(fMember, 'nbNewFriends'))
	{
		if (fMember['nbNewFriends'] > 0)
			str += (fMember['nbNewFriends'] == 1) ? "<br /><span class=\"customSexColor\" style=\"cursor:pointer\" onclick=\"smoothSideBar('myAccount', 'friends');\">"+fMember['nbNewFriends']+"</span> <span style=\"color:#989898;\">"+slsBuild.langs.SIDEBAR_MYACCOUNT_MYFRIENDS_ALERT_NEW_FRIEND+"</span>" : "<br /><span class=\"customSexColor\" style=\"cursor:pointer\" onclick=\"smoothSideBar('myAccount', 'friends');\">"+fMember['nbNewFriends']+"</span> <span style=\"color:#989898;\">"+slsBuild.langs.SIDEBAR_MYACCOUNT_MYFRIENDS_ALERT_NEW_FRIENDS+"</span>";
		else
			str += "<br /><span class=\"customSexColor\" style=\"cursor:pointer\" onclick=\"smoothSideBar('myAccount', 'friends');\">0</span> <span style=\"color:#989898;\">"+slsBuild.langs.SIDEBAR_MYACCOUNT_MYFRIENDS_ALERT_NEW_FRIEND+"</span>";
	}
	else
		str += "<br /><span class=\"customSexColor\" style=\"cursor:pointer\" onclick=\"smoothSideBar('myAccount', 'friends');\">0</span> <span style=\"color:#989898;\">"+slsBuild.langs.SIDEBAR_MYACCOUNT_MYFRIENDS_ALERT_NEW_FRIEND+"</span>";	
	str += '</span>';	
	$('globalNbMsg').set('html', str);
	
}
function eventKeyManager(key, e){
	if (key == 38 || key == 40){
		for (var index in fConfigs.menus){
			if (fStatus['menus'][index] == true)
			{
				var as = $$('ul#'+fConfigs.menus[index]['prefix']+'-citiesList li a');
				if (as.length == 0)
					return;
				var selected = -1;
				var element = null
				for (var i = 0; i < as.length; i++) {
					if (as[i].getStyle('color') == "#000000") {
						selected = i;
						as[i].setStyles({
							'color'	:	'#989898',
							'backgroundColor'	:	'#000000'
						});
					}
				}
				
				if (selected == -1)
					element = (key == 40) ? 0 : (as.length-1);
				else 
					element = (key == 40) ? ((selected+1 >=as.length) ? 0 : selected+1) : ((selected-1 < 0) ? as.length-1 : selected-1);
				
				as[element].setStyles({
					'color'	:	'#000000',
					'backgroundColor'	:	'#8F8F8F'
				});
				fExternalVars['jsKeys']['menus'][index] = element;
			}
		}
	}
	else if (key == 13){
		for (var index in fConfigs.menus) {
			if (fStatus.menus[index] == true) {
				if (fExternalVars['jsKeys']['menus'][index] != null) {
					var as = $$('ul#'+fConfigs.menus[index]['prefix']+'-citiesList li a');
					if (!$chk(as[fExternalVars['jsKeys']['menus'][index]]))
						return;
					selectCity(as[fExternalVars['jsKeys']['menus'][index]], index);
					fExternalVars['jsKeys']['menus'][index] = null;
				}
			}
		}
	}
	else if (key == 27){
		for (var index in fConfigs.menus) {
			if (fStatus.menus[index] == true) {
				hideCitiesMenu(index);
				fExternalVars['jsKeys']['menus'][index] = null;
				
			}
		}
	}
}
function updateStatus(){
	if (fStatus['isLogged'] == false) {
		updateStatus.delay(20000);
		return;
	}
	var request = new Request({
		url : fUrls.KEEPALIVECONNEX,
		method : 'post',
		onComplete:function(){
			updateStatus.delay(20000);
		},
		onCancel:function(){
			updateStatus.delay(20000);
		},
		onFailure:function(){
			updateStatus.delay(20000);
		}
	}).send();
}
