var qadapter = function()
{
	/* Konfiguracja start */
	
	var joomlaURL = 'http://qfant.pl/index2.php';
	var joomlaRealURL = 'http://qfant.pl/index.php';
	var currentRootURL = '../forum/';
	var currentDomain = 'qfant.pl';
	var formsConfig = {
		'login' : {
			joomlaParams : "option=com_qadapter&controller=user&task=login",
			username : "username",
			password : "password"
		}
	};
	var linksConfig = {
		'a#logout' : joomlaURL+'?option=com_qadapter&controller=user&task=logout&return=QFantForum',
		'a#registerButton' : joomlaRealURL+'?option=com_user&task=register'
	};
	var welcomeURL = 'http://qfant.pl/index2.php?option=com_qadapter&view=welcome';
	
	/* Konfiguracja koniec */
	
	window.addEvent('domready', 
	function()
	{
		for(var element in formsConfig)
		{
			var forms = $$('input[name='+element+']');
			for(var i=0; i<forms.length; ++i)
			{
				var form = $(forms[i].form);
				form.qadapterConfig = formsConfig[forms[i].name];
				form.addEvent("submit", qadapter.formSubmitHandler.bind(form));
			}
		}
		
		for(var element in linksConfig)
		{
			var item = $$(element);
			if(item && item[0])
				item[0].href = linksConfig[element];
		}
		
		var qfantWelcome = Cookie.read("qfantWelcome");
		if(qfantWelcome)
			Cookie.dispose("qfantWelcome", {domain : currentDomain});
		if(Cookie.read("qfantActive"))
		{
			var show = new Element("a", {
				'class' : "popupShowButton",
				styles : {
					position : Browser.Engine.trident ? 'absolute' : 'fixed',
					left : 0,
					bottom : 0,
					opacity: 1.0
				}
			});
			
			show.addEvent('click', function(){popup.tween('left', 0);});
			show.inject($$('body')[0]);
			if(Browser.Engine.trident)
				show.pin();
			
			var popup = new Element("div", {
				'class' : "qfantPopup",
				styles : {
					position : Browser.Engine.trident ? 'absolute' : 'fixed',
					left : 0,
					bottom : 0,
					opacity: 0.0
				}
			});
			
			var iframe = new Element("iframe", {
				src : welcomeURL,
				styles : {
					width : "100%",
					height : "100%"
				}
			});
			
			iframe.inject(popup);
			popup.inject($$('body')[0]);
			
			
			if(!Browser.Engine.trident)
			{
				popup.set('tween', {duration : 800});
				popup.pin = function(){};
				popup.unpin = function(){};
			}
			else
			{
				popup.set('tween', {duration : 140});
				popup.get('tween').addEvent('start', function(){popup.unpin(); popup.setStyle('top', document.body.clientHeight + document.body.scrollTop - 185);});
				popup.get('tween').addEvent('complete', function(){popup.pin();});
			}
			popup.pin();
			
			if(qfantWelcome)
			{
				popup.fade('in');
			}
			else
			{
				popup.unpin();
				popup.setStyle('left', -400);
				popup.pin();
				popup.fade('show');
			}
		}
	});

	return {
		formSubmitHandler : function(e)
		{
			if(Cookie.read("qfantWelcome"))
				return false;
			
			var data = new Object();
			var formInputs = e.target.qadapterConfig;
			
			for(var val in formInputs)
				if(val != "joomlaParams" && val != "block")
				{
					data[val] = this.getElements('input[name='+formInputs[val]+']');
					if(data[val])
						data[val] = data[val][0].value;
				}
			
			var params = formInputs['joomlaParams'];
			for(var element in data)
				params += "&"+element+"="+data[element];
			
			var request = new Request({
				url : joomlaURL,
				data : params
			});
			
			request.addEvent("failure", function(e){alert("error");});
			request.addEvent("complete", qadapter.completeHandler.bind(this));
			request.send();
			
			return false;
		},
	
		completeHandler : function(text, xml)
		{
			Cookie.write("qfantWelcome", true, {domain : currentDomain});
			var submit = this.getElements('input[type=submit]')[0];
			var input = new Element('input', {
				name : submit.name,
				value : '',
				styles : {
					display : 'hidden'
				}
			});
			input.inject(this);
			this.submit();
		}
	};
}();