l_ajax_base	= '/staticfiles/mls/';

function process_login() {
	f = function(o) {	
		xmlDoc 		= create_xml_doc(o.responseText);
		
		status 		= getText(xmlDoc, 'status');
		frm			= getText(xmlDoc, 'frm');
		message		= getText(xmlDoc, 'message');

		$('login_form').innerHTML = frm;
		
		a = $('login_form').elements['action'].value;
		
		if(status == "false" || a == "login") {
			show_login = true;			
			$('login_status').innerHTML = 'Sign in + Register';
			$('saved-homes-link').hide();
		}
			
		if(status == "true" || a == "logout") {	
			show_login = false;					
			$('login_status').innerHTML = 'Logout';
			$('saved-homes-link').show();
		}
		
		if( message && message.length )
			custom_alert(message);		
			
		if(!show_login && $('register_popup'))
			destroy_draggable('register_popup')			
	}
	
	if(!$('login_form'))
		create_login_popup();
		
	new Ajax.Request(l_ajax_base + 'includes/login.php', { postBody: $('login_form').serialize(), method: 'post', onSuccess: f}); 				
}

function create_login_popup() {	
	if( !$('login_form') ) {
		d = Builder.node('div', { id: 'login_popup', className: 'popup_box' }, [
			Builder.node('form', { id: 'login_form' })
		]);
		document.body.appendChild(d);
		
		set_center('login_popup');		
		new Draggable('login_popup', { endeffect: false, starteffect: false } );		
		
		$('login_popup').hide();
	} else {
		$('login_popup').show();
		set_center('login_popup');	
	}
}

function create_register_popup() {
	if($('register_title')) {
		custom_alert('You are already viewing the register form.<br /><br />Please complete the form to continue.');
		return;
	}
		
	f = function(o) {
		hide_loader('register_popup');
		
		$('register_form').innerHTML 	= o.responseText;				
		$('register_title').innerHTML 	= 'Registration Form';							
		$('register_form').innerHTML 	+= '<br /><center><input type="button" id="register_button" value="Register!" class="link_red_button" onclick="inline_register()"></center>';
		
		$('register_title').setAttribute('onclick', "destroy_draggable('register_popup')");
		
		set_center('register_popup');
	}			
	
	d = Builder.node('div', { id: 	'register_popup', className: 'popup_box' }, [
		Builder.node('form', { id: 	'register_form' })
	]);
	document.body.appendChild(d);
	
	set_center('register_popup');
	
	new Draggable('register_popup', { endeffect: false, starteffect: false } );			
	show_loader('register_popup', 'Loading...', 'loader.gif');
	
	new Ajax.Request(l_ajax_base + 'templates/register.php', { method: 'post', onSuccess: f}); 		
}

function create_lost_password_popup() {
	if($('lpassword_title')) {
		custom_alert('You are already viewing the lost password form.<br /><br />Please complete or close the form to continue.');
		return;
	}
		
	f = function(o) {
		hide_loader('lost_password_popup');
		
		$('lost_password_form').innerHTML 	= o.responseText + '<br /><center><input type="button" id="lpassword_button" value="Send!" class="link_red_button" onclick="inline_send_password()"></center>';
		$('lost_password_title').setAttribute('onclick', "destroy_draggable('lost_password_popup')");
	}		

	d = Builder.node('div', { id: 'lost_password_popup', className: 'popup_box lost_password_popup' }, [
		Builder.node('form', { id: 'lost_password_form' })
	]);	
	document.body.appendChild(d);
	
	set_center('lost_password_popup');
	new Draggable('lost_password_popup', { endeffect: false, starteffect: false } );			
	show_loader('lost_password_popup', 'Loading...', 'loader.gif');
	
	new Ajax.Request(l_ajax_base + 'templates/lost_password.php', { method: 'post', onSuccess: f}); 		
}

function inline_register() {
	f = function(o) {		
		xmlDoc 		= create_xml_doc(o.responseText);		
		
		status 		= getText(xmlDoc, 'status');		
		message		= getText(xmlDoc, 'message');		
				
		custom_alert(message);			
		
		if(status == "false")	
			show_login = true;		
		
		if(status == "true") {
			show_login = false;					
			window.location.reload(true);
		}		
	}
	
	if(check_required('register_popup')) {					
		new Ajax.Request(l_ajax_base + 'templates/register.php', { postBody: $('register_form').serialize(), method: 'post', onSuccess: f}); 	
	}
}	

function inline_send_password() {
	f = function(o) {		
		xmlDoc 		= create_xml_doc(o.responseText);		
		
		status 		= getText(xmlDoc, 'status');		
		message		= getText(xmlDoc, 'message');		
				
		custom_alert(message);			

		if(status == "true")
			destroy_draggable('lost_password_popup')
	}
	
	if(check_required('lost_password_popup')) {			
		lpassword_string = $('lost_password_form').serialize();		
					
		new Ajax.Request(l_ajax_base + 'templates/lost_password.php', { postBody: lpassword_string, method: 'post', onSuccess: f}); 	
	}
}

function check_required(id) {
	elements = $(id).getElementsByClassName('required');
	
	if(elements.length) {
		required_found = false;
		msg = '<strong>Sorry! Please fill out all required fields.</strong><ul>';
		for(x = 0; x < elements.length; x++) {
			if(elements[x].getValue() == "") {								
				required_found = true;
				m = elements[x].getAttribute('message') ;
				
				if(m)
					msg += '<li>' + elements[x].getAttribute('message') + '</li>';
			}
			
		}

		if(required_found) {
			custom_alert(msg + '</ul>');
			return false;
		} else
			return true;
	} else
		return true;
}
