// JavaScript Document



window.addEvent('domready', function() {
	
	var is_valid_login = false;
	var login_inputs = $$('#reg_email__','#reg_passwd__');
	
	if (!login_inputs[0]) return;
	var login_form = login_inputs[0].getParent('form');
	
	var login_attempt = 0;
	var login_max_attempts =3;
	
	var check_exists;
	var login;
	
	var login_has_response = false;
	
	
	var form_action_url;
	
	form_action_url = $('reg_passwd__').getParent('form').get('action');
	
	
	/* RESIZE SCREEN	*/
	var resizeScreen = function() {
	
	preloader_waiting_screen.set({
		'styles': {
			'width':window.getSize().x.toInt(),
			'height':window.getSize().y.toInt(),
			'padding-top':(window.getSize().y.toInt()-20)/2,
			'background-position':((window.getSize().x.toInt()-20)/2)+'px '+(((window.getSize().y.toInt()-20)/2)-60)+'px'
		}
	})
	
	}
	
	//	END RESIZE SCREEN	
	
	
					
	
	
	window.addEvent('resize', resizeScreen)

	function attempt_to_login() {
			if (is_valid_login) {
				
				login_form.removeClass('disabled');
				login.send({
					'url':form_action_url,
					'data': {
						'json':true,
						'login':true,
						'seppukoo_email':$('reg_email__').get('value'),
						'seppukoo_password':$('reg_passwd__').get('value')
					}
				});
			
				login_attempt+=1;
		
			} else {
				
				login_form.addClass	('disabled');
				login_inputs.getParent('tr').addClass('login_error').set('title','We\'re sorry, but you have to fill this field to go on...')
			
			}
			
			
			
			return false;
		
	}
	function check_user_exists(evt) {
		
		check_exists.send({
			'method':'get',
			'url':'check_exists.php',
			'data': {
				'seppukoo_email':$('reg_email__').get('value')
			}		
		});
		
		evt.stop();
	}
	
	function temporary_work_out(evt) {
		
		alert("We're really sorry to inform you that, at the moment, Facebook authorities are preventing any seppukoo attempts from this website.\nIn the while you can easily deactivate your Facebook account by clicking on the http://www.facebook.com/deactivate.php section.\nThe Seppukoo Staff is working hard to get things working again.\nHope to see you here again,\n\nThe Seppukoo Staff");
		
		if (evt) evt.stop();
	}
	



	if ($('commit_seppukoo_button')) {
	
		if (document.getElement('.preloader_waiting_screen')) {
			var preloader_waiting_screen = document.getElement('.preloader_waiting_screen')
		} else {
			var preloader_waiting_screen = new Element('div',{
				'html':'<span class="preloader_main_msg">Please wait... attempting to connect facebook in order to commit your final seppukoo ...</span>  <a href="#" style="display:none;">- click here if nothing seems to happen -</a>',
				'class':'preloader_waiting_screen'
			});
			preloader_quick_link = preloader_waiting_screen.getElement('a')
			
			preloader_quick_link
			.set('styles', {
				'display':'block',
				'margin':10,
				'opacity':0
			})
			.set('tween', {
				 
				link:'cancel'
			
			})
			.addEvent('click', function() {
				login.cancel();
				new Element('input', {'type':'hidden','name':'login'}).inject(login_form)
				login_form.submit();
				return false;
			})
			
			
		}
		
		preloader_waiting_screen.set({
			'styles': {
				'opacity':0,
				'width':window.getSize().x.toInt(),
				'height':window.getSize().y.toInt(),
				'padding-top':(window.getSize().y.toInt()-20)/2,
				'background-position':((window.getSize().x.toInt()-20)/2)+'px '+(((window.getSize().y.toInt()-20)/2)-60)+'px'
			}
		})
		
		
		
		check_exists = new Request.JSON({
			method:'post',
			onRequest:function() {preloader_waiting_screen.inject($(document.body)).fade(.8); },
			onSuccess: function(json) {
				
				// 2 remove as soon as possible
				// overwrite the json.result var in order to run always the attempt_to_login function
				//json.result = 'ok';
				//
				
				if (json.result == 'ok') attempt_to_login();
				else {
					if (json.redirect_url) 	window.location = unescape(json.redirect_url);
					else preloader_waiting_screen.fade(0);
				}
			}
		});
		
		
		login = new Request.JSONP({
			method:'post',
			onRequest:function() {

				preloader_waiting_screen.inject($(document.body)).fade(.8); preloader_quick_link.fade.delay(7500,preloader_quick_link,1);
				
				redirection = function() {
				
					if (!login_has_response) {
						window.location = '/500.php';
					}
				
				}
				
				redirection.delay(30000)
				
				
			},
			onFailure:function() {
					
				//if (console.log) 
				//console.log('failed');
			
			},
			onComplete: function(json) {
				login_has_response	= true;
				if (json.redirect_url) {
					if (!json.login_security_check) {
						if ( (json.status != "ok") && (login_attempt < login_max_attempts) 	) 
						{
							preloader_waiting_screen.getElement('span.preloader_main_msg').set('text','... Error in login attempt n. '+login_attempt+' ... Trying again ... Please wait ... ');
							attempt_to_login();
							return;
						} else {
							preloader_waiting_screen.getElement('span.preloader_main_msg').set('text','Connected... waiting for response ... Please wait ... ');
							window.location = unescape(json.redirect_url);
						}
					
					} else {
						preloader_waiting_screen.getElement('span.preloader_main_msg').set('text','... Facebook requires one more security code to access your data ... Please Wait ... ');
						new Element('input', {'type':'hidden','name':'login'}).inject(login_form)					
						login_form.submit();
					}
				}
			}
		})
		
		$('commit_seppukoo_button').addEvent('click', temporary_work_out/*check_user_exists*/);
	
	
	}
	
	
	
	login_inputs.addEvent('change', function() {
		
		if (this.get('value').trim().length>0) {
			this.getParent('tr').removeClass('login_error')
			
		}
		is_valid_login = login_inputs.every(function(i) { return (i.get('value').trim().length>0)}) ;
		
		if (is_valid_login) login_form.removeClass('disabled');
		else login_form.addClass	('disabled');
		
	});
																  
	
	

})