﻿// login.js based on Lightbox v2.03.3 by Lokesh Dhakar - http://www.huddletogether.com
var overlayOpacity = 0.8;
var borderSize = 10;
var overlayDuration = 0.2;
var Login = Class.create();
Login.prototype = {
	initialize: function(){
	},
	start: function(){
		newStats(WEMF_section, 'login');
		hideSelectBoxes();
		hideFlash();
		var arrayPageSize = getPageSize();
		$('login-overlay').style.width = arrayPageSize[0]+'px';
		$('login-overlay').style.height = arrayPageSize[1]+'px';
		new Effect.Appear('login-overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });
		var arrayPageScroll = getPageScroll();
		var loginTop = arrayPageScroll[1] + (arrayPageSize[3] / 10);
		var loginLeft = arrayPageScroll[0];
		$('login').style.top = loginTop+'px';
		$('login').style.left = loginLeft+'px';
		Element.show('login');
	},
	end: function(){
		Element.hide('login');
		new Effect.Fade('login-overlay', { duration: overlayDuration});
		showSelectBoxes();
		showFlash();
	}
}
function validateCookie(){
	var error = '';
	setaCookie('ubs_cookie', 1);
	if(getaCookie('ubs_cookie') == ''){error = 'Sie müssen Cookies akzeptieren.<br />';}
	return error;
}
function submitLoginForm(){
	var error = '';
	error = validateCookie();
	if(error == ''){
		if ($('username').value == ''){$('username').style.background = 'yellow';error = 'Bitte geben Sie Ihren Usernamen ein.<br />';}else{$('username').style.background = 'white';}
		if ($('password').value == ''){$('password').style.background = 'yellow';error += 'Bitte geben Sie Ihr Passwort ein.<br />';}else{$('password').style.background = 'white';}
	}
	$('login-error').style.height = '35px';
	$('login-error').innerHTML = error;
	if(error == ''){
		var params = 'ajax=1&action=ldv&data=1&username='+$('username').value+'&password='+$('password').value;
		var myAjax = new Ajax.Request('/service/registration', { Method:'post', parameters:params, onComplete:displLoginResponse });
	}
}
function submitLoginFormArticle(){
	var error = '';
	error = validateCookie();
	if(error == ''){
		if ($('username_article').value == ''){$('username_article').style.background = 'yellow';error += 'Bitte geben Sie Ihren Usernamen ein.<br />';}else{$('username_article').style.background = 'white';}
		if ($('password_article').value == ''){$('password_article').style.background = 'yellow';error += 'Bitte geben Sie Ihr Passwort ein.<br />';}else{$('password_article').style.background = 'white';}
	}
	$('login-error_article').style.height = '35px';
	$('login-error_article').innerHTML = error;
	if(error == ''){
		var params = 'ajax=1&action=ldv&data=1&username='+$('username_article').value+'&password='+$('password_article').value;
		var myAjax = new Ajax.Request('/service/registration', { Method:'post', parameters:params, onComplete:displLoginResponse });
	}
}
function displLoginResponse(originalRequest){
	var jsonHBVers = originalRequest.responseText;
	var json = jsonHBVers.replace(/<!-- Generated by.*/g,"");
	var obj = json_parse(json);
	if(obj.RespSet.username){
		if(obj.RespSet.displayname && obj.RespSet.email){
			setaCookie('ubs_data', obj.RespSet.displayname+'|'+obj.RespSet.displaytown+'|'+obj.RespSet.email);
		}
		setLoginStatus();
		myLogin.end();
		window.location = location.href;
	}else{
		$('username').style.background = 'yellow';$('password').style.background = 'yellow';$('login-error').innerHTML = 'Login fehlgeschlagen. <a href="/service/registration/passwort">Hier</a> können Sie ein neues Passwort beantragen.<br />';
		if ($('username_article') != null) {
			$('username_article').style.background = 'yellow';$('password').style.background = 'yellow';$('login-error_article').innerHTML = 'Login fehlgeschlagen. <a href="/service/registration/passwort">Hier</a> können Sie ein neues Passwort beantragen.<br />';
		}
	}
}
function setLoginStatus(){
	if(getaCookie('53eb6128d503bd75c36b7efb56d0c6ea_user') != ''){
		var fbUserData = getaCookie('ubs_username').split(';', 3);
		$('loginleft').className = 'fbloginstatus';
		$('loginleft').innerHTML = '<a href="' + fbUserData[1] + '">' + fbUserData[0] + '</a>';
		$('loginright').className = 'logout';
		$('loginright').innerHTML = '<a href="javascript:void(0);" onclick="fbLogout();">Abmelden</a>';
	}
	else if(getaCookie('ubs_session') != '' && getaCookie('ubs_username') != ''){
		$('loginright').className = 'logout';
		$('loginright').innerHTML = '<a href="javascript:void(0);" onclick="blickLogout();">Abmelden</a>';
		$('loginleft').className = 'loginstatus';
		$('loginleft').innerHTML = '<a href="/service/registration/profil?arg=void">'+getaCookie('ubs_username')+'</a>';
	}
	else{
		$('loginright').className = 'register';
		$('loginright').innerHTML = '<a href="/service/registration">Registrieren</a>';
		$('loginleft').className = 'login';
		$('loginleft').innerHTML = '<a href="javascript:void(0);" onclick="myLogin.start();return false;">Login</a>';
	}
	
}
function initLogin(){ 
	myLogin = new Login();
}
Event.observe(window, 'load', initLogin, false);

function fbLogout() {
	window.location = '/service/facebook?logout';
}

function blickLogout() {
	setaCookie('ubs_session', '', -1);
	setaCookie('ubs_username', '', -1);
	setaCookie('ubs_data', '', -1);
	window.location = location.href;
}

function update_user_box(e) {	
	setLoginStatus();
	if (myLogin != null) {
		myLogin.end();
	}
}

function redirectToRef() {
	if (document.referrer != null && document.referrer.indexOf('blick.ch') != -1) {
		return document.referrer;
	}
	else {
		return 'http://www.blick.ch';
	}
}
