var signinForm;
var postIframe;

window.addEvent("domready", function() {

	postIframe   = new Element("iframe", { id: "signin-iframe", name: "signin-iframe" }).setStyle('display', 'none').inject($(document.body), "bottom");
	signinForm   = new Element("form", { id: "signin-form", method: "post", target: "signin-iframe", action: this.configuration.wsServerUrl + "/user/signin/callback/onAuthDataReady/domain/" + document.domain }).setStyle('display', 'none').inject($(document.body), "bottom");

	Cookie.write("lang", document.location.search.replace("?lang=", ""), { domain: "." + document.domain });

	new Element("input", { id: "signin-username", name: "signin[username]", type: "hidden" }).inject(signinForm, "bottom");
	new Element("input", { id: "signin-password", name: "signin[password]", type: "hidden" }).inject(signinForm, "bottom");
	new Element("input", { id: "signin-url", name: "signin[url]", type: "hidden", value: this.configuration.currentUrl + "profile/?q=[UID]/[HASH]" }).inject(signinForm, "bottom");

	$$("input[name='email'], input[name='pass']").each(function(item){

		item.addEvent('keyup', function(e){

			if(e.key != "enter")
				return;

			signin();
		});

		item.store("value", item.get("value"));
		item.addEvent("focus", function(){

			if(this.get("value") == this.retrieve("value"))
				this.set("value", "");
		});
		item.addEvent("blur", function(){
			if(!this.get("value"))
				this.set("value", this.retrieve("value"));
		});
	});

	$("form_enter").addEvent("click", function(e) {

		e.preventDefault();
		signin();
	});

	configureLanguaSelect();

}).addEvent("load", function(){

	$(document.body).addClass('popup');
	
	//Mediabox.open(this.configuration.currentUrl + "redcarpet/index.php?lang=" + lang, '', '750 650');

	var mediaboxOnClose = function() {
		$(document.body).removeClass('popup');
		$('mbOverlay').removeEvent('close', mediaboxOnClose);
	}
	
	
	$('mbOverlay').addEvent('close', mediaboxOnClose);

	if(document.location.hash == "#paymentok") {

		$(document.body).set("class", "paymentok");

		new Element("div", { id: "paymentok" }).setStyle("opacity", .8).inject($("box_login"), "before");
		new Element("div", { id: "paymentok-arrow" }).inject($("box_login"), "before");

		$("paymentok-arrow").howMuch = 5;
		$("paymentok-arrow").set('tween', {
			duration: 500,
			onComplete: function(){ $("paymentok-arrow").tween("marginLeft", ($("paymentok-arrow").howMuch *= -1) -54); }
		}).tween("marginLeft", ($("paymentok-arrow").howMuch *= -1) -54);

		Cookie.dispose("angelsatwork", { domain: "." + domain.join(".") });
	}
});

function signin(fields) {

	$("signin-username").set("value", $$("input[name='email']").get('value'));
	$("signin-password").set("value", $$("input[name='pass']").get('value'));
	$$("input[name='email']").set('value', $("please-wait").get("text"));

	signinForm.submit();
};

function onAuthDataReady(authData) {

	console.log(authData);

	//reinvio mail di conferma al login
	if(authData.status == "success" && authData.response.message && authData.response.message.code == 6) {
	
		Mediabox.open(this.configuration.currentUrl + "messages/?code=6", '', '750 450');
		return;
	}

	if(authData.status == "success") {
	
		document.location = this.configuration.currentUrl + "lpfc/";
		return;
	}

	Mediabox.open(this.configuration.currentUrl + "messages/?code=" + authData.response.errors.code + "&email=" + $("signin-username").get("value"), '', '750 450');
};

function configureLanguaSelect(){

	$$('#language-select li.languages')
	.setStyle('opacity', .8)
	.set('tween', { duration: '200' })
	.addEvent('mouseenter', function(){ this.fade(1); })
	.addEvent('mouseleave', function(){ this.fade(.8); })
	.addEvent('click', closeLanguageSelect.bind(this, true));

	$('selected-language').addEvent('click', function(){

		if(this.retrieve('open'))
			closeLanguageSelect();
		else
			openLanguageSelect();
	});
};

function openLanguageSelect(){

	$('selected-language').store('open', true);
	$$('#language-select li.languages').each(function(item, index){

		(function(){ new Fx.Tween(item, { duration: 500, transition: Fx.Transitions.Back.easeOut }).start('top', index * 30 + (index+1) * 1 + 35); }).delay(index * 50);
	});
};

function closeLanguageSelect(refresh){

	$('selected-language').store('open', false);
	$$('#language-select li.languages').reverse().each(function(item, index){

		(function(){ new Fx.Tween(item, { duration: 500, transition: Fx.Transitions.Back.easeIn }).start('top', -30); }).delay(index * 50);
	});
};
